

:root {

  --paper:        #1B1E2E;
  --paper-2:      #242843;
  --paper-warm:   #242843;
  --paper-cool:   #1f2333;
  --ink-2:        #14161f;

  --ink:          #F4EEE1;
  --ink-soft:     #D8D2C2;
  --ink-muted:    #B9B5AB;
  --muted:        #B9B5AB;
  --text-on-light:#F4EEE1;

  --brand-primary:        #22223B;
  --brand-primary-dark:   #191930;
  --brand-accent:         #C9A227;
  --brand-accent-dark:    #a8861f;
  --brand-accent-soft:    rgba(201, 162, 39, 0.14);

  --line:        rgba(216, 210, 194, 0.16);
  --rule:        rgba(201, 162, 39, 0.22);
  --hairline:    rgba(216, 210, 194, 0.12);

  --font-serif:   "Lora", Georgia, "Times New Roman", serif;
  --font-sans:    "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-display: "Lora", Georgia, "Times New Roman", serif;
  --font-body:    "Source Serif 4", Georgia, "Times New Roman", serif;

  --radius:    3px;
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;

  --sa-paper:       var(--paper);
  --sa-paper-deep:  var(--paper-2);
  --sa-card:        var(--paper-2);
  --sa-ink:         var(--brand-primary);
  --sa-gold:        var(--brand-accent);

  --sa-on-dark:      #F4EEE1;
  --sa-on-dark-soft: #D8D2C2;
  --sa-on-dark-mute: #B9B5AB;
  --sa-gold-bright:  #E0BE4A;

  --sa-on-gold:      #20202F;
  --sa-on-gold-soft: #3A3320;

  --sa-line:        rgba(216,210,194,0.16);
  --sa-line-strong: rgba(216,210,194,0.30);
  --sa-line-gold:   rgba(201,162,39,0.45);

  --sa-display: var(--font-display);
  --sa-body:    var(--font-body);

  --sa-pad:    clamp(3.5rem, 4vw + 2rem, 7rem);
  --sa-gutter: clamp(1.25rem, 4vw, 3rem);
}

body, body.page {
  font-family: var(--sa-body);
  background: var(--sa-paper);
  color: var(--sa-on-dark);
  font-size: 1.0625rem;
  line-height: 1.65;
}
.site-main, main#main { background: var(--sa-paper); }

h1, h2, h3, h4 { font-family: var(--sa-display); color: var(--sa-on-dark); font-weight: 500; line-height: 1.16; }

a { color: var(--sa-gold-bright); text-underline-offset: 3px; }
a:hover { color: var(--sa-gold); }
a:focus-visible, button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--sa-gold); outline-offset: 3px;
}

.sa-container { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: var(--sa-gutter); padding-right: var(--sa-gutter); }
.sa-container--narrow { max-width: 720px; }
.sa-container--mid    { max-width: 880px; }

