
@font-face { font-family: "DM Sans"; src: url("dm-sans-variable.ttf") format("truetype"); font-weight: 100 900; font-display: swap; }

:root { --ink:#2a2828; --cream:#f2f2e7; --paper:#f8f8f2; --mint:#e9f6f2; --leaf:#49b872; --deep:#2a6941; --forest:#205132; --soft:#91d2b5; --coral:#ff8e72; --coral-strong:#ff6d48; --sun:#f6c433; --line:#dfe7da; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif} a{color:inherit;text-decoration:none} img{max-width:100%}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:white;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.signal-bar{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.8rem max(1.2rem,5vw);background:var(--deep);color:white}.brand{display:flex;align-items:center;gap:.75rem;font-weight:800;letter-spacing:.08em}.brand img{width:2.8rem;height:2.8rem;border-radius:0;object-fit:cover}.signal-notes{display:flex;gap:clamp(1rem,4vw,4rem);font-size:.78rem;color:var(--mint)}.signal-notes span{display:grid}.signal-notes b{color:white;font-size:.68rem;letter-spacing:.12em}
.nav-band{display:flex;align-items:center;gap:clamp(1rem,3vw,2.7rem);padding:1rem max(1.2rem,5vw);background:var(--mint);font-size:.88rem;font-weight:650}.nav-band a:hover,.nav-band a:focus-visible{color:var(--coral-strong)}.nav-cta{margin-left:auto;padding:.8rem 1.2rem;border-radius:999px;background:var(--coral);color:var(--ink)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(22rem,1.2fr);min-height:780px;padding:clamp(3rem,8vw,7rem) max(1.2rem,5vw) 8rem;background:radial-gradient(circle at 70% 40%,rgba(145,210,181,.35),transparent 35%),var(--cream);overflow:hidden}.hero-copy{position:relative;z-index:2;align-self:center;max-width:42rem;padding-right:2rem}.eyebrow{margin:0;color:var(--deep);font-size:.72rem;font-weight:800;letter-spacing:.14em}.hero h1{margin:.9rem 0 1rem;font-size:clamp(3.4rem,7vw,6.9rem);line-height:.91;letter-spacing:-.06em}.hero h1 span{display:block;color:var(--deep)}.hero-body{max-width:36rem;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55;color:#4d5f52}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.92rem 1.35rem;border-radius:999px;font-weight:750}.button.primary{background:var(--deep);color:white}.button.secondary{border:1px solid var(--deep);background:transparent;color:var(--deep)}
.hero-visual{position:relative;align-self:center;margin:0;min-height:540px;border-radius:1.8rem;overflow:hidden;box-shadow:0 2rem 5rem rgba(32,81,50,.16)}.hero-visual img{width:100%;height:100%;min-height:540px;object-fit:cover}.hero-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(42,40,40,.78))}.hero-visual figcaption{position:absolute;z-index:2;left:1.5rem;bottom:1.5rem;display:grid;color:white}.hero-visual figcaption span{color:var(--soft);font-size:.7rem;font-weight:800;letter-spacing:.12em}.hero-visual figcaption strong{margin-top:.35rem;font-size:1.4rem}
.route-card{position:absolute;z-index:4;right:max(1rem,3vw);top:17%;display:flex;gap:1rem;width:min(20rem,34vw);padding:1.25rem;border:1px solid rgba(42,40,40,.12);border-radius:1.2rem;background:rgba(248,248,242,.94);box-shadow:0 1.4rem 3rem rgba(42,40,40,.13);backdrop-filter:blur(10px)}.route-symbol{display:grid;place-items:center;flex:0 0 2.8rem;height:2.8rem;border-radius:999px;background:var(--soft);font-size:1.4rem}.route-card div{display:grid;gap:.25rem}.route-card p{margin:0 0 .25rem;color:var(--coral-strong);font-size:.65rem;font-weight:800;letter-spacing:.11em}.route-card strong{font-size:.9rem}
.route-ticker{position:absolute;z-index:5;left:5vw;right:5vw;bottom:2.3rem;display:flex;align-items:center;justify-content:space-around;gap:1rem;padding:1.25rem 2rem;border-radius:999px;background:var(--ink);color:white;font-size:.72rem;font-weight:800;letter-spacing:.12em}.route-ticker i{color:var(--coral);font-style:normal}
@media (max-width:900px){.signal-notes{display:none}.nav-band a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:3rem}.hero-copy{padding-right:0}.hero-visual{margin-top:2rem}.route-card{top:48%;right:1.5rem;width:18rem}.route-ticker{overflow:auto;justify-content:flex-start;padding-inline:1.5rem}.route-ticker span{white-space:nowrap}}
@media (max-width:560px){.brand span{font-size:.82rem}.hero{min-height:950px}.hero h1{font-size:3.6rem}.route-card{position:relative;top:auto;right:auto;width:auto;margin-top:1rem}.route-ticker{left:1rem;right:1rem}.hero-visual,.hero-visual img{min-height:420px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.section-heading{max-width:58rem;margin-bottom:2.6rem}.section-heading h2,.method-copy h2,.basket-section h2,.ledger-section h2,.safety-section h2{margin:.7rem 0 1rem;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em}.section-heading>p:last-child,.method-copy>p:last-child,.basket-section>div>p,.ledger-section>div>p,.safety-section>div>p{font-size:1.08rem;line-height:1.6;color:#526156}.coral{color:var(--coral)}
.routes-section{padding:clamp(5rem,10vw,9rem) max(1.2rem,5vw);background:var(--paper)}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.route-tile{position:relative;display:grid;grid-template-columns:minmax(10rem,.72fr) 1fr auto;align-items:center;min-height:15rem;border:1px solid var(--line);border-radius:1.4rem;overflow:hidden;background:white;transition:transform .35s ease,box-shadow .35s ease}.route-tile:hover{transform:translateY(-5px);box-shadow:0 1.2rem 2.5rem rgba(42,105,65,.1)}.route-tile:first-child{grid-column:1/-1;grid-template-columns:minmax(18rem,1fr) 1fr auto}.route-tile img{width:100%;height:100%;min-height:15rem;object-fit:cover}.route-tile>div{padding:1.4rem}.route-tile span{color:var(--coral-strong);font-size:.7rem;font-weight:800;letter-spacing:.12em}.route-tile h3{margin:.4rem 0 .5rem;font-size:1.55rem}.route-tile p{margin:0;color:#526156;line-height:1.45}.route-tile i{padding:1rem;color:var(--deep);font-size:1.6rem;font-style:normal}
.method-section{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,6vw,7rem);padding:clamp(5rem,10vw,9rem) max(1.2rem,7vw);background:var(--ink);color:white;overflow:hidden}.method-copy{align-self:start;position:sticky;top:2rem}.method-copy>p:last-child{color:#cdd8d1}.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.method-steps article{padding:1.5rem;border:1px solid rgba(255,255,255,.14);border-radius:1.2rem;background:rgba(255,255,255,.04)}.method-steps article:first-child{background:var(--deep)}.method-steps b{color:var(--soft);font-size:.68rem;letter-spacing:.12em}.method-steps h3{margin:.5rem 0;font-size:1.5rem}.method-steps p{margin:0;color:#d6ded9;line-height:1.5}.method-image{grid-column:2;margin:1rem 0 0;border-radius:1.5rem;overflow:hidden}.method-image img{display:block;width:100%;max-height:34rem;object-fit:cover}
.basket-section,.ledger-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);align-items:center;padding:clamp(5rem,10vw,9rem) max(1.2rem,7vw)}.basket-section{background:var(--cream)}.basket-section figure,.ledger-section figure{margin:0;border-radius:1.6rem;overflow:hidden}.basket-section img,.ledger-section img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.ledger-section{background:var(--deep);color:white}.ledger-section>div>p:last-child{color:#d7e3db}.ledger-section figure{order:2}.ledger-section figure img{aspect-ratio:1.15}
.safety-section{display:grid;grid-template-columns:minmax(16rem,.75fr) 1.25fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin:clamp(4rem,8vw,8rem) max(1.2rem,7vw);padding:clamp(1.2rem,3vw,2.5rem);border:1px solid var(--soft);border-radius:1.8rem;background:var(--mint)}.safety-section img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:1.2rem}.safety-section h2{font-size:clamp(2.1rem,4vw,4rem)}
.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:3rem max(1.2rem,5vw);background:var(--deep);color:white}.site-footer strong{letter-spacing:.1em}.site-footer p{margin:.4rem 0 0;color:var(--soft)}.site-footer nav{display:flex;gap:1.5rem;align-items:center}.site-footer a:hover,.site-footer a:focus-visible{color:var(--coral)}
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 5% cover 28%}.route-tile{animation-delay:calc(var(--order,0)*60ms)}@keyframes rise{from{opacity:.15;transform:translateY(35px)}to{opacity:1;transform:none}}
@media(max-width:900px){.route-grid{grid-template-columns:1fr}.route-tile:first-child{grid-column:auto}.route-tile,.route-tile:first-child{grid-template-columns:minmax(9rem,.7fr) 1fr auto}.method-section,.basket-section,.ledger-section,.safety-section{grid-template-columns:1fr}.method-copy{position:static}.method-image{grid-column:1}.ledger-section figure{order:0}}
@media(max-width:600px){.route-tile,.route-tile:first-child{grid-template-columns:1fr}.route-tile i{position:absolute;right:.5rem;bottom:.5rem}.method-steps{grid-template-columns:1fr}.site-footer{display:grid}.site-footer nav{flex-wrap:wrap}}

