:root{--ink:#0b0909;--ink-2:#151010;--bone:#eadfc7;--red:#ad2623;--acid:#a5d846;--pink:#eaa5b5;--plum:#3b1639;--paper:#e7d9bc;--line:rgba(234,223,199,.32);--sans:"IBM Plex Sans",system-ui,sans-serif;--serif:"Cormorant Garamond",Georgia,serif;--blackletter:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}html{background:var(--ink);color:var(--bone)}html,body{margin:0;min-height:100%}body{font-family:var(--sans);overflow:hidden;background:var(--ink)}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:var(--acid);color:#111;padding:12px 16px;text-decoration:none;font-weight:700}.skip-link:focus{top:12px}
.site-chrome{position:fixed;inset:22px 28px auto 28px;z-index:80;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.site-chrome button,.chapter-counter{pointer-events:auto}.brand-button,.index-button{border:0;background:transparent;cursor:pointer;letter-spacing:.14em;font-size:.74rem;font-weight:600;padding:8px 0}.index-button{color:var(--acid);margin-left:auto;margin-right:32px}.chapter-counter{font-size:.7rem;letter-spacing:.13em;color:rgba(234,223,199,.7);display:flex;gap:5px}.book-tab{position:fixed;z-index:90;right:0;top:50%;transform:translateY(-50%);border:0;background:var(--red);color:var(--bone);padding:18px 11px 18px 14px;cursor:pointer;writing-mode:vertical-rl;letter-spacing:.16em;display:flex;gap:8px;align-items:center;box-shadow:-8px 8px 0 rgba(0,0,0,.22)}.book-tab:hover{background:var(--acid);color:var(--ink)}
.book{position:relative;width:100vw;height:100vh;isolation:isolate}.chapter{position:absolute;inset:0;display:grid;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(7%) scale(.992);clip-path:inset(0 0 0 12%);transition:transform 320ms cubic-bezier(.22,.72,.16,1),opacity 220ms ease,clip-path 320ms cubic-bezier(.22,.72,.16,1),visibility 0s linear 330ms;overflow:hidden}.chapter:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.025),transparent 32%),repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.45}.chapter.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;clip-path:inset(0);transition-delay:0s;z-index:3}.chapter.is-leaving{opacity:0;transform:translateX(-6%) scale(.995);clip-path:inset(0 10% 0 0);z-index:2}
.eyebrow{margin:0 0 18px;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.acid{color:var(--acid)}h1,h2,p{margin-top:0}em{font-family:var(--serif);font-weight:500}.btn{border:1px solid var(--bone);background:transparent;color:var(--bone);padding:14px 18px;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;cursor:pointer}.btn--primary{background:var(--red);border-color:var(--red)}.btn--primary:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}.btn--ghost:hover{border-color:var(--acid);color:var(--acid)}.btn--small{padding:11px 14px;background:var(--ink)}.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;padding:0 0 4px;cursor:pointer;letter-spacing:.08em;font-size:.74rem;text-transform:uppercase}.paper-noise{background-image:radial-gradient(circle at 12% 30%,rgba(255,255,255,.04),transparent 12%),repeating-linear-gradient(17deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px)}
.chapter--cover{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:var(--ink)}.cover-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,#33100f 0 34%,#130c0b 35% 62%,#080707 63%);border-right:1px solid rgba(234,223,199,.15)}.cover-art:before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 28% 24%,rgba(165,216,70,.14),transparent 18%),radial-gradient(circle at 70% 34%,rgba(173,38,35,.26),transparent 22%),radial-gradient(circle at 48% 72%,rgba(234,223,199,.13),transparent 20%),radial-gradient(circle at 50% 50%,rgba(173,38,35,.11),transparent 38%),radial-gradient(circle at 43% 44%,rgba(234,223,199,.08),transparent 16%);mix-blend-mode:screen;animation:coverGlow 6.8s ease-in-out infinite alternate}.cover-art:after{content:"";position:absolute;inset:5%;background:radial-gradient(circle at 17% 21%,rgba(234,223,199,.98) 0 2.5px,transparent 4px),radial-gradient(circle at 24% 70%,rgba(234,223,199,.86) 0 2.2px,transparent 4px),radial-gradient(circle at 36% 29%,rgba(165,216,70,.84) 0 1.8px,transparent 4px),radial-gradient(circle at 57% 14%,rgba(234,223,199,.95) 0 2px,transparent 4px),radial-gradient(circle at 69% 26%,rgba(234,223,199,.92) 0 2px,transparent 4px),radial-gradient(circle at 77% 18%,rgba(165,216,70,.96) 0 2.4px,transparent 4px),radial-gradient(circle at 83% 63%,rgba(234,223,199,.92) 0 2.3px,transparent 4px),radial-gradient(circle at 70% 76%,rgba(234,223,199,.76) 0 1.7px,transparent 4px),radial-gradient(circle at 52% 82%,rgba(234,223,199,.82) 0 1.6px,transparent 4px);opacity:1;animation:twinkleDrift 5.1s ease-in-out infinite;pointer-events:none;filter:drop-shadow(0 0 7px rgba(234,223,199,.82)) drop-shadow(0 0 12px rgba(165,216,70,.24))}.cover-art__halo{position:absolute;width:min(62vw,680px);aspect-ratio:1;border:1px solid rgba(173,38,35,.45);border-radius:50%;box-shadow:0 0 0 22px rgba(173,38,35,.04),0 0 0 56px rgba(165,216,70,.02);animation:haloPulse 5.8s ease-in-out infinite}.cover-art__halo:before,.cover-art__halo:after{content:"✦";position:absolute;color:var(--bone);font-size:clamp(1.4rem,2.1vw,2.2rem);line-height:1;text-shadow:0 0 8px rgba(234,223,199,.75),0 0 18px rgba(165,216,70,.22);animation:sparkleBlink 3.8s ease-in-out infinite}.cover-art__halo:before{top:7%;right:14%;color:var(--pink);animation-delay:.4s}.cover-art__halo:after{bottom:15%;left:11%;font-size:clamp(1.1rem,1.7vw,1.6rem);color:var(--acid);animation-delay:1.4s}.cover-logo{width:min(80%,720px);max-height:82vh;object-fit:contain;position:relative;z-index:2;filter:saturate(.92) contrast(1.08) drop-shadow(0 0 18px rgba(173,38,35,.18)) drop-shadow(0 0 32px rgba(165,216,70,.08))}.cover-copy{display:flex;flex-direction:column;justify-content:center;padding:9vh 8vw 8vh 7vw;background:linear-gradient(150deg,#151010 0 58%,#25101f 100%)}.cover-copy h1{font-family:var(--serif);font-weight:600;font-size:clamp(3rem,5.5vw,7.4rem);line-height:.87;letter-spacing:-.045em;max-width:9ch}.cover-copy h1 span{color:var(--pink);font-style:italic}.cover-deck{font-family:var(--sans);font-size:clamp(.95rem,1.25vw,1.18rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--acid);margin-bottom:14px}.cover-person{font-size:.9rem;color:rgba(234,223,199,.72)}.cover-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.cover-sticker{position:absolute;right:3vw;bottom:4vh;background:var(--acid);color:#131313;width:78px;aspect-ratio:1;display:grid;place-items:center;text-align:center;font-size:.72rem;font-weight:700;transform:rotate(7deg);border:2px solid #101010;box-shadow:4px 5px 0 var(--pink)}
.chapter--contents{grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr;background:var(--paper);color:var(--ink);padding:11vh 9vw 8vh}.contents-kicker{grid-column:1/3;border-bottom:2px solid var(--ink);padding-bottom:10px;font-size:.7rem;letter-spacing:.18em}.contents-title-wrap{align-self:center;padding-right:7vw}.contents-title-wrap h2{font-family:var(--serif);font-size:clamp(3.2rem,6.4vw,8rem);line-height:.78;letter-spacing:-.04em}.contents-title-wrap em{color:var(--red)}.contents-title-wrap p{max-width:34ch;line-height:1.6;font-size:.9rem}.toc{align-self:center;border-top:1px solid var(--ink)}.toc button{width:100%;display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:baseline;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(11,9,9,.42);padding:17px 6px;cursor:pointer}.toc button:hover{background:var(--pink);padding-left:16px}.toc span{font-size:.7rem}.toc strong{font-family:var(--serif);font-size:clamp(1.5rem,2.1vw,2.6rem);font-weight:600}.toc small{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.contents-art{position:absolute;left:5vw;bottom:4vh;color:var(--red);letter-spacing:1.2em}
.chapter--services{grid-template-columns:1.08fr .92fr;background:var(--ink)}.service-photo-frame{position:relative;overflow:hidden;background:var(--plum)}.service-photo-frame:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(8,7,7,.58),transparent 44%),linear-gradient(90deg,transparent 70%,rgba(8,7,7,.72))}.service-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.03);filter:saturate(.85) contrast(1.08)}.photo-label{position:absolute;left:22px;bottom:20px;z-index:3;font-size:.62rem;letter-spacing:.15em;background:var(--acid);color:var(--ink);padding:7px 9px}.service-copy{display:flex;flex-direction:column;justify-content:center;padding:10vh 8vw 9vh 7vw;background:linear-gradient(160deg,#15100f,#100b0b 68%,#251229)}.display-word{font-family:var(--serif);font-size:clamp(4.4rem,9vw,11rem);line-height:.75;font-weight:600;letter-spacing:-.06em;margin-bottom:26px}.service-desc{max-width:48ch;line-height:1.65;color:rgba(234,223,199,.76);font-size:.94rem}.service-copy .text-link{align-self:flex-start;margin-top:14px;color:var(--acid)}.service-ribbon{position:absolute;left:48%;top:16%;transform:rotate(-8deg);background:var(--pink);color:var(--ink);font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.95rem,3.4vw,4rem);letter-spacing:.05em;padding:6px 18px 10px;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--red);z-index:5}.service-note{position:absolute;right:8vw;bottom:8vh;transform:rotate(3deg);background:var(--paper);color:var(--ink);padding:16px 20px;border:1px solid #111;box-shadow:7px 8px 0 var(--red);display:flex;flex-direction:column}.service-note strong{font-family:var(--serif);font-size:1.55rem}.service-note span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.slime-mark{position:absolute;right:2vw;top:24vh;width:118px;aspect-ratio:1;display:grid;place-items:center;color:var(--acid);font-size:4.5rem;transform:rotate(10deg);opacity:.88;border:1px solid rgba(165,216,70,.35);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(165,216,70,.18),transparent 52%),rgba(11,9,9,.18);box-shadow:0 0 0 12px rgba(173,38,35,.05)}.slime-mark:after{content:"✦";position:absolute;top:14px;right:15px;font-size:1.25rem;color:var(--pink)}
.chapter--results{grid-template-columns:.78fr 1.22fr;background:linear-gradient(130deg,#2f1233,#120b0c 60%);padding:11vh 8vw 8vh}.results-heading{align-self:center;padding-right:6vw}.results-heading h2{font-family:var(--serif);font-size:clamp(4rem,7.6vw,9rem);line-height:.82;letter-spacing:-.05em;margin-bottom:24px}.results-heading em{color:var(--pink)}.results-heading p{max-width:39ch;color:rgba(234,223,199,.72);line-height:1.6}.result-stack{position:relative;align-self:center;height:min(72vh,680px)}.result-card{position:absolute;margin:0;background:var(--paper);color:var(--ink);padding:14px 14px 34px;width:min(46%,340px);box-shadow:18px 18px 0 rgba(0,0,0,.23)}.result-card--a{left:8%;top:8%;transform:rotate(-6deg)}.result-card--b{right:11%;bottom:4%;transform:rotate(5deg)}.result-photo{aspect-ratio:4/5;display:grid;place-items:center;border:1px solid rgba(0,0,0,.3);font-family:var(--serif);font-size:2rem}.result-photo--before{background:linear-gradient(135deg,#bd9a86,#6d4a43 55%,#2e2022)}.result-photo--after{background:linear-gradient(135deg,#ddaa9b,#9f6259 55%,#4c252c)}.result-photo span{background:rgba(231,217,188,.82);padding:8px 10px;font-size:.62rem;letter-spacing:.18em;font-family:var(--sans)}.result-card figcaption{font-size:.62rem;letter-spacing:.15em;margin-top:10px}.result-tape{position:absolute;width:120px;height:30px;background:rgba(220,199,148,.55);left:45%;top:9%;transform:rotate(7deg);z-index:8}.chapter--results>.btn{position:absolute;left:8vw;bottom:7vh}
.chapter--skincare{grid-template-columns:.95fr .85fr .7fr;background:var(--paper);color:var(--ink);padding:11vh 7vw 8vh}.apothecary-title{align-self:center;padding-right:4vw}.apothecary-title h2{font-family:var(--serif);font-size:clamp(3.6rem,6.6vw,7.7rem);line-height:.84;letter-spacing:-.045em}.apothecary-title em{color:var(--red)}.apothecary-title p{max-width:36ch;line-height:1.6}.brand-ledger{align-self:center;border-top:1px solid var(--ink)}.brand-ledger div{display:grid;grid-template-columns:42px 1fr;gap:16px;border-bottom:1px solid rgba(11,9,9,.45);padding:16px 5px;align-items:baseline}.brand-ledger span{font-size:.62rem}.brand-ledger strong{font-family:var(--serif);font-size:clamp(1.45rem,2vw,2.3rem);font-weight:600}.product-placeholder{align-self:center;justify-self:center;width:min(78%,260px);aspect-ratio:3/5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(150deg,#1b1313,#3b1639);color:var(--bone);border:1px solid var(--ink);box-shadow:12px 14px 0 var(--red);transform:rotate(2deg)}.product-bottle{width:58%;aspect-ratio:2/3;border:1px solid var(--acid);display:grid;place-items:center;font-family:var(--serif);font-size:3rem;color:var(--acid);margin-bottom:20px}.product-placeholder small{text-align:center;letter-spacing:.14em;line-height:1.5}.skincare-star{position:absolute;right:4vw;top:14vh;color:var(--red);font-size:5rem;transform:rotate(14deg)}
.chapter--jeannie{grid-template-columns:1.08fr .92fr;background:linear-gradient(135deg,#111,#111 58%,#2a1428)}.portrait-placeholder{position:relative;background:linear-gradient(140deg,#74251f,#251326 65%,#0c0909);display:grid;place-items:center;overflow:hidden}.portrait-placeholder:before{content:"";position:absolute;inset:8% 10%;border:1px solid rgba(234,223,199,.24);border-radius:50% 50% 42% 58%/58% 44% 56% 42%;transform:rotate(-6deg)}.portrait-shape{width:min(48vw,520px);aspect-ratio:4/5;background:linear-gradient(150deg,var(--pink),#8f5349 52%,#37212a);color:var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:15rem;clip-path:polygon(12% 0,100% 5%,94% 100%,0 92%)}.portrait-placeholder>span{position:absolute;left:28px;bottom:24px;font-size:.62rem;letter-spacing:.15em;background:var(--acid);color:var(--ink);padding:7px 9px}.jeannie-copy{align-self:center;padding:10vh 8vw 8vh 7vw}.jeannie-copy h2{font-family:var(--serif);font-size:clamp(3.6rem,6.6vw,7.7rem);line-height:.85;letter-spacing:-.04em}.jeannie-copy h2 em{color:var(--pink)}.jeannie-copy p{max-width:49ch;line-height:1.72;color:rgba(234,223,199,.8)}.copy-note{font-size:.74rem;color:var(--acid)!important}.jeannie-copy .text-link{color:var(--acid);margin-top:12px}.jeannie-quote{position:absolute;right:4vw;bottom:4vh;font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.4vw,3.3rem);color:rgba(234,223,199,.18);transform:rotate(-5deg)}
.chapter--reviews{grid-template-columns:.72fr 1.28fr;background:var(--pink);color:var(--ink);padding:11vh 8vw 8vh}.reviews-title{align-self:center}.reviews-title h2{font-family:var(--serif);font-size:clamp(4rem,7.2vw,8.4rem);line-height:.8;letter-spacing:-.045em}.reviews-title em{color:var(--red)}.review-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(8,minmax(44px,1fr));align-self:center;min-height:65vh;gap:clamp(12px,1.6vw,22px)}.review-note{position:relative;margin:0;max-width:none;padding:28px 30px 24px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.25rem;line-height:1.3;box-shadow:10px 12px 0 rgba(11,9,9,.18);border:1px solid var(--ink);align-self:start}.review-note cite{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.15em;font-style:normal;margin-top:18px}.review-note--1{grid-column:1/span 5;grid-row:1/span 3;transform:rotate(-5deg)}.review-note--2{grid-column:8/span 5;grid-row:2/span 3;justify-self:end;transform:rotate(4deg);background:var(--acid)}.review-note--3{grid-column:4/span 6;grid-row:5/span 3;transform:rotate(2deg);background:#fff1ef}.chapter--reviews>.btn{position:absolute;left:8vw;bottom:6vh;background:var(--ink);color:var(--bone)}
.chapter--visit{grid-template-columns:.86fr 1.14fr;background:var(--ink)}.visit-info{align-self:center;padding:11vh 6vw 8vh 8vw}.visit-info h2{font-family:var(--serif);font-size:clamp(4.3rem,7.8vw,9rem);line-height:.8;letter-spacing:-.05em}.visit-info h2 em{color:var(--pink)}.visit-info dl{margin-top:38px;max-width:520px}.visit-info dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-top:1px solid var(--line);padding:14px 0}.visit-info dt{color:var(--acid);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.visit-info dd{margin:0;font-size:.75rem;color:rgba(234,223,199,.75)}.booking-poster{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:10vh 8vw;background:radial-gradient(circle at 64% 40%,rgba(173,38,35,.55),transparent 32%),linear-gradient(145deg,#2c1110,#130b0b 62%,#35122f);border-left:1px solid rgba(234,223,199,.14)}.booking-poster>p{font-size:.7rem;letter-spacing:.25em;color:var(--acid)}.booking-poster h2{font-family:var(--serif);font-size:clamp(4.2rem,7.2vw,8.7rem);line-height:.82;font-weight:600;letter-spacing:-.04em;max-width:7.2ch;margin:0 0 34px}.btn--poster{background:var(--acid);color:var(--ink);border-color:var(--acid);font-weight:700}.booking-poster small{margin-top:16px;max-width:44ch;color:rgba(234,223,199,.58)}
.index-panel{position:fixed;inset:0;z-index:200;background:rgba(5,4,4,.78);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 0s linear 190ms}.index-panel.is-open{opacity:1;visibility:visible;transition-delay:0s}.index-panel__paper{width:min(920px,88vw);max-height:86vh;overflow:auto;margin:7vh auto;background:var(--paper);color:var(--ink);padding:34px clamp(28px,5vw,70px) 46px;box-shadow:0 30px 70px rgba(0,0,0,.45);transform:rotate(-.5deg)}.index-panel__head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink)}.index-close{border:0;background:transparent;font-size:2rem;cursor:pointer}.index-panel h2{font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);margin:24px 0 28px;line-height:.9}.index-list{border-top:1px solid var(--ink)}.index-list button{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:baseline;background:transparent;border:0;border-bottom:1px solid rgba(11,9,9,.42);padding:14px 4px;text-align:left;cursor:pointer}.index-list button:hover{background:var(--pink);padding-left:12px}.index-list strong{font-size:.66rem}.index-list span{font-family:var(--serif);font-size:1.8rem;font-weight:600}.index-list em{font-family:var(--sans);font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.index-note{font-size:.7rem;line-height:1.55;margin:24px 0 0;max-width:70ch}.page-arrows{position:fixed;z-index:80;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}.page-arrows button{width:44px;height:44px;border:1px solid rgba(234,223,199,.45);background:rgba(11,9,9,.65);color:var(--bone);cursor:pointer;backdrop-filter:blur(6px)}.page-arrows button:hover{border-color:var(--acid);color:var(--acid)}.prototype-toast{position:fixed;z-index:250;left:50%;bottom:-80px;transform:translateX(-50%);background:var(--acid);color:var(--ink);padding:11px 16px;font-size:.74rem;font-weight:600;transition:bottom 180ms ease;box-shadow:6px 6px 0 var(--red)}.prototype-toast.show{bottom:24px}
@keyframes haloPulse{0%,100%{transform:scale(1);opacity:.84;box-shadow:0 0 0 22px rgba(173,38,35,.04),0 0 0 56px rgba(165,216,70,.02),0 0 46px rgba(173,38,35,.08)}50%{transform:scale(1.024);opacity:1;box-shadow:0 0 0 24px rgba(173,38,35,.065),0 0 0 60px rgba(165,216,70,.032),0 0 60px rgba(234,223,199,.07)}}@keyframes twinkleDrift{0%,100%{transform:translate3d(0,0,0);opacity:.82}25%{opacity:1}50%{transform:translate3d(8px,-5px,0);opacity:.92}75%{opacity:1}}@keyframes sparkleBlink{0%,100%{opacity:.45;transform:scale(.82) rotate(0deg)}35%{opacity:1;transform:scale(1.12) rotate(8deg)}65%{opacity:.72;transform:scale(.94) rotate(-6deg)}}@keyframes coverGlow{0%{transform:translate3d(-1%,0,0) scale(1);opacity:.68}100%{transform:translate3d(1.2%,-.8%,0) scale(1.05);opacity:1}}
@media(min-width:901px) and (max-width:1250px){.site-chrome{inset:18px 22px auto 22px}.chapter--contents,.chapter--results,.chapter--skincare,.chapter--reviews{padding-left:6vw;padding-right:6vw}.service-copy,.jeannie-copy,.visit-info{padding-left:5.5vw;padding-right:5.5vw}.service-ribbon{left:45%;top:14%;font-size:clamp(1.8rem,3vw,3.1rem)}.service-note{right:5vw;bottom:6vh}.slime-mark{right:2.5vw;top:22vh;width:104px;font-size:3.9rem}.review-wall{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(8,minmax(40px,1fr));min-height:58vh;gap:14px}.review-note{padding:24px 24px 20px;font-size:1.1rem}.review-note--1{grid-column:1/span 5;grid-row:1/span 3}.review-note--2{grid-column:6/span 5;grid-row:2/span 3}.review-note--3{grid-column:3/span 6;grid-row:5/span 3}.booking-poster{padding-left:6vw;padding-right:6vw}.booking-poster h2{font-size:clamp(3.6rem,6vw,6rem);max-width:6.8ch}.cover-deck{font-size:1rem;letter-spacing:.18em}.cover-art__halo:before{top:10%;right:13%}.cover-art__halo:after{bottom:17%;left:9%}}
@media(max-width:900px){body{overflow:auto}.book{height:auto}.chapter{position:relative;inset:auto;min-height:100svh;opacity:1;visibility:visible;pointer-events:auto;transform:none;clip-path:none;transition:none;scroll-snap-align:start}html{scroll-snap-type:y proximity;scroll-behavior:smooth}.site-chrome{inset:14px 18px auto}.index-button{margin-right:14px}.chapter-counter{display:none}.book-tab{top:auto;bottom:12px;right:12px;transform:none;writing-mode:horizontal-tb;padding:12px 14px;flex-direction:row}.page-arrows{display:none}.chapter--cover,.chapter--services,.chapter--jeannie,.chapter--visit{grid-template-columns:1fr}.cover-art{min-height:54svh;border-right:0;border-bottom:1px solid rgba(234,223,199,.15)}.cover-logo{width:min(80%,520px);max-height:50svh}.cover-copy{padding:48px 24px 92px;min-height:46svh}.cover-copy h1{font-size:clamp(3.1rem,14vw,5rem)}.cover-sticker{right:22px;bottom:26px}.chapter--contents{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;padding:84px 22px 80px}.contents-kicker{grid-column:auto}.contents-title-wrap{padding:36px 0 20px}.contents-title-wrap h2{font-size:clamp(3.1rem,15vw,5.3rem)}.toc button{grid-template-columns:38px 1fr;gap:10px}.toc small{grid-column:2}.chapter--services{min-height:130svh}.service-photo-frame{min-height:60svh}.service-copy{padding:54px 24px 110px;min-height:70svh}.display-word{font-size:clamp(4rem,20vw,7rem)}.service-ribbon{left:auto;right:10px;top:52svh;font-size:2.4rem}.service-note{right:22px;bottom:24px}.slime-mark{top:68svh;right:22px;font-size:3.2rem}.chapter--results{grid-template-columns:1fr;padding:90px 22px 100px;min-height:130svh}.results-heading{padding-right:0}.results-heading h2{font-size:clamp(3.5rem,17vw,6rem)}.result-stack{height:72svh;margin-top:26px}.result-card{width:58%}.chapter--results>.btn{left:22px;bottom:32px}.chapter--skincare{grid-template-columns:1fr;padding:90px 22px 110px;gap:32px;min-height:140svh}.apothecary-title{padding-right:0}.apothecary-title h2{font-size:clamp(3.4rem,16vw,5.7rem)}.product-placeholder{width:min(72vw,260px);margin:12px auto 0}.skincare-star{top:auto;bottom:22px}.chapter--jeannie{min-height:125svh}.portrait-placeholder{min-height:62svh}.portrait-shape{width:min(78vw,420px);font-size:10rem}.jeannie-copy{padding:50px 24px 110px}.jeannie-copy h2{font-size:clamp(3.5rem,15vw,5.7rem)}.chapter--reviews{grid-template-columns:1fr;padding:90px 22px 110px;min-height:145svh}.reviews-title h2{font-size:clamp(3.5rem,16vw,5.8rem)}.review-wall{grid-template-columns:1fr;grid-template-rows:none;min-height:auto;margin-top:16px;gap:18px}.review-note{max-width:min(76vw,420px)}.review-note--1,.review-note--2,.review-note--3{grid-column:1;grid-row:auto;left:auto;right:auto;top:auto;bottom:auto}.review-note--1{justify-self:start}.review-note--2{justify-self:end}.review-note--3{justify-self:center}.chapter--reviews>.btn{left:22px;bottom:34px}.chapter--visit{min-height:120svh}.visit-info{padding:90px 24px 58px}.visit-info h2{font-size:clamp(3.7rem,17vw,6rem)}.booking-poster{padding:64px 24px 110px;min-height:58svh;border-left:0;border-top:1px solid rgba(234,223,199,.15)}.booking-poster h2{font-size:clamp(4.3rem,18vw,7rem)}.index-panel__paper{width:94vw;margin:3vh auto;max-height:94vh;padding:26px 20px 36px}.index-list button{grid-template-columns:38px 1fr}.index-list em{grid-column:2}}
@media(max-width:520px){.brand-button,.index-button{font-size:.65rem}.cover-actions{flex-direction:column;align-items:stretch}.toc strong{font-size:1.6rem}.visit-info dl div{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.chapter{transform:none!important;clip-path:none!important}}

/* === V1.2 GLOBAL RESPONSIVE HARDENING ===
   Stable editorial geometry across wide desktop, desktop, laptop, tablet and mobile.
   Essential content is grid/flex anchored; absolute positioning remains decorative only. */
:root{
  --page-gutter:clamp(24px,4.2vw,78px);
  --page-gutter-tight:clamp(20px,3.2vw,58px);
  --section-y:clamp(72px,9vh,112px);
  --content-gap:clamp(16px,2vw,34px);
  --book-safe:clamp(52px,5vw,82px);
}

h1,h2,.display-word,.booking-poster h2{overflow-wrap:normal;word-break:normal;text-wrap:balance}
.chapter>*{min-width:0}

@media (min-width:901px){
  /* Shared 12-column desktop publication grid. */
  .chapter--cover,.chapter--contents,.chapter--services,.chapter--results,.chapter--skincare,.chapter--jeannie,.chapter--reviews,.chapter--visit{
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-template-rows:minmax(0,1fr);
  }

  /* Cover */
  .cover-art{grid-column:1/7;grid-row:1}
  .cover-copy{grid-column:7/13;grid-row:1;padding:var(--section-y) var(--page-gutter) clamp(72px,8vh,96px) var(--page-gutter)}
  .cover-copy h1{font-size:clamp(3rem,4.9vw,6.8rem);max-width:9.5ch}
  .cover-deck{font-size:clamp(.9rem,1.05vw,1.08rem)}
  .cover-sticker{right:clamp(34px,3vw,58px);bottom:clamp(30px,4vh,48px)}

  /* Contents */
  .chapter--contents{grid-template-rows:auto minmax(0,1fr);padding:var(--section-y) var(--page-gutter) clamp(64px,8vh,94px)}
  .contents-kicker{grid-column:1/13;grid-row:1}
  .contents-title-wrap{grid-column:1/6;grid-row:2;align-self:center;padding-right:clamp(24px,4vw,70px)}
  .contents-title-wrap h2{font-size:clamp(3.1rem,5.7vw,7.2rem)}
  .toc{grid-column:6/13;grid-row:2;align-self:center}
  .toc button{grid-template-columns:clamp(38px,3.2vw,54px) minmax(0,1fr) minmax(120px,auto);gap:clamp(10px,1.3vw,20px);padding:clamp(12px,1.4vh,18px) 6px}
  .toc strong{font-size:clamp(1.45rem,1.9vw,2.45rem)}

  /* Services: important content is grid anchored, decorative collage still overlaps. */
  .chapter--services{grid-template-rows:repeat(12,minmax(0,1fr))}
  .service-photo-frame{grid-column:1/8;grid-row:1/13}
  .service-copy{grid-column:8/13;grid-row:1/13;padding:var(--section-y) var(--page-gutter-tight) clamp(74px,9vh,108px)}
  .display-word{font-size:clamp(4rem,7.7vw,9.8rem);max-width:100%}
  .service-desc{font-size:clamp(.86rem,.9vw,.96rem);max-width:46ch}
  .service-ribbon{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:7/10;grid-row:2/4;align-self:center;justify-self:center;width:max-content;max-width:100%;white-space:nowrap;font-size:clamp(1.8rem,2.9vw,3.7rem);padding:6px clamp(12px,1.4vw,20px) 10px;z-index:6}
  .service-note{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:10/13;grid-row:9/12;align-self:center;justify-self:center;width:clamp(155px,15vw,220px);padding:clamp(12px,1.2vw,18px) clamp(14px,1.5vw,22px);z-index:6}
  .service-note strong{font-size:clamp(1.2rem,1.45vw,1.6rem)}
  .slime-mark{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:11/13;grid-row:4/7;align-self:center;justify-self:center;width:clamp(84px,8vw,118px);font-size:clamp(3rem,4vw,4.5rem);z-index:5}

  /* Results */
  .chapter--results{grid-template-rows:minmax(0,1fr) auto;padding:var(--section-y) var(--page-gutter) clamp(56px,7vh,82px)}
  .results-heading{grid-column:1/5;grid-row:1;align-self:center;padding-right:clamp(20px,3vw,56px)}
  .results-heading h2{font-size:clamp(3.8rem,6.8vw,8.2rem)}
  .result-stack{grid-column:5/13;grid-row:1/3;align-self:center;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));height:clamp(470px,69vh,680px);min-width:0}
  .result-card{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;max-width:320px;min-width:0;align-self:center}
  .result-card--a{grid-column:1/7;grid-row:1/8;justify-self:center;transform:rotate(-6deg)}
  .result-card--b{grid-column:7/13;grid-row:3/10;justify-self:center;transform:rotate(5deg)}
  .result-tape{left:47%;top:8%;width:clamp(88px,8vw,120px)}
  .chapter--results>.btn{position:static;grid-column:1/5;grid-row:2;align-self:end;justify-self:start;margin-top:var(--content-gap)}

  /* Skincare */
  .chapter--skincare{padding:var(--section-y) var(--page-gutter) clamp(64px,8vh,92px);gap:var(--content-gap)}
  .apothecary-title{grid-column:1/5;align-self:center;padding-right:clamp(16px,2vw,38px)}
  .apothecary-title h2{font-size:clamp(3.25rem,5.5vw,6.9rem)}
  .brand-ledger{grid-column:5/9;align-self:center;min-width:0}
  .brand-ledger div{grid-template-columns:clamp(30px,3vw,42px) minmax(0,1fr);gap:clamp(9px,1vw,16px);padding:clamp(11px,1.5vh,16px) 5px}
  .brand-ledger strong{font-size:clamp(1.25rem,1.7vw,2.15rem)}
  .product-placeholder{grid-column:9/13;align-self:center;justify-self:center;width:clamp(170px,16vw,260px);max-width:88%}
  .skincare-star{right:clamp(28px,4vw,68px);top:clamp(76px,13vh,135px)}

  /* Jeannie */
  .portrait-placeholder{grid-column:1/7;grid-row:1}
  .portrait-shape{width:min(78%,520px);max-height:78vh}
  .jeannie-copy{grid-column:7/13;grid-row:1;align-self:center;padding:var(--section-y) var(--page-gutter) clamp(76px,9vh,108px)}
  .jeannie-copy h2{font-size:clamp(3.35rem,5.7vw,7.1rem)}
  .jeannie-copy p{font-size:clamp(.88rem,.9vw,1rem);max-width:48ch}
  .jeannie-quote{right:var(--page-gutter-tight);bottom:clamp(28px,4vh,48px);font-size:clamp(1.5rem,2.2vw,3rem)}

  /* Reviews */
  .chapter--reviews{grid-template-rows:minmax(0,1fr) auto;padding:var(--section-y) var(--page-gutter) clamp(56px,7vh,82px);gap:var(--content-gap)}
  .reviews-title{grid-column:1/5;grid-row:1;align-self:center;padding-right:clamp(14px,2vw,36px)}
  .reviews-title h2{font-size:clamp(3.7rem,6.3vw,7.8rem)}
  .review-wall{grid-column:5/13;grid-row:1/3;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(8,minmax(44px,1fr));align-self:center;min-height:clamp(440px,62vh,620px);gap:clamp(10px,1.2vw,20px);min-width:0}
  .review-note{position:relative;left:auto;right:auto;top:auto;bottom:auto;max-width:none;padding:clamp(20px,1.8vw,30px) clamp(20px,2vw,30px) clamp(18px,1.5vw,24px);font-size:clamp(1rem,1.1vw,1.25rem)}
  .review-note--1{grid-column:1/6;grid-row:1/4;justify-self:stretch}
  .review-note--2{grid-column:8/13;grid-row:2/5;justify-self:stretch}
  .review-note--3{grid-column:4/10;grid-row:5/8;justify-self:stretch}
  .chapter--reviews>.btn{position:static;grid-column:1/5;grid-row:2;align-self:end;justify-self:start;margin-top:var(--content-gap)}

  /* Visit / book */
  .visit-info{grid-column:1/6;grid-row:1;align-self:center;padding:var(--section-y) var(--page-gutter-tight) clamp(74px,9vh,104px) var(--page-gutter)}
  .visit-info h2{font-size:clamp(4rem,6.5vw,8.2rem)}
  .visit-info dl{margin-top:clamp(24px,3vh,38px);max-width:520px}
  .booking-poster{grid-column:6/13;grid-row:1;padding:var(--section-y) max(var(--book-safe),var(--page-gutter)) clamp(74px,9vh,104px) var(--page-gutter)}
  .booking-poster h2{font-size:clamp(4rem,6.4vw,7.9rem);line-height:.83;max-width:7.3ch}
}

/* Wide desktop: protect content from becoming too loose on ultrawide screens. */
@media (min-width:1600px){
  :root{--page-gutter:clamp(64px,4.5vw,92px);--page-gutter-tight:clamp(52px,3.5vw,72px)}
  .cover-logo{width:min(76%,720px)}
  .service-desc,.results-heading p,.apothecary-title p,.jeannie-copy p{font-size:1rem}
  .review-wall{min-height:590px;max-height:680px}
}

/* Laptop / compact desktop: same art direction, tighter geometry. */
@media (min-width:1024px) and (max-width:1279px){
  :root{--page-gutter:clamp(30px,3.6vw,46px);--page-gutter-tight:clamp(26px,3vw,38px);--section-y:clamp(66px,8vh,82px);--content-gap:clamp(12px,1.5vw,20px)}
  .site-chrome{inset:18px 22px auto 22px}
  .cover-copy h1{font-size:clamp(3rem,4.7vw,4.5rem)}
  .contents-title-wrap{grid-column:1/6}.toc{grid-column:6/13}
  .service-ribbon{grid-column:7/10;grid-row:2/4}
  .service-note{grid-column:10/13;width:clamp(150px,16vw,190px)}
  .slime-mark{grid-column:11/13;width:90px;font-size:3.5rem}
  .results-heading{grid-column:1/5}.result-stack{grid-column:5/13;height:clamp(440px,66vh,600px)}
  .result-card{max-width:260px;padding:12px 12px 30px}
  .apothecary-title h2,.jeannie-copy h2{font-size:clamp(3.15rem,5vw,5.2rem)}
  .product-placeholder{width:clamp(160px,16vw,215px)}
  .reviews-title h2{font-size:clamp(3.5rem,5.7vw,5.9rem)}
  .review-wall{min-height:clamp(420px,58vh,540px)}
  .visit-info h2{font-size:clamp(3.8rem,5.8vw,6rem)}
  .booking-poster h2{font-size:clamp(3.7rem,5.5vw,5.8rem);max-width:7ch}
}

/* 901–1023: smallest page-turn desktop. Keep compositions intact without collisions. */
@media (min-width:901px) and (max-width:1023px){
  :root{--page-gutter:28px;--page-gutter-tight:24px;--section-y:64px;--content-gap:14px;--book-safe:58px}
  .site-chrome{inset:16px 20px auto 20px}
  .index-button{margin-right:24px}
  .cover-art{grid-column:1/7}.cover-copy{grid-column:7/13}
  .cover-copy h1{font-size:clamp(2.9rem,4.9vw,3.6rem)}
  .cover-deck{letter-spacing:.16em;font-size:.86rem}
  .cover-person{font-size:.82rem}
  .contents-title-wrap{grid-column:1/6;padding-right:24px}.toc{grid-column:6/13}
  .toc button{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px 4px}.toc small{grid-column:2}.toc strong{font-size:1.42rem}
  .service-photo-frame{grid-column:1/7}.service-copy{grid-column:7/13}
  .service-ribbon{grid-column:6/10;grid-row:2/4;font-size:1.9rem}
  .service-note{grid-column:9/13;grid-row:9/12;width:155px;padding:11px 13px}
  .slime-mark{grid-column:11/13;grid-row:4/7;width:78px;font-size:2.9rem}
  .display-word{font-size:clamp(4rem,7vw,5.1rem)}
  .service-desc{font-size:.82rem;line-height:1.55}
  .results-heading{grid-column:1/6;padding-right:22px}.result-stack{grid-column:6/13;height:clamp(410px,62vh,530px)}
  .results-heading h2{font-size:clamp(3.5rem,5.7vw,4.6rem)}
  .result-card{max-width:220px;padding:10px 10px 27px}.result-card figcaption{font-size:.56rem}
  .apothecary-title{grid-column:1/5}.brand-ledger{grid-column:5/9}.product-placeholder{grid-column:9/13;width:155px}
  .apothecary-title h2{font-size:clamp(3rem,4.8vw,4.1rem)}.brand-ledger strong{font-size:1.25rem}
  .portrait-placeholder{grid-column:1/7}.jeannie-copy{grid-column:7/13}
  .jeannie-copy h2{font-size:clamp(3rem,4.8vw,4.15rem)}.jeannie-copy p{font-size:.83rem;line-height:1.6}
  .reviews-title{grid-column:1/5}.review-wall{grid-column:5/13;min-height:410px;gap:10px}.reviews-title h2{font-size:clamp(3.2rem,5.4vw,4.6rem)}
  .review-note{font-size:.95rem;padding:18px 18px 16px}.review-note cite{margin-top:12px}
  .visit-info{grid-column:1/6}.booking-poster{grid-column:6/13}
  .visit-info h2{font-size:clamp(3.6rem,5.5vw,4.8rem)}.booking-poster h2{font-size:clamp(3.5rem,5.4vw,4.7rem)}
  .visit-info dl div{grid-template-columns:92px minmax(0,1fr);gap:12px}
}

/* Tablet hardening. Visual refinement remains a later device-specific pass. */
@media (min-width:768px) and (max-width:900px){
  :root{--tablet-gutter:clamp(30px,5vw,48px)}
  .cover-copy,.service-copy,.jeannie-copy,.visit-info,.booking-poster{padding-left:var(--tablet-gutter);padding-right:var(--tablet-gutter)}
  .chapter--contents,.chapter--results,.chapter--skincare,.chapter--reviews{padding-left:var(--tablet-gutter);padding-right:var(--tablet-gutter)}
  .cover-copy h1{font-size:clamp(3.8rem,9vw,5rem)}
  .service-ribbon{right:var(--tablet-gutter)}
  .service-note{right:var(--tablet-gutter)}
  .result-card{width:min(48%,300px)}
  .review-note{max-width:min(62vw,460px)}
  .booking-poster h2{font-size:clamp(4.5rem,10vw,6.4rem);max-width:7.2ch}
}

/* Phone hardening: stable gutters and content widths; detailed mobile art direction comes next. */
@media (max-width:767px){
  :root{--phone-gutter:clamp(18px,5.5vw,28px)}
  .cover-copy,.service-copy,.jeannie-copy,.visit-info,.booking-poster{padding-left:var(--phone-gutter);padding-right:var(--phone-gutter)}
  .chapter--contents,.chapter--results,.chapter--skincare,.chapter--reviews{padding-left:var(--phone-gutter);padding-right:var(--phone-gutter)}
  .cover-copy h1,.contents-title-wrap h2,.results-heading h2,.apothecary-title h2,.jeannie-copy h2,.reviews-title h2,.visit-info h2,.booking-poster h2{max-width:100%}
  .service-ribbon{right:var(--phone-gutter);max-width:calc(100vw - (var(--phone-gutter) * 2));white-space:nowrap}
  .service-note{right:var(--phone-gutter);max-width:calc(100vw - (var(--phone-gutter) * 2))}
  .result-stack{width:100%;max-width:620px;margin-left:auto;margin-right:auto}
  .review-wall{width:100%}
  .review-note{max-width:min(82vw,440px)}
  .visit-info dl,.booking-poster small{max-width:100%}
}

/* Structural mobile/tablet stabilization: essential collage pieces remain anchored while decorative marks may float. */
@media (max-width:900px){
  .chapter--services{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(54svh,auto) minmax(66svh,auto)}
  .service-photo-frame{grid-column:1;grid-row:1;min-height:54svh}
  .service-copy{grid-column:1;grid-row:2;min-height:66svh}
  .service-ribbon{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:1;grid-row:1;align-self:end;justify-self:end;margin:0 var(--phone-gutter,24px) -18px 0;z-index:6;width:max-content;max-width:calc(100% - 40px)}
  .service-note{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:1;grid-row:2;align-self:end;justify-self:end;margin:0 var(--phone-gutter,24px) 28px 0;z-index:6;width:min(220px,62vw)}
  .slime-mark{z-index:5}

  .chapter--results{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .results-heading{grid-column:1;grid-row:1}
  .result-stack{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));height:clamp(520px,72svh,700px)}
  .result-card{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;max-width:min(48vw,310px);align-self:center}
  .result-card--a{grid-column:1/8;grid-row:1/8;justify-self:start}
  .result-card--b{grid-column:6/13;grid-row:3/10;justify-self:end}
  .chapter--results>.btn{position:static;grid-column:1;grid-row:3;justify-self:start;margin-top:24px}

  .chapter--reviews{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .reviews-title{grid-column:1;grid-row:1}
  .review-wall{grid-column:1;grid-row:2}
  .chapter--reviews>.btn{position:static;grid-column:1;grid-row:3;justify-self:start;margin-top:28px}
}

@media (max-width:520px){
  .service-ribbon{margin-right:var(--phone-gutter);font-size:clamp(1.85rem,9vw,2.45rem)}
  .service-note{margin-right:var(--phone-gutter);width:min(210px,72vw)}
  .result-stack{height:clamp(500px,69svh,620px)}
  .result-card{max-width:min(58vw,250px);padding:10px 10px 28px}
  .result-card--a{grid-column:1/9;grid-row:1/7}
  .result-card--b{grid-column:5/13;grid-row:4/10}
}

/* ==========================================================
   C1 REAL CONTENT INTEGRATION
   Services + media + skincare catalog + real booking link
   ========================================================== */
.facials-mini,.service-actions{min-width:0}
.facial-mini{display:grid;gap:0;margin:18px 0 16px;border-top:1px solid rgba(234,223,199,.28);max-width:540px}
.facial-mini>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(234,223,199,.2)}
.facial-mini strong{font-family:var(--serif);font-size:clamp(1rem,1.2vw,1.3rem);font-weight:600;line-height:1.05}
.facial-mini span{font-size:clamp(.58rem,.65vw,.7rem);letter-spacing:.05em;color:var(--acid);white-space:nowrap}
.service-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}.service-actions .text-link{margin-top:0}
.service-ribbon--button{border:2px solid var(--ink);cursor:pointer;text-transform:uppercase}
.service-ribbon--button:hover{background:var(--acid);box-shadow:7px 7px 0 var(--red)}

.result-card video,.result-card img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;border:1px solid rgba(0,0,0,.3);background:#211414}
.result-card--video video{object-position:center}.result-card--image img{object-position:center}
.result-card--video{background:#0b0909}.result-card--video figcaption{color:var(--ink)}

.skincare-catalog-link{margin-top:10px;color:var(--red)}
.product-placeholder--real{position:relative;display:block;overflow:hidden;padding:0;background:#130d0d;transform:rotate(2deg)}
.product-placeholder--real img{display:block;width:100%;height:100%;aspect-ratio:3/5;object-fit:cover;object-position:55% center;filter:saturate(.88) contrast(1.04)}
.product-placeholder--real:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,9,9,.82),transparent 48%),linear-gradient(120deg,rgba(173,38,35,.16),transparent 42%);pointer-events:none}
.product-shelf-label{position:absolute;z-index:2;left:16px;top:16px;background:var(--acid);color:var(--ink);font-size:.58rem;font-weight:700;letter-spacing:.12em;padding:6px 8px}
.product-placeholder--real small{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;color:var(--bone);text-align:left;font-size:.58rem}

.portrait-placeholder--room{position:relative;display:block;overflow:hidden;background:#0c0909}
.portrait-placeholder--room:before{content:"";position:absolute;inset:0;border:0;border-radius:0;transform:none;background:linear-gradient(90deg,transparent 58%,rgba(11,9,9,.18)),linear-gradient(to top,rgba(11,9,9,.5),transparent 35%);z-index:1;pointer-events:none}
.portrait-placeholder--room img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.92) contrast(1.04)}
.portrait-placeholder--room>span{z-index:2}

.visit-room-note{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.7rem);font-style:italic;color:var(--pink);margin:-12px 0 24px}
.visit-info dd a{color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(234,223,199,.45)}.visit-info dd a:hover{color:var(--acid);border-color:var(--acid)}
.booking-poster--video{position:relative;overflow:hidden;isolation:isolate;background:#160b0b}
.visit-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:saturate(.78) contrast(1.08) brightness(.56)}
.booking-poster__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(18,8,8,.9),rgba(29,10,17,.63) 52%,rgba(11,9,9,.5)),radial-gradient(circle at 38% 32%,rgba(173,38,35,.36),transparent 38%)}
.booking-poster__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;height:100%}
.booking-poster__content>p{font-size:.7rem;letter-spacing:.25em;color:var(--acid)}
.booking-poster__content h2{font-family:var(--serif);font-size:clamp(4rem,6.4vw,7.9rem);line-height:.83;font-weight:600;letter-spacing:-.04em;max-width:7.3ch;margin:0 0 34px}
.booking-poster__content small{margin-top:16px;max-width:44ch;color:rgba(234,223,199,.74)}