.site-topbar { background: #14182c; border-bottom: 1px solid rgba(201,162,39,.28); }
.site-topbar__inner {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  min-height: 34px; padding: .32rem 0;
  font-family: var(--sa-body); font-size: .82rem; color: #cdd6e2; flex-wrap: wrap;
}
.site-topbar__hours { opacity: .85; font-style: italic; }
.site-topbar__links a { color: var(--sa-gold-bright); text-decoration: none; white-space: nowrap; }
.site-topbar__links a:hover { text-decoration: underline; }
@media (max-width: 560px) { .site-topbar__inner { justify-content: center; } .site-topbar__hours { display: none; } }

.site-header {
  background: rgba(20, 22, 36, 0.94);
  background-color: rgba(20, 22, 36, 0.94);
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: saturate(120%) blur(8px);
}
.site-header__brand { color: var(--sa-on-dark); }
.site-header__brand:hover { color: var(--sa-on-dark); }
.site-header__mark { width: auto; height: auto; background: transparent; border-radius: 0; color: var(--sa-gold); }
.site-header__mark svg { display: block; }
.site-header__name {
  font-family: var(--sa-display); font-weight: 600; font-size: 1.42rem;
  letter-spacing: .02em; color: var(--sa-on-dark);
}
.site-header__tagline {
  font-family: var(--sa-body); font-size: .68rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--sa-gold); font-style: italic;
}
.site-nav__link { font-family: var(--sa-body); color: var(--sa-on-dark-soft); border-radius: 0; letter-spacing: .02em; }
.site-nav__link:hover { background: rgba(244, 238, 225, 0.08); color: var(--sa-gold-bright); }
.site-nav__link--cta {
  background: var(--sa-gold); color: #20202F; border: 1.5px solid var(--sa-gold); font-weight: 600;
}
.site-nav__link--cta:hover { background: transparent; color: var(--sa-gold-bright); }
.site-nav__link--ghost { color: var(--sa-on-dark-mute); }
.site-header__toggle { color: var(--sa-on-dark); border-color: var(--hairline); border-radius: 0; }
@media (max-width: 899px) {
  .site-nav.is-open { background: var(--paper-2); border-bottom: 1px solid var(--hairline); }
}

.site-footer { background: var(--ink-2); color: var(--sa-on-dark-soft); border-top: 4px double var(--sa-gold); }
.site-footer__name { font-family: var(--sa-display); color: var(--sa-on-dark); letter-spacing: .02em; }
.site-footer__tagline, .site-footer__address { color: var(--sa-on-dark-mute); font-style: italic; }
.site-footer__heading { font-family: var(--sa-body); color: var(--sa-gold-bright); letter-spacing: .18em; }
.site-footer a { color: var(--sa-on-dark-soft); text-decoration: none; }
.site-footer a:hover { color: var(--sa-gold-bright); text-decoration: underline; }
.site-footer__base { border-top: 1px solid var(--hairline); color: var(--sa-on-dark-mute); }
.site-footer__credit { color: var(--sa-on-dark-mute); font-style: italic; }
.site-footer__mark { color: var(--sa-gold); }

.btn, .btn-primary, .btn-lg { font-family: var(--sa-display); border-radius: 0; letter-spacing: .02em; }
.btn-primary, .btn.btn-primary {
  background: var(--sa-gold); border: 1.5px solid var(--sa-gold); color: #20202F; font-weight: 600;
}
.btn-primary:hover, .btn-primary:focus, .btn.btn-primary:hover {
  background: transparent; border-color: var(--sa-gold); color: var(--sa-gold-bright);
}
.btn-lg { padding: .95rem 2rem; font-size: 1.02rem; }
.btn-block { display: block; width: 100%; }

.btn-accent { background: var(--sa-gold); color: var(--sa-on-gold); border: 2px solid var(--sa-gold); border-radius: 0; font-family: var(--sa-display); letter-spacing: .02em; }
.btn-accent:hover { background: transparent; color: var(--sa-gold-bright); border-color: var(--sa-gold); }
.btn-ghost-light { border-radius: 0; border: 2px solid rgba(244,238,225,0.55); color: var(--sa-on-dark); background: transparent; font-family: var(--sa-display); }
.btn-ghost-light:hover { border-color: var(--sa-on-dark); background: rgba(244,238,225,0.10); color: var(--sa-on-dark); }
.btn-large { padding: .95rem 1.85rem; font-size: 1.02rem; }

.signup-section {
  --sf-radius-md: 3px; --sf-radius-lg: 4px; --sf-shadow-card: none;
  background: var(--sa-paper); color: var(--sa-on-dark);
}
.signup-header { text-align: center; }
.signup-title { font-family: var(--sa-display); color: var(--sa-on-dark); letter-spacing: .01em; }
.signup-header .signup-title::after {
  content: ""; display: block; width: 84px; margin: 1rem auto 0;
  border-top: 1px solid var(--sa-gold); box-shadow: 0 3px 0 -2px rgba(201,162,39,0.4);
}
.signup-progress { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; color: var(--sa-on-dark-soft); }
.signup-progress__step.is-active { color: var(--sa-gold-bright); }

