/* VX Machina — Offers pages (Obsidian Forge v1.3) */
section { scroll-margin-top: 80px; }
.offer-hero { padding: clamp(48px, 7vw, 88px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--rule); }
.offer-hero .kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; font: 600 13px/1 var(--font-tech); letter-spacing: .24em; text-transform: uppercase; color: var(--silver); }
.offer-hero .kicker::after { content: ""; width: 48px; height: 1px; background: var(--violet); }
.offer-hero h1 { margin: 0; font: 500 clamp(32px, 4.5vw, 52px)/1.08 var(--font-display); letter-spacing: -.02em; max-width: 18ch; }
.offer-hero .lede { margin: 20px 0 0; max-width: 62ch; color: var(--silver); font-size: 17px; }
.offer-hero .meta { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 28px; font: 600 13px/1 var(--font-tech); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); }
.offer-hero .actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

.offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: clamp(48px, 6vw, 80px) 0; }
.offer-card { display: flex; flex-direction: column; border: 1px solid var(--rule); background: var(--obsidian); padding: 28px 26px 30px; position: relative; }
.offer-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--violet); }
.offer-card .tag { font: 600 12px/1 var(--font-tech); letter-spacing: .22em; text-transform: uppercase; color: var(--violet-text); margin-bottom: 14px; }
.offer-card h2 { margin: 0 0 12px; font: 500 24px/1.2 var(--font-display); }
.offer-card p { margin: 0 0 18px; color: var(--silver); font-size: 15px; flex: 1; }
.offer-card .price { font: 600 18px/1.3 var(--font-display); color: var(--titanium); margin-bottom: 22px; }
.offer-card .price span { display: block; margin-top: 6px; font: 600 12px/1.4 var(--font-tech); letter-spacing: .14em; text-transform: uppercase; color: var(--silver); }

.block { padding: clamp(48px, 6vw, 88px) 0 0; }
.shead { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: end; margin-bottom: 36px; }
.shead .num { font: 600 13px/1 var(--font-tech); letter-spacing: .24em; color: var(--silver); border-top: 1px solid var(--violet); padding-top: 14px; }
.shead .num b { color: var(--violet-text); font-weight: 600; }
.shead h2 { margin: 0; font: 500 clamp(26px, 3vw, 36px)/1.1 var(--font-display); letter-spacing: -.02em; max-width: 24ch; }

.panel { border: 1px solid var(--rule); background: var(--obsidian); }
.panel + .panel { margin-top: 18px; }
.panel h3 { margin: 0; padding: 18px 22px; font: 500 18px/1.3 var(--font-display); border-bottom: 1px solid var(--rule); }
.panel ul, .panel ol { margin: 0; padding: 8px 22px 20px; list-style: none; }
.panel li { position: relative; padding: 12px 0 12px 18px; border-top: 1px solid var(--rule); color: var(--titanium); font-size: 15.5px; line-height: 1.5; }
.panel li:first-child { border-top: 0; }
.panel li::before { content: ""; position: absolute; left: 0; top: 20px; width: 8px; height: 1px; background: var(--teal); }
.panel p { margin: 0; padding: 18px 22px 22px; color: var(--silver); font-size: 15.5px; }

.split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: start; }
.price-box { border: 1px solid rgba(122,75,255,.45); background: var(--graphite); padding: 28px; }
.price-box .label { font: 600 12px/1 var(--font-tech); letter-spacing: .2em; text-transform: uppercase; color: var(--violet-text); }
.price-box .amount { margin: 14px 0 8px; font: 500 clamp(28px, 3vw, 36px)/1.1 var(--font-display); }
.price-box .deposit { color: var(--silver); font-size: 15px; margin: 0 0 22px; }
.price-box .actions { display: flex; flex-wrap: wrap; gap: 12px; }

