

:root{

  --bg:#F4F1EB;
  --surface:#FBF9F5;
  --surface-high:#E9E4DA;
  --stroke:#E2DCD0;
  --stroke-soft:#EBE6DC;

  --t1:#1C1A18;
  --t2:#4A4744;
  --t3:#6E6B67;

  --accent:#8AA88F;
  --accent-deep:#6D8A73;
  --accent-soft:rgba(138,168,143,.14);
  --accent-border:rgba(138,168,143,.42);

  --dawn:#F7E6D2;
  --dawn-soft:#FFF6EC;

  --hu-deep:#C0523F;  --hu-pale:#E9A48C;  --hu-tone:#D57B65;  --hu-ground:#EDC1B0;
  --lu-deep:#55688A;  --lu-pale:#AAB8CE;  --lu-tone:#8090AC;  --lu-ground:#C6CED9;
  --hp-deep:#E0A03A;  --hp-pale:#F6D094;  --hp-tone:#EBB867;  --hp-ground:#F5DDB5;
  --lp-deep:#3E8C82;  --lp-pale:#9BCBC4;  --lp-tone:#6DABA3;  --lp-ground:#BDD9D3;

  --act-discharge:#C0523F;
  --act-ground:#55688A;
  --act-activate:#E0A03A;
  --act-downshift:#7B6CB0;
  --act-sustain:#5C9070;

  --serif:'New York',ui-serif,Georgia,'Iowan Old Style','Times New Roman',serif;
  --sans:'Avenir Next','Avenir',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',sans-serif;

  --radius:22px;
  --radius-sm:14px;
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg);color:var(--t1);scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
.container{max-width:480px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.container{max-width:640px;padding:0 32px}}
@media(min-width:1024px){.container{max-width:720px}}
a{color:var(--accent-deep);text-decoration:none}
a:hover{text-decoration:underline}
section{position:relative}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes breathe{0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.06);opacity:.9}}
@keyframes ripple{0%{transform:scale(.6);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

.reveal.stagger{opacity:1;transform:none;transition:none}
.stagger > *{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.stagger.visible > *{opacity:1;transform:none}
.stagger.visible > *:nth-child(2){transition-delay:.07s}
.stagger.visible > *:nth-child(3){transition-delay:.14s}
.stagger.visible > *:nth-child(4){transition-delay:.21s}
.stagger.visible > *:nth-child(5){transition-delay:.28s}
.stagger.visible > *:nth-child(6){transition-delay:.35s}
.stagger.visible > *:nth-child(n+7){transition-delay:.42s}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}

  .stagger > *{opacity:1;transform:none;transition-delay:0s!important}
}

header{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(244,241,235,.82);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--stroke)}
.logo,.logo-home{display:flex;align-items:center;gap:4px;text-decoration:none;color:inherit}
.logo-home:hover{text-decoration:none}

.logo-mark{width:26px;height:26px;flex:0 0 26px;display:block;margin-right:-4px}

