* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--white); font-family:'Barlow',sans-serif; font-weight:300; overflow-x:hidden; cursor:none; }

/* CURSOR */
#cur { width:10px; height:10px; background:var(--accent); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9999; }
#cur-ring { width:34px; height:34px; border:1px solid rgba(var(--fg-rgb),.4); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transition:width .22s,height .22s; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:500; padding:22px 52px; display:flex; justify-content:space-between; align-items:center; background:linear-gradient(to bottom,rgba(var(--bg-rgb),.97),transparent); backdrop-filter:blur(3px); }
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:1.35rem; letter-spacing:4px; color:var(--white); text-decoration:none; }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { font-family:'Barlow Condensed',sans-serif; font-size:.78rem; letter-spacing:3px; text-transform:uppercase; color:#bbb; text-decoration:none; transition:color .25s; cursor:none; }
.nav-links a:hover { color:var(--white); }

/* HERO */
.hero { min-height:100vh; display:grid; grid-template-columns:55% 45%; position:relative; overflow:hidden; }
.hero-left { display:flex; flex-direction:column; justify-content:center; padding:140px 60px 80px 52px; position:relative; z-index:2; background:linear-gradient(to right,var(--black) 70%,transparent 100%); }
.hero-eyebrow { font-family:'Barlow Condensed',sans-serif; font-size:.82rem; letter-spacing:6px; text-transform:uppercase; color:var(--accent-text); margin-bottom:20px; opacity:0; animation:fadeUp .7s ease .2s forwards; text-shadow:0 0 20px rgba(var(--accent-rgb),.4); }
.hero-name { font-family:'Bebas Neue',sans-serif; font-size:clamp(5rem,8.5vw,9.5rem); line-height:.9; letter-spacing:2px; color:var(--white); opacity:0; animation:fadeUp .7s ease .35s forwards; text-shadow:0 2px 24px rgba(0,0,0,.8); }
.hero-name .stroke { color:transparent; -webkit-text-stroke:1.5px var(--white); display:block; }
.hero-sub { margin-top:28px; font-size:1rem; font-weight:400; color:var(--text-soft); line-height:1.8; max-width:420px; opacity:0; animation:fadeUp .7s ease .5s forwards; }
.hero-tagline { margin-top:16px; font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; font-weight:700; letter-spacing:1px; color:var(--white); opacity:0; animation:fadeUp .7s ease .6s forwards; }
.hero-ctas { margin-top:44px; display:flex; gap:14px; flex-wrap:wrap; opacity:0; animation:fadeUp .7s ease .75s forwards; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:12px; font-family:'Barlow Condensed',sans-serif; font-size:.82rem; letter-spacing:3px; text-transform:uppercase; text-decoration:none; padding:16px 34px; transition:all .25s; cursor:none; border:none; }
.btn-red,.btn-accent { background:var(--accent); color:var(--on-accent); font-weight:700; }
.btn-red:hover,.btn-accent:hover { background:var(--accent-dark); color:var(--on-accent-dark); transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--white); border:1px solid var(--border); }
.btn-ghost:hover { border-color:rgba(255,255,255,.4); transform:translateY(-2px); }
.btn-gold { background:var(--gold); color:var(--on-accent); font-weight:700; }
.btn-gold:hover { background:var(--accent-dark); color:var(--on-accent-dark); transform:translateY(-2px); }
.arr { transition:transform .25s; }
.btn:hover .arr { transform:translateX(5px); }

.hero-right { position:relative; overflow:hidden; background:var(--grey); }
.hero-photo { width:100%; height:100%; object-fit:cover; object-position:center top; opacity:0; animation:fadeIn 1.2s ease .4s forwards; }
.hero-right::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to right,var(--black) 0%,rgba(var(--bg-rgb),.6) 35%,transparent 55%),linear-gradient(to top,var(--black) 0%,transparent 30%); }

