/* MiraCole+ Watch: midnight navy + cinematic gold */
:root{
  --void:#050818; --navy:#070b1b; --navy-2:#0b1230; --navy-3:#111a42; --ink:#e9ecf8; --mute:#9aa3c4; --dim:#6b7497;
  --gold:#f6c976; --gold-hi:#fff1c7; --gold-mid:#d9a441; --gold-lo:#8a6320; --line:rgba(246,201,118,.28); --line-soft:rgba(246,201,118,.14);
  --gold-grad:linear-gradient(135deg,#fff1c7 0%,#f6c976 38%,#d9a441 72%,#9a6d22 100%);
  --pad:clamp(16px,4vw,56px); --max:1320px; --hdr:72px;
  --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--ink);font:400 16px/1.55 var(--sans);overflow-x:hidden;min-height:100vh;
  background-image:radial-gradient(1200px 700px at 78% -10%,rgba(60,84,170,.28),transparent 60%),radial-gradient(900px 600px at -10% 40%,rgba(246,201,118,.05),transparent 60%),linear-gradient(180deg,#070b1b,#050818 60%)}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none} /* programmatic focus targets (main, page heading) get no ring */
.ico{display:inline-flex;width:1.25em;height:1.25em;flex:none}.ico svg{width:100%;height:100%}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#1b1305;padding:.6rem 1rem;border-radius:8px;z-index:200;font-weight:600}.skip:focus{left:12px}

/* boot + states */
.boot{min-height:100vh;display:grid;place-content:center;gap:1rem;text-align:center;color:var(--mute)}
.boot img{margin:auto;width:220px;height:auto;animation:pulse 1.6s ease-in-out infinite}
.noscript{padding:3rem;text-align:center}
@keyframes pulse{50%{opacity:.55}}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--hdr);z-index:50;display:flex;align-items:center;gap:clamp(14px,3vw,44px);padding:0 var(--pad);
  background:linear-gradient(180deg,rgba(5,8,24,.92),rgba(5,8,24,.55) 60%,rgba(5,8,24,0));transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
.site-header.solid{background:rgba(7,11,27,.82);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-color:var(--line-soft)}
.brand img{height:32px;width:auto}
.nav{display:flex;gap:clamp(14px,2.4vw,34px);margin-left:clamp(0px,1vw,16px)}
.nav-link{position:relative;text-decoration:none;font-weight:500;font-size:.95rem;color:var(--mute);padding:.5rem .1rem;transition:color .2s}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--gold-hi)}.nav-link.active::after,.nav-link:hover::after{transform:scaleX(1)}
.header-tools{margin-left:auto;display:flex;gap:8px;align-items:center}
.icon-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--ink);transition:.2s}
.icon-btn:hover{border-color:var(--line);background:rgba(246,201,118,.08);color:var(--gold-hi)}
.icon-btn .ico{width:22px;height:22px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:44px;padding:.7rem 1.3rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);font-weight:600;font-size:.92rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px);border-color:var(--gold)}
.btn-gold{background:var(--gold-grad);color:#1b1305;border-color:transparent;box-shadow:0 8px 28px -8px rgba(246,201,118,.55),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{box-shadow:0 12px 40px -6px rgba(246,201,118,.8),inset 0 1px 0 rgba(255,255,255,.6);border-color:transparent}
.btn-lg{min-height:56px;padding:.9rem 2rem;font-size:1rem;letter-spacing:.14em;text-transform:uppercase}
.btn .ico{width:1.1em;height:1.1em}

/* hero */
main{display:block;outline:none}
.hero{position:relative;min-height:min(80vh,740px);padding:calc(var(--hdr) + 24px) var(--pad) 40px;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:clamp(8px,3vw,40px)}
.hero-copy{position:relative;z-index:2;max-width:640px}
.hero-kicker{margin:0 0 .6rem;font-weight:600;letter-spacing:.55em;text-transform:uppercase;font-size:clamp(.78rem,1.4vw,1rem);color:var(--gold-hi);opacity:.95}
.hero h1{margin:0;font:900 clamp(2.7rem,7.2vw,6rem)/.95 var(--serif);letter-spacing:.01em;text-transform:uppercase}
.hero h1 span{display:block;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px rgba(246,201,118,.25))}
.hero-sub{margin:1.3rem 0 2rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.72rem,1.3vw,.92rem);color:var(--mute);max-width:30em}
.hero-art{position:relative;aspect-ratio:1;width:min(100%,640px);justify-self:center;perspective:1200px;
  --tx:0px;--ty:0px;--rx:0deg;--ry:0deg}
