:root{
    --black:#07090a;
    --coal:#0d120e;
    --panel:#111711;
    --deep:#04331a;
    --green:#00a651;
    --kelly:#17c964;
    --lime:#7ee83d;
    --yellow:#fee11a;
    --yellow-deep:#ffd400;
    --white:#f4f7f2;
    --muted:#b9c6ba;
    --line:rgba(126,232,61,.22);
    --display:"Barlow Condensed", "Arial Narrow", sans-serif;
    --body:"Barlow", system-ui, sans-serif;
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background:var(--black);
    color:var(--white);
    font-family:var(--body);
    font-size:17px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{ display:block; max-width:100%; }
  a{ color:inherit; }
  .wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }

  /* ---------- Top bar ---------- */
  .topbar{
    position:sticky; top:0; z-index:50;
    background:rgba(7,9,10,.92);
    backdrop-filter:blur(10px);
    border-bottom:3px solid var(--yellow);
  }
  .topbar-in{
    display:flex; align-items:center; gap:14px;
    padding:10px 0;
  }
  .logo-chip{
    background:#fff; border-radius:10px; padding:5px 8px;
    display:flex; align-items:center; flex:none;
    box-shadow:0 0 0 2px var(--green);
  }
  .logo-chip img{ height:44px; width:auto; }
  .brand{ line-height:1; }
  .brand .name{
    font-family:var(--display); font-weight:800; font-style:italic;
    font-size:clamp(1.35rem, 3.4vw, 1.8rem); letter-spacing:.02em;
    text-transform:uppercase; color:var(--white);
  }
  .brand .name em{ color:var(--yellow); font-style:italic; }
  .brand .sub{
    font-family:var(--display); font-weight:600; letter-spacing:.42em;
    font-size:.72rem; text-transform:uppercase; color:var(--kelly);
    margin-top:3px;
  }
  .topbar .spacer{ flex:1; }
  .nav-links{ display:flex; gap:4px; margin-left:12px; }
  .nav-link{
    font-family:var(--display); font-weight:700; font-style:italic;
    text-transform:uppercase; letter-spacing:.08em; font-size:1.02rem;
    color:var(--white); text-decoration:none; padding:8px 12px;
    border-bottom:3px solid transparent;
  }
  .nav-link:hover{ color:var(--yellow); }
  .nav-link.active{ color:var(--yellow); border-bottom-color:var(--yellow); }
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--display); font-weight:700; font-style:italic;
    text-transform:uppercase; letter-spacing:.06em;
    font-size:1.05rem; text-decoration:none;
    padding:12px 26px;
    clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    transition:transform .15s ease, background .15s ease, color .15s ease;
  }
  .btn-yellow{ background:var(--yellow); color:#0a0f0a; }
  .btn-yellow:hover{ background:var(--white); transform:translateY(-2px); }
  .btn-ghost{
    background:transparent; color:var(--white);
    box-shadow:inset 0 0 0 2px var(--kelly);
  }
  .btn-ghost:hover{ background:var(--green); color:#fff; transform:translateY(-2px); }
  .btn-sm{ padding:9px 20px; font-size:.95rem; }

  /* ---------- Hero ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:
      radial-gradient(1100px 520px at 85% -10%, rgba(0,166,81,.38), transparent 60%),
      radial-gradient(700px 420px at -10% 110%, rgba(254,225,26,.10), transparent 55%),
      linear-gradient(180deg, #0a140d 0%, var(--black) 78%);
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid; grid-template-columns:1.08fr .92fr; gap:48px;
    align-items:center; padding:64px 0 56px;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--display); font-weight:700; letter-spacing:.3em;
    font-size:.85rem; text-transform:uppercase; color:var(--yellow);
    border:1px solid rgba(254,225,26,.45); padding:7px 14px 6px;
    background:rgba(254,225,26,.06);
  }
  .eyebrow::before{ content:""; width:9px; height:9px; background:var(--kelly); transform:rotate(45deg); flex:none; }
  h1{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; line-height:.92; letter-spacing:.005em;
    font-size:clamp(3.2rem, 8.2vw, 6.6rem);
    margin:22px 0 20px;
  }
  h1 .l1{ display:block; color:var(--white); }
  h1 .l2{ display:block; color:var(--yellow); text-shadow:0 0 34px rgba(254,225,26,.25); }
  h1 .l3{ display:block; color:var(--kelly); }
  .hero-sub{
    font-size:1.13rem; color:var(--muted); max-width:34rem; margin:0 0 30px;
  }
  .hero-sub strong{ color:var(--white); }
  .hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; }
  .hero-poster{ position:relative; }
  .hero-poster .frame{
    transform:rotate(2.5deg);
    border:4px solid var(--yellow);
    box-shadow:18px 18px 0 var(--green), 0 30px 60px rgba(0,0,0,.55);
    background:var(--deep);
  }
  .hero-poster img{ width:100%; height:auto; }
  .hero-poster .tag{
    position:absolute; left:-14px; bottom:26px;
    background:var(--yellow); color:#0a0f0a;
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; letter-spacing:.08em; font-size:1rem;
    padding:8px 16px; transform:rotate(-2deg);
    box-shadow:0 10px 24px rgba(0,0,0,.45);
  }

  /* ---------- Stat band ---------- */
  .band{
    border-top:1px solid var(--line);
    background:linear-gradient(90deg, rgba(0,166,81,.14), rgba(0,166,81,.04));
  }
  .band-grid{
    display:grid; grid-template-columns:repeat(3, 1fr);
  }
  .band-cell{
    padding:26px 28px 24px;
    border-left:1px solid var(--line);
  }
  .band-cell:first-child{ border-left:none; }
  .band-cell .big{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; line-height:1; font-size:clamp(1.5rem, 3.4vw, 2.15rem);
    color:var(--white);
  }
  .band-cell .big span{ color:var(--yellow); }
  .band-cell p{ margin:8px 0 0; color:var(--muted); font-size:.98rem; }

  /* ---------- Marquee ---------- */
  .marquee{
    background:var(--yellow); color:#075c2a;
    transform:rotate(-1.1deg) scale(1.02);
    margin:34px 0 6px;
    border-top:3px solid #0a0f0a; border-bottom:3px solid #0a0f0a;
    overflow:hidden; white-space:nowrap;
  }
  .marquee-track{
    display:inline-flex; padding:10px 0;
    animation:scroll 26s linear infinite;
    will-change:transform;
  }
  .marquee span{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; letter-spacing:.1em;
    font-size:1.45rem; padding-right:.6em;
  }
  @keyframes scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @media (prefers-reduced-motion: reduce){
    .marquee-track{ animation:none; }
    html{ scroll-behavior:auto; }
  }

  /* ---------- Sections ---------- */
  section{ padding:76px 0; }
  .kicker{
    font-family:var(--display); font-weight:700; letter-spacing:.32em;
    text-transform:uppercase; font-size:.85rem; color:var(--kelly);
    margin:0 0 10px;
  }
  h2{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; line-height:.95;
    font-size:clamp(2.3rem, 5.4vw, 3.9rem); margin:0 0 16px;
  }
  h2 .y{ color:var(--yellow); }
  h2 .g{ color:var(--kelly); }
  .lede{ color:var(--muted); max-width:44rem; font-size:1.08rem; margin:0; }

  /* Feature cards */
  .features{
    display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:42px;
  }
  .feature{
    position:relative; overflow:hidden; background:var(--panel);
    border:1px solid var(--line);
  }
  .feature .photo{ aspect-ratio:3/2; overflow:hidden; }
  .feature .photo img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .5s ease;
  }
  .feature:hover .photo img{ transform:scale(1.04); }
  .feature .body{ padding:24px 26px 28px; border-top:4px solid var(--yellow); }
  .feature.alt .body{ border-top-color:var(--kelly); }
  .feature h3{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; font-size:2rem; line-height:1; margin:0 0 10px;
  }
  .feature p{ margin:0; color:var(--muted); }
  .feature .chip{
    position:absolute; top:16px; left:16px; z-index:2;
    background:#0a0f0a; color:var(--yellow);
    font-family:var(--display); font-weight:700; letter-spacing:.22em;
    font-size:.78rem; text-transform:uppercase; padding:6px 12px;
    border:1px solid rgba(254,225,26,.5);
  }
  .feature.alt .chip{ color:var(--lime); border-color:rgba(126,232,61,.5); }

  /* Pathway */
  .pathway{ background:linear-gradient(180deg, var(--coal), #08130b); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .pathway-grid{
    display:grid; grid-template-columns:1fr .82fr; gap:52px; align-items:center;
  }
  .steps{ margin-top:38px; display:grid; gap:0; }
  .step{
    display:grid; grid-template-columns:86px 1fr; gap:20px;
    padding:22px 0; border-top:1px solid var(--line);
  }
  .step:last-child{ border-bottom:1px solid var(--line); }
  .step .num{
    font-family:var(--display); font-weight:800; font-style:italic;
    font-size:2.9rem; line-height:.9; color:transparent;
    -webkit-text-stroke:2px var(--yellow);
  }
  .step:nth-child(2) .num{ -webkit-text-stroke-color:var(--kelly); }
  .step:nth-child(3) .num{ -webkit-text-stroke-color:var(--lime); }
  .step h3{
    font-family:var(--display); font-weight:700; font-style:italic;
    text-transform:uppercase; font-size:1.55rem; margin:2px 0 6px; line-height:1;
  }
  .step p{ margin:0; color:var(--muted); }
  .pathway-photo{ position:relative; }
  .pathway-photo .frame{
    transform:rotate(-2deg);
    border:4px solid var(--kelly);
    box-shadow:-16px 16px 0 rgba(254,225,26,.9), 0 30px 60px rgba(0,0,0,.5);
    background:#fff;
  }
  .pathway-photo img{ width:100%; height:auto; }

  /* Spotlight */
  .spot-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:26px; margin-top:42px;
  }
  .spot{
    position:relative; overflow:hidden; background:var(--panel);
    border:1px solid var(--line);
  }
  .spot .photo{ aspect-ratio:4/3.4; overflow:hidden; }
  .spot.tall .photo{ aspect-ratio:4/4.6; }
  .spot .photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .5s ease; }
  .spot:hover .photo img{ transform:scale(1.04); }
  .spot .cap{
    position:absolute; left:0; right:0; bottom:0;
    padding:52px 24px 20px;
    background:linear-gradient(180deg, transparent, rgba(4,10,6,.92) 62%);
  }
  .spot .cap h3{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; font-size:1.7rem; line-height:1; margin:0 0 6px;
    color:var(--white);
  }
  .spot .cap h3 span{ color:var(--yellow); }
  .spot .cap p{ margin:0; color:#d7e2d6; font-size:.98rem; max-width:26rem; }

  /* Coach */
  .coach{ background:linear-gradient(120deg, #06280f 0%, #0a1a0e 55%, var(--black) 100%); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .coach-grid{
    display:grid; grid-template-columns:.85fr 1fr; gap:52px; align-items:center;
  }
  .coach-photo .frame{
    transform:rotate(2deg);
    border:4px solid var(--yellow);
    box-shadow:16px 16px 0 var(--green), 0 30px 60px rgba(0,0,0,.55);
  }
  .coach-photo img{ width:100%; height:auto; }
  .coach-copy p{ color:var(--muted); font-size:1.08rem; max-width:32rem; }
  .coach-copy p strong{ color:var(--white); }
  .coach-points{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:12px; }
  .coach-points li{
    display:flex; gap:12px; align-items:flex-start;
    font-family:var(--display); font-weight:600; text-transform:uppercase;
    letter-spacing:.08em; font-size:1.08rem;
  }
  .coach-points li::before{
    content:""; flex:none; width:11px; height:11px; margin-top:6px;
    background:var(--yellow); transform:rotate(45deg);
  }

  /* Closing CTA */
  .cta{ text-align:center; padding:96px 0 90px; position:relative; overflow:hidden; }
  .cta::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(760px 340px at 50% 0%, rgba(0,166,81,.35), transparent 65%);
    pointer-events:none;
  }
  .cta .logo-chip{ display:inline-flex; padding:8px 12px; margin-bottom:26px; position:relative; }
  .cta .logo-chip img{ height:74px; }
  .cta h2{ font-size:clamp(2.7rem, 7vw, 5.2rem); position:relative; }
  .cta p{ color:var(--muted); max-width:36rem; margin:0 auto 32px; font-size:1.1rem; position:relative; }
  .cta .btn{ position:relative; font-size:1.25rem; padding:16px 38px; }

  /* Footer */
  footer{
    border-top:3px solid var(--yellow);
    background:#05070a; padding:34px 0 40px;
  }
  .foot{
    display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  }
  .foot .logo-chip img{ height:38px; }
  .foot .fname{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; font-size:1.25rem; letter-spacing:.03em;
  }
  .foot .fname span{ color:var(--kelly); font-size:.95rem; letter-spacing:.3em; display:block; font-style:normal; font-weight:600; }
  .foot .spacer{ flex:1; }
  .foot a.fb{
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.12em; color:var(--yellow); text-decoration:none;
    border:1px solid rgba(254,225,26,.5); padding:9px 18px;
  }
  .foot a.fb:hover{ background:var(--yellow); color:#0a0f0a; }
  .copy{
    margin-top:22px; color:#7e8d80; font-size:.9rem;
    display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  }

  /* ---------- Partner page ---------- */
  #partner-view[hidden]{ display:none; }
  .partner{ padding-top:52px; }
  .back-link{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.14em; font-size:.95rem; color:var(--kelly);
    text-decoration:none; margin-bottom:36px;
  }
  .back-link:hover{ color:var(--yellow); }
  .partner h2{ font-size:clamp(2.6rem, 6vw, 4.6rem); }
  .partner-grid{
    display:grid; grid-template-columns:1fr .8fr; gap:52px;
    align-items:center; margin-top:14px;
  }
  .roc-logo{ width:min(430px, 100%); height:auto; margin:4px 0 26px; }
  .partner-copy p{ color:var(--muted); font-size:1.08rem; max-width:34rem; margin:0 0 16px; }
  .partner-copy p strong{ color:var(--white); }
  .partner-facts{
    display:flex; flex-wrap:wrap; gap:10px;
    margin:24px 0 30px; padding:0; list-style:none;
  }
  .partner-facts li{
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.14em; font-size:.9rem; color:var(--yellow);
    border:1px solid rgba(254,225,26,.45); padding:7px 14px 6px;
    background:rgba(254,225,26,.05);
  }
  .partner-photo{ position:relative; }
  .partner-photo .frame{
    transform:rotate(2deg);
    border:4px solid var(--yellow);
    box-shadow:16px 16px 0 var(--green), 0 30px 60px rgba(0,0,0,.55);
    background:#fff;
  }
  .partner-photo img{ width:100%; height:auto; }
  .partner-photo .tag{
    position:absolute; left:-14px; bottom:26px;
    background:var(--yellow); color:#0a0f0a;
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; letter-spacing:.08em; font-size:1rem;
    padding:8px 16px; transform:rotate(-2deg);
    box-shadow:0 10px 24px rgba(0,0,0,.45);
  }

  /* ---------- Responsive ---------- */
  @media (max-width: 920px){
    .hero-grid{ grid-template-columns:1fr; gap:40px; padding:44px 0 44px; }
    .hero-poster{ max-width:520px; }
    .pathway-grid, .coach-grid, .partner-grid{ grid-template-columns:1fr; gap:40px; }
    .pathway-photo, .coach-photo, .partner-photo{ max-width:520px; }
    .band-grid{ grid-template-columns:1fr; }
    .band-cell{ border-left:none; border-top:1px solid var(--line); padding:20px 4px; }
    .band-cell:first-child{ border-top:none; }
  }
  @media (max-width: 640px){
    body{ font-size:16px; }
    section{ padding:56px 0; }
    .wrap{ padding:0 18px; }
    .features, .spot-grid{ grid-template-columns:1fr; }
    .topbar .btn{ display:none; }
    .topbar-in{ gap:8px; }
    .logo-chip{ padding:4px 6px; }
    .logo-chip img{ height:32px; }
    .nav-links{ margin-left:0; gap:0; }
    .nav-link{ padding:8px 5px; font-size:.88rem; }
    .brand .name{ font-size:1rem; white-space:nowrap; }
    .brand .sub{ letter-spacing:.22em; font-size:.6rem; }
    .brand .sub{ letter-spacing:.3em; }
    .step{ grid-template-columns:64px 1fr; gap:14px; }
    .step .num{ font-size:2.2rem; }
    .cta{ padding:70px 0 64px; }
    .foot{ justify-content:flex-start; }
  }

  /* ---------- Team registration & rosters ---------- */
  .tpage{ padding:56px 0 84px; }
  .tcard{
    background:var(--panel); border:1px solid var(--line);
    border-top:4px solid var(--yellow); padding:30px 30px 32px;
    margin-top:26px;
  }
  .tcard.narrow{ max-width:560px; }
  .tcard.mid{ max-width:720px; }
  .tfield{ margin-bottom:20px; }
  .tfield label{
    display:block; font-family:var(--display); font-weight:700;
    text-transform:uppercase; letter-spacing:.14em; font-size:.95rem;
    color:var(--white); margin-bottom:8px;
  }
  .tfield input, .tfield select{
    width:100%; background:#0a0f0a; color:var(--white);
    border:1px solid rgba(126,232,61,.35); padding:13px 14px;
    font-family:var(--body); font-size:1.05rem; border-radius:0;
    color-scheme:dark;
  }
  .tfield input:focus, .tfield select:focus{
    outline:2px solid var(--yellow); outline-offset:1px; border-color:var(--yellow);
  }
  .tfield input.code-input{
    text-transform:uppercase; letter-spacing:.3em; font-weight:700;
    font-family:var(--display); font-size:1.3rem;
  }
  .tfield .err{ display:none; color:#ff9d8a; font-size:.92rem; margin-top:6px; }
  .tfield.invalid input, .tfield.invalid select{ border-color:#ff7a5c; }
  .tfield.invalid .err{ display:block; }
  .tmsg{ display:none; margin:0 0 18px; padding:12px 16px; font-size:1rem; }
  .tmsg.error{ display:block; background:rgba(255,90,60,.12); border:1px solid #ff7a5c; color:#ffc9bc; }
  .tcard .btn-block, .gate-actions .btn-block{
    width:100%; justify-content:center; border:none; cursor:pointer;
    font-size:1.2rem; padding:15px 26px;
  }
  button.btn[disabled]{ opacity:.55; cursor:wait; transform:none; }
  .gate-note{ color:var(--muted); font-size:1rem; line-height:1.55; margin:0 0 18px; }
  .gate-note strong{ color:var(--yellow); }
  .birth-row{ display:flex; gap:14px; align-items:stretch; }
  .birth-row input{ flex:1; min-width:0; }
  .age-box{
    flex:none; min-width:104px; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:2px;
    border:1px dashed rgba(254,225,26,.5); background:rgba(254,225,26,.05);
    padding:6px 10px;
  }
  .age-box .age-num{
    font-family:var(--display); font-weight:800; font-style:italic;
    font-size:1.7rem; line-height:1; color:var(--yellow);
  }
  .age-box .age-label{
    font-family:var(--display); font-weight:600; letter-spacing:.28em;
    font-size:.68rem; text-transform:uppercase; color:var(--kelly);
  }
  .age-box.wide{ min-width:172px; align-items:stretch; padding:8px 14px; gap:6px; }
  .age-box .age-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
  .age-box .age-row .age-num{ font-size:1.45rem; }
  .field-pair{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .code-box{
    border:2px dashed rgba(254,225,26,.6); background:rgba(254,225,26,.06);
    padding:22px 12px 18px; text-align:center; margin:20px 0 8px;
  }
  .code-box .code-big{
    font-family:var(--display); font-weight:800; font-style:italic;
    font-size:clamp(2.3rem, 9vw, 3.4rem); line-height:1; letter-spacing:.32em;
    text-indent:.32em; color:var(--yellow);
  }
  .code-box .code-label{
    font-family:var(--display); font-weight:600; letter-spacing:.3em;
    font-size:.72rem; text-transform:uppercase; color:var(--kelly); margin-top:10px;
  }
  .badge{
    display:inline-flex; align-items:center; flex:none;
    font-family:var(--display); font-weight:700; font-style:italic;
    text-transform:uppercase; letter-spacing:.12em; font-size:.92rem;
    padding:6px 14px 5px; border:1px solid;
  }
  .badge-pending{ color:var(--yellow); border-color:rgba(254,225,26,.55); background:rgba(254,225,26,.06); }
  .badge-locked{ color:#0a0f0a; border-color:var(--kelly); background:var(--kelly); }
  .lock-note{
    background:rgba(23,201,100,.10); border:1px solid var(--kelly);
    color:#dff5e4; padding:14px 16px; margin:0 0 20px; font-size:1rem;
  }
  .lock-note strong{ color:var(--white); }
  .roster-head{
    display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px;
  }
  .roster-head .team-title{
    font-family:var(--display); font-weight:800; font-style:italic;
    text-transform:uppercase; font-size:1.6rem; line-height:1;
  }
  .roster-head .spacer{ flex:1; }
  .roster-count{ color:var(--muted); margin:0 0 16px; }
  .roster-count strong{ color:var(--yellow); }
  .rtable{ width:100%; border-collapse:collapse; font-size:.98rem; }
  .rtable th, .rtable td{
    text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap;
  }
  .rtable th{
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.12em; font-size:.85rem; color:var(--kelly);
  }
  .rtable td{ color:var(--white); }
  .mini-btn{
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    letter-spacing:.1em; font-size:.82rem; cursor:pointer;
    background:transparent; color:var(--yellow);
    border:1px solid rgba(254,225,26,.5); padding:6px 12px; margin-right:6px;
  }
  .mini-btn:hover{ background:var(--yellow); color:#0a0f0a; }
  .mini-btn.danger{ color:#ff9d8a; border-color:rgba(255,122,92,.6); }
  .mini-btn.danger:hover{ background:#ff7a5c; color:#0a0f0a; }
  .mini-btn.danger.armed{ background:#ff7a5c; color:#0a0f0a; }
  .under-link{ margin-top:22px; color:var(--muted); }
  .under-link a{ color:var(--yellow); }
  @media (max-width: 640px){
    .tcard{ padding:22px 18px 24px; }
    .field-pair{ grid-template-columns:1fr; gap:0; }
    .age-box.wide{ min-width:138px; padding:8px 10px; }
    .age-box .age-row .age-num{ font-size:1.25rem; }
  }
  @media (max-width: 640px){
    /* Like the top-bar Join button, the Register Team nav link steps aside
       on phones — the hero button carries it there. */
    .nav-register{ display:none; }
  }
  .table-wrap{ overflow-x:auto; }