/* Catalog / service overlays */
.catalog-panel{position:fixed;inset:0;z-index:215;background:rgba(5,4,4,.84);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 0s linear 190ms;padding:clamp(18px,4vh,48px) clamp(14px,4vw,60px)}
.catalog-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.catalog-panel__paper{position:relative;width:min(1180px,94vw);height:min(88vh,880px);margin:0 auto;background:var(--paper);color:var(--ink);padding:clamp(24px,3vw,46px);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.5);border:1px solid rgba(11,9,9,.22)}
.catalog-panel__head{position:sticky;top:calc(clamp(24px,3vw,46px) * -1);z-index:5;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--ink);padding-top:clamp(24px,3vw,46px);padding-bottom:10px;margin-top:calc(clamp(24px,3vw,46px) * -1)}
.catalog-panel__head .eyebrow{margin:0}.catalog-close{border:0;background:transparent;color:var(--ink);font-size:2rem;cursor:pointer;padding:0 4px}
.catalog-panel__paper>h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.8rem);line-height:.85;letter-spacing:-.04em;margin:28px 0 30px}
.catalog-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,4vw,60px);align-items:start}.catalog-columns section,.product-groups section{min-width:0}
.catalog-columns h3,.product-groups h3{font-family:var(--serif);font-size:clamp(1.8rem,2.4vw,2.8rem);font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:8px;margin:0 0 4px}.catalog-columns h3 span{font-family:var(--sans);font-size:.65rem;letter-spacing:.12em;color:var(--red);margin-left:7px}
.catalog-list{display:grid}.catalog-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:baseline;border-bottom:1px solid rgba(11,9,9,.28);padding:12px 2px}.catalog-list strong{font-family:var(--serif);font-size:1.18rem;font-weight:600;line-height:1.1}.catalog-list span{font-size:.68rem;white-space:nowrap;letter-spacing:.03em}.catalog-list--dense>div{padding:9px 2px}.catalog-list--dense strong{font-size:1.02rem}
.catalog-panel__footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:2px solid var(--ink);margin-top:34px;padding-top:20px}.catalog-panel__footer p{font-size:.72rem;line-height:1.55;max-width:70ch;margin:0}.catalog-panel__footer .btn{flex:0 0 auto}
.order-note{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;background:var(--acid);border:1px solid var(--ink);padding:18px 20px;margin-bottom:30px;box-shadow:7px 7px 0 var(--red)}.order-note strong{font-size:.68rem;letter-spacing:.15em}.order-note p{margin:0;font-size:.82rem;line-height:1.55}
.product-groups{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(28px,4vw,60px);align-items:start}

