/* ═════════ BRAND THEMES ═════════
   Each page sets one theme class on <body>. Base styles only read these tokens.
   Mullinax Indomitus Performance (Midnight & Gold) is the default. */
:root {
  /* Mullinax Indomitus Performance — Midnight & Gold */
  --black: #0F1B2D;        /* midnight: page background */
  --grey: #172843;         /* raised panels/cards */
  --mid: #23344F;          /* steel: secondary panels */
  --white: #F4EFE6;        /* bone: main text */
  --accent: #C9A23F;       /* gold: primary accent, buttons */
  --accent-dark: #9C7A22;  /* dark gold: hover/pressed */
  --accent-text: #D4AF4F;  /* accent used as small text */
  --on-accent: #0F1B2D;    /* text/icons placed on an accent fill */
  --on-accent-dark: #0F1B2D;
  --gold: #C9A23F;
  --gold-text: #D4AF4F;
  --on-gold: #0F1B2D;
  --text-soft: #C7CDD8;
  --border: #33476A;
  --muted: #9DA8BA;
  --bg-rgb: 15,27,45;
  --fg-rgb: 244,239,230;
  --accent-rgb: 201,162,63;
  /* Partner brands — only used by their own pages */
  --ud-lime: #bfd127;
  --ud-lime-dark: #a3b31c;
  --ud-blue: #4c84e3;
  --sp-red: #e0232e;
  --sp-red-dark: #a8141d;
  --ccrx-navy: #011D57;
  --ccrx-blue: #012F7B;
  --ccrx-royal: #0042A9;
  --ccrx-lime: #C4F500;
}

/* Underdog Fitness pages (Underdog Training, Supplements) — black, lime, blue */
.theme-underdog {
  --black: #080808; --grey: #141414; --mid: #1e1e1e; --white: #f2ede4;
  --accent: var(--ud-lime); --accent-dark: var(--ud-lime-dark); --accent-text: var(--ud-lime);
  --on-accent: #080808; --on-accent-dark: #080808;
  --gold: var(--ud-blue); --gold-text: var(--ud-lime); --text-soft: #c8c2b8;
  --border: rgba(255,255,255,.08); --muted: #8f8f8f;
  --bg-rgb: 8,8,8; --fg-rgb: 242,237,228; --accent-rgb: 191,209,39;
}
/* DEKA Roadshows — Spartan red, black, white */
.theme-deka {
  --black: #000; --grey: #0d0d0d; --mid: #1a1a1a; --white: #ffffff;
  --accent: var(--sp-red); --accent-dark: var(--sp-red-dark); --accent-text: #F0454E;
  --on-accent: #fff; --on-accent-dark: #fff;
  --gold: var(--sp-red); --gold-text: #F0454E; --text-soft: #cfcfcf;
  --border: rgba(255,255,255,.1); --muted: #8f8f8f;
  --bg-rgb: 0,0,0; --fg-rgb: 245,245,245; --accent-rgb: 224,35,46;
}
/* Peptides — Underdog Recovery & Wellness, powered by CCRX — royal blue + lime */
.theme-ccrx {
  --black: var(--ccrx-navy); --grey: var(--ccrx-blue); --mid: #0a3a8c; --white: #ffffff;
  --accent: var(--ccrx-lime); --accent-dark: #a9d400; --accent-text: var(--ccrx-lime);
  --on-accent: var(--ccrx-navy); --on-accent-dark: var(--ccrx-navy);
  --gold: var(--ccrx-lime); --gold-text: var(--ccrx-lime); --text-soft: #D3DCEC;
  --border: rgba(255,255,255,.16); --muted: #AEBBD3;
  --bg-rgb: 1,29,87; --fg-rgb: 255,255,255; --accent-rgb: 196,245,0;
}

/* Visible keyboard focus on every theme */
a:focus-visible, button:focus-visible, iframe:focus-visible { outline:3px solid var(--accent-text); outline-offset:3px; }
::selection { background:var(--accent); color:var(--on-accent); }

