/* Sharpe VSL Copywriting Skill — sales page styles. No external requests. */
@font-face { font-family: "Anton"; src: url("../fonts/anton.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces-italic.woff2") format("woff2"); font-weight: 400 800; font-style: italic; font-display: swap; }

:root {
  --ink: #0a1424; --navy: #0b1f3a; --navy-2: #12305a;
  --coral: #ff5a36; --coral-soft: #ff8a6b; --coral-ink: #b8361a;
  --lime: #d4ff3a;
  --cream: #f6efe4; --cream-2: #efe4d2; --paper: #fffaf3;
  --text: #14213a; --muted: #5b6474;
  --on-dark: #e9eef6; --on-dark-muted: #a9b6c9;
  --line: rgba(10, 20, 36, 0.14);
  --max: 1180px;
  --display: "Anton", Impact, "Haettenschweiler", "Arial Narrow Bold", sans-serif;
  --serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); font-size: 1.0625rem; line-height: 1.6; color: var(--text); background: var(--cream); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; }
p { margin: 0 0 1rem; }
h1, h2, h3 { margin: 0 0 .8rem; line-height: 1.02; letter-spacing: -.01em; }
h2 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.2rem, 5.4vw, 4.2rem); line-height: .98; }
h3 { font-size: 1.2rem; line-height: 1.25; font-weight: 800; }
/* Script-style italic retired (Nov 6, 2026): accents keep the surrounding font, colour only. */
.serif, .accent { font-family: inherit; font-style: normal; font-weight: inherit; text-transform: inherit; letter-spacing: inherit; color: var(--coral); }
.on-light .accent, .cream .accent, .paper .accent { color: var(--coral-ink); }
.dark .accent { color: var(--coral); }
.wrap { width: min(100% - 2.5rem, var(--max)); margin-inline: auto; }
.narrow { width: min(100% - 2.5rem, 760px); margin-inline: auto; }
.center { text-align: center; }
.muted { color: var(--muted); }
.small { font-size: .95rem; }
.tiny { font-size: .82rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; border-radius: 6px; }
.on-light :focus-visible { outline-color: var(--ink); }
.skip { position: absolute; left: 1rem; top: -4rem; background: var(--lime); color: var(--ink); padding: .7rem 1rem; font-weight: 800; z-index: 100; border-radius: 8px; text-decoration: none; }
.skip:focus { top: 1rem; }

.grain { position: relative; isolation: isolate; }
.grain::after { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .09; mix-blend-mode: overlay; pointer-events: none; z-index: 0; }
.grain > * { position: relative; z-index: 1; }

.eyebrow { display: inline-flex; align-items: center; gap: .55rem; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--coral-ink); margin-bottom: 1rem; }
.eyebrow::before { content: ""; width: 26px; height: 3px; background: currentColor; border-radius: 2px; }
.dark .eyebrow { color: var(--coral-soft); }
.dark .on-light .eyebrow { color: var(--coral-ink); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; background: var(--coral); color: var(--ink); text-decoration: none; font-weight: 900; font-size: 1.08rem; letter-spacing: .01em; padding: 1.05rem 1.6rem; border-radius: 999px; border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); transition: transform .15s ease, box-shadow .15s ease, background .15s ease; cursor: pointer; font-family: inherit; }
.btn:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ink); background: #ff6e4e; }
.btn:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ink); }
.btn .arrow { transition: transform .2s ease; }
.btn:hover .arrow { transform: translateX(4px); }
.dark .btn { border-color: var(--coral); box-shadow: 5px 5px 0 var(--lime); }
.dark .btn:hover { box-shadow: 7px 7px 0 var(--lime); }
.btn-ghost, .dark .btn-ghost { background: transparent; color: var(--on-dark); border: 2px solid rgba(233,238,246,.4); box-shadow: none; font-weight: 700; font-size: .98rem; padding: .85rem 1.25rem; }
.btn-ghost:hover, .dark .btn-ghost:hover { background: rgba(255,255,255,.08); border-color: var(--on-dark); box-shadow: none; }
.btn-block { width: 100%; }

/* Top bar + header */
.topbar { background: var(--coral); color: var(--ink); font-size: .9rem; font-weight: 600; text-align: center; padding: .55rem 1rem; }
.topbar strong { font-weight: 900; }
.site-header { position: sticky; top: 0; z-index: 80; background: rgba(10,20,36,.94); color: var(--on-dark); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .9rem 0; }
.wordmark { font-family: var(--display); font-size: 1.7rem; letter-spacing: .04em; text-decoration: none; color: #fff; line-height: 1; display: inline-flex; align-items: baseline; gap: .45rem; }
.wordmark .dot { width: .42rem; height: .42rem; background: var(--coral); border-radius: 50%; display: inline-block; }
.wordmark small { font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .18em; color: var(--on-dark-muted); text-transform: uppercase; }
.nav { display: flex; gap: 1.4rem; align-items: center; }
.nav a { color: var(--on-dark-muted); text-decoration: none; font-size: .92rem; font-weight: 650; }
.nav a:hover { color: #fff; }
.nav .btn { color: var(--ink); padding: .6rem 1.1rem; font-size: .9rem; box-shadow: 3px 3px 0 var(--lime); border-color: var(--coral); }
.header-actions { display: flex; align-items: center; gap: .75rem; }
.header-actions .btn { color: var(--ink); padding: .6rem 1.1rem; font-size: .9rem; box-shadow: 3px 3px 0 var(--lime); border-color: var(--coral); }


/* Hero */
.hero { background: radial-gradient(1100px 600px at 85% 10%, rgba(255,90,54,.22), transparent 60%), radial-gradient(800px 500px at 0% 100%, rgba(18,48,90,.9), transparent 70%), var(--ink); color: var(--on-dark); padding: clamp(3rem, 7vw, 6rem) 0 clamp(4.5rem, 8vw, 7rem); overflow: hidden; position: relative; }
.hero-bgword { position: absolute; right: -4vw; bottom: -5vw; font-family: var(--display); font-size: clamp(9rem, 30vw, 26rem); line-height: .8; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.07); transform: rotate(-8deg); pointer-events: none; user-select: none; z-index: 0; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.hero h1 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.9rem, 7.2vw, 6.1rem); line-height: .93; color: #fff; margin-bottom: 1.3rem; }

.hero h1 .accent { color: var(--coral); font-family: inherit; font-style: normal; font-weight: inherit; text-transform: inherit; letter-spacing: inherit; display: inline; transform: none; }
.hero h1 .sub { display: block; font-family: var(--sans); text-transform: none; font-weight: 700; font-size: clamp(1.15rem, 2.2vw, 1.6rem); line-height: 1.25; color: var(--on-dark); margin-top: 1rem; letter-spacing: -.01em; }
.hero h1 .sub mark { background: none; color: var(--lime); }
.hero .lede { color: var(--on-dark-muted); font-size: 1.12rem; max-width: 36rem; }
.hero .lede strong { color: #fff; }
.cta-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 1.8rem 0 1rem; }
.price-note { font-size: .95rem; color: var(--on-dark-muted); display: flex; flex-wrap: wrap; gap: .35rem 1rem; padding: 0; margin: 0; list-style: none; }
.price-note li::before { content: "✓"; color: var(--lime); font-weight: 900; margin-right: .4rem; }
.price-note strong { color: #fff; }

.video-wrap { position: relative; }
.video-wrap::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; background: var(--coral); border-radius: 22px; z-index: -1; }
.video-frame { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; background: #000; border: 2px solid rgba(255,255,255,.14); box-shadow: 0 40px 90px rgba(0,0,0,.5); display: grid; place-items: center; }
.video-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; opacity: .55; }
.video-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,20,36,.15), rgba(10,20,36,.75)); }
.video-placeholder { position: relative; z-index: 2; text-align: center; color: #fff; padding: 1rem; }
.play { width: 84px; height: 84px; border-radius: 50%; background: var(--coral); display: grid; place-items: center; margin: 0 auto .85rem; animation: pulse 2.4s ease-in-out infinite; }
.play span { width: 0; height: 0; border-left: 22px solid var(--ink); border-top: 13px solid transparent; border-bottom: 13px solid transparent; margin-left: 6px; }
.video-placeholder strong { font-family: var(--display); font-weight: 400; font-size: 1.6rem; letter-spacing: .03em; text-transform: uppercase; display: block; }
.video-placeholder p { margin: .2rem 0 0; color: var(--on-dark); font-size: .92rem; }
.video-note { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; background: rgba(10,20,36,.88); color: var(--on-dark-muted); font-size: .75rem; padding: .5rem .9rem; text-align: center; }
.sticker { position: absolute; top: -22px; left: -22px; z-index: 3; width: 108px; height: 108px; border-radius: 50%; background: var(--lime); color: var(--ink); display: grid; place-items: center; text-align: center; font-weight: 900; font-size: .74rem; line-height: 1.1; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-12deg); box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.sticker b { display: block; font-family: var(--display); font-weight: 400; font-size: 2rem; letter-spacing: 0; }
@keyframes pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,90,54,.45); } 50% { box-shadow: 0 0 0 16px rgba(255,90,54,0); } }

/* Ticker */
.ticker { background: var(--lime); color: var(--ink); border-block: 2px solid var(--ink); overflow: hidden; transform: rotate(-1.4deg) scale(1.03); margin: -1.6rem 0 0; position: relative; z-index: 5; }
.ticker-track { display: flex; width: max-content; animation: marquee 38s linear infinite; }
.ticker ul { display: flex; list-style: none; margin: 0; padding: .9rem 0; }
.ticker li { font-family: var(--display); font-size: clamp(1.15rem, 2.2vw, 1.6rem); text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; padding: 0 1.6rem; display: flex; align-items: center; gap: 1.6rem; }
.ticker li::after { content: "✦"; font-family: var(--sans); font-size: .9em; color: var(--coral-ink); }
.ticker:hover .ticker-track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* Sections */
section { padding: clamp(4rem, 9vw, 7.5rem) 0; }
.dark { background: var(--ink); color: var(--on-dark); }
.dark h2, .dark h3 { color: #fff; }
.dark .muted { color: var(--on-dark-muted); }
.navy { background: var(--navy); }
.cream { background: var(--cream); }
.paper { background: var(--paper); }
.section-head { max-width: 50rem; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.section-head.center { margin-inline: auto; }
.lede { font-size: 1.15rem; color: var(--muted); }
.dark .lede { color: var(--on-dark-muted); }

/* Stage band */
.stage-band { padding: 0; position: relative; background: var(--ink); color: #fff; overflow: hidden; }
.stage-band figure { margin: 0; position: relative; }
.stage-band img { width: 100%; height: clamp(320px, 52vw, 640px); object-fit: cover; object-position: 50% 55%; }
.stage-band figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,20,36,.92) 0%, rgba(10,20,36,.55) 42%, rgba(10,20,36,0) 70%), linear-gradient(0deg, rgba(10,20,36,.6), transparent 40%); }
.stage-copy { position: absolute; inset: 0; display: flex; align-items: center; z-index: 2; }
.stage-copy .big { font-family: var(--display); text-transform: uppercase; font-size: clamp(2.2rem, 6vw, 5.2rem); line-height: .95; max-width: 11ch; margin: 0 0 1rem; }
.stage-copy .big .serif { color: var(--lime); }
.stage-copy .cap { color: var(--on-dark-muted); max-width: 30rem; margin: 0; }

