/* GERBFLOW "GerbAlgo look" layer (10-05, Gerb: "I like the GerbAlgo one better").
   Loaded LAST on index.html and gerbprint.html, after each page's own <style>. It changes how things
   look, not the layout or the click system: same sections, same tabs, same arrows.
   What it borrows from gerbalgo.com: rounded panels with a faint gold edge and a soft top light,
   stat boxes like the countdown tiles, icon tiles beside features, pill labels with a live dot,
   square arrow buttons with dots under a carousel, slightly rounded buttons, and sections that
   rise in as you scroll, with a thin progress line under the nav. */

:root {
  --r-card: 14px;
  --r-tile: 10px;
  --r-btn: 10px;
  --card-bg: linear-gradient(180deg, rgba(255, 255, 255, .035) 0%, rgba(255, 255, 255, .012) 100%), var(--ink-1);
  --card-edge: rgba(212, 175, 85, .16);
  --card-edge-hi: rgba(212, 175, 85, .42);
  --card-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 24px 48px -28px rgba(0, 0, 0, .85);
}

/* ---------- shared primitives ---------- */
.gf-btn, .plan-move, .nav-back, .gf-login, .faq-q .icon, .tier-row button, .pm-btn, .gp-sticky button, .cmp3 tfoot button { border-radius: var(--r-btn); }
.gf-btn:not(.gf-btn--line):not(.gf-btn--discord):not(.gf-btn--ink) { box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--c, var(--gold)) 80%, transparent); }

.ga-card {
  background: var(--card-bg); border: 1px solid var(--card-edge); border-radius: var(--r-card);
  box-shadow: var(--card-shadow);
}
.ga-pill {
  display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .85rem;
  border: 1px solid var(--card-edge-hi); border-radius: 999px; background: rgba(212, 175, 85, .06);
  font: 600 .6875rem/1 var(--f-text); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-hi);
}
.ga-pill::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 0 currentColor; animation: ga-pulse 2.4s ease-out infinite; }
@keyframes ga-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 55%, transparent); } 70%, 100% { box-shadow: 0 0 0 8px transparent; } }

.ga-ico {
  width: 46px; height: 46px; flex: none; display: grid; place-items: center; border-radius: var(--r-tile);
  background: radial-gradient(circle at 30% 20%, rgba(212, 175, 85, .22), rgba(212, 175, 85, .05) 70%);
  border: 1px solid var(--card-edge-hi); color: var(--gold-hi);
}
.ga-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* square arrow buttons + dots (carousels, proof rail, plan arrows) */
.ga-arrow {
  width: 46px; height: 46px; display: grid; place-items: center; flex: none; cursor: pointer;
  border-radius: var(--r-tile); border: 1px solid var(--line-2); background: rgba(11, 11, 12, .72); color: var(--bone);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: border-color .2s, background .2s, transform .2s var(--ease);
}
.ga-arrow:hover { border-color: var(--gold); background: rgba(212, 175, 85, .12); }
.ga-arrow:active { transform: scale(.96); }
.ga-arrow svg { width: 18px; height: 18px; }
.ga-arrow.prev svg { transform: rotate(180deg); }
.ga-dots { display: flex; gap: 8px; align-items: center; }
.ga-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(238, 234, 225, .25); cursor: pointer; transition: width .35s var(--ease), background .2s; }
.ga-dots button[aria-current="true"] { width: 26px; background: var(--gold); }

/* scroll progress line under the nav */
.ga-progress { position: fixed; left: 0; top: var(--nav-h); height: 2px; width: 100%; z-index: 101; pointer-events: none; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--gold-lo), var(--gold), var(--gold-hi)); }

/* sections rise in (JS adds .ga-rise; without JS everything is visible) */
.ga-rise { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.ga-rise.ga-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ga-rise { opacity: 1; transform: none; } .ga-pill::before { animation: none; } }

/* ====================================================================== */
/* HOME (index.html)                                                       */
/* ====================================================================== */

