:root {
  color-scheme: dark;
  --bg: oklch(.145 .024 258);
  --bg-deep: oklch(.105 .018 258);
  --surface: oklch(.18 .025 258);
  --surface-raised: oklch(.23 .03 258);
  --ink: oklch(.965 .008 235);
  --muted: oklch(.79 .026 245);
  --subtle: oklch(.71 .032 245);
  --line: oklch(.69 .06 230 / .22);
  --accent: oklch(.85 .105 211);
  --accent-bright: oklch(.94 .04 211);
  --accent-ink: oklch(.17 .028 240);
  --warning: oklch(.81 .135 70);
  --warning-line: oklch(.81 .135 70 / .3);
  --warning-wash: oklch(.81 .135 70 / .06);
  --success: oklch(.8 .13 166);
  --error: oklch(.8 .12 28);
  --glow: oklch(.45 .09 240 / .22);
  --shadow: oklch(.035 .01 258 / .72);
  --display: 'Plus Jakarta Sans', sans-serif;
  --body: 'Inter', sans-serif;
  --gutter: clamp(22px, 5vw, 96px);
  --max: 1460px;
  --ease: cubic-bezier(.16, 1, .3, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; scrollbar-color: var(--surface-raised) var(--bg-deep); }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 16px/1.7 var(--body); -webkit-font-smoothing: antialiased; }
::selection { background: var(--accent); color: var(--accent-ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; color: inherit; border: 0; }
button:disabled { cursor: not-allowed; opacity: .6; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
img, video { display: block; max-width: 100%; height: auto; }
p, h1, h2, h3, h4, figure { margin: 0; }
p { color: var(--muted); }
p + p { margin-top: 18px; }
strong { color: var(--ink); font-weight: 600; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 550; letter-spacing: -.042em; line-height: 1.12; text-wrap: balance; }
h2 { font-size: clamp(40px, 4.7vw, 76px); }
h3 { font-size: clamp(25px, 2.5vw, 38px); }
[hidden] { display: none !important; }
.wrap { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin-inline: auto; }
.section { padding-block: clamp(84px, 9vw, 150px); }
.icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.svg-defs, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 18px; background: var(--accent); color: var(--accent-ink); }
.skip:focus { top: 16px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 54px; padding: 14px 22px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); font-size: 14px; font-weight: 600; line-height: 1.4; transition: background .25s, border-color .25s, transform .25s var(--ease); }
.button .icon { width: 18px; }
.button.primary { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.button:hover:not(:disabled) { transform: translateY(-2px); border-color: var(--accent); }
.button.primary:hover:not(:disabled) { background: var(--accent-bright); }
.button.small { min-height: 44px; padding: 9px 15px; font-size: 13px; }
.text-link, .hero-secondary { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: var(--accent); font-size: 14px; font-weight: 600; }
.text-link .icon, .hero-secondary .icon { width: 17px; transition: transform .25s var(--ease); }
.text-link:hover .icon, .hero-secondary:hover .icon { transform: translateX(4px); }
.micro { color: var(--subtle); font-size: 13px; }

.header { position: sticky; top: 0; z-index: 40; background: oklch(.105 .018 258 / .92); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header::after { content: ''; position: absolute; bottom: -1px; left: 0; width: calc(var(--page-progress, 0) * 100%); height: 1px; background: var(--accent); pointer-events: none; }
.nav { height: 76px; display: flex; align-items: center; gap: 34px; }
.brand { display: block; flex: 0 0 auto; width: 122px; }
.brand img { width: 100%; }
.nav nav { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.nav nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 13px; }
.nav nav a:hover { color: var(--accent); }
.nav-cta { white-space: nowrap; }
.menu-button { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; }

.hero { position: relative; isolation: isolate; overflow: clip; min-height: min(900px, calc(100svh - 76px)); background: radial-gradient(ellipse at 80% 43%, oklch(.39 .095 233 / .32), transparent 49%), radial-gradient(ellipse at 10% 92%, oklch(.31 .075 226 / .24), transparent 48%), linear-gradient(145deg, var(--bg-deep), var(--bg)); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: -15%; pointer-events: none; background: radial-gradient(ellipse at 72% 39%, oklch(.48 .11 215 / .17), transparent 43%), radial-gradient(ellipse at 35% 75%, oklch(.36 .08 260 / .13), transparent 45%); transform: translate3d(0, var(--ambient-shift, 0px), 0); }
html[data-motion='active'] .hero::before { animation: ambient-breathe 18s ease-in-out infinite alternate; }
#reading-field { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; opacity: .86; pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(45px, 6vw, 120px); padding-block: clamp(88px, 10vw, 148px) 70px; }
.hero-copy { max-width: 610px; }
.audience, .chapter-kicker { display: flex; align-items: center; gap: 10px; color: var(--accent); font-size: 13px; font-weight: 600; margin-bottom: 26px; }
.status-dot { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--accent); }
h1 { font-size: clamp(43px, 4.1vw, 67px); max-width: 690px; }
.hero-description { max-width: 52ch; margin-top: 30px; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.68; }
.hero-action { margin-top: 37px; }
.hero-action .micro { margin-top: 13px; }
.hero-secondary { margin-top: 20px; }
.hero-proof { position: relative; min-width: 0; padding: clamp(24px, 3vw, 42px); border: 1px solid var(--line); border-top-color: var(--accent); border-radius: 9px; background: linear-gradient(145deg, var(--surface-raised), var(--bg-deep) 64%); box-shadow: 0 42px 90px -32px var(--shadow); transform: perspective(1400px) rotateY(var(--proof-ry, 0deg)) rotateX(var(--proof-rx, 0deg)); transition: transform .6s var(--ease); }
.hero-proof::before { content: ''; position: absolute; inset: 8px; border: 1px solid var(--line); border-radius: 5px; pointer-events: none; }
.proof-top { display: flex; justify-content: space-between; gap: 15px; color: var(--subtle); font-size: 12px; font-weight: 600; }
.proof-top span:first-child { color: var(--accent); }
.proof-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 39px; }
.proof-value { min-width: 0; padding-bottom: 29px; border-bottom: 1px solid var(--line); }
.proof-value + .proof-value { padding-left: 24px; border-left: 1px solid var(--line); }
.proof-value > span, .proof-value small { display: block; color: var(--muted); font-size: 13px; }
.proof-value strong { display: block; margin-block: 11px; color: var(--ink); font: 500 clamp(29px, 3vw, 47px)/1.2 var(--display); letter-spacing: -.05em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.proof-observed strong { color: var(--warning); }
.proof-value small { color: var(--subtle); line-height: 1.5; }
.proof-finding { display: flex; gap: 15px; align-items: flex-start; padding-block: 25px 30px; }
.finding-mark { width: 9px; height: 9px; flex: 0 0 auto; margin-top: 8px; border: 2px solid var(--warning); border-radius: 50%; box-shadow: 0 0 0 5px var(--warning-wash); }
.proof-finding p { font-size: 14px; line-height: 1.6; }
.proof-finding strong { color: var(--warning); }
.proof-image { display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: var(--bg-deep); text-align: left; }
.proof-image img { width: 100%; }
.proof-image > span { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 13px; color: var(--muted); font-size: 12px; }
.proof-image .icon { width: 16px; }
.proof-image:hover { border-color: var(--accent); }
.hero-floor { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 67px; border-top: 1px solid var(--line); color: var(--subtle); font-size: 13px; }
.motion-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; color: var(--muted); background: none; font-size: 13px; }
.motion-toggle .icon { width: 14px; }
.motion-toggle:hover { color: var(--accent); }

