
@font-face{font-family:'Newsreader';src:url(/fonts/font-15-173f53b0dc.woff2) format('woff2');font-weight:200 500;font-style:normal;font-display:swap}
@font-face{font-family:'Hanken';src:url(/fonts/font-16-155723debc.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden}
img{max-width:100%;display:block}

:root{
  --umber:#241610;--bronze:#8A4625;--ember:#C97A33;--shell:#F7F2EC;--sand:#EDE5DA;
  --dawn:#8FB4D4;--blush:#DFA994;
  --line:rgba(36,22,16,.16);
  --display:'Newsreader',Georgia,'Times New Roman',serif;
  --body:'Hanken',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(22px,5vw,60px);
  --gap:clamp(28px,3vw,44px);
}

body{background:var(--shell);color:var(--umber);font-family:var(--body);font-weight:400;
  font-size:16.5px;line-height:1.8;-webkit-font-smoothing:antialiased}

a{color:var(--bronze)}
a:focus-visible,button:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--pad)}
section{padding-block:clamp(78px,11vw,150px)}

h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h1{font-weight:200;font-size:clamp(2.9rem,8.5vw,6rem);line-height:1;letter-spacing:-.022em}
h2{font-weight:200;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.14;letter-spacing:-.012em}
h3{font-weight:400;font-size:1.06rem;line-height:1.4}
p{margin:0 0 1rem;max-width:54ch}
p:last-child{margin-bottom:0}

/* eyebrow */
.eb{font-family:var(--body);font-weight:600;font-size:.66rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bronze);margin:0 0 18px}
.eb.pale{color:rgba(255,255,255,.72)}
.lede{font-family:var(--display);font-weight:300;font-size:clamp(1.1rem,2vw,1.4rem);
  line-height:1.6;color:rgba(36,22,16,.8)}

.mark{width:var(--s,40px);height:var(--s,40px);border-radius:50%;flex:none;
  background:repeating-conic-gradient(currentColor 0deg 1.4deg, transparent 1.4deg 5deg);
  -webkit-mask:radial-gradient(circle, transparent 0 57%, #000 58%);
  mask:radial-gradient(circle, transparent 0 57%, #000 58%)}

.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);
  font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  padding:17px 32px;border-radius:0;text-decoration:none;
  border:1px solid var(--bronze);background:var(--bronze);color:#fff;
  transition:background .25s ease,border-color .25s ease,color .25s ease}
.btn:hover{background:var(--ember);border-color:var(--ember)}
.btn.out{background:transparent;color:var(--bronze)}
.btn.out:hover{background:var(--bronze);color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.78)}
.btn.ghost:hover{background:#fff;color:var(--umber);border-color:#fff}

.grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* header */
.top{position:sticky;top:0;z-index:80;background:rgba(247,242,236,.92);
  backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid rgba(36,22,16,.08)}
.top-in{display:flex;align-items:center;gap:24px;min-height:76px;padding-block:12px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto;color:var(--bronze)}
.brand .mark{--s:26px}
.brand b{font-family:var(--display);font-weight:400;font-size:1rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--umber);line-height:1}
.nav{display:flex;gap:32px}
.nav a{font-size:.68rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;
  color:var(--umber);text-decoration:none;opacity:.6;transition:opacity .2s}
.nav a:hover{opacity:1;color:var(--bronze)}
@media (max-width:68rem){.nav{display:none}}
.top .btn{padding:12px 22px}

/* ---------- hero (the one full-bleed moment at the top) ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;
  padding-block:0;background:#1b1310}
.hero-img{position:absolute;inset:0;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:58% 52%;
  animation:kb 30s ease-out forwards}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(20,11,7,.28) 0%,rgba(20,11,7,0) 30%,rgba(20,11,7,.24) 58%,rgba(20,11,7,.72) 100%)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(78deg,rgba(14,8,5,.74) 0%,rgba(14,8,5,.52) 26%,rgba(14,8,5,.16) 48%,rgba(14,8,5,0) 64%)}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,9vw,116px)}
.hero h1{color:#fff;max-width:12ch}
.hero .lede{color:rgba(255,255,255,.9);margin:24px 0 0;max-width:28ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.scrollcue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:3;
  width:1px;height:44px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.7));
  animation:cue 2.8s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.2;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,7px)}}

/* ---------- quiet statement after the hero ---------- */
.statement{text-align:center}
.statement .mark{--s:34px;color:var(--ember);margin:0 auto 30px}
.statement p{font-family:var(--display);font-weight:200;
  font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.4;letter-spacing:-.01em;
  max-width:19ch;margin:0 auto;color:var(--umber)}