/* hero carousel: slide 0 is the existing video hero, the rest are ad slides */
.ga-home .hero.ga-hero { min-height: 100vh; min-height: 100svh; }
.ga-home .ga-slides { position: absolute; inset: 0; z-index: 0; }
.ga-home .ga-slide {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end;
  padding-top: var(--nav-h); opacity: 0; visibility: hidden; transition: opacity .8s var(--ease), visibility 0s linear .8s; isolation: isolate;
}
.ga-home .ga-slide.is-on { opacity: 1; visibility: visible; transition: opacity .8s var(--ease), visibility 0s; }
.ga-home .ga-slide[data-slide="0"] { position: relative; min-height: 100vh; min-height: 100svh; }
.ga-home .ga-slides:has(.ga-slide[data-slide="0"]) { position: relative; }
.ga-home .ga-slide-bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.ga-home .ga-slide-bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 7s linear; filter: saturate(.9) brightness(.7); }
.ga-home .ga-slide.is-on .ga-slide-bg img { transform: scale(1); }
.ga-home .ga-slide-bg::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.2) 40%, rgba(5,5,5,.75) 75%, rgba(11,11,12,1) 100%),
              linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.45) 50%, rgba(5,5,5,.1) 80%); }
.ga-home .ga-slide-in { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: var(--s-8); padding-bottom: clamp(7rem, 12vw, 9rem); }
.ga-home .ga-slide .ga-pill { margin-bottom: var(--s-5); color: var(--t, var(--gold-hi)); border-color: color-mix(in srgb, var(--c, var(--gold)) 55%, transparent); background: color-mix(in srgb, var(--c, var(--gold)) 8%, transparent); }
.ga-home .ga-slide h2 { font: var(--w-display) clamp(2.6rem, 8vw, 4.6rem)/.96 var(--f-display); font-stretch: 72%; text-transform: uppercase; max-width: 15ch; }
.ga-home .ga-slide h2 span { display: block; color: var(--t, var(--gold)); }
.ga-home .ga-slide[data-door="algo"] h2 span { background: var(--burn); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ga-home .ga-slide p { margin: var(--s-5) 0 var(--s-6); font-size: var(--fs-lead); line-height: 1.55; color: rgba(238,234,225,.88); max-width: 40ch; }
.ga-home .ga-slide .ga-ad-price { display: inline-flex; align-items: baseline; gap: .5rem; margin-left: 1rem; font: 600 .875rem/1 var(--f-text); color: var(--bone-2); }
.ga-home .ga-slide .ga-ad-price b { font: var(--w-head) 1.5rem/1 var(--f-display); font-stretch: 72%; color: var(--bone); }
/* GERBALGO ad slide has no photo: an engine illustration instead */
.ga-home .ga-algo-art { position: absolute; inset: 0; background: radial-gradient(60% 70% at 78% 40%, rgba(242,112,31,.28), transparent 70%), #070606; }
.ga-home .ga-algo-art svg { position: absolute; right: 4%; top: 18%; width: min(52vw, 640px); height: auto; opacity: .9; }

.ga-home .ga-hero-ctrl {
  position: absolute; z-index: 6; left: 0; right: 0; bottom: clamp(1.25rem, 3vw, 2rem);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; pointer-events: none;
}
.ga-home .ga-hero-ctrl > * { pointer-events: auto; }
.ga-home .ga-hero-tabs { display: flex; gap: .4rem; flex-wrap: wrap; }
/* Codes slide brings its own card arrows: one set only. Hidden, not removed: hero-carousel.js needs the elements. */
.ga-home .hero.ga-hero:has(.ga-slide.is-on .pc-stage) .ga-hero-arrows { visibility: hidden; }
.ga-home .ga-hero-tabs button {
  display: inline-flex; align-items: center; gap: .5rem; min-height: 36px; padding: 0 .8rem; cursor: pointer;
  border-radius: 999px; border: 1px solid var(--line-2); background: rgba(11,11,12,.6); color: var(--bone-2);
  font: 600 .6875rem/1 var(--f-text); letter-spacing: .12em; text-transform: uppercase;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: color .2s, border-color .2s, background .2s;
}
.ga-home .ga-hero-tabs button .gf-pip { width: 7px; height: 7px; }
.ga-home .ga-hero-tabs button[aria-current="true"] { color: var(--bone); border-color: var(--c, var(--gold)); background: color-mix(in srgb, var(--c, var(--gold)) 16%, rgba(11,11,12,.7)); }
.ga-home .ga-hero-arrows { display: flex; align-items: center; gap: .6rem; }
.ga-home .ga-hero-count { font: 600 .75rem/1 var(--f-text); letter-spacing: .14em; color: var(--bone-2); font-variant-numeric: tabular-nums; min-width: 4.5em; text-align: center; }
.ga-home .ga-hero-bar { position: absolute; left: 0; bottom: 0; height: 2px; background: var(--gold); width: 0; z-index: 6; }
.ga-home .hero.ga-hero .hero-doors { display: none; }   /* the tab row below replaces the program index */
.ga-home .hero.ga-hero .hero-content { padding-bottom: clamp(7rem, 12vw, 9rem); }

/* Codes slide: firm cards in a ring, --x = sideways offset in card widths, --d = steps from the middle */
.ga-home .pc { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .9rem; padding: 1rem 0 clamp(5.5rem, 9vw, 6.5rem); }
.ga-home .ga-slide .pc .ga-pill { margin: 0; }
.ga-home .pc-stage { --w: min(20vw, 340px, 46vh); position: relative; width: 100%; height: calc(var(--w) * 1.36); overflow: hidden; touch-action: pan-y; }
.ga-home .pc-card { text-decoration: none; position: absolute; left: 50%; top: 0; width: var(--w); height: 100%; overflow: hidden; display: flex; flex-direction: column; padding: calc(var(--w) * .08); border-radius: var(--r-card); color: #fff; background: linear-gradient(150deg, var(--a), var(--b)); z-index: calc(5 - var(--d, 0));
  transform: translateX(calc(-50% + var(--x, 0) * var(--w))) translateY(calc(var(--d, 0) * 6px)) scale(calc(1 - var(--d, 0) * .16)); transform-origin: 50% 50%; transition: transform .45s var(--ease), opacity .3s; }
.ga-home .pc-card.pc-jump { transition: none; }
.ga-home .pc-card.pc-off { opacity: 0; pointer-events: none; }
.ga-home .pc-card::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(180deg, transparent, rgba(5,5,5,.72)); }
.ga-home .pc-art { position: absolute; inset: 0; width: 100%; height: 100%; }
.ga-home .pc-name, .ga-home .pc-use, .ga-home .pc-code { position: relative; z-index: 1; }
.ga-home .pc-name { font: 700 calc(var(--w) * .075)/1.1 var(--f-text); }
.ga-home .pc-use { margin-top: auto; font: 600 calc(var(--w) * .042)/1 var(--f-text); letter-spacing: .14em; text-transform: uppercase; }
.ga-home .pc-code { margin-top: .3rem; font: var(--w-display) calc(var(--w) * .3)/.95 var(--f-display); font-stretch: 72%; letter-spacing: .02em; }
.ga-home .pc-nav { position: absolute; top: 50%; z-index: 9; margin-top: -22px; width: 44px; height: 44px; }
.ga-home .pc-prev { left: max(.5rem, calc(50% - var(--w) * 2.3)); }
.ga-home .pc-prev svg { transform: rotate(180deg); }
.ga-home .pc-next { right: max(.5rem, calc(50% - var(--w) * 2.3)); }
.ga-home .ga-slide .pc-note { margin: 0; font-size: .75rem; color: var(--bone-2); }
@media (max-width: 900px) {
  .ga-home .pc { padding-bottom: 9rem; }
  .ga-home .pc-prev { left: 1.5rem; }
  .ga-home .pc-next { right: 1.5rem; }
  .ga-home .pc-stage { --w: min(56vw, 38svh); }
}
@media (prefers-reduced-motion: reduce) { .ga-home .pc-card { transition: none; } }

/* ledger stats -> countdown-style boxes */
.ga-home .ledger-row { border: 0; gap: 1rem; }
.ga-home .ledger-stat, .ga-home .ledger-stat + .ledger-stat { padding: 1.4rem 1.5rem; border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }
.ga-home .ledger-num { font-variant-numeric: tabular-nums; }
.ga-home .propfirm-item { border-radius: var(--r-btn); }
.ga-home .propfirm-code { border-radius: 6px; }

/* about: the path rows become stacked cards */
.ga-home .door-list { border-top: 0; display: grid; gap: .75rem; }
.ga-home .door-list .path-head { padding: 0 0 .25rem; }
.ga-home .door-link { padding: 1.25rem 1.35rem; border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); transition: border-color .25s, transform .3s var(--ease), padding .35s var(--ease); }
.ga-home .door-link:hover { padding-left: 1.35rem; border-color: color-mix(in srgb, var(--c) 60%, transparent); transform: translateY(-2px); }
.ga-home .door-link .go { border-radius: var(--r-tile); }
.ga-home .door-price { border-radius: 999px; padding: .32rem .65rem; }