.portal-svg,.hero-img{position:absolute;inset:0;width:100%;height:100%;transform:translate3d(var(--tx),var(--ty),0) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out;filter:drop-shadow(0 0 28px rgba(246,201,118,.38))}
.hero-img{object-fit:cover;border-radius:50%;mix-blend-mode:screen;opacity:.65;-webkit-mask-image:radial-gradient(circle,#000 40%,transparent 70%);mask-image:radial-gradient(circle,#000 40%,transparent 70%)}
.portal-glow{position:absolute;inset:-12%;background:radial-gradient(circle,rgba(246,201,118,.28),rgba(246,201,118,.06) 45%,transparent 68%);animation:breath 6s ease-in-out infinite}
.spin{transform-origin:300px 300px;transform-box:view-box;animation:spin 140s linear infinite}
.s-slow{animation-duration:220s}.s-rev{animation-duration:120s;animation-direction:reverse}.s-med{animation-duration:80s}.s-rev-fast{animation-duration:46s;animation-direction:reverse}
.hand-min,.hand-hour{transform-origin:300px 300px;transform-box:view-box;animation:spin 48s linear infinite}.hand-hour{animation-duration:576s}
.breathe{transform-origin:300px 300px;transform-box:view-box;animation:breath 4.5s ease-in-out infinite}
.tw{animation:tw 3.4s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breath{50%{opacity:.78;transform:scale(1.05)}}
@keyframes tw{0%,100%{opacity:.2}50%{opacity:1}}
.dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.dust i{position:absolute;left:calc(var(--i)*4.7%);bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:0;box-shadow:0 0 8px var(--gold);animation:rise calc(11s + var(--i)*.9s) linear infinite;animation-delay:calc(var(--i)*-1.3s)}
@keyframes rise{0%{transform:translateY(0);opacity:0}10%{opacity:.8}90%{opacity:.5}100%{transform:translateY(-90vh) translateX(26px);opacity:0}}

/* artwork banner hero (used when artwork.json sets "hero") */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero.hero-banner{display:block;max-width:none;padding:0;min-height:0;position:relative;margin-bottom:8px}
.banner-img{display:block;width:100%;height:auto;aspect-ratio:2.5/1;object-fit:cover;object-position:50% 40%;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
.banner-cta{position:absolute;left:0;right:0;bottom:clamp(4px,3vw,40px);display:flex;justify-content:center;z-index:2}
@media (max-width:700px){.banner-img{aspect-ratio:4/5;object-position:50% 50%}.banner-cta{bottom:12px;padding:0 var(--pad)}.banner-cta .btn{width:100%;max-width:420px}}

/* shelves */
.shelves{max-width:var(--max);margin:0 auto;padding:0 var(--pad) 40px}
.shelf{margin:28px 0 56px;scroll-margin-top:calc(var(--hdr) + 12px)}
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].in{opacity:1;transform:none}
.shelf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.shelf-title{display:flex;align-items:center;gap:14px}
.shelf-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);color:var(--gold);background:rgba(246,201,118,.06);flex:none}
.shelf-icon .ico{width:26px;height:26px}
.shelf h2{margin:0;font:800 clamp(1.15rem,2.2vw,1.6rem)/1.1 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)}
.shelf-title p{margin:.2rem 0 0;color:var(--mute);font-size:.92rem}
.arrows{display:flex;gap:10px}
.arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(5,8,24,.6);color:var(--gold);cursor:pointer;transition:.2s}
.arrow:hover:not(:disabled){background:rgba(246,201,118,.14);border-color:var(--gold);color:var(--gold-hi)}
.arrow:disabled{opacity:.28;cursor:default}.arrow[hidden]{display:none}
.rail{display:flex;gap:clamp(12px,1.6vw,22px);overflow-x:auto;scroll-snap-type:x proximity;padding:6px 4px 18px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:var(--gold-lo) transparent;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{height:6px}.rail::-webkit-scrollbar-thumb{background:var(--gold-lo);border-radius:4px}
.rail-item{flex:0 0 clamp(150px,17vw,214px);scroll-snap-align:start}
.card{display:block}
.poster{position:relative;display:block;aspect-ratio:2/3;border-radius:14px;overflow:hidden;border:1px solid var(--line-soft);background:var(--navy-3);box-shadow:0 14px 34px -14px rgba(0,0,0,.8);transition:transform .45s var(--ease),border-color .3s,box-shadow .4s;text-decoration:none}
.poster-img,.poster-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.poster-fallback{display:grid;place-items:center;color:hsl(var(--fh) 70% 70% / .75);background:radial-gradient(circle at 50% 40%,hsl(var(--fh) 55% 30% / .85),#0b1230 70%)}
.poster-fallback .ico{width:44%;height:44%}
.poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,8,24,.7));pointer-events:none}
.play-chip{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;display:grid;place-items:center;color:var(--gold-hi);background:rgba(5,8,24,.55);border:1.5px solid var(--gold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transform:scale(.8);transition:.35s var(--ease)}
.play-chip .ico{width:22px;height:22px;margin-left:3px}
.poster:hover,.poster:focus-visible{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 22px 44px -14px rgba(0,0,0,.9),0 0 36px -8px rgba(246,201,118,.5)}
.poster:hover .poster-img,.poster:focus-visible .poster-img{transform:scale(1.07)}
.poster:hover .play-chip,.poster:focus-visible .play-chip{opacity:1;transform:none}
@media (hover:none){.play-chip{opacity:.9;transform:none;width:48px;height:48px;margin:-24px 0 0 -24px}}
.card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-top:12px}
.card-text{min-width:0}
.card-title{margin:0;font:600 .98rem/1.25 var(--sans);color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.card-sub{margin:.25rem 0 0;color:var(--mute);font-size:.84rem}
.info-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-8px -8px 0 0;border:0;border-radius:50%;background:none;color:var(--gold);cursor:pointer;transition:.2s}
.info-btn:hover{background:rgba(246,201,118,.12);color:var(--gold-hi)}.info-btn .ico{width:22px;height:22px}

