:root{
  --paper:#F3ECDC;--surface:#FAF6EA;--oat:#E7DCC0;--ink:#2F2A1E;--muted:#6A6250;--line:#D6C9A9;
  --sage:#4D6648;--sage-deep:#3A523A;--sage-soft:#CBD5B8;--sage-mid:#8FA37F;
  --clay:#A9582F;--clay-deep:#8A4524;--clay-soft:#E8C5A6;--bark:#3A2C21;--kraft:#D9C093;
  --font-display:'Newsreader',Georgia,serif;--font-body:'Work Sans',system-ui,sans-serif;
  --r-btn:26px 6px 26px 6px;--r-card:6px 44px 6px 44px;--r-panel:8px 54px 8px 54px;
  --r-pebble:58% 42% 52% 48% / 46% 56% 44% 54%;--r-pebble-b:46% 54% 40% 60% / 56% 44% 56% 44%;
  --gut:22px;--sec:76px;--max:1180px;
}
@media(min-width:860px){:root{--gut:40px;--sec:128px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font-body);overflow-x:clip}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;mix-blend-mode:multiply;opacity:.42;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .47  0 0 0 0 .33  0 0 0 .55 0'/></filter><rect width='300' height='300' filter='url(%23g)'/></svg>"),
 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012 .35' numOctaves='2' seed='9'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .42  0 0 0 0 .28  0 0 0 .35 0'/></filter><rect width='400' height='400' filter='url(%23f)'/></svg>")}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(2.7rem,1.7rem + 4.9vw,4.9rem);line-height:1.02}