/* program explorer: tabs become a segmented bar, panel sits in a card */
.ga-home .door-tabs { gap: .4rem; border-bottom: 0 !important; padding: .4rem; border: 1px solid var(--line); border-radius: calc(var(--r-card) + 4px); background: rgba(255,255,255,.02); }
.ga-home .door-tabs button { border-radius: var(--r-card); transition: background .25s; padding-inline: clamp(.45rem, 1.6vw, .9rem); }
@media (max-width: 480px) {
  .ga-home .door-tabs { gap: .1rem; padding: .25rem; }
  .ga-home .door-tabs button { padding-inline: .35rem; }
  .ga-home .door-tabs button b { font-size: .9375rem; }
  .ga-home .door-tabs button small { font-size: .5625rem; }
}
.ga-home .door-tabs button[aria-selected="true"] { background: color-mix(in srgb, var(--c) 12%, var(--ink-2)); }
.ga-home .door-tabs button::before { display: none !important; }
.ga-home .door-panel { margin-top: 1rem; padding: clamp(1.5rem, 4vw, 3rem) !important; border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); border-top: 1px solid color-mix(in srgb, var(--c) 30%, transparent) !important; border-radius: var(--r-card); background: radial-gradient(80% 120% at 0% 0%, color-mix(in srgb, var(--c) 10%, transparent), transparent 60%), var(--ink-1); box-shadow: var(--card-shadow); }
.ga-home .plans { border: 0; gap: .6rem; }
.ga-home .plan, .ga-home .plan + .plan { padding: 1rem; border: 1px solid var(--line); border-radius: var(--r-tile); background: rgba(255,255,255,.02); }
.ga-home .feat { border-top: 0; }
.ga-home .feat li { border-bottom-color: rgba(238,234,225,.07); }