.signup-form-card, .signup-aside, .signup-summary {
  background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; box-shadow: none;
}

.page--signup #member-info.signup-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(1.5rem, 3.5vw, 3rem); }
@media (max-width: 900px) { .page--signup #member-info.signup-grid { grid-template-columns: 1fr; } }

.signup-aside__title, .signup-summary__title { font-family: var(--sa-display); color: var(--sa-on-dark); }
.signup-aside__list li { border-top-color: var(--hairline); }
.signup-aside__list strong { color: var(--sa-on-dark); }
.signup-aside__list em { color: var(--sa-gold-bright); }
.signup-aside__terms summary, .signup-summary__support a, .signup-login-link a { color: var(--sa-gold-bright); }
.signup-aside__subtitle { font-family: var(--sa-display); color: var(--sa-on-dark); }

.signup-field label { color: var(--sa-on-dark); font-family: var(--sa-body); }
.signup-field input, .signup-field select, .signup-field textarea {
  background: var(--sa-paper); color: var(--sa-on-dark); border: 1px solid var(--rule); border-radius: 2px;
}
.signup-field input::placeholder { color: var(--sa-on-dark-mute); }
.signup-field input:focus, .signup-field select:focus {
  border-color: var(--sa-gold); box-shadow: 0 0 0 3px rgba(201,162,39,0.22);
}
.signup-help { color: var(--sa-on-dark-mute); }

.signup-consent { background: rgba(244,238,225,0.04); border: 1px solid var(--hairline); border-radius: 0; }
.signup-descriptor {
  background: var(--brand-accent-soft); border-left: 3px solid var(--sa-gold); border-radius: 0; color: var(--sa-on-dark);
}
.signup-descriptor strong { color: var(--sa-gold-bright); }
.signup-agree-box { color: var(--sa-on-dark-mute); }

.signup-summary__lines dt { color: var(--sa-on-dark-mute); }
.signup-summary__lines dd { color: var(--sa-on-dark); }
.signup-summary__trust li { color: var(--sa-on-dark-soft); }

.signup-errors {
  background: rgba(192, 57, 43, 0.16); border-left: 4px solid #e0644f; border-radius: 0; color: #f6cfc7;
}
.signup-errors strong { color: #f0a99c; }

.legal-prose, .legal-prose p, .legal-prose li { color: var(--sa-on-dark-soft); }
.legal-prose h1, .legal-prose h2, .legal-prose h3 { font-family: var(--sa-display); color: var(--sa-on-dark); }
.legal-prose a { color: var(--sa-gold-bright); }
.legal-prose hr { border-top-color: var(--hairline); }
.legal-prose strong { color: var(--sa-on-dark); }
.legal-prose .legal-updated { color: var(--sa-on-dark-mute); }

.order-card { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; box-shadow: none; }
.order-card__num { font-family: var(--sa-display); color: var(--sa-gold-bright); }

.members-nav { background: var(--ink-2); border-bottom: 1px solid var(--rule); }
.members-nav__pill {
  font-family: var(--sa-display); color: var(--sa-on-dark-soft);
  border: 1.5px solid transparent; border-radius: 0; text-transform: none; letter-spacing: .03em;
}
.members-nav__pill:hover, .members-nav__pill:focus-visible { background: rgba(244,238,225,0.07); color: var(--sa-gold-bright); }
.members-nav__pill.is-active { background: transparent; color: var(--sa-gold-bright); border-color: var(--sa-gold); }
.members-nav__pill.is-active:hover, .members-nav__pill.is-active:focus-visible { background: rgba(201,162,39,0.12); color: var(--sa-gold-bright); }

.members-content { background: var(--sa-paper); color: var(--sa-on-dark); }

.members-content h1[style], .members-content h2[style], .members-content h3[style] { color: var(--sa-on-dark) !important; }
.members-content p[style] { color: var(--sa-on-dark-soft); }
.members-content a { color: var(--sa-gold-bright); }
.members-content a:hover { color: var(--sa-gold); }

.recent-strip { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; }
.recent-strip__title { font-family: var(--sa-display); color: var(--sa-on-dark); }

.card { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; box-shadow: none; }
.card__title { font-family: var(--sa-display); }
.card__title a { color: var(--sa-on-dark); }
.card__title a:hover, .card__title a:focus-visible { color: var(--sa-gold-bright); }
.card__meta { color: var(--sa-on-dark-mute); }
.card__meta a { color: var(--sa-gold-bright); }
.card__pill { background: var(--brand-accent-soft); color: var(--sa-gold-bright); border-radius: 0; border: 1px solid var(--rule); }

.genre-tile { border-radius: 0 !important; border: 1px solid var(--hairline); }
.genre-tile:hover { border-color: var(--sa-gold); }

.chapters { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; }
.chapters__h { font-family: var(--sa-display); color: var(--sa-on-dark); }
.chapters__num { background: var(--brand-accent-soft); color: var(--sa-gold-bright); }
.chapters__item.is-current .chapters__btn,
.chapters__item[aria-current="true"] .chapters__btn { background: var(--brand-primary); color: var(--sa-on-dark); }
.book-header__cover img { border-radius: 0; box-shadow: none; border: 1px solid var(--rule); }

.member-player, .video-frame, .player-frame { background: var(--ink-2); border: 1px solid var(--rule); border-radius: 0; }

.members-compliance { background: var(--ink-2); color: var(--sa-on-dark-mute); }

.page-stub { background: var(--paper-2); border: 1px dashed var(--rule); border-radius: 0; }
.page-stub h1 { font-family: var(--sa-display); color: var(--sa-on-dark); }
.page-stub p { color: var(--sa-on-dark-mute); }
.page-stub__code { background: var(--brand-accent-soft); color: var(--sa-gold-bright); border-radius: 0; }
.gate { background: var(--brand-accent-soft); border-left: 4px solid var(--sa-gold); border-radius: 0; color: var(--sa-on-dark); }
.members-404 { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 0; }
.members-404 h1 { font-family: var(--sa-display); color: var(--sa-on-dark); }
.members-404 code { background: var(--brand-accent-soft); color: var(--sa-gold-bright); }

.errorpage__code { font-family: var(--sa-display); color: var(--sa-gold-bright); }
.errorpage__title { color: var(--sa-on-dark); }
.errorpage__body { color: var(--sa-on-dark-soft); }
.btn--primary { background: var(--sa-gold); color: #20202F; border: 1.5px solid var(--sa-gold); border-radius: 0; }
.btn--primary:hover { background: transparent; color: var(--sa-gold-bright); }
.btn--ghost { background: transparent; color: var(--sa-on-dark); border: 1.5px solid rgba(244,238,225,.5); border-radius: 0; }
.btn--ghost:hover { border-color: var(--sa-on-dark); background: rgba(244,238,225,.1); }

.sa-head { text-align: center; max-width: 64ch; margin: 0 auto clamp(2.5rem, 4vw, 3.75rem); }
.sa-head h2 { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); margin: 0.4rem 0 1rem; letter-spacing: -0.01em; }
.sa-lede { font-family: var(--sa-body); font-size: 1.15rem; line-height: 1.6; color: var(--sa-on-dark-soft); max-width: 62ch; margin: 0 auto; }
.sa-lede--light { color: var(--sa-on-dark-soft); }

.sa-eyebrow {
  display: inline-flex; align-items: center; gap: 0.85rem; font-family: var(--sa-body);
  font-style: italic; font-size: 0.95rem; letter-spacing: 0.04em; color: var(--sa-gold-bright);
}
.sa-eyebrow::before, .sa-eyebrow::after { content: ''; width: clamp(1.5rem, 4vw, 3rem); height: 1px; background: var(--sa-gold); opacity: 0.8; }
.sa-eyebrow--light { color: var(--sa-gold-bright); }
.sa-eyebrow--light::before, .sa-eyebrow--light::after { background: var(--sa-gold-bright); opacity: 0.9; }

.sa-rule-double { position: relative; display: block; width: 96px; height: 7px; margin: 0 auto; }
.sa-rule-double::before, .sa-rule-double::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: var(--sa-gold); opacity: 0.85; }
.sa-rule-double::before { top: 0; } .sa-rule-double::after { bottom: 0; }
.sa-rule-double__mark { position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; background: var(--sa-gold); transform: translate(-50%, -50%) rotate(45deg); }
.sa-divider { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.sa-divider .sa-rule-double { width: 120px; }

.sa-hero { position: relative; min-height: clamp(560px, 84vh, 820px); display: flex; align-items: center; background: var(--sa-paper); overflow: hidden; }
.sa-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sa-hero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,36,0.62) 0%, rgba(20,22,36,0.48) 45%, rgba(20,22,36,0.88) 100%); }
.sa-hero__inner { position: relative; z-index: 1; width: 100%; max-width: 1180px; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) var(--sa-gutter); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.sa-hero__title { color: var(--sa-on-dark); font-size: clamp(2.75rem, 2rem + 6vw, 5.5rem); line-height: 1.04; letter-spacing: -0.02em; margin: 1rem 0 1.25rem; text-shadow: 0 2px 24px rgba(0,0,0,0.45); }
.sa-hero__title em { font-style: italic; color: var(--sa-gold-bright); }
.sa-hero__lede { font-family: var(--sa-body); color: var(--sa-on-dark); font-size: 1.2rem; line-height: 1.55; max-width: 56ch; margin: 0 0 1.75rem; text-shadow: 0 1px 12px rgba(0,0,0,0.4); }
.sa-hero__cta { display: flex; gap: 0.85rem; flex-wrap: wrap; justify-content: center; }
.sa-hero__trust { margin: 1.75rem 0 0; font-family: var(--sa-body); color: var(--sa-on-dark-soft); font-size: 0.95rem; letter-spacing: 0.03em; text-shadow: 0 1px 10px rgba(0,0,0,0.45); }
.sa-hero__trust strong { color: var(--sa-gold-bright); font-weight: 600; }

