/* WedLuxe deck styles: tokens mirror global.wedluxe.com */
@font-face{font-family:'WLX Canela';src:url(fonts/wlx-canela-400-normal.woff2) format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'WLX Gotham';src:url(fonts/wlx-gotham-300-normal.woff2) format('woff2');font-weight:300;font-display:block}
@font-face{font-family:'WLX Gotham';src:url(fonts/wlx-gotham-400-normal.woff2) format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'WLX Gotham';src:url(fonts/wlx-gotham-500-normal.woff2) format('woff2');font-weight:500;font-display:block}
:root{--ink:#080808;--muted:#605d59;--paper:#f4f1ec;--paper2:#ebe5dc;--line:#d6d1ca;--gold:#9f8e6f;--gold-text:#746348;--gold-light:#d4c7a8;
--serif:'WLX Canela',Canela,Georgia,serif;--sans:'WLX Gotham',Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#080808;overflow:hidden}
body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}
#viewport{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}
#stage{width:1920px;height:1080px;position:relative;transform-origin:center center;flex:none}
.slide{position:absolute;inset:0;background:var(--paper);display:none;overflow:hidden}
.slide.active{display:block;animation:fade .6s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.slide.white{background:#fff}.slide.dark{background:#080808;color:#fff}
.notes{display:none}
/* type */
.eyebrow{font-family:var(--sans);font-weight:400;font-size:20px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-text)}
.dark .eyebrow{color:var(--gold-light)}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.02}
h1{font-size:150px}
h2{font-size:96px}
h3{font-size:46px;letter-spacing:-.015em;line-height:1.1}
.sub{font-family:var(--serif);font-size:52px;line-height:1.15;letter-spacing:-.015em}
.sub .gold,.gold{color:var(--gold-text)}
.dark .gold{color:var(--gold-light)}
.rule{width:110px;height:1px;background:var(--gold);margin:44px 0}
p,li{font-size:30px;line-height:1.55;font-weight:300;color:var(--muted)}
.dark p{color:rgba(255,255,255,.78)}
ul.plain{list-style:none}
ul.plain li{padding:22px 0;border-top:1px solid var(--line);display:flex;gap:32px;align-items:baseline}
ul.plain li:last-child{border-bottom:1px solid var(--line)}
ul.plain li b{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:40px;letter-spacing:-.015em;min-width:0}
.num{font-family:var(--sans);font-size:18px;letter-spacing:3px;color:var(--gold-text)}
/* layout helpers */
.pad{position:absolute;inset:0;padding:120px 150px}
.split{display:grid;grid-template-columns:1fr 1fr;height:100%}
.split.wide-left{grid-template-columns:1.15fr .85fr}
.split .copy{padding:140px 120px 120px 150px;display:flex;flex-direction:column;justify-content:center}
.split .media{position:relative;overflow:hidden}
.media img,.bleed img{width:100%;height:100%;object-fit:cover;display:block}
.bleed{position:absolute;inset:0}
.bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.86) 0%,rgba(8,8,8,.6) 50%,rgba(8,8,8,.25) 100%)}
.over{position:absolute;inset:0;padding:150px;display:flex;flex-direction:column;justify-content:center;color:#fff;z-index:2;max-width:1300px}
.center{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.credit{position:absolute;right:28px;bottom:22px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7);z-index:3}
.credit.dk{color:var(--muted)}
/* placeholder frames: discreet, clearly TBD */
.ph{border:1px dashed var(--gold);background:rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gold-text);font-size:18px;letter-spacing:3px;text-transform:uppercase;padding:30px}
.ph em{font-style:normal;font-family:var(--serif);text-transform:none;letter-spacing:-.01em;font-size:34px;color:var(--ink);margin-top:14px}
.tbd{display:inline-block;font-family:var(--sans);font-size:15px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-text);border:1px dashed var(--gold);padding:6px 12px;vertical-align:middle}
/* chrome */
#logo{position:absolute;top:56px;left:150px;height:30px;z-index:5;opacity:.95}
#counter{position:fixed;right:22px;bottom:16px;font:400 12px/1 var(--sans);letter-spacing:2px;color:rgba(160,150,130,.55);z-index:20}
#notes{position:fixed;left:0;right:0;bottom:0;max-height:34vh;overflow:auto;background:rgba(8,8,8,.92);color:#eee;font:300 18px/1.5 var(--sans);padding:22px 32px 34px;display:none;z-index:30;border-top:1px solid #9f8e6f}
#notes.on{display:block}
#notes h6{font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase;color:#d4c7a8;margin-bottom:8px}
/* slide-specific */
.covers{display:flex;gap:34px;align-items:flex-end}
.covers img{width:250px;box-shadow:0 30px 60px rgba(8,8,8,.18)}
.covers img:nth-child(4){width:300px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:110px;margin-top:70px}
.cols2 h3{margin-bottom:26px}
.cols2 ul.plain li{font-size:28px}
.frames{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}
.frames .ph{height:380px}
.frames .cap{margin-top:20px;font-family:var(--serif);font-size:36px;color:var(--ink);letter-spacing:-.015em}
.steps{counter-reset:s;list-style:none;margin-top:40px}
.steps li{counter-increment:s;font-size:28px;padding:12px 0 12px 64px;position:relative;line-height:1.4}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:18px;font-size:17px;letter-spacing:2px;color:var(--gold-text)}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:80px;border-top:1px solid var(--line)}
.grid5 div{padding:40px 34px 0 0}
.grid5 h3{font-size:40px;margin:18px 0 16px}
.grid5 p{font-size:23px;line-height:1.5}
.track{display:flex;align-items:center;gap:36px;margin:22px 0 10px}
.track .serif{font-size:58px}
.track .arrow{width:90px;height:1px;background:var(--gold);position:relative}
.track .arrow::after{content:"";position:absolute;right:0;top:-5px;width:10px;height:10px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:rotate(45deg)}
.quote{font-family:var(--serif);font-size:62px;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}

