:root{
    --sage:#8A9B8E;
    --sage-mist:#E9EDE7;
    --cream:#F7F3EB;
    --eucalyptus:#3E5C50;
    --clay:#C98D6B;
    --ink:#2E3B34;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Karla',Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;font-size:16.5px}
  h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--eucalyptus);line-height:1.15}
  a{color:var(--eucalyptus)}
  a:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:3px;border-radius:2px}
  .wrap{max-width:1040px;margin:0 auto;padding:0 24px}

  header{position:sticky;top:0;z-index:40;background:rgba(247,243,235,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(62,92,80,.14)}
  .nav{display:flex;align-items:center;justify-content:space-between;max-width:1040px;margin:0 auto;padding:16px 24px}
  .wordmark{font-family:'Cormorant Garamond',serif;font-size:1.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--eucalyptus);text-decoration:none;font-weight:500}
  .wordmark small{display:block;font-family:'Karla',sans-serif;font-size:.58rem;letter-spacing:.34em;color:var(--sage);margin-top:2px}
  nav.links{display:flex;gap:22px}
  /*
  nav.links{gap:18px}
  nav.links a{font-size:.72rem;letter-spacing:.12em}
  */
  nav.links a{text-decoration:none;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
  nav.links a[aria-current="page"]{color:var(--clay)}
  nav.links a:hover{color:var(--clay)}

  /* hero */
  .hero{padding:96px 0 84px;text-align:center;background:
    radial-gradient(ellipse 70% 60% at 50% 0%, var(--sage-mist) 0%, var(--cream) 70%)}
  .lotus{width:120px;height:auto;margin:0 auto 30px;display:block}
  .lotus path{fill:none;stroke:var(--sage);stroke-width:1.6}
  .lotus .center{stroke:var(--clay)}
  @media (prefers-reduced-motion: no-preference){
    .lotus{animation:breathe 7s ease-in-out infinite}
    .lotus path{opacity:0;animation:petal 1.4s ease-out forwards}
    .lotus path:nth-child(1){animation-delay:.2s}
    .lotus path:nth-child(2){animation-delay:.45s}
    .lotus path:nth-child(3){animation-delay:.45s}
    .lotus path:nth-child(4){animation-delay:.7s}
    .lotus path:nth-child(5){animation-delay:.7s}
    @keyframes petal{to{opacity:1}}
    @keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
  }
  .hero h1{font-size:clamp(2.1rem,5vw,3.4rem);max-width:17ch;margin:0 auto}
  .hero h1 em{font-style:italic;color:var(--clay)}
  .hero p.lede{max-width:56ch;margin:24px auto 34px;color:#4A5A50;font-size:1.08rem}
  .btn{display:inline-block;padding:14px 30px;text-decoration:none;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
  .btn-solid{background:var(--eucalyptus);color:var(--cream)}
  .btn-solid:hover{background:#33493F}
  .btn-line{color:var(--eucalyptus);border:1px solid var(--sage);margin-left:10px}
  .btn-line:hover{border-color:var(--eucalyptus)}

  /* photos */
  .photo-band img{width:100%;display:block;height:min(52vw,420px);object-fit:cover}
  .photo{width:100%;display:block;border:1px solid rgba(62,92,80,.15)}
  .photo-cap{font-size:.82rem;color:#6B7A6E;margin-top:10px;font-style:italic}
  .about-grid{display:grid;grid-template-columns:1.05fr .9fr;gap:48px;align-items:center}
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  .gallery img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block;border:1px solid rgba(62,92,80,.15)}

  section{padding:84px 0}
  .kicker{display:block;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--clay);font-weight:700;margin-bottom:12px}
  h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:20px}
  .prose{max-width:64ch}
  .prose p + p{margin-top:16px}

  /* pillars */
  .pillars{background:var(--sage-mist)}
  .pillars .intro{max-width:60ch;margin-bottom:48px}
  .pillar-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(62,92,80,.18)}
  .pillar{background:var(--sage-mist);padding:30px 22px 34px}
  .pillar h3{font-size:1.35rem;margin-bottom:10px}
  .pillar p{font-size:.92rem;color:#4A5A50}
  .pillar::before{content:"";display:block;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--clay);margin-bottom:16px}

  /* offerings */
  .offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
  .offer{background:#fff;border:1px solid rgba(62,92,80,.12);padding:34px 28px}
  .offer .dur{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-weight:700}
  .offer h3{font-size:1.4rem;margin:8px 0 12px}
  .offer h3::after{content:"";display:block;width:38px;height:1.5px;background:var(--clay);margin-top:12px}
  .offer p{font-size:.95rem;color:#4A5A50;margin-top:12px}

  /* approach */
  .approach{background:var(--eucalyptus);color:var(--cream)}
  .approach h2{color:var(--cream)}
  .approach .kicker{color:var(--sage-mist)}
  .approach-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}
  .approach p{color:#DCE4DC}
  .approach p + p{margin-top:16px}
  .approach em{color:#EFC9AC;font-style:italic}
  .note{border:1px solid rgba(247,243,235,.35);padding:24px;font-size:.9rem;color:#CBD6CC}
  .note strong{color:var(--cream)}

  /* farm */
  .farm-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center}
  .farm-grid .photo{max-width:380px;margin:0 auto}

  /* contact */
  /* booking */
  .booking{background:var(--cream)}
  .booking .intro{max-width:60ch;margin-bottom:34px}
  .booking-frame{border:1px solid rgba(62,92,80,.18);background:#fff;box-shadow:0 2px 18px rgba(62,92,80,.08);overflow:hidden;height:780px}
  .booking-frame iframe{width:100%;height:100%;border:0;display:block}
  @media (max-width:840px){
    .booking-frame{height:900px}
  }

  .contact{background:var(--sage-mist);text-align:center}
  .contact p{max-width:52ch;margin:0 auto 28px;color:#4A5A50}

  footer{background:var(--eucalyptus);color:#BFCDC2;padding:32px 0;font-size:.82rem}
  footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
  footer .fm{font-family:'Cormorant Garamond',serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);font-size:.95rem}

  @media (max-width:840px){
    nav.links{display:none}
    .pillar-row{grid-template-columns:1fr 1fr}
    .offer-grid{grid-template-columns:1fr}
    .approach-grid,.farm-grid,.about-grid{grid-template-columns:1fr}
    .gallery{grid-template-columns:1fr;gap:16px}
    section{padding:64px 0}
  }
  @media (max-width:480px){
    .pillar-row{grid-template-columns:1fr}
    .btn-line{margin-left:0;margin-top:12px}
  }

/* ==========================================================================
   SHARED COMPONENTS — added Sept 2026 for the interior pages
   (coaching, groups, employers, access, journal)
   Everything above this line is the original homepage stylesheet.
   ========================================================================== */

/* --- interior page header --- */
.page-intro{padding:78px 0 62px;text-align:center;
  background:radial-gradient(ellipse 70% 60% at 50% 0%, var(--sage-mist) 0%, var(--cream) 70%)}
.page-intro h1{font-size:clamp(1.9rem,4.4vw,3rem);max-width:20ch;margin:0 auto}
.page-intro h1 em{font-style:italic;color:var(--clay)}
.page-lede{max-width:58ch;margin:22px auto 0;color:#4A5A50;font-size:1.06rem}

/* --- layout helpers --- */
.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.two-grid.lead-left{grid-template-columns:1.15fr 1fr}
.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.soft{background:var(--sage-mist)}

/* --- plain content card --- */
.card{background:#fff;border:1px solid rgba(62,92,80,.12);padding:30px 26px}
.card h3{font-size:1.28rem;margin-bottom:10px}
.card p{font-size:.94rem;color:#4A5A50}

/* --- numbered steps --- */
.step{display:grid;grid-template-columns:44px 1fr;gap:14px;
  padding:22px 0;border-top:1px solid rgba(62,92,80,.16)}
.step > span{color:var(--clay);font-size:.8rem;font-weight:700;letter-spacing:.1em;padding-top:4px}
.step h3{font-size:1.2rem;margin-bottom:6px}
.step p{font-size:.94rem;color:#4A5A50}

/* --- pricing --- */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;align-items:stretch}
.program{background:#fff;border:1px solid rgba(62,92,80,.14);border-top:3px solid rgba(62,92,80,.14);padding:32px 28px;display:flex;flex-direction:column;height:100%}
.program.featured{border-top-color:var(--clay)}
.program h3{font-size:1.4rem}
.terms{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);font-weight:700;margin-top:6px}
.price{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.4rem;color:var(--eucalyptus);margin:14px 0 4px;line-height:1}
.price small{font-size:1rem;font-family:'Karla',sans-serif;color:#6B7A6E}
.program .alt{font-size:.88rem;color:#6B7A6E;margin-bottom:16px}
.program ul{list-style:none;margin:0 0 22px;padding:0;flex:1}
.program li{font-size:.93rem;color:#4A5A50;padding:7px 0;border-bottom:1px solid rgba(62,92,80,.1)}
.program li:last-child{border-bottom:0}
.program .btn{align-self:flex-start}
.fine-print{font-size:.86rem;color:#6B7A6E;margin-top:22px;max-width:70ch}

/* --- at-a-glance table --- */
.spec{width:100%;border-collapse:collapse;margin-top:26px;background:#fff}
.spec th,.spec td{text-align:left;padding:13px 16px;border-bottom:1px solid rgba(62,92,80,.13);vertical-align:top}
.spec th{width:190px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--eucalyptus);font-weight:700}
.spec td{font-size:.95rem;color:#4A5A50}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}

/* --- boundaries / disclosure box (dark) --- */
.boundary{background:var(--eucalyptus);color:#DCE4DC;padding:34px}
.boundary h3{color:var(--cream);font-size:1.3rem;margin-bottom:14px}
.boundary ul{margin:0;padding-left:20px}
.boundary li{padding:5px 0;font-size:.95rem}
.boundary .urgent{margin-top:20px;padding-top:18px;border-top:1px solid rgba(247,243,235,.3);
  color:var(--cream);font-weight:700;font-size:.95rem}

/* --- notice strip --- */
.status-note{border:1px solid rgba(201,141,107,.5);background:#FBF3EC;color:#7A5636;
  padding:16px 20px;font-size:.92rem;margin-top:26px}

/* --- simple list --- */
.plain-list{padding-left:20px;color:#4A5A50}
.plain-list li{padding:5px 0}

/* --- pull quote (journal) --- */
.pull{max-width:64ch;margin:32px 0 0;padding-left:22px;border-left:2px solid var(--clay);
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.32rem;line-height:1.4;color:var(--eucalyptus)}
.post-meta{margin-top:24px;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--sage);font-weight:700}

/* --- homepage pathway row --- */
.pathway{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.pathway article{border:1px solid rgba(62,92,80,.14);background:var(--cream);padding:30px 26px;
  display:flex;flex-direction:column}
.pathway .label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);
  font-weight:700;margin-bottom:14px}
.pathway h3{font-size:1.3rem;margin-bottom:10px}
.pathway p{font-size:.94rem;color:#4A5A50;flex:1}
.pathway a{margin-top:20px;font-weight:700;text-decoration:none;font-size:.92rem}

.center{text-align:center}
.mt{margin-top:30px}

@media (max-width:840px){
  .two-grid,.two-grid.lead-left,.four-grid,.three-grid,.program-grid,.pathway{grid-template-columns:1fr}
  .page-intro{padding:60px 0 48px}
  .spec th{width:130px}
}
@media (max-width:480px){
  .program .btn{align-self:stretch}
}

/* --- what we believe: the guiding principle band --- */
.creed{background:var(--eucalyptus);color:#EDF1EC;text-align:center;padding:clamp(64px,8vw,92px) 0}
.creed .kicker{color:#C9D6CB}
.creed p{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.95rem);
  line-height:1.45;max-width:34ch;margin:0 auto}
.creed p + p{margin-top:26px}
.creed .lead{color:#FFF;font-size:clamp(1.55rem,3vw,2.3rem);max-width:30ch}
.creed em{font-style:italic;color:#EFC9AC}
@media (max-width:600px){.creed p{max-width:28ch}}