.statement cite{display:block;margin-top:26px;font-style:normal;font-family:var(--body);
  font-weight:600;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(36,22,16,.62)}

/* ---------- asymmetric section head: title left, content right ---------- */
.aside-head{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media (min-width:62rem){.aside-head{grid-template-columns:minmax(0,340px) 1fr;gap:clamp(40px,6vw,90px)}}
.aside-head .head-col h2{max-width:14ch}
.aside-head .head-col p{margin-top:18px;font-size:.93rem;color:rgba(36,22,16,.66);max-width:34ch}

/* ---------- contained card grid ---------- */
.cards{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media (min-width:46rem){.cards.three{grid-template-columns:repeat(3,1fr)}}
@media (min-width:46rem){.cards.two{grid-template-columns:repeat(2,1fr)}}
.card img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:22px}
.card.wide img{aspect-ratio:3/4}
.card .eb{margin-bottom:10px}
.card h3{margin-bottom:8px}
.card p{font-size:.9rem;color:rgba(36,22,16,.68);max-width:32ch;margin:0}
.cards.three .card,.cards.two .card{display:flex;flex-direction:column}

/* ---------- the single full-bleed verse ---------- */
.verse-sec{position:relative;min-height:min(84svh,780px);display:flex;align-items:center;
  overflow:hidden;padding-block:0;background:#1b1310}
.verse-sec img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.verse-sec::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(95deg,rgba(18,10,7,.8) 0%,rgba(18,10,7,.5) 42%,rgba(18,10,7,.06) 75%)}
.verse-sec .wrap{position:relative;z-index:2;width:100%}
.verse{max-width:min(29rem,100%)}
.verse p{font-family:var(--display);font-weight:200;color:#fff;margin:0;
  font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.34;letter-spacing:-.012em;max-width:none}
.verse cite{display:block;margin-top:26px;font-style:normal;font-family:var(--body);font-weight:600;
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78)}
@media (max-width:40rem){.verse-sec{min-height:66svh}}

/* ---------- rows (sessions / training) ---------- */
.rows{border-top:1px solid rgba(36,22,16,.26)}
.row{display:grid;grid-template-columns:1fr auto;gap:2px 30px;align-items:baseline;
  padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  transition:padding-left .35s cubic-bezier(.2,.7,.2,1)}
@media (min-width:56rem){a.row:hover{padding-left:18px}}
.row h3{grid-column:1;transition:color .25s ease}
a.row:hover h3{color:var(--bronze)}
.row .sub{grid-column:1;margin:0;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(36,22,16,.62);max-width:48ch}
.row .val{grid-column:2;grid-row:1;text-align:right;white-space:nowrap;
  font-family:var(--display);font-weight:200;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--bronze);
  font-variant-numeric:tabular-nums;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.row .hint{grid-column:2;grid-row:2;text-align:right;white-space:nowrap;margin:0;
  font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);
  opacity:.5;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
a.row:hover .hint{opacity:1;transform:translateX(-6px)}
@media (min-width:56rem){a.row:hover .val{transform:translateX(-6px)}}
/* training rows have no price/hint pair — keep the year centred */
.rows.plain .val{grid-row:1/span 2;align-self:center}
.row .school{grid-column:1;margin:4px 0 0;font-size:.86rem;color:rgba(36,22,16,.62);max-width:46ch}
.foot-note{margin-top:26px;font-size:.84rem;color:rgba(36,22,16,.62)}

/* ---------- split ---------- */
.split{display:grid;gap:clamp(32px,5vw,80px);grid-template-columns:1fr;align-items:center}
@media (min-width:58rem){.split{grid-template-columns:1fr 1fr}.split.flip>*:first-child{order:2}}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ---------- meditations, quiet on sand ---------- */
.band-sand{background:var(--sand)}
.meds{display:grid;gap:30px 40px;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));margin-top:var(--gap)}
.med{border-top:1px solid rgba(36,22,16,.22);padding-top:18px}
.med h3{font-size:.98rem;margin-bottom:6px}
.med p{font-size:.86rem;margin:0;color:rgba(36,22,16,.62);max-width:24ch}