@media (min-width:901px) and (max-width:1279px){
  .facial-mini{margin:12px 0}.facial-mini>div{padding:6px 0}.facial-mini strong{font-size:clamp(.88rem,1.1vw,1.05rem)}.facial-mini span{font-size:.56rem}.service-actions{gap:12px}.service-actions .text-link{font-size:.62rem}
  .product-placeholder--real img{aspect-ratio:3/5}.booking-poster__content h2{font-size:clamp(3.6rem,5.5vw,5.8rem)}
}

@media (max-width:900px){
  .facial-mini{max-width:none}.service-actions{flex-direction:column;align-items:flex-start;gap:12px}.service-ribbon--button{margin-right:var(--phone-gutter,24px)}
  .result-card video,.result-card img{aspect-ratio:4/5}
  .product-placeholder--real{width:min(78vw,340px)}.product-placeholder--real img{aspect-ratio:4/5}
  .portrait-placeholder--room{min-height:62svh}.portrait-placeholder--room img{min-height:62svh;object-position:center}
  .booking-poster--video{min-height:62svh}.booking-poster__content{min-height:48svh}
  .catalog-panel{padding:14px 10px}.catalog-panel__paper{width:96vw;height:94vh;padding:24px 18px}.catalog-panel__head{top:-24px;padding-top:24px;margin-top:-24px}.catalog-columns,.product-groups{grid-template-columns:1fr;gap:30px}.catalog-panel__footer{align-items:flex-start;flex-direction:column}.order-note{grid-template-columns:1fr;gap:8px}.catalog-list strong{font-size:1.02rem}.catalog-list span{font-size:.64rem}
}