.section-intro { display: flex; justify-content: space-between; align-items: end; gap: 70px; margin-bottom: 52px; }
.section-intro > p { max-width: 42ch; font-size: 16px; }
.calculator-section { background: var(--bg-deep); border-top: 1px solid var(--line); }
.calculator-section .wrap { display: grid; grid-template-columns: .78fr 1.22fr; column-gap: clamp(50px, 7vw, 130px); }
.calculator-section .section-intro { display: block; margin: 0; }
.calculator-section .section-intro h2 { font-size: clamp(42px, 4.6vw, 70px); }
.calculator-section .section-intro p { margin-top: 28px; }
.calculator { border-top: 1px solid var(--accent); padding-top: 31px; }
.formula { display: grid; grid-template-columns: 1fr 18px 1fr 18px .5fr; align-items: end; gap: 16px; }
.number-field, .fixed-factor { display: flex; flex-direction: column; color: var(--muted); font-size: 13px; }
.number-field input { width: 100%; min-width: 0; min-height: 59px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: 500 clamp(30px, 3vw, 44px)/1.1 var(--display); font-variant-numeric: tabular-nums; }
.operator { color: var(--subtle); font-size: 25px; padding-bottom: 15px; }
.equals { display: none; }
.fixed-factor strong { font: 500 44px/1.45 var(--display); }
.calc-total { display: flex; grid-column: 1/-1; align-items: baseline; gap: 24px; padding-top: 25px; }
.calc-total output { color: var(--accent); font: 500 clamp(68px, 8vw, 126px)/1.08 var(--display); letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.calc-total > span { color: var(--muted); font-size: 16px; }
.calc-help { max-width: 65ch; margin-top: 18px; font-size: 13px; }
.five-points { display: grid; grid-template-columns: repeat(5, 1fr); grid-column: 1/-1; gap: 22px; margin-top: 60px; padding-top: 30px; border-top: 1px solid var(--line); }
.five-points .icon { width: 19px; color: var(--accent); }
.five-points h3 { margin-top: 13px; font-size: 16px; letter-spacing: -.015em; }
.five-points p { margin-top: 8px; font-size: 13px; line-height: 1.55; }
.calc-question { display: flex; justify-content: space-between; align-items: center; gap: 30px; grid-column: 1/-1; margin-top: 45px; padding-top: 23px; border-top: 1px solid var(--line); font-size: 16px; }

.thesis { background: radial-gradient(ellipse at 50% 100%, oklch(.43 .09 226 / .21), transparent 66%), var(--bg); }
.thesis-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 50px 110px; }
.thesis h2 { max-width: 11ch; }
.thesis-explanation { max-width: 52ch; padding-top: 24px; }
.thesis-explanation p { font-size: 17px; }
.source-path { display: grid; grid-template-columns: 1fr .24fr 1fr .24fr 1fr; grid-column: 1/-1; align-items: center; margin-top: 27px; }
.path-node { display: flex; flex-direction: column; min-height: 158px; padding: 27px; border: 1px solid var(--line); background: linear-gradient(150deg, var(--surface), var(--bg-deep)); }
.path-node .icon { width: 21px; margin-bottom: auto; color: var(--accent); }
.path-node span { color: var(--ink); font: 550 21px/1.2 var(--display); }
.path-node small { margin-top: 5px; color: var(--muted); font-size: 13px; }
.path-difference { border-color: var(--warning); }
.path-difference .icon { color: var(--warning); }
.path-connector { position: relative; height: 1px; background: var(--line); }
.path-connector::after { content: ''; position: absolute; inset: 0; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .85s var(--ease); }
.source-path.is-visible .path-connector::after { transform: scaleX(1); }
.path-connector.divergent::after { background: var(--warning); transition-delay: .45s; }
.path-connector span { display: block; width: 6px; height: 6px; margin-top: -2px; margin-left: 50%; border-radius: 50%; background: var(--accent); }
.path-connector.divergent span { background: var(--warning); }
.path-note { grid-column: 1/-1; margin-top: 19px; font-size: 13px; }

#diferencas { background: radial-gradient(ellipse at 96% 18%, oklch(.32 .075 225 / .13), transparent 35%), radial-gradient(ellipse at 4% 78%, oklch(.32 .07 255 / .11), transparent 40%), var(--bg); }
.record-sequence { position: relative; border-top: 1px solid var(--line); }
.record-sequence::before, .record-sequence::after { content: ''; position: absolute; top: 0; left: 0; width: 1px; pointer-events: none; }
.record-sequence::before { height: 100%; background: var(--line); }
.record-sequence::after { height: calc(var(--records-progress, 0) * 100%); background: var(--accent); }
.record-chapter { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 28px clamp(34px, 5vw, 90px); align-items: center; padding: clamp(58px, 7vw, 108px) 0 clamp(58px, 7vw, 108px) clamp(20px, 2.3vw, 36px); border-bottom: 1px solid var(--line); }
.record-chapter::before { content: ''; position: absolute; top: -1px; left: 0; width: min(18vw, 180px); height: 1px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 1s var(--ease); }
.record-chapter.is-visible::before { transform: scaleX(1); }
.record-story { max-width: 540px; }
.record-number { display: block; margin-bottom: 23px; color: var(--accent); font-size: 13px; font-weight: 600; }
.illustrative { color: var(--subtle); font-size: 12px; }
.record-story .illustrative { display: inline-block; margin-bottom: 23px; padding: 5px 10px; border: 1px solid var(--line); }
.record-story h3 { font-size: clamp(33px, 3.4vw, 52px); }
.record-story > p { max-width: 52ch; margin-top: 22px; font-size: 16px; }
.record-story .consequence { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink); }
.record-evidence { position: relative; padding: clamp(21px, 3vw, 37px); border: 1px solid var(--line); border-top-color: var(--accent); border-radius: 5px; background: linear-gradient(140deg, var(--surface), var(--bg-deep)); box-shadow: 0 25px 65px -32px var(--shadow); transition: transform .85s var(--ease), opacity .85s var(--ease), border-color .6s; }
html.motion-ready[data-motion='active'] .record-chapter:not(.is-visible) .record-evidence { transform: translateY(26px); opacity: .72; }
.record-chapter.is-visible .record-evidence { border-top-color: var(--warning); }
.evidence-head { display: flex; align-items: center; gap: 10px; padding-bottom: 21px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.evidence-head .icon { width: 17px; color: var(--accent); }
.evidence-dot { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: var(--warning); }
.value-row { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-top: 22px; }
.value-row > span { color: var(--muted); font-size: 13px; }
.value-row > strong { text-align: right; font: 550 clamp(22px, 2.4vw, 34px)/1.2 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.value-row.observed > strong { color: var(--warning); }
.record-verdict { display: flex; align-items: flex-start; gap: 12px; margin-top: 26px; padding: 15px; border: 1px solid var(--warning-line); background: var(--warning-wash); }
.record-verdict .icon { width: 18px; margin-top: 2px; color: var(--warning); }
.record-verdict strong { display: block; color: var(--warning); font-size: 14px; }
.record-verdict span { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.record-foot { margin-top: 15px; font-size: 12px; }
.source-breakdown { display: grid; grid-template-columns: .38fr 1fr; grid-column: 1/-1; gap: 22px 55px; margin-top: 12px; padding: 34px; border: 1px solid var(--line); background: var(--bg-deep); }
.source-breakdown h4 { margin-top: 10px; font-size: 24px; }
.source-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.source-values > div { display: flex; flex-direction: column; justify-content: center; padding: 16px; border-left: 1px solid var(--line); }
.source-values span { color: var(--muted); font-size: 12px; }
.source-values strong { margin-top: 8px; font: 550 clamp(17px, 1.6vw, 25px)/1.2 var(--display); font-variant-numeric: tabular-nums; white-space: nowrap; }
.source-values > div:nth-child(2) strong, .source-values > div:nth-child(3) strong { color: var(--warning); }
.source-breakdown > p { grid-column: 2; font-size: 13px; }
.section-end { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 40px; padding-top: 25px; border-top: 1px solid var(--line); }
.section-end p { font-size: 15px; }

.product-section { background: radial-gradient(ellipse at 90% 10%, oklch(.38 .085 226 / .13), transparent 33%), radial-gradient(ellipse at 7% 73%, oklch(.36 .07 252 / .1), transparent 38%), var(--bg-deep); border-block: 1px solid var(--line); }
.product-tour { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(40px, 7vw, 110px); min-height: 560px; padding-block: 68px; border-top: 1px solid var(--line); }
.product-tour.reverse { grid-template-columns: 1.3fr .7fr; }
.product-tour.reverse .tour-copy { grid-column: 2; grid-row: 1; }
.product-tour.reverse .tour-visual { grid-column: 1; grid-row: 1; }
.step-number { display: block; margin-bottom: 24px; color: var(--accent); font-size: 14px; font-weight: 600; }
.step-pair h3 { max-width: 15ch; font-size: clamp(30px, 3.1vw, 47px); }
.step-pair p { max-width: 43ch; margin-top: 25px; font-size: 16px; }
.tour-copy > .text-link { margin-top: 22px; }
.tour-conclusion { margin-top: 25px; font: 500 21px/1.5 var(--display); }
.tour-visual { min-width: 0; transition: transform .85s var(--ease), opacity .85s var(--ease); }
html.motion-ready[data-motion='active'] .product-tour:not(.is-visible) .tour-visual { transform: translateY(28px); opacity: .72; }
.image-open { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--bg); box-shadow: 0 34px 75px -40px var(--shadow); }
.image-open img { width: 100%; }
.expand-label { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--line); background: var(--bg-deep); color: var(--ink); font-size: 12px; }
.expand-label .icon { width: 15px; }
.image-open:hover { border-color: var(--accent); }
.tour-visual figcaption { margin-top: 14px; color: var(--muted); font-size: 12px; }
.demo { margin-top: 43px; padding-top: 43px; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.demo-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 26px; }
.demo-heading h3 { font-size: 32px; }
.demo-heading p { margin-top: 11px; font-size: 15px; }
.read-only { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 13px; white-space: nowrap; }
.read-only .icon { width: 15px; }
.demo video { width: 100%; max-width: 1200px; margin-inline: auto; border: 1px solid var(--line); border-radius: 6px; }
.demo > .micro { max-width: 70ch; margin: 16px auto 0; text-align: center; }

.session-section { background: radial-gradient(ellipse at 7% 80%, oklch(.44 .09 226 / .22), transparent 54%), var(--bg); }
.session-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px, 9vw, 150px); }
.session-duration { display: flex; align-items: center; gap: 9px; margin-bottom: 25px; color: var(--accent); font-size: 13px; }
.session-duration .icon { width: 16px; }
.session-layout > div:first-child > p { max-width: 52ch; margin-top: 25px; font-size: 17px; }
.session-layout .button { margin-top: 30px; }
.session-layout > div:first-child > .session-fit { margin-top: 38px; padding-top: 19px; border-top: 1px solid var(--line); color: var(--subtle); font-size: 14px; }
.session-deliverables > div { display: flex; align-items: flex-start; gap: 18px; padding-block: 25px; border-bottom: 1px solid var(--line); }
.session-deliverables > div:first-child { padding-top: 0; }
.session-deliverables > div { transition: transform .7s var(--ease), opacity .7s var(--ease); }
html.motion-ready[data-motion='active'] .session-deliverables:not(.is-visible) > div { transform: translateY(15px); opacity: .7; }
.session-deliverables > div:nth-child(2) { transition-delay: .1s; }
.session-deliverables > div:nth-child(3) { transition-delay: .2s; }
.session-deliverables .icon { width: 19px; margin-top: 4px; color: var(--accent); }
.session-deliverables h3 { font-size: 23px; }
.session-deliverables p { margin-top: 9px; font-size: 15px; }

