/* SolidGood Strata: public front page concept. Flat colour, Figtree, tabular-nums, hard-offset shadows only. */
:root{--f50:#F0F5EE;--f100:#DEEFDA;--f200:#CBE8C6;--f300:#A6D8A8;--f600:#3F8A4E;--f700:#2B6B3A;--f800:#22562E;--f900:#1A4424;--deep:#12301C;
--e50:#F3F7F1;--e700:#3A4D40;--e900:#14231A;--e950:#12301C;--hair:#DCE6DA;--hair2:#C8D5C8;--mut:#4F5F55;--r:16px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{font-family:Figtree,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--e900);background:var(--f50);font-size:18px;line-height:1.55;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--f700);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--e900);outline-offset:3px;border-radius:4px}
.dark :focus-visible{outline-color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;position:relative}.narrow{max-width:820px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 16px;z-index:100;border-radius:8px}.skip:focus{left:8px}
/* auth state */
.in-only{display:none!important}html[data-auth=in] .in-only{display:inline-flex!important}html[data-auth=in] .out-only{display:none!important}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:10px;background:var(--f700);color:#fff;font:600 16px/1 Figtree,sans-serif;text-decoration:none;border:2px solid var(--f700);cursor:pointer;transition:transform .12s}
.btn:hover{background:var(--f800);border-color:var(--f800)}.btn:active{transform:translateY(1px)}
.btn.lg{min-height:56px;padding:0 30px;font-size:18px;border-radius:12px}
.btn.light{background:#fff;color:var(--f800);border-color:#fff;box-shadow:5px 5px 0 var(--f600)}.btn.light:hover{background:var(--f100);border-color:var(--f100)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn.ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--f50);border-bottom:1px solid var(--hair)}
.hdr-in{display:flex;align-items:center;gap:32px;height:72px}
.logo{display:inline-flex;align-items:center;min-height:44px}.logo img{height:28px;width:auto}
.nav{display:flex;gap:4px;margin-left:12px}.nav a,.hdr-cta .link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--e900);font-weight:500;font-size:16px;text-decoration:none;border-radius:8px}
.nav a:hover,.hdr-cta .link:hover{background:var(--f100)}
.hdr-cta{margin-left:auto;display:flex;align-items:center;gap:8px}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--hair2);background:#fff;border-radius:10px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.burger span{width:20px;height:2px;background:var(--e900);border-radius:2px;transition:transform .15s,opacity .15s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu{background:var(--f50);border-top:1px solid var(--hair);box-shadow:0 6px 0 var(--f700)}
.menu .wrap{display:flex;flex-direction:column;padding-top:8px;padding-bottom:20px}
.menu a:not(.btn){display:flex;align-items:center;min-height:56px;font-size:20px;font-weight:600;color:var(--e900);text-decoration:none;border-bottom:1px solid var(--hair)}
.menu .btn{margin-top:16px;min-height:56px;font-size:18px}
.menu[hidden]{display:none}
/* dark sections */
.dark{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.contours{position:absolute;inset:0;background:url(contours.svg) center/cover no-repeat;pointer-events:none;display:block}
.eyebrow{font:700 14px/1 Figtree;letter-spacing:.14em;text-transform:uppercase;color:var(--f700);margin-bottom:16px}
.dark .eyebrow{color:var(--f300)}
h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.05}
h2{font-size:clamp(34px,4.4vw,56px);margin-bottom:16px}h3{font-size:24px;line-height:1.2;letter-spacing:-.01em}
.lede{font-size:clamp(19px,1.8vw,23px);line-height:1.5;max-width:640px;color:var(--f100)}
.small{font-size:15px;margin-top:20px;color:var(--f200)}.small a{color:#fff}
/* hero */
.hero{padding:88px 0 0}
.hero h1{font-size:clamp(46px,7.6vw,104px);max-width:980px;margin-bottom:26px;letter-spacing:-.035em;line-height:.98}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.hero-fig{margin-top:56px;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 0 0 2px var(--f600);}
.hero-fig img{width:100%;border-radius:0}
.hero .wrap{padding-bottom:0}
/* sections */
.sec{padding:112px 0}
.sec-h{max-width:760px;margin-bottom:64px}.sec-h .sub{font-size:21px;color:var(--mut)}
.center{text-align:center}
.grid2{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}.grid2.rev{grid-template-columns:7fr 5fr}.grid2.rev .txt{order:2}
.fig{border-radius:22px;overflow:hidden;border:2px solid var(--f700);background:var(--f100)}
.fig img{width:100%}
/* problem */
.problem{background:var(--f100);position:relative}
.problem .grid2{grid-template-columns:5fr 6fr}.problem .grid2.rev{grid-template-columns:6fr 5fr}
.problem h2{font-size:clamp(34px,4vw,52px)}
.problem .body{font-size:20px;margin-bottom:28px;color:var(--e700)}
.pains{list-style:none;padding:0;display:grid;gap:10px}
.pains li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--hair2);border-radius:12px;padding:14px 18px;font-weight:600;font-size:18px}
.pains i{font-style:normal;flex:none;width:28px;height:28px;border-radius:50%;background:#FEF3F2;color:#B42318;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.closing{margin-top:64px;font-size:clamp(26px,3.2vw,40px);font-weight:800;letter-spacing:-.02em;line-height:1.15;max-width:760px;color:var(--f800);border-left:8px solid var(--f700);padding-left:24px}
.closing.sm{font-size:clamp(22px,2.4vw,30px);margin:48px 0 0}
/* features */
.features{background:var(--f50)}
.feat{padding:48px 0;border-top:2px solid var(--f200)}.feat:first-of-type{border-top:0;padding-top:0}
.feat .num{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;background:var(--f700);color:#fff;border-radius:99px;padding:6px 14px;margin-bottom:18px;letter-spacing:.04em}
.feat h3{font-size:clamp(30px,3.2vw,42px);line-height:1.05;margin-bottom:16px;letter-spacing:-.025em}
.feat p{font-size:20px;color:var(--e700)}
/* who */
.who{background:#fff}
.who h2{margin-bottom:56px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.col{border-radius:24px;padding:44px;position:relative;overflow:hidden}
.col .tag{display:inline-block;font:700 13px/1 Figtree;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:99px;margin-bottom:20px}
.col h3{font-size:34px;margin-bottom:24px;letter-spacing:-.025em}
.col ul{list-style:none;padding:0;display:grid;gap:4px;margin-bottom:32px}
.col li{display:flex;gap:14px;font-size:19px;padding:12px 0;border-top:1px solid;align-items:flex-start}
.col li:before{content:"";flex:none;width:22px;height:22px;margin-top:3px;border-radius:50%;background:no-repeat center/13px;}
.council{background:var(--f800);box-shadow:10px 10px 0 var(--f300)}.council .tag{background:var(--f300);color:var(--f900)}.council li{border-color:rgba(255,255,255,.2)}
.council li:before{background-color:var(--f300);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A4424' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
.residents{background:var(--f100);border:2px solid var(--f700);box-shadow:10px 10px 0 var(--f700)}.residents .tag{background:var(--f700);color:#fff}.residents li{border-color:var(--f300)}
.residents li:before{background-color:var(--f700);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
.residents .note{background:#fff;border-radius:12px;padding:16px 18px;font-weight:600;font-size:17px;border:1px solid var(--f300)}
/* how */
.how{background:var(--f50)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.steps li{background:#fff;border:2px solid var(--f700);border-radius:20px;padding:32px;position:relative;box-shadow:8px 8px 0 var(--f200)}
.steps .n{display:flex;width:60px;height:60px;border-radius:50%;background:var(--f700);color:#fff;font-size:30px;font-weight:800;align-items:center;justify-content:center;margin-bottom:20px}
.steps h3{margin-bottom:10px}.steps p{color:var(--e700);font-size:18px}
/* pilot */
.pilot{padding:0 0 112px;background:var(--f50)}
.pilot-in{border-radius:28px;padding:96px 64px;text-align:center}
.pilot-in .lede{margin:0 auto 36px}.pilot-in h2{font-size:clamp(44px,7vw,96px);letter-spacing:-.035em;line-height:.95}
.pilot-in>*:not(.contours){position:relative}
/* privacy */
.privacy{background:var(--f100);border-top:2px solid var(--f200)}
.pts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.pts li{grid-column:span 2;background:#fff;border:1px solid var(--hair2);border-radius:18px;padding:28px}
.pts li:nth-child(4){grid-column:1/span 3}.pts li:nth-child(5){grid-column:4/span 3}
.pts svg{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--f700);stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.pts h3{font-size:21px;margin-bottom:8px}.pts p{font-size:17px;color:var(--e700)}
.legal-line{margin-top:32px;font-size:17px}.legal-line a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
/* faq */
.faq{background:#fff}.faq h2{margin-bottom:40px}
.qs{display:grid;gap:12px}
details{border:2px solid var(--hair2);border-radius:14px;background:var(--f50)}details[open]{border-color:var(--f700);background:#fff}
summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;font-weight:700;font-size:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--f700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
details[open] summary:after{content:"–"}
details p{padding:0 22px 22px;font-size:18px;color:var(--e700);max-width:720px}
/* final */
.final{padding:120px 0;text-align:center}.final h2{font-size:clamp(40px,6vw,80px);letter-spacing:-.035em;line-height:.98;max-width:900px;margin:0 auto 20px}
.final .lede{margin:0 auto 36px}.final .wrap>*{position:relative}
.final .small a{display:inline-flex;align-items:center;min-height:44px}
/* footer */
.ftr{background:var(--f900);color:#E3EDE1;padding:64px 0 32px}
.ftr-top{display:grid;grid-template-columns:1fr 1.6fr auto;gap:40px;align-items:start}
.ftr .tag{margin-top:14px;max-width:320px;color:#CFE3CF;font-size:16px}
.ftr nav{display:flex;flex-wrap:wrap;gap:0 8px}
.ftr a{color:#fff}.ftr nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;text-decoration:none;font-weight:500}.ftr nav a:hover{text-decoration:underline}
.ftr .contact a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.ftr .legal{margin-top:40px;padding-top:24px;border-top:1px solid #3F8A4E;font-size:14.5px;color:#CFE3CF}.ftr .legal a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
/* responsive */
@media(max-width:1040px){
 .nav,.hdr-cta{display:none}.burger{display:flex}.hdr-in{gap:16px}
 .grid2,.grid2.rev,.problem .grid2,.problem .grid2.rev{grid-template-columns:1fr;gap:32px}.grid2.rev .txt{order:0}
 .cols,.steps{grid-template-columns:1fr}
 .pts{grid-template-columns:1fr 1fr}.pts li,.pts li:nth-child(4),.pts li:nth-child(5){grid-column:auto}
 .ftr-top{grid-template-columns:1fr}
}
@media(max-width:640px){
 body{font-size:17px}.wrap{padding:0 20px}
 .hdr-in{height:64px}.logo img{height:24px}
 .hero{padding:48px 0 0}.hero h1{font-size:clamp(40px,12.2vw,56px)}
 .hero .ctas .btn{width:100%}
 .hero-fig{margin-top:40px;border-radius:18px 18px 0 0}.hero-fig img{width:190%;max-width:none;margin-left:-4%}
 .sec{padding:72px 0}.sec-h{margin-bottom:40px}
 .fig img{width:185%;max-width:none;margin-left:var(--ml,0)}.fig{border-radius:18px}
 .feat{padding:36px 0}.feat p{font-size:18px}
 .problem .body{font-size:18px}.closing{padding-left:16px;border-left-width:6px;margin-top:40px}
 .col{padding:28px 22px}.col h3{font-size:28px}.col li{font-size:18px}.col .btn{width:100%}
 .steps li{padding:24px}
 .pilot{padding-bottom:72px}.pilot-in{padding:56px 22px;border-radius:20px}.pilot-in .btn,.final .btn{width:100%}
 .pts{grid-template-columns:1fr}
 summary{font-size:18px;padding:10px 16px}details p{padding:0 16px 18px;font-size:17px}
 .final{padding:72px 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.pts a,details p a{display:inline-block;padding:12px 0;margin:-12px 0;font-weight:600}
