/* V9: two dark surfaces, pale cards, compact rules, a quiet field of flight. */
:root{--surface-base:#141917;--surface-raised:#212a20;--card-light:#eefbc5;--dark:var(--surface-base)}
:root[data-theme="dark"]{--paper:var(--surface-base);--hero-bg:var(--surface-base);--field-line:#73816a;--field-active:#dcf78a}
[data-theme="dark"] .expertise-section,[data-theme="dark"] .local-section,[data-theme="dark"] .contact-section{background:var(--surface-raised)}
[data-theme="dark"] .process-section,[data-theme="dark"] .strip-wrap,[data-theme="dark"] .site-footer{background:var(--surface-base)}
[data-theme="dark"] .site-header.is-scrolled,[data-theme="dark"] .mobile-nav{background:var(--surface-base)}
.micro-icon{display:inline-flex;flex-shrink:0;color:#aebb9c}
.micro-icon svg{width:22px;height:22px;transform-origin:center}
.about-point>.micro-icon{color:var(--muted)}
.about-point .capability-icon{width:20px;height:20px}
.capability-strip>div{gap:14px}
.partner-card:not(.partner-intro){background:var(--card-light)}
.partner-card .partner-label{color:#4b5b35}
.partners-section .partner-cta{border-top-color:#a9b98a}
.partner-intro{background:transparent;color:var(--ink);justify-content:flex-start;gap:0}
.partner-intro .partner-label{color:var(--muted);margin-bottom:30px}
.partner-intro h2{margin:0;font-size:clamp(44px,4.65vw,72px)}
.flight-field{margin-top:auto;min-height:140px;width:100%;color:var(--muted);overflow:hidden;touch-action:pan-y}
.flight-field svg{width:100%;height:100%;max-height:205px;overflow:visible}
.flight-field circle{opacity:.42;transform-box:fill-box;transform-origin:center;pointer-events:none}
.local-summary>.button{display:flex;width:calc(100% + var(--card-padding));margin-left:calc(-1 * var(--card-padding));padding-left:var(--card-padding);min-height:64px}
.hero{height:calc(100svh + 120px);min-height:max(960px,calc(32vw + 560px));max-height:none}
.hero-background{object-position:center bottom;transform-origin:50% 80%}
.hero-copy{padding-top:135px}
.hero-shade{background:linear-gradient(180deg,#14191780,transparent 58%,#14191775)}

/* One persistent rule per field. Focus adds thickness without changing geometry. */
.contact-section{padding-block:54px}
.contact-section .form-grid{gap:17px 22px}
.contact-section .form-heading{margin-bottom:22px}
.contact-section .field label{min-height:22px;padding-bottom:0;font-size:12px}
.contact-section .field input,.contact-section .field textarea,.contact-section .field select{border:0;border-bottom:1px solid var(--field-line);background:transparent;outline:none;box-shadow:none;min-height:44px;padding:8px 0;font-size:16px;transition:border-color 160ms ease,box-shadow 160ms ease}
.contact-section .field textarea{min-height:90px;height:90px}
.contact-section .field-hint{margin-top:6px;font-size:11px;line-height:1.5}
.contact-section .field input:focus,.contact-section .field textarea:focus,.contact-section .field select:focus,.contact-section .field input:focus-visible,.contact-section .field textarea:focus-visible,.contact-section .field select:focus-visible{border:0;border-bottom:1px solid var(--field-active);background:transparent;outline:none;box-shadow:0 2px 0 var(--field-active)}
.contact-section .field:focus-within label{color:var(--ink)}
.contact-section .contact-form-wrap form>.button{margin-top:20px;min-height:49px;padding-block:12px}
.contact-section .form-note{margin-top:10px;font-size:11px;line-height:1.55;max-width:440px}
.contact-section .contact-copy>.section-body{margin-top:22px}
.contact-section .contact-email{margin-top:30px}
.contact-section .contact-email>.mono{margin-bottom:10px}
.contact-section .contact-privacy{margin-top:18px;line-height:1.65}
@media(min-width:761px){
 .about-point>.micro-icon{position:absolute;left:-39px;top:20px}
 .contact-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-section .contact-copy h2{font-size:clamp(48px,4.8vw,72px)}
}
@media(min-width:761px) and (max-width:1100px){
 .about-point>.micro-icon{left:-29px}
 .about-point .capability-icon{width:18px;height:18px}
 .partner-intro h2{font-size:42px}
 .contact-section .form-grid{gap:16px 14px}
 .contact-section .field label{font-size:11px}
 .contact-section .field .optional{font-size:9px}
 .contact-section .contact-copy h2{font-size:46px}
 .contact-section .contact-email>a{font-size:24px}
 .contact-section .contact-layout{column-gap:var(--axis-gap)}
}
@media(hover:hover) and (pointer:fine){
 .partner-card:not(.partner-intro):hover{background:#e8f7b7}
 .contact-section .field input:hover,.contact-section .field textarea:hover,.contact-section .field select:hover{border:0;border-bottom:1px solid var(--field-active);background:transparent;box-shadow:0 1px 0 var(--field-active)}
 .contact-section .field input:focus,.contact-section .field textarea:focus,.contact-section .field select:focus{box-shadow:0 2px 0 var(--field-active)}
}
@media(max-width:760px){
 .partner-intro{padding-inline:0;min-height:325px}
 .partner-intro h2{font-size:46px}
 .flight-field{max-height:160px;margin-top:25px}
 .local-summary>.button{width:100%;margin-left:0;padding-inline:var(--card-padding)}
 .contact-section{padding-block:44px}
 .contact-section .contact-layout{gap:30px}
 .contact-section .contact-copy h2{font-size:48px}
 .contact-section .contact-copy>.section-body{margin-top:18px}
 .contact-section .contact-email{margin-top:22px}
 .contact-section .contact-privacy{margin-top:14px}
 .contact-section .form-grid{gap:15px}
 .contact-section .field-hint{font-size:11px}
}
@media(max-width:650px){
 .hero{min-height:900px;height:100svh}
 .hero-copy{padding-top:125px}
 .hero-background{inset:auto 0 90px;width:100%;height:540px;object-fit:cover;object-position:50% bottom;transform-origin:50% 80%;mask-image:linear-gradient(transparent,#000 28%);-webkit-mask-image:linear-gradient(transparent,#000 28%)}
 .hero-shade{background:linear-gradient(180deg,#141917 0%,#141917 26%,#141917aa 43%,transparent 66%,#141917a0 100%)}
 [data-theme="light"] .hero-shade{background:linear-gradient(180deg,#e0e0d9 0%,#e0e0d9 26%,#e0e0d999 43%,transparent 66%,#e0e0d9a0 100%)}
}
@media(max-width:370px){.hero{min-height:880px}.partner-intro h2{font-size:39px}.contact-section .contact-copy h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){.flight-field circle,.micro-icon svg{transform:none!important;opacity:.55!important}}