.policy-signal>a:last-child{color:var(--mint);font-weight:700}.policy-page{background:var(--cream)}.policy-intro{max-width:82rem;margin:auto;padding:clamp(5rem,12vw,10rem) max(1.2rem,5vw) 4rem}.policy-intro h1{max-width:68rem;margin:.8rem 0 1rem;font-size:clamp(3.4rem,8vw,7.6rem);line-height:.92;letter-spacing:-.06em}.policy-intro>p:last-child{max-width:44rem;color:#526156;font-size:1.15rem;line-height:1.6}.policy-index{display:grid;grid-template-columns:12rem 1fr;gap:2rem;max-width:82rem;margin:auto;padding:0 max(1.2rem,5vw) 5rem}.policy-index>p{margin:0;color:var(--coral-strong);font-size:.72rem;font-weight:800;letter-spacing:.13em}.policy-index ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.policy-index a{display:block;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.8rem;transition:background .25s ease,color .25s ease}.policy-index a:hover,.policy-index a:focus-visible{background:var(--deep);color:white}.policy-sections{max-width:82rem;margin:auto;padding:0 max(1.2rem,5vw) 8rem}.policy-sections section{display:grid;grid-template-columns:3rem minmax(18rem,.8fr) minmax(0,1fr);gap:clamp(1.2rem,4vw,4rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) 0;border-top:1px solid var(--line);scroll-margin-top:1rem}.policy-sections section>span{align-self:start;color:var(--coral-strong);font-weight:800}.policy-sections figure{margin:0;border-radius:1.4rem;overflow:hidden}.policy-sections figure img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .65s ease}.policy-sections figure:hover img{transform:scale(1.035)}.policy-sections h2{margin:0 0 .75rem;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.policy-sections section>div p{margin:0;color:#526156;font-size:1.05rem;line-height:1.65}.policy-sections section:nth-child(even) figure{order:3}.policy-sections section:nth-child(even)>div{order:2}
@media(max-width:850px){.policy-index{grid-template-columns:1fr}.policy-index ol{grid-template-columns:1fr 1fr}.policy-sections section{grid-template-columns:2rem 1fr}.policy-sections figure,.policy-sections section:nth-child(even) figure{grid-column:2;order:0}.policy-sections section>div,.policy-sections section:nth-child(even)>div{grid-column:2;order:0}}
@media(max-width:560px){.policy-index ol{grid-template-columns:1fr}.policy-sections section{grid-template-columns:1fr}.policy-sections section>span,.policy-sections figure,.policy-sections section>div,.policy-sections section:nth-child(even) figure,.policy-sections section:nth-child(even)>div{grid-column:1}}