/* ---------- testimonial, quiet ---------- */
.quote{text-align:center}
.quote blockquote{margin:0 auto;font-family:var(--display);font-weight:200;
  font-size:clamp(1.4rem,3.2vw,2.3rem);line-height:1.4;max-width:20ch;color:var(--umber)}
.quote cite{display:block;margin-top:28px;font-style:normal;font-family:var(--body);font-weight:600;
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(36,22,16,.62)}
.quote .ask{margin-top:44px;padding-top:32px;border-top:1px solid var(--line);
  max-width:36ch;margin-inline:auto}
.quote .ask p{font-size:.9rem;color:rgba(36,22,16,.66);margin-bottom:20px}

address{font-style:normal;line-height:2.05}
address strong{font-weight:600}

footer{background:var(--umber);color:rgba(247,242,236,.62);padding-block:66px;font-size:.86rem}
.foot{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-start}
.foot .social{display:flex;gap:24px;margin-right:auto;flex-wrap:wrap}
.foot a{color:var(--shell);text-decoration:none;opacity:.78}
.foot a:hover{opacity:1;color:var(--dawn)}
.legal{width:100%;margin-top:12px;padding-top:24px;border-top:1px solid rgba(247,242,236,.12);
  font-size:.78rem;color:rgba(247,242,236,.46);line-height:1.85}

