/* ============================================================
   Freestand Agency v2 theme: "established software company".
   Loaded after fiq/ and agency/ stylesheets. Remaps the Daylight
   tokens to a crisp, flat, product-led system and restyles the
   shared components. Scoped to body.v2.
   ============================================================ */

body.v2 {
  --ink: #0B111A;
  --oak-deep: #0B111A;      /* primary: near-black */
  --oak-mid: #4A5565;
  --oak-base: #7B8696;
  --oak-press: #000000;
  --brand-gold: #C8A063;    /* gold highlight on dark */
  --dark-gold: #9B7846;     /* gold highlight on light */
  --accent: #24507F;        /* Porsche Yachting Blue Metallic */
  --accent-hover: #1B3F66;
  --accent-light: #7FA6D1;  /* blue on dark */
  --blue-2: #4E7BAF;        /* complementary steel blue */
  --ice: #EEF3F9;           /* cool blue tint */
  --ice-2: #E3EBF4;
  --ivory: #FAF8F3;         /* warm off-white, pairs with the gold */
  --ivory-2: #F4F1EA;
  --accent-soft: #EBF1F8;
  --warm-white: #FFFFFF;
  --warm-white-shade: #F3F6F9;
  --muted-gray: #4A5565;
  --border: #E3E8EE;
  --bg-page: #FFFFFF;
  --fg-primary: #0B111A;
  --fg-body: #4A5565;
  --fg-muted: #7B8696;
  --fg-on-dark: rgba(255,255,255,.92);
  --fg-on-dark-muted: rgba(255,255,255,.62);
  --rule: #EBEFF3;
  --rule-dark: rgba(255,255,255,.09);

  --surface-ground: #FFFFFF;
  --surface-card: #FFFFFF;
  --surface-dark: #0B1320;
  --surface-gold: #F4F7FB;
  --surface-sunken: #F3F6F9;
  --grain-opacity: 0;

  --bevel: none;
  --lift: 0 1px 2px rgba(11,17,26,.05), 0 12px 32px -16px rgba(11,17,26,.18);
  --lift-sm: 0 1px 2px rgba(11,17,26,.05), 0 8px 20px -12px rgba(11,17,26,.14);
  --lift-on-dark: none;
  --lift-btn: none;

  --font-body: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: var(--font-body);
  --font-mono: 'Geist Mono', ui-monospace, Menlo, monospace;
  --tracking-label: 0.06em;
  --size-mono: 11.5px;

  --radius: 14px;
  --radius-sm: 10px;
  --radius-btn: 8px;
  --radius-chip: 6px;

  background: #FFFFFF;
  color: var(--fg-body);
  font-weight: 400;
}
body.v2.fiq-ground::before { display: none; }

/* ---------- type ---------- */
.v2 .fiq-display, .v2 .fiq-h1, .v2 .fiq-h2, .v2 .fiq-h3 { font-weight: 600; letter-spacing: -0.035em; }
.v2 .fiq-display { font-size: clamp(44px, 6vw, 72px); line-height: 1.02; letter-spacing: -0.045em; }
.v2 .fiq-h1 { font-size: clamp(38px, 4.6vw, 56px); line-height: 1.04; }
.v2 .fiq-h2 { font-size: clamp(30px, 3.4vw, 42px); line-height: 1.08; }
.v2 .fiq-h3 { font-size: 24px; letter-spacing: -0.025em; }
.v2 .fiq-h4 { font-weight: 600; letter-spacing: -0.01em; }
.v2 .fiq-lead { font-weight: 400; font-size: 18px; line-height: 1.6; max-width: 56ch; }
.v2 .fiq-p, .v2 .fiq-small { font-weight: 400; }
.v2 .fiq-label { font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--fg-muted); }
.v2 .fiq-accent { color: var(--accent); }
.v2 .fiq-section__eyebrow { color: var(--accent); }
.v2 .fiq-on-dark .fiq-label { color: rgba(255,255,255,.5); }