.faq-section { border-block: 1px solid var(--line); }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 110px); }
.faq-layout > div:first-child > p { margin-top: 25px; font-size: 16px; }
.faq-item { padding-block: 23px; border-bottom: 1px solid var(--line); }
.faq-item:first-child { padding-top: 0; }
.faq-item h3 { color: var(--ink); font: 600 17px/1.35 var(--body); letter-spacing: 0; }
.faq-item p { max-width: 62ch; margin-top: 10px; font-size: 15px; }

.booking-section { position: relative; overflow: clip; background: var(--bg-deep); }
.booking-section::before { content: ''; position: absolute; width: 900px; height: 900px; top: 140px; left: -520px; border: 1px solid var(--line); border-radius: 50%; pointer-events: none; }
.booking-layout { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 7vw, 120px); }
.booking-copy { position: sticky; top: 120px; align-self: start; }
.booking-copy h2 { font-size: clamp(52px, 5.8vw, 90px); }
.booking-copy > p { max-width: 40ch; margin-top: 30px; font-size: 17px; }
.booking-meta { display: flex; gap: 25px; margin-block: 29px 15px; color: var(--muted); font-size: 14px; }
.booking-meta span { display: flex; align-items: center; gap: 8px; }
.booking-meta .icon { width: 16px; }
.booking-form-container { padding: clamp(25px, 3vw, 43px); border: 1px solid var(--line); border-top-color: var(--accent); background: var(--surface); }
.booking-form-container > h3 { font-size: 29px; }
.booking-form-container > p { margin-top: 12px; font-size: 15px; }
.integration-notice { padding: 15px 17px; border: 1px solid var(--warning-line); background: var(--warning-wash); color: var(--warning); }
.form-required { margin-block: 25px 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 18px; }
.form-grid > label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.form-grid > label > span { color: var(--subtle); }
.form-grid .full { grid-column: 1/-1; }
input:not([type='checkbox']), select { width: 100%; min-width: 0; min-height: 49px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 3px; background: var(--bg-deep); color: var(--ink); font-size: 16px; caret-color: var(--accent); }
input::placeholder { color: var(--subtle); opacity: 1; }
select { cursor: pointer; }
.number-field input { min-height: 59px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; font-size: clamp(30px, 3vw, 44px); }
.channels-field { min-width: 0; margin: 27px 0; padding: 0; border: 0; }
.channels-field legend { margin-bottom: 14px; font-size: 14px; }
.channels-field legend span { color: var(--subtle); }
.channel-options { display: flex; flex-wrap: wrap; gap: 8px; }
.channel-options label { position: relative; display: inline-flex; cursor: pointer; }
.channel-options input { position: absolute; left: 12px; top: 15px; width: 15px; height: 15px; margin: 0; accent-color: var(--accent); }
.channel-options span { display: block; min-height: 46px; padding: 10px 14px 10px 35px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: 13px; }
.channel-options input:checked + span { border-color: var(--accent); background: oklch(.85 .105 211 / .06); color: var(--ink); }
.channel-options input:focus-visible { outline: none; }
.channel-options label:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 3px; }
.consent { display: flex; align-items: flex-start; gap: 12px; margin-block: 25px; color: var(--muted); font-size: 13px; cursor: pointer; }
.consent input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 4px; accent-color: var(--accent); }
.consent a { color: var(--ink); text-decoration: underline; }
.submit-button { display: flex; justify-content: space-between; width: 100%; }
form > .micro { margin-top: 13px; text-align: center; }
#form-status { margin-top: 17px; color: var(--error); font-size: 13px; }
#form-status:empty { margin: 0; }
.success-icon { width: 44px; height: 44px; margin-block: 30px; color: var(--success); }
#success h4 { margin-top: 35px; font-size: 24px; }
#success p { margin-top: 17px; }

.footer { padding-block: 0 30px; }
.footer-top { display: flex; align-items: center; gap: 30px; padding-block: 30px; border-top: 1px solid var(--line); }
.footer-top > p { font-size: 13px; }
.footer-privacy { margin-left: auto; color: var(--muted); font-size: 13px; }
.back-top { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; }
.back-top .icon { width: 17px; transform: rotate(-90deg); }
.footer-wordmark { display: flex; justify-content: center; align-items: center; height: clamp(150px, 20vw, 300px); overflow: hidden; border-block: 1px solid var(--line); background: radial-gradient(ellipse at 50% 100%, var(--glow), transparent 65%); }
.footer-wordmark img { width: 77%; opacity: .21; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 23px; color: var(--subtle); font-size: 12px; }
.mobile-cta { display: none; }
dialog { width: min(96vw, 1550px); max-height: 94svh; padding: 20px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg-deep); color: var(--ink); }
dialog::backdrop { background: oklch(.07 .014 258 / .95); }
body:has(dialog[open]) { overflow: hidden; }
.image-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 15px; }
.image-dialog-header h2 { font-size: 21px; }
.image-dialog-header button { display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; background: var(--surface); }
.image-scroll { max-height: 72svh; overflow: auto; }
.image-scroll img { width: 100%; max-width: none; min-width: 950px; }
dialog > p { margin-top: 14px; font-size: 13px; }
.noscript { padding: 22px; color: var(--warning); text-align: center; }

