/* Nora site: plain CSS, system fonts, no external resources */
:root{--ink:#1b1b2f;--muted:#5f6378;--bg:#fbfaff;--card:#fff;--line:#e6e4f3;--acc:#4f46e5;--acc2:#7c3aed;--soft:#f0eeff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}
a{color:var(--acc)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(28px,5vw,48px)}
h2{font-size:clamp(22px,3.4vw,32px);margin-top:1.4em}
h3{font-size:18px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
.muted{color:var(--muted)}.small{font-size:14px;color:var(--muted)}
.lead{font-size:clamp(17px,2.2vw,20px);color:#3b3e57;max-width:34em}
/* header */
.top{position:sticky;top:0;z-index:5;background:rgba(251,250,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}
.bar nav{display:flex;gap:18px;margin-left:auto}
.bar nav a{color:var(--muted);text-decoration:none;font-size:15px}
.bar nav a:hover{color:var(--acc)}
/* buttons */
.btn{display:inline-block;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:12px;box-shadow:0 6px 18px rgba(79,70,229,.25);transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-sm{padding:9px 16px;font-size:14px;box-shadow:none}
.btn-ghost{background:#fff;color:var(--acc);border:1.5px solid var(--acc);box-shadow:none}
.btn-light{background:#fff;color:var(--acc)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 10px}
/* hero */
.hero{padding:56px 0 40px;background:radial-gradient(900px 400px at 85% 0,#e7e3ff,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.chat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px rgba(79,70,229,.12)}
.m{max-width:88%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45}
.m.bot{background:var(--soft);border-bottom-left-radius:4px;align-self:flex-start}
.m.me{background:var(--acc);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.m.ok{background:#e8f7ee}
/* sections */
.sec{padding:36px 0}
.sec.alt{background:var(--soft);padding:48px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.card p{margin:0;color:var(--muted)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps li{counter-increment:s;background:#fff;border-radius:16px;padding:20px;border:1px solid var(--line)}
.steps li:before{content:counter(s);display:block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:var(--acc);color:#fff;font-weight:700;margin-bottom:10px}
/* program */
.weeks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;align-items:start}
.week{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 16px}
.week summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:12px 0;list-style:none}
.week summary::-webkit-details-marker{display:none}
.wn{font-size:12px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.06em}
.wt{font-weight:700}.we{color:var(--muted);font-size:13px;margin-left:auto}
.week ul{list-style:none;margin:0 0 12px;padding:0}
.week li{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--line)}
.week li span{font-size:14px;color:var(--muted)}
/* plans */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:760px;margin:16px 0}
.plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.plan.hot{border:2px solid var(--acc)}
.pr{font-size:40px;font-weight:800;margin:6px 0 10px}
.plan ul{padding-left:18px;margin:0 0 18px;color:var(--muted)}
/* faq */
.qa{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 18px;margin-bottom:10px}
.qa summary{cursor:pointer;font-weight:600;padding:14px 0}
.qa p{margin:0 0 14px;color:var(--muted)}
.cta-band{background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;text-align:center;padding:56px 0}
.cta-band h2{margin-top:0}
/* legal pages */
.legal{padding:40px 20px 56px;max-width:860px}
.legal h1{font-size:clamp(26px,4vw,38px)}
.legal-body h2{font-size:20px;margin-top:1.6em}
.legal-body li{margin-bottom:6px}
/* footer */
.foot{border-top:1px solid var(--line);padding:32px 0;background:#fff;margin-top:24px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;font-size:14px}
.foot-grid a{display:block;color:var(--muted);text-decoration:none;margin:4px 0}
.foot-grid a:hover{color:var(--acc)}
.foot p{margin:4px 0;color:var(--muted)}
.foot b{display:block;margin-bottom:6px}
@media(max-width:900px){
 .hero-grid{grid-template-columns:1fr}
 .cards{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
 .bar nav{display:none}.bar .btn-sm{margin-left:auto}
 .cards,.steps,.weeks,.plans,.foot-grid{grid-template-columns:1fr}
 .hero{padding:32px 0 24px}
 .we{margin-left:0;width:100%}
}