@media (max-width:520px){
  .facial-mini>div{grid-template-columns:1fr;gap:3px}.facial-mini span{white-space:normal}.service-ribbon--button{font-size:clamp(1.55rem,8vw,2.2rem)}
  .catalog-list>div{grid-template-columns:1fr;gap:4px}.catalog-list span{white-space:normal;color:rgba(11,9,9,.68)}
  .catalog-panel__paper>h2{font-size:clamp(2.7rem,13vw,4.2rem)}
}


/* ==========================================================
   V1.4 GLOBAL DESKTOP EDITORIAL REFINEMENT
   Larger real media, asset-specific crops, borderless proof,
   real reviews, and featured-product flip showcase.
   ========================================================== */
@media (min-width:901px){
  /* Services: preserve more of the real treatment frame. */
  .service-photo-frame img{transform:none;object-position:50% 48%}
  .service-note{background:transparent;color:var(--bone);border:0;box-shadow:none;padding:10px 0;transform:rotate(2deg);text-align:right;align-items:flex-end}
  .service-note span{color:rgba(234,223,199,.62)}

  /* Results: images are editorial objects, not UI cards. */
  .result-stack{height:clamp(500px,72vh,760px)}
  .result-card{background:transparent;padding:0;box-shadow:none;color:var(--bone);max-width:clamp(285px,22vw,430px)}
  .result-card video,.result-card img{border:0;background:transparent;box-shadow:0 24px 50px rgba(0,0,0,.28)}
  .result-card--video video{aspect-ratio:512/910;object-fit:cover;object-position:center}
  .result-card--image img{aspect-ratio:1320/1417;object-fit:cover;object-position:50% 50%}
  .result-card figcaption{color:rgba(234,223,199,.72);margin-top:12px;padding-left:2px;letter-spacing:.16em}
  .result-card--video figcaption{color:rgba(234,223,199,.72)}
  .result-card--a{grid-column:1/7;grid-row:1/10;justify-self:start}
  .result-card--b{grid-column:7/13;grid-row:2/10;justify-self:end}
  .result-tape{opacity:.7;left:46%;top:5%}

  /* Skincare: large borderless featured product stage. */
  .featured-product-stage{grid-column:9/13;align-self:center;justify-self:stretch;position:relative;min-height:clamp(470px,62vh,690px);perspective:1200px;isolation:isolate;padding:24px 0 6px}
  .featured-product-stage:before{content:"";position:absolute;inset:8% -4% 15% 4%;border-radius:50%;border:1px solid rgba(173,38,35,.25);box-shadow:0 0 0 26px rgba(165,216,70,.025),0 0 70px rgba(173,38,35,.08);transform:rotate(-8deg);z-index:-2}
  .featured-product-stage:after{content:"✦";position:absolute;right:5%;top:8%;font-size:clamp(1.8rem,2.5vw,3rem);color:var(--red);text-shadow:0 0 18px rgba(173,38,35,.2)}
  .featured-product-orbit{position:relative;min-height:clamp(390px,53vh,590px);transform-style:preserve-3d}
  .featured-product{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;opacity:0;pointer-events:none;transform:rotateY(58deg) translateX(8%) scale(.94);transform-origin:55% 50%;transition:opacity 360ms ease,transform 620ms cubic-bezier(.2,.72,.18,1);backface-visibility:hidden}
  .featured-product.is-active{opacity:1;pointer-events:auto;transform:rotateY(0deg) translateX(0) scale(1)}
  .featured-product-media{position:relative;display:grid;place-items:center;min-height:0;height:100%;overflow:visible;background:radial-gradient(circle at 50% 58%,rgba(255,255,255,.72),rgba(231,217,188,.22) 42%,transparent 68%)}
  .featured-product--glymed .featured-product-media{background:radial-gradient(circle at 50% 58%,rgba(241,236,228,.9),rgba(231,217,188,.26) 45%,transparent 70%)}
  .featured-product-media img{position:relative;z-index:2;display:block;max-width:88%;max-height:clamp(300px,46vh,520px);width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 24px 24px rgba(11,9,9,.16));clip-path:inset(0 round 2px)}
  .product-fallback{position:absolute;inset:auto 0 45%;text-align:center;font-family:var(--serif);font-size:clamp(1.5rem,2vw,2.3rem);letter-spacing:.12em;color:rgba(11,9,9,.18)}
  .featured-product-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:end;border-top:1px solid rgba(11,9,9,.26);padding-top:14px}
  .featured-product-copy>span{grid-column:1/3;font-size:.58rem;font-weight:600;letter-spacing:.16em;color:var(--red)}
  .featured-product-copy strong{font-family:var(--serif);font-size:clamp(1.35rem,1.8vw,2.25rem);line-height:1;font-weight:600}
  .featured-product-copy em{font-family:var(--sans);font-size:.78rem;font-style:normal;font-weight:600;color:var(--red)}
  .featured-product-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:.62rem;letter-spacing:.14em}
  .featured-product-controls>div{display:flex;gap:6px}.featured-product-controls button{width:38px;height:38px;border:1px solid rgba(11,9,9,.35);background:transparent;color:var(--ink);cursor:pointer}.featured-product-controls button:hover{background:var(--ink);color:var(--paper)}
  .featured-product-note{display:block;margin-top:9px;max-width:36ch;font-size:.55rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(11,9,9,.58)}

  /* Jeannie: use portrait-oriented room shot so the real image is not brutally cropped. */
  .portrait-placeholder--room img{object-fit:cover;object-position:50% 52%}

  /* Reviews: borderless editorial proof grid. */
  .review-wall--real{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(20px,2vw,34px);min-height:clamp(470px,61vh,650px);align-content:center}
  .review-quote{margin:0;min-width:0;padding:18px 0 16px;border:0;border-top:1px solid rgba(11,9,9,.28);background:transparent;box-shadow:none;color:var(--ink);font-family:var(--serif);display:flex;flex-direction:column;justify-content:flex-start}
  .review-quote:nth-child(2),.review-quote:nth-child(5){transform:translateY(20px)}
  .review-quote:nth-child(3),.review-quote:nth-child(6){transform:translateY(-8px)}
  .review-stars{font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;color:#a77200;margin-bottom:12px}
  .review-quote p{font-family:var(--serif);font-size:clamp(.98rem,1.03vw,1.22rem);line-height:1.28;margin:0 0 14px;text-wrap:pretty}
  .review-quote cite{margin-top:auto;font-family:var(--sans);font-size:.58rem;font-style:normal;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(11,9,9,.62)}
}