/* discord: features as icon cards */
.ga-home .df-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0 !important; }
.ga-home .df, .ga-home .df + .df { padding: 1.5rem !important; border: 1px solid var(--card-edge) !important; border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }
.ga-home .df .ga-ico { margin-bottom: 1.1rem; }
.ga-home .df h3 { font-size: 1.25rem; margin-bottom: .5rem; }

/* proof rail + testimonials */
.ga-home .proof-card { border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--card-edge) !important; }
.ga-home .proof-ctrl button { width: 46px; height: 46px; border-radius: var(--r-tile); }
.ga-home .t-grid .testimonial { padding: 1.5rem 1.5rem 1.4rem; margin-bottom: 1.25rem; border: 1px solid var(--card-edge); border-top: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }
.ga-home .t-more { border-radius: 999px; }

/* final CTA: rounded panel inside the page instead of a full-bleed band */
.ga-home .gf-section.final { background: transparent; padding: var(--s-7) 0 var(--section); }
.ga-home .gf-section.final .final-in { background: radial-gradient(70% 140% at 100% 0%, rgba(255,255,255,.22), transparent 60%), var(--gold); border-radius: calc(var(--r-card) + 8px); padding: clamp(2rem, 6vw, 4.5rem); max-width: calc(var(--maxw) - 2 * var(--gutter)); }

