/* AI Compass 4 Schools · Talisman AI */
body{ margin:0;background:#131316;color:#F4F3F0;font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
@media (min-width:768px){ body{ font-size:18px}
}
html{ scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto}
}
*,*::before,*::after{ box-sizing:border-box}
a{ color:#F28A70}
a:hover{ color:#F8B3A2}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{ outline:3px solid #F28A70;outline-offset:3px;border-radius:6px}
[id]{ scroll-margin-top:84px}
.sr-only{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{ position:absolute;left:16px;top:-80px;z-index:100;background:#F28A70;color:#131316;padding:12px 18px;border-radius:8px;font-weight:700;text-decoration:none}
.skip:focus{ top:12px;color:#131316}
.wrap{ max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.sec{ padding-block:clamp(64px,8vw,112px)}
.sec-alt{ background:#18181C;border-top:1px solid #26262C;border-bottom:1px solid #26262C}
.eyebrow{ font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#F28A70;margin:0 0 14px}
.h2{ font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;letter-spacing:-.02em;font-weight:700;margin:0;max-width:30ch;text-wrap:balance}
.lead{ font-size:1.125rem;line-height:1.65;color:#C9C7C1;max-width:68ch;margin:18px 0 0;text-wrap:pretty}
.head{ margin-bottom:clamp(32px,4vw,48px)}
.grid{ display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.grid-sm{ display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.card{ background:#1C1C21;border:1px solid #303037;border-radius:16px;padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:12px}
.num{ font-variant-numeric:tabular-nums;color:#F28A70;font-weight:800;font-size:.875rem;letter-spacing:.04em}
.h3{ font-size:1.1875rem;font-weight:700;line-height:1.3;margin:0;letter-spacing:-.005em}
.p{ color:#C9C7C1;line-height:1.6;margin:0}
.small{ font-size:.9375rem;color:#B9B7B1;line-height:1.6;margin:0}
.label{ font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#A9A7A1;margin:0}
.btn{ display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit;text-align:center}
.btn-primary{ background:#F28A70;color:#131316}
.btn-primary:hover{ background:#F6A28D;color:#131316}
.btn-ghost{ border-color:#5B5B64;color:#F4F3F0;background:transparent}
.btn-ghost:hover{ border-color:#F4F3F0;color:#F4F3F0}
.btn-block{ width:100%}
.pill{ display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;line-height:1.3;white-space:nowrap}
.pill-rec{ background:#F28A70;color:#131316}
.pill-soft{ background:#2A2A31;color:#DEDCD6}
.rec{ border:2px solid #F28A70;box-shadow:0 0 0 6px rgba(242,138,112,.12)}
.list{ list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.li{ display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.ic{ flex:none;margin-top:3px}
.ic-yes{ color:#F28A70}
.ic-no{ color:#8E8C87}
.tlink{ font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
summary{ list-style:none;cursor:pointer}
summary::-webkit-details-marker{ display:none}
.nav-link{ color:#E3E1DC;text-decoration:none;font-size:.9375rem;font-weight:600;padding:10px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.nav-link:hover{ color:#FFFFFF;background:#1F1F25}
.nav-link[aria-current="page"]{ color:#F28A70}
.nav-desktop{ display:flex}
.nav-mobile{ display:none}
@media (max-width:1120px){ .nav-desktop{ display:none}
.nav-mobile{ display:block}
}
.dropdown{ position:relative}
.drop-panel{ position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:280px;max-width:calc(100vw - 32px);max-height:75vh;overflow:auto;background:#1C1C21;border:1px solid #34343C;border-radius:14px;padding:8px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.drop-panel a{ color:#E3E1DC;text-decoration:none;padding:11px 14px;border-radius:8px;font-weight:600;font-size:.9375rem}
.drop-panel a:hover{ background:#26262D;color:#FFFFFF}
.drop-sep{ height:1px;background:#303037;margin:6px 8px}
.subnav{ position:sticky;top:0;z-index:40;background:rgba(19,19,22,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #2A2A30}
.subnav-list{ position:relative;list-style:none;margin:0;padding:8px 0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav-list::-webkit-scrollbar{ display:none}
.subnav-link{ display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:#C9C7C1;text-decoration:none;font-size:.875rem;font-weight:600;white-space:nowrap}
.subnav-link:hover{ color:#FFFFFF;background:#1F1F25}
.subnav-link.is-active{ color:#131316;background:#F28A70}
.seg{ display:inline-flex;padding:5px;border-radius:999px;background:#1C1C21;border:1px solid #34343C;gap:4px}
.seg button{ min-height:44px;padding:0 22px;border-radius:999px;border:0;background:transparent;color:#DEDCD6;font:inherit;font-weight:700;font-size:.9375rem;cursor:pointer}
.seg button:hover{ color:#FFFFFF}
.seg button[aria-pressed="true"]{ background:#F28A70;color:#131316}
.price{ font-size:clamp(2.25rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.bar{ display:block;height:10px;border-radius:999px;background:#2E2E35;overflow:hidden}
.bar-fill{ display:block;height:100%;border-radius:999px;background:#F28A70}
.tbl-wrap{ position:relative;overflow-x:auto;border:1px solid #303037;border-radius:16px;background:#1A1A1F}
.cmp{ width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:.9375rem}
.cmp caption{ text-align:left;padding:0 0 12px;color:#B9B7B1}
.cmp th,.cmp td{ padding:13px 18px;border-bottom:1px solid #2A2A31;text-align:center;vertical-align:middle}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{ border-bottom:0}
.cmp th[scope="row"]{ text-align:left;font-weight:500;color:#E7E5E0}
.cmp .stick{ position:sticky;left:0;z-index:2;background:#1A1A1F;box-shadow:1px 0 0 #2A2A31;width:42%;min-width:200px}
.cmp thead th{ background:#202026;vertical-align:bottom;padding-top:20px;padding-bottom:18px}
.cmp thead .stick{ background:#202026}
.cmp .grp th{ background:#16161A;text-align:left;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:#F28A70;font-weight:800;padding-top:16px;padding-bottom:12px}
.cmp .grp th span{ position:sticky;left:18px}
.cmp .recol{ background:rgba(242,138,112,.08);box-shadow:inset 2px 0 0 #F28A70,inset -2px 0 0 #F28A70}
.cmp thead .recol{ background:#2C211F;box-shadow:inset 2px 0 0 #F28A70,inset -2px 0 0 #F28A70,inset 0 3px 0 #F28A70}
.yes{ color:#F28A70;font-weight:800;font-size:1.125rem}
.no{ display:inline-block;width:14px;height:2px;border-radius:2px;background:#77757F;vertical-align:middle}
.cap{ font-size:.875rem;color:#B9B7B1;margin:12px 0 0;display:flex;gap:8px;align-items:flex-start}
.field{ display:flex;flex-direction:column;gap:8px}
.field label{ font-weight:600;font-size:.9375rem}
.input{ width:100%;min-height:48px;background:#131316;border:1px solid #55555E;border-radius:10px;color:#F4F3F0;padding:12px 14px;font:inherit;font-size:1rem}
.input:hover{ border-color:#77777F}
textarea.input{ min-height:150px;resize:vertical}
.foot a{ color:#D3D1CB;text-decoration:none}
.foot a:hover{ color:#FFFFFF;text-decoration:underline}
.ext::after{ content:" \2197";font-weight:700}

