.sp-shell{padding-bottom:60px;background:var(--msid-white);}
.sp-hero{padding:40px 0 48px;position:relative;overflow:hidden;}
.sp-hero-pattern{position:absolute;inset:0;background:var(--msid-white);}
.sp-breadcrumb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.6);font-size:var(--msid-type-ui);margin-bottom:24px;}
.sp-breadcrumb a{color:rgba(255,255,255,.8);text-decoration:none;}
.sp-breadcrumb a:hover{color:white;}
.sp-hero-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:1;}
.sp-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--msid-radius-pill);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.95);font-size:var(--msid-type-ui);font-weight:700;margin-bottom:14px;}
.sp-hero-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;color:white;line-height:1.2;letter-spacing:-.5px;margin-bottom:12px;}
.sp-hero-desc{color:rgba(255,255,255,.8);font-size:1rem;line-height:1.8;max-width:500px;}
.sp-hero-stats{display:flex;flex-direction:column;gap:12px;flex-shrink:0;}
.sp-hstat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--msid-radius-control);padding:14px 20px;text-align:center;min-width:120px;}
.sp-hstat-n{display:block;font-size:1.6rem;font-weight:900;color:white;}
.sp-hstat-l{font-size:var(--msid-type-sm);color:rgba(255,255,255,.75);margin-top:2px;}
.sp-section{margin-bottom:40px;}
.sp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:18px;}
.sp-section-title{font-size:1.3rem;font-weight:900;color:var(--text-dark);margin-bottom:4px;}
.sp-section-sub{font-size:var(--msid-type-ui);color:var(--text-mid);}
.sp-types-section{padding:28px 0;background:var(--msid-white);border-bottom:1px solid var(--border);}
.sp-types-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin-top:16px;}
.sp-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:var(--msid-radius-card);text-align:center;background:var(--msid-white);border:1.5px solid rgba(0,0,0,.07);cursor:pointer;text-decoration:none;transition:transform .2s, box-shadow .2s, border-color .2s;position:relative;}
.sp-type-card:hover{transform:translateY(-3px);box-shadow:var(--msid-shadow-md);border-color:var(--tc,var(--msid-subtle));}
.sp-type-card.active{border-color:var(--tc,var(--msid-text-secondary));border-width:2px;box-shadow:var(--msid-shadow-md);}
.sp-type-icon{font-size:1.6rem;}
.sp-type-label{font-size:var(--msid-type-ui);font-weight:800;color:var(--tc,var(--msid-text));line-height:1.3;}
.sp-type-check{position:absolute;top:8px;left:8px;background:var(--msid-white);color:var(--msid-ink);width:18px;height:18px;border-radius:50%;font-size:0.6rem;display:flex;align-items:center;justify-content:center;font-weight:900;}
.sp-filters-bar{background:var(--msid-white);border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:64px;z-index:80;}
.sp-filters-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.sp-filter-group{display:flex;flex-direction:column;gap:3px;}
.sp-filter-label{font-size:var(--msid-type-xs);font-weight:800;color:var(--text-mid);}
.sp-filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--msid-radius-control);font-family:var(--font-ar);font-size:var(--msid-type-ui);color:var(--text-dark);background:var(--msid-white);cursor:pointer;outline:none;min-width:140px;}
.sp-filter-select:focus{border-color:var(--accent-bd);}
.sp-filter-reset{padding:8px 14px;border-radius:var(--msid-radius-control);background:transparent;border:1px solid rgba(108,108,108,.25);color:var(--msid-muted);font-size:var(--msid-type-ui);font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s;}
.sp-filter-reset:hover{background:transparent;}
.sp-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.sp-active-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:var(--msid-radius-pill);background:var(--msid-white);border:1px solid var(--accent-bd);color:var(--accent-txt);font-size:var(--msid-type-sm);font-weight:700;}
.sp-active-chip a{color:var(--accent-txt);text-decoration:none;font-weight:900;}
.sp-body{padding-top:28px;}
.sp-results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:var(--msid-type-ui);color:var(--text-mid);}
.sp-results-sort strong{color:var(--accent-txt);}
.sp-empty{text-align:center;padding:3rem;color:var(--text-mid);background:var(--msid-white);border-radius:var(--msid-radius-card);border:1px solid var(--border);}
.sp-trainers-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:16px;}
.sp-trainer-card{background:var(--msid-white);border:1px solid var(--border);border-radius:var(--msid-radius-card);padding:20px 16px;text-align:center;position:relative;box-shadow:var(--shadow-sm);transition:transform .2s, box-shadow .2s, border-color .2s;}
.sp-trainer-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent-bd);}
.sp-trainer-badge{position:absolute;top:10px;left:10px;background:var(--msid-white);color:var(--accent-txt);border:1px solid var(--accent-bd);font-size:var(--msid-type-xs);font-weight:800;padding:3px 8px;border-radius:var(--msid-radius-pill);}
.sp-trainer-dot{position:absolute;top:10px;right:10px;width:10px;height:10px;background:var(--msid-white);border-radius:50%;border:2px solid var(--card);}
.sp-trainer-av{width:70px;height:70px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:900;border:2px solid var(--border);overflow:hidden;}
.sp-trainer-name{font-size:var(--msid-type-meta);font-weight:900;color:var(--text-dark);margin-bottom:4px;}
.sp-trainer-rol{font-size:var(--msid-type-sm);color:var(--text-mid);margin-bottom:8px;}
.sp-trainer-meta{display:flex;justify-content:center;gap:10px;font-size:var(--msid-type-sm);color:var(--text-mid);margin-bottom:8px;flex-wrap:wrap;}
.sp-trainer-price{font-size:0.875rem;font-weight:900;color:var(--accent-txt);margin-bottom:12px;}
.sp-trainer-actions{display:flex;gap:6px;}
/* School-support cards share the same editorial rhythm as marketplace listings. */
.sp-teachers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;}
.sp-teacher-card{background:var(--msid-white);border:1px solid var(--border);border-radius:var(--msid-radius-card);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0;height:auto;align-self:start;}
.sp-teacher-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-bd);}
.sp-tc-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--msid-surface-soft);color:var(--msid-ink);text-decoration:none;}
.sp-tc-media-img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-tc-media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.1rem;font-weight:900;background:var(--msid-surface-soft);color:var(--msid-text);}
.sp-tc-ad-label,.sp-tc-verified{position:absolute;top:12px;z-index:2;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:var(--msid-radius-pill);font-size:var(--msid-type-xs);font-weight:900;line-height:1;}
.sp-tc-ad-label{right:12px;background:var(--msid-aubergine);color:var(--msid-ivory);}
.sp-tc-verified{left:12px;background:var(--msid-lime);color:var(--msid-ink);border-color:var(--msid-lime);}
.sp-tc-card-body{display:flex;flex-direction:column;gap:12px;padding:16px;height:auto;}
.sp-tc-card-tags{display:flex;gap:6px;flex-wrap:wrap;min-height:25px;}
.sp-tc-card-tags>span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid var(--msid-line);border-radius:var(--msid-radius-pill);background:var(--msid-white);color:var(--msid-text-secondary);font-size:var(--msid-type-xs);font-weight:800;}
.sp-tc-card-title{font-size:1rem;font-weight:900;line-height:1.45;margin:0;color:var(--text-dark);}
.sp-tc-card-title a{color:inherit;text-decoration:none;}
.sp-tc-card-role{margin:-6px 0 0;color:var(--text-mid);font-size:var(--msid-type-sm);line-height:1.6;}
.sp-tc-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:2px;}
.sp-tc-card-facts div{min-width:0;padding:9px 10px;border:1px solid var(--msid-line-soft);border-radius:var(--msid-radius-control);background:var(--msid-surface-soft);}
.sp-tc-card-facts small{display:block;margin-bottom:2px;color:var(--msid-muted);font-size:var(--msid-type-xs);font-weight:700;}
.sp-tc-card-facts strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--msid-text);font-size:var(--msid-type-sm);font-weight:900;}
.sp-tc-card-facts strong span{font-weight:700;color:var(--msid-muted);}
.sp-tc-card-footer{margin-top:2px;padding-top:12px;border-top:1px solid var(--border);}
.sp-tc-card-price{margin-bottom:10px;color:var(--msid-ink);font-size:1rem;font-weight:900;}
.sp-tc-card-price small{font-size:var(--msid-type-xs);font-weight:700;color:var(--msid-muted);}
.sp-tc-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sp-btn-view,.sp-btn-wa{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border-radius:var(--msid-radius-control);font-size:var(--msid-type-sm);font-weight:900;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;}
.sp-btn-view{background:var(--msid-aubergine);border:1px solid var(--msid-aubergine);color:var(--msid-ivory);}
.sp-btn-view:hover{background:var(--msid-aubergine-hover);color:var(--msid-ivory);}
.sp-btn-wa{background:var(--msid-surface);border:1px solid var(--msid-aubergine-line);color:var(--msid-aubergine);}
.sp-btn-wa:hover{background:var(--msid-aubergine-soft);border-color:var(--msid-aubergine);color:var(--msid-aubergine);}
.sp-btn-wa-sm{width:34px;height:34px;border-radius:var(--msid-radius-sm);background:var(--msid-white);border:1px solid var(--msid-subtle);color:var(--msid-text-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--msid-type-meta);text-decoration:none;}
.sp-btn-view-sm{padding:7px 12px;border-radius:var(--msid-radius-sm);background:var(--msid-white);border:1px solid var(--accent-bd);color:var(--accent-txt);font-size:var(--msid-type-sm);font-weight:700;text-decoration:none;}
.sp-inst-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:14px;}
.sp-inst-card{background:var(--msid-white);border:1.5px solid var(--border);border-radius:var(--msid-radius-card);padding:16px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow-sm);transition:transform .2s, box-shadow .2s;}
.sp-inst-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.sp-inst-logo{width:54px;height:54px;border-radius:var(--msid-radius-control);background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;overflow:hidden;border:1px solid var(--border);}
.sp-inst-info{flex:1;}
.sp-inst-name{font-size:var(--msid-type-meta);font-weight:900;color:var(--text-dark);margin-bottom:4px;}
.sp-inst-loc{font-size:var(--msid-type-sm);color:var(--text-mid);margin-bottom:8px;}
.sp-inst-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.sp-inst-actions{display:flex;gap:6px;}
.sp-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--msid-radius-pill);font-size:var(--msid-type-xs);font-weight:700;border:1px solid;}
.sp-badge-v{background:var(--msid-white);color:var(--accent-txt);border-color:var(--accent-bd);}
.sp-badge-quran,.sp-badge-lang{background:var(--msid-white);color:var(--msid-text-secondary);border-color:var(--msid-line);}
.sp-kinder-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px;}
.sp-kinder-card{background:var(--msid-white);border:1.5px solid var(--border);border-radius:var(--msid-radius-card);padding:18px;box-shadow:var(--shadow-sm);transition:transform .2s, box-shadow .2s;}
.sp-kinder-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.sp-kcard-header{display:flex;gap:14px;margin-bottom:12px;}
.sp-kcard-logo{width:60px;height:60px;border-radius:var(--msid-radius-card);overflow:hidden;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0;border:1px solid var(--border);}
.sp-kcard-name{font-size:var(--msid-type-body-sm);font-weight:900;color:var(--text-dark);margin-bottom:4px;}
.sp-kcard-loc{font-size:var(--msid-type-sm);color:var(--text-mid);margin-bottom:8px;}
.sp-kcard-badges{display:flex;gap:6px;flex-wrap:wrap;}
.sp-kcard-desc{font-size:var(--msid-type-ui);color:var(--text-mid);line-height:1.7;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sp-kcard-services{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.sp-ksrv-chip{padding:4px 10px;border-radius:var(--msid-radius-pill);background:rgba(255,255,255,.7);border:1px solid var(--border);font-size:var(--msid-type-xs);font-weight:700;color:var(--text-dark);}
.sp-kcard-footer{display:flex;gap:8px;}
.sp-grade-tabs-wrap{background:var(--msid-white);border-bottom:1px solid var(--border);overflow-x:auto;}
.sp-grade-tabs{display:flex;gap:0;min-width:max-content;}
.sp-grade-tab{padding:12px 16px;font-size:var(--msid-type-ui);font-weight:700;color:var(--text-mid);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none;transition:color .2s, border-color .2s;}
.sp-grade-tab:hover{color:var(--gtc,var(--msid-text-secondary));}
.sp-grade-tab.active{color:var(--gtc,var(--accent-txt));border-bottom-color:var(--gtc,var(--primary));}
.sp-subjects-wrap{padding:14px 0;background:var(--msid-white);border-bottom:1px solid var(--border);}
.sp-subjects-grid{display:flex;flex-wrap:wrap;gap:8px;}
.sp-subject-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--msid-radius-pill);background:var(--msid-white);border:1.5px solid transparent;color:var(--sc,var(--msid-text-secondary));font-size:var(--msid-type-ui);font-weight:700;text-decoration:none;transition:transform .2s, border-color .2s;}
.sp-subject-pill:hover{border-color:var(--sc,var(--msid-subtle));transform:scale(1.03);}
.sp-subject-pill.active{border-color:var(--sc,var(--msid-text-secondary));border-width:2px;box-shadow:var(--msid-shadow-sm);}
.sp-langs-section{padding:28px 0;border-bottom:1px solid var(--border);}
.sp-langs-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin-top:16px;}
.sp-lang-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border-radius:var(--msid-radius-card);text-align:center;background:var(--msid-white);border:1.5px solid rgba(0,0,0,.07);cursor:pointer;text-decoration:none;transition:transform .2s, border-color .2s;}
.sp-lang-card:hover{transform:translateY(-3px);border-color:var(--lc,var(--msid-subtle));}
.sp-lang-card.active{border-color:var(--lc,var(--msid-text-secondary));border-width:2px;}
.sp-lang-flag{font-size:2rem;}
.sp-lang-name{font-size:0.875rem;font-weight:900;color:var(--lc,var(--msid-text));}
.sp-lang-certs{font-size:var(--msid-type-xs);color:var(--text-mid);}
.sp-checklist-box{background:var(--msid-white);border:1px solid var(--border);border-radius:var(--msid-radius-card);padding:24px;box-shadow:var(--shadow-sm);}
.sp-check-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px,1fr));gap:10px;margin-top:14px;}
.sp-check-item{display:flex;align-items:flex-start;gap:10px;font-size:var(--msid-type-ui);color:var(--text-dark);}
.sp-check-icon{color:var(--accent-txt);font-weight:900;flex-shrink:0;}
.sp-tips-box{background:var(--msid-white);border:1px solid var(--border);border-radius:var(--msid-radius-card);padding:24px;}
.sp-tips-title{font-size:1rem;font-weight:900;color:var(--text-dark);margin-bottom:16px;}
.sp-tips-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px,1fr));gap:12px;}
.sp-tip{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--msid-radius-control);background:var(--msid-white);border:1px solid var(--border);}
.sp-tip-icon{font-size:1.3rem;flex-shrink:0;}
.sp-tip strong{display:block;font-size:var(--msid-type-ui);margin-bottom:3px;color:var(--text-dark);}
.sp-tip p{font-size:var(--msid-type-sm);color:var(--text-mid);line-height:1.6;margin:0;}
.sp-callout{border-radius:var(--msid-radius-card);overflow:hidden;}
.sp-callout-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:28px 32px;flex-wrap:wrap;}
.sp-callout-text h3{color:white;font-size:1.1rem;font-weight:900;margin-bottom:6px;}
.sp-callout-text p{color:rgba(255,255,255,.8);font-size:0.875rem;margin:0;}
.sp-callout-btn{display:inline-flex;align-items:center;padding:12px 22px;border-radius:var(--msid-radius-control);background:white;color:var(--text-dark);font-size:var(--msid-type-meta);font-weight:900;text-decoration:none;white-space:nowrap;transition:opacity .2s;}
.sp-callout-btn:hover{opacity:.9;}
@media (max-width:1180px){.sp-teachers-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.sp-teachers-grid{grid-template-columns:1fr;gap:14px;}.sp-tc-media{aspect-ratio:16/9;}}
@media (max-width:1024px){.sp-types-grid, .sp-langs-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:768px){.sp-hero-content{flex-direction:column;}
.sp-hero-stats{flex-direction:row;}
.sp-hstat{min-width:auto;flex:1;}
.sp-types-grid{grid-template-columns:repeat(2,1fr);}
.sp-langs-grid{grid-template-columns:repeat(2,1fr);}
.sp-callout-inner{padding:20px;}}
@media (max-width:480px){.sp-subjects-grid .sp-subject-pill{font-size:var(--msid-type-sm);padding:5px 10px;}}