@media (max-width: 900px) {
  .ga-home .ledger-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .ga-home .ledger-stat, .ga-home .ledger-stat + .ledger-stat { padding: .9rem .8rem; }
  .ga-home .ga-hero-tabs { order: 2; width: 100%; flex-wrap: nowrap; }
  .ga-home .ga-hero-tabs button { flex: 1 1 0; justify-content: center; min-height: 44px; padding: 0 .2rem; letter-spacing: .02em; }
  .ga-home .ga-hero-tabs .gf-pip { display: none; }
  /* the fixed bottom nav covers the last 60px: end the hero above it so the arrows stay visible */
  .ga-home .hero.ga-hero, .ga-home .ga-slide[data-slide="0"] { min-height: calc(100svh - 60px - env(safe-area-inset-bottom)); }
  .ga-home .ga-slide-in, .ga-home .hero.ga-hero .hero-content { padding-bottom: 9rem; }
  .ga-home .ga-hero-ctrl { flex-wrap: wrap; gap: .5rem; justify-content: flex-end; bottom: 3.25rem; }
  .ga-home .ga-hero-arrows { display: none; }
  .ga-home .ga-algo-art svg { opacity: .35; width: 90vw; right: -10%; top: 12%; }
  .ga-home .gf-section.final .final-in { margin: 0 var(--gutter); width: auto; }
}
@media (max-width: 640px) {
  .ga-home .df-list { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
  /* phone: keep the cards but not their extra height, so the page scrolls about as far as before */
  .ga-home .door-list { gap: .5rem; }
  .ga-home .door-link { padding: .9rem 1rem; }
  .ga-home .df, .ga-home .df + .df { padding: 1rem 1.1rem !important; }
  .ga-home .df .ga-ico { width: 34px; height: 34px; margin-bottom: .6rem; }
  .ga-home .df .ga-ico svg { width: 18px; height: 18px; }
  .ga-home .df h3 { font-size: 1.1rem; margin-bottom: .3rem; }
  .ga-home .t-grid .testimonial { padding: 1.1rem 1.1rem 1rem; margin-bottom: .7rem; }
  .ga-home .gf-section.final { padding-top: var(--s-5); }
  .ga-home .gf-section.final .final-in { padding: 1.6rem 1.3rem; }
  .ga-home .ga-slide .ga-ad-price { display: flex; margin: 1rem 0 0; }
}

/* ====================================================================== */
/* GERBPRINT (gerbprint.html)                                              */
/* ====================================================================== */
.ga-gp .reel, .ga-gp .portrait, .ga-gp .inside-grid figure, .ga-gp .pw-card, .ga-gp .apply-right, .ga-gp #claim-now-box, .ga-gp #waitlist-banner, .ga-gp #apply-success, .ga-gp .pm-card, .ga-gp .pm-box, .ga-gp .lb img { border-radius: var(--r-card); overflow: hidden; }
.ga-gp .reel, .ga-gp .portrait, .ga-gp .inside-grid figure, .ga-gp .apply-right { border-color: var(--card-edge) !important; box-shadow: var(--card-shadow); }
.ga-gp .apply-right { background: var(--card-bg); }

/* stat boxes */
.ga-gp .ledger4 { border-top: 0; gap: .75rem; }
.ga-gp .ledger4 > div, .ga-gp .ledger4 > div + div { padding: 1.1rem 1.15rem; border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }
.ga-gp .spots { border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); padding: 1rem 1.15rem; }

/* pillars -> cards */
.ga-gp .pillars { border: 0; gap: .9rem; }
.ga-gp .pillar, .ga-gp .pillar + .pillar { padding: 1.4rem; border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }

/* "not a course" strip -> highlighted card */
.ga-gp .notcourse { padding: 1.4rem 1.5rem; border: 1px solid color-mix(in srgb, var(--gold) 45%, transparent); border-radius: var(--r-card); background: radial-gradient(90% 160% at 0% 0%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 60%), var(--ink-1); }

/* plan tabs -> segmented control, same buttons and arrows */
.ga-gp .plan-tabs { gap: .4rem; padding: .4rem; border: 1px solid var(--line); border-radius: calc(var(--r-card) + 4px); background: rgba(255,255,255,.02); }
.ga-gp .plan-tabs button { padding: 1rem 1.1rem; border-radius: var(--r-card); transition: background .25s, color .25s; }
.ga-gp .plan-tabs button::before { left: 1.1rem; right: auto; width: 2.2rem; top: auto; bottom: .7rem; height: 2px; transform: none; opacity: 0; transition: opacity .25s; }
.ga-gp .plan-tabs button[aria-selected="true"] { background: color-mix(in srgb, var(--acc) 14%, var(--ink-2)); }
.ga-gp .plan-tabs button[aria-selected="true"]::before { transform: none; opacity: 1; }
.ga-gp .plan-hl { border-radius: var(--r-card); box-shadow: var(--card-shadow); }
.ga-gp .plan-hl-chips span { border-radius: 999px; }
.ga-gp .plan-buy { padding: 1.5rem; border: 1px solid color-mix(in srgb, var(--acc) 35%, transparent); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }
.ga-gp .price-block { border-top-color: var(--line); }
.ga-gp .plan-move { min-height: 44px; border-radius: var(--r-tile); background: rgba(255,255,255,.02); }
.ga-gp .plan-move:hover, .ga-gp .plan-move.up { background: color-mix(in srgb, var(--acc) 12%, transparent); }
.ga-gp .plan-learn { border-radius: var(--r-btn); }
.ga-gp .plan-features { border-top: 0; display: grid; gap: .75rem; }
.ga-gp .pf-nested > li.pf-group { padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: var(--r-card); background: rgba(255,255,255,.018); }
.ga-gp .pf-sub li.pf-star { border-radius: 8px; }
.ga-gp .pf-tag, .ga-gp .pf-tag2 { border-radius: 999px !important; }
.ga-gp .cmp-scroll { border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); padding: 0 1rem 1rem; }

