/* A1: technical editorial system. The approved blue palette is retained. */
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-layout{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;flex-wrap:wrap}.nav-panel{width:100%;overflow:hidden}.site-nav{padding-bottom:20px}.site-header.is-scrolled{box-shadow:0 8px 30px #102a4c08}
.hero{padding:44px 0 0;background:var(--ice)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.hero-copy h1{font-size:clamp(68px,7vw,108px);line-height:.98;letter-spacing:-.055em}.hero-copy h1 span{color:var(--blue)}.hero-copy>p:not(.kicker){font-size:19px;max-width:36ch;line-height:1.6;margin-top:28px}.hero-copy .kicker{margin-bottom:26px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:30px}.hero-actions .button{background:var(--navy);color:white}.hero-actions .button:hover{background:var(--blue)}.hero-actions .text-link{font-size:14px}
.plant-visual{position:relative;padding:0 0 48px 42px;min-width:0}.plant-photo{overflow:hidden;clip-path:polygon(12% 0,100% 0,100% 90%,88% 100%,0 100%,0 10%)}.plant-photo .photograph picture{border-radius:0}.plant-photo img{height:570px;object-fit:cover;object-position:64% center;will-change:transform}.plant-photo figcaption{display:none}.plant-caption{position:absolute;left:0;bottom:78px;padding:22px 26px;background:var(--navy);color:white;max-width:80%}.plant-caption span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}.plant-caption p{font-size:25px;line-height:1.2;margin-top:10px}.plant-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:var(--orange);color:var(--blue)}.plant-route path{fill:none;stroke:var(--blue);stroke-width:2}.plant-route .route-base{stroke:white;stroke-width:5}.plant-route .route-live{stroke-dasharray:1;stroke-dashoffset:.75;stroke-width:3}.plant-foot{position:absolute;left:42px;bottom:12px;font-size:11px;color:var(--muted)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-top:1px solid var(--line);margin-top:24px;font-size:15px}.hero-bottom p{max-width:35ch}.hero-bottom .text-link{font-size:14px}
.services{padding:88px 0}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:end;margin-bottom:52px}.section-heading .kicker{margin-bottom:22px}.section-heading>p{font-size:18px;color:var(--muted);max-width:34ch}.section-heading h2{font-size:clamp(40px,4.3vw,64px)}
.service-atlas{display:grid;grid-template-columns:240px 1fr;gap:6vw;align-items:start}.service-index-nav{position:sticky;top:122px;border-top:1px solid var(--line)}.service-index-nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;min-height:64px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s,padding .2s}.service-index-nav svg{width:18px;height:18px;flex:none}.service-index-nav a[aria-current]{color:var(--blue);font-weight:600;padding-left:10px;border-color:var(--blue)}
.service-card{border-top:1px solid var(--line);padding:38px 0 52px;scroll-margin-top:110px;display:grid;grid-template-columns:1.05fr 1fr;gap:36px}.service-card:first-child{padding-top:0;border:0}.service-media{min-width:0}.service-media .photograph img{width:100%;height:390px;object-fit:cover;object-position:60% center}.service-media .photograph picture{border-radius:0}.service-media figcaption{font-size:11px;margin-top:10px}.service-copy{min-width:0;padding-top:8px}.service-copy .kicker{font-size:10px;letter-spacing:.08em;margin-bottom:18px;line-height:1.5}.service-copy h3{font-size:clamp(28px,2.7vw,40px);line-height:1.1;letter-spacing:-.035em}.service-copy>p:not(.kicker){font-size:16px;line-height:1.65;margin-top:20px;color:var(--muted)}.service-scope{list-style:none;padding:0;margin:24px 0 14px;border-top:1px solid var(--line)}.service-scope li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.service-link{font-size:13px;gap:10px;text-decoration:none;border-bottom:1px solid var(--ink);max-width:100%;padding:10px 0}.service-link svg{width:18px;height:18px}
.method{padding:72px 0 80px;background:var(--navy);color:white}.method .section-heading>p{color:var(--muted-dark)}.process-line{height:1px;background:#4b6a85;margin:48px 0 30px}.process-line i{display:block;height:2px;background:var(--orange);transform-origin:left}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.process-icon svg{width:30px;height:30px;color:var(--orange);margin-bottom:24px}.process-grid h3{font-size:30px;letter-spacing:-.035em}.process-grid p{font-size:16px;line-height:1.65;color:var(--muted-dark);margin-top:18px;max-width:32ch}
.faq{padding:80px 0}.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.faq-intro h2{font-size:42px}.faq-intro .kicker{margin-bottom:24px}.faq-item{border:0;border-bottom:1px solid var(--line);border-radius:0}.faq-answer p{font-size:16px;line-height:1.65}
.contact{padding:72px 0 80px;background:var(--ice);color:var(--ink)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.contact h2{font-size:clamp(44px,5vw,72px)}.contact-intro>p:not(.kicker){font-size:18px;line-height:1.6;margin-top:24px;max-width:30ch;color:var(--muted)}.contact .accent{color:var(--blue)}.contact .small{color:var(--muted)}.contact .contact-disclosure{font-size:13px!important;margin-top:36px!important;padding-top:24px;border-top:1px solid var(--line)}.contact .field input,.contact .field textarea{background:white;color:var(--ink);border-color:var(--control)}.contact .radio-option{border-color:var(--line);background:white;color:var(--ink)}.contact .radio-option:has(input:checked){background:var(--navy);color:white;border-color:var(--navy)}.contact .radio-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact .radio-option{padding:12px;font-size:13px}.contact .button{background:var(--navy);color:white}.contact .button:hover{background:var(--blue)}
.site-footer{padding:36px 0;background:white}.footer-layout{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-nav{display:flex;gap:24px}.footer-layout>p{flex-basis:100%;border-top:1px solid var(--line);padding-top:24px;font-size:12px}
@media(min-width:1024px){.header-layout{flex-wrap:nowrap}.nav-panel{width:auto;overflow:visible!important;height:auto!important}.site-nav{flex-direction:row;align-items:center;gap:30px;padding:0}.menu-toggle{display:none}}
@media(max-width:1199px){.hero-copy h1{font-size:78px}.plant-photo img{height:520px}.service-atlas{grid-template-columns:190px 1fr;gap:40px}.service-card{grid-template-columns:1fr;gap:20px}.service-media .photograph img{height:330px}.service-copy{padding:0}.service-copy h3{font-size:36px}.service-scope{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.service-scope li{font-size:14px}.plant-caption p{font-size:22px}}
@media(max-width:767px){.header-layout{min-height:72px;gap:0}.brand-name{font-size:22px}.brand-note{font-size:10px}.hero{padding-top:28px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy h1{font-size:clamp(64px,17vw,90px)}.hero-copy>p:not(.kicker){font-size:17px;margin-top:22px}.hero-copy .kicker{font-size:10px;margin-bottom:22px}.hero-actions{display:block;margin-top:24px}.hero-actions .button{width:100%;font-size:15px}.hero-actions .text-link{margin-top:8px}.plant-visual{padding:0 0 32px 20px}.plant-photo img{height:340px;object-position:65% 50%}.plant-caption{bottom:58px;padding:18px 22px;left:0}.plant-caption p{font-size:23px}.plant-foot{left:20px;font-size:10px;bottom:4px}.hero-bottom{margin-top:20px;padding-block:22px;align-items:flex-start;font-size:13px}.hero-bottom .text-link{font-size:12px;gap:10px;max-width:46%}.hero-bottom p{max-width:45%}
 .services{padding-block:44px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading h2{font-size:38px}.section-heading>p{font-size:16px;max-width:37ch}.section-heading .kicker{margin-bottom:18px}.service-atlas{display:block}.service-index-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-bottom:32px}.service-index-nav a{font-size:12px;min-height:64px;line-height:1.4}.service-index-nav svg{width:15px}.service-index-nav a[aria-current]{padding-left:0}.service-card{padding:28px 0 36px;gap:22px}.service-media .photograph img{height:260px}.service-copy h3{font-size:31px}.service-copy .kicker{font-size:9px;margin-bottom:14px}.service-copy>p:not(.kicker){margin-top:16px;font-size:16px}.service-scope{display:block;margin-top:20px}.service-link{font-size:13px}
 .method{padding-block:42px 48px}.process-line{margin:30px 0 24px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{display:grid;grid-template-columns:38px 1fr;gap:10px 18px}.process-icon{grid-row:1/3}.process-icon svg{margin:0;width:28px}.process-grid h3{font-size:27px}.process-grid p{grid-column:2;margin:0;max-width:none;font-size:15px}.faq{padding-block:44px}.faq-grid{grid-template-columns:1fr;gap:26px}.faq-intro h2{font-size:36px}.faq-intro .kicker{margin-bottom:18px}.contact{padding-block:44px 48px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact h2{font-size:46px}.contact-intro>p:not(.kicker){font-size:16px;max-width:37ch;margin-top:20px}.contact .contact-disclosure{margin-top:22px!important;padding-top:16px}.contact .radio-options{grid-template-columns:1fr}.contact .radio-option{font-size:14px}.footer-layout{display:block}.footer-nav{margin-top:22px;flex-wrap:wrap;gap:20px}.footer-layout>p{margin-top:24px;line-height:1.6}.footer-nav a{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.plant-photo img{transform:none!important}.route-live{stroke-dashoffset:0!important}.service-index-nav a{transition:none}.process-line i{transform:none!important}}

.plant-caption{z-index:2}
@media(max-width:767px){.service-media .photograph img{height:210px}.service-copy>p:not(.kicker){font-size:15px;line-height:1.6}.service-scope{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-block:18px 12px}.service-scope li{font-size:12px;line-height:1.5;padding-block:10px}.service-card{padding-bottom:30px}.hero-copy h1{font-size:clamp(58px,15.5vw,80px)}.hero-copy>p:not(.kicker){font-size:16px}.plant-caption p{font-size:21px}.plant-caption{padding:16px 20px}.plant-photo img{height:300px}}

/* Readable service details on narrow screens. */
@media(max-width:767px){.service-copy>p:not(.kicker){font-size:16px;line-height:1.65}.service-scope li{font-size:14px;line-height:1.55}.service-copy .kicker{font-size:11px;letter-spacing:.045em}.service-index-nav a{font-size:14px}.service-media figcaption,.plant-foot{font-size:12px}.service-link{font-size:14px}.hero-bottom,.hero-bottom .text-link{font-size:14px}.plant-photo img{object-position:57% center}}
@media(max-width:359px){.service-scope{grid-template-columns:1fr}.service-index-nav{gap:0 14px}.service-index-nav a{font-size:13px}}
/* Stable geometry: mobile menu overlays the page instead of pushing it. */
@media(max-width:1023px){.site-header .nav-panel{position:absolute;top:100%;left:0;right:0;width:100%;z-index:31;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px #102a4c12}.site-header .site-nav{padding:12px var(--gutter) 20px}.site-header .site-nav a{min-height:48px}}
@media(min-width:1024px){.site-header .nav-panel{position:static}}
/* Final appearance also works without JavaScript or with reduced motion. */
.plant-route .route-live{stroke-dashoffset:0}.plant-photo img{will-change:auto}.process-line i{transform:scaleX(1)}.service-index-nav a{transition:color 180ms ease-out,border-color 180ms ease-out}.service-index-nav a[aria-current]{padding-left:0}
.service-media .photograph picture{overflow:hidden}.service-media .photograph img{backface-visibility:hidden}
.button{transition:background-color 160ms ease-out,box-shadow 160ms ease-out}.button:active:not(:disabled){box-shadow:inset 0 0 0 2px #ffffff50}.button.is-pressed{transform:none}
@media(prefers-reduced-motion:reduce){.plant-photo img,.service-media img{transform:none!important}.route-live{stroke-dashoffset:0!important}}
