/* Herbs with Jen — linen, field green, goldenrod */
:root{
  --bg:#f3eee4; --surface:#e7e1d1; --paper:#faf7f0;
  --ink:#20261b; --muted:#565c4b; --field:#2d3824; --field-ink:#eef0e4;
  --accent:#c4911f; --accent-ink:#1c2015; --sage:#b9c0a3;
  --display:"Gilda Display", Georgia, serif; --text:"Karla", system-ui, sans-serif;
  --step-small:clamp(.9375rem,.92rem + .1vw,1rem);
  --step-body:clamp(1rem,.97rem + .15vw,1.0625rem);
  --step-lead:clamp(1.0625rem,1rem + .35vw,1.25rem);
  --step-head:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);
  --step-title:clamp(3rem,1.6rem + 6.4vw,7.5rem);
  --m:clamp(16px,3vw,40px); --gap:clamp(64px,8vw,120px);
  --arch:12px; --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--step-body)/1.55 var(--text);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:0;line-height:1.12;margin:0}
h1{font-size:var(--step-head)} h2{font-size:var(--step-head)} h3{font-size:var(--step-lead);line-height:1.15;letter-spacing:-.01em}
p{margin:0 0 1em} p:last-child{margin-bottom:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--accent-ink)}
.skip{position:absolute;left:-9999px}.skip:focus{left:var(--m);top:8px;z-index:50;background:var(--paper);padding:8px 12px}
.wrap{padding-inline:var(--m)}
.lead{font-size:var(--step-lead);line-height:1.4;max-width:34ch}
.small{font-size:var(--step-small)}
.soft{color:var(--muted)}

/* buttons: one shape, pill */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 28px;border-radius:999px;border:0;background:var(--accent);color:var(--accent-ink);font:600 var(--step-small)/1 var(--text);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background-color .25s}
.btn:hover{background:#d6a12c;transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.dark{background:var(--field);color:var(--field-ink)}.btn.dark:hover{background:#3b4a30}
.btn.paper{background:var(--paper);color:var(--ink)}.btn.paper:hover{background:#fff}
.tlink{font-weight:600;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:2px;text-decoration-color:var(--accent);transition:color .2s}
.tlink:hover{color:#8a6410}

/* header */
.top{position:sticky;top:0;z-index:20;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--m);transition:transform .35s var(--ease)}
.mark{font-family:var(--display);font-size:1.4rem;font-weight:400;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}
.nav a:not(.btn){text-decoration:none;font-size:var(--step-small);font-weight:600;padding:6px 0;position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{min-height:44px;padding:0 20px}
.menu-btn{display:none;background:none;border:0;font:600 var(--step-small) var(--text);color:var(--ink);padding:10px 0;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:64px 0 auto 0;background:var(--bg);flex-direction:column;align-items:flex-start;padding:24px var(--m) 32px;gap:18px;transform:translateY(-130%);transition:transform .35s var(--ease);box-shadow:0 20px 40px rgba(20,25,15,.12)} /* taste-skill-ignore: mobile menu overlay */
  .nav.open{transform:none}
  .nav a:not(.btn){font-size:1.25rem}
}

/* fully booked banner */
.booked{background:var(--field);color:var(--field-ink);padding:18px var(--m);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;text-align:center}
.booked strong{font-family:var(--display);font-weight:400;font-size:1.15rem;letter-spacing:-.01em}
.booked a{color:var(--field-ink);font-weight:600;text-underline-offset:.25em;text-decoration-color:var(--accent);text-decoration-thickness:2px}

/* home hero */
.hero{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:center;padding:clamp(32px,5vw,80px) var(--m) 0;max-width:1320px;margin:0 auto}
.hero h1{font-size:clamp(2rem,1.5rem + 2vw,3.25rem);line-height:1.08;color:var(--field);max-width:16ch}
.hero .lead{margin-top:24px;max-width:36ch}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px}
.hero-img{aspect-ratio:4/5;overflow:hidden;border-radius:var(--arch);background:var(--surface)}
.hero-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-img{order:-1;max-width:460px;width:100%;margin:0 auto}}

/* sections */
.sec{padding-top:var(--gap)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px;margin-bottom:clamp(32px,4vw,56px)}
.sec-head .lead{max-width:44ch}

/* home intro */
.intro{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:center;padding:var(--gap) var(--m) 0;max-width:1320px;margin:0 auto}
.intro-img{aspect-ratio:9/10;overflow:hidden;border-radius:16px;background:var(--surface)}
.intro-img img{width:100%;height:100%;object-fit:cover}
.intro h2{margin-bottom:24px}
.intro p{max-width:56ch}
.verse{font-family:var(--display);font-size:var(--step-lead);line-height:1.4;color:var(--field);margin:28px 0 !important;max-width:40ch}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

/* showcase: one frame, three distances */
/* home offer cards */
.offer{padding:var(--gap) var(--m) 0;max-width:1320px;margin:0 auto}
.offer h2{margin-bottom:clamp(32px,4vw,56px)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.card{display:flex;flex-direction:column;text-decoration:none}
.card-img{aspect-ratio:1/1;overflow:hidden;border-radius:16px;background:var(--surface);margin-bottom:20px}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-img img{transform:scale(1.03)}
.card h3{margin-bottom:8px}
.card p{color:var(--muted);flex:1;margin-bottom:16px}
.card .tlink{align-self:flex-start}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:minmax(0,1fr)}}

