
:root {
  --night:#051526;
  --cream:#f6edda;
  --paper:#e8ddc7;
  --red:#ec2f2f;
  --orange:#f36b2b;
  --yellow:#f4bd3f;
  --blue:#175ccf;
  --black:#11100d;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--night); font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1240px,calc(100% - 56px)); margin-inline:auto; }
.section { padding:120px 0; }
h1,h2,h3,p { margin-top:0; }

/* HERO */
.hero { min-height:100svh; position:relative; overflow:hidden; color:var(--cream); background:var(--night); isolation:isolate; }
.hero-photo { position:absolute; inset:0; z-index:-3; background:url('/images/race-weekend/night-grandstand.jpg') 56% center/cover no-repeat fixed; transform:scale(1.02); }
.hero-wash { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,14,27,.98) 0%,rgba(3,14,27,.82) 34%,rgba(3,14,27,.14) 72%),linear-gradient(0deg,rgba(3,14,27,.72) 0%,transparent 45%); }
.hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.13; mix-blend-mode:screen; background-image:repeating-radial-gradient(circle at 23% 47%,rgba(255,255,255,.65) 0 1px,transparent 1px 5px); background-size:13px 17px; pointer-events:none; }
.nav { height:94px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.3); position:relative; z-index:4; }
.brand { display:flex; gap:13px; align-items:center; font:900 22px/1 Impact,'Arial Narrow',sans-serif; letter-spacing:.015em; }
.brand em,.footer-brand span { color:var(--red); font-style:normal; }
.brand-flag { width:34px; height:24px; transform:skew(-10deg); border:2px solid var(--cream); background:conic-gradient(var(--cream) 25%,var(--night) 0 50%,var(--cream) 0 75%,var(--night) 0) 0 0/12px 12px; }
.nav-links { display:flex; align-items:center; gap:30px; font:900 11px/1 Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.nav-links > a:not(.nav-button) { border-bottom:2px solid transparent; padding:10px 0; }
.nav-links > a:hover { border-color:var(--red); }
.nav-button { background:var(--cream); color:var(--night); padding:15px 18px; transform:rotate(-1deg); }
.hero-content { min-height:calc(100svh - 94px); padding-top:7.5vh; padding-bottom:150px; position:relative; }
.hero-stamp { position:absolute; right:1%; top:11%; padding:11px 15px 9px; border:2px solid var(--cream); color:var(--cream); font:900 11px/1 'Courier New',monospace; letter-spacing:.13em; text-transform:uppercase; transform:rotate(5deg); opacity:.9; }
.hero-overline { display:inline-block; max-width:560px; padding:8px 12px 7px; background:var(--red); color:white; font:900 11px/1 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; transform:rotate(-1deg); }
.hero h1 { margin:23px 0 35px; max-width:950px; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; text-transform:uppercase; letter-spacing:-.045em; line-height:.77; text-shadow:0 8px 30px rgba(0,0,0,.35); }
.hero h1 span { display:block; font-size:clamp(58px,8vw,120px); }
.hero h1 strong { display:block; font-size:clamp(98px,15.5vw,228px); font-weight:900; color:var(--cream); }
.hero h1 em { display:inline-block; margin-top:18px; padding:5px 16px 8px; color:var(--night); background:var(--cream); font-size:clamp(40px,5.3vw,78px); font-style:normal; letter-spacing:-.02em; transform:rotate(-2deg); box-shadow:10px 10px 0 var(--red); }
.hero-bottom { display:flex; gap:42px; align-items:center; }
.hero-bottom > p { max-width:480px; margin:0; color:#d5dce1; font:italic 18px/1.55 Georgia,serif; }
.cta-swipe { display:flex; align-items:center; gap:28px; padding:18px 18px 16px 22px; background:var(--red); color:white; font:900 12px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; transform:rotate(1deg); box-shadow:7px 7px 0 rgba(255,255,255,.23); transition:transform .2s,box-shadow .2s; }
.cta-swipe:hover { transform:rotate(-1deg) translateY(-4px); box-shadow:9px 11px 0 rgba(255,255,255,.26); }
.cta-swipe b { font-size:24px; }
.race-tape { position:absolute; bottom:30px; left:-2%; width:104%; display:flex; gap:26px; align-items:center; padding:16px 28px 14px; background:var(--yellow); color:var(--night); transform:rotate(-1.4deg); white-space:nowrap; overflow:hidden; font:900 14px/1 Impact,sans-serif; letter-spacing:.13em; }
.race-tape i { color:var(--red); font-style:normal; }

/* VIBE SELECTOR */
.choose-your-race { background:var(--night); color:var(--cream); padding:90px 0 105px; }
.vibe-grid { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:18px; align-items:stretch; }
.vibe-intro { padding-right:28px; }
.scribble,.hand-note { font:italic 18px/1.2 'Courier New',monospace; color:var(--yellow); }
.vibe-intro h2 { margin:16px 0 0; font:900 clamp(52px,6vw,84px)/.86 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.02em; }
.vibe-card { min-height:260px; padding:23px; display:flex; flex-direction:column; position:relative; border:1px solid rgba(255,255,255,.36); transition:transform .25s,box-shadow .25s; overflow:hidden; }
.vibe-card::after { content:""; position:absolute; width:160px; height:160px; border-radius:50%; right:-75px; bottom:-90px; background:rgba(255,255,255,.1); }
.vibe-card:hover { transform:translateY(-9px) rotate(-1deg); box-shadow:9px 11px 0 var(--red); }
.vibe-card > span { font:700 11px/1 'Courier New',monospace; letter-spacing:.15em; }
.vibe-card strong { margin:auto 0; font:900 36px/.94 Impact,sans-serif; text-transform:uppercase; }
.vibe-card em { font:700 11px/1 Arial,sans-serif; font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.home-card { background:var(--red); }
.track-card { background:var(--cream); color:var(--night); transform:rotate(1.2deg); }
.picks-card { background:var(--blue); }

/* MANIFESTO */
.manifesto { position:relative; background-color:var(--cream); background-image:linear-gradient(rgba(5,21,38,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(5,21,38,.055) 1px,transparent 1px); background-size:38px 38px; }
.manifesto-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:70px; position:relative; }
.section-no { display:block; margin-bottom:22px; color:var(--red); font:900 10px/1 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.section-no.light { color:#ff9c7c; }
.section-no.dark { color:var(--night); }
.manifesto h2,.games h2,.tailgate h2,.plan h2,.snack-copy h2 { margin:0; font:900 clamp(70px,9vw,132px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }
.red-swipe { width:max-content; max-width:100%; margin-top:24px; padding:10px 18px; background:var(--red); color:white; font:900 clamp(25px,3vw,43px)/1 Impact,sans-serif; text-transform:uppercase; transform:rotate(-2deg); }
.manifesto-copy { padding-top:64px; }
.manifesto-copy p { color:#3e4850; font:17px/1.7 Georgia,serif; }
.manifesto-copy .big-copy { color:var(--night); font:900 25px/1.25 Arial,sans-serif; }
.polaroid-note { position:absolute; right:60px; bottom:-125px; width:285px; padding:28px 28px 60px; background:#f8f3e8; box-shadow:0 20px 50px rgba(0,0,0,.18); transform:rotate(5deg); z-index:3; }
.polaroid-note::before { content:""; position:absolute; width:76px; height:25px; background:rgba(237,218,174,.75); left:103px; top:-14px; transform:rotate(-3deg); }
.polaroid-note span { font:900 10px/1 Arial,sans-serif; color:var(--red); letter-spacing:.2em; }
.polaroid-note strong { display:block; margin:22px 0; font:900 29px/1 Impact,sans-serif; text-transform:uppercase; }
.polaroid-note em { font:italic 13px/1.4 'Courier New',monospace; }

/* GAMES */
.games { min-height:1000px; padding:180px 0 130px; position:relative; isolation:isolate; color:var(--cream); overflow:hidden; }
.games-bg { position:absolute; inset:0; z-index:-3; background:url('/images/games-table.jpg') center/cover no-repeat fixed; }
.games-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,14,27,.96) 0%,rgba(3,14,27,.83) 46%,rgba(3,14,27,.3) 100%),linear-gradient(0deg,rgba(3,14,27,.76),transparent 65%); }
.games::after { content:"PLAY\A FOR\A GLORY"; white-space:pre; position:absolute; right:-20px; bottom:20px; z-index:-1; color:rgba(255,255,255,.07); font:900 150px/.7 Impact,sans-serif; text-align:right; transform:rotate(-4deg); }
.games-content { display:grid; grid-template-columns:1fr 1.08fr; gap:90px; align-items:start; }
.games-heading h2 em { color:var(--yellow); font-style:normal; }
.games-heading > p { max-width:430px; margin:35px 0 0; font:italic 18px/1.6 Georgia,serif; color:#d2d8df; }
.ticket-stack { display:grid; gap:20px; padding-top:60px; }
.game-ticket { color:var(--night); background:var(--cream); box-shadow:12px 12px 0 rgba(236,47,47,.7); transition:transform .2s; }
.game-ticket:nth-child(1) { transform:rotate(1.2deg); }
.game-ticket:nth-child(2) { transform:rotate(-1.5deg); margin-left:25px; }
.game-ticket:nth-child(3) { transform:rotate(.6deg); margin-left:5px; }
.game-ticket:hover,.game-ticket[open] { transform:rotate(0) translateX(-7px); }
.game-ticket summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:74px 1fr 36px; gap:19px; align-items:center; padding:24px 24px 22px; }
.game-ticket summary::-webkit-details-marker { display:none; }
.ticket-number { color:var(--red); font:900 44px/1 Impact,sans-serif; border-right:2px dashed #a79e8a; }
.game-ticket small { display:block; margin-bottom:6px; font:700 10px/1 'Courier New',monospace; text-transform:uppercase; }
.game-ticket summary strong { display:block; font:900 29px/1 Impact,sans-serif; text-transform:uppercase; }
.game-ticket summary b { font:400 32px/1 Arial,sans-serif; transition:transform .2s; }
.game-ticket[open] summary b { transform:rotate(45deg); }
.ticket-body { padding:0 28px 26px 117px; border-top:1px dashed #a79e8a; }
.ticket-body p { margin:20px 0 14px; font:15px/1.55 Arial,sans-serif; }
.ticket-body em { color:var(--red); font:700 12px/1.3 'Courier New',monospace; }

/* FOOD */
.intermission { background:var(--yellow); overflow:hidden; padding-bottom:115px; }
.marquee { margin-bottom:100px; padding:17px 0 15px; background:var(--red); color:white; white-space:nowrap; transform:rotate(1deg) scale(1.02); overflow:hidden; }
.marquee span { font:900 21px/1 Impact,sans-serif; letter-spacing:.1em; }
.snack-grid { display:grid; grid-template-columns:1.1fr .8fr .38fr; gap:60px; align-items:center; }
.snack-copy h2 { font-size:clamp(67px,8vw,112px); }
.snack-copy > p { max-width:600px; margin:35px 0 0; font:18px/1.6 Georgia,serif; }
.menu-board { position:relative; padding:42px 36px 32px; background:var(--cream); box-shadow:15px 18px 0 rgba(5,21,38,.18); transform:rotate(-2deg); }
.tape { position:absolute; top:-16px; left:50%; width:95px; height:30px; background:rgba(246,237,218,.65); transform:translateX(-50%) rotate(4deg); }
.menu-board .hand-note { color:var(--red); font-size:13px; font-weight:700; }
.menu-board ol { padding:0; margin:28px 0 20px; list-style:none; }
.menu-board li { padding:13px 0; border-bottom:1px solid rgba(5,21,38,.22); font:900 18px/1 Arial,sans-serif; text-transform:uppercase; }
.menu-board li span { margin-right:14px; color:var(--red); font:900 15px/1 Impact,sans-serif; }
.menu-board > p { margin:0; font:italic 12px/1.4 'Courier New',monospace; }
.cupcake-burst { width:175px; aspect-ratio:1; display:grid; place-items:center; align-content:center; text-align:center; background:var(--red); color:white; border-radius:50%; transform:rotate(8deg); box-shadow:0 0 0 9px var(--yellow),0 0 0 12px var(--night); }
.cupcake-burst span { font:900 18px/1 Impact,sans-serif; }
.cupcake-burst strong { display:block; font-size:35px; }

/* TAILGATE */
.tailgate { min-height:900px; position:relative; isolation:isolate; overflow:hidden; }
.tailgate-bg { position:absolute; inset:0; z-index:-3; background:url('/images/tailgate-sun.jpg') 45% center/cover no-repeat fixed; }
.tailgate-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(6,21,36,.16),rgba(6,21,36,.03) 50%,rgba(246,237,218,.83) 74%,rgba(246,237,218,.96)); }
.tailgate-content { min-height:900px; display:grid; grid-template-columns:1.1fr .65fr; align-items:center; gap:90px; }
.tailgate-title { align-self:end; padding-bottom:80px; color:var(--night); text-shadow:0 1px 14px rgba(255,255,255,.72); }
.tailgate-title h2 { font-size:clamp(76px,9vw,138px); }
.tailgate-title > p { display:inline-block; margin:25px 0 0; padding:10px 14px; color:white; background:var(--red); font:900 15px/1.2 Arial,sans-serif; transform:rotate(-1deg); text-shadow:none; }
.check-card { position:relative; padding:34px 34px 25px; background:var(--cream); color:var(--night); box-shadow:16px 20px 0 var(--red); transform:rotate(1.5deg); }
.check-card::before { content:""; position:absolute; inset:12px; border:2px solid var(--night); pointer-events:none; }
.check-head { display:flex; justify-content:space-between; align-items:center; padding:8px 8px 20px; border-bottom:4px solid var(--night); }
.check-head span { font:900 34px/1 Impact,sans-serif; }
.check-head em { color:var(--red); font:700 10px/1 'Courier New',monospace; }
.check-item { display:grid; grid-template-columns:27px .8fr 1fr; gap:12px; align-items:center; padding:17px 7px; border-bottom:1px solid rgba(5,21,38,.25); }
.fake-check { width:22px; height:22px; display:grid; place-items:center; border:2px solid var(--night); color:var(--red); font-weight:900; transform:rotate(-5deg); }
.check-item strong { font:900 18px/1 Impact,sans-serif; text-transform:uppercase; }
.check-item small { font:italic 11px/1.3 'Courier New',monospace; }
.check-foot { margin:20px 8px 5px; color:var(--red); font:700 11px/1 'Courier New',monospace; }

/* TRACK FIELD GUIDES */
.track-explore { padding:120px 0 105px; background:var(--cream); background-image:linear-gradient(rgba(5,21,38,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(5,21,38,.05) 1px,transparent 1px); background-size:38px 38px; }
.explore-heading { display:grid; grid-template-columns:1.2fr .7fr; align-items:end; gap:70px; }
.explore-heading .section-no { grid-column:1/-1; }
.explore-heading h2 { margin:0; font:900 clamp(72px,9vw,132px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }
.explore-heading > p { max-width:430px; margin:0 0 8px; font:18px/1.62 Georgia,serif; }
.explore-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:72px; }
.explore-card { min-height:600px; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:var(--cream); isolation:isolate; box-shadow:13px 15px 0 var(--night); }
.explore-card:nth-child(2) { transform:translateY(34px); box-shadow:13px 15px 0 var(--red); }
.explore-photo { position:absolute; inset:0; z-index:-2; background-position:center; background-size:cover; transition:transform .45s ease; }
.explore-card:hover .explore-photo { transform:scale(1.035); }
.explore-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,14,27,.98) 0%,rgba(3,14,27,.17) 70%); }
.explore-midway .explore-photo { background-image:url('/images/race-weekend/midway-merch-row.jpg'); }
.explore-stands .explore-photo { background-image:url('/images/race-weekend/fans-cheering.jpg'); background-position:54% center; }
.explore-copy { display:flex; flex-direction:column; width:100%; padding:38px; }
.explore-copy small { color:var(--yellow); font:900 10px/1 Arial,sans-serif; letter-spacing:.2em; }
.explore-copy strong { margin:11px 0 14px; font:900 clamp(48px,6vw,82px)/.84 Impact,sans-serif; text-transform:uppercase; }
.explore-copy em { font:italic 15px/1.4 Georgia,serif; }
.photo-credit { margin-top:65px; color:#5b6268; font:italic 11px/1.4 'Courier New',monospace; }

/* INNER PHOTO STORIES */
.subpage { background:var(--cream); }
.sub-hero { min-height:92svh; position:relative; isolation:isolate; overflow:hidden; color:var(--cream); }
.sub-hero-bg { position:absolute; inset:0; z-index:-3; background-position:center; background-size:cover; background-repeat:no-repeat; background-attachment:fixed; }
.midway-hero .sub-hero-bg { background-image:url('/images/race-weekend/midway-legacy.jpg'); background-position:55% center; }
.grandstands-hero .sub-hero-bg { background-image:url('/images/race-weekend/fans-cheering.jpg'); background-position:56% center; }
.sub-hero::after { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,14,27,.97),rgba(3,14,27,.67) 49%,rgba(3,14,27,.13)),linear-gradient(0deg,rgba(3,14,27,.72),transparent 60%); }
.sub-hero-content { min-height:calc(92svh - 94px); padding:14vh 0 90px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; }
.sub-kicker { padding:9px 12px 8px; background:var(--red); font:900 10px/1 Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; transform:rotate(-1deg); }
.sub-hero h1 { max-width:1000px; margin:25px 0 28px; font:900 clamp(75px,11vw,166px)/.77 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.04em; text-shadow:0 8px 30px rgba(0,0,0,.4); }
.sub-lede { max-width:640px; margin:0; color:#e5e2dc; font:italic 20px/1.55 Georgia,serif; }
.sub-down { margin-top:35px; display:inline-block; padding:14px 17px; background:var(--yellow); color:var(--night); font:900 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.photo-story { min-height:720px; display:grid; grid-template-columns:1.12fr .88fr; background:var(--cream); }
.photo-story:nth-of-type(even) { grid-template-columns:.88fr 1.12fr; background:var(--night); color:var(--cream); }
.photo-story:nth-of-type(even) .story-photo { order:2; }
.story-photo { min-height:720px; background-position:center; background-size:cover; }
.midway-row-photo { background-image:url('/images/race-weekend/midway-merch-row.jpg'); }
.midway-team-photo { background-image:url('/images/race-weekend/midway-hendrick.jpg'); }
.midway-food-photo { background-image:url('/images/race-weekend/midway-food.jpg'); }
.stands-wide-photo { background-image:url('/images/race-weekend/crowd-wide.jpg'); }
.burnout-photo { background-image:url('/images/race-weekend/track-burnout.jpg'); }
.flag-photo { background-image:url('/images/race-weekend/flag-stand.jpg'); }
.story-copy { padding:90px clamp(42px,7vw,105px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.story-copy .section-no { margin-bottom:25px; }
.story-copy h2 { margin:0; font:900 clamp(60px,7vw,104px)/.82 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.03em; }
.story-copy > p { max-width:520px; margin:30px 0 0; font:17px/1.7 Georgia,serif; }
.story-list { margin:30px 0 0; padding:0; list-style:none; width:100%; max-width:520px; }
.story-list li { padding:15px 0; border-top:1px solid currentColor; font:900 13px/1.25 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.story-list li::before { content:"↘"; margin-right:12px; color:var(--red); }
.field-notes { padding:115px 0 125px; background:var(--yellow); }
.field-notes h2 { margin:0 0 60px; max-width:950px; font:900 clamp(65px,9vw,125px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }
.field-note-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.field-note { min-height:250px; padding:30px; position:relative; background:var(--cream); box-shadow:9px 10px 0 var(--night); }
.field-note:nth-child(2) { transform:rotate(-1.2deg); background:var(--red); color:white; }
.field-note span { color:var(--red); font:900 44px/1 Impact,sans-serif; }
.field-note:nth-child(2) span { color:var(--yellow); }
.field-note h3 { margin:25px 0 12px; font:900 26px/1 Impact,sans-serif; text-transform:uppercase; }
.field-note p { margin:0; font:14px/1.55 Arial,sans-serif; }
.return-card { padding:90px 0; color:var(--cream); background:var(--red); }
.return-card .shell { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.return-card h2 { margin:0; font:900 clamp(52px,7vw,95px)/.82 Impact,sans-serif; text-transform:uppercase; }
.return-card a { flex:0 0 auto; padding:17px 20px; background:var(--night); color:var(--cream); font:900 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }

/* PLAN */
.plan { background:var(--red); color:var(--cream); position:relative; overflow:hidden; }
.plan::before { content:"500"; position:absolute; right:-55px; top:-15px; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.12); font:900 360px/.8 Impact,sans-serif; }
.plan-header { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; position:relative; }
.plan-header .section-no { grid-column:1/-1; }
.plan-header h2 { font-size:clamp(80px,10vw,145px); }
.plan-header > p { max-width:350px; font:italic 20px/1.5 Georgia,serif; }
.race-line { display:grid; grid-template-columns:repeat(4,1fr); margin:100px 0 90px; border-top:5px solid var(--cream); }
.race-line article { position:relative; min-height:240px; padding:42px 26px 0 0; }
.race-line article + article { padding-left:26px; border-left:1px solid rgba(255,255,255,.35); }
.lap-dot { position:absolute; top:-21px; left:-1px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--night); border:4px solid var(--cream); font:900 12px/1 Arial,sans-serif; }
.race-line article > strong { color:var(--yellow); font:900 43px/1 Impact,sans-serif; }
.race-line h3 { margin:30px 0 10px; font:900 22px/1 Impact,sans-serif; }
.race-line p { max-width:210px; color:#ffd7cf; font:14px/1.5 Arial,sans-serif; }
.final-card { min-height:400px; padding:65px; position:relative; overflow:hidden; background:var(--night); transform:rotate(-1deg); box-shadow:18px 18px 0 var(--yellow); }
.final-kicker { color:var(--yellow); font:900 11px/1 Arial,sans-serif; letter-spacing:.2em; }
.final-card h2 { position:relative; z-index:1; margin:25px 0 30px; font-size:clamp(64px,8vw,112px); }
.final-card a { display:inline-block; padding-bottom:7px; border-bottom:2px solid var(--red); font:900 11px/1 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.big-500 { position:absolute; right:-20px; bottom:-70px; color:rgba(255,255,255,.06); font:900 330px/.8 Impact,sans-serif; transform:skew(-7deg); }

/* FOOTER */
footer { background:var(--night); color:var(--cream); }
.checker-strip { height:43px; background-color:var(--cream); background-image:conic-gradient(var(--night) 25%,var(--cream) 0 50%,var(--night) 0 75%,var(--cream) 0); background-size:42px 42px; }
.footer-grid { min-height:230px; display:grid; grid-template-columns:1fr 1.45fr .75fr; gap:65px; align-items:center; }
.footer-brand { font:900 25px/1 Impact,sans-serif; }
.footer-grid > p { margin:0; color:#9facb7; font:12px/1.65 Arial,sans-serif; }
.copyright { text-align:right; }
.copyright strong { color:var(--cream); }

@media (max-width:980px) {
  .vibe-grid { grid-template-columns:1fr 1fr; }
  .vibe-intro { grid-column:1/-1; }
  .manifesto-grid,.games-content,.snack-grid { grid-template-columns:1fr; }
  .polaroid-note { right:30px; bottom:-150px; }
  .games { padding-top:220px; }
  .ticket-stack { padding-top:0; max-width:680px; }
  .snack-grid { gap:45px; }
  .menu-board { max-width:560px; }
  .cupcake-burst { position:absolute; right:5%; margin-top:300px; }
  .tailgate-content { grid-template-columns:.85fr 1fr; gap:40px; }
  .tailgate-shade { background:linear-gradient(90deg,rgba(246,237,218,.08),rgba(246,237,218,.93) 66%); }
  .footer-grid { grid-template-columns:1fr 1fr; padding:60px 0; }
  .copyright { text-align:left; }
  .explore-heading { grid-template-columns:1fr; gap:30px; }
  .field-note-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:720px) {
  .shell { width:min(100% - 32px,620px); }
  .section { padding:88px 0; }
  .nav { height:76px; }
  .nav-links > a:not(.nav-button) { display:none; }
  .brand { font-size:19px; }
  .hero-photo { background-position:66% center; background-attachment:scroll; }
  .hero-wash { background:linear-gradient(90deg,rgba(3,14,27,.94),rgba(3,14,27,.47)),linear-gradient(0deg,rgba(3,14,27,.75),transparent 60%); }
  .hero-content { min-height:calc(100svh - 76px); padding-top:9vh; }
  .hero-stamp { display:none; }
  .hero h1 span { font-size:50px; }
  .hero h1 strong { font-size:clamp(91px,27vw,154px); }
  .hero h1 em { font-size:35px; box-shadow:7px 7px 0 var(--red); }
  .hero-bottom { align-items:flex-start; flex-direction:column; gap:24px; }
  .hero-bottom > p { font-size:16px; }
  .race-tape { gap:18px; font-size:12px; }
  .vibe-grid { grid-template-columns:1fr; }
  .vibe-card { min-height:200px; }
  .manifesto-grid { gap:25px; }
  .manifesto h2,.games h2,.tailgate h2,.plan h2,.snack-copy h2 { font-size:clamp(61px,18vw,92px); }
  .manifesto-copy { padding-top:20px; }
  .polaroid-note { position:relative; right:auto; bottom:auto; margin:45px 0 -30px 7%; }
  .games { min-height:auto; padding:130px 0 95px; }
  .games-bg,.tailgate-bg,.sub-hero-bg { background-attachment:scroll; }
  .games-overlay { background:linear-gradient(rgba(3,14,27,.8),rgba(3,14,27,.95)); }
  .game-ticket:nth-child(n) { margin-left:0; }
  .game-ticket summary { grid-template-columns:54px 1fr 24px; gap:12px; padding:20px 17px; }
  .ticket-number { font-size:34px; }
  .game-ticket summary strong { font-size:23px; }
  .ticket-body { padding:0 20px 23px; }
  .intermission { padding-bottom:90px; }
  .marquee { margin-bottom:75px; }
  .cupcake-burst { position:static; margin:0 0 0 auto; }
  .tailgate { min-height:1080px; }
  .tailgate-bg { background-position:34% center; }
  .tailgate-shade { background:linear-gradient(0deg,rgba(246,237,218,.97) 0%,rgba(246,237,218,.8) 55%,rgba(246,237,218,.03) 100%); }
  .tailgate-content { min-height:1080px; padding:70px 0; grid-template-columns:1fr; align-content:end; }
  .tailgate-title { padding-bottom:0; }
  .check-card { transform:rotate(.5deg); box-shadow:10px 12px 0 var(--red); }
  .check-item { grid-template-columns:27px 1fr; }
  .check-item small { grid-column:2; }
  .plan-header { grid-template-columns:1fr; }
  .plan-header .section-no { grid-column:auto; }
  .race-line { grid-template-columns:1fr 1fr; gap:0; }
  .race-line article { border-bottom:1px solid rgba(255,255,255,.3); }
  .final-card { padding:48px 30px; min-height:360px; }
  .big-500 { font-size:220px; }
  .footer-grid { grid-template-columns:1fr; gap:22px; }
  .track-explore { padding:90px 0; }
  .explore-grid { grid-template-columns:1fr; margin-top:50px; }
  .explore-card,.explore-card:nth-child(2) { min-height:510px; transform:none; }
  .explore-copy { padding:26px; }
  .sub-hero-content { min-height:calc(92svh - 76px); padding-bottom:65px; }
  .sub-hero h1 { font-size:clamp(70px,22vw,120px); }
  .sub-lede { font-size:17px; }
  .photo-story,.photo-story:nth-of-type(even) { min-height:0; grid-template-columns:1fr; }
  .photo-story:nth-of-type(even) .story-photo { order:0; }
  .story-photo { min-height:62vw; }
  .story-copy { padding:70px 24px 78px; }
  .field-note-grid { grid-template-columns:1fr; }
  .return-card .shell { align-items:flex-start; flex-direction:column; }
}

@media (max-width:440px) {
  .nav-button { padding:12px; font-size:9px; }
  .brand-flag { display:none; }
  .hero h1 span { font-size:42px; }
  .hero h1 strong { font-size:88px; }
  .hero h1 em { font-size:29px; }
  .red-swipe { font-size:24px; }
  .race-line { grid-template-columns:1fr; border-top:0; }
  .race-line article { padding:26px 0!important; border-left:0!important; border-top:3px solid var(--cream); min-height:auto; }
  .lap-dot { top:-20px; }
  .check-card { padding:27px 24px 22px; }
  .check-head span { font-size:28px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
