@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Cormorant+Garamond:ital,wght@1,500;1,600&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#28070e;--gold:#ebcc82;--cream:#f8e9cf;--line:#e6c08644}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--ink);color:var(--cream);font:16px Manrope,Arial,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{border:0}header{position:fixed;top:0;left:0;right:0;z-index:20;padding:18px 4%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,header nav{pointer-events:auto}.brand img{display:block;width:105px;height:83px;object-fit:contain;filter:drop-shadow(0 2px 5px #14000555)}header nav{display:flex;align-items:center;gap:8px}header nav>a,header button{font-size:13px;border:1px solid #e7bd7144;background:#270a10e8;color:#f2d69e;padding:12px 20px;border-radius:30px}header nav>a span{margin-left:20px}header button span{margin-left:9px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;color:#000;padding:10px}.skip:focus{top:10px}.journey{height:680svh;position:relative}.stage{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;background:#28070e}.stage-orbit{position:absolute;width:68vw;height:68vw;border:1px solid #dfb55e1c;border-radius:50%;top:50%;left:72%;transform:translate(-50%,-50%);pointer-events:none}.stage-orbit:after{content:'';position:absolute;inset:30px;border:1px solid #dfb55e13;border-radius:50%}.scene{position:absolute;inset:0;z-index:2;pointer-events:none}.scene canvas{display:block;width:100%;height:100%}.scene-fallback{position:absolute;height:78%;max-width:60%;width:auto;object-fit:contain;top:12%;right:4%;filter:drop-shadow(0 25px 25px #0003)}.scene.webgl .scene-fallback{display:none}#dragZone{position:absolute;left:43%;right:3%;top:16%;bottom:15%;z-index:5;cursor:grab;touch-action:pan-y}#dragZone:active{cursor:grabbing}.chapter{position:absolute;z-index:4;top:23%;left:6%;width:88%;pointer-events:none;will-change:transform,opacity}.chapter .pill{pointer-events:auto}.chapter:not(.intro){opacity:0;visibility:hidden}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 26px}h1,h2,h3,p{margin-top:0}h1,h2,.footer-wordmark{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.87;font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(78px,10.3vw,168px);margin-bottom:46px;max-width:800px}h1 span{display:block}em{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;font-weight:500}h1 em{font-size:1.02em}.intro-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.intro-bottom p{font-size:15px;line-height:1.7;color:#cfb49e}.pill{border-radius:40px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 25px;font-size:14px;font-weight:600;min-height:48px;transition:transform .2s,box-shadow .2s}.pill:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0002}.pill.light{background:#edcf8e;color:#2d1015}.pill.dark{background:#32121a;color:#f5dfb9}.butter{left:57%;width:39%;top:25%;color:#33121a}.chapter h2{font-size:clamp(85px,9.6vw,155px);margin:0 0 34px}.chocolate{left:7%;width:45%;top:19%}.chocolate h2{font-size:clamp(72px,8vw,125px)}.product-meta{font-size:12px;letter-spacing:2px;display:flex;gap:22px;margin-bottom:24px}.purchase{display:flex;gap:28px;align-items:center}.purchase strong{font-size:30px;font-weight:500}.stage-bottom{position:absolute;bottom:68px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.6px;z-index:6;pointer-events:none;opacity:.75}.progress{position:absolute;bottom:50px;left:6%;right:6%;height:1px;background:currentColor;opacity:.4;z-index:6}#progressFill{height:2px;width:0;background:currentColor}.quick-shop{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:5px;padding:5px;border:1px solid #ddbc7655;border-radius:35px;background:#230910ec;color:#ead1a5;box-shadow:0 5px 30px #0003;max-width:94vw}.quick-shop>a,.quick-shop>button{border-radius:30px;white-space:nowrap;padding:11px 17px;font-size:12px;background:none}.quick-shop>a{background:#e7c477;color:#2c1013}.quick-shop>button:hover{background:#513022}.collection{padding:100px 6% 75px;background:#12080c;position:relative;z-index:7;scroll-margin-top:30px}.collection-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:50px}.collection-heading .eyebrow{grid-column:1/-1;color:#d8b978}.collection-heading h2{font-size:clamp(65px,8.8vw,130px);margin:0}.collection-heading>p:last-child{font-size:14px;color:#bba395}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.product-art{width:100%;height:540px;position:relative;display:block;overflow:hidden;padding:20px;border-radius:3px}.butter-art{background:#e5c793;color:#432522}.chocolate-art{background:#724137;color:#f5dcaf}.product-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 13px #2106062a);transition:transform .65s cubic-bezier(.2,.7,.2,1)}.product-art:hover img{transform:translateY(-12px) rotate(-4deg) scale(1.035)}.card-index{position:absolute;left:25px;top:25px;font-size:13px}.explore-label{position:absolute;bottom:22px;left:25px;font-size:12px}.card-line{padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.card-line h3{font-size:20px;font-weight:500;margin-bottom:8px}.card-line p{font-size:13px;color:#c5a987;margin:0}.round{width:48px;height:48px;flex-shrink:0;border:1px solid #b48d5055;border-radius:50%;background:none;color:#edd19a;font-size:26px}.round:hover{background:#e7c477;color:#2c1013}.shipping-banner{border-top:1px solid var(--line);text-align:center;padding-top:32px;margin:15px 0 0;font-size:12px;letter-spacing:2px}footer{background:#40101b;padding:50px 6% 85px;position:relative;z-index:7;overflow:hidden}footer>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:14px}footer img{width:110px}.footer-wordmark{font-size:clamp(110px,21vw,350px);color:#e6c479;margin:40px 0;line-height:.85}.footer-base{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:#cfad95}dialog{background:#210b12;color:#f8e5c7;border:1px solid #c4a06566;border-radius:12px;width:min(460px,94vw);max-height:92dvh;padding:26px;box-shadow:0 20px 100px #000b}dialog::backdrop{background:#090305cd;backdrop-filter:blur(6px)}.bag-head{display:flex;justify-content:space-between;align-items:center}.bag-head h2{font-size:40px;margin:0 0 20px;line-height:1}.bag-head button{background:none;color:#e9c985;font-size:30px;min-width:44px;min-height:44px}.bag-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.bag-row p{font-size:16px;margin:0 0 7px}.bag-row small{color:#cbb18a;font-size:12px}.qty{display:flex;gap:10px;align-items:center}.qty button{background:#421c25;border-radius:4px;color:#f0d49b;width:32px;height:38px}.qty span{font-size:14px;min-width:14px;text-align:center}.summary{padding-top:15px}.summary p{display:flex;justify-content:space-between;font-size:14px}.summary p:last-child,#shippingHint{font-size:12px;color:#c6aa88}#shippingHint{line-height:1.5}.checkout{width:100%;padding:14px;border-radius:30px;background:#594332;color:#d7c0a2;cursor:not-allowed;margin-top:8px}#continue{display:block;margin:15px auto 0;padding:8px;border:0;background:none;color:#e0c48d;font-size:13px}#toast{position:fixed;top:115px;left:50%;transform:translate(-50%,-10px);z-index:50;background:#ecd195;color:#32101a;padding:12px 22px;border-radius:25px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){header{padding:12px 5%}.brand img{width:77px;height:67px}header nav>a{display:none}header button{padding:10px 16px}.journey{height:600svh}.stage{min-height:560px}.stage-orbit{width:130vw;height:130vw;left:50%;top:61%}.chapter{top:17%;left:6%;width:88%}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:18px}h1{font-size:clamp(63px,13.5vw,100px);margin-bottom:0;max-width:100%;line-height:.9}h1 span:last-child{text-align:right}.intro-bottom{position:absolute;top:58svh;left:0;right:0;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.intro-bottom p{font-size:12px;line-height:1.5;margin:0}.pill{font-size:12px;gap:20px;padding:12px 20px;min-height:44px}.chapter h2{font-size:clamp(64px,14vw,100px);line-height:.9;margin-bottom:18px}.butter,.chocolate{left:6%;width:88%;top:16%}.butter h2{max-width:100%;text-align:left}.chocolate h2{font-size:clamp(44px,10vw,70px);line-height:.87}.product-meta{font-size:10px;margin:14px 0;gap:15px}.purchase{position:absolute;top:59svh;left:0;right:0;justify-content:space-between}.purchase strong{font-size:27px}.stage-bottom{bottom:80px;font-size:9px;letter-spacing:1px}.stage-bottom #gestureHint{display:none}.progress{bottom:64px}#dragZone{left:8%;right:8%;top:37%;bottom:23%}.scene-fallback{height:43%;max-width:85%;right:auto;left:50%;top:33%;transform:translateX(-50%)}.quick-shop{bottom:12px;gap:0;padding:4px}.quick-shop>a{display:none}.quick-shop>button{font-size:10px;padding:12px 14px}.collection{padding:75px 6% 55px}.collection-heading{display:block;margin-bottom:30px}.collection-heading h2{font-size:70px;margin-bottom:22px}.collection-heading>p:last-child{font-size:13px}.product-grid{grid-template-columns:1fr;gap:25px}.product-art{height:420px}.card-line h3{font-size:18px}.card-line{padding:20px 0}.shipping-banner{font-size:10px;letter-spacing:1px;padding-top:25px}footer{padding:35px 6% 85px}footer img{width:85px}footer>div:first-child{font-size:12px}.footer-wordmark{font-size:24vw;margin:35px 0}.footer-base{font-size:10px}.bag-row p{font-size:14px}}
@media(max-height:660px) and (min-width:761px){header{padding-top:7px}.brand img{height:70px}.chapter{top:20%}h1{font-size:95px;margin-bottom:25px}.chapter h2{font-size:90px}.chocolate h2{font-size:75px}.eyebrow{margin-bottom:18px}.stage{min-height:480px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.product-art:hover img{transform:none}}

.scene-fallback{border-radius:12px}.product-art img{border-radius:3px}.scene:not(.webgl) .scene-fallback{filter:none}

html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}

