:root {
            --bg: #050505; --surface: #0a0a0a; --nav-h: 72px; --mobile-cta-h: 58px;
            --gold: #D4AF37; --gold-dim: #8a702a; --bronze: #cd7f32;
            --text: #fff; --text-dim: #d0d0d0; --border: #222;
        }
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { background: var(--bg); color: var(--text); font-family: 'Source Sans 3', 'Segoe UI', system-ui, -apple-system, sans-serif; min-height: 100vh; display: flex; flex-direction: column; line-height: 1.6; }
        .page-header { padding: 48px 20px 32px; text-align: center; }
        .page-header h1 { font-family: 'Oswald', sans-serif; font-size: clamp(2.2rem, 5vw, 3.5rem); text-transform: uppercase; letter-spacing: 2px; }
        .hero-gold-gradient { background: linear-gradient(135deg, var(--gold), var(--bronze)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .page-lead { max-width: 560px; margin: 12px auto 0; color: var(--text-dim); font-size: 1.15rem; }
        .container { max-width: 720px; margin: 0 auto; padding: 0 20px 80px; flex-grow: 1; width: 100%; }
        .card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 28px 32px; margin-bottom: 24px; }
        .card-highlight { border-color: rgba(212,175,55,0.35); }
        .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        .calc-field label { display: block; font-size: 0.85rem; color: var(--text-dim); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
        .calc-field input, .calc-field select { width: 100%; padding: 10px 12px; background: rgba(255,255,255,0.05); border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-family: inherit; font-size: 1rem; }
        .result-panel { text-align: center; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
        .grip-calc-example-note {
            margin: 0 0 16px;
            padding: 10px 12px;
            border-radius: 8px;
            background: rgba(212, 175, 55, 0.08);
            color: var(--text-dim);
            font-size: 0.9rem;
            line-height: 1.4;
        }
        .grip-calc-example-note[hidden] { display: none; }
        .grip-calc-scoreboard {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
            gap: 10px;
            margin-bottom: 8px;
        }
        .grip-calc-stat {
            padding: 14px 8px 16px;
            border-radius: 12px;
            background: rgba(255,255,255,0.03);
            border: 1px solid var(--border);
        }
        .grip-calc-stat--hero {
            background: rgba(212, 175, 55, 0.08);
            border-color: rgba(212, 175, 55, 0.28);
        }
        .grip-calc-stat-label {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--gold);
            margin-bottom: 8px;
            font-weight: 700;
        }
        .grip-calc-stat-value {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(1.7rem, 4vw, 2.2rem);
            line-height: 1;
            color: #fff;
        }
        .grip-calc-stat--younger .grip-calc-stat-value { color: var(--gold); }
        .grip-calc-stat--older .grip-calc-stat-value { color: #9ca3af; }
        .grip-result { font-family: 'Oswald', sans-serif; font-size: clamp(2.4rem, 6vw, 3.4rem); color: var(--gold); line-height: 1; }
        .grip-result.mature { color: #9ca3af; }
        .result-expected { margin-top: 14px; padding: 12px 16px; border-radius: 8px; background: rgba(212,175,55,0.08); border: 1px solid rgba(212,175,55,0.22); color: #e8d9a8; font-size: 0.98rem; line-height: 1.45; }
        .result-compare { color: var(--text-dim); margin-top: 10px; font-size: 1.05rem; }
        .result-compare:empty { display: none; }
        .tier-pill { display: inline-block; margin-top: 12px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--border); font-family: 'Rajdhani', 'Source Sans 3', sans-serif; font-size: 0.75rem; text-transform: uppercase; }
        .btn-primary,
        a.btn-primary,
        a.btn-primary:link,
        a.btn-primary:visited,
        a.btn-primary:hover {
          display: inline-block;
          margin-top: 20px;
          background: linear-gradient(135deg, var(--gold), var(--bronze));
          color: #000 !important;
          -webkit-text-fill-color: #000 !important;
          font-weight: 700;
          text-transform: uppercase;
          padding: 12px 24px;
          border-radius: 8px;
          text-decoration: none;
        }
        /* Training & benefits: gold fill + black label (readable) */
        .btn-secondary,
        a.btn-secondary,
        a.btn-secondary:link,
        a.btn-secondary:visited,
        a.btn-secondary:hover,
        a.btn-secondary:focus-visible {
          display: inline-block;
          margin-top: 12px;
          margin-left: 10px;
          color: #000 !important;
          -webkit-text-fill-color: #000 !important;
          background: linear-gradient(135deg, var(--gold), var(--bronze));
          border: 1px solid rgba(205, 127, 50, 0.55);
          font-weight: 700;
          text-transform: uppercase;
          padding: 11px 20px;
          border-radius: 8px;
          text-decoration: none;
          font-size: 0.9rem;
          box-shadow: 0 6px 18px rgba(212, 175, 55, 0.28);
        }
        a.btn-secondary:hover {
          filter: brightness(1.05);
        }
        footer { margin-top: auto; padding: 40px 20px; text-align: center; border-top: 1px solid var(--border); background: #0a0a0a; }
        .footer-logo { height: 72px; margin: 0 auto 12px; display: block; opacity: 0.85; }
        @media (max-width: 900px) {
            .calc-grid { grid-template-columns: 1fr; }
        }

/* Grip Age medical disclaimer (static + injected) */
.wdhc-gripage-disclaimer {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(0,0,0,0.28);
  font-size: 0.82rem;
  line-height: 1.45;
  color: #a8a8a8;
}
.wdhc-gripage-disclaimer a { color: #d4af37; }
.wdhc-gripage-disclaimer strong { display: block; margin: 0 0 8px; color: #c8c0a8; }