.proof { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.proof article { border: 1px solid var(--rule); background: var(--charcoal); padding: 18px 20px; }
.proof h3 { margin: 0 0 8px; font: 500 16px/1.3 var(--font-display); }
.proof p { margin: 0; color: var(--silver); font-size: 14px; }

.fr-note { margin-top: 36px; padding: 20px 22px; border: 1px dashed var(--rule-strong); color: var(--silver); font-size: 14.5px; }
.fr-note strong { color: var(--titanium); font-weight: 500; }

.cta-band { margin-top: clamp(56px, 8vw, 100px); border-top: 1px solid var(--rule); background: var(--obsidian); padding: clamp(48px, 6vw, 80px) 0; }
.cta-band h2 { margin: 0 0 12px; font: 500 clamp(26px, 3vw, 36px)/1.15 var(--font-display); }
.cta-band p { margin: 0 0 24px; color: var(--silver); max-width: 56ch; }
.cta-band .mail { color: var(--violet-text); text-decoration: underline; text-underline-offset: 5px; }

.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 28px; font: 600 12px/1 var(--font-tech); letter-spacing: .16em; text-transform: uppercase; color: var(--silver); }
.breadcrumb a { color: var(--silver); text-decoration: none; }
.breadcrumb a:hover { color: var(--teal); }
.breadcrumb span { opacity: .5; }

footer.site .wrap a + a::before { content: " · "; color: var(--silver); margin: 0 4px; text-decoration: none; }

@media (max-width: 980px) {
  .offer-grid { grid-template-columns: 1fr; }
  .split, .shead, .proof { grid-template-columns: 1fr; }
  .shead .num { border-top: 0; padding-top: 0; }
}
@media (max-width: 720px) {
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; background: var(--graphite); color: var(--titanium); border: 1px solid var(--rule-strong); font: 600 13px/1 var(--font-tech); letter-spacing: .2em; cursor: pointer; }
  .menu-toggle .bars { width: 18px; height: 10px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; position: relative; }
  .menu-toggle .bars::after { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 1px; background: var(--violet-text); }
  nav.primary { position: absolute; top: 64px; left: 0; right: 0; background: var(--void); border-bottom: 1px solid var(--rule); display: none; }
  nav.primary.open { display: block; }
  nav.primary ul { flex-direction: column; align-items: stretch; padding: 8px var(--gut) 20px; gap: 0; }
  nav.primary a { padding: 16px 0 16px 16px; font-size: 17px; border-bottom: 1px solid var(--rule); }
  nav.primary a[aria-current="page"]::after { left: 0; right: auto; top: 12px; bottom: 12px; width: 2px; height: auto; }
  nav.primary a[aria-current="page"]::before { display: none; }
  nav.primary .sep { display: none; }
  nav.primary a.repair { margin-top: 14px; padding: 16px; }
}
@media (min-width: 721px) {
  .menu-toggle { display: none; }
}

/* --- Merge v2 (19 Oct 2026): lead offer, notes, numbered steps --- */
.offer-hero .sub, .offer-card .sub { margin: 10px 0 0; font: 600 14px/1.3 var(--font-tech); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); }
.offer-card .sub { margin: -4px 0 14px; flex: 0; font-size: 12px; }
.offer-hero .lede strong { display: block; margin-bottom: 8px; color: var(--titanium); font: 500 20px/1.35 var(--font-display); }
.offer-card.lead { border-color: rgba(122,75,255,.55); background: var(--graphite); box-shadow: 0 0 0 1px var(--violet-haze), 0 18px 48px -24px var(--violet-glow); }
.offer-card.lead::before { width: 4px; background: linear-gradient(var(--violet), var(--magenta)); }
.panel p.note { padding: 16px 22px 0; font-size: 14px; font-style: italic; }
.panel p.boundary { margin: 0 22px 22px; padding: 12px 16px; border-left: 2px solid var(--magenta); background: var(--charcoal); font-size: 14px; }
.panel ol { counter-reset: step; }
.panel ol li { counter-increment: step; padding-left: 34px; }
.panel ol li::before { content: counter(step, decimal-leading-zero); width: auto; height: auto; background: none; top: 13px; font: 600 13px/1 var(--font-tech); letter-spacing: .1em; color: var(--teal); }
.panel li strong { color: var(--titanium); font-weight: 500; }
p.intro { margin: 0 0 20px; color: var(--silver); max-width: 70ch; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--graphite); color: var(--titanium); border: 1px solid var(--violet-text); }
.skip:focus { top: 12px; }

/* locked candidate: glyph-only mark keeps its proportions */
.brand img { object-fit: contain; }
.pdf-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 18px 0 0; font: 600 12px/1.4 var(--font-tech); letter-spacing: .14em; text-transform: uppercase; }
.pdf-links a { color: var(--violet-text); text-underline-offset: 4px; }