.logo-text{font-family:var(--serif);font-size:23px;font-weight:400;font-style:italic;letter-spacing:0;color:var(--t1);line-height:1}
.logo-text i{font-style:italic;color:var(--accent-deep)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-cta{font-size:13px;font-weight:600;color:#fff;background:var(--accent-deep);padding:9px 18px;border-radius:20px;border:none;cursor:pointer;transition:opacity .2s;text-decoration:none;white-space:nowrap}
.nav-cta:hover{opacity:.88;text-decoration:none;color:#fff}
@media(max-width:420px){.nav-cta{padding:8px 14px;font-size:12px}.logo-text{font-size:20px}}

.nav-burger{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.nav-burger span{display:block;width:20px;height:2px;background:var(--t2);border-radius:1px;transition:transform .3s,opacity .3s}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{position:fixed;top:55px;left:0;right:0;z-index:99;background:rgba(251,249,245,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--stroke);display:flex;flex-direction:column;padding:12px 24px;gap:0;transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}
.mobile-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-nav a{color:var(--t2);font-size:15px;padding:11px 0;border-bottom:1px solid var(--stroke-soft);text-decoration:none}
.mobile-nav a:last-child{border-bottom:none}
.mobile-nav a:hover{color:var(--accent-deep)}

.section-label{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent-deep);margin-bottom:18px;font-family:var(--sans)}
h2.head{font-family:var(--serif);font-size:clamp(26px,6vw,38px);font-weight:400;line-height:1.2;color:var(--t1);margin-bottom:22px;text-wrap:balance;letter-spacing:-.2px}
h2.head em{font-style:italic;color:var(--accent-deep)}

h2.head.two > b,h2.head.settle > b{display:block;font-weight:400}
h2.head.two > em,h2.head.settle > em{display:block}

h2.head.settle.reveal{opacity:1;transform:none;transition:none}
h2.head.settle > b,h2.head.settle > em{opacity:0}
h2.head.settle.visible > b{animation:lineIn .55s ease both}
h2.head.settle.visible > em{animation:lineIn .6s ease calc(.34s + var(--words,5) * .17s) both}
@keyframes lineIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  h2.head.settle > b,h2.head.settle > em{opacity:1;animation:none!important}
}
h3.sub{font-family:var(--serif);font-size:clamp(20px,4.6vw,26px);font-weight:400;line-height:1.3;margin-bottom:14px}
.lead{font-size:17px;color:var(--t2);line-height:1.8;margin-bottom:26px}
.lead strong{color:var(--t1);font-weight:600}
.bordered{border-top:1px solid var(--stroke)}
.pad{padding:80px 0}
.pad-lg{padding:100px 0}
@media(max-width:600px){.pad{padding:64px 0}.pad-lg{padding:72px 0}}

.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px}
.card + .card{margin-top:14px}
.card-title{font-family:var(--sans);font-size:17px;font-weight:600;color:var(--t1);margin-bottom:6px}
.card-body{font-size:15px;color:var(--t2);line-height:1.7}

.badge-link{display:inline-block;transition:opacity .2s,transform .15s;line-height:0}
.badge-link:hover{opacity:.85}
.badge-link:active{transform:scale(.97)}
.dl-btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;background:var(--accent-deep);border-radius:16px;color:#fff;font-family:var(--sans);font-size:16px;font-weight:600;text-decoration:none;transition:opacity .2s,transform .15s}
.dl-btn:hover{opacity:.9;text-decoration:none;color:#fff}
.dl-btn:active{transform:scale(.98)}

.cta-note{font-size:14px;color:var(--t3);margin-top:16px;letter-spacing:.2px}
.cta-note strong{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent-deep);font-size:1.22em;letter-spacing:.2px}

.hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:96px 24px 56px;overflow:hidden;background:linear-gradient(180deg,#F7F4EF 0%,#F4F1EB 45%,#F1EDE5 100%)}
.hero::after{content:"";position:absolute;left:50%;top:34%;width:min(520px,110vw);height:min(520px,110vw);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(138,168,143,.18),rgba(138,168,143,0) 62%);pointer-events:none;z-index:0}
.hero-copy{text-align:center;max-width:640px;position:relative;z-index:2}
.hero-outcome{font-size:clamp(14px,3.4vw,17px);font-weight:500;color:var(--accent-deep);margin-bottom:14px;letter-spacing:.4px;animation:fadeUp .7s ease .05s both}
.hero h1{font-family:var(--serif);font-size:clamp(34px,8.4vw,54px);font-weight:400;line-height:1.08;letter-spacing:-.6px;color:var(--t1);margin-bottom:20px;animation:fadeUp .7s ease .15s both;text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--accent-deep)}
.hero-sub{font-size:clamp(18px,4.2vw,22px);color:var(--t1);line-height:1.55;margin-bottom:16px;animation:fadeUp .7s ease .3s both;text-wrap:pretty}

.hero-sub strong{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent-deep);font-size:1.1em;letter-spacing:.2px}
.hero-bridge{font-size:15px;color:var(--t3);line-height:1.75;margin-bottom:30px;animation:fadeUp .7s ease .45s both}
.hero-cta{animation:fadeUp .7s ease .6s both}
.hero-scroll{margin-top:26px;color:var(--t3);font-size:19px;animation:drift 2.4s ease-in-out infinite,fadeUp .6s ease 1.1s both}

.phone-wrap{position:relative;z-index:2;margin:34px auto 0;width:clamp(230px,62vw,272px)}

@keyframes splash{
  from{opacity:0;transform:translateY(30px) scale(.86)}
  to{opacity:1;transform:none}
}
.hero .phone-wrap{animation:splash .8s cubic-bezier(.2,1.55,.4,1) .72s both}