/* How it works */
.oldnew { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.2rem; align-items: stretch; margin-bottom: 3rem; }
.oldnew > div { border-radius: 20px; padding: 1.6rem 1.7rem; }
.oldnew .old { border: 2px dashed rgba(10,20,36,.3); color: var(--muted); }
.oldnew .old h3 { text-decoration: line-through; text-decoration-color: var(--coral); text-decoration-thickness: 3px; color: var(--muted); }
.oldnew .new { background: var(--ink); color: var(--on-dark); box-shadow: 8px 8px 0 var(--coral); }
.oldnew .new h3 { color: #fff; }
.oldnew .vs { align-self: center; font-family: var(--display); font-size: 2rem; color: var(--coral-ink); }
.oldnew p { margin: 0; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; counter-reset: s; }
.step { position: relative; padding: 4.6rem 1.5rem 1.6rem; background: var(--paper); border: 2px solid var(--ink); border-radius: 20px; overflow: hidden; }
.step::before { counter-increment: s; content: "0" counter(s); position: absolute; top: -.6rem; right: .6rem; font-family: var(--display); font-size: 6.5rem; line-height: 1; color: var(--coral); }
.step h3 { font-size: 1.35rem; }
.step p { margin: 0; color: var(--muted); }
.step code { font-family: inherit; font-weight: 800; color: var(--coral-ink); font-size: 1.05em; }

/* What you get */
.split-note { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.split-note .lede { margin: 0; }
.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; overflow: hidden; }
.feature { background: var(--ink); padding: 1.8rem 1.6rem; transition: background .25s ease; }
.feature:hover { background: #101e35; }
.feature .n { font-family: var(--display); font-size: 1rem; color: var(--coral-soft); letter-spacing: .1em; display: block; margin-bottom: 1.2rem; }
.feature h3 { font-size: 1.25rem; margin-bottom: .45rem; }
.feature p { margin: 0; color: var(--on-dark-muted); font-size: .98rem; }
.feature.bonus { background: var(--lime); color: var(--ink); }
.feature.bonus h3, .feature.bonus .n { color: var(--ink); }
.feature.bonus p { color: #2a3420; }

/* Story intro */
.story-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.story-copy p { font-size: 1.1rem; }
.pull { font-family: var(--serif); font-style: italic; font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.2; color: var(--ink); border-left: 6px solid var(--coral); padding-left: 1.2rem; margin: 1.8rem 0; }
.disclose { font-size: .92rem; color: var(--muted); background: rgba(10,20,36,.05); border-radius: 12px; padding: .9rem 1.1rem; }
.portrait { position: relative; margin: 0; }
.portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 40% 25%; border-radius: 200px 200px 22px 22px; border: 3px solid var(--ink); }
.portrait::before { content: ""; position: absolute; inset: 16px -16px -16px 16px; border-radius: 200px 200px 22px 22px; background: var(--coral); z-index: -1; }
.portrait figcaption { position: absolute; bottom: 1.2rem; left: -1rem; background: var(--lime); color: var(--ink); font-family: var(--serif); font-style: italic; font-weight: 700; padding: .5rem .9rem; transform: rotate(-3deg); border: 2px solid var(--ink); }
.portrait-wrap { position: relative; isolation: isolate; max-width: 440px; justify-self: center; width: 100%; }

/* Polaroid snaps */
.snap { margin: 0; background: #fff; padding: .7rem .7rem 2.7rem; box-shadow: 0 18px 40px rgba(10,20,36,.25); position: relative; transition: transform .35s ease; }
.snap img { width: 100%; object-fit: cover; }
.snap figcaption { position: absolute; left: .9rem; right: .9rem; bottom: .6rem; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: .98rem; color: var(--ink); line-height: 1.2; }
.snap:hover { transform: rotate(0deg) scale(1.03) !important; z-index: 5; }
.tape { position: absolute; top: -12px; left: 50%; width: 90px; height: 24px; background: rgba(212,255,58,.8); transform: translateX(-50%) rotate(-3deg); }

/* Career timeline */
.timeline-sec { position: relative; overflow: hidden; }
.timeline-sec .bgword { position: absolute; top: 2rem; right: -3vw; font-family: var(--display); font-size: clamp(8rem, 22vw, 20rem); line-height: .8; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.06); pointer-events: none; user-select: none; }
.timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; margin-left: -2px; background: linear-gradient(var(--coral), var(--coral) 70%, var(--lime)); border-radius: 4px; }
.tl { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 7vw, 6rem); align-items: center; position: relative; padding: clamp(2rem, 5vw, 3.5rem) 0; }
.tl::before { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: var(--ink); border: 4px solid var(--coral); z-index: 2; }
.tl.now::before { border-color: var(--lime); background: var(--lime); box-shadow: 0 0 0 8px rgba(212,255,58,.2); }
.tl-text { text-align: right; }
.tl:nth-child(even) .tl-text { order: 2; text-align: left; }
.tl:nth-child(even) .tl-media { order: 1; }
.tl .yr { font-family: var(--display); font-size: clamp(3.4rem, 8vw, 6.5rem); line-height: .85; color: transparent; -webkit-text-stroke: 2px var(--coral); display: block; margin-bottom: .6rem; letter-spacing: .01em; }
.tl.now .yr { -webkit-text-stroke-color: var(--lime); }
.tl h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1; color: #fff; margin-bottom: .7rem; }
.tl h3 .serif { color: var(--coral-soft); }
.tl p { color: var(--on-dark-muted); margin: 0 0 .6rem; }
.tl p:last-child { margin: 0; }
.tl-media { position: relative; min-height: 120px; }
.tl-media .snap { width: 70%; }
.tl-media.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.tl-media.pair .snap { width: 100%; }
.tl-media.pair .snap:nth-child(1) { transform: rotate(-4deg); }
.tl-media.pair .snap:nth-child(2) { transform: rotate(3deg); margin-top: 2.5rem; }
.tl-media .snap.solo { transform: rotate(-3deg); }
.tl:nth-child(even) .tl-media .snap.solo { transform: rotate(3deg); margin-left: auto; }
.tl:nth-child(odd) .tl-media .snap.solo { margin-right: auto; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: .3rem 0 .8rem; }
.tl-text .chips { justify-content: flex-end; }
.tl:nth-child(even) .tl-text .chips { justify-content: flex-start; }
.chips li { border: 1.5px solid rgba(233,238,246,.35); border-radius: 999px; padding: .3rem .8rem; font-size: .86rem; font-weight: 700; color: var(--on-dark); }
.chips li b { color: var(--lime); font-weight: 800; margin-left: .3rem; }
.type-card { border-radius: 22px; padding: 1.8rem; background: var(--coral); color: var(--ink); border: 2px solid var(--ink); box-shadow: 10px 10px 0 rgba(212,255,58,.9); transform: rotate(-2deg); }
.type-card .tc-big { font-family: var(--display); text-transform: uppercase; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: .9; display: block; }
.type-card .tc-sub { font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; display: block; margin-top: .8rem; }
.type-card.alt { background: var(--paper); transform: rotate(2deg); box-shadow: 10px 10px 0 var(--coral); }
.type-card.lime { background: var(--lime); box-shadow: 10px 10px 0 var(--coral); }
.versions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.versions span { font-family: var(--display); font-size: 1.1rem; background: var(--ink); color: var(--lime); padding: .2rem .55rem; border-radius: 6px; }
.photo-stack { position: relative; }
.photo-stack .main { width: 100%; border-radius: 22px; border: 3px solid var(--on-dark); object-fit: cover; aspect-ratio: 3 / 2; clip-path: polygon(0 0, 100% 0, 100% 88%, 90% 100%, 0 100%); }
.photo-stack .inset { position: absolute; width: 52%; right: -6%; bottom: -14%; border: 4px solid var(--lime); border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.45); transform: rotate(3deg); aspect-ratio: 16 / 10; object-fit: cover; }
.tl-note { margin-top: 2.5rem; text-align: center; font-size: .9rem; color: var(--on-dark-muted); }

/* Proof */
.proof { display: grid; grid-template-columns: 1.15fr .85fr; border-radius: 26px; overflow: hidden; background: var(--ink); color: var(--on-dark); }
.proof figure { margin: 0; position: relative; min-height: 420px; }
.proof figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); }
.proof figcaption { position: absolute; left: 1rem; bottom: 1rem; background: rgba(10,20,36,.85); color: var(--on-dark); font-size: .82rem; padding: .4rem .7rem; border-radius: 8px; }
.proof-list { list-style: none; margin: 0; padding: clamp(1.8rem, 4vw, 3rem); display: grid; gap: 1.6rem; align-content: center; }
.proof-list li { border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom: 1.2rem; }
.proof-list li:last-child { border: 0; padding: 0; }
.proof-list .big { font-family: var(--display); font-size: clamp(2.6rem, 5vw, 3.8rem); line-height: 1; color: #fff; display: block; }
.proof-list .big.c { color: var(--coral); }
.proof-list .l { color: var(--on-dark-muted); font-size: .98rem; }
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 3rem; }
.compare > div { border-radius: 20px; padding: 1.6rem 1.7rem; }
.compare .a { background: var(--cream-2); }
.compare .b { background: var(--paper); border: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--lime); }
.compare ul { margin: .6rem 0 0; padding-left: 1.15rem; }
.compare li { margin-bottom: .4rem; }
.compare .a li { color: var(--muted); }

