/* ═══════════════════════════════════════════════════════════════════════
   GET ACCESS — Founder / Alpha Access / Membership / One-time + Road to 1.0
   Owner-approved design "COA D" (docs/boards/get_access_coa_2026_10_19/).
   Built on styles.css tokens; donate.css supplies the shared status, claim,
   code-form, supporter and payment-method components.
   ═══════════════════════════════════════════════════════════════════════ */

.ga {
  --ga-steel: #9fb4c8;
  --ga-steel-dark: #4d6378;
  --ga-steel-ink: #dbe6f0;
  --ga-plum: #c7b3e6;
  --ga-plum-ink: #e6dcf5;
  --ga-moss: #9fd3b6;
  --ga-moss-ink: #d9efe4;
  --ga-band: rgba(10, 10, 18, 0.95);   /* the site's content backdrop (subpage.css) */
  --ga-pad-x: clamp(20px, 4vw, 48px);
  color: var(--text);
}
.ga-in { max-width: 1120px; margin: 0 auto; padding-inline: var(--container-pad); }
.ga-eyebrow { font: 600 12px/1 var(--font-body); letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.ga-h2 { font: 700 clamp(24px, 3.2vw, 36px)/1.15 var(--font-display); text-wrap: balance; }
.ga-fine { font-size: 12px; color: var(--text-dim); }
.ga .donate__status { max-width: 1120px; margin: 0 auto 0; }

/* buttons (site look, three metals) */
.ga-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: 6px; border: 1px solid transparent; cursor: pointer;
  font: 700 14px/1 var(--font-body); letter-spacing: .04em; white-space: nowrap; text-decoration: none;
  transition: filter var(--transition-fast), transform var(--transition-fast);
}
.ga-btn:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.ga-btn:disabled { opacity: .55; cursor: default; transform: none; }
.ga-btn:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 2px; }
.ga-btn--gold { background: linear-gradient(180deg, #e0c06a, #b8913f); color: #1a1408; box-shadow: 0 0 0 1px rgba(255,230,160,.25) inset, 0 8px 28px rgba(200,162,78,.25); }
.ga-btn--steel { background: linear-gradient(180deg, #2b3746, #1c2531); color: var(--ga-steel-ink); border-color: var(--ga-steel-dark); }
.ga-btn--plum { background: #2a2038; border-color: #5d4a7a; color: var(--ga-plum-ink); padding: 11px 16px; font-size: 13px; }
.ga-btn--moss { background: #1a2a24; border-color: #3f6b58; color: var(--ga-moss-ink); padding: 11px 16px; font-size: 13px; }
.ga-owned { display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1.2 var(--font-body); color: var(--accent-emerald); }
.ga-owned a { color: var(--gold-light); font-weight: 600; }

/* countdown chip */
.ga-count { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 999px; border: 1px solid rgba(200,162,78,.35); background: rgba(200,162,78,.07); font-size: 13px; color: var(--gold-light); }
.ga-count i { width: 8px; height: 8px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 0 4px rgba(231,200,115,.15); }
.ga-count b { font-variant-numeric: tabular-nums; }

/* ─── Road to 1.0 ─── */
.ga-road {
  padding-top: calc(var(--nav-height) + var(--alpha-strip-h, 0px) + clamp(40px, 6vw, 64px));
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(200,162,78,.18);
  background: radial-gradient(ellipse 70% 80% at 50% 0%, rgba(200,162,78,.08), transparent 70%), linear-gradient(180deg, rgba(10,10,18,.94), rgba(16,16,28,.95));
}
.ga-road__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 28px; }
.ga-road__head > div { display: grid; gap: 12px; justify-items: start; }
.ga-road h1 { font: 800 clamp(28px, 4.4vw, 48px)/1.08 var(--font-display); text-wrap: balance; margin: 0; }
.ga-road__head .ga-fine { max-width: 38ch; }

.tl { display: grid; gap: 14px; }
.tl__phases, .tl__track { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.tl__phase { grid-row: 1; border-top: 1px solid; padding-top: 7px; font: 600 10.5px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; text-align: center; position: relative; }
.tl__phase::before, .tl__phase::after { content: ""; position: absolute; top: -1px; width: 1px; height: 7px; background: currentColor; }
.tl__phase::before { left: 0; } .tl__phase::after { right: 0; }
.tl__phase--alpha { grid-column: 2 / 4; color: var(--ga-steel); border-color: var(--ga-steel-dark); }
.tl__phase--public { grid-column: 4 / 5; color: var(--ga-steel); border-color: var(--ga-steel-dark); }
.tl__phase--beta { grid-column: 5 / 6; color: #c9b8e8; border-color: #5a4a78; }
.tl__phase--live { grid-column: 6 / 7; color: var(--gold-light); border-color: var(--gold-dark); }
.tl__track { list-style: none; margin: 0; padding: 0; position: relative; }
.tl__track::before { content: ""; position: absolute; left: calc(100% / 12); right: calc(100% / 12); top: 13px; height: 2px; background: var(--border-light); }
.tl__track::after { content: ""; position: absolute; left: calc(100% / 12); top: 13px; height: 2px; width: calc((100% - 100% / 6) / 5 * var(--tl-p, 0)); background: linear-gradient(90deg, var(--gold-dark), var(--gold-light)); box-shadow: 0 0 12px rgba(231,200,115,.6); }
.tl__stop { position: relative; z-index: 1; display: grid; justify-items: center; align-content: start; gap: 6px; text-align: center; min-width: 0; }
.tl__gem { width: 28px; height: 28px; display: grid; place-items: center; }
.tl__gem::before { content: ""; width: 14px; height: 14px; transform: rotate(45deg); border: 2px solid var(--border-light); background: #10101b; }
.tl__stop.is-past .tl__gem::before { border-color: var(--gold-dark); background: var(--gold-dark); }
.tl__stop.is-here .tl__gem::before { border-color: var(--gold-light); background: var(--gold); box-shadow: 0 0 0 6px rgba(200,162,78,.14), 0 0 18px rgba(231,200,115,.7); }
.tl__stop.is-next .tl__gem::before { border-color: var(--gold); box-shadow: 0 0 14px rgba(200,162,78,.35); }
.tl__stop--launch .tl__gem::before { width: 18px; height: 18px; border-color: var(--gold); background: radial-gradient(circle, #3a2c10, #10101b); }
.tl__date { font: 700 11px/1.2 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-dim); }
.tl__stop.is-past .tl__date, .tl__stop.is-here .tl__date, .tl__stop.is-next .tl__date, .tl__stop--launch .tl__date { color: var(--gold); }
.tl__title { font: 600 16px/1.25 var(--font-display); color: var(--text); }
.tl__desc { font-size: 13px; color: var(--text-muted); line-height: 1.45; }
.tl__here { display: none; font: 600 10px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: #1a1408; background: var(--gold-light); padding: 4px 7px; border-radius: 3px; }
.tl__stop.is-here .tl__here { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  .tl__stop.is-here .tl__gem::before { animation: ga-gem 2.6s ease-in-out infinite; }
  @keyframes ga-gem { 50% { box-shadow: 0 0 0 10px rgba(200,162,78,.04), 0 0 24px rgba(231,200,115,.9); } }
}
@media (max-width: 760px) {
  .tl__phases { display: none; }
  .tl__track { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .tl__track::before { left: 13px; right: auto; top: 14px; bottom: 14px; width: 2px; height: auto; }
  .tl__track::after { left: 13px; top: 14px; width: 2px; height: calc((100% - 28px) * var(--tl-p, 0) / 5); background: linear-gradient(180deg, var(--gold-dark), var(--gold-light)); }
  .tl__stop { grid-template-columns: 28px minmax(0, 1fr); justify-items: start; text-align: left; column-gap: 14px; row-gap: 3px; }
  .tl__gem { grid-row: span 4; }
}

/* ─── Buy section ───
   Founder | Alpha Access on a straight gold divider, then the smaller
   Membership | One-time pair split by a diagonal seam: the lead side
   overhangs its column by --cut and is clipped to the slant; the seam line
   sits in the follower's grid area so it lies exactly on the slant. */
.ga-buy { border-bottom: 1px solid var(--border); }
.ga-pair { --cut: 0px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); position: relative; }
.ga-pair--small { --cut: 44px; border-top: 1px solid rgba(200,162,78,.22); }
.ga-side { --pad-y: clamp(36px, 6vw, 72px); position: relative; padding: var(--pad-y) var(--ga-pad-x); display: grid; gap: 16px; align-content: end; min-width: 0; }
.ga-pair--big .ga-side { min-height: 440px; }
.ga-pair--small .ga-side { --pad-y: clamp(26px, 3.6vw, 40px); gap: 12px; }
.ga-side > * { position: relative; z-index: 1; }
.ga-lead { z-index: 2; margin-right: calc(-1 * var(--cut)); padding-right: calc(var(--ga-pad-x) + var(--cut)); clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%); overflow: hidden; }
.ga-follow { padding-left: calc(var(--ga-pad-x) + var(--cut) * .6); }
.ga-seam { position: absolute; z-index: 3; grid-row: 1; grid-column: 2; top: 0; left: 0; width: var(--cut); height: 100%; pointer-events: none; overflow: visible; }
.ga-seam line { stroke: rgba(200,162,78,.38); stroke-width: 1.5; fill: none; }

.ga-side--f { background: linear-gradient(160deg, rgba(58,44,16,.94), rgba(16,14,20,.97) 55%); border-right: 1px solid rgba(200,162,78,.55); box-shadow: 0 0 0 1px rgba(0,0,0,.6) inset; overflow: hidden; }
.ga-side--f::after { content: ""; position: absolute; inset: 0; background: url("../images/mordovia-gold.jpg") 70% 40% / 1400px auto no-repeat; opacity: .10; pointer-events: none; mix-blend-mode: screen; }
.ga-side--a { background: linear-gradient(160deg, rgba(30,40,52,.95), rgba(14,16,22,.97) 60%); }
.ga-side--m { background: linear-gradient(160deg, rgba(44,34,58,.95), rgba(14,13,20,.97) 62%); }
.ga-side--d { background: linear-gradient(160deg, rgba(26,42,36,.95), rgba(12,16,15,.97) 62%); }

.ga-mark { font: 700 11px/1 var(--font-body); letter-spacing: .26em; text-transform: uppercase; }
.ga-side--f .ga-mark { color: var(--gold); }
.ga-side--a .ga-mark { color: var(--ga-steel); }
.ga-side--m .ga-mark { color: var(--ga-plum); }
.ga-side--d .ga-mark { color: var(--ga-moss); }
.ga-side h2 { font: 900 clamp(34px, 5vw, 64px)/.98 var(--font-decorative); letter-spacing: .01em; margin: 0; }
.ga-side--f h2 { color: var(--gold-light); text-shadow: 0 0 40px rgba(200,162,78,.35); }
.ga-side--a h2 { color: #e4edf5; }
.ga-side h3 { font: 800 clamp(22px, 2.6vw, 30px)/1.05 var(--font-display); margin: 0; }
.ga-side p { color: #cfccd6; max-width: 44ch; margin: 0; }
.ga-side p b { color: var(--gold-light); font-weight: 600; }
.ga-buyrow { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ga-buyrow > b { font: 700 30px/1 var(--font-display); }
.ga-side--f .ga-buyrow > b { color: var(--gold-light); }
.ga-side--a .ga-buyrow > b { color: var(--ga-steel-ink); }
.ga-note { font-size: 13px; color: var(--text-muted); border-top: 1px dashed var(--border-light); padding-top: 12px; max-width: 46ch; margin: 0; }
.ga-side--f .ga-note { border-top-color: rgba(200,162,78,.3); }
.ga-note b { color: var(--gold-light); font-weight: 600; }
.ga-small-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ga-small-buy > b { font: 700 22px/1 var(--font-display); }
.ga-small-buy > span { color: var(--text-muted); font-size: 13px; margin-right: 6px; }
.ga-amount { display: inline-flex; align-items: center; border: 1px solid #5d4a7a; border-radius: 6px; background: rgba(10,8,14,.7); padding: 0 10px; }
.ga-amount span { color: var(--ga-plum); font-weight: 700; }
.ga-amount input { width: 64px; background: none; border: 0; color: var(--ga-plum-ink); font: 700 14px/1 var(--font-body); padding: 10px 6px; -moz-appearance: textfield; }
.ga-amount input::-webkit-inner-spin-button, .ga-amount input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ga-amount input:focus { outline: none; }
.ga-amount:focus-within { border-color: var(--ga-plum); }
.ga-side--d .ga-amount { border-color: #3f6b58; }
.ga-side--d .ga-amount span { color: var(--ga-moss); }
.ga-side--d .ga-amount input { color: var(--ga-moss-ink); }
.ga-side--d .ga-amount:focus-within { border-color: var(--ga-moss); }
.ga-amt { appearance: none; background: rgba(10,14,12,.7); border: 1px solid #3f6b58; color: var(--ga-moss-ink); border-radius: 6px; padding: 10px 12px; font: 700 13px/1 var(--font-body); cursor: pointer; }
.ga-amt:hover:not(:disabled) { background: #1a2a24; }
.ga-amt:disabled { opacity: .55; cursor: default; }

@media (max-width: 760px) {
  .ga-pair { grid-template-columns: minmax(0, 1fr); }
  .ga-pair--big .ga-side { min-height: 0; }
  .ga-side--f { border-right: 0; border-bottom: 1px solid rgba(200,162,78,.55); }
  .ga-lead { margin-right: 0; margin-bottom: calc(-1 * var(--cut)); padding-right: var(--ga-pad-x); padding-bottom: calc(var(--pad-y) + var(--cut)); clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), 0 100%); }
  .ga-follow { padding-left: var(--ga-pad-x); padding-top: calc(var(--pad-y) + var(--cut)); }
  .ga-seam { grid-row: 2; grid-column: 1; width: 100%; height: var(--cut); }
}

.ga-strap { text-align: center; padding: 14px 16px; border-bottom: 1px solid var(--border); background: rgba(8,8,14,.95); font: 600 13px/1.4 var(--font-body); letter-spacing: .06em; color: var(--text-muted); }

/* ─── Progress is kept ─── */
.ga-keep { padding-block: clamp(48px, 7vw, 84px); text-align: center; border-bottom: 1px solid var(--border); background: radial-gradient(ellipse 60% 90% at 50% 50%, rgba(200,162,78,.08), transparent 70%), rgba(8,8,14,.95); }
.ga-keep .ga-in { display: grid; justify-items: center; gap: 14px; }
.ga-keep svg { width: 40px; height: 40px; color: var(--gold-light); }
.ga-keep h2 { font: 700 clamp(26px, 4vw, 42px)/1.12 var(--font-display); margin: 0; text-wrap: balance; }
.ga-keep p { color: #cfccd6; max-width: 58ch; font-size: clamp(15px, 1.6vw, 17px); margin: 0; }

/* ─── Content band (the site's backdrop over the texture) ─── */
.ga-band { background: var(--ga-band); padding-top: 1px; padding-bottom: 72px; }
.ga-detail { padding-block: 52px 32px; display: grid; gap: 20px; }
/* grid items must not take their scrolling tables' width as their own minimum */
.ga-detail > *, .ga-tools > *, .ga-faq > *, .ga-road .ga-in > * { min-width: 0; }
.ga-detail__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; }
.ga-detail__head > div:first-child { display: grid; gap: 10px; }
.ga-switch { display: inline-flex; padding: 4px; border-radius: 8px; border: 1px solid var(--border-light); background: rgba(8,8,14,.85); gap: 2px; }
.ga-switch button { appearance: none; border: 0; background: none; color: var(--text-muted); font: 600 13px/1 var(--font-body); padding: 10px 14px; border-radius: 6px; cursor: pointer; white-space: nowrap; }
.ga-switch button[aria-selected="true"] { background: linear-gradient(180deg, #2a2213, #1b160c); color: var(--gold-light); box-shadow: 0 0 0 1px rgba(200,162,78,.4) inset; }
.ga-switch button:hover { color: var(--text); }

.ga-ctab { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; background: rgba(14,14,24,.9); }
.ga-ctab table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.ga-ctab th, .ga-ctab td { padding: 12px 16px; border-bottom: 1px solid var(--border); text-align: left; }
.ga-ctab thead th { font: 700 13px/1.2 var(--font-display); letter-spacing: .06em; }
.ga-ctab thead th:nth-child(2) { color: var(--gold-light); }
.ga-ctab thead th:nth-child(3) { color: var(--ga-steel); }
.ga-ctab td:not(:first-child), .ga-ctab th:not(:first-child) { text-align: center; width: 24%; }
.ga-ctab td:first-child { color: #cfccd6; }
.ga-ctab td small { display: block; color: var(--text-dim); font-size: 12px; }
.ga-ctab tr.hl td { background: rgba(200,162,78,.06); }
.ga-ctab tr:last-child td { border-bottom: 0; }
.ga-yes { color: var(--gold-light); font-weight: 700; }
.ga-no { color: var(--text-dim); }

.ga-lanes { overflow-x: auto; }
.ga-lanes__grid { display: grid; grid-template-columns: 150px repeat(6, minmax(92px, 1fr)); min-width: 760px; row-gap: 10px; align-items: center; }
.ga-lanes__h { font: 700 10.5px/1.25 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-dim); text-align: center; padding: 0 4px 10px; border-bottom: 1px solid var(--border); align-self: stretch; display: grid; align-content: end; gap: 4px; }
.ga-lanes__h b { display: block; font: 600 13px/1.2 var(--font-display); letter-spacing: .02em; text-transform: none; color: var(--text); }
.ga-lanes__h.is-here { color: var(--gold); }
.ga-lanes__lab { font: 700 15px/1.2 var(--font-display); padding-right: 12px; }
.ga-lanes__lab small { display: block; font: 500 11px/1.3 var(--font-body); color: var(--text-dim); }
.ga-lanes__lab--f { color: var(--gold-light); }
.ga-lanes__lab--a { color: var(--ga-steel); }
.ga-lanes__lab--e { color: var(--text-muted); }
.ga-bar { height: 34px; border-radius: 6px; display: flex; align-items: center; gap: 6px; padding: 0 12px; font: 600 12px/1.1 var(--font-body); margin: 0 3px; white-space: nowrap; overflow: hidden; }
.ga-bar--f { background: linear-gradient(90deg, #6e5220, #c8a24e); color: #1a1408; box-shadow: 0 0 18px rgba(200,162,78,.25); }
.ga-bar--a { background: linear-gradient(90deg, #2c3a4a, #5b7893); color: #eef4fa; }
.ga-bar--e { background: repeating-linear-gradient(90deg, rgba(159,180,200,.28) 0 14px, transparent 14px 22px); border: 1px dashed var(--ga-steel-dark); color: #cfd9e3; }
.ga-bar--none { color: var(--text-dim); font-weight: 500; justify-content: center; }
.ga-bar--nosub { background: radial-gradient(circle at 30% 50%, #f1d68c, #c8a24e 60%, #8f6a28); color: #1a1408; justify-content: center; font-weight: 800; box-shadow: 0 0 26px rgba(231,200,115,.5); }
.ga-bar--sub { border: 1px solid var(--border-light); color: var(--text-muted); justify-content: center; }
.ga-bar svg { width: 14px; height: 14px; flex: none; }

.ga-tools { display: grid; gap: 20px; padding-bottom: 8px; }
.ga-tools .donate__code-section, .ga-tools .donate__claim-banner { margin: 0; }

.ga-faq { display: grid; gap: 10px; padding-block: 32px 8px; }
.ga-faq h2 { margin-bottom: 6px; }
.ga-faq details { border: 1px solid var(--border); border-radius: 10px; background: rgba(14,14,24,.9); padding: 14px 18px; }
.ga-faq summary { cursor: pointer; font: 600 15px/1.3 var(--font-display); }
.ga-faq details p { color: var(--text-muted); font-size: 14px; margin: 8px 0 0; max-width: 72ch; }
.ga-faq details p a { color: var(--gold-light); }
.ga-terms { scroll-margin-top: calc(var(--nav-height) + var(--alpha-strip-h, 0px) + 16px); }
.ga-terms[open] { border-color: rgba(200,162,78,.35); }
.ga-terms blockquote { margin: 10px 0 0; padding: 10px 14px; border-left: 2px solid var(--gold-dark); color: #d4d2dc; font-size: 14px; max-width: 72ch; }
