@charset "UTF-8";

:root{
  --ink:#050a12;
  --midnight:#07162b;
  --navy:#062b5a;
  --blue:#0b4389;
  --garnet:#9f1838;
  --crimson:#d3264c;
  --silver:#c8ccd2;
  --paper:#f2f1ed;
  --white:#fff;
  --muted:#7f8996;
  --line:rgba(255,255,255,.15);
  --display:"Barlow Condensed",Arial Narrow,sans-serif;
  --body:"DM Sans",Arial,sans-serif;
  --mono:"IBM Plex Mono",monospace;
  --shell:min(1240px,calc(100vw - 56px));
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:var(--body);background:var(--paper);color:var(--ink);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
::selection{background:var(--crimson);color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:16px;top:16px;z-index:9999;background:#fff;color:#000;padding:10px 14px;transform:translateY(-200%);transition:transform .2s}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #74a9ff;outline-offset:4px}

.page-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.06);z-index:1000}
.page-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--garnet),#fff,var(--blue));box-shadow:0 0 18px rgba(211,38,76,.8)}

.site-header{position:fixed;inset:3px 0 auto 0;height:86px;z-index:900;display:grid;grid-template-columns:minmax(210px,300px) 1fr auto;align-items:center;gap:30px;padding:0 max(28px,calc((100vw - 1440px)/2));color:#fff;border-bottom:1px solid rgba(255,255,255,.11);transition:background .35s,backdrop-filter .35s,height .35s}
.site-header.is-scrolled{height:70px;background:rgba(5,10,18,.9);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{display:block;object-fit:contain;filter:none;opacity:1}.brand-nav-logo{width:270px;max-width:min(28vw,270px);height:auto}
.desktop-nav{justify-self:center;display:flex;align-items:center;gap:22px;font:600 13px/1 var(--mono);letter-spacing:.03em;text-transform:uppercase}
.desktop-nav a{position:relative;padding:12px 0;color:rgba(255,255,255,.75)}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:#fff;transition:right .25s var(--ease)}
.desktop-nav a:hover{color:#fff}.desktop-nav a:hover::after{right:0}
.header-cta{font:700 13px/1 var(--mono);text-transform:uppercase;border-left:1px solid rgba(255,255,255,.25);padding:12px 0 12px 24px;white-space:nowrap}
.header-cta span{color:var(--crimson);padding-left:8px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}
.menu-toggle span{position:absolute;width:26px;height:2px;background:#fff;left:8px;transition:.3s}.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:25px}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)}
.mobile-nav{display:none}

.bulldog-runline{position:fixed;right:17px;top:120px;bottom:42px;z-index:650;width:28px;display:flex;flex-direction:column;align-items:center;gap:9px;color:#fff;mix-blend-mode:difference;pointer-events:none}
.runline-copy{font:600 8px/1 var(--mono);letter-spacing:.04em;writing-mode:vertical-rl}
.runline-track{position:relative;width:2px;flex:1;background:rgba(255,255,255,.25)}
.runline-track span{position:absolute;left:0;top:0;width:100%;height:0;background:#fff}
.runline-track i{font-style:normal;position:absolute;left:50%;top:0;transform:translate(-50%,-50%);font-size:12px;text-shadow:0 0 12px #fff}

.section-shell{width:var(--shell);margin:0 auto}.section-shell--wide{width:min(1400px,calc(100vw - 56px))}
.eyebrow{font:600 12px/1.25 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62);margin:0 0 22px}.eyebrow--dark{color:var(--garnet)}
.section-heading{max-width:760px}.section-heading h2,.schedule-head h2,.gameday-copy h2{font:800 clamp(56px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.section-heading h2 em,.schedule-head h2 em,.gameday-copy h2 em{font-style:normal;color:var(--garnet)}
.section-lede{max-width:570px;font-size:18px;line-height:1.6;color:#515a64;margin:36px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;font:700 13px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;transition:transform .25s var(--ease),background .25s,color .25s}.btn:hover{transform:translateY(-2px)}.btn--light{background:#fff;color:var(--ink)}.btn--light:hover{background:var(--crimson);color:#fff}.btn--red{background:var(--crimson);color:#fff}.btn--red:hover{background:#fff;color:var(--ink)}
.text-link{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#fff;border-bottom:1px solid rgba(255,255,255,.28);padding:12px 0}.text-link span{margin-left:10px}.text-link--light{color:#fff}

.hero{position:relative;min-height:100svh;background:radial-gradient(circle at 54% 44%,#173b69 0,#071b36 34%,#050a12 72%);color:#fff;display:grid;place-items:center;overflow:hidden;padding:130px 24px 75px}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hero-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.36)),radial-gradient(circle at 50% 100%,transparent 0,rgba(0,0,0,.42) 70%)}
.hero-grid{position:absolute;inset:50% -10% -25%;transform:perspective(500px) rotateX(63deg);transform-origin:center top;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent)}
.hero-beam{position:absolute;width:19vw;height:115vh;top:-20vh;filter:blur(18px);opacity:.22;transform:rotate(24deg)}.hero-beam--red{background:linear-gradient(180deg,transparent,var(--crimson),transparent);left:10%}.hero-beam--blue{background:linear-gradient(180deg,transparent,#2a70ce,transparent);right:5%;transform:rotate(-27deg)}
.hero-years{position:absolute;left:2vw;right:2vw;top:50%;transform:translateY(-52%);display:flex;justify-content:space-between;font:900 clamp(140px,27vw,500px)/.7 var(--display);letter-spacing:-.08em;color:rgba(255,255,255,.028);white-space:nowrap}.hero-years span:last-child{color:rgba(211,38,76,.055)}
.hero-copy{position:relative;z-index:4;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(920px,90vw)}
.hero-copy .eyebrow{margin-bottom:20px}.hero-logo-frame{display:flex;justify-content:center;align-items:center;width:100%}.hero-logo{width:min(760px,82vw);filter:drop-shadow(0 22px 38px rgba(0,0,0,.45));transform:translateZ(0)}
.hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;font:600 clamp(11px,1.2vw,14px)/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.83);margin-top:26px}.meta-paw{color:var(--crimson);font-size:9px}
.hero-kicker{font:800 clamp(24px,3vw,44px)/1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:22px 0 0}.hero-hashtag{font:600 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68);margin:10px 0 0}.hero-hashtag span{color:var(--crimson);padding:0 7px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.hero-stripe{position:absolute;left:-5vw;bottom:-1px;width:50vw;height:18px;display:grid;grid-template-columns:1.3fr .28fr 1fr;transform:skewX(-24deg);transform-origin:left bottom;z-index:4}.hero-stripe span:nth-child(1){background:var(--garnet)}.hero-stripe span:nth-child(2){background:var(--silver)}.hero-stripe span:nth-child(3){background:var(--blue)}
.hero-scroll{position:absolute;right:42px;bottom:35px;z-index:5;display:flex;align-items:center;gap:12px;font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);writing-mode:vertical-rl}.hero-scroll i{display:block;width:1px;height:46px;background:rgba(255,255,255,.35);position:relative}.hero-scroll i::after{content:"";position:absolute;top:0;left:-1px;width:3px;height:12px;background:#fff;animation:scrollHint 2s infinite var(--ease)}
@keyframes scrollHint{0%{transform:translateY(0);opacity:0}25%{opacity:1}80%{opacity:1}100%{transform:translateY(34px);opacity:0}}

.week{background:var(--paper);padding:140px 0 120px;position:relative;overflow:hidden}.week::before{content:"BULLDOG";position:absolute;right:-3vw;top:20px;font:900 clamp(160px,28vw,450px)/1 var(--display);letter-spacing:-.07em;color:rgba(6,43,90,.035);pointer-events:none}.week-days{position:relative;margin-top:80px;border-top:1px solid #c8c8c4;display:grid;grid-template-columns:repeat(8,1fr)}
.week-day{position:relative;min-height:205px;border-right:1px solid #c8c8c4;padding:20px 14px 22px;transition:background .25s,color .25s;cursor:pointer}.week-day:first-child{border-left:1px solid #c8c8c4}.week-day:hover,.week-day.is-active{background:var(--midnight);color:#fff}.week-day .weekday{font:800 13px/1 var(--display);letter-spacing:.07em;text-transform:uppercase}.week-day .date{font:900 clamp(44px,5vw,72px)/.9 var(--display);letter-spacing:-.04em;margin:18px 0 6px}.week-day .count{font:500 9px/1.3 var(--mono);text-transform:uppercase;color:#777}.week-day:hover .count,.week-day.is-active .count{color:rgba(255,255,255,.58)}.week-day .day-arrow{position:absolute;right:14px;bottom:17px;font-size:18px;color:var(--garnet)}

.featured{position:relative;background:#07101f;color:#fff;padding:115px 0 150px;overflow:hidden}.featured::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(11,67,137,.35),transparent 38%),radial-gradient(circle at 12% 72%,rgba(159,24,56,.23),transparent 42%);pointer-events:none}.featured-marquee{position:absolute;top:0;left:0;right:0;height:45px;border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden;white-space:nowrap;font:700 12px/45px var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.32)}.featured-marquee span{display:inline-block;min-width:200%;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.section-heading--light h2 em{color:#fff;-webkit-text-stroke:1px rgba(255,255,255,.35);color:transparent}.feature-grid{margin-top:80px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto auto;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.feature{position:relative;min-height:560px;background:#0b1422;overflow:hidden;isolation:isolate}.feature--wide{grid-column:span 2;min-height:500px;display:grid;grid-template-columns:1.12fr .88fr;align-items:stretch}.feature--tall{min-height:680px;display:flex;flex-direction:column}.feature-art{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:46px;min-width:0}.feature--wide .feature-art{height:500px;min-height:500px}.feature--tall .feature-art{height:405px;min-height:405px;flex:0 0 405px}.feature-art::before{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.10);transform:skewX(-8deg)}.feature-art img{position:relative;display:block;width:100%;height:100%;max-width:84%;max-height:84%;object-fit:contain;object-position:center;filter:drop-shadow(0 26px 32px rgba(0,0,0,.48));transition:transform .6s var(--ease)}.feature:hover .feature-art img{transform:scale(1.025) rotate(-.4deg)}
.feature-copy{position:relative;z-index:3;padding:55px}.feature-copy--top{padding-bottom:0}.feature-day{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 22px}.feature-subtitle{font:700 10px/1.2 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#91b7e8!important;margin:0 0 9px!important}.feature-event-title{font:700 16px/1.15 var(--display);letter-spacing:.025em;text-transform:uppercase;color:#fff!important;margin:0 0 16px!important;max-width:540px}.feature h3{font:800 clamp(44px,5vw,76px)/.9 var(--display);text-transform:uppercase;letter-spacing:-.03em;margin:0 0 22px}.feature-description{max-width:620px;margin:0 0 20px!important;color:rgba(255,255,255,.76)!important;font-size:15px!important;line-height:1.65!important}.feature-sponsor{font:600 10px/1.45 var(--mono)!important;letter-spacing:.035em;color:rgba(255,255,255,.82)!important;margin:0 0 10px!important}.feature-meta{margin:0;color:rgba(255,255,255,.64)!important;font-size:14px!important}.feature-copy>p:not(.feature-day):not(.feature-subtitle):not(.feature-event-title):not(.feature-description):not(.feature-sponsor):not(.feature-meta){color:rgba(255,255,255,.64);font-size:14px}.feature-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.feature-link{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:0 7px 0 17px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.035);color:#fff;cursor:pointer;font:700 10px/1 var(--mono);letter-spacing:.045em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.feature-link__label{white-space:nowrap}.feature-link__icon{display:grid;place-items:center;width:32px;height:32px;background:rgba(255,255,255,.09);color:#fff;font-size:15px;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.feature-link:hover{transform:translateY(-2px);border-color:#fff;background:#fff;color:var(--ink)}.feature-link:hover .feature-link__icon{background:var(--crimson);color:#fff;transform:translate(1px,-1px)}.feature-link:focus-visible{outline:2px solid #fff;outline-offset:3px}.promo-ticket{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:0 18px;background:var(--crimson);color:#fff;font:700 10px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--crimson);transition:transform .2s var(--ease),background .2s,color .2s}.promo-ticket:hover{transform:translateY(-2px);background:#fff;border-color:#fff;color:var(--ink)}.promo-ticket--compact{min-height:40px;padding:0 14px;font-size:9px;margin-top:16px}
.feature--coronation{background:linear-gradient(135deg,#0b1220 5%,#15101c 100%)}.feature--coronation .feature-art{order:2}.feature--fashion{background:linear-gradient(180deg,#120914,#080d17)}.feature--step{background:linear-gradient(180deg,#05162c,#090d15)}.feature--parade{background:linear-gradient(140deg,#08152a,#12131a)}.feature--parade .feature-art{background:radial-gradient(circle,rgba(159,24,56,.2),transparent 62%)}

.guests{position:relative;background:#e9e7e0;padding:135px 0 145px;overflow:hidden}.guests::before{content:"GUEST LIST";position:absolute;right:-1vw;top:24px;font:900 15vw/.75 var(--display);letter-spacing:-.05em;color:rgba(7,22,43,.035);pointer-events:none}.guests-head{position:relative;display:grid;grid-template-columns:1fr;gap:50px;align-items:end;margin-bottom:70px}.guests-head h2{font:800 clamp(56px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.guests-head h2 em{font-style:normal;color:var(--garnet)}.guests-head>p{font-size:16px;line-height:1.7;color:#5d6570;margin:0 0 6px}.guest-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c7c6c0;border:1px solid #c7c6c0}.guest-card{position:relative;display:block;background:#f7f6f2;min-width:0;overflow:hidden}.guest-card[href]:hover .guest-media img{transform:scale(1.035)}.guest-media{aspect-ratio:4/4.8;background:radial-gradient(circle at 50% 30%,#17335b,#07162b 72%);overflow:hidden;display:grid;place-items:center}.guest-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.guest-initials{font:900 clamp(90px,10vw,160px)/1 var(--display);color:rgba(255,255,255,.16);letter-spacing:-.06em}.guest-copy{padding:27px 28px 32px}.guest-role{display:block;font:600 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--garnet);margin-bottom:12px}.guest-copy h3{font:800 clamp(32px,3.5vw,49px)/.9 var(--display);letter-spacing:-.02em;text-transform:uppercase;margin:0}.guest-event{margin:12px 0 0;font:600 11px/1.4 var(--mono);text-transform:uppercase;color:#59616a}.guest-description{margin:13px 0 0;color:#666d74;font-size:13px;line-height:1.55}.guest-teaser{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;background:var(--midnight);color:#fff;padding:45px 55px}.guest-teaser__mark{font:300 150px/.7 var(--display);color:var(--crimson)}.guest-teaser__copy span{display:block;font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:14px}.guest-teaser__copy strong{display:block;max-width:800px;font:800 clamp(38px,4vw,62px)/.94 var(--display);text-transform:uppercase}.guest-teaser__copy p{max-width:660px;margin:17px 0 0;color:rgba(255,255,255,.6);font-size:13px;line-height:1.6}

.gameday{position:relative;background:#050b14;color:#fff;overflow:hidden;padding:135px 0}.gameday-field{position:absolute;inset:0;background:linear-gradient(90deg,rgba(159,24,56,.24),transparent 32%,transparent 68%,rgba(11,67,137,.30)),repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),rgba(255,255,255,.035) calc(10% - 1px),rgba(255,255,255,.035) 10%);opacity:.95}.gameday-field::after{content:"50";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:900 min(55vw,760px)/1 var(--display);color:rgba(255,255,255,.018)}.gameday-ribbons{position:absolute;left:-10vw;top:45px;width:45vw;height:20px;display:grid;grid-template-columns:2fr .3fr 1.1fr;transform:rotate(-8deg)}.gameday-ribbons i:nth-child(1){background:var(--garnet)}.gameday-ribbons i:nth-child(2){background:#fff}.gameday-ribbons i:nth-child(3){background:var(--blue)}
.gameday-layout{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.gameday-copy{padding-left:3vw;z-index:2}.gameday-copy h2 em{color:#fff;-webkit-text-stroke:1px rgba(255,255,255,.45);color:transparent}.gameday-copy>p:not(.eyebrow){font-size:15px;color:rgba(255,255,255,.62);margin:24px 0}.scoreline{display:flex;align-items:center;gap:14px;font:800 20px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;margin:30px 0}.scoreline b{font:600 10px/1 var(--mono);color:var(--crimson)}.gameday-actions{display:flex;align-items:center;gap:25px}.gameday-art{position:relative;z-index:2}.gameday-art img{width:min(790px,100%);margin:auto;filter:drop-shadow(0 35px 38px rgba(0,0,0,.62))}

.schedule-section{background:#fff;padding:145px 0 155px}.schedule-head{display:grid;grid-template-columns:1fr minmax(300px,520px);align-items:end;gap:50px;margin-bottom:72px}.schedule-head h2 em{color:var(--garnet)}.schedule-head>p{font-size:16px;line-height:1.7;color:#626b74;margin:0 0 6px;max-width:500px}
.schedule-app{position:relative;border-top:2px solid var(--ink);min-height:320px}.schedule-status{padding:38px 0;color:#6c747b;font:500 13px/1.4 var(--mono);text-transform:uppercase}.schedule-toolbar{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid #d8d9d6}.schedule-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{border:1px solid #cfd2d3;background:#fff;padding:9px 12px;font:600 10px/1 var(--mono);text-transform:uppercase;cursor:pointer}.filter-btn:hover,.filter-btn.is-active{background:var(--midnight);border-color:var(--midnight);color:#fff}.schedule-search{width:min(340px,36vw);border:0;border-bottom:1px solid #aeb2b6;background:transparent;padding:11px 34px 11px 2px;font-size:14px;outline:none}.schedule-search:focus{border-color:var(--garnet)}.schedule-search-wrap{position:relative}.schedule-search-icon{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--garnet);pointer-events:none}
.schedule-days{display:grid;grid-template-columns:repeat(8,1fr);border-bottom:1px solid #cfd2d3}.schedule-day{appearance:none;border:0;border-right:1px solid #d8d9d6;background:#fff;padding:20px 9px 18px;text-align:left;cursor:pointer}.schedule-day:first-child{border-left:1px solid #d8d9d6}.schedule-day small{display:block;font:600 9px/1 var(--mono);text-transform:uppercase;color:#777}.schedule-day strong{display:block;font:800 32px/.9 var(--display);margin-top:8px}.schedule-day.is-active{background:var(--garnet);color:#fff}.schedule-day.is-active small{color:rgba(255,255,255,.72)}
.schedule-results{border-bottom:1px solid #d8d9d6}.event-row{display:grid;grid-template-columns:135px minmax(0,1fr) auto;gap:28px;align-items:start;padding:30px 12px;border-top:1px solid #e1e2df;transition:background .2s}.event-row:first-child{border-top:0}.event-row:hover{background:#f7f6f2}.event-time{font:800 23px/1 var(--display);text-transform:uppercase}.event-time small{display:block;margin-top:7px;font:500 9px/1.35 var(--mono);color:#747b80}.event-content{display:flex;align-items:flex-start;gap:24px;min-width:0}.event-logo{flex:0 0 96px;width:96px;min-height:78px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0}.event-logo img{width:100%;height:78px;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(5,10,18,.15))}.event-main{min-width:0;flex:1}.event-subtitle{margin:0 0 6px;font:700 9px/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--garnet)}.event-title{font:700 26px/1.05 var(--display);text-transform:uppercase;letter-spacing:-.01em;margin:0}.event-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:#697078;font-size:12px}.event-meta span+span::before{content:"•";color:var(--garnet);margin-right:12px}.event-sponsor{margin:9px 0 0;font:600 10px/1.45 var(--mono);letter-spacing:.015em;color:#4f5961}.event-description{max-width:760px;color:#616971;font-size:13px;line-height:1.55;margin:12px 0 0}.event-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.event-badge{font:600 9px/1 var(--mono);text-transform:uppercase;border:1px solid #d6d7d4;padding:5px 7px}.event-badge--invite{border-color:var(--garnet);color:var(--garnet)}.event-action{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;min-height:50px;min-width:142px;background:var(--garnet);color:#fff;border:1px solid var(--garnet);font:700 11px/1 var(--mono);letter-spacing:.035em;text-transform:uppercase;padding:0 18px;transition:transform .2s var(--ease),background .2s,color .2s}.event-action:hover{transform:translateY(-2px);background:var(--midnight);border-color:var(--midnight);color:#fff}.event-action span{font-size:14px}.event-empty{padding:55px 10px;color:#66707a;font-size:14px}
.schedule-search-panel{position:absolute;left:0;right:0;z-index:40;background:#fff;border:1px solid #d3d5d6;border-top:3px solid var(--garnet);box-shadow:0 28px 70px rgba(5,10,18,.22);max-height:min(68vh,720px);overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}.schedule-search-panel.is-open{opacity:1;visibility:visible;transform:none}.search-panel-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #d8d9d6}.search-panel-copy span{display:block;font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--garnet);margin-bottom:7px}.search-panel-copy strong{font:800 26px/1 var(--display);text-transform:uppercase}.search-clear{border:1px solid #cfd2d3;background:#fff;padding:10px 13px;font:700 9px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.search-clear:hover{background:var(--midnight);border-color:var(--midnight);color:#fff}.search-group{border-bottom:1px solid #d8d9d6}.search-group:last-child{border-bottom:0}.search-date{display:flex;align-items:baseline;gap:10px;padding:18px 24px 12px;background:#f5f4f0;border-bottom:1px solid #e0e1df}.search-date strong{font:800 28px/.9 var(--display);text-transform:uppercase}.search-date span{font:600 10px/1 var(--mono);text-transform:uppercase;color:var(--garnet)}.search-result{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid #ececea}.search-result:last-child{border-bottom:0}.search-result:hover{background:#fbfaf7}.search-result-logo{width:72px;height:64px;display:flex;align-items:center;justify-content:center}.search-result-logo img{max-width:72px;max-height:62px;object-fit:contain;filter:drop-shadow(0 6px 7px rgba(5,10,18,.14))}.search-result-logo--empty{font:800 21px/1 var(--display);color:#92989e}.search-result-subtitle{margin:0 0 5px;font:700 8px/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--garnet)}.search-result-main h3{font:800 24px/.98 var(--display);text-transform:uppercase;margin:0}.search-result-meta{margin:7px 0 0;color:#687078;font-size:12px;line-height:1.45}.search-result-sponsor{margin:6px 0 0;color:#4f5961;font:600 9px/1.4 var(--mono)}.search-result-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.search-view-day{border:1px solid #cfd2d3;background:#fff;min-height:42px;padding:0 13px;font:700 9px/1 var(--mono);text-transform:uppercase;cursor:pointer}.search-view-day:hover{border-color:var(--midnight);background:var(--midnight);color:#fff}.search-result .event-action{min-height:42px;min-width:118px;padding:0 14px;font-size:9px}.search-no-results{padding:42px 24px}.search-no-results strong{display:block;font:800 34px/1 var(--display);text-transform:uppercase}.search-no-results p{margin:9px 0 0;color:#697078;font-size:13px}.schedule-app.is-searching .schedule-days,.schedule-app.is-searching .schedule-results{pointer-events:none;filter:blur(1px);opacity:.36}

.tickets{position:relative;background:#07162b;color:#fff;padding:135px 0 145px;overflow:hidden}.tickets::after{content:"ADMIT ONE";position:absolute;left:-2vw;bottom:-3vw;font:900 20vw/.75 var(--display);letter-spacing:-.05em;color:rgba(255,255,255,.025);pointer-events:none}.tickets-head{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(300px,500px);align-items:end;gap:50px;margin-bottom:70px}.tickets-head h2{font:800 clamp(56px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.tickets-head h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}.tickets-head>p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.58);margin:0 0 6px}.ticket-hub{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15)}.ticket-card{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);grid-template-rows:1fr auto;gap:22px 28px;min-height:250px;background:#0a1c37;padding:28px;overflow:hidden}.ticket-card::before,.ticket-card::after{content:"";position:absolute;right:-9px;width:18px;height:18px;border-radius:50%;background:#07162b}.ticket-card::before{top:27%}.ticket-card::after{bottom:27%}.ticket-visual{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:176px;border-right:1px dashed rgba(255,255,255,.25);padding-right:28px}.ticket-logo{width:105px;height:115px;display:flex;align-items:center;justify-content:center}.ticket-logo img{max-width:100%;max-height:112px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.45))}.ticket-date__month{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--crimson)}.ticket-date__day{font:900 82px/.82 var(--display);margin-top:8px}.ticket-copy{align-self:start;min-width:0}.ticket-type{display:block;font:600 9px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8fb2df;margin-bottom:12px}.ticket-copy h3{font:800 clamp(27px,2.6vw,40px)/.92 var(--display);text-transform:uppercase;margin:0;letter-spacing:-.015em}.ticket-meta{margin:13px 0 0;color:rgba(255,255,255,.58);font-size:12px;line-height:1.5}.ticket-price{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:12px 0 0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.5}.ticket-action{grid-column:2;justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 20px;background:var(--crimson);border:1px solid var(--crimson);color:#fff;font:700 11px/1 var(--mono);letter-spacing:.035em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s,color .2s}.ticket-action:hover{transform:translateY(-2px);background:#fff;color:var(--ink);border-color:#fff}.ticket-empty{grid-column:1/-1;min-height:230px;background:#0a1c37;padding:46px;display:flex;flex-direction:column;justify-content:center}.ticket-empty__kicker{font:600 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#8fb2df;margin-bottom:15px}.ticket-empty strong{max-width:900px;font:800 clamp(34px,4vw,58px)/.94 var(--display);text-transform:uppercase}

.spotlight-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--midnight);color:#fff}.spotlight{min-height:330px;position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;border-right:1px solid rgba(255,255,255,.13);padding:28px}.spotlight img{width:100%;max-height:270px;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(0,0,0,.45));transition:transform .5s var(--ease)}.spotlight:hover img{transform:scale(1.06)}.spotlight-copy{position:relative;z-index:2}.spotlight-actions{display:flex;align-items:center;gap:8px}.spotlight span{display:block;font:600 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:10px}.spotlight strong{font:800 31px/.95 var(--display);text-transform:uppercase}.spotlight:nth-child(2){background:#0e1730}.spotlight:nth-child(3){background:#130d18}

.plan{padding:145px 0 120px;background:var(--paper);position:relative;overflow:hidden}.plan::after{content:"SC STATE";position:absolute;right:-2vw;bottom:-3vw;font:900 24vw/.7 var(--display);letter-spacing:-.06em;color:rgba(159,24,56,.04);pointer-events:none}.plan-grid{position:relative;z-index:2;margin-top:70px;border-top:1px solid #bfc2c1}.plan-link{display:grid;grid-template-columns:80px 1fr auto;gap:22px;align-items:center;border-bottom:1px solid #bfc2c1;padding:26px 8px;transition:padding .25s var(--ease),background .25s}.plan-link:hover{background:#fff;padding-left:20px;padding-right:20px}.plan-link>span{font:600 10px/1 var(--mono);color:var(--garnet)}.plan-link strong{display:block;font:800 32px/1 var(--display);text-transform:uppercase}.plan-link p{margin:6px 0 0;color:#687078;font-size:13px}.plan-link>b{font-size:22px;color:var(--garnet)}

.site-footer{background:#050a12;color:#fff;min-height:210px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:35px;padding:35px max(28px,calc((100vw - 1400px)/2));border-top:1px solid rgba(255,255,255,.12)}.footer-mark img{width:108px}.footer-copy{display:flex;flex-direction:column;gap:6px}.footer-copy strong{font:800 28px/1 var(--display);text-transform:uppercase}.footer-copy span,.footer-note{font:500 10px/1.5 var(--mono);text-transform:uppercase;color:rgba(255,255,255,.54)}.footer-note{text-align:right}

.reveal-block{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal-block.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  :root{--shell:min(100% - 40px,960px)}
  .section-shell--wide{width:calc(100vw - 40px)}
  .desktop-nav{display:none}.header-cta{justify-self:end}.menu-toggle{display:block}.site-header{grid-template-columns:1fr auto auto;padding:0 20px}.brand{gap:9px}.brand-nav-logo{width:238px;max-width:52vw}
  .mobile-nav{display:flex;position:fixed;z-index:850;inset:73px 0 0 0;background:rgba(5,10,18,.98);flex-direction:column;align-items:flex-start;padding:22px 24px calc(32px + env(safe-area-inset-bottom));transform:translateY(-110%);transition:transform .35s var(--ease);border-top:1px solid rgba(255,255,255,.12);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.mobile-nav.is-open{transform:none}.mobile-nav a{color:#fff;font:700 28px/1.1 var(--display);text-transform:uppercase;padding:10px 0;flex:0 0 auto}.menu-open{overflow:hidden;touch-action:none}
  .week-days{grid-template-columns:repeat(4,1fr)}.week-day{border-bottom:1px solid #c8c8c4}
  .feature--wide{grid-template-columns:1fr 1fr}.feature{min-height:520px}.feature--wide .feature-art{height:520px;min-height:520px}.feature--tall{min-height:620px}.feature--tall .feature-art{height:360px;min-height:360px;flex-basis:360px}.feature-art{padding:34px}.feature-art img{max-width:86%;max-height:86%}.feature-copy{padding:38px}
  .guests-head,.tickets-head{grid-template-columns:1fr}.guest-grid{grid-template-columns:repeat(2,1fr)}.ticket-hub{grid-template-columns:1fr}
  .gameday-layout{grid-template-columns:1fr}.gameday-copy{padding-left:0;max-width:720px}.gameday-art{margin-top:-20px}
  .spotlight{grid-template-columns:1fr;min-height:400px;text-align:center}.spotlight img{margin:auto}.schedule-days{overflow:auto;display:flex}.schedule-day{min-width:118px}.schedule-head{grid-template-columns:1fr}.schedule-head>p{max-width:620px}
}

@media(max-width:760px){
  :root{--shell:calc(100vw - 30px)}
  .section-shell--wide{width:calc(100vw - 30px)}
  .bulldog-runline,.hero-scroll{display:none}.site-header{height:68px;grid-template-columns:1fr auto}.header-cta{display:none}.brand{gap:7px}.brand-nav-logo{width:188px;max-width:56vw}.site-header.is-scrolled{height:62px}.mobile-nav{top:65px;bottom:0}
  .hero{padding:110px 18px 60px;min-height:100svh}.hero-copy{width:100%}.hero-logo{width:min(94vw,650px)}.hero-meta{max-width:350px;gap:7px}.hero-meta .meta-paw{display:none}.hero-meta span{width:100%}.hero-kicker{margin-top:17px}.hero-actions{flex-direction:column;gap:12px;margin-top:24px}.hero-stripe{width:85vw;height:11px}.hero-years{top:48%;font-size:50vw}.hero-beam{width:36vw;opacity:.16}
  .week{padding:92px 0 85px}.section-heading h2,.schedule-head h2,.gameday-copy h2{font-size:clamp(54px,17vw,86px)}.section-lede{font-size:15px;margin-top:25px}.week-days{margin-top:45px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-bottom:1px solid #c8c8c4}.week-day{min-width:128px;min-height:170px;scroll-snap-align:start}.week-day .date{font-size:54px}
  .featured{padding:90px 0 95px}.featured-marquee{height:38px;line-height:38px}.feature-grid{display:block;margin-top:50px;background:none;border:0}.feature{margin-bottom:1px;min-height:0!important;display:flex!important;flex-direction:column!important}.feature--wide .feature-art,.feature--tall .feature-art,.feature-art{height:360px;min-height:360px;flex:0 0 360px;padding:24px}.feature-art img{width:100%;height:100%;max-width:88%;max-height:88%;object-fit:contain}.feature-copy{padding:30px}.feature--coronation .feature-art{order:0}.feature--parade .feature-art{order:0}.feature h3{font-size:52px}.feature-event-title{font-size:15px}.feature-subtitle{font-size:9px}.feature-sponsor{font-size:9px!important}.feature-description{font-size:14px!important;line-height:1.6!important}.feature--step .feature-copy--top{padding-bottom:10px}
  .gameday{padding:92px 0}.gameday-copy .eyebrow{max-width:280px}.gameday-actions{align-items:flex-start;flex-direction:column;gap:12px}.scoreline{font-size:16px;flex-wrap:wrap}.gameday-art{margin-top:18px}.gameday-ribbons{width:75vw}
  .schedule-section{padding:92px 0}.schedule-head{margin-bottom:45px}.schedule-toolbar{grid-template-columns:1fr}.schedule-search-wrap,.schedule-search{width:100%}.schedule-days{margin-left:-15px;margin-right:-15px;padding-left:15px}.event-row{grid-template-columns:92px 1fr;gap:18px;padding:24px 2px}.event-content{gap:14px}.event-logo{flex-basis:72px;width:72px;min-height:62px}.event-logo img{height:62px}.event-action{grid-column:2;justify-self:start;min-width:150px;min-height:48px}.event-time{font-size:20px}.event-subtitle{font-size:8px}.event-title{font-size:23px}.event-sponsor{font-size:9px}.event-description{font-size:12px}.event-meta{display:block}.event-meta span{display:block;margin-top:4px}.event-meta span+span::before{display:none}
  .schedule-search-panel{max-height:72vh}.search-panel-head{padding:17px 16px}.search-panel-copy strong{font-size:22px}.search-date{padding:15px 16px 10px}.search-result{grid-template-columns:64px 1fr;gap:12px;padding:16px}.search-result-logo{width:58px;height:56px}.search-result-logo img{max-width:58px;max-height:54px}.search-result-actions{grid-column:2;justify-content:flex-start}.search-result-main h3{font-size:21px}.search-result .event-action,.search-view-day{min-height:40px}
  .guests{padding:90px 0}.guests-head{margin-bottom:45px}.guests-head h2,.tickets-head h2{font-size:clamp(54px,17vw,86px)}.guest-grid{grid-template-columns:1fr}.guest-teaser{grid-template-columns:70px 1fr;padding:30px 24px;gap:20px}.guest-teaser__mark{font-size:88px}.guest-teaser__copy strong{font-size:35px}.tickets{padding:90px 0}.tickets-head{margin-bottom:45px}.ticket-card{grid-template-columns:88px 1fr;gap:18px;padding:22px;min-height:220px}.ticket-visual{padding-right:18px;min-height:150px}.ticket-logo{width:74px;height:90px}.ticket-logo img{max-height:88px}.ticket-date__day{font-size:62px}.ticket-action{grid-column:2;min-height:48px;padding:0 16px}.spotlight-strip{grid-template-columns:1fr}.spotlight{min-height:330px;grid-template-columns:1fr 1fr;text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.spotlight img{max-height:230px}.spotlight strong{font-size:28px}
  .plan{padding:90px 0}.plan-grid{margin-top:45px}.plan-link{grid-template-columns:38px 1fr auto;gap:12px;padding:20px 0}.plan-link:hover{padding-left:8px;padding-right:8px}.plan-link strong{font-size:26px}.plan-link p{font-size:12px}
  .site-footer{grid-template-columns:90px 1fr;padding:30px 20px;min-height:180px}.footer-mark img{width:75px}.footer-note{display:none}.footer-copy strong{font-size:23px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal-block{opacity:1;transform:none}.featured-marquee span{animation:none}}

/* Concept 01.3 — hero identity + walking Bulldog paw trail */
.hero-paws{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;isolation:isolate}
.paw-tracks{position:absolute;inset:0}
.paw-print{position:absolute;width:clamp(46px,5.2vw,82px);height:auto;opacity:0;transform:translate3d(0,12px,0) scale(.94) rotate(var(--rot,0deg));transform-origin:center;filter:drop-shadow(0 0 12px rgba(255,255,255,.16));mix-blend-mode:screen;transition:opacity .42s ease,transform .48s var(--ease);will-change:transform,opacity}
.paw-print.show{opacity:.24;transform:translate3d(0,0,0) scale(1) rotate(var(--rot,0deg))}
.paw-print.fade{opacity:0;transition:opacity var(--fade,7.5s) ease-out,transform .48s var(--ease)}
.paw-print.left{--rot:-13deg}.paw-print.right{--rot:11deg}.paw-print.accent{opacity:0;filter:sepia(1) saturate(5) hue-rotate(300deg) brightness(1.25) drop-shadow(0 0 15px rgba(211,38,76,.22))}.paw-print.accent.show{opacity:.18}
.hero-logo{width:min(880px,86vw);max-height:min(58vh,540px);object-fit:contain}

@media(max-width:760px){
  .paw-print{width:clamp(40px,12vw,62px);mix-blend-mode:screen}.paw-print.show{opacity:.2}.paw-print.accent.show{opacity:.14}
  .hero-logo{width:min(96vw,650px);max-height:42vh}
}

@media(prefers-reduced-motion:reduce){
  .paw-print{transition:none!important;will-change:auto}.paw-print.show{opacity:.12}
}

/* Concept 01.4 refinements */
.schedule-head,.tickets-head{grid-template-columns:1fr}

.feature-art-fallback{position:relative;z-index:2;display:flex;min-height:260px;width:100%;max-width:620px;flex-direction:column;justify-content:flex-end;padding:34px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(159,24,56,.24),rgba(7,22,43,.15));text-transform:uppercase}
.feature-art-fallback span{font:600 10px/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:18px}
.feature-art-fallback strong{font:800 clamp(32px,4vw,62px)/.9 var(--display);letter-spacing:-.025em}
@media(max-width:760px){.feature-art-fallback{min-height:230px;padding:26px}.feature-art-fallback strong{font-size:clamp(30px,10vw,48px)}}


/* Concept 01.7 — dynamic event-logo rail + guest ticket CTAs */
.event-logo-carousel{position:relative;width:100vw;margin:22px calc(50% - 50vw) 70px;padding:28px 0;overflow:hidden}
.event-logo-carousel::before,.event-logo-carousel::after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:90px;pointer-events:none}
.event-logo-carousel::before{left:0;background:linear-gradient(90deg,#07101f,transparent)}
.event-logo-carousel::after{right:0;background:linear-gradient(270deg,#07101f,transparent)}
.event-logo-carousel__viewport{overflow:hidden}
.event-logo-carousel__track{display:flex;width:max-content;align-items:center;gap:44px;animation:eventLogoRail 48s linear infinite;will-change:transform}
.event-logo-carousel:hover .event-logo-carousel__track,.event-logo-carousel:focus-within .event-logo-carousel__track{animation-play-state:paused}
.event-logo-carousel__item{appearance:none;display:flex;align-items:center;justify-content:center;flex:0 0 230px;height:164px;padding:10px 20px;border:0;background:transparent;cursor:pointer;opacity:.86;transition:opacity .2s var(--ease),transform .2s var(--ease)}
.event-logo-carousel__item:hover,.event-logo-carousel__item:focus-visible{opacity:1;transform:translateY(-3px);outline:1px solid rgba(255,255,255,.35);outline-offset:3px}
.event-logo-carousel__item img{display:block;max-width:100%;max-height:144px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.36))}
@keyframes eventLogoRail{to{transform:translateX(-50%)}}

.guest-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.guest-profile,.guest-ticket{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 16px;font:700 10px/1 var(--mono);letter-spacing:.035em;text-transform:uppercase;text-decoration:none;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.guest-profile{border:1px solid #b6bac0;color:#182437;background:transparent}
.guest-profile:hover{transform:translateY(-2px);border-color:#182437}
.guest-ticket{background:var(--crimson);border:1px solid var(--crimson);color:#fff}
.guest-ticket:hover{transform:translateY(-2px);background:#07162b;border-color:#07162b;color:#fff}

@media(max-width:760px){
  .event-logo-carousel{width:100vw;margin:10px calc(50% - 50vw) 48px;padding:20px 0}
  .event-logo-carousel::before,.event-logo-carousel::after{width:42px}
  .event-logo-carousel__track{gap:24px;animation-duration:38s}
  .event-logo-carousel__item{flex-basis:164px;height:120px;padding:8px 12px}
  .event-logo-carousel__item img{max-height:104px}
  .guest-actions{margin-top:18px}
  .guest-profile,.guest-ticket{min-height:44px;padding:0 14px}
}
@media(prefers-reduced-motion:reduce){
  .event-logo-carousel__viewport{overflow-x:auto;scrollbar-width:thin}
  .event-logo-carousel__track{animation:none}
  .event-logo-carousel__track .event-logo-carousel__item[aria-hidden="true"]{display:none}
}

/* Concept 01.12 — live countdowns + Coronation / Step Show major breakouts */
.event-countdown{position:relative;z-index:5;width:min(680px,100%)}
.countdown-head{display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.countdown-kicker{font:700 9px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.countdown-event{font:700 11px/1.25 var(--mono);letter-spacing:.025em;text-transform:uppercase;color:#fff}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));border:1px solid rgba(255,255,255,.18);background:rgba(4,11,20,.32);backdrop-filter:blur(9px)}
.countdown-grid>div{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;padding:10px 12px}
.countdown-grid>div+div{border-left:1px solid rgba(255,255,255,.14)}
.countdown-grid strong{font:800 clamp(28px,3vw,43px)/.86 var(--display);letter-spacing:-.025em;color:#fff;font-variant-numeric:tabular-nums}
.countdown-grid span{margin-top:7px;font:600 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.event-countdown--hero{margin-top:24px;max-width:610px}
.event-countdown--hero .countdown-grid{box-shadow:0 20px 36px rgba(0,0,0,.16)}
.event-countdown.is-live .countdown-kicker{color:#fff}.event-countdown.is-live .countdown-grid{border-color:rgba(211,38,76,.65)}
.event-countdown--game{margin:28px 0 30px;max-width:580px}.event-countdown--game .countdown-head{justify-content:flex-start}.event-countdown--game .countdown-grid{background:rgba(255,255,255,.035)}

.major-event{position:relative;overflow:hidden;color:#fff;padding:128px 0;isolation:isolate}
.major-event--coronation{background:radial-gradient(circle at 24% 48%,rgba(159,24,56,.22),transparent 36%),linear-gradient(125deg,#120d17 0,#070e19 48%,#111827 100%)}
.major-event--step{background:radial-gradient(circle at 76% 45%,rgba(16,81,166,.24),transparent 36%),linear-gradient(130deg,#06152b,#060b13 64%,#120914)}
.major-event-glow{position:absolute;left:-12vw;top:12%;width:54vw;height:54vw;border-radius:50%;background:radial-gradient(circle,rgba(224,230,239,.11),transparent 66%);filter:blur(12px);pointer-events:none}
.major-event-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,transparent,#000 42%,#000 100%);pointer-events:none}
.major-event-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:center}
.major-event-layout--art-first{grid-template-columns:1.08fr .92fr}
.major-event-art{min-width:0;display:flex;align-items:center;justify-content:center;min-height:500px;padding:24px}
.major-event-art img{width:100%;height:100%;max-width:720px;max-height:500px;object-fit:contain;filter:drop-shadow(0 34px 42px rgba(0,0,0,.5));transform:translateZ(0)}
.major-event-art--step img{max-height:540px}
.major-event-copy{position:relative;max-width:650px}
.major-event-copy h2{font:800 clamp(68px,7.6vw,118px)/.8 var(--display);letter-spacing:-.04em;text-transform:uppercase;margin:0 0 23px}
.major-event-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.52)}
.major-event-copy h3{font:800 clamp(22px,2.3vw,34px)/1 var(--display);letter-spacing:.015em;text-transform:uppercase;margin:0 0 20px;color:#fff}
.major-event-subtitle{font:700 10px/1.25 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#9fc0eb;margin:0 0 13px}
.major-event-description{font-size:16px;line-height:1.7;color:rgba(255,255,255,.72);max-width:590px;margin:0 0 18px}
.major-event-sponsor{font:600 10px/1.5 var(--mono);letter-spacing:.04em;color:rgba(255,255,255,.8);margin:0 0 10px}
.major-event-meta{font:600 11px/1.5 var(--mono);letter-spacing:.035em;text-transform:uppercase;color:rgba(255,255,255,.58);margin:0}
.major-event-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.major-view{appearance:none;display:inline-flex;align-items:center;gap:16px;min-height:50px;padding:0 8px 0 18px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.035);color:#fff;cursor:pointer;font:700 10px/1 var(--mono);letter-spacing:.045em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.major-view b{display:grid;place-items:center;width:34px;height:34px;background:rgba(255,255,255,.08);font-size:15px;font-weight:500;transition:background .2s var(--ease),transform .2s var(--ease)}
.major-view:hover{transform:translateY(-2px);background:#fff;border-color:#fff;color:var(--ink)}.major-view:hover b{background:var(--crimson);color:#fff;transform:translate(1px,-1px)}

@media(max-width:1050px){
  .major-event{padding:100px 0}.major-event-layout,.major-event-layout--art-first{grid-template-columns:1fr;gap:25px}.major-event-layout--art-first .major-event-art{order:2}.major-event-art{min-height:380px}.major-event-art img{max-height:420px}.major-event-copy{max-width:760px}.major-event-grid{mask-image:none;opacity:.14}
}
@media(max-width:760px){
  .event-countdown--hero{margin-top:19px;width:100%}.countdown-head{gap:7px;margin-bottom:8px}.countdown-event{font-size:9px}.countdown-kicker{font-size:8px}.countdown-grid{grid-template-columns:repeat(4,1fr)}.countdown-grid>div{min-height:60px;padding:8px 3px}.countdown-grid strong{font-size:27px}.countdown-grid span{font-size:7px;letter-spacing:.08em}.hero-actions{margin-top:21px}
  .major-event{padding:88px 0}.major-event-art{min-height:300px;padding:4px}.major-event-art img,.major-event-art--step img{max-height:330px}.major-event-copy h2{font-size:clamp(58px,18vw,88px)}.major-event-copy h3{font-size:24px}.major-event-description{font-size:14px}.major-event-actions{align-items:flex-start;flex-direction:column}.major-view,.major-event-actions .promo-ticket{min-height:48px}
  .event-countdown--game{margin:24px 0 28px;width:100%}.event-countdown--game .countdown-head{justify-content:flex-start}.event-countdown--game .countdown-grid strong{font-size:26px}
}

.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn--ghost:hover{background:#fff;color:var(--ink)}
.btn--placeholder{opacity:.9}
.btn--placeholder[aria-disabled="true"]{cursor:default}
.section-lede--light{color:rgba(255,255,255,.72)}

.parade-detail{padding:130px 0;background:linear-gradient(180deg,#f4f0ea,#ebe7df 44%,#f6f3ee)}
.parade-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:start}
.parade-copy h2{font:800 clamp(58px,7vw,104px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0 0 18px}
.parade-copy h2 em{font-style:normal;color:var(--garnet)}
.parade-copy h3{font:800 clamp(22px,2.2vw,34px)/1 var(--display);text-transform:uppercase;margin:0 0 18px}
.parade-description{max-width:560px;font-size:16px;line-height:1.7;color:#4d5660;margin:0 0 16px}
.parade-meta{color:#6a7380}
.parade-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.parade-panel{background:#fff;border:1px solid #d8d7d2;box-shadow:0 28px 40px rgba(5,10,18,.08);padding:28px}
.parade-visual{display:flex;align-items:center;justify-content:center;min-height:280px;background:linear-gradient(140deg,#fbfaf8,#eef2f7)}
.parade-visual img{max-width:100%;max-height:250px;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.18))}
.parade-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.parade-info-card{background:linear-gradient(180deg,#0b1e39,#07162b);color:#fff;padding:18px;border-radius:18px;min-height:106px;display:flex;flex-direction:column;justify-content:space-between}
.parade-info-card span{font:600 10px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#9ab7dd}
.parade-info-card strong{font:800 32px/.92 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.parade-info-card--wide{grid-column:1/-1;background:linear-gradient(90deg,var(--garnet),#78122b)}
.parade-alert{margin-top:16px;padding:18px 20px;border:1px solid #ead4da;background:#fff5f7;border-radius:18px}
.parade-alert strong{display:block;font:800 22px/1 var(--display);text-transform:uppercase;color:var(--garnet);margin-bottom:8px}
.parade-alert p{margin:0;font-size:14px;line-height:1.6;color:#4b5560}

.gear{padding:128px 0;background:linear-gradient(135deg,#0d1930 0,#061223 58%,#10192f 100%);color:#fff;position:relative;overflow:hidden}
.gear::after{content:"2026";position:absolute;right:-1vw;bottom:-3vw;font:900 clamp(150px,22vw,360px)/.75 var(--display);color:rgba(255,255,255,.035)}
.gear-layout{display:grid;grid-template-columns:1fr .88fr;gap:46px;align-items:center;position:relative;z-index:1}
.gear-copy h2{font:800 clamp(60px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}
.gear-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.gear-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.gear-tags span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:999px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.gear-actions{margin-top:28px}
.gear-visual{display:flex;justify-content:center}
.gear-stack{position:relative;width:min(540px,100%);height:420px}
.gear-badge{position:absolute;left:26px;top:18px;z-index:3;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.gear-card{position:absolute;border-radius:28px;box-shadow:0 30px 44px rgba(0,0,0,.34)}
.gear-card::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.18)}
.gear-card--tee{left:30px;top:60px;width:235px;height:260px;background:linear-gradient(145deg,#f7f9fb,#cad2dc)}
.gear-card--tee::after{content:"SC STATE";position:absolute;left:24px;top:108px;font:900 44px/.86 var(--display);letter-spacing:-.03em;color:var(--garnet)}
.gear-card--hoodie{right:26px;top:40px;width:265px;height:300px;background:linear-gradient(145deg,#0d3a7a,#081f46)}
.gear-card--hoodie::after{content:"HOMECOMING";position:absolute;left:24px;top:134px;font:900 42px/.86 var(--display);letter-spacing:-.03em;color:#fff}
.gear-card--cap{left:160px;bottom:26px;width:220px;height:140px;background:linear-gradient(145deg,var(--garnet),#631126)}
.gear-card--cap::after{content:"#LHIA";position:absolute;left:36px;top:52px;font:700 28px/1 var(--display);letter-spacing:.08em;color:#fff}

.travel{padding:135px 0;background:var(--paper)}
.travel-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.travel-head h2{font:800 clamp(56px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.travel-head h2 em{font-style:normal;color:var(--garnet)}
.travel-toggle-group{display:flex;gap:14px;flex-wrap:wrap}
.travel-toggle{min-height:52px;padding:0 20px;border:1px solid #cdd3db;background:#fff;color:var(--ink);font:700 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.travel-toggle:hover,.travel-toggle.is-open{transform:translateY(-2px);background:var(--midnight);border-color:var(--midnight);color:#fff}
.travel-panel{margin-top:26px;background:#fff;border:1px solid #d9ddd9;padding:28px 30px}
.travel-panel__header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #e4e7eb;padding-bottom:16px;margin-bottom:20px}
.travel-panel__header strong{font:800 32px/1 var(--display);text-transform:uppercase}.travel-panel__header span{font-size:14px;color:#68717d}
.travel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.travel-card{display:flex;flex-direction:column;border:1px solid #dfe2e8;background:#fbfbfa;overflow:hidden}
.travel-card__hero{height:220px;background:linear-gradient(135deg,#11427a 0,#3f82d9 35%,#f2f1ed 100%);position:relative}
.travel-card__hero::after{content:"Awaiting partner photography";position:absolute;left:18px;bottom:18px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(5,10,18,.36);padding:8px 10px;border-radius:999px}
.dining-card .travel-card__hero{background:linear-gradient(135deg,#8d1833 0,#d63a62 35%,#f5eee8 100%)}
.travel-card__copy{padding:24px}
.travel-card__copy h3{font:800 32px/.92 var(--display);text-transform:uppercase;margin:0 0 12px}
.travel-card__copy p{margin:0;font-size:14px;line-height:1.65;color:#57616d}
.travel-link{display:inline-flex;align-items:center;margin-top:18px;min-height:46px;padding:0 18px;background:var(--midnight);color:#fff;font:700 11px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.travel-link--placeholder{background:#d8dde6;color:#5b6572}

.reunions{padding:130px 0;background:#fbfaf8}
.reunions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:70px}
.reunion-card{background:#fff;border:1px solid #d6dce6;padding:24px;min-height:336px;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 28px rgba(8,20,35,.06);position:relative;overflow:hidden}
.reunion-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,var(--blue) 0 68%,var(--garnet) 68% 100%)}
.reunion-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}
.reunion-mark{display:block;font:700 12px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--garnet)}
.reunion-year{display:block;font:900 clamp(56px,5vw,76px)/.88 var(--display);letter-spacing:-.06em;text-transform:uppercase;color:var(--blue)}
.reunion-classline{margin:0;font:700 11px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#7f8996}
.reunion-card h3{font:800 32px/.94 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin:2px 0 0;color:var(--ink)}
.reunion-card p{margin:0;font-size:14px;line-height:1.68;color:#5b6470;flex:1}
.reunion-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 16px;background:#eef2f7;border:1px solid #d6dce6;font:700 11px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#44505f}
.reunion-link--placeholder{background:#eef2f7}

.sponsors-section{padding:135px 0 120px;background:linear-gradient(135deg,#081423 0,#0c2749 42%,#071425 100%);color:#fff;position:relative;overflow:hidden}
.sponsors-section::before{content:"SPONSOR";position:absolute;right:-2vw;top:8px;font:900 clamp(150px,23vw,360px)/.82 var(--display);color:rgba(255,255,255,.035);letter-spacing:-.05em}
.sponsors-hero{position:relative;z-index:1;padding:10px 0 30px}
.sponsors-copy h2{font:800 clamp(58px,7vw,108px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.sponsors-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.sponsor-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.sponsor-tiers{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;margin-top:48px;position:relative;z-index:1}
.sponsor-tier{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.sponsor-tier--premier{grid-column:1/-1;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border-color:rgba(255,255,255,.28);box-shadow:0 20px 50px rgba(0,0,0,.18)}
.sponsor-tier--pride{grid-column:span 7}
.sponsor-tier--spirit{grid-column:span 5}
.sponsor-tier--lite{grid-column:1/-1;background:rgba(255,255,255,.035)}
.sponsor-tier__head{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.sponsor-tier--premier .sponsor-tier__head{padding:20px 24px;border-bottom-color:rgba(255,255,255,.18)}
.sponsor-tier__head span{font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9ab7dd}
.sponsor-tier--premier .sponsor-tier__head span{font-size:12px;letter-spacing:.16em;color:#fff}
.sponsor-tier__logos{min-height:150px;display:flex;align-items:center;justify-content:center;padding:24px}
.sponsor-tier--premier .sponsor-tier__logos{min-height:185px;padding:32px}
.sponsor-tier--lite .sponsor-tier__logos{min-height:128px}
.sponsor-tier__logos p{margin:0;color:rgba(255,255,255,.68);text-align:center;max-width:280px;font-size:14px;line-height:1.6}
.sponsor-tier--premier .sponsor-tier__logos p{max-width:520px;font-size:16px;color:rgba(255,255,255,.82)}

@media(max-width:1100px){
  .parade-layout,.gear-layout,.travel-head{grid-template-columns:1fr}
  .reunions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-tier--premier,.sponsor-tier--lite,.sponsor-tier--pride,.sponsor-tier--spirit{grid-column:auto}
}
@media(max-width:820px){
  .parade-detail,.gear,.travel,.reunions,.sponsors-section{padding:92px 0}
  .parade-info-grid{grid-template-columns:1fr}
  .parade-info-card--wide{grid-column:auto}
  .gear-stack{height:360px}
  .reunions-grid{gap:18px}
  .gear-card--tee{left:8px;width:190px;height:225px}.gear-card--hoodie{right:6px;width:220px;height:260px}.gear-card--cap{left:108px;width:186px;height:120px}
  .reunions-grid,.sponsor-tiers{grid-template-columns:1fr}.sponsor-tier--premier,.sponsor-tier--lite,.sponsor-tier--pride,.sponsor-tier--spirit{grid-column:auto}
  .travel-panel{padding:22px}
  .travel-panel__header{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .parade-copy h2,.gear-copy h2,.travel-head h2,.sponsors-copy h2{font-size:clamp(52px,16vw,82px)}
  .parade-panel{padding:18px}.parade-visual{min-height:220px}
  .gear-stack{height:300px}.gear-badge{left:8px;top:4px}
  .gear-card--tee{top:54px;width:152px;height:185px}.gear-card--tee::after{left:14px;top:76px;font-size:34px}
  .gear-card--hoodie{top:44px;width:175px;height:220px}.gear-card--hoodie::after{left:14px;top:98px;font-size:28px}
  .gear-card--cap{left:86px;bottom:10px;width:148px;height:92px}.gear-card--cap::after{left:22px;top:34px;font-size:22px}
  .travel-grid{grid-template-columns:1fr}
  .reunion-lockup{align-items:flex-start}
  .reunion-year{font-size:56px}
  .reunion-card h3{font-size:28px}
}


/* Concept 01.14 — directions links, calendar actions, and section polish */
.location-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(159,24,56,.38);transition:color .2s var(--ease),text-decoration-color .2s var(--ease)}
.location-link:hover{color:var(--garnet);text-decoration-color:currentColor}
.location-link--light{text-decoration-color:rgba(255,255,255,.35)}
.location-link--light:hover{color:#fff;text-decoration-color:var(--crimson)}

.event-row-actions{align-self:center;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:160px}
.event-row-actions .event-action{width:100%}
.calendar-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 15px;border:1px solid #c7ccd2;background:#fff;color:var(--midnight);cursor:pointer;font:700 9px/1 var(--mono);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.calendar-action:hover{transform:translateY(-2px);background:var(--midnight);border-color:var(--midnight);color:#fff}
.calendar-action__icon{font-size:16px;font-weight:400;line-height:1}
.calendar-action--compact{min-height:40px;padding:0 12px;font-size:8px}
.search-result-actions .calendar-action{flex:0 0 auto}

/* Light-section overrides for components originally designed on dark surfaces */
.parade-subtitle{color:var(--garnet)!important}
.parade-actions .major-view{border-color:#bfc5cc;background:#fff;color:var(--midnight)}
.parade-actions .major-view b{background:#eef1f4;color:var(--garnet)}
.parade-actions .major-view:hover{background:var(--midnight);border-color:var(--midnight);color:#fff}
.parade-actions .major-view:hover b{background:var(--crimson);color:#fff}
.parade-sponsor{color:#4f5961!important}
.parade-panel,.travel-panel,.reunion-card{min-width:0}
.travel-panel[hidden]{display:none!important}
.travel-toggle[aria-expanded="true"]{box-shadow:inset 0 -3px 0 var(--crimson)}
.sponsor-actions .btn{min-width:180px}

@media(max-width:760px){
  .event-row-actions{grid-column:2;justify-self:start;align-self:start;flex-direction:row;flex-wrap:wrap;min-width:0;width:100%}
  .event-row-actions .event-action,.event-row-actions .calendar-action{width:auto;min-width:148px;min-height:48px}
  .search-result-actions .calendar-action{min-height:40px;min-width:0}
}
@media(max-width:520px){
  .event-row-actions{flex-direction:column;align-items:stretch}
  .event-row-actions .event-action,.event-row-actions .calendar-action{width:100%}
  .travel-toggle-group{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .travel-toggle{padding:0 12px}
  .sponsor-actions{flex-direction:column;align-items:stretch}
  .sponsor-actions .btn{width:100%}
}
.location-link::after{content:" ↗";font-size:.82em;font-weight:700;white-space:nowrap}
.travel-card--placeholder{min-height:430px}



/* v20: sheet-controlled sections, reunion data, and live hotel guide */
.travel-toggle--link{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.travel-grid--hotels{grid-template-columns:repeat(3,minmax(0,1fr))}
.hotel-card{background:#fff;border-color:#d6dce5;box-shadow:0 18px 36px rgba(8,20,35,.07);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.hotel-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(8,20,35,.12)}
.hotel-hero{height:220px;padding:0;display:block;overflow:hidden;background:#dfe5ec;position:relative}
.hotel-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,13,26,0) 55%,rgba(5,13,26,.18) 100%)}
.hotel-hero::after{content:none}
.hotel-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s var(--ease),filter .5s var(--ease)}
.hotel-card:hover .hotel-hero img{transform:scale(1.035);filter:saturate(1.05) contrast(1.03)}
.travel-card__copy{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.travel-card__copy h3{font-size:clamp(26px,2vw,32px);min-height:2.75em}
.hotel-address,.hotel-phone{color:#596575;text-decoration:none;font-size:14px;line-height:1.55;transition:color .2s ease}
.hotel-address:hover,.hotel-phone:hover{color:var(--garnet)}
.hotel-phone{display:inline-flex;margin-top:10px;font-weight:700;color:var(--blue)}
.hotel-card .travel-link{margin-top:auto;gap:9px;text-decoration:none}
.reunion-card .reunion-link{gap:9px;text-decoration:none;background:var(--midnight);border-color:var(--midnight);color:#fff;transition:background .2s ease,transform .2s ease}
.reunion-card .reunion-link:hover{background:var(--garnet);transform:translateY(-2px)}
.reunion-card .reunion-link--placeholder{background:#eef2f7;border-color:#d6dce6;color:#68717d;transform:none}
.reunion-empty{grid-column:1/-1;border:1px solid #d6dce6;background:#fff;padding:36px;display:grid;gap:8px}
.reunion-empty strong{font:800 34px/.95 var(--display);text-transform:uppercase}
.reunion-empty p{margin:0;color:#68717d}

@media(max-width:1100px){.travel-grid--hotels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.travel-grid--hotels{grid-template-columns:1fr}.travel-card__copy h3{min-height:0}}

/* v1.22: make the Parade sheet-driven registration CTA unmistakable */
.parade-actions .parade-register{min-height:50px;padding:0 22px;font-size:11px;box-shadow:0 10px 24px rgba(159,24,55,.18)}
.parade-actions .parade-register:hover{background:var(--midnight);border-color:var(--midnight);color:#fff}
@media(max-width:640px){.parade-actions .parade-register,.parade-actions .major-view{width:100%;justify-content:center}}


/* Concept 01.23 — Parade registration CTA is deliberately stacked above View in Schedule. */
.parade-actions--stacked{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}
.parade-actions--stacked .parade-register{order:1;display:inline-flex!important;visibility:visible!important;opacity:1!important;min-width:190px;min-height:54px;padding:0 24px;font-size:12px;font-weight:800;box-shadow:0 12px 26px rgba(159,24,55,.22)}
.parade-actions--stacked .major-view{order:2}
@media(max-width:640px){
  .parade-actions--stacked{align-items:stretch}
  .parade-actions--stacked .parade-register,.parade-actions--stacked .major-view{width:100%;justify-content:center}
}


/* Concept 01.23 final Parade CTA placement */
.parade-cta-stack{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}
.parade-cta-stack .parade-actions{margin-top:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.parade-cta-stack .parade-register{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2;min-width:210px;min-height:56px;padding:0 26px;background:var(--garnet);border:1px solid var(--garnet);color:#fff;font:800 12px/1 var(--mono);letter-spacing:.045em;text-transform:uppercase;box-shadow:0 12px 28px rgba(159,24,55,.24)}
.parade-cta-stack .parade-register:hover{background:var(--midnight);border-color:var(--midnight);color:#fff;transform:translateY(-2px)}
.parade-cta-stack .major-view{display:inline-flex!important;visibility:visible!important}
@media(max-width:640px){
  .parade-cta-stack{align-items:stretch}
  .parade-cta-stack .parade-register,.parade-cta-stack .major-view{width:100%;justify-content:center}
}


/* Concept 01.27 — centered mobile hero artwork with symmetric edge crop */
@media (max-width: 760px){
  .hero{overflow:hidden}
  .hero-copy{
    width:100%;
    max-width:100%;
    overflow:visible;
    align-items:center;
  }
  .hero-copy .eyebrow,
  .hero-meta,
  .hero-kicker,
  .hero-hashtag,
  .event-countdown--hero,
  .hero-actions{
    position:relative;
    left:auto;
    right:auto;
    transform:none;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    align-self:center;
  }
  .hero-logo{
    display:block;
    flex:0 0 auto;
    width:auto;
    height:clamp(250px,42vh,360px);
    max-width:none;
    max-height:none;
    align-self:flex-start;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin-left:0;
    margin-right:0;
    object-fit:contain;
  }
}

@media (max-width: 430px) and (max-height: 760px){
  .hero-logo{height:clamp(225px,39vh,300px)}
}


/* Concept 01.28 — mobile hero content hard-centering */
@media (max-width: 760px){
  .hero{overflow:hidden}
  .hero-copy{
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    overflow:visible;
  }
  .hero-copy > *{
    align-self:center;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-copy .eyebrow,
  .hero-meta,
  .hero-kicker,
  .hero-hashtag,
  .event-countdown--hero,
  .hero-actions{
    position:relative;
    left:auto;
    right:auto;
    transform:none;
    text-align:center;
  }
  .hero-logo-frame{
    width:100%;
    height:clamp(235px, 38vh, 305px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .hero-logo{
    display:block;
    position:static;
    left:auto;
    transform:none;
    align-self:center;
    flex:0 0 auto;
    width:auto;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }
  .hero-meta{max-width:350px}
  .event-countdown--hero{max-width:610px;width:100%}
}

@media (max-width: 430px) and (max-height: 760px){
  .hero-logo-frame{height:clamp(220px, 36vh, 285px)}
}


/* Concept 01.30 — Sponsorship navigation CTA */
.desktop-nav .nav-sponsor-link{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(159,24,55,.38);
  color:#fff;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.desktop-nav .nav-sponsor-link::after{display:none}
.desktop-nav .nav-sponsor-link:hover{background:var(--garnet);border-color:var(--garnet);transform:translateY(-1px)}
@media(max-width:980px){
  .mobile-nav .nav-sponsor-link{
    width:100%;
    margin-top:12px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.26);
    background:var(--garnet);
    color:#fff;
  }
}

/* Concept 01.32 — full-width Homecoming Parade gallery */
.parade-gallery{width:100vw;margin:76px calc(50% - 50vw) 0;position:relative;overflow:hidden}
.parade-gallery__head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}
.parade-gallery__head h3{margin:4px 0 0;font:700 clamp(34px,4.6vw,68px)/.92 var(--display);letter-spacing:-.035em;color:var(--ink)}
.parade-gallery__head h3 em{color:var(--garnet);font-style:normal}
.parade-gallery__controls{display:flex;gap:8px;flex:0 0 auto}
.parade-gallery__controls button{width:46px;height:46px;border:1px solid rgba(7,18,33,.18);background:#fff;color:var(--navy);font-size:20px;cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}
.parade-gallery__controls button:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.parade-gallery__track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 max(18px,calc((100vw - 1240px)/2)) 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.parade-gallery__track::-webkit-scrollbar{display:none}
.parade-gallery__item{position:relative;flex:0 0 clamp(300px,33vw,520px);aspect-ratio:3/2;padding:0;border:0;background:#101722;overflow:hidden;cursor:zoom-in;scroll-snap-align:start;isolation:isolate}
.parade-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),filter .4s var(--ease)}
.parade-gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,10,19,.45));opacity:.35;transition:opacity .3s var(--ease);z-index:1}
.parade-gallery__item:hover img,.parade-gallery__item:focus-visible img{transform:scale(1.035)}
.parade-gallery__item:hover::after,.parade-gallery__item:focus-visible::after{opacity:.75}
.parade-gallery__zoom{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:38px;height:38px;background:rgba(255,255,255,.92);color:var(--navy);font:800 16px/1 var(--mono);box-shadow:0 10px 24px rgba(0,0,0,.2);transition:transform .25s var(--ease),background .25s var(--ease)}
.parade-gallery__item:hover .parade-gallery__zoom{transform:translate(-2px,-2px);background:#fff}

.parade-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(2,7,14,.94);color:#fff;overflow:hidden}
.parade-lightbox::backdrop{background:rgba(2,7,14,.92);backdrop-filter:blur(8px)}
.parade-lightbox[open]{display:grid;place-items:center}
.parade-lightbox__shell{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:54px 84px 42px}
.parade-lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.parade-lightbox figure img{display:block;max-width:min(92vw,1600px);max-height:calc(100dvh - 130px);width:auto;height:auto;object-fit:contain;box-shadow:0 28px 72px rgba(0,0,0,.48)}
.parade-lightbox figcaption{width:min(92vw,1200px);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.78);font:600 11px/1.45 var(--mono);letter-spacing:.035em;text-transform:uppercase}
.parade-lightbox__close,.parade-lightbox__nav{position:absolute;z-index:5;border:1px solid rgba(255,255,255,.22);background:rgba(10,20,34,.72);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s var(--ease),transform .2s var(--ease)}
.parade-lightbox__close{top:18px;right:20px;width:46px;height:46px;font-size:28px;line-height:1}
.parade-lightbox__nav{top:50%;width:50px;height:58px;transform:translateY(-50%);font-size:21px}
.parade-lightbox__nav--prev{left:18px}.parade-lightbox__nav--next{right:18px}
.parade-lightbox__close:hover,.parade-lightbox__nav:hover{background:var(--garnet)}
.parade-lightbox__nav:hover{transform:translateY(-50%) scale(1.04)}
body.gallery-lightbox-open{overflow:hidden}

@media(max-width:760px){
  .parade-gallery{margin-top:54px}
  .parade-gallery__head{align-items:center;padding-left:18px;padding-right:18px}
  .parade-gallery__head h3{font-size:clamp(32px,10vw,46px)}
  .parade-gallery__controls{display:none}
  .parade-gallery__track{gap:10px;padding:0 18px 18px}
  .parade-gallery__item{flex-basis:82vw}
  .parade-lightbox__shell{padding:60px 12px 54px}
  .parade-lightbox figure img{max-width:96vw;max-height:calc(100dvh - 145px)}
  .parade-lightbox figcaption{width:94vw;font-size:9px;padding:0 4px}
  .parade-lightbox__nav{top:auto;bottom:12px;transform:none;width:48px;height:42px}
  .parade-lightbox__nav:hover{transform:none}
  .parade-lightbox__nav--prev{left:calc(50% - 56px)}
  .parade-lightbox__nav--next{right:calc(50% - 56px)}
  .parade-lightbox__close{top:12px;right:12px}
}

@media(prefers-reduced-motion:reduce){
  .parade-gallery__track{scroll-behavior:auto}
  .parade-gallery__item img,.parade-gallery__zoom{transition:none}
}

/* Concept 01.34 — stable infinite Parade marquee */
.parade-gallery__track{
  scroll-snap-type:none;
  scroll-behavior:auto;
}
.parade-gallery__item{scroll-snap-align:none}


/* Concept 01.35 — Game Day gallery styling */
.gameday-gallery{margin-top:68px}
.gameday-gallery .parade-gallery__head h3{color:#fff}
.gameday-gallery .parade-gallery__head .eyebrow{color:rgba(255,255,255,.68)}
.gameday-gallery .parade-gallery__controls button{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.96)}
.gameday-gallery .parade-gallery__item{background:#0b1320}

@media(max-width:760px){
  .gameday-gallery{margin-top:48px}
}


/* Concept 01.37 — Official promo video at the bottom of The Week */
.week-video{position:relative;margin-top:78px;z-index:2}
.week-video__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:22px}
.week-video__head .eyebrow{margin-bottom:10px}
.week-video__head h3{margin:0;font:800 clamp(38px,5vw,72px)/.9 var(--display);letter-spacing:-.035em;text-transform:uppercase;color:var(--ink)}
.week-video__head h3 em{font-style:normal;color:var(--garnet)}
.week-video__tag{flex:0 0 auto;font:700 10px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(6,43,90,.24);padding:12px 14px;background:rgba(255,255,255,.56)}
.week-video__frame{position:relative;aspect-ratio:16/9;background:#050a12;overflow:hidden;box-shadow:0 30px 70px rgba(5,10,18,.18);border:1px solid rgba(5,10,18,.15)}
.week-video__frame::before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--garnet) 0 43%,var(--silver) 43% 47%,var(--blue) 47% 100%);pointer-events:none}
.week-video__frame iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:760px){
  .week-video{margin-top:52px}
  .week-video__head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:16px}
  .week-video__head h3{font-size:clamp(36px,12vw,52px)}
  .week-video__tag{font-size:8px;padding:10px 11px}
  .week-video__frame{width:calc(100vw - 30px);margin-left:calc((100% - (100vw - 30px))/2);box-shadow:0 20px 44px rgba(5,10,18,.17)}
}

/* Concept 01.39 — 1896 Challenge + Homecoming Check-In */
.challenge1896{position:relative;overflow:hidden;background:linear-gradient(135deg,#061326 0,#091b35 58%,#10172b 100%);color:#fff;padding:132px 0 112px}
.challenge1896::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 22%,rgba(211,38,76,.18),transparent 30%),linear-gradient(90deg,rgba(159,24,56,.08),transparent 32%);pointer-events:none}
.challenge1896__number{position:absolute;right:-2vw;top:-3vw;font:900 clamp(220px,35vw,560px)/.78 var(--display);letter-spacing:-.065em;color:rgba(255,255,255,.025);pointer-events:none}
.challenge1896__layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.86fr);gap:72px;align-items:center}
.challenge1896__copy h2{margin:0;font:900 clamp(72px,8.2vw,132px)/.78 var(--display);letter-spacing:-.045em;text-transform:uppercase}
.challenge1896__copy h2 em{font-style:normal;color:var(--crimson)}
.challenge1896__copy>p{max-width:680px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.72;margin:24px 0 0}
.challenge1896__copy .challenge1896__lead{font-size:20px;line-height:1.62;color:#fff}
.challenge1896__copy strong{color:#fff}
.challenge1896__actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}
.challenge1896__actions .btn{gap:10px}
.challenge1896__url{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.challenge1896__visual{position:relative;min-height:500px;padding:34px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 34px 90px rgba(0,0,0,.26);isolation:isolate}
.challenge1896__visual::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.challenge1896__visual::after{content:"1896";position:absolute;right:-10px;bottom:-18px;z-index:-1;font:900 170px/.78 var(--display);letter-spacing:-.06em;color:rgba(211,38,76,.13)}
.challenge1896__visual-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.challenge1896__micro{font:600 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.48);writing-mode:vertical-rl}
.challenge1896__visual-top strong{font:900 clamp(60px,6vw,92px)/.72 var(--display);letter-spacing:-.04em;text-transform:uppercase;text-align:right}
.challenge1896__visual-top strong em{display:inline-block;font-style:normal;color:var(--crimson)}
.challenge1896__gift{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:25px 0;margin:32px 0 28px}
.challenge1896__gift span,.challenge1896__gift small{font:600 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.challenge1896__gift b{font:900 clamp(56px,6vw,86px)/.78 var(--display);letter-spacing:-.04em;color:#fff}
.challenge1896__dorms{display:flex;flex-wrap:wrap;gap:8px}
.challenge1896__dorms span{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.055);font:600 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.challenge1896__rep{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:70px;border-top:1px solid rgba(255,255,255,.15);margin-top:76px;padding-top:54px}
.challenge1896__label{margin:0 0 14px;font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--crimson)}
.challenge1896__rep h3{margin:0;max-width:500px;font:800 clamp(44px,5vw,78px)/.86 var(--display);letter-spacing:-.03em;text-transform:uppercase}
.challenge1896__rep-copy{max-width:720px}
.challenge1896__rep-copy p{margin:0 0 17px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.68}
.challenge1896__rep-copy strong{color:#fff}
.challenge1896__rep-copy .challenge1896__question{font:800 clamp(24px,2.7vw,38px)/1 var(--display);text-transform:uppercase;color:#fff;margin:28px 0 18px}
.challenge1896__rep-copy .challenge1896__chant{margin-top:28px;color:#fff;font:800 13px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;border-left:3px solid var(--crimson);padding-left:18px}

.homecoming-checkin{position:relative;background:#f5f3ee;color:var(--ink);padding:132px 0 125px;overflow:hidden}
.homecoming-checkin::after{content:"CHECK IN";position:absolute;left:-2vw;bottom:-4vw;font:900 24vw/.7 var(--display);letter-spacing:-.06em;color:rgba(6,43,90,.035);pointer-events:none}
.homecoming-checkin__head{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:70px;align-items:end}
.homecoming-checkin__head h2{margin:0;font:900 clamp(70px,8vw,126px)/.78 var(--display);letter-spacing:-.045em;text-transform:uppercase}
.homecoming-checkin__head h2 em{font-style:normal;color:var(--garnet)}
.homecoming-checkin__intro{padding-bottom:8px}
.homecoming-checkin__intro p{margin:0 0 16px;color:#525d69;font-size:16px;line-height:1.7}
.homecoming-checkin__intro p:first-child{font-size:20px;color:var(--ink);font-weight:700}
.homecoming-checkin__intro .btn{margin-top:14px;gap:10px}
.homecoming-checkin__challenge-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-top:1px solid #cbd0d5;margin-top:78px;padding-top:28px}
.homecoming-checkin__challenge-head span{font:700 10px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--garnet)}
.homecoming-checkin__challenge-head strong{font:800 clamp(28px,3vw,42px)/.95 var(--display);text-transform:uppercase;text-align:right}
.homecoming-checkin__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#cfd3d6;border:1px solid #cfd3d6;margin-top:26px}
.checkin-card{min-height:315px;background:#fff;padding:34px;position:relative;overflow:hidden}
.checkin-card::after{content:attr(data-label);position:absolute;right:-8px;bottom:-16px;font:900 110px/.8 var(--display);color:rgba(6,43,90,.035)}
.checkin-card--dorm{background:var(--midnight);color:#fff}
.checkin-card__number{display:block;font:700 10px/1 var(--mono);letter-spacing:.1em;color:var(--garnet);margin-bottom:42px}
.checkin-card--dorm .checkin-card__number{color:#ff6a86}
.checkin-card h3{margin:0;font:800 clamp(34px,3vw,50px)/.9 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.checkin-card h3 em{display:block;margin-top:8px;font-style:normal;color:var(--crimson)}
.checkin-card p{margin:19px 0 0;max-width:570px;color:#626b74;font-size:14px;line-height:1.68}
.checkin-card--dorm p{color:rgba(255,255,255,.66)}
.homecoming-checkin__prize{position:relative;z-index:2;display:grid;grid-template-columns:120px minmax(0,1fr) minmax(220px,.45fr);align-items:center;gap:34px;margin-top:34px;padding:32px 36px;background:linear-gradient(100deg,var(--garnet),#7b112b 58%,#07162b);color:#fff;box-shadow:0 26px 50px rgba(5,10,18,.14)}
.homecoming-checkin__prize-mark{width:96px;height:96px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);font:900 46px/1 var(--display);letter-spacing:.03em}
.homecoming-checkin__prize span{display:block;font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:10px}
.homecoming-checkin__prize h3{margin:0;font:900 clamp(34px,4vw,58px)/.88 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.homecoming-checkin__prize p{margin:12px 0 0;max-width:700px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.6}
.homecoming-checkin__prize>strong{font:800 22px/1.05 var(--display);text-transform:uppercase;text-align:right}
.homecoming-checkin__close{position:relative;z-index:2;text-align:center;max-width:1000px;margin:72px auto 0}
.homecoming-checkin__close p{margin:0;color:#5f6973;font-size:16px;line-height:1.65}
.homecoming-checkin__close h3{margin:18px 0 12px;font:900 clamp(48px,6vw,86px)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase}
.homecoming-checkin__close h3 em{font-style:normal;color:var(--garnet)}
.homecoming-checkin__close span{font:700 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6e7780}

@media(max-width:1100px){
  .challenge1896__layout,.challenge1896__rep,.homecoming-checkin__head{grid-template-columns:1fr}
  .challenge1896__visual{min-height:430px;max-width:760px}
  .challenge1896__rep{gap:32px}
  .homecoming-checkin__head{gap:32px}
  .homecoming-checkin__prize{grid-template-columns:96px 1fr}
  .homecoming-checkin__prize>strong{grid-column:2;text-align:left}
}

@media(max-width:760px){
  .challenge1896,.homecoming-checkin{padding:92px 0 86px}
  .challenge1896__layout{gap:44px}
  .challenge1896__copy h2,.homecoming-checkin__head h2{font-size:clamp(58px,18vw,88px)}
  .challenge1896__copy .challenge1896__lead,.homecoming-checkin__intro p:first-child{font-size:18px}
  .challenge1896__visual{min-height:0;padding:24px}
  .challenge1896__visual-top strong{font-size:clamp(54px,19vw,78px)}
  .challenge1896__gift{grid-template-columns:1fr;align-items:start;gap:4px}
  .challenge1896__gift b{font-size:70px}
  .challenge1896__rep{margin-top:54px;padding-top:38px}
  .homecoming-checkin__challenge-head{align-items:flex-start;flex-direction:column;margin-top:56px}
  .homecoming-checkin__challenge-head strong{text-align:left}
  .homecoming-checkin__grid{grid-template-columns:1fr}
  .checkin-card{min-height:0;padding:28px}
  .checkin-card__number{margin-bottom:30px}
  .homecoming-checkin__prize{grid-template-columns:1fr;padding:28px;gap:20px}
  .homecoming-checkin__prize>strong{grid-column:auto;text-align:left}
  .homecoming-checkin__close{margin-top:56px;text-align:left}
}


/* Concept 01.40 — supplied 1896 Challenge artwork + centered wrapping desktop nav */
.challenge1896__visual--art{
  min-height:0;
  padding:0;
  overflow:hidden;
  background:#7c1733;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 90px rgba(0,0,0,.26);
}
.challenge1896__visual--art::before,
.challenge1896__visual--art::after{content:none}
.challenge1896__picture{display:block;width:100%}
.challenge1896__picture img{display:block;width:100%;height:auto;object-fit:contain}

@media (max-width:760px){
  .challenge1896__visual--art{padding:0;max-width:none}
}


/* Concept 01.41 — single-row desktop nav with centered multi-line labels */
@media (min-width:1101px){
  .desktop-nav{
    justify-self:center;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:clamp(10px,1.25vw,22px);
    text-align:center;
    font-size:clamp(10px,.82vw,13px);
    min-width:0;
  }
  .desktop-nav a{
    flex:0 1 auto;
    min-width:0;
    max-width:92px;
    white-space:normal;
    text-align:center;
    text-wrap:balance;
    line-height:1.15;
  }
  .desktop-nav .nav-sponsor-link{
    flex:0 0 auto;
    max-width:none;
    white-space:nowrap;
    text-align:center;
  }
}

/* Concept 01.42 — supplied Gear imagery */
@media (min-width:1101px){
  .gear-layout{grid-template-columns:minmax(390px,.78fr) minmax(0,1.22fr);gap:58px}
}
.gear-products{
  width:min(760px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.gear-product{
  position:relative;
  min-width:0;
  aspect-ratio:3/4;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(225,230,237,.92));
  box-shadow:0 28px 52px rgba(0,0,0,.28);
  isolation:isolate;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.gear-product::before{
  content:"";
  position:absolute;
  inset:auto -25% -18% -25%;
  height:48%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(159,24,56,.22),transparent 70%);
  z-index:-1;
}
.gear-product--two{transform:translateY(-28px)}
.gear-product img{
  width:116%;
  max-width:none;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.12));
  transition:transform .45s var(--ease);
}
.gear-product__tag{
  position:absolute;
  top:13px;
  left:13px;
  z-index:3;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  background:rgba(7,22,43,.9);
  color:#fff;
  font:700 9px/1 var(--mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.gear-product__shop{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:3;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 13px;
  background:rgba(5,10,18,.88);
  color:#fff;
  backdrop-filter:blur(10px);
  font:700 9px/1 var(--mono);
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),background .25s var(--ease);
}
.gear-product:hover,.gear-product:focus-visible{
  transform:translateY(-8px);
  box-shadow:0 36px 64px rgba(0,0,0,.38);
  border-color:rgba(255,255,255,.42);
}
.gear-product--two:hover,.gear-product--two:focus-visible{transform:translateY(-36px)}
.gear-product:hover img,.gear-product:focus-visible img{transform:scale(1.035)}
.gear-product:hover .gear-product__shop,.gear-product:focus-visible .gear-product__shop{opacity:1;transform:none}
.gear-product__shop:hover{background:var(--garnet)}

@media(max-width:1100px){
  .gear-products{max-width:820px;margin:10px auto 0}
}
@media(max-width:760px){
  .gear-products{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:calc(100vw - 30px);
  }
  .gear-product,.gear-product--two{transform:none}
  .gear-product__tag{top:8px;left:8px;min-height:24px;padding:0 7px;font-size:7px}
  .gear-product__shop{display:none}
  .gear-product img{width:122%}
  .gear-product:hover,.gear-product:focus-visible,.gear-product--two:hover,.gear-product--two:focus-visible{transform:translateY(-4px)}
}

/* LIVE 01.50 — mobile hero centering + countdown containment */
@media (max-width: 760px){
  .hero{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:100vw;
    padding-left:max(18px, env(safe-area-inset-left));
    padding-right:max(18px, env(safe-area-inset-right));
    overflow:hidden;
  }
  .hero-copy{
    width:100%;
    max-width:610px;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
  }
  .hero-copy .eyebrow,
  .hero-meta,
  .hero-kicker,
  .hero-hashtag,
  .event-countdown--hero,
  .hero-actions{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    align-self:center;
  }
  .hero-logo-frame{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-meta{
    justify-content:center;
    align-items:center;
  }
  .event-countdown--hero{
    padding:0;
    overflow:visible;
  }
  .event-countdown--hero .countdown-grid{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(4,11,20,.5);
    box-shadow:0 18px 34px rgba(0,0,0,.22);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }
  .event-countdown--hero .countdown-grid>div{
    min-width:0;
    width:auto;
  }
  .event-countdown--hero .countdown-grid strong,
  .event-countdown--hero .countdown-grid span{
    max-width:100%;
  }
  .hero-actions{
    align-items:center;
    justify-content:center;
  }
}

@media (max-width: 390px){
  .hero{
    padding-left:max(14px, env(safe-area-inset-left));
    padding-right:max(14px, env(safe-area-inset-right));
  }
  .event-countdown--hero .countdown-grid strong{font-size:25px}
  .event-countdown--hero .countdown-grid span{font-size:6.5px;letter-spacing:.06em}
}

@media(max-width:430px){
  .mobile-nav{padding-left:20px;padding-right:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom))}
  .mobile-nav a{font-size:26px;padding:9px 0}
}
