*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Le Petit Prince finalized brand identity: Prince Blue, Warm Cream, Sunshine, Coral, Sage, Lavender */
  --navy:#2F4F7F; --navy2:#5D769B; --orange:#FF8A7A; --gold:#F3C24B;
  /* dark terracotta tone of the brand coral, for small text (WCAG AA) */
  --orange-ink:#A83A2B; --on-orange:#123252;
  --page:#FAF6EF; --ice:#F5F8F4; --peach:#FFEDEB; --lilac:#EAF2FE; --cream:#FDF4DF;
  --body:#44525F; --line:#D9E5F0;
  --card:0 24px 60px -38px rgba(0,43,81,.55);
;--tint-pink:#FBDCE4; --tint-amber:#FAE4BC; --tint-green:#DCEBC7; --tint-blue:#D6E4FD;
  --ink-pink:#D33F68; --ink-amber:#BE7C15; --ink-green:#5A8730; --ink-blue:#3768CC;
  --c-pink:#EA5780;--c-amber:#F3B23E;--c-blue:#6797F7;--c-green:#8BBC58;--c-indigo:#3A3D6F}
html{scroll-behavior:smooth}
body{font-family:"Plus Jakarta Sans","Tajawal",system-ui,sans-serif;color:var(--body);background:var(--page);
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:"Fraunces","Tajawal",serif;font-weight:600;
  color:var(--navy);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
:focus-visible{outline:3px solid var(--orange-ink);outline-offset:3px;border-radius:8px}
/* on the navy surfaces the red ring is harsh - use the brand gold there */
.nav :focus-visible,.menupanel :focus-visible,.hero :focus-visible,.phero :focus-visible,
.trust :focus-visible,.navyblock :focus-visible,.final :focus-visible,.mob :focus-visible,
footer :focus-visible{outline-color:var(--gold);outline-width:2.5px}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.4rem}
.pad{padding:6rem 0}
@media(max-width:700px){.pad{padding:4rem 0}}

/* ---------- buttons ---------- */
.btn{display:inline-block;border:0;cursor:pointer;font-family:"Plus Jakarta Sans","Tajawal",sans-serif;
  font-weight:600;font-size:1rem;padding:1.05rem 2.1rem;border-radius:500px;
  background:var(--gold);color:var(--navy);transition:transform .18s,background .25s,color .25s}
