:root{--ink:#181714;--paper:#f3f0e9;--muted:#77736a;--line:rgba(24,23,20,.22);--soft:#e6e0d6;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,a{font:inherit}button{color:inherit}.shell{min-height:100svh;padding:24px clamp(20px,4vw,56px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.brand{display:flex;align-items:baseline;gap:9px;letter-spacing:.2em;font-size:20px}.brand small{font-size:9px;letter-spacing:.24em}.progress{display:flex;align-items:center;gap:18px;margin-top:32px;color:var(--muted);font-size:11px;letter-spacing:.15em}.progress:after{content:"";height:1px;background:var(--line);flex:1}.progress i{position:absolute;top:87px;left:calc(clamp(20px,4vw,56px) + 74px);height:1px;background:var(--ink);width:var(--pw,20%);transition:width .5s ease}.stage{display:flex;align-items:center;width:100%;max-width:1180px;margin:auto;animation:enter .55s ease}.panel{width:100%;padding:40px 0}.eyebrow{font-size:11px;letter-spacing:.2em;margin:0 0 18px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.025em}h1{font-size:clamp(56px,8vw,110px);max-width:880px;margin-bottom:24px}h2{font-size:clamp(44px,6.5vw,84px);max-width:900px;margin-bottom:18px}.lede{color:var(--muted);font-size:clamp(16px,2vw,20px);font-weight:300;line-height:1.5;max-width:520px;margin-bottom:36px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn,.choice{border:1px solid var(--ink);background:transparent;min-height:52px;padding:0 22px;letter-spacing:.1em;font-size:12px;text-transform:uppercase;cursor:pointer;transition:.25s}.btn.primary{background:var(--ink);color:var(--paper)}.btn:hover,.choice:hover,.choice.selected{background:var(--ink);color:var(--paper)}.text-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:4px 0;cursor:pointer;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;margin:32px 0}.choice{text-align:left;min-height:68px}.next-row{display:flex;gap:20px;align-items:center}.micro{font-size:12px;color:var(--muted);margin-top:18px}.result-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(32px,6vw,90px);align-items:start}.recommendation{border-top:1px solid var(--ink);padding-top:18px}.rec-name{font-family:var(--serif);font-size:clamp(48px,7vw,90px);font-weight:400;margin:12px 0 12px}.price{font-size:12px;letter-spacing:.12em;margin:22px 0;color:var(--muted)}.side-card{border-top:1px solid var(--line);padding:20px 0 26px}.side-card h3{font-family:var(--serif);font-size:31px;font-weight:400;margin-bottom:10px}.side-card p,.fineprint{font-size:13px;line-height:1.55;color:var(--muted)}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.face-wrap{display:grid;grid-template-columns:minmax(240px,430px) 1fr;gap:40px;align-items:center}.face{position:relative;aspect-ratio:3/4;width:min(100%,390px);margin:auto;background:radial-gradient(ellipse at 50% 44%,#ded7cc 0 42%,transparent 43%),linear-gradient(135deg,#cbc2b5,#eee9e1);border-radius:49% 49% 45% 45%/40% 40% 55% 55%;filter:grayscale(.15);box-shadow:inset 0 0 80px rgba(255,255,255,.55)}.face:before{content:"";position:absolute;inset:16% 29% 20%;border-left:1px solid rgba(24,23,20,.18);border-right:1px solid rgba(24,23,20,.1);border-radius:50%}.pin{position:absolute;width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;background:rgba(243,240,233,.85);display:grid;place-items:center;cursor:pointer;transition:.2s}.pin:hover,.pin.active{background:var(--ink);color:var(--paper);transform:scale(1.08)}.pin[data-area="Panna"]{top:17%;left:46%}.pin[data-area="Mellan brynen"]{top:31%;left:46%}.pin[data-area="Kråksparkar"]{top:35%;right:15%}.pin[data-area="Under ögonen"]{top:41%;left:26%}.pin[data-area="Ögonbryn"]{top:29%;left:22%}.pin[data-area="Näsa"]{top:48%;left:46%}.pin[data-area="Kinder"]{top:51%;right:17%}.pin[data-area="Mungipor"]{top:65%;left:29%}.pin[data-area="Haka"]{top:73%;left:46%}.pin[data-area="Käke"]{top:69%;right:13%}.pin[data-area="Hals"]{top:89%;left:46%}.selected-areas{min-height:24px;font-family:var(--serif);font-size:25px;margin:18px 0}footer{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.16em;color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){.shell{padding:20px}.progress{margin-top:24px}.progress i{top:78px;left:94px}.stage{align-items:flex-start}.panel{padding:48px 0 32px}h1{font-size:58px}h2{font-size:46px}.choices{grid-template-columns:1fr;margin:24px 0}.choice{min-height:58px}.face-wrap{grid-template-columns:1fr;gap:16px}.face{width:225px}.result-grid{grid-template-columns:1fr}.result-actions,.actions{flex-direction:column;align-items:stretch}.btn{text-align:center}.next-row{align-items:flex-start;flex-direction:column-reverse}.rec-name{font-size:58px}footer{margin-top:20px}.side-card{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Living editorial face map */
.face{width:min(100%,430px);background:url('tox-face-editorial.png') center/cover no-repeat;border-radius:48% 48% 10px 10px/34% 34% 10px 10px;filter:none;overflow:visible;box-shadow:0 30px 70px rgba(34,29,22,.16);isolation:isolate;animation:portraitBreath 7s ease-in-out infinite}
.face:before{inset:0;border:0;border-radius:inherit;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.22) 48%,transparent 68%);background-size:220% 100%;animation:lightSweep 8s ease-in-out infinite;pointer-events:none;z-index:1}
.face:after{content:"DIGITAL CONSULTATION";position:absolute;left:14px;bottom:12px;color:rgba(255,255,255,.76);font-size:8px;letter-spacing:.22em;z-index:2}
.pin{z-index:3;width:32px;height:32px;border-color:rgba(24,23,20,.68);background:rgba(243,240,233,.78);backdrop-filter:blur(5px);transition:transform .25s,background .25s,color .25s,box-shadow .25s;animation:pinPulse 3.4s ease-out infinite}
.pin:after{content:attr(data-area);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%) translateY(-3px);white-space:nowrap;padding:6px 9px;background:var(--ink);color:var(--paper);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;transition:.2s}
.pin:hover,.pin.active{transform:scale(1.1);box-shadow:0 8px 22px rgba(24,23,20,.22);animation:none}
.pin:hover:after,.pin.active:after{opacity:1;transform:translateX(-50%) translateY(0)}
.pin[data-area="Kråksparkar"]{right:12%}.pin[data-area="Under ögonen"]{left:25%}.pin[data-area="Ögonbryn"]{left:19%}.pin[data-area="Kinder"]{right:14%}.pin[data-area="Mungipor"]{top:61%;left:28%}.pin[data-area="Haka"]{top:69%}.pin[data-area="Käke"]{top:68%;right:9%}.pin[data-area="Hals"]{top:84%}
@keyframes portraitBreath{0%,100%{transform:translateY(0);box-shadow:0 30px 70px rgba(34,29,22,.16)}50%{transform:translateY(-5px);box-shadow:0 38px 82px rgba(34,29,22,.2)}}
@keyframes lightSweep{0%,28%{background-position:130% 0}70%,100%{background-position:-80% 0}}
@keyframes pinPulse{0%,100%{box-shadow:0 0 0 0 rgba(243,240,233,.58)}45%{box-shadow:0 0 0 7px rgba(243,240,233,0)}}
@media(max-width:700px){.face{width:min(78vw,310px)}.pin{width:29px;height:29px}.pin:after{display:none}}
.membership-gate{width:100%;margin:8px 0 2px;padding:22px;border:1px solid var(--ink);background:rgba(255,255,255,.2)}.membership-gate p:not(.eyebrow){max-width:560px;font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:20px}.membership-gate .btn{display:inline-flex;align-items:center;text-decoration:none;margin-right:16px}.membership-gate .text-link{display:inline-block;text-decoration:none}@media(max-width:700px){.membership-gate{padding:18px}.membership-gate .btn{display:flex;margin:0 0 18px;justify-content:center}}

