:root{color-scheme:light dark;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--terra-ink:#93482f}
::selection{background:var(--sage);color:var(--pine)}
body{scrollbar-color:var(--green) var(--cream)}
input,textarea{caret-color:var(--pine)}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 20px;background:var(--pine);color:var(--cream)}
.skip-link:focus{top:16px}
.wordmark{display:inline-flex;align-items:center;gap:10px;flex:none;font:700 30px var(--serif);letter-spacing:-.08em}
.wordmark img{width:54px;height:54px;object-fit:contain}
.site-header .shell{gap:22px}
.nav-links{margin-left:auto;gap:22px}
.menu-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px;font:13px var(--sans)}
.menu-button .icon{width:22px;height:22px}
.header-contact{min-height:44px;font-size:13px}
.cta-short{display:none}
.button .icon{width:16px;height:16px}
.hero-media img{filter:none;object-position:50% 45%}
.hero-caption{pointer-events:none}
.hero h1{text-wrap:balance}
.eyebrow{font-size:12px;color:var(--terra-ink)}
.story-bottom cite,.founder-copy cite,.steps .step-num{color:var(--terra-ink)}
.trust-item{font-size:16px}
.journey-guide{font-size:14px}
.journey-card .ordinal{display:none}
.journey-card{scroll-snap-align:start}
.journey-card img,.founder-media img{filter:none}
.journey-card .card-action{font-size:12px}
.contact-action{align-self:center}
.contact-action p{font-size:14px;margin:16px 0 0}
.contact p,.contact .eyebrow{color:#071f16}
.contact .button{border-color:white;background:var(--cream);color:#163c33}
.footer-links a{min-height:32px;display:flex;align-items:center}
.menu-accounts{margin-top:24px;border-top:1px solid var(--line)}
.menu-accounts a{display:flex;align-items:center;gap:12px}
.menu-accounts .icon{width:22px;height:22px}
.drawer{width:min(570px,100%);padding:34px;scrollbar-color:var(--green) var(--cream);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.drawer[aria-hidden=true]{visibility:hidden}
.drawer[aria-hidden=false]{visibility:visible}
.drawer-close{display:grid;place-items:center;width:44px;height:44px}
.drawer h2{margin:12px 0 18px;font-size:clamp(36px,4vw,48px)}
.menu-drawer h2{margin-top:48px}
.drawer .lead{font-size:16px}
.drawer [hidden]{display:none!important}
.flow-progress{display:flex;align-items:center;gap:12px;margin:34px 0 24px;font-size:12px;color:var(--green)}
.flow-progress span:last-child{margin-left:auto}
.flow-progress .track{height:2px;background:var(--line);flex:1}
.flow-progress .track:after{content:'';display:block;background:var(--pine);height:100%;width:var(--progress);transition:width .25s}
.intent-choices{display:grid;gap:12px;margin:28px 0}
.intent-choice{display:flex;align-items:center;gap:18px;padding:20px;text-align:left;border:1px solid var(--line);background:transparent;color:var(--pine);width:100%;min-height:100px;transition:background .2s}
.intent-choice:hover{background:var(--sand)}
.intent-choice .icon{width:28px;height:28px}
.intent-choice strong{display:block;font:26px/1.2 var(--serif);margin-bottom:6px}
.intent-choice small{display:block;font-size:14px;line-height:1.5;color:var(--green)}
.intent-choice:disabled{opacity:.5;cursor:wait}
.field{font-size:14px;margin:0 0 20px}
.field input,.field textarea{font-size:16px;width:100%;padding:12px;border:1px solid var(--line);background:var(--cream);color:var(--pine);min-height:46px;border-radius:4px}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.field small{font-weight:400;color:var(--green);font-size:12px}
.field input::placeholder,.field textarea::placeholder{color:var(--green);opacity:.85}
.field textarea{resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:24px 0}
.consent input{width:18px;height:18px;flex:none;accent-color:var(--pine)}
.optional-fields{margin:20px 0}
.optional-fields summary{cursor:pointer;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.optional-fields[open] summary{margin-bottom:12px}
.form-status{padding:14px 0;margin:14px 0;font-size:14px;color:var(--green);white-space:pre-line}
.form-status.error{color:var(--terra-ink)}
.form-status:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;font-variant-numeric:tabular-nums;max-height:310px;overflow-y:auto;padding:2px;scrollbar-color:var(--green) var(--cream)}
.slot-grid button{padding:12px;border:1px solid var(--line);background:var(--cream);color:var(--pine);font-size:15px;border-radius:4px;min-height:46px}
.slot-grid button[aria-pressed=true]{background:var(--pine);color:var(--cream)}
.slot-grid button:hover{border-color:var(--pine)}
.drawer-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}
.button:disabled{opacity:.5;cursor:wait;transform:none}
.appointment-summary{padding:18px 0;border-block:1px solid var(--line);font-size:16px;line-height:1.6;margin:24px 0}
.success-icon{width:38px;height:38px;stroke-width:1.5;margin-top:35px;color:var(--pine)}
.success-note{font-size:14px;color:var(--green)}
.mobile-bar{display:none}
.reveal{opacity:1;transform:none}
@media(prefers-color-scheme:dark){
 :root{--pine:#ecf2eb;--green:#b8cbbd;--cream:#101d18;--sand:#1b2d25;--sage:#293f32;--terra:#e6a888;--terra-ink:#e6a888;--line:#43584a}
 .site-header{background:rgba(16,29,24,.95)}
 .button-primary,.header-contact{background:#d5e7d0;color:#14291c;border-color:#d5e7d0}
 .button-primary:hover{background:#b8d0b0;color:#14291c}
 .hero-media:after{background:linear-gradient(180deg,transparent 50%,rgba(10,25,20,.85))}
 .continuity,footer{background:#163c33;color:#fbf9f4}
 .flow-node{color:#fbf9f4}
 .contact{background:#8f4b36}
 .contact p{color:#fff}
 .contact .eyebrow{color:#ffe2d4}
 .contact .button{background:#fbf9f4;color:#163c33}
 .choice[aria-pressed=true]{background:var(--pine);color:var(--cream)}
 .drawer-close,.menu-button{color:var(--pine)}
}
@media(max-width:1100px){.nav-links{display:none}.menu-button{margin-left:auto}.hero-copy{padding-inline:32px}}
@media(max-width:850px){.site-header .shell{gap:14px}.header-contact{display:inline-flex}.hero-copy{padding:65px 24px}.hero-media{min-height:480px}.contact{padding-bottom:78px}}
@media(max-width:600px){
 .site-header .shell{gap:10px}.site-header .wordmark{font-size:26px;gap:5px}.wordmark img{width:40px;height:40px}
 .menu-button{padding:8px 5px}.menu-button span{display:none}.header-contact{font-size:12px;padding:11px 10px;gap:5px}
 .header-contact .icon{width:14px;height:14px}.cta-long{display:none}.cta-short{display:inline}
 .drawer{padding:30px 22px}.drawer h2{font-size:36px}.hero-copy{padding:56px 24px}
 .hero h1{font-size:48px}.hero-media{min-height:420px}.hero-caption{font-size:30px}
 .form-status{font-size:14px}.intent-choice{padding:18px}.trust-item{font-size:13px}
 .footer-links{align-items:flex-start}.hero-actions .button{font-size:12px;padding:13px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* October 18: extend the pinned v7 world, without changing its fonts or palette. */
:root{--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--motion-ease:cubic-bezier(.16,1,.3,1)}
.reveal{opacity:1;transform:none}
.site-header{backdrop-filter:none;background:var(--cream)}
.site-header .shell{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-6);max-width:1400px}
.site-header .wordmark{justify-self:start}
.nav-links{display:flex;margin:0;justify-content:center;gap:clamp(14px,1.8vw,28px)}
.nav-links a{padding-block:var(--space-3);white-space:nowrap;font-size:13px}
.header-contact{justify-self:end;padding:13px 18px;background:var(--pine);color:var(--cream);border:1px solid var(--pine);display:inline-flex;align-items:center;gap:10px}
.menu-button{display:none}
.button:hover{transform:none}
.button:active{transform:scale(.985)}
.hero{min-height:650px}
.hero-copy{padding:clamp(56px,6vw,96px) clamp(28px,5vw,80px)}
.hero h1{font-size:clamp(44px,4.9vw,76px);letter-spacing:-.04em}
.hero-caption{margin:0;bottom:var(--space-12)}
.hero-media img{animation:hero-breathe .75s var(--motion-ease) both}
@keyframes hero-breathe{from{transform:scale(1.035)}to{transform:scale(1)}}
.journey{gap:var(--space-3)}
.journey-card{min-height:310px;border:0;border-radius:12px;outline-offset:4px}
.journey-card[aria-selected=true]{outline:3px solid var(--terra);outline-offset:3px}
.journey-card:hover{transform:none}
.journey-card img{transition:transform .45s var(--motion-ease)}
.journey-card:hover img{transform:scale(1.04)}
.journey-card:before{background:linear-gradient(180deg,transparent 28%,rgba(9,31,23,.2) 45%,rgba(9,31,23,.93) 100%)}
.journey-card .card-label{font-size:clamp(20px,1.7vw,26px);bottom:48px}
.journey-card .card-action{color:#fff}
.detail{border-radius:12px}
.detail li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--terra-ink);border-radius:50%;margin-right:12px;vertical-align:middle}
.story-bottom blockquote{border:0;padding-left:0}
.standard-card{background:transparent;padding:var(--space-6) 0;border-top:1px solid var(--line)}
.standard-card p{font-size:15px}
.standards-grid{gap:var(--space-6)}
.founder{border:0;background:var(--sand);border-radius:16px;overflow:hidden}
.faq-item button{min-height:76px;line-height:1.3;font-size:clamp(21px,2vw,27px)}
.faq-item button span{flex:none}
.faq-item .answer{line-height:1.75;font-size:16px}
.faq-item.is-open .answer{animation:answer-in .2s var(--motion-ease)}
@keyframes answer-in{from{opacity:.6}to{opacity:1}}
.footer-inner{grid-template-columns:1.3fr 1fr 1fr;gap:var(--space-12)}
.footer-brand p{margin:var(--space-4) 0 0;font:25px/1.25 var(--serif);max-width:30ch}
.footer-quick{display:flex;flex-direction:column;align-items:start;gap:var(--space-2)}
.footer-quick a{font-size:15px;min-height:36px;display:flex;align-items:center}
.footer-local{display:flex;gap:var(--space-3);align-items:start}
.footer-local .icon{color:#eeab8f;width:24px;height:24px}
.footer-local p{font:20px/1.5 var(--serif)}
.footer-local span{font:14px/1.7 var(--sans)}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.25);padding-top:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-size:12px}
.footer-bottom nav{display:flex;justify-content:center;gap:var(--space-6);flex-wrap:wrap}
.footer-bottom nav a{min-height:44px;display:flex;align-items:center;font-size:14px}
.footer-inner a:hover{text-decoration:underline;text-underline-offset:5px}
.back-top{position:fixed;right:20px;bottom:24px;z-index:24;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--pine);box-shadow:0 4px 16px #0c28151a}
.back-top[hidden]{display:none}
.back-top .icon{width:20px;height:20px}
.mobile-nav>a{display:flex;align-items:center;gap:var(--space-4)}
.mobile-nav>a .icon{width:22px;height:22px}
.address-search{position:relative}
.address-search>input{width:100%;min-height:52px;background:var(--cream);color:var(--pine);border:1px solid var(--line);padding:var(--space-3);border-radius:4px;font:16px var(--sans)}
#address-suggestions{padding:0;list-style:none;margin:var(--space-2) 0 var(--space-4);border-radius:8px;overflow:hidden;border:1px solid var(--line)}
#address-suggestions:empty{display:none}
#address-suggestions button{display:block;width:100%;text-align:left;border:0;background:var(--sand);color:var(--pine);padding:var(--space-4);font-size:15px;line-height:1.45;min-height:48px}
#address-suggestions li+li{border-top:1px solid var(--line)}
#address-suggestions button:hover,#address-suggestions button:focus-visible{background:var(--sage);outline-offset:-3px}
.address-consent{font-size:13px}
.success-note .icon{width:16px;height:16px;vertical-align:middle}
.app-gateway{min-height:100dvh;display:grid;place-items:center}
.app-gateway main{width:min(600px,100%);padding:var(--space-8);text-align:center}
.app-gateway h1{font-size:40px;margin-top:var(--space-8)}
.legal-header .shell{grid-template-columns:1fr auto}
.legal-page{width:min(800px,calc(100% - 48px));margin:auto;padding:64px 0 96px}
.legal-page h1{font-size:clamp(38px,5vw,58px)}
.legal-page h2{font-size:28px;margin-top:40px}
.legal-page p,.legal-page li{font-size:16px;line-height:1.8}
.legal-page a{text-decoration:underline;text-underline-offset:3px}
.legal-page dl{display:grid;grid-template-columns:150px 1fr;gap:12px}
.legal-page dd{margin:0}
.legal-page dt{font-weight:bold}
@media(max-width:1100px) and (min-width:851px){.site-header .shell{gap:12px}.nav-links{gap:12px}.site-header .wordmark{font-size:26px;gap:5px}.site-header .wordmark img{width:42px;height:42px}.header-contact{padding-inline:12px}.nav-links a{font-size:12px}}
@media(max-width:850px){
 .site-header .shell{display:flex;justify-content:space-between}
 .site-header .header-contact,.nav-links{display:none}
 .menu-button{display:flex;margin-left:auto}
 .menu-button span{display:none}
 .site-header{height:68px}
 .mobile-bar{display:flex;align-items:center;justify-content:center;gap:12px;position:fixed;z-index:30;inset:auto 16px max(12px,env(safe-area-inset-bottom));padding:16px 20px;min-height:54px;border-radius:8px;background:var(--pine);color:var(--cream);box-shadow:0 5px 24px #0c281526}
 .mobile-bar .icon{width:18px;height:18px}
 body{padding-bottom:84px}
 body.locked .mobile-bar{visibility:hidden}
 .back-top{bottom:90px;right:18px}
 .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
 .footer-brand{grid-column:1/-1}
 .journey{display:flex;overflow-x:auto;padding:4px;gap:14px;scroll-snap-type:x mandatory;margin-inline:-4px;scrollbar-width:thin}
 .journey-card{flex:0 0 42%;min-height:340px}
 .journey-card .card-label{font-size:28px}
 .hero-copy{padding:48px 24px}
 .hero h1{font-size:clamp(42px,7.5vw,62px)}
 .legal-header .shell{display:flex}
 .legal-page dl{grid-template-columns:1fr;gap:4px}
 .legal-page dd{margin-bottom:12px}
}
@media(max-width:480px){.journey-card{flex-basis:68%;min-height:350px}.footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom nav{gap:8px 18px}.footer-bottom nav a{font-size:13px}.drawer h2{font-size:34px}.hero-caption{bottom:28px}.hero-media{min-height:420px}}
@media(prefers-reduced-motion:reduce){.hero-media img,.faq-item.is-open .answer{animation:none}.journey-card img{transition:none}}