@media (min-width:1600px){
  .result-stack{height:clamp(590px,74vh,790px)}
  .result-card{max-width:clamp(360px,22vw,500px)}
  .result-card--a{grid-column:1/7;justify-self:start}.result-card--b{grid-column:7/13;justify-self:end}
  .featured-product-stage{grid-column:9/13;min-height:clamp(560px,65vh,740px)}
  .featured-product-orbit{min-height:clamp(470px,56vh,630px)}
  .featured-product-media img{max-width:92%;max-height:clamp(390px,49vh,570px)}
  .review-wall--real{min-height:600px;gap:clamp(28px,2.2vw,44px)}
  .review-quote p{font-size:clamp(1.06rem,1vw,1.26rem)}
}

@media (min-width:1024px) and (max-width:1279px){
  .result-card{max-width:clamp(250px,24vw,320px)}
  .featured-product-stage{min-height:clamp(410px,57vh,540px)}
  .featured-product-orbit{min-height:clamp(340px,48vh,460px)}
  .featured-product-media img{max-height:clamp(260px,39vh,380px)}
  .review-wall--real{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));min-height:clamp(500px,66vh,620px);gap:16px 24px}
  .review-quote:nth-child(n){transform:none}
  .review-quote p{font-size:clamp(.88rem,.95vw,1.02rem)}
}

@media (min-width:901px) and (max-width:1023px){
  .result-card{max-width:230px}
  .featured-product-stage{min-height:400px;padding-top:8px}
  .featured-product-orbit{min-height:330px}
  .featured-product-media img{max-height:280px;max-width:92%}
  .featured-product-copy strong{font-size:1.2rem}.featured-product-note{display:none}
  .review-wall--real{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));min-height:440px;gap:12px 20px}
  .review-quote:nth-child(n){transform:none;padding:12px 0 10px}
  .review-quote p{font-size:.86rem}.review-stars{font-size:.66rem;margin-bottom:8px}
}