/* sticky booking bar — mobile only, appears once the hero is passed */
.mobook{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom));
  background:rgba(247,242,236,.95);backdrop-filter:saturate(150%) blur(14px);
  border-top:1px solid var(--line);
  transform:translateY(115%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.mobook.show{transform:none}
.mobook .btn{width:100%;padding:16px 20px}
@media (max-width:56rem){.mobook{display:block}body{padding-bottom:0}}

.js .rise{opacity:0;transform:translateY(24px);
  transition:opacity 1.05s cubic-bezier(.2,.6,.2,1),transform 1.05s cubic-bezier(.2,.6,.2,1)}
.js .rise.in{opacity:1;transform:none}
.js .wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s cubic-bezier(.16,.8,.24,1)}
.js .wipe.in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rise,.js .wipe{opacity:1;transform:none;clip-path:none;transition:none}
  .hero-img img,.scrollcue{animation:none}
}
.visit-grid{display:grid;gap:clamp(30px,4vw,56px);grid-template-columns:1fr}
@media (min-width:46rem){.visit-grid{grid-template-columns:1fr auto;align-items:start}}
#visit address{font-style:normal;line-height:1.9;padding-left:clamp(20px,2.4vw,32px);border-left:1px solid rgba(58,42,32,.18)}
@media (max-width:46rem){#visit address{padding-left:0;border-left:0;border-top:1px solid rgba(58,42,32,.18);padding-top:24px}}
#visit address .eb{display:block;margin-bottom:10px}
#visit .vlinks{display:block;margin-top:18px}
#visit .vlinks a{display:block}
.tlink{display:inline-block;color:var(--ember);text-decoration:none;letter-spacing:.02em;
  border-bottom:1px solid rgba(166,90,45,.42);padding-bottom:3px;transition:border-color .3s,color .3s}
.tlink:hover{color:var(--ink);border-bottom-color:var(--ink)}
.tlink::after{content:" \2192";opacity:.7}
/* ---------- google reviews slot ---------- */
.revslot{margin-top:clamp(46px,5vw,68px);padding-top:clamp(34px,4vw,46px);
  border-top:1px solid var(--line);text-align:left}
.revslot .slot-note{max-width:44ch;margin:0 auto;text-align:center;font-size:.82rem;line-height:1.7;
  color:rgba(36,22,16,.62);border:1px dashed rgba(36,22,16,.2);padding:26px 24px}
.revslot .rev{margin:0;padding:clamp(22px,2.4vw,30px);background:rgba(255,255,255,.5);
  border:1px solid rgba(58,42,32,.1)}
.revslot .rev blockquote{margin:0;font-family:var(--display);font-weight:200;
  font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.6;max-width:none;color:var(--umber)}
.revslot .rev figcaption{margin-top:14px;font-family:var(--body);font-weight:600;font-size:.64rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(36,22,16,.62)}

/* ---------- keep faces in frame on wide, short screens ---------- */
@media (min-aspect-ratio:16/10){
  .hero-img img{object-position:58% 46%}
}
@media (min-aspect-ratio:2/1){
  .hero-img img{object-position:58% 42%}
}
/* ---------- brand lockup ---------- */
.brand{gap:0}
.brand img{width:auto}
.brand .logo-full{display:block;height:clamp(36px,4.8vw,64px)}
.brand .logo-mark{display:none;height:44px}
@media (max-width:22rem){
  .brand .logo-full{display:none}
  .brand .logo-mark{display:block}
}
.foot-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.foot-brand img{height:42px;width:auto;opacity:.92}
.foot-brand em{font-style:normal}
/* ---------- review cards ---------- */
.sample-wrap{margin-top:clamp(46px,5vw,68px);padding-top:clamp(34px,4vw,46px);border-top:1px solid var(--line)}
.sample-flag{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(36,22,16,.4);
  margin:0 auto 26px;text-align:center;max-width:none}
.revgrid{display:grid;gap:clamp(16px,1.8vw,22px);grid-template-columns:1fr;text-align:left}
@media (min-width:46rem){.revgrid{grid-template-columns:repeat(3,1fr)}}
.rev{margin:0;padding:clamp(22px,2.4vw,28px);background:rgba(255,255,255,.55);
  border:1px solid rgba(58,42,32,.1);display:flex;flex-direction:column}
.rev .stars{color:var(--ember);letter-spacing:.16em;font-size:.82rem;margin-bottom:14px}
.rev blockquote{margin:0;font-family:var(--display);font-weight:200;font-size:1rem;line-height:1.6;
  max-width:none;color:var(--umber);flex:1}
.rev figcaption{margin-top:18px;display:flex;flex-direction:column;gap:3px}
.rev .rname{font-family:var(--body);font-weight:600;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(36,22,16,.62)}
.rev .rvia{font-size:.7rem;color:rgba(36,22,16,.62)}
#google-reviews:empty{display:none}
/* ---------- menu for phones and tablets ---------- */
.menu-btn{display:none;width:44px;height:44px;margin-left:12px;padding:0;background:none;border:0;
  cursor:pointer;align-items:center;justify-content:center}
@media (max-width:68rem){.menu-btn{display:inline-flex}}
.menu-btn span{position:relative;display:block;width:22px;height:1.5px;background:var(--umber);
  transition:background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;
  background:var(--umber);transition:transform .3s}
.menu-btn span::before{top:-7px}
.menu-btn span::after{top:7px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;flex-direction:column;background:var(--shell);
  border-top:1px solid var(--line);padding:4px var(--pad) 20px}
.mobile-nav a{padding:17px 2px;font-family:var(--body);font-weight:500;font-size:.76rem;
  letter-spacing:.17em;text-transform:uppercase;color:var(--umber);text-decoration:none;
  border-bottom:1px solid rgba(36,22,16,.09)}
.mobile-nav a:last-child{border-bottom:0}
@media (max-width:68rem){.mobile-nav:not([hidden]){display:flex}}

/* ---------- comfortable tap targets ---------- */
.tlink{padding-top:8px;padding-bottom:11px}
#visit .vlinks a{padding-block:7px}
.social a{display:inline-block;padding-block:10px}

/* ---------- sunrise band above Visit ---------- */
.sunrise-band{position:relative;width:100%;overflow:hidden;background:#0f1418;
  height:clamp(210px,32vw,400px)}
.sunrise-band img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;display:block}

#visit{padding-top:clamp(56px,7vw,96px)}

/* ---------- interior pages ---------- */
.page-head{padding-block:clamp(64px,9vw,120px) clamp(30px,4vw,52px)}
.page-head h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:15ch;margin-top:16px}
.page-head .lede{margin-top:26px;max-width:52ch;font-size:1.04rem;color:rgba(36,22,16,.66)}
.threads{display:grid;gap:clamp(26px,3vw,38px);grid-template-columns:1fr}
@media (min-width:52rem){.threads{grid-template-columns:repeat(3,1fr)}}
.thread{border-top:1px solid rgba(36,22,16,.22);padding-top:18px}
.thread h3{font-size:1rem;margin-bottom:8px}
.thread p{font-size:.9rem;color:rgba(36,22,16,.66);margin:0}
.detail-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.detail-col p{max-width:58ch}
.opening{font-family:var(--display);font-weight:200;font-size:clamp(1.15rem,2vw,1.5rem);
  line-height:1.4;color:var(--umber);max-width:34ch}
