/* ============================================================================
   Master Pho Challenge - site.css
   Built by Wattera. Brand: Master Pho (black & gold, Playfair Display + Roboto).
   Theme: NO soccer / World Cup, NO lobster - a giant bowl of regular beef pho.
   Red is functional only (form errors) + the sanctioned countdown/scarcity break.
   ========================================================================== */

:root{
  --gold:#D4AA4F;         /* primary accent · headings · primary buttons */
  --gold-deep:#B8923C;    /* hover · borders · labels */
  --charcoal:#000000;     /* page background - black to match the logo */
  --near-black:#1A1717;   /* hero · footer · cards */
  --offwhite:#E5E5E5;     /* body text on dark */
  --white:#FFFFFF;
  --black:#000000;        /* text on gold buttons - never white on gold */
  --red:#C0392B;          /* functional only: required markers + error states */
  --counter-red:#E10600;  /* sanctioned break: countdown + scarcity counter */
  --line:rgba(212,170,79,.22);
  --muted:#c2bbb5;
  --muted-2:#9a938e;
}

*{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;}
body{
  background:var(--charcoal);
  color:var(--offwhite);
  font-family:'Roboto',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--gold);}
h1,h2,h3,.display{font-family:'Playfair Display',serif;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
section{padding:72px 0;}
.center{text-align:center;}
.center .lead{margin-left:auto;margin-right:auto;}
.gold{color:var(--gold);}
.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.74rem;font-weight:700;color:var(--gold-deep);margin-bottom:14px;}
.eyebrow-it{font-family:'Playfair Display';font-style:italic;font-weight:400;color:var(--gold);}
h2.title{font-size:2.4rem;font-weight:900;color:var(--gold);line-height:1.05;margin-bottom:10px;text-transform:capitalize;}
.tw{color:#fff !important;}   /* two-tone heading accent - white word (matches masterphoga.com) */
.lead{color:var(--muted);max-width:62ch;font-size:1.05rem;}
.last-updated{color:var(--muted-2);font-size:.78rem;margin-top:8px;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Roboto';font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:9999px;padding:14px 30px;border:2px solid transparent;cursor:pointer;font-size:.92rem;text-decoration:none;text-align:center;transition:transform .12s ease,box-shadow .12s ease,background .15s ease;}
.btn-primary{background:var(--gold);color:#000;box-shadow:0 3px 8px rgba(0,0,0,.3);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.4);}
.btn-ghost{background:transparent;color:var(--gold);border:2px solid var(--gold);}
.btn-ghost:hover{background:rgba(212,170,79,.08);}
.btn-lg{padding:18px 42px;font-size:1.05rem;}
.btn-sm{padding:10px 18px;font-size:.8rem;letter-spacing:.5px;}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none;}

/* ---------- Nav + live countdown strip ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(20,17,16,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.countstrip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding:9px 12px;background:var(--counter-red);}
.cs-label{text-transform:uppercase;letter-spacing:1.2px;font-size:1.02rem;font-weight:700;color:var(--white);}
.cs-clock{font-family:'Roboto',sans-serif;font-weight:900;color:var(--white);font-size:1.02rem;letter-spacing:.5px;font-variant-numeric:tabular-nums;}
.nav-top{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display';font-weight:700;color:var(--gold);font-size:1.2rem;letter-spacing:.5px;text-decoration:none;}
.brand img{height:52px;width:auto;object-fit:contain;}
.brand-badge{border-radius:50%;}
header.nav .nav-cta{opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease,visibility .28s;pointer-events:none;padding:10px 22px;font-size:.82rem;letter-spacing:.5px;}
header.nav.show-cta .nav-cta{opacity:1;visibility:visible;transform:none;pointer-events:auto;}

/* ---------- Hero (with video support) ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;text-align:center;overflow:hidden;border-bottom:1px solid var(--line);background:var(--near-black);}
.hero-media,.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(rgba(14,12,12,.62),rgba(14,12,12,.85));}
.hero .wrap{position:relative;z-index:2;}
.hero h1{font-size:clamp(2.8rem,7vw,5.4rem);font-weight:900;color:var(--gold);line-height:.98;letter-spacing:-1px;text-shadow:0 4px 30px rgba(0,0,0,.6);}
.hero .eyebrow-it{font-size:clamp(1.1rem,2.4vw,1.5rem);margin-bottom:8px;display:block;}
.hero p.sub{font-size:clamp(1rem,2vw,1.3rem);color:#efe9e2;margin:18px auto 0;max-width:48ch;}
.hero-cta{margin-top:30px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero .urgency{margin-top:22px;font-size:.92rem;color:#d9cfc6;}
.hero .urgency b{color:var(--gold);}
.hero-play{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);width:auto;}
/* video placeholder note tile */
.video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#7a716b;font-size:.85rem;background:#211d1d;}

/* ---------- Scarcity ---------- */
.scarcity{max-width:360px;margin:26px auto 0;}
.scarcity-msg{font-family:'Roboto',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:.92rem;color:var(--gold);}
.scarcity-msg.urgent{color:var(--counter-red);}
.spots-bar{height:8px;border-radius:9999px;background:rgba(255,255,255,.12);margin-top:10px;overflow:hidden;}
.spots-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold));transition:width .6s ease;}