/* skeleton */
.skeleton .sk-box,.sk-line{background:linear-gradient(100deg,#0e1638 30%,#18235a 50%,#0e1638 70%);background-size:220% 100%;animation:sh 1.5s linear infinite;border-radius:10px}
.sk-line{height:12px;margin-top:12px}.sk-short{width:55%}.sk-title{width:240px;height:26px;margin:0}
@keyframes sh{to{background-position:-220% 0}}
.empty{text-align:center;color:var(--mute);padding:3rem 0}

/* banner */
.banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:24px 0 24px;padding:clamp(18px,3vw,30px) clamp(18px,3.4vw,40px);border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,rgba(17,26,66,.75),rgba(7,11,27,.85));position:relative;overflow:hidden}
.banner::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 160px at 12% 50%,rgba(246,201,118,.16),transparent 70%);pointer-events:none}
.banner-left{display:flex;align-items:center;gap:20px;position:relative}
.banner-icon{display:grid;place-items:center;width:64px;height:64px;color:var(--gold);flex:none}.banner-icon .ico{width:100%;height:100%}
.banner h2{margin:0;font:800 clamp(1.1rem,2.4vw,1.6rem)/1.15 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)}
.banner p{margin:.3rem 0 0;color:var(--mute)}
.banner-share{position:relative;display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(5,8,24,.55);cursor:pointer;text-align:left;transition:.25s var(--ease);min-height:64px}
.banner-share:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(246,201,118,.5)}
.share-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(246,201,118,.12);color:var(--gold)}
.share-copy{display:grid}.share-copy strong{font-weight:700;color:var(--ink)}.share-copy small{color:var(--mute);font-size:.84rem}
.chev{color:var(--gold);margin-left:8px}

