@font-face{font-family:'Lora';src:url('../fonts/heading-lora.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Sora';src:url('../fonts/body-sora.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
/* STILLPOINT — meditation & therapy studio · Japandi / light-academia MANIFESTO
   ARCHITECTURE: sticky TOC SCROLLSPY sidebar + long-form narrative, oversized pull-quotes,
   editorial session list (NO cards), calm fades. Warm oatmeal/clay neutrals, Newsreader serif. */
:root{
  --paper:#f2eee4; --paper2:#e8e2d4; --ink:#272320; --soft:#faf7f0; --mut:#766e62;
  --clay:#a4775b; --clay-d:#85603f; --sage:#7e8470; --sand:#cbb89a; --line:#ddd5c5;
  --serif:var(--catalog-font-heading); --sans:var(--catalog-font-body);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em}
.wrap{width:min(1180px,92%);margin-inline:auto}
.sec{padding:clamp(50px,7vw,96px) 0}
.over{text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;font-weight:600;color:var(--clay)}
.lead{color:var(--mut);font-size:clamp(1.05rem,1.3vw,1.22rem);max-width:62ch}
.center{text-align:center;margin-inline:auto}
.it{font-style:italic}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:22px clamp(20px,4vw,48px);transition:.4s}
.nav.scr{background:rgba(242,238,228,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:14px clamp(20px,4vw,48px)}
.brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.brand .o{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--clay)}
.menu{display:flex;gap:28px;align-items:center}
.menu a{font-size:.86rem;color:var(--ink);opacity:.78;transition:.2s}.menu a:hover{opacity:1;color:var(--clay)}
.book{border:1px solid var(--ink);border-radius:100px;padding:10px 22px;font-size:.82rem;transition:.25s}
.book:hover{background:var(--ink);color:var(--paper)}
.toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.toggle span{width:24px;height:1.5px;background:var(--ink);transition:.3s}
.toggle.x span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.toggle.x span:nth-child(2){opacity:0}.toggle.x span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob{position:fixed;inset:0;z-index:45;background:var(--paper);display:none;flex-direction:column;justify-content:center;align-items:center;gap:18px}
.mob.open{display:flex}.mob a{font-family:var(--serif);font-size:2rem}

/* Hero — quiet, centered, lots of air */
.hero{padding:190px 0 70px;text-align:center}
.hero .over{display:block;margin-bottom:24px}
.hero h1{font-size:clamp(3rem,8vw,6.4rem);font-weight:300;line-height:1.02}
.hero h1 .it{color:var(--clay)}
.hero p{max-width:46ch;margin:26px auto 0;color:var(--mut);font-size:1.2rem}
.hero-cta{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:.84rem;letter-spacing:.04em;padding:15px 30px;border-radius:100px;cursor:pointer;transition:.25s;border:1px solid transparent}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--clay-d)}
.btn-out{border-color:var(--ink);color:var(--ink)}.btn-out:hover{background:var(--ink);color:var(--paper)}
.hero-img{margin-top:64px;aspect-ratio:21/9;overflow:hidden;border-radius:6px}
.hero-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}

/* MANIFESTO layout: sticky TOC + narrative */
.manifesto{display:grid;grid-template-columns:230px 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.toc{position:sticky;top:120px}
.toc .lbl{text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;color:var(--mut);margin-bottom:16px}
.toc a{display:block;font-size:.92rem;color:var(--mut);padding:8px 0 8px 16px;border-left:2px solid var(--line);transition:.25s}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--clay);font-weight:500}
.body section{padding:30px 0;scroll-margin-top:120px}
.body section+section{border-top:1px solid var(--line)}
.body h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:400;margin-bottom:18px}
.body p{font-size:1.1rem;color:var(--ink);max-width:60ch;margin-bottom:16px}
.body p .mut{color:var(--mut)}
.pull{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;line-height:1.3;color:var(--clay);margin:26px 0;max-width:24ch}

/* editorial session list (no cards) */
.sess{border-top:1px solid var(--line);max-width:880px}
.srow{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}
.srow h3{font-family:var(--serif);font-size:1.5rem;font-weight:400}
.srow .d{color:var(--mut);font-size:.9rem}
.srow .m{color:var(--mut);font-size:.82rem}.srow .p{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--clay)}

/* full-bleed quiet quote */
.fq{background:var(--paper2);padding:clamp(60px,11vw,150px) 0;text-align:center}
.fq blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.25;max-width:22ch;margin:0 auto}
.fq cite{display:block;margin-top:24px;font-style:normal;font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--mut)}