#midwestSVG { width:100%; height:auto; display:block; }
.state { fill:rgba(255,255,255,0.06); stroke:rgba(255,255,255,0.7); stroke-width:1; stroke-linejoin:round; transition:fill .25s; }
.state:hover { fill:rgba(255,255,255,0.12); }
.pin .pulse { fill:none; stroke:var(--accent); stroke-width:1.5; animation:mapPulse 2.4s ease-in-out infinite; }
.pin .dot { fill:var(--accent); cursor:none; filter:drop-shadow(0 0 4px rgba(var(--accent-rgb),.8)); }
.pin:hover .dot { fill:var(--white); }
@keyframes mapPulse { 0%,100%{r:7;opacity:.6} 50%{r:16;opacity:.06} }
.map-label-txt { font-family:'Barlow Condensed',sans-serif; font-size:8px; fill:rgba(255,255,255,.35); letter-spacing:1px; text-anchor:middle; pointer-events:none; font-weight:700; }
.map-tooltip { position:absolute; background:var(--black); border:1px solid var(--accent); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; padding:6px 12px; pointer-events:none; white-space:nowrap; opacity:0; transition:opacity .15s; z-index:10; top:0; left:0; }
.map-svg-wrap { position:relative; }
.map-count { margin-top:8px; font-family:'Bebas Neue',sans-serif; font-size:.9rem; letter-spacing:3px; color:var(--muted); }
.map-count span { color:var(--white); font-size:1.2rem; margin-right:6px; }

/* TICKER */
.ticker { background:var(--accent); padding:13px 0; overflow:hidden; white-space:nowrap; }
.ticker-track { display:inline-flex; animation:tick 26s linear infinite; }
.tick-item { font-family:'Bebas Neue',sans-serif; font-size:.95rem; letter-spacing:4px; padding:0 36px; color:var(--on-accent); }
.tick-item span { opacity:.45; margin-right:36px; }

/* SECTION COMMONS */
.sec-label { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:6px; text-transform:uppercase; color:var(--accent-text); margin-bottom:18px; }
.sec-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5.5rem); line-height:.93; letter-spacing:1px; color:var(--white); margin-bottom:28px; }
.sec-title .stroke { color:transparent; -webkit-text-stroke:1px var(--white); }
.divider { height:1px; background:linear-gradient(to right,transparent,var(--border),transparent); margin:0 52px; }

/* ABOUT */
.about { padding:130px 52px; display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:center; max-width:1440px; margin:0 auto; }
.about-text p { font-size:.98rem; line-height:1.95; color:#999; margin-bottom:18px; }
.about-text p strong { color:var(--white); font-weight:600; }
.credentials { margin-top:32px; display:flex; flex-direction:column; gap:10px; }
.cred-item { display:flex; align-items:center; gap:14px; font-family:'Barlow Condensed',sans-serif; font-size:.82rem; letter-spacing:1.5px; color:var(--muted); padding:10px 16px; border:1px solid var(--border); }
.cred-icon { color:var(--accent-text); }
.about-visual { position:relative; }
.about-img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; filter:contrast(1.08) saturate(.9); }
.about-frame { position:absolute; bottom:-20px; right:-20px; width:110px; height:110px; border:1px solid var(--accent); z-index:-1; }
.about-bg-num { position:absolute; top:-20px; left:-12px; font-family:'Bebas Neue',sans-serif; font-size:9rem; color:rgba(var(--accent-rgb),.05); line-height:1; z-index:-1; user-select:none; }

/* ── DEKA SECTION ── */
.deka-section { padding:130px 0; background:var(--black); }
.deka-inner { max-width:1440px; margin:0 auto; padding:0 52px; }
.deka-header { margin-bottom:72px; }
.deka-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.5rem,6vw,6.5rem); line-height:.9; letter-spacing:1px; }
.deka-headline em { color:var(--gold); font-style:normal; }

/* Value Cards */
.value-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-bottom:80px; }
.val-card { background:var(--black); padding:48px 36px; position:relative; overflow:hidden; transition:background .3s; }
.val-card:hover { background:var(--grey); }
.val-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .3s; transform-origin:left; }
.val-card:hover::after { transform:scaleX(1); }
.val-icon { font-size:2rem; margin-bottom:20px; display:block; }
.val-name { font-family:'Bebas Neue',sans-serif; font-size:1.7rem; letter-spacing:2px; color:var(--white); margin-bottom:10px; }
.val-desc { font-size:.88rem; color:var(--muted); line-height:1.75; }