.sa-about { background: var(--sa-paper); padding: var(--sa-pad) 0; }
.sa-about .sa-head { margin-bottom: 2.25rem; }
.sa-about__body { text-align: left; }
.sa-about__body p { font-size: 1.1rem; line-height: 1.7; color: var(--sa-on-dark-soft); margin: 0 0 1.25rem; max-width: 66ch; }
.sa-dropcap::first-letter { font-family: var(--sa-display); float: left; font-size: 3.6rem; line-height: 0.82; padding: 0.3rem 0.6rem 0 0; color: var(--sa-gold-bright); font-weight: 500; }
.sa-about__signature { margin-top: 1.75rem; font-family: var(--sa-display); font-style: italic; font-size: 1.2rem; color: var(--sa-on-dark); text-align: left; }
.sa-about__signature small { display: block; font-style: normal; font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sa-on-dark-soft); margin-top: 0.4rem; }

.sa-foundations { background: var(--sa-paper-deep); padding: var(--sa-pad) 0; }
.sa-foundations__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
.sa-pillar { text-align: center; padding: 0 0.5rem; }
.sa-pillar__numeral { display: block; font-family: var(--sa-display); font-style: italic; font-size: 2.4rem; color: var(--sa-gold-bright); margin-bottom: 0.5rem; }
.sa-pillar h3 { font-size: 1.5rem; margin: 0 0 0.75rem; display: inline-block; padding-bottom: 0.6rem; position: relative; color: var(--sa-on-dark); }
.sa-pillar h3::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 38px; height: 1px; background: var(--sa-gold); }
.sa-pillar p { font-size: 1.05rem; line-height: 1.6; color: var(--sa-on-dark-soft); margin: 0; max-width: 38ch; margin-inline: auto; }
@media (max-width: 820px) { .sa-foundations__grid { grid-template-columns: 1fr; gap: 2.5rem; } }