h2{font-size:clamp(2.05rem,1.45rem + 2.9vw,3.5rem)}
h3{font-size:1.5rem;font-weight:500;line-height:1.15}
p{margin:0 0 1em}
.lead{font-size:1.25rem;color:var(--muted);line-height:1.5;max-width:34em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
section{position:relative;padding:var(--sec) 0;scroll-margin-top:84px}
[id]{scroll-margin-top:84px}
.label{display:inline-flex;align-items:center;gap:.55em;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--clay);font-weight:600;margin-bottom:18px}
.label::before{content:"";width:14px;height:14px;background:var(--clay);border-radius:0 100% 0 100%;flex:none}
.on-dark .label,.on-clay .label{color:var(--kraft)}.on-dark .label::before,.on-clay .label::before{background:var(--kraft)}
.u{text-decoration:underline;text-decoration-color:var(--clay);text-decoration-thickness:.07em;text-underline-offset:.1em;text-decoration-skip-ink:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border:0;border-radius:var(--r-btn);background:var(--clay-deep);color:var(--surface);font:600 1rem/1 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);background:var(--bark)}
.btn.sage{background:var(--sage-deep)}.btn.paper{background:var(--surface);color:var(--clay-deep)}.btn.paper:hover{background:var(--paper)}
.tlink{display:inline-flex;align-items:center;min-height:48px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--clay);text-underline-offset:.25em;text-decoration-thickness:2px}
.actions{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;margin-top:30px}
.cut::before{content:"";position:absolute;left:0;right:0;top:-11px;height:12px;background:var(--bg);-webkit-mask:radial-gradient(22px 12px at 50% 100%,#000 96%,#0000) 0 0/44px 100% repeat-x;mask:radial-gradient(22px 12px at 50% 100%,#000 96%,#0000) 0 0/44px 100% repeat-x}
.bar{position:sticky;top:0;z-index:60;background:var(--oat);border-bottom:1px dashed var(--line)}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.mark{width:42px;height:42px;flex:none;border-radius:50%;background:var(--sage-deep);display:grid;place-items:center;color:var(--paper)}
.brand b{display:block;font:500 1.08rem/1.1 var(--font-display)}
.brand small{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.tog{position:absolute;opacity:0;pointer-events:none}
.mbtn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:var(--r-btn);background:var(--sage-deep);color:var(--paper);font-weight:600;font-size:.95rem;cursor:pointer}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--oat);border-bottom:1px dashed var(--line);padding:8px var(--gut) 22px;flex-direction:column}
.tog:checked ~ .nav,.bar:has(.tog:checked) .nav{display:flex}
.bar:has(.tog:focus-visible) .mbtn{outline:2px solid var(--clay);outline-offset:3px}
.nav a{display:flex;align-items:center;min-height:52px;text-decoration:none;font-weight:500;border-bottom:1px dashed var(--line)}
.nav a:last-child{border:0;margin-top:14px}
.nav a.btn{color:var(--surface);justify-content:center}
.nav a[aria-current]{color:var(--clay-deep)}
@media(min-width:860px){.brand b{font-size:1.25rem}.mbtn{display:none}.nav{display:flex;position:static;flex-direction:row;align-items:center;gap:30px;padding:0;border:0;background:none}.nav a{border:0;min-height:48px}.nav a:last-child{margin:0}}
.hero{padding-top:44px;background:var(--paper)}
.hero-grid{display:grid;gap:44px}
.hero h1{margin-bottom:24px}
.hero-art{position:relative;margin:0 6px 0 0}
.pebble{border-radius:var(--r-pebble);overflow:hidden;position:relative;aspect-ratio:5/4;background:var(--oat)}
.pebble img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) sepia(.16) contrast(1.02)}
.pebble::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(58,44,33,.28)}
.dots{position:absolute;inset:-12px -10px -10px 12px;border:2px dotted var(--clay);border-radius:var(--r-pebble-b);pointer-events:none}
.stamp{position:absolute;width:118px;height:118px;left:-8px;bottom:-30px;color:var(--sage-deep);transform:rotate(-9deg)}
.tag{position:absolute;right:-6px;top:26px;background:var(--kraft);color:var(--bark);padding:12px 16px 12px 30px;font:500 1.1rem/1.1 var(--font-display);border-radius:4px 14px 14px 4px;transform:rotate(4deg);clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%)}
.tag::before{content:"";position:absolute;left:11px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--paper)}
@media(min-width:860px){.hero{padding-top:84px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}.hero-art{margin-right:0}.stamp{width:136px;height:136px;left:-44px;bottom:-34px}.tag{right:-22px;top:34px}.pebble{aspect-ratio:1/1.02}}
.facts{background:var(--oat);--bg:var(--oat);padding:56px 0}
.facts-row{display:grid;gap:0}
.fact{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;padding:24px 0;border-bottom:1px dashed var(--line)}
.fact:last-child{border:0}
.fact svg{width:54px;height:54px;color:var(--sage-deep)}
.fact h3{margin-bottom:6px}
.fact p{margin:0;color:var(--muted)}
@media(min-width:860px){.facts{padding:80px 0}.facts-row{grid-template-columns:repeat(3,1fr);gap:48px}.fact{border:0;border-right:1px dashed var(--line);padding:0 36px 0 0;grid-template-columns:1fr}.fact:last-child{border:0}}
.story{--bg:var(--paper)}
.story-grid{display:grid;gap:48px}
.blob{border-radius:var(--r-pebble-b);overflow:hidden;position:relative;aspect-ratio:4/3.4;background:var(--oat)}
.blob img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) sepia(.14)}
.blob::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px rgba(58,44,33,.25)}
.story-art{position:relative}
.story-art .dots{inset:10px 12px -12px -10px;border-color:var(--sage-mid)}
.story h2{margin-bottom:26px;max-width:12em}
.story p{max-width:33em}
.sign{font:500 1.5rem/1.2 var(--font-display);color:var(--sage-deep);margin-top:24px}
@media(min-width:860px){.story-grid{grid-template-columns:.95fr 1.05fr;gap:96px;align-items:center}}
.session{background:var(--sage-deep);--bg:var(--sage-deep);color:var(--paper)}
.session h2{max-width:11em;margin-bottom:16px}
.session .lead{color:var(--sage-soft)}
.steps{list-style:none;margin:52px 0 0;padding:0;position:relative;display:grid;gap:34px}
.steps::before{content:"";position:absolute;left:25px;top:20px;bottom:20px;border-left:2px dashed var(--sage-mid)}
.steps li{position:relative;padding-left:76px}
.num{position:absolute;left:0;top:-2px;width:52px;height:52px;border-radius:var(--r-pebble);background:var(--kraft);color:var(--bark);display:grid;place-items:center;font:500 1.5rem/1 var(--font-display)}
.steps h3{margin-bottom:6px}
.steps p{margin:0;color:var(--sage-soft);max-width:30em}
@media(min-width:860px){.steps{grid-template-columns:repeat(4,1fr);gap:36px;margin-top:72px}.steps::before{left:26px;right:26px;top:24px;bottom:auto;border-left:0;border-top:2px dashed var(--sage-mid)}.steps li{padding:76px 0 0}.num{top:0}.steps li:nth-child(even){margin-top:34px}}
.band{padding:var(--sec) 0 0;background:var(--paper);--bg:var(--paper)}
.band figure{margin:0}
.band .frame{border-radius:var(--r-panel);overflow:hidden;aspect-ratio:4/3.2;position:relative}
.band img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) sepia(.12)}
.band .frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 70px rgba(58,44,33,.25)}
.band figcaption{margin-top:18px;max-width:30em;color:var(--muted);font:500 1.35rem/1.25 var(--font-display)}
@media(min-width:860px){.band .frame{aspect-ratio:21/9}.band figcaption{margin-left:8%}}
.faq{background:var(--oat);--bg:var(--oat);margin-top:var(--sec)}
.faq-grid{display:grid;gap:40px}
.faq h2{margin-bottom:14px}
details{border-bottom:1px dashed var(--line);padding:0}
details:first-of-type{border-top:1px dashed var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:64px;padding:12px 0;font:500 1.4rem/1.2 var(--font-display)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--clay);color:var(--clay);display:grid;place-items:center;font:400 1.4rem/1 var(--font-body);transition:transform .25s ease}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 52px 22px 0;margin:0;color:var(--muted);max-width:34em}
@media(min-width:860px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:96px}}
.visit{background:var(--clay-deep);--bg:var(--clay-deep);color:var(--surface)}
.visit-grid{display:grid;gap:36px}
.visit h2{max-width:11em}
.visit p{color:var(--clay-soft);max-width:30em}
@media(min-width:860px){.visit-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:80px}}
.phead{padding-top:56px;padding-bottom:20px}
.phead h1{max-width:12em;margin-bottom:22px}
@media(min-width:860px){.phead{padding-top:96px}}
.split{display:grid;gap:40px;align-items:center}
.split .blob{aspect-ratio:4/4.2}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr;gap:88px}.split.flip .split-art{order:2}}
.meta{list-style:none;margin:26px 0 0;padding:0}
.meta li{display:grid;grid-template-columns:7.5em 1fr;gap:14px;padding:14px 0;border-top:1px dashed var(--line)}
.meta li:last-child{border-bottom:1px dashed var(--line)}
.meta b{font:500 1.15rem/1.3 var(--font-display);color:var(--sage-deep)}
.needs{background:var(--surface);--bg:var(--surface)}
.need-list{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;counter-reset:n}
.need-list li{counter-increment:n;display:grid;grid-template-columns:48px 1fr;gap:12px;padding:20px 0;border-top:1px dashed var(--line);font:500 1.45rem/1.25 var(--font-display)}
.need-list li::before{content:counter(n);font:500 1rem/34px var(--font-body);width:34px;height:34px;text-align:center;border-radius:var(--r-pebble);background:var(--sage-soft);color:var(--sage-deep)}
@media(min-width:860px){.need-list{grid-template-columns:1fr 1fr;column-gap:72px}}
.form{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-card);padding:28px 22px}
.form label{display:block;font-weight:600;font-size:.95rem;margin:0 0 18px}
.form label span{display:block;margin-bottom:6px}
.form input,.form textarea{display:block;width:100%;min-height:52px;padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--r-btn);background:var(--paper);font:400 1rem/1.4 var(--font-body);color:var(--ink)}
.form textarea{min-height:130px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--sage);outline-offset:2px;border-color:var(--sage)}
.form .cf-turnstile{margin:6px 0 14px;max-width:100%;overflow:hidden}
.form .btn{width:100%;margin-top:6px}
.form small{display:block;margin-top:14px;color:var(--muted);font-size:.9rem}
@media(min-width:860px){.form{padding:40px}}
.contact-grid{display:grid;gap:44px}
@media(min-width:860px){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}}
.rows{list-style:none;margin:28px 0 0;padding:0}
.rows li{padding:14px 0;border-top:1px dashed var(--line)}
.rows li:last-child{border-bottom:1px dashed var(--line)}
.rows b{display:block;font:500 1.15rem/1.3 var(--font-display);color:var(--sage-deep)}
.credit-list{list-style:none;padding:0;margin:36px 0 0}
.credit-list li{padding:18px 0;border-top:1px dashed var(--line)}
.credit-list li:last-child{border-bottom:1px dashed var(--line)}
.credit-list span{display:block;color:var(--muted);font-size:.95rem}
footer{position:relative;background:var(--bark);color:var(--oat);padding:0 0 40px;margin-top:0}
.grow{display:block;width:100%;height:56px;color:var(--bark);margin-bottom:-1px}
footer h3{font-size:1.25rem;margin-bottom:10px;color:var(--surface)}
.foot-grid{display:grid;gap:36px;padding-top:44px}
footer a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--oat)}
footer a:hover{color:var(--surface);text-decoration:underline}
footer p{color:var(--kraft);margin:0}
.fine{margin-top:36px;padding-top:22px;border-top:1px dashed var(--muted);font-size:.9rem;color:var(--kraft)}
@media(min-width:860px){.foot-grid{grid-template-columns:1.3fr .8fr .8fr;gap:72px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