/* Why Grid */
.why-header { margin-bottom:24px; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-bottom:80px; }
.why-item { background:var(--black); padding:36px 40px; transition:background .3s; }
.why-item:hover { background:var(--grey); }
.why-title { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:700; letter-spacing:1px; color:var(--gold-text); margin-bottom:10px; text-transform:uppercase; }
.why-desc { font-size:.88rem; color:#888; line-height:1.75; }

/* Requirements */
.reqs { border:1px solid var(--border); padding:64px; margin-bottom:80px; }
.reqs-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,4vw,4rem); letter-spacing:1px; color:var(--white); margin-bottom:48px; }
.reqs-title em { color:var(--gold); font-style:normal; }
.req-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.req-item { background:var(--black); padding:40px 32px; text-align:center; }
.req-num { font-family:'Bebas Neue',sans-serif; font-size:3.5rem; color:var(--gold); line-height:1; }
.req-unit { font-family:'Barlow Condensed',sans-serif; font-size:.72rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.req-desc { font-size:.85rem; color:#888; margin-top:10px; line-height:1.65; }

/* DEKA Story */
.deka-story { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.deka-story-text p { font-size:.97rem; line-height:1.95; color:#999; margin-bottom:18px; }
.deka-story-text p strong { color:var(--white); font-weight:600; }
.side-photo { width:100%; aspect-ratio:2/3; object-fit:cover; display:block; filter:contrast(1.06); }
.photo-cap { margin-top:14px; font-family:'Barlow Condensed',sans-serif; font-size:.65rem; letter-spacing:4px; text-transform:uppercase; color:var(--muted); text-align:center; }

/* ── UNDERDOG SECTION ── */
.underdog-section { background:var(--grey); padding:130px 0; position:relative; overflow:hidden; }
.underdog-section::before { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.016) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,.016) 40px); pointer-events:none; }
.ud-inner { max-width:1440px; margin:0 auto; padding:0 52px; position:relative; z-index:1; }
.ud-header { margin-bottom:72px; }
.ud-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.5rem,6vw,6.5rem); line-height:.9; letter-spacing:1px; color:var(--white); }
.ud-headline em { color:var(--accent); font-style:normal; }
.ud-headline .stroke { color:transparent; -webkit-text-stroke:1.5px var(--white); }
.ud-sub { margin-top:16px; font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; letter-spacing:1px; color:var(--muted); }

/* Pillars */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-bottom:72px; }
.pillar { background:var(--grey); padding:40px 32px; text-align:center; transition:background .3s; }
.pillar:hover { background:var(--mid); }
.pillar-icon { font-size:2.2rem; margin-bottom:18px; display:block; }
.pillar-name { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:2px; color:var(--white); margin-bottom:8px; }
.pillar-desc { font-size:.85rem; color:var(--muted); line-height:1.7; }