/* state pages */
.state{min-height:80vh;display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center;padding:calc(var(--hdr) + 20px) var(--pad) 40px}
.state h1{margin:0;font:800 clamp(1.8rem,4vw,3rem)/1.1 var(--serif);color:var(--gold-hi)}
.state p{margin:0;color:var(--mute);max-width:34em}
.state-art{width:min(260px,60vw);opacity:.9;filter:drop-shadow(0 0 24px rgba(246,201,118,.3))}
.state-art svg{width:100%;height:auto}

/* watch */
.watch{max-width:var(--max);margin:0 auto;padding:calc(var(--hdr) + 12px) var(--pad) 40px}
.stage{transition:.4s var(--ease)}
.player{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#02040d;box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 60px -20px rgba(246,201,118,.35)}
.frame,.cover{position:absolute;inset:0}.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cover .poster-img,.cover .poster-fallback{object-position:center}
.big-play{position:absolute;left:50%;top:50%;width:clamp(72px,10vw,112px);height:clamp(72px,10vw,112px);margin:calc(clamp(72px,10vw,112px)/-2) 0 0 calc(clamp(72px,10vw,112px)/-2);border-radius:50%;border:2px solid var(--gold);background:rgba(5,8,24,.6);color:var(--gold-hi);display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:.35s var(--ease);box-shadow:0 0 0 0 rgba(246,201,118,.5);animation:ring 2.8s infinite}
.big-play .ico{width:40%;height:40%;margin-left:5%}.big-play:hover{transform:scale(1.08);background:rgba(246,201,118,.22)}
@keyframes ring{70%{box-shadow:0 0 0 26px rgba(246,201,118,0)}100%{box-shadow:0 0 0 0 rgba(246,201,118,0)}}
.watch-info{margin-top:26px;max-width:860px}
.back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--mute);font-size:.9rem;margin-bottom:14px;min-height:36px}.back:hover{color:var(--gold-hi)}
.eyebrow{margin:0 0 .4rem;letter-spacing:.28em;text-transform:uppercase;font-size:.74rem;font-weight:600;color:var(--gold)}
.watch-title,.dlg-title{margin:0;font:800 clamp(1.7rem,4vw,2.8rem)/1.1 var(--serif);color:var(--ink);outline:none}
.meta{margin:.5rem 0 1rem;color:var(--mute)}
.watch-desc{color:#c3c9e3;max-width:62ch;margin:1.2rem 0 0}
.dlg-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.related{margin-top:30px}
body.theater{background:#02040a}
body.theater .watch{max-width:none;padding-left:0;padding-right:0}
body.theater .player{border-radius:0;border-left:0;border-right:0;max-height:calc(100vh - var(--hdr) - 8px);width:100%}
body.theater .watch-info,body.theater .related{padding-inline:var(--pad);max-width:var(--max);margin-inline:auto}
body.theater .site-header,body.theater .site-footer{opacity:.35}

/* dialogs */
.dlg{border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#0f1840,#070b1b);color:var(--ink);padding:0;width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 28px);box-shadow:0 40px 100px -20px #000,0 0 60px -20px rgba(246,201,118,.4);overflow:auto}
.dlg::backdrop{background:rgba(2,4,12,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dlg[open]{animation:pop .35s var(--ease)}@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}}
.dlg-close{position:absolute;right:10px;top:10px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-soft);background:rgba(5,8,24,.7);cursor:pointer;color:var(--ink)}.dlg-close:hover{border-color:var(--gold);color:var(--gold-hi)}
.dlg-body{padding:clamp(22px,4vw,34px)}
.dlg .dlg-title{font-size:clamp(1.4rem,3vw,2rem);padding-right:40px}
.dlg-sub{color:var(--mute);margin:.6rem 0 1.2rem}
.dlg-info{width:min(760px,calc(100vw - 28px))}
.info{display:grid;grid-template-columns:240px 1fr;gap:26px;padding:0}.info-art{position:relative;min-height:340px}.info-art .poster-img,.info-art .poster-fallback{border-radius:22px 0 0 22px}
.info-copy{padding:clamp(22px,4vw,34px) clamp(22px,4vw,34px) clamp(22px,4vw,34px) 0}
.info-desc{color:#c3c9e3}
.share-url,.share-select,.search-input{width:100%;min-height:48px;padding:.7rem 1rem;border-radius:12px;border:1px solid var(--line);background:rgba(5,8,24,.8);color:var(--ink);font:500 .95rem var(--sans);margin-bottom:12px}
.share-select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.share-select option,.share-select optgroup{background:#0b1230;color:var(--ink)}
.share-status{min-height:1.4em;margin:.8rem 0 0;color:var(--gold-hi);font-size:.9rem}
.dlg-search{width:min(680px,calc(100vw - 28px));align-self:start;margin-top:8vh}
.search-bar{position:relative;display:flex;align-items:center;gap:10px;padding-right:44px}
.search-bar .ico{color:var(--gold);width:24px;height:24px}.search-input{margin:0}
.search-note{color:var(--mute);margin:.8rem 0 0;min-height:1.2em}
.search-results{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;max-height:55vh;overflow:auto}
.result{display:flex;align-items:center;gap:14px;padding:8px;border-radius:12px;text-decoration:none;border:1px solid transparent}.result:hover,.result:focus-visible{background:rgba(246,201,118,.08);border-color:var(--line)}
.result-art{position:relative;flex:none;width:96px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--navy-3)}
.result-text{display:grid;min-width:0}.result-text strong{font-weight:600}.result-text small{color:var(--mute)}

/* footer */
.site-footer{margin-top:40px;padding:48px var(--pad) 56px;text-align:center;border-top:1px solid var(--line-soft);background:linear-gradient(180deg,transparent,rgba(5,8,24,.7));color:var(--mute)}
.site-footer img{height:34px;width:auto;margin:0 auto 14px}.site-footer p{margin:.3rem auto;max-width:60ch}.site-footer .fine{font-size:.82rem;color:var(--dim)}.site-footer a{color:var(--gold)}

/* effects */
.cursor-glow{position:fixed;left:-160px;top:-160px;width:320px;height:320px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(246,201,118,.14),transparent 65%);opacity:0;transition:opacity .4s;mix-blend-mode:screen}
.wipe{position:fixed;inset:0;z-index:300;pointer-events:all;display:none;overflow:hidden}
.wipe-ring{position:absolute;left:50%;top:50%;width:300vmax;height:300vmax;border-radius:50%;background:radial-gradient(circle,#0b1230,#050818 70%);box-shadow:0 0 0 3px var(--gold),0 0 90px 14px rgba(246,201,118,.55);transform:translate(-50%,-50%) scale(0)}
main,.site-footer{position:relative;z-index:2}

/* responsive */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0;padding-top:calc(var(--hdr) + 8px);gap:0;text-align:left}
  .hero-art{order:-1;width:min(78vw,380px);margin:0 auto -6px}
  .hero-copy{max-width:none}
  .info{grid-template-columns:1fr}.info-art{min-height:0;aspect-ratio:16/9}.info-art .poster-img,.info-art .poster-fallback{border-radius:22px 22px 0 0}.info-copy{padding:0 clamp(22px,4vw,34px) clamp(22px,4vw,34px)}
}
@media (max-width:560px){
  :root{--hdr:64px}
  .brand img{height:26px}.nav{gap:12px;margin-left:0}.nav-link{font-size:.88rem}
  .hero-kicker{letter-spacing:.4em}
  .btn-lg{width:100%}
  .shelf-icon{width:38px;height:38px}.shelf-icon .ico{width:21px;height:21px}
  .arrows{display:none}
  .banner{flex-direction:column;align-items:stretch}.banner-share{width:100%}
  .rail-item{flex-basis:42vw}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .dust{display:none}[data-reveal]{opacity:1;transform:none}
}