@media (max-width:900px){
  .featured-product-stage{width:min(88vw,460px);margin:12px auto 0;position:relative;min-height:560px;perspective:1000px}
  .featured-product-orbit{position:relative;min-height:470px}
  .featured-product{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;opacity:0;pointer-events:none;transform:rotateY(52deg) scale(.95);transition:opacity 320ms ease,transform 560ms cubic-bezier(.2,.72,.18,1);backface-visibility:hidden}
  .featured-product.is-active{opacity:1;pointer-events:auto;transform:none}
  .featured-product-media{display:grid;place-items:center;min-height:390px;background:radial-gradient(circle at 50% 60%,rgba(255,255,255,.78),rgba(231,217,188,.18) 46%,transparent 72%)}
  .featured-product-media img{display:block;max-width:82%;max-height:360px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 22px 24px rgba(11,9,9,.15))}
  .product-fallback{position:absolute;left:0;right:0;top:46%;text-align:center;color:rgba(11,9,9,.15);font-family:var(--serif);letter-spacing:.12em}
  .featured-product-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;border-top:1px solid rgba(11,9,9,.26);padding-top:12px}
  .featured-product-copy>span{grid-column:1/3;font-size:.56rem;font-weight:600;letter-spacing:.15em;color:var(--red)}
  .featured-product-copy strong{font-family:var(--serif);font-size:1.55rem;line-height:1}.featured-product-copy em{font-family:var(--sans);font-style:normal;font-size:.75rem;color:var(--red)}
  .featured-product-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:.6rem;letter-spacing:.14em}.featured-product-controls>div{display:flex;gap:6px}.featured-product-controls button{width:40px;height:40px;border:1px solid rgba(11,9,9,.35);background:transparent;color:var(--ink)}
  .featured-product-note{display:block;margin-top:8px;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,9,9,.58)}

  .review-wall--real{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:22px;min-height:auto}
  .review-quote{margin:0;padding:18px 0;border-top:1px solid rgba(11,9,9,.28);background:transparent;color:var(--ink)}
  .review-quote p{font-family:var(--serif);font-size:1.08rem;line-height:1.3;margin:0 0 12px}.review-quote cite{font-family:var(--sans);font-size:.58rem;font-style:normal;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.review-stars{font-size:.72rem;letter-spacing:.1em;color:#a77200;display:block;margin-bottom:10px}
}

@media (prefers-reduced-motion:reduce){
  .featured-product{transition:none!important;transform:none!important}
}


/* V1.4.1 — results, skincare, and reviews polish */
@media (min-width: 901px){
  .chapter--results{
    grid-template-columns:minmax(320px,.88fr) minmax(520px,1.12fr);
    grid-template-rows:auto auto;
    column-gap:clamp(30px,3vw,54px);
    row-gap:18px;
    align-items:center;
  }
  .results-heading{grid-column:1;grid-row:1;align-self:center;padding-right:0;max-width:34rem}
  .result-stack{
    grid-column:2;
    grid-row:1 / span 2;
    display:grid;
    grid-template-columns:minmax(340px,1fr) minmax(230px,.62fr);
    grid-template-rows:minmax(0,1fr) auto;
    align-items:center;
    gap:clamp(16px,1.8vw,30px);
    min-height:clamp(430px,60vh,670px);
    height:auto;
    padding-left:clamp(8px,1vw,20px);
    isolation:isolate;
  }
  .result-card{
    position:relative;
    margin:0;
    width:auto;
    max-width:none;
    background:transparent;
    padding:0;
    box-shadow:none;
    color:var(--bone);
    overflow:visible;
  }
  .result-card--video{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:center;
    justify-self:start;
    width:min(100%,560px);
    transform:rotate(-3deg);
    z-index:2;
  }
  .result-card--image{
    grid-column:2;
    grid-row:2;
    align-self:end;
    justify-self:start;
    width:min(100%,320px);
    margin-left:-18%;
    transform:rotate(4.5deg);
    z-index:3;
  }
  .result-card video,
  .result-card img{
    display:block;
    width:100%;
    height:auto;
    background:#150c10;
    box-shadow:0 28px 34px rgba(0,0,0,.22);
  }
  .result-card--video video{
    aspect-ratio:4 / 5;
    height:clamp(430px,60vh,630px);
    object-fit:cover;
    object-position:center 38%;
  }
  .result-card--image img{
    aspect-ratio:1 / 1;
    object-fit:cover;
    object-position:center;
  }
  .result-card figcaption{
    font-size:.62rem;
    letter-spacing:.14em;
    margin-top:10px;
    color:rgba(234,223,199,.72);
  }
  .result-tape{display:none}
  .chapter--results > .btn{
    position:static;
    grid-column:1;
    grid-row:2;
    align-self:start;
    justify-self:start;
    margin-top:4px;
  }

  .featured-product-stage{
    min-height:clamp(520px,63vh,710px);
    padding:12px 0 6px;
  }
  .featured-product-stage::before,
  .featured-product-stage::after,
  .skincare-star{display:none}
  .featured-product-orbit{min-height:clamp(430px,54vh,610px)}
  .featured-product-media,
  .featured-product--glymed .featured-product-media{
    background:transparent;
  }
  .featured-product-media img{
    max-width:78%;
    max-height:clamp(320px,47vh,520px);
    mix-blend-mode:multiply;
    filter:drop-shadow(0 24px 26px rgba(11,9,9,.14));
    clip-path:none;
    background:transparent;
  }
  .featured-product-copy{
    border-top:0;
    padding-top:10px;
    gap:8px 16px;
  }
  .featured-product-copy > span{color:rgba(173,38,35,.88)}
  .featured-product-note{opacity:.82}

  .chapter--reviews{
    grid-template-columns:minmax(320px,.84fr) minmax(620px,1.16fr);
    grid-template-rows:auto auto;
    column-gap:clamp(32px,3vw,54px);
    row-gap:18px;
    align-items:center;
  }
  .reviews-title{grid-column:1;grid-row:1;align-self:center;max-width:30rem}
  .review-wall--real{
    grid-column:2;
    grid-row:1 / span 2;
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:minmax(52px,auto);
    gap:clamp(16px,1.7vw,28px) clamp(18px,1.8vw,30px);
    min-height:clamp(520px,65vh,720px);
    align-content:start;
  }
  .review-quote{
    margin:0;
    min-width:0;
    padding:16px 0 14px;
    border:0;
    border-top:1px solid rgba(11,9,9,.2);
    background:transparent;
    box-shadow:none;
    color:var(--ink);
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    transform:none;
  }
  .review-stars{font-size:.72rem;letter-spacing:.16em;color:#b17b00;margin-bottom:10px}
  .review-quote p{margin:0 0 12px;font-family:var(--serif);font-size:clamp(.98rem,1vw,1.18rem);line-height:1.26;text-wrap:pretty}
  .review-quote cite{margin-top:auto;font-family:var(--sans);font-size:.58rem;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(11,9,9,.62)}
  .review-quote--hero{
    grid-column:1 / 8;
    grid-row:1 / 4;
    padding:28px 30px 24px;
    background:rgba(255,241,239,.58);
    border:1px solid rgba(11,9,9,.13);
    box-shadow:12px 12px 0 rgba(173,38,35,.08);
    transform:rotate(-1.2deg);
    position:relative;
  }
  .review-quote--hero::before{
    content:"REAL CLIENT WORDS";
    display:block;
    margin-bottom:12px;
    font-family:var(--sans);
    font-size:.56rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(173,38,35,.9);
  }
  .review-quote--hero p{font-size:clamp(1.28rem,1.36vw,1.68rem);line-height:1.16}
  .review-quote--hero .review-stars{margin-bottom:12px}
  .review-quote--paper{
    grid-column:9 / 13;
    grid-row:1 / 3;
    padding:22px 24px 20px;
    background:rgba(250,246,236,.9);
    border:1px solid rgba(11,9,9,.12);
    box-shadow:10px 10px 0 rgba(11,9,9,.05);
    transform:rotate(1.3deg);
  }
  .review-quote--medium-a{grid-column:1 / 5;grid-row:4 / 6}
  .review-quote--medium-b{grid-column:5 / 9;grid-row:4 / 6}
  .review-quote--mini-a{grid-column:9 / 13;grid-row:3 / 5}
  .review-quote--mini-b{grid-column:9 / 13;grid-row:5 / 7;padding-bottom:6px}
  .chapter--reviews > .btn{
    position:static;
    grid-column:1;
    grid-row:2;
    align-self:start;
    justify-self:start;
    margin-top:8px;
  }
}

@media (min-width: 901px) and (max-width: 1250px){
  .result-stack{grid-template-columns:minmax(300px,1fr) minmax(190px,.52fr);min-height:500px}
  .result-card--video{width:min(100%,460px)}
  .result-card--image{width:min(100%,250px);margin-left:-12%}
  .featured-product-stage{min-height:460px}
  .featured-product-orbit{min-height:360px}
  .featured-product-media img{max-width:82%;max-height:360px}
  .review-wall--real{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    min-height:auto;
    gap:18px 26px;
  }
  .review-quote--hero,
  .review-quote--paper,
  .review-quote--medium-a,
  .review-quote--medium-b,
  .review-quote--mini-a,
  .review-quote--mini-b{grid-column:auto;grid-row:auto;transform:none}
  .review-quote--hero{grid-column:1 / -1}
}

@media (max-width: 900px){
  .result-tape{display:none}
  .featured-product-stage::before,
  .featured-product-stage::after,
  .skincare-star{display:none}
  .featured-product-media,
  .featured-product--glymed .featured-product-media{background:transparent}
  .featured-product-copy{border-top:0}
  .review-wall--real{display:grid;grid-template-columns:1fr;gap:22px;min-height:auto}
  .review-quote,
  .review-quote--hero,
  .review-quote--paper,
  .review-quote--medium-a,
  .review-quote--medium-b,
  .review-quote--mini-a,
  .review-quote--mini-b{transform:none;background:transparent;box-shadow:none;border:0;border-top:1px solid rgba(11,9,9,.2);padding:18px 0}
  .review-quote--hero::before{content:"REAL CLIENT WORDS";display:block;margin-bottom:10px;font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(173,38,35,.88)}
}

/* ==========================================================
   V1.4.2 — RESULTS VIDEO EMPHASIS + COVER MAGIC VISIBILITY
   Scope: Results media hierarchy + cover atmosphere only.
   ========================================================== */

/* Cover: keep the logo still; make the atmosphere visibly magical. */
.cover-art{
  isolation:isolate;
  box-shadow:inset 0 0 90px rgba(173,38,35,.08),inset 0 0 150px rgba(165,216,70,.035);
}
.cover-art::before{
  z-index:0;
  inset:-18%;
  opacity:1;
  background:
    radial-gradient(circle at 50% 46%,rgba(173,38,35,.24) 0 16%,rgba(173,38,35,.09) 31%,transparent 53%),
    radial-gradient(circle at 24% 20%,rgba(165,216,70,.18),transparent 17%),
    radial-gradient(circle at 80% 25%,rgba(234,165,181,.16),transparent 18%),
    radial-gradient(circle at 24% 78%,rgba(234,223,199,.12),transparent 20%),
    radial-gradient(circle at 74% 73%,rgba(173,38,35,.16),transparent 22%);
  mix-blend-mode:screen;
  animation:coverAuraV142 5.4s ease-in-out infinite alternate;
}
.cover-art::after{
  z-index:4;
  inset:4%;
  opacity:1;
  background:
    radial-gradient(circle at 13% 18%,rgba(234,223,199,1) 0 3px,rgba(234,223,199,.36) 4px,transparent 8px),
    radial-gradient(circle at 28% 34%,rgba(234,165,181,.98) 0 2.5px,rgba(234,165,181,.3) 4px,transparent 8px),
    radial-gradient(circle at 20% 70%,rgba(165,216,70,.98) 0 2.8px,rgba(165,216,70,.28) 4px,transparent 8px),
    radial-gradient(circle at 44% 12%,rgba(234,223,199,.98) 0 2px,rgba(234,223,199,.28) 4px,transparent 7px),
    radial-gradient(circle at 61% 19%,rgba(234,223,199,1) 0 3px,rgba(234,223,199,.3) 4px,transparent 9px),
    radial-gradient(circle at 78% 16%,rgba(165,216,70,1) 0 2.5px,rgba(165,216,70,.25) 4px,transparent 8px),
    radial-gradient(circle at 88% 43%,rgba(234,165,181,1) 0 3px,rgba(234,165,181,.28) 4px,transparent 9px),
    radial-gradient(circle at 81% 72%,rgba(234,223,199,.98) 0 2.5px,rgba(234,223,199,.26) 4px,transparent 8px),
    radial-gradient(circle at 61% 83%,rgba(165,216,70,.95) 0 2.3px,rgba(165,216,70,.24) 4px,transparent 8px),
    radial-gradient(circle at 34% 86%,rgba(234,223,199,.95) 0 2.5px,rgba(234,223,199,.24) 4px,transparent 8px);
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 7px rgba(234,223,199,.9)) drop-shadow(0 0 15px rgba(234,165,181,.28));
  animation:sparkleFieldV142 4.3s ease-in-out infinite;
  pointer-events:none;
}
.cover-art__halo{
  z-index:1;
  width:min(72%,760px);
  border-color:rgba(173,38,35,.62);
  box-shadow:
    0 0 0 18px rgba(173,38,35,.055),
    0 0 0 48px rgba(165,216,70,.028),
    0 0 75px rgba(173,38,35,.18),
    inset 0 0 50px rgba(234,165,181,.055);
  animation:haloPulseV142 4.9s ease-in-out infinite;
}
.cover-art__halo::before,
.cover-art__halo::after{
  z-index:5;
  font-size:clamp(2rem,2.5vw,3rem);
  opacity:1;
  text-shadow:
    0 0 7px currentColor,
    0 0 16px currentColor,
    0 0 30px rgba(234,223,199,.45);
  animation:sparkleBlinkV142 3.2s ease-in-out infinite;
}
.cover-art__halo::before{top:4%;right:10%}
.cover-art__halo::after{bottom:10%;left:8%;font-size:clamp(1.7rem,2vw,2.4rem)}
.cover-logo{
  z-index:2;
  filter:saturate(.94) contrast(1.08) drop-shadow(0 0 22px rgba(173,38,35,.24)) drop-shadow(0 0 44px rgba(165,216,70,.11));
}

@keyframes coverAuraV142{
  0%{transform:scale(1);opacity:.72;filter:saturate(.92)}
  50%{opacity:1}
  100%{transform:scale(1.035);opacity:.9;filter:saturate(1.08)}
}
@keyframes sparkleFieldV142{
  0%,100%{opacity:.54;transform:scale(.995)}
  24%{opacity:1}
  48%{opacity:.68;transform:scale(1.008)}
  72%{opacity:.94}
}
@keyframes sparkleBlinkV142{
  0%,100%{opacity:.45;transform:scale(.72) rotate(-5deg)}
  38%{opacity:1;transform:scale(1.22) rotate(5deg)}
  65%{opacity:.68;transform:scale(.92) rotate(-2deg)}
}
@keyframes haloPulseV142{
  0%,100%{transform:scale(1);opacity:.72}
  50%{transform:scale(1.028);opacity:1}
}

/* Results: the moving treatment media is the hero; still image is supporting proof. */
@media (min-width:901px){
  .chapter--results{
    grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);
    column-gap:clamp(26px,2.6vw,48px);
  }
  .results-heading{max-width:31rem}
  .results-heading h2{font-size:clamp(3.9rem,6.4vw,7.8rem)}
  .result-stack{
    grid-template-columns:minmax(470px,1fr) minmax(170px,.34fr);
    grid-template-rows:minmax(0,1fr);
    min-height:clamp(500px,68vh,740px);
    gap:0;
    padding-left:0;
    padding-right:clamp(18px,2vw,36px);
  }
  .result-card--video{
    grid-column:1;
    grid-row:1;
    justify-self:stretch;
    align-self:center;
    width:min(100%,720px);
    max-width:720px;
    transform:rotate(-1.8deg);
    z-index:2;
  }
  .result-card--video video{
    width:100%;
    height:clamp(500px,69vh,720px);
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center 42%;
    box-shadow:0 32px 56px rgba(0,0,0,.28);
  }
  .result-card--image{
    grid-column:2;
    grid-row:1;
    align-self:end;
    justify-self:end;
    width:min(15vw,270px);
    min-width:205px;
    margin-left:-46%;
    margin-bottom:clamp(24px,4vh,54px);
    transform:rotate(4deg);
    z-index:3;
  }
  .result-card--image img{
    aspect-ratio:1/1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
    box-shadow:0 24px 42px rgba(0,0,0,.26);
  }
  .result-card--video figcaption{font-size:.64rem}
  .result-card--image figcaption{font-size:.58rem}
}

@media (min-width:1600px){
  .chapter--results{grid-template-columns:minmax(330px,.68fr) minmax(780px,1.32fr)}
  .result-stack{grid-template-columns:minmax(560px,1fr) minmax(190px,.3fr);min-height:clamp(590px,73vh,790px)}
  .result-card--video{width:min(100%,800px);max-width:800px}
  .result-card--video video{height:clamp(590px,72vh,780px)}
  .result-card--image{width:min(14vw,290px);margin-left:-52%}
}

@media (min-width:901px) and (max-width:1250px){
  .chapter--results{grid-template-columns:minmax(280px,.82fr) minmax(500px,1.18fr)}
  .result-stack{grid-template-columns:minmax(370px,1fr) minmax(150px,.32fr);min-height:500px}
  .result-card--video{width:min(100%,560px)}
  .result-card--video video{height:clamp(450px,62vh,590px)}
  .result-card--image{width:min(18vw,220px);min-width:175px;margin-left:-40%;margin-bottom:20px}
}

/* Make the same magical cover language visible on phones/tablets. */
@media (max-width:900px){
  .cover-art{
    min-height:58svh;
    box-shadow:inset 0 0 75px rgba(173,38,35,.12),inset 0 0 120px rgba(165,216,70,.045);
  }
  .cover-art::before{inset:-12%;opacity:1}
  .cover-art::after{
    inset:3%;
    filter:drop-shadow(0 0 6px rgba(234,223,199,1)) drop-shadow(0 0 13px rgba(234,165,181,.34));
    animation-duration:3.8s;
  }
  .cover-art__halo{
    width:min(88vw,500px);
    border-color:rgba(173,38,35,.68);
    box-shadow:
      0 0 0 13px rgba(173,38,35,.06),
      0 0 0 34px rgba(165,216,70,.03),
      0 0 58px rgba(173,38,35,.2);
  }
  .cover-art__halo::before{top:7%;right:8%;font-size:clamp(1.7rem,7vw,2.5rem)}
  .cover-art__halo::after{bottom:11%;left:7%;font-size:clamp(1.4rem,6vw,2.1rem)}
  .cover-logo{position:relative;z-index:2;width:min(84%,540px);filter:saturate(.96) contrast(1.08) drop-shadow(0 0 20px rgba(173,38,35,.27)) drop-shadow(0 0 38px rgba(165,216,70,.13))}
}

