/* Front-page composition. Illustrations are native HTML/CSS/SVG; no image downloads. */
.page-front { background:var(--bg); }
.page-front main { max-width:none; margin:0; padding:0; }
.page-front .hero-band { background:var(--brand-band); }
.page-front .landing-content { max-width:var(--content-width); margin:auto; padding:0 var(--page-gutter); }
.page-front .hero { position:relative; margin:0 auto; padding:32px var(--page-gutter) 40px; max-width:var(--content-width); grid-template-columns:1.1fr 1fr; gap:68px; align-items:center; }
.page-front .hero-copy { gap:22px; min-width:0; }
.page-front .section-kicker { display:flex; align-items:center; gap:9px; margin:0 0 14px; font-size:11px; letter-spacing:1.6px; font-weight:900; }
.page-front .hero h1 { font-size:clamp(44px,4.7vw,68px); line-height:1.03; letter-spacing:-3px; font-weight:900; max-width:620px; }
.page-front .hero h1 span { color:#5545ba; }
.page-front .hero .sub { font-size:18px; line-height:1.65; max-width:510px; }
.page-front .hero .btn { border-radius:50px; min-height:54px; padding:15px 26px; }
.page-front .hero-face { position:relative; width:100%; max-width:560px; justify-self:end; padding:20px; border:1px solid #dcd5ed; border-radius:32px; background:var(--brand-panel); box-shadow:0 18px 50px #4b347710; }
.page-front .demo-typing { display:flex!important; flex-direction:column; align-items:center; text-align:center; gap:5px; min-height:64px; width:100%; margin:0 0 12px; padding:10px 16px; border:1px solid #ddd7e7; background:var(--brand-paper); border-radius:16px; box-shadow:0 6px 16px #43335809; font-size:14px; line-height:1.5; }
.page-front .demo-you { font-size:10px; font-weight:900; color:#766785; letter-spacing:.8px; text-transform:uppercase; }
.demo-face-caption { display:flex; justify-content:center; gap:16px; padding:0 7px 9px; font-size:11px; font-weight:800; color:#605275; }
.face-caption-dots { font-size:7px; letter-spacing:3px; }
.page-front .hero-face .robot-bezel { padding:8px; border-radius:28px; margin:0 0 12px; background:#fdfbff; box-shadow:0 14px 25px #33214816; }
.page-front .hero-face .robot-screen { height:auto; aspect-ratio:2.6; border-radius:22px; }
.page-front .mood-chip { background:#ffffffb3; border:1px solid #d3c8e6; padding:6px 12px; font-size:12px; }
.page-front .demo-reading { min-height:48px; margin:10px 4px; text-align:center; color:#53465f; line-height:1.6; font-size:14px; }
.page-front .demo-answer { min-height:70px; width:100%; margin:10px 0 12px; padding:10px 16px; text-align:center; border:1px solid #d3c8e6; border-radius:16px; background:#f9f7fd; color:#53465f; line-height:1.5; font-size:14px; }
.demo-answer strong,.demo-answer span { display:block; }
.demo-answer strong { margin-bottom:5px; font-size:10px; text-transform:uppercase; letter-spacing:.8px; color:#675876; }
.demo-controls { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 12px; align-items:center; }
.demo-controls button { min-height:44px; }
.page-front #tryAnother { padding:8px 16px; border:1px solid #c6b7df; border-radius:30px; background:var(--brand-paper); color:#51418b; font:800 13px Nunito,sans-serif; }
.page-front .demo-controls button[hidden] { display:inline-block!important; visibility:hidden; }
.page-front .demo-disclaimer { margin:8px 0 0; font-size:10px; line-height:1.5; color:#675876; }
.page-front h2 { font-size:clamp(30px,3.2vw,44px); font-weight:900; line-height:1.12; letter-spacing:-1.4px; margin:0 0 18px; }
.page-front h2 em { font-family:Georgia,serif; font-weight:400; }
/* A compact comparison, with the longer explanations on child pages. */
.page-front #conversation.landing-difference { display:block; padding:32px 0 24px; }
.difference-heading { max-width:900px; margin-bottom:20px; }
.page-front .difference-heading h2 { font-size:clamp(28px,3vw,38px); }
.difference-heading > p { color:var(--ink-soft); line-height:1.6; margin:0; }
.difference-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.difference-cards article { padding:16px 22px; border:1px solid var(--line); border-radius:20px; background:var(--brand-paper); }
.difference-cards h3 { font-size:19px; margin:0 0 8px; }
.difference-cards p { font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0; }
.landing-steps { padding:18px 0; border-block:1px solid var(--line); }
.landing-steps ol { display:flex; flex-wrap:wrap; justify-content:space-between; list-style:none; padding:0; margin:0; gap:12px; }
.landing-steps li { display:flex; align-items:center; gap:12px; font-weight:800; }
.landing-steps li > span { color:var(--violet); font-size:20px; }
.landing-steps > a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:800; }
.landing-boundary,.founder-line { font-size:13px; line-height:1.6; color:var(--ink-soft); margin:16px 0; }
.founder-line a { font-weight:800; }
.landing-close { display:flex; flex-wrap:wrap; gap:16px 28px; justify-content:space-between; align-items:center; padding:24px 28px; border-radius:24px; background:var(--violet); color:#fff; }
.page-front .landing-close h2 { font-size:30px; margin:0; }
.close-action { max-width:390px; }
.page-front .landing-close .btn { background:var(--brand-paper); color:var(--violet); border-radius:999px; }
.close-action p { margin:8px 0 0; font-size:12px; line-height:1.5; color:#eee9ff; }
.page-front .site-footer { max-width:var(--content-width); margin:auto; padding:20px var(--page-gutter) 24px; font-size:12px; border:0; }
.reveal { opacity:1; transform:none; transition:none; animation:none; }
@media(max-width:1100px) { .page-front .hero { gap:40px; } .page-front .hero h1 { font-size:52px; } }
@media(max-width:800px) { .page-front .hero { grid-template-columns:1fr; padding:24px var(--page-gutter) 32px; gap:24px; } .page-front .hero h1 { font-size:clamp(40px,7.5vw,60px); letter-spacing:-2px; } .page-front .hero-face { justify-self:center; } }
@media(max-width:540px) { .page-front .hero .sub { font-size:16px; } .page-front .section-kicker { font-size:10px; letter-spacing:1.1px; } .page-front .hero-face { padding:16px; border-radius:28px; } .page-front .demo-typing { min-height:82px; margin-bottom:12px; } .page-front .demo-reading { min-height:82px; font-size:13px; } .page-front .demo-answer { min-height:106px; font-size:13px; } .page-front .hero-face .robot-screen { aspect-ratio:1.7; } .page-front .hero-face .eye { width:54px; } .page-front .hero-face #eyesRow { gap:42px; } .difference-cards { grid-template-columns:1fr; } .difference-cards article { padding:16px 20px; } .landing-close { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .page-front .btn { transition:none; } .page-front .btn:hover { transform:none; } }
