/* CLASP additions; existing learning-app layouts remain intact. */
.clasp-page { background:#080c1c; color:#eef6ff; }
.clasp-page .site-header,.clasp-page .site-footer { border-color:#273247; }
.clasp-page .brand strong,.clasp-page h1,.clasp-page h2,.clasp-page h3 { color:#f2f7ff; }
.clasp-page .brand small,.clasp-page .site-header nav a,.clasp-page .site-footer,.clasp-page .site-footer a { color:#acb7cb; }
.clasp-page .eyebrow { color:#00dfed; }
.clasp-page p,.clasp-page li { color:#bac6d9; }
.clasp-page .lead { color:#d0dced; }
.clasp-page a { color:#00deed; }
.clasp-page .button.primary,.clasp-home .button.primary { background:#00d6e7; color:#051523; border-color:#00d6e7; box-shadow:0 8px 36px #00d6e726; }
.clasp-page .button.secondary { background:#121a2b; color:#eaf7ff; border-color:#405069; }
.clasp-hero { padding-top:60px; padding-bottom:70px; background:radial-gradient(ellipse at 85% 45%,#b300811c,transparent 60%); }
.clasp-hero h1 { font-size:clamp(44px,6vw,76px); margin:30px 0 12px; }
.clasp-hero .clasp-tagline { font-size:clamp(30px,4vw,52px); line-height:1.12; font-weight:750; color:#00ddea; margin:0 0 26px; }
.clasp-hero .app-heading { flex-wrap:wrap; gap:18px; }
.clasp-feature-phone { width:min(100%,325px); margin:auto; padding:7px; border:1px solid #35445d; background:#090d1a; border-radius:38px; box-shadow:0 0 90px #00d7ed19,20px 35px 80px #d5008b16; }
.clasp-feature-phone img { width:100%; height:auto; display:block; border-radius:31px; }
.clasp-page .clasp-release { font-size:14px; margin-top:22px; color:#9daac0; }
.clasp-page .feature-grid article { background:linear-gradient(145deg,#111d30,#111224); border:1px solid #29364b; border-radius:22px; }
.clasp-page .clasp-number { color:#f139b1; font:700 24px ui-monospace,monospace; }
.clasp-explainer { max-width:880px; margin-top:28px; line-height:1.8; }
.clasp-language-nav nav { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.clasp-language-nav nav a { padding:12px 24px; border:1px solid #35516b; border-radius:30px; text-decoration:none; font-weight:700; }
.clasp-shots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.clasp-shots figure { margin:0; min-width:0; }
.clasp-shots img { display:block; width:100%; height:auto; border:1px solid #2a3950; border-radius:24px; }
.clasp-shots figcaption { padding:16px 4px; font-size:15px; line-height:1.5; color:#bac6d9; }
.clasp-page .contact-band { background:#101f30; border:1px solid #264457; }
.clasp-home { background:linear-gradient(120deg,#eafcff,#f7edfb); border-radius:28px; padding:40px; box-sizing:border-box; }
a:focus-visible { outline:3px solid #d52b94; outline-offset:5px; }
@media(max-width:760px) {
 .clasp-hero { grid-template-columns:1fr; gap:38px; padding-top:30px; }
 .clasp-feature-phone { max-width:270px; }
 .clasp-shots { gap:16px; }
 .clasp-home { padding:24px; }
}
@media(max-width:540px) {
 .clasp-shots { grid-template-columns:1fr; }
 .clasp-shots figure { max-width:330px; margin:0 auto 20px; }
 .clasp-hero h1 { overflow-wrap:anywhere; }
 .clasp-language-nav nav a { padding:11px 19px; }
}
.clasp-home .screenshot-grid { align-items:start; }
.clasp-home .screenshot-grid img { width:100%; height:auto; }
.clasp-home .check-list + p { margin-top:22px; }