.phone-wrap.reveal{transform:none;transition:none}
.phone-wrap.reveal.visible{animation:splash .8s cubic-bezier(.2,1.55,.4,1) .06s both}
/* The aspect ratio belongs on the screen, not the frame. Putting it on the
   frame and then subtracting 7px of bezel from all four sides left the screen
   at 0.4437 against footage at 0.4600, which letterboxed every clip by about
   7px top and bottom. The screen now carries the iPhone's own recording
   ratio and the frame takes its height from that. */
.phone-frame{position:relative;width:100%;background:#EFEAE1;border-radius:44px;padding:7px;border:1px solid rgba(28,26,24,.14);box-shadow:0 30px 70px rgba(60,52,40,.16),0 8px 24px rgba(60,52,40,.10)}
.phone-screen{position:relative;width:100%;aspect-ratio:1206/2622;background:var(--bg);border-radius:38px;overflow:hidden;isolation:isolate}

.phone-video{display:block;width:100%;height:100%;object-fit:cover;background:var(--bg)}

.phone-screen.xfade .phone-video{position:absolute;inset:0;opacity:0;
  transition:opacity .5s ease}
.phone-screen.xfade .phone-video.on{opacity:1}
@media(prefers-reduced-motion:reduce){
  .phone-screen.xfade .phone-video{transition:none}
}

.phone-video:not([poster]){background:var(--surface)}

.jobs{display:grid;gap:14px}
@media(min-width:680px){.jobs{grid-template-columns:1fr 1fr}}
.job{position:relative;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px 22px 20px;overflow:hidden}
.job::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tint)}
.job h3{font-family:var(--serif);font-size:clamp(21px,4.8vw,25px);font-weight:400;line-height:1.2;color:var(--t1);margin-bottom:9px}
.job p{font-size:14.5px;color:var(--t2);line-height:1.7}
.job-to{display:flex;align-items:baseline;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--stroke-soft);font-size:13px;color:var(--t3)}
.job-to b{font-family:var(--serif);font-size:19px;font-weight:400;font-style:italic;color:var(--tint)}

.more{border:none;margin-top:20px}
.more > summary{padding:11px 0 11px;font-size:14px;font-weight:600;color:var(--accent-deep);border-top:1px solid var(--stroke);justify-content:flex-start;gap:8px}
.more > summary::after{content:'\25BE';font-size:15px;margin-left:2px}
.more[open] > summary{border-bottom:none}
.more .answer{padding-bottom:6px}

.lib-row{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid var(--stroke-soft)}
.lib-row:last-child{border-bottom:none}
.lib-txt{flex:1;min-width:0}
.lib-row .lib-gl{flex:0 0 30px;height:30px;margin-top:-1px}
.lib-row b{display:block;font-family:var(--serif);font-size:18px;font-weight:400;color:var(--t1);line-height:1.3}
.lib-row em{display:block;font-style:normal;font-size:14px;color:var(--t3);line-height:1.5;margin-top:2px}
.lib-row i{flex:0 0 auto;font-style:normal;font-size:14px;color:var(--t2);white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:2px}

.pains{display:grid;gap:14px;margin-top:8px}
@media(min-width:760px){.pains{grid-template-columns:repeat(3,1fr)}}
.pain{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px}

.pain-stars{display:flex;gap:3px;margin-bottom:11px}

.pain-stars svg{width:14px;height:14px;min-width:14px;flex:0 0 auto;display:block;
  fill:none;stroke:var(--t3);stroke-width:1.7}
.pain-stars svg.on{fill:var(--t2);stroke:var(--t2)}

.stars-head{margin-bottom:15px}
.stars-head svg{width:18px;height:18px;min-width:18px;stroke-width:1.6}
.pain q{display:block;font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--t3);font-style:italic;quotes:'"' '"'}
.pain p{margin-top:14px;padding-top:14px;border-top:1px solid var(--stroke-soft);font-size:15px;line-height:1.65;color:var(--t1)}

