:root{
  --bg:#f6f1e6;
  --card:#fffaf0;
  --panel:#e7deca;
  --text:#203328;
  --muted:#5a6f61;
  --green:#325b49;
  --green-dark:#1d3429;
  --sage:#8ea17f;
  --clay:#bf7446;
  --gold:#dcc57a;
  --line:rgba(32,51,40,.14);
  --shadow:0 18px 40px rgba(32,51,40,.09);
  --max:1180px;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(246,241,230,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,0)}.site-header.scrolled,.legal-header{border-bottom-color:var(--line)}
.header-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;min-height:86px}.brand img{height:48px;width:auto}.main-nav{display:flex;justify-content:center;gap:28px;font-size:14px;color:var(--muted)}.main-nav a{padding:8px 0;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:.25s}.main-nav a:hover:after{transform:scaleX(1)}
.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 20px;font-weight:700;transition:.25s;border:1px solid transparent}.header-cta,.btn.primary{background:var(--green);color:#fff}.header-cta:hover,.btn.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.btn.ghost{border-color:var(--line);background:transparent;color:var(--text)}.btn.ghost:hover{background:#fff}
.menu-toggle{display:none;background:none;border:0;padding:0;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px}.mobile-nav{display:none;padding:0 20px 18px}.mobile-nav a{display:block;padding:14px 0;border-top:1px solid var(--line);color:var(--muted)}
.hero{padding:52px 0 72px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch}.hero-copy{background:linear-gradient(135deg,#fff8eb 0%,#ecdfc3 100%);border-radius:40px;padding:58px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-copy:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(220,197,122,.25);right:-60px;top:-60px}.hero-copy:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(142,161,127,.16);left:-50px;bottom:-70px}
.kicker,.eyebrow{margin:0;color:var(--green);font-weight:700;font-size:12px;letter-spacing:.17em;text-transform:uppercase}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,92px);line-height:.95;letter-spacing:-.04em;margin:22px 0 18px;max-width:8ch}.hero-lead{font-size:22px;line-height:1.55;color:#415648;max-width:32rem;margin:0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-side{display:grid;gap:20px}.hero-card{border-radius:32px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card.large{background:var(--green-dark);color:#f7f3ea;min-height:270px;display:flex;flex-direction:column;justify-content:end}.hero-card.large:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.1);border-radius:24px}.hero-card.small{background:#fff;min-height:155px}.hero-card.small.accent{background:#efe3cf}.hero-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card-no{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:inherit;font-size:12px;font-weight:700;position:absolute;top:24px;right:24px}.hero-card.small .card-no{background:var(--panel);color:var(--green-dark)}.hero-card h2,.section h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,66px);line-height:1;margin:14px 0 0;letter-spacing:-.04em}.hero-card.large p,.hero-card.small p,.lead,.intro p,.process ol span,.contact-copy p,.site-footer p,.legal-box p{line-height:1.65;color:inherit}.hero-card.small strong{display:block;font-family:Georgia,serif;font-size:28px;margin:28px 0 10px}
.section{padding:88px 0}.intro-grid,.forest-band-grid,.process-grid,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:start}.intro .lead{font-size:24px;color:var(--text);margin-top:0}.intro p:last-child{color:var(--muted)}.pillars h2,.audience h2{max-width:12ch}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.pillar-card{border-radius:30px;padding:34px;min-height:260px;box-shadow:var(--shadow)}.pillar-card h3{font-family:Georgia,serif;font-size:32px;line-height:1.05;margin:0 0 18px}.pillar-card p{margin:0;line-height:1.68;color:#33483c}.pillar-card.sage{background:#dfe9d8}.pillar-card.cream{background:#fffaf0}.pillar-card.clay{background:#efd8ca}
.forest-band{background:var(--green-dark);color:#f7f3ea}.light{color:#cfe0d5}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:0 0 16px 24px;position:relative;line-height:1.7}.check-list li:before{content:"•";position:absolute;left:0;color:var(--gold)}.band-note{margin-top:18px;color:#ced9d2;font-size:14px}
.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}.audience-grid article{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:0 10px 26px rgba(32,51,40,.05)}.audience-grid h3{font-family:Georgia,serif;font-size:28px;margin:0 0 10px}.audience-grid p{margin:0;color:var(--muted);line-height:1.6}.process{background:#efe4cf}.process ol{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:18px}.process li{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:start;padding:20px 0;border-top:1px solid rgba(32,51,40,.12)}.process li strong{font-family:Georgia,serif;font-size:28px}
.contact{padding-top:30px;padding-bottom:90px}.contact-grid{background:#fffaf0;border:1px solid rgba(32,51,40,.09);border-radius:36px;padding:34px;box-shadow:var(--shadow)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{font-size:13px;font-weight:700;color:#43574b}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:8px;border:1px solid rgba(32,51,40,.16);border-radius:18px;background:#fff;padding:15px 16px;color:var(--text);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green)}.contact-form textarea{min-height:130px;resize:vertical}.contact-form .full{grid-column:1/-1}.checkbox{display:flex;gap:10px;align-items:flex-start}.checkbox input{width:auto;margin:3px 0 0}.checkbox span{font-size:14px;font-weight:400;color:var(--muted);line-height:1.5}.checkbox a{text-decoration:underline}
.site-footer{padding:28px 0 46px}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:end;border-top:1px solid var(--line);padding-top:26px}.site-footer img{height:42px;width:auto}.site-footer p{margin:14px 0 0;color:var(--muted);max-width:34rem}.footer-links{display:flex;gap:24px;color:var(--muted)}
.legal-page{background:#f5efe2}.legal-main{padding:54px 0 80px}.legal-box{background:#fffaf0;border-radius:34px;padding:42px;box-shadow:var(--shadow);max-width:840px}.legal-box h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,74px);line-height:1;letter-spacing:-.04em;margin:16px 0 24px}.legal-box p{color:var(--muted);font-size:18px}.text-link{text-decoration:underline;color:var(--green)}
@media(max-width:980px){.header-row{grid-template-columns:auto 1fr auto}.main-nav,.header-cta{display:none}.menu-toggle{display:flex}.hero-grid,.intro-grid,.forest-band-grid,.process-grid,.contact-grid{grid-template-columns:1fr}.hero-copy{padding:42px 30px}.hero-card.large{min-height:220px}.pillar-grid,.audience-grid,.hero-stack{grid-template-columns:1fr 1fr}.mobile-nav.open{display:block}.footer-row{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.wrap{width:min(var(--max),calc(100% - 24px))}.hero{padding-top:26px}.brand img{height:42px}.hero h1{max-width:none}.pillar-grid,.audience-grid,.hero-stack,.contact-form{grid-template-columns:1fr}.section{padding:68px 0}.contact-grid{padding:24px;border-radius:28px}.hero-copy,.hero-card,.pillar-card,.audience-grid article,.legal-box{border-radius:24px}.process li{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