/* Case Study */
.case-study { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; border:1px solid var(--border); padding:64px; margin-bottom:72px; position:relative; overflow:hidden; }
.case-study::before { content:'RESULTS'; position:absolute; top:50%; right:-20px; transform:translateY(-50%); font-family:'Bebas Neue',sans-serif; font-size:11rem; color:rgba(var(--accent-rgb),.04); line-height:1; user-select:none; white-space:nowrap; pointer-events:none; }
.case-label { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:5px; text-transform:uppercase; color:var(--accent-text); margin-bottom:16px; }
.case-name { font-family:'Bebas Neue',sans-serif; font-size:4rem; letter-spacing:1px; color:var(--white); line-height:1; margin-bottom:8px; }
.case-sport { font-family:'Barlow Condensed',sans-serif; font-size:.82rem; letter-spacing:3px; color:var(--muted); text-transform:uppercase; margin-bottom:32px; }
.case-quote { font-size:.97rem; font-style:italic; color:#aaa; line-height:1.85; border-left:2px solid var(--accent); padding-left:24px; }
.case-quote strong { color:var(--white); font-style:normal; font-weight:600; }
.case-numbers { display:flex; flex-direction:column; align-items:center; }
.time-block { text-align:center; padding:36px 56px; width:100%; }
.time-block.before { background:rgba(255,255,255,.03); border:1px solid var(--border); }
.time-block.after { background:var(--accent); color:var(--on-accent); }
.time-big { font-family:'Bebas Neue',sans-serif; font-size:5.5rem; line-height:1; letter-spacing:1px; }
.time-unit { font-family:'Barlow Condensed',sans-serif; font-size:.75rem; letter-spacing:4px; text-transform:uppercase; opacity:.65; margin-top:-4px; }
.time-label { font-family:'Barlow Condensed',sans-serif; font-size:.65rem; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-top:6px; }
.time-block.after .time-label { color:inherit; opacity:.75; }
.case-arrow { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; color:var(--muted); padding:6px 0; }
.case-delta { margin-top:16px; font-family:'Barlow Condensed',sans-serif; font-size:.78rem; letter-spacing:3px; text-transform:uppercase; color:var(--muted); text-align:center; }
.case-delta strong { color:var(--white); }

/* UD Story */
.ud-story { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:start; }
.ud-story-text p { font-size:.97rem; line-height:1.95; color:#999; margin-bottom:18px; }
.ud-story-text p strong { color:var(--white); font-weight:600; }

/* SCARCITY BOOKING SECTION */
.scarcity-inner { max-width:100%; margin:0; position:relative; z-index:1; padding:64px 64px 56px; background:rgba(var(--accent-rgb),.04); border:1px solid rgba(var(--accent-rgb),.18); }
.scarcity-badge { display:inline-flex; align-items:center; gap:10px; background:var(--accent); color:var(--on-accent); font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:5px; text-transform:uppercase; padding:8px 18px; margin-bottom:40px; }
.scarcity-main { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center; }
.scarcity-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5.5rem); line-height:.9; letter-spacing:1px; color:var(--white); margin-bottom:20px; }
.scarcity-headline em { color:var(--gold); font-style:normal; }
.scarcity-sub { font-size:.93rem; line-height:1.85; color:#999; margin-bottom:28px; max-width:440px; }
.scarcity-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; }
/* Calendar strip */
.scarcity-calendar { margin-top:32px; }
.cal-title { font-family:'Barlow Condensed',sans-serif; font-size:.6rem; letter-spacing:6px; text-transform:uppercase; color:var(--muted); margin-bottom:10px; display:block; }
.cal-months { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; margin-bottom:12px; }
.cal-month { padding:10px 4px; text-align:center; display:flex; flex-direction:column; gap:3px; }
.cal-month.done { background:rgba(255,255,255,.03); }
.cal-month.booked { background:rgba(var(--accent-rgb),.2); border:1px solid rgba(var(--accent-rgb),.35); }
.cal-month.last-booked { background:rgba(var(--accent-rgb),.32); border-color:var(--accent); }
.cal-month.open { background:rgba(201,168,76,.07); border:1px solid rgba(201,168,76,.2); }
.cal-mo { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:2px; color:var(--white); }
.cal-month.done .cal-mo { color:var(--muted); }
.cal-status { font-family:'Barlow Condensed',sans-serif; font-size:.44rem; letter-spacing:1.5px; text-transform:uppercase; }
.cal-month.done .cal-status { color:var(--muted); }
.cal-month.booked .cal-status, .cal-month.last-booked .cal-status { color:var(--accent-text); }
.cal-month.open .cal-status { color:var(--gold); }
.cal-next { margin-top:12px; display:flex; align-items:center; gap:14px; padding:12px 16px; background:var(--accent); }
.cal-next-yr { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:2px; color:var(--on-accent); line-height:1; }
.cal-next-txt { font-family:'Barlow Condensed',sans-serif; font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--on-accent); }
.cal-note { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; letter-spacing:1px; color:var(--muted); line-height:1.6; }
/* Map side */
.scarcity-map-wrap { position:relative; }
.scarcity-map-wrap #midwestSVG { width:100%; height:auto; display:block; }
.map-pin-legend { margin-top:14px; display:flex; align-items:center; gap:10px; font-family:'Barlow Condensed',sans-serif; font-size:.65rem; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.map-pin-legend::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 6px rgba(var(--accent-rgb),.8); }