.deck{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:14px;margin-top:22px;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.deck::-webkit-scrollbar{display:none}
.deck > *{scroll-snap-align:start}

.trial{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.trial-top{display:flex;align-items:flex-start;gap:13px}

.trial .lib-gl{flex:0 0 30px;height:30px;align-self:flex-start;margin-top:1px}
.trial-name b{display:block;font-family:var(--serif);font-size:18px;font-weight:400;color:var(--t1);line-height:1.3}
.trial-name em{display:block;font-style:normal;font-size:14px;color:var(--t3);line-height:1.5;margin-top:2px}

.trial-stat{margin-top:16px;font-size:14px;color:var(--t3);line-height:1.45}
.trial-stat b{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--tint,var(--accent-deep));margin-right:7px;font-variant-numeric:tabular-nums}
.trial-found{margin-top:9px;font-size:15px;line-height:1.65;color:var(--t1)}
.trial-src{margin-top:auto;padding-top:14px;font-size:13px;color:var(--tint,var(--accent-deep))}

.deck-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.deck-dots button{width:7px;height:7px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:var(--t3);opacity:.28;transition:opacity .25s ease,background-color .25s ease}
.deck-dots button[aria-current="true"]{opacity:1;background:var(--dot,var(--accent-deep))}

.route{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:24px 22px}
.route-tap,.route-gets{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--t3);font-weight:600}
.route-word{font-family:var(--serif);font-style:italic;font-size:clamp(30px,7vw,38px);line-height:1.1;
  color:var(--tint,var(--accent-deep));margin-top:8px}

.route-gets{margin-top:22px;padding-top:18px;border-top:1px solid var(--stroke-soft)}
.route-list{margin-top:6px}
.route-list .lib-item{padding:9px 0}
@media(prefers-reduced-motion:reduce){.deck{scroll-behavior:auto}}

.arc{margin:28px 0 8px}
.arc-row{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.arc-from{flex:0 0 34%;padding:16px 14px;background:var(--surface-high);display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--stroke)}
.arc-from b{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--t1);line-height:1.2}
.arc-from span{font-size:11px;color:var(--t3);margin-top:3px}
.arc-steps{flex:1;padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.arc-step{font-size:12px;font-weight:600;color:var(--t1);background:var(--bg);border:1px solid var(--stroke);border-radius:20px;padding:5px 11px;white-space:nowrap}
.arc-step.lit{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-deep)}
.arc-arrow{color:var(--t3);font-size:11px}

.flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.flow-ch{padding:8px 14px;border-radius:22px;border:1px solid var(--stroke);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--t1);white-space:nowrap}
.flow-ch.you{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--surface)}
.flow-ch.end{background:var(--dawn);border-color:#EBD3B4;color:#7A5B36}
.flow-ar{color:var(--t3);font-size:12px}
.arc-never{font-size:12px;color:var(--t3);padding:0 14px 12px;margin-top:-4px}

.strip{position:relative;padding-left:30px;margin-top:4px}
.strip::before{content:"";position:absolute;left:6px;top:9px;bottom:10px;width:1px;background:linear-gradient(180deg,var(--stroke),var(--stroke) 88%,transparent)}
.strip-row{position:relative;padding-bottom:30px}
.strip-row:last-child{padding-bottom:0}
.strip-row::before{content:"";position:absolute;left:-28px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--tint,var(--accent));box-shadow:0 0 0 4px var(--bg)}
.strip-when{font-size:13px;font-weight:600;letter-spacing:.2px;color:var(--tint,var(--accent-deep));margin-bottom:5px}
.strip-row h4{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--t1);margin-bottom:5px;line-height:1.25}
.strip-row p{font-size:14.5px;color:var(--t2);line-height:1.7}

.lib-group{margin-bottom:26px}
.lib-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--stroke)}
.lib-head b{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--tint,var(--accent-deep));display:flex;align-items:center;gap:8px}
.lib-group{--tint:var(--accent-deep)}
.lib-head span{font-size:12px;color:var(--t3);text-align:right}

.lib-list{display:block}
.lib-item{display:flex;align-items:baseline;gap:8px;padding:7px 0}
.lib-nm{font-family:var(--serif);font-size:17px;line-height:1.3;color:var(--t1)}

.lib-gl{flex:0 0 24px;height:24px;align-self:center;background:var(--tint,var(--accent-deep));
  -webkit-mask:var(--g) center/contain no-repeat;mask:var(--g) center/contain no-repeat}