/* Dark TOX editorial direction */
:root{--ink:#f4f0e9;--paper:#2c2c2c;--muted:#c9c5c0;--line:rgba(244,240,233,.22);--soft:#383838;--serif:"Raleway",Arial,sans-serif;--sans:"Raleway",Arial,sans-serif}
html,body{background:#2c2c2c;color:var(--ink);font-family:var(--sans)}
.shell{position:relative;background:#2c2c2c;isolation:isolate}
.shell:before{content:"";position:absolute;z-index:-2;inset:0;background:url('tox-face-editorial.png') 78% 38%/min(68vw,860px) auto no-repeat;opacity:.34;filter:saturate(.55) sepia(.18) contrast(1.08);animation:bgDrift 15s ease-in-out infinite alternate}
.shell:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(16,15,13,.98) 0%,rgba(16,15,13,.86) 39%,rgba(16,15,13,.38) 72%,rgba(16,15,13,.72) 100%),linear-gradient(0deg,rgba(10,9,8,.84),transparent 35%)}
.brand,.progress,.stage,footer{position:relative;z-index:1}
.brand{font-weight:300}.progress i{background:var(--ink)}
h1,h2,.rec-name,.selected-areas,.side-card h3{font-family:var(--sans);font-weight:300;letter-spacing:-.045em}
h1{font-size:clamp(50px,7.3vw,98px);line-height:.98}h2{font-size:clamp(42px,5.8vw,76px);line-height:1}.rec-name{font-size:clamp(45px,6.2vw,80px)}
.eyebrow{color:#d5cec4;font-weight:500}.lede,.micro,.price,.side-card p,.fineprint{color:var(--muted)}
.panel{position:relative;padding:clamp(42px,7vh,76px) 0}.panel:not(.face-wrap){max-width:1040px}
.choices{gap:12px}.choice,.btn{border-color:rgba(244,240,233,.58);background:rgba(32,28,24,.42);backdrop-filter:blur(12px);color:var(--ink)}
.choice{border-radius:999px;padding-left:26px}.choice:hover,.choice.selected,.btn:hover{background:rgba(244,240,233,.94);color:#151310}.btn{border-radius:999px;text-decoration:none}.btn.primary{background:#e8e1d7;color:#171411;border-color:#e8e1d7}.btn.primary:hover{background:#fff;color:#111}
.text-link{color:var(--ink);border-bottom-color:rgba(244,240,233,.55)}.recommendation{border-top-color:rgba(244,240,233,.7)}
.side-card{padding:24px;background:rgba(21,18,15,.48);backdrop-filter:blur(15px);border:1px solid rgba(244,240,233,.14);margin-bottom:12px}.membership-gate{background:rgba(24,20,17,.64);border-color:rgba(244,240,233,.45);backdrop-filter:blur(18px)}
.face{border-radius:2px;box-shadow:0 30px 80px rgba(0,0,0,.46)}
body[data-step="4"] .shell:before{opacity:.12}body[data-step="4"] .shell:after{background:linear-gradient(90deg,rgba(16,15,13,.88),rgba(16,15,13,.58))}
@keyframes bgDrift{from{background-position:78% 40%;transform:scale(1)}to{background-position:75% 34%;transform:scale(1.025)}}
@media(max-width:700px){.shell:before{background-position:70% 13%;background-size:auto 78vh;opacity:.25}.shell:after{background:linear-gradient(0deg,rgba(16,15,13,.98) 0%,rgba(16,15,13,.9) 53%,rgba(16,15,13,.44) 100%)}.panel{padding-top:52px}h1{font-size:48px}.choices{gap:9px}.choice{background:rgba(22,19,16,.68)}.side-card{padding:19px}}
.result-panel{max-width:1180px!important}.recommendation-highlight{position:relative;padding:30px;border:1px solid rgba(244,240,233,.72);background:linear-gradient(145deg,rgba(235,224,210,.16),rgba(20,17,14,.65));backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.25)}.recommendation-highlight:before{content:"REKOMMENDERAD";position:absolute;right:18px;top:17px;font-size:9px;letter-spacing:.18em;color:#e4dbcf}.recommendation-highlight .rec-name{margin-top:18px}.side-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;margin-top:8px}.side-card .side-action{width:100%}.membership-gate h3{font-size:28px;font-weight:300;margin:0 0 12px}.restart-link{margin:24px 0 18px}.result-panel>.fineprint{max-width:760px}@media(max-width:700px){.recommendation-highlight{padding:22px 18px}.recommendation-highlight:before{position:static;display:block;margin-bottom:14px}.membership-gate .text-link{margin-top:4px}.result-grid{gap:18px}}
.intro-panel{max-width:880px!important}.intro-panel .eyebrow{margin-bottom:14px}.intro-rule{width:min(520px,70vw);height:1px;background:rgba(244,240,233,.46);margin:0 0 28px}.intro-panel h1{margin-bottom:12px}.intro-script{font-size:clamp(22px,2.5vw,34px);font-style:italic;font-weight:300;letter-spacing:-.02em;margin:0 0 22px;color:#e7dfd4}.btn{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.intro-actions{align-items:stretch}.book-direct{white-space:nowrap;min-width:245px}.intro-actions .btn{min-height:54px}.intro-panel .lede{margin-bottom:28px}body[data-step="0"] .progress{visibility:hidden}@media(max-width:700px){.intro-rule{width:82%;margin-bottom:24px}.intro-script{font-size:22px}.book-direct{width:100%;min-width:0;white-space:normal}.intro-actions .btn{width:100%}}

/* Refined hierarchy and anatomical face map */
.intro-panel h1{font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.025em;margin-bottom:16px}.intro-script{font-size:clamp(48px,6vw,82px);line-height:.98;font-style:normal;letter-spacing:-.055em;margin-bottom:28px;max-width:760px}
.pin[data-area="Panna"]{top:20%;left:46%}.pin[data-area="Mellan brynen"]{top:30%;left:46%}.pin[data-area="Ögonbryn"]{top:30%;left:28%}.pin[data-area="Kråksparkar"]{top:36%;right:20%}.pin[data-area="Under ögonen"]{top:40%;left:31%}.pin[data-area="Näsa"]{top:47%;left:46%}.pin[data-area="Kinder"]{top:49%;right:23%}.pin[data-area="Näsvinge till mungipa"]{top:52%;left:35%}.pin[data-area="Mungipor"]{top:57%;left:34%}.pin[data-area="Haka"]{top:65%;left:46%}.pin[data-area="Käke"]{top:67%;right:16%}.pin[data-area="Hals"]{top:80%;left:46%}
@media(min-width:901px){body[data-step="6"] .stage{max-width:1320px}.result-panel{padding-top:52px;padding-bottom:60px}.result-panel>.eyebrow{margin-bottom:24px}.result-panel .membership-gate{margin-bottom:36px;padding:30px 34px}.result-grid{grid-template-columns:minmax(0,1.4fr) minmax(340px,.72fr);gap:52px}.recommendation-highlight{padding:44px;min-height:520px;display:flex;flex-direction:column;justify-content:center}.recommendation-highlight .lede{max-width:620px}.recommendation-highlight .side-action{align-self:flex-start;min-width:240px}.result-grid aside{display:grid;gap:18px}.result-grid .side-card{margin:0;padding:30px}.result-panel .restart-link{margin-top:34px}}
@media(max-width:700px){.intro-panel h1{font-size:24px}.intro-script{font-size:44px;line-height:1.02}.pin[data-area="Näsvinge till mungipa"]{top:52%;left:35%}}

/* Selectable TOX treatment points */
.intro-prompt{margin-bottom:14px}.point-map{overflow:visible}
.face-point{position:absolute;z-index:4;width:36px;height:36px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;transform:translate(-50%,-50%)}
.face-point:before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#050403;border:0;box-shadow:0 4px 12px rgba(0,0,0,.44);transition:.24s}
.face-point span{position:absolute;left:50%;top:calc(50% + 15px);transform:translateX(-50%) translateY(-3px);padding:6px 9px;border-radius:999px;background:rgba(7,6,5,.88);color:#fff;font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}
.face-point:hover:before{background:#050403;box-shadow:0 4px 14px rgba(0,0,0,.52);transform:scale(1.18)}.face-point.active:before,.face-point.active:hover:before{background:#fff;border:0;box-shadow:0 4px 14px rgba(0,0,0,.52);transform:scale(1.18)}.face-point:hover span{opacity:1;transform:translateX(-50%) translateY(0)}
.point-panna{top:22%;left:50%}.point-argrynka{top:32%;left:50%}.point-krak-left{top:37%;left:26%}.point-krak-right{top:37%;left:74%}.point-brow-left{top:31%;left:32%}.point-brow-right{top:31%;left:68%}.point-nasa{top:44%;left:56%}.point-gummy{top:52%;left:57%}.point-lip{top:55%;left:50%}.point-corner-left{top:59%;left:39%}.point-corner-right{top:59%;left:61%}.point-haka{top:65%;left:50%}.point-jaw-left{top:60%;left:31%}.point-jaw-right{top:60%;left:69%}.point-hals{top:79%;left:50%}
.selection-note{max-width:540px;margin:-24px 0 26px;color:#d3cbc0;font-size:13px;line-height:1.5;letter-spacing:.025em}.area-actions{margin-top:30px}.step-back{display:inline-block;margin-top:24px}.result-nav{display:flex;gap:24px;margin:30px 0 18px}
@media(max-width:700px){.intro-prompt{margin-bottom:12px}.face-point{width:34px;height:34px}.face-point span{display:none}.selection-note{margin:-18px 0 22px}.area-actions{margin-top:24px}.step-back{margin-top:20px}.result-nav{gap:20px;margin-top:26px}}

/* Portrait without a rectangular frame */
.point-map{background:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible;isolation:isolate}
.point-map:before,.point-map:after{display:none!important}
.face-photo{position:absolute;inset:-3%;z-index:1;background:url('tox-face-cutout-v2.png') center/contain no-repeat;filter:drop-shadow(0 28px 42px rgba(0,0,0,.34))}

/* Guided first-visit path */
.guided-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.guided-actions .side-action{flex:1;min-width:230px}.first-visit-card{border-color:rgba(244,240,233,.42);background:linear-gradient(145deg,rgba(235,224,210,.14),rgba(20,17,14,.68))}.membership-note{color:#e5ded4!important;font-weight:500}.guided-result .recommendation-highlight{min-height:0}
@media(max-width:700px){.guided-actions{flex-direction:column}.guided-actions .side-action{width:100%;min-width:0}.face-photo{inset:-2%}}

/* Focused recommendation hierarchy */
.result-stack{display:grid;gap:18px;max-width:1100px}.focused-result .recommendation-highlight{min-height:360px}.subscription-option,.skin-single{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:26px 30px;border:1px solid rgba(244,240,233,.16);backdrop-filter:blur(16px)}.subscription-option{background:linear-gradient(120deg,rgba(65,76,84,.62),rgba(18,19,20,.72));border-color:rgba(188,207,217,.28)}.skin-single{background:linear-gradient(120deg,rgba(103,75,56,.38),rgba(21,18,15,.7));border-color:rgba(218,192,169,.28)}.subscription-option h3,.skin-single h3,.result-help h3{margin:0 0 8px;font-size:clamp(25px,3vw,36px);font-weight:300;letter-spacing:-.035em}.subscription-option p:not(.eyebrow):not(.price),.skin-single p:not(.eyebrow):not(.price),.result-help>p:not(.eyebrow){margin:0;max-width:650px;color:var(--muted);font-size:15px;line-height:1.55}.subscription-action,.skin-action{min-width:220px;text-align:right}.subscription-action .price,.skin-action .price{margin:0 0 8px}.result-help{max-width:1100px;margin-top:42px;padding-top:26px;border-top:1px solid rgba(244,240,233,.24)}.result-help .eyebrow{margin-bottom:11px}.help-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.help-actions .text-link{text-decoration:none}.focused-result .restart-link,.guided-result .restart-link{display:block}
@media(max-width:700px){.focused-result .recommendation-highlight{min-height:0}.subscription-option,.skin-single{grid-template-columns:1fr;gap:18px;padding:22px 18px}.subscription-action,.skin-action{min-width:0;text-align:left}.subscription-action .side-action,.skin-action .side-action{width:100%}.result-help{margin-top:30px}.help-actions{align-items:flex-start;flex-direction:column;gap:12px}}

/* Cleaner steps and a brighter primary recommendation */
.progress:after,.progress i{display:none}.focused-result .recommendation-highlight,.recommendation-path .recommendation-highlight{background:linear-gradient(140deg,rgba(247,242,234,.98),rgba(218,205,190,.94));border-color:#f7f2ea;color:#17130f;box-shadow:0 32px 90px rgba(0,0,0,.42)}.focused-result .recommendation-highlight:before,.recommendation-path .recommendation-highlight:before{color:#574d43}.focused-result .recommendation-highlight .eyebrow,.focused-result .recommendation-highlight .lede,.focused-result .recommendation-highlight .price,.recommendation-path .recommendation-highlight .eyebrow,.recommendation-path .recommendation-highlight .lede,.recommendation-path .recommendation-highlight .price{color:#4f473f}.focused-result .recommendation-highlight .btn.primary,.recommendation-path .recommendation-highlight .btn.primary{background:#17130f;border-color:#17130f;color:#f7f2ea}.recommendation-path .recommendation-highlight{min-height:440px}.consultation-choice{background:rgba(18,16,14,.72);border-color:rgba(244,240,233,.22)}.consultation-actions{display:grid;gap:10px}.consultation-actions .side-action{width:100%}
@media(max-width:700px){.recommendation-path .recommendation-highlight{min-height:0}}

/* Step-aware editorial backgrounds */
.shell:before{background-image:var(--guide-bg,url('tox-face-editorial.png'));will-change:opacity,transform}.shell.bg-change:before{animation:bgReveal .72s ease-out both,stepDrift 15s .72s ease-in-out infinite alternate}
body[data-step="0"] .shell:before{background-position:70% 35%;background-size:cover;opacity:.76}
body[data-step="0"] .shell:after{background:linear-gradient(90deg,rgba(12,11,10,.98) 0%,rgba(12,11,10,.9) 42%,rgba(12,11,10,.2) 72%,rgba(12,11,10,.34) 100%),linear-gradient(0deg,rgba(8,8,7,.72),transparent 46%)}
body[data-step="1"] .shell:before,body[data-step="2"] .shell:before,body[data-step="6"] .shell:before{background-position:center 58%;background-size:cover;opacity:.3}
body[data-step="3"] .shell:before{background-position:72% 48%;background-size:cover;opacity:.38}
body[data-step="4"] .shell:before{background-position:68% 46%;background-size:cover;opacity:.14}
body[data-step="5"] .shell:before{background-position:70% 48%;background-size:cover;opacity:.36}
body[data-step="1"] .shell:after,body[data-step="2"] .shell:after,body[data-step="6"] .shell:after{background:linear-gradient(90deg,rgba(12,11,10,.97) 0%,rgba(12,11,10,.82) 44%,rgba(12,11,10,.42) 76%,rgba(12,11,10,.64) 100%),linear-gradient(0deg,rgba(8,8,7,.82),transparent 48%)}
body[data-step="3"] .shell:after,body[data-step="5"] .shell:after{background:linear-gradient(90deg,rgba(12,11,10,.98) 0%,rgba(12,11,10,.84) 43%,rgba(12,11,10,.32) 73%,rgba(12,11,10,.58) 100%),linear-gradient(0deg,rgba(8,8,7,.78),transparent 42%)}
@keyframes bgReveal{from{opacity:0;transform:scale(1.035)}to{transform:scale(1)}}@keyframes stepDrift{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(max-width:700px){body[data-step="0"] .shell:before{background-position:54% 32%;background-size:cover;opacity:.68}body[data-step="0"] .shell:after{background:linear-gradient(0deg,rgba(16,15,13,.96) 0%,rgba(16,15,13,.82) 55%,rgba(16,15,13,.28) 100%)}body[data-step="1"] .shell:before,body[data-step="2"] .shell:before,body[data-step="6"] .shell:before{background-position:54% center;background-size:cover;opacity:.23}body[data-step="3"] .shell:before{background-position:58% center;opacity:.28}body[data-step="4"] .shell:before{background-position:56% center;opacity:.1}body[data-step="5"] .shell:before{background-position:62% center;opacity:.28}body[data-step="1"] .shell:after,body[data-step="2"] .shell:after,body[data-step="3"] .shell:after,body[data-step="5"] .shell:after,body[data-step="6"] .shell:after{background:linear-gradient(0deg,rgba(16,15,13,.98) 0%,rgba(16,15,13,.92) 58%,rgba(16,15,13,.48) 100%)}}
@media(prefers-reduced-motion:reduce){.shell.bg-change:before{animation:none}}

/* Welcome hierarchy */
.intro-panel h1{max-width:820px;margin-bottom:22px;font-size:clamp(54px,7.2vw,96px);line-height:.96;letter-spacing:-.055em}.intro-panel .intro-prompt{max-width:650px;margin-bottom:30px;color:#e7dfd4;font-size:clamp(18px,2vw,24px);line-height:1.45;letter-spacing:-.015em}
@media(max-width:700px){.intro-panel h1{font-size:46px;line-height:1;margin-bottom:18px}.intro-panel .intro-prompt{font-size:18px;line-height:1.45;margin-bottom:26px}}

/* Tighter welcome screen without decorative rules */
.intro-rule{display:none}
footer{border-top:0}
body[data-step="0"] .progress{height:0;min-height:0;margin:0;overflow:hidden;visibility:hidden}
body[data-step="0"] .intro-panel{top:clamp(-34px,-3vh,-18px)}
@media(max-width:700px){body[data-step="0"] .intro-panel{top:0;padding-top:14px}}

/* Full homepage-style welcome with video */
body[data-step="0"]{overflow-x:hidden;overflow-y:auto;background:#2c2c2c}
body[data-step="0"] .shell{display:block;min-height:auto;padding:0;overflow:visible;background:#2c2c2c}
body[data-step="0"] .shell:before,body[data-step="0"] .shell:after{display:none}
body[data-step="0"] .stage{display:block;width:100%;max-width:none;margin:0;min-height:0}
body[data-step="0"] footer{display:none}
.home-start{width:100%;background:#2c2c2c;color:#f4f0e9}
.home-hero{position:relative;display:grid;place-items:center;min-height:100svh;overflow:hidden;background:#333}
.home-topbar{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:78px;padding:0 clamp(22px,4vw,64px);border-bottom:1px solid rgba(244,240,233,.18);background:linear-gradient(180deg,rgba(12,9,7,.66),rgba(12,9,7,.08));backdrop-filter:blur(4px)}
.home-brand{position:relative;z-index:2;display:block;width:82px;flex:0 0 auto}
.home-brand img{width:100%;height:auto;filter:brightness(0) drop-shadow(0 0 3px rgba(255,255,255,.32));opacity:.94}
.home-topnav{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}
.home-topnav a{padding:29px 0 24px;border-bottom:1px solid transparent;color:#f4f0e9;font-size:10px;font-weight:500;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.home-topnav a:hover{border-bottom-color:#f4f0e9}
.home-topnav .home-nav-book{min-width:94px;padding:10px 20px;border:1px solid rgba(244,240,233,.62);border-radius:999px;text-align:center}
.home-topnav .home-nav-book:hover{background:#f4f0e9;color:#17130f}
.home-mobile-menu{display:none;position:relative}
.home-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.46) contrast(1.16) saturate(.78) sepia(.2)}
.home-video-wash{position:absolute;inset:0;background:radial-gradient(circle at 68% 40%,rgba(105,73,52,.18),rgba(12,9,7,.4) 78%),linear-gradient(180deg,rgba(38,25,18,.2),rgba(20,13,10,.08) 54%,rgba(9,7,5,.64));pointer-events:none}
.home-logo{position:relative;z-index:2;width:min(38vw,510px);height:auto;filter:brightness(0) drop-shadow(0 4px 22px rgba(255,255,255,.1));opacity:.94}
.home-hero-intro{position:absolute;z-index:2;left:50%;bottom:clamp(24px,4vh,48px);width:min(760px,calc(100% - 44px));margin:0;transform:translateX(-50%);color:#f2eee8;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.015em;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.home-guide{padding:clamp(78px,9vw,122px) clamp(22px,6vw,92px) clamp(44px,7vw,82px);background:radial-gradient(circle at 84% 8%,rgba(255,255,255,.045),transparent 32%),#2c2c2c}
.home-path{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:1320px;margin:0 auto;background:rgba(244,240,233,.26);border:1px solid rgba(244,240,233,.26)}
.home-path-card{display:flex;flex-direction:column;min-height:480px;padding:clamp(34px,5vw,70px);background:#343434}
.home-path-card.membership-first{background:linear-gradient(145deg,#ede7de,#d7c8b8);color:#17130f}
.path-number{margin:0 0 auto;font-size:10px;font-weight:600;letter-spacing:.2em}
.membership-first .path-number{color:#574d43}
.guide-first .path-number{color:#c9c0b6}
.home-path-card h2{margin:52px 0 18px;max-width:520px;font-size:clamp(38px,4.3vw,66px);line-height:.98;letter-spacing:-.055em}
.home-path-card>p:not(.path-number){max-width:570px;margin:0 0 30px;font-size:15px;line-height:1.7}
.membership-first>p:not(.path-number){color:#4d453e}
.guide-first>p:not(.path-number){color:#bdb5aa}
.home-path-card .btn{align-self:flex-start;min-height:52px;padding:0 25px;margin-top:auto}
.membership-first .btn.primary{background:#17130f;border-color:#17130f;color:#f5f0e9}
.membership-first .btn.primary:hover{background:#393028;border-color:#393028}
.home-guide-button{background:#eee7dd!important;border-color:#eee7dd!important;color:#17130f!important}
.home-guide-button:hover{background:#fff!important;border-color:#fff!important}
.home-book-link{align-self:flex-start;margin-top:24px;padding-bottom:5px;border-bottom:1px solid rgba(244,240,233,.42);color:#e1d9cf;text-decoration:none;font-size:12px;line-height:1.5;transition:border-color .2s,color .2s}
.home-book-link:hover{border-bottom-color:#fff;color:#fff}
.home-trust{display:flex;justify-content:space-between;gap:24px;max-width:1320px;margin:clamp(44px,6vw,76px) auto 0;padding:24px 0;border-top:1px solid rgba(244,240,233,.2);border-bottom:1px solid rgba(244,240,233,.2);color:#c9c0b6;font-size:9px;font-weight:500;letter-spacing:.18em}
.home-page-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;max-width:1320px;margin:36px auto 0}
.home-page-links a{padding-bottom:3px;border-bottom:1px solid transparent;color:#b6aea4;font-size:10px;font-weight:500;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.home-page-links a:hover{border-bottom-color:#d9d1c7;color:#f4f0e9}
.home-disclaimer{max-width:760px;margin:28px auto 0;color:#847d74;font-size:11px;line-height:1.65;text-align:center}
@media(max-width:800px){
  .home-hero{min-height:92svh}
  .home-topbar{min-height:66px;padding:0 20px;background:linear-gradient(180deg,rgba(12,9,7,.74),rgba(12,9,7,0))}
  .home-topnav{display:none}
  .home-mobile-menu{display:block;color:#f4f0e9}
  .home-mobile-menu summary{cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.16em;list-style:none}
  .home-mobile-menu summary::-webkit-details-marker{display:none}
  .home-mobile-menu[open] nav{position:absolute;z-index:10;top:calc(100% + 18px);right:0;display:flex;width:min(290px,calc(100vw - 32px));flex-direction:column;gap:0;padding:10px 20px;border:1px solid rgba(244,240,233,.2);background:rgba(44,44,44,.98);box-shadow:0 24px 55px rgba(0,0,0,.3);text-align:left}
  .home-mobile-menu nav a{padding:13px 0;border-bottom:1px solid rgba(244,240,233,.12);color:#f4f0e9;font-size:12px;font-weight:400;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
  .home-mobile-menu nav a:last-child{border-bottom:0}
  .home-video{object-position:58% center}
  .home-brand{width:70px}
  .home-logo{width:min(64vw,340px)}
  .home-hero-intro{bottom:22px;width:calc(100% - 40px);font-size:13px;line-height:1.5}
  .home-guide{padding:64px 20px 42px}
  .home-path{grid-template-columns:1fr}
  .home-path-card{min-height:430px;padding:34px 24px}
  .home-path-card h2{margin-top:46px;font-size:42px}
  .home-path-card .btn{width:100%;text-align:center}
  .home-book-link{align-self:center;text-align:center}
  .home-trust{display:grid;grid-template-columns:1fr;gap:14px;text-align:center;padding:22px 0}
  .home-page-links{gap:15px 20px;margin-top:32px}
}
@media(prefers-reduced-motion:reduce){.home-video{display:none}.home-hero{background:url('tox-home-poster.jpg') 58% center/cover no-repeat}}
