  :root{
    --forest:#001D18;      /* logo background */
    --gold:#FEE18E;        /* wordmark */
    --forest-2:#0A2A22;
    --forest-3:#123A2F;
    --leaf:#96A448;        /* canopy green */
    --leaf-soft:#B9C47A;
    --mycel:#E4E8C6;       /* mycelium cream-green */
    --cream:#F4EFE3;
    --paper:#FBF8F1;
    --bark:#7A5A3A;
    --bark-soft:#A88661;
    --ink:#16241F;
    --muted:#4E5D55;
    --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
    --sans:"Karla", system-ui, -apple-system, "Segoe UI", sans-serif;
    --wrap:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
  .eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--bark)}
  .dark .eyebrow{color:var(--leaf-soft)}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:0}
  .dark h1,.dark h2{color:var(--gold)}
  h2{font-size:clamp(2.3rem,4.8vw,3.6rem);margin:.5rem 0 1.1rem}
  h3{font-size:1.7rem;margin-bottom:.5rem}
  p{max-width:68ch}
  .lede{font-size:1.18rem;color:var(--muted)}
  .dark{background:var(--forest);color:var(--cream)}
  .dark .lede{color:#C9D2C3}
  section{padding:110px 0}

  /* nav */
  header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s, box-shadow .3s}
  header.solid{background:rgba(0,28,23,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(228,232,198,.08)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:76px}
  .brand{display:flex;align-items:center;gap:12px;white-space:nowrap;text-decoration:none;color:var(--cream)}
  .brand img{width:44px;height:44px;border-radius:50%}
  .brand span{font-family:var(--serif);font-weight:600;font-size:1.55rem;letter-spacing:.01em;color:var(--gold)}
  .links{display:flex;gap:24px;align-items:center;list-style:none}
  .links a{white-space:nowrap;color:var(--mycel);text-decoration:none;font-size:.95rem;letter-spacing:.04em;opacity:.85}
  .links a:hover{opacity:1;color:#fff}
  .btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.05em;text-decoration:none;padding:14px 26px;border-radius:999px;border:1.5px solid var(--leaf);background:var(--leaf);color:var(--forest);transition:all .2s;cursor:pointer}
  .btn:hover{background:var(--leaf-soft);border-color:var(--leaf-soft)}
  .btn.ghost{background:transparent;color:var(--mycel);border-color:rgba(228,232,198,.45)}
  .btn.ghost:hover{border-color:var(--mycel);color:#fff}
  .links .btn{padding:10px 20px;color:var(--forest);opacity:1}
  .menu-toggle{display:none;background:none;border:0;color:var(--mycel);font-size:1.6rem;cursor:pointer}

  /* hero */
  .hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;position:relative;overflow:hidden;
    background:var(--forest)}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
  .hero .hero-h{font-size:clamp(2rem,3.6vw,3rem);font-weight:500;margin:2.6rem auto 1.2rem;max-width:26ch;color:var(--cream)}
  .hero{text-align:center}
  .brandmark{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,40px);margin:0 auto}
  .brandmark img{width:clamp(170px,24vw,320px);height:auto}
  .brandmark .wm{font-family:var(--serif);font-weight:600;color:var(--gold);font-size:clamp(3.4rem,8.4vw,7.2rem);line-height:.9;text-align:left;letter-spacing:.005em}
  .brandmark .wm small{display:block;font-family:var(--sans);font-weight:600;font-size:clamp(.68rem,1vw,.85rem);letter-spacing:.26em;text-transform:uppercase;color:var(--leaf-soft);margin-top:1.1rem;line-height:1.6}
  @media (max-width:620px){.brandmark{flex-direction:column}.brandmark .wm{text-align:center}}
  .hero p.lede{margin-left:auto;margin-right:auto}
  .hero .ctas,.regions-line{justify-content:center}
  .hero .hero-h em{font-style:italic;font-weight:400;color:var(--leaf-soft)}
  .hero p.lede{font-size:1.22rem;margin-bottom:2.2rem}
  .hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
  .hero-logo{position:relative}
  .hero-logo img{width:100%;max-width:560px;margin-left:auto;animation:breathe 9s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
  .regions-line{margin-top:2.6rem;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.9rem;color:#AEB9A9;letter-spacing:.06em}
  .regions-line span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--leaf);margin-right:9px;vertical-align:middle}

  /* intro */
  .intro{background:var(--cream)}
  .intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}
  .intro blockquote{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;font-style:italic;line-height:1.3;color:var(--forest-3);border-left:3px solid var(--leaf);padding-left:26px}
  .intro p + p{margin-top:1rem}

  /* pillars */
  .pillars{background:var(--forest)}
  .pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(228,232,198,.12);margin-top:56px;border:1px solid rgba(228,232,198,.12)}
  .pillar{background:var(--forest);padding:38px 30px 42px}
  .pillar .p-icon{width:64px;height:64px;color:var(--leaf-soft);margin:14px 0 6px}
  .pillar .p-sub{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--leaf-soft);margin:-.5rem 0 .8rem}
  .pillar .num{font-family:var(--serif);font-style:italic;color:var(--leaf);font-size:1.1rem}
  .pillar h3{font-size:2.2rem;margin:.4rem 0 .8rem;color:#fff}
  .pillar p{color:#C3CCBD;font-size:1rem}
  .myc-divider{display:block;width:100%;height:60px;margin-top:-1px}

  /* immersions */
  .imm-head{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px}
  .card{background:#fff;border:1px solid #E5DFCF;border-radius:18px;padding:34px 30px 30px;display:flex;flex-direction:column;transition:transform .25s, box-shadow .25s}
  .card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(0,28,23,.35)}
  .card .icon{width:46px;height:46px;margin-bottom:18px;color:var(--forest-3)}
  .card p{color:var(--muted);font-size:1rem}
  .card .meta{margin-top:auto;padding-top:20px;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bark);font-weight:600}
  .card.feature{background:var(--forest-2);border-color:var(--forest-2);color:var(--cream)}
  .card.feature p{color:#C3CCBD}
  .card.feature .icon{color:var(--leaf-soft)}
  .card.feature .meta{color:var(--leaf-soft)}
  .card.wide{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.4fr;gap:40px;padding:44px 42px;background:linear-gradient(140deg,#0E3A2E 0%,var(--forest) 70%)}
  @media (max-width:980px){.card.wide{grid-template-columns:1fr;gap:10px}}
  .card.wide.rites{background:var(--cream);border-color:#E5DFCF;color:var(--ink)}
  .card.wide.rites .icon,.card.wide.rites .eyebrow{color:var(--bark)}
  .card.wide.rites p{color:var(--muted)}
  .card.wide.rites .meta{color:var(--bark)}

  /* regions */
  .regions{background:var(--cream)}
  .region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:56px}
  .region{position:relative;border-radius:20px;overflow:hidden;padding:40px 36px;min-height:290px;color:var(--cream);display:flex;flex-direction:column;justify-content:flex-end}
  .region::before{content:"";position:absolute;inset:0;z-index:0}
  .region > *{position:relative;z-index:1}
  .region .tag{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--leaf-soft);font-weight:600}
  .region h3{font-size:2.3rem;margin:.35rem 0 .7rem;color:#fff}
  .region p{color:#D3DACB;font-size:1rem}
  .region .places{margin-top:14px;font-size:.88rem;color:#AFC0A4;letter-spacing:.02em}
  .r1{background:linear-gradient(160deg,#16443A 0%,#002019 100%)}
  .r2{background:linear-gradient(160deg,#1E4A34 0%,#06221A 100%)}
  .r3{background:linear-gradient(160deg,#2F4436 0%,#0C1F19 100%)}
  .r4{background:linear-gradient(160deg,#1B3F45 0%,#031C1C 100%)}
  .region svg.bg{position:absolute;right:-30px;top:-20px;width:300px;height:300px;opacity:.14;z-index:0;color:var(--mycel)}

  /* seasons */
  .seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:46px;border-top:1px solid #D9D1BD}
  .season{padding:26px 22px 0 0}
  .season h4{font-family:var(--serif);font-weight:600;font-size:1.55rem;margin-bottom:.4rem;color:var(--forest-3)}
  .season p{font-size:.96rem;color:var(--muted)}

  /* promise */
  .promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:56px}
  .promise svg{width:40px;height:40px;color:var(--leaf);margin-bottom:16px}
  .promise h3{font-size:1.35rem;color:#fff}
  .promise p{color:#C3CCBD;font-size:.98rem}

  /* guide */
  .guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
  .guide-card{background:var(--forest);border-radius:24px;padding:46px;color:var(--cream);text-align:center}
  .guide-card img{width:190px;margin:0 auto 20px;border-radius:50%}
  .guide-card .name{font-family:var(--serif);font-weight:600;font-size:2rem}
  .guide-card .role{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf-soft);margin-top:4px}
  .guide-card ul{list-style:none;margin-top:22px;font-size:.95rem;color:#C3CCBD;line-height:2}
  .guide p + p{margin-top:1rem}
  .guide .sig{margin-top:1.6rem;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--forest-3)}

  /* book */
  .book{background:linear-gradient(rgba(0,29,24,.86),rgba(0,29,24,.93)),url(../img/coastal-forest.webp) center/cover;text-align:center}
  .book h2{font-size:clamp(2.6rem,5.6vw,4.2rem);font-weight:500}
  .book h2 em{font-weight:400}
  .book h2 em{color:var(--leaf-soft)}
  .book p{margin:0 auto 2rem}
  .book-form{max-width:640px;margin:2.4rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
  .book-form label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#AEB9A9;display:block;margin-bottom:6px}
  .book-form input,.book-form select,.book-form textarea{width:100%;font:inherit;font-size:1rem;padding:13px 15px;border-radius:12px;border:1px solid rgba(228,232,198,.22);background:rgba(255,255,255,.04);color:var(--cream)}
  .book-form select option{color:var(--ink)}
  .book-form .full{grid-column:1/-1}
  .book-form textarea{min-height:110px;resize:vertical}
  .book-form .btn{justify-self:center;grid-column:1/-1;margin-top:8px}
  .form-note{grid-column:1/-1;text-align:center;font-size:.92rem;color:#AEB9A9;min-height:1.4em}
  .contact-line{margin-top:2.4rem;font-size:.98rem;color:#C3CCBD}
  .contact-line a{color:var(--leaf-soft);text-decoration:none;border-bottom:1px solid rgba(185,196,122,.4)}

  .photo{border-radius:20px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(0,35,21,.6)}
  .photo img{width:100%;height:100%;object-fit:cover}
  .intro-photo{aspect-ratio:4/3;max-width:360px;margin-bottom:30px}
  .card .card-photo{margin:-34px -30px 22px;height:130px;border-radius:18px 18px 0 0;overflow:hidden}
  .card .card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
  .tropics .pill{display:inline-block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--forest);background:var(--gold);padding:6px 14px;border-radius:999px;margin-bottom:14px}
  .tropic-places{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:2.2rem 0 2.4rem;text-align:left}
  .tropic-places div{border:1px solid rgba(228,232,198,.16);border-radius:16px;padding:22px 24px}
  .tropic-places strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.6rem;color:var(--gold);margin-bottom:4px}
  .tropic-places span{color:#C9D2C3;font-size:.98rem}
  @media (max-width:620px){.tropic-places{grid-template-columns:1fr}}
  .recip-teaser{background:var(--cream);padding:90px 0}
  .recip-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
  .btn.outline{background:transparent;color:var(--forest-3);border-color:var(--forest-3);margin-top:1.4rem}
  .btn.outline:hover{background:var(--forest-3);color:var(--cream)}
  @media (max-width:980px){.recip-grid{grid-template-columns:1fr;gap:10px}}
  footer{background:#00140F;color:#8E9C92;padding:46px 0;font-size:.9rem}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .foot nav{display:flex;gap:22px}
  .foot a{text-decoration:none;color:#B5C0B0}
  .foot a:hover{color:#fff}

  .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease, transform .8s ease}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-logo img{animation:none}}

  @media (max-width:980px){
    .hero-grid,.intro-grid,.guide-grid{grid-template-columns:1fr}
    .hero-logo{order:-1}.hero-logo img{max-width:360px;margin:0 auto}
    .hero{text-align:center}.hero .ctas,.regions-line{justify-content:center}.hero p.lede{margin-left:auto;margin-right:auto}
    .pillar-grid,.promise-grid,.seasons{grid-template-columns:repeat(2,1fr)}
    .cards{grid-template-columns:1fr 1fr}
    .region-grid{grid-template-columns:1fr}
    .links{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;background:var(--forest);padding:24px;gap:18px}
    .links.open{display:flex}
    .menu-toggle{display:block}
  }
  @media (max-width:620px){
    body{font-size:17px}
    section{padding:80px 0}
    .pillar-grid,.promise-grid,.cards,.seasons,.book-form{grid-template-columns:1fr}
  }

  /* reciprocity page */
  .recip-hero{padding:160px 0 100px}
  .recip-h1{font-size:clamp(2.6rem,5.4vw,4.4rem);color:var(--gold);margin:.6rem 0 1.4rem}
  .lands{list-style:none;margin-top:1.6rem}
  .lands li{padding:16px 0;border-top:1px solid #DDD5C2;color:var(--muted);font-size:1rem}
  .lands li strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.35rem;color:var(--forest-3);margin-bottom:2px}
  .cards.commit{grid-template-columns:repeat(3,1fr)}
  @media (max-width:980px){.cards.commit{grid-template-columns:1fr}}
  @media (max-width:1120px){
    .links{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;background:var(--forest);padding:24px;gap:18px}
    .links.open{display:flex}
    .menu-toggle{display:block}
  }

  .tropics{background:linear-gradient(rgba(0,18,14,.62),rgba(0,18,14,.72) 45%,rgba(0,29,24,.94)),url(../img/costa-rica-sunset.webp) center 60%/cover}
  .tropic-places div{background:rgba(0,29,24,.55)}

  .pillar.connect{background:linear-gradient(rgba(0,29,24,.72),rgba(0,29,24,.9)),url(../img/hands-circle.webp) center 45%/cover}
  .promise-sec{background:linear-gradient(rgba(0,29,24,.8),rgba(0,29,24,.9)),url(../img/redwoods.webp) center 30%/cover}