/* roster (calm profiles) */
.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.rmem .pic{aspect-ratio:4/5;overflow:hidden;border-radius:6px;margin-bottom:16px;background:var(--paper2)}
.rmem .pic img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.rmem h3{font-family:var(--serif);font-size:1.4rem;font-weight:400}
.rmem .role{color:var(--clay);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin:5px 0}
.rmem .yexp{font-family:var(--serif);font-style:italic;color:var(--mut);font-size:.92rem;margin-bottom:10px}
.rmem .bio{color:var(--mut);font-size:.92rem;margin-bottom:12px}
.rmem .spec{display:flex;flex-wrap:wrap;gap:7px}.rmem .spec span{border:1px solid var(--line);padding:4px 11px;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);border-radius:100px}

/* quotes */
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.q{text-align:center}.q p{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.45;margin-bottom:18px}
.q b{font-weight:600;font-size:.92rem;font-family:var(--sans)}.q small{display:block;color:var(--mut)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.plan{border:1px solid var(--line);border-radius:8px;padding:38px 30px;text-align:center;background:var(--soft)}
.plan.hot{background:var(--ink);color:var(--paper)}
.plan h3{font-family:var(--serif);font-size:1.6rem;font-weight:400}.plan .amt{font-family:var(--serif);font-size:2.8rem;margin:12px 0}
.plan ul{list-style:none;text-align:left;display:grid;gap:11px;margin:18px 0 26px}.plan li{padding-left:20px;position:relative;font-size:.94rem}.plan li::before{content:"—";position:absolute;left:0;color:var(--clay)}

/* gift */
.gift-amts{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.gift-amt{border:1px solid var(--line);border-radius:6px;padding:16px 26px;cursor:pointer;font-family:var(--serif);font-size:1.4rem;transition:.2s;background:var(--soft)}
.gift-amt:hover{border-color:var(--clay)}.gift-amt.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* booking */
.bk{display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:start}
.step{margin-bottom:32px}.step .lab{font-family:var(--serif);font-size:1.4rem;margin-bottom:16px}.step .lab i{font-style:normal;color:var(--clay);font-size:.9rem;margin-right:8px}
.opts{display:flex;flex-wrap:wrap;gap:10px}.opt{border:1px solid var(--line);border-radius:100px;padding:11px 18px;cursor:pointer;transition:.2s;background:var(--soft);font-size:.9rem}
.opt:hover{border-color:var(--clay)}.opt.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.slot{border:1px solid var(--line);border-radius:6px;padding:12px;text-align:center;cursor:pointer;font-size:.88rem;background:var(--soft);transition:.2s}
.slot:hover{border-color:var(--clay)}.slot.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fld{margin-bottom:16px}.fld label{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--mut);margin-bottom:7px}
.fld input,.fld select,.fld textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:.95rem;background:var(--soft);color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--clay)}
.side{border:1px solid var(--line);border-radius:8px;padding:34px;position:sticky;top:110px;background:var(--soft)}
.brow{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:.92rem}.brow b{font-family:var(--serif);font-style:italic}
.agree{display:flex;gap:10px;font-size:.84rem;color:var(--mut);margin:16px 0}
.okbox{text-align:center;border:1px solid var(--clay);border-radius:8px;padding:56px 30px;margin-top:26px;background:var(--soft)}

/* flip gallery */
.fgal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.flip{perspective:1100px;aspect-ratio:3/4;cursor:pointer;outline:none}
.flip-in{position:relative;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.flip:hover .flip-in,.flip:focus-visible .flip-in,.flip.on .flip-in{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;overflow:hidden}
.flip-front img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.flip-hint{position:absolute;bottom:12px;right:12px;background:rgba(39,35,32,.6);color:var(--paper);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:100px}
.flip-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:var(--paper);background:var(--ink)}
.flip-k{text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--sand);margin-bottom:10px}
.flip-back h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin-bottom:8px}.flip-back p{font-size:.9rem;opacity:.82;line-height:1.55}

/* faq / page hero */
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 0;font-family:var(--serif);font-size:1.4rem;display:flex;justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--clay)}.faq[open] summary::after{content:"–"}
.faq p{padding-bottom:24px;color:var(--mut);max-width:68ch}
.phero{padding:180px 0 60px;text-align:center}
.phero h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:300}.phero p{color:var(--mut);max-width:54ch;margin:16px auto 0}

/* footer */
.foot{padding:80px 0 40px;border-top:1px solid var(--line);margin-top:40px}
.fgrid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:36px;margin-bottom:46px}
.foot .fb{font-family:var(--serif);font-size:1.7rem;margin-bottom:14px}
.foot h4{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--clay);margin-bottom:16px;font-family:var(--sans)}
.foot a{display:block;color:var(--mut);margin-bottom:9px;font-size:.9rem;transition:.2s}.foot a:hover{color:var(--ink)}
.fbot{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--mut)}