/* curriculum weeks -> timeline cards */
.ga-gp .week-list { border-top: 0; display: grid; gap: .5rem; }
.ga-gp .week-item { padding: .85rem 1rem; border: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: var(--r-tile); background: rgba(255,255,255,.018); transition: border-color .2s, padding .3s var(--ease); }
.ga-gp .week-item:hover { padding-left: 1.3rem; border-color: var(--card-edge-hi); }

/* results */
.ga-gp .t-grid .testimonial { padding: 1.5rem; margin-bottom: 1.25rem; border: 1px solid var(--card-edge); border-radius: var(--r-card); background: var(--card-bg); box-shadow: var(--card-shadow); }

/* faq */
.ga-gp .faq-right { border-top: 0; display: grid; gap: .6rem; }
.ga-gp .faq-item { border: 1px solid var(--line); border-radius: var(--r-card); background: rgba(255,255,255,.018); padding: 0 1.25rem; transition: border-color .2s; }
.ga-gp .faq-item:has(.faq-q.open) { border-color: var(--card-edge-hi); }

/* apply */
.ga-gp .apply-bullets { border-top: 0; display: grid; gap: .5rem; }
.ga-gp .apply-bullets li { padding: .85rem 1rem; border: 1px solid var(--line); border-radius: var(--r-tile); background: rgba(255,255,255,.018); }
.ga-gp .apply-form input, .ga-gp .apply-form select, .ga-gp .apply-form textarea { border-radius: var(--r-tile); }

@media (max-width: 720px) {
  .ga-gp .ledger4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ga-gp .pillars { grid-template-columns: minmax(0, 1fr); }
  .ga-gp .gp-sticky { border-radius: var(--r-card) var(--r-card) 0 0; }
}

/* GERBPRINT reel carousel: video + ad cards, arrows and dots under it */
.ga-reel { position: relative; display: grid; padding-bottom: 64px; background: var(--card-bg) !important; }
.ga-reel-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .6s var(--ease), visibility 0s linear .6s; }
.ga-reel-slide.is-on { opacity: 1; visibility: visible; transition: opacity .6s var(--ease), visibility 0s; }
.ga-reel-ad { position: relative; display: block; text-decoration: none; color: var(--bone); overflow: hidden; }
.ga-reel-ad img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top left; filter: brightness(.55) saturate(.9); transition: transform 6s linear; }
.ga-reel-ad.is-on img { transform: scale(1.04); }
.ga-reel-copy { position: absolute; inset: auto 0 0 0; display: grid; gap: .8rem; justify-items: start; padding: clamp(1rem, 3vw, 1.75rem); background: linear-gradient(180deg, transparent, rgba(5,5,5,.92) 55%); }
.ga-reel-copy b { font: var(--w-head) clamp(1.35rem, 2.6vw, 2rem)/1.02 var(--f-display); font-stretch: 72%; text-transform: uppercase; max-width: 22ch; }
.ga-reel-ad[data-door="fd"] .ga-pill { color: var(--t-fd); border-color: rgba(240,240,240,.45); background: rgba(240,240,240,.06); }
.ga-reel-ad[data-door="fd"] .gf-btn { background: var(--c-fd); color: #0A0A0A; }
.ga-reel-ctrl { position: absolute; left: 0; right: 0; bottom: 9px; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.ga-reel-ctrl .ga-arrow { width: 40px; height: 40px; }
.ga-gp .home-right .ledger4 { margin-top: .9rem; }
.ga-gp .ledger4 .gf-num { font-size: clamp(1.45rem, 2.2vw, 2rem); white-space: nowrap; }

/* 10-05: "This is GERBFLOW" sits in the middle of the first slide, centred both ways */
.ga-home .ga-slide[data-slide="0"] { display: flex; flex-direction: column; }
.ga-home .ga-slide[data-slide="0"] .hero-content { flex: 1; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.ga-home .ga-slide[data-slide="0"] .hero-sub { margin-left: auto; margin-right: auto; max-width: 40ch; }
.ga-home .ga-slide[data-slide="0"] .hero-actions { justify-content: center; }