@supports not ((mask-image:url(x)) or (-webkit-mask-image:url(x))){.lib-gl{display:none}}
.lib-gl[data-gl="arm_stroke"]{--g:url(../assets/glyphs/arm_stroke.png)}
.lib-gl[data-gl="back_and_forth"]{--g:url(../assets/glyphs/back_and_forth.png)}
.lib-gl[data-gl="body_scan"]{--g:url(../assets/glyphs/body_scan.png)}
.lib-gl[data-gl="body_tapping"]{--g:url(../assets/glyphs/body_tapping.png)}
.lib-gl[data-gl="breath_belly"]{--g:url(../assets/glyphs/breath_belly.png)}
.lib-gl[data-gl="breath_even"]{--g:url(../assets/glyphs/breath_even.png)}
.lib-gl[data-gl="breath_settle"]{--g:url(../assets/glyphs/breath_settle.png)}
.lib-gl[data-gl="breath_sigh"]{--g:url(../assets/glyphs/breath_sigh.png)}
.lib-gl[data-gl="breath_steady"]{--g:url(../assets/glyphs/breath_steady.png)}
.lib-gl[data-gl="breath_wind_down"]{--g:url(../assets/glyphs/breath_wind_down.png)}
.lib-gl[data-gl="butterfly_hug"]{--g:url(../assets/glyphs/butterfly_hug.png)}
.lib-gl[data-gl="cold_shower"]{--g:url(../assets/glyphs/cold_shower.png)}
.lib-gl[data-gl="cool_reset"]{--g:url(../assets/glyphs/cool_reset.png)}
.lib-gl[data-gl="cross_tap"]{--g:url(../assets/glyphs/cross_tap.png)}
.lib-gl[data-gl="ear_rub"]{--g:url(../assets/glyphs/ear_rub.png)}
.lib-gl[data-gl="eye_reset"]{--g:url(../assets/glyphs/eye_reset.png)}
.lib-gl[data-gl="feet_to_floor"]{--g:url(../assets/glyphs/feet_to_floor.png)}
.lib-gl[data-gl="firm_hands"]{--g:url(../assets/glyphs/firm_hands.png)}
.lib-gl[data-gl="gentle_bounce"]{--g:url(../assets/glyphs/gentle_bounce.png)}
.lib-gl[data-gl="hum_voo"]{--g:url(../assets/glyphs/hum_voo.png)}
.lib-gl[data-gl="jaw_release"]{--g:url(../assets/glyphs/jaw_release.png)}
.lib-gl[data-gl="legs_up"]{--g:url(../assets/glyphs/legs_up.png)}
.lib-gl[data-gl="look_around"]{--g:url(../assets/glyphs/look_around.png)}
.lib-gl[data-gl="look_wide"]{--g:url(../assets/glyphs/look_wide.png)}
.lib-gl[data-gl="neck_release"]{--g:url(../assets/glyphs/neck_release.png)}
.lib-gl[data-gl="one_good_thing"]{--g:url(../assets/glyphs/one_good_thing.png)}
.lib-gl[data-gl="one_song"]{--g:url(../assets/glyphs/one_song.png)}
.lib-gl[data-gl="orient_to_pleasure"]{--g:url(../assets/glyphs/orient_to_pleasure.png)}
.lib-gl[data-gl="orienting_54321"]{--g:url(../assets/glyphs/orienting_54321.png)}
.lib-gl[data-gl="push_and_drop"]{--g:url(../assets/glyphs/push_and_drop.png)}
.lib-gl[data-gl="reclined_twist"]{--g:url(../assets/glyphs/reclined_twist.png)}
.lib-gl[data-gl="savour_it"]{--g:url(../assets/glyphs/savour_it.png)}
.lib-gl[data-gl="send_warmth"]{--g:url(../assets/glyphs/send_warmth.png)}
.lib-gl[data-gl="shake_out"]{--g:url(../assets/glyphs/shake_out.png)}
.lib-gl[data-gl="side_bend"]{--g:url(../assets/glyphs/side_bend.png)}
.lib-gl[data-gl="slow_release"]{--g:url(../assets/glyphs/slow_release.png)}
.lib-gl[data-gl="sway"]{--g:url(../assets/glyphs/sway.png)}
.lib-gl[data-gl="tense_and_let_go"]{--g:url(../assets/glyphs/tense_and_let_go.png)}
.lib-gl[data-gl="walk_outside"]{--g:url(../assets/glyphs/walk_outside.png)}
.lib-gl[data-gl="wall_press"]{--g:url(../assets/glyphs/wall_press.png)}
.lib-gl[data-gl="warm_shower"]{--g:url(../assets/glyphs/warm_shower.png)}
.lib-lead{flex:1;min-width:16px;border-bottom:1px dotted var(--stroke);transform:translateY(-4px)}
.lib-item i{flex:0 0 auto;font-style:normal;font-size:12px;color:var(--t3);white-space:nowrap;font-variant-numeric:tabular-nums}

