/* v21chatgpt: design-only treatment of the original v20 content. */
:root { --text:#272130; --muted:#696271; --border:#e8e3ed; --soft:#f8f7fa; }
html { scroll-padding-top:105px; }
body { font-size:16px; }
[hidden] { display:none !important; }
.wrap { max-width:1376px; padding-inline:clamp(22px,4.5vw,72px); }
section { padding-block:clamp(64px,7.5vw,112px); }
h1,h2,h3 { letter-spacing:-.035em; }
h2 { font-size:clamp(34px,3.8vw,52px); line-height:1.12; }
h3 { letter-spacing:-.025em; }
.eyebrow { font-size:11px; letter-spacing:.14em; }
.lede { font-size:18px; line-height:1.7; }
.section-head { max-width:760px; gap:18px; margin-bottom:42px; }
.btn { border-radius:9px; min-height:50px; padding-inline:24px; font-size:15px; transition:background .18s,box-shadow .18s; }
.btn-primary:hover { box-shadow:0 5px 16px #5a2ee026; }
.proto { font-size:10px; padding-block:7px; background:#f5f2fa; color:#72667e; font-weight:500; letter-spacing:.02em; }
.site-header { background:#ffffffed; border-bottom-color:#eeeaf2; }
.site-header .wrap { min-height:84px; }
.site-header .logo { width:128px; }
.nav { gap:24px; }
.nav a:not(.btn) { font-size:13px; }
.nav .btn { min-height:42px; font-size:13px; padding-inline:19px; }
.hero { padding-block:80px 94px; }
.hero-grid { gap:48px; }
.hero-copy { gap:25px; }
h1 { font-size:clamp(44px,5.1vw,73px); line-height:1.06; letter-spacing:-.045em; }
.hero h1 .h1-line:last-child { color:var(--purple-deep); }
.hero-copy>.eyebrow { display:flex; align-items:center; gap:10px; }
.hero-copy>.eyebrow::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--purple); }
.hero-copy .lede { font-size:18px; line-height:1.75; color:var(--muted); opacity:1; max-width:53ch; }
.hero .btn-row { margin-top:1px; }
.trust { gap:10px 16px; font-size:12px; font-weight:500; flex-wrap:wrap; }
.trust li::before { width:16px; height:16px; }
.hero .stage { padding:24px; background:#f1edf8; border:1px solid #e7e0f0; border-radius:22px; box-shadow:0 22px 56px #34223e09; }
.hero .panel { border-radius:14px; border-color:#e1dbe9; box-shadow:0 5px 15px #34223e05; }
.panel-top { padding:20px 18px; align-items:flex-start; }
.panel-title { font-size:14px; }
.panel-sub { font-size:11px; line-height:1.6; margin-top:5px; max-width:30ch; }
.ev-list { padding-block:4px; }
.ev-list li { padding:16px 18px; gap:10px; grid-template-columns:28px minmax(0,1fr) auto; }
.ev-name { font-size:13px; line-height:1.45; }
.ev-meta { font-size:11px; line-height:1.6; margin-top:3px; }
.ev-ico { font-size:10px; border-radius:7px; }
.chip { font-size:10px; padding:4px 8px; }
.panel-foot { padding:16px 18px; font-size:11px; gap:10px; }
.meter { height:5px; flex-basis:70px; }
.problem { background:#f6f5f8; }
.problem-stack { grid-template-columns:1.12fr .88fr; gap:38px 64px; align-items:center; justify-items:stretch; }
.problem-head { grid-column:1/-1; text-align:left; max-width:760px; gap:15px; margin-bottom:2px; }
.problem h2 { font-size:clamp(34px,3.8vw,52px); }
.problem-stack .problem-art { max-width:none; }
.problem-art img { mix-blend-mode:multiply; }
.problem-art figcaption { font-size:12px; }
.problem-copy { gap:20px; }
.problem-copy p { font-size:15px; line-height:1.85; color:#625b6b; }
.tabs { padding:10px; border-radius:20px; box-shadow:0 8px 32px #29213204; }
.tablist { padding:7px; gap:8px; }
.tab { min-height:52px; font-size:14px; border-radius:9px; }
.tabpanel { padding:36px; border-radius:13px; }
.tabpanel h3 { font-size:clamp(26px,2.7vw,36px); line-height:1.18; max-width:350px; }
.tabpanel ul { font-size:14px; line-height:1.65; padding:25px; gap:13px; border:1px solid #ffffff; }
.closing-line { margin-top:30px; font-size:22px; color:#63586f; }
.audit { margin-inline:24px; border-radius:24px; }
.audit-grid { gap:64px; }
.audit-copy { gap:23px; }
.audit-copy p.body { font-size:16px; line-height:1.8; }
.belief { font-size:22px; line-height:1.5; border-left-width:2px; }
.audit .points { font-size:14px; line-height:1.7; }
.audit .note { font-size:11px; line-height:1.7; }
.audit-panel { background:#302936; border:1px solid #514458; padding:28px; border-radius:18px; gap:20px; box-shadow:0 18px 50px #0002; }
.audit-q { font-size:10px; letter-spacing:.15em; color:#cfc0dd; }
.audit-ask { font-size:25px; line-height:1.45; }
.audit-ans { gap:11px; }
.audit-ans div { padding:17px; border:1px solid #44384e; font-size:13px; }
.audit-ans small { margin-top:5px; font-size:11px; }
.audit-ans em { font-size:11px; }
.ai { background:white; }
.centre-top { gap:64px; }
.centre-copy { gap:23px; }
.centre-copy .lede { font-size:17px; line-height:1.8; }
.stage-mark { background:#f4f0fa; border:1px solid #ece5f4; border-radius:24px; }
.verb { font-size:14px; }
.example { border-radius:13px; }
.example p { font-size:15px; line-height:1.8; }
.confidence { background:#f7f6f9; }
.conf-grid { gap:64px; }
.conf-copy p { font-size:16px; line-height:1.8; }
.conf-points { font-size:14px; line-height:1.7; gap:15px; }
.quote { padding:36px; background:white; border:1px solid #e6dfed; border-radius:18px; }
.quote blockquote { font-size:clamp(24px,2.6vw,34px); line-height:1.45; letter-spacing:-.025em; }
.quote figcaption { margin-top:28px; }
.segs { gap:16px; }
.seg { border-radius:16px; padding:26px; border-color:#e5deec; }
.seg-ico { background:#f3effa; color:var(--purple-deep); }
.seg h3 { font-size:21px; line-height:1.25; }
.seg p { font-size:14px; line-height:1.8; }
.close { padding-top:0; padding-bottom:80px; }
.close-box { background:#f0eafa; border:1px solid #e7ddf5; border-radius:22px; padding:64px 24px; }
.close-box .lede { font-size:18px; }
footer { padding-top:56px; }
.foot-top { gap:36px; }
.foot-brand p { font-size:13px; line-height:1.9; }
footer h4 { font-size:12px; }
footer ul { font-size:13px; }
.foot-bottom { font-size:11px; padding-block:25px; }
@media(min-width:1000px) { .hero-grid { grid-template-columns:1.04fr 1fr; }.trust { flex-wrap:wrap; } }
@media(min-width:900px) and (max-width:1100px) { .nav { gap:16px; }.nav a:not(.btn) { font-size:12px; }.hero-grid { gap:32px; }.hero .stage { padding:18px; } }
@media(max-width:999px) { .hero { padding-block:56px 72px; }.hero-copy { max-width:720px; }.hero .stage { width:100%; max-width:720px; }.hero-copy .lede { max-width:62ch; }.problem-stack { gap:30px; }.audit { margin-inline:16px; }.centre-top,.conf-grid,.audit-grid { gap:42px; } }
@media(max-width:700px) {
 .site-header .wrap { min-height:74px; }.site-header .logo { width:112px; }.proto { font-size:9px; line-height:1.6; padding-inline:20px; }
 .hero { padding-block:44px 60px; }.hero-grid { gap:36px; }h1 { font-size:clamp(39px,8.5vw,58px); }.h1-line { white-space:normal; }.hero-copy { gap:22px; }.hero-copy .lede { font-size:17px; line-height:1.75; }.trust { font-size:11px; gap:9px 13px; }
 .hero .stage { padding:14px; border-radius:17px; }.panel-top { padding:16px 12px; }.panel-title { font-size:12px; }.panel-sub { font-size:10px; }.ev-list li { padding:13px 12px; gap:8px; grid-template-columns:24px minmax(0,1fr) auto; }.ev-ico { width:24px; height:24px; font-size:9px; }.ev-name { font-size:12px; }.ev-meta { font-size:10px; }.chip { font-size:9px; padding:3px 6px; }.panel-foot { font-size:10px; padding:13px 12px; }
 .problem-stack { grid-template-columns:minmax(0,1fr); gap:27px; }.problem-head { grid-column:auto; }.problem-copy p { font-size:15px; line-height:1.8; }.problem-art figcaption { font-size:11px; }
 .tablist { flex-wrap:nowrap; overflow-x:auto; padding:4px; gap:5px; }.tab { flex:none; min-height:46px; padding-inline:15px; font-size:13px; }.tabpanel { padding:24px 16px; gap:23px; }.tabpanel ul { padding:19px; font-size:13px; }.closing-line { font-size:20px; line-height:1.45; }
 .audit { margin-inline:10px; border-radius:18px; padding-block:54px; }.audit-panel { padding:20px; gap:17px; }.audit-ask { font-size:23px; }.audit-ans div { padding:14px 12px; gap:8px; font-size:12px; }.audit-ans small { font-size:10px; }.audit-ans em { font-size:10px; }.belief { font-size:20px; }
 .quote { padding:27px; }.conf-grid { gap:35px; }.seg { padding:23px; }.close { padding-bottom:48px; }.close-box { padding:46px 23px; }.close-box h2 { font-size:36px; }.close-box .lede { font-size:16px; }.foot-top { gap:28px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } }

/* Header log in link (v24 go-live). Kept visible on phones; header tightened so it fits. */
.nav a.nav-login { font-weight:600; }
@media (max-width:860px) { .nav a.nav-login { display:inline; } }
@media (max-width:520px) {
  .site-header .wrap { gap:10px; }
  .site-header .logo { width:96px; }
  .nav { gap:12px; }
  .nav a.nav-login { font-size:13px; }
  .nav .btn { padding-inline:12px; font-size:13px; min-height:38px; }
}