/* simple call to action */
.cta{background:var(--field);color:var(--field-ink);text-align:center;margin-top:var(--gap);padding:clamp(56px,7vw,96px) var(--m)}
.cta h2{color:var(--field-ink)}
.cta p{max-width:46ch;margin:20px auto 32px}

/* footer */
.foot{background:var(--bg);padding:clamp(56px,7vw,96px) var(--m) 32px;max-width:1320px;margin:0 auto}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot-mark{font-family:var(--display);font-size:1.6rem;letter-spacing:-.02em;margin-bottom:12px}
.foot-msg{color:var(--muted);max-width:36ch}
.foot-h{font-weight:600;margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot ul a{text-decoration:none;color:var(--muted)}.foot ul a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.2em}
.disclaim{margin-top:48px;font-size:var(--step-small);color:var(--muted);max-width:80ch}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:32px;padding-top:24px;font-size:var(--step-small);color:var(--muted)}
.legal{display:flex;flex-wrap:wrap;gap:8px 20px}
.legal a{color:var(--muted)}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1 / -1}}

/* inner pages */
.page-hero{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,64px);align-items:end;padding:clamp(40px,6vw,96px) var(--m) 0}
.page-hero h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.08}
.page-hero .lead{margin-top:28px}
.page-hero .ph{aspect-ratio:4/5;overflow:hidden;border-radius:var(--arch)}
.page-hero .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.page-hero{grid-template-columns:1fr}.page-hero .ph{max-width:420px}}

/* shop rows */
.shop-group{padding:var(--gap) var(--m) 0}
.shop-group > h2{margin-bottom:12px}
.prod{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,72px);align-items:center;margin-top:clamp(40px,5vw,72px)}
.prod-img{background:var(--surface);aspect-ratio:1/1;overflow:hidden;border-radius:16px;max-width:480px}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.prod h3{font-size:clamp(1.375rem,1.15rem + .8vw,1.875rem);line-height:1.05;letter-spacing:-.02em}
.prod .meta{display:flex;gap:16px;align-items:baseline;margin:16px 0}
.prod .price{font-family:var(--display);font-size:1.5rem;font-variant-numeric:tabular-nums}
.prod .was{text-decoration:line-through;color:var(--muted)}
.prod p{max-width:52ch}
.prod .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.book-band{background:var(--field);color:var(--field-ink);margin-top:var(--gap);padding:var(--gap) var(--m)}
.book-band .prod{margin-top:0}
.book-band h2,.book-band h3{color:var(--field-ink)}
.book-band .prod-img{background:#3a462f}
@media (max-width:860px){.prod,.prod:nth-of-type(even){grid-template-columns:1fr}.prod:nth-of-type(even) .prod-img{order:0}}

/* services */
.svc-list{padding:clamp(48px,6vw,96px) var(--m) 0;display:grid;gap:clamp(56px,7vw,112px)}
.svc{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,72px);align-items:center}
.svc-img{aspect-ratio:4/5;overflow:hidden;border-radius:var(--arch);background:var(--surface)}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem)}
.svc .tag{font-size:var(--step-lead);line-height:1.35;margin:20px 0;max-width:36ch}
.svc dl{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 28px}
.svc dt{font-size:var(--step-small);color:var(--muted)}.svc dd{margin:2px 0 0;font-weight:600;font-size:1.0625rem}
.state{padding:48px var(--m);color:var(--muted)}
@media (max-width:860px){.svc,.svc:nth-child(even){grid-template-columns:1fr}.svc:nth-child(even) .svc-img{order:0}.svc-img{max-width:440px;aspect-ratio:4/4.4}}