/* ═════════ NAV (shared) ═════════ */
.nav-logo { display:flex; align-items:center; gap:12px; font-family:'Barlow Condensed',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.nav-logo img { width:48px; height:auto; display:block; }
.nav-logo .nav-home { display:none; }
.nav-links a[aria-current="page"] { color:var(--white); box-shadow:inset 0 -2px 0 var(--accent); padding-bottom:6px; }
@media(max-width:960px){ .nav-logo img { width:40px; } }

/* Partner pages: a small "← Mullinax" home cue next to the Laurel */
.theme-underdog .nav-logo .nav-home, .theme-deka .nav-logo .nav-home, .theme-ccrx .nav-logo .nav-home { display:inline; }

/* ═════════ FOOTER (shared, always Mullinax brand) ═════════ */
.foot-logo img { width:139px; height:auto; display:block; } /* ≈120px tall */
.foot-copy { color:var(--muted); }
.foot-legal { flex-basis:100%; font-size:.7rem; color:var(--muted); letter-spacing:.5px; }

/* ═════════ LANDING (Mullinax Indomitus Performance) ═════════ */
.mip-hero { min-height:100vh; min-height:100svh; display:grid; grid-template-columns:1.05fr .95fr; position:relative; overflow:hidden; }
.mip-hero-left { display:flex; flex-direction:column; justify-content:center; padding:130px 56px 72px 52px; position:relative; z-index:2; }
.mip-logo { width:220px; height:auto; display:block; margin-bottom:34px; opacity:0; animation:fadeUp .7s ease .1s forwards; }
.mip-llc { font-family:'Barlow Condensed',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:6px; text-transform:uppercase; color:var(--gold-text); margin-bottom:14px; opacity:0; animation:fadeUp .7s ease .25s forwards; }
.mip-hero .hero-name { font-size:clamp(4rem,7vw,7.5rem); }
.mip-hero .hero-sub { max-width:500px; }
.mip-hero .hero-right::before { background:linear-gradient(to right,var(--black) 0%,rgba(var(--bg-rgb),.55) 30%,transparent 55%),linear-gradient(to top,var(--black) 0%,transparent 30%); }

.biz { padding:120px 52px; max-width:1440px; margin:0 auto; }
.biz-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; margin-bottom:48px; }
.biz-head .sec-title { margin-bottom:0; }
.biz-head p { max-width:440px; font-size:.95rem; line-height:1.8; color:var(--text-soft); }
.biz-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.biz-card { --c:var(--accent); --c-text:var(--accent-text); position:relative; display:flex; flex-direction:column; min-height:360px; padding:34px 28px 28px; background:var(--grey); border:1px solid var(--border); border-top:4px solid var(--c); color:inherit; text-decoration:none; cursor:none; transition:transform .25s,box-shadow .25s,border-color .25s; }
.biz-card:hover { transform:translateY(-6px); box-shadow:0 22px 44px rgba(0,0,0,.4); border-color:var(--c); }
.biz-card.ud { --c:var(--ud-lime); --c-text:var(--ud-lime); }
.biz-card.deka { --c:var(--sp-red); --c-text:#FF5A62; }
.biz-card.supps { --c:var(--ud-blue); --c-text:#8DB3F2; }
.biz-card.ccrx { --c:var(--ccrx-lime); --c-text:var(--ccrx-lime); }
.biz-num { font-family:'Bebas Neue',sans-serif; font-size:1rem; letter-spacing:3px; color:var(--muted); margin-bottom:26px; }
.biz-brand { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--c-text); margin-bottom:10px; }
.biz-name { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; line-height:.95; letter-spacing:1px; color:var(--white); margin-bottom:16px; }
.biz-desc { font-size:.9rem; line-height:1.75; color:var(--text-soft); flex:1; }
.biz-go { margin-top:24px; padding-top:16px; border-top:1px solid var(--border); display:flex; justify-content:space-between; font-family:'Barlow Condensed',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--c-text); }
.biz-card:hover .arr { transform:translateX(5px); }

.cta-band { margin:0 52px 120px; padding:48px 52px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; background:linear-gradient(100deg,rgba(var(--accent-rgb),.14),rgba(var(--accent-rgb),.04)); border:1px solid rgba(var(--accent-rgb),.35); }
.cta-band h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.2rem,3.4vw,3.2rem); line-height:1; color:var(--white); margin-bottom:8px; }
.cta-band p { color:var(--text-soft); font-size:.95rem; line-height:1.7; }
@media(min-width:1600px){ .cta-band { max-width:1336px; margin-left:auto; margin-right:auto; } }

