@font-face{font-family:Montserrat;src:url('assets/montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--navy:#0b1d33;--blue:#1e3a5f;--orange:#f58220;--gray:#e5e7eb;--muted:#b6c0ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--navy);color:white;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea{outline-offset:6px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange)}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;min-height:124px;border-bottom:1px solid #ffffff24}.logo{display:block;width:260px;height:auto}nav{display:flex;gap:40px;align-items:center;font-size:.875rem;font-weight:600}.nav-cta{padding:12px 22px;border:1px solid #ffffff50;border-radius:3px}.nav-cta span{margin-left:24px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;padding-top:78px}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0 0 28px}.eyebrow>span{width:7px;height:7px;background:var(--orange);display:inline-block}h1{font-size:clamp(2.8rem,5.1vw,4.6rem);line-height:1.1;letter-spacing:-.055em;font-weight:750;margin:0}em{font-style:normal;color:var(--orange)}h1 em{display:block;margin-top:8px;font-size:.83em;max-width:650px}.intro{max-width:470px;color:var(--muted);line-height:1.85;margin:30px 0}.button{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;background:var(--orange);color:var(--navy);padding:16px 24px;border:0;border-radius:3px;font-size:.875rem;font-weight:750;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#ffa04e;transform:translateY(-2px)}.brand-panel{align-self:stretch;background:#10253e;border:1px solid #ffffff17;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:24px 30px}.panel-label{font-size:.75rem;letter-spacing:.18em;color:var(--muted)}.brand-panel img{width:100%;height:auto;max-height:335px;object-fit:contain;mix-blend-mode:lighten}.panel-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:.875rem;font-weight:500}.cross{font-size:2.5rem;font-weight:300;color:var(--orange)}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:15px 0 30px;color:var(--muted);font-size:.75rem;letter-spacing:.07em}.hero-foot a{font-size:.875rem;letter-spacing:0}.focus{background:#f5f6f8;color:var(--navy);padding:85px 0 90px}.focus .eyebrow{color:#4b5563}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end}h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.16;letter-spacing:-.045em;margin:0;font-weight:700}h2 span{color:#637082}.section-heading p{color:#4b5563;margin:0;max-width:450px}.services{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;border-top:1px solid #c8ced6}.services article{padding:30px 50px 0 0}.services article+article{padding-left:45px;border-left:1px solid #c8ced6}.number{color:#6c7786;font-size:.875rem}.services h3{font-size:1.5rem;letter-spacing:-.035em;margin:18px 0 12px}.services p{color:#4b5563;max-width:430px;margin:0}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding-top:95px;padding-bottom:90px}.contact>div>p:not(.eyebrow){color:var(--muted);margin-top:26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.875rem;font-weight:550}input,textarea{display:block;width:100%;background:#ffffff06;border:1px solid #ffffff38;border-radius:3px;color:white;padding:13px 15px;margin:10px 0 23px;font-size:1rem}textarea{resize:vertical;min-height:140px}input::placeholder,textarea::placeholder{color:#a7b3c3}.form-note{font-size:.75rem;color:var(--muted);margin-top:-8px}#form-status{font-size:.875rem;color:var(--muted)}footer{border-top:1px solid #ffffff25;display:flex;align-items:center;justify-content:space-between;padding-top:30px;padding-bottom:35px;font-size:.75rem;color:var(--muted)}footer .logo{width:210px}footer>a:last-child{font-size:.875rem}.skip{position:fixed;top:-100px;left:20px;background:white;color:var(--navy);padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:28px;padding-top:50px}.brand-panel{padding:20px}.section-heading{gap:35px}.contact{gap:40px}.fields{grid-template-columns:1fr;gap:0}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}header{min-height:96px}.logo{width:195px}nav{gap:0}nav>a:first-child{display:none}.nav-cta{padding:10px 12px}.nav-cta span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:42px;gap:32px}h1{font-size:3.15rem}.eyebrow{font-size:.75rem;letter-spacing:.08em}.brand-panel{min-height:240px;position:relative}.brand-panel img{height:200px}.hero-foot{gap:24px;align-items:center}.hero-foot>span{max-width:170px}.section-heading,.services,.contact{grid-template-columns:1fr;gap:28px}.focus{padding:55px 0}.services{margin-top:32px;gap:25px}.services article,.services article+article{padding:22px 0 0;border-left:0}.services article+article{border-top:1px solid #c8ced6}.contact{padding-top:60px;padding-bottom:45px}footer{flex-wrap:wrap;gap:22px}footer .logo{width:180px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Purpose-led editorial direction */
.hero{display:block;padding-top:62px}.hero-copy{position:relative}.hero h1{font-size:clamp(4rem,9.2vw,8.1rem);line-height:.98;letter-spacing:-.065em;max-width:1120px}.hero h1 em{font-size:1em;display:inline;margin:0}.hero-summary{display:flex;align-items:center;justify-content:space-between;gap:50px;margin:35px 0 52px}.hero-summary .intro{margin:0;max-width:470px}.hero-foot{border-top:1px solid #ffffff30;padding-top:22px}.statement-strip{background:var(--orange);color:var(--navy);display:flex;justify-content:space-around;gap:25px;padding:24px;font-weight:800;font-size:clamp(.8rem,1.8vw,1.5rem);letter-spacing:-.035em}.focus{background:#f6f7f9;padding-top:85px}.section-heading{grid-template-columns:1.6fr 1fr;gap:50px}.section-heading h2{font-size:clamp(2rem,3.4vw,3rem)}.services{grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;gap:0;margin-top:55px}.services article,.services article+article{padding:30px 28px;border-left:1px solid #ccd2da;border-top:3px solid var(--navy);display:flex;flex-direction:column}.services article:first-child{padding-left:0;border-left:0}.services article:last-child{padding-right:0}.service-top{display:flex;justify-content:space-between;align-items:center}.number{font-size:.75rem;letter-spacing:.09em}.service-top>span:last-child{font-size:1.8rem}.services h3{font-size:clamp(1.6rem,2.35vw,2.1rem);line-height:1.2;margin:32px 0 22px}.services h3 em{color:var(--blue)}.services p{font-size:.9375rem;line-height:1.85}.services ul{list-style:none;padding:0;margin:28px 0;font-size:.875rem;font-weight:550}.services li{border-top:1px solid #d5dae0;padding:11px 0}.services li:before{content:'↗';margin-right:10px;color:#a34300}details{border-top:1px solid #bdc6d1;border-bottom:1px solid #bdc6d1;margin-top:auto}summary{cursor:pointer;display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:75px;font-size:.875rem;font-weight:650;line-height:1.5;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;color:#a34300}details[open] summary span{transform:rotate(45deg)}details p{padding-bottom:20px}.services .service-signoff{margin-top:26px;font-size:.875rem;font-weight:650;color:var(--navy)}.approach{display:grid;grid-template-columns:1.3fr 1fr;gap:20px 90px;padding-top:85px;padding-bottom:85px;border-bottom:1px solid #ffffff30}.approach .eyebrow{grid-column:1/-1}.approach-copy{color:var(--muted)}.approach-copy p{margin-top:0}.approach-copy a{color:white;border-bottom:2px solid var(--orange);padding-bottom:8px;font-weight:650;font-size:.875rem}.contact{padding-top:85px}.nav-cta{border-color:var(--orange)}summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:900px){.services{grid-template-columns:1fr}.services article,.services article+article,.services article:first-child,.services article:last-child{padding:28px 0;border-left:0;margin-bottom:25px}.services h3{font-size:2rem}.services p{max-width:none}.services ul{max-width:none}.services details{margin-top:0}.hero-summary{gap:25px}.section-heading{grid-template-columns:1fr}.approach{gap:25px}.hero h1{font-size:clamp(4rem,10.5vw,7rem)}}@media(max-width:650px){.hero{padding-top:42px}.hero h1{font-size:clamp(3.3rem,12vw,4.8rem)}.hero-summary{display:block;margin-top:28px;margin-bottom:35px}.hero-summary .button{margin-top:24px}.hero-foot{display:block}.hero-foot>span{max-width:none;display:block;margin-bottom:10px;font-size:.6875rem}.statement-strip{gap:10px;padding:18px 12px;font-size:.75rem;flex-wrap:wrap}.focus{padding-top:55px}.services{margin-top:30px}.approach{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}.approach .eyebrow{grid-column:auto}.contact{padding-top:55px}.hero .eyebrow{font-size:.6875rem}.services article:last-child{margin-bottom:0}}

/* Supplied service imagery and clean logo edges. */
.logo{clip-path:inset(2%);border:0}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0 0 25px}
@media(min-width:651px) and (max-width:900px){.service-photo{max-height:360px;object-position:center}}
/* Keep every service image identical in size despite column padding. */
.services{column-gap:28px}
.services article,.services article+article,.services article:first-child,.services article:last-child{padding-left:0;padding-right:0;border-left:0;min-width:0}
.service-photo{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center;flex-shrink:0}
@media(min-width:651px) and (max-width:900px){.service-photo{max-height:none}}

.contact-details{margin-top:32px;display:grid;gap:14px;font-size:1rem}.contact-details>a{overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}.phone-contact{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.phone-contact span{font-size:.875rem;color:var(--muted)}.phone-contact span a{text-decoration:underline;text-underline-offset:4px}.contact-details p{margin:3px 0 0;color:var(--muted);font-size:.875rem}

.phone-contact{display:grid;gap:12px;justify-items:start}.phone-actions{display:flex;flex-wrap:wrap;gap:10px}.phone-actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;padding:8px 16px;border:1px solid #ffffff50;border-radius:3px;font-size:.875rem;font-weight:600}.phone-actions>a:hover{background:var(--blue);border-color:var(--orange);text-decoration:none}.phone-actions>a span{color:var(--orange)}

.phone-actions{align-items:flex-start}.text-action{display:grid;gap:5px}.text-action>a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;padding:8px 16px;border:1px solid #ffffff50;border-radius:3px;font-size:.875rem;font-weight:600}.text-action>a:hover{background:var(--blue);border-color:var(--orange);text-decoration:none}.text-action>a span{color:var(--orange)}.text-action small{font-size:.75rem;color:var(--muted);padding-left:1px}

.web-service{margin-top:60px;padding:42px;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.web-service .number{color:var(--muted);margin-top:0}.web-service h3{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.045em;margin:30px 0 24px}.web-signoff{font-size:.875rem;color:var(--muted)}.web-service-copy>p{margin-top:0;color:var(--gray)}.web-service-copy ul{padding-left:20px;margin:24px 0 30px}.web-service-copy li{padding:4px 0;font-size:.9375rem}.hero-foot>span{max-width:none}@media(max-width:750px){.web-service{grid-template-columns:1fr;gap:20px;padding:28px 22px;margin-top:35px}.web-service .button{gap:18px}.hero-foot>span{line-height:1.8}}

/* Four matching service cards: two across, then one on phones. */
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.services article,.services article+article{margin-bottom:0}.services p{max-width:none}.service-photo{width:100%;aspect-ratio:4/3;height:auto;max-height:none;object-fit:cover}@media(max-width:650px){.services{grid-template-columns:1fr;gap:32px}}
