/* Public signature landing: independent of authenticated application styles. */
:root { color-scheme: light; --ink:#182139; --muted:#526078; --primary:#6d28d9; --line:#ddd9e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1rem; line-height:1.65; }
a { color:#5b21b6; text-underline-offset:4px; }
a:hover { color:#401580; }
a:focus-visible,summary:focus-visible { outline:3px solid #9b68ec; outline-offset:5px; }
.wrap { width:min(1140px,calc(100% - 48px)); margin-inline:auto; }
.narrow { max-width:820px; }
header { border-bottom:1px solid var(--line); }
.nav { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:20px; }
.nav div,.actions,footer div { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.brand { font-size:2rem; font-weight:800; letter-spacing:-1.5px; color:var(--ink); text-decoration:none; }
.brand span { color:var(--primary); }
.button { display:inline-block; background:var(--primary); border-radius:12px; padding:12px 22px; color:white; font-weight:650; text-decoration:none; }
.button:hover { background:#5420a6; color:white; }
.hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; padding-block:88px; }
.eyebrow { font-size:.76rem; font-weight:750; letter-spacing:.1em; color:#6d28d9; }
h1 { font-size:clamp(2.45rem,4.4vw,3.8rem); line-height:1.09; letter-spacing:-.045em; margin:20px 0 26px; }
h2 { font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.22; letter-spacing:-.03em; margin:0 0 20px; }
h3 { font-size:1.1rem; line-height:1.4; margin:0 0 10px; }
p { margin:0 0 20px; }
.lead { color:var(--muted); font-size:1.15rem; }
.actions { margin-top:32px; }
.journey { background:#f8f6fc; padding:32px; border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 50px #3020500c; }
.journey h2 { font-size:1.5rem; }
.journey ol { padding-left:26px; margin:26px 0 0; }
.journey li { padding-left:10px; margin:0 0 22px; }
.journey li:last-child,.journey li:last-child p { margin-bottom:0; }
.journey li::marker { color:var(--primary); font-weight:800; }
.journey p:not(.eyebrow),article p { color:var(--muted); }
.purpose { background:#f1ebfd; padding-block:56px; text-align:center; }
.purpose p { margin-bottom:0; }
.section { padding-block:70px; }
.intro { max-width:780px; color:var(--muted); font-size:1.1rem; margin-bottom:32px; }
.cards { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
article { border:1px solid var(--line); border-radius:18px; padding:30px; }
.school { background:#f7f9fc; }
.checklist { display:grid; grid-template-columns:1fr 1fr; gap:18px 40px; padding-left:22px; margin-bottom:32px; }
.checklist li { padding-left:5px; }
.checklist li::marker { color:var(--primary); }
.legal { border-left:3px solid var(--primary); padding-left:20px; font-size:.94rem; margin-bottom:0; }
details { border-bottom:1px solid var(--line); padding:20px 0; }
summary { cursor:pointer; font-weight:650; }
details p { margin:18px 0 0; color:var(--muted); }
.closing { text-align:center; background:#eee7fa; padding-block:60px; }
footer { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:35px; font-size:.88rem; }
.skip { position:absolute; left:16px; top:-100px; background:white; padding:10px; z-index:10; }
.skip:focus { top:10px; }
@media (max-width:760px) { .hero { grid-template-columns:1fr; gap:36px; padding-block:48px; } .cards,.checklist { grid-template-columns:1fr; } .nav { padding-block:16px; align-items:flex-start; } .nav div { gap:12px; justify-content:flex-end; } .nav div > a:first-child { font-size:.9rem; } .nav .button { padding:9px 13px; } .section { padding-block:44px; } .journey { padding:25px; } footer { align-items:flex-start; flex-direction:column; } footer div { gap:15px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.document-example { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:40px; align-items:center; }
.document-example figure { margin:0; min-width:0; }
.document-example img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 35px #18213912; }
.document-example figcaption { margin:16px 0; color:var(--muted); font-size:.95rem; }
.document-detail p { padding:16px; background:#f1ebfd; border-radius:12px; font-size:.88rem; }
@media (max-width:760px) { .document-example { grid-template-columns:1fr; gap:28px; } }