.btn:hover{transform:translateY(-2px)}
.btn.navy{background:var(--navy);color:#fff}
.btn:hover{background:#E9B42E;color:var(--navy)}
.btn.navy:hover{background:var(--navy2)}
.btn.line{background:transparent;border:1.6px solid rgba(255,255,255,.8);color:#fff;padding:.75rem 1.6rem;font-size:.95rem}
.btn.line:hover{background:#fff;color:var(--navy)}

/* ---------- nav ---------- */
.nav{position:fixed;inset-inline:0;top:0;z-index:80;transition:background .3s}
.nav .wrap{display:flex;align-items:center;gap:1.5rem;height:96px}
.nav .brand{line-height:0;display:block}
.nav img{height:52px;width:auto}
.nav ul{display:none;gap:1.9rem;list-style:none;margin-inline-start:auto;font-weight:500;font-size:1rem}
.nav a{color:#fff}
.nav ul a{opacity:.92}.nav ul a:hover{opacity:1;color:#fff}
.nav .act{display:flex;gap:.8rem;align-items:center;margin-inline-start:auto}
@media(min-width:1040px){.nav ul{display:flex}.nav .act{margin-inline-start:0}}
/* ---- Arabic version not published yet: delete the next line to bring the ع toggle back ---- */
[data-soon]{display:none!important}
.lang{width:40px;height:40px;flex:none;display:grid;place-items:center;font-size:1.05rem;font-weight:700;line-height:1;
  border:1.6px solid rgba(255,255,255,.5);border-radius:50%;padding:0;transition:background .25s,border-color .25s}
.lang:hover{background:rgba(255,255,255,.14);border-color:#fff}
/* the isolated ain sits low in the line box because of its tail - nudge the ink to the true centre */
.lang .lgc{display:block;transform:translate(-1px,-3.5px)}
.burger{width:40px;height:40px;flex:none;display:grid;place-content:center;gap:5px;padding:0;cursor:pointer;
  background:none;border:1.6px solid rgba(255,255,255,.5);border-radius:50%;transition:background .25s,border-color .25s}
.burger:hover{background:rgba(255,255,255,.14);border-color:#fff}
.nav ul a,.nav .act .btn{white-space:nowrap}
@media(min-width:821px){
  .nav ul{gap:clamp(.9rem,1.5vw,1.7rem)}
  .nav .wrap{gap:1.1rem}
  .nav .act{gap:.6rem}
}
@media(min-width:821px) and (max-width:1120px){
  .nav ul{font-size:.92rem}
  .nav .act .btn{padding-inline:1rem;font-size:.9rem}
}
.burger span{display:block;width:17px;height:2px;border-radius:2px;background:#fff;transition:transform .3s,opacity .2s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.menuwrap{position:fixed;inset:0;z-index:130}
.menuwrap[hidden]{display:none}
.menuscrim{position:absolute;inset:0;background:rgba(20,30,50,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.menuwrap.show .menuscrim{opacity:1}
.menupanel{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(88vw,380px);background:var(--navy);color:#fff;
  padding:5rem 2rem 2.4rem;overflow-y:auto;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.8,.2,1);
}
[dir="rtl"] .menupanel{transform:translateX(-100%)}
.menuwrap.show .menupanel{transform:none}
.menuclose{position:absolute;top:1.1rem;inset-inline-end:1.4rem;width:40px;height:40px;border-radius:50%;
  border:1.6px solid rgba(255,255,255,.45);background:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.menukick{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin:0 0 .9rem}
.menukick + .menulist{margin-bottom:2.2rem}
.menulist{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.menulist a{display:block;color:#fff;font-family:var(--serif,inherit);font-size:1.18rem;font-weight:600;
  padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.12);transition:color .2s,padding-inline-start .25s}
.menulist a:hover{color:var(--gold);padding-inline-start:.35rem}
.menulist.small a{font-size:.98rem;font-weight:500;opacity:.92}
.menufoot{margin-top:2.2rem;display:grid;gap:1rem;justify-items:start}
.menufoot .btn{width:100%;text-align:center}
.mcall{color:#fff;opacity:.85;font-size:.95rem}

.nav.solid{background:var(--navy)}
@media(max-width:700px){.nav .wrap{height:78px}.nav img{height:42px}.nav .act .btn{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(96vh,820px);display:grid;place-items:center;
  text-align:center;padding:10rem 0 9rem;isolation:isolate;overflow:hidden}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,22,.42) 0%,rgba(6,14,22,0) 24%),linear-gradient(90deg,rgba(10,20,28,.74) 0%,rgba(10,20,28,.58) 30%,rgba(10,20,28,.22) 60%,rgba(10,20,28,.04) 100%)}
.hero .wrap{max-width:1000px;position:relative}
.hero h1,.hero .hl{color:#fff;font-size:clamp(2rem,3.9vw,3.4rem);line-height:1.12;letter-spacing:-.015em}
.hero h1 span,.hero .hl span{display:block}
.hero p{color:#FAF6EF;font-size:clamp(1.02rem,1.4vw,1.25rem);max-width:46ch;margin:1.6rem auto 0}
.hero .cta{margin-top:2.4rem}

/* wave dividers */
.wave{position:absolute;inset-inline:0;line-height:0;z-index:3;pointer-events:none}
.wave.bot{bottom:-1px}.wave.top{top:-1px}
.wave svg{width:100%;height:clamp(50px,5.5vw,90px);display:block}

/* doodles */
.dd{position:absolute;pointer-events:none}
@media(max-width:900px){.dd{display:none}}

/* ---------- shared section head ---------- */
.kick{display:block;color:var(--orange-ink);font-weight:600;font-size:.9rem;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
.h2{font-size:clamp(2rem,4.4vw,3.1rem)}
.head{text-align:center;max-width:44ch;margin:0 auto 3.4rem;position:relative}
.head p{margin-top:1.1rem;font-size:1.04rem}
.head.wide{max-width:58ch}

/* ---------- about ---------- */
.two{display:grid;gap:3.5rem;align-items:center}
@media(min-width:960px){.two{grid-template-columns:1fr 1.05fr;gap:4.5rem}}
.about p.lede{margin-top:1.3rem;max-width:48ch}
.two > div > p + p, .prose > p + p{margin-top:1.05rem}
.stats{display:grid;gap:1.1rem;margin-top:2.4rem;max-width:420px}
.stat{border-radius:24px;padding:1.3rem 1.6rem;display:flex;align-items:center;gap:1.1rem}
.stat b{font-family:"Fraunces","Tajawal",serif;font-size:2.1rem;color:var(--navy);line-height:1;white-space:nowrap}
.stat span{font-size:.95rem;line-height:1.45}
.stat.a{background:var(--lilac)} .stat.b{background:var(--cream)}
/* photo collage */
.collage{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:1.1rem;align-items:start}
.collage img{width:100%;object-fit:cover}
.collage .i1{grid-column:1;height:340px;border-radius:130px 26px 26px 90px}
.collage .i2{grid-column:2;height:180px;border-radius:26px 90px 26px 26px}
.collage .i3{grid-column:1/-1;height:250px;border-radius:26px 26px 120px 26px;margin-top:-40px;
  margin-inline-start:22%}
@media(max-width:620px){.collage .i1{height:250px}.collage .i3{margin-inline-start:0;height:190px}}
/* phones: one photo only, a rectangle with an arched top */
@media(max-width:820px){
  .collage{display:block}
  .collage .i1,.collage .i2,.collage .i3{display:none}
  .collage .i4{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:480px;margin:0;
    border-radius:18px;object-position:50% 20%}
}

/* ---------- section tints ---------- */
.ice{background:var(--ice);position:relative}
/* hero eyebrow pills */
.hero-eyebrow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.hero-eyebrow span{font-size:.88rem;font-weight:600;letter-spacing:.01em;color:#fff;
  border:1.4px solid rgba(255,255,255,.55);border-radius:999px;padding:.32rem .8rem;backdrop-filter:blur(3px);background:rgba(10,20,28,.18)}
/* trust / ministry */
#home-about{background:#fff}
.welcome{max-width:760px;text-align:center}
.welcome .kick{display:block}
.welcome .lede{margin-inline:auto}
.welcome p{margin-top:1rem;color:var(--body);line-height:1.75;max-width:64ch;margin-inline:auto}
.welcome .morelink{margin-top:1.7rem}
#about-intro{background:#fff}
#about-intro .collage{max-width:none;margin-inline:0}
#about-intro .collage .i4{aspect-ratio:auto!important;height:auto!important;max-height:none!important;object-position:50% 50%!important}
@media(min-width:821px){#about-intro .wrap.two{grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}}
.abouttail{margin-top:2.6rem;display:grid;gap:1.1rem 3rem;grid-template-columns:1fr}
@media(min-width:821px){.abouttail{grid-template-columns:repeat(3,1fr);column-gap:2.6rem;margin-top:3rem}}
.abouttail p{margin:0;color:var(--body);line-height:1.75}
#about-intro p{margin-top:.9rem;color:var(--body);line-height:1.75}
#about-values{background:var(--lilac)}
.values{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2.4rem}
@media(min-width:700px){.values{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.values{grid-template-columns:repeat(4,1fr)}}
.vcard{background:#fff;padding:1.7rem 1.4rem;border-radius:20px;border:1px solid rgba(47,79,127,.12)}
.vcard .ring{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin-bottom:1rem}
.vcard h3{font-size:1.05rem;color:var(--navy);margin:0}
.vcard p{margin-top:.6rem;font-size:.94rem;line-height:1.6;color:var(--body)}
/* photos: square corners, full-bleed on phones, wave overlapping the photo */
.collage img,.whysplit .whyphoto img,.gal img,.blobimg{border-radius:0!important}
.morelink{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;font-weight:700;font-size:.95rem;
  color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:3px;line-height:1.2}
.morelink:hover{color:var(--orange);border-bottom-color:var(--orange)}
@media(max-width:820px){
  #about-intro .collage{width:100vw;margin-inline:calc(50% - 50vw);max-width:none}
  #about-intro .collage .i4{aspect-ratio:auto!important;height:auto!important;border-radius:0!important}
  #about-intro .wrap.two{gap:1.5rem}
  .whysplit .whyphoto{width:100vw;margin-inline:calc(50% - 50vw)}
  .whysplit .whyphoto img{border-radius:0!important}
  .gal{gap:0}
  .gal img{border-radius:0!important}
}
@media(min-width:821px){
  .whysplit .whyphoto img{border-radius:0!important}
}
#why{overflow:hidden;padding-bottom:clamp(50px,5.5vw,90px)}
.whysplit{display:grid;grid-template-columns:1fr}
.whysplit .whytext{padding:3.2rem 1.15rem 1.6rem;max-width:640px;margin-inline:auto;width:100%}
.whysplit .whyphoto{position:relative;width:100%}
.whysplit .whyphoto img{width:100%;display:block;object-fit:cover;object-position:50% 12%;
  aspect-ratio:4/5;border-radius:18px}
@media(min-width:821px){
  .whysplit{grid-template-columns:1fr 1fr;align-items:stretch;gap:0}
  .whysplit .whytext{padding:6.5rem 4rem 6.5rem clamp(1.5rem,6vw,6rem);max-width:none;margin:0;align-self:center}
  .whysplit .whyphoto{align-self:stretch;order:-1}
  .whysplit .whyphoto img{aspect-ratio:auto;height:100%;min-height:660px;border-radius:18px}
}
/* ---- why: animated icon grid ---- */
#why{position:relative;overflow:hidden;padding:5rem 0 calc(clamp(50px,5.5vw,90px) + 3.4rem)}
#why .wrap{position:relative;z-index:4}
.wicons{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem .8rem;margin-top:2.6rem}
@media(min-width:560px){.wicons{grid-template-columns:repeat(3,1fr);gap:2.2rem 1rem}}
@media(min-width:900px){.wicons{grid-template-columns:repeat(5,1fr);gap:1.8rem .8rem}}
@media(min-width:1150px){.wicons{grid-template-columns:repeat(5,1fr);gap:2rem 1rem}}
@media(min-width:1150px){.wring{width:66px;height:66px}.wring svg{width:30px;height:30px}.wico h3{font-size:.9rem}}
.wico{text-align:center;opacity:0;transform:translateY(22px) scale(.92)}
#why.seen .wico{animation:wicoIn .7s cubic-bezier(.2,1.3,.4,1) forwards;animation-delay:calc(var(--i)*90ms)}
@keyframes wicoIn{to{opacity:1;transform:none}}
.wring{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto .7rem}
.wring svg{width:30px;height:30px;stroke:#fff}
#why.seen .wring{animation:wicoBob 4.6s ease-in-out infinite;animation-delay:calc(var(--i)*140ms + .8s)}
@keyframes wicoBob{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-4deg)}70%{transform:translateY(2px) rotate(3deg)}}
.wico:hover .wring{animation:wicoPop .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes wicoPop{0%{transform:scale(1) rotate(0)}45%{transform:scale(1.14) rotate(-8deg)}100%{transform:scale(1) rotate(0)}}
.wico h3{font-family:inherit;font-size:.86rem;line-height:1.3;color:var(--navy);margin:0;font-weight:700}
@media(min-width:560px){.wico h3{font-size:.9rem}}
.wmore{text-align:center;margin-top:2.6rem}
/* floating doodles */
.dood{position:absolute;line-height:0;pointer-events:none;opacity:0;z-index:0}
/* seamless doodle textures, built from the nursery's own shapes — light sections only */
#main{--tex-a:url("/img/tile-a.webp");--tex-b:url("/img/tile-b.webp");--tex-c:url("/img/tile-c.webp")}
.tex-a,.tex-b,.tex-c{position:relative;isolation:isolate}
.tex-a::before,.tex-b::before,.tex-c::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-repeat:repeat;background-size:330px 330px;opacity:.085}
.tex-a::before{background-image:var(--tex-a)}
.tex-b::before{background-image:var(--tex-b)}
.tex-c::before{background-image:var(--tex-c)}
.tex-a > .wrap,.tex-b > .wrap,.tex-c > .wrap{position:relative;z-index:1}
@media(max-width:820px){.tex-a::before,.tex-b::before,.tex-c::before{background-size:230px 230px}}
.dood img{width:100%;height:auto;display:block}
#why.seen .dood{animation:doodIn .8s ease forwards}
@keyframes doodIn{to{opacity:.95}}
.dood.d1{width:46px;top:14%;inset-inline-start:3.5%;animation-delay:.3s}
.dood.d2{width:66px;top:12%;inset-inline-end:4%;animation-delay:.5s}
.dood.d3{width:74px;bottom:8%;inset-inline-start:6%;animation-delay:.7s}
.dood.d4{width:50px;bottom:10%;inset-inline-end:6%;animation-delay:.9s}
#why.seen .dood.d1 img{animation:doodSpin 9s ease-in-out infinite}
#why.seen .dood.d2 img{animation:doodFlutter 5s ease-in-out infinite}
#why.seen .dood.d3 img{animation:doodSway 7s ease-in-out infinite}
#why.seen .dood.d4 img{animation:doodFloat 6s ease-in-out infinite}
@keyframes doodSpin{0%,100%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(14deg) scale(1.08)}}
@keyframes doodFlutter{0%,100%{transform:translate(0,0) rotate(0)}30%{transform:translate(8px,-12px) rotate(9deg)}60%{transform:translate(-6px,-4px) rotate(-6deg)}}
@keyframes doodSway{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(12px) rotate(4deg)}}
@keyframes doodFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(max-width:820px){.dood.d1{width:32px;top:8%;inset-inline-start:2%}.dood.d2{width:44px;top:6%;inset-inline-end:2%}.dood.d3{width:48px;bottom:4%;inset-inline-start:2%}.dood.d4{width:34px;bottom:5%;inset-inline-end:3%}}
@media (prefers-reduced-motion: reduce){
  .wico{opacity:1;transform:none}
  #why.seen .wico,#why.seen .wring,#why.seen .dood img{animation:none}
  .dood{opacity:.9}
}
.whylist{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.55rem .9rem;grid-template-columns:1fr;max-width:48ch}
.whylist li{position:relative;padding-inline-start:1.7rem;font-size:.95rem;line-height:1.45;color:var(--body);font-weight:500}
.whylist li::before{content:"";position:absolute;inset-inline-start:0;top:.2em;width:1.05rem;height:1.05rem;border-radius:50%;
  background:var(--gold) url(/"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F4F7F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E") center/62% no-repeat}
@media(min-width:821px){.whylist{grid-template-columns:1fr 1fr}}

#trust{background:var(--page)}
.trustbar{display:flex;align-items:center;justify-content:center;gap:1.4rem;background:#fff;border-radius:999px;padding:.9rem 1.8rem;border:1px solid rgba(47,79,127,.12);max-width:760px;margin:0 auto 2.2rem;color:inherit}
.trustbar img{width:230px;height:auto;object-fit:contain}
.trustbar b{display:block;color:var(--navy);font-family:"Fraunces","Tajawal",serif;font-size:1.05rem}
.trustbar small{color:#5B6B7A;font-size:.86rem}
.trustgrid{display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}
.trustcard{background:#fff;border-radius:26px;padding:1rem 1rem 1.5rem;border:1px solid rgba(47,79,127,.12);text-align:center;color:inherit;display:block}
.trustph{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--ice)}
.trustph img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .8s}
.trustcard:hover .trustph img{transform:scale(1.04)}
.trustcard .stage{display:inline-block;margin-top:1rem;background:var(--lilac);color:var(--navy);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px}
.trustcard h3{font-size:1.08rem;line-height:1.3;margin-top:.6rem}
.trustcard small{display:block;color:#5B6B7A;margin-top:.3rem;font-size:.88rem;line-height:1.4}
.safety{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2.6rem}
@media(min-width:640px){.safety{grid-template-columns:1fr 1fr;gap:1.4rem}}
@media(min-width:1050px){.safety{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1180px){.safety{grid-template-columns:repeat(5,1fr);gap:1rem}
  .sfitem{padding:1.4rem 1.1rem}.sfitem h3{font-size:.98rem}.sfitem p{font-size:.89rem}}
.sfitem{background:#fff;border:1px solid rgba(47,79,127,.12);border-radius:22px;padding:1.6rem 1.4rem}
.sfitem .ring{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin-bottom:1rem}
.sfitem .ring svg{width:26px;height:26px}
.sfitem h3{font-family:var(--serif,inherit);font-size:1.02rem;color:var(--navy);margin:0}
.sfitem p{margin-top:.55rem;font-size:.93rem;line-height:1.6;color:var(--body)}
.trustnote{text-align:center;color:#5B6B7A;font-size:.92rem;margin-top:1.8rem}
.trustnote a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){.hero-eyebrow{gap:.4rem;margin-top:1rem}.hero-eyebrow span{font-size:.8rem;padding:.3rem .7rem}}
@media(max-width:900px){
  .trustbar{flex-direction:column;gap:.6rem;border-radius:24px;padding:1.1rem 1rem;text-align:center}
  .trustbar img{width:210px}
  .trustgrid{grid-template-columns:1fr;gap:1rem}
  .trustcard{padding:.8rem .8rem 1.3rem;border-radius:22px}
  .trustph{aspect-ratio:1/1;border-radius:16px}
}
/* ---------- day timeline ---------- */
.timeline{list-style:none;max-width:760px;margin:0 auto;position:relative;padding:.5rem 0}
/* hand-drawn spine, centred on the dots (96px column + 1rem gap + half of the 54px dot) */
.timeline::before{content:"";position:absolute;top:0;bottom:0;width:12px;inset-inline-start:calc(96px + 1rem + 27px - 6px);background:url(/"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='90' viewBox='0 0 12 90'%3E%3Cpath d='M6 0 C4.1 11 7.7 21 6 33 C4.3 45 7.5 55 6 67 C4.7 77 6.7 83 6 90' fill='none' stroke='%23B9CBDD' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") repeat-y center top;background-size:12px 90px}
.timeline li{display:grid;grid-template-columns:96px 54px 1fr;align-items:center;gap:1rem;margin:0 0 1.1rem}
.tl-time{text-align:end}.tl-time b{display:block;font-family:"Fraunces","Tajawal",serif;font-size:1.35rem;color:var(--navy);line-height:1}
.tl-time small{color:#5B6B7A;font-size:.82rem}
.tl-dot{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;outline:5px solid var(--page);position:relative;z-index:1}
.tl-dot svg{width:24px;height:24px}
.tl-card{background:#fff;border-radius:18px;padding:1rem 1.3rem;border:1px solid rgba(47,79,127,.12);font-weight:600;color:var(--navy);transition:transform .3s}
.timeline li:hover .tl-card{transform:translateX(6px)}
@media(max-width:600px){
  .timeline::before{inset-inline-start:21px}
  .timeline li{grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:.3rem 1rem}
  .tl-dot{grid-row:1/3}
  .tl-time{grid-column:2;text-align:start;display:flex;gap:.4rem;align-items:baseline}
  .tl-time b{font-size:1.15rem}
  .tl-card{grid-column:2;padding:.8rem 1rem;font-size:.95rem}
}
/* ---------- numbers band ---------- */
.numbers{position:relative;background:var(--navy);color:#fff;padding:3.2rem 0 3.6rem;overflow:hidden}
.numgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.num b{display:block;font-family:"Fraunces","Tajawal",serif;font-weight:600;font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1;color:var(--gold);letter-spacing:-.01em}
.num > span{display:block;margin-top:.55rem;font-weight:600;font-size:1rem;line-height:1.35}
.num small{display:block;font-weight:400;color:#C9D8EC;font-size:.86rem;margin-top:.15rem}
@media(max-width:820px){.numgrid{grid-template-columns:repeat(2,1fr);gap:1.3rem .8rem}.numbers{padding:2.4rem 0 2.8rem}.num > span{font-size:.92rem}}
/* ---------- creative touches ---------- */
.w{display:inline-block;transform-origin:left bottom}
.heroslider .slide .w{opacity:0}
.heroslider .slide.is-active .w{animation:wordUp .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.35s + var(--i,0)*.09s)}
.phero h1 .w,.hero:not(.heroslider) h1 .w{opacity:0;animation:wordUp .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.2s + var(--i,0)*.08s)}
@keyframes wordUp{from{opacity:0;transform:translateY(.65em) rotate(3deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.w{animation:none!important;opacity:1!important}}
.hi{font-style:normal;position:relative;display:inline-block;z-index:0}
.hi-stroke{position:absolute;left:-.04em;right:-.04em;bottom:-.14em;width:calc(100% + .08em);height:.28em;overflow:visible;z-index:-1;pointer-events:none}
.hi-stroke path{fill:none;stroke:var(--gold);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:200;stroke-dashoffset:200}
.slide.is-active .hi-stroke path,.hero:not(.heroslider) .hi-stroke path{animation:hiDraw 1.3s .8s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes hiDraw{to{stroke-dashoffset:0}}


50%{transform:translateY(-8px) scale(1.06)}}
}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){}
.cards .card{padding:0 0 1.9rem;overflow:hidden}
.card .cphoto{aspect-ratio:4/3;width:100%;overflow:hidden;background:var(--ice)}
.card .cphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform .9s cubic-bezier(.16,.84,.44,1)}
.card:hover .cphoto img{transform:scale(1.06)}
/* narrow screens: taller crop so no child's head is cut off */
@media(max-width:820px){.card .cphoto{aspect-ratio:1/1}
  .card .cphoto img{object-position:50% 16%}}
.card .ring{margin:-41px auto 1rem;position:relative;z-index:2;box-shadow:0 0 0 4px #fff!important}
.cards .card h3,.cards .card .age,.cards .card p{padding-inline:1.3rem}
.cards .card .more{margin-inline:1.3rem}
/* desktop: same treatment as phones — one arched photo, arched gallery tiles, arched feature photo */
@media(min-width:821px){
  .collage{display:block;max-width:520px;margin-inline:auto}
  .collage .i1,.collage .i2,.collage .i3{display:none}
  .collage .i4{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:620px;margin:0;
    border-radius:18px;object-position:50% 20%}
  .gal{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:auto!important;gap:1.2rem}
  .gal .g1,.gal .g2,.gal .g3,.gal .g4{grid-row:auto!important;grid-column:auto!important;height:auto!important}
  .gal img{height:auto!important;aspect-ratio:3/4;border-radius:18px!important}
  .blobimg{border-radius:18px!important;animation:none!important;max-width:520px;margin-inline:auto}
  .blobimg img{height:auto;aspect-ratio:4/5;max-height:600px}
}
#programmes .dd{opacity:.9}
/* ---------- section colour rhythm (home) ---------- */
#programmes{background:var(--gold)}
#programmes .kick{color:var(--navy)}
#programmes .h2{color:var(--navy)}
#programmes .head p{color:#3A3A2E}
#why{background:var(--lilac);position:relative}
#about-why{background:#fff}
#admissions{background:#fff}
#gallery{background:var(--peach)}
#faq{background:#fff}
#visit{background:var(--page)}
/* inner pages: the middle band gets a tint too */
.pagewrap:not(#p-index) section.ice{background:var(--lilac)}
#p-programmes section.ice{background:var(--gold)}
#p-programmes section.ice .kick{color:var(--navy)}

/* a bold, on-brand block used sparingly to break up the pastel sections and give the page rhythm */
.navyblock{background:linear-gradient(165deg,var(--navy) 0%,var(--navy2) 100%);position:relative}
.navyblock .kick{color:var(--gold)}
.navyblock .h2,.navyblock h2{color:#fff}

/* ---------- programme cards ---------- */
.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(262px,1fr))}
.card{background:#fff;border-radius:32px;padding:2.3rem 1.6rem;text-align:center;border:1px solid rgba(47,79,127,.12)}
.card .ring,.tile .ring,.why10 .ring{box-shadow:none}
.card .ring{width:82px;height:82px;border-radius:50%;margin:0 auto 1.6rem;display:grid;place-items:center}
.card h3{font-size:1.35rem;margin-bottom:.2rem}
.card .age{display:block;color:var(--orange-ink);font-weight:600;font-size:.9rem;margin-bottom:.7rem}
.card p{font-size:.96rem}
.card .more{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;
  font-weight:600;color:var(--navy);font-size:.96rem}
.card .more:hover{color:var(--orange)}

/* ---------- feature list ---------- */
.blobimg{border-radius:56% 44% 48% 52%/50% 46% 54% 50%;overflow:hidden}
.blobimg img{width:100%;height:clamp(320px,40vw,470px);object-fit:cover}

/* ---------- steps ---------- */
.steps{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));text-align:center;position:relative}
.steps .num{width:96px;height:96px;margin:0 auto 1.5rem;display:grid;place-items:center;
  font-family:"Fraunces","Tajawal",serif;font-size:2.2rem;color:var(--navy);
  border-radius:52% 48% 45% 55%/50% 52% 48% 50%}
.steps .s1 .num{background:var(--cream)}.steps .s2 .num{background:var(--lilac)}.steps .s3 .num{background:var(--peach)}
.steps h3{font-size:1.22rem;margin-bottom:.5rem}
.steps p{font-size:.96rem;max-width:32ch;margin:0 auto}
.conn{display:none}
@media(min-width:900px){.conn{display:block;position:absolute;top:44px;width:15%;height:30px;color:var(--navy)}
  .conn.c1{inset-inline-start:27%}.conn.c2{inset-inline-start:58%}}

/* ---------- gallery ---------- */
.gal{display:grid;gap:1.3rem;grid-template-columns:1fr}
@media(min-width:820px){.gal{grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:auto auto}}
.gal img{width:100%;height:100%;object-fit:cover;border-radius:26px}
@media(min-width:820px){
 .gal .g1{grid-row:1/3;height:520px}
 .gal .g2{grid-column:2/4;height:290px}
 .gal .g3,.gal .g4{height:206px}}
@media(max-width:819px){.gal img{height:230px}}

/* ---------- reviews ---------- */
.revs{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.rev{background:#fff;border-radius:32px;padding:2.2rem;border:1px solid rgba(255,255,255,.16)}
.rev .top{display:flex;align-items:center;gap:1rem;margin-bottom:1.3rem}
.rev .badge{width:60px;height:60px;border-radius:50%;background:var(--cream);display:grid;place-items:center;
  font-family:"Fraunces","Tajawal",serif;font-size:1.35rem;color:var(--navy)}
.rev .stars{color:#F3C24B;letter-spacing:.12em;font-size:1.1rem}
.rev h4{font-size:1.05rem;margin-top:1.2rem}
.rev small{color:#5B6B7A}
.rev p{font-size:1rem;line-height:1.65}

/* ---------- faq ---------- */
.faqgrid{display:grid;gap:3rem;align-items:center}
@media(min-width:960px){.faqgrid{grid-template-columns:.9fr 1.1fr;gap:4rem}}
/* ---- FAQ: photo in a dashed frame + pill accordion ---- */
.faqwrap{display:grid;grid-template-columns:1fr;gap:2.4rem;align-items:start}
@media(min-width:940px){.faqwrap{grid-template-columns:1fr 1.05fr;gap:4rem;align-items:stretch}}
.faqphoto{position:relative;padding:10px}
.faqphoto::before{content:"";position:absolute;inset:0;border:3px dashed var(--orange,#FF8A7A);border-radius:26px}
.faqphoto img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px;display:block;position:relative}
/* on narrow screens show the whole photo - never crop a child's head */
@media(max-width:939px){.faqphoto img{aspect-ratio:auto;height:auto}}
/* on wide screens the photo matches the height of the question column */
@media(min-width:940px){.faqphoto{height:100%}
  .faqphoto img{height:100%;aspect-ratio:auto;object-position:50% 22%}}
.faqcol .kick{display:block}
.faqcol .h2{margin-bottom:1.8rem}
.fqlist{display:grid;gap:.7rem}
.fq{border-radius:999px}
.fq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--navy);color:#fff;border-radius:999px;padding:.95rem 1.5rem;font-weight:600;font-size:1rem;
  transition:background .25s,color .25s}
.fq summary::-webkit-details-marker{display:none}
.fq summary::marker{content:""}
.fq summary:hover{background:#3a5f95}
.fq[open] summary{background:var(--gold);color:var(--navy)}
.fq .chev{flex:none;width:12px;height:12px;border-right:2.4px solid currentColor;border-bottom:2.4px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s}
.fq[open] .chev{transform:rotate(-135deg) translate(-2px,-2px)}
.fq p{margin:.9rem 1.6rem .4rem;font-size:.97rem;line-height:1.7;color:var(--body);
  animation:fqOpen .35s ease}
@keyframes fqOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faqcol .morelink{margin-top:1.8rem}
@media(max-width:520px){.fq summary{font-size:.94rem;padding:.85rem 1.15rem}}

.qa{border-bottom:1.5px solid var(--line);padding:1.35rem 0}
.qa summary{list-style:none;cursor:pointer;display:flex;gap:1rem;align-items:flex-start;
  font-family:"Fraunces","Tajawal",serif;font-weight:500;font-size:1.12rem;color:var(--navy)}
.qa summary::-webkit-details-marker{display:none}
.qa .pm{flex:none;width:26px;height:26px;border-radius:50%;border:1.6px solid var(--navy);
  display:grid;place-items:center;font-size:1rem;line-height:1;margin-top:.15rem}
.qa p{margin:.9rem 0 .2rem 2.6rem;font-size:.99rem}
.qa[open] .pm{background:var(--navy);color:#fff}

/* ---------- final cta ---------- */
.final{padding:5rem 0 7rem;background:#fff}
.panel{position:relative;background:#F8735E;color:#fff;text-align:center;
  padding:5.5rem clamp(2rem,11vw,9rem);border-radius:70px 40px 70px 40px;transform:rotate(-1.2deg);overflow:hidden}
.panel>*{transform:rotate(1.2deg)}
.panel h2{color:#fff;font-size:clamp(2rem,4.4vw,3.1rem)}
.panel p{max-width:44ch;margin:1.2rem auto 2rem;color:#fff}
.panel .dd{opacity:.6}
.mark-wm{position:absolute;inset-inline-end:-26px;bottom:-40px;width:250px;height:auto;
  fill:#fff;opacity:.16;transform:rotate(1.2deg);pointer-events:none}
@media(max-width:700px){.mark-wm{width:180px;inset-inline-end:-30px;bottom:-30px}}
@media(max-width:700px){.panel{padding:3.5rem 1.4rem;border-radius:44px 26px 44px 26px}}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#CBDCEA;padding:4.5rem 0 2rem;font-size:.97rem}
.fcontact{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  padding-bottom:2.6rem;border-bottom:1px solid rgba(255,255,255,.16)}
.fcontact .it{display:flex;align-items:center;gap:1.1rem}
.fcontact .ic{flex:none;width:56px;height:56px;border-radius:50%;
  border:1.6px dashed rgba(255,255,255,.45);display:grid;place-items:center}
.fcontact small{display:block;color:#B4CBE0;font-size:.88rem}
.fcontact b{font-family:"Fraunces","Tajawal",serif;color:#fff;font-size:1.12rem;font-weight:500}
.fcols{display:grid;gap:2.4rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));padding:2.8rem 0}
.fcols h4{color:#fff;font-size:1.12rem;margin-bottom:1rem}
.fcols ul{list-style:none;line-height:2.2}
.fcols a:hover{color:var(--orange)}
.fcols .brand{display:inline-block;line-height:0;margin-bottom:1.2rem}
.fcols .brand img{height:62px}
.fbottom{border-top:1px solid rgba(255,255,255,.16);padding-top:1.4rem;text-align:center;
  font-size:.9rem;color:#B4CBE0}

/* mobile bar */
.mob{position:fixed;inset-inline:0;bottom:0;z-index:90;display:flex;gap:.5rem;padding:.55rem .7rem;
  background:#fff;border-top:1px solid rgba(47,79,127,.12)}
.mob .btn{flex:1;text-align:center;padding:.8rem .3rem;font-size:.96rem}
@media(min-width:1040px){.mob{display:none}}
@media(max-width:1039px){body{padding-bottom:76px}}

/* ---------- inner page hero ---------- */
.phero{position:relative;padding:11rem 0 8rem;text-align:center;isolation:isolate;overflow:hidden}
.phero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;z-index:-2}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,22,.42) 0%,rgba(6,14,22,0) 24%),linear-gradient(0deg,rgba(10,20,28,.74) 0%,rgba(10,20,28,.5) 45%,rgba(10,20,28,.14) 100%)}
.phero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.5rem)}
.phero p{color:#FAF6EF;max-width:52ch;margin:1.1rem auto 0}
/* keep the child's face in frame on the Offers hero */
.phero .bg.offersbg{object-position:38% 20%!important}
@media(max-width:820px){.phero .bg.offersbg{object-position:42% 16%!important}}
.phero .cta{margin-top:2rem;display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}
@media(max-width:820px){.phero .cta{justify-content:flex-start;gap:.55rem}
  .phero .cta .btn{padding:.75rem 1.15rem;font-size:.92rem}}
.nav ul a.on{color:var(--gold)}

/* ---------- prose + placeholders ---------- */
.prose{max-width:70ch;margin:0 auto}
.prose h3{margin:2.2rem 0 .6rem;font-size:1.3rem}
.prose p{margin-bottom:1rem}
.prose ul{margin:0 0 1.2rem 1.2rem}
.prose li{margin-bottom:.4rem}
.todo{border-bottom:2px dashed var(--orange);color:var(--navy2);font-weight:600}

/* ---------- panels / tables ---------- */
.tiles{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tile{background:#fff;border-radius:26px;padding:2rem 1.7rem;border:1px solid rgba(47,79,127,.12)}
.tile .ring{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin-bottom:1.1rem}
.tile h3{font-size:1.18rem;margin-bottom:.4rem}
.tile p{font-size:.96rem}
.tablewrap{overflow-x:auto;background:#fff;border-radius:26px;border:1px solid rgba(47,79,127,.12)}
.plans{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:2.6rem}
@media(min-width:760px){.plans{grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}}
.plan{background:#fff;border:1px solid rgba(47,79,127,.12);border-radius:26px;padding:2.2rem 1.6rem;text-align:center;
  display:flex;flex-direction:column;position:relative}
.plan.feature{background:var(--navy);border-color:var(--navy);color:#fff}
.ptag{position:absolute;top:-.8rem;inset-inline-start:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);
  font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.34rem .9rem;border-radius:999px;white-space:nowrap}
.pdays{display:block;font-family:var(--serif,inherit);font-size:3.4rem;line-height:1;font-weight:700;color:var(--navy)}
.plan.feature .pdays{color:var(--gold)}
.pdlabel{display:block;font-size:.9rem;font-weight:700;letter-spacing:.02em;color:var(--body);margin-top:.35rem}
.plan.feature .pdlabel{color:rgba(255,255,255,.85)}
.plan ul{list-style:none;margin:1.5rem 0 1.8rem;padding:0;display:grid;gap:.6rem;font-size:.94rem;line-height:1.5;color:var(--body)}
.plan.feature ul{color:rgba(255,255,255,.9)}
.plan ul li{padding-top:.6rem;border-top:1px solid rgba(47,79,127,.1)}
.plan.feature ul li{border-top-color:rgba(255,255,255,.18)}
.plan .btn{margin-top:auto;align-self:center}
.plan.feature .btn{background:var(--gold);color:var(--navy)}
.plannote{margin-top:1.8rem;text-align:center;font-size:.95rem;color:var(--body)}
.plannote a{font-weight:700;color:var(--navy);border-bottom:2px solid var(--gold)}
#paperwork{background:#fff}
.two.paper{align-items:start;gap:2.6rem;margin-top:2.6rem}
@media(min-width:821px){.two.paper{grid-template-columns:1fr 1fr;gap:4rem}}
.ph3{font-family:var(--serif,inherit);font-size:1.15rem;color:var(--navy);margin:0 0 1rem}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.checklist li{position:relative;padding-inline-start:1.9rem;font-size:.97rem;line-height:1.6;color:var(--body)}
.checklist li::before{content:"";position:absolute;inset-inline-start:0;top:.28em;width:1.1rem;height:1.1rem;border-radius:50%;
  background:var(--c-green) url(/"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E") center/62% no-repeat}
.facilities{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.55rem .9rem;grid-template-columns:1fr}
@media(min-width:560px){.facilities{grid-template-columns:1fr 1fr}}
.facilities li{position:relative;padding-inline-start:1.5rem;font-size:.95rem;line-height:1.5;color:var(--body)}
.facilities li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:var(--c-amber)}
/* ---- partners & offers ---- */
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.2rem}
.logos figure{margin:0;background:#fff;border:1.5px solid var(--line);padding:1.15rem 1rem;
  display:grid;place-items:center;min-height:132px;flex:0 1 calc(50% - .5rem)}
@media(min-width:600px){.logos figure{flex-basis:calc(33.333% - .67rem)}}
@media(min-width:980px){.logos figure{flex-basis:calc(25% - .75rem)}}
.logos .nolg span{font-family:"Fraunces","Tajawal",serif;color:var(--navy);font-weight:600;
  font-size:1.05rem;line-height:1.35;text-align:center}
.logos img{max-width:100%;height:auto;display:block}
.cardnote{margin-top:1.4rem;font-size:.95rem;color:var(--body)}
.offerband{background:var(--cream)}
.offerband .tiles{margin-top:2rem}
.ftag{font-family:"Fraunces","Tajawal",serif;font-style:italic;color:var(--gold);
  font-size:1.02rem;line-height:1.4;margin:.9rem 0 1.1rem;max-width:26ch}
.fsocial{display:flex;gap:.7rem;margin-top:1.2rem}
.fsocial a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;
  border:1.5px solid rgba(255,255,255,.35);transition:background .25s,border-color .25s,transform .25s}
.fsocial a:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-2px)}
.fsocial svg{width:19px;height:19px;fill:#fff;display:block}

/* ---- old-paper texture, on selected sections ---- */
.paper{position:relative;isolation:isolate}
.paper::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url(data:image/jpeg;base64,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);
  background-repeat:repeat;background-size:340px 340px;mix-blend-mode:multiply;opacity:.9}
.paper > .wrap,.paper > .wave{position:relative;z-index:1}
.paper > .wave{position:absolute;z-index:2}
@media (prefers-reduced-motion: no-preference){}

/* ---- floating WhatsApp button ---- */
.wafab{position:fixed;z-index:130;inset-inline-end:20px;bottom:20px;width:58px;height:58px;
  border-radius:50%;background:#25D366;display:grid;place-items:center;border:3px solid #fff;
  animation:waBob 3.6s ease-in-out infinite}
.wafab svg{width:31px;height:31px;fill:#fff;display:block}
.wafab::before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2.5px solid #25D366;
  animation:waPulse 2.8s cubic-bezier(.2,.7,.3,1) infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}
@keyframes waBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.wafab:hover{background:#1EBE5B}
@media(max-width:1039px){.wafab{bottom:92px;inset-inline-end:14px;width:52px;height:52px}
  .wafab svg{width:28px;height:28px}}
@media (prefers-reduced-motion: reduce){.wafab,.wafab::before{animation:none}}
.regwrap{max-width:760px;margin:2.6rem auto 0;background:#fff;border:1.5px solid var(--line);
  border-radius:24px;padding:2rem 1.8rem}
@media(max-width:560px){.regwrap{padding:1.5rem 1.15rem}}
.regwrap .formdone{border:0;padding:1.6rem .4rem}

/* ---- forms: phone field, validation, states ---- */
.form .row2{display:grid;gap:0 1rem}
@media(min-width:560px){.form .row2{grid-template-columns:1fr 1fr}}
.form .telwrap{display:flex;gap:.6rem;margin-bottom:1rem;align-items:stretch}
.form .telwrap select{width:auto;flex:0 0 auto;margin-bottom:0;padding-inline:.75rem;min-width:118px}
.form .telwrap input{flex:1 1 auto;width:auto;min-width:0;margin-bottom:0;letter-spacing:.06em}
.form .hint{font-size:.84rem;color:#6B7785;margin:-.6rem 0 1rem}
.form .err{font-size:.85rem;color:#B3261E;margin:-.6rem 0 .9rem;display:none}
.form .err.on{display:block}
.form input.bad,.form select.bad{border-color:#B3261E}
.hpot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important}
.formdone{display:none;text-align:center;padding:2.4rem 1.2rem;border:1.5px solid var(--line);
  border-radius:20px;background:#fff}
.formdone.on{display:block}
.formdone .tick{width:64px;height:64px;border-radius:50%;background:#8BBC58;display:grid;place-items:center;
  margin:0 auto 1.1rem}
.formdone h3{font-family:"Fraunces","Tajawal",serif;color:var(--navy);font-size:1.3rem;margin-bottom:.5rem}
.formdone p{color:var(--body);line-height:1.7;font-size:.97rem}
.form.sent{display:none}
.form fieldset{border:0;padding:0;margin:0 0 1rem}
.form legend{font-weight:600;font-size:.95rem;margin-bottom:.5rem;color:var(--navy);padding:0}
.form .fieldnote{font-size:.82rem;line-height:1.5;color:var(--body);margin:-.25rem 0 .6rem;opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chips label{display:inline-flex;align-items:center;margin:0;cursor:pointer}
.chips input{position:absolute;opacity:0;width:0;height:0;margin:0}
.chips span{display:inline-block;padding:.55rem 1.05rem;border:1.5px solid var(--line);border-radius:999px;
  font-size:.93rem;font-weight:600;color:var(--navy);background:#fff;transition:background .2s,border-color .2s,color .2s}
.chips input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.chips input:focus-visible + span{outline:2.5px solid var(--orange-ink);outline-offset:2px}

/* ---- icon circles: gentle idle motion, everywhere ---- */
@keyframes icoBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-3deg)}}
.act .aic svg,.tile .ring svg,.sfitem .ring svg,.wico .wring svg{
  animation:icoBob 4.4s ease-in-out infinite;transform-origin:50% 60%}
.acts .act:nth-child(3n+2) .aic svg{animation-delay:.55s}
.acts .act:nth-child(3n) .aic svg{animation-delay:1.1s}
.tiles > *:nth-child(3n+2) .ring svg,.safety > *:nth-child(3n+2) .ring svg{animation-delay:.55s}
.tiles > *:nth-child(3n) .ring svg,.safety > *:nth-child(3n) .ring svg{animation-delay:1.1s}
.wicons > *:nth-child(5n+2) .wring svg{animation-delay:.4s}
.wicons > *:nth-child(5n+3) .wring svg{animation-delay:.8s}
.wicons > *:nth-child(5n+4) .wring svg{animation-delay:1.2s}
.wicons > *:nth-child(5n) .wring svg{animation-delay:1.6s}
.wico .wring{transition:transform .35s cubic-bezier(.16,.84,.44,1)}
.wico:hover .wring{transform:scale(1.09)}
.act .aic,.tile .ring,.sfitem .ring{transition:transform .35s cubic-bezier(.16,.84,.44,1)}
.act:hover .aic,.tile:hover .ring,.sfitem:hover .ring{transform:scale(1.09)}
@media (prefers-reduced-motion: reduce){
  .act .aic svg,.tile .ring svg,.sfitem .ring svg,.wico .wring svg{animation:none}
}
/* the facilities photo matches the height of its text column */
@media(min-width:960px){#facilities .two,#diary .two{align-items:stretch}
  #facilities .blobimg,#diary .blobimg{height:100%}
  #facilities .blobimg img{height:100%;max-height:none;object-position:50% 30%}
  #diary .blobimg img{height:100%;max-height:none;object-position:50% 45%}}

/* ---- diary list ---- */
.diarylist{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.65rem}
.diarylist li{position:relative;padding-inline-start:1.7rem;font-size:.95rem;line-height:1.65;color:var(--body)}
.diarylist li::before{content:"";position:absolute;inset-inline-start:0;top:.55rem;width:9px;height:9px;
  border-radius:50%;background:var(--gold)}

/* ---- activities grid + area pills ---- */
.acts{display:grid;grid-template-columns:1fr;gap:1.7rem 2.2rem;margin-top:2.8rem}
@media(min-width:620px){.acts{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.acts{grid-template-columns:repeat(3,1fr)}}
.act{display:flex;gap:1.1rem;align-items:flex-start}
.act .aic{flex:none;width:62px;height:62px;border-radius:50%;display:grid;place-items:center}
.act .aic svg{width:27px;height:27px}
.act h3{font-family:var(--serif,inherit);font-size:1.03rem;color:var(--navy);margin:.5rem 0 0;line-height:1.25}
.act p{margin-top:.3rem;font-size:.92rem;color:var(--body);line-height:1.6}
.areapills{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:2.4rem}
.areapills span{background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:.5rem 1.05rem;font-size:.92rem;color:var(--navy);font-weight:600}
.readycols{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2.4rem}
@media(min-width:760px){.readycols{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.readycols{grid-template-columns:repeat(3,1fr)}}
.readycol{background:#fff;border:1px solid rgba(47,79,127,.12);border-radius:20px;padding:1.5rem 1.4rem}
.readycol h3{font-family:var(--serif,inherit);font-size:1.02rem;color:var(--navy);margin:0 0 .5rem}
.readycol p{font-size:.93rem;color:var(--body);line-height:1.65}
.revmore{margin-top:2.4rem;display:flex;justify-content:center}

/* ---- ringed planet, parents' reviews block ---- */
.navyblock{overflow:hidden}
.navyblock > .wrap{position:relative;z-index:2}
.saturn{position:absolute;top:9%;inset-inline-end:1.5%;width:132px;z-index:1;pointer-events:none;
  opacity:0;transform:translateY(26px)}
.saturn svg{width:100%;height:auto;display:block;overflow:visible}
.navyblock.lift .saturn{animation:satIn 1.4s cubic-bezier(.3,.9,.35,1) .2s forwards}
@keyframes satIn{to{opacity:.95;transform:translateY(0)}}
.navyblock.lift .sat-tilt{animation:satFloat 7s ease-in-out infinite}
@keyframes satFloat{0%,100%{transform:rotate(-14deg) translateY(0)}50%{transform:rotate(-14deg) translateY(-11px)}}
.navyblock.lift .sat-bands{animation:satSpin 9s linear infinite}
@keyframes satSpin{to{transform:translateX(-100px)}}
.navyblock.lift .twk{animation:twk 3s ease-in-out infinite}
.navyblock.lift .twk2{animation:twk 3s ease-in-out .9s infinite}
.navyblock.lift .twk3{animation:twk 3s ease-in-out 1.8s infinite}
@keyframes twk{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.stardot{position:absolute;z-index:1;pointer-events:none;transform-origin:center}
@media(max-width:1180px){.saturn{width:96px;inset-inline-end:.5%;top:6%}}
@media(max-width:900px){.saturn,.stardot{display:none}}
@media (prefers-reduced-motion: reduce){
  .saturn{opacity:.95;transform:none}
  .navyblock.lift .saturn,.navyblock.lift .sat-tilt,.navyblock.lift .sat-bands,
  .navyblock.lift .twk,.navyblock.lift .twk2,.navyblock.lift .twk3{animation:none}
}
/* ---- launching rocket, Programmes section ---- */
/* default: centred under the cards - at these widths the grid fills the row, so there is no side gutter */
.rocket{position:absolute;bottom:16px;inset-inline-start:50%;margin-inline-start:-33px;width:66px;z-index:1;
  pointer-events:none;opacity:0;transform:translateY(60px)}
@media(max-width:1399px){#programmes{padding-bottom:130px}}
.rocket svg{width:100%;height:auto;display:block;overflow:visible}
@media(max-width:420px){.rocket{width:52px;margin-inline-start:-26px;bottom:12px}}
/* wide screens: enough gutter to fly up beside the first age group */
@media(min-width:1400px){.rocket{width:110px;margin-inline-start:0;inset-inline-start:1.4%;bottom:auto;top:59%}}
#programmes.lift .rocket{animation:rkLaunch 1.9s cubic-bezier(.3,.9,.35,1) forwards}
@keyframes rkLaunch{0%{opacity:0;transform:translateY(90px) scale(.94)}
  25%{opacity:1}100%{opacity:1;transform:translateY(-26px) scale(1)}}
#programmes.lift .rk-body{animation:rkHover 3.6s ease-in-out 1.9s infinite}
@keyframes rkHover{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(-2deg)}}
#programmes.lift .rk-flame{transform-origin:60px 150px;animation:rkFlame .28s ease-in-out infinite alternate}
@keyframes rkFlame{from{transform:scaleY(.82) scaleX(.95)}to{transform:scaleY(1.15) scaleX(1.05)}}
#programmes.lift .rk-smoke{transform-origin:60px 172px;animation:rkSmoke 2.4s ease-out infinite}
@keyframes rkSmoke{0%{opacity:.9;transform:scale(.7) translateY(0)}70%{opacity:.25;transform:scale(1.25) translateY(14px)}100%{opacity:0;transform:scale(1.45) translateY(22px)}}
@media (prefers-reduced-motion: reduce){
  .rocket{opacity:1;transform:none}
  #programmes.lift .rocket,#programmes.lift .rk-body,#programmes.lift .rk-flame,#programmes.lift .rk-smoke{animation:none}
}
#about-more{background:#fff}
#about-more .two{align-items:start;gap:2.6rem}
@media(min-width:821px){#about-more .two{grid-template-columns:1.1fr 1fr;gap:4rem}}
.vmcard{border-radius:22px;padding:1.8rem 1.6rem;background:var(--ice)}
.vmcard + .vmcard{margin-top:1.2rem}
.vmcard.alt{background:var(--cream)}
.vmkick{display:block;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:.7rem}
.vmcard p{margin:0;font-size:.98rem;line-height:1.7;color:var(--body)}
.pnote{margin-top:1.2rem;font-size:.92rem;color:var(--orange-ink);font-weight:600}
.pasercta,.papercta{margin-top:2.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.papercta span{font-size:.95rem;color:var(--body)}
.papercta a[href^="tel"]{font-weight:700;color:var(--navy);border-bottom:2px solid var(--gold)}
table.fees{width:100%;border-collapse:collapse;min-width:520px}
table.fees th,table.fees td{padding:1.05rem 1.4rem;text-align:start;border-bottom:1px solid var(--line)}
table.fees th{font-family:"Fraunces","Tajawal",serif;color:var(--navy);font-weight:600;background:var(--ice)}
table.fees tr:last-child td{border-bottom:0}
/* ---------- scroll reveal (headings word-by-word, blocks staggered) ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1),box-shadow .38s!important;transition-delay:calc(var(--d,0)*1ms)!important}
.rv.rv-kick{transform:translateX(-26px)}
.rv.rv-photo{transform:translateY(34px) scale(.96) rotate(-1.2deg)}
.rv.in{opacity:1;transform:none}

/* ---------- animated paper-plane doodle ---------- */
.fly{position:absolute;pointer-events:none;line-height:0;z-index:2}
.fly svg{width:100%;height:auto;overflow:visible}
.fly .trail{fill:none;stroke:#F0705C;stroke-width:7;stroke-linecap:round;
  stroke-dasharray:26 22;stroke-dashoffset:900}
.fly .plane{opacity:0;
  offset-path:path("M18 292 C 96 268, 150 276, 214 288 C 262 297, 300 352, 268 366 C 236 380, 214 336, 250 312 C 302 288, 372 302, 450 284");
  offset-rotate:auto;offset-distance:0%}
.fly .plane .pb{fill:#F0705C}
.fly .plane .pw{fill:#FF9A87}
.fly.in .trail{animation:trailDraw 2.2s cubic-bezier(.4,0,.2,1) forwards}
.fly.in .plane{animation:planeFly 7s cubic-bezier(.45,.05,.35,1) .3s infinite}
@keyframes trailDraw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}
@keyframes planeFly{
  0%{offset-distance:0%;opacity:0}
  6%{opacity:1}
  34%{offset-distance:100%;opacity:1}
  70%{offset-distance:100%;opacity:1}
  80%{offset-distance:100%;opacity:0}
  100%{offset-distance:0%;opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .fly .trail{stroke-dashoffset:0}
  .fly .plane{opacity:1;offset-distance:100%}
  .fly.in .trail,.fly.in .plane{animation:none}
}
/* lives in the empty gutter beside the text, flying up toward the heading */
.welcome{position:relative}
.welcome .fly{display:none}
@media(min-width:1000px){
  .welcome .fly{display:block;width:200px;inset-inline-start:-230px;top:26%;transform:rotate(-12deg);opacity:.95}
}
@media(min-width:1240px){
  .welcome .fly{width:240px;inset-inline-start:-280px;top:22%}
}
.rvw .w{display:inline-block;opacity:0;transform:translateY(.7em) rotate(2.5deg);transform-origin:left bottom;
  transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*65ms)}
.rvw.in .w{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv,.rvw .w{opacity:1!important;transform:none!important;transition:none!important}}
/* ---------- fees: stacked cards on phones ---------- */
@media(max-width:700px){
  .tablewrap{overflow:visible;background:none;box-shadow:none;border-radius:0}
  table.fees,table.fees tbody{display:block;width:100%;min-width:0}
  table.fees tr{display:block;background:#fff;border-radius:18px;padding:.9rem 1.1rem;margin-bottom:.8rem;border:1px solid rgba(47,79,127,.12)}
  table.fees tr:first-child{display:none}
  table.fees td{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border:0;text-align:end}
  table.fees td::before{content:attr(data-label);color:#5B6B7A;font-weight:600;text-align:start}
  table.fees td:first-child{font-family:"Fraunces","Tajawal",serif;font-size:1.15rem;color:var(--navy);font-weight:600;justify-content:flex-start;padding-bottom:.5rem;border-bottom:1.5px solid var(--line);margin-bottom:.3rem}
  table.fees td:first-child::before{content:none}
}
@media(max-width:820px){
  .phero{min-height:58vh;min-height:58svh;display:flex;align-items:flex-end;text-align:left;padding:7rem 0 4rem}
  .phero .wrap{width:100%}
  .phero h1{font-size:clamp(2rem,8.6vw,2.6rem);line-height:1.08}
  .phero p{margin:.9rem 0 0;max-width:34ch;font-size:1rem}
  .phero::before{background:linear-gradient(180deg,rgba(6,14,22,.42) 0%,rgba(6,14,22,0) 24%),linear-gradient(0deg,rgba(6,14,22,.82) 0%,rgba(6,14,22,.55) 40%,rgba(6,14,26,.12) 75%,rgba(6,14,26,0) 100%)}
  .phero::after{content:none}
  @keyframes panP{ from{object-position:70% 35%} to{object-position:30% 35%} }
  .phero .bg{animation:panP 14s ease-in-out infinite alternate;transform:none}
}

/* ---------- contact ---------- */
.cgrid{display:grid;gap:2.4rem}
@media(min-width:900px){.cgrid{grid-template-columns:1fr 1.1fr;gap:3.4rem}}
/* contact: full-width map, then two equal columns under it */
.cmapfull{position:relative;height:min(52vh,420px);margin-top:2.4rem}
.cgrid2{display:grid;gap:2rem;margin-top:2.2rem}
.cgrid2>*{min-width:0}
@media(min-width:900px){.cgrid2{grid-template-columns:1fr 1fr;gap:2.4rem;align-items:stretch}}
.cgrid2 .ccol{display:flex;flex-direction:column}
.cgrid2 .ccol > .tiles{flex:1;align-content:start;gap:1.1rem}
.cgrid2 .form{flex:1;display:flex;flex-direction:column}
.cgrid2 .form textarea{flex:1;min-height:120px}
.form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem;color:var(--navy)}
.form input,.form select,.form textarea{width:100%;font:inherit;padding:.85rem 1rem;border:1.5px solid var(--line);
  border-radius:16px;margin-bottom:1rem;background:#fff;color:var(--body)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--navy2)}
.form .btn{width:100%}
.mapbox{border-radius:26px;overflow:hidden;min-height:320px;background:var(--ice)}
.mapbox iframe{width:100%;height:100%;min-height:320px;border:0;display:block}

/* ---------- 404 ---------- */
.oops{text-align:center;padding:9rem 0 6rem}
.oops .big{font-family:"Fraunces","Tajawal",serif;font-size:clamp(5rem,18vw,11rem);color:var(--navy2);line-height:1}

/* ===================== MOTION ===================== */
/* hero photo: slow ken-burns zoom + light scroll parallax */
@keyframes kenburns{
  from{transform:scale(1.02) translate3d(0,var(--py,0px),0)}
  to{transform:scale(1.17) translate3d(0,var(--py,0px),0)}
}
.hero .bg,.phero .bg{transform-origin:52% 45%;
  animation:kenburns 26s ease-in-out infinite alternate}

/* word-split headings (GSAP reveals these) */
.hero .hl .w,.hero h1 .w,.phero h1 .w{display:inline-block}
.hero .hl span,.hero h1 span,.phero h1{overflow:visible;padding-bottom:.06em}

/* doodles in the orange panel keep a CSS drift (no GSAP hero there) */
@keyframes drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(4deg)}}
.panel .dd{animation:drift 8s ease-in-out infinite}
.panel .dd:nth-of-type(2){animation-duration:10s;animation-delay:-3s}
.panel .dd:nth-of-type(3){animation-duration:9s;animation-delay:-5s}

/* organic photo shapes breathe */
@keyframes blobmorph{
  0%,100%{border-radius:56% 44% 48% 52%/50% 46% 54% 50%}
  33%{border-radius:46% 54% 58% 42%/56% 52% 48% 44%}
  66%{border-radius:52% 48% 42% 58%/44% 58% 42% 56%}
}
.blobimg{animation:blobmorph 20s ease-in-out infinite}
.blobimg img{transition:transform 1.2s cubic-bezier(.16,.84,.44,1)}
.blobimg:hover img{transform:scale(1.05)}

/* cards lift */
.card,.tile{transition:transform .38s}
.card:hover,.tile:hover{transform:translateY(-3px)}
.card .more{transition:gap .25s,color .25s}
.card:hover .more{gap:.85rem}

/* step numbers pop */
.steps .num{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.steps > div:hover .num{transform:scale(1.08) rotate(-5deg)}

/* nav link underline */
.nav ul a{position:relative;padding-bottom:4px}
.nav ul a::after{content:"";position:absolute;inset-inline-start:0;bottom:0;height:2px;width:0;
  background:var(--gold);border-radius:2px;transition:width .3s cubic-bezier(.16,.84,.44,1)}
.nav ul a:hover::after,.nav ul a.on::after{width:100%}

/* gallery */
.gal img{transition:transform .7s cubic-bezier(.16,.84,.44,1)}
.gal img:hover{transform:scale(1.03)}

/* final panel breathes */
@keyframes tilt{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(-.4deg)}}
.panel{animation:tilt 12s ease-in-out infinite}
.mark-wm{animation:drift 14s ease-in-out infinite}

/* footer contact icons */
.fcontact .ic{transition:transform .4s cubic-bezier(.34,1.56,.64,1),border-color .3s}
.fcontact .it:hover .ic{transform:rotate(-8deg) scale(1.06);border-color:var(--orange)}

@media (prefers-reduced-motion: reduce){
  .hero .bg,.phero .bg,.dd,.blobimg,.panel,.mark-wm{animation:none!important}
  *{scroll-behavior:auto!important}
}

/* Why Choose Us — ten short proof points */
.why10{grid-template-columns:repeat(2,1fr);gap:.9rem;min-width:0}
.why10 .tile{padding:1.15rem 1rem;cursor:pointer;min-width:0}
.why10 .tile summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.7rem}
.why10 .tile summary::-webkit-details-marker{display:none}
.why10 .tile summary::marker{content:""}
.why10 .ring{width:42px;height:42px;margin-bottom:0;flex:none}
.why10 .tile h3{font-size:.86rem;line-height:1.25;margin:0;flex:1 1 auto;min-width:0}
.why10 .tile .pm{flex:none;width:22px;height:22px;border-radius:50%;border:1.6px solid var(--navy);
  display:grid;place-items:center;font-size:.85rem;line-height:1;margin-inline-start:auto;color:var(--navy);transition:background .2s,color .2s}
.why10 .tile[open] .pm{background:var(--navy);color:#fff}
.why10 .tile p{font-size:.88rem;line-height:1.55;margin-top:.85rem;padding-inline-start:calc(42px + .7rem);color:var(--body)}
@media(max-width:559px){
  .why10 .tile{position:relative;padding:1.1rem .95rem 1rem}
  .why10 .tile summary{flex-direction:column;align-items:flex-start;gap:.65rem;padding-inline-end:1.6rem}
  .why10 .ring{width:46px;height:46px}
  .why10 .tile h3{font-size:.9rem;line-height:1.3}
  .why10 .tile .pm{position:absolute;top:.9rem;inset-inline-end:.9rem;margin:0}
  .why10 .tile p{padding-inline-start:0;margin-top:.7rem}
}
@media(min-width:560px){
  .why10{grid-template-columns:repeat(3,1fr);gap:1.1rem}
  .why10 .tile{padding:1.4rem 1.2rem}
  .why10 .ring{width:50px;height:50px}
  .why10 .tile h3{font-size:.98rem}
  .why10 .tile p{padding-inline-start:calc(50px + .8rem)}
}
@media(min-width:1100px){.why10{grid-template-columns:repeat(5,1fr)}}
.visitgrid{display:grid;gap:1.4rem}
.visittiles{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:820px){.visittiles{grid-template-columns:1fr!important}}
.mapfull{position:relative;margin-top:3.5rem;width:100vw;margin-inline-start:calc(50% - 50vw);height:min(70vh,560px);background:var(--ice)}
.mapwrap{position:relative;height:min(60vh,460px)}
.gmap{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:1}
.mapfallback{position:absolute;inset:0;z-index:0}
.mapbtn{z-index:2}
.mapfallback{height:100%;display:grid;place-items:center;text-align:center;padding:2rem 2rem 5rem;color:var(--body);
  background-color:#EEF3F0;
  background-image:linear-gradient(rgba(47,79,127,.10) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(47,79,127,.10) 1.5px,transparent 1.5px),
    linear-gradient(rgba(47,79,127,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(47,79,127,.05) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.mapfallback small{display:block;margin-top:.5rem;color:var(--text-muted,#8C877E);font-size:.85rem}
.mapfallback strong{color:var(--navy);font-size:1.15rem}
/* centred without a transform, so the button hover-lift cannot fight it and flicker */
.mapbtn{position:absolute;bottom:1.2rem;inset-inline:0;margin-inline:auto;width:max-content;white-space:nowrap}
@media(max-width:820px){.mapfull{height:min(62vh,440px);margin-top:2.2rem}}
.mapband{background:#fff;padding:5rem 0 0;position:relative;overflow:hidden}
.mapband .mapfull{margin-top:2.6rem;margin-bottom:0}
@media(max-width:820px){.mapband{padding-top:3.4rem}}
@media(max-width:820px){
  .blobimg{border-radius:18px!important;animation:none!important}
  .blobimg img{height:auto;aspect-ratio:4/5;max-height:480px}
}

/* ---------- trust strip under inner-page heroes ---------- */
.trust{background:var(--navy);color:#fff;padding:1.9rem 0;position:relative;z-index:4}
.trust .wrap{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:center}
.trust b{display:block;font-family:"Fraunces","Tajawal",serif;font-weight:600;font-size:1.14rem;
  color:#fff;line-height:1.25}
.trust span{display:block;font-size:.9rem;color:#B9D0E4;margin-top:.15rem}
@media(max-width:700px){.trust{padding:1.5rem 0}.trust .wrap{gap:1.1rem}}

/* skip link for keyboard and screen-reader users */
.skip{position:absolute;inset-inline-start:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
  padding:.8rem 1.3rem;border-radius:0 0 14px 0;font-weight:600}
.skip:focus{inset-inline-start:0}

/* touch targets: keep text links at least ~32px tall on phones */
@media(hover:none),(max-width:820px){
  .fcols ul{line-height:1.9}
  .fcols ul a{display:inline-block;padding:.42rem 0}
  .tile a,.fcontact .it a,.prose a{display:inline-block;padding:.3rem 0}
  .card .more{padding:.4rem 0}
  .qa summary{padding:.35rem 0}
}

/* ===================== MOBILE SLIDERS ===================== */
/* On phones the long grids become swipeable rails with snap points. */
@media(max-width:820px){
  .slider{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:1rem;padding:.4rem 1.4rem 1.2rem;margin-inline:-1.4rem;
    scroll-padding-inline:1.4rem;scrollbar-width:none}
  .slider::-webkit-scrollbar{display:none}
  .slider > *{flex:0 0 82%;scroll-snap-align:center;margin:0!important}
  .slider.tight > *{flex:0 0 72%}
  .slider img{height:230px!important;width:100%}
  .dots{display:flex;justify-content:center;gap:.45rem;margin-top:.2rem}
  .dots i{width:7px;height:7px;border-radius:50%;background:#C9D8E6;transition:all .3s}
  .dots i.on{background:var(--orange);width:22px;border-radius:99px}
  .swipe-hint{display:block;text-align:center;font-size:.84rem;color:#5B6B7A;margin-top:.55rem}
}
@media(min-width:821px){.dots,.swipe-hint{display:none}}
/* phones: everything stays vertical — compact 2-column grids, no rails */
@media(max-width:820px){
  .cards{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .cards .card{padding:0 0 1.2rem;border-radius:22px;min-width:0}
  .cards .card .ring{width:56px;height:56px;margin:-28px auto .7rem}
  .cards .card h3,.cards .card .age,.cards .card p{padding-inline:.8rem}
  .cards .card .more{margin-inline:.8rem}
  .card .ring svg{width:28px;height:28px}
  .card h3{font-size:1.05rem}
  .card .age{font-size:.8rem;margin-bottom:.5rem}
  .card p{font-size:.84rem;line-height:1.5}
  .card .more{margin-top:.9rem;font-size:.88rem}
  .gal{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .gal img{height:auto;aspect-ratio:3/4;border-radius:18px}
  .revs{grid-template-columns:1fr;gap:1rem}
  .rev{padding:1.5rem 1.3rem;border-radius:24px}
  .tiles:not(.why10){grid-template-columns:1fr;gap:.9rem}
  .tiles:not(.why10) .tile{padding:1.3rem 1.2rem}
}

/* ===================== HOME HERO SLIDER ===================== */
.heroslider{padding:0;display:block;min-height:min(94vh,780px);position:relative;isolation:isolate}
.heroslider .slides{position:absolute;inset:0}
.heroslider .slide{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;
  padding:10rem 4vw 7.5rem;opacity:0;visibility:hidden;transition:opacity .9s ease;z-index:1}
.heroslider .slide.is-active{opacity:1;visibility:visible;z-index:2}
.heroslider .slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,22,.42) 0%,rgba(6,14,22,0) 24%),linear-gradient(90deg,rgba(10,20,28,.74) 0%,rgba(10,20,28,.58) 30%,rgba(10,20,28,.22) 60%,rgba(10,20,28,.04) 100%)}
.heroslider .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.heroslider .slide:not(.is-active) .bg{animation:none}
.heroslider .wrap{position:relative;z-index:2;max-width:640px}
.heroslider p{max-width:46ch;margin-inline:0}
.heroslider .cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-start;margin-top:2.3rem}
.heroslider .btn.ghost,.phero .btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.85);color:#fff}
.heroslider .btn.ghost:hover,.phero .btn.ghost:hover{background:#fff;color:var(--navy)}
.heroslider .dd{z-index:3}

/* arrows */
.harrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;
  border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:rgba(255,255,255,.9);color:var(--navy);
  transition:background .25s,transform .25s}
.harrow:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.harrow.prev{inset-inline-start:2.2rem}
.harrow.next{inset-inline-end:2.2rem}
@media(max-width:820px){.harrow{display:none}}

/* dots */
.hdots{position:absolute;inset-inline:0;bottom:clamp(38px,4.5vw,56px);z-index:5;
  display:flex;justify-content:center;gap:.55rem}
.hdots button{position:relative;width:10px;height:10px;padding:0;border:0;border-radius:99px;cursor:pointer;
  background:rgba(255,255,255,.55);transition:all .35s}
.hdots button.on{background:var(--gold);width:30px}
.hdots button:hover{background:rgba(255,255,255,.85)}
.hdots button::after{content:"";position:absolute;inset:-12px}  /* larger tap area */

/* per-slide focal points: a 2:1 banner in a tall phone frame needs steering */
.heroslider .slide:nth-child(1) .bg{object-position:50% 28%}
.heroslider .slide:nth-child(2) .bg{object-position:50% 48%}
.heroslider .slide:nth-child(3) .bg{object-position:50% 42%}

@media(max-width:820px){
  /* a shorter hero crops the wide banner far less, so the photo survives */
  .heroslider{min-height:100vh;min-height:100svh}
  .heroslider .slide{padding:9rem 1.4rem 6rem;align-items:flex-end;justify-content:flex-start;text-align:left}
  .heroslider .slide:nth-child(1) .bg{object-position:46% 26%}
  .heroslider .slide:nth-child(2) .bg{object-position:30% 50%}
  .heroslider .slide:nth-child(3) .bg{object-position:30% 38%}
  /* a soft scrim keeps the copy readable over busy photographs */
  .heroslider .slide::before{background:linear-gradient(180deg,rgba(6,14,22,.42) 0%,rgba(6,14,22,0) 24%),linear-gradient(0deg,rgba(6,14,22,.82) 0%,rgba(6,14,22,.55) 36%,rgba(6,14,26,.12) 70%,rgba(6,14,26,0) 100%)}
  .heroslider .slide::after{content:none}
  .heroslider .wrap{z-index:3;max-width:100%;padding-inline:.2rem}
  .heroslider .slide .wrap{overflow:visible}
  .heroslider .hl,.heroslider h1{font-size:clamp(1.7rem,7.2vw,2.15rem);line-height:1.12;margin:0}
  .heroslider .hl span,.heroslider h1 span{overflow:visible;padding-bottom:0}
  .heroslider .hl .w,.heroslider h1 .w{display:inline-block;transform-origin:left bottom}
  .heroslider p{font-size:1rem;line-height:1.55;max-width:32ch;margin:1rem 0 0}
  .heroslider .cta{gap:.6rem;margin-top:1.4rem;justify-content:flex-start}
  .heroslider .cta .btn{flex:0 1 auto;padding:.78rem 1.25rem;font-size:.92rem}
  .heroslider .btn.ghost{border-width:1.5px}
  .hdots{bottom:clamp(58px,10vw,86px)}

  /* phones: every slide pans slowly right-to-left (no zoom), each keeping its own vertical focal point */
  @keyframes panRL1{ from{object-position:86% 26%} to{object-position:14% 26%} }
  @keyframes panLR2{ from{object-position:30% 50%} to{object-position:58% 50%} }
  @keyframes panRL3{ from{object-position:86% 38%} to{object-position:14% 38%} }
  .heroslider .bg{animation:none;transform:none}
  .heroslider .slide:nth-child(1).is-active .bg{animation:panRL1 18s ease-in-out infinite alternate}
  .heroslider .slide:nth-child(2).is-active .bg{animation:panLR2 11s ease-in-out forwards}
  .heroslider .slide:nth-child(3).is-active .bg{animation:panRL3 18s ease-in-out infinite alternate}
}
@media(max-width:380px){
  .heroslider .hl{font-size:1.55rem}
  .heroslider p{font-size:.95rem}
}
@media (prefers-reduced-motion: reduce){
  .heroslider .slide{transition:none}
}

/* preview shell */
.pagewrap{display:none}.pagewrap.on,#p-index{display:block}#p-index.off{display:none}
#soon{position:fixed;inset-inline:0;bottom:86px;z-index:120;display:flex;justify-content:center;
  pointer-events:none;opacity:0;transition:opacity .3s}
#soon.show{opacity:1}
#soon span{background:var(--navy);color:#fff;padding:.7rem 1.3rem;border-radius:500px;
  font-size:.92rem}

:root{--maroon:#8C2437}
.trustnote a,a[href*="edu.gov.qa"]{color:var(--maroon)!important;font-weight:700;
  border-bottom:2px solid rgba(140,36,55,.35);transition:border-color .2s}
.trustnote a:hover,a[href*="edu.gov.qa"]:hover{border-bottom-color:var(--maroon)}

/* the "+" drawn as two bars, so it sits dead centre in the circle —
   the text glyph rides above the optical centre and reads as off */
.why10 .tile .pm,.qa .pm{font-size:0;line-height:0;position:relative}
.why10 .tile .pm::before,.why10 .tile .pm::after,
.qa .pm::before,.qa .pm::after{content:"";position:absolute;top:50%;left:50%;
  background:currentColor;border-radius:2px;transform:translate(-50%,-50%)}
.why10 .tile .pm::before{width:9px;height:1.7px}
.why10 .tile .pm::after{width:1.7px;height:9px}
.qa .pm::before{width:11px;height:1.8px}
.qa .pm::after{width:1.8px;height:11px}

/* page heroes: framed per photo so no child's face is cut off */
#p-admissions .phero .bg{object-position:center 15%}
#p-faq .phero .bg{object-position:center 35%}
#p-contact .phero .bg{object-position:center 48%}


/* before a hero photo arrives there must be no black panel underneath the
   dark overlay: the home hero shows a tiny blurred copy of its own photo,
   every other hero sits on brand navy */
.hero,.heroslider,.phero{background-color:var(--navy)}
.heroslider .slide:nth-child(1){background-image:url(/"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABIMDRANCxIQDhAUExIVGywdGxgYGzYnKSAsQDlEQz85Pj1HUGZXR0thTT0+WXlaYWltcnNyRVV9hnxvhWZwcm7/2wBDARMUFBsXGzQdHTRuST5Jbm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm7/wAARCAAMABgDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAUBAgQG/8QAIRAAAgIABgMBAAAAAAAAAAAAAQIAAwQREiExcQUTFEH/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//EABcRAQEBAQAAAAAAAAAAAAAAAAABESH/2gAMAwEAAhEDEQA/AOgsbHfUxBHzlQFC8juXWzF12pr3Tg5mbDWqHaRZUj5ahwZLqkwntq8je9djAeyq3bI6Qy9QjtBsf3uEUGv/2Q==");
  background-size:cover;background-position:50% 28%}
@media(max-width:820px){.heroslider .slide:nth-child(1){background-position:46% 26%}}
/* and never paint an image's alt text while it is still waiting for its file */
img[data-i]:not([src]){color:transparent;font-size:0}
.hero .bg,.heroslider .bg,.phero .bg{color:transparent;font-size:0}

/* card links line up across a row, however long the description is */
.cards .card{display:flex;flex-direction:column}
.cards .card > .cphoto,.cards .card > .ring{flex:none}
.cards .card > p{flex:1 1 auto}
.cards .card > .more{align-self:center;margin-top:1.2rem}

