:root {
  color-scheme: light;
  --elevare-navy: #0b1a43;
  --elevare-blue: #123772;
  --elevare-orange: #f4a01c;
  --rk-canvas: #fff;
  --rk-canvas-soft: #f1f6fc;
  --rk-surface: #fff;
  --rk-surface-raised: #f4f6fa;
  --rk-surface-strong: #e7eef8;
  --rk-text: #142346;
  --rk-text-soft: #374c67;
  --rk-muted: #52647a;
  --rk-border: rgba(10, 23, 62, .14);
  --rk-border-strong: rgba(10, 23, 62, .28);
  --rk-primary: var(--elevare-orange);
  --rk-primary-hover: #ffb949;
  --rk-primary-pressed: #e58b05;
  --rk-primary-soft: #fff1d7;
  --rk-success: #076644;
  --ftr-indigo: #143671;
  --ftr-indigo-deep: #0b2257;
  --ftr-ink: var(--elevare-navy);
  --gradient-purple: linear-gradient(140deg, #193974, #0b1d50);
  --gradient-indigo: linear-gradient(140deg, #286c9c, #14477d);
  --shadow-soft: 0 14px 38px rgba(10, 23, 62, .08);
  --shadow-float: 0 18px 55px rgba(10, 23, 62, .15);
  --shadow-purple: 0 18px 42px rgba(10, 23, 62, .14);
}

.page-header { background: #fff; }
.partner-lockup .elevare-logo { width: 144px; height: auto; }
.partner-lockup .fesn-plate img { width: 106px; height: auto; }
.page-header .header-link { color: var(--elevare-blue); }
.page-header .header-link:hover { color: var(--elevare-navy); }
.header-link:focus-visible, .btn:focus-visible, a:focus-visible, button:focus-visible {
  outline: 3px solid #ba6400;
  outline-offset: 3px;
}

.hero {
  --rk-text: #fff;
  --rk-text-soft: #e4ecfc;
  --rk-muted: #c4d3ec;
  background: var(--elevare-navy);
  color: var(--rk-text);
}
.hero .hero-backdrop { inset: 0 0 auto auto; width: min(100%, 1760px); max-width: none; }
.hero .hero-backdrop img {
  height: auto;
  object-position: right top;
  transform: none;
  mask-image: linear-gradient(to bottom, #000 76%, transparent 100%);
}
.hero::before {
  background:
    linear-gradient(90deg, var(--elevare-navy) 9%, rgba(11, 26, 67, .44) 40%, transparent 56%),
    linear-gradient(0deg, var(--elevare-navy) 0%, transparent 24%);
}
.hero .hero-copy { max-width: min(565px, 48%); }
.hero .hero-highlight, .hero .hero-bottom a { color: #ffbc56; }
.hero .hero-bottom { background: transparent; border-color: rgba(255, 255, 255, .16); color: var(--rk-muted); }
.hero .eyebrow { color: #eff4ff; }
.eyebrow::before { background: var(--elevare-orange); box-shadow: none; }
.hero .hero-value { color: #e4ecfc; }
.btn--primary { background: var(--elevare-orange); color: #111a31; box-shadow: 0 10px 30px rgba(255, 165, 30, .16); }
.btn--primary:hover { background: #ffb949; box-shadow: 0 12px 32px rgba(255, 165, 30, .23); }
.btn--secondary { background: #fff; border-color: var(--rk-border-strong); color: var(--elevare-blue); }
.btn--secondary:hover { background: #ecf3fc; border-color: var(--elevare-blue); }
.section-index, .inline-link, .clube-story .h2 > span, .faq__content a { color: var(--elevare-blue); }
.tag--primary { color: #683800; border-color: #e8c085; background: #fff1d7; }
.feature-card__icon { color: #fff; background: rgba(255, 255, 255, .14); }
.band-violet { background: linear-gradient(135deg, #092159, #15477c); }
.price-card--featured {
  border-color: #cf7c11;
  background: linear-gradient(180deg, #fff7e8, transparent 36%), var(--rk-surface);
  box-shadow: 0 0 30px rgba(207, 124, 17, .1);
}
.club-note, .document-callout .label, .faq__item[open] .faq-plus { color: var(--elevare-blue); }
.process-row .step__n { color: #683800; border-color: #e8c085; }
.price-card__features li::before { color: var(--rk-success); }
.clube-section { background: #0b1f48; color: #fff; }
.clube-section .section-index, .clube-story .h2 > span { color: #ffbc56; }
.clube-story .body, .clube-highlights p, .clube-categories li, .clube-legal { color: #dce7fc; }
.clube-highlights > div:first-child strong { color: #a9edcf; font-size: clamp(21px, 2.6vw, 30px); }
.clube-highlights, .clube-categories li { border-color: rgba(255, 255, 255, .23); }
.clube-app, .clube-download { color: var(--rk-text); }
.zoom-label { background: #123772; color: #fff; }
.final-cta { background: linear-gradient(120deg, var(--elevare-navy), #00226a); color: #fff; border-color: #172d5b; }
.final-cta .body, .final-cta .eyebrow { color: #e4ecfc; }
.page-footer { background: #17233b; color: #fff; }
.page-footer .muted { color: #d0dcee; }
.page-footer a { color: #fff; }
.footer-inner img { width: 135px; height: auto; padding: 8px 10px; background: #fff; border-radius: 6px; }

@media (max-width: 980px) {
  .hero .hero-backdrop { inset: 0 0 auto; width: auto; max-width: 600px; }
  .hero .hero-backdrop img { height: 100%; object-position: center top; mask-image: none; }
  .hero::before {
    background:
      linear-gradient(to bottom, transparent 390px, var(--elevare-navy) 590px),
      linear-gradient(90deg, var(--elevare-navy), transparent 20%, transparent 80%, var(--elevare-navy));
  }
  .hero .hero-copy { max-width: 620px; }
}

@media (max-width: 640px) {
  .partner-lockup .elevare-logo { width: clamp(79px, 27vw, 112px); }
  .partner-lockup .fesn-plate img { width: clamp(58px, 18vw, 83px); }
  .partner-lockup { gap: 8px; }
  .hero .hero-backdrop { max-width: none; }
  .hero::before { background: linear-gradient(to bottom, transparent 70vw, var(--elevare-navy) 124vw); }
  .hero .hero-layout { padding-top: 93vw; }
  .hero .hero-copy .display { font-size: clamp(35px, 9vw, 52px); }
  .footer-inner img { width: 112px; }
}