/* CONTACT */
.contact { padding:130px 52px; position:relative; overflow:hidden; background:var(--grey); }
.contact::before { content:'CONTACT'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Bebas Neue',sans-serif; font-size:18vw; color:rgba(255,255,255,.018); white-space:nowrap; user-select:none; pointer-events:none; }
.contact-inner { max-width:1040px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.contact-big { font-family:'Bebas Neue',sans-serif; font-size:clamp(4.5rem,9vw,9rem); line-height:.88; letter-spacing:2px; color:var(--white); margin-bottom:20px; }
.contact-big em { color:var(--accent); font-style:normal; }
.contact-sub { font-size:.97rem; color:var(--text-soft); line-height:1.8; margin-bottom:52px; max-width:480px; margin-left:auto; margin-right:auto; }

/* FOOTER */
footer { background:var(--black); border-top:1px solid var(--border); padding:36px 52px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.foot-logo { font-family:'Bebas Neue',sans-serif; font-size:1.2rem; letter-spacing:4px; }
.foot-copy { font-size:.72rem; color:var(--muted); letter-spacing:1px; }
.foot-links { display:flex; gap:28px; list-style:none; }
.foot-links a { font-family:'Barlow Condensed',sans-serif; font-size:.72rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .25s; cursor:none; }
.foot-links a:hover { color:var(--white); }

/* REVEAL */
.rv { opacity:0; transform:translateY(36px); transition:opacity .75s ease,transform .75s ease; }
.rv.vis { opacity:1; transform:translateY(0); }
.rv1 { transition-delay:.1s; } .rv2 { transition-delay:.2s; } .rv3 { transition-delay:.3s; }

@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* RESPONSIVE */
@media(max-width:960px){
  nav { padding:18px 24px; }
  .nav-links { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-left { padding:110px 24px 60px; }
  .hero-right { height:70vw; }
  .hero-map-wrap { margin-top:28px; padding:0; }
  .map-box { height:220px; }
  .about { grid-template-columns:1fr; padding:80px 24px; gap:48px; }
  .pillars,.value-cards { grid-template-columns:1fr; }
  .req-list,.why-grid { grid-template-columns:1fr; }
  .case-study { grid-template-columns:1fr; padding:40px 24px; gap:40px; }
  .ud-story,.deka-story { grid-template-columns:1fr; }
  .ud-inner,.deka-inner { padding:0 24px; }
  .contact { padding:80px 24px; }
  .scarcity-inner { padding:32px 24px; }
  .scarcity-main { grid-template-columns:1fr; gap:48px; }
  .cal-months { grid-template-columns:repeat(4,1fr); }
  .form-row { grid-template-columns:1fr; }
  footer { flex-direction:column; text-align:center; }
  .foot-links { flex-wrap:wrap; justify-content:center; }
  .reqs { padding:40px 24px; }
  .underdog-section,.deka-section { padding:80px 0; }
  .divider { margin:0 24px; }
}

/* NAV CTA */
.nav-right { display:flex; align-items:center; gap:36px; }
.nav-cta { font-family:'Barlow Condensed',sans-serif; font-size:.74rem; letter-spacing:3px; text-transform:uppercase; text-decoration:none; color:var(--on-accent); font-weight:700; background:var(--accent); padding:10px 18px; transition:background .25s; cursor:none; }
.nav-cta:hover { background:var(--accent-dark); color:var(--on-accent-dark); }
@media(max-width:960px){ .nav-cta { padding:8px 14px; font-size:.68rem; } }

.btn-lime { background:var(--ud-lime); color:var(--black); }
.btn-lime:hover { background:var(--white); transform:translateY(-2px); }

/* ── UNDERDOG THEME: lime + blue ── */
.underdog-section { --accent:var(--ud-lime); --accent-dark:var(--ud-lime-dark); --accent-text:var(--ud-lime); --on-accent:#080808; --gold:var(--ud-blue);
  background:linear-gradient(180deg,rgba(76,132,227,.10) 0%,rgba(76,132,227,0) 55%),var(--grey); }
.underdog-section::after { content:''; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(to right,var(--ud-lime) 0 70%,var(--ud-blue) 70% 100%); }
.underdog-section .sec-label { color:var(--ud-blue); }
.underdog-section .btn-red { color:var(--black); font-weight:700; }
.underdog-section .btn-red:hover { background:var(--white); }
.underdog-section .pillar:hover { background:rgba(76,132,227,.08); }
.underdog-section .pillar-name { color:var(--ud-lime); }
.underdog-section .case-study { border-color:rgba(191,209,39,.25); }
.underdog-section .case-study::before { color:rgba(191,209,39,.04); }
.underdog-section .time-block.after { color:var(--black); }
.underdog-section .time-block.after .time-label { color:rgba(var(--bg-rgb),.7); }
.underdog-section .time-block.before { border-color:rgba(76,132,227,.35); background:rgba(76,132,227,.08); }
.ud-brand { display:flex; align-items:center; gap:20px; margin-bottom:26px; }
.ud-logo { width:88px; height:88px; border-radius:50%; box-shadow:0 0 0 4px rgba(191,209,39,.15),0 8px 30px rgba(76,132,227,.35); }
.ud-brand-name { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:4px; line-height:1.05; color:var(--white); }
.ud-brand-name span { display:block; font-family:'Barlow Condensed',sans-serif; font-size:.7rem; letter-spacing:5px; color:var(--ud-blue); }
.ud-ctas { margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; }

/* ── DEKA / SPARTAN THEME: red, black, white ── */
.deka-section { --accent:var(--sp-red); --accent-dark:var(--sp-red-dark); --accent-text:#F0454E; --on-accent:#fff; --gold:var(--sp-red); background:#000; border-top:4px solid var(--sp-red); }
.deka-section .btn-gold { color:var(--white); font-weight:700; }
.deka-section .btn-gold:hover { background:var(--sp-red-dark); }
.deka-section .val-card, .deka-section .why-item, .deka-section .req-item { background:#000; }
.deka-section .val-card:hover, .deka-section .why-item:hover { background:#0d0d0d; }
.deka-section .scarcity-inner { background:rgba(224,35,46,.05); border-color:rgba(224,35,46,.3); }
.deka-section .cal-month.open { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.25); }
.deka-section .cal-month.open .cal-status { color:var(--white); }

/* Roadshow promo video */
.deka-header { display:grid; grid-template-columns:1fr 1.25fr; gap:64px; align-items:center; }
.deka-header-sub { margin-top:22px; font-size:.97rem; line-height:1.85; color:#999; max-width:440px; }
.promo-video-wrap { position:relative; aspect-ratio:16/9; background:#0b0b0b; border:1px solid rgba(224,35,46,.35); overflow:hidden; }
.promo-video { width:100%; height:100%; object-fit:cover; display:block; }
.promo-sound { position:absolute; right:14px; bottom:14px; background:rgba(0,0,0,.72); color:var(--white); border:1px solid rgba(255,255,255,.3); font-family:'Barlow Condensed',sans-serif; font-size:.72rem; letter-spacing:2px; text-transform:uppercase; padding:9px 14px; cursor:pointer; }
.promo-sound:hover { background:var(--sp-red); border-color:var(--sp-red); }
.promo-tag { position:absolute; left:14px; top:14px; background:var(--sp-red); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:.62rem; letter-spacing:4px; text-transform:uppercase; padding:6px 12px; }
@media(max-width:960px){ .deka-header { grid-template-columns:1fr; gap:36px; } }

/* ── SUPPLEMENTS (Underdog × Amway) ── */
.supps-section { --accent:var(--ud-lime); --accent-text:var(--ud-lime); --on-accent:#080808; position:relative; padding:130px 0; background:#0b0d10; overflow:hidden; }
.supps-section::before { content:''; position:absolute; top:-240px; right:-200px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,rgba(76,132,227,.16),transparent 65%); pointer-events:none; }
.supps-section::after { content:''; position:absolute; bottom:-260px; left:-220px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(191,209,39,.09),transparent 65%); pointer-events:none; }
.supps-inner { max-width:1440px; margin:0 auto; padding:0 52px; position:relative; z-index:1; }
.supps-top { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:end; margin-bottom:64px; }
.supps-section .sec-label { color:var(--ud-blue); }
.supps-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.5rem,6vw,6.5rem); line-height:.9; letter-spacing:1px; color:var(--white); }
.supps-headline em { color:var(--ud-lime); font-style:normal; }
.supps-headline .stroke { color:transparent; -webkit-text-stroke:1.5px var(--white); }
.supps-intro p { font-size:.97rem; line-height:1.9; color:#9a9a9a; margin-bottom:16px; }
.supps-intro p strong { color:var(--white); font-weight:600; }
.supps-partner { display:inline-flex; align-items:center; gap:12px; margin-bottom:22px; padding:8px 16px; border:1px solid rgba(191,209,39,.3); font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:4px; text-transform:uppercase; color:var(--ud-lime); }
.supps-partner img { width:26px; height:26px; border-radius:50%; }

.quality-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.07); margin-bottom:64px; }
.q-item { background:#0b0d10; padding:30px 32px; display:flex; gap:18px; align-items:flex-start; }
.q-num { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; line-height:1; color:var(--ud-lime); min-width:44px; }
.q-title { font-family:'Barlow Condensed',sans-serif; font-size:.95rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--white); margin-bottom:6px; }
.q-desc { font-size:.84rem; line-height:1.7; color:#888; }

.stack-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:22px; flex-wrap:wrap; }
.stack-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,3.2vw,3rem); letter-spacing:1px; color:var(--white); }
.stack-title span { color:var(--ud-blue); }
.stack-note { font-family:'Barlow Condensed',sans-serif; font-size:.72rem; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.stack-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:56px; }
.supp-card { position:relative; display:flex; flex-direction:column; background:linear-gradient(160deg,#14181e 0%,#0f1115 100%); border:1px solid rgba(255,255,255,.07); padding:30px 28px 26px; text-decoration:none; color:inherit; transition:transform .25s,border-color .25s,box-shadow .25s; cursor:none; }
.supp-card:hover { transform:translateY(-4px); border-color:rgba(191,209,39,.45); box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(191,209,39,.12); }
.supp-when { align-self:flex-start; font-family:'Barlow Condensed',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--black); background:var(--ud-lime); padding:5px 10px; margin-bottom:22px; }
.supp-when.blue { background:var(--ud-blue); color:#080808; }
.supp-brand { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:4px; text-transform:uppercase; color:var(--ud-blue); margin-bottom:6px; }
.supp-name { font-family:'Bebas Neue',sans-serif; font-size:1.9rem; letter-spacing:1px; line-height:1; color:var(--white); margin-bottom:14px; }
.supp-why { font-size:.87rem; line-height:1.75; color:#8f8f8f; flex:1; }
.supp-why strong { color:#d8d3ca; font-weight:600; }
.supp-link { margin-top:22px; padding-top:16px; border-top:1px solid rgba(255,255,255,.07); font-family:'Barlow Condensed',sans-serif; font-size:.74rem; letter-spacing:3px; text-transform:uppercase; color:var(--ud-lime); display:flex; justify-content:space-between; }
.supp-card:hover .supp-link .arr { transform:translateX(5px); }
.supp-icon { position:absolute; top:26px; right:26px; font-size:1.6rem; opacity:.9; }

.supps-cta { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding:44px 48px; background:linear-gradient(100deg,rgba(191,209,39,.12),rgba(76,132,227,.12)); border:1px solid rgba(191,209,39,.25); margin-bottom:28px; }
.supps-cta-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,3vw,2.8rem); line-height:1; color:var(--white); margin-bottom:8px; }
.supps-cta-sub { font-size:.92rem; color:#a0a0a0; line-height:1.7; }
.supps-fine { font-size:.74rem; line-height:1.7; color:#808080; max-width:980px; }


@media(max-width:960px){
  .supps-section { padding:80px 0; }
  .supps-inner { padding:0 24px; }
  .supps-top { grid-template-columns:1fr; gap:32px; }
  .quality-strip,.stack-grid { grid-template-columns:1fr; }
  .supps-cta { grid-template-columns:1fr; padding:32px 24px; }
}
@media(min-width:961px) and (max-width:1200px){ .stack-grid { grid-template-columns:repeat(2,1fr); } }

/* Book a call — embedded cal.com */
.book-embed { background:#101010; border:1px solid rgba(255,255,255,.09); border-top:3px solid var(--accent); }
.book-embed iframe { display:block; width:100%; height:720px; border:0; background:#101010; }
@media(max-width:960px){ .book-embed iframe { height:900px; } }

/* Contact — booking alternative */
.contact-alt { margin-top:28px; font-family:'Barlow Condensed',sans-serif; font-size:.85rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.contact-alt a { color:var(--white); border-bottom:1px solid var(--accent); text-decoration:none; padding-bottom:2px; margin-left:6px; }

/* Touch devices: restore the normal cursor */
@media (hover:none) { body,.btn,.nav-links a { cursor:auto; } #cur,#cur-ring { display:none; } }

/* Instagram reel embed */
.reel-embed-wrap { margin:28px 0 8px; display:flex; justify-content:flex-start; }
.reel-embed-wrap .instagram-media { border-radius:8px !important; box-shadow:0 4px 24px rgba(0,0,0,.45) !important; }

/* Let CSS aspect-ratio control photo height (width/height attrs are only for layout stability) */
.about-img,.side-photo { height:auto; }

/* ═════════ MOBILE MENU ═════════ */
.nav-toggle { display:none; width:42px; height:42px; background:transparent; border:1px solid rgba(255,255,255,.18); color:var(--white); align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; padding:0; }
.nav-toggle span { display:block; width:18px; height:2px; background:var(--white); transition:transform .25s,opacity .25s; }
nav.open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
nav.open .nav-toggle span:nth-child(2) { opacity:0; }
nav.open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ═════════ PHONE & TABLET LAYOUT ═════════ */
@media(max-width:960px){
  /* Nav */
  nav { padding:14px 16px; background:rgba(var(--bg-rgb),.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); }
  .nav-right { gap:10px; }
  .nav-toggle { display:flex; }
  nav.open .nav-links { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:rgba(var(--bg-rgb),.98); border-bottom:1px solid var(--border); padding:6px 20px 16px; }
  nav.open .nav-links a { display:block; padding:15px 0; font-size:.95rem; color:var(--white); border-bottom:1px solid var(--border); }
  nav.open .nav-links li:last-child a { border-bottom:none; }

  /* Hero: full-screen photo with text over it */
  .hero { display:block; min-height:100vh; min-height:100svh; }
  .hero-right { position:absolute; inset:0; height:auto; }
  .hero-photo { object-position:50% 12%; }
  .hero-right::before { background:linear-gradient(to top,var(--black) 0%,rgba(var(--bg-rgb),.96) 44%,rgba(var(--bg-rgb),.6) 58%,rgba(var(--bg-rgb),0) 74%,rgba(var(--bg-rgb),.4) 100%); }
  .hero-left { min-height:100vh; min-height:100svh; justify-content:flex-end; padding:120px 20px 36px; background:none; }
  .hero-eyebrow { align-self:flex-start; font-size:.64rem; letter-spacing:2px; line-height:1.7; margin-bottom:14px; color:var(--accent-text); background:rgba(var(--bg-rgb),.82); padding:6px 10px; border-left:2px solid var(--accent); }
  .hero-name { font-size:clamp(3.8rem,19vw,5.5rem); }
  .hero-sub { margin-top:16px; font-size:.93rem; line-height:1.65; color:#ddd6cb; }
  .hero-tagline { font-size:1.05rem; margin-top:12px; }
  .hero-ctas { margin-top:24px; gap:10px; }
  .hero-ctas .btn { flex:1 1 100%; justify-content:center; padding:16px 20px; }

  /* Tighter sections */
  .about { padding:64px 20px; gap:36px; }
  .underdog-section,.deka-section,.supps-section { padding:64px 0; }
  .ud-inner,.deka-inner,.supps-inner { padding:0 20px; }
  .contact { padding:64px 16px; }
  .divider { margin:0 20px; }
  .sec-label { letter-spacing:3px; font-size:.64rem; line-height:1.7; }
  .ud-header,.deka-header { margin-bottom:40px !important; }
  .btn { padding:15px 22px; }

  /* Photos: shorter so they don't fill the whole screen */
  .about-img { aspect-ratio:4/5; }
  .side-photo { aspect-ratio:4/5; }
  .about-frame,.about-bg-num { display:none; }
  .ud-story,.deka-story { gap:36px; }

  /* Underdog */
  .ud-brand { gap:14px; margin-bottom:20px; }
  .ud-logo { width:64px; height:64px; }
  .ud-brand-name { font-size:1.3rem; }
  .ud-brand-name span { letter-spacing:2px; font-size:.64rem; }
  .pillars { margin-bottom:40px; }
  .pillar { display:grid; grid-template-columns:44px 1fr; column-gap:14px; text-align:left; padding:22px 20px; }
  .pillar-icon { grid-row:span 2; font-size:1.6rem; margin:2px 0 0; }
  .pillar-name { font-size:1.35rem; margin-bottom:4px; }

  /* Sasa result: before/after side by side */
  .case-study { padding:32px 20px; gap:32px; margin-bottom:48px; }
  .case-study::before { display:none; }
  .case-name { font-size:3rem; }
  .case-sport { margin-bottom:20px; }
  .case-quote { font-size:.92rem; padding-left:16px; }
  .case-numbers { flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:8px; }
  .time-block { flex:1; padding:22px 8px; width:auto; }
  .time-big { font-size:3.4rem; }
  .case-arrow { align-self:center; transform:rotate(-90deg); padding:0; font-size:1.6rem; }
  .case-delta { flex-basis:100%; margin-top:8px; }

  /* Supplements */
  .supps-top { margin-bottom:36px; }
  .supps-partner { letter-spacing:2px; font-size:.62rem; }
  .quality-strip { margin-bottom:40px; }
  .q-item { padding:22px 20px; }
  .stack-grid { gap:12px; margin-bottom:36px; }
  .supp-card { padding:24px 20px 20px; }
  .supp-when { margin-bottom:16px; }
  .supp-name { font-size:1.65rem; }

  /* Roadshows */
  .scarcity-inner { padding:28px 18px; margin-bottom:48px !important; }
  .scarcity-badge { letter-spacing:2.5px; font-size:.62rem; margin-bottom:24px; }
  .scarcity-main { gap:32px; }
  .cal-months { grid-template-columns:repeat(6,1fr); }
  .cal-month { padding:8px 0; }
  .cal-mo { font-size:.95rem; letter-spacing:1px; }
  .cal-status { font-size:.42rem; letter-spacing:.5px; }
  .cal-next { padding:12px 14px; }
  .scarcity-ctas .btn { width:100%; justify-content:center; }
  .value-cards,.why-grid,.reqs { margin-bottom:48px; }
  .val-card { display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding:24px 20px; }
  .val-icon { grid-row:span 2; font-size:1.6rem; margin:2px 0 0; }
  .val-name { font-size:1.4rem; margin-bottom:4px; }
  .why-item { padding:22px 20px; }
  .reqs { padding:28px 18px; }
  .reqs-title { margin-bottom:24px; }
  .req-item { display:grid; grid-template-columns:100px 1fr; column-gap:14px; align-items:center; text-align:left; padding:20px 16px; }
  .req-num { grid-row:span 2; font-size:2.6rem; }
  .req-desc { margin-top:4px; font-size:.8rem; }

  /* Book a call */
  .contact-sub { margin-bottom:32px; }
  .book-embed iframe { height:980px; }

  footer { padding:32px 20px; }
}