/* Respect reduced-motion while retaining visible atmosphere. */
@media (prefers-reduced-motion:reduce){
  .cover-art::before,.cover-art::after,.cover-art__halo,.cover-art__halo::before,.cover-art__halo::after{animation:none!important}
  .cover-art::after{opacity:.9!important}
  .cover-art__halo{opacity:.9!important}
}


/* V1.4.3 — cover quick links, faster product rotation, mobile results hierarchy */
.cover-deck--nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5em;
  margin-bottom:14px;
}
.cover-deck--nav button{
  appearance:none;
  border:0;
  padding:0 0 3px;
  background:transparent;
  color:var(--acid);
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  border-bottom:1px solid transparent;
  transition:color 160ms ease,border-color 160ms ease,text-shadow 160ms ease,transform 160ms ease;
}
.cover-deck--nav button:hover,
.cover-deck--nav button:focus-visible{
  color:var(--bone);
  border-bottom-color:var(--pink);
  text-shadow:0 0 12px rgba(165,216,70,.36);
  outline:none;
  transform:translateY(-1px);
}
.cover-deck--nav span{color:rgba(234,223,199,.5)}

.featured-product{
  transition:opacity 240ms ease,transform 420ms cubic-bezier(.2,.72,.18,1)!important;
}
.featured-product-media--button{
  appearance:none;
  border:0;
  padding:0;
  width:100%;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
.featured-product-media--button:focus-visible{
  outline:1px solid rgba(173,38,35,.6);
  outline-offset:8px;
}
.featured-product-name{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  font-family:var(--serif);
  font-size:clamp(1.35rem,1.8vw,2.25rem);
  line-height:1;
  font-weight:600;
  cursor:pointer;
}
.featured-product-name:hover,
.featured-product-name:focus-visible{
  color:var(--red);
  outline:none;
}
.featured-product-note button{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:var(--red);
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:900px){
  .cover-deck--nav{gap:.42em .5em}
  .cover-deck--nav button{min-height:32px;display:inline-flex;align-items:center}

  .chapter--results{grid-template-columns:1fr;grid-template-rows:auto auto auto!important}
  .results-heading{grid-column:1;grid-row:1}
  .result-stack{
    grid-column:1;
    grid-row:2;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    gap:20px;
    height:auto!important;
    min-height:0!important;
    margin-top:24px;
    padding:0;
  }
  .result-card--video{
    order:1;
    width:min(94vw,620px)!important;
    max-width:none!important;
    transform:rotate(-1.5deg)!important;
    margin:0!important;
  }
  .result-card--video video{
    width:100%;
    height:auto!important;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center 38%;
  }
  .result-card--image{
    order:2;
    width:min(64vw,360px)!important;
    margin:-34px 0 0 auto!important;
    align-self:flex-end!important;
    transform:rotate(3deg)!important;
    z-index:3;
  }
  .result-card--image img{width:100%;aspect-ratio:1/1;object-fit:cover}
  .chapter--results > .btn{grid-column:1;grid-row:3;margin-top:22px}

  .featured-product{transition:opacity 220ms ease,transform 380ms cubic-bezier(.2,.72,.18,1)!important}
  .featured-product-name{font-size:1.55rem}
}


/* V1.4.3 targeted product catalog cue */
.catalog-list [data-product-item]{transition:background 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.catalog-list [data-product-item].is-product-target{background:rgba(165,216,70,.13);box-shadow:inset 3px 0 0 var(--acid);transform:translateX(2px)}
.featured-product-media--button:hover img,.featured-product-media--button:focus-visible img{filter:drop-shadow(0 28px 30px rgba(11,9,9,.2))}


/* ==========================================================
   V1.4.3.2 — FINAL MOBILE VISIT / BOOK POLISH
   Scope: mobile-only final chapter spacing, headline fit,
   fixed-header collision protection, and redundant BOOK tab.
   ========================================================== */
@media (max-width: 900px){
  /* Prevent long Visit content from visually passing through the fixed chrome. */
  body.is-mobile-visit .site-chrome{
    inset:0 0 auto 0;
    padding:16px 20px 13px;
    background:linear-gradient(180deg,rgba(11,9,9,.98) 0%,rgba(11,9,9,.93) 72%,rgba(11,9,9,0) 100%);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  /* The final screen already has the dominant green booking CTA. */
  body.is-mobile-visit .book-tab{display:none}

  .chapter--visit{
    min-height:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
  }
  .visit-info{
    min-height:auto;
    padding-top:92px;
    padding-bottom:34px;
  }
  .visit-info dl{margin-bottom:0}

  .booking-poster,
  .booking-poster--video{
    min-height:56svh;
    padding-top:48px;
    padding-bottom:62px;
  }
  .booking-poster__content{min-height:auto;height:auto}
  .booking-poster h2,
  .booking-poster__content h2{
    width:100%;
    max-width:100%;
    font-size:clamp(3.1rem,13.2vw,4.65rem);
    line-height:.82;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
    margin-bottom:28px;
  }
}

@media (max-width: 520px){
  .visit-info{padding-top:88px;padding-bottom:28px}
  .booking-poster,.booking-poster--video{padding-top:42px;padding-bottom:54px;min-height:54svh}
  .booking-poster h2,.booking-poster__content h2{font-size:clamp(2.95rem,12.8vw,4rem);line-height:.84}
}

/* ==========================================================
   V1.4.4.1 — RELIABLE LOAD FADE + NATIVE MOBILE CHAPTER SWIPE
   Scope: preserve V1.4.4 TikTok addition, replace custom touch
   interception with browser-native horizontal scroll snapping,
   and use a true viewport entrance veil on load / refresh.
   ========================================================== */

.site-entrance{
  position:fixed;
  inset:0;
  z-index:1000;
  background:var(--ink);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  will-change:opacity;
  transition:opacity 680ms cubic-bezier(.2,.72,.18,1),visibility 0s linear 680ms;
}
html.site-ready .site-entrance{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@media (max-width:900px){
  html{
    width:100%;
    height:100%;
    overflow:hidden!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
  }
  body{
    width:100%;
    height:100dvh;
    min-height:100dvh;
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  /* Outer book owns the horizontal gesture. */
  .book{
    position:relative;
    display:flex;
    flex-wrap:nowrap;
    width:100vw;
    height:100dvh!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:none;
    touch-action:pan-x pan-y;
  }
  .book::-webkit-scrollbar{display:none}

  /* Each chapter is one horizontal page and owns only its vertical overflow. */
  .chapter,
  .chapter.is-before,
  .chapter.is-after,
  .chapter.is-active,
  .chapter.is-leaving{
    position:relative!important;
    inset:auto!important;
    flex:0 0 100vw;
    width:100vw;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    z-index:1!important;
  }

  /* Preserve enough bottom room for the floating mobile controls. */
  .chapter--services,
  .chapter--results,
  .chapter--skincare,
  .chapter--jeannie,
  .chapter--reviews,
  .chapter--visit{
    padding-bottom:max(88px,env(safe-area-inset-bottom));
  }
  .chapter--cover{padding-bottom:0}

  .chapter-counter{display:flex!important;font-size:.62rem}
  .site-chrome{z-index:110}
  .book-tab{z-index:115}
  .index-panel,.catalog-panel{z-index:220}
  .prototype-toast{z-index:260}
}

@media (max-width:520px){
  .chapter-counter{font-size:.58rem;gap:4px}
}

@media (prefers-reduced-motion:reduce){
  .site-entrance{display:none!important}
  @media (max-width:900px){
    .book{scroll-behavior:auto!important}
  }
}

/* ==========================================================
   V1.4.4.2 — FULL MOBILE CONTAINMENT + DELIBERATE SWIPE
   Replaces the native horizontal scrolling track from 1.4.4.1.
   Mobile keeps native vertical scrolling inside one isolated chapter;
   deliberate horizontal gestures trigger chapter-to-chapter transitions.
   ========================================================== */

/* Make the load reveal visually intentional on both desktop and mobile. */
.site-entrance{
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 46%,rgba(173,38,35,.13),transparent 30%),
    #070505;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 980ms cubic-bezier(.22,.72,.16,1),visibility 0s linear 980ms;
}
.site-entrance::before{
  content:"MYTHICAL";
  position:relative;
  z-index:2;
  font-family:var(--serif);
  font-size:clamp(1.05rem,2.1vw,1.6rem);
  font-weight:600;
  letter-spacing:.34em;
  text-indent:.34em;
  color:rgba(234,223,199,.74);
  text-shadow:0 0 28px rgba(173,38,35,.38);
  transform:translateY(-2px);
  transition:opacity 620ms ease,transform 820ms cubic-bezier(.22,.72,.16,1);
}
.site-entrance::after{
  content:"✦";
  position:absolute;
  left:50%;
  top:calc(50% + 34px);
  transform:translateX(-50%);
  color:rgba(165,216,70,.78);
  font-size:.8rem;
  text-shadow:0 0 14px rgba(165,216,70,.46);
  transition:opacity 520ms ease;
}
html.site-ready .site-entrance{opacity:0;visibility:hidden;pointer-events:none}
html.site-ready .site-entrance::before{opacity:0;transform:translateY(-8px)}
html.site-ready .site-entrance::after{opacity:0}

@media (max-width:900px){
  html,body{
    width:100%;
    height:100%;
    overflow:hidden!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
  }
  body{
    min-height:100dvh;
    overscroll-behavior:none;
  }

  /* One chapter at a time. Browser keeps vertical pan; JS arbitrates intentional horizontal swipes. */
  .book{
    position:relative!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:none;
    touch-action:pan-y;
    isolation:isolate;
  }

  .chapter,
  .chapter.is-before,
  .chapter.is-after,
  .chapter.is-active,
  .chapter.is-leaving{
    position:absolute!important;
    inset:0!important;
    display:grid;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    clip-path:none!important;
    will-change:transform,opacity;
    transition:transform 380ms cubic-bezier(.2,.76,.16,1),opacity 250ms ease,visibility 0s linear 390ms!important;
  }

  .chapter,
  .chapter.is-after{
    transform:translate3d(100%,0,0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:1!important;
  }
  .chapter.is-before{
    transform:translate3d(-100%,0,0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:1!important;
  }
  .chapter.is-active{
    transform:translate3d(var(--mobile-drag-x,0px),0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:3!important;
    transition-delay:0s!important;
  }
  .book.is-mobile-dragging .chapter.is-active{transition:none!important}

  /* Hard containment: no chapter content can widen the viewport or bleed into its neighbor. */
  .chapter > *{min-width:0;max-width:100%}
  .chapter img,.chapter video,.chapter svg{max-width:100%}
  .chapter h1,.chapter h2,.chapter h3,.chapter p,.chapter strong,.chapter span{overflow-wrap:break-word}
  .service-ribbon,.service-note,.review-note,.review-quote{max-width:calc(100vw - (var(--phone-gutter,22px) * 2))!important}

  /* Taps and vertical controls should never be interpreted as chapter swipes. */
  button,a,input,textarea,select,label,video,audio,[role="button"],[role="slider"],
  .featured-product-stage,.featured-product-controls,.result-card,.facial-mini,.service-actions,.brand-ledger,.review-wall{
    touch-action:pan-y;
  }

  /* Every mobile chapter owns its vertical length; fixed viewport contains the scrolling. */
  .chapter--services,
  .chapter--results,
  .chapter--skincare,
  .chapter--jeannie,
  .chapter--reviews,
  .chapter--visit{
    padding-bottom:max(94px,calc(env(safe-area-inset-bottom) + 72px))!important;
  }
  .chapter--cover{padding-bottom:0!important}

  /* RESULTS / chapter 02 — compact top-first composition, reliable video, no bloated canvas. */
  .chapter--results{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:86px var(--phone-gutter,22px) max(108px,calc(env(safe-area-inset-bottom) + 88px))!important;
    background:var(--ink)!important;
  }
  .results-heading{
    order:1;
    width:100%;
    max-width:34rem!important;
    padding:0!important;
    margin:0!important;
  }
  .results-heading .eyebrow{margin-bottom:12px}
  .results-heading h2{
    width:100%;
    max-width:100%!important;
    margin:0 0 16px!important;
    font-size:clamp(3rem,14vw,4.8rem)!important;
    line-height:.84!important;
    letter-spacing:-.045em;
    text-wrap:balance;
  }
  .results-heading p:last-child{
    max-width:38ch;
    margin-bottom:0;
    font-size:.92rem;
    line-height:1.55;
  }
  .result-stack{
    order:2;
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:560px!important;
    height:auto!important;
    min-height:0!important;
    margin:26px auto 0!important;
    padding:0!important;
    gap:0!important;
    overflow:visible!important;
  }
  .result-card,
  .result-card--a,
  .result-card--b,
  .result-card--video,
  .result-card--image{
    position:relative!important;
    inset:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    max-width:none!important;
  }
  .result-card--video{
    order:1!important;
    align-self:stretch!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    transform:rotate(-.75deg)!important;
    z-index:2!important;
  }
  .result-card--video video{
    display:block;
    width:100%!important;
    height:auto!important;
    max-height:56dvh!important;
    aspect-ratio:4/5!important;
    object-fit:cover!important;
    object-position:center 38%!important;
    background:#120d0d;
  }
  .result-card--video figcaption{padding-top:8px}
  .result-card--image{
    order:2!important;
    align-self:flex-end!important;
    width:min(58vw,235px)!important;
    margin:-30px 4px 0 0!important;
    padding:0!important;
    transform:rotate(2.25deg)!important;
    z-index:4!important;
  }
  .result-card--image img{
    display:block;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }
  .result-card--image figcaption{padding-top:7px}
  .result-tape{display:none!important}
  .chapter--results > .btn{
    order:3!important;
    position:static!important;
    align-self:flex-start!important;
    margin:26px 0 0!important;
  }

  /* Keep fixed chrome readable without taking over the chapter. */
  .site-chrome{z-index:110;padding-top:env(safe-area-inset-top)}
  .chapter-counter{display:flex!important;font-size:.6rem}
  .book-tab{z-index:115}
  .index-panel,.catalog-panel{z-index:220;touch-action:pan-y}
  .index-panel__paper,.catalog-panel__paper{touch-action:pan-y;overscroll-behavior:contain}
  .prototype-toast{z-index:260}
}

@media (max-width:520px){
  .chapter--results{padding-top:82px!important}
  .results-heading h2{font-size:clamp(2.85rem,13.4vw,4.15rem)!important}
  .result-card--video video{max-height:52dvh!important}
  .result-card--image{width:min(56vw,210px)!important;margin-top:-24px!important}
}

@media (prefers-reduced-motion:reduce){
  .site-entrance{display:none!important}
  @media (max-width:900px){
    .chapter,.chapter.is-before,.chapter.is-after,.chapter.is-active,.chapter.is-leaving{transition:none!important}
  }
}

/* ==========================================================
   V1.4.4.3 — MOBILE VERTICAL SCROLL REVERT ONLY
   Restores the stable native document-scroll model on <=900px.
   All later content, fade, social, product, Results, and desktop
   behavior remain in place; only horizontal/swipe page mechanics
   are neutralized here.
   ========================================================== */
@media (max-width:900px){
  html,
  body{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scroll-snap-type:none!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:auto!important;
    touch-action:auto!important;
  }
  html{scroll-behavior:smooth!important}

  .book{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
    isolation:isolate;
  }

  .chapter,
  .chapter.is-before,
  .chapter.is-after,
  .chapter.is-active,
  .chapter.is-leaving{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
    scroll-snap-align:none!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
    will-change:auto!important;
    z-index:auto!important;
  }

  .chapter--cover,
  .chapter--contents{min-height:100svh!important}
  .chapter--services{min-height:130svh!important;padding-bottom:0!important}
  .chapter--results{min-height:auto!important}
  .chapter--skincare{min-height:140svh!important;padding-bottom:110px!important}
  .chapter--jeannie{min-height:125svh!important;padding-bottom:0!important}
  .chapter--reviews{min-height:145svh!important;padding-bottom:110px!important}
  .chapter--visit{min-height:120svh!important;padding-bottom:0!important}

  .book.is-mobile-dragging .chapter.is-active{transition:none!important}

  button,a,input,textarea,select,label,video,audio,[role="button"],[role="slider"],
  .featured-product-stage,.featured-product-controls,.result-card,.facial-mini,.service-actions,.brand-ledger,.review-wall{
    touch-action:auto!important;
  }
}

/* ==========================================================
   V1.4.4.4 — MOBILE FEATURED PRODUCT ROTATOR STABILITY
   Scope: mobile-only Safari compositing / crossfade hardening.
   ========================================================== */
@media (max-width:900px){
  .featured-product{
    transform:none!important;
    transform-origin:center!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    transition:opacity 260ms ease!important;
    will-change:opacity;
    z-index:1;
  }
  .featured-product.is-active{
    transform:none!important;
    z-index:2;
  }
  .featured-product-media img{
    mix-blend-mode:normal!important;
    -webkit-transform:none!important;
    transform:none!important;
  }
}

/* ==========================================================
   V1.4.4.5 — COVER HERO INTEGRATION POLISH
   Scope: desktop + mobile cover art only.
   Removes the visible rectangular logo field, lets the artwork
   blend into the chapter atmosphere, and visually extends the
   red moon into the existing pulse halo.
   ========================================================== */
.cover-art{
  background:
    radial-gradient(circle at 50% 43%,rgba(173,38,35,.34) 0 24%,rgba(173,38,35,.17) 35%,rgba(173,38,35,.065) 49%,transparent 63%),
    radial-gradient(circle at 50% 46%,#2b1110 0 35%,#17100e 56%,#0b0808 76%,#080707 100%);
}

.cover-art__halo{
  width:min(78%,820px);
  border-color:rgba(173,38,35,.58);
  background:
    radial-gradient(circle at 50% 50%,rgba(173,38,35,.16) 0 54%,rgba(173,38,35,.085) 58%,rgba(173,38,35,.035) 65%,transparent 73%);
  box-shadow:
    0 0 0 20px rgba(173,38,35,.052),
    0 0 0 52px rgba(165,216,70,.025),
    0 0 92px rgba(173,38,35,.24),
    inset 0 0 62px rgba(234,165,181,.045);
}

.cover-logo{
  width:min(92%,860px);
  max-height:92vh;
  mix-blend-mode:lighten;
  filter:saturate(1.02) contrast(1.08) drop-shadow(0 0 24px rgba(173,38,35,.2)) drop-shadow(0 0 46px rgba(165,216,70,.08));
}

@media (min-width:1600px){
  .cover-logo{width:min(90%,900px);max-height:94vh}
  .cover-art__halo{width:min(80%,860px)}
}

@media (max-width:900px){
  .cover-art{
    background:
      radial-gradient(circle at 50% 42%,rgba(173,38,35,.38) 0 25%,rgba(173,38,35,.18) 37%,rgba(173,38,35,.07) 51%,transparent 66%),
      radial-gradient(circle at 50% 46%,#2b1110 0 35%,#17100e 57%,#0b0808 77%,#080707 100%);
  }
  .cover-art__halo{
    width:min(92vw,540px);
    background:
      radial-gradient(circle at 50% 50%,rgba(173,38,35,.18) 0 55%,rgba(173,38,35,.09) 60%,rgba(173,38,35,.035) 67%,transparent 75%);
    box-shadow:
      0 0 0 14px rgba(173,38,35,.055),
      0 0 0 36px rgba(165,216,70,.028),
      0 0 66px rgba(173,38,35,.22),
      inset 0 0 44px rgba(234,165,181,.04);
  }
  .cover-logo{
    width:min(92vw,590px);
    max-width:94%;
    max-height:55svh;
    mix-blend-mode:lighten;
    filter:saturate(1.02) contrast(1.07) drop-shadow(0 0 22px rgba(173,38,35,.2)) drop-shadow(0 0 40px rgba(165,216,70,.08));
  }
}

/* ==========================================================
   V1.4.4.6 — COVER EDGE BLEND
   Scope: cover artwork only, desktop + mobile.
   The source logo asset has an opaque dark rectangular canvas.
   Feather only the outer image field so the artwork dissolves
   into the ambient cover rather than revealing that rectangle.
   ========================================================== */
.cover-art{
  background:
    radial-gradient(circle at 50% 43%,rgba(173,38,35,.36) 0 24%,rgba(173,38,35,.18) 35%,rgba(173,38,35,.07) 49%,transparent 64%),
    radial-gradient(circle at 50% 46%,#321412 0 35%,#211411 56%,#17100f 76%,#14100f 100%);
}

.cover-logo{
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 2.5%,#000 7%,#000 93%,rgba(0,0,0,.35) 97.5%,transparent 100%),
    linear-gradient(to bottom,transparent 0%,#000 3.25%,#000 94.5%,rgba(0,0,0,.55) 97.5%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 2.5%,#000 7%,#000 93%,rgba(0,0,0,.35) 97.5%,transparent 100%),
    linear-gradient(to bottom,transparent 0%,#000 3.25%,#000 94.5%,rgba(0,0,0,.55) 97.5%,transparent 100%);
  mask-composite:intersect;
}

@media(max-width:900px){
  .cover-art{
    background:
      radial-gradient(circle at 50% 42%,rgba(173,38,35,.4) 0 25%,rgba(173,38,35,.2) 37%,rgba(173,38,35,.075) 51%,transparent 67%),
      radial-gradient(circle at 50% 46%,#321412 0 35%,#211411 57%,#17100f 77%,#14100f 100%);
  }
  .cover-logo{
    -webkit-mask-image:
      linear-gradient(to right,transparent 0%,rgba(0,0,0,.4) 2%,#000 6.5%,#000 93.5%,rgba(0,0,0,.4) 98%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 3%,#000 95%,rgba(0,0,0,.6) 98%,transparent 100%);
    mask-image:
      linear-gradient(to right,transparent 0%,rgba(0,0,0,.4) 2%,#000 6.5%,#000 93.5%,rgba(0,0,0,.4) 98%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 3%,#000 95%,rgba(0,0,0,.6) 98%,transparent 100%);
  }
}


/* === V1.5 PRODUCTION HARDENING ===
   Accessibility/resilience only; preserves approved art direction. */
.btn,.text-link,.book-tab{text-decoration:none}
body[data-index-open="true"],body[data-panel-open="true"]{overflow:hidden}
@media(max-width:900px){
  .cover-deck--nav button{min-height:44px;padding-top:8px;padding-bottom:8px}
  .featured-product-controls button{width:44px;height:44px}
  .index-close,.catalog-close{min-width:44px;min-height:44px}
}


/* V1.5.1 — desktop/media fidelity polish. */
@media (min-width:901px){
  .service-photo-frame img{
    transform:scale(1.01);
    filter:saturate(.9) contrast(1.06) brightness(1.01);
    backface-visibility:hidden;
    image-rendering:auto;
  }

  .result-card--video{
    transform:rotate(-.95deg);
  }

  .result-card--image{
    transform:rotate(2.35deg);
  }
}

.result-card--video,
.result-card--image{
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.result-card--video video,
.result-card--image img{
  display:block;
  border-radius:2px;
  outline:1px solid rgba(234,223,199,.12);
  backface-visibility:hidden;
  transform:translateZ(0);
  image-rendering:auto;
}

.result-card--video video{
  background:#120d0d;
  box-shadow:0 28px 52px rgba(0,0,0,.28);
}

.result-card--image img{
  box-shadow:0 20px 38px rgba(0,0,0,.24);
}

@media (max-width:900px){
  .result-card--video{
    transform:rotate(-.85deg)!important;
  }

  .result-card--image{
    transform:rotate(1.85deg)!important;
  }
}


/* V1.5.2 — desktop Results: frameless editorial media composition. */
@media (min-width:901px){
  .chapter--results .result-card,
  .chapter--results .result-card--a,
  .chapter--results .result-card--b,
  .chapter--results .result-card--video,
  .chapter--results .result-card--image{
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    outline:0!important;
    overflow:visible!important;
    color:var(--bone);
  }

  .chapter--results .result-card--video{
    transform:rotate(-.45deg)!important;
  }

  .chapter--results .result-card--image{
    transform:rotate(1.15deg)!important;
  }

  .chapter--results .result-card video,
  .chapter--results .result-card img{
    border:0!important;
    outline:0!important;
    border-radius:1px!important;
    clip-path:none!important;
    background:#120d0d;
    backface-visibility:hidden;
    transform:translateZ(0);
  }

  .chapter--results .result-card--video video{
    box-shadow:0 28px 58px rgba(0,0,0,.34)!important;
  }

  .chapter--results .result-card--image img{
    box-shadow:0 22px 44px rgba(0,0,0,.3)!important;
  }

  .chapter--results .result-card figcaption{
    display:flex;
    align-items:center;
    gap:9px;
    margin:10px 0 0!important;
    padding:0!important;
    color:rgba(234,223,199,.7);
    font-size:.56rem;
    font-weight:600;
    letter-spacing:.16em;
    line-height:1.25;
  }

  .chapter--results .result-card figcaption::before{
    content:"";
    width:22px;
    height:1px;
    flex:0 0 22px;
    background:rgba(173,38,35,.78);
  }
}


/* V1.5.5 — return to V1.5.2 Results presentation with only a light edge blend. */
@media (min-width:901px){
  .chapter--results .result-card--video video{
    border:0!important;
    outline:0!important;
    border-radius:0!important;
    -webkit-mask-image:
      linear-gradient(to right,transparent 0%,#000 1.8%,#000 98.2%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:
      linear-gradient(to right,transparent 0%,#000 1.8%,#000 98.2%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%);
    mask-composite:intersect;
  }

  .chapter--results .result-card--image img{
    border:0!important;
    outline:0!important;
    border-radius:0!important;
    -webkit-mask-image:
      linear-gradient(to right,transparent 0%,#000 1.2%,#000 98.8%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 1.2%,#000 98.8%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:
      linear-gradient(to right,transparent 0%,#000 1.2%,#000 98.8%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 1.2%,#000 98.8%,transparent 100%);
    mask-composite:intersect;
  }
}

/* Mobile videos are ambient/non-interactive media: autoplay inline with native play overlays suppressed. */
@media (max-width:900px){
  .chapter video,
  .booking-poster video{
    pointer-events:none;
  }
  video::-webkit-media-controls,
  video::-webkit-media-controls-panel,
  video::-webkit-media-controls-start-playback-button,
  video::-webkit-media-controls-overlay-play-button{
    display:none!important;
    -webkit-appearance:none;
  }
}
