@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/baloo-bhaijaan-2-arabic-500-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/baloo-bhaijaan-2-arabic-600-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/baloo-bhaijaan-2-arabic-700-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/baloo-bhaijaan-2-arabic-800-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Baloo Bhaijaan 2';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/baloo-bhaijaan-2-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Kidzi — zellige-inspired learning site. Khatam (8-point star) tiles carry the identity. */
:root{
  --majorelle:#2E46C8; --btn:#2E46C8; --saffron:#F7B21B; --mint:#1E9E75; --rose:#E4527C; --clay:#C4552D;
  --bg:#FFF7EA; --surface:#FFFFFF; --ink:#1B2350; --soft:#56608E; --line:#F0E6D2; --tint:#E8ECFF; --shadow:#EFE3CC;
  --on-accent:#FFFFFF; --on-sun:#1B2350;
  --font:"Baloo Bhaijaan 2","Segoe UI","Tahoma","Arial",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#121838;--surface:#1C244E;--ink:#F2F4FF;--soft:#AEB6E0;--line:#2F3A72;--tint:#232C5C;--majorelle:#8C9CFF;color-scheme:dark}
}
:root[data-theme="dark"]{--bg:#121838;--surface:#1C244E;--ink:#F2F4FF;--soft:#AEB6E0;--line:#2F3A72;--tint:#232C5C;--majorelle:#8C9CFF;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;
}
a{color:inherit}
h1,h2,h3{line-height:1.2;text-wrap:balance;margin:0}
p,ul,ol{margin:0}
.wrap{max-width:1080px;margin:0 auto;padding-inline:18px}
:focus-visible{outline:4px solid var(--saffron);outline-offset:3px;border-radius:12px}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--btn);color:var(--on-accent);padding:8px 14px;border-radius:10px;z-index:20}
.skip:focus{top:12px}

.khatam{
  clip-path:polygon(100% 50%,85.36% 64.64%,85.36% 85.36%,64.64% 85.36%,50% 100%,35.36% 85.36%,14.64% 85.36%,14.64% 64.64%,0% 50%,14.64% 35.36%,14.64% 14.64%,35.36% 14.64%,50% 0%,64.64% 14.64%,85.36% 14.64%,85.36% 35.36%);
  display:grid;place-items:center;font-weight:800;color:var(--on-accent);line-height:1;
}
.c-saffron{background:var(--saffron);color:var(--on-sun)} .c-rose{background:var(--rose)} .c-mint{background:var(--mint)} .c-clay{background:var(--clay)} .c-blue{background:var(--btn)}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--surface);border-bottom:2px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;padding-block:10px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.7rem;color:var(--ink)}
.logo svg{flex:none}
.logo .khatam{width:34px;height:34px;font-size:1rem}
.main-nav{display:flex;gap:4px;margin-inline-start:auto}
.main-nav a{text-decoration:none;font-weight:700;padding:6px 14px;border-radius:999px;display:inline-flex;gap:6px;align-items:center}
.main-nav a[aria-current="page"]{background:var(--tint);color:var(--majorelle)}
.main-nav small{font-size:.72rem;background:var(--saffron);color:var(--on-sun);border-radius:999px;padding:0 8px;font-weight:700}
.langs{display:flex;border:2px solid var(--line);border-radius:999px;padding:3px;background:var(--surface)}
.langs a{font-weight:700;text-decoration:none;color:var(--soft);padding:2px 12px;border-radius:999px;min-width:44px;text-align:center}
.langs a[aria-current="true"]{background:var(--btn);color:var(--on-accent)}
@media (max-width:560px){ .main-nav{order:3;width:100%;justify-content:center;margin:0} .langs{margin-inline-start:auto} }

main{padding-block:28px 64px;display:flex;flex-direction:column;gap:56px}

/* buttons */
.btn{font:inherit;font-weight:800;font-size:1.1rem;text-decoration:none;border:0;border-radius:999px;padding:12px 26px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn);color:var(--on-accent)}
.btn.alt{background:transparent;color:var(--majorelle);box-shadow:inset 0 0 0 3px var(--majorelle)}
.btn.sun{background:var(--saffron);color:var(--on-sun)}

