
:root{--black:#050505;--panel:#0d0d0d;--white:#fff;--muted:#bdbdbd;--line:#2a2a2a;--red:#660000;--red-bright:#b30000}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 4vw;background:rgba(5,5,5,.94);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}.wordmark{font-size:clamp(1.25rem,2.4vw,2rem);font-weight:800;letter-spacing:-.04em;text-decoration:none}.main-nav{display:flex;align-items:center;gap:26px;font-size:.95rem}.main-nav a{text-decoration:none;color:#e7e7e7}.main-nav a:hover{color:#fff}.nav-cta{border:1px solid var(--red-bright);border-radius:8px;padding:12px 18px}.hero{min-height:650px;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(520px,1.35fr);align-items:stretch;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 4vw 72px 5vw;background:linear-gradient(90deg,#050505 0%,#050505 72%,rgba(5,5,5,.75) 100%);z-index:2}.hero-kicker,.section-kicker{margin:0 0 14px;color:var(--red-bright);font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(4.8rem,10vw,9rem);line-height:.87;letter-spacing:-.065em;font-weight:900}.hero p{max-width:560px;margin:28px 0 0;color:#e2e2e2;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6}.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border-radius:7px;text-decoration:none;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red-bright);color:#fff}.btn-primary:hover{background:#d00000}.btn-outline{border:1px solid #bdbdbd;background:transparent}.btn-outline:hover{border-color:#fff}.hero-media{position:relative;min-height:650px;background:#000;overflow:hidden}.hero-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.55) 12%,rgba(5,5,5,0) 34%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));pointer-events:none}.hero-photo{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#000}.section{padding:78px 4vw}.section-heading{text-align:center;max-width:820px;margin:0 auto 44px}.section-heading h2{margin:0;font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.12}.features{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{padding:32px 22px;text-align:center;border-right:1px solid var(--line)}.feature:last-child{border-right:0}.feature-icon{font-size:2rem;color:var(--red-bright);margin-bottom:14px}.feature h3{margin:0 0 12px;font-size:1.05rem}.feature p{margin:0;color:var(--muted);line-height:1.55}.center-cta{text-align:center;margin-top:34px}.partner-card{margin:0 4vw 78px;display:grid;grid-template-columns:1fr 1fr;min-height:340px;border:1px solid #3a3a3a;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 85% 50%,rgba(102,0,0,.28),transparent 28rem),linear-gradient(135deg,#0c0c0c,#111)}.partner-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}.partner-copy h2{margin:0;font-size:clamp(2.2rem,4vw,4rem)}.partner-copy p{max-width:560px;color:#d5d5d5;line-height:1.6;font-size:1.05rem}.partner-visual{display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(90deg,rgba(17,17,17,0),rgba(102,0,0,.22)),#0d0d0d}.partner-logo{width:min(100%,420px);display:block;background:#fff;border-radius:12px;padding:18px}.site-footer{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px;padding:44px 4vw 28px;border-top:1px solid var(--line);color:#d2d2d2}.site-footer h3{margin:0 0 12px;color:#fff}.site-footer a{display:block;margin:8px 0;text-decoration:none}.site-footer a:hover{color:#fff}.copyright{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--line);color:#8f8f8f;font-size:.9rem}.portal-shell{min-height:100vh;background:#050505;padding:24px}.portal-container{width:min(1100px,100%);margin:0 auto}.back-link{display:inline-block;margin-bottom:20px;color:#fff;text-decoration:none}.portal-wrap{background:#fff;border-radius:14px;min-height:650px;padding:18px}@media(max-width:980px){.main-nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:60px 24px 30px;background:#050505}.hero-media{min-height:440px}.features{grid-template-columns:1fr 1fr}.feature:nth-child(2n){border-right:0}.feature:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.partner-card{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}}@media(max-width:620px){.site-header{padding:16px 18px}.hero h1{font-size:clamp(4rem,23vw,6.5rem)}.hero-media{min-height:340px}.features{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.feature:last-child{grid-column:auto}.partner-copy{padding:34px 24px}.partner-visual{padding:26px 20px}}


/* Brand-matched coaching icons */
.feature-icon{
  width:42px;
  height:42px;
  margin:0 auto 16px;
  color:var(--red-bright);
  font-size:0;
}
.feature-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}




/* Harley card stays still; only button and logo are clickable */
.partner-card{
  border-color:var(--red-bright);
}

.partner-card:hover{
  transform:none;
  box-shadow:none;
}

.partner-logo-link{
  display:inline-block;
  border-radius:12px;
  text-decoration:none;
}

.partner-logo-link:hover .partner-logo,
.partner-logo-link:focus-visible .partner-logo{
  box-shadow:0 0 0 2px var(--red-bright), 0 14px 34px rgba(102,0,0,.22);
}

.partner-logo-link:focus-visible,
.partner-button:focus-visible{
  outline:2px solid var(--red-bright);
  outline-offset:4px;
}

/* Mobile layout correction — desktop remains unchanged */
@media (max-width: 620px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-header {
    padding: 16px 20px;
  }

  .wordmark {
    font-size: 1.55rem;
  }

  .hero {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .hero-copy {
    width: 100%;
    min-width: 0;
    padding: 64px 22px 38px;
    overflow: hidden;
  }

  .hero-kicker {
    font-size: .72rem;
    line-height: 1.45;
    letter-spacing: .11em;
  }

  .hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(3.15rem, 13.5vw, 4rem);
    line-height: .92;
    letter-spacing: -.055em;
    white-space: nowrap;
  }

  .hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 24px;
    font-size: 1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin-top: 28px;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 54px;
  }

  .hero-media {
    width: 100%;
    min-width: 0;
    min-height: 290px;
    padding: 0 8px 18px;
  }

  .hero-media::before {
    background: linear-gradient(180deg, rgba(5,5,5,.15), rgba(5,5,5,0) 20%, rgba(5,5,5,.12));
  }

  .hero-photo {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center center;
  }

  .section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .section-heading h2 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .partner-card {
    margin-left: 20px;
    margin-right: 20px;
  }
}


/* Mobile sticky brand header */
@media (max-width: 720px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 14px 18px;
    background: rgba(5, 5, 5, 0.96);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .site-header .wordmark {
    display: block;
    font-size: 1.35rem;
    line-height: 1;
    white-space: nowrap;
  }

  .site-header .desktop-nav,
  .site-header .header-cta {
    display: none;
  }
}