/* ---------- card ---------- */
.v2 .fiq-card { border: 1px solid var(--border); background: #FFFFFF; box-shadow: var(--lift); border-radius: var(--radius); }
.v2 .fiq-card--sm { border-radius: var(--radius-sm); }
.v2 .fiq-card--dark { background: var(--surface-dark); border: 1px solid #1C2A3B; box-shadow: none; }
.v2 .fiq-card--gold { background: var(--surface-gold); border: 1px solid #D3DFEC; box-shadow: none; color: var(--ink); }
/* the tinted "featured" card was gold with dark-brown ink; re-ink everything inside to the v2 palette */
.v2 .fiq-card--gold *:not(.fiq-chip):not(.eq__tick):not(.numcard__n):not(.fiq-label):not(.svc__k):not(.pay__seg):not(.pay__dot):not(image-slot) { color: var(--ink); border-color: #DCE6F1; }
.v2 .fiq-card--gold .fiq-label, .v2 .fiq-card--gold .numcard__n, .v2 .fiq-card--gold .svc__k { color: var(--accent); }
.v2 .fiq-card--gold .eq__tick { color: var(--accent); }

/* ---------- buttons ---------- */
.v2 .fiq-btn { background: var(--ink); color: #FFFFFF; box-shadow: none; font-weight: 500; border-radius: var(--radius-btn); padding: 10px 16px; }
.v2 .fiq-btn:hover { filter: none; background: #1E2A3A; color: #FFFFFF; }
.v2 .fiq-btn--lg { padding: 13px 22px; font-size: 15px; }
.v2 .fiq-btn--gold { background: var(--accent); color: #FFFFFF; }
.v2 .fiq-btn--gold:hover { background: var(--accent-hover); color: #FFFFFF; }
.v2 .fiq-btn--secondary { background: #FFFFFF; color: var(--ink); border: 1px solid var(--border); box-shadow: none; }
.v2 .fiq-btn--secondary:hover { background: var(--surface-sunken); color: var(--ink); }
.v2 .fiq-on-dark .fiq-btn--secondary, .v2 .v2-dark .fiq-btn--secondary { background: transparent; color: #FFFFFF; border-color: rgba(255,255,255,.2); }
.v2 .fiq-on-dark .fiq-btn--secondary:hover, .v2 .v2-dark .fiq-btn--secondary:hover { background: rgba(255,255,255,.08); }

/* ---------- pill / chip ---------- */
.v2 .fiq-pill { background: #FFFFFF; border: 1px solid var(--border); box-shadow: none; color: var(--ink); font-weight: 500; padding: 6px 12px; }
.v2 .fiq-pill::before { background: var(--brand-gold); box-shadow: 0 0 0 3px rgba(200,160,99,.22); }
.v2 .v2-dark .fiq-pill { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: #FFFFFF; }
.v2 .fiq-chip { background: var(--surface-sunken); color: var(--oak-mid); box-shadow: none; border: 1px solid var(--border); font-weight: 500; padding: 4px 9px; }
.v2 .fiq-chip--gold { background: #FAF4EA; color: #8A6A38; border-color: #EBDCC2; }
.v2 .fiq-on-dark .fiq-chip { background: rgba(255,255,255,.07); color: #FFFFFF; border-color: rgba(255,255,255,.12); box-shadow: none; }
.v2 .fiq-on-dark .fiq-chip--gold { background: rgba(200,160,99,.16); color: #E2C38F; border-color: rgba(200,160,99,.36); }

/* ---------- re-ink agency/ hardcoded pieces ---------- */
.v2 .fa-lockup__tag { background: #FAF4EA; color: #8A6A38; box-shadow: none; border: 1px solid #EBDCC2; }
.v2 .mock__bubble--caller { background: var(--ink); }
.v2 .mock__stat { background: var(--surface-sunken); box-shadow: none; border: 1px solid var(--border); }
.v2 .mock__num { color: var(--ink); font-weight: 600; }
.v2 .pay__seg--ret { background: var(--ink); }
.v2 .pay__seg--build { background: var(--accent); }
.v2 .fiq-card--gold .pay__seg--build { background: var(--accent); }
.v2 .pay__dot--ret { background: var(--ink); }
.v2 .pay__dot--build, .v2 .fiq-card--gold .pay__dot--build { background: var(--accent); }
.v2 .eq__part--opt { background: var(--surface-sunken); box-shadow: none; }
.v2 .mix__plus, .v2 .eq__plus, .v2 .halves__plus { color: var(--accent); }
.v2 .mix__plus { background: var(--accent-soft); box-shadow: none; border: 1px solid #D3DFEC; }
.v2 .steps7__label { border-bottom-color: var(--accent); }
.v2 .shot__frame { background: var(--surface-sunken); box-shadow: none; border: 1px solid var(--border); border-radius: 10px; }
.v2 .shot--dark .shot__frame { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); }
.v2 .agt__row--gold { background: var(--accent-soft); border-radius: 0 0 var(--radius) var(--radius); }
.v2 .agt__row--gold .agt__name, .v2 .agt__row--gold .agt__v { color: var(--ink); }
.v2 .agt__row--gold .numcard__n { color: var(--dark-gold); }
.v2 .who__words span:nth-child(2) { color: var(--brand-gold); }
.v2 .tier__t, .v2 .eq__t, .v2 .sys__t, .v2 .pic__t, .v2 .rules__t, .v2 .vert__t, .v2 .fix__prob b, .v2 .steps7__t, .v2 .half__t { font-weight: 600; }
.v2 .sys__kpi b, .v2 .svc__kpi b { font-weight: 600; color: var(--ink); }
.v2 .svc__kpi b { color: var(--accent); }
.v2 .modal__scrim { background: rgba(11,17,26,.5); }

/* ---------- nav ---------- */
.v2 .site-nav { background: rgba(255,255,255,.85); backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid var(--border); }
.v2 .site-nav__links { gap: 28px; }
.v2 .site-nav__links a { font-weight: 500; font-size: 14px; color: var(--fg-body); }
.v2 .site-nav__links a:hover { color: var(--ink); }
.v2 .site-nav__links a.is-here { color: var(--ink); font-weight: 600; }
.v2 .site-nav__links .fiq-btn { color: #FFFFFF; }
.v2 .site-nav__login { color: var(--ink) !important; font-weight: 500; white-space: nowrap; }
.v2 .site-nav__div { width: 1px; height: 18px; background: var(--border); }

/* ---------- page hero (spokes) ---------- */
.v2 .hero--spoke { background: var(--surface-dark); color: #FFFFFF; padding: 96px 0 88px; position: relative; overflow: hidden; }
.v2 .hero--spoke::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(ellipse 70% 80% at 50% 0%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 0%, #000 30%, transparent 75%); pointer-events: none; }
.v2 .hero--spoke > * { position: relative; }
.v2 .hero--spoke .fiq-h1 { color: #FFFFFF; }
.v2 .hero--spoke .fiq-accent { color: var(--brand-gold); }
.v2 .hero--spoke .fiq-lead { color: rgba(255,255,255,.68); }
.v2 .hero--spoke .fiq-pill { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: #FFFFFF; }

/* ---------- sections ---------- */
.v2 .sec { padding: 104px 0; }
.v2 .sec + .sec { border-top: 1px solid var(--rule); }
.v2 .fa-sec--tint { background: #F7F9FB; }

/* ---------- begin / CTA ---------- */
.v2 .begin { padding: 0 0 104px; }
.v2 .begin__card { border-radius: 20px; position: relative; overflow: hidden; }
.v2 .begin__card::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 40px 40px; mask-image: linear-gradient(90deg, transparent, #000 60%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
.v2 .begin__card > * { position: relative; }

/* ---------- footer ---------- */
.v2 .site-footer { background: #F7F9FB; border-top: 1px solid var(--border); }
.v2 .site-footer h4 { color: var(--ink); font-family: var(--font-body); text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; }
.v2 .site-footer li a { color: var(--fg-body); }
.v2 .site-footer li a:hover { color: var(--ink); }
.v2 .ftr-status { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--fg-body); }
.v2 .ftr-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-gold); box-shadow: 0 0 0 3px rgba(200,160,99,.22); }

/* ---------- forms ---------- */
.v2 .form__input, .v2 .form__select, .v2 .form__area { background: #FFFFFF; box-shadow: none; border: 1px solid var(--border); border-radius: 8px; font-weight: 400; }
.v2 .form__input:focus, .v2 .form__select:focus, .v2 .form__area:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(36,80,127,.16); }

/* Yachting Blue primary, gold as the highlight */
.v2 .numcard__n, .v2 .half__n, .v2 .fix__n, .v2 .rules__n, .v2 .leak__n { color: var(--accent); }
.v2 .eq__tick { color: var(--accent); }
.v2 .fiq-card--dark .numcard__n, .v2 .fiq-card--dark .half__n, .v2 .fiq-card--dark .eq__tick, .v2 .fiq-card--dark .half__arrow { color: var(--brand-gold); }
.v2 .svc__kpi b { color: var(--accent); }
.v2 .svc__k { color: var(--accent); }
.v2 .fix__arrow, .v2 .half__arrow, .v2 .sys__arrow { color: var(--accent); }
.v2 .who__words span:nth-child(2) { color: var(--brand-gold); }
.v2 .hero--spoke .fiq-accent { color: var(--brand-gold); }

/* ---------- depth: alternating grounds ---------- */
.v2 .sec { position: relative; }
.v2 .sec + .sec { border-top: 0; }
.v2 .sec--ivory { background: var(--ivory); border-top: 1px solid var(--ivory-2) !important; border-bottom: 1px solid var(--ivory-2); }
.v2 .sec--ice { background: linear-gradient(180deg, var(--ice) 0%, #F6F9FC 100%); border-top: 1px solid var(--ice-2) !important; border-bottom: 1px solid var(--ice-2); }
.v2 .sec--steel { background: #142338; color: #FFFFFF; }
.v2 .sec--steel .fiq-h2, .v2 .sec--steel .fiq-h3 { color: #FFFFFF; }
.v2 .sec--steel .fiq-lead, .v2 .sec--steel .fiq-p { color: rgba(255,255,255,.7); }
.v2 .sec--steel .fiq-section__eyebrow { color: var(--brand-gold); }
/* spokes: every other section gets a ground */
.v2-spoke #app > .sec:nth-of-type(odd):not(.sec--ice):not(.sec--steel) { background: var(--ivory); }
/* spoke hero: subtle blue glow under the grid */
.v2 .hero--spoke { background: radial-gradient(ellipse 60% 70% at 70% 0%, rgba(78,123,175,.38), transparent 70%), linear-gradient(180deg, rgba(11,19,32,.5) 0%, rgba(11,19,32,.72) 45%, rgba(11,19,32,.96) 100%), linear-gradient(90deg, rgba(11,19,32,.35) 0%, transparent 60%), url("assets/workflow-bg.png") center 30% / cover no-repeat, var(--surface-dark); }
.v2 .begin__card { background: radial-gradient(ellipse 50% 90% at 100% 0%, rgba(78,123,175,.35), transparent 70%), var(--surface-dark); }
/* white cards read lifted on tinted grounds */
.v2 .sec--ivory .fiq-card:not(.fiq-card--dark):not(.fiq-card--gold), .v2 .sec--ice .fiq-card:not(.fiq-card--dark):not(.fiq-card--gold) { border-color: rgba(11,17,26,.07); }
.v2 .site-footer { background: var(--ivory); border-top-color: var(--ivory-2); }

/* ---------- mobile: sticky bottom CTA ---------- */
.v2 .mcta { display: none; }
@media (max-width: 900px) {
  .v2 .mcta { display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.94); backdrop-filter: saturate(180%) blur(12px); border-top: 1px solid var(--border); box-shadow: 0 -8px 24px -12px rgba(11,17,26,.18); transition: transform var(--dur-base) var(--ease), opacity var(--dur-base) var(--ease); }
  .v2 .mcta.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
  .v2 .mcta .fiq-btn { flex: 0 1 420px; justify-content: center; min-height: 48px; }
  .v2 .mcta { justify-content: center; }
  .v2 .mcta__alt { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: var(--radius-btn); border: 1px solid var(--border); font-weight: 500; font-size: 15px; color: var(--ink); background: #FFFFFF; }
  body.v2 { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  /* the nav CTA is redundant with the bar */
  .v2 .site-nav__sheet .fiq-btn { display: none; }

  /* general mobile tightening */
  .v2 .sec { padding: 64px 0; }
  .v2 .begin { padding-bottom: 64px; }
  .v2 .fiq-lead { font-size: 16.5px; }
  .v2 .hero--spoke { padding: 64px 0 56px; }
  .v2 .hero--spoke .hero__acts .fiq-btn { width: 100%; }
  .v2 .site-footer__top { grid-template-columns: 1fr 1fr; gap: 28px; }
  .v2 .site-footer__top > div:first-child { grid-column: 1 / -1; }
  .v2 .site-nav__burger { width: 44px; height: 44px; align-items: center; justify-content: center; }
  .v2 .site-nav__sheet a { min-height: 44px; display: flex; align-items: center; }
  .v2 .fiq-chip { white-space: normal; }
}

/* ---------- booking modal ---------- */
.v2 .bk { display: flex; align-items: center; justify-content: center; padding: 16px; }
.v2 .bk .modal__scrim { background: rgba(8,13,21,.62); backdrop-filter: blur(6px); }
.v2 .bk__panel { position: relative; z-index: 1; width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; display: grid; grid-template-columns: 340px minmax(0,1fr); background: #FFFFFF; border-radius: 18px; box-shadow: 0 40px 80px -30px rgba(8,13,21,.6), 0 0 0 1px rgba(255,255,255,.06); animation: bkIn 320ms cubic-bezier(.2,0,0,1); }
@keyframes bkIn { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.v2 .bk__close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #F2F4F7; border: 0; cursor: pointer; color: var(--ink); }
.v2 .bk__side { position: relative; overflow: hidden; padding: 36px 30px; color: #FFFFFF; background: radial-gradient(120% 70% at 0% 0%, rgba(200,160,99,.22), transparent 55%), radial-gradient(90% 60% at 100% 100%, rgba(74,125,178,.45), transparent 60%), linear-gradient(160deg, #1B3350 0%, #0F1E30 100%); display: flex; flex-direction: column; gap: 18px; }
.v2 .bk__side::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(180deg, transparent, #000 60%); pointer-events: none; }
.v2 .bk__side > * { position: relative; z-index: 1; }
.v2 .bk__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .12em; color: var(--brand-gold); }
.v2 .bk__title { font-size: 28px; line-height: 1.12; font-weight: 600; letter-spacing: -.02em; margin: 0; }
.v2 .bk__sub { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.72); margin: 0; }
.v2 .bk__steps { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.v2 .bk__steps li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; padding: 12px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); }
.v2 .bk__steps b { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #0B111A; background: var(--brand-gold); }
.v2 .bk__steps strong { display: block; font-size: 14px; font-weight: 600; }
.v2 .bk__steps span { display: block; font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,.66); margin-top: 2px; }
.v2 .bk__proof { margin-top: auto; display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,.8); }
.v2 .bk__dot { width: 8px; height: 8px; border-radius: 50%; background: #4ADE80; box-shadow: 0 0 0 4px rgba(74,222,128,.18); }
.v2 .bk__main { padding: 36px 34px 30px; }
.v2 .bk__prog { height: 4px; border-radius: 4px; background: #EDF0F4; overflow: hidden; }
.v2 .bk__prog span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--brand-gold)); transition: width 300ms cubic-bezier(.2,0,0,1); }
.v2 .bk__prog-l { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted-gray); margin: 8px 0 18px; }
.v2 .bk .form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.v2 .bk .form__field { margin-bottom: 16px; }
.v2 .bk .fiq-label { display: block; margin-bottom: 6px; }
.v2 .bk .form__input, .v2 .bk .form__select { width: 100%; height: 44px; padding: 0 14px; border-radius: 10px; border: 1px solid #DCE2EA; background: #F8FAFC; font: inherit; font-size: 14px; color: var(--ink); transition: border-color 150ms, box-shadow 150ms, background 150ms; }
.v2 .bk .form__input:focus, .v2 .bk .form__select:focus { outline: none; background: #FFFFFF; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(46,91,140,.14); }
.v2 .bk__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2 .bk__chip { height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid #DCE2EA; background: #FFFFFF; font: inherit; font-size: 13px; font-weight: 500; color: var(--ink); cursor: pointer; transition: all 150ms; }
.v2 .bk__chip:hover { border-color: var(--accent); }
.v2 .bk__chip.is-on { background: var(--accent); border-color: var(--accent); color: #FFFFFF; box-shadow: 0 6px 14px -6px rgba(46,91,140,.6); }
.v2 .bk__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; padding-top: 18px; border-top: 1px solid #EDF0F4; }
.v2 .bk__fine { font-size: 12px; color: var(--muted-gray); }
.v2 .bk__done { padding: 40px 0; }
.v2 .bk__check { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; color: #0B111A; background: var(--brand-gold); margin-bottom: 18px; box-shadow: 0 0 0 8px rgba(200,160,99,.18); }
@media (max-width: 820px) {
  .v2 .bk__panel { grid-template-columns: 1fr; }
  .v2 .bk__steps { display: none; }
  .v2 .bk__side { padding: 26px 22px; gap: 10px; }
  .v2 .bk__title { font-size: 22px; }
  .v2 .bk__main { padding: 22px; }
  .v2 .bk .form__row { grid-template-columns: 1fr; }
}

/* pay schedule */
.v2 .payc__steps { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: flex; flex-direction: column; }
.v2 .payc__steps li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 14px; padding-bottom: 20px; }
.v2 .payc__steps li:not(:last-child)::before { content: ''; position: absolute; left: 14px; top: 30px; bottom: 0; width: 2px; background: currentColor; opacity: .15; }
.v2 .payc__dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; background: var(--accent); color: #FFFFFF; }
.v2 .fiq-card--gold .payc__dot { background: var(--brand-gold); color: #0B111A; }
.v2 .payc__w { display: block; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .65; }
.v2 .payc__p { display: block; font-size: 17px; font-weight: 600; margin-top: 3px; }
.v2 .payc__n { display: block; font-size: 14px; opacity: .72; margin-top: 2px; }
.v2 .payc__best { margin: 4px 0 0; padding-top: 16px; border-top: 1px solid currentColor; border-color: rgba(127,127,127,.22); font-size: 14px; font-weight: 500; }

/* ads add-on row */
.v2 .addon { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 16px; align-items: start; margin-top: var(--space-4); padding: 18px 22px; border: 1px solid #1F3550; border-radius: 14px; background: linear-gradient(135deg, #1B3350 0%, #0F1E30 100%); }
.v2 .addon .fiq-label { color: var(--brand-gold); }
.v2 .addon__plus { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; font-weight: 600; color: #0B111A; background: var(--brand-gold); }
.v2 .addon__t { display: block; font-size: 17px; font-weight: 600; color: #FFFFFF; margin-top: 4px; }
.v2 .addon__d { margin: 4px 0 0; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.75); max-width: 80ch; }

.v2 .bk__req { color: #C2410C; }
.v2 .bk__err { margin: 4px 0 12px; font-size: 13px; font-weight: 600; color: #B42318; }

.v2 .disc__body[hidden] { display: none; }

.v2 .bk__panel--solo { grid-template-columns: 1fr !important; max-width: 640px; width: 100%; }
.v2 .bk__panel--solo .bk__main { padding: 36px 36px 30px; }
.v2 .bk__head { margin-bottom: 18px; padding-right: 36px; }
.v2 .bk__head .bk__eyebrow { color: var(--dark-gold, #9B7846); }
.v2 .bk__head .bk__title { color: var(--ink, #1F2620); margin: 8px 0 6px; font-size: 26px; }
.v2 .bk__head .bk__sub { color: var(--fg-body, #6B6B6B); margin: 0; font-size: 15px; }
@media (max-width: 640px) { .v2 .bk__panel--solo .bk__main { padding: 26px 20px 22px; } .v2 .bk__head .bk__title { font-size: 22px; } }

.v2 .bk__consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 4px 0 16px; padding: 12px 14px; border-radius: 10px; background: var(--surface-sunken, #F4F1EB); cursor: pointer; }
.v2 .bk__consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--brand-gold, #C8A063); cursor: pointer; }
.v2 .bk__consent span { font-size: 12px; line-height: 1.5; font-weight: 500; color: var(--fg-body, #6B6B6B); }

.v2 .bk__consents { display: grid; gap: 8px; margin: 4px 0 16px; }
.v2 .bk__consents .bk__consent { margin: 0; }
.v2 .bk__legal { margin: 2px 0 0; font-size: 12px; font-weight: 600; color: var(--fg-body, #6B6B6B); }
.v2 .bk__legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.v2 .bk__legal a:hover { color: var(--ink, #1F2620); }

.legal { padding: 40px 18px 72px; }
.legal__wrap { max-width: 760px; margin: 0 auto; background: linear-gradient(180deg,#fff,#FAF7F2); border-radius: 22px; padding: 44px 44px 36px; box-shadow: inset 0 1px 0 #fff, 0 2px 2px rgba(31,38,32,.04), 0 34px 54px -30px rgba(31,38,32,.18); }
.legal__home { display: block; width: max-content; margin-bottom: 28px; }
.legal__wrap > .fiq-label { display: block; }
.legal__title { font-size: 40px; font-weight: 800; letter-spacing: -0.035em; margin: 0 0 22px; color: var(--ink,#1F2620); }
.legal__body h2 { font-size: 19px; font-weight: 800; letter-spacing: -0.02em; margin: 28px 0 8px; color: var(--ink,#1F2620); }
.legal__body p, .legal__contact { font-size: 15px; line-height: 1.65; font-weight: 500; color: var(--fg-body,#4A5563); margin: 0 0 12px; }
.legal__contact { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(31,38,32,.08); }
.legal__nav { font-size: 13px; font-weight: 600; margin: 14px 0 0; }
.legal a { color: var(--ink,#1F2620); text-underline-offset: 2px; }
@media (max-width: 640px) { .legal__wrap { padding: 28px 20px; } .legal__title { font-size: 30px; } }
.legal__body h3 { font-size: 15px; font-weight: 800; margin: 18px 0 6px; color: var(--ink,#1F2620); }
.legal__body ul { margin: 0 0 14px; padding-left: 20px; }
.legal__body li { font-size: 15px; line-height: 1.6; font-weight: 500; color: var(--fg-body,#4A5563); margin: 0 0 4px; }
.legal__body strong { color: var(--ink,#1F2620); font-weight: 700; }