/* School support: shared level navigation for home and dedicated directory. */
.sp-school-level-guide{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 0 4px;color:var(--msid-text-secondary);font-size:var(--msid-type-ui);font-weight:700;white-space:nowrap}
.msid-school-levels{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 22px}
.msid-school-levels a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 13px;border:1px solid var(--msid-line);border-radius:var(--msid-radius-pill);background:var(--msid-white);color:var(--msid-ink);font-size:var(--msid-type-ui);font-weight:800}
.msid-school-levels a:hover,.msid-school-levels a:focus-visible{background:var(--msid-lime);border-color:var(--msid-lime);color:var(--msid-ink)}
.msid-home-school-grid{margin-top:4px}
@media(max-width:760px){.sp-school-level-guide{align-items:flex-start;flex-direction:column;gap:2px}.msid-school-levels{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.msid-school-levels a{white-space:nowrap}}

/* Shared empty states used by asynchronous filters. */
.msid-grid-empty{grid-column:1/-1}
.msid-filter-empty{grid-column:1/-1;text-align:center;padding:2rem;border:1px dashed var(--border);border-radius:var(--msid-radius-card);background:var(--card);color:var(--text-mid);direction:rtl}

/* Exam years need stronger visual priority than regular school levels. */
.sp-grade-tab.is-lycee-3,.msid-school-levels a.is-lycee-3{background:#eff6ff;border:1.5px solid #93c5fd;color:#1d4ed8;font-weight:900;box-shadow:0 0 16px rgba(37,99,235,.14)}
.sp-grade-tab.is-lycee-3{margin-inline:4px;border-radius:var(--msid-radius-control);border-bottom-width:1.5px}
.sp-grade-tab.is-lycee-3:hover,.msid-school-levels a.is-lycee-3:hover{background:#2563eb;border-color:#2563eb;color:#fff}
.sp-grade-tab.is-lycee-3.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;-webkit-text-fill-color:#fff}

/* Home editorial module: one lead story + four compact stories = exactly five posts. */
.msid-home-articles-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:stretch}
.msid-home-article{display:grid;grid-template-columns:150px minmax(0,1fr);background:var(--msid-white);border:1px solid var(--msid-line);border-radius:var(--msid-radius-card);overflow:hidden;min-width:0}
.msid-home-article.is-featured{grid-row:span 4;grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr) auto}
.msid-home-article-media{display:flex;min-height:132px;background:var(--msid-surface-soft);overflow:hidden;align-items:center;justify-content:center;color:var(--msid-muted);font-weight:900;text-decoration:none}
.msid-home-article.is-featured .msid-home-article-media{min-height:300px}
.msid-home-article-media img{width:100%;height:100%;object-fit:cover;display:block}
.msid-home-article-copy{padding:16px;display:flex;flex-direction:column;min-width:0}
.msid-home-article-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--msid-muted);font-size:var(--msid-type-sm);margin-bottom:8px}
.msid-home-article h3{font-size:1rem;line-height:1.55;margin:0 0 7px}.msid-home-article.is-featured h3{font-size:clamp(1.25rem,2vw,1.7rem)}
.msid-home-article h3 a{color:var(--msid-ink);text-decoration:none}.msid-home-article p{color:var(--msid-text-secondary);font-size:var(--msid-type-ui);line-height:1.75;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msid-home-article.is-featured p{-webkit-line-clamp:3}
.msid-home-article-link{margin-top:auto;color:var(--msid-ink);font-weight:850;font-size:var(--msid-type-ui);text-decoration:none}
@media(max-width:900px){.msid-home-articles-grid{grid-template-columns:1fr}.msid-home-article.is-featured{grid-row:auto}.msid-home-article.is-featured .msid-home-article-media{min-height:240px}}
@media(max-width:560px){.msid-home-article{grid-template-columns:112px minmax(0,1fr)}.msid-home-article.is-featured{grid-template-columns:1fr}.msid-home-article-copy{padding:13px}.msid-home-article:not(.is-featured) p{display:none}}

/* 6.3 — Homepage card system: school-support card is the visual reference. */
body.home .mc-catalog-grid,
body.home .msid-home-school-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;direction:rtl}
body.home .mc-catalog-grid>.sp-teacher-card,
body.home .msid-home-school-grid>.sp-teacher-card{height:100%;align-self:stretch;display:flex;flex-direction:column}
body.home .mc-catalog-grid .sp-tc-media,
body.home .msid-home-school-grid .sp-tc-media{aspect-ratio:16/10;flex:0 0 auto}
body.home .mc-catalog-grid .sp-tc-card-body,
body.home .msid-home-school-grid .sp-tc-card-body{height:100%;flex:1}
body.home .mc-catalog-grid .sp-tc-card-title,
body.home .msid-home-school-grid .sp-tc-card-title{min-height:2.9em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body.home .mc-catalog-grid .sp-tc-card-role,
body.home .msid-home-school-grid .sp-tc-card-role{min-height:1.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.home .mc-catalog-grid .sp-tc-card-footer,
body.home .msid-home-school-grid .sp-tc-card-footer{margin-top:auto}
body.home .msid-home-section-cta{display:flex;justify-content:center;margin-top:28px}
body.home .msid-home-marketplace-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid var(--msid-aubergine);border-radius:var(--msid-radius-control);background:var(--msid-aubergine);color:var(--msid-ivory);-webkit-text-fill-color:var(--msid-ivory);font-weight:900;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
body.home .msid-home-marketplace-btn:hover,body.home .msid-home-marketplace-btn:focus-visible{background:var(--msid-lime);border-color:var(--msid-lime);color:var(--msid-aubergine-dark);-webkit-text-fill-color:var(--msid-aubergine-dark);transform:translateY(-1px);box-shadow:var(--msid-shadow-md)}

/* Homepage one-row modules. */
body.home .mc-trainer-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
body.home .mc-trainer-grid>.trainer-card{height:100%;align-self:stretch}
body.home .msid-book-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
body.home .msid-book-grid>.msid-book-card{height:100%}
body.home .msid-home-articles-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch;direction:rtl}
body.home .msid-home-article{display:flex;flex-direction:column;min-width:0;height:100%}
body.home .msid-home-article .msid-home-article-media{width:100%;min-height:0;aspect-ratio:16/10}
body.home .msid-home-article .msid-home-article-copy{height:100%;flex:1}
body.home .msid-home-article h3{font-size:1rem;min-height:3.1em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.home .msid-home-article p{display:none}

/* Hero featured advertisement replaces the old search prompt card. */

@media(max-width:1180px){
  body.home .mc-trainer-grid,body.home .msid-home-school-grid,body.home .msid-book-grid,body.home .msid-home-articles-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:8px;overscroll-behavior-inline:contain}
  body.home .mc-trainer-grid>* ,body.home .msid-home-school-grid>* ,body.home .msid-book-grid>*{flex:0 0 min(310px,78vw);scroll-snap-align:start}
  body.home .msid-home-articles-grid>*{flex:0 0 min(280px,76vw);scroll-snap-align:start}
  body.home .mc-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  body.home .mc-catalog-grid{grid-template-columns:1fr;gap:14px}
  body.home .msid-home-section-cta{margin-top:20px}
  body.home .msid-home-marketplace-btn{width:100%}
}
