@font-face{font-family:"Broadway";src:url(fonts/Broadway-Regular.woff2) format("woff2"),url(fonts/Broadway-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
:root{
  --navy:#0d243a; --ink:#111; --blue:#003087; --red:#a6192e; --wine:#681c30; --black:#1a1e21;
  --cream:#f7f4e9; --cream-2:#f0e7d6; --sand:#aea593; --gold:#d1aa72; --gold-line:#af9c73; --gold-hi:#ffd69d; --gold-bd:#e9c28c;
  --muted:#545863; --muted-2:#3b4252; --white:#fff;
  --grad-gold:linear-gradient(-78deg,#ffd69d 1.8%,#cfab79 19%,#cca469 45%,#ffe1bc 98%);
  --grad-gold-2:linear-gradient(28deg,#ffd69d 19%,#eecb9a 37%,#ffe2b9 81%);
  --display:"tt-modernoir","Limelight",Georgia,serif; --accent:"Broadway","tt-modernoir",serif; --body:"Poppins",system-ui,sans-serif;
  --max:1480px; --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--black);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto;position:relative}
h1,h2,.display{font-family:var(--display);font-weight:600;line-height:1.1;letter-spacing:0}
h2{font-size:clamp(36px,3.75vw,72px)}
h3{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.9px;font-size:18px;line-height:1.45}
.gold-text{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
/* kicker + rule lines (Figma: Poppins Medium 12, tracking 3px, 193px gradient lines) */
.kicker{display:inline-flex;align-items:center;gap:30px;font-size:14px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--red);line-height:16.5px;white-space:nowrap}
.kicker .ln{width:193px;height:1px;background:linear-gradient(90deg,rgba(166,25,46,0),var(--red) 50%,rgba(166,25,46,0))}
.kicker.left .ln{background:linear-gradient(90deg,var(--red),rgba(166,25,46,0))}
.kicker.gold{color:transparent}
.kicker.gold span{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker.gold .ln{background:linear-gradient(90deg,rgba(255,214,157,0),#ffe1bc 50%,rgba(255,214,157,0))}
.kicker.gold.left .ln{background:linear-gradient(90deg,#ffe1bc,rgba(255,214,157,0))}
@media (max-width:700px){.kicker .ln{width:60px}}
.center{text-align:center}
.star-red{display:block;width:20px;height:33px;margin:0 auto 12px}
/* Buttons (Figma: red fill, 4px pad, inner 1px #ffd69d border; outline variant double #ffd69d) */
.btn{display:inline-flex;padding:4px;font-size:15px;font-weight:600;letter-spacing:1px;text-transform:uppercase;line-height:20px;transition:transform .2s,filter .2s}
.btn>span{display:block;padding:13px 26px;border:1px solid var(--gold-hi);white-space:nowrap}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn-red{background:var(--red);color:var(--white)}
.btn-gold{border:1px solid var(--gold-hi)}
.btn-gold>span{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-shop{border:1px solid #f1cb7a;color:var(--white)}
.link{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.link::after{content:"";width:9px;height:6px;background:url(img/f/arrow-red.svg) center/contain no-repeat}

/* Header */
.site-header{position:absolute;inset:0 0 auto 0;z-index:20;height:96px;display:flex;align-items:center}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:60px;position:absolute;left:50%;transform:translateX(-50%)}
.nav a{font-size:16px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#b3b9c5;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.nav a:hover{color:var(--cream)}
.nav .caret{width:8px;height:5px;background:url(img/f/deco-caret.svg) center/contain no-repeat;display:inline-block}
.menu-btn{display:none;width:40px;height:40px;position:relative}
.menu-btn span{position:absolute;left:8px;right:8px;height:2px;background:currentColor;top:13px}
.menu-btn span:nth-child(2){top:19px}.menu-btn span:nth-child(3){top:25px}
.hdr-cream{background:var(--cream);color:var(--navy);position:relative}
.hdr-cream .brand img{height:34px}
.hdr-cream .nav a{color:var(--navy)}
.hdr-cream .btn-shop{border-color:var(--navy);color:var(--navy)}
.hdr-cream .btn-shop>span{border-color:var(--navy)}
.hdr-dark{color:var(--cream)}
.hdr-minimal .nav{display:none}

/* Hero */
.hero{position:relative;color:var(--cream-2);min-height:900px;display:flex;align-items:center;background:#0b1b2c center/cover no-repeat;isolation:isolate;overflow:hidden}
.hero .wrap{padding:150px 0 110px}
.hero-copy{width:69%;max-width:none}
.hero-3 .hero-copy{width:72%}
.hero .kicker{display:flex;width:100%;gap:30px}.hero .kicker .ln{flex:1;width:auto}
.hero-1 .kicker .ln,.hero-2 .kicker .ln{display:none}
@media (max-width:900px){.hero-copy,.hero-3 .hero-copy{width:100%}}
.hero .kicker{margin-bottom:60px;font-size:13px;letter-spacing:2.75px}
.hero-1 .kicker{transform:translateY(6px)}
.hero h1{font-size:clamp(44px,4.9vw,94px);background:linear-gradient(90deg,var(--cream-2) 17.7%,var(--white));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:38px}
.hero p{font-size:23px;color:var(--sand);max-width:760px;margin-bottom:44px;line-height:1.5}
.hero p b{color:var(--cream-2);font-weight:500}
.hero-ctas{display:flex;flex-wrap:wrap;gap:20px}
.hero-tag{display:flex;align-items:center;gap:29px;margin-top:84px}
.hero-tag .spark{width:50px;height:83px}
.hero-tag span{font-size:13px;font-weight:500;letter-spacing:2.75px;text-transform:uppercase;line-height:16.5px;margin-left:-9px}
.hero-tag .ln{width:193px;height:1px;background:linear-gradient(90deg,#ffe1bc,rgba(255,214,157,0))}
.deco{position:absolute;pointer-events:none;z-index:0}
/* deco anchored to the content column: --m is the side margin (viewport edge → column) */
.hero{--m:calc((100% - min(var(--max),100% - 2*var(--gutter)))/2)}
.hd-margin{position:absolute;left:0;top:0;width:var(--m);height:900px;pointer-events:none;z-index:0}
.hd-wrap{position:absolute;left:0;top:0;width:100%;height:900px;pointer-events:none;z-index:0;overflow:visible}
.hd-margin .d,.hd-wrap .d{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.65,0,.35,1) forwards}
.hd-margin .d1{animation-delay:.1s;animation-duration:2s}.hd-margin .d2{animation-delay:.35s;animation-duration:2.2s}.hd-margin .d3{animation-delay:.9s}
.hd-wrap .d5{animation-delay:.6s;animation-duration:1.8s}.hd-wrap .d6{animation-delay:.75s;animation-duration:1.8s}
.hd-wrap .dot{opacity:0;transform-origin:528px 140.5px;animation:pop .8s ease 2.2s forwards,glow 3.4s ease-in-out 3s infinite}
@media (max-width:1200px){body:not(.stage) .hd-margin{display:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.35}}
.hero-1 .hero-copy>*{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-1 .kicker{animation-delay:.5s;animation-name:riseK}
@keyframes riseK{to{opacity:1;transform:translateY(6px)}}.hero-1 h1{animation-delay:.7s}.hero-1 p{animation-delay:.9s}.hero-1 .hero-ctas{animation-delay:1.1s}.hero-1 .hero-tag{animation-delay:1.4s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hd-margin .d,.hd-wrap .d{animation:none;stroke-dashoffset:0}.hd-wrap .dot{animation:none;opacity:1}.hero-1 .hero-copy>*{animation:none;opacity:1;transform:none}}
@media (max-width:900px){.hd-margin,.hd-wrap,.hero-2 .rail,.hero-2 .hl,.hero-2 .ray,.hero-3 .fullline{display:none}}
.deco-topline{left:326px;top:39px;width:901px;height:43px;opacity:.9}
.deco-topline.flip{transform:scaleY(-1)}
.deco-line8{left:0;top:61px;width:247px;height:1px;background:linear-gradient(90deg,rgba(255,214,157,0),#ffe1bc)}
.deco-line16{left:484px;top:61px;width:743px;height:1px;background:linear-gradient(90deg,#ffe1bc,rgba(255,214,157,0))}
.deco-arc{left:67px;top:-220px;width:259px;height:259px;transform:rotate(-90deg) scaleY(-1)}
.deco-vline{left:33px;top:0;width:68px;height:100%;transform:scaleY(-1)}
.deco-vline img{width:100%;height:100%;object-fit:fill}
@media (max-width:1400px){body:not(.stage) .deco-topline,body:not(.stage) .deco-line16,body:not(.stage) .deco-arc{display:none}}
.hero-1{background-image:url(img/f/hero-v21.webp);background-position:82% 50%} /* 10-27: designer's new lounge scene (Marcus concept), PSD 'Background Lounge scene Final 3840px'; v15 = Alex's 10-13 fallback */
/* client pick 2026-09-28: option 07 (lounge with guests); left gradient keeps the copy legible over the brighter scene */
.hero-1::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,22,.94) 0%,rgba(5,8,22,.8) 34%,rgba(5,8,22,.3) 56%,rgba(5,8,22,0) 72%)}
/* V1 copy pinned to the Figma coordinates: kicker on the y=139 deco line, headline at 237 */
.hero-1{align-items:flex-start}
.hero-1 .wrap{padding:126px 0 80px}
.hero-1 .kicker{margin-bottom:89px}
@media (max-width:1400px){body:not(.stage) .hero-1 .kicker{margin-bottom:89px}}
@media (max-width:900px){.hero-1 .wrap{padding:130px 0 80px}.hero-1 .kicker{margin-bottom:30px}}
.hero-2{background-image:url(img/f/hero-2.webp);background-position:center}
/* Figma 'Rectangle 1': dark gradient over the left 75% of the photo (rgb 5,8,22 → transparent) */
.hero-2::after{content:'';position:absolute;left:0;top:0;bottom:0;width:75.3%;z-index:-1;background:linear-gradient(90deg,#050816 0%,rgba(5,8,22,0) 100%)}
.hero-3{background-image:url(img/f/hero-3.webp);background-position:center}
/* V2/V3 pinned to Figma (104:1779 / 104:1996): image crop, copy y-positions, deco lines */
@media (min-width:900px){
  .hero-2{min-height:820px;align-items:flex-start}
  .hero-2 .wrap{padding:75px 0 60px}
  .hero-2 .kicker{margin-bottom:60px;font-weight:600}
  .hero-3{align-items:flex-start}
  .hero-3 .wrap{padding:200px 0 80px}
  .hero-3 .kicker{margin-bottom:34px;font-weight:600}
  .hero h1{margin-bottom:20px}.hero p{margin-bottom:40px}.hero-tag{margin-top:80px}.hero-3 .kicker .ln{display:none}
}
@keyframes fadein{to{opacity:.9}}
/* V2 rails + bands: fixed offsets from the content column so they never cross the copy */
.hero-2 .rail{position:absolute;top:0;width:1px;background:linear-gradient(180deg,rgba(255,214,157,.15),#ffe1bc 25%,#d1aa72 60%,rgba(255,214,157,.1));transform-origin:top;transform:scaleY(0);animation:growY 2.2s cubic-bezier(.65,0,.35,1) forwards}
.hero-2 .rail.l{height:100%}.hero-2 .rail.r{height:623px}
.hero-2 .rail.l.r1{left:calc(var(--m) - 52px)}.hero-2 .rail.l.r2{left:calc(var(--m) - 45px);animation-delay:.1s}.hero-2 .rail.l.r3{left:calc(var(--m) - 38px);animation-delay:.2s}.hero-2 .rail.l.r4{left:calc(var(--m) - 31px);animation-delay:.3s}
.hero-2 .rail.r.r1{right:calc(var(--m) - 30px)}.hero-2 .rail.r.r2{right:calc(var(--m) - 37px);animation-delay:.1s}.hero-2 .rail.r.r3{right:calc(var(--m) - 44px);animation-delay:.2s}.hero-2 .rail.r.r4{right:calc(var(--m) - 51px);animation-delay:.3s}
.hero-2 .hl{position:absolute;height:1px;transform-origin:left;transform:scaleX(0);animation:growX 1.6s cubic-bezier(.65,0,.35,1) .9s forwards}
.hero-2 .hl.l{left:0;width:calc(var(--m) - 12px);background:linear-gradient(90deg,rgba(255,214,157,.1),#ffe1bc)}
.hero-2 .hl.r{left:calc(var(--m) + 236px);right:0;background:linear-gradient(90deg,#ffe1bc,rgba(209,170,114,.7) 50%,rgba(255,214,157,.15))}
.hero-2 .hl.h1{top:78px}.hero-2 .hl.h2{top:85px;animation-delay:1s}.hero-2 .hl.h3{top:92px;animation-delay:1.1s}.hero-2 .hl.h4{top:99px;animation-delay:1.2s}
.hero-2 .ray{position:absolute;width:74px;height:74px;opacity:0;animation:fadein 1.2s ease 2s forwards}
.hero-2 .ray.l{left:calc(var(--m) - 128px);top:2px;transform:rotate(180deg)}.hero-2 .ray.r{right:calc(var(--m) - 126px);top:99px}
@media (max-width:1700px){body:not(.stage) .hero-2 .ray{display:none}}
.hero-3 .fullline{position:absolute;left:0;right:0;top:90px;height:1px;background:linear-gradient(90deg,rgba(255,214,157,0),#ffe1bc 50%,rgba(255,214,157,0));transform:scaleX(0);animation:growX 2.4s cubic-bezier(.65,0,.35,1) .2s forwards}
@keyframes growY{to{transform:scaleY(1)}}@keyframes growX{to{transform:scaleX(1)}}
/* V2 nav flanking lines travel with the nav */
.hdr-2 .nav::before,.hdr-2 .nav::after{content:"";height:1px;flex:none;background:linear-gradient(90deg,rgba(0,34,60,0),rgba(0,34,60,.45))}
.hdr-2 .nav::before{width:211px}.hdr-2 .nav::after{width:199px;background:linear-gradient(90deg,rgba(0,34,60,.45),rgba(0,34,60,0))}
@media (max-width:1500px){body:not(.stage) .hdr-2 .nav::before,body:not(.stage) .hdr-2 .nav::after{width:90px}}
.hero-2 .hero-copy>*,.hero-3 .hero-copy>*{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-2 .kicker,.hero-3 .kicker{animation-delay:.5s}.hero-2 h1,.hero-3 h1{animation-delay:.7s}.hero-2 p,.hero-3 p{animation-delay:.9s}.hero-2 .hero-ctas,.hero-3 .hero-ctas{animation-delay:1.1s}.hero-2 .hero-tag{animation-delay:1.4s}
@media (prefers-reduced-motion:reduce){.hero-2 .hero-copy>*,.hero-3 .hero-copy>*{animation:none;opacity:1;transform:none}.hero-2 .rail,.hero-2 .hl,.hero-2 .ray,.hero-3 .fullline{animation:none;opacity:1;transform:none}}
.hero-3 .hero-tag{display:none}

body[data-hero="1"] .hero:not(.hero-1),body[data-hero="2"] .hero:not(.hero-2),body[data-hero="3"] .hero:not(.hero-3){display:none}
body[data-hero="1"] .site-header:not(.hdr-1),body[data-hero="2"] .site-header:not(.hdr-2),body[data-hero="3"] .site-header:not(.hdr-3){display:none}
@media (max-width:900px){
  .hero{background-position:72% 50%!important;min-height:min(900px,100svh)}
  .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,26,.86) 0%,rgba(6,14,26,.62) 60%,rgba(6,14,26,.4) 100%)}
  .hero .wrap{padding:130px 0 80px}
  .hero-1{background-image:url(img/f/hero-v21-m.webp)}.hero-2{background-image:url(img/f/hero-2-m.webp)}.hero-3{background-image:url(img/f/hero-3-m.webp)}
  .hero .kicker{margin-bottom:30px}.hero h1{margin-bottom:24px}.hero p{margin-bottom:34px}.hero-tag{margin-top:44px}.hero-tag .ln{width:90px}
}

/* Review-only hero switcher */
.switcher{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;background:rgba(10,21,38,.92);color:var(--cream);border:1px solid rgba(201,164,92,.5);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.35);backdrop-filter:blur(8px);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.switcher b{color:var(--gold-hi);margin-right:6px;font-weight:600;white-space:nowrap}
.switcher button{width:34px;height:34px;border-radius:50%;font-weight:700;color:var(--cream);border:1px solid transparent;font-size:12px}
.switcher button:hover{border-color:var(--gold)}
.switcher button[aria-pressed="true"]{background:var(--red);color:#fff}
.switcher .close{width:auto;padding:0 10px;opacity:.6;font-size:10px;letter-spacing:.1em}
@media (max-width:600px){.switcher{font-size:9px;letter-spacing:.12em;padding:4px 6px 4px 12px;bottom:12px}.switcher button{width:30px;height:30px}}

/* Side rails (Figma: 1px lines at 70/121 and 1799/1850 through the dark sections) */
.rails{position:absolute;inset:0;pointer-events:none;z-index:0}
.rails i{position:absolute;top:0;bottom:0;width:1px;background:var(--rail,rgba(175,156,115,.35))}
.rails{--m:calc((100% - min(var(--max),100% - 2*var(--gutter)))/2)}
.rails .a{left:calc(var(--m)*.27)}.rails .b{left:calc(var(--m)*.47)}.rails .c{right:calc(var(--m)*.47)}.rails .d{right:calc(var(--m)*.27)}
@media (max-width:1200px){body:not(.stage) .rails{display:none}}

/* Features */
.features{background:var(--cream);padding:80px 0 90px;position:relative;overflow:hidden}
.features .head{margin:0 auto 44px}
.features h2{color:var(--black);margin-top:32px}
.feat-grid{display:grid;grid-template-columns:repeat(3,400px);justify-content:center;gap:clamp(24px,4vw,60px)}
.feat{border:1px solid var(--gold-line);background:var(--cream);position:relative;text-align:center;transition:transform .3s,box-shadow .3s}
.feat:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(13,36,58,.4)}
.feat .ph{height:440px;overflow:hidden;position:relative}
.feat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.feat:hover .ph img{transform:scale(1.04)}
.feat .txt{height:250px;border-top:1px solid var(--gold-line);position:relative;overflow:hidden;padding:64px 28px 0}
.feat .txt h3{color:var(--black);height:54px;display:flex;align-items:center;justify-content:center}
.feat .txt .ln{display:block;width:100px;height:1px;margin:8px auto 12px;background:linear-gradient(90deg,rgba(166,25,46,0),var(--red) 50%,rgba(166,25,46,0))}
.feat .txt p{font-size:17px;color:var(--muted);max-width:350px;margin:0 auto;line-height:1.5}
.feat .badge{position:absolute;left:50%;top:440px;transform:translate(-50%,-50%);width:172px;height:130px}
.feat .badge .chev{position:absolute;left:1px;top:0;width:171px;height:91px}
.feat .badge .tri{position:absolute;left:16px;top:33px;width:140px;height:80px}
.feat .badge b{position:absolute;left:0;right:0;top:64px;text-align:center;font-family:var(--accent);font-weight:400;font-size:28px;letter-spacing:0;background:var(--grad-gold-2);-webkit-background-clip:text;background-clip:text;color:transparent}
.feat .corner{position:absolute;bottom:-1px;width:30px;height:30px;opacity:.9}
.feat .corner.l{left:-1px;transform:rotate(180deg) scaleY(-1)}.feat .corner.r{right:-1px}
.feat-diag{position:absolute;top:108px;width:413px;height:895px;opacity:.7}
.feat-diag.l{left:calc(50% - 700px + 40px);transform:rotate(-90deg) scaleY(-1);transform-origin:206px 206px}
.feat-diag.r{right:calc(50% - 700px + 40px);transform:rotate(-90deg);transform-origin:206px 206px}
@media (max-width:1250px){body:not(.stage) .feat-grid{grid-template-columns:repeat(3,minmax(0,360px))}body:not(.stage) .feat-diag{display:none}}
@media (max-width:900px){.feat-grid{grid-template-columns:min(360px,100%)}}

/* Story */
.story{background:var(--white);padding:80px 0 90px;overflow:hidden}
.story .wrap{display:grid;grid-template-columns:minmax(0,600px) minmax(0,689px);justify-content:space-between;gap:clamp(40px,4vw,70px);align-items:center}
.story .copy{padding-top:0}
.story h2{color:var(--black);margin:22px 0 20px}
.story h2 .red{color:var(--red);display:block}
.story .lead{font-size:21px;font-weight:500;color:rgba(0,0,0,.82);margin-bottom:16px;max-width:none}
.story .more{margin:0 0 30px;max-width:none;display:grid;gap:12px}
.story .more h3{text-transform:none;letter-spacing:normal;font-size:19px;font-weight:600;color:var(--navy);line-height:1.6;margin:4px 0 0}
.story .more p{font-size:18px;color:var(--muted-2);max-width:none}
.story-media{position:relative;padding:34px 0 34px 34px}
.story-media .big{height:480px;overflow:hidden;position:relative;z-index:1}
.story-media .big img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.story-media .era{cursor:pointer}
.story-media .era img{position:absolute;inset:0;transition:opacity 1.4s ease,filter 1.4s ease,transform 1.4s ease}
.story-media .era .then{filter:grayscale(1) contrast(1.08) brightness(.96)}
.story-media .era .now{opacity:0}
.story-media .era:hover .now,.story-media .era.on .now,.story-media .era:focus-visible .now{opacity:1}
.story-media .era:hover .then,.story-media .era.on .then{filter:grayscale(0)}
.story-media .era-tag{position:absolute;left:18px;bottom:16px;z-index:2;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.story-media .era-tag i{width:36px;height:1px;background:var(--gold-hi);position:relative}
.story-media .era-tag i::after{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold-hi);transition:left 1.4s ease}
.story-media .era:hover .era-tag i::after,.story-media .era.on .era-tag i::after{left:29px}
.story-media .era-tag b:last-child{opacity:.55;transition:opacity 1.4s}.story-media .era:hover .era-tag b:last-child,.story-media .era.on .era-tag b:last-child{opacity:1}
.story-media .era:hover .era-tag b:first-child,.story-media .era.on .era-tag b:first-child{opacity:.55}.story-media .era-tag b{font-weight:600;transition:opacity 1.4s}
.story-media .tiles{display:grid;grid-template-columns:160px 1fr 160px;gap:20px;margin-top:18px;position:relative;z-index:1}
.story-media .tiles>*{height:160px;overflow:hidden;position:relative}
.story-media .tiles img{width:100%;height:100%;object-fit:cover}
.tile-blue{background:var(--blue);display:flex;align-items:center;justify-content:center;text-align:center}
.tile-blue .frame{position:absolute;inset:36px 21px 14px;transform:scaleY(-1)}
.tile-blue .frame img{width:100%;height:100%;object-fit:fill}
.story-media .tiles .tile-blue img.spark{position:absolute;left:50%;top:14px;transform:translateX(-50%);width:18px;height:30px;object-fit:contain}
.tile-blue .t{position:relative;font-family:var(--display);font-weight:600;font-size:clamp(20px,1.6vw,30px);line-height:1.12;letter-spacing:.02em;background:none;color:var(--cream);padding-top:30px}
.story-media .fl1{position:absolute;right:-34px;top:0;width:57.6%;aspect-ratio:397/353;height:auto;z-index:0}
.story-media .fl2{position:absolute;left:0;bottom:0;width:57.6%;aspect-ratio:397/353;height:auto;z-index:0}
@media (max-width:1100px){body:not(.stage) .story .wrap{grid-template-columns:1fr}body:not(.stage) .story-media{order:-1;padding:0}body:not(.stage) .story-media .fl1,body:not(.stage) .story-media .fl2{display:none}body:not(.stage) .story-media .tiles{grid-template-columns:1fr 1.6fr 1fr}body:not(.stage) .story-media .tiles>*{height:auto;aspect-ratio:1}body:not(.stage) .story .copy{padding-top:0}}
@media (max-width:600px){.story-media .big{height:auto;aspect-ratio:4/3}.tile-blue .spark{display:none}.tile-blue .t{padding-top:0}}

/* Learn & Play + Testimonials (one dark frame in Figma) */
.play{background:linear-gradient(180deg,#0b1522 0%,#0c1e33 38%,var(--navy) 60%,#08131f 100%);color:var(--cream);position:relative;overflow:hidden;--rail:rgba(233,194,140,.28)}
.skyline{position:relative;height:clamp(300px,42vw,807px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.55) 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.55) 72%,transparent 100%)}
.skyline .sky{position:absolute;left:50%;top:0;transform:translateX(-50%);width:max(100%,1200px);height:100%}
.skyline img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.skyline::after{display:none}
/* searchlight: a cone from the bottom centre sweeping left to right, masked to the gold linework */
.skyline .beamwrap{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;overflow:hidden;
  -webkit-mask-image:url(img/f/skyline-mask.png);mask-image:url(img/f/skyline-mask.png);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center top;mask-position:center top;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.skyline .beam{position:absolute;left:50%;bottom:-6%;width:34%;height:230%;transform-origin:50% 100%;transform:translateX(-50%) rotate(-52deg);
  clip-path:polygon(44% 100%,56% 100%,100% 0,0 0);
  background:linear-gradient(90deg,rgba(255,244,214,0) 0%,rgba(255,250,236,.85) 35%,#fffdf3 50%,rgba(255,250,236,.85) 65%,rgba(255,244,214,0) 100%);
  -webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.9) 40%,rgba(0,0,0,.45) 100%);mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.9) 40%,rgba(0,0,0,.45) 100%);
  animation:searchlight 11s cubic-bezier(.45,.02,.55,.98) infinite alternate}
.skyline .beamwrap.glow .beam{filter:blur(10px);opacity:.9}
.skyline .beamwrap.halo{-webkit-mask-image:none;mask-image:none;opacity:.22}
.skyline .beamwrap.halo .beam{filter:blur(28px)}
@keyframes searchlight{from{transform:translateX(-50%) rotate(-52deg)}to{transform:translateX(-50%) rotate(52deg)}}
@media (prefers-reduced-motion:reduce){.skyline .beamwrap{display:none}}
.play .circ{position:absolute;left:50%;top:20vw;transform:translateX(-50%);width:52.55vw;height:52.55vw;border:1px solid rgba(233,194,140,.28);border-radius:50%;pointer-events:none}
.play .circ.b{top:20.83vw;width:50.9vw;height:50.9vw;opacity:.7}
@media (max-width:1100px){body:not(.stage) .play .circ{display:none}}
.play .head{position:relative;z-index:1;max-width:1000px;margin:clamp(-77px,-4vw,-30px) auto 44px}
.play .sparkle{display:block;width:30px;height:50px;margin:0 auto 12px}
.play h2{color:var(--white);margin-top:33px}
.play .head p{font-size:20px;font-weight:500;color:rgba(247,244,233,.6);margin-top:22px}
.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,455px));justify-content:center;gap:20px;position:relative;z-index:1}
.pcard{position:relative;min-height:420px;background:linear-gradient(180deg,#040e14,#03121b);border:1px solid var(--gold-bd);padding:52px 40px 130px;text-align:center;overflow:hidden;transition:transform .3s}
.pcard:hover{transform:translateY(-6px)}
.pcard .deco-rays{position:absolute;left:50%;bottom:66px;transform:translateX(-50%) rotate(180deg);width:611px;height:354px;opacity:.9;max-width:none}
.pcard .tri{position:absolute;left:50%;top:-1px;transform:translateX(-50%) scaleY(-1);width:34px;height:20px}
.pcard .ico{height:78px;width:auto;max-width:140px;margin:0 auto 40px;position:relative;object-fit:contain;display:block}
.pcard h3{color:var(--white);font-size:22px;position:relative}
.pcard p{font-size:18px;color:#a3a9b3;margin:16px auto 0;max-width:350px;position:relative}
.pcard .btn{position:absolute;left:50%;transform:translateX(-50%);bottom:60px}
.pcard .btn:hover{transform:translateX(-50%) translateY(-2px)}
@media (max-width:900px){.play-grid{grid-template-columns:min(455px,100%)}}
.divider{position:relative;height:80px;margin:80px 0 0}
.divider img{position:absolute;left:0;right:0;width:100%;height:40px}
.divider .top{top:0}.divider .bot{top:40px;transform:scaleY(-1)}
.divider .dot{position:absolute;left:50%;top:34px;width:12px;height:12px;border-radius:50%;background:var(--gold);transform:translateX(-50%)}
@media (max-width:1200px){body:not(.stage) .divider{display:none}}
.testi{position:relative;padding:70px 0 250px}
.testi .bgimg{position:absolute;right:0;top:-40px;bottom:-40px;height:calc(100% + 80px);width:min(1222px,64%);object-fit:cover;object-position:left center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent,#000 40%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.testi .wrap{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:40px;align-items:center;position:relative;z-index:1}
.testi h2{color:var(--white);margin:46px 0 27px;max-width:min(600px,100%);overflow-wrap:break-word}
.testi .sub{color:rgba(247,244,233,.78);font-size:20px;max-width:520px}
.slider{position:relative;display:flex;align-items:center;justify-content:center;gap:34px;min-height:460px}
.slide-wrap{position:relative;width:361px;height:460px}
.slide{position:absolute;inset:0;background:url(img/f/review-card.webp) center/cover;padding:118px 38px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;opacity:0;transform:translateX(24px);transition:opacity .45s,transform .45s;pointer-events:none;border-radius:6px;box-shadow:0 40px 70px -30px rgba(0,0,0,.7)}
.slide.on{opacity:1;transform:none;pointer-events:auto}
.slide p{font-family:"Fuzzy Bubbles",cursive;font-weight:700;font-size:19px;line-height:1.45;color:#282624}
.slide .rule{display:block;width:50px;height:2px;background:#81756d}
.slide .who{font-size:14px;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--navy);line-height:16.5px}
.slide .stars{display:flex;gap:2px;justify-content:center;margin-top:20px}
.slide .stars i{width:20px;height:20px;background:url(img/f/star-gold.svg) center/contain no-repeat}
.ghost{position:absolute;width:290px;height:386px;top:37px;background:url(img/f/review-card.webp) center/cover;opacity:.55;filter:blur(5px);border-radius:8px;pointer-events:none}
.ghost.l{left:-235px;transform:rotate(-3deg)}.ghost.r{right:-235px;transform:rotate(4deg)}
.arrow{width:76px;height:76px;flex:none;position:relative;color:var(--gold-hi)}
.arrow::before{content:"";position:absolute;inset:12px;background:rgba(25,25,25,.65);border:1px solid rgba(233,194,140,.35);transform:rotate(45deg);backdrop-filter:blur(14px)}
.arrow svg{position:absolute;inset:0;margin:auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.arrow:hover::before{background:rgba(166,25,46,.75)}
@media (max-width:1000px){body:not(.stage) .testi .wrap{grid-template-columns:1fr;gap:50px}body:not(.stage) .testi .bgimg{width:100%;opacity:.35;mask-image:none;-webkit-mask-image:none}body:not(.stage) .ghost{display:none}}
@media (max-width:700px){.slider{display:grid;grid-template-columns:1fr 1fr;justify-items:center;gap:16px;min-height:0}.slide-wrap{grid-column:1/-1;grid-row:1;width:min(361px,100%);height:auto;aspect-ratio:361/460}.arrow{grid-row:2}.slide{padding-top:30%}.arrow{width:60px;height:60px}}

/* Newsletter */
.news{background:transparent;padding:0;position:relative;height:0;overflow:visible;z-index:5;display:flow-root}
.news .band{position:relative;max-width:100%;overflow:hidden;margin-top:-148px;height:320px;background:var(--red);color:var(--white);padding:0 clamp(24px,5vw,74px);display:grid;grid-template-columns:minmax(0,500px) 94px minmax(0,524px);justify-content:space-between;gap:clamp(20px,3vw,40px);align-items:center;z-index:2}
.news .band::before{content:"";position:absolute;inset:20px;border:1px solid var(--white);pointer-events:none}
.news .band::after{content:"";position:absolute;inset:25px;border:1px solid var(--white);pointer-events:none}
.news .cnr{position:absolute;width:20.5px;height:20.5px;border-color:var(--white);border-style:solid;border-width:0}
.news .cnr.tl{left:0;top:0;border-left-width:1px;border-top-width:1px}.news .cnr.tr{right:0;top:0;border-right-width:1px;border-top-width:1px}
.news .cnr.bl{left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}.news .cnr.br{right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.news .dot{position:absolute;width:9px;height:9px;border:1px solid var(--white);border-radius:50%}
.news .dot.tl{left:26px;top:26px}.news .dot.tr{right:26px;top:26px}.news .dot.bl{left:26px;bottom:26px}.news .dot.br{right:26px;bottom:26px}
.news h2{color:var(--white);overflow-wrap:anywhere}
.news .spark{width:94px;height:158px;justify-self:center}
.news p{font-size:19px;font-weight:500;margin-bottom:24px}
.news form{display:flex;max-width:509px}
.news input{flex:1;min-width:0;width:0;height:54px;padding:14px 20px;border:0;font:inherit;font-size:15px;color:#111;background:var(--white)}
.news input::placeholder{color:rgba(17,17,17,.5)}
.news input:focus{outline:2px solid var(--gold-hi)}
.news button{height:54px;padding:0 26px;font-size:13px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;background:var(--navy);color:var(--cream)}
.news .ok{display:none;font-weight:600}
@media (max-width:1000px){body:not(.stage) .news{height:auto;padding:0 0 60px;background:var(--cream)}body:not(.stage) .news .band{height:auto;margin-top:-90px;grid-template-columns:minmax(0,1fr);text-align:center;padding:56px 28px}body:not(.stage) .family{height:auto;padding:80px 0 100px}body:not(.stage) .news form{flex-wrap:wrap;gap:8px}body:not(.stage) .news button{width:100%}body:not(.stage) .news .spark{width:60px;height:100px}body:not(.stage) .news form{margin:0 auto}}

/* Regal Games family (Figma Frame 56) */
.family{background:var(--cream);padding:210px 0 0;position:relative;overflow:hidden;height:900px;text-align:center}
.fdeco{position:absolute;pointer-events:none}
.fdeco.side{top:0;width:145px;height:902px}.fdeco.side.l{left:-1px}.fdeco.side.r{right:0}
.fdeco.cnr{top:1px;width:257px;height:429px}.fdeco.cnr.l{left:2px}.fdeco.cnr.r{right:0}
.fdeco.btm{bottom:13px;width:676px;height:181px}.fdeco.btm.l{left:156px}.fdeco.btm.r{right:157px}
@media (max-width:1300px){body:not(.stage) .fdeco{display:none}}
.family .wrap{z-index:1;display:block}
.fam-logo{display:block;width:200px;margin:0 auto 40px}
.fam-logo img{width:100%;height:auto;transition:opacity .2s}
.fam-logo:hover img{opacity:.8}
.fam-copy{max-width:760px;margin:0 auto}
.family h2{color:var(--navy);margin:30px 0 26px}
.family .sub{color:var(--navy);font-size:20px;margin:0 auto 36px;max-width:800px}
.fam-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 0;margin:90px auto 0;padding:0;font-size:22px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--red);line-height:23.4px}
.fam-list li{display:inline-flex;align-items:center}
.fam-list li+li::before{content:"";width:9px;height:9px;background:var(--red);transform:rotate(45deg);margin:0 26px;flex:none}
@media (max-width:1000px){body:not(.stage) .family{padding:80px 0 100px;height:auto}body:not(.stage) .fam-logo{width:140px;margin-bottom:50px}body:not(.stage) .fam-list{font-size:15px;margin-top:50px;gap:10px 0}body:not(.stage) .fam-list li+li::before{margin:0 14px;width:6px;height:6px}}

/* Footer */
.footer{background:var(--ink);color:rgba(247,244,233,.45);padding:64px 0 0;position:relative;overflow:hidden}
.footer .rails i{background:rgba(247,244,233,.12)}
.footer .rails .a{left:calc(var(--m)*.28)}.footer .rails .b{left:calc(var(--m)*.55)}.footer .rails .c{right:calc(var(--m)*.55)}.footer .rails .d{right:calc(var(--m)*.28)}
.footer .rect{position:absolute;top:12px;width:675px;height:180px;opacity:.6}
.footer .rect.l{left:156px;transform:rotate(180deg) scaleY(-1)}.footer .rect.r{right:156px}
@media (max-width:1300px){body:not(.stage) .footer .rect{display:none}}
.footer .top{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,204px);justify-content:space-between;gap:40px;padding-bottom:48px;position:relative;z-index:1}
.footer .brand img{height:30px}
.footer .tag{font-size:17px;font-weight:300;color:rgba(247,244,233,.55);margin:32px 0 22px;max-width:260px;line-height:1.8}
.socials{display:flex;gap:15px}
.socials a{width:40px;height:40px;border:1px solid rgba(247,244,233,.15);display:flex;align-items:center;justify-content:center;color:rgba(247,244,233,.6)}
.socials a:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.socials svg{width:15px;height:15px;fill:currentColor}
.footer h3{font-family:"Josefin Sans",var(--body);font-size:12.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:rgba(247,244,233,.6);line-height:16.5px;margin-top:18px}
.footer ul{list-style:none;display:grid;gap:12px;padding-top:20px}
.footer li a{font-size:17px;font-weight:300;color:rgba(247,244,233,.55);line-height:19.5px}
.footer li a:hover{color:var(--cream)}
.footer .bottom{position:relative;height:40px;margin-top:8px}
.footer .bottom .line{position:absolute;left:calc(50% + 17px);transform:translateX(-50%);top:0;width:max(100%,1920px);height:40px;max-width:none}
.footer .bottom .spire{position:absolute;left:50%;top:-44px;transform:translateX(-50%);width:20px;height:44px}
.footer .bottom .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:13.5px;font-weight:300;color:rgba(247,244,233,.62)}
.footer .bottom a{margin-left:20px}
@media (max-width:1100px){body:not(.stage) .footer .top{grid-template-columns:1fr 1fr}body:not(.stage) .footer .top>:first-child{grid-column:1/-1}}
@media (max-width:600px){.footer .bottom{height:auto;padding:18px 0 22px}.footer .bottom .wrap{flex-direction:column;gap:8px;height:auto}.footer .bottom a{margin:0 10px}}

@media (max-width:1000px){body:not(.stage) .nav{display:none}body:not(.stage) .menu-btn{display:block}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ===== Presentation mode: a fixed 1920px stage scaled to the browser, so nothing reflows ===== */
body.stage{--gutter:72px}
body.stage .stagewrap{position:relative;width:100%;overflow:hidden}
body.stage .page{width:1920px;transform-origin:0 0;transform:scale(var(--s,1));text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;backface-visibility:hidden}
body.stage h2{font-size:80px}
body.stage .hero h1{font-size:100px}
body.stage .hero{min-height:900px}
body.stage .skyline{height:807px}
body.stage .play .circ{top:384px;width:1009px;height:1009px}
body.stage .play .circ.b{top:400px;width:977px;height:977px}
body.stage .play .head{margin:-77px auto 58px}
body.stage .tile-blue .t{font-size:28px}
body.stage .feat-grid{gap:66px}
body.stage .story .wrap{gap:110px}
body.stage .news .band{padding:60px 74px}
body.stage .fam-logo{width:170px}
body.stage .hero-copy{width:69%}
body.stage .hero-3 .hero-copy{width:72%}
body.stage .hd-margin,body.stage .hd-wrap,body.stage .hero-2 .rail,body.stage .hero-2 .hl,body.stage .hero-2 .ray,body.stage .hero-3 .fullline,body.stage .rails,body.stage .fam-rail,body.stage .family .btm,body.stage .footer .rect,body.stage .feat-diag,body.stage .divider,body.stage .story-media .fl1,body.stage .story-media .fl2,body.stage .ghost,body.stage .hdr-2 .nav::before,body.stage .hdr-2 .nav::after{display:block}
body.stage .hdr-2 .nav::before{width:211px}body.stage .hdr-2 .nav::after{width:199px}
body.stage .nav{display:flex}body.stage .menu-btn{display:none}
body.stage .hero::before,body.stage .hero-1 .hero-copy>*{}

/* Learn & Play dropdown */
.nav .has-menu{position:relative}
.nav .has-menu>a .caret{transition:transform .2s}
.nav .menu{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);min-width:250px;padding:10px 0;background:rgba(10,21,38,.96);border:1px solid rgba(233,194,140,.35);box-shadow:0 24px 50px -20px rgba(0,0,0,.7);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;z-index:30}
.nav .menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav .menu::after{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;background:rgba(10,21,38,.96);border-left:1px solid rgba(233,194,140,.35);border-top:1px solid rgba(233,194,140,.35);transform:translateX(-50%) rotate(45deg)}
.nav .menu a{display:flex;align-items:center;gap:12px;padding:12px 22px;font-size:15px;letter-spacing:.06em;color:var(--cream-2);white-space:nowrap}
.nav .menu a::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex:none;opacity:.7}
.nav .menu a:hover,.nav .menu a.on{background:rgba(233,194,140,.1);color:var(--gold-hi)}
.nav .has-menu:hover>.menu,.nav .has-menu:focus-within>.menu,.nav .has-menu.open>.menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .has-menu:hover>a .caret,.nav .has-menu.open>a .caret{transform:rotate(180deg)}
.hdr-cream .nav .menu{background:var(--cream);border-color:rgba(13,36,58,.2)}
.hdr-cream .nav .menu::after{background:var(--cream);border-color:rgba(13,36,58,.2)}
.hdr-cream .nav .menu a{color:var(--navy)}
.hdr-cream .nav .menu a:hover,.hdr-cream .nav .menu a.on{background:rgba(13,36,58,.06);color:var(--red)}

.nav .close-x,.nav .m-shop{display:none}
/* ===================== MOBILE (<900px, never staged) ===================== */
@media (max-width:899px){
  body:not(.stage){--gutter:20px}
  /* header + drawer */
  body:not(.stage) .site-header{height:72px}
  body:not(.stage) .brand img{height:26px}
  body:not(.stage) .site-header .btn-shop{font-size:12px;padding:3px}
  body:not(.stage) .site-header .btn-shop>span{padding:9px 16px}
  body:not(.stage) .menu-btn{display:block;color:var(--cream);margin-left:6px}
  body:not(.stage) .hdr-cream .menu-btn{color:var(--navy)}
  body:not(.stage) .nav{display:none;position:fixed;inset:0;z-index:40;background:rgba(10,21,38,.98);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:96px 28px 40px;transform:none;left:0}
  body:not(.stage) .nav.open{display:flex}
  body:not(.stage) .nav>a:not(.m-shop),body:not(.stage) .nav .has-menu>a{font-size:22px;color:var(--cream);padding:16px 0;border-bottom:1px solid rgba(233,194,140,.2);width:100%}
  body:not(.stage) .nav .has-menu{width:100%}
  body:not(.stage) .nav .menu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0 0 8px 18px;min-width:0}
  body:not(.stage) .nav .menu::before,body:not(.stage) .nav .menu::after{display:none}
  body:not(.stage) .nav .menu a{font-size:16px;padding:10px 0;color:var(--sand)}
  body:not(.stage) .nav .caret{display:none}
  body:not(.stage) .nav .close-x{display:block;position:absolute;right:20px;top:20px;width:40px;height:40px;color:var(--cream);font-size:28px;line-height:40px;text-align:center}
  body:not(.stage) .nav .m-shop{display:inline-flex;margin-top:auto;width:100%;justify-content:center;color:var(--gold-hi);font-size:14px;padding:4px;border:1px solid #f1cb7a}
  body:not(.stage) .nav .m-shop>span{width:100%;text-align:center;padding:14px 20px}
  body.nav-open{overflow:hidden}
  /* hero */
  body:not(.stage) .hero{min-height:0;align-items:flex-end}
  body:not(.stage) .hero .wrap{padding:150px 0 44px}
  body:not(.stage) .hero .kicker{font-size:11px;margin-bottom:22px}
  body:not(.stage) .hero .kicker .ln{display:block;flex:1}
  body:not(.stage) .hero h1{font-size:40px;margin-bottom:16px}
  body:not(.stage) .hero p{font-size:16px;line-height:1.55;margin-bottom:24px}
  body:not(.stage) .hero-ctas{gap:10px}
  body:not(.stage) .btn{font-size:12px}
  body:not(.stage) .btn>span{padding:11px 18px}
  body:not(.stage) .hero-tag{margin-top:28px;gap:14px}
  body:not(.stage) .hero-tag .spark{width:30px;height:50px}
  body:not(.stage) .hero-tag span{font-size:10px}
  body:not(.stage) .hero-tag .ln{width:60px}
  body:not(.stage) .hero-1 .kicker{transform:none}
  /* features */
  body:not(.stage) .features{padding:64px 0 56px}
  body:not(.stage) .features .head{margin-bottom:28px}
  body:not(.stage) .star-red{margin-bottom:8px}
  body:not(.stage) h2{font-size:34px}
  body:not(.stage) .kicker{font-size:11px;gap:14px}
  body:not(.stage) .kicker .ln{width:44px}
  body:not(.stage) .feat-grid{grid-template-columns:1fr;gap:26px;max-width:420px;margin:0 auto}
  body:not(.stage) .feat .ph{height:auto;aspect-ratio:9/10}
  body:not(.stage) .feat .badge{top:auto;bottom:212px;transform:translateX(-50%) scale(.85)}
  body:not(.stage) .feat .txt{height:auto;padding:48px 20px 26px}
  body:not(.stage) .feat .txt h3{height:auto;min-height:0;font-size:16px}
  body:not(.stage) .feat .txt p{font-size:15px}
  body:not(.stage) .feat-diag{display:none}
  /* story */
  body:not(.stage) .story{padding:56px 0 64px}
  body:not(.stage) .story .wrap{grid-template-columns:1fr;gap:28px}
  body:not(.stage) .story-media{order:0;padding:0}
  body:not(.stage) .story .copy{order:1}
  body:not(.stage) .story h2{font-size:38px;margin:14px 0 14px}
  body:not(.stage) .story .lead{font-size:18px}
  body:not(.stage) .story .more p{font-size:15.5px}
  body:not(.stage) .story .more h3{font-size:16px}
  body:not(.stage) .story-media .big{height:auto;aspect-ratio:4/3}
  body:not(.stage) .story-media .tiles{grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin-top:10px}
  body:not(.stage) .story-media .tiles>*{height:auto;aspect-ratio:1}
  body:not(.stage) .tile-blue .t{font-size:13px;padding-top:16px}
  body:not(.stage) .story-media .tiles .tile-blue img.spark{top:6px;width:12px;height:20px}
  body:not(.stage) .tile-blue .frame{inset:14px 10px 8px}
  /* learn & play */
  body:not(.stage) .skyline{height:260px}
  body:not(.stage) .play .head{margin:-30px auto 30px}
  body:not(.stage) .play .head p{font-size:16px;margin-top:14px}
  body:not(.stage) .play-grid{grid-template-columns:1fr;gap:16px}
  body:not(.stage) .pcard{min-height:0;padding:44px 24px 98px}
  body:not(.stage) .pcard .ico{height:60px;margin-bottom:22px}
  body:not(.stage) .pcard h3{font-size:19px}
  body:not(.stage) .pcard p{font-size:15.5px}
  body:not(.stage) .pcard .btn{bottom:34px}
  body:not(.stage) .divider{display:none}
  /* testimonials */
  body:not(.stage) .testi{padding:60px 0 150px}
  body:not(.stage) .testi .wrap{gap:28px}
  body:not(.stage) .testi h2{margin:14px 0 12px}
  body:not(.stage) .testi .sub{font-size:16px}
  body:not(.stage) .testi .bgimg{opacity:.22}
  body:not(.stage) .slider{min-height:0}
  body:not(.stage) .slide{padding-top:24%;gap:16px}
  body:not(.stage) .slide p{font-size:16px}
  /* newsletter */
  body:not(.stage) .news{height:auto;padding:0 0 56px;background:var(--cream)}
  body:not(.stage) .news .band{margin-top:-96px;height:auto;padding:40px 22px 34px;grid-template-columns:minmax(0,1fr);text-align:center;gap:14px}
  body:not(.stage) .news .band::before{inset:10px}
  body:not(.stage) .news .band::after{inset:14px}
  body:not(.stage) .news .dot{width:6px;height:6px}
  body:not(.stage) .news .dot.tl,body:not(.stage) .news .dot.tr{top:16px}
  body:not(.stage) .news .dot.bl,body:not(.stage) .news .dot.br{bottom:16px}
  body:not(.stage) .news .dot.tl,body:not(.stage) .news .dot.bl{left:16px}
  body:not(.stage) .news .dot.tr,body:not(.stage) .news .dot.br{right:16px}
  body:not(.stage) .news h2{font-size:30px}
  body:not(.stage) .news .spark{width:36px;height:60px;margin:0 auto}
  body:not(.stage) .news p{font-size:15px;margin-bottom:16px}
  body:not(.stage) .news form{flex-direction:column;gap:8px}
  body:not(.stage) .news input,body:not(.stage) .news button{height:48px;width:100%}
  /* regal */
  body:not(.stage) .family{padding:24px 0 70px;height:auto;min-height:0}
  body:not(.stage) .fam-logo{width:130px;margin-bottom:28px}
  body:not(.stage) .family h2{margin:14px 0 14px}
  body:not(.stage) .family .sub{font-size:16px;margin-bottom:24px}
  body:not(.stage) .fam-list{margin-top:36px;font-size:13px;gap:10px 0;letter-spacing:.06em}
  body:not(.stage) .fam-list li+li::before{width:5px;height:5px;margin:0 12px}
  /* footer */
  body:not(.stage) .footer{padding:48px 0 0}
  body:not(.stage) .footer .top{grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:36px}
  body:not(.stage) .footer .top>:first-child{grid-column:1/-1}
  body:not(.stage) .footer .tag{margin:18px 0 16px;font-size:15px}
  body:not(.stage) .footer h3{margin-top:0;font-size:11px}
  body:not(.stage) .footer ul{padding-top:12px;gap:8px}
  body:not(.stage) .footer li a{font-size:15px}
  body:not(.stage) .footer .bottom{height:auto;padding:22px 0 26px;margin-top:0}
  body:not(.stage) .footer .bottom .line{display:none}
  body:not(.stage) .footer .bottom .spire{display:none}
  body:not(.stage) .footer .bottom .wrap{flex-direction:column;gap:10px;height:auto;font-size:12px;border-top:1px solid rgba(247,244,233,.12);padding-top:18px}
  body:not(.stage) .footer .bottom a{margin:0 8px}
}
.slide.mid p{font-size:17px;line-height:1.4}
.slide.long{padding-top:112px;gap:14px}
.slide.long p{font-size:13.5px;line-height:1.38}
/* 2026-10-13 Alex's homepage hero: keep both boxes in frame on phones */
@media (max-width:900px){.hero.hero-1{background-position:56% 50%!important}}
/* 10-20 header scale-up (Hannah): desktop stage renders at ~70% on laptops, so the header read too small */
body.stage .site-header{height:116px}
body.stage .brand img,body.stage .hdr-cream .brand img{height:60px;transform:translateY(14px)} /* wordmark fills only the top 55% of the SVG canvas, so drop it to line up with the nav */
body.stage .nav{gap:64px}
body.stage .nav a{font-size:20px}
body.stage .nav .caret{width:11px;height:7px}
body.stage .nav .menu a{font-size:18px}
body.stage .site-header .btn-shop{font-size:19px}
body.stage .site-header .btn-shop>span{padding:15px 32px}

/* forms (lead submit, 2026-10-28): the honeypot field, the error line and the sending state */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
form.sending{opacity:.6;pointer-events:none}
.err{color:#A6192E;font-size:15px;font-weight:600;margin-top:12px}
.news .err{color:#ffd9de;max-width:509px}
.inline-signup .err{color:#ffd9de;grid-column:1/-1;margin:0}

/* PageSpeed accessibility (10-28): footer headings are h3 (were h4, which skipped a level), the bottom
   bar text is readable (was .3 opacity), and its links are big enough to tap on a phone */
.footer .bottom a{display:inline-block;padding:6px 0}
