/* Shared styling for parent/teacher/school/ecosystem & one-pagers */
:root{
  --brand:#7c3aed; --brand2:#10b981; --ink:#1f2937; --muted:#6b7280;
  --bg:#fffdf7; --card:#fff; --line:#e5e7eb;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:920px;margin:0 auto;padding:1.5rem}
header.site{background:linear-gradient(135deg,#7c3aed,#10b981);color:#fff;padding:1.5rem 0}
header.site .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
header.site a{color:#fff}
.brand{font-weight:900;font-size:1.4rem}
.brand span{color:#fef3c7}
.nav a{margin-left:1rem;font-weight:600;opacity:.92}
.hero{padding:2rem 1.5rem;background:linear-gradient(180deg,#fef3c7 0%,transparent 100%);border-radius:16px;margin-bottom:1.5rem}
.hero h1{margin-top:0;font-size:2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tag{display:inline-block;background:#ede9fe;color:#5b21b6;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.65rem 1.1rem;border-radius:8px;font-weight:700}
.btn.alt{background:var(--brand2)}
.btn:hover{filter:brightness(.95);text-decoration:none}
footer{padding:2rem 0;text-align:center;color:var(--muted);font-size:.85rem;margin-top:2rem;border-top:1px solid var(--line)}
h2{color:#3b0764;margin-top:1.5rem}
ul.checks{list-style:none;padding-left:0}
ul.checks li{padding-left:1.5rem;position:relative;margin:.4rem 0}
ul.checks li:before{content:"✓";position:absolute;left:0;color:var(--brand2);font-weight:900}
table.simple{width:100%;border-collapse:collapse}
table.simple th,table.simple td{padding:.55rem;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}
table.simple th{background:#faf7ff;color:#3b0764}
@media print {
  header.site, footer, .noprint { display:none !important; }
  body { background:#fff }
  .card { box-shadow:none; border:1px solid #ccc }
  .wrap { max-width:100%; padding:0.25in }
}