/* ---------- Hook bar ---------- */
.hook{background:var(--gold);color:#1a1717;text-align:center;padding:20px 24px;font-family:Arial,Helvetica,sans-serif;font-size:1.05rem;}
.hook b{font-family:Arial,Helvetica,sans-serif;font-weight:700;}
.hook .big{font-size:inherit;}
.hook small{opacity:.8;}

/* ---------- Prizes (black & gold) ---------- */
.prizes{background:var(--near-black);}
.prize-subline{display:inline-block;margin-top:12px;background:linear-gradient(180deg,#e6bc57,#b8923c);color:#1a1411;font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:.82rem;padding:8px 20px;border-radius:9999px;}
.ribbon{display:inline-block;background:linear-gradient(180deg,#e0432f,#c0281b);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;font-size:.78rem;padding:7px 16px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.4);}
.prize-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:44px;background:linear-gradient(135deg,#2c2521,#1a1717);border:2px solid var(--gold);border-radius:20px;padding:26px 50px 66px;box-shadow:0 0 26px rgba(212,170,79,.16),0 18px 44px rgba(0,0,0,.5);}
.ph-bowl img{width:112%;height:auto;max-width:none;margin:-72px 0 -72px -10%;filter:drop-shadow(0 18px 26px rgba(0,0,0,.6));}
.ph-bowl.ph-phone{text-align:center;}
.ph-bowl.ph-phone img{width:auto;height:340px;max-width:none;margin:-38px auto -24px;display:inline-block;filter:drop-shadow(0 18px 26px rgba(0,0,0,.6));}
.ph-text{text-align:center;}
.ph-text h3{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:2.2rem;line-height:1.02;margin:14px 0 8px;}
.ph-text .ph-sub{color:#ecdcb6;font-size:1.02rem;font-weight:600;}
.ph-ticket{display:block;width:300px;max-width:80%;height:auto;margin:22px auto 0;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55));}
@media (prefers-reduced-motion: no-preference){.ph-ticket{transform-origin:center;animation:ticketBounce 2.4s ease-in-out infinite;}}
/* Subtle steam rising off the first-prize bowl */
.ph-bowl{position:relative;}
.ph-steam{position:absolute;left:50%;top:-8%;transform:translate(-50%,-70px);width:58%;height:70%;pointer-events:none;z-index:3;overflow:visible;}
.ph-steam .wisp{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;filter:blur(1.2px) drop-shadow(0 0 2px rgba(0,0,0,.45));stroke-dasharray:.34 1;opacity:0;}
@keyframes steamRise{0%{stroke-dashoffset:1.34;opacity:0;}22%{opacity:.5;}68%{opacity:.3;}100%{stroke-dashoffset:0;opacity:0;}}
.ph-steam .w1{animation:steamRise 5.5s ease-in-out infinite;}
.ph-steam .w2{animation:steamRise 6.4s ease-in-out .9s infinite;}
.ph-steam .w3{animation:steamRise 6s ease-in-out 1.9s infinite;}
.ph-steam .w4{animation:steamRise 7s ease-in-out 1.3s infinite;}
.ph-steam .w5{animation:steamRise 6.8s ease-in-out 2.5s infinite;}
@media (prefers-reduced-motion:reduce){.ph-steam .wisp{animation:none;opacity:0;}}
/* Grand Finale card */
.finale-card{margin-top:40px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;text-align:left;background:linear-gradient(135deg,#241d1a,#141010);border:2px solid var(--gold);border-radius:20px;padding:32px 44px;box-shadow:0 0 26px rgba(212,170,79,.16),0 18px 44px rgba(0,0,0,.5);}
.finale-ticket{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 26px rgba(0,0,0,.5));transform:rotate(-3deg);}
.finale-body h3{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:2rem;line-height:1.06;margin:10px 0 10px;}
.finale-lead{color:var(--offwhite);font-size:1rem;line-height:1.55;margin:0 0 16px;}
.finale-lead b{color:var(--gold);}
.finale-prizes{display:grid;gap:10px;}
.finale-prizes .fp{display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:baseline;}
.finale-prizes .fp-rank{color:var(--offwhite);font-weight:700;white-space:nowrap;}
.finale-prizes .fp-amt{color:var(--gold);font-family:'Playfair Display';font-weight:900;font-size:1.15rem;}
.finale-prizes .fp-split{color:var(--muted);font-size:.9rem;}
.finale-note{color:var(--muted);font-size:.9rem;margin-top:16px;}
@media (max-width:820px){
  .finale-card{grid-template-columns:1fr;text-align:center;padding:26px 22px;gap:22px;}
  .finale-ticket{transform:none;max-width:440px;margin:0 auto;}
  .finale-prizes .fp{grid-template-columns:1fr;gap:2px;justify-items:center;}
}
@keyframes ticketBounce{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-12px) rotate(2deg);}}
.prize-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;}
.prize2{position:relative;display:flex;align-items:center;gap:36px;background:linear-gradient(180deg,#241f1f,#1a1717);border:1px solid var(--line);border-radius:18px;padding:24px 28px;}
.prize2 img{height:128px;width:auto;filter:drop-shadow(0 14px 16px rgba(0,0,0,.5));flex-shrink:0;}
.prize2 img.tall{height:210px;margin:-34px 0;}
.prize2 img.tilt{transform:rotate(-8deg);}
.prize2 img.bowl{height:210px;margin:-46px 0 -14px;}
.prize2 .p2-txt{flex:1;text-align:center;}
.prize2 h3{font-family:'Playfair Display';color:var(--gold);font-size:1.4rem;margin-top:10px;line-height:1.05;}
.prize-foot{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;}
.pf{background:#201c1c;border:1px dashed var(--line);border-radius:14px;padding:22px 24px;text-align:center;}
.pf .rank{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold-deep);font-weight:700;}
.pf h3{font-size:1.16rem;color:var(--gold);margin:8px 0 4px;}
.pf p{font-size:.9rem;color:var(--muted);}
.prize-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px;}
.prize-mini .pf{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;}
.prize-mini .pf img{height:92px;width:auto;margin:0 auto 14px;filter:drop-shadow(0 12px 14px rgba(0,0,0,.5));}
.prize-mini .pf img.tilt{transform:rotate(-8deg);}
.prize-mini .pf h3{font-size:1.05rem;line-height:1.28;}
.prize-mini .pf:nth-child(n+3) h3{font-size:1.38rem;margin-bottom:18px;}

/* ---------- The cause ---------- */
.cause-panel{max-width:780px;margin:24px auto 0;border:1px solid var(--gold);border-radius:18px;padding:32px;background:var(--near-black);text-align:center;}
.video-embed{position:relative;width:100%;max-width:880px;margin:24px auto 0;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--gold);box-shadow:0 14px 40px rgba(0,0,0,.4);}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-embed iframe:not([src]){background:linear-gradient(135deg,#211d1d,#080707);}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;}
.step{text-align:center;padding:26px 20px;border:1px solid var(--line);border-radius:16px;background:var(--near-black);}
.step .num{width:46px;height:46px;border-radius:50%;background:var(--gold);color:#000;font-family:'Playfair Display';font-weight:900;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.step h3{color:var(--gold);font-size:1.12rem;margin-bottom:6px;}
.step p{font-size:.9rem;color:var(--muted);}

/* ---------- Register (flat $35) ---------- */
.register{background:linear-gradient(180deg,#000,#1a1717);}
.enter-card{max-width:560px;margin:26px auto 0;background:#1f1b1b;border:1px solid var(--gold);border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.enter-price{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:3rem;line-height:1;}
.enter-price small{display:block;font-family:'Roboto';font-weight:400;font-size:.9rem;color:var(--muted);letter-spacing:.5px;margin-top:6px;}
.enter-card .btn{width:100%;margin-top:22px;}
.secure-note{font-size:.82rem;color:var(--muted-2);margin-top:12px;}

/* full registration form (fill → pay → sign waiver) */
.form-card{max-width:720px;margin:26px auto 0;background:#1f1b1b;border:1px solid var(--gold);border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.5);text-align:left;}
.form-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-card .form-row.cols3{grid-template-columns:1.4fr .7fr .9fr;}
.field.full{grid-column:1/-1;}
.form-subhead{font-family:'Playfair Display';color:var(--gold);font-weight:700;}
.disclosure{background:#15110f;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:18px;font-size:.86rem;color:#bdb6b0;}
.check{display:flex;gap:11px;align-items:flex-start;margin-top:16px;font-size:.9rem;color:#cfc8c2;}
.check input{width:auto;margin-top:4px;accent-color:var(--gold);}
.submit-row{margin-top:24px;text-align:center;}
.submit-row .secure-note{text-align:center;}
select:invalid{color:#7a7a7a;}
input[type="date"]{-webkit-appearance:none;appearance:none;color:#7a7a7a;min-height:48px;line-height:1.2;}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.6);opacity:.75;cursor:pointer;}
.field{margin-top:12px;}
label{display:block;font-size:.8rem;letter-spacing:.5px;color:var(--gold);margin-bottom:6px;font-weight:500;}
label .req{color:var(--red);}
input,select{width:100%;padding:13px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#15110f;color:var(--white);font-family:'Roboto';font-size:.98rem;}
input::placeholder{color:#6a615b;font-style:italic;opacity:1;}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,170,79,.18);}
input.invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(192,57,43,.22);}
.field-error{display:none;color:var(--red);font-size:.8rem;margin-top:6px;}
.field-error.show{display:block;}
.form-msg{display:none;margin-top:14px;padding:12px;border-radius:10px;font-size:.9rem;text-align:center;}
.form-msg.err{display:block;background:rgba(192,57,43,.15);border:1px solid var(--red);color:#f0b8b1;}
.form-msg.ok{display:block;background:rgba(212,170,79,.12);border:1px solid var(--gold);color:var(--gold);}

/* ---------- Event details + Map ---------- */
.event{background:var(--near-black);}
.event-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.map-facade{position:relative;width:100%;height:380px;border-radius:16px;border:1px solid var(--line);overflow:hidden;cursor:pointer;background:#211d1d center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;}
.map-facade .map-load{margin-bottom:22px;}
.map-embed{position:relative;width:100%;height:380px;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:invert(90%) hue-rotate(180deg);}
.map-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.map-actions .btn{padding:11px 20px;font-size:.82rem;}
.ev{border-top:1px solid var(--line);padding:16px 0;}
.ev .k{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:6px;}
.ev .v{color:var(--offwhite);font-size:1.05rem;}
/* Where: one line on desktop; three lines on mobile (see the max-width:760px block) */
.addr .addr-name,.addr .addr-street,.addr .addr-city,.addr .addr-sep{display:inline;}

/* ---------- Spectator + Add-to-Calendar ---------- */
.spectate{background:var(--charcoal);}
.spectate-card{max-width:820px;margin:0 auto;border:1px solid var(--line);border-radius:18px;background:var(--near-black);padding:32px;text-align:center;}
.get-involved{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.get-involved .spectate-card{max-width:none;margin:0;height:100%;display:flex;flex-direction:column;}
#cheerCard{position:relative;}
.confetti-canvas{position:absolute;inset:0;pointer-events:none;z-index:2;}
.get-involved .spectate-card .lead{flex:1 0 auto;margin-bottom:20px;}
.gi-title{font-size:1.8rem;}
.atc{position:relative;display:inline-block;margin-top:18px;}
.atc-menu{display:none;position:absolute;left:50%;transform:translateX(-50%);margin-top:8px;background:#15110f;border:1px solid var(--line);border-radius:12px;padding:8px;min-width:200px;z-index:20;}
.atc-menu.open{display:block;}
.atc-menu a{display:block;padding:10px 14px;border-radius:8px;color:var(--offwhite);text-decoration:none;font-size:.9rem;}
.atc-menu a:hover{background:rgba(212,170,79,.12);color:var(--gold);}

/* ---------- Hall of Fame ---------- */
.hof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px;}
.champ{background:var(--near-black);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:center;padding-bottom:18px;}
.champ .photo{height:300px;background:#3a3333 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#6f655f;font-size:.8rem;text-align:center;padding:10px;}
.champ h3{color:var(--gold);font-size:1.12rem;margin:14px 0 2px;}
.champ .meta{font-size:.85rem;color:var(--muted);}

/* ---------- Gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px;}
.gallery img{width:100%;height:300px;object-fit:cover;border-radius:12px;border:1px solid var(--line);}
.gallery .ph-tile{height:300px;border-radius:12px;border:1px dashed var(--line);background:#211d1d;display:flex;align-items:center;justify-content:center;color:#6f655f;font-size:.8rem;text-align:center;padding:8px;}
.gallery-dots{display:none;justify-content:center;gap:10px;margin-top:18px;}
.gallery-dots button{width:10px;height:10px;border-radius:50%;background:rgba(229,229,229,.45);border:0;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.gallery-dots button.active{background:var(--gold);transform:scale(1.4);}

/* ---------- Sponsors ---------- */
.sponsors{background:var(--near-black);text-align:center;}
.sponsor-logo-link{display:block;width:fit-content;max-width:100%;margin:30px auto 0;text-decoration:none;text-align:center;}
.sponsor-logo{display:block;max-height:260px;max-width:100%;width:auto;object-fit:contain;margin:0 auto;border-radius:14px;}
.sponsors .sp-name{display:block;color:var(--offwhite);font-weight:600;font-size:1.1rem;margin-top:14px;}
.sponsor-cta{display:inline-block;margin-top:28px;color:var(--gold);border:2px solid var(--gold);border-radius:9999px;padding:13px 28px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.84rem;}
.sponsor-cta:hover{background:rgba(212,170,79,.08);}
/* Sponsor showcase cards (/sponsors) */
.sponsor-card{max-width:520px;margin:34px auto 0;text-align:center;}
.sponsor-card .sponsor-logo{max-height:200px;border-radius:14px;}
.sponsor-card .sp-name{color:var(--gold);font-family:'Playfair Display';font-weight:700;font-size:1.4rem;margin:0 0 12px;}
.sponsor-card .sp-blurb{color:var(--offwhite);font-size:1rem;line-height:1.55;margin:10px auto 0;max-width:46ch;}
.sponsor-card .sp-link{display:inline-block;margin-top:12px;color:var(--gold);font-weight:600;text-decoration:none;}
.sponsor-card .sp-link:hover{text-decoration:underline;}
.sponsor-note{color:var(--muted-2);font-size:.82rem;margin-top:12px;}
.sponsor-page-hero{position:relative;text-align:center;padding:120px 20px 96px;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.72) 58%,#000 100%),url('../assets/beef-pho.jpg') center/cover;}
.sponsor-page-hero h1{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:1.03;letter-spacing:-.5px;}
.sponsor-page-hero .lead{margin:16px auto 0;max-width:56ch;}
.sponsor-intro{padding:64px 0 0;}
.sponsor-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:820px;margin:30px auto 0;}
.sponsor-stats>div,.sponsor-why>div{background:#201c1c;border:1px solid rgba(212,170,79,.3);border-radius:14px;}
.sponsor-stats>div{padding:20px 14px;}
.sponsor-stat-value{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:1.7rem;line-height:1;}
.sponsor-stat-label{margin-top:8px;font-size:.82rem;color:var(--muted);letter-spacing:.5px;}
.sponsor-photos{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;max-width:820px;margin:26px auto 0;}
.sponsor-photos img{width:100%;height:300px;object-fit:cover;border-radius:14px;border:1px solid rgba(212,170,79,.35);}
.sponsor-photos img:last-child{object-position:center 30%;}
.sponsor-copy{max-width:640px;margin:30px auto 0;text-align:left;color:var(--offwhite);line-height:1.65;display:grid;gap:14px;}
.sponsor-copy b{color:var(--gold);}
.sponsor-why-section{padding:56px 0;}
.sponsor-why{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:820px;margin:28px auto 0;text-align:left;}
.sponsor-why>div{padding:22px 24px;}
.sponsor-why-title{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:1.15rem;margin-bottom:8px;}
.sponsor-why-copy{color:var(--offwhite);line-height:1.6;font-size:.95rem;}
.sponsor-market-note{max-width:640px;margin:26px auto 0;color:var(--offwhite);line-height:1.65;}
.sponsor-offer-section{padding-top:28px;}
.sponsor-offer{max-width:640px;text-align:left;}
.sponsor-price{text-align:center;}
.sponsor-price span{font-size:1.4rem;font-weight:700;}
.sponsor-term{text-align:center;font-size:.9rem;color:var(--muted);letter-spacing:.5px;margin-top:8px;}
.sponsor-benefits{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px;}
.sponsor-benefits li{display:flex;gap:12px;align-items:flex-start;color:var(--offwhite);}
.sponsor-benefits li::before{content:'✓';color:var(--gold);font-size:1.1rem;line-height:1.5;flex:0 0 auto;}
.sponsor-bonuses{margin-top:18px;padding-top:18px;border-top:1px solid rgba(212,170,79,.22);}
.sponsor-bonuses .eyebrow{margin-bottom:10px;}
.sponsor-bonuses .sponsor-benefits{margin-top:0;gap:14px;}
.sponsor-bonuses .sponsor-benefits li::before{content:'★';}
.sponsor-yearly{margin-top:18px;padding:16px 18px;background:rgba(212,170,79,.10);border:1px solid rgba(212,170,79,.5);border-radius:12px;text-align:center;}
.sponsor-yearly .eyebrow{margin-bottom:6px;}
.sponsor-yearly-copy{color:var(--offwhite);line-height:1.5;}
.sponsor-yearly-copy b{color:var(--gold);}.sponsor-yearly-copy b:first-child{font-size:1.15rem;}
.sponsor-apply{width:100%;margin-top:26px;}
.sponsor-next-steps{text-align:center;}
.sponsor-roster-link{text-align:center;margin-top:30px;}.sponsor-roster-link a{color:var(--gold);font-weight:600;text-decoration:none;}

/* ---------- Share / bring a crew ---------- */
.share{text-align:center;}
.share-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px;}
.share-btns button,.share-btns a{cursor:pointer;}

/* ---------- Notify me ---------- */
.notify{background:var(--charcoal);}
.notify-card{max-width:560px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:18px;background:var(--near-black);padding:32px;}
.notify-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-top:16px;}
.notify-card form{margin-top:18px;display:grid;gap:14px;}
.notify-card .btn{width:100%;}

/* ---------- Shared utilities and content-page components ---------- */
.link-gold{color:var(--gold);text-decoration:none;}
.underlined{text-decoration:underline;}
.title-normal{text-transform:none;}
.center-lead{margin:0 auto;}
.mt-30{margin-top:30px;}
.emergency-heading{margin-top:22px;}
.closed-note{margin-top:18px;}
.age-note{border-left:3px solid var(--gold);background:#1a1717;padding:12px 16px;border-radius:10px;margin:10px 0 0;color:var(--offwhite);font-size:.95rem;text-align:left;}
.age-note b{color:var(--gold);}
.footer-brand{align-items:flex-start;gap:16px;}
.footer-logo{height:96px;width:auto;object-fit:contain;}
.footer-brand-name{font-family:'Playfair Display';font-weight:700;font-size:1.2rem;}
.footer-brand-name a{color:var(--gold);text-decoration:none;}
.footer-address{margin-top:6px;font-family:'Roboto';font-weight:400;font-size:.92rem;color:var(--offwhite);line-height:1.45;}
.confirmation-hero{text-align:center;padding:64px 20px 30px;background:radial-gradient(820px 420px at 50% 0%,rgba(212,170,79,.16),transparent 64%);}
.confirmation-icon{width:84px;height:84px;border-radius:50%;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;background:rgba(212,170,79,.12);border:2px solid var(--gold);font-size:38px;color:var(--gold);}
.confirmation-title{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:clamp(2rem,5.2vw,3rem);line-height:1.05;margin:0 0 12px;}.confirmation-title span{color:var(--white);}
.confirmation-main{padding:20px 0 10px;}.confirmation-card{max-width:640px;text-align:left;margin:0 auto 22px;}.confirmation-card h2{font-family:'Playfair Display';font-weight:900;color:var(--gold);font-size:1.35rem;margin:0 0 20px;display:flex;align-items:center;gap:10px;}
.confirmation-step{display:flex;gap:16px;align-items:flex-start;padding:0 0 18px;}.confirmation-step:last-child{padding-bottom:0;}.step-number{flex:0 0 32px;height:32px;border-radius:50%;background:var(--gold);color:#1a1411;font-weight:900;display:flex;align-items:center;justify-content:center;}.step-copy strong{color:var(--white);display:block;margin-bottom:2px;}.step-copy span{color:var(--muted);font-size:.95rem;}
.confirmation-alert{max-width:640px;margin:0 auto 26px;border:1px solid var(--line);border-left:3px solid var(--gold);background:rgba(212,170,79,.06);border-radius:10px;padding:16px 18px;font-size:.95rem;color:var(--offwhite);}.confirmation-alert i,.confirmation-alert b{color:var(--gold);}
.confirmation-details{max-width:640px;margin:0 auto 28px;display:flex;flex-wrap:wrap;gap:14px;}.confirmation-detail{flex:1 1 220px;border:1px solid var(--line);border-radius:12px;background:#1f1b1b;padding:16px 18px;}.confirmation-detail-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:6px;}.confirmation-detail-value{color:var(--offwhite);font-size:.95rem;}.confirmation-support{text-align:center;color:var(--muted);font-size:.95rem;max-width:640px;margin:0 auto;}.confirmation-footer{margin-top:40px;}

.legal-head{padding:52px 0 22px;border-bottom:1px solid var(--line);background:radial-gradient(820px 360px at 14% 0%,rgba(212,170,79,.12),transparent 62%),var(--near-black);}
.legal-head .eyebrow{margin-bottom:10px;}
.legal-head h1{font-family:'Playfair Display',serif;font-weight:900;color:var(--gold);font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.06;margin-bottom:8px;max-width:22ch;}
.legal-head .lead{color:var(--muted);max-width:62ch;}
.legal-head .dates{color:var(--muted-2);font-size:.85rem;margin-top:12px;}
.article{max-width:820px;margin:0 auto;padding:34px 24px 10px;}
.answer{border:1px solid var(--gold);background:linear-gradient(180deg,#221c17,#1a1717);border-radius:14px;padding:20px 22px;font-size:1.06rem;line-height:1.6;color:var(--offwhite);margin:0 0 28px;}
.answer b{color:var(--gold);}
.article h2{font-family:'Playfair Display',serif;color:var(--gold);font-size:1.4rem;font-weight:900;margin:30px 0 8px;}
.article p,.article li{color:rgba(229,229,229,.86);}
.article p{margin:0 0 14px;}.article ul{margin:0 0 14px 20px;}.article li{margin-bottom:8px;}.article strong{color:#fff;}
.cta-block{text-align:center;margin:34px 0 8px;padding:26px 22px;border:1px solid var(--line);border-radius:16px;background:var(--near-black);}
.cta-block p{color:var(--muted);margin:10px 0 0;font-size:.92rem;}
.related{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;}.related h2{font-size:1.1rem;margin-bottom:8px;}.related a{display:block;padding:4px 0;}
.legal-body{max-width:820px;margin:0 auto;padding:40px 24px 10px;}
.legal-body .callout{border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--near-black);border-radius:10px;padding:16px 18px;font-size:.95rem;color:var(--offwhite);margin-bottom:30px;}
.legal-body h2{font-family:'Playfair Display',serif;color:var(--gold);font-size:1.45rem;font-weight:900;margin:34px 0 10px;}.legal-body h2 .n{color:var(--gold-deep);margin-right:10px;}.legal-body h3{color:var(--white);font-size:1.05rem;margin:20px 0 6px;}
.legal-body p,.legal-body li{color:rgba(229,229,229,.85);}.legal-body p{margin:0 0 14px;}.legal-body ul{margin:0 0 14px 20px;}.legal-body li{margin-bottom:8px;}.legal-body strong,.legal-body .ph{color:var(--white);font-weight:700;}.contact-box{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:var(--near-black);margin-top:16px;}

/* ---------- FAQ ---------- */
details{border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:12px;background:var(--near-black);}
details summary{cursor:pointer;font-weight:600;color:var(--offwhite);list-style:none;}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:'+';float:right;color:var(--gold);font-size:1.3rem;line-height:1;}
details[open] summary::after{content:'–';}
details p{margin-top:10px;color:var(--muted);font-size:.92rem;}

/* ---------- Footer ---------- */
footer{background:#000;border-top:1px solid var(--line);padding:46px 0 30px;}
.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.foot-grid a{color:var(--gold);text-decoration:none;}
.foot-addr{font-weight:400;font-size:.92rem;color:var(--offwhite);line-height:1.5;margin-top:6px;}
.social-icons{display:flex;gap:12px;margin-top:8px;}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:#9a918b;font-size:1.05rem;text-decoration:none;transition:transform .25s ease,color .25s ease,background .25s ease,border-color .25s ease;}
.social-icons a:hover{color:#fff;transform:translateY(-3px);}
.social-icons a.si-google:hover{background:#EA4335;border-color:#EA4335;}
.social-icons a.si-yelp:hover{background:#FF1A1A;border-color:#FF1A1A;}
.social-icons a.si-facebook:hover{background:#1877F2;border-color:#1877F2;}
.social-icons a.si-instagram:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:#d6249f;}
.foot-bottom{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);}
.foot-bottom small{color:#7a716b;font-size:.78rem;}
.foot-legal{display:flex;gap:22px;white-space:nowrap;}
.foot-legal a{color:#9a918b;text-decoration:none;font-size:.82rem;}
.foot-legal a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .sponsor-grid{grid-template-columns:repeat(3,1fr);}
  .gallery{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:760px){
  section{padding:56px 0;}
  h2.title{font-size:2rem;}
  /* "Where" breaks onto three lines: NAME (bold) / STREET / CITY, STATE ZIP */
  .addr .addr-name{display:block;font-weight:700;}
  .addr .addr-street,.addr .addr-city{display:block;}
  .addr .addr-sep{display:none;}
  .addr{line-height:1.5;}
  header.nav .brand{font-size:1.02rem;gap:9px;}
  header.nav .btn{padding:8px 14px;font-size:.76rem;}
  .nav-top{height:56px;}
  .cs-clock,.cs-label{font-size:.9rem;letter-spacing:.6px;}
  .prize-hero{grid-template-columns:1fr;text-align:center;padding:30px 24px;}
  .ph-text{text-align:center;}
  .ph-bowl img{width:78%;margin:-16px auto 0;}
  .ph-steam{transform:translate(-50%,-18px);width:52%;height:64%;}
  .ph-ticket{margin:14px auto 0;}
  .prize-row,.prize-foot{grid-template-columns:1fr;}
  .prize-mini{grid-template-columns:1fr 1fr;}
  .ph-bowl.ph-phone img{width:auto;height:250px;margin:0 auto;}
  .prize2{flex-direction:column;text-align:center;}
  .prize2 .p2-txt{text-align:center;}
  .prize2 img.tall{height:180px;margin:0;}
  .prize2 img.bowl{height:170px;margin:-34px 0 0;}
  .steps{grid-template-columns:1fr;}
  .event-wrap{grid-template-columns:1fr;}
  .map-facade,.map-embed{height:260px;}
  .hof-grid{grid-template-columns:1fr;}
  .get-involved{grid-template-columns:1fr;}
  .gallery{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;scrollbar-width:none;}
  .gallery::-webkit-scrollbar{display:none;}
  .gallery img{flex:0 0 88%;width:88%;height:360px;scroll-snap-align:start;}
  .gallery-dots{display:flex;}
  .sponsor-grid{grid-template-columns:repeat(2,1fr);}
  .form-card .form-row,.form-card .form-row.cols3,.notify-card .form-row{grid-template-columns:1fr;}
  .form-card{padding:24px;}
  .sponsor-stats{grid-template-columns:1fr 1fr;}.sponsor-why,.sponsor-photos{grid-template-columns:1fr;}.sponsor-photos img{height:240px;}
  .foot-bottom{flex-direction:column;align-items:center;text-align:center;}
  .foot-legal{justify-content:center;}
}
@media(max-width:420px){
  .enter-price{font-size:2.4rem;}
  .hero{min-height:82vh;}
}

/* Respect reduced motion globally */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}