/* The product carries the scene; ornament stays quiet. */
.stage-orbit{display:none}.intro-bottom p{display:none}.scene-fallback{transition:opacity .5s}.product-art{background:radial-gradient(ellipse at 50% 35%,#493039,#1b0d13)}.product-art img{filter:none}.product-art:hover img{transform:translateY(-6px)}.quick-shop>a{display:none}.quick-shop>button{font-size:14px;min-height:44px}.product-meta,.eyebrow{font-size:12px}.stage{min-height:0}.product-art img:not([src]){visibility:hidden}
@media(max-width:760px){.quick-shop>button{font-size:12px;white-space:normal;padding:8px 14px}.quick-shop{width:max-content;max-width:94vw}.stage{min-height:0}.chapter{top:16%}.intro-bottom{top:61svh}.purchase{top:61svh}.product-art{height:380px}}

.footer-base{flex-wrap:wrap;gap:16px}

/* Keep the branded fallback contained if a device cannot create WebGL. */
.scene-fallback[data-brand="true"]{width:36%;height:54%;max-width:42%;top:24%;right:7%;}
@media(max-width:760px){.scene-fallback[data-brand="true"]{width:66%;height:34%;max-width:72%;top:39%;right:auto;}}

/* Simple brand-led opening and a single shop disclosure. */
header{justify-content:flex-end}header nav{position:relative}
.intro{width:42%;top:21%}.intro h1{margin:0 0 20px;max-width:100%;font-size:inherit;line-height:1}.hero-logo{display:block;width:100%;max-width:480px;height:auto;object-fit:contain}.intro .eyebrow{text-align:center;max-width:480px;font-size:12px}
.stage-bottom{justify-content:center;bottom:70px;pointer-events:none;opacity:1}#gestureHint{position:absolute;left:0;top:14px;font-size:11px;opacity:.7}#scrollCue{pointer-events:auto;background:none;color:inherit;min-height:36px;padding:8px 16px;font-size:11px;letter-spacing:1.5px}#scrollCue[aria-label="Back to top"]{font-size:25px;padding:0 20px}.progress{bottom:65px}
.shop-wrap{position:relative}.shop-panel{position:absolute;right:0;top:calc(100% + 10px);width:190px;padding:8px;background:#260b12;border:1px solid #a9814855;border-radius:16px;box-shadow:0 16px 45px #0005;color:#f2d69e}.shop-panel[hidden],.category-panel[hidden]{display:none!important}.shop-category{position:relative}.shop-panel button{border:0;background:none;border-radius:9px;text-align:left;font-size:14px;line-height:1.4;padding:13px 14px;min-height:46px;width:100%;color:inherit}.shop-panel button:hover,.shop-panel button:focus-visible,.category-toggle[aria-expanded="true"]{background:#5a2730}.category-toggle{display:flex;justify-content:space-between;align-items:center}.category-panel{position:absolute;right:100%;top:0;width:244px;background:#260b12;border:1px solid #a9814855;border-radius:12px;padding:8px;box-shadow:0 16px 45px #0005}.category-panel>span{display:block;padding:14px;font-size:14px;color:#c4aa89}
@media(max-width:760px){
 header{padding:12px 5%;padding-top:max(12px,env(safe-area-inset-top))}header nav{gap:8px}header nav button{min-height:44px}#shopToggle{padding:10px 18px}
 .intro{top:12%;left:6%;width:88%}.intro h1{margin:0 auto 10px}.hero-logo{height:19svh;width:auto;max-width:75%;margin:auto}.intro .eyebrow{font-size:11px;letter-spacing:1.6px;max-width:none;margin:0}
 .chapter:not(.intro){top:12%;bottom:0;left:6%;width:88%}.chapter h2{font-size:clamp(32px,6.5svh,58px);line-height:.92;margin:0 0 12px}.chocolate h2{font-size:clamp(27px,5.2svh,46px);line-height:.95}.product-meta{font-size:11px;margin:0;letter-spacing:1.4px;gap:16px}
 .scene{top:34%;bottom:164px}.scene canvas{height:100%;width:100%}#dragZone{top:34%;bottom:164px}
 .purchase{top:auto;bottom:110px;left:0;right:0;gap:20px}.purchase .pill{min-height:44px}.purchase strong{font-size:26px}
 .stage-bottom{bottom:66px;left:0;right:0}.stage-bottom #gestureHint{display:none}#scrollCue{font-size:10px;min-height:36px}.progress{display:none}.quick-shop{bottom:max(10px,env(safe-area-inset-bottom));width:90%;max-width:440px;min-height:48px;justify-content:center}.quick-shop>button{flex:1;font-size:11px;padding:8px;min-height:40px}
 .scene-fallback,.scene-fallback[data-brand="true"]{top:6%;left:50%;right:auto;width:85%;height:88%;max-width:85%;transform:translateX(-50%)}
 .shop-panel{width:min(290px,86vw);right:-68px;max-height:70svh;overflow:auto}.category-panel{position:static;width:100%;box-shadow:none;border:0;border-radius:0;padding:0 0 6px 12px;background:#1c080e}.shop-panel .category-toggle{font-size:15px}.category-toggle[aria-expanded="true"] span{transform:rotate(90deg)}
}

/* Keep browser panning from cancelling model gestures before finger two lands. */
#dragZone{touch-action:none;user-select:none;-webkit-user-select:none}
@media(max-width:760px){.scene{-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}}

/* The model interaction area has no visible frame, including after touch. */
#dragZone,#dragZone:focus,#dragZone:focus-visible{border:0;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}

/* Fourth chapter retains the existing scroll distance and pacing. */
.journey{height:627.8svh}.sand-options{display:flex;gap:12px;margin:22px 0}.sand-options label{display:grid;gap:7px;font-size:11px;letter-spacing:.08em}.sand-options select{max-width:210px;padding:12px 30px 12px 12px;border:1px solid #997341;border-radius:12px;background:#280e17;color:#f4ddb6;font:inherit;font-size:14px;letter-spacing:0}.sand-options select:focus-visible{outline:2px solid #e6be70;outline-offset:3px}
@media(max-width:760px){.journey{height:555svh}.sand-options{margin:12px 0;gap:8px}.sand-options label{font-size:10px}.sand-options select{padding:9px 22px 9px 9px;font-size:12px;max-width:175px}.sand-product h2{font-size:clamp(28px,5svh,42px)}.stage[data-chapter="3"] .scene,.stage[data-chapter="3"] #dragZone{top:42%}.quick-shop button{padding:9px 10px;font-size:11px}}
.sand-options select{pointer-events:auto;touch-action:manipulation}

#homeFade{position:fixed;inset:0;background:#28070e;z-index:10000;opacity:0;pointer-events:auto;touch-action:none}#homeFade[hidden]{display:none}.sand-details{font-size:13px;line-height:1.65;margin:12px 0 0;color:#e0c19c;max-width:440px}
@media(max-width:760px){.sand-details{font-size:12px;line-height:1.5;margin:8px 0 0;letter-spacing:0}.sand-product h2{font-size:clamp(26px,4.5svh,38px)}.sand-product .product-meta{font-size:10px}.sand-product .sand-options{margin-top:9px}.stage[data-chapter="3"] .scene,.stage[data-chapter="3"] #dragZone{top:49%}}

.logo-shimmer{position:relative;display:inline-block;max-width:100%}.logo-shimmer::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#fff3c280 49%,transparent 60%);background-size:300% 100%;mask:url('assets/logo.png') center/contain no-repeat;animation:brand-shimmer 7s ease-in-out infinite;mix-blend-mode:screen}.stage:not([data-chapter="0"]) .logo-shimmer::after,.effects-paused .logo-shimmer::after{animation-play-state:paused}@keyframes brand-shimmer{0%,65%{background-position:150% 0;opacity:0}72%{opacity:.45}90%,100%{background-position:-50% 0;opacity:0}}@media(prefers-reduced-motion:reduce){.logo-shimmer::after{animation:none;display:none}}

/* Matching hover feedback for the header and quick-shop navigation. */
#shopToggle,#bagOpen{transition:background-color .2s ease,border-color .2s ease}#shopToggle:hover,#bagOpen:hover,#shopToggle:focus-visible,#bagOpen:focus-visible{background:#513022;border-color:#e7bd7188}.logo-shimmer{pointer-events:auto}.logo-shimmer:hover::after{animation:brand-hover-shimmer 1.2s ease-in-out infinite}@keyframes brand-hover-shimmer{0%{background-position:150% 0;opacity:0}35%,65%{opacity:.65}100%{background-position:-50% 0;opacity:0}}.effects-paused .logo-shimmer:hover::after{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.logo-shimmer:hover::after{animation:none;display:none}}

.product-description{max-width:420px;font-size:15px;line-height:1.6;margin:14px 0 0}.infusion-line{max-width:420px;line-height:1.5}.sand-details{line-height:1.65}.product-meta span{white-space:nowrap}
@media(max-width:760px){.product-description{font-size:12px;line-height:1.5;margin:9px 0 0;max-width:360px}.product-meta{font-size:10px;letter-spacing:1px;gap:10px;line-height:1.5}.stage[data-chapter="1"] .scene,.stage[data-chapter="1"] #dragZone{top:43%}.stage[data-chapter="2"] .scene,.stage[data-chapter="2"] #dragZone{top:41%}.sand-details{font-size:12px;line-height:1.4;margin-top:7px}.stage[data-chapter="3"] .scene,.stage[data-chapter="3"] #dragZone{top:48%;bottom:155px}}
@media(max-width:760px) and (max-height:620px){.sand-product h2{font-size:25px}.sand-product .sand-options{margin-top:7px}.sand-options label{gap:3px}.stage[data-chapter="3"] .scene,.stage[data-chapter="3"] #dragZone{top:52%;bottom:150px}}

/* Give product information and purchasing controls distinct breathing room. */
@media(min-width:761px){
 .product-description{line-height:1.7;margin-top:20px;max-width:440px}
 .chapter .purchase{margin-top:30px;gap:32px}
 .chapter h2{font-size:min(9.6vw,14svh,155px)}
 .chocolate h2{font-size:min(8vw,11.5svh,125px)}
 .sand-options{margin-top:24px;margin-bottom:0}
 .sand-details{margin-top:18px}
}
@media(max-width:760px){
 .product-description{margin-top:14px;line-height:1.6}
 .stage[data-chapter="1"] .scene,.stage[data-chapter="1"] #dragZone{top:45%}
 .stage[data-chapter="2"] .scene,.stage[data-chapter="2"] #dragZone{top:43%}
}

/* Reclaim the former quick-shop row for the models. */
.stage-bottom{bottom:14px}.progress{bottom:10px}
@media(max-width:760px){
 html{scrollbar-gutter:auto}
 .intro h1{display:flex;justify-content:center;text-align:center}
 .intro .logo-shimmer{display:block;width:min(75vw,24svh);max-width:100%;margin-inline:auto;text-align:center}
 .intro .hero-logo{width:100%;height:auto;max-width:100%;margin:0}
 .stage .purchase{bottom:calc(54px + env(safe-area-inset-bottom))}
 .stage-bottom{bottom:calc(6px + env(safe-area-inset-bottom))}
 .stage .scene,.stage #dragZone,.stage[data-chapter="3"] .scene,.stage[data-chapter="3"] #dragZone{bottom:calc(108px + env(safe-area-inset-bottom))}
 .stage[data-chapter="0"] .scene,.stage[data-chapter="0"] #dragZone{bottom:calc(48px + env(safe-area-inset-bottom))}
 .scene{-webkit-mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}
}

/* One gesture per chapter; no native scroll distance or competing smooth scrollers. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
.journey{height:100svh}.stage{position:relative;touch-action:none}
#swipeUp{position:absolute;top:74px;left:50%;transform:translateX(-50%);z-index:6;background:none;color:inherit;font-size:11px;letter-spacing:1.5px;min-height:36px;padding:8px 16px}
#swipeUp[hidden]{display:none}
.intro .logo-shimmer{width:120%;max-width:120%;margin-left:-10%}.intro .hero-logo{max-width:576px}
@media(max-width:760px){
 .intro .logo-shimmer{width:min(90vw,28.8svh);max-width:100%;margin-inline:auto}
 .intro .hero-logo{max-width:100%}
 #swipeUp{top:64px;font-size:10px}
 .chapter:not(.intro){top:max(108px,15%)}
 header nav button{padding-inline:12px;font-size:12px}
}
@media(max-width:760px){
 #swipeUp{top:16px;left:5%;transform:none;padding:6px 0;font-size:10px}
 .chapter:not(.intro){top:12%}
}

/* Original CRT phosphor texture: no blur, flicker, extra canvas or ticking timer. */
#crtOverlay{display:none;position:fixed;inset:0;z-index:9000;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.17) 3px,transparent 4px),repeating-linear-gradient(to right,rgba(255,40,40,.035) 0px,rgba(40,255,90,.025) 1px,rgba(60,80,255,.035) 2px,transparent 3px),radial-gradient(ellipse at center,transparent 48%,rgba(0,0,0,.32) 100%)}
.crt-on #crtOverlay{display:block}.crt-on dialog::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 2px,#0002 3px,transparent 4px)}
@media(max-width:760px){header nav{gap:6px}}

/* Pointed Islamic arch, matching the shop's burgundy and gold palette. */
#bag{width:min(500px,94vw);max-height:94dvh;padding:0;border:0;border-radius:0;background:transparent;color:var(--cream);box-shadow:none;overflow:visible;color-scheme:dark}
.stash-arch{display:block;width:100%;height:110px;position:absolute;top:0;left:0;pointer-events:none}
.stash-panel{position:relative;margin-top:109px;background:#28070e;border:1px solid #d7b36e;border-top:0;border-radius:0 0 16px 16px;padding:12px 26px 24px}
.stash-scroll{max-height:calc(94dvh - 147px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a7864b #28070e;padding:6px}
#bag .bag-head{gap:18px;margin-bottom:14px}#bag .bag-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;font-weight:500;color:var(--gold);margin:0}
#bag .bag-head button{border:1px solid var(--line);border-radius:50%;font-size:28px;line-height:1;flex-shrink:0}
#bag .bag-row{gap:18px;border-color:var(--line)}#bag .bag-row>div:first-child{min-width:0}#bag .bag-row p{line-height:1.45}#bag .bag-row small,#bag #shippingHint{font-size:13px;color:#d0b596}
#bag .qty{flex-shrink:0;gap:8px}#bag .qty button{background:#40101b;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;color:var(--gold)}
#bag .checkout{background:var(--gold);color:#28070e;cursor:pointer;font-weight:600;min-height:48px}#bag .checkout:hover:not(:disabled){background:#f5d99a}#bag .checkout:disabled{opacity:.45;cursor:not-allowed}
#bag #continue{color:var(--gold);font-size:14px;min-height:44px}#bag button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.crt-on #bag::after{display:none}
@media(max-width:480px){.stash-panel{padding:10px 16px 18px}.stash-scroll{max-height:calc(94dvh - 141px)}#bag .bag-head h2{font-size:38px}}
@media(max-height:500px){.stash-arch{height:72px}.stash-panel{margin-top:71px}.stash-scroll{max-height:calc(94dvh - 108px)}}

/* Short, isolated signal tears on the visible models; original CRT remains untouched. */
.signal-defs{position:absolute;overflow:hidden;pointer-events:none}
:root:not(.effects-paused) #scene.webgl canvas{filter:url(#model-rgb)}
.brand-glitch:not(.effects-paused) .stage #scene canvas,
.brand-glitch:not(.effects-paused) .stage[data-chapter="0"] .logo-shimmer{filter:url(#brand-signal)}
.brand-glitch .stage[data-chapter="0"] .logo-shimmer::after{background-image:linear-gradient(115deg,transparent 20%,#36defa88 40%,#ffffffaa 49%,#bca4ff88 57%,transparent 75%);opacity:.65}
.brand-glitch .stage[data-chapter="0"] .logo-shimmer::after{animation:brand-hover-shimmer .5s ease-in-out both}

/* Merch shares the product controls and leaves room for the full garment. */
.merch-options [hidden]{display:none!important}
.merch-product .product-meta{line-height:1.5}
@media(max-width:760px){.merch-product h2{font-size:clamp(28px,5svh,44px)}.merch-product .sand-options{margin-top:12px}.stage[data-chapter="4"] .scene,.stage[data-chapter="4"] #dragZone{top:39%;bottom:calc(108px + env(safe-area-inset-bottom))}}