/* Offer */
.offer { position: relative; overflow: hidden; }
.offer .bgnum { position: absolute; left: -2vw; top: 2rem; font-family: var(--display); font-size: clamp(12rem, 34vw, 30rem); line-height: .8; color: transparent; -webkit-text-stroke: 2px rgba(10,20,36,.07); pointer-events: none; user-select: none; }
.offer-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.stack { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.stack li { display: grid; grid-template-columns: 34px 1fr; gap: .9rem; align-items: start; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 1.05rem 1.2rem; }
.tick { width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: var(--lime); display: grid; place-items: center; font-weight: 900; }
.stack strong { display: block; color: var(--ink); font-size: 1.05rem; }
.stack .d { color: var(--muted); font-size: .97rem; }
.price-card { position: sticky; top: 1.5rem; background: var(--ink); color: var(--on-dark); border-radius: 26px; padding: 2rem 1.8rem; text-align: center; box-shadow: 12px 12px 0 var(--coral); }
.price-card .label { font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--coral-soft); margin: 0; }
.price-card h3 { color: #fff; margin: .4rem 0 0; font-size: 1.3rem; }
.price { font-family: var(--display); font-size: clamp(5rem, 11vw, 7.5rem); line-height: 1; color: #fff; margin: .8rem 0 .3rem; }
.price sup { font-size: .4em; vertical-align: top; position: relative; top: .5em; color: var(--coral); margin-right: .05em; }
.price-card p { color: var(--on-dark-muted); }
.price-card .btn { margin-top: 1rem; box-shadow: 5px 5px 0 var(--lime); border-color: var(--coral); }
.bonus-card { margin-top: 1.4rem; background: var(--lime); color: var(--ink); border: 2px solid var(--ink); border-radius: 22px; padding: 1.6rem 1.7rem; display: grid; grid-template-columns: auto 1fr; gap: 1.3rem; align-items: center; }
.bonus-card .tag { font-family: var(--display); font-size: 1.15rem; text-transform: uppercase; background: var(--ink); color: var(--lime); padding: .6rem .9rem; border-radius: 12px; transform: rotate(-4deg); text-align: center; line-height: 1.05; }
.bonus-card h3 { margin-bottom: .35rem; }
.bonus-card p { margin: 0; }
.guarantee { margin-top: 1.4rem; display: grid; grid-template-columns: 130px 1fr; gap: 1.5rem; align-items: center; background: var(--paper); border: 2px solid var(--ink); border-radius: 22px; padding: 1.6rem 1.7rem; }
.seal { width: 130px; height: 130px; border-radius: 50%; background: var(--coral); color: var(--ink); display: grid; place-items: center; text-align: center; font-family: var(--display); font-size: 1.35rem; text-transform: uppercase; line-height: 1; border: 3px dashed var(--ink); animation: spin 30s linear infinite; }
.seal b { font-size: 2.6rem; display: block; font-weight: 400; }
@keyframes spin { to { transform: rotate(360deg); } }
.guarantee h3 { font-size: 1.35rem; }
.guarantee a { color: var(--coral-ink); font-weight: 800; }
.kicker { margin-top: 2rem; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 1.3rem; color: var(--ink); }

/* FAQ */
.faq details { border-top: 2px solid var(--ink); padding: 1.2rem 0; }
.faq details:last-of-type { border-bottom: 2px solid var(--ink); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; font-weight: 800; font-size: 1.2rem; color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-size: 1.4rem; font-weight: 700; }
.faq details[open] summary::after { content: "–"; background: var(--coral); color: var(--ink); }
.faq details p { margin: .8rem 0 0; color: var(--muted); max-width: 46rem; }
.faq details a { color: var(--coral-ink); font-weight: 700; }

/* Testimonials slot (disabled) */
.testimonial-slot { border: 2px dashed rgba(10,20,36,.35); border-radius: 22px; padding: 2rem; text-align: center; color: var(--muted); background: repeating-linear-gradient(-45deg, transparent 0 14px, rgba(10,20,36,.03) 14px 28px); }
.testimonial-slot strong { display: block; color: var(--ink); font-size: 1.1rem; margin-bottom: .4rem; }
.draft-flag { display: inline-block; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; background: var(--ink); color: var(--lime); padding: .3rem .6rem; border-radius: 6px; margin-bottom: .8rem; }

/* More skills + lead */
.skills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-bottom: 3rem; }
.skill-card { border-radius: 22px; padding: 1.6rem; min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; }
.skill-card .k { font-family: var(--display); font-size: 4.5rem; line-height: .9; display: block; }
.skill-card.live { background: var(--coral); color: var(--ink); border: 2px solid var(--ink); }
.skill-card.live h3 { color: var(--ink); }
.skill-card.soon { border: 2px dashed rgba(233,238,246,.35); color: var(--on-dark-muted); }
.skill-card.soon .k { color: transparent; -webkit-text-stroke: 1.5px rgba(233,238,246,.5); }
.skill-card .status { align-self: flex-start; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; padding: .3rem .6rem; border-radius: 6px; background: rgba(233,238,246,.12); color: var(--on-dark); }
.skill-card.live .status { background: var(--ink); color: var(--lime); }
.skill-card h3 { margin: .8rem 0 0; font-size: 1.2rem; }
.skill-card .lock { font-family: var(--serif); font-style: italic; font-weight: 600; }
.lead { display: grid; grid-template-columns: .9fr 1.1fr; border-radius: 26px; overflow: hidden; background: var(--cream); color: var(--text); }
.lead figure { margin: 0; position: relative; min-height: 360px; }
.lead figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.lead-body { padding: clamp(1.8rem, 4vw, 3rem); }
.dark .lead-body h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 4vw, 2.9rem); line-height: .98; color: var(--ink); }
.lead-body .muted { color: var(--muted); }
.field { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.2rem; }
.field label { flex-basis: 100%; font-weight: 800; font-size: .95rem; color: var(--ink); }
.field input { flex: 1 1 240px; min-width: 0; font: inherit; padding: .95rem 1.1rem; border-radius: 999px; border: 2px solid var(--ink); background: #fff; color: var(--ink); }
.field input:focus-visible { outline: 3px solid var(--coral); outline-offset: 2px; }
.field input[aria-invalid="true"] { border-color: var(--coral-ink); background: #fff3ef; }
.dark .field .btn { box-shadow: 4px 4px 0 var(--ink); border-color: var(--ink); }
.form-msg { min-height: 1.5rem; margin: .8rem 0 0; font-size: .95rem; font-weight: 600; }
.form-msg.err { color: var(--coral-ink); }
.form-msg.info { color: var(--ink); background: var(--paper); border-left: 4px solid var(--coral); padding: .8rem 1rem; border-radius: 8px; font-weight: 500; }
.form-msg.info a { color: var(--coral-ink); font-weight: 800; }
.form-msg.ok { color: #1d5b2f; }

/* Partnership */
.partner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mask { position: relative; aspect-ratio: 4 / 5; }
.mask img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; clip-path: polygon(14% 0, 100% 0, 100% 86%, 86% 100%, 0 100%, 0 14%); }
.mask::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 2px solid var(--coral); clip-path: polygon(14% 0, 100% 0, 100% 86%, 86% 100%, 0 100%, 0 14%); }
.million { font-family: var(--display); font-size: clamp(4rem, 11vw, 8rem); line-height: .85; color: var(--lime); display: block; margin-bottom: .6rem; }
.terms { list-style: none; padding: 0; margin: 1.4rem 0 1.8rem; display: grid; gap: .6rem; }
.terms li { padding-left: 1.6rem; position: relative; color: var(--on-dark); }
.terms li::before { content: "→"; position: absolute; left: 0; color: var(--coral-soft); font-weight: 900; }
.mail { font-weight: 800; color: var(--coral-soft); }

/* Final CTA */
.final { text-align: center; overflow: hidden; position: relative; background: var(--coral); color: var(--ink); }
.final .bigtype { font-family: var(--display); text-transform: uppercase; font-size: clamp(2.6rem, 8vw, 7rem); line-height: .92; margin: 0 auto 1.4rem; max-width: 15ch; }
.final .bigtype .serif { color: #fff; text-shadow: 3px 3px 0 var(--ink); }
.final p { max-width: 38rem; margin-inline: auto; font-size: 1.12rem; }
.final .btn { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: 6px 6px 0 var(--lime); font-size: 1.15rem; padding: 1.15rem 2rem; }
.final .btn:hover { background: #172742; }
.final a.support { color: var(--ink); font-weight: 800; }
.final .stripe { position: absolute; left: -10%; right: -10%; height: 46px; background: var(--ink); transform: rotate(-3deg); top: 18px; display: flex; align-items: center; overflow: hidden; }
.final .stripe span { font-family: var(--display); color: var(--coral); white-space: nowrap; font-size: 1.3rem; letter-spacing: .08em; text-transform: uppercase; }
.final .inner { position: relative; padding-top: 3rem; }
.final :focus-visible { outline-color: var(--ink); }

/* Footer */
footer { background: var(--ink); color: var(--on-dark-muted); padding: 3rem 0 6rem; font-size: .9rem; }
footer .row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; align-items: center; }
footer a { color: var(--on-dark); }
footer .links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
footer .legal { border-top: 1px solid rgba(255,255,255,.1); margin-top: 1.6rem; padding-top: 1.6rem; }
footer .legal strong { color: var(--on-dark); }

/* Sticky mobile CTA */
.mobile-cta { display: none; }
@media (max-width: 760px) {
  .mobile-cta { display: flex; position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 50; background: var(--ink); color: #fff; border: 2px solid var(--coral); border-radius: 999px; padding: .45rem .45rem .45rem 1.2rem; align-items: center; justify-content: space-between; gap: .8rem; box-shadow: 0 14px 30px rgba(0,0,0,.35); transition: transform .3s ease, opacity .3s ease; }
  .mobile-cta span { font-weight: 800; font-size: .95rem; }
  .mobile-cta span small { display: block; font-weight: 500; font-size: .75rem; color: var(--on-dark-muted); }
  .mobile-cta .btn { padding: .75rem 1.1rem; font-size: .95rem; box-shadow: none; border-color: var(--coral); }
  .mobile-cta.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }
}

/* Reveal on scroll (JS only) */
.js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.js .reveal.in { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 980px) {
  .hero-grid, .story-grid, .offer-grid, .partner-grid, .lead, .proof, .split-note { grid-template-columns: 1fr; }
  .features, .skills-grid { grid-template-columns: 1fr 1fr; }
  .skills-grid .skill-card:first-child { grid-column: 1 / -1; }
  .price-card { position: static; }
  .proof figure img { clip-path: none; }
  .video-wrap { max-width: 640px; margin: 1rem auto 0; width: 100%; }
  .mask { max-width: 460px; }
  .lead figure { min-height: 300px; }
  /* timeline → single column, spine on the left */
  .timeline::before { left: 11px; }
  .tl { grid-template-columns: 1fr; gap: 1.6rem; padding-left: 3rem; }
  .tl::before { left: 11px; top: 3.4rem; }
  .tl-text, .tl:nth-child(even) .tl-text { text-align: left; order: 1; }
  .tl-media, .tl:nth-child(even) .tl-media { order: 2; }
  .tl-text .chips, .tl:nth-child(even) .tl-text .chips { justify-content: flex-start; }
  .tl-media .snap.solo { margin: 0 !important; width: min(70%, 300px); }
  .photo-stack { margin-bottom: 2.5rem; max-width: 560px; }
}
@media (max-width: 760px) {
  .steps, .features, .compare, .skills-grid, .oldnew { grid-template-columns: 1fr; }
  .oldnew .vs { justify-self: center; }
  .guarantee, .bonus-card { grid-template-columns: 1fr; text-align: center; }
  .seal, .bonus-card .tag { margin: 0 auto; justify-self: center; }
  .cta-row .btn:not(.btn-ghost) { width: 100%; }
  .sticker { width: 86px; height: 86px; font-size: .62rem; top: -18px; left: -8px; }
  .sticker b { font-size: 1.6rem; }
  .video-wrap::before { inset: 12px -10px -12px 10px; }
  .stage-copy { align-items: flex-end; padding-bottom: 1.6rem; }
  .stage-band figure::after { background: linear-gradient(0deg, rgba(10,20,36,.95) 15%, rgba(10,20,36,.2) 75%); }
  .stage-band img { height: 480px; object-position: 30% 50%; }
  .proof figure { min-height: 300px; }
  .wordmark small { display: none; }
  .tl { padding-left: 2.6rem; }
  .tl-media.pair { gap: .7rem; }
  .type-card { transform: none; }
  footer { padding-bottom: 7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* added: quotes */
blockquote.pull p { margin: 0 0 .5rem; font-size: inherit; }
blockquote.pull cite { display: block; font-family: var(--sans); font-style: normal; font-size: .85rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--coral-ink); }
blockquote.pull { margin-left: 0; margin-right: 0; }
.tl-quote { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 1.2rem; line-height: 1.35; color: var(--lime) !important; }
.tl-quote em { font-style: normal; text-decoration: underline; text-decoration-color: var(--coral); text-underline-offset: 4px; }
.price-card .price { color: #fff; }
.tl-text .versions { justify-content: flex-end; }
.tl:nth-child(even) .tl-text .versions { justify-content: flex-start; }
@media (max-width: 980px) { .tl-text .versions { justify-content: flex-start; } }

/* ---------- Catalog, promos, Kit, video (products.js-driven) ---------- */
.skills-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.skill-card .cat-desc { font-size: .95rem; margin: .5rem 0 0; color: inherit; opacity: .9; }
.skill-card.live .cat-desc { color: #2a1a14; opacity: 1; }
.cat-price { margin: .8rem 0 0; font-weight: 800; }
.cat-price strong { font-family: var(--display); font-weight: 400; font-size: 1.8rem; }
.cat-price s { opacity: .7; margin-right: .2rem; }
.cat-promo { display: inline-block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; background: var(--ink); color: var(--lime); padding: .2rem .5rem; border-radius: 6px; vertical-align: middle; }
.cat-link { display: inline-block; margin-top: .9rem; font-weight: 900; color: var(--ink); text-underline-offset: 4px; }
.promo-badge { display: inline-block; margin: .7rem 0 0; background: var(--lime); color: var(--ink); font-weight: 900; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; padding: .35rem .7rem; border-radius: 999px; }
.price-card .was { margin: -.2rem 0 .4rem; color: var(--on-dark-muted); font-size: 1.2rem; }
.price-card .was s { text-decoration-color: var(--coral); text-decoration-thickness: 2px; }
.price-card .price-change { color: var(--lime); font-weight: 700; }
.kit-slot { margin-top: 1.2rem; max-width: 34rem; }
.kit-slot .kit-loading { margin: .4rem 0 0; }
/* Neutralize Kit's default white card so the form sits in the lead panel */
.kit-slot .formkit-form,
.kit-slot .formkit-form[style] {
  max-width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}
.kit-slot .formkit-background { display: none !important; }
/* Page already has title + lede — hide Kit's duplicate header/subheader */
.kit-slot .formkit-header,
.kit-slot .formkit-subheader { display: none !important; }
.kit-slot .formkit-fields {
  display: flex !important;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: stretch;
  margin: 0 !important;
}
.kit-slot .formkit-field { flex: 1 1 12rem; margin: 0 !important; }
.kit-slot .formkit-input {
  width: 100% !important;
  box-sizing: border-box !important;
  font: inherit !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  background: #fff !important;
  border: 2px solid var(--ink) !important;
  border-radius: 999px !important;
  padding: .95rem 1.15rem !important;
  outline: none !important;
  box-shadow: none !important;
}
.kit-slot .formkit-input:focus {
  border-color: var(--coral) !important;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .25) !important;
}
.kit-slot .formkit-submit {
  flex: 0 0 auto;
  margin: 0 !important;
  font: inherit !important;
  font-weight: 900 !important;
  font-size: 1.05rem !important;
  letter-spacing: .01em !important;
  color: var(--ink) !important;
  background: var(--coral) !important;
  background-color: var(--coral) !important;
  border: 2px solid var(--ink) !important;
  border-radius: 999px !important;
  padding: .95rem 1.4rem !important;
  box-shadow: 4px 4px 0 var(--ink) !important;
  cursor: pointer !important;
}
.kit-slot .formkit-submit span { color: inherit !important; background: transparent !important; }
.kit-slot .formkit-submit:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink) !important; }
.kit-slot .formkit-submit:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.kit-slot .formkit-guarantee {
  margin: .85rem 0 0 !important;
  font-size: .82rem !important;
  color: var(--muted) !important;
  text-align: left !important;
}
.kit-slot .formkit-alert { margin: .6rem 0 !important; font-size: .9rem !important; }
.kit-slot .formkit-powered-by-convertkit-container {
  margin-top: .55rem !important;
  opacity: .55;
  text-align: left !important;
}
.kit-slot .formkit-powered-by-convertkit { font-size: .7rem !important; }
@media (max-width: 560px) {
  .kit-slot .formkit-fields { flex-direction: column; }
  .kit-slot .formkit-submit { width: 100%; }
}
.lead-legal { margin: 1rem 0 0; }
.lead-legal a { color: var(--coral-ink); font-weight: 700; }
.video-frame.has-video { display: block; background: #000; }
.video-frame.has-video::after { display: none; }
.video-frame.has-video iframe, .video-frame.has-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
[hidden] { display: none !important; }
.price-card .promo-badge { color: var(--ink); }

/* Keep decorative type, shadows and ticker tracks inside the viewport. */
html, body { overflow-x: clip; }
@supports not (overflow: clip) { html, body { overflow-x: hidden; } }


/* Supporting launch pages */
.info-page .site-header .wrap { min-height: 80px; }
.info-hero { background: var(--ink); color: var(--on-dark); padding: clamp(4rem,8vw,7rem) 0; }
.info-hero h1 { font-family: var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(3rem,8vw,6rem); }
.info-hero p:last-child { max-width:650px; color:var(--on-dark-muted); font-size:1.2rem; }
.info-content { padding:3rem 0 5rem; }
.info-content > section { border-bottom:1px solid var(--line); padding:1.6rem 0; }
.info-content h2 { font-size:clamp(1.55rem,4vw,2.25rem); margin-bottom:.8rem; }
.info-content a, .info-page footer a { text-underline-offset:3px; }
.info-contact { margin-top:2rem; padding:1.5rem; border:2px solid var(--ink); background:var(--paper); }
.info-page footer { background:var(--ink); color:var(--on-dark-muted); padding:2rem 0; }
.info-page footer .links { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-bottom:1rem; }
@media(max-width:520px){.info-page .site-header .wrap{align-items:flex-start}.info-page .site-header .btn{font-size:.8rem;padding:.65rem .8rem}.info-page .wordmark small{display:none}}


/* ---------- Sticky explore nav ---------- */
body.has-drawer { overflow: hidden; }
.site-header .wrap { position: relative; }
.nav-toggle {
  display: none; align-items: center; justify-content: center; gap: .45rem;
  background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.28);
  border-radius: 999px; padding: .55rem .9rem; font: inherit; font-weight: 800; font-size: .82rem;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.nav-toggle .bars { display: inline-grid; gap: 3px; width: 16px; }
.nav-toggle .bars i { display: block; height: 2px; background: #fff; border-radius: 2px; }
.nav-toggle[aria-expanded="true"] { border-color: var(--lime); color: var(--lime); }
.nav a.is-active { color: #fff; }
.nav a.is-active::after { content: ""; display: block; height: 2px; background: var(--coral); margin-top: .2rem; border-radius: 2px; }

.drawer {
  position: fixed; inset: 0; z-index: 90; pointer-events: none;
}
.drawer[hidden] { display: none !important; }
.drawer.is-open { pointer-events: auto; }
.drawer-backdrop {
  position: absolute; inset: 0; background: rgba(5,10,18,.62); opacity: 0; transition: opacity .25s ease;
}
.drawer.is-open .drawer-backdrop { opacity: 1; }
.drawer-panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(92vw, 360px);
  background: var(--ink); color: var(--on-dark); border-left: 2px solid rgba(255,255,255,.1);
  padding: 1.2rem 1.2rem 2rem; transform: translateX(104%); transition: transform .28s cubic-bezier(.2,.7,.2,1);
  display: flex; flex-direction: column; gap: 1rem; overflow: auto;
  box-shadow: -20px 0 50px rgba(0,0,0,.45);
}
.drawer.is-open .drawer-panel { transform: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.drawer-head strong { font-family: var(--display); font-weight: 400; letter-spacing: .06em; font-size: 1.4rem; text-transform: uppercase; }
.drawer-close {
  width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.25);
  background: transparent; color: #fff; font-size: 1.4rem; cursor: pointer; line-height: 1;
}
.drawer-nav { display: flex; flex-direction: column; gap: .15rem; }
.drawer-nav a {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  text-decoration: none; color: var(--on-dark); font-weight: 750; font-size: 1.05rem;
  padding: .95rem .85rem; border-radius: 14px; border: 1px solid transparent;
}
.drawer-nav a small { color: var(--on-dark-muted); font-weight: 700; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.drawer-nav a:hover, .drawer-nav a.is-active { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.drawer-nav a.is-active { color: var(--lime); }
.drawer-cta { margin-top: auto; }
.drawer-note { color: var(--on-dark-muted); font-size: .85rem; margin: 0; }

.section-rail-wrap {
  position: sticky; top: 68px; z-index: 70; background: linear-gradient(var(--cream) 70%, rgba(246,239,228,0));
  padding: .65rem 0 .85rem; border-bottom: 1px solid transparent;
}
.section-rail-wrap.is-stuck { border-bottom-color: var(--line); background: rgba(246,239,228,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.section-rail {
  width: min(100% - 2.5rem, var(--max)); margin-inline: auto;
  display: flex; gap: .55rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  padding: .15rem 0;
}
.section-rail::-webkit-scrollbar { display: none; }
.section-rail a, .section-rail button {
  flex: 0 0 auto; appearance: none; border: 1.5px solid var(--line); background: var(--paper);
  color: var(--text); text-decoration: none; font: inherit; font-weight: 800; font-size: .84rem;
  padding: .62rem .95rem; border-radius: 999px; cursor: pointer; white-space: nowrap;
  box-shadow: 2px 2px 0 rgba(10,20,36,.08); transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.section-rail a:hover, .section-rail button:hover { border-color: var(--ink); transform: translate(-1px,-1px); }
.section-rail a.is-active, .section-rail button.is-active {
  background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: 3px 3px 0 var(--coral);
}
.section-rail-meta {
  width: min(100% - 2.5rem, var(--max)); margin: .55rem auto 0;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  color: var(--muted); font-size: .82rem; font-weight: 700; letter-spacing: .04em;
}
.section-rail-meta b { color: var(--ink); font-family: var(--display); font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
.travel {
  display: inline-flex; gap: .45rem;
}
.travel .navb {
  display: inline-flex; align-items: center; gap: .4rem; border: 1.5px solid var(--line);
  background: var(--paper); border-radius: 10px; padding: .55rem .85rem; font: inherit; font-weight: 800;
  font-size: .85rem; cursor: pointer; color: var(--text); box-shadow: 2px 2px 0 rgba(10,20,36,.1);
}
.travel .navb:hover { border-color: var(--ink); }
.travel .navb:disabled { opacity: .35; pointer-events: none; }
.travel .navb.next { background: var(--ink); color: #fff; border-color: var(--ink); }

.jump-strip {
  display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem;
}
.jump-strip a {
  display: inline-flex; align-items: center; gap: .45rem; text-decoration: none;
  border: 1.5px solid rgba(255,255,255,.22); color: #fff; border-radius: 999px;
  padding: .7rem 1rem; font-weight: 750; font-size: .9rem; background: rgba(255,255,255,.04);
}
.jump-strip a:hover { border-color: var(--lime); color: var(--lime); }
.on-light .jump-strip a { border-color: var(--line); color: var(--text); background: var(--paper); }
.on-light .jump-strip a:hover { border-color: var(--ink); color: var(--ink); }

/* Enrichment blocks */
.platform-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.8rem 0 0;
}
.platform {
  background: var(--paper); border: 2px solid var(--ink); border-radius: 18px; padding: 1.2rem 1.15rem;
  box-shadow: 4px 4px 0 var(--ink);
}
.platform h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.platform p { margin: 0; color: var(--muted); font-size: .92rem; }
.platform .tag { display: inline-block; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; background: var(--lime); color: var(--ink); padding: .2rem .45rem; border-radius: 6px; margin-bottom: .55rem; }

.audience-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1.8rem;
}
.audience {
  background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.12); border-radius: 18px; padding: 1.3rem 1.2rem;
}
.audience h3 { color: #fff; margin-bottom: .4rem; }
.audience p { margin: 0; color: var(--on-dark-muted); }
.audience.not {
  background: transparent; border-style: dashed; opacity: .95;
}

.detail-list { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: .85rem; }
.detail-list li {
  display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 1rem 1.1rem;
}
.detail-list .n {
  font-family: var(--display); color: var(--lime); font-size: 1.2rem; letter-spacing: .04em; line-height: 1;
}
.detail-list strong { display: block; color: #fff; margin-bottom: .2rem; }
.detail-list span { color: var(--on-dark-muted); font-size: .95rem; }

.pack-grid {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.4rem; margin-top: 2rem; align-items: start;
}
.pack-card {
  background: var(--paper); color: var(--text); border: 2px solid var(--ink); border-radius: 22px;
  padding: 1.5rem 1.4rem; box-shadow: 8px 8px 0 var(--coral);
}
.pack-card h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: 1.7rem; letter-spacing: .03em; }
.pack-card ul { margin: .8rem 0 0; padding: 0; list-style: none; display: grid; gap: .65rem; }
.pack-card li { display: grid; grid-template-columns: 1.1rem 1fr; gap: .55rem; align-items: start; font-size: .95rem; }
.pack-card li::before { content: "✓"; color: var(--coral-ink); font-weight: 900; }
.flow-note {
  margin-top: 1.2rem; padding: 1.1rem 1.2rem; border-radius: 16px; background: rgba(212,255,58,.12);
  border: 1.5px dashed rgba(212,255,58,.45); color: var(--on-dark);
}
.flow-note strong { color: var(--lime); }

@media (max-width: 980px) {
  /* .nav-desktop removed: minimal header uses .header-actions */
  /* .nav-toggle removed */
  .site-header .wrap { gap: .8rem; }
  .section-rail-wrap { top: 62px; }
  .platform-grid, .audience-grid, .pack-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .section-rail-wrap { top: 58px; }
  .drawer-panel { width: min(100vw, 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .drawer-backdrop, .drawer-panel { transition: none; }
}


/* ======================================================================
   Multi-page site (Home + VSL Skill page + legal). Added Nov 2026.
   ====================================================================== */
.nav { gap: 1.15rem; }
.nav a[aria-current="page"] { color: #fff; }
.nav a[aria-current="page"]::after { content: ""; display: block; height: 2px; background: var(--coral); margin-top: .2rem; border-radius: 2px; }
.nav .btn::after { display: none !important; }

/* Home hero photo */
.hero-photo { position: relative; }
.hero-figure { margin: 0; position: relative; border-radius: 26px; overflow: hidden; border: 2px solid var(--coral); box-shadow: 12px 12px 0 var(--lime); aspect-ratio: 16 / 11; }
.hero-figure img { width: 100%; height: 100%; object-fit: cover; object-position: 0% 55%; }
.hero-figure figcaption { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; background: rgba(10,20,36,.88); color: var(--on-dark); padding: .7rem 1rem; border-radius: 12px; font-weight: 700; font-size: .92rem; }
.hero-figure figcaption b { font-family: var(--display); font-weight: 400; color: var(--lime); font-size: 1.5rem; margin-right: .35rem; vertical-align: -2px; }

/* What you'll learn */
.home-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.pillar { background: var(--paper); border: 2px solid var(--ink); border-radius: 22px; padding: 1.7rem 1.5rem; box-shadow: 6px 6px 0 var(--ink); }
.pillar:nth-child(2) { box-shadow: 6px 6px 0 var(--coral); }
.pillar .n { font-family: var(--display); color: var(--coral-ink); letter-spacing: .1em; display: block; margin-bottom: 1rem; }
.pillar h3 { font-size: 1.3rem; }
.pillar p { margin: 0; color: var(--muted); }

/* Join band */
.join-actions { margin: 1.4rem 0 .6rem; }
.join-actions .btn { box-shadow: 5px 5px 0 var(--ink) !important; border-color: var(--ink) !important; }
.join-note a { color: var(--coral-ink); font-weight: 700; }

/* Skills library */
.library-feature { display: grid; grid-template-columns: 1fr 1.05fr; border: 2px solid var(--ink); border-radius: 26px; overflow: hidden; background: var(--ink); color: var(--on-dark); box-shadow: 10px 10px 0 var(--coral); margin-bottom: 1.6rem; }
.library-feature figure { margin: 0; min-height: 340px; position: relative; }
.library-feature figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.lf-body { padding: clamp(1.6rem, 4vw, 2.8rem); }
.lf-tag { display: inline-block; background: var(--lime); color: var(--ink); font-size: .74rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; padding: .35rem .65rem; border-radius: 6px; margin-bottom: 1rem; }
.lf-body h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 4vw, 3rem); line-height: .98; color: #fff; }
.lf-body p { color: var(--on-dark-muted); }
.lf-price strong { font-family: var(--display); font-weight: 400; font-size: 2rem; color: var(--coral-soft); margin-right: .4rem; vertical-align: -3px; }
.lf-body .btn { border-color: var(--coral); box-shadow: 5px 5px 0 var(--lime); }
.library-grid { grid-template-columns: repeat(2, 1fr); margin-bottom: 1.2rem; }
.library-grid .skill-card { min-height: 170px; background: var(--ink); }
.library-grid .skill-card .cat-desc { margin: .4rem 0 0; font-size: .95rem; }
.library-note { font-weight: 700; }
.library-note a { color: var(--coral-ink); }

/* Breadcrumb + on-page tabs (VSL Skill page) */
.crumbs { background: var(--ink); color: var(--on-dark-muted); font-size: .82rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.crumbs .wrap { padding: .55rem 0; }
.crumbs a { color: var(--on-dark-muted); text-underline-offset: 3px; }
.crumbs [aria-current] { color: #fff; font-weight: 700; }
.page-tabs { position: sticky; top: 64px; z-index: 60; background: rgba(246,239,228,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.page-tabs .wrap { display: flex; gap: .45rem; align-items: center; overflow-x: auto; padding: .6rem 0; scrollbar-width: none; }
.page-tabs .wrap::-webkit-scrollbar { display: none; }
.page-tabs span { font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-right: .4rem; white-space: nowrap; }
.page-tabs a { white-space: nowrap; text-decoration: none; font-weight: 750; font-size: .88rem; color: var(--ink); padding: .4rem .8rem; border-radius: 999px; border: 1.5px solid var(--line); }
.page-tabs a:hover { border-color: var(--ink); }
.page-tabs a.is-active { background: var(--ink); color: var(--lime); border-color: var(--ink); }

/* Shared footer */
.site-footer, .info-page footer.site-footer { background: var(--ink); color: var(--on-dark-muted); padding: clamp(3rem, 6vw, 4.5rem) 0 2rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,.1); margin-bottom: 1.5rem; }
.footer-brand p { margin: .9rem 0; max-width: 26rem; }
.footer-join { color: var(--lime); font-weight: 800; text-decoration: none; }
.footer-col { display: flex; flex-direction: column; gap: .5rem; }
.footer-col strong { color: #fff; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .3rem; }
.footer-col a { color: var(--on-dark-muted); text-decoration: none; font-size: .95rem; overflow-wrap: anywhere; }
.footer-col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-footer .legal { font-size: .82rem; line-height: 1.55; }
.info-page .info-content a { color: var(--coral-ink); }

@media (max-width: 980px) {
  .home-pillars { grid-template-columns: 1fr; }
  .library-feature { grid-template-columns: 1fr; }
  .library-feature figure { min-height: 240px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .page-tabs { top: 62px; }
}
@media (max-width: 760px) {
  .library-grid { grid-template-columns: 1fr; }
  .page-tabs { top: 58px; }
  .hero-figure { aspect-ratio: 4 / 3; box-shadow: 8px 8px 0 var(--lime); }
  .hero-figure figcaption { font-size: .82rem; }
}
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .hero-photo { max-width: 640px; margin: 1rem auto 0; width: 100%; } }
.site-footer .footer-grid { border-bottom: 0; margin-bottom: 0; padding-bottom: .5rem; }


/* --- Fat nav removed (2026-11-06): hide any remnant guided-nav markup --- */
.page-tabs, .crumbs, .section-rail-wrap, .jump-strip, .drawer, .nav-toggle, .mobile-cta { display: none !important; }


/* =====================================================================
   VSL SALES PAGE (3 scrolls, video-first) + homepage expandables — Nov 6, 2026
   ===================================================================== */
html.js [data-offer-gate]:not(.is-open) { display: none !important; }
[data-offer-gate].is-open { animation: gateIn .5s ease both; }
@keyframes gateIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-offer-gate].is-open { animation: none; } }

.vsl-hero { padding: clamp(2.2rem, 5vw, 3.6rem) 0 clamp(2.4rem, 5vw, 3.6rem); position: relative; overflow: hidden;
  background: radial-gradient(1000px 520px at 50% 0%, rgba(255,90,54,.18), transparent 60%), var(--ink); }
.narrow-wide { width: min(100% - 2.5rem, 940px); margin-inline: auto; }
.vsl-hero h1 { font-family: var(--display); font-weight: 400; text-transform: uppercase; color: #fff; font-size: clamp(2.1rem, 5.2vw, 4.1rem); line-height: .98; margin: 0 0 .9rem; }
.vsl-hero .lede { color: var(--on-dark-muted); font-size: clamp(1.02rem, 1.6vw, 1.18rem); max-width: 40rem; margin: 0 auto clamp(1.4rem, 3vw, 2.2rem); }
.vsl-hero .eyebrow { justify-content: center; }
.vsl-stage { width: min(100% - 2.5rem, 1040px); margin-inline: auto; position: relative; }
.vsl-stage .video-frame { box-shadow: 0 30px 80px rgba(0,0,0,.55), 10px 10px 0 var(--coral); }
.vsl-caption { text-align: center; color: var(--on-dark-muted); margin: .9rem 0 0; }
.vsl-cta { text-align: center; margin: clamp(1.4rem, 3vw, 2rem) auto 0; width: min(100% - 2.5rem, 640px); }
.vsl-cta .btn { font-size: clamp(1.1rem, 2vw, 1.35rem); padding: 1.15rem 2rem; }
.vsl-cta .tiny { color: var(--on-dark-muted); margin: .9rem 0 0; }
.vsl-cta-more { display: block; margin-top: .9rem; color: var(--lime); font-weight: 800; text-decoration: none; }
.vsl-cta-more:hover { text-decoration: underline; }
.btn.pulse { animation: ctaPulse 1.2s ease-in-out 3; }
@keyframes ctaPulse { 0%,100% { transform: none; } 50% { transform: scale(1.05); } }
.vsl-fallback { text-align: center; margin: 1.3rem auto 0; width: min(100% - 2.5rem, 640px); color: var(--on-dark); }
.vsl-fallback p { margin: 0 0 .4rem; }
.vsl-fallback a { color: var(--lime); font-weight: 800; }
.linkish { background: none; border: 0; padding: 0; font: inherit; color: var(--on-dark-muted); text-decoration: underline; cursor: pointer; }
.linkish:hover { color: #fff; }

.vsl-learn { padding: clamp(2.2rem, 5vw, 3.4rem) 0; }
.h-mid { font-size: clamp(1.8rem, 3.6vw, 2.7rem); }
.learn-list { list-style: none; counter-reset: l; margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.learn-list li { counter-increment: l; background: var(--paper); border: 2px solid var(--ink); border-radius: 18px; padding: 1.2rem 1.25rem 1.25rem; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.learn-list li::before { content: "0" counter(l); display: block; font-family: var(--display); font-size: 2rem; line-height: 1; color: var(--coral); margin-bottom: .5rem; }
.learn-list strong { display: block; color: var(--ink); font-size: 1.08rem; margin-bottom: .25rem; }
.learn-proof { margin: 1.3rem 0 0; }
.learn-proof a { color: inherit; }

.vsl-offer { padding: clamp(2.6rem, 5vw, 4rem) 0; }
.vsl-offer .offer-grid { align-items: start; }
.stack.compact { gap: .55rem; margin-top: 1rem; }
.stack.compact li { padding: .8rem 1rem; }
.stack.compact strong { font-size: 1rem; }
.stack.compact .d { font-size: .93rem; }
.stack .is-bonus { background: var(--lime); border-color: var(--ink); }
.stack .is-bonus .d { color: var(--ink); }
.mini-guarantee { margin-top: 1.3rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.16); text-align: left; }
.mini-guarantee strong { color: var(--lime); font-size: .98rem; }
.mini-guarantee p { font-size: .9rem; margin: .3rem 0 0; }
.mini-guarantee a { color: #fff; }
.mini-faq { margin-top: clamp(1.6rem, 3vw, 2.4rem); display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.mini-faq details, .faq-in details { background: var(--cream); border: 1px solid var(--line); border-radius: 14px; padding: .9rem 1.1rem; }
.mini-faq summary, .faq-in summary { cursor: pointer; font-weight: 800; color: var(--ink); }
.mini-faq p, .faq-in p { margin: .6rem 0 0; color: var(--muted); font-size: .96rem; }

/* Homepage expandables (moved long copy) */
.expand-list { display: grid; gap: .8rem; }
details.expand { border: 2px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.03); }
details.expand > summary { list-style: none; cursor: pointer; padding: 1.15rem 3.2rem 1.15rem 1.4rem; position: relative; font-family: var(--display); text-transform: uppercase; font-size: clamp(1.2rem, 2.2vw, 1.6rem); letter-spacing: .02em; color: #fff; }
details.expand > summary::-webkit-details-marker { display: none; }
details.expand > summary span { display: block; font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: .92rem; font-weight: 600; color: var(--on-dark-muted); margin-top: .2rem; }
details.expand > summary::after { content: "+"; position: absolute; right: 1.3rem; top: 50%; transform: translateY(-50%); font-family: var(--sans); font-weight: 900; font-size: 1.6rem; color: var(--coral); }
details.expand[open] > summary::after { content: "−"; }
details.expand[open] { border-color: var(--coral); }
.expand-body { padding: .4rem 1.4rem 1.6rem; }
.expand-body > * + * { margin-top: 1.4rem; }
.expand-body .steps .step p { color: var(--muted); }
.faq-in { display: grid; gap: .7rem; }
.faq-in > * + * { margin-top: 0; }
.tl-expand { margin-top: .5rem; }
.tl-expand .expand-body { padding-top: 1.2rem; }

@media (max-width: 860px) {
  .learn-list { grid-template-columns: 1fr; }
  .mini-faq { grid-template-columns: 1fr; }
  .vsl-offer .offer-grid { grid-template-columns: 1fr; }
  .vsl-offer .price-card { position: static; }
}
@media (max-width: 560px) {
  .vsl-stage { width: 100%; }
  .vsl-stage .video-frame { border-radius: 0; border-left: 0; border-right: 0; box-shadow: 0 20px 50px rgba(0,0,0,.5); }
  .learn-list li { padding: 1rem 1.1rem; }
}
.vsl-hero h1 .sub { display: block; font-family: var(--sans); text-transform: none; font-weight: 700; font-size: clamp(1.1rem, 2.1vw, 1.5rem); line-height: 1.25; color: var(--lime); margin-top: .7rem; letter-spacing: -.01em; }
@media (max-width: 860px) {
  .learn-list li { display: grid; grid-template-columns: 2.4rem 1fr; column-gap: .6rem; align-items: start; }
  .learn-list li::before { grid-row: span 2; font-size: 1.7rem; margin: 0; }
}

/* =====================================================================
   VSL PAGE — clean pass (Nov 6, 2026): dark neutral + warm off-white, orange CTA only.
   No glows, offsets, lime, grain, or decorative motion on this page (reveal fade only).
   ===================================================================== */
.vsl-page { background: #f7f3ec; }
.vsl-page .btn, .vsl-page .header-actions .btn, .vsl-page .dark .btn { box-shadow: none; border-color: var(--coral); color: #111; }
.vsl-page .btn:hover { transform: none; box-shadow: none; background: #ff6e4e; }
.vsl-page .btn.pulse, .vsl-page .play { animation: none; }
.vsl-page :focus-visible { outline-color: var(--coral); }
.vsl-page .site-header { background: #111214; border-bottom-color: rgba(255,255,255,.06); }
.vsl-page .vsl-hero { background: #111214; padding: clamp(2rem, 4.5vw, 3.2rem) 0 clamp(2rem, 4.5vw, 3rem); }
.vsl-page .vsl-hero h1 { font-size: clamp(2rem, 4.6vw, 3.6rem); margin: 0 0 .6rem; }
.vsl-sub { color: #b9b5ae; font-size: clamp(1.02rem, 1.6vw, 1.2rem); margin: 0 auto clamp(1.4rem, 3vw, 2rem); }
.vsl-page .vsl-stage { width: min(100% - 2.5rem, 980px); }
.vsl-page .vsl-stage .video-frame { box-shadow: 0 24px 60px rgba(0,0,0,.45); border-color: rgba(255,255,255,.08); border-radius: 14px; }
.vsl-page .video-frame img { filter: grayscale(.35); }
.vsl-page .vsl-cta .tiny, .vsl-page .vsl-fallback .tiny { color: #9c978f; }
.vsl-page .vsl-fallback { margin-top: 1.1rem; }
.vsl-page .linkish { color: #cfcac2; }

.vsl-page .vsl-offer { background: #f7f3ec; color: #1a1a1a; padding: clamp(2.6rem, 6vw, 4.5rem) 0; }
.offer-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(1.8rem, 5vw, 4rem); align-items: center; max-width: 1080px; }
.bundle { margin: 0; }
.bundle img { width: 100%; border-radius: 10px; }
.offer-copy h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); color: #111; margin: 0 0 .8rem; }
.offer-line { color: #4a4740; font-size: 1.05rem; margin: 0 0 1.1rem; }
.offer-points { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; gap: .55rem; }
.offer-points li { position: relative; padding-left: 1.5rem; color: #1a1a1a; font-size: 1rem; line-height: 1.45; }
.offer-points li::before { content: "✓"; position: absolute; left: 0; color: var(--coral-ink); font-weight: 900; }
.offer-buy { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(0,0,0,.1); }
.offer-buy .price { font-size: clamp(3rem, 6vw, 4rem); color: #111; margin: 0; }
.offer-buy .was, .offer-buy .price-change, .offer-buy .promo-badge { margin: 0; flex-basis: 100%; color: #4a4740; }
.offer-buy .btn { font-size: 1.1rem; padding: 1rem 1.7rem; }
.offer-fine { color: #6b675f; font-size: .9rem; margin: 1rem 0 0; }
.offer-fine a { color: inherit; }

.footer-mini { background: #111214; padding: 1.4rem 0 1.6rem; }
.footer-mini .fm-links { display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; margin: 0 0 .5rem; font-size: .88rem; }
.footer-mini .fm-links a { color: #cfcac2; text-decoration: none; }
.footer-mini .fm-links a:hover { text-decoration: underline; }
.footer-mini .legal { color: #8a857d; margin: 0; padding: 0; border-top: 0; font-size: .78rem; }
@media (max-width: 860px) {
  .offer-split { grid-template-columns: 1fr; }
  .bundle { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 560px) { .vsl-page .vsl-stage { width: 100%; } .vsl-page .vsl-stage .video-frame { border-radius: 0; } }


/* =====================================================================
   HOMEPAGE — three sections, full visual energy (Nov 6, 2026, per David):
   stage-light beams, glows, outlined big type, lime + coral marquees,
   polaroid snaps, angled photo masks. Scoped to body.homev.
   Reduced motion: the global prefers-reduced-motion rule stops all animation.
   ===================================================================== */
.homev .site-header { background: rgba(10,20,36,.92); }

/* Stage lights: sweeping beams + halos (decorative) */
.hv-hero { position: relative; overflow: hidden; padding-bottom: clamp(5rem, 9vw, 8rem);
  background:
    radial-gradient(900px 520px at 78% 18%, rgba(255,90,54,.38), transparent 62%),
    radial-gradient(620px 420px at 12% 0%, rgba(255,255,255,.10), transparent 65%),
    radial-gradient(800px 500px at 0% 100%, rgba(18,48,90,.95), transparent 70%),
    var(--ink); }
.hv-lights { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.hv-lights span { position: absolute; top: -20%; width: 34vw; max-width: 520px; height: 150%; transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,186,150,.10) 40%, transparent 78%);
  clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%); filter: blur(6px); mix-blend-mode: screen;
  animation: hvSweep 11s ease-in-out infinite alternate; }
.hv-lights span:nth-child(1) { left: 6%; animation-duration: 12s; }
.hv-lights span:nth-child(2) { left: 38%; background: linear-gradient(180deg, rgba(255,90,54,.35), rgba(255,90,54,.10) 45%, transparent 80%); animation-duration: 9s; animation-delay: -3s; }
.hv-lights span:nth-child(3) { left: 66%; animation-duration: 14s; animation-delay: -6s; }
.hv-lights::after { content: ""; position: absolute; left: 50%; top: -120px; width: 900px; height: 240px; margin-left: -450px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,255,255,.35), rgba(255,140,100,.18) 50%, transparent); filter: blur(10px); }
@keyframes hvSweep { from { transform: rotate(-16deg); } to { transform: rotate(16deg); } }
.hv-hero .hero-grid { position: relative; z-index: 2; }
.hv-hero h1 { text-shadow: 0 0 40px rgba(255,90,54,.25); }
.hv-hero h1 .accent { text-shadow: 0 0 28px rgba(255,90,54,.65); }
.hv-hero .sub mark { color: var(--lime); text-shadow: 0 0 22px rgba(212,255,58,.35); }

/* Opt-in card: bright panel with luminous edge */
.hv-form { margin-top: 1.6rem; max-width: 34rem; background: var(--paper); color: var(--text); border-radius: 22px; padding: 1.3rem 1.3rem 1.1rem;
  border: 2px solid var(--coral); box-shadow: 0 0 0 1px rgba(255,90,54,.4), 0 0 46px rgba(255,90,54,.45), 10px 10px 0 var(--lime); }
.hv-form .kit-slot { margin-top: 0; }
.hv-form .kit-slot .formkit-submit, .hv-form .kit-slot .formkit-submit:hover { box-shadow: 4px 4px 0 var(--ink) !important; }
.hv-note { margin: .7rem 0 0; font-size: .86rem; font-weight: 700; color: var(--coral-ink); }

/* Glowing hero photo */
.hv-glow { box-shadow: 12px 12px 0 var(--lime), 0 0 70px rgba(255,90,54,.55), 0 0 140px rgba(255,90,54,.25); }

/* Marquees: two big, angled, opposite-direction banners */
.homev .ticker { margin-top: -2.6rem; box-shadow: 0 0 40px rgba(212,255,58,.35); }
.homev .ticker li { font-size: clamp(1.4rem, 3vw, 2.2rem); }
.homev .ticker ul { padding: 1.05rem 0; }
.homev .ticker .ticker-track { animation-duration: 42s; }
.ticker-coral { background: var(--coral); color: var(--ink); transform: rotate(1.4deg) scale(1.03); box-shadow: 0 0 46px rgba(255,90,54,.55) !important; margin: -1.4rem 0 -1.4rem !important; }
.ticker-coral .ticker-track { animation-direction: reverse; animation-duration: 34s !important; }
.ticker-coral li::after { color: #fff; }

/* 2) The VSL Skill */
.hv-skills { position: relative; padding-top: clamp(5rem, 9vw, 7.5rem); padding-bottom: clamp(5.5rem, 10vw, 8.5rem);
  background: radial-gradient(700px 420px at 90% 0%, rgba(255,90,54,.16), transparent 70%), var(--cream); }
.hv-skill-top { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.hv-skill h2 { color: var(--ink); }
.hv-points { list-style: none; padding: 0; margin: 0 0 .4rem; display: grid; gap: .6rem; }
.hv-points li { position: relative; padding-left: 1.7rem; font-weight: 600; }
.hv-points li::before { content: "✓"; position: absolute; left: 0; color: var(--coral-ink); font-weight: 900; }
.hv-price { font-size: .98rem; color: var(--muted); }
.hv-price b { font-family: var(--display); font-weight: 400; font-size: 1.9rem; color: var(--ink); margin-right: .2rem; vertical-align: -3px; }
.hv-bundle { margin: 0; position: relative; }
.hv-bundle::before { content: ""; position: absolute; inset: 8% 6%; background: radial-gradient(closest-side, rgba(255,90,54,.55), transparent); filter: blur(30px); z-index: 0; }
.hv-bundle img { position: relative; z-index: 1; width: 100%; border-radius: 22px; border: 2px solid var(--ink); box-shadow: 12px 12px 0 var(--coral); transform: rotate(1.5deg); }

/* Polaroid strip */
.hv-snaps { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 3vw, 2.4rem); margin: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(3rem, 6vw, 4.5rem); }
.hv-snaps .snap img { aspect-ratio: 4 / 3; object-position: 50% 25%; }
.hv-snaps .snap:nth-child(1) { transform: rotate(-3deg); }
.hv-snaps .snap:nth-child(1) img { object-position: 50% 0; }
.hv-snaps .snap:nth-child(2) { transform: rotate(2deg) translateY(1.2rem); }
.hv-snaps .snap:nth-child(3) { transform: rotate(-1.5deg); }

/* Dark stage panel: proof + full timeline */
.hv-stage { position: relative; overflow: hidden; border-radius: 30px; padding: clamp(2rem, 5vw, 4rem);
  background: radial-gradient(800px 400px at 15% 0%, rgba(255,90,54,.30), transparent 65%), radial-gradient(700px 500px at 100% 100%, rgba(18,48,90,.95), transparent 70%), var(--ink);
  border: 1px solid rgba(255,90,54,.55); box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 0 60px rgba(255,90,54,.35), 0 40px 90px rgba(10,20,36,.35); }
.hv-stage::before { content: ""; position: absolute; left: 8%; right: 8%; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--coral), #fff, var(--coral), transparent); box-shadow: 0 0 18px var(--coral); z-index: 2; }
.hv-stage .bgword { position: absolute; top: 1rem; right: -2vw; font-family: var(--display); font-size: clamp(6rem, 18vw, 16rem); line-height: .8; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.07); pointer-events: none; user-select: none; }
.hv-stage-head { max-width: 46rem; }
.hv-stage-head h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.2rem, 5vw, 4rem); line-height: .95; color: #fff; margin: 0 0 1rem; }
.hv-stage-head h3 .accent { text-shadow: 0 0 26px rgba(255,90,54,.6); }
.hv-proof { grid-template-columns: repeat(3, 1fr); padding: 0; margin: 2.2rem 0 2.4rem; gap: 1.4rem; }
.hv-proof li { border-bottom: 0; border-top: 2px solid rgba(255,90,54,.6); padding: 1rem 0 0; }
.hv-proof li:last-child { border-top: 2px solid rgba(255,90,54,.6); padding: 1rem 0 0; }
.hv-proof .big { text-shadow: 0 0 30px rgba(255,255,255,.25); }
.hv-proof .big.c { text-shadow: 0 0 30px rgba(255,90,54,.6); }
.hv-tl { background: rgba(255,255,255,.04); }
.hv-tl > summary { font-size: clamp(1.3rem, 2.6vw, 1.9rem); }
.hv-tl > summary:hover, .hv-tl > summary:focus-visible { color: var(--lime); }
.hv-tl[open] { box-shadow: 0 0 40px rgba(255,90,54,.3); }
.hv-fine { margin: 1.4rem 0 0; font-size: .8rem; color: var(--on-dark-muted); }

/* 3) Partnerships: restored navy stage look */
.hv-partner { position: relative; overflow: hidden; padding-top: clamp(6rem, 11vw, 9rem);
  background: radial-gradient(900px 520px at 95% 10%, rgba(255,90,54,.30), transparent 62%), radial-gradient(700px 500px at 0% 100%, rgba(212,255,58,.08), transparent 70%), var(--navy); }
.hv-lights-right span:nth-child(1) { left: 55%; }
.hv-lights-right span:nth-child(2) { left: 78%; }
.hv-partner .partner-grid { position: relative; z-index: 2; }
.hv-partner .mask { filter: drop-shadow(0 0 40px rgba(255,90,54,.45)); }
.hv-partner .million { text-shadow: 0 0 40px rgba(212,255,58,.45); }
.hv-partner .btn { box-shadow: 5px 5px 0 var(--lime), 0 0 34px rgba(255,90,54,.55); }

@media (max-width: 980px) {
  .hv-skill-top { grid-template-columns: 1fr; }
  .hv-bundle { max-width: 620px; }
  .hv-proof { grid-template-columns: 1fr; }
  .hv-lights span { width: 70vw; }
}
@media (max-width: 640px) {
  .hv-snaps { grid-template-columns: 1fr 1fr; }
  .hv-snaps .snap:nth-child(3) { grid-column: 1 / -1; width: 70%; justify-self: center; }
  .hv-snaps .snap { padding: .45rem .45rem 2.1rem; }
  .hv-snaps .snap figcaption { font-size: .8rem; }
  .hv-form { box-shadow: 0 0 36px rgba(255,90,54,.45), 6px 6px 0 var(--lime); padding: 1rem; }
  .hv-stage { padding: 1.6rem 1.1rem; border-radius: 22px; }
  .hv-tl .expand-body { padding: .4rem .6rem 1.2rem; }
}
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .hv-lights span { animation: none !important; transform: rotate(-8deg); } .ticker-track { animation: none !important; } }
.hv-hero .eyebrow { color: #ffb39f; text-shadow: 0 1px 8px rgba(10,20,36,.8); }

/* Editorial refinement — Nov 6. Retain palette, stage lighting and marquees.
   Homepage-only; product page styling and markup remain untouched. */
.editorial { --max: 1320px; }
.editorial .wrap { width: min(100% - 4rem, var(--max)); }
.editorial .hv-header { position: relative; background: #0a1424; }
.editorial .hv-header .wrap { min-height: 94px; padding-block: 1rem; }
.hv-wordmark { display: block; color: #fff; width: 174px; flex: 0 0 174px; }
.hv-wordmark svg { display: block; width: 100%; height: auto; overflow: visible; }
.hv-nav { display: flex; gap: clamp(1.5rem, 3.3vw, 3.5rem); align-items: center; }
.hv-nav a { display: flex; align-items: center; gap: .65rem; color: #fff; text-decoration: none; font-size: .94rem; font-weight: 750; padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,.22); transition: border-color .2s; }
.hv-nav a span { color: var(--coral); font-size: .75rem; letter-spacing: .08em; }
.hv-nav a:hover, .hv-nav a:focus-visible { border-bottom-color: var(--lime); color: var(--lime); }
.editorial section[id] { scroll-margin-top: 1rem; }
.editorial .hv-hero { padding: clamp(2.5rem,5vw,4.5rem) 0 clamp(6rem,8vw,7.5rem); }
.editorial .hero-grid { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(2rem,4vw,4rem); align-items: center; }
.editorial .hero h1 { font-size: clamp(3.2rem, 5.3vw, 5rem); line-height: .99; margin-bottom: 1.2rem; max-width: 10.5em; }
.editorial .hero h1 .sub { font-size: clamp(1.18rem,1.65vw,1.4rem); line-height: 1.3; margin-top: 1.25rem; }
.editorial .hero .lede { font-size: 1rem; line-height: 1.65; max-width: 31rem; }
.editorial .hero-photo { width: 100%; max-width: none; margin: 0; }
.editorial .hero-figure { aspect-ratio: auto; border-radius: 14px; box-shadow: 8px 8px 0 var(--lime), 0 0 70px rgba(255,90,54,.45); }
.editorial .hero-figure img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; object-position: center; }
.editorial .hv-form { padding: 1.15rem; margin-top: 1.4rem; border-radius: 18px; box-shadow: 0 0 32px rgba(255,90,54,.35), 6px 6px 0 var(--lime); }
/* One centered reassurance; Kit branding/duplicate guarantee are hidden, not the form. */
.editorial .kit-slot .formkit-powered-by-convertkit-container,
.editorial .kit-slot .formkit-powered-by-convertkit,
.editorial .kit-slot .formkit-guarantee { display: none !important; }
.editorial .hv-note { text-align: center; color: #5b6474; font-size: .8rem; font-weight: 500; margin: .75rem 0 0; }
.editorial .kit-slot .formkit-fields { flex-wrap: nowrap; }
.editorial .kit-slot .formkit-input { font-size: .98rem !important; padding: .85rem 1rem !important; }
.editorial .kit-slot .formkit-submit { font-size: .95rem !important; padding: .85rem 1rem !important; }
.hv-credentials { list-style: none; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .5rem; padding: 0; margin: 1.65rem 0 0; text-align: center; }
.hv-credentials li { padding-inline: .4rem; border-right: 1px solid rgba(255,255,255,.2); }
.hv-credentials li:last-child { border: 0; }
.hv-credentials b { font-family: var(--display); font-weight: 400; color: var(--lime); font-size: clamp(1.1rem,1.7vw,1.5rem); display: block; line-height: 1.2; }
.hv-credentials span { display: block; color: #bdc6d3; font-size: .71rem; line-height: 1.4; margin-top: .25rem; }
.editorial .hv-skill-top { gap: clamp(2rem,5vw,5rem); grid-template-columns: 1fr 1fr; }
.editorial .hv-skill h2 { font-size: clamp(2.6rem,4.5vw,4rem); line-height: 1.04; max-width: 12em; }
.editorial .hv-skill-copy .lede { font-size: 1.08rem; line-height: 1.7; max-width: 34rem; }
.editorial .hv-points { font-size: 1rem; font-weight: 500; gap: .55rem; }
.editorial .hv-points li { font-weight: 550; }
.editorial .hv-price b { font-size: 2rem; }
.editorial .hv-bundle img { border-radius: 14px; transform: rotate(1deg); box-shadow: 8px 8px 0 var(--coral); }
/* One coherent editorial story, no giant duplicate proof card or repeated photo strip. */
.hv-evidence { margin-top: clamp(3.5rem,7vw,6rem); border-top: 2px solid var(--ink); padding-top: 1.6rem; }
.hv-evidence-intro { display: grid; grid-template-columns: .8fr 1.1fr 1fr; gap: 2rem; align-items: start; margin-bottom: 1.5rem; }
.hv-evidence-intro .eyebrow { line-height: 1.4; }
.hv-evidence-intro p:not(.eyebrow) { font-size: 1rem; line-height: 1.6; margin: 0; }
.hv-evidence-proof { color: var(--muted); }
.hv-evidence-proof b { color: var(--ink); font-size: inherit; }
.editorial details.hv-tl { border: 0; border-top: 1px solid rgba(10,20,36,.2); border-bottom: 1px solid rgba(10,20,36,.2); border-radius: 0; background: transparent; box-shadow: none; }
.editorial .hv-tl > summary { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.15rem 0; color: var(--ink); list-style: none; text-transform: none; }
.editorial .hv-tl > summary::after { content: none; }
.editorial .hv-tl > summary::-webkit-details-marker { display: none; }
.editorial .hv-tl > summary .hv-tl-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem 1rem; margin: 0; color: var(--ink); font-family: var(--display); font-size: 1.7rem; text-transform: uppercase; font-weight: 400; }
.hv-tl-name small { font: 500 .9rem var(--sans); letter-spacing: .03em; color: var(--muted); }
.editorial .hv-tl > summary .hv-tl-toggle { font: 750 .88rem var(--sans); color: var(--coral-ink); margin: 0; display: flex; align-items: center; white-space: nowrap; gap: .7rem; }
.editorial .hv-tl-toggle::after { content: '+'; font: 500 1.5rem var(--sans); }
.editorial .hv-tl[open] .hv-tl-toggle::after { content: '−'; }
.editorial .hv-tl-toggle .when-open, .editorial .hv-tl[open] .hv-tl-toggle .when-closed { display: none; }
.editorial .hv-tl[open] .hv-tl-toggle .when-open, .editorial .hv-tl-toggle .when-closed { display: inline; color: inherit; font: inherit; margin: 0; }
.editorial .hv-tl .expand-body { padding: 0; }
.editorial .timeline::before { left: 20px; width: 2px; margin: 0; background: linear-gradient(var(--coral), var(--coral) 85%, var(--lime)); }
.editorial .tl { grid-template-columns: 1.1fr 1fr; gap: clamp(2rem,6vw,6rem); padding: 3rem 0 3rem 4rem; align-items: center; border-bottom: 1px solid rgba(10,20,36,.12); }
.editorial .tl:last-child { border: 0; }
.editorial .tl::before { left: 21px; top: 3.5rem; width: 15px; height: 15px; margin-left: -7px; background: var(--cream); border-width: 3px; }
.editorial .tl-text, .editorial .tl:nth-child(even) .tl-text { text-align: left; order: 1; }
.editorial .tl-media, .editorial .tl:nth-child(even) .tl-media { order: 2; }
.editorial .tl .yr { font-size: clamp(2.6rem,4.5vw,4rem); line-height: 1; -webkit-text-stroke: 0; color: var(--coral-ink); margin-bottom: .7rem; }
.editorial .tl h3 { color: var(--ink); font-size: clamp(1.7rem,2.5vw,2.2rem); line-height: 1.1; max-width: 17em; margin-bottom: .9rem; }
.editorial .tl h3 .accent { color: var(--coral-ink); }
.editorial .tl p { color: #4b5668; font-size: 1.02rem; line-height: 1.7; margin-bottom: .8rem; }
.editorial .tl-quote { color: var(--coral-ink) !important; font-family: var(--sans); font-style: normal; font-weight: 650; font-size: 1.08rem; }
.editorial .tl-text .versions { justify-content: flex-start; }
.editorial .tl-media .snap.solo { width: min(90%,360px); margin: 0 auto; transform: rotate(-1deg); }
.editorial .tl-media .snap.solo img { aspect-ratio: 320/426; width: 100%; object-fit: contain; }
.editorial .snap { padding: .55rem .55rem 2.7rem; box-shadow: 0 10px 28px rgba(10,20,36,.17); }
.editorial .snap figcaption { font-family: var(--sans); font-style: normal; font-size: .84rem; font-weight: 600; }
.editorial .tl-media.pair { gap: 1rem; }
.editorial .tl-media.pair .snap:nth-child(1) { transform: rotate(-1deg); }
.editorial .tl-media.pair .snap:nth-child(2) { transform: rotate(1deg); margin-top: 1.5rem; }
.editorial .type-card { border-radius: 12px; transform: rotate(-1deg); padding: 1.8rem; box-shadow: 6px 6px 0 var(--lime); }
.editorial .type-card.alt, .editorial .type-card.lime { box-shadow: 6px 6px 0 var(--coral); }
.editorial .type-card .tc-big { font-size: clamp(2.3rem,3.8vw,3.5rem); line-height: 1; }
.editorial .type-card .tc-sub { line-height: 1.5; }
.editorial .photo-stack .main { border-radius: 12px; border-width: 2px; clip-path: none; }
.editorial .photo-stack .inset { right: -1%; border-width: 3px; }
.editorial .tl-note { color: var(--muted); text-align: left; font-size: .82rem; margin: 1.5rem 0; }
.editorial .hv-fine { color: var(--muted); margin-top: 1rem; font-size: .8rem; }
.editorial .hv-partner .partner-grid { gap: clamp(2rem,6vw,6rem); }
.editorial .hv-partner h2 { font-size: clamp(2.8rem,4.6vw,4.4rem); line-height: 1.03; margin-bottom: 1.4rem; }
.editorial .hv-partner .lede { font-size: 1.2rem; line-height: 1.65; }
.editorial .hv-partner p:not(.eyebrow) { max-width: 35rem; color: #bfcadd; }
.editorial .hv-partner .btn { margin-top: 1rem; }
.editorial .mask { aspect-ratio: 4/5; }
@media (min-width: 1700px) { .editorial { --max: 1480px; } }
@media (max-width: 980px) {
 .editorial .wrap { width: min(100% - 3rem,1320px); }
 .editorial .hero-grid, .editorial .hv-skill-top { grid-template-columns: 1fr; }
 .editorial .hero h1 { max-width: 13em; font-size: clamp(3rem,7.8vw,5rem); }
 .editorial .hero-photo { margin-top: 1.5rem; }
 .editorial .hero-figure img { width: 100%; }
 .editorial .hv-form { max-width: 38rem; }
 .hv-credentials { max-width: 38rem; }
 .hv-evidence-intro { grid-template-columns: 1fr 1fr; gap: 1rem 2rem; }
 .hv-evidence-intro .eyebrow { grid-column: 1/-1; }
 .editorial .tl { grid-template-columns: 1fr 1fr; gap: 2rem; }
 .editorial .photo-stack { margin-bottom: 2rem; }
 .hv-nav { gap: 1.1rem; }
 .hv-nav a { font-size: .84rem; gap: .4rem; }
 .hv-wordmark { width: 150px; flex-basis: 150px; }
}
@media (max-width: 680px) {
 .editorial .wrap { width: calc(100% - 2.5rem); }
 .editorial .hv-header .wrap { display: block; padding: 1rem 0 .7rem; }
 .hv-wordmark { width: 146px; margin-bottom: .8rem; }
 .hv-nav { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: .75rem; align-items: stretch; }
 .hv-nav a { display: block; font-size: .8rem; line-height: 1.3; padding: .3rem 0 .5rem; }
 .hv-nav a span { display: block; font-size: .62rem; margin-bottom: .2rem; }
 .editorial .hero h1 { font-size: clamp(2.7rem,10vw,4rem); line-height: 1; }
 .editorial .hero h1 .sub { font-size: 1.12rem; }
 .editorial .hero .lede { font-size: .98rem; }
 .editorial .kit-slot .formkit-fields { flex-wrap: wrap; }
 .editorial .hv-skill h2 { font-size: 2.65rem; }
 .editorial .hv-skill-copy .lede { font-size: 1rem; }
 .editorial .hv-points { font-size: .94rem; }
 .hv-evidence-intro { grid-template-columns: 1fr; }
 .editorial .hv-tl > summary .hv-tl-name { font-size: 1.3rem; }
 .hv-tl-name small { font-size: .75rem; }
 .editorial .hv-tl > summary .hv-tl-toggle { font-size: .78rem; }
 .editorial .timeline::before { left: 7px; }
 .editorial .tl { grid-template-columns: 1fr; padding: 2.2rem 0 2.2rem 1.9rem; gap: 1.4rem; }
 .editorial .tl::before { left: 8px; top: 2.6rem; }
 .editorial .tl h3 { font-size: 1.7rem; }
 .editorial .tl p { font-size: .98rem; line-height: 1.65; }
 .editorial .tl-media .snap.solo { width: 100%; max-width: 320px; }
 .editorial .tl-media.pair { grid-template-columns: 1fr; gap: 1rem; }
 .editorial .tl-media.pair .snap { max-width: 320px; margin-inline: auto; }
 .editorial .tl-media.pair .snap:nth-child(2) { margin-top: 0; }
 .editorial .photo-stack .inset { right: 0; }
 .editorial .hv-partner h2 { font-size: 2.8rem; }
}
.editorial .hero-copy, .editorial .hero-photo, .editorial .hv-skill-copy, .editorial .hv-bundle, .editorial .tl-text, .editorial .tl-media { min-width: 0; }
.editorial .kit-slot .formkit-form [data-style="minimal"] { padding: 0 !important; }
.editorial .kit-slot .formkit-field { min-width: 0 !important; flex: 1 1 12rem !important; }
.editorial .kit-slot .formkit-submit { flex: 0 0 auto !important; }
.editorial .kit-slot .formkit-submit > span { padding: .2rem !important; }
@media(max-width:560px) { .editorial .kit-slot .formkit-field, .editorial .kit-slot .formkit-submit { width: 100% !important; flex-basis: 100% !important; } }
/* Real Empower Network event photo: preserve the complete stage and crowd. */
.editorial .empower-photo { margin: 0; }
.editorial .empower-photo img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; border-radius: 12px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--coral); }
.editorial .empower-photo figcaption { margin-top: 1rem; font-size: .84rem; line-height: 1.5; color: var(--muted); }
/* Legendary workshop: the whole room, without cropping or an overlay photo. */
.editorial .legendary-workshop-photo { margin: 0; }
.editorial .legendary-workshop-photo img { width: 100%; height: auto; object-fit: contain; border-radius: 12px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--coral); }
.editorial .legendary-workshop-photo figcaption { margin-top: 1rem; font-size: .84rem; line-height: 1.5; color: var(--muted); }
/* Partnerships: authentic whiteboard teaching photo, full frame and legible board. */
.editorial .hv-partner .partnership-whiteboard { aspect-ratio: auto; max-width: none; }
.editorial .hv-partner .partnership-whiteboard img { width: 100%; height: auto; object-fit: contain; clip-path: none; border: 2px solid var(--coral); border-radius: 12px; }
.editorial .hv-partner .partnership-whiteboard::before { clip-path: none; border-radius: 12px; }
/* Owner-supplied 2015–16 offers photo: full subject and checks table, uncropped. */
.editorial .offers-years-photo { margin: 0; }
.editorial .offers-years-photo img { width: 100%; height: auto; object-fit: contain; border-radius: 12px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--coral); }
.editorial .offers-years-photo figcaption { margin-top: 1rem; font-size: .84rem; line-height: 1.5; color: var(--muted); }
/* 2026 stage photo: preserve the supplied dynamic composition and screen. */
.editorial .skills-2026-photo { margin: 0 auto; width: 100%; max-width: none; }
.editorial .skills-2026-photo img { width: 100%; height: auto; object-fit: contain; border-radius: 12px; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--coral); }
.editorial .skills-2026-photo figcaption { margin-top: 1rem; font-size: .84rem; line-height: 1.5; color: var(--muted); }
/* Uniform homepage photo captions. Only the photo frame tilts; captions sit below it,
   on a shared horizontal baseline with normal body typography and consistent spacing. */
.editorial #timeline .archival-photo { margin: 0; min-width: 0; }
.editorial #timeline .archival-solo { width: min(90%,360px); margin-inline: auto; }
.editorial #timeline .archival-photo .snap { width: 100%; margin: 0; padding: .55rem; }
.editorial #timeline .tl-media.pair .archival-photo:nth-child(2) { margin-top: 1.5rem; }
.editorial #timeline .tl-media.pair .archival-photo:nth-child(2) .snap { transform: rotate(1deg); }
.editorial #timeline .archival-photo .snap img { width: 100%; height: auto; }
.editorial #timeline figcaption {
  position: static; inset: auto; display: block;
  margin: 1rem 0 0; padding: 0;
  font-family: var(--sans); font-size: .875rem; font-weight: 500;
  line-height: 1.5; letter-spacing: 0; text-align: left;
  text-transform: none; font-style: normal;
  color: #344155; background: transparent;
  transform: none; border: 0; border-radius: 0;
  overflow: visible; overflow-wrap: anywhere;
}
@media(max-width:680px) {
 .editorial #timeline .archival-solo { width: 100%; max-width: 320px; }
 .editorial #timeline .tl-media.pair .archival-photo { width: 100%; max-width: 320px; margin-inline: auto; }
 .editorial #timeline .tl-media.pair .archival-photo:nth-child(2) { margin-top: .5rem; }
}

/* Page-polish pass: keep the approved stage design, tighten editorial rhythm. */
.editorial .hv-hero { padding-top: clamp(2rem,4vw,3.6rem); padding-bottom: clamp(5.2rem,7vw,6.5rem); }
.editorial .hero h1 { text-wrap: balance; }
.editorial .hero .lede { max-width: 32rem; line-height: 1.6; margin-bottom: 0; }
.editorial .hv-form { margin-top: 1.3rem; }
.editorial .hv-credentials { margin-top: 1.5rem; align-items: start; font-variant-numeric: tabular-nums; }
.editorial .hv-credentials b { line-height: 1.25; }
.editorial .hv-credentials span { line-height: 1.45; }
.editorial .hv-skills { padding-top: clamp(4.5rem,7.5vw,6.5rem); padding-bottom: clamp(4.5rem,7.5vw,6.5rem); }
.editorial .hv-skill h2 { text-wrap: balance; }
.editorial .hv-skill-copy .lede { line-height: 1.65; margin-bottom: 1.25rem; }
.editorial .hv-skill-copy .cta-row { margin-top: 1.5rem; gap: 1rem; align-items: center; }
.editorial .hv-price b { display: block; line-height: 1; margin: 0; vertical-align: baseline; }
.editorial .hv-evidence { margin-top: clamp(3rem,5vw,4.5rem); padding-top: 1.5rem; }
.editorial .hv-evidence-intro { gap: 1.5rem 2rem; margin-bottom: 1.5rem; }
.editorial .hv-evidence-intro p:not(.eyebrow) { line-height: 1.6; }
.editorial .tl { padding-top: 2.5rem; padding-bottom: 2.5rem; gap: clamp(2rem,5vw,5rem); }
.editorial .tl::before { top: 3rem; }
.editorial .tl .yr { font-size: clamp(2.6rem,4vw,3.6rem); margin-bottom: .6rem; }
.editorial .tl h3 { line-height: 1.12; text-wrap: balance; }
.editorial .tl p { max-width: 34rem; line-height: 1.65; }
.editorial .tl .tl-archive-years { font-size: .85rem; color: #5b6474; margin-top: 1rem; line-height: 1.6; }
.editorial #timeline .tl-media.pair { gap: 1.2rem; align-items: start; }
.editorial .tl-note { max-width: 58rem; }
.editorial .hv-partner { padding-top: clamp(5rem,8vw,7rem); padding-bottom: clamp(4rem,7vw,6rem); }
.editorial .hv-partner h2 { text-wrap: balance; }
.editorial .hv-partner .lede { font-size: 1.15rem; line-height: 1.6; margin-bottom: 1rem; }
.editorial .hv-partner p:not(.eyebrow) { line-height: 1.65; }
.editorial .footer-mini .legal { line-height: 1.6; }
@media(max-width:680px) {
 .editorial .hv-nav { gap: .6rem; }
 .editorial .hv-nav a { font-size: .875rem; min-height: 64px; padding-block: .4rem; }
 .editorial .hero h1 { font-size: clamp(2.5rem,9.6vw,3.8rem); }
 .editorial .hero h1 .sub { font-size: 1.1rem; line-height: 1.35; margin-top: 1rem; }
 .editorial .hero .lede { font-size: 1rem; }
 .editorial .hero-photo { margin-top: 1rem; }
 .editorial .hv-skill h2 { font-size: clamp(2.2rem,9.5vw,2.65rem); }
 .editorial .hv-skill-copy .cta-row { flex-wrap: nowrap; }
 .editorial .hv-skill-copy .cta-row .btn { width: auto; flex: 1; font-size: 1rem; padding: .9rem 1rem; }
 .editorial .hv-evidence-intro { gap: 1rem; }
 .editorial .tl { padding-top: 2rem; padding-bottom: 2rem; gap: 1.25rem; }
 .editorial .tl::before { top: 2.4rem; }
 .editorial .tl p { font-size: 1rem; }
 .editorial .tl h3 { font-size: 1.65rem; }
 .editorial .hv-partner h2 { font-size: clamp(2.35rem,9.5vw,2.8rem); }
 .editorial .hv-partner .lede { font-size: 1.1rem; }
}
@media(max-width:360px) {
 .editorial .hv-credentials b { font-size: 1rem; white-space: nowrap; }
 .editorial .hv-credentials li { padding-inline: .2rem; }
 .editorial .hv-credentials span { font-size: .69rem; }
}
/* Clip decorative marquee bleed at the page edge, not the readable content. */
.editorial #main { overflow: clip; }

/* t63: permanently visible career story, fewer labels and comfortably readable type. */
.editorial .hero .lede, .editorial .hv-skill-copy .lede,
.editorial .hv-points, .editorial .tl p,
.editorial .hv-partner p:not(.eyebrow) { font-size: 1.125rem; line-height: 1.65; }
.editorial .hv-points li { font-weight: 500; }
.editorial .hv-nav a { font-size: 1rem; }
.editorial .eyebrow { font-size: .875rem; line-height: 1.5; }
.editorial .hv-note { font-size: .9375rem; }
.editorial .hv-evidence { margin-top: clamp(3rem,6vw,5rem); padding-top: clamp(2rem,4vw,3rem); }
.editorial .career-heading { max-width: 58rem; margin-bottom: 2.5rem; }
.editorial .career-heading h2 { font-size: clamp(2.7rem,5.5vw,4.7rem); line-height: 1.05; max-width: 15em; margin: 0 0 1.1rem; text-wrap: balance; }
.editorial .career-heading p { font-size: clamp(1.2rem,2.1vw,1.6rem); line-height: 1.5; max-width: 36em; color: #344155; margin: 0; }
.editorial .career-story { border-top: 1px solid rgba(10,20,36,.18); }
.editorial .tl { padding-block: 2.5rem; }
.editorial .tl h3 { font-size: clamp(1.85rem,2.8vw,2.5rem); }
.editorial .tl .tl-archive-years { font-size: 1rem; }
.editorial #timeline figcaption { font-size: 1rem; line-height: 1.5; font-weight: 500; margin-top: 1rem; }
.editorial .footer-mini .fm-links, .editorial .footer-mini .legal { font-size: .9375rem; line-height: 1.6; }
.editorial .footer-mini .fm-links { gap: .6rem 1.5rem; }
.editorial .footer-mini { padding-block: 1.5rem; }
@media(max-width:680px) {
 .editorial .hv-nav a { font-size: .9375rem; min-height: 68px; }
 .editorial .hv-nav a span { font-size: .75rem; }
 .editorial .career-heading { margin-bottom: 1.75rem; }
 .editorial .career-heading h2 { font-size: clamp(2.35rem,10.5vw,3rem); }
 .editorial .career-heading p { font-size: 1.2rem; }
 .editorial .tl { padding-block: 2rem; gap: 1.5rem; }
 .editorial .tl h3 { font-size: 1.85rem; }
 .editorial .tl .yr { font-size: 2.7rem; }
 .editorial .hero-photo { margin-top: .5rem; }
}

/* t73: offer-copy legibility only; original two-column layout and other sections unchanged. */
.editorial #skill .hv-skill-copy .lede { font-size: 1.25rem; line-height: 1.6; }
.editorial #skill .hv-points { font-size: 1.1875rem; line-height: 1.6; gap: .8rem; }

/* t74: deliberate offer-headline grouping and readable phone artwork only. */
.editorial #skill #skill-title .accent { display: block; text-wrap: balance; }
.editorial #skill .hv-bundle picture { display: block; }
@media (max-width: 680px) {
 .editorial #skill .hv-bundle img { transform: none; }
}

/* t89: mirror the sales offer's artwork-left composition, with natural DOM reading order. */
.editorial #skill .hv-skill-top {
 grid-template-columns: 1.1fr .9fr;
 gap: clamp(1.8rem, 5vw, 4rem);
 align-items: center;
 max-width: 1080px;
 margin-inline: auto;
}
@media (max-width: 980px) {
 .editorial #skill .hv-skill-top { grid-template-columns: 1fr; }
 .editorial #skill .hv-bundle { width: 100%; max-width: 620px; margin-inline: auto; }
}
/* t97: standalone story section (career timeline) while the VSL Skill offer is offline */
.hv-story .hv-evidence, .editorial .hv-story .hv-evidence { margin-top: 0; border-top: 0; padding-top: 0; }
