:root {
  --paper:#eae6de; --ink:#251b1e; --dark:#290c18; --wine:#37101c;
  --white:#f5f0e9; --accent:#e7d5c7; --muted:#726765;
  --pad:clamp(24px,4.5vw,88px); --sans:Manrope,Arial,sans-serif;
  --serif:'Cormorant Garamond',Georgia,serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scrollbar-gutter:stable; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
body.menu-open,body.dialog-open { overflow:hidden; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:400; line-height:1.03; letter-spacing:-.055em; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
img { display:block; width:100%; height:auto; }
button,a,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
::selection { background:#d7b9a9; color:var(--wine); }
section[id] { scroll-margin-top:82px; }
[hidden] { display:none!important; }
.skip-link { position:fixed; top:-90px; left:20px; background:var(--paper); color:var(--ink); z-index:100; padding:12px 20px; }
.skip-link:focus { top:12px; }
.eyebrow,.section-tag { font-size:13px; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; }
.header { position:fixed; inset:0 0 auto; z-index:30; display:flex; align-items:center; justify-content:space-between; padding:20px var(--pad); height:96px; color:var(--ink); transition:background-color .3s,color .3s,transform .35s; }
.header.story-hidden { transform:translateY(-105%); pointer-events:none; }
.header.content-nav { height:82px; background:rgba(234,230,222,.96); border-bottom:1px solid #251b1e1c; backdrop-filter:blur(14px); }
.brand { font-size:44px; font-weight:600; letter-spacing:-.085em; line-height:1; padding:6px 0; }
.brand>span { font-size:10px; letter-spacing:0; display:inline-block; vertical-align:top; margin:4px 0 0 6px; }
.desktop-nav { display:flex; gap:34px; font-size:16px; }
.desktop-nav a { min-height:48px; display:flex; align-items:center; position:relative; }
.desktop-nav a:after { content:''; position:absolute; left:0; right:0; bottom:5px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.desktop-nav a:hover:after { transform:scaleX(1); }
.header-actions { display:flex; gap:20px; align-items:center; }
.book-link { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:34px; border-bottom:1px solid currentColor; font-size:17px; }
.book-link>span { font-size:28px; line-height:1; }
.menu-toggle { display:none; width:48px; height:48px; padding:10px; }
.menu-toggle i { display:block; width:28px; height:1px; background:currentColor; margin:7px 0; transition:transform .25s; }
.mobile-menu { position:fixed; inset:0; background:var(--paper); z-index:25; padding:130px var(--pad) 44px; opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; }
.mobile-menu nav { display:flex; flex-direction:column; gap:8px; font-size:44px; line-height:1.35; letter-spacing:-.05em; }
.mobile-menu nav a { padding:12px 0; border-bottom:1px solid #251b1e22; }
.mobile-menu p { font-size:18px; margin-top:42px; }
.menu-open .mobile-menu { opacity:1; visibility:visible; }
.menu-open .header { transform:none; background:var(--paper); color:var(--ink); pointer-events:auto; }
.menu-open .menu-toggle i:first-child { transform:translateY(4px) rotate(45deg); }
.menu-open .menu-toggle i:last-child { transform:translateY(-4px) rotate(-45deg); }

.experience { height:440svh; position:relative; scroll-margin-top:0; }
.experience-sticky { position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; isolation:isolate; }
.scene-background { position:absolute; inset:0; background:var(--paper); z-index:-1; }
.experience canvas { position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; opacity:0; }
.experience.ready canvas { opacity:1; }
.experience-sticky:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#190c14b8 0%,transparent 24%); z-index:4; pointer-events:none; opacity:var(--veil,1); }
.scene-scrim { --scene-tone:234,230,222; position:absolute; inset:0; z-index:4; pointer-events:none; background:linear-gradient(90deg,rgba(var(--scene-tone),1) 0%,rgba(var(--scene-tone),.94) 26%,rgba(var(--scene-tone),0) 62%); }
.scene-scrim-night { --scene-tone:41,12,24; opacity:0; will-change:opacity; }
.portrait-fallback { position:absolute; left:54%; bottom:0; width:48%; height:87%; overflow:hidden; z-index:3; pointer-events:none; }
.portrait-fallback img { height:100%; object-fit:contain; object-position:50% 100%; }
.ready .portrait-fallback { visibility:hidden; }
.story-anchor { position:absolute; left:0; width:1px; height:1px; pointer-events:none; }
#shape-scene { top:110svh; } #skin-scene { top:320svh; }
.chapter { position:absolute; inset:0; z-index:5; pointer-events:none; }
.chapter a { pointer-events:auto; }
.hero-title { position:absolute; top:21%; left:var(--pad); max-width:45%; }
.hero-title h1 { font-size:clamp(58px,6.1vw,104px); margin-top:24px; line-height:1.02; }
.hero-title>.eyebrow { font-size:13px; }
.hero-note { position:absolute; left:var(--pad); bottom:19%; width:350px; }
.small-index { display:none; }
.hero-note>p { font-size:24px; line-height:1.4; letter-spacing:-.035em; margin-bottom:24px; }
.hero-coordinate { position:absolute; right:var(--pad); bottom:19%; font-size:12px; writing-mode:vertical-rl; letter-spacing:.12em; color:var(--white); }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; min-height:52px; font-size:17px; border-bottom:1px solid currentColor; padding:8px 0; line-height:1.4; }
.text-link>span { font-size:28px; line-height:1; transition:transform .25s; }
.text-link:hover>span { transform:translate(3px,-3px); }
.chapter-shape,.chapter-skin { opacity:0; color:var(--white); }
.chapter-shape>.eyebrow,.chapter-skin>.eyebrow { position:absolute; left:var(--pad); top:17%; }
.chapter-shape h2,.chapter-skin h2 { position:absolute; left:var(--pad); top:26%; font-size:clamp(74px,8.1vw,132px); line-height:.91; letter-spacing:-.065em; }
.chapter h2>span { font-weight:400; }
.chapter-note { position:absolute; left:var(--pad); bottom:17%; width:36%; font-size:21px; line-height:1.6; }
.chapter-note .text-link { margin-top:22px; }
.experience-footer { position:absolute; bottom:24px; left:var(--pad); right:var(--pad); z-index:8; display:flex; justify-content:space-between; align-items:center; color:var(--ink); font-size:14px; }
.scroll-prompt { display:flex; align-items:center; gap:16px; min-height:48px; }
.scroll-mark { font-size:28px; }
.scene-status { position:absolute; left:50%; transform:translateX(-50%); font-size:12px; letter-spacing:.06em; }
.motion-toggle { display:flex; align-items:center; gap:10px; font-size:14px; min-height:48px; padding:0 18px; border:1px solid #f5f0e94d; border-radius:28px; background:#290c18ed; color:var(--white); }
.motion-icon { font-size:15px; }
.scroll-meter { position:absolute; right:0; top:0; width:2px; height:100%; z-index:9; background:#17151511; }
.scroll-meter span { display:block; background:currentColor; height:100%; transform:scaleY(0); transform-origin:top; }

.light-section { background:var(--paper); color:var(--ink); }
.dark-section { background:var(--dark); color:var(--white); }
.section-tag { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #251b1e38; padding-top:20px; margin-bottom:64px; }
.dark-section .section-tag { border-color:#f5f0e93d; }
.manifesto { padding:100px var(--pad) 110px; }
.manifesto h2 { max-width:1160px; font-size:clamp(52px,5.8vw,92px); line-height:1.12; text-wrap:balance; }
.manifesto h2>span { color:#81716c; font-family:var(--serif); font-style:italic; font-size:1.13em; letter-spacing:-.045em; }
.manifesto-bottom { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:35px; margin-top:72px; }
.manifesto-signature { font-family:var(--serif); font-style:italic; font-size:36px; letter-spacing:-.02em; color:var(--wine); }
.manifesto-bottom p { font-size:20px; line-height:1.7; }
.round-link { height:64px; width:64px; border:1px solid #251b1e60; border-radius:50%; display:grid; place-items:center; font-size:34px; transition:background .25s,color .25s; }
.round-link:hover { background:var(--wine); color:var(--paper); }
.treatments { padding:90px var(--pad) 110px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:50px; }
.section-heading h2 { font-size:clamp(54px,5.2vw,84px); line-height:1.08; }
.section-heading h2>span { color:#bda9aa; }
.section-heading>p { font-size:20px; max-width:350px; line-height:1.65; }
.treatment-tabs { display:flex; margin-bottom:36px; border-bottom:1px solid #f5f0e940; }
.treatment-tabs button { width:33.333%; min-height:82px; padding:18px 22px 18px 0; display:flex; gap:18px; align-items:center; text-align:left; font-size:36px; letter-spacing:-.045em; color:#bca7aa; position:relative; transition:color .25s; }
.treatment-tabs button>span:first-child { font-size:13px; letter-spacing:0; }
.treatment-tabs button[aria-selected=true],.treatment-tabs button:hover { color:var(--white); }
.treatment-tabs button:after { content:''; height:2px; position:absolute; bottom:-1px; left:0; right:0; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.treatment-tabs button[aria-selected=true]:after { transform:scaleX(1); }
.tab-arrow { font-size:28px; margin-left:auto; }
.treatment-stage { display:grid; grid-template-columns:1.12fr 1fr; gap:8%; align-items:center; }
.treatment-visual { position:relative; aspect-ratio:1.05; overflow:hidden; background:#48202c; }
.treatment-photo { position:absolute; inset:0; overflow:hidden; visibility:hidden; opacity:0; }
.treatment-photo.active { opacity:1; visibility:visible; animation:photo-enter .45s ease both; }
@keyframes photo-enter { from { opacity:.5; transform:scale(1.015); } to { opacity:1; transform:none; } }
.treatment-photo img { width:100%; height:100%; object-fit:cover; }
.treatment-photo[data-photo='0'] img { object-position:center 39%; }
.treatment-photo[data-photo='2'] img { object-position:67% center; }
.photo-word { position:absolute; bottom:18px; left:24px; font-family:var(--serif); font-style:italic; font-size:clamp(80px,7.5vw,120px); line-height:1; letter-spacing:-.06em; color:var(--white); text-shadow:0 1px 20px #290c1826; }
.visual-caption { display:none; }
.treatment-copy { padding:12px 0; display:grid; }
.treatment-copy [role=tabpanel] { grid-area:1/1; min-height:365px; display:flex; flex-direction:column; align-items:flex-start; }
.treatment-copy [role=tabpanel][hidden] { display:flex!important; visibility:hidden; pointer-events:none; }
.treatment-copy .all-prices { grid-area:2/1; justify-self:start; }
.treatment-copy h3 { font-size:clamp(46px,4vw,66px); line-height:1.1; margin:22px 0 26px; text-wrap:balance; }
.treatment-description { font-size:21px; line-height:1.65; color:#ded0d1; max-width:470px; flex:1; }
.treatment-price { display:block; font-size:17px; margin:26px 0; }
.filled-link { display:inline-flex; align-items:center; justify-content:space-between; gap:44px; min-height:56px; min-width:220px; background:var(--accent); color:var(--wine); font-size:17px; padding:14px 24px; border:1px solid var(--accent); transition:background .25s; }
.filled-link>span { font-size:28px; line-height:1; transition:transform .25s; }
.filled-link:hover { background:var(--white); }
.filled-link:hover>span { transform:translate(3px,-3px); }
.all-prices { display:inline-flex; align-items:center; min-height:48px; margin-top:16px; font-size:16px; color:#ded0d1; text-decoration:underline; text-underline-offset:6px; }

.founder { padding:100px var(--pad) 110px; }
.founder-head { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:58px; }
.founder-head h2 { font-size:clamp(58px,6.1vw,98px); line-height:1.05; }
.founder-head h2>span { font-family:var(--serif); font-style:italic; font-size:1.12em; color:var(--muted); letter-spacing:-.04em; }
.founder-location { font-size:13px; line-height:1.8; letter-spacing:.04em; }
.founder-layout { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
.founder-image { position:relative; overflow:hidden; aspect-ratio:4/5; }
.founder-image img { height:100%; object-fit:cover; }
.founder-name { position:absolute; left:26px; bottom:22px; font-family:var(--serif); font-style:italic; font-size:76px; color:var(--white); line-height:1; letter-spacing:-.05em; }
.founder-copy .large-copy { font-size:clamp(44px,4.1vw,68px); line-height:1.12; letter-spacing:-.05em; margin:26px 0 32px; }
.large-copy>span { font-family:var(--serif); font-style:italic; color:var(--muted); font-size:1.15em; }
.founder-copy>p:not(.eyebrow):not(.large-copy) { font-size:20px; line-height:1.75; margin-bottom:24px; max-width:470px; }
.founder-copy .text-link { margin-top:10px; }
.results { padding:16px var(--pad) 110px; }
.results-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; align-items:center; }
.results-heading h2 { font-size:clamp(60px,6vw,96px); line-height:1.05; }
.results-heading h2>span { font-family:var(--serif); font-style:italic; font-size:1.13em; letter-spacing:-.04em; color:var(--muted); }
.results-heading p { max-width:390px; font-size:18px; line-height:1.7; margin:30px 0 24px; color:#625754; }
.result-image { display:block; width:100%; padding:0; position:relative; overflow:hidden; cursor:zoom-in; }
.result-image img { width:100%; height:auto; }
.result-labels { position:absolute; top:20px; left:20px; right:20px; display:flex; justify-content:space-between; color:white; font-size:13px; letter-spacing:.06em; }
.expand-result { position:absolute; bottom:18px; right:18px; background:var(--paper); height:52px; width:52px; display:grid; place-items:center; font-size:28px; }
.result-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-top:20px; font-size:15px; }
.result-caption>p { text-transform:uppercase; letter-spacing:.04em; }
.result-caption>span { color:var(--muted); }
.visit { padding:0 var(--pad) 110px; }
.visit-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:10%; }
.visit h2 { font-size:clamp(60px,6.5vw,104px); }
.faqs details { border-bottom:1px solid #251b1e38; }
.faqs details:first-child { border-top:1px solid #251b1e38; }
.faqs summary { list-style:none; cursor:pointer; font-size:24px; letter-spacing:-.03em; display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:88px; padding:24px 0; }
.faqs summary::-webkit-details-marker { display:none; }
.faqs summary span { font-size:28px; transition:transform .25s; }
.faqs details[open] summary span { transform:rotate(45deg); }
.faqs details p { font-size:19px; line-height:1.7; max-width:530px; padding-bottom:28px; color:#625754; }
.faqs a { text-decoration:underline; text-underline-offset:4px; }
.closing { padding:76px var(--pad) 36px; }
.closing .section-tag { margin-bottom:70px; }
.closing-layout { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:8%; padding-bottom:76px; }
.closing h2 { font-size:clamp(80px,9.5vw,144px); line-height:1.08; letter-spacing:-.055em; white-space:nowrap; }
.closing h2>span { font-family:var(--serif); font-style:italic; font-size:1.12em; color:#dbc4ba; letter-spacing:-.045em; }
.closing-copy { max-width:380px; }
.closing-copy p { font-size:20px; line-height:1.6; }
.closing-copy p+p { margin-top:16px; color:#c9b7bc; font-size:17px; }
.closing-copy .filled-link { margin-top:30px; min-height:58px; gap:32px; }
.closing-note { display:flex; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid #f5f0e92b; color:#c9b7bc; font-size:13px; }
footer { padding:36px var(--pad); display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--dark); color:var(--white); border-top:1px solid #f5f0e938; }
footer>div { display:flex; gap:28px; font-size:15px; }
footer>div a { display:flex; align-items:center; min-height:48px; }
footer>span { font-size:14px; color:#c5b7bb; }
.result-dialog { border:0; width:min(1000px,94vw); max-height:94svh; padding:12px; background:var(--paper); color:var(--ink); }
.result-dialog::backdrop { background:#180911ed; backdrop-filter:blur(8px); }
.result-dialog img { max-height:78svh; object-fit:contain; }
.result-dialog p { font-size:15px; text-align:center; margin:16px 8px 6px; }
.dialog-close { position:absolute; right:22px; top:22px; width:48px; height:48px; background:var(--paper); border-radius:50%; font-size:30px; }
.paused *, .paused *:before,.paused *:after { animation-play-state:paused!important; }
html.paused { scroll-behavior:auto; }

@media (max-width:1000px) {
  .desktop-nav { gap:22px; font-size:15px; }
  .treatment-stage,.founder-layout { gap:6%; }
  .treatment-description,.founder-copy>p:not(.eyebrow):not(.large-copy) { font-size:19px; }
  .treatment-copy [role=tabpanel] { min-height:390px; }
  .results-layout { gap:5%; }
  footer { flex-wrap:wrap; }
}
@media (max-width:700px) {
  :root { --pad:24px; }
  body { font-size:18px; }
  section[id] { scroll-margin-top:82px; }
  .header,.header.content-nav { height:82px; padding:17px var(--pad); }
  .brand { font-size:36px; }
  .brand>span { font-size:9px; }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .book-link { font-size:15px; gap:18px; min-height:44px; }
  .book-link>span { font-size:25px; }
  .header-actions { gap:14px; }
  .experience { height:400svh; scroll-margin-top:0; }
  .experience-sticky { min-height:640px; }
  .scene-scrim { background:linear-gradient(180deg,rgba(var(--scene-tone),1) 0%,rgba(var(--scene-tone),.98) 28%,rgba(var(--scene-tone),0) 53%); }
  #shape-scene { top:100svh; } #skin-scene { top:282svh; }
  .hero-title { top:14%; max-width:90%; }
  .hero-title h1 { font-size:clamp(43px,11.8vw,64px); line-height:1.04; margin-top:17px; }
  .hero-title>.eyebrow { font-size:12px; }
  .hero-note { bottom:14%; right:var(--pad); width:auto; display:grid; grid-template-columns:.85fr 1.15fr; align-items:end; gap:12px; color:var(--white); }
  .hero-note>p { font-size:18px; line-height:1.4; margin:0; max-width:145px; }
  .hero-note .text-link { font-size:15px; min-height:56px; gap:8px; padding-bottom:9px; white-space:nowrap; }
  .hero-note .text-link>span { font-size:25px; }
  .hero-coordinate,.scene-status { display:none; }
  .experience-sticky:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#290c18 0%,#290c18bf 18%,transparent 43%); z-index:4; pointer-events:none; }
  .portrait-fallback { left:0; bottom:9%; width:100%; height:63%; }
  .experience-footer { bottom:22px; font-size:13px; color:var(--white)!important; }
  .scroll-prompt { gap:10px; min-height:48px; }
  .motion-toggle { min-height:48px; font-size:13px; padding:0 16px; }
  .chapter-shape>.eyebrow,.chapter-skin>.eyebrow { top:13%; font-size:12px; }
  .chapter-shape h2,.chapter-skin h2 { top:19%; font-size:clamp(56px,15vw,88px); line-height:.92; }
  .chapter-note { inset:0; width:auto; font-size:17px; line-height:1.55; }
  .chapter-note>p { position:absolute; top:34%; left:var(--pad); right:var(--pad); }
  .chapter-note .text-link { position:absolute; left:var(--pad); bottom:11%; margin:0; font-size:16px; min-height:52px; }
  .section-tag { font-size:12px; margin-bottom:40px; padding-top:18px; }
  .manifesto { padding:64px var(--pad) 70px; }
  .manifesto h2 { font-size:clamp(40px,10.8vw,58px); line-height:1.14; text-wrap:initial; }
  .manifesto-bottom { grid-template-columns:1fr auto; gap:26px; margin-top:40px; }
  .manifesto-signature { grid-column:1/-1; font-size:30px; }
  .manifesto-bottom p { font-size:17px; line-height:1.65; }
  .manifesto-bottom p br { display:none; }
  .round-link { width:56px; height:56px; font-size:30px; }
  .treatments { padding:64px var(--pad) 72px; }
  .section-heading { display:block; margin-bottom:28px; }
  .section-heading h2 { font-size:clamp(43px,11.5vw,62px); line-height:1.08; }
  .section-heading>p { font-size:18px; margin-top:26px; }
  .treatment-tabs { margin-bottom:26px; }
  .treatment-tabs button { min-height:72px; font-size:clamp(23px,6.3vw,33px); padding:16px 8px 16px 0; gap:8px; }
  .treatment-tabs button>span:first-child { display:none; }
  .tab-arrow { display:none; }
  .treatment-stage { display:block; }
  .treatment-visual { aspect-ratio:4/5; max-height:540px; }
  .photo-word { font-size:94px; left:18px; bottom:16px; }
  .treatment-copy { padding-top:32px; }
  .treatment-copy [role=tabpanel] { min-height:350px; }
  .treatment-copy h3 { font-size:46px; margin:18px 0 22px; }
  .treatment-description { font-size:19px; line-height:1.65; }
  .treatment-price { font-size:17px; margin:24px 0; }
  .filled-link { width:100%; min-height:58px; font-size:17px; padding:15px 22px; }
  .all-prices { font-size:16px; margin-top:14px; min-height:52px; }
  .founder { padding:68px var(--pad) 76px; }
  .founder-head { display:block; margin-bottom:34px; }
  .founder-head h2 { font-size:clamp(48px,12vw,65px); }
  .founder-location { display:block; font-size:12px; margin-top:28px; }
  .founder-layout { display:block; }
  .founder-image { aspect-ratio:4/5; }
  .founder-name { font-size:70px; left:20px; bottom:18px; }
  .founder-copy { padding-top:36px; }
  .founder-copy .large-copy { font-size:clamp(44px,11.5vw,60px); margin:22px 0 28px; }
  .founder-copy>p:not(.eyebrow):not(.large-copy) { font-size:19px; }
  .text-link { min-height:52px; font-size:17px; }
  .results { padding:0 var(--pad) 74px; }
  .results-layout { display:block; }
  .results-heading h2 { font-size:62px; }
  .results-heading p { font-size:18px; margin:26px 0 18px; }
  .results-work { margin-top:34px; }
  .result-labels { top:14px; left:14px; right:14px; font-size:12px; }
  .expand-result { width:48px; height:48px; right:12px; bottom:12px; }
  .result-caption { display:block; margin-top:18px; font-size:15px; line-height:1.8; }
  .visit { padding-bottom:72px; }
  .visit-layout { display:block; }
  .visit h2 { font-size:64px; margin-bottom:36px; }
  .faqs summary { font-size:21px; min-height:80px; padding:24px 0; }
  .faqs details p { font-size:18px; }
  .closing { padding:58px var(--pad) 28px; }
  .closing .section-tag { margin-bottom:42px; font-size:11px; gap:12px; }
  .closing-layout { display:block; padding-bottom:44px; }
  .closing h2 { font-size:clamp(64px,18.5vw,112px); margin-bottom:30px; }
  .closing-copy { max-width:none; }
  .closing-copy p { font-size:19px; }
  .closing-copy p+p { font-size:16px; }
  .closing-copy .filled-link { margin-top:26px; }
  .closing-note { font-size:11px; gap:14px; }
  footer { display:grid; grid-template-columns:1fr auto; gap:24px; padding:30px var(--pad); }
  footer>div { font-size:14px; gap:22px; grid-column:1/-1; grid-row:2; flex-wrap:wrap; }
  footer>span { font-size:12px; max-width:150px; text-align:right; }
  .result-dialog { padding:8px; }
  .result-dialog p { font-size:14px; }
  .dialog-close { top:16px; right:16px; }
}
@media (max-width:370px) {
  :root { --pad:20px; }
  .header-actions { gap:8px; }
  .book-link { gap:12px; }
  .hero-title h1 { font-size:43px; }
  .hero-note { gap:12px; }
  .hero-note>p { font-size:17px; }
  .hero-note .text-link { font-size:14px; }
  .treatment-copy h3 { font-size:42px; }
  .motion-toggle { padding:0 12px; }
}
@media (min-width:701px) and (max-height:760px) {
  .hero-title { top:20%; }
  .hero-title h1 { font-size:clamp(52px,5.7vw,78px); }
  .hero-note { bottom:17%; }
  .hero-note>p { font-size:21px; margin-bottom:14px; }
  .chapter-note { font-size:19px; bottom:15%; }
  .chapter-note .text-link { margin-top:12px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
}