/* ===== Round 2: beats, fragments, cinematic motion ===== */
.slide.active{animation:fade .9s ease}
.f{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.f.in{opacity:1;transform:none}
.f.fade{transform:none}
.slide.active .bleed img,.slide.active .media.zoom img{animation:slowzoom 14s ease-out forwards}
@keyframes slowzoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.bleed.soft::after{background:linear-gradient(90deg,rgba(8,8,8,.7) 0%,rgba(8,8,8,.35) 55%,rgba(8,8,8,.1) 100%)}
.bleed.light::after{background:linear-gradient(90deg,rgba(244,241,236,.94) 0%,rgba(244,241,236,.75) 45%,rgba(244,241,236,0) 75%)}
.over.ink{color:var(--ink)}
.over.ink p{color:var(--muted)}
.beat{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 200px}
.beat.c{align-items:center;text-align:center}
.mega{font-family:var(--serif);font-weight:400;font-size:168px;line-height:1;letter-spacing:-.03em}
.big{font-family:var(--serif);font-weight:400;font-size:120px;line-height:1.04;letter-spacing:-.028em}
.mid{font-family:var(--serif);font-weight:400;font-size:84px;line-height:1.08;letter-spacing:-.022em}
.lede{font-family:var(--serif);font-size:56px;line-height:1.2;letter-spacing:-.015em}
.dark .lede{color:rgba(255,255,255,.86)}
.instruction{font-family:var(--serif);font-size:64px;line-height:1.25;letter-spacing:-.015em;color:#fff;max-width:1380px;border-left:1px solid var(--gold);padding-left:56px;margin-top:70px}
.instruction small{display:block;font-family:var(--sans);font-size:17px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);margin-bottom:26px}
/* transcript placeholder */
.transcript{background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px rgba(0,0,0,.35);width:820px;padding:44px 52px;color:var(--ink);font-family:var(--sans)}
.transcript header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px}
.transcript header b{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.01em}
.transcript header span{font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text)}
.tline{display:grid;grid-template-columns:150px 1fr;gap:20px;margin:18px 0;align-items:center}
.tline .who{font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text)}
.tline .bar{height:14px;background:#ece7df;border-radius:2px}
.transcript .tag{margin-top:26px;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text);border-top:1px dashed var(--gold);padding-top:16px}
.doc{background:#fff;width:640px;height:760px;box-shadow:0 40px 80px rgba(0,0,0,.35);padding:56px;display:flex;flex-direction:column;gap:22px}
.doc .h{font-family:var(--serif);font-size:38px;color:var(--ink);letter-spacing:-.01em;border-bottom:1px solid var(--line);padding-bottom:18px}
.doc .row{height:44px;border:1px solid #e6e0d6}
.doc .bar{height:14px;background:#ece7df}
.doc .tag{margin-top:auto;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text);border-top:1px dashed var(--gold);padding-top:16px}
/* dramatic split */
.dsplit{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.dsplit .l{position:relative;overflow:hidden;color:#fff}
.dsplit .l img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dsplit .l::after{content:"";position:absolute;inset:0;background:rgba(8,8,8,.55)}
.dsplit .in2{position:relative;z-index:2;padding:150px 110px;height:100%;display:flex;flex-direction:column;justify-content:center}
.dsplit .r{background:var(--paper);position:relative}
.dsplit .r.f{transform:translateX(40px)}.dsplit .r.f.in{transform:none}
.dsplit h3{font-size:30px;font-family:var(--sans);letter-spacing:5px;text-transform:uppercase;margin-bottom:46px}
.dsplit .l h3{color:var(--gold-light)}.dsplit .r h3{color:var(--gold-text)}
.dsplit .item{font-family:var(--serif);font-size:54px;letter-spacing:-.02em;line-height:1.1;margin:0 0 10px}
.dsplit .who{font-size:22px;letter-spacing:2px;text-transform:uppercase;margin-bottom:40px;color:rgba(255,255,255,.7)}
.dsplit .r .who{color:var(--muted)}
.divider{position:absolute;left:50%;top:120px;bottom:120px;width:1px;background:var(--gold);z-index:3}
.covers-fan{display:flex;gap:26px;align-items:center}
.covers-fan img{height:auto;object-fit:contain;width:200px;box-shadow:0 30px 60px rgba(8,8,8,.2)}
.covers-fan img.hero{width:330px}
