/* Public landing-page styles are isolated from the retained full website. */
.public-page{--public-header-offset:132px;scroll-padding-top:calc(var(--public-header-offset) + 16px)}
.landing-page h1,.landing-page h2{font-family:var(--label);font-weight:700;letter-spacing:-.015em}
.landing-header{position:sticky;top:0;z-index:40;isolation:isolate;overflow:clip;background:white;border-bottom:1px solid var(--orange)}
.landing-header:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:0;right:0;bottom:0;width:67%;background:url('assets/capabilities-document-detail.svg') right center/cover no-repeat;opacity:.1;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 78%,transparent)}
.landing-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:8px;padding-bottom:8px}
.landing-logo{width:160px;height:auto}
.landing-header-phone{color:var(--orange);font:700 26px/1.2 var(--label);text-align:right;white-space:nowrap}
.landing-header-phone span{display:block;font:400 11px/1.5 var(--body);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.landing-header-actions{display:flex;align-items:center;gap:22px}
.landing-header-cta{min-height:38px;padding:8px 16px;font:700 12px/1.5 var(--label);justify-content:center;white-space:nowrap}
.landing-page .landing-header-cta:hover{color:white;background:#b83b00;border-color:#b83b00}
@media(max-width:600px){.landing-header-actions{flex-direction:column;align-items:flex-end;gap:6px}.landing-header-cta{min-height:30px;padding:5px 12px;font-size:10px}}
.landing-page a:hover{color:var(--orange)}
.landing-page .button{background:#c13d00;border-color:#c13d00}
.landing-hero{background:var(--ink);color:white;padding:80px 0;min-height:clamp(700px,56vw,820px);position:relative;isolation:isolate;overflow:clip}
.landing-hero:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(25,34,41,.98) 0%,rgba(25,34,41,.92) 25%,rgba(25,34,41,.68) 45%,rgba(25,34,41,.25) 68%,rgba(25,34,41,.05) 100%)}
.landing-hero:before{content:'';position:absolute;z-index:1;pointer-events:none;left:-140px;bottom:-80px;width:650px;height:320px;background:url('assets/capabilities-federal-linework.svg') left bottom/780px auto no-repeat;opacity:.18;mask-image:linear-gradient(180deg,transparent,#000)}
.landing-hero-grid{display:block;position:relative;z-index:1}
.landing-hero-copy{position:relative;z-index:2;max-width:540px}
.landing-hero .eyebrow{color:#c5cbd0;font-size:10px}
.landing-hero h1{font-size:clamp(54px,5.5vw,82px);line-height:1.02}
.landing-introduction{margin-top:28px;max-width:490px;color:#c5cbd0;font-size:16px}
.landing-emphasis{margin-top:28px!important;padding-top:20px;border-top:1px solid #ffffff26;font:700 11px/1.7 var(--label);letter-spacing:.1em;text-transform:uppercase;color:white}
.landing-hero-photo{position:absolute;z-index:-1;inset:0;margin:0;border:0;overflow:hidden}
.landing-hero-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:75% 52%;filter:brightness(1.1)}
.landing-work{padding:76px 0;background:var(--paper);position:relative;isolation:isolate;overflow:clip}
.landing-work:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-140px;bottom:-180px;width:700px;height:370px;background:url('assets/capabilities-field-planning.svg') right bottom/830px auto no-repeat;opacity:.1;mask-image:linear-gradient(90deg,transparent,#000)}
.landing-work-copy{margin-top:24px;max-width:440px}
.landing-work .landing-experience{margin-top:32px}
.landing-why{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.landing-why .why-intro{max-width:320px;flex:0 1 320px;align-self:center;margin:0;padding-left:22px;border-left:1px solid var(--orange);transform:none}
.landing-why .why-intro p+p{margin-top:16px}
.landing-why .why-intro:before{content:none}
@media(max-width:600px){.landing-why .why-intro{max-width:340px;margin-top:24px;padding-left:18px}}
.landing-page h2{font-size:clamp(36px,3.5vw,48px)}
.landing-experience{display:flex;align-items:center;gap:18px;border-left:1px solid var(--line);padding-left:30px;flex:none}
.landing-experience>span{font:700 52px/1 var(--label);color:var(--orange)}
.landing-experience p{max-width:150px;font:700 12px/1.5 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.landing-service-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.landing-service-list li{display:flex;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}
.landing-service-list li>span{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex:none}
.landing-service-list li>span:before{content:'';width:4px;height:7px;border-right:1px solid var(--orange);border-bottom:1px solid var(--orange);transform:translateY(-2px) rotate(45deg)}
.landing-service-list h3{font-size:19px;line-height:1.25}
.landing-contact{padding:76px 0;background:white}
.landing-contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.landing-contact-copy{margin-top:24px;max-width:470px;font-size:15px}
.landing-contact-details{border-left:2px solid var(--orange);padding-left:35px}
.landing-company{font:700 17px/1.5 var(--label);color:var(--ink)}
.landing-contact-details>a{display:inline-block;font:700 40px/1.3 var(--label);margin:16px 0 20px}
.landing-page address{font:400 15px/1.7 var(--body);color:var(--muted)}
.landing-footer{padding:40px 0 22px;background:var(--black);color:#e2e5e7}
.landing-footer-grid{display:flex;justify-content:space-between;gap:40px}
.landing-footer-company{font:700 19px/1.4 var(--label);color:white}
.landing-footer p:not(.landing-footer-company){font-size:12px;color:#aab3ba}
.landing-footer p+p{margin-top:8px}
.landing-footer a{font:700 18px/1.5 var(--label);display:inline-block;margin-bottom:8px}
.landing-footer address{color:#aab3ba;font-size:12px}
.landing-copyright{border-top:1px solid #ffffff20;padding-top:18px;margin-top:30px;font-size:10px!important}
.landing-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff20;margin-top:30px;padding-top:12px}
.landing-footer-bottom .landing-copyright{border:0;margin:0;padding:0}
.landing-footer .landing-privacy-link{font:400 12px/1.5 var(--body);margin:0;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.landing-footer a{min-height:44px;display:inline-flex;align-items:center}
.landing-footer a:hover{color:white;text-decoration:underline}
.landing-page .public-home-link:hover{color:var(--ink)}
.landing-page main:focus{outline:none}
.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p,.landing-page address{overflow-wrap:anywhere}
.landing-header-inner{flex-wrap:wrap}
.landing-header-actions{min-width:0}
.landing-header-phone{white-space:normal}
.landing-page .landing-header-cta{min-height:44px;min-width:44px}
@media(max-width:600px){.public-page{--public-header-offset:115px}.landing-header-actions{max-width:calc(100% - 132px)}.landing-footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}}
@media(max-width:600px){.public-page{--public-header-offset:115px}.landing-header:before{background-position:center 58%;opacity:.08}}
@media(max-width:1000px){.landing-contact-grid{gap:40px}.landing-experience{padding-left:22px}}
@media(max-width:850px){.landing-hero{padding:64px 0;min-height:75vw}.landing-hero-photo{left:0}.landing-hero:after{background:linear-gradient(90deg,rgba(25,34,41,.96),rgba(25,34,41,.86) 44%,rgba(25,34,41,.6))}.landing-hero h1{font-size:68px}.landing-introduction{max-width:640px}.landing-emphasis{max-width:640px}.landing-work,.landing-contact{padding:60px 0}.landing-experience{flex:none;gap:12px;max-width:245px}.landing-experience>span{font-size:44px}.landing-experience p{font-size:10px}.landing-contact-details>a{font-size:34px}}
@media(max-width:600px){.landing-why{padding:48px 0}.landing-service-list li{padding:15px 0;gap:14px}.landing-service-list h3{font-size:18px}.landing-header-inner{padding-top:8px;padding-bottom:8px;gap:16px}.landing-logo{width:116px}.landing-header-phone{font-size:21px}.landing-header-phone span{font-size:9px}.landing-hero{padding:44px 0;min-height:75vw}.landing-hero-photo{inset:0}.landing-hero-photo img{object-position:90% center}.landing-hero:after{background:linear-gradient(180deg,rgba(25,34,41,.84) 0%,rgba(25,34,41,.82) 80%,rgba(25,34,41,.38) 94%,rgba(25,34,41,.1) 100%),linear-gradient(90deg,rgba(25,34,41,.6),rgba(25,34,41,.32) 50%,rgba(25,34,41,.08))}.landing-hero h1{font-size:clamp(48px,12vw,66px)}.landing-hero .eyebrow{font-size:9px;letter-spacing:.08em}.landing-introduction{font-size:15px;margin-top:24px}.landing-emphasis{font-size:10px;letter-spacing:.06em}.landing-work,.landing-contact{padding:48px 0}.landing-page h2{font-size:36px}.landing-experience{margin-top:28px;border-left:0;border-top:1px solid var(--line);padding:22px 0 0;max-width:none;gap:18px}.landing-experience>span{font-size:48px}.landing-experience p{font-size:12px;max-width:160px}.landing-contact-grid{grid-template-columns:1fr;gap:32px}.landing-contact-details{padding-left:22px}.landing-contact-details>a{font-size:36px}.landing-footer-grid{display:block}.landing-footer-grid>div+div{margin-top:25px}.landing-work:after{right:-270px;opacity:.08}.landing-hero:before{left:-240px;opacity:.12}}