/* Partner pages start under the fixed nav */
.page-top { padding-top:96px; }
.page-top > section:first-child { padding-top:72px; }

/* Contact page (Mullinax brand) */
.contact.page { min-height:100vh; padding-top:150px; }

/* ═════════ PEPTIDES PAGE (CCRX) ═════════ */
.ccrx-hero { background:linear-gradient(160deg,var(--ccrx-royal) 0%,var(--ccrx-blue) 55%,var(--ccrx-navy) 100%); padding:170px 52px 110px; position:relative; overflow:hidden; }
.ccrx-hero::after { content:''; position:absolute; right:-180px; top:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(196,245,0,.16),transparent 65%); pointer-events:none; }
.ccrx-inner { max-width:1240px; margin:0 auto; position:relative; z-index:1; }
.ccrx-badge { display:inline-flex; align-items:center; gap:10px; font-family:'Barlow Condensed',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--ccrx-lime); border:1px solid rgba(196,245,0,.45); padding:8px 16px; margin-bottom:26px; }
.ccrx-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.6rem,7vw,7rem); line-height:.9; letter-spacing:1px; color:#fff; margin-bottom:18px; }
.ccrx-title em { font-style:normal; color:var(--ccrx-lime); }
.ccrx-tag { font-family:'Barlow Condensed',sans-serif; font-size:1.3rem; font-weight:600; letter-spacing:1px; color:var(--ccrx-lime); margin-bottom:22px; }
.ccrx-lead { max-width:640px; font-size:1rem; line-height:1.85; color:var(--text-soft); margin-bottom:34px; }
.ccrx-lead strong { color:#fff; font-weight:600; }
.ccrx-body { padding:90px 52px 110px; }
.theme-ccrx .quality-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-bottom:48px; }
.theme-ccrx .q-item { background:var(--ccrx-blue); }
.theme-ccrx .q-num { color:var(--ccrx-lime); }
.theme-ccrx .q-desc { color:var(--text-soft); }
.theme-ccrx .stack-title span { color:var(--ccrx-lime); }
.theme-ccrx .supps-cta { background:linear-gradient(100deg,rgba(196,245,0,.12),rgba(0,66,169,.35)); border-color:rgba(196,245,0,.35); }
.theme-ccrx .supps-cta-sub { color:var(--text-soft); }
.theme-ccrx .supps-fine { color:var(--muted); }

/* ═════════ RESPONSIVE ═════════ */
@media(max-width:1200px){ .biz-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:960px){
  .mip-hero { display:block; }
  .mip-hero .hero-right { position:absolute; inset:0; height:auto; }
  .mip-hero .hero-right::before { background:linear-gradient(to top,var(--black) 0%,rgba(var(--bg-rgb),.95) 48%,rgba(var(--bg-rgb),.55) 66%,rgba(var(--bg-rgb),.2) 100%); }
  .mip-hero-left { min-height:100vh; min-height:100svh; justify-content:flex-end; padding:110px 20px 40px; }
  .mip-logo { width:150px; margin-bottom:22px; }
  .mip-llc { font-size:.66rem; letter-spacing:3px; }
  .biz { padding:72px 20px; }
  .biz-grid { grid-template-columns:1fr; gap:12px; }
  .biz-card { min-height:0; padding:26px 22px 22px; }
  .biz-num { margin-bottom:14px; }
  .biz-name { font-size:2.1rem; }
  .cta-band { grid-template-columns:1fr; margin:0 20px 72px; padding:32px 22px; gap:22px; }
  .cta-band .btn { justify-content:center; }
  .page-top { padding-top:72px; }
  .page-top > section:first-child { padding-top:40px; }
  .contact.page { padding-top:110px; }
  .ccrx-hero { padding:130px 20px 72px; }
  .ccrx-body { padding:56px 20px 72px; }
  .theme-ccrx .quality-strip { grid-template-columns:1fr; }
  .foot-logo img { width:116px; }
}
@media (hover:none) { .biz-card { cursor:auto; } }

