/* Fonts bundled locally: no external font request required. */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/barlow-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/barlow-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-800.ttf) format('truetype');
}

/* style.css */

:root{--lime:#c63632;--bg:#f6f7f8;--text:#131313;--muted:#6c6f73;--border:#d8d9dc;--reveal:36%;color-scheme:light;font-family:'Barlow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,a,label,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,label:focus-within{outline:3px solid var(--lime);outline-offset:5px}button{transition:background .2s,transform .2s}button:hover:not(:disabled){transform:translateY(-2px)}.topbar{height:96px;margin:auto;max-width:1440px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.wordmark{font-weight:800;letter-spacing:-1px;font-size:25px;display:flex;align-items:center;gap:10px}.brand-icon{color:var(--bg);background:var(--lime);font-size:18px;width:32px;height:32px;display:grid;place-items:center;transform:rotate(-8deg)}.brand-period{font-size:12px;align-self:flex-start;margin-top:3px;letter-spacing:0}.topbar nav{display:flex;align-items:center;gap:44px;font-size:14px}.edition{color:#666a71;letter-spacing:1.6px;font-size:12px}main{max-width:1440px;margin:auto;padding:42px 6% 0}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:35px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px;margin-bottom:13px}.spark{font-size:24px;color:var(--lime)}h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(60px,6.5vw,94px);font-weight:800;letter-spacing:-1.5px;line-height:.93;margin:0}h1 span{color:var(--lime)}.intro-copy{width:28%;padding-bottom:2px}.intro-copy p{font-size:20px;line-height:1.4;margin:0 0 17px}.intro-copy p.muted{font-size:15px;color:#696d74;margin-bottom:0}.campaign{border:1px solid #d9dade;border-radius:9px;overflow:hidden;background:#ffffff}.stage-top{height:55px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-size:13px;background:#ffffff}.track{display:flex;align-items:center;gap:13px}.track strong{font-size:13px;letter-spacing:1.3px}.tiny-play{color:var(--lime);font-size:11px}.track-divider{color:#c7c9cc}.track>span:last-child{color:#666a71}.preview-label{font-size:10px;letter-spacing:1.6px;color:#777b82;border:1px solid #d3d5d8;padding:5px 8px;border-radius:3px}.stage{position:relative;isolation:isolate;aspect-ratio:2.55;background:#1c1214;overflow:hidden}.footage{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1)}.footage>img,.footage video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.footage video{display:none}.sample-caption{position:absolute;left:20px;top:18px;font-size:10px;letter-spacing:2px;color:#fff9}.wall{position:absolute;inset:0;background:#ae2828;color:#ffffff;transform:translateX(var(--reveal));transition:transform 1.1s cubic-bezier(.22,1,.36,1);box-shadow:-15px 0 35px #0006;overflow:hidden}.wall-grid{position:absolute;inset:0;background-image:linear-gradient(#00000012 1px,transparent 1px),linear-gradient(90deg,#00000012 1px,transparent 1px);background-size:57px 57px}.wall:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 60% 30%,#ee514733,transparent 70%)}.wall-copy{position:absolute;left:15%;top:15%;z-index:1}.wall-copy>div{font:800 clamp(34px,5.1vw,74px)/.94 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.6px}.lock-icon{display:inline-block;margin-bottom:13px;font-size:23px}.wall-copy p{font-size:12px;font-weight:700;letter-spacing:2px;margin-top:18px}.wall-serial{position:absolute;bottom:31px;left:20px;font-size:9px;letter-spacing:1.5px;opacity:.65}.warning-stripe{position:absolute;bottom:0;height:13px;left:0;right:0;background:repeating-linear-gradient(120deg,#231819 0 16px,transparent 16px 32px)}.reveal-edge{position:absolute;top:0;bottom:0;left:var(--reveal);width:3px;background:#eb7771;transition:left 1.1s cubic-bezier(.22,1,.36,1);box-shadow:0 0 18px #d2393933}.edge-label{position:absolute;top:18px;left:0;transform:translateX(-50%);white-space:nowrap;background:#ffffff;color:#b32e2b;font-size:10px;font-weight:700;letter-spacing:1px;padding:7px 9px;border-radius:2px}.crew{position:absolute;height:155px;width:190px;left:clamp(105px,var(--reveal),100%);bottom:4px;transform:translateX(-94%);transition:left 1.1s cubic-bezier(.22,1,.36,1),opacity .3s;filter:drop-shadow(0 7px 4px #0007)}.trooper{position:absolute;object-fit:contain;bottom:0;width:120px;height:150px;animation:push .75s ease-in-out infinite alternate}.t1{left:-27px;transform:scale(.73);transform-origin:bottom;animation-delay:-.4s;filter:brightness(.8)}.t2{left:18px;transform:scale(.88);transform-origin:bottom;animation-delay:-.2s}.t3{left:73px}.crew.burst{animation:crew-surge .35s ease 3}.stage-tag{position:absolute;bottom:24px;left:20px;font-size:10px;letter-spacing:1.3px;color:#ffffff;display:flex;align-items:center;gap:7px;background:#181416d9;border:1px solid #fff2;padding:7px 9px;border-radius:3px}.status-dot{width:5px;height:5px;background:var(--lime);border-radius:50%}.player-bar{height:52px;background:#171719;display:flex;gap:15px;align-items:center;padding:0 16px;font-size:12px;color:#bbbcc1}.icon-button{border:0;background:none;color:#eeeeef;padding:5px;display:grid;place-items:center;min-width:28px;min-height:32px}.icon-button:disabled{color:#85858c}.icon-button svg{width:16px;height:16px}.player-line{height:2px;background:#414147;flex:1;min-width:20px}.sound-status{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.1px}.sound-status svg{width:17px;height:17px}.engagement{display:flex;gap:50px;padding:28px 28px 26px;align-items:center}.progress-info{flex:1}.progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.likes-number{font-size:30px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.likes-goal{font-size:14px;color:#696d74}.percent{font-family:'Barlow Condensed',Impact,sans-serif;color:var(--lime);font-size:36px;line-height:1;font-weight:600}.percent span{font-size:21px}.progress-track{height:7px;background:#e8e9ec;border-radius:2px;position:relative;overflow:hidden}.progress-track>div{width:0%;height:100%;background:var(--lime);transition:width 1.1s cubic-bezier(.22,1,.36,1)}.progress-track i{position:absolute;top:0;bottom:0;width:2px;background:#ffffff;left:25%}.progress-track i:nth-of-type(2){left:50%}.progress-track i:nth-of-type(3){left:75%}.progress-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:#696d74;gap:15px}.progress-caption>span:last-child{font-size:9px;letter-spacing:.8px}.action{width:265px;text-align:center}.like-button{width:100%;background:var(--lime);color:#ffffff;border:0;border-radius:4px;padding:18px;display:flex;gap:12px;align-items:center;justify-content:center;font-weight:700;font-size:17px;box-shadow:0 2px 0 #92221f}.like-button:hover{background:#b82b27}.like-button svg{width:21px;height:21px}.like-button .plus{margin-left:auto;font-size:13px;background:#ffffff22;padding:3px 6px}.like-button.liked svg{fill:currentColor}.like-button:disabled{opacity:.8}.action-note{display:block;font-size:11px;color:#73767d;margin-top:10px}.how{display:grid;grid-template-columns:1.04fr 1fr 1.15fr 1.14fr;gap:26px;margin-top:35px;padding-bottom:34px;border-bottom:1px solid var(--border)}.mission-label{font:600 23px/1.05 'Barlow Condensed',Impact,sans-serif;position:relative}.mission-label>span:not(.asterisk){color:#81848a}.asterisk{position:absolute;right:16px;top:2px;color:var(--lime);font:44px/1 Arial}.step{display:flex;gap:13px;padding-top:3px}.step-num{font-size:12px;color:var(--lime);font-weight:700;padding-top:2px}.step h2{font-size:14px;margin:0 0 7px;font-weight:600}.step p{font-size:12px;line-height:1.5;color:#6b6e76;margin:0;max-width:165px}.demo-tools{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.demo-tools>div{display:flex;align-items:center;gap:10px}.demo-tools strong{font-size:10px;letter-spacing:1.3px;color:#454951}.demo-dot{height:5px;width:5px;border-radius:50%;background:#b4312d}.demo-explainer{font-size:11px;color:#777a82}.demo-buttons button,.video-upload{border:1px solid #d2d5d9;border-radius:3px;background:transparent;color:#555a63;padding:7px 10px;font-size:11px}.demo-buttons button.selected{border-color:#c63632;color:var(--lime);background:#c6363210}.video-upload{cursor:pointer;display:block}.video-upload:hover{color:var(--lime)}.video-upload span{padding-left:5px}.video-note{font-size:12px;color:#646971;margin-bottom:12px}footer{max-width:1440px;margin:auto;padding:24px 6% 30px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:#727780;font-size:9px;letter-spacing:1px}.wordmark.small{font-size:17px;color:#171717;gap:2px;letter-spacing:-.4px}.unlocked-banner{position:absolute;top:25px;left:25px}.unlocked-banner>span{font:700 36px 'Barlow Condensed',Impact,sans-serif;color:var(--lime)}.unlocked-banner p{font-size:12px;margin:2px 0}.stage:fullscreen{aspect-ratio:auto;width:100%;height:100%;background:#111}.stage:fullscreen .crew{height:230px;bottom:30px}.stage:fullscreen .trooper{height:220px;width:176px}.stage.at-zero .edge-label{transform:none;left:14px}.stage.at-zero .wall-copy{left:38%}.stage.at-zero .crew{left:28%}.stage.at-zero .reveal-edge{opacity:0}.stage.unlocked .crew,.stage.unlocked .reveal-edge{opacity:0;pointer-events:none}.stage.has-video.unlocked .unlocked-banner{display:none}.stage.has-video .footage video{display:block}.stage.has-video .footage>img{display:none}@keyframes push{from{translate:-3px 1px;rotate:-2deg}to{translate:2px 0;rotate:1deg}}@keyframes crew-surge{50%{margin-left:9px}}@media(min-width:1450px){.stage{aspect-ratio:2.7}}@media(max-width:1000px){.topbar,main,footer{padding-left:4%;padding-right:4%}.intro-copy{width:31%}.engagement{gap:25px;padding:24px}.action{width:230px}.how{gap:16px}.asterisk{display:none}.demo-explainer{display:none}}@media(max-width:650px){.topbar{height:74px}.wordmark{font-size:21px}.topbar nav{gap:0}.edition{display:none}main{padding-top:26px}.intro{padding-bottom:24px;gap:15px;align-items:flex-end}h1{font-size:57px;letter-spacing:-1px}.eyebrow{font-size:9px;letter-spacing:1px;gap:5px}.spark{font-size:18px}.intro-copy{width:37%;padding-bottom:0}.intro-copy p{font-size:13px;margin-bottom:9px}.intro-copy p.muted{font-size:11px;line-height:1.5}.stage-top{height:48px;padding:0 12px}.track{gap:7px}.track strong{font-size:10px;letter-spacing:.6px}.track>span:last-child{font-size:10px}.preview-label{display:none}.stage{aspect-ratio:1.55}.wall-copy{left:13%;top:16%}.wall-copy>div{font-size:38px}.wall-copy p{font-size:7px;letter-spacing:1px;max-width:100px;line-height:1.5}.lock-icon{font-size:17px;margin-bottom:8px}.wall-serial{display:none}.warning-stripe{height:9px}.crew{scale:.73;transform-origin:bottom right;bottom:5px}.stage.at-zero .crew{left:32%}.stage-tag{bottom:13px;left:10px;font-size:7px;padding:5px}.edge-label{font-size:7px;padding:5px;top:10px}.player-bar{padding:0 9px;gap:9px;height:44px}.player-bar>span:not(.sound-status){font-size:9px;max-width:95px;line-height:1.4}.sound-status{font-size:7px;letter-spacing:.4px;gap:4px}.sound-status svg{width:13px}.fullscreen{display:none}.engagement{display:block;padding:21px 17px}.progress-head{margin-bottom:12px}.likes-number{font-size:27px}.likes-goal{font-size:12px}.progress-caption{font-size:9px}.progress-caption>span:last-child{font-size:8px}.action{width:100%;margin-top:22px}.like-button{padding:15px;font-size:16px;position:relative}.like-button .plus{position:absolute;right:16px}.action-note{font-size:10px}.how{grid-template-columns:1fr;gap:19px;margin-top:26px;padding:0 10px 24px}.mission-label{font-size:25px;margin-bottom:3px}.mission-label br{display:none}.mission-label>span{margin-left:5px}.step{gap:17px}.step h2{font-size:15px;margin-bottom:3px}.step p{max-width:none;font-size:13px}.demo-tools{flex-direction:column;align-items:flex-start;gap:12px;padding:21px 3px}.demo-tools>div{flex-wrap:wrap;gap:7px}.demo-explainer{display:inline;font-size:10px}.demo-buttons button,.video-upload{font-size:10px;padding:8px 10px}footer{gap:15px;flex-wrap:wrap;font-size:8px;padding-top:20px}footer>span:nth-child(2){display:none}.unlocked-banner>span{font-size:29px}.unlocked-banner{top:18px;left:15px}.unlocked-banner p{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* KL Titans: light editorial surface, team red, condensed sports typography. */
.topbar{height:auto;min-height:154px;padding-top:26px;padding-bottom:14px;justify-content:center;border-bottom:0}
.wordmark{flex-direction:column;gap:9px;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:15px;font-weight:700;letter-spacing:3px}
.team-logo{width:70px;height:86px;object-fit:contain}
main{padding-top:16px;max-width:1280px}
.intro{display:block;text-align:center;padding-bottom:30px}
.eyebrow{justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:2.8px;color:#b82f2d;margin-bottom:17px}
.spark{width:8px;height:8px;border-radius:50%;background:#dba19d}
h1{font-size:clamp(65px,7vw,94px);line-height:.92;letter-spacing:-.5px}h1 br{display:none}h1 span{margin-left:.13em;color:#131313}
.intro-copy{width:auto;padding-top:17px}.intro-copy p{font-size:18px;margin:0 0 5px;color:#65686e}.intro-copy p.muted{font-size:16px;color:#777a80}
.campaign{border-radius:0;box-shadow:0 10px 35px #18202c08}
.stage-top{height:52px}.track strong{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:1px}.preview-label{font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;font-size:12px;border-radius:0}
.stage{aspect-ratio:2.5}.wall{background:linear-gradient(115deg,#bb3531,#8e1d25);color:white}
.wall-grid{background-image:radial-gradient(#09050722 1px,transparent 1px);background-size:5px 5px}
.wall-copy{left:16%;top:20%}.wall-copy>div{font-size:clamp(36px,5.5vw,74px);line-height:.95;font-weight:800}.wall-copy p{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2px;color:#f1c5c3}
.lock-icon{display:none}.wall-serial{color:#f6cccb;opacity:.85;font-size:10px}.warning-stripe{background:repeating-linear-gradient(120deg,#31181a 0 16px,transparent 16px 32px);height:10px}
.crew{height:174px;width:255px;transform:translateX(-96%);bottom:9px;filter:drop-shadow(0 5px 3px #0005)}
.basketball-players{width:100%;height:100%;object-fit:contain;object-position:right bottom;animation:team-push .75s ease-in-out infinite alternate;transform-origin:right bottom}
@keyframes team-push{from{transform:translateX(-3px) rotate(-1deg)}to{transform:translateX(1px) rotate(.5deg)}}
.stage-tag{bottom:23px;font-size:10px}.status-dot{background:#ee6862}.edge-label{color:#ae2925;border-radius:0;font-family:'Barlow Condensed',sans-serif;font-size:12px;padding:6px 10px}
.engagement{padding:26px 28px;gap:40px}.likes-number{font-family:'Barlow Condensed',sans-serif;font-size:38px;letter-spacing:0}.likes-goal{font-size:16px}.percent{font-size:40px;font-weight:700}.progress-track{height:8px;border-radius:0}.progress-caption{font-size:12px}.progress-caption>span:last-child{font-size:11px}.like-button{border-radius:0;background:#c63632;padding:18px;font-size:18px;box-shadow:none}.action-note{font-size:12px}
.how{margin-top:30px}.mission-label{font-size:24px;font-weight:700}.step h2{font-size:16px}.step p{font-size:14px}.step-num{font-family:'Barlow Condensed',sans-serif;font-size:17px;padding-top:0}.demo-tools strong{font-family:'Barlow Condensed',sans-serif;font-size:12px}.demo-explainer{font-size:12px}.demo-buttons button,.video-upload{font-size:12px;border-radius:0;background:white}.demo-buttons button.selected{background:#fff0ef}.video-upload span{display:none}footer{max-width:1280px;font-size:11px}.wordmark.small{font-size:16px;letter-spacing:2px}.unlocked-banner>span{color:#fff}.stage.at-zero .crew{left:29%}.stage.at-zero .wall-copy{left:40%}.stage:fullscreen .crew{width:320px;height:220px}
@media(max-width:1000px){.demo-tools{flex-wrap:wrap}.step p{max-width:none}.how{grid-template-columns:1fr 1fr;gap:22px}.engagement{gap:25px}}
@media(max-width:650px){.topbar{min-height:138px;padding-top:20px;padding-bottom:12px}.team-logo{height:73px;width:63px}.wordmark{font-size:13px;gap:7px}main{padding-top:15px}.intro{padding-bottom:25px}.eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:14px}h1{font-size:63px;line-height:.94}h1 br{display:block}h1 span{margin-left:0}.intro-copy{width:100%;padding-top:15px}.intro-copy p{font-size:16px}.intro-copy p.muted{font-size:14px;max-width:300px;margin:auto;line-height:1.5}.stage{aspect-ratio:1.55}.stage-top{height:49px}.track strong{font-size:12px}.track>span:last-child{font-size:10px}.wall-copy{left:15%;top:23%}.wall-copy>div{font-size:40px}.wall-copy p{font-size:9px;letter-spacing:1px;max-width:135px}.crew{scale:.67;width:235px;height:158px;bottom:7px}.stage.at-zero .crew{left:33%}.stage-tag{font-size:8px;bottom:21px;left:9px}.edge-label{font-size:9px;padding:5px 7px}.engagement{padding:21px 17px}.likes-number{font-size:34px}.likes-goal{font-size:14px}.percent{font-size:37px}.progress-caption{font-size:11px;flex-wrap:wrap;gap:5px}.progress-caption>span:last-child{font-size:10px}.how{grid-template-columns:1fr;gap:19px}.mission-label{font-size:25px}.step p{font-size:14px}.action-note{font-size:12px}.player-bar>span:not(.sound-status){font-size:10px}.sound-status{font-size:8px}.demo-tools{padding-top:22px}.demo-buttons button,.video-upload{font-size:12px;padding:9px}.demo-explainer{font-size:11px}footer{font-size:10px}.wordmark.small{font-size:15px}}
@media(prefers-reduced-motion:reduce){.basketball-players{animation:none}}

/* The wall, hands and reveal mask share one animation clock. */
.footage,.wall,.reveal-edge,.crew,.progress-track>div{transition:none}
.crew,.stage.at-zero .crew{transform:translateX(-98%);margin-left:0;transition:opacity .45s ease;will-change:left;animation:none}
.basketball-players{animation:none;transform:none}
.player-rig{display:none;position:absolute;bottom:0;left:0;width:100%;height:auto;aspect-ratio:3/2;pointer-events:none}
.rig-ready .player-rig{display:block}.rig-ready .basketball-players{visibility:hidden}
.stage .unlocked-banner{opacity:0;transition:opacity .4s}.stage.unlocked .unlocked-banner{opacity:1}
.stage.driving .crew{opacity:1}
@media(prefers-reduced-motion:reduce){.crew,.stage .unlocked-banner{transition:none}}

.direction-link{text-align:center;font-size:13px;margin:3px 0 10px}.direction-link a{color:#a72e2a;text-decoration:underline;text-underline-offset:3px}


/* blacktop.css */
/* The original high-contrast direction, in Titans red instead of lime. */
.blacktop{--lime:#ff594c;--bg:#121313;--text:#f3f2ec;--muted:#a2a4a1;--border:#343635;background:var(--bg);color:var(--text);color-scheme:dark}
.blacktop .topbar{height:96px;min-height:96px;max-width:1440px;padding:0 6%;display:flex;flex-direction:row;justify-content:space-between;border-bottom:1px solid #333635;gap:25px}
.blacktop .wordmark{display:flex;flex-direction:row;gap:13px;font:700 26px/1 'Barlow Condensed',sans-serif;letter-spacing:1px;align-items:center}.blacktop .team-logo{width:46px;height:58px}.blacktop .wordmark small{display:block;font:500 9px 'Barlow',sans-serif;color:#989c9f;letter-spacing:1.65px;margin-top:7px}.theme-switch{display:flex;gap:5px!important;border:1px solid #383c39;border-radius:4px;padding:4px}.theme-switch a{font-size:12px;color:#a2a8ac;padding:8px 12px;border-radius:2px}.theme-switch a[aria-current]{background:#f0eee7;color:#202320;font-weight:600}.theme-switch a:hover{color:#ff7569}
.blacktop main{max-width:1440px;padding:37px 6% 0}.blacktop .intro{display:flex;align-items:flex-end;justify-content:space-between;text-align:left;gap:30px;padding-bottom:32px}.blacktop .eyebrow{justify-content:flex-start;color:#d1d4d5;letter-spacing:2px;font:600 12px 'Barlow',sans-serif;gap:9px;margin-bottom:17px}.blacktop .spark{height:7px;width:7px;border-radius:0;background:#ff594c}.blacktop h1{font:800 clamp(64px,6.8vw,97px)/.91 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.3px;color:#f3f2ec}.blacktop h1 br{display:block}.blacktop h1 span{color:#ff594c;margin-left:0}.blacktop .intro-copy{width:28%;padding:0 0 4px}.blacktop .intro-copy p{font-size:21px;line-height:1.35;color:#f0f1ec;margin:0 0 16px}.blacktop .intro-copy p.muted{font-size:15px;color:#a9adb0;margin:0;line-height:1.5}
.blacktop .campaign{border:1px solid #434841;border-radius:8px;overflow:hidden;background:#1c201c;box-shadow:0 15px 40px #0002}.blacktop .stage-top{height:54px;background:#20251f;padding:0 23px}.blacktop .track strong{font:600 14px 'Barlow',sans-serif;letter-spacing:1px}.blacktop .track-divider{color:#53595c}.blacktop .track>span:last-child{color:#adb2b5;font-size:13px}.blacktop .preview-label{color:#a7afb2;border-color:#485156;border-radius:3px;font:500 10px 'Barlow',sans-serif;letter-spacing:1.4px}.blacktop .stage{aspect-ratio:2.55;background:#151210}.blacktop .wall{background:#ff5b4e;color:#211b19;box-shadow:-12px 0 30px #0005}.blacktop .wall-grid{background-image:linear-gradient(#78221816 1px,transparent 1px),linear-gradient(90deg,#78221816 1px,transparent 1px);background-size:56px 56px}.blacktop .wall:after{background:linear-gradient(120deg,#ff715d55,transparent 70%)}.blacktop .wall-copy{left:14%;top:20%}.blacktop .wall-copy>div{font-size:clamp(42px,5.5vw,76px);line-height:.94;font-weight:800;letter-spacing:-.7px;color:#261b18}.blacktop .wall-copy p{font:700 11px 'Barlow',sans-serif;letter-spacing:1.7px;color:#5c2923;margin-top:20px}.blacktop .wall-serial{color:#4f251e;opacity:.8;font-size:10px}.blacktop .warning-stripe{background:repeating-linear-gradient(120deg,#57261f 0 16px,transparent 16px 32px);height:12px}.blacktop .reveal-edge{background:#ffb4a2;box-shadow:0 0 12px #ffc3b933}.blacktop .edge-label{color:#51211a;background:#ffe5d8;font:700 10px 'Barlow',sans-serif;letter-spacing:1px;padding:7px 10px;border-radius:2px}.blacktop .crew{width:270px;height:180px;bottom:6px}.blacktop .stage-tag{font-size:9px;bottom:25px;background:#191c17bf;border-color:#ffffff20;color:#eef1e8;letter-spacing:1px}.blacktop .status-dot{background:#ff7668}.blacktop .player-bar{background:#0d100c;color:#9da5aa;height:50px}.blacktop .player-line{background:#333b2e}.blacktop .sound-status{font-size:10px}.blacktop .icon-button{color:#e2e4e4}.blacktop .icon-button:disabled{color:#778085}.blacktop .unlocked-banner>span{color:#ffe5d8}
.blacktop .engagement{padding:26px 28px 24px;gap:48px;background:#1c201c}.blacktop .likes-number{font:600 34px/1 'Barlow',sans-serif;letter-spacing:-1px;color:#f1f2ef}.blacktop .likes-goal{font-size:14px;color:#a6afb3}.blacktop .percent{font:600 40px/1 'Barlow Condensed',sans-serif;color:#ff6557}.blacktop .percent span{font-size:24px}.blacktop .progress-track{background:#424a3b;height:7px;border-radius:2px}.blacktop .progress-track>div{background:#ff594c}.blacktop .progress-track i{background:#1c201c}.blacktop .progress-caption{color:#aab2b6;font-size:12px}.blacktop .progress-caption>span:last-child{font-size:10px;letter-spacing:1px}.blacktop .like-button{background:#ff594c;color:#221914;border-radius:4px;padding:18px;font-size:18px;box-shadow:0 2px 0 #8f2e23}.blacktop .like-button:hover{background:#ff796b}.blacktop .like-button .plus{background:#4d1b1617;font-size:13px}.blacktop .action-note{color:#a4adb3;font-size:11px}.blacktop .how{grid-template-columns:1.03fr 1fr 1.1fr 1.1fr;gap:25px;margin-top:34px;padding-bottom:31px}.blacktop .mission-label{font-size:24px}.blacktop .mission-label>span:not(.asterisk){color:#92999e}.blacktop .step h2{font-size:15px}.blacktop .step p{color:#a2a9ae;font-size:13px}.blacktop .step-num{color:#ff6557;font:600 14px 'Barlow',sans-serif}.blacktop .demo-tools{padding:20px 0 22px}.blacktop .demo-tools strong{color:#bdc4c8;font-size:11px;letter-spacing:1.3px}.blacktop .demo-explainer{color:#979fa4;font-size:11px}.blacktop .demo-dot{background:#b85c4f}.blacktop .demo-buttons button,.blacktop .video-upload{background:transparent;color:#adb8be;border-color:#414b51;border-radius:3px;font-size:11px}.blacktop .demo-buttons button.selected{color:#ff8679;border-color:#b45549;background:#ff594c0c}.blacktop .video-note{color:#bac2c7}.blacktop footer{max-width:1440px;border-color:#34393d;color:#8c979e;font-size:10px;padding:23px 6% 28px}.blacktop .wordmark.small{font-size:18px;color:#b7c1c7;letter-spacing:.7px}
/* Neutral charcoal surfaces keep the palette red, black and warm white. */
.blacktop .campaign,.blacktop .engagement{background:#1d1f20;border-color:#434749}.blacktop .stage-top{background:#222527}.blacktop .player-bar{background:#101214}.blacktop .player-line{background:#34383a}.blacktop .progress-track{background:#42484b}.blacktop .progress-track i{background:#1d1f20}.blacktop .track>span:last-child,.blacktop .likes-goal,.blacktop .progress-caption,.blacktop .action-note,.blacktop .step p,.blacktop .demo-explainer{color:#a5abad}.blacktop .mission-label>span:not(.asterisk){color:#939b9e}.blacktop .demo-tools strong{color:#c0c5c6}.blacktop .demo-buttons button,.blacktop .video-upload{color:#b3bdc0;border-color:#424b4e}.blacktop footer{color:#949da1;border-color:#343b3e}.blacktop .wordmark.small{color:#c0c6c8}.blacktop .stage-tag{background:#141819bd;color:#f0f1ed}.blacktop .sound-status{color:#b4bbbc}.blacktop .how{border-color:#353b3d}
@media(max-width:1000px){.blacktop .topbar,.blacktop main,.blacktop footer{padding-left:4%;padding-right:4%}.blacktop .intro-copy{width:31%}.blacktop .intro-copy p{font-size:19px}.blacktop .intro-copy p.muted{font-size:14px}.blacktop .engagement{gap:26px}.blacktop .how{gap:18px}.blacktop .demo-tools{flex-wrap:wrap}}
@media(max-width:650px){.blacktop .topbar{height:80px;min-height:80px;gap:10px}.blacktop .wordmark{font-size:21px;gap:8px;letter-spacing:.5px}.blacktop .team-logo{width:37px;height:48px}.blacktop .wordmark small{font-size:7px;letter-spacing:1px;margin-top:5px}.theme-switch{gap:1px!important;padding:3px}.theme-switch a{font-size:10px;padding:7px 7px}.blacktop main{padding-top:27px}.blacktop .intro{padding-bottom:24px;gap:15px}.blacktop .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:13px;gap:6px}.blacktop .spark{height:5px;width:5px}.blacktop h1{font-size:57px;letter-spacing:-1px;line-height:.94}.blacktop .intro-copy{width:34%;padding-bottom:2px}.blacktop .intro-copy p{font-size:13px;line-height:1.4;margin-bottom:11px}.blacktop .intro-copy p.muted{font-size:11px;line-height:1.5;max-width:none}.blacktop .stage-top{height:48px;padding:0 12px}.blacktop .track strong{font-size:10px;letter-spacing:.7px}.blacktop .track>span:last-child{font-size:10px}.blacktop .stage{aspect-ratio:1.55}.blacktop .wall-copy{left:13%;top:23%}.blacktop .wall-copy>div{font-size:37px}.blacktop .wall-copy p{font-size:8px;letter-spacing:1px;max-width:135px;line-height:1.5;margin-top:14px}.blacktop .edge-label{font-size:8px;padding:6px 8px;top:12px}.blacktop .crew{width:245px;height:163px;scale:.72;bottom:7px}.blacktop .stage-tag{font-size:7px;letter-spacing:.5px;bottom:22px;left:9px;padding:5px 7px}.blacktop .player-bar{height:45px;gap:8px}.blacktop .sound-status{font-size:8px;letter-spacing:.5px}.blacktop .player-bar>span:not(.sound-status){font-size:9px;max-width:105px}.blacktop .engagement{padding:21px 17px}.blacktop .likes-number{font-size:28px}.blacktop .likes-goal{font-size:12px}.blacktop .percent{font-size:35px}.blacktop .progress-caption{font-size:10px;gap:6px}.blacktop .progress-caption>span:last-child{font-size:9px;letter-spacing:.4px}.blacktop .like-button{font-size:17px;padding:16px}.blacktop .action-note{font-size:11px}.blacktop .how{grid-template-columns:1fr;gap:19px;margin-top:27px;padding:0 8px 24px}.blacktop .mission-label{font-size:25px}.blacktop .step h2{font-size:15px}.blacktop .step p{font-size:13px}.blacktop .demo-tools{padding:21px 0}.blacktop .demo-buttons button,.blacktop .video-upload{font-size:11px}.blacktop .demo-explainer{font-size:10px}.blacktop footer{font-size:9px;gap:12px}.blacktop .wordmark.small{font-size:17px}.blacktop .stage.at-zero .wall-copy{left:42%}}
@media(max-width:390px){.blacktop h1{font-size:49px}.blacktop .intro-copy p{font-size:12px}.blacktop .intro-copy p.muted{font-size:10px}.blacktop .eyebrow{font-size:8px}.theme-switch a{font-size:9px;padding:7px 5px}.blacktop .wordmark small{font-size:6px}.blacktop .wordmark{font-size:19px}.blacktop .wall-copy>div{font-size:32px}}


/* blacktop-light.css */
/* Blacktop Light — the same reveal experience on a white surface. */
.blacktop.light{--bg:#fff;--text:#17191c;--muted:#636b72;--border:#e1e4e6;--lime:#d93e33;background:#fff;color:#17191c;color-scheme:light}
.blacktop.light .topbar{border-color:#e1e4e6}
.blacktop.light .wordmark{color:#17191c}
.blacktop.light .wordmark small{color:#697179}
.blacktop.light .theme-switch{background:#f6f7f8;border-color:#dce0e3}
.blacktop.light .theme-switch a{color:#606a73}
.blacktop.light .theme-switch a[aria-current]{background:#fff;color:#b93028;box-shadow:0 1px 4px #11182015}
.blacktop.light .theme-switch a:hover{color:#b93028}
.blacktop.light .eyebrow{color:#61676d}
.blacktop.light .spark{background:#d93e33}
.blacktop.light h1{color:#17191c}
.blacktop.light h1 span{color:#d93e33}
.blacktop.light .intro-copy p{color:#262b30}
.blacktop.light .intro-copy p.muted{color:#656d74}
.blacktop.light .campaign{background:#fff;border-color:#d6dbdf;box-shadow:0 14px 38px #1a27300a}
.blacktop.light .stage-top{background:#f7f8f9;color:#252b31;border-bottom:1px solid #e2e5e7}
.blacktop.light .tiny-play{color:#cf382e}
.blacktop.light .track-divider{color:#a0a8ae}
.blacktop.light .track>span:last-child{color:#667079}
.blacktop.light .preview-label{background:#fff;color:#6c757c;border-color:#d7dde1}
.blacktop.light .engagement{background:#fff;border-top:1px solid #e1e5e8}
.blacktop.light .likes-number{color:#1b2025}
.blacktop.light .likes-goal,.blacktop.light .progress-caption,.blacktop.light .action-note{color:#646e76}
.blacktop.light .percent{color:#c9382e}
.blacktop.light .progress-track{background:#e7eaec}
.blacktop.light .progress-track>div{background:#df4438}
.blacktop.light .progress-track i{background:#fff}
.blacktop.light .like-button{background:#d43d32;color:#fff;box-shadow:0 2px 0 #a92f26}
.blacktop.light .like-button:hover{background:#be3028}
.blacktop.light .like-button .plus{background:#ffffff22}
.blacktop.light .how{border-color:#e0e4e7}
.blacktop.light .mission-label{color:#22282d}
.blacktop.light .mission-label>span:not(.asterisk){color:#79828a}
.blacktop.light .step-num{color:#c5372d}
.blacktop.light .step h2{color:#22282e}
.blacktop.light .step p{color:#687179}
.blacktop.light .demo-tools strong{color:#58636c}
.blacktop.light .demo-dot{background:#d14c42}
.blacktop.light .demo-explainer{color:#737d85}
.blacktop.light .demo-buttons button,.blacktop.light .video-upload{background:#fff;color:#5d6870;border-color:#d5dce0}
.blacktop.light .demo-buttons button.selected{color:#b42e25;border-color:#d98b84;background:#fff3f0}
.blacktop.light .video-upload:hover{color:#b42e25;border-color:#d98b84}
.blacktop.light .video-note{color:#596770}
.blacktop.light footer{background:#fff;color:#737d85;border-color:#e0e4e7}
.blacktop.light .wordmark.small{color:#414c54}
@media(max-width:650px){.blacktop.light .topbar{gap:8px}.blacktop.light .theme-switch a{padding:7px 6px;font-size:10px}}
@media(max-width:390px){.blacktop.light .theme-switch a{padding:7px 4px;font-size:9px}.blacktop.light .wordmark{gap:6px}.blacktop.light .team-logo{width:31px;height:43px}}


/* Demo controls */
.demo-badge{border:1px solid #d8dde1;
border-radius:4px;
color:#737d85;
font-size:11px;
letter-spacing:1.2px;
padding:8px 12px;
white-space:nowrap}

.video-upload:focus-visible{outline:3px solid #d43d32;
outline-offset:4px}

.blacktop.light .sample-caption{max-width:220px;
font-size:9px;
line-height:1.5;
background:#1118;
padding:4px 6px;
border-radius:2px}

.blacktop.light .video-note{font-size:13px;
line-height:1.6;
padding-bottom:12px}

@media(max-width:650px){.demo-badge{font-size:9px;
padding:6px 8px}
.blacktop.light .sample-caption{max-width:85px;
font-size:7px;
padding:3px;
left:8px;
top:12px}
}


.stage.has-video .footage video[hidden]{display:none}

/* Full-width reveal: the team's palms track the true left edge of the wall.
   Players begin outside the stage and enter as the wall moves right. */
.blacktop .footage,.blacktop .wall{left:0}
.blacktop .crew,.blacktop .stage.at-zero .crew{width:270px;height:180px;scale:1;transform:translateX(-97.8%);bottom:6px}
.blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:14%;top:20%}
.blacktop .stage .reveal-edge{opacity:1}
.blacktop .stage.unlocked .reveal-edge{opacity:0}
.blacktop .stage .edge-label{left:10px;transform:none}
@media(max-width:650px){
 .blacktop .crew,.blacktop .stage.at-zero .crew{width:176px;height:117.333px;bottom:7px}
 .blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:13%;top:23%}
}

.blacktop.light .push-button{display:block;width:100%;margin-top:10px;padding:11px 16px;border:1px solid #c8483b;border-radius:4px;background:#fff4f1;color:#b43d32;font-weight:700;font-size:14px}
.blacktop.light .push-button:hover:not(:disabled){background:#ffe5df}
.blacktop.light .push-button:disabled{opacity:.45;cursor:default}


/* Sponsor sits near the leading edge of the moving wall. */
.blacktop .wall-sponsor{position:absolute;z-index:1;left:4%;top:50%;transform:translateY(-50%);width:clamp(150px,21%,230px);padding:18px 12px 10px;background:#fff;border-radius:6px;box-shadow:0 8px 24px #51211a18;text-align:center}
.blacktop .wall-sponsor img{display:block;width:100%;height:auto;margin-top:8px;object-fit:contain}
.blacktop .wall-sponsor span{display:block;font:700 12px/1.2 'Barlow',sans-serif;letter-spacing:2px;color:#b43d32;white-space:nowrap}
.blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:36%;top:24%}
@media(max-width:650px){
 .blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:39%;top:26%}
 .blacktop .stage .wall-copy>div{font-size:clamp(24px,7.4vw,37px)}
 .blacktop .wall-sponsor{left:4%;width:26%;min-width:0;padding:12px 5px 6px;border-radius:4px}
 .blacktop .wall-sponsor span{font-size:7px;letter-spacing:1px}
 .blacktop .wall-sponsor img{margin-top:6px}
 .blacktop .stage-tag{display:none}
}


/* Full-width campaign call to action, aligned with the video edges. */
.blacktop.light .engagement{display:block;padding:0}
.blacktop.light .progress-info{padding:26px 28px}
.blacktop.light .action{width:100%;margin:0;padding:0 0 22px}
.blacktop.light .like-button{position:relative;width:100%;min-height:72px;padding:22px 64px;border-radius:0;font-size:20px;justify-content:center;box-shadow:none}
.blacktop.light .like-button:hover:not(:disabled){transform:none}
.blacktop.light .like-button .plus{position:absolute;right:28px;margin-left:0}
.blacktop.light .action .push-button{width:calc(100% - 34px);max-width:280px;margin:16px auto 0}
.blacktop.light .action-note{padding:0 17px}
@media(max-width:650px){
 .blacktop.light .progress-info{padding:21px 17px}
 .blacktop.light .like-button{min-height:64px;padding:19px 55px;font-size:18px}
 .blacktop.light .like-button .plus{right:17px}
}

/* Seated teammates belong to the moving overlay, below its headline. */
.arena{position:relative;isolation:isolate}
.blacktop .stage-tag{display:none}
.blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:36%;top:12%}
.blacktop .stage .wall-copy>div{font-size:clamp(34px,4.8vw,66px)}
.blacktop .stage .wall-copy p{margin-top:12px}
.bench-scene{position:absolute;z-index:2;left:34%;bottom:5%;width:44%;height:45%;pointer-events:none}
.bench-scene canvas{display:block;width:100%;height:100%}
@media(max-width:650px){
 .blacktop .stage .wall-copy,.blacktop .stage.at-zero .wall-copy{left:39%;top:13%}
 .blacktop .stage .wall-copy>div{font-size:clamp(23px,7vw,37px)}
 .blacktop .stage .wall-copy p{margin-top:8px;font-size:7px;max-width:150px}
 .bench-scene{left:35%;bottom:6%;width:60%;height:43%}
}

.recruit-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}

.blacktop .wall-sponsor{top:45%}
/* Standard video framing with compact campaign playback controls. */
.blacktop.light .stage:not(:fullscreen){aspect-ratio:16/9}
.blacktop.light .player-bar{height:auto;min-height:76px;padding:10px 18px;gap:14px;background:#fffaf7;border-bottom:1px solid #eaded8;color:#323332}
.blacktop.light .player-bar .icon-button{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:transparent;color:#6c625e}
.blacktop.light .player-bar #playBtn{width:34px;height:34px;background:#b94330;color:white;box-shadow:0 3px 10px #b943301c}
.blacktop.light .player-bar #playBtn:disabled{background:#ebdfd9;color:#a99b93;box-shadow:none;opacity:1}
.blacktop.light .player-bar #playBtn:hover:not(:disabled){background:#a43727;transform:none}
.blacktop.light .player-bar .fullscreen:hover{background:#f1e6df;transform:none}
.player-timeline{flex:1;min-width:0}
.playback-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:1.4}
#playerStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#393432}
#playbackTime{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;color:#776c66}
.media-timeline{position:relative;height:5px;margin:9px 0 8px;border-radius:9px;background:#e7e2de;isolation:isolate}
.media-unlocked,.media-played{position:absolute;inset:0 auto 0 0;border-radius:9px;width:var(--unlocked);background:#edb3a3}
.media-played{width:var(--played);background:#b94330}
.media-played:after{content:'';position:absolute;right:-4px;top:-1.5px;width:8px;height:8px;border-radius:50%;background:#b94330;box-shadow:0 0 0 3px #fffaf7}
.media-limit{position:absolute;left:var(--unlocked);top:50%;width:15px;height:15px;border:1px solid #d69783;border-radius:5px;background:#fffaf7;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fffaf7}
.media-limit:after{content:'';position:absolute;inset:3px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23b94330' stroke-width='1.5'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5 7V5a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E")}
.fully-unlocked .media-limit,.fully-locked .media-limit,.fully-locked .media-played:after{display:none}
.media-timeline input{position:absolute;inset:-14px 0;width:100%;height:34px;margin:0;opacity:0;cursor:pointer;z-index:2}
.media-timeline input:disabled{cursor:default}
.media-timeline:focus-within{outline:2px solid #b94330;outline-offset:7px}
.playback-legend{min-height:16px;color:#776c66;font-size:11px}
.blacktop.light .playback-legend .sound-status{font-size:10px;font-weight:600;letter-spacing:.6px;color:#9a3b29;display:inline-flex;align-items:center;gap:7px}
.sound-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
#previewHint{text-align:right;color:#82736b;font-size:10px}
.media-timeline.at-limit .media-limit{background:#f9ded3;border-color:#b94330;box-shadow:0 0 0 4px #f4d8cd}
.player-timeline:has(.at-limit) #previewHint{color:#a33d2b}
.fully-unlocked~.playback-legend #previewHint{visibility:hidden}
@media(max-width:650px){
 .blacktop.light .player-bar{padding:10px 12px;gap:10px;min-height:86px}
 .blacktop.light .player-bar #playBtn{width:32px;height:32px}
 .blacktop.light .player-bar .fullscreen{width:26px;height:32px}
 .playback-meta{font-size:11px;gap:7px}
 #playbackTime{font-size:10px}
 .playback-legend{align-items:flex-start;flex-direction:column;gap:2px}
 #previewHint{text-align:left;font-size:10px;line-height:1.4}
 .blacktop.light .playback-legend .sound-status{font-size:9px;letter-spacing:.2px}
}

/* A small match-day ticket, presented as a native accessible modal. */
.ticket-dialog{border:1px solid #e1d6d0;padding:0;border-radius:16px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);color:#252321;background:#fff;box-shadow:0 24px 90px #21120e45;overflow:auto}
.ticket-dialog::backdrop{background:#21171399;backdrop-filter:blur(5px)}
.ticket-dialog[open]{animation:ticket-arrive .3s ease-out}
.ticket-close{position:absolute;right:12px;top:10px;width:32px;height:32px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff15;color:#fff;font-size:25px;line-height:1;z-index:1}
.ticket-art{position:relative;display:flex;align-items:center;gap:18px;background:#b94330;color:#fff5eb;padding:28px 24px 24px;border-bottom:2px dashed #dca491;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px}
.ticket-art>span:first-child{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700}
.ticket-art svg{width:68px;height:68px;flex-shrink:0}
.ticket-art>span:last-child{font-size:27px;font-weight:700;line-height:1.1}
.ticket-art strong{font-family:'Barlow',sans-serif;font-size:9px;letter-spacing:1px;font-weight:500}
.ticket-body{padding:27px 28px 24px}
.ticket-eyebrow{color:#a8402d;font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.ticket-body h2{font-family:'Barlow Condensed',sans-serif;font-size:48px;line-height:.98;letter-spacing:-.5px;margin:10px 0 14px;font-weight:800;outline:none}
.ticket-body p{font-size:15px;line-height:1.5;margin:0 0 21px;color:#625b56}
.ticket-body label{display:block;font-size:12px;font-weight:600;margin:0 0 8px}
.ticket-body input{box-sizing:border-box;width:100%;height:46px;border:1px solid #d8cec8;border-radius:6px;padding:0 13px;font:inherit;font-size:16px;background:#fffcfa;color:#252321}
.ticket-body input:focus{outline:2px solid #b94330;outline-offset:2px}
.ticket-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;border:0;border-radius:6px;background:#b94330;color:#fff;padding:14px 18px;font-size:14px;font-weight:600;margin-top:12px}
.ticket-submit:hover{background:#a13727}
.ticket-body .ticket-confirmation{font-weight:700;color:#a8402d;margin-bottom:8px}
#ticketRecipient{overflow-wrap:anywhere;color:#3c322c}
.ticket-reopen{display:block;margin:16px 0 0;padding:10px 14px;border:1px solid #d7a595;border-radius:5px;background:#fff8f3;color:#a8402d;font-weight:600;font-size:12px}
.ticket-reopen[hidden],.ticket-dialog [hidden]{display:none!important}
@keyframes ticket-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ticket-dialog[open]{animation:none}}
@media(max-width:400px){.ticket-body{padding:22px}.ticket-body h2{font-size:42px}.ticket-art{padding:24px 20px;gap:14px}.ticket-art>span:last-child{font-size:23px}}

/* Compact sound control for muted autoplay on both campaign routes. */
.sound-toggle{flex-shrink:0;border:1px solid #ddc6ba;border-radius:5px;background:#fff;color:#9f3e2c;padding:7px 8px;font-size:11px;font-weight:600;min-width:64px}
.sound-toggle:disabled{opacity:.45;cursor:default}
.sound-toggle:hover:not(:disabled){background:#f5e8df}
@media(max-width:650px){.sound-toggle{min-width:54px;padding:7px 5px;font-size:10px}.blacktop.light .player-bar{gap:7px}}

/* Percentage-only progress heading for the interactive demo. */
.reveal-summary .reveal-kicker{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#a44332}
.reveal-summary .reveal-heading{font-size:19px;font-weight:600;margin:5px 0 0}
@media(max-width:650px){.reveal-summary .reveal-heading{font-size:16px}}