.sa-library { background: var(--sa-paper); padding: var(--sa-pad) 0; }

.sa-lib-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.6rem, 1.5vw, 1.1rem);
  margin-top: clamp(2rem, 3.5vw, 3rem);
}
.sa-lib-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: 1px solid var(--sa-line);
  text-decoration: none;
  background: var(--sa-card);
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.sa-lib-thumb:hover {
  border-color: var(--sa-gold);
  transform: translateY(-3px);
  z-index: 1;
}
.sa-lib-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.sa-lib-thumb:hover img { transform: scale(1.06); }

.sa-lib-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(20,22,36,0.72) 100%);
  pointer-events: none;
}
.sa-lib-chip {
  position: absolute;
  bottom: 0.65rem;
  left: 0.75rem;
  z-index: 1;
  font-family: var(--sa-body);
  font-size: 0.78rem;
  font-style: italic;
  letter-spacing: 0.06em;
  color: var(--sa-gold-bright);
  background: rgba(20,22,36,0.78);
  border: 1px solid rgba(201,162,39,0.38);
  padding: 0.22rem 0.6rem;
  line-height: 1.4;
  pointer-events: none;
}

.sa-lib-cta-line { text-align: center; margin-top: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 0; }

@media (max-width: 900px) { .sa-lib-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .sa-lib-grid { grid-template-columns: 1fr; gap: 0.6rem; } }