/* ═════════ PHONE POLISH ═════════ */
.more-btn { display:inline-flex; align-items:center; gap:8px; margin:4px 0 22px; padding:12px 18px; background:transparent; border:1px solid var(--border); color:var(--accent-text); font-family:'Barlow Condensed',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; cursor:pointer; }
.more-btn:hover { border-color:var(--accent); }
@media(max-width:960px){
  /* Landing hero: smaller logo so the photo and name lead */
  .mip-logo { width:96px; margin-bottom:16px; }
  .mip-hero .hero-name { font-size:clamp(3.4rem,17vw,4.6rem); }
  .mip-hero .hero-sub { font-size:.92rem; }
  .mip-hero .hero-ctas { margin-top:20px; }

  /* About: tighter text and credentials */
  .about-text p { font-size:.94rem; line-height:1.75; }
  .credentials { margin-top:20px; gap:6px; }
  .cred-item { padding:9px 12px; font-size:.76rem; letter-spacing:1px; }

  /* Business picker: 2 × 2 tap tiles */
  .biz-head { margin-bottom:22px; gap:12px; }
  .biz-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .biz-card { padding:18px 14px 14px; border-top-width:3px; }
  .biz-num, .biz-desc { display:none; }
  .biz-brand { font-size:.56rem; letter-spacing:2px; margin-bottom:8px; }
  .biz-name { font-size:1.55rem; margin-bottom:0; flex:1; }
  .biz-go { margin-top:14px; padding-top:10px; font-size:.62rem; letter-spacing:1.5px; }

  /* Partner pages: less dead space between blocks */
  .ud-header,.deka-header { margin-bottom:32px !important; }
  .pillars { margin-bottom:32px; }
  .case-study { margin-bottom:36px; }
  .value-cards,.why-grid,.reqs,.deka-story { margin-bottom:36px; }
  .stack-grid { margin-bottom:28px; }
  .ccrx-title { font-size:clamp(3rem,15vw,4.4rem); }
  .ccrx-lead { font-size:.94rem; line-height:1.75; }
  .ccrx-hero .btn { width:100%; justify-content:center; }
}
@media(max-width:960px){
  nav.open .nav-links { background:var(--black); }
  .nav-links a[aria-current="page"] { box-shadow:none; padding-bottom:15px; color:var(--accent-text) !important; }
}

/* ═════════ COACHING TIERS (/underdog) ═════════ */
.tiers { margin-top:88px; }
.tier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.tier-card { position:relative; display:flex; flex-direction:column; padding:36px 30px 30px; background:var(--grey); border:1px solid var(--border); border-top:4px solid var(--ud-blue); }
.tier-card.popular { border-color:var(--ud-lime); border-top-color:var(--ud-lime); box-shadow:0 0 0 1px var(--ud-lime),0 24px 48px rgba(0,0,0,.45); transform:translateY(-10px); }
.tier-badge { position:absolute; top:-15px; left:30px; background:var(--ud-lime); color:#080808; font-family:'Barlow Condensed',sans-serif; font-size:.66rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; padding:6px 12px; }
.tier-name { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; letter-spacing:1px; line-height:1; color:var(--white); margin-bottom:10px; }
.tier-for { font-size:.88rem; line-height:1.65; color:var(--text-soft); margin-bottom:22px; min-height:2.9em; }
.tier-price { font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:600; letter-spacing:1px; color:var(--ud-lime); padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:22px; }
.tier-price strong { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; font-weight:400; letter-spacing:1px; color:var(--white); }
.tier-inc-label { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:4px; text-transform:uppercase; color:#8DB3F2; margin-bottom:12px; }
.tier-inc { list-style:none; margin-bottom:28px; flex:1; }
.tier-inc li { position:relative; padding:7px 0 7px 26px; font-size:.9rem; line-height:1.55; color:var(--text-soft); }
.tier-inc li::before { content:'✓'; position:absolute; left:0; top:7px; color:var(--ud-lime); font-weight:700; }
.tier-btn { justify-content:center; }
.case-study + .case-study { margin-top:-40px; }
@media(max-width:960px){
  .tiers { margin-top:48px; }
  .tier-grid { grid-template-columns:1fr; gap:26px; }
  .tier-card { padding:30px 22px 22px; }
  .tier-card.popular { transform:none; }
  .tier-for { min-height:0; }
}
