:root { --ink:#373e62; --muted:#6b7196; --paper:#ffffff; --wash:#eef1fb; --line:#dde1f5; --brand:#5d6bf4; --brand-dark:#4550d6; --teal:#0f9b8e; --gold:#f5a623; --panel-muted:#d7dcfb; --shadow:0 24px 70px rgba(55,62,98,.14); font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--wash); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--wash); }
a { color:var(--teal); }
.brand { color:white; text-decoration:none; font-weight:700; font-family:'Comfortaa',sans-serif; margin-bottom:26px; display:flex; align-items:center; gap:10px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--brand); background:white; font-family:'Comfortaa',sans-serif; font-weight:700; }
.help-link { font-weight:650; text-underline-offset:4px; }
.study-card .help-link { display:block; margin-top:16px; color:var(--panel-muted); font-size:.85rem; font-weight:400; }
.shell { width:min(1160px,calc(100% - 32px)); margin:48px auto 42px; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr); border:1px solid rgba(55,62,98,.08); border-radius:28px; overflow:hidden; box-shadow:var(--shadow); background:var(--paper); }
.study-card { padding:clamp(34px,5vw,70px); color:white; background:linear-gradient(145deg,#31358f,#5d6bf4); position:relative; overflow:hidden; }
.study-card::after { content:""; position:absolute; width:220px; height:220px; border:50px solid rgba(255,255,255,.14); border-radius:50%; right:-110px; bottom:-80px; }
.eyebrow { display:block; margin-bottom:12px; color:var(--brand); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.study-card .eyebrow { color:#ffd873; }
h1 { margin:0; font-family:'Comfortaa',sans-serif; font-size:clamp(1.9rem,3vw,2.75rem); line-height:1.12; font-weight:600; letter-spacing:-.015em; }
h2 { margin:0 0 14px; font-family:'Comfortaa',sans-serif; font-size:clamp(1.85rem,3vw,2.6rem); line-height:1.12; font-weight:600; letter-spacing:-.01em; }
h3 { margin:30px 0 12px; font-size:1rem; }
.lede { margin:26px 0 34px; font-size:1.05rem; font-weight:400; color:var(--panel-muted); line-height:1.6; }
.facts { display:grid; gap:14px; margin:0; }
.facts dt { margin-bottom:4px; color:var(--panel-muted); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.facts dd { margin:0; font-weight:400; }
.privacy-note { position:relative; z-index:1; margin-top:30px; color:var(--panel-muted); font-size:.85rem; line-height:1.55; }
.privacy-note strong { color:white; font-weight:700; }
.flow-card { min-height:690px; padding:clamp(26px,5vw,62px); background:var(--paper); }
.progress { height:5px; margin-bottom:12px; border-radius:10px; background:#e2e5f7; overflow:hidden; }
.progress span { display:block; width:33%; height:100%; background:var(--brand); transition:width .25s ease; }
.step-count { margin:0 0 36px; color:var(--muted); font-size:.78rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.panel > p { color:var(--muted); line-height:1.65; }
.highlight-reel { width:100%; height:auto; aspect-ratio:16/9; margin:4px 0 18px; border:1px solid var(--line); border-radius:14px; background:#0d0f1a; object-fit:cover; }
.hidden { display:none !important; }
.check-list { padding:0; display:grid; gap:10px; list-style:none; color:var(--muted); }
.check-list li { position:relative; padding-left:28px; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:900; }
.checks { display:grid; gap:10px; }
.checks label { display:flex; align-items:flex-start; gap:11px; padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:white; line-height:1.42; cursor:pointer; }
input[type="checkbox"] { width:18px; height:18px; flex:0 0 auto; margin-top:1px; accent-color:var(--brand); }
.checks b,.checks em { margin-left:auto; color:var(--muted); font-size:.72rem; font-style:normal; text-transform:uppercase; white-space:nowrap; }
.primary { display:inline-flex; align-items:center; justify-content:center; margin-top:22px; min-height:50px; padding:0 26px; border:0; border-radius:999px; color:white; background:var(--brand); font:inherit; font-weight:800; text-decoration:none; cursor:pointer; box-shadow:0 8px 18px rgba(93,107,244,.28); }
.primary:hover { background:var(--brand-dark); }
.primary:disabled { opacity:.55; cursor:wait; }
.back { margin:0 0 26px; padding:0; border:0; background:none; color:var(--teal); font:inherit; font-weight:700; cursor:pointer; }
.consent-copy { max-height:270px; overflow:auto; margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f5f6fd; font-size:.88rem; line-height:1.6; }
.consent-copy p:first-child { margin-top:0; }.consent-copy p:last-child { margin-bottom:0; }
.consent-checks label { font-size:.9rem; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.field-grid label,.demo-booking label { color:var(--ink); font-size:.82rem; font-weight:750; }
input:not([type="checkbox"]),select { width:100%; height:47px; margin-top:7px; padding:0 12px; border:1px solid #d7dbf2; border-radius:10px; background:white; color:var(--ink); font:inherit; }
input:focus,select:focus,button:focus-visible,a:focus-visible { outline:3px solid rgba(15,155,142,.25); outline-offset:2px; border-color:var(--teal); }
.form-note { margin-top:15px; color:var(--muted); font-size:.8rem; line-height:1.55; }
.error { min-height:1.2em; color:#a82b23 !important; font-size:.85rem; font-weight:650; }
.error-box { margin-top:16px; padding:12px 14px; border-radius:10px; color:#84281f; background:#fde9e5; font-size:.86rem; }
.booking-link { margin-top:22px; padding:22px; border:1px solid var(--line); border-radius:16px; background:#f5f6fd; }
.booking-link .form-note { margin-top:14px; }
.demo-booking { margin-top:24px; padding:20px; border:1px dashed #b7bce0; border-radius:15px; background:#f5f6fd; }
.demo-label { margin-bottom:14px; color:var(--muted); font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.booked { margin-top:20px; padding:18px; border-radius:14px; color:#0d6b60; background:#e1f6f2; font-weight:700; }
@media (max-width:850px) { .shell { grid-template-columns:1fr; }.study-card { padding:38px; }.study-card h1 { max-width:500px; }.flow-card { min-height:auto; }.privacy-note { max-width:500px; } }
@media (max-width:560px) { .shell { width:100%; margin:0; border:0; border-radius:0; }.study-card,.flow-card { padding:30px 22px; }.study-card { min-height:440px; }.field-grid { grid-template-columns:1fr; }.checks b,.checks em { display:none; }.consent-copy { max-height:330px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
