:root{--fog:#E9ECE8;--fog2:#DFE4DF;--pine:#0F2A22;--pine2:#173A2F;--bark:#5A4636;--lichen:#9BA88A;--white:#FFFFFF;--ink2:#3A4A43;--mute:#6E7A72;--rule:#C9D0C8;--logo:#083E26;--lime:#7BE06F;
--disp:"Cormorant Garamond",Garamond,serif;--sans:"Public Sans",Helvetica,Arial,sans-serif;--pad:clamp(22px,6.6vw,96px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fog);color:var(--pine);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--bark);outline-offset:3px}
[id]{scroll-margin-top:24px}
.cap{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--bark)}
.btn{display:inline-block;background:var(--pine);color:var(--fog);padding:16px 28px;font-weight:600;font-size:14px;letter-spacing:.02em;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--pine2)}
.ul{border-bottom:1px solid currentColor;padding-bottom:3px}
.ul:hover{color:var(--bark)}
/* NAV */
nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px var(--pad)}
.brand{display:flex;align-items:center;gap:14px;color:var(--pine)}
.brand img{width:auto;height:38px}
.brand .n{font-family:var(--disp);font-size:28px;font-weight:500;letter-spacing:.02em;line-height:1;white-space:nowrap}
.brand .t{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--bark);border-left:1px solid rgba(15,42,34,.3);padding-left:14px;line-height:1.5}
.links{display:flex;gap:34px;font-size:13.5px;color:var(--pine2);font-weight:450}
.links a:hover,.links a[aria-current]{color:var(--bark)}
.links a[aria-current]{border-bottom:1px solid var(--lichen)}
.acc{font-size:13px;font-weight:600;letter-spacing:.04em;padding:11px 20px;border:1px solid var(--pine);color:var(--pine);background:rgba(233,236,232,.55);white-space:nowrap}
.acc:hover{background:var(--pine);color:var(--fog)}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--pine)}
.menu summary::-webkit-details-marker{display:none}
.menu .panel{position:absolute;right:var(--pad);left:var(--pad);top:84px;background:var(--fog);border:1px solid var(--rule);box-shadow:0 18px 40px rgba(15,42,34,.15);padding:10px 22px;display:flex;flex-direction:column}
.menu .panel a{padding:14px 0;border-bottom:1px solid var(--rule);font-size:16px}
.menu .panel a:last-child{border-bottom:0;font-weight:600}
/* HERO */
.hero{position:relative;min-height:min(866px,100vh);overflow:hidden;display:flex;flex-direction:column}
.hero .forest{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:saturate(.7)}
.hfog{position:absolute;inset:0;background:linear-gradient(90deg,rgba(233,236,232,.95) 0%,rgba(233,236,232,.85) 40%,rgba(233,236,232,0) 68%)}
.grain{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(rgba(15,42,34,.55) .6px,transparent .7px);background-size:3px 3px;mix-blend-mode:multiply}
.hcopy{position:relative;z-index:3;padding:clamp(34px,7.1vh,99px) var(--pad) 113px;max-width:1000px}
.hcopy>.cap{font-size:13.5px;letter-spacing:.22em}
.hcopy h1{font-family:var(--disp);font-weight:600;font-size:clamp(76px,min(12.55vw,23vh),180px);line-height:.79;letter-spacing:-.035em;color:#08201A;margin-top:30px}
.hcopy h1 em{font-style:italic;font-weight:500;color:var(--bark);display:block;padding-left:.59em;letter-spacing:-.03em}
.hcopy h1 em::before{content:"";display:inline-block;width:.43em;height:2px;background:var(--lichen);vertical-align:middle;margin:0 .12em 0 -.55em;position:relative;top:-6px}
.hcopy .lede{margin-top:clamp(36px,5.75vh,48px);max-width:560px;font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--ink2)}
.hcopy .lede strong{color:var(--pine);font-weight:600}
.ctas{margin-top:32px;display:flex;flex-wrap:wrap;gap:26px;align-items:center;font-size:15px;font-weight:600;letter-spacing:.02em}
.elev{position:absolute;z-index:3;left:var(--pad);bottom:26px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bark)}
/* page hero (inner pages) */
.phero{position:relative;overflow:hidden;background:var(--fog)}
.phero .treeline{display:block;width:100%;height:110px;object-fit:fill;margin-top:-10px}
.phead{padding:40px var(--pad) 56px;max-width:1100px}
.phead h1{font-family:var(--disp);font-weight:500;font-size:clamp(54px,8vw,112px);line-height:.92;letter-spacing:-.02em;margin-top:22px}
.phead h1 em{color:var(--bark);font-weight:400}
.phead p{margin-top:28px;max-width:640px;font-size:19px;line-height:1.65;color:var(--ink2)}
/* SECTIONS */
.sec{padding:clamp(72px,9vw,128px) var(--pad)}
.what{display:grid;grid-template-columns:260px 1fr;gap:72px}
.what .big{font-family:var(--disp);font-size:clamp(34px,4vw,58px);line-height:1.1;letter-spacing:-.01em;font-weight:400;max-width:930px}
.what .big em{color:var(--bark)}
.what p{margin-top:34px;max-width:640px;font-size:18px;line-height:1.7;color:var(--ink2)}
.what .side{border-top:1px solid var(--pine);padding-top:16px}
.what .side p{margin-top:14px;font-size:14px;line-height:1.65;color:var(--mute)}
.strip{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;border-top:1px solid var(--pine);border-bottom:1px solid var(--rule);margin-top:96px}
.strip>div{padding:34px 34px 40px 0;border-right:1px solid var(--rule);margin-right:34px}
.strip>div:last-child{border-right:none;margin-right:0;padding-right:0}
.strip h3{font-family:var(--disp);font-weight:500;font-size:40px;line-height:1;margin:14px 0 16px}
.strip h3 em{font-weight:400}
.strip p{font-size:15px;line-height:1.65;color:var(--ink2)}
.strip .fnm{margin-top:14px;font-size:12px;color:var(--mute)}
.more{margin-top:40px;font-size:14px;font-weight:600}
.record{background:var(--white)}
.recg{display:grid;grid-template-columns:260px 1fr 1fr 1fr;gap:56px;align-items:start}
.record.sec{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.num{font-family:var(--disp);font-weight:400;font-variant-numeric:lining-nums;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1;letter-spacing:-.03em;color:var(--pine);white-space:nowrap}
.num sup{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--bark);vertical-align:top;position:relative;top:2px;margin-left:3px}
.numl{margin-top:10px;padding-top:10px;border-top:1px solid var(--lichen);font-size:16px;color:var(--ink2);line-height:1.5}
.recnote{margin-top:36px;padding-top:18px;border-top:1px solid var(--rule);font-size:12.5px;line-height:1.7;color:var(--mute);max-width:980px;margin-left:332px}
.rqfwrap{position:relative;background:var(--pine);color:#E3E8E2}
.rqfwrap .treeline{display:block;width:100%;height:150px;background:var(--white);object-fit:fill}
.rqf{display:grid;grid-template-columns:1fr minmax(300px,520px);gap:96px;align-items:center;padding:72px var(--pad) 100px}
.rqf .cap{color:var(--lichen)}
.rqf h2{font-family:var(--disp);font-weight:400;font-size:clamp(58px,6.7vw,96px);line-height:.95;margin-top:22px;color:var(--white)}
.rqf h2 em{color:var(--lichen)}
.rqf p{margin-top:28px;font-size:18px;line-height:1.7;color:#C5CFC8;max-width:600px}
.rqf .row{margin-top:36px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;font-size:14px;font-weight:600}
.pill{display:inline-block;background:var(--fog);color:var(--pine);padding:16px 26px}
.pill:hover{background:var(--white)}
.rqf .tiny{margin-top:22px;font-size:12px;color:#8FA095}
/* decorative panels (no photos) */
.plate{position:relative;height:440px;background:radial-gradient(120% 80% at 70% 10%,#2F4C40 0%,#1B352B 55%,#112A22 100%);border:1px solid rgba(155,168,138,.35);overflow:hidden}
.plate::before{content:"";position:absolute;inset:14px;border:1px solid rgba(155,168,138,.28);z-index:2;pointer-events:none}
.plate .cone{position:absolute;left:50%;top:46%;width:150px;transform:translate(-50%,-50%);opacity:.9}
.plate .rings{position:absolute;inset:0;width:100%;height:100%}
.plate .pt{position:absolute;left:34px;bottom:30px;right:34px;z-index:3;font-family:var(--disp);font-style:italic;font-size:26px;line-height:1.2;color:#C9D3CB}
.plate .pt b{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--lichen);margin-bottom:10px;font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(155,168,138,.35);margin:0 var(--pad);padding:30px 0 110px;gap:48px;font-size:14.5px;line-height:1.6;color:#AEBBB2}
.facts b{display:block;font-family:var(--disp);font-size:26px;font-weight:500;color:var(--white);margin-bottom:6px}
.lead{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:96px;align-items:start}
.panel-fog{height:540px;position:relative;background:linear-gradient(180deg,#D9DFDA 0%,#C6CFC8 62%,#AEB9B0 100%);overflow:hidden}
.panel-fog::before{content:"";position:absolute;inset:14px;border:1px solid rgba(15,42,34,.18);z-index:2}
.panel-fog .t1{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;object-fit:fill;opacity:.7}
.panel-fog .t2{position:absolute;left:0;right:0;bottom:0;width:100%;height:30%;object-fit:fill}
.panel-fog .cone{position:absolute;left:50%;top:30%;width:96px;transform:translate(-50%,-50%);opacity:.55}
.panel-fog .pt{position:absolute;left:34px;top:30px;right:34px;z-index:3;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bark);font-weight:600}
.quote{font-family:var(--disp);font-style:italic;font-size:clamp(32px,3.5vw,50px);line-height:1.14;margin-top:24px;max-width:820px}
.lead p.b{margin-top:30px;font-size:18px;line-height:1.7;color:var(--ink2);max-width:680px}
.sig{margin-top:38px;padding-top:24px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:end;max-width:820px}
.sig .n{font-family:var(--disp);font-size:36px;font-weight:500}
.sig .t{margin-top:6px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bark);font-weight:600}
.access{background:var(--fog2)}
.accg{display:grid;grid-template-columns:1.35fr 1fr;gap:96px;align-items:end}
.access h2{font-family:var(--disp);font-weight:400;font-size:clamp(50px,5.8vw,84px);line-height:.96;margin-top:22px}
.access h2 em{color:var(--bark)}
.access .intro{font-size:18px;line-height:1.7;color:var(--ink2);max-width:560px}
.trail{position:relative;margin-top:84px;display:grid;grid-template-columns:repeat(3,1fr)}
.trail::before{content:"";position:absolute;left:8px;right:8px;top:8px;border-top:1.5px dashed var(--bark);opacity:.7}
.step{position:relative;padding-right:40px}
.step .dot{width:17px;height:17px;border-radius:50%;background:var(--fog2);border:1.5px solid var(--pine);position:relative}
.step:last-child .dot{background:var(--pine)}
.step .k{margin-top:22px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bark);font-weight:600}
.step h4{font-family:var(--disp);font-weight:500;font-size:32px;line-height:1.05;margin-top:8px}
.step p{margin-top:10px;font-size:14.5px;line-height:1.6;color:var(--ink2)}
.accrow{margin-top:72px;padding-top:30px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;gap:30px;font-size:14px;font-weight:600}
.accrow .mono{text-align:right;line-height:1.7;margin-left:auto;font-size:12.5px;font-weight:400;color:var(--mute)}
/* prose pages */
.prose{display:grid;grid-template-columns:260px 1fr;gap:72px;padding:0 var(--pad) clamp(72px,9vw,120px)}
.prose aside{border-top:1px solid var(--pine);padding-top:16px;align-self:start;position:sticky;top:24px}
.prose aside a{display:block;font-size:14px;color:var(--ink2);padding:6px 0}
.prose aside a:hover{color:var(--bark)}
.prose .body{max-width:760px}
.prose h2{font-family:var(--disp);font-weight:500;font-size:clamp(34px,3.4vw,46px);line-height:1.05;margin:56px 0 18px;padding-top:28px;border-top:1px solid var(--rule)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h2 em{color:var(--bark);font-weight:400}
.prose p,.prose li{font-size:17px;line-height:1.75;color:var(--ink2)}
.prose p+p{margin-top:16px}
.prose ul{margin:14px 0 0 20px}
.prose li+li{margin-top:8px}
.prose a.ul{color:var(--pine);font-weight:600}
.prose .small{font-size:13px;color:var(--mute)}
/* form */
.formcard{background:var(--white);border:1px solid var(--rule);padding:clamp(24px,4vw,48px);margin-top:8px}
.formcard label{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--bark);margin:22px 0 8px}
.formcard label:first-of-type{margin-top:0}
.formcard input,.formcard textarea{width:100%;font:inherit;font-size:16px;color:var(--pine);background:var(--fog);border:1px solid var(--rule);padding:14px 16px;border-radius:0}
.formcard textarea{min-height:140px;resize:vertical}
.formcard .chk{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:14px;line-height:1.6;color:var(--ink2);text-transform:none;letter-spacing:0;font-weight:400}
.formcard .chk input{width:18px;height:18px;margin-top:3px;flex:none}
.formcard .btn{margin-top:28px}
.formcard .note{margin-top:18px;font-size:13px;line-height:1.6;color:var(--mute)}
.formcard fieldset{border:0;margin:26px 0 0;padding:0;min-width:0}
.formcard legend{padding:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--bark);line-height:1.6;margin-bottom:10px}
.formcard .opts{display:flex;flex-wrap:wrap;gap:10px}
.formcard label.chip{display:block;margin:0;font-size:15px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--pine);cursor:pointer;position:relative}
.formcard .chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0}
.formcard .chip span{display:flex;align-items:center;min-height:48px;padding:12px 20px;background:var(--fog);border:1px solid var(--rule);transition:background .15s,border-color .15s,color .15s}
.formcard .chip:hover span{border-color:var(--pine)}
.formcard .chip input:checked+span{background:var(--pine);border-color:var(--pine);color:var(--fog)}
.formcard .chip input:focus-visible+span{outline:2px solid var(--bark);outline-offset:3px}
.formcard fieldset.bad .chip span{border-color:var(--bark)}
.formcard fieldset.bad legend::after{content:" · please choose one";color:#8A2E1F;letter-spacing:.12em}
.formcard .err{margin-top:10px;font-size:14px;line-height:1.5;color:#8A2E1F}
.formcard .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formcard .btn:disabled{opacity:.7;cursor:progress}
.formcard.done p{font-family:var(--disp);font-size:clamp(24px,2.6vw,30px);line-height:1.3;color:var(--pine)}
.fnote{margin-top:18px;font-size:13px;line-height:1.6;color:var(--mute)}
@media (max-width:720px){.formcard .opts{display:grid;grid-template-columns:1fr 1fr}.formcard #g-heard_from .opts{grid-template-columns:1fr}}
/* footer */
.ftrees{background:var(--fog2)}
.ftrees .treeline{display:block;width:100%;height:130px;object-fit:fill}
footer{background:var(--logo);color:#B9C5BC;padding:40px var(--pad) 48px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;font-size:14px;line-height:1.8;align-items:start}
.fg>div:not(:first-child){padding-top:28px}
.fg .lockup{display:block;width:210px;height:auto;margin:-10px 0 0 -22px}
.fg .cap{display:block;color:var(--lime);margin-bottom:12px}
.fg a:hover{color:var(--white)}
.fg .col a{display:block}
.disc{margin-top:48px;border-top:1px solid rgba(123,224,111,.28);padding-top:30px;display:grid;grid-template-columns:360px 1fr;gap:72px}
.disc .d{font-family:var(--disp);font-size:34px;line-height:1.15;color:var(--white)}
.disc .s p{font-size:12px;line-height:1.75;color:#93A399;margin-bottom:10px}
.disc .s p b{color:#C9D3CB;font-weight:600}
.copy{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:11.5px;letter-spacing:.08em;color:#7F9086}
.copy img{width:16px;height:auto}
.copy a:hover{color:var(--white)}
/* RESPONSIVE */
@media (max-width:1180px){
 .links{gap:22px}
 .what{grid-template-columns:1fr 1fr;gap:48px}
 .recg{grid-template-columns:repeat(3,1fr);gap:32px 40px}
 .what .side{grid-column:1/-1}.what>div:last-child{grid-column:1/-1}
 .recg>div:first-child{grid-column:1/-1}
 .recnote{margin-left:0}
 .strip{grid-template-columns:1fr 1fr}
 .strip>div{border-right:none;margin-right:0;padding-right:24px;border-bottom:1px solid var(--rule)}
 .rqf{grid-template-columns:1fr;gap:48px}
 .plate{height:320px}
 .lead{grid-template-columns:1fr;gap:48px}
 .panel-fog{height:300px}
 .accg{grid-template-columns:1fr;gap:28px}
 .fg{grid-template-columns:1fr 1fr}
 .disc{grid-template-columns:1fr;gap:20px}
 .prose{grid-template-columns:1fr;gap:28px}
 .prose aside{position:static}
}
@media (max-width:960px){
 .links,nav>.acc{display:none}
 .menu{display:block}
 .brand .t{display:none}
}
@media (max-width:720px){
 .hfog{background:linear-gradient(180deg,rgba(233,236,232,.95) 0%,rgba(233,236,232,.88) 55%,rgba(233,236,232,.35) 100%)}
 .hcopy .lede{font-size:18px;margin-top:28px}
 .hcopy>.cap{font-size:13px;letter-spacing:.14em;text-wrap:balance}
 .what{grid-template-columns:1fr}
 .recg{grid-template-columns:1fr;gap:26px}
 .strip{grid-template-columns:1fr;margin-top:56px}
 .trail{grid-template-columns:1fr;gap:28px;margin-top:48px}
 .trail::before{left:8px;right:auto;top:8px;bottom:8px;border-top:0;border-left:1.5px dashed var(--bark)}
 .step{padding-left:40px;padding-right:0}.step .dot{position:absolute;left:0;top:0}.step .k{margin-top:0}
 .facts{grid-template-columns:1fr;gap:20px;padding-bottom:72px}
 .accrow .mono{text-align:left;margin-left:0}
 .fg{grid-template-columns:1fr}
 .fg>div:not(:first-child){padding-top:0}
 .brand .n{font-size:23px}.brand img{height:32px}
 .elev{display:none}
}

/* leadership */
.num.word{font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:0}
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 72px;margin-top:8px}
.person{border-top:1px solid var(--pine);padding-top:22px}
.person .mono{width:120px;height:120px;border-radius:50%;background:var(--pine);color:var(--lichen);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:42px;letter-spacing:.02em;margin-bottom:18px}
.person .photo{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin-bottom:18px}
.person h3{font-family:var(--disp);font-weight:500;font-size:34px;line-height:1.05}
.person .role{margin-top:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bark);font-weight:600}
.person p{margin-top:16px;font-size:16px;line-height:1.7;color:var(--ink2)}
@media (min-width:901px){.people.four{grid-template-columns:repeat(2,1fr);gap:56px 72px}}
.founder{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:72px;align-items:start;margin-bottom:24px}
@media (max-width:900px){.people,.people.four{grid-template-columns:1fr;gap:40px}
.founder{grid-template-columns:1fr;gap:40px}}
/* entry notice */
.gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,42,34,.72);backdrop-filter:blur(6px)}
.gate[hidden]{display:none}
.gate .card{max-width:620px;width:100%;max-height:calc(100vh - 40px);overflow:auto;background:var(--fog);border-top:4px solid var(--logo);padding:clamp(26px,5vw,48px);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.gate img{height:42px;width:auto}
.gate .cap{display:block;margin-top:22px}
.gate h2{font-family:var(--disp);font-weight:500;font-size:clamp(28px,3.4vw,36px);line-height:1.08;margin-top:10px;text-wrap:balance}
.gate h2 em{color:var(--bark)}
.gate p{margin-top:14px;font-size:15.5px;line-height:1.7;color:var(--ink2)}
.gate .row{margin-top:28px;display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.gate .leave{font-size:14px;font-weight:600;color:var(--ink2);border-bottom:1px solid currentColor;padding-bottom:3px}