@keyframes proof-arrive { from { opacity: .35; transform: perspective(1400px) translateY(26px) rotateY(-2deg); } to { opacity: 1; transform: perspective(1400px) translateY(0); } }
@keyframes finding-focus { from { opacity: .45; } to { opacity: 1; } }
@keyframes ambient-breathe { from { opacity: .68; transform: translate3d(-10px, var(--ambient-shift, 0px), 0) scale(1); } to { opacity: 1; transform: translate3d(14px, var(--ambient-shift, 0px), 0) scale(1.05); } }
@media (max-width: 1250px) {
  .nav { gap: 24px; }.nav nav { gap: 23px; }
  .hero-grid { gap: 45px; }.proof-value strong { font-size: 33px; }
  .calculator-section .wrap { column-gap: 60px; }.five-points { grid-template-columns: repeat(3, 1fr); }
  .source-breakdown { grid-template-columns: 1fr; }.source-breakdown > p { grid-column: 1; }
  .session-layout, .faq-layout, .booking-layout { gap: 60px; }
}
@media (max-width: 950px) {
  :root { --gutter: 34px; }
  .nav { height: 72px; }.nav nav { gap: 16px; }.nav nav a { font-size: 12px; }.nav nav a:last-child { display: none; }
  .hero { min-height: 0; }.hero-grid { grid-template-columns: 1fr; gap: 54px; padding-block: 80px 50px; }
  .hero-copy { max-width: 700px; }.hero-proof { max-width: 760px; }.proof-value strong { font-size: 42px; }
  .calculator-section .wrap { grid-template-columns: 1fr; gap: 35px; }.calculator-section .section-intro { display: flex; align-items: end; gap: 35px; }.calculator-section .section-intro p { margin-top: 0; }
  .five-points { grid-template-columns: repeat(5, 1fr); gap: 15px; margin-top: 22px; }.five-points p { font-size: 12px; }
  .thesis-layout { gap: 40px; }.source-path { grid-template-columns: 1fr .12fr 1fr .12fr 1fr; }.path-node { min-height: 150px; padding: 19px; }
  .record-chapter { grid-template-columns: 1fr; gap: 34px; }
  .product-tour, .product-tour.reverse { gap: 35px; min-height: 450px; }.session-layout, .faq-layout { gap: 45px; }
  .booking-layout { grid-template-columns: .85fr 1.15fr; gap: 35px; }.booking-form-container { padding: 25px; }
}
@media (max-width: 600px) {
  :root { --gutter: 22px; }
  html { scroll-padding-top: 78px; }.section { padding-block: 74px; }
  .nav { height: 68px; gap: 8px; }.brand { width: 99px; }.nav-cta { margin-left: auto; gap: 8px; padding-inline: 10px !important; font-size: 12px !important; }.nav-cta .icon { width: 15px; }.menu-button { display: flex; }
  .nav nav { display: none; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: 3px; margin: 0; padding: 15px var(--gutter); border-bottom: 1px solid var(--line); background: var(--surface); }
  .nav nav.is-open { display: flex; }.nav nav a, .nav nav a:last-child { display: flex; width: 100%; font-size: 15px; }
  .hero-grid { gap: 34px; padding-block: 60px 30px; }.audience { margin-bottom: 21px; font-size: 12px; }
  h1 { font-size: clamp(38px, 10.4vw, 55px); line-height: 1.1; }
  .hero-description { margin-top: 23px; font-size: 16px; }.hero-action { margin-top: 27px; }.hero-action .button { width: 100%; }.hero-action .micro { font-size: 12px; }
  .hero-secondary { margin-top: 12px; font-size: 13px; }
  .hero-proof { padding: 22px; transform: none; }.hero-proof::before { inset: 5px; }.proof-top { font-size: 12px; }.proof-comparison { gap: 10px; margin-top: 24px; }
  .proof-value + .proof-value { padding-left: 12px; }.proof-value strong { font-size: clamp(23px, 6vw, 31px); }.proof-value > span, .proof-value small { font-size: 12px; }.proof-value small { line-height: 1.4; }
  .proof-finding { padding-block: 21px; }.proof-finding p { font-size: 13px; }.proof-image > span { font-size: 12px; }
  .hero-floor { min-height: 60px; font-size: 12px; }.motion-toggle { font-size: 12px; }
  .section-intro { display: block; margin-bottom: 32px; }.section-intro > p { margin-top: 18px; font-size: 16px; }.section-intro h2, .calculator-section .section-intro h2 { font-size: 39px; }
  .calculator-section .section-intro { display: block; }.calculator-section .section-intro p { margin-top: 18px; }.calculator { padding-top: 25px; }
  .formula { grid-template-columns: 1fr 12px 1fr 12px 35px; gap: 7px; }.number-field, .fixed-factor { font-size: 12px; }.number-field input, .number-field input:not([type='checkbox']) { font-size: 30px; }.fixed-factor strong { font-size: 35px; }.operator { padding-bottom: 14px; font-size: 20px; }
  .calc-total { flex-wrap: wrap; gap: 5px 15px; }.calc-total output { font-size: clamp(64px, 18vw, 85px); }.calc-total > span { font-size: 15px; }.calc-help { font-size: 13px; }
  .five-points { grid-template-columns: 1fr; gap: 17px; margin-top: 15px; }.five-points > div { display: grid; grid-template-columns: 22px 1fr; gap: 3px 12px; }.five-points .icon { grid-row: 1/3; margin-top: 3px; }.five-points h3 { margin-top: 0; }.five-points p { grid-column: 2; margin-top: 0; font-size: 14px; }
  .calc-question { display: block; margin-top: 27px; font-size: 15px; }.calc-question .text-link { margin-top: 8px; }
  .thesis-layout { grid-template-columns: 1fr; gap: 26px; }.thesis h2 { max-width: 12ch; }.thesis-explanation { padding: 0; }.thesis-explanation p { font-size: 16px; }
  .source-path { grid-template-columns: 1fr; margin-top: 0; }.path-node { display: grid; grid-template-columns: 24px 1fr; gap: 3px 13px; min-height: 0; padding: 21px; }.path-node .icon { grid-row: 1/3; margin: 3px 0 0; }.path-node small { margin: 0; }.path-connector { width: 1px; height: 26px; margin-left: 30px; }.path-connector::after { transform: scaleY(0); transform-origin: top; }.source-path.is-visible .path-connector::after { transform: scaleY(1); }.path-connector span { margin-top: 10px; margin-left: -2px; }.path-note { margin-top: 22px; }
  .record-chapter { gap: 28px; padding: 65px 0 65px 16px; }.record-story h3 { font-size: 34px; }.record-story > p { font-size: 16px; }.record-evidence { padding: 21px; }.value-row { flex-wrap: wrap; gap: 4px 15px; }.value-row > strong { font-size: 26px; }.record-verdict strong { font-size: 14px; }.record-verdict span { font-size: 13px; }
  .source-breakdown { gap: 20px; margin-top: 36px; padding: 22px; }.source-values { grid-template-columns: 1fr 1fr; }.source-values > div { min-height: 75px; padding: 12px; }.source-values strong { font-size: 19px; }.source-values span { font-size: 12px; }
  .section-end { display: block; }.section-end .text-link { margin-top: 13px; }
  .product-tour, .product-tour.reverse { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding-block: 48px; }.product-tour.reverse .tour-copy, .product-tour.reverse .tour-visual { grid-column: auto; grid-row: auto; }
  .step-pair h3 { font-size: 35px; }.step-pair p { font-size: 16px; }.tour-visual picture { display: block; max-width: 330px; margin-inline: auto; }.tour-visual:has(picture) .image-open { max-width: 330px; margin-inline: auto; }.tour-visual figcaption { text-align: center; }
  .demo { margin-top: 25px; padding-top: 28px; }.demo-heading { display: block; }.demo-heading h3 { font-size: 27px; }.demo-heading p { font-size: 15px; }.read-only { margin-top: 14px; }.demo > .micro { text-align: left; }
  .session-layout, .faq-layout, .booking-layout { grid-template-columns: 1fr; gap: 43px; }.session-layout h2 { font-size: 43px; }.session-layout > div:first-child > p { font-size: 16px; }.session-layout .button { width: 100%; }
  .faq-layout h2 { font-size: 40px; }.faq-layout > div:first-child > p { font-size: 15px; }.faq-item h3 { font-size: 16px; }.faq-item p { font-size: 15px; }
  .booking-copy { position: static; }.booking-copy h2 { font-size: 55px; }.booking-copy > p { font-size: 16px; }.booking-form-container { padding: 24px 20px; }.booking-form-container > h3 { font-size: 27px; }.booking-form-container > p { font-size: 15px; }.form-grid { grid-template-columns: 1fr; }.form-grid > label { font-size: 14px; }.channel-options span { font-size: 13px; }.consent { font-size: 13px; }
  .footer { padding-bottom: 85px; }.footer-top { flex-wrap: wrap; gap: 17px; }.footer-top > p { flex: 0 0 calc(100% - 118px); }.footer-privacy { margin-left: 0; }.back-top { margin-left: auto; }.footer-wordmark { height: 140px; }.footer-wordmark img { width: 94%; }.footer-bottom { font-size: 12px; }
  .mobile-cta:not([hidden]) { display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; padding: 10px var(--gutter) max(10px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--bg-deep); }.mobile-cta .button { width: 100%; min-height: 46px; font-size: 13px; }
  dialog { padding: 12px; }.image-dialog-header h2 { font-size: 17px; }.image-scroll img { width: auto; max-height: none; }
}
@media (max-width: 360px) {
  :root { --gutter: 18px; }
  .nav { gap: 5px; }.nav .brand { width: 90px; }.nav-cta { padding-inline: 7px !important; font-size: 12px !important; }
  h1 { font-size: 36px; }
  .proof-value strong { font-size: 21px; }
  .formula { grid-template-columns: 1fr 10px 1fr 10px 29px; gap: 5px; }
  .number-field input, .number-field input:not([type='checkbox']) { font-size: 27px; }
  .fixed-factor strong { font-size: 31px; }
  .calc-total output { font-size: 60px; }
  .source-values strong { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html:not([data-motion='active']) .hero-proof, html:not([data-motion='active']) .proof-finding { animation: none; }
  html:not([data-motion='active']) .record-evidence, html:not([data-motion='active']) .tour-visual, html:not([data-motion='active']) .session-deliverables > div, html:not([data-motion='active']) .path-connector::after { transition: none; }
  .button, .hero-proof, .text-link .icon, .hero-secondary .icon { transition: none; }
}
html[data-motion='active'] .hero-proof { animation: proof-arrive .75s var(--ease) both; }
html[data-motion='active'] .proof-finding { animation: finding-focus .6s .7s both; }
html[data-motion='paused'] .hero-proof, html[data-motion='paused'] .proof-finding { animation: none; }
html[data-motion='paused'] .hero::before { animation: none; }
html[data-motion='paused'] .header::after { display: none; }
html[data-motion='paused'] .record-sequence::after { height: 100%; box-shadow: none; }
html[data-motion='paused'] .path-connector::after { transform: scaleX(1); transition: none; }
@media (max-width: 600px) { html[data-motion='paused'] .path-connector::after { transform: scaleY(1); } }

/* Guided diagnostic */
.quiz-invite { position: relative; overflow: hidden; }
.quiz-invite::after { content:""; position:absolute; width:240px; height:240px; right:-110px; bottom:-140px; border-radius:50%; background:oklch(72% .14 210 / .13); filter:blur(18px); pointer-events:none; }
.quiz-invite .quiz-launch { margin-top:24px; }
.quiz-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#090b12; color:var(--text); overflow:hidden; }
.quiz-dialog::backdrop { background:#05060a; }
.quiz-shell { position:relative; display:grid; grid-template-rows:76px minmax(0,1fr) 58px; width:100%; height:100%; isolation:isolate; }
.quiz-shell::before,.quiz-shell::after { content:""; position:absolute; z-index:-1; border-radius:50%; filter:blur(80px); opacity:.45; pointer-events:none; }
.quiz-shell::before { width:48vw; height:48vw; top:-30vw; left:10vw; background:oklch(48% .18 275 / .35); animation:quiz-drift 12s ease-in-out infinite alternate; }
.quiz-shell::after { width:42vw; height:42vw; right:-18vw; bottom:-24vw; background:oklch(72% .14 210 / .2); animation:quiz-drift 15s ease-in-out infinite alternate-reverse; }
.quiz-header,.quiz-footer { display:flex; align-items:center; gap:24px; width:min(1180px,calc(100% - 48px)); margin:auto; }
.quiz-header img { width:105px; height:auto; }
.quiz-progress { flex:1; height:2px; background:oklch(100% 0 0 / .12); overflow:hidden; }
.quiz-progress span { display:block; width:8%; height:100%; background:linear-gradient(90deg,var(--accent),oklch(78% .13 205)); box-shadow:0 0 18px var(--accent); transition:width .6s var(--ease); }
.quiz-close { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--text); cursor:pointer; }
.quiz-stage { overflow:auto; display:grid; place-items:center; padding:38px 24px; }
.quiz-panel { width:min(760px,100%); animation:quiz-enter .5s var(--ease) both; }
.quiz-panel-wide { width:min(920px,100%); }
.conversation-mark { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--muted); font:600 12px/1 Inter,sans-serif; letter-spacing:.04em; }
.conversation-mark span { display:grid; place-items:center; width:30px; height:30px; border:1px solid oklch(72% .14 210 / .55); border-radius:50%; background:oklch(72% .14 210 / .12); color:var(--cyan); box-shadow:0 0 24px oklch(72% .14 210 / .12); }
.conversation-mark p { margin:0; }
.assistant-bubble { position:relative; width:fit-content; max-width:720px; padding:24px 26px; border:1px solid oklch(72% .14 210 / .25); border-radius:5px 20px 20px 20px; background:linear-gradient(135deg,oklch(21% .045 260 / .96),oklch(17% .025 270 / .9)); box-shadow:0 22px 70px #02040a66; }
.assistant-bubble p { margin:0; font-size:clamp(22px,3vw,38px); line-height:1.3; letter-spacing:-.025em; }
.assistant-bubble p+p { margin-top:12px; color:var(--muted); font-size:16px; letter-spacing:0; }
.question-bubble { width:100%; }
.question-bubble h1 { font-size:clamp(34px,4.5vw,62px); }
.answer-prompt { margin:22px 0 0; color:var(--muted); font-size:13px; }
.lead-conversation .quiz-eyebrow { margin-top:28px; }
.quiz-eyebrow { margin:0 0 18px; color:var(--cyan); font:700 12px/1 Inter,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.quiz-panel h1 { max-width:18ch; margin:0; font-size:clamp(38px,5vw,70px); line-height:1.02; letter-spacing:-.045em; }
.quiz-panel-wide h1 { max-width:22ch; font-size:clamp(36px,4.2vw,60px); }
.quiz-lede { max-width:680px; margin:22px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.quiz-promise { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:6px 16px; margin:34px 0; padding:20px 0; border-block:1px solid var(--line); }
.quiz-promise span { color:var(--muted); }
.quiz-reaction { display:flex; gap:10px; max-width:650px; margin:0 0 22px; color:oklch(84% .08 215); font-size:15px; line-height:1.5; }
.quiz-reaction span { flex:0 0 7px; height:7px; margin-top:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px var(--cyan); }
.quiz-options { display:grid; gap:10px; margin-top:32px; }
.quiz-options button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:62px; padding:15px 20px; border:1px solid var(--line); border-radius:12px; background:oklch(18% .025 265 / .72); color:var(--text); font:600 16px/1.35 Inter,sans-serif; text-align:left; cursor:pointer; transition:.25s var(--ease); }
.quiz-options button:hover,.quiz-options button:focus-visible,.quiz-options button[aria-pressed='true'] { border-color:oklch(72% .14 210 / .7); background:oklch(25% .055 245 / .85); transform:translateX(5px); }
.quiz-options button i { color:var(--cyan); font-style:normal; }
.quiz-options.is-multi button i { width:20px; height:20px; border:1px solid var(--muted); border-radius:5px; font-size:0; }
.quiz-options.is-multi button[aria-pressed='true'] i { border-color:var(--cyan); background:var(--cyan); box-shadow:inset 0 0 0 4px #111826; }
.quiz-multi-next { margin-top:20px; }
.quiz-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.quiz-fields label,.invite-field { display:grid; gap:8px; color:var(--muted); font:600 13px/1.4 Inter,sans-serif; }
.quiz-fields label.wide { grid-column:1/-1; }
.quiz-fields input,.invite-field input { width:100%; min-height:52px; border:1px solid var(--line); border-radius:9px; padding:0 15px; background:oklch(15% .02 265); color:var(--text); font:500 16px Inter,sans-serif; }
.quiz-lead-form fieldset { margin:24px 0 0; padding:0; border:0; }
.quiz-lead-form legend { margin-bottom:12px; color:var(--muted); font:600 13px Inter,sans-serif; }
.contact-times { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.contact-times input { position:absolute; opacity:0; }
.contact-times span { display:grid; place-items:center; gap:3px; min-height:64px; border:1px solid var(--line); border-radius:9px; cursor:pointer; transition:.25s var(--ease); }
.contact-times span small { color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.contact-times input:checked + span { border-color:var(--cyan); background:oklch(72% .14 210 / .12); color:var(--text); }
.auto-hint { display:flex; align-items:center; gap:8px; margin:12px 0 0; color:var(--muted); font-size:12px; }
.auto-hint span { width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.quiz-consent { display:flex; gap:11px; align-items:flex-start; margin:22px 0; color:var(--muted); font-size:13px; line-height:1.55; }
.quiz-consent input { width:18px; height:18px; margin-top:1px; accent-color:var(--cyan); }
.count-panel { text-align:center; }
.count-panel h1 { max-width:none; }
.count-formula { display:flex; align-items:center; justify-content:center; gap:20px; margin:30px 0; }
.count-formula span { color:var(--muted); }.count-formula strong { display:block; color:var(--text); font-size:30px; }
.count-result { margin:0 0 25px; }.count-result strong { display:block; color:var(--cyan); font-size:clamp(70px,12vw,140px); line-height:.9; letter-spacing:-.06em; }.count-result span { display:block; margin-top:15px; color:var(--muted); font-size:16px; }
.count-panel > p:last-of-type { color:var(--muted); }.quiz-count-next { margin-top:18px; }
.count-bubble { margin-inline:auto; text-align:left; }
.range-explainer { max-width:600px; margin:0 auto; color:var(--muted); font-size:13px; line-height:1.55; }
.result-count { margin:25px 0 32px; color:var(--muted); }.result-count strong { color:var(--cyan); font-size:28px; }
.result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.result-grid>div,.session-preview,.not-fit,.confirmation-card { padding:22px; border:1px solid var(--line); border-radius:12px; background:oklch(17% .025 265 / .65); }.result-grid span,.confirmation-card span { color:var(--cyan); font:700 11px Inter,sans-serif; letter-spacing:.1em; text-transform:uppercase; }.result-grid p,.session-preview p,.not-fit p,.confirmation-card p { margin:10px 0 0; color:var(--muted); line-height:1.55; }
.session-preview,.not-fit { margin-top:12px; }.result-panel>.button { margin-top:20px; }.simulation-note { margin:14px 0 0; color:var(--muted); font-size:12px; }
.scheduler { display:grid; grid-template-columns:1fr 1.35fr; gap:16px; margin-top:28px; }.day-list,.slot-list { display:grid; gap:8px; align-content:start; }.day-list button,.slot-list button { min-height:54px; border:1px solid var(--line); border-radius:9px; padding:10px 14px; background:oklch(17% .025 265 / .75); color:var(--text); cursor:pointer; }.day-list button { display:flex; justify-content:space-between; align-items:center; text-transform:capitalize; }.day-list button span { color:var(--muted); }.day-list button[aria-pressed='true'],.slot-list button[aria-pressed='true'] { border-color:var(--cyan); background:oklch(72% .14 210 / .12); }.slot-list { grid-template-columns:1fr 1fr; }.slot-list p { grid-column:1/-1; color:var(--muted); }.invite-field { margin-top:18px; }.invite-field span,.invite-field small { color:var(--muted); font-weight:400; }.book-simulated { margin-top:20px; }
.final-panel { text-align:center; }.final-panel h1 { max-width:20ch; margin-inline:auto; }.final-panel>p:not(.quiz-eyebrow) { max-width:600px; margin:20px auto; color:var(--muted); line-height:1.6; }.final-check { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 24px; border:1px solid var(--cyan); border-radius:50%; color:var(--cyan); font-size:32px; box-shadow:0 0 45px oklch(72% .14 210 / .2); }.confirmation-card { max-width:520px; margin:28px auto; text-align:left; }.confirmation-card strong { display:block; margin-top:8px; }
.quiz-footer { justify-content:space-between; color:var(--muted); font-size:11px; }.quiz-back { border:0; background:transparent; color:var(--muted); cursor:pointer; }.quiz-back:hover { color:var(--text); }
@keyframes quiz-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes quiz-drift { to { transform:translate3d(7vw,5vw,0) scale(1.12); } }
@media (max-width:600px) {
  .quiz-shell { grid-template-rows:64px minmax(0,1fr) 48px; }.quiz-header,.quiz-footer { width:calc(100% - 32px); gap:14px; }.quiz-header img { width:86px; }.quiz-stage { display:block; padding:28px 18px; }.quiz-panel h1,.quiz-panel-wide h1 { font-size:36px; }.quiz-lede { font-size:16px; }.quiz-promise { grid-template-columns:auto 1fr; }.quiz-fields,.result-grid,.scheduler { grid-template-columns:1fr; }.quiz-fields label.wide { grid-column:auto; }.contact-times { grid-template-columns:1fr; }.quiz-options button { min-height:58px; font-size:15px; }.count-formula { flex-wrap:wrap; gap:9px; }.count-formula strong { font-size:22px; }.count-result strong { font-size:52px; }.day-list { grid-template-columns:repeat(3,1fr); overflow:auto; }.day-list button { display:grid; min-width:88px; }.slot-list { grid-template-columns:1fr 1fr; }.quiz-footer span { display:none; }.assistant-bubble { padding:20px; }.assistant-bubble p { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) { .quiz-shell::before,.quiz-shell::after { animation:none; }.quiz-panel { animation:none; }.quiz-progress span,.quiz-options button { transition:none; } }

/* Awwwards pass — cinematic diagnostic instrument */
.quiz-dialog {
  --quiz-bg:oklch(10.5% .018 264); --quiz-panel:oklch(15% .027 264 / .86);
  --quiz-ink:oklch(96% .012 245); --quiz-muted:oklch(70% .025 250);
  --quiz-cyan:oklch(78% .14 205); --quiz-indigo:oklch(61% .17 273);
  background:var(--quiz-bg); color:var(--quiz-ink); font-family:'Plus Jakarta Sans',sans-serif;
}
.quiz-dialog::backdrop { background:oklch(7% .01 264 / .96); }
.quiz-dialog :is(.conversation-mark,.quiz-eyebrow,.quiz-options button,.quiz-fields label,.invite-field,.quiz-fields input,.invite-field input,.quiz-lead-form legend,.result-grid span,.confirmation-card span) { font-family:inherit; }
.quiz-dialog .quiz-options.is-multi button[aria-pressed='true'] i { box-shadow:inset 0 0 0 4px var(--quiz-bg); }
.quiz-shell { background-image:linear-gradient(oklch(100% 0 0 / .018) 1px,transparent 1px),linear-gradient(90deg,oklch(100% 0 0 / .018) 1px,transparent 1px); background-size:72px 72px; }
.quiz-shell::before { top:-38vw; left:-4vw; background:oklch(52% .19 275 / .3); }
.quiz-shell::after { right:-12vw; bottom:-30vw; background:oklch(74% .15 207 / .18); }
.quiz-stage { position:relative; overflow-x:hidden; }
.quiz-stage::before { content:""; position:fixed; z-index:-1; width:min(48vw,700px); aspect-ratio:1; right:-12vw; top:18vh; border:1px solid oklch(78% .14 205 / .1); border-radius:50%; box-shadow:0 0 0 6vw oklch(78% .14 205 / .025),0 0 0 12vw oklch(78% .14 205 / .018); pointer-events:none; }
.quiz-header { width:min(1320px,calc(100% - 64px)); }
.quiz-progress { height:3px; border-radius:99px; }
.quiz-progress span { background:linear-gradient(90deg,var(--quiz-indigo),var(--quiz-cyan)); }
.quiz-panel { width:min(900px,100%); }
.quiz-panel-wide { width:min(1180px,100%); }
.lead-conversation { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(42px,7vw,110px); align-items:start; }
.lead-conversation>* { min-width:0; }
.lead-intro { position:sticky; top:0; padding-top:18px; }
.lead-intro h1 { max-width:10ch; font-size:clamp(48px,5.3vw,78px); }
.lead-intro .quiz-lede { max-width:390px; }
.lead-signal { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin-top:42px; color:var(--quiz-muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.lead-signal i { position:relative; height:1px; background:linear-gradient(90deg,var(--quiz-indigo),var(--quiz-cyan)); }
.lead-signal i::after { content:""; position:absolute; width:7px; height:7px; top:-3px; left:0; border-radius:50%; background:var(--quiz-cyan); box-shadow:0 0 18px var(--quiz-cyan); animation:signal-run 2.4s cubic-bezier(.45,0,.2,1) infinite; }
.lead-signal b { grid-column:1/-1; height:1px; background:oklch(100% 0 0 / .08); }
.privacy-note { color:var(--quiz-muted); font-size:12px; }
.quiz-lead-form { padding:clamp(24px,4vw,48px); border:1px solid oklch(100% 0 0 / .1); border-radius:24px; background:linear-gradient(145deg,oklch(18% .035 265 / .85),oklch(13% .018 265 / .72)); box-shadow:0 40px 100px oklch(5% .02 270 / .55); backdrop-filter:blur(22px); }
.form-heading span { color:var(--quiz-cyan); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.form-heading h2 { margin:8px 0 0; font-size:clamp(25px,3vw,40px); letter-spacing:-.035em; }
.form-heading p { margin:9px 0 0; color:var(--quiz-muted); font-size:13px; }
.quiz-fields input,.invite-field input { border-color:oklch(100% 0 0 / .11); border-radius:7px; background:oklch(10% .018 265 / .72); font-family:inherit; transition:border-color .25s,box-shadow .25s,transform .25s; }
.quiz-fields input:focus,.invite-field input:focus { outline:0; border-color:var(--quiz-cyan); box-shadow:0 0 0 3px oklch(78% .14 205 / .1),0 15px 40px oklch(5% .03 270 / .35); transform:translateY(-1px); }
.contact-times span { background:oklch(11% .02 265 / .7); }
.contact-times input:checked+span { border-color:var(--quiz-cyan); background:linear-gradient(135deg,oklch(27% .08 255 / .9),oklch(19% .04 240 / .9)); box-shadow:0 12px 35px oklch(78% .14 205 / .09); transform:translateY(-2px); }
.conversation-question { width:min(940px,100%); }
.context-strip { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.context-strip>span { display:flex; align-items:center; gap:8px; min-height:32px; padding:6px 11px; border:1px solid oklch(100% 0 0 / .09); border-radius:99px; background:oklch(16% .025 264 / .65); color:var(--quiz-ink); font-size:11px; }
.context-strip small { color:var(--quiz-cyan); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.conversation-mark span { border-color:oklch(78% .14 205 / .55); background:oklch(78% .14 205 / .09); color:var(--quiz-cyan); }
.assistant-bubble { border-color:oklch(78% .14 205 / .22); background:linear-gradient(135deg,oklch(19% .045 266 / .94),oklch(13.5% .022 264 / .92)); }
.question-bubble { padding:clamp(28px,4.5vw,54px); border-radius:4px 30px 30px 30px; }
.question-bubble h1 { max-width:18ch; font-size:clamp(42px,5.6vw,76px); line-height:1.04; }
.quiz-options { grid-template-columns:1fr 1fr; gap:10px; }
.quiz-options button { position:relative; display:grid; grid-template-columns:28px 1fr 20px; gap:10px; min-height:74px; border-radius:10px; background:oklch(13% .021 265 / .76); font-family:inherit; animation:option-rise .45s calc(var(--order) * 55ms) both; }
.quiz-options button em { color:oklch(58% .025 250); font:600 9px/1.4 'Plus Jakarta Sans',sans-serif; letter-spacing:.08em; }
.quiz-options button span { align-self:center; }
.quiz-options button:hover,.quiz-options button:focus-visible,.quiz-options button[aria-pressed='true'] { border-color:var(--quiz-cyan); background:linear-gradient(115deg,oklch(22% .065 260 / .9),oklch(17% .035 245 / .9)); transform:translateY(-2px); box-shadow:0 16px 38px oklch(5% .03 270 / .35); }
.user-reply { grid-column:2; padding:18px 22px; border:1px solid oklch(61% .17 273 / .36); border-radius:20px 4px 20px 20px; background:oklch(22% .075 274 / .72); animation:user-enter .42s cubic-bezier(.2,.8,.2,1) both; }
.user-reply span { color:oklch(76% .08 275); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.user-reply p { margin:7px 0 0; font-size:17px; line-height:1.45; }
.reaction-bubble { animation:assistant-enter .5s .35s cubic-bezier(.2,.8,.2,1) both; }
.reaction-bubble p { font-size:clamp(28px,4vw,52px); line-height:1.18; }
@keyframes signal-run { 0%{left:0;opacity:0} 15%,85%{opacity:1} 100%{left:100%;opacity:0} }
@keyframes option-rise { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes user-enter { from{opacity:0;transform:translate3d(20px,8px,0)} to{opacity:1;transform:none} }
@keyframes assistant-enter { from{opacity:0;transform:translate3d(-20px,8px,0)} to{opacity:1;transform:none} }
@media(max-width:760px){
  .quiz-header{width:calc(100% - 32px)}.lead-conversation{grid-template-columns:1fr;gap:28px}.lead-intro{position:static}.lead-intro h1{font-size:43px}.lead-signal{margin-top:25px}.quiz-lead-form{padding:22px 18px;border-radius:17px}.quiz-options{grid-template-columns:1fr}.question-bubble{padding:25px 21px}.question-bubble h1{font-size:37px}.user-reply{grid-column:1;margin-left:15%}.reaction-bubble p{font-size:29px}.context-strip{margin-bottom:14px}
}
@media(max-height:780px) and (min-width:761px){
  .quiz-shell{grid-template-rows:62px minmax(0,1fr) 42px}.quiz-stage{padding-block:14px}.quiz-lead-form{padding:25px 30px}.lead-intro{padding-top:4px}.lead-intro h1{font-size:58px}.lead-intro .quiz-lede{margin-top:15px}.lead-signal{margin-top:24px}.quiz-fields{gap:10px;margin-top:18px}.quiz-fields input{min-height:44px}.quiz-consent{margin:14px 0}.quiz-lead-form fieldset{margin-top:14px}.contact-times span{min-height:52px}.quiz-footer{min-height:42px}
}
@media(prefers-reduced-motion:reduce){.lead-signal i,.quiz-options button,.user-reply,.reaction-bubble{animation:none}}

.multi-hint{margin:.9rem 0 .15rem;color:var(--quiz-muted);font-size:.86rem}
.quiz-dialog .quiz-options.is-multi button.is-selected{border-color:color-mix(in oklch,var(--quiz-cyan) 78%,white);background:linear-gradient(105deg,color-mix(in oklch,var(--quiz-cyan) 16%,transparent),color-mix(in oklch,var(--quiz-indigo) 12%,transparent));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--quiz-cyan) 20%,transparent),0 0 1.5rem color-mix(in oklch,var(--quiz-cyan) 9%,transparent)}
.quiz-dialog .quiz-options.is-multi button.is-selected em,.quiz-dialog .quiz-options.is-multi button.is-selected span{color:var(--quiz-ink)}
.quiz-dialog .quiz-options.is-multi button.is-selected i{display:grid;place-items:center;background:var(--quiz-cyan);border-color:var(--quiz-cyan);color:var(--quiz-bg);font-size:.75rem;font-style:normal;font-weight:900;transform:scale(1.04)}
@keyframes cue-float{50%{opacity:.38;transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce){.reaction-wait span{animation:none}}

/* Conversational diagnostic: the thread stays visible while one prompt is active. */
.quiz-stage:has(.chat-thread){display:block;padding:24px 24px 0}
.chat-thread{width:min(740px,100%);margin-inline:auto}
.chat-turn{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 28px}
.chat-turn.is-latest{max-height:28dvh;overflow-y:auto;scrollbar-width:none}
.chat-history-question{max-width:62ch;margin:0 0 3px 36px;color:var(--quiz-muted);font-size:13px;line-height:1.45}
.chat-turn>.user-reply{align-self:flex-end;width:fit-content;max-width:min(78%,31rem);margin:0;padding:10px 16px;border-radius:16px 4px 16px 16px}
.chat-turn>.user-reply p{margin:3px 0 0;font-size:15px;line-height:1.4}
.chat-assistant{display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:12px;align-items:start;width:100%}
.chat-assistant .conversation-mark{grid-column:1/-1;margin:0 0 5px}
.chat-assistant .conversation-mark span{width:25px;height:25px}
.chat-assistant .reaction-bubble{grid-column:2;width:fit-content;max-width:100%;padding:14px 18px;border-radius:4px 17px 17px 17px}
.chat-assistant .reaction-bubble p{font-size:clamp(17px,1.65vw,20px);line-height:1.4;letter-spacing:-.015em}
.chat-turn:not(.is-latest) .user-reply,.chat-turn:not(.is-latest) .reaction-bubble{animation:none}
.reaction-wait{display:flex;align-items:center;gap:.6rem;margin:0;color:var(--quiz-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.reaction-wait span{color:var(--quiz-cyan);font-size:19px;line-height:1;animation:cue-float 2.4s ease-in-out infinite}
.chat-turn .reaction-wait{margin-left:37px}
.chat-active{padding:3px 0 45dvh}
.chat-active>.quiz-panel{width:100%}
.chat-active .context-strip{margin:0 0 16px 37px}
.chat-active .conversation-mark{margin:0 0 8px}
.chat-active .conversation-mark span{width:25px;height:25px}
.chat-active .question-bubble{width:calc(100% - 37px);max-width:none;margin-left:37px;padding:20px 23px;border-radius:4px 19px 19px 19px;box-shadow:0 12px 42px oklch(5% .03 270 / .24)}
.chat-active .question-bubble h1{max-width:24ch;font-size:clamp(27px,3.2vw,39px);line-height:1.15;letter-spacing:-.035em}
.chat-active .answer-prompt{margin:14px 0 0 37px;font-size:12px}
.chat-active .quiz-options{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 0 37px}
.chat-active .quiz-options button{display:grid;grid-template-columns:21px auto 16px;gap:10px;width:auto;max-width:100%;min-height:49px;padding:11px 15px;border-radius:13px;font-size:14px;line-height:1.35}
.chat-active .quiz-options button em{align-self:center;font-size:10px}
.chat-active .quiz-options button:hover,.chat-active .quiz-options button:focus-visible,.chat-active .quiz-options button[aria-pressed='true']{transform:translateY(-2px)}
.chat-active .multi-hint,.chat-active .quiz-multi-next{margin-left:37px}
.chat-active .count-panel{text-align:left}
.chat-active .count-bubble{max-width:calc(100% - 37px);margin-left:37px;padding:19px 22px}
.chat-active .count-bubble p{font-size:20px}
.chat-active .count-formula{justify-content:flex-start;margin:22px 0 16px 37px}
.chat-active .count-result,.chat-active .range-explainer,.chat-active .quiz-count-next{margin-left:37px}
.lead-conversation{display:flex;flex-direction:column;gap:18px;width:min(740px,100%)}
.lead-intro{position:static;padding:0}
.lead-intro .quiz-eyebrow{margin-top:12px}
.lead-intro h1{max-width:22ch;font-size:clamp(32px,3.5vw,45px);line-height:1.12}
.lead-intro .quiz-lede{max-width:56ch;margin-top:13px;font-size:16px;line-height:1.5}
.lead-intro .lead-signal{display:none}
.lead-intro .privacy-note{margin:10px 0 0}
.lead-conversation .quiz-lead-form{width:100%;padding:25px 28px;border-radius:4px 22px 22px 22px}
.lead-conversation .form-heading h2{font-size:26px}
@media(max-width:760px){
  .quiz-stage:has(.chat-thread){padding:20px 16px 0}
  .chat-turn.is-latest{max-height:40dvh}
  .chat-turn>.user-reply{max-width:87%;padding:9px 13px}
  .chat-turn>.user-reply p{font-size:14px}
  .chat-assistant .reaction-bubble p{font-size:17px}
  .chat-active .question-bubble{padding:18px 19px}
  .chat-active .question-bubble h1{font-size:clamp(25px,7vw,32px)}
  .chat-active .quiz-options{display:grid;grid-template-columns:1fr}
  .chat-active .quiz-options button{width:100%;min-height:49px}
  .chat-active .count-formula{flex-wrap:wrap;gap:8px}
  .lead-conversation{gap:16px}
  .lead-intro h1{font-size:32px}
  .lead-conversation .quiz-lead-form{padding:19px 17px}
}
@media(max-width:359px){
  .chat-turn.is-latest{gap:7px}
  .chat-turn.is-latest>.user-reply{max-width:92%;padding:8px 11px}
  .chat-turn.is-latest>.user-reply span,.chat-turn.is-latest .chat-assistant .conversation-mark{display:none}
  .chat-turn.is-latest>.user-reply p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
  .chat-turn.is-latest .chat-assistant{display:block}
  .chat-turn.is-latest .reaction-bubble{padding:10px 13px}
  .chat-turn.is-latest .reaction-bubble p{font-size:16px;line-height:1.3}
  .chat-turn.is-latest .reaction-wait{margin-left:0}
  .chat-active .context-strip,.chat-active .answer-prompt{display:none}
  .chat-active .question-bubble{padding:15px 16px}
  .chat-active .question-bubble h1{font-size:24px}
  .chat-active .quiz-options{margin-top:11px}
}
@media(prefers-reduced-motion:reduce){.chat-turn .user-reply,.chat-turn .reaction-bubble,.chat-active .quiz-options button{animation:none}}

/* Session offer: an editorial offer, then a truthful qualification step. */
.booking-section{isolation:isolate;border-block:1px solid var(--line);background:radial-gradient(80% 90% at 92% 46%,oklch(46% .12 218 / .12),transparent 64%),var(--bg-deep)}
.booking-section::before{width:min(78vw,980px);height:min(78vw,980px);top:-24rem;left:-49rem;border-color:oklch(78% .14 205 / .14)}
.booking-layout{grid-template-columns:minmax(0,.96fr) minmax(23rem,.72fr);align-items:start;gap:clamp(3rem,9vw,10rem)}
.booking-copy{top:8.4rem}
.booking-overline{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.04em}
.booking-copy h2{max-width:10ch;margin-top:1.2rem;font-size:clamp(3rem,5.4vw,5.4rem);line-height:.98;letter-spacing:-.04em}
.booking-copy>p:not(.booking-overline){max-width:38ch;margin-top:1.75rem;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.58}
.booking-outcomes{display:grid;gap:0;max-width:42rem;margin:2.3rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.booking-outcomes li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.booking-outcomes span{padding-top:.14rem;color:var(--accent);font-size:.72rem;font-weight:700}
.booking-outcomes p{display:grid;gap:.18rem;margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}
.booking-outcomes strong{color:var(--ink);font-size:.97rem;font-weight:650}
.booking-meta{flex-wrap:wrap;gap:.7rem 1.35rem;margin:1.6rem 0 0;font-size:.8rem}
.booking-meta span:last-child{color:var(--subtle)}
.booking-form-container{position:sticky;top:8.4rem;overflow:hidden;padding:clamp(1.65rem,3vw,2.65rem);border:1px solid oklch(78% .14 205 / .3);border-radius:18px;background:linear-gradient(145deg,oklch(16% .03 261 / .96),oklch(11% .015 258 / .96));box-shadow:0 28px 70px oklch(5% .02 260 / .32)}
.booking-form-container::before{content:"";position:absolute;top:0;left:1.65rem;right:1.65rem;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.booking-invite-head p{margin:0;color:var(--accent);font-size:.82rem;font-weight:650}
.booking-form-container>h3,.booking-invite-head h3{max-width:15ch;margin-top:.85rem;font-size:clamp(1.8rem,2.7vw,2.65rem);line-height:1.06;letter-spacing:-.04em}
.booking-form-container>#booking-description{max-width:39ch;margin:1.05rem 0 0;font-size:1rem;line-height:1.55}
.booking-eligibility{margin:1.55rem 0;padding:1rem 0;border-block:1px solid oklch(100% 0 0 / .1);color:var(--muted);font-size:.86rem;line-height:1.5}
.booking-eligibility span{display:block;max-width:34ch}
.booking-form-container .quiz-launch{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:3.9rem;padding-inline:1.25rem;font-size:1rem}
.booking-form-container .quiz-launch .icon{width:1.2rem;transition:transform .35s var(--ease)}
.booking-form-container .quiz-launch:hover .icon,.booking-form-container .quiz-launch:focus-visible .icon{transform:translateX(.28rem)}
.booking-disclosure{max-width:36ch;margin:1rem 0 0;color:var(--subtle);font-size:.76rem;line-height:1.5}
@media(max-width:950px){.booking-layout{grid-template-columns:minmax(0,.95fr) minmax(20rem,.8fr);gap:3rem}.booking-copy h2{font-size:clamp(2.7rem,5.5vw,4.4rem)}}
@media(max-width:600px){.booking-section{padding-block:5.2rem}.booking-section::before{width:34rem;height:34rem;top:-18rem;left:-24rem}.booking-layout{grid-template-columns:1fr;gap:2.6rem}.booking-copy,.booking-form-container{position:relative;top:auto}.booking-overline{font-size:.74rem}.booking-copy h2{max-width:11ch;margin-top:1rem;font-size:clamp(2.65rem,12vw,3.6rem)}.booking-copy>p:not(.booking-overline){margin-top:1.35rem;font-size:1rem}.booking-outcomes{margin-top:1.8rem}.booking-outcomes li{grid-template-columns:2.15rem 1fr;padding:.88rem 0}.booking-meta{margin-top:1.35rem}.booking-form-container{padding:1.45rem 1.25rem;border-radius:15px}.booking-form-container::before{left:1.25rem;right:1.25rem}.booking-form-container>h3,.booking-invite-head h3{font-size:clamp(1.7rem,8vw,2.1rem)}.booking-form-container>#booking-description{font-size:.95rem}.booking-eligibility{margin:1.25rem 0;padding:.85rem 0}.booking-form-container .quiz-launch{min-height:3.7rem;font-size:.92rem}.booking-disclosure{font-size:.73rem}}

/* Copy revision: clear value first, contact after the seven answers. */
.lead-conversation{min-height:min(60dvh,580px);justify-content:center}
.lead-intro{max-width:680px}
.lead-intro h1{max-width:16ch;font-size:clamp(38px,4.5vw,66px)}
.lead-intro .quiz-lede{max-width:53ch;font-size:clamp(16px,1.5vw,19px)}
.quiz-start{margin-top:28px}
.contact-gate{width:min(760px,100%)}
.contact-gate .quiz-lead-form{margin-top:28px}
.contact-gate .quiz-fields{margin-top:0}
.contact-gate .quiz-consent a{color:var(--quiz-cyan);text-underline-offset:3px}
.contact-gate .contact-submit{margin-top:2px}
.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.result-grid>div{min-width:0}
.briefing-form{display:grid;gap:12px;max-width:520px;margin:20px auto;text-align:left}
.briefing-form>p{margin:0 0 4px;font-weight:650}
.briefing-form>p span,.briefing-form label{color:var(--muted);font-size:13px}
.briefing-form label{display:grid;gap:6px}
.briefing-form select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:oklch(15% .02 265);color:var(--text);font:inherit}
.briefing-form select:focus-visible{outline:2px solid var(--quiz-cyan);outline-offset:2px}
@media(max-width:760px){.lead-conversation{min-height:0}.lead-intro h1{font-size:clamp(33px,8.5vw,46px)}.result-grid{grid-template-columns:1fr}.quiz-start{width:100%;justify-content:space-between}}
.chat-thread:has(.result-panel){width:min(960px,100%)}
.result-panel .result-count{font-size:clamp(18px,2vw,24px);line-height:1.45;color:var(--quiz-ink)}
@media(max-width:359px){.chat-active .context-strip{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.chat-active .context-strip>span{flex:none}}

/* A message arrives only after its typing cue; the next prompt follows the reading pause. */
.chat-turn.is-latest{max-height:none;overflow:visible}
.chat-typing{grid-column:2;display:flex;align-items:center;gap:5px;width:57px;height:35px;padding:0 15px;border:1px solid oklch(78% .14 205 / .2);border-radius:4px 15px 15px 15px;background:var(--quiz-panel)}
.chat-typing i{width:5px;height:5px;border-radius:50%;background:var(--quiz-cyan);animation:typing-pulse 1s ease-in-out infinite}
.chat-typing i:nth-child(2){animation-delay:.16s}.chat-typing i:nth-child(3){animation-delay:.32s}
.chat-assistant .reaction-bubble[hidden],.chat-active[hidden]{display:none}
.chat-active.is-arriving{animation:message-arrive .42s cubic-bezier(.2,.8,.2,1) both}
.chat-active .count-panel{max-width:670px}
.chat-active .count-panel .count-title{margin-left:37px;font-size:clamp(27px,3.2vw,39px);line-height:1.14}
.chat-active .count-bubble{margin-top:15px;padding:15px 18px}
.chat-active .count-bubble p{font-size:clamp(16px,1.7vw,19px);line-height:1.5}
.chat-active .count-formula{gap:12px;margin-top:18px;margin-bottom:15px;flex-wrap:wrap}
.chat-active .count-formula strong{font-size:clamp(21px,2.4vw,29px)}
.chat-active .count-formula span{font-size:13px}
.chat-active .count-result{margin-bottom:13px}
.chat-active .count-result strong{font-size:clamp(39px,5vw,65px);line-height:1.04;letter-spacing:-.045em}
.chat-active .count-result span{margin-top:4px;font-size:15px}
.chat-active .range-explainer{font-size:12px}
.chat-active .quiz-count-next{margin-top:17px}
@keyframes typing-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes message-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:760px){.chat-active .count-formula,.chat-active .count-result,.chat-active .range-explainer,.chat-active .quiz-count-next,.chat-active .count-panel .count-title{margin-left:37px}.chat-active .count-result strong{font-size:clamp(38px,11vw,52px)}}
@media(prefers-reduced-motion:reduce){.chat-typing i,.chat-active.is-arriving{animation:none}}