.incl{border-left:2px solid var(--bronze);padding:4px 0 4px 22px}
.incl ul{margin:12px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:9px}
.incl li{font-size:.94rem;color:rgba(36,22,16,.72)}
.incl p{margin:0}
.pull{margin:14px 0;padding:26px 0;border-block:1px solid var(--line);text-align:center}
.pull blockquote{margin:0;font-family:var(--display);font-weight:200;
  font-size:clamp(1.3rem,2.6vw,1.85rem);line-height:1.3;color:var(--umber)}
.pull figcaption{margin-top:14px;font-family:var(--body);font-weight:600;font-size:.64rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(36,22,16,.62)}
.detail-col .rows{margin-top:14px}
.onward{text-align:center}
.onward h2{max-width:16ch;margin-inline:auto;margin-top:14px}
.onward p{max-width:46ch;margin-inline:auto}
/* ---------- journal ---------- */
.posts-sec{padding-top:clamp(20px,3vw,40px)}
.posts{display:grid;gap:clamp(30px,3.4vw,48px);grid-template-columns:1fr}
@media (min-width:44rem){.posts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:70rem){.posts{grid-template-columns:repeat(3,1fr)}}
.post{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:16px}
.post img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
  transition:opacity .4s ease}
.post:hover img{opacity:.86}
.post-body{display:flex;flex-direction:column;gap:9px}
.post-meta{margin:0;font-family:var(--body);font-weight:500;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(36,22,16,.62)}
.post h2{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.28;transition:color .25s ease}
.post:hover h2{color:var(--bronze)}
.post-ex{margin:0;font-size:.89rem;line-height:1.62;color:rgba(36,22,16,.62);max-width:42ch}

/* ---------- meditation library ---------- */
.med-group{margin-top:clamp(34px,4vw,52px)}
.med-group > .eb{margin-bottom:14px;color:var(--bronze)}
.med-list{border-top:1px solid rgba(36,22,16,.22)}
.med-row{display:grid;grid-template-columns:1fr auto auto;gap:4px 26px;align-items:baseline;
  padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  transition:padding-left .35s cubic-bezier(.2,.7,.2,1)}
@media (min-width:56rem){a.med-row:hover{padding-left:16px}}
.med-row h3{font-size:1rem;transition:color .25s ease}
a.med-row:hover h3{color:var(--bronze)}
.med-row .len{font-family:var(--body);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(36,22,16,.62);white-space:nowrap}
.med-row .play{font-family:var(--body);font-weight:600;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--bronze);white-space:nowrap}
@media (max-width:40rem){
  .med-row{grid-template-columns:1fr auto}
  .med-row .play{grid-column:2}
}
/* meditation tiles on the home page link through */
a.med{text-decoration:none;color:inherit;transition:border-color .3s ease}
a.med h3{transition:color .25s ease}
a.med:hover{border-top-color:var(--bronze)}
a.med:hover h3{color:var(--bronze)}
a.med::after{content:" \2192";font-family:var(--body);font-size:.8rem;color:var(--bronze);
  opacity:0;transition:opacity .3s ease}
a.med:hover::after{opacity:1}
/* ---------- faq ---------- */
.faq-sec{padding-top:clamp(10px,2vw,30px)}
.faq-group{margin-bottom:clamp(40px,5vw,64px)}
.faq-group > .eb{color:var(--bronze);margin-bottom:14px}
.faq{border-top:1px solid rgba(36,22,16,.22)}
.faq-group .faq:last-child{border-bottom:1px solid rgba(36,22,16,.22)}
.faq summary{cursor:pointer;list-style:none;position:relative;padding:20px 44px 20px 2px;
  font-family:var(--display);font-weight:300;font-size:clamp(1.05rem,1.8vw,1.3rem);
  line-height:1.35;color:var(--umber);transition:color .25s ease}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--body);font-weight:300;font-size:1.3rem;color:var(--bronze);
  transition:transform .3s ease}
.faq[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq summary:hover{color:var(--bronze)}
.faq-a{padding:2px 2px 26px;max-width:62ch;display:flex;flex-direction:column;gap:14px}
.faq-a p{margin:0;font-size:.95rem;line-height:1.75;color:rgba(36,22,16,.72)}
.faq-a a{color:var(--bronze)}