.rv{opacity:0;transform:translateY(20px);transition:.9s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

@media(max-width:920px){
  .manifesto{grid-template-columns:1fr}.toc{position:static;display:flex;gap:14px;overflow-x:auto;margin-bottom:20px}
  .toc .lbl{display:none}.toc a{border-left:0;border-bottom:2px solid var(--line);padding:6px 0;white-space:nowrap}.toc a.on{border-bottom-color:var(--clay)}
  .roster,.qs,.plans{grid-template-columns:1fr}.bk{grid-template-columns:1fr}.fgal{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.side{position:static}.srow{grid-template-columns:1fr auto}.srow .d{display:none}
}
@media(max-width:600px){
  .menu{position:fixed;inset:60px 3% auto;flex-direction:column;align-items:stretch;gap:8px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:16px;display:none}
  .menu.open{display:flex}.toggle{display:flex}.fgal,.fgrid{grid-template-columns:1fr}
}


/* ===== v3 accent + enhancement layer ===== */
:root{--clay:#b5663f;--clay-d:#8f4d2c;--sage:#b08a6a}
/* ===== v3 restyle: scale & outline (auto-appended) ===== */
a,button,.btn,input,select,textarea{transition:all .22s ease}
[class*="card"],[class*="tile"],[class*="block"],[class*="plan"],.rmem,.panel,.gcard,.bt,.rev{transition:transform .26s ease,box-shadow .26s ease,outline-color .26s ease}
[class*="card"]:hover,[class*="tile"]:hover,[class*="block"]:hover,[class*="plan"]:hover,.rmem:hover,.gcard:hover,.bt:hover,.rev:hover{transform:scale(1.025);box-shadow:0 16px 32px -20px color-mix(in srgb, currentColor 28%, transparent);outline:1.5px solid color-mix(in srgb, currentColor 18%, transparent);outline-offset:3px}
.card-img:hover img,.im:hover img,.pic:hover img,[class*="im"]:hover>img{transform:scale(1.07)}
img{transition:transform .5s ease}
.btn{transition:all .2s ease}.btn:hover{transform:translateY(-2px) scale(1.02)}

/* ── Side nav — right vertical ticks rail (added alongside top nav) ── */
.snav{position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:14px;align-items:flex-end;animation:snavIn .6s .2s both}
@keyframes snavIn{from{opacity:0;transform:translate(14px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
.snav a{display:flex;align-items:center;gap:12px;flex-direction:row-reverse;text-decoration:none}
.snav .tick{width:22px;height:2px;background:var(--line);transition:.3s cubic-bezier(.2,.7,.2,1);flex-shrink:0}
.snav .lb{font-family:var(--serif);font-size:.82rem;color:var(--mut);opacity:0;transform:translateX(8px);transition:.3s;white-space:nowrap}
.snav a:hover .tick,.snav a.on .tick{width:36px;background:var(--clay)}
.snav a:hover .lb,.snav a.on .lb{opacity:1;transform:translateX(0);color:var(--ink)}
@media(max-width:900px){.snav{display:none}}

/* ── Team — 3-col editorial portraits, bio reveals on hover ── */
.t12{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.tm12{transition:.4s}
.tm12 .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;filter:saturate(.92);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tm12:hover .pic img{transform:scale(1.03)}
.tm12 h3{font-family:var(--serif);font-size:1.5rem;margin:18px 0 2px}
.tm12 .role{color:var(--clay-d);font-weight:600;font-size:.86rem}
.tm12 .yexp{color:var(--sage);font-size:.78rem;font-style:italic;margin-top:3px}
.tm12 .bio{color:var(--mut);font-size:.9rem;max-height:0;opacity:0;overflow:hidden;transition:.5s cubic-bezier(.2,.7,.2,1)}
.tm12:hover .bio{max-height:170px;opacity:1;margin-top:12px}
.tm12 .spec{display:flex;flex-wrap:wrap;gap:7px;max-height:0;opacity:0;overflow:hidden;transition:.5s}
.tm12:hover .spec{max-height:60px;opacity:1;margin-top:12px}
.tm12 .spec span{font-size:.72rem;font-weight:600;color:var(--clay-d);border:1px solid var(--line);padding:4px 11px;border-radius:100px}
@media(max-width:760px){.t12{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.t12{grid-template-columns:1fr}}

/* ── Gallery — clay-wash centered fade caption ── */
.g12{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gc12{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;cursor:pointer;outline:none}
.gc12 img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gc12:hover img,.gc12:focus-visible img{transform:scale(1.05)}
.gc12 .cap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;background:rgba(132,96,63,.8);opacity:0;transition:opacity .4s}
.gc12:hover .cap,.gc12:focus-within .cap{opacity:1}
.gc12 .ek{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);margin-bottom:8px}
.gc12 .cap h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:8px;line-height:1.15}
.gc12 .cap p{font-size:.84rem;opacity:.95;line-height:1.5;max-width:30ch}
@media(max-width:760px){.g12{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.g12{grid-template-columns:1fr}}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Lora', Georgia, 'Times New Roman', serif;--catalog-font-body:'Sora', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--serif:var(--catalog-font-heading);--sans:var(--catalog-font-body)}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