/* service detail */
.detail{display:grid;grid-template-columns:6fr 6fr;gap:clamp(32px,5vw,88px);padding:clamp(32px,5vw,72px) var(--m) 0;align-items:start}
.detail .svc-img{position:sticky;top:96px;aspect-ratio:4/5}
.detail h1{font-size:clamp(1.875rem,1.4rem + 1.6vw,2.75rem)}
.detail .desc{margin-top:28px;max-width:62ch}
.detail .desc p{margin-bottom:1em}
.policy{background:var(--surface);padding:24px;margin-top:32px;font-size:1rem}
.policy h3{font-family:var(--text);font-weight:600;font-size:1.0625rem;letter-spacing:0;margin-bottom:8px}
.policy p{white-space:pre-line}
.panel{background:var(--paper);padding:28px;margin-top:32px}
.panel h2{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem);margin-bottom:12px}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}
.day,.slot,.wk{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:999px;border:0;background:var(--surface);color:var(--ink);font:600 var(--step-small) var(--text);cursor:pointer;transition:background-color .2s,transform .2s}
.day:hover,.slot:hover,.wk:hover{background:#dcd4bf}
.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--field);color:var(--field-ink)}
.slot[disabled]{opacity:.4;cursor:not-allowed}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px;min-height:44px}
.weekrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.fld{display:grid;gap:6px;margin-bottom:16px}
.fld label{font-weight:600;font-size:var(--step-small)}
.fld input,.fld textarea,.fld select{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #cfc7b2;border-radius:6px;padding:12px 14px;min-height:48px;width:100%}
.fld textarea{min-height:140px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:transparent}
.fld [aria-invalid="true"]{border-color:#9b2c1f}
.err{color:#8f2a1c;font-size:var(--step-small);margin:0}
.ok{background:var(--field);color:var(--field-ink);padding:24px}
@media (max-width:860px){.detail{grid-template-columns:1fr}.detail .svc-img{position:relative;top:0;aspect-ratio:3/2;border-radius:0 0 0 0}}

/* forms pages */
.form-page{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,96px);padding:clamp(40px,6vw,96px) var(--m) clamp(64px,8vw,128px);align-items:start}
.form-page h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.08}
.form-page .lead{margin-top:24px}
.form-card{background:var(--paper);padding:clamp(24px,4vw,48px)}
.form-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.side-photo{margin-top:40px;aspect-ratio:4/5;max-width:380px;overflow:hidden;border-radius:var(--arch)}
.side-photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.form-page{grid-template-columns:1fr}.form-card .row2{grid-template-columns:1fr}.side-photo{display:none}}

/* about page */
.story{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,96px);padding:var(--gap) var(--m) 0;align-items:start}
.story .txt{max-width:62ch}
.story .txt p{margin-bottom:1.2em}
.story h2{position:sticky;top:96px}
.creds{background:var(--surface);margin-top:var(--gap);padding:clamp(56px,7vw,112px) var(--m)}
.creds ul{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:28px 56px}
.creds li{font-size:var(--step-lead);line-height:1.3;font-family:var(--display);font-weight:350}
.creds li span{display:block;font-family:var(--text);font-size:var(--step-small);color:var(--muted);margin-top:6px}
@media (max-width:860px){.story{grid-template-columns:1fr}.story h2{position:static}.creds ul{grid-template-columns:1fr}}

/* legal */
.legal-page{padding:clamp(40px,6vw,96px) var(--m) 0;display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,96px)}
.legal-page h1{font-size:clamp(1.875rem,1.4rem + 1.6vw,2.75rem);position:sticky;top:96px}
.legal-page .txt{max-width:70ch}
.legal-page h2{font-family:var(--text);font-size:1.25rem;font-weight:600;letter-spacing:0;line-height:1.3;margin:2em 0 .6em}
@media (max-width:860px){.legal-page{grid-template-columns:minmax(0,1fr)}.legal-page h1{position:static}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

h1,h2,h3{text-wrap:balance}
.legal-page{overflow-wrap:anywhere}
[hidden]{display:none !important}
.page-hero,.shop-group,.svc-list,.story,.form-page,.legal-page,.detail{max-width:1320px;margin-inline:auto}
.book-band .prod,.creds>*{max-width:1320px;margin-inline:auto}
/* about page */
.about-pg{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start;padding:clamp(40px,6vw,88px) var(--m) 0;max-width:1200px;margin:0 auto}
.about-photo{border-radius:var(--arch);overflow:hidden;background:var(--surface);position:sticky;top:96px}
.about-photo img{width:100%;height:auto}
.about-txt h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.08;margin-bottom:24px}
.about-txt p{max-width:64ch}
.about-txt .btn{margin-top:8px}
@media (max-width:860px){.about-pg{grid-template-columns:1fr}.about-photo{position:static;max-width:460px}}
.card-img img[src*="healing-garden-cover"]{object-fit:contain;padding:18px}
.prod-img.cover{aspect-ratio:33/40;max-width:400px;background:none}
.book-band .prod-img.cover{background:none}
.page-hero.solo{grid-template-columns:1fr;padding-bottom:0}
.svc-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.svc{display:block;background:var(--paper);border-radius:var(--arch);padding:clamp(24px,3vw,40px)}
.svc .tag{margin:16px 0}
.detail{grid-template-columns:1fr;max-width:820px}
@media (max-width:860px){.svc-list{grid-template-columns:1fr}}
.page-hero:not(.solo){grid-template-columns:minmax(0,1fr) minmax(0,420px);justify-content:center;align-items:center;gap:clamp(32px,6vw,96px);max-width:1040px}
.page-hero:not(.solo) .ph{width:100%}
@media (max-width:860px){.page-hero:not(.solo){grid-template-columns:1fr}.page-hero:not(.solo) .ph{max-width:420px}}
.svc-list{max-width:1040px}
.page-hero.solo{text-align:center;justify-items:center}.page-hero.solo .lead{margin-inline:auto;max-width:52ch}
.book-band .soft{color:#c9cfb6}.book-band>h2{max-width:1320px;margin-inline:auto}
.fld label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:12px;font-weight:500;line-height:1.4;cursor:pointer}
.fld input[type=checkbox]{width:22px;height:22px;min-height:0;padding:0;margin:1px 0 0;flex:none;accent-color:var(--field,#2d3824);border-radius:4px}