/* breadcrumb */
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-weight:600;color:var(--soft);font-size:.95rem}
.crumbs li+li::before{content:"›";margin-inline-end:6px}
[dir="rtl"] .crumbs li+li::before{content:"‹"}
.crumbs a{text-decoration:none;color:var(--majorelle)}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.hero h1{font-size:clamp(2.2rem,6.4vw,3.8rem);font-weight:800}
.hero p{font-size:1.2rem;color:var(--soft);max-width:46ch;margin-top:14px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.cluster{position:relative;aspect-ratio:1;max-width:400px;width:100%;margin-inline:auto}
.cluster .khatam{position:absolute;font-size:clamp(1.8rem,6vw,3rem)}
.cluster .k1{width:46%;height:46%;inset-inline-start:27%;top:27%;font-size:clamp(2.6rem,9vw,4.6rem)}
.cluster .k2{width:30%;height:30%;inset-inline-start:2%;top:6%}
.cluster .k3{width:28%;height:28%;inset-inline-start:68%;top:10%}
.cluster .k4{width:30%;height:30%;inset-inline-start:6%;top:66%}
.cluster .k5{width:26%;height:26%;inset-inline-start:70%;top:66%}
@media (prefers-reduced-motion:no-preference){
  .cluster .khatam{animation:land .7s cubic-bezier(.3,1.4,.5,1) both}
  .cluster .k2{animation-delay:.12s}.cluster .k3{animation-delay:.24s}.cluster .k4{animation-delay:.36s}.cluster .k5{animation-delay:.48s}
}
@keyframes land{from{transform:scale(.3) rotate(-90deg)}to{transform:scale(1) rotate(0)}}
@media (max-width:760px){ .hero{grid-template-columns:1fr} .cluster{max-width:280px;order:-1} }

.block{display:flex;flex-direction:column;gap:20px;scroll-margin-top:90px}
.head{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.head h2,.block > h2{font-size:clamp(1.6rem,4.4vw,2.3rem)}
.head p{color:var(--soft)}

/* levels */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.levels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.levels{grid-template-columns:1fr}}
.level{text-decoration:none;background:var(--surface);border:3px solid var(--line);border-radius:28px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,transform .15s;min-width:0}
.level:hover{border-color:var(--majorelle);transform:translateY(-3px)}
.level .khatam{width:64px;height:64px;font-size:1.6rem}
.level h3{font-size:1.3rem}
.level .age{color:var(--soft);font-weight:600}
.level .count{margin-top:auto;font-size:.95rem;font-weight:700;color:var(--majorelle)}

/* featured */
.featured{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:#2E46C8;color:#fff;border-radius:32px;padding:24px 28px;text-decoration:none}
.featured .pic{font-size:4.2rem;line-height:1}
.featured h2{font-size:1.6rem}
.featured p{opacity:.92}
.featured .tag{font-size:.9rem;font-weight:700;color:#F7B21B}
@media (max-width:640px){.featured{grid-template-columns:1fr;text-align:center;justify-items:center}}

/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why > div{display:flex;gap:12px;align-items:flex-start}
.why > div > div{display:flex;flex-direction:column;gap:4px;min-width:0}
.why .khatam{flex:none;width:30px;height:30px;margin-top:4px}
.why h3{font-size:1.15rem}
.why p{color:var(--soft);font-size:1rem}
@media (max-width:760px){.why{grid-template-columns:1fr}}

/* prose */
.prose{display:flex;flex-direction:column;gap:14px;max-width:68ch}
.prose p,.prose li{color:var(--ink)}
.prose ul,.prose ol{padding-inline-start:1.3em;display:flex;flex-direction:column;gap:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media (max-width:760px){.two{grid-template-columns:1fr}}

/* faq */
.faq{display:flex;flex-direction:column;gap:10px;max-width:760px}
.faq details{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:12px 18px}
.faq summary{font-weight:700;cursor:pointer;font-size:1.08rem}
.faq details p{margin-top:8px;color:var(--soft)}

/* shop note */
.soon-note{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:3px dashed var(--line);border-radius:26px;padding:18px 22px}
.soon-note .khatam{width:48px;height:48px;flex:none;font-size:1.2rem}
.soon-note > div{flex:1;min-width:200px}
.soon-note h2{font-size:1.3rem}
.soon-note p{color:var(--soft)}

/* level page */
.lvl-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.lvl-hero .khatam{width:96px;height:96px;font-size:2.4rem;flex:none}
.lvl-hero > div{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px}
.lvl-hero h1{font-size:clamp(1.9rem,5.6vw,2.8rem)}
.lvl-hero .age{font-weight:700;color:var(--majorelle)}
.lvl-hero p{color:var(--soft);font-size:1.1rem;max-width:62ch}
.games{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.games{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.games{grid-template-columns:1fr}}
.gcard{background:var(--surface);border:3px solid var(--line);border-radius:26px;padding:18px;display:flex;flex-direction:column;gap:6px;text-decoration:none;min-width:0}
.gcard .pic{font-size:3rem;line-height:1.15}
.gcard h3{font-size:1.2rem}
.gcard p{color:var(--soft);font-size:.98rem}
.gcard .go{margin-top:auto;align-self:flex-start;font-weight:800;padding:4px 18px;border-radius:999px;background:var(--btn);color:var(--on-accent)}
a.gcard:hover{border-color:var(--majorelle)}
.gcard.soon{border-style:dashed}
.gcard.soon .pic{filter:grayscale(.7);opacity:.6}
.gcard.soon .go{background:var(--tint);color:var(--soft)}
.subj-h{font-size:1.25rem;color:var(--soft)}
.lvl-links{display:flex;flex-wrap:wrap;gap:10px}
.lvl-links a{text-decoration:none;font-weight:700;border:2px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 16px}

/* table */
.tbl{overflow-x:auto}
.tbl table{border-collapse:collapse;min-width:280px;background:var(--surface);border-radius:16px;overflow:hidden}
.tbl th,.tbl td{padding:6px 16px;border-bottom:1px solid var(--line);text-align:start}
.tbl th{font-size:.9rem;color:var(--soft)}
.tbl td:first-child{font-weight:800;color:var(--majorelle);font-size:1.2rem}
.words{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;list-style:none;padding:0!important}
.words li{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:6px 12px;display:flex;gap:10px;align-items:center}
.words b{color:var(--majorelle);font-size:1.25rem;min-width:1.2em}

footer.site-foot{border-top:2px solid var(--line);padding-block:28px;color:var(--soft)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:flex-start}
.site-foot p{max-width:44ch}
.site-foot nav{display:flex;gap:8px 18px;flex-wrap:wrap}
.site-foot a{text-decoration:none;font-weight:700;color:var(--ink)}
.ltr{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- v2: language switch ---------- */
.langs .lshort{display:none}
@media (max-width:760px){ .langs .lfull{display:none} .langs .lshort{display:inline} }
.langs a{white-space:nowrap}

/* ---------- v2: homepage ---------- */
.home2{gap:44px}
.hero2{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.hero2 h1{font-size:clamp(1.9rem,5.4vw,3rem);font-weight:800}
.hero2 p{color:var(--soft);font-size:1.12rem;max-width:62ch}
.pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:900px){.pgrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}
.pcard{background:var(--surface);border:3px solid var(--line);border-radius:24px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;text-decoration:none;min-width:0;transition:border-color .15s,transform .15s}
.pcard:hover{border-color:var(--majorelle);transform:translateY(-3px)}
.pcard .pic{font-size:clamp(2.6rem,9vw,3.2rem);line-height:1.1}
.pcard .pname{font-weight:800;font-size:1.02rem;line-height:1.25;overflow-wrap:anywhere}
.pbadge{font-size:.78rem;font-weight:700;border-radius:999px;padding:1px 10px;margin-top:auto}
.pbadge.c-saffron{color:var(--on-sun)}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:760px){.cats{grid-template-columns:repeat(2,1fr)}}
.cat{display:flex;flex-direction:column;gap:4px;text-decoration:none;border-radius:24px;padding:16px 18px;border:3px solid transparent;min-width:0}
.cat:hover{border-color:var(--majorelle)}
.cat .pic{font-size:2.2rem;line-height:1.1}
.cat .cname{font-weight:800;font-size:1.15rem;line-height:1.25}
.cat .ccount{color:var(--soft);font-weight:600;font-size:.95rem}
.c-rose-soft{background:color-mix(in srgb,var(--rose) 14%,var(--surface))}
.c-blue-soft{background:color-mix(in srgb,var(--btn) 13%,var(--surface))}
.c-mint-soft{background:color-mix(in srgb,var(--mint) 15%,var(--surface))}
.c-saffron-soft{background:color-mix(in srgb,var(--saffron) 22%,var(--surface))}
.parents{background:var(--surface);border:3px solid var(--line);border-radius:30px;padding:24px}
.parents > h2{font-size:clamp(1.5rem,4.2vw,2.1rem)}
.pitems{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
@media (max-width:700px){.pitems{grid-template-columns:1fr}}
.pitem{display:flex;gap:12px;align-items:flex-start}
.pitem .pico{font-size:1.7rem;line-height:1.2;flex:none}
.pitem h3{font-size:1.12rem}
.pitem p{color:var(--soft)}

/* ---------- v2: game page parent card ---------- */
.infocard{background:var(--surface);border:3px solid var(--line);border-radius:26px;padding:20px 22px}
.infocard h2{font-size:1.35rem}
.infocard dl{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 20px}
.infocard dl > div{min-width:0}
.infocard dl > div.wide{grid-column:1/-1}
@media (max-width:700px){.infocard dl{grid-template-columns:1fr 1fr}}
.infocard dt{font-size:.88rem;font-weight:700;color:var(--soft)}
.infocard dd{margin:0;font-weight:600}
.infocard dd a{color:var(--majorelle);text-decoration:none}

/* ---------- v2: trust pages ---------- */
.page-prose h1{font-size:clamp(1.9rem,5.4vw,2.6rem)}
.page-prose h2{font-size:1.35rem;margin-top:8px}
.contact-box{background:var(--surface);border:3px solid var(--line);border-radius:20px;padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.contact-box a{color:var(--majorelle);font-weight:700}

/* ---------- v2: footer ---------- */
.site-foot .fcol{display:flex;flex-direction:column;gap:6px;min-width:150px}
.site-foot nav.fcol{gap:4px}


/* ================= design v3: approved mockup ================= */
.wrap{max-width:1200px;padding-inline:20px}
main.home3{gap:52px}
.main-nav a{font-size:1.05rem}
.btn{box-shadow:0 5px 0 #1F33A0}
.btn.alt{box-shadow:inset 0 0 0 3px var(--majorelle);background:var(--surface)}
.btn.sun{box-shadow:0 5px 0 #C98A00}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 3px rgba(255,255,255,.7)}
.btn.big{font-size:1.2rem;padding:14px 30px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.hero3{display:flex;flex-wrap:wrap;align-items:center;gap:28px;padding-top:8px}
.hero-text{flex:1 1 420px;display:flex;flex-direction:column;gap:16px;min-width:0}
.hero-text h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.05;font-weight:800}
.hero-text p{font-size:1.22rem;color:var(--soft);max-width:52ch}
.hero-pic{flex:1 1 380px;max-width:560px;min-width:0}
.hero-art{display:block;width:100%;height:auto}
.badge{align-self:flex-start;background:#FFE3EC;color:#A8204F;font-weight:800;font-size:.92rem;padding:4px 14px;border-radius:999px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips-lbl{font-weight:700;color:var(--soft);font-size:.95rem}
.chip{text-decoration:none;font-weight:700;font-size:.95rem;padding:5px 14px;border-radius:999px}
@media (max-width:640px){ .hero-pic{order:-1;max-width:420px;margin-inline:auto} .hero3 .ctas .btn{flex:1 1 100%} }

/* tags */
.tag{display:inline-block;font-size:.8rem;font-weight:700;padding:1px 10px;border-radius:999px;line-height:1.6}
.t-sun{background:#FFF0C7;color:#7A4B00} .t-rose{background:#FFE3EC;color:#A8204F} .t-mint{background:#DDF3EA;color:#0F6B4F} .t-clay{background:#FBE3D8;color:#9A3D1C}
.t-cat-read{background:#E8ECFF;color:#2E46C8} .t-cat-math{background:#DDF3EA;color:#0F6B4F} .t-cat-logic{background:#F1E9FF;color:#6A3FB5} .t-cat-disc{background:#FFF0C7;color:#7A4B00}

/* stats */
.stats{background:var(--surface);border:2px solid var(--line);border-radius:24px;padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;text-align:center}
.snum{font-size:2.1rem;font-weight:800;line-height:1.1}
.s0{color:#2E46C8} .s1{color:#E4527C} .s2{color:#1E9E75} .s3{color:#C4552D}
.slbl{color:var(--soft);font-weight:600}

/* illustrated game cards */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
@media (max-width:560px){ .ggrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} }
.gc{display:flex;flex-direction:column;background:var(--surface);border:2px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 4px 0 var(--shadow);transition:transform .15s,border-color .15s;min-width:0}
.gc:hover{transform:translateY(-3px);border-color:var(--majorelle)}
.gc-cover svg{display:block;width:100%;height:auto}
.gc-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.gc-name{font-weight:800;font-size:1.12rem;line-height:1.2}
.gc-desc{color:var(--soft);font-size:.95rem;line-height:1.35}
.gc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
@media (max-width:560px){ .gc-body{padding:8px 10px 10px} .gc-name{font-size:1rem} .gc-desc{display:none} }

/* subjects */
.subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
@media (max-width:560px){ .subjects{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .subj svg{width:44px;height:44px} .ssub{display:none} }
.subj{text-decoration:none;color:var(--ink);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:8px;border:3px solid transparent;min-width:0}
.subj:hover{border-color:var(--majorelle)}
.sb-read{background:#E8ECFF} .sb-math{background:#DDF3EA} .sb-logic{background:#F1E9FF} .sb-disc{background:#FFF0C7}
.sname{font-weight:800;font-size:1.3rem;line-height:1.2}
.ssub{color:var(--soft);font-weight:600}
.scount{font-weight:700;color:var(--majorelle)}

/* levels */
.lvls{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
@media (max-width:560px){ .lvls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} }
.lvl{text-decoration:none;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.lvl:hover{border-color:var(--majorelle)}
.lvl-band{height:92px;display:flex;align-items:center;justify-content:center}
.lvl-body{padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.lvl-name{font-weight:800;font-size:1.2rem;line-height:1.2}
.lvl-meta{color:var(--soft);font-weight:600}

/* parents band */
.pband{background:#2E46C8;color:#fff;border-radius:32px;padding:32px;display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.pband-text{flex:1 1 300px;display:flex;flex-direction:column;gap:16px;min-width:0}
.pband h2{font-size:clamp(1.6rem,4vw,2.2rem)}
.pband .pitems{flex:2 1 460px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;min-width:0}
.pband .pitem{display:flex;gap:12px;align-items:flex-start}
.pband .pitem svg{flex:none;margin-top:2px}
.pband .pitem h3{font-size:1.1rem;color:#fff}
.pband .pitem p{color:#E2E7FF;font-size:.98rem}

/* topic + level pages */
.hero-icon{width:110px;height:110px;flex:none;background:var(--surface);border:2px solid var(--line);border-radius:30px;display:flex;align-items:center;justify-content:center}
.lvl-hero{background:var(--surface);border:2px solid var(--line);border-radius:30px;padding:24px}

/* game page */
#ga .start-cover{width:min(300px,80%);border-radius:24px;overflow:hidden;border:2px solid var(--line)}
#ga .start-cover svg{display:block;width:100%;height:auto}
#ga .end-lion{width:150px}
#ga .end-lion svg{display:block;width:100%;height:auto}

/* footer */
footer.site-foot{background:#1B2350;color:#C9D0F2;border-top:0;margin-top:20px}
.site-foot a{color:#E8EBFA}
.site-foot a:hover{color:#FFFFFF}
.fbrand{font-weight:800;font-size:1.6rem;color:#fff}
main > .wrap, main.home3 > section{width:100%}
@media (max-width:560px){ .stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px} .snum{font-size:1.8rem} .slbl{font-size:.9rem;line-height:1.3} }