.sa-band { background: var(--sa-gold); color: var(--sa-on-gold); padding: var(--sa-pad) 0; }
.sa-band__inner { display: grid; grid-template-columns: minmax(280px, 0.85fr) 1.15fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.sa-band h2 { color: var(--sa-on-gold); font-size: clamp(1.8rem, 1.3rem + 2vw, 2.7rem); margin: 0.6rem 0 1rem; }
.sa-band .sa-eyebrow { color: var(--sa-on-gold); }
.sa-band .sa-eyebrow::before, .sa-band .sa-eyebrow::after { background: var(--sa-on-gold); opacity: 0.6; }
.sa-band .sa-lede, .sa-band .sa-lede--light { color: var(--sa-on-gold-soft); }
.sa-band__figure { margin: 0; position: relative; }
.sa-band__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid rgba(32,32,47,0.45); filter: grayscale(0.30) contrast(1.05) sepia(0.18); }
.sa-band__figure figcaption { margin-top: 0.85rem; font-family: var(--sa-body); font-style: italic; font-size: 0.9rem; color: var(--sa-on-gold-soft); text-align: center; letter-spacing: 0.03em; }
.sa-band__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(32,32,47,0.35); }
.sa-stat { text-align: center; }
.sa-stat__numeral { font-family: var(--sa-display); font-size: clamp(2.2rem, 1.5rem + 2.5vw, 3.2rem); color: var(--sa-on-gold); line-height: 1; }
.sa-stat__label { margin-top: 0.5rem; font-family: var(--sa-body); font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sa-on-gold-soft); }
@media (max-width: 860px) { .sa-band__inner { grid-template-columns: 1fr; text-align: center; } .sa-band .sa-lede { margin-inline: auto; } .sa-band__figure { max-width: 360px; margin-inline: auto; } }