.breath-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--stroke-soft)}
.breath-row:last-child{border-bottom:none}
.breath-bars{flex:0 0 62px;display:flex;align-items:flex-end;gap:3px;height:34px}
.breath-bars span{flex:1;background:var(--accent);border-radius:2px;opacity:.75}
.breath-meta{flex:1;min-width:0}
.breath-meta b{display:block;font-family:var(--serif);font-size:18px;font-weight:400;color:var(--t1);line-height:1.3}
.breath-meta span{display:block;font-size:13.5px;color:var(--t2);line-height:1.6;margin-top:2px}

.step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--stroke-soft)}
.step:last-child{border-bottom:none}
.step-n{flex:0 0 30px;height:30px;border-radius:50%;border:1px solid var(--accent-border);color:var(--accent-deep);display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:2px}
.step-body b{display:block;font-size:16px;font-weight:600;color:var(--t1);margin-bottom:3px}
.step-body p{font-size:14.5px;color:var(--t2);line-height:1.7}

.price-card{background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius);padding:28px;text-align:center}
.price-amount{font-family:var(--serif);font-size:clamp(38px,10vw,52px);line-height:1;color:var(--t1)}
.price-sub{font-size:15px;color:var(--t2);margin-top:10px}
.price-list{list-style:none;margin:22px 0 0;text-align:left;display:grid;gap:9px}
.price-list li{font-size:14.5px;color:var(--t2);padding-left:24px;position:relative}
.price-list li::before{content:"—";position:absolute;left:0;color:var(--accent-deep)}

.who-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.who-list span{font-size:13.5px;background:var(--surface);border:1px solid var(--stroke);border-radius:20px;padding:7px 13px;color:var(--t2)}

details{border-bottom:1px solid var(--stroke)}
summary{padding:19px 0;font-size:16.5px;font-weight:600;color:var(--t1);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:color .2s;line-height:1.45}
summary:hover{color:var(--accent-deep)}
summary:focus{outline:none}
summary:focus-visible{outline:1px dashed var(--t3);outline-offset:4px;border-radius:2px}
summary::-webkit-details-marker{display:none}
summary::after{content:'\25BE';font-size:20px;color:var(--t3);transition:transform .3s,color .2s;flex-shrink:0;line-height:1.2}
details[open] summary::after{transform:rotate(180deg);color:var(--accent-deep)}
.answer{padding:0 0 24px;font-size:15px;color:var(--t2);line-height:1.75}
.answer p + p{margin-top:12px}
.answer strong{color:var(--t1);font-weight:600}
.answer ul{margin:12px 0 0;padding:0;list-style:none}
.answer li{padding-left:20px;position:relative;margin-bottom:7px}
.answer li::before{content:"—";position:absolute;left:0;color:var(--accent)}
@media(max-width:480px){summary{font-size:15px}}

.mid-cta{padding:34px 0;border-top:1px solid var(--stroke);background:var(--surface);text-align:center}
.mid-cta p{font-size:14.5px;color:var(--t3);margin-bottom:14px}

.cta-band{text-align:center;padding:60px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);background:linear-gradient(180deg,var(--dawn-soft),var(--surface))}
.cta-band h2{font-family:var(--serif);font-size:clamp(24px,5.6vw,34px);font-weight:400;line-height:1.25;margin-bottom:10px;text-wrap:balance}
.cta-band h2 em{font-style:italic;color:var(--accent-deep)}
.cta-band p{font-size:15px;color:var(--t2);margin-bottom:24px}

footer{padding:60px 0 40px;border-top:1px solid var(--stroke);background:var(--surface)}
.footer-quote{font-family:var(--serif);font-size:clamp(18px,4.2vw,25px);font-style:italic;color:var(--t1);line-height:1.45;text-align:center;max-width:540px;margin:0 auto 34px;text-wrap:balance}
.footer-logo{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:22px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:26px}
.footer-links a{font-size:13.5px;color:var(--t2)}
.footer-links a:hover{color:var(--accent-deep)}
.footer-evs{text-align:center;margin-bottom:14px}
.footer-copy{text-align:center;font-size:12px;color:var(--t3)}
.footer-copy a{color:var(--t3)}
.footer-legal{text-align:center;font-size:12px;color:var(--t3);line-height:1.7;max-width:540px;margin:18px auto 0}

.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:98;display:flex;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:rgba(251,249,245,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--stroke);font-size:13px;color:var(--t2);transform:translateY(110%);transition:transform .35s ease}
.bottom-bar-in{width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:16px}
.bottom-bar.show{transform:translateY(0)}
.bottom-bar b{color:var(--accent-deep);font-weight:700}
body.has-bar{padding-bottom:72px}
