/* Homepage: dimensions use px/em so Bootstrap's root font size stays intact. */
.sk-home { --ink:#211b32; --muted:#485974; --accent:#b7d8ff; color:var(--ink); background:#ffffff; font:16px/1.65 "DM Sans",sans-serif; }
.sk-home .container { width:min(1184px,calc(100% - 48px)); max-width:none; padding:0; margin:auto; }
.sk-home h1,.sk-home h2,.sk-home h3 { font-family:"DM Sans",sans-serif; color:var(--ink); letter-spacing:-.055em; margin:0; }
.sk-home h1 { font-size:clamp(42px,5vw,68px); line-height:1.04; font-weight:700; }
.sk-home h2 { font-size:clamp(30px,3.4vw,44px); line-height:1.12; font-weight:700; }
.sk-home h3 { font-size:30px; line-height:1.2; font-weight:700; }
.sk-home p { color:var(--muted); margin:0; font-size:16px; line-height:1.75; }
.sk-home .sk-eyebrow { color:#485974; font:700 11px/1.5 "DM Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.sk-home [hidden] { display:none!important; }
.sk-home :focus-visible { outline:3px solid #488fed; outline-offset:4px; }
.sk-home section[id] { scroll-margin-top:24px; }
.sk-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:50px; padding:13px 21px; border:1px solid transparent; border-radius:10px; font:600 14px/1.5 "DM Sans",sans-serif; transition:background .2s,box-shadow .2s,transform .2s; text-decoration:none; }
.sk-button:hover { transform:translateY(-2px); }
.sk-button--primary,.sk-button--dark { background:linear-gradient(135deg,#9400ff,#7c3aed); color:white; box-shadow:0 9px 20px rgba(148,0,255,.2); }
.sk-button--primary:hover,.sk-button--dark:hover { background:linear-gradient(135deg,#8300e6,#7500cc); color:white; box-shadow:0 13px 26px rgba(117,0,204,.28); }
.sk-button--secondary { border-color:#b9caea; color:#291fbc; background:transparent; }
.sk-button--light { background:var(--accent); color:#291fbc; }
.sk-hero { position:relative; overflow:hidden; padding:92px 0 88px; background:radial-gradient(circle at 84% 18%,rgba(72,143,237,.18),transparent 29%),radial-gradient(circle at 8% 88%,rgba(34,211,238,.11),transparent 22%),linear-gradient(120deg,#fff 0%,#f6f8ff 52%,#eef4ff 100%); }
.sk-hero:after { content:''; position:absolute; right:-120px; bottom:-250px; width:520px; height:520px; border:1px solid rgba(72,143,237,.18); border-radius:50%; pointer-events:none; }
.sk-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr); gap:62px; align-items:center; }
.sk-hero__content .sk-eyebrow { display:flex; align-items:center; gap:10px; }
.sk-hero__content .sk-eyebrow span { color:#488fed; }
.sk-hero__content h1 span { color:#291fbc; }
.sk-hero__content .sk-hero__lede { font-size:17px; margin-top:26px; max-width:570px; }
.sk-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.sk-home .sk-reassurance { font-size:11px; margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.sk-dashboard { min-width:0; border:1px solid #cbd8ee; background:white; border-radius:20px; overflow:hidden; box-shadow:0 32px 80px rgba(41,31,188,.16); transform:perspective(1200px) rotateY(-1.5deg) rotateX(1deg); }
.sk-dashboard__top { display:flex; align-items:center; gap:15px; padding:15px; border-bottom:1px solid #eaf2ff; }
.sk-dashboard__brand { color:#291fbc; font-size:22px; font-weight:700; letter-spacing:-1px; }
.sk-dashboard__school { font-size:10px; color:#758074; flex:1; }
.sk-dashboard__avatar { background:#dceaff; border-radius:50%; width:28px; height:28px; display:grid; place-items:center; font-size:10px; }
.sk-dashboard__body { display:flex; background:#f6f8ff; }
.sk-dashboard__nav { display:flex; flex-direction:column; gap:18px; background:#291fbc; color:#cbd8ee; padding:20px 12px; }
.sk-dashboard__nav span { width:24px; text-align:center; }
.sk-dashboard__nav .is-active { border-radius:5px; background:#b7d8ff; color:#291fbc; }
.sk-dashboard__main { padding:22px 16px; flex:1; min-width:0; }
.sk-dashboard__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sk-dashboard__heading small { display:block; font-size:8px; letter-spacing:.09em; color:#778472; }
.sk-dashboard__heading strong { display:block; font-size:15px; margin:5px 0; }
.sk-dashboard__heading button { background:#291fbc; border:0; color:#fff; border-radius:5px; padding:8px; font-size:10px; }
.sk-dashboard__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.sk-dashboard__cards article,.sk-dashboard__lower article { padding:12px; background:white; border:1px solid #eaf2ff; border-radius:7px; }
.sk-dashboard__cards span { display:block; font-size:9px; color:#6e7a6c; }
.sk-dashboard__cards b { display:block; font-size:22px; margin:5px 0; }
.sk-dashboard__cards em { display:block; font-size:8px; color:#488fed; font-style:normal; }
.sk-dashboard__lower { display:grid; grid-template-columns:1.2fr 1fr; gap:8px; }
.sk-chart>div:first-child { display:flex; justify-content:space-between; gap:5px; font-size:9px; }
.sk-chart small { font-size:7px; color:#7b8679; }
.sk-bars { display:flex; gap:8px; align-items:end; height:116px; padding-top:15px; }
.sk-bars i { flex:1; background:#8fb8ff; border-radius:3px 3px 0 0; }
.sk-bars i:nth-child(2n) { background:#1f53bc; }
.sk-alerts strong { font-size:10px; }
.sk-home .sk-alerts p { font-size:9px; border-bottom:1px solid #eef4ff; padding:10px 0; }
.sk-alerts b { color:#8b7437; }
.sk-metrics { padding:30px 0; background:#291fbc; border-bottom:1px solid #3e45ca; }
.sk-metrics__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.sk-metrics__grid>div { text-align:center; border-right:1px solid rgba(255,255,255,.2); padding:6px 10px; }
.sk-metrics__grid>div:last-child { border:0; }
.sk-metrics strong { color:#fff; font-size:27px; font-weight:700; letter-spacing:-1px; }
.sk-metrics strong span { color:#8fc5ff; }
.sk-home .sk-metrics p { color:#dbe7ff; font-size:11px; margin-top:3px; }
.sk-section { padding:96px 0; }
.sk-section__intro { max-width:720px; }
.sk-personas { background:#fff; }
.sk-persona-intro > p:last-child { max-width:660px; margin-top:18px; }
.sk-persona-experience { display:grid; grid-template-columns:minmax(285px,.72fr) minmax(0,1.8fr); gap:22px; margin-top:42px; padding:12px; border:1px solid #dce3f4; border-radius:22px; background:#f6f8ff; box-shadow:0 18px 50px rgba(41,31,188,.06); }
.sk-tabs { display:flex; flex-direction:column; gap:8px; padding:5px; }
.sk-tabs button { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 20px; align-items:center; gap:13px; width:100%; min-height:82px; padding:14px; border:1px solid transparent; border-radius:13px; background:transparent; color:#485974; text-align:left; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.sk-tabs button:hover { background:rgba(255,255,255,.75); border-color:#dce3f4; }
.sk-tabs button[aria-selected=true] { border-color:#cbd8ee; background:#fff; color:#291fbc; box-shadow:0 10px 24px rgba(41,31,188,.09); transform:translateX(4px); }
.sk-tab-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:11px; background:#eaf2ff; color:#1f53bc; font-size:17px; }
.sk-tabs button[aria-selected=true] .sk-tab-icon { background:#291fbc; color:#fff; }
.sk-tab-copy { display:block; min-width:0; }
.sk-tab-copy strong,.sk-tab-copy small { display:block; }
.sk-tab-copy strong { color:#211b32; font-size:13px; font-weight:750; line-height:1.3; }
.sk-tab-copy small { margin-top:4px; color:#6d7b95; font-size:10px; line-height:1.35; }
.sk-tabs button[aria-selected=true] .sk-tab-copy strong { color:#291fbc; }
.sk-tab-arrow { color:#8ba0c4; font-size:15px; transition:transform .2s; }
.sk-tabs button[aria-selected=true] .sk-tab-arrow { color:#291fbc; transform:translateX(2px); }
.sk-tab-panels { min-width:0; }
.sk-persona { display:grid; grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); align-items:center; gap:42px; min-height:480px; height:100%; padding:45px; border-radius:16px; background:#fff; }
.sk-persona__content p:not(.sk-eyebrow) { margin-top:17px; font-size:14px; }
.sk-persona__content ul { display:grid; gap:10px; margin:22px 0 25px; padding:0; list-style:none; }
.sk-persona__content li { position:relative; padding-left:25px; color:#3f506d; font-size:12.5px; }
.sk-persona__content li:before { content:'✓'; position:absolute; left:0; top:1px; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#eaf2ff; color:#1f53bc; font-size:10px; font-weight:900; }
.sk-persona a,.sk-faq a { display:inline-flex; align-items:center; gap:12px; color:#1f53bc; font-weight:750; font-size:13px; text-decoration:none; }
.sk-persona a:hover,.sk-faq a:hover { text-decoration:underline; text-underline-offset:4px; }
.sk-persona-board { min-width:0; padding:22px; border:1px solid #cbd8ee; border-radius:16px; background:linear-gradient(145deg,#f8faff,#eef4ff); box-shadow:0 18px 36px rgba(41,31,188,.08); }
.sk-persona-board__top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.sk-persona-board__top span,.sk-persona-board__top strong { display:block; }
.sk-persona-board__top span { color:#6d7b95; font-size:10px; }
.sk-persona-board__top strong { margin-top:3px; color:#211b32; font-size:13px; }
.sk-persona-board__top .sk-live-pill { padding:6px 9px; border-radius:99px; background:#fff; color:#1f53bc; font-size:9px; font-weight:750; box-shadow:0 3px 9px rgba(41,31,188,.08); }
.sk-persona-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sk-persona-stat-grid > div { padding:15px; border:1px solid #e0e7f6; border-radius:11px; background:#fff; }
.sk-persona-stat-grid span,.sk-persona-stat-grid small { display:block; color:#71809a; font-size:9px; }
.sk-persona-stat-grid strong { display:block; margin:7px 0 4px; color:#291fbc; font-size:24px; letter-spacing:-.04em; }
.sk-persona-progress { margin-top:13px; padding:14px; border-radius:11px; background:#fff; }
.sk-persona-progress > span,.sk-persona-progress > small { color:#66758f; font-size:9px; }
.sk-persona-progress > div { height:7px; margin:8px 0; overflow:hidden; border-radius:99px; background:#eaf2ff; }
.sk-persona-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#291fbc,#488fed); }
.sk-class-summary,.sk-collection-chart { display:grid; grid-template-columns:132px 1fr; gap:18px; align-items:center; }
.sk-ring,.sk-donut { display:flex; width:124px; height:124px; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:radial-gradient(circle,#fff 56%,transparent 57%),conic-gradient(#291fbc 0 94%,#dce3f4 94%); }
.sk-ring strong,.sk-donut strong { color:#291fbc; font-size:25px; line-height:1; }
.sk-ring span,.sk-donut span { margin-top:5px; color:#6d7b95; font-size:8px; }
.sk-class-tasks { display:grid; gap:8px; }
.sk-home .sk-class-tasks p { display:flex; align-items:center; gap:10px; margin:0; padding:9px; border-radius:9px; background:#fff; font-size:9px; }
.sk-class-tasks i { display:grid; width:27px; height:27px; place-items:center; border-radius:8px; background:#eaf2ff; color:#1f53bc; }
.sk-class-tasks span,.sk-class-tasks strong,.sk-class-tasks small { display:block; }
.sk-class-tasks strong { color:#2a3045; font-size:9px; }
.sk-class-tasks small { color:#7b89a2; font-size:8px; }
.sk-collection-legend { display:grid; gap:10px; }
.sk-home .sk-collection-legend p { display:flex; align-items:center; gap:9px; margin:0; padding:8px 10px; border-radius:8px; background:#fff; color:#66758f; font-size:9px; }
.sk-collection-legend i { width:8px; height:8px; border-radius:50%; background:#291fbc; }
.sk-collection-legend p:nth-child(2) i { background:#488fed; }
.sk-collection-legend p:nth-child(3) i { background:#0e7490; }
.sk-collection-legend span { display:flex; justify-content:space-between; gap:8px; width:100%; }
.sk-collection-legend strong { color:#211b32; }
.sk-parent-preview { padding:15px; }
.sk-phone { max-width:270px; margin:auto; padding:18px; border:5px solid #291fbc; border-radius:27px; background:#fff; box-shadow:0 14px 30px rgba(41,31,188,.14); }
.sk-phone__top { display:flex; justify-content:space-between; color:#291fbc; font-size:10px; font-weight:750; }
.sk-student-chip { display:flex; align-items:center; gap:10px; margin:17px 0; padding:10px; border-radius:10px; background:#eef4ff; }
.sk-student-chip > span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#291fbc; color:#fff; font-size:9px; }
.sk-student-chip strong,.sk-student-chip small { display:block; }
.sk-student-chip strong { color:#211b32; font-size:9px; }
.sk-student-chip small { color:#6d7b95; font-size:7px; }
.sk-parent-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.sk-parent-actions span { display:grid; place-items:center; gap:5px; padding:10px 4px; border:1px solid #e0e7f6; border-radius:9px; color:#485974; font-size:7px; }
.sk-parent-actions i { color:#1f53bc; font-size:13px; }
.sk-parent-notice { display:grid; gap:3px; margin-top:12px; padding:11px; border-left:3px solid #0e7490; border-radius:0 8px 8px 0; background:#ecfeff; }
.sk-parent-notice small { color:#0e7490; font-size:6px; font-weight:800; letter-spacing:.1em; }
.sk-parent-notice strong { color:#211b32; font-size:9px; }
.sk-parent-notice span { color:#6d7b95; font-size:7px; }
.sk-modules { background:#f6f8ff; }
.sk-section__intro--split { max-width:none; display:grid; grid-template-columns:1.6fr 1fr; gap:90px; align-items:end; }
.sk-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:40px; }
.sk-module-card { display:block; padding:28px; background:#ffffff; border:1px solid #dce3f4; border-radius:12px; transition:transform .2s,box-shadow .2s; }
.sk-module-card:hover { transform:translateY(-4px); box-shadow:0 12px 26px #291fbc10; }
.sk-module-card__icon { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#eef4ff; color:#1f53bc; font-size:22px; }
.sk-module-card h3 { font-size:21px; letter-spacing:-.025em; margin:23px 0 12px; }
.sk-home .sk-module-card p { font-size:14px; }
.sk-module-card b { display:block; margin-top:22px; color:#1f53bc; font-size:12px; }
.sk-integration-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.sk-integration-layout p:not(.sk-eyebrow) { margin:22px 0; }
.sk-integration-orbit { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sk-orbit-core { grid-column:1/-1; background:#291fbc; color:#dceaff; padding:25px; font-size:26px; font-weight:600; border-radius:12px; text-align:center; }
.sk-orbit-core small { font-size:11px; font-weight:400; letter-spacing:.08em; }
.sk-orbit-item { padding:20px 12px; background:#f6f8ff; border:1px solid #dce3f4; border-radius:8px; text-align:center; font-size:13px; }
.sk-orbit-item:last-child { grid-column:1/-1; }
.sk-calculator { background:#291fbc; }
.sk-calculator__layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.sk-calculator h2 { color:#ffffff; }
.sk-home .sk-calculator .sk-eyebrow { color:#b7d8ff; }
.sk-home .sk-calculator p { color:#cbd8ee; margin-top:20px; }
.sk-home .sk-calculator__note { font-size:12px; }
.sk-calculator__card { border-radius:14px; padding:32px; background:#ffffff; }
.sk-calculator__card label { display:flex; justify-content:space-between; gap:16px; color:#291fbc; font-size:12px; margin:18px 0 10px; }
.sk-calculator__card label:first-child { margin-top:0; }
.sk-calculator__card input { width:100%; accent-color:#1f53bc; min-height:24px; }
.sk-calculator__results { padding:14px; background:#f6f8ff; border-radius:8px; margin:20px 0; }
.sk-home .sk-calculator__results p { display:flex; align-items:center; justify-content:space-between; gap:18px; color:#485974; font-size:11px; margin:8px 0; }
.sk-calculator__results strong { color:#291fbc; font-size:16px; white-space:nowrap; }
.sk-faq__layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.sk-faq__layout>div>p:not(.sk-eyebrow) { margin:20px 0; }
.sk-accordion details { border-bottom:1px solid #dce3f4; padding:20px 0; }
.sk-accordion details:first-child { border-top:1px solid #dce3f4; }
.sk-accordion summary { font-size:15px; font-weight:600; cursor:pointer; }
.sk-home .sk-accordion p { font-size:14px; margin-top:14px; }
.sk-final-cta { background:#e8efff; text-align:center; padding:80px 0; }
.sk-final-cta .container { max-width:760px; }
.sk-final-cta p:not(.sk-eyebrow) { margin-top:20px; }
.sk-final-cta .sk-button { background:linear-gradient(135deg,#9400ff,#7c3aed); color:white; margin-top:26px; box-shadow:0 9px 20px rgba(148,0,255,.2); }
.sk-final-cta .sk-button:hover { background:linear-gradient(135deg,#8300e6,#7500cc); box-shadow:0 13px 26px rgba(117,0,204,.28); }
.sk-final-cta small { display:block; margin-top:20px; font-size:11px; }
@media(max-width:991px) {
 .sk-hero { padding:56px 0; }
 .sk-hero__grid { grid-template-columns:1fr; gap:38px; }
 .sk-hero__content { max-width:650px; }
 .sk-dashboard { max-width:720px; width:100%; transform:none; }
 .sk-section { padding:64px 0; }
 .sk-persona-experience { grid-template-columns:1fr; }
 .sk-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sk-tabs button[aria-selected=true] { transform:none; }
 .sk-persona { min-height:0; gap:32px; padding:32px; }
 .sk-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sk-section__intro--split,.sk-integration-layout,.sk-calculator__layout,.sk-faq__layout { grid-template-columns:1fr; gap:32px; }
 .sk-calculator__card { max-width:680px; }
}
@media(max-width:575px) {
 .sk-home .container { width:calc(100% - 36px); }
 .sk-hero { padding:40px 0; }
 .sk-home h1 { font-size:40px; }
 .sk-home h2 { font-size:29px; }
 .sk-home h3 { font-size:24px; }
 .sk-home p { font-size:14px; }
 .sk-actions { display:grid; }
 .sk-button { width:100%; }
 .sk-dashboard__nav { display:none; }
 .sk-dashboard__top { padding:12px; gap:10px; }
 .sk-dashboard__main { padding:16px 10px; }
 .sk-dashboard__cards article { padding:8px; }
 .sk-dashboard__cards b { font-size:20px; }
 .sk-dashboard__lower { grid-template-columns:1fr; }
 .sk-alerts { display:none; }
 .sk-metrics__grid { grid-template-columns:1fr 1fr; gap:20px 0; }
 .sk-metrics__grid>div:nth-child(2) { border:0; }
 .sk-metrics strong { font-size:22px; }
 .sk-section { padding:48px 0; }
 .sk-persona-experience { gap:10px; margin-top:28px; padding:8px; border-radius:17px; }
 .sk-tabs { grid-template-columns:1fr 1fr; gap:6px; padding:0; }
 .sk-tabs button { grid-template-columns:34px minmax(0,1fr); min-height:70px; gap:9px; padding:10px; }
 .sk-tab-icon { width:34px; height:34px; font-size:13px; }
 .sk-tab-copy strong { font-size:11px; }
 .sk-tab-copy small,.sk-tab-arrow { display:none; }
 .sk-persona { grid-template-columns:1fr; gap:28px; padding:24px 18px; border-radius:13px; }
 .sk-persona-board { padding:15px; }
 .sk-persona-stat-grid strong { font-size:21px; }
 .sk-class-summary,.sk-collection-chart { grid-template-columns:105px 1fr; gap:10px; }
 .sk-ring,.sk-donut { width:100px; height:100px; }
 .sk-module-grid { grid-template-columns:1fr; margin-top:26px; }
 .sk-module-card { padding:24px; }
 .sk-home .sk-module-card h3 { font-size:21px; }
 .sk-calculator__card { padding:22px 18px; }
 .sk-calculator__results strong { font-size:14px; }
 .sk-final-cta { padding:52px 0; }
}
@media(max-width:380px) {
 .sk-tabs { grid-template-columns:1fr; }
 .sk-tabs button { min-height:62px; }
 .sk-class-summary,.sk-collection-chart { grid-template-columns:1fr; }
 .sk-ring,.sk-donut { margin:auto; }
}
@media(prefers-reduced-motion:reduce) { .sk-home * { transition:none!important; } }