.sa-pricing { background: var(--sa-paper-deep); padding: var(--sa-pad) 0; }
.sa-pricing__wrap { max-width: 540px; margin: 0 auto; }
.sa-plan { background: var(--sa-card); border: 1px solid var(--sa-line-gold); padding: clamp(2.5rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3rem); text-align: center; position: relative; }
.sa-plan::before, .sa-plan::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); width: 64px; height: 5px; background: linear-gradient(var(--sa-gold), var(--sa-gold)) top/100% 1px no-repeat, linear-gradient(var(--sa-gold), var(--sa-gold)) bottom/100% 1px no-repeat; }
.sa-plan::before { top: -2.5px; } .sa-plan::after { bottom: -2.5px; }
.sa-plan__chapter { font-family: var(--sa-body); font-style: italic; font-size: 0.95rem; color: var(--sa-gold-bright); letter-spacing: 0.03em; }
.sa-plan__name { font-size: 2rem; margin: 0.5rem 0 0.75rem; color: var(--sa-on-dark); }
.sa-plan__rule { width: 64px; height: 1px; background: var(--sa-line-strong); margin: 0 auto 1.25rem; }
.sa-plan__price { font-family: var(--sa-display); font-size: clamp(3rem, 2rem + 4vw, 4.25rem); color: var(--sa-on-dark); line-height: 1; }
.sa-plan__price-currency { font-style: italic; font-size: 0.5em; color: var(--sa-gold-bright); vertical-align: super; margin-right: 0.1em; }
.sa-plan__period { font-family: var(--sa-body); font-size: 0.95rem; color: var(--sa-on-dark-soft); letter-spacing: 0.05em; margin: 0.5rem 0 1.75rem; }
.sa-plan__initial { font-family: var(--sa-body); font-size: 0.95rem; color: var(--sa-on-dark-soft); margin: -1rem 0 1.5rem; }
.sa-plan__features { list-style: none; padding: 0; margin: 0 0 1.75rem; text-align: left; max-width: 30ch; margin-inline: auto; }
.sa-plan__features li { position: relative; padding-left: 1.6rem; margin-bottom: 0.75rem; font-family: var(--sa-body); font-size: 1rem; line-height: 1.5; color: var(--sa-on-dark-soft); }
.sa-plan__features li::before { content: '\2756'; position: absolute; left: 0; top: 0; color: var(--sa-gold-bright); font-size: 0.85rem; }
.sa-plan__note { font-family: var(--sa-body); font-size: 0.95rem; color: var(--sa-on-dark-soft); margin: 0 0 1.5rem; }
.sa-plan__trial { font-family: var(--sa-body); font-size: 0.95rem; color: var(--sa-on-dark-soft); margin: 1.1rem 0 0; }
.sa-plan__cta { width: 100%; margin-bottom: 1.25rem; }
.sa-plan__statement { font-family: var(--sa-body); font-size: 0.9rem; color: var(--sa-on-dark-soft); margin: 0; }
.sa-plan__statement strong { color: var(--sa-gold-bright); }

.sa-faq { background: var(--sa-paper); padding: var(--sa-pad) 0; }
.sa-faq__list { border-top: 1px solid var(--sa-line); }
.sa-faq__item { border-bottom: 1px solid var(--sa-line); }
.sa-faq__summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; padding: 1.4rem 0; font-family: var(--sa-display); font-size: 1.25rem; color: var(--sa-on-dark); }
.sa-faq__summary::-webkit-details-marker { display: none; }
.sa-faq__summary::before { content: '\002B'; color: var(--sa-gold-bright); font-size: 1.4rem; line-height: 1; flex-shrink: 0; width: 1.2rem; }
.sa-faq__item[open] .sa-faq__summary::before { content: '\2014'; }
.sa-faq__body { padding: 0 0 1.5rem 2.2rem; }
.sa-faq__body p { font-family: var(--sa-body); font-size: 1.05rem; line-height: 1.65; color: var(--sa-on-dark-soft); margin: 0; max-width: 70ch; }
.sa-faq__body strong { color: var(--sa-gold-bright); }

@media (max-width: 600px) { .sa-hero__cta .btn, .sa-hero__cta .btn-large { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
