/* The public website. Plain CSS, right-to-left, no framework. */
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Tajawal;src:url(/fonts/Tajawal-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}

:root{
  --navy:#004B76;--navy-deep:#0A2236;--navy-light:#0A6396;
  --orange:#F7941E;--orange-light:#FFB457;--orange-soft:#FFF1DF;
  --tint:#EAF2F8;--ink:#111D2B;--muted:#536173;--line:#E3E8EF;--ok:#2E9E6B;--bad:#D64545;
  --r:22px;--shadow:0 14px 40px -18px rgba(10,34,54,.35);
  --head:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:Tajawal,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:17px;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
a{color:inherit}
.skip{position:absolute;inset-inline-start:8px;top:-60px;background:#fff;color:var(--navy);padding:8px 14px;border-radius:10px;z-index:100}
.skip:focus{top:8px}
.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:20px}
.wrap.narrow{max-width:820px}
.center{text-align:center}
.muted{color:var(--muted)}
.fine{font-size:13.5px;color:var(--muted)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;font-size:16px;line-height:1;padding:14px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn svg{width:20px;height:20px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-gold{background:linear-gradient(135deg,var(--orange-light),var(--orange));color:#2a1700;box-shadow:0 10px 26px -10px rgba(247,148,30,.8)}
.btn-gold:hover{box-shadow:0 14px 30px -10px rgba(247,148,30,.95)}
.btn-glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-glass:hover{background:rgba(255,255,255,.22)}
.btn-ghost{background:transparent;color:var(--navy);border-color:rgba(0,75,118,.3)}
.btn-ghost:hover{background:var(--tint)}
.sec-dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.btn.wide{width:100%;margin-top:10px}
.link-btn{background:none;border:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px 0;opacity:.9}

/* ---- header ---- */
.top{position:fixed;inset-inline:0;top:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.top.solid{background:rgba(10,34,54,.88);backdrop-filter:blur(14px);box-shadow:0 8px 30px -14px rgba(0,0,0,.6)}
.hbar{display:flex;align-items:center;gap:18px;min-height:var(--head)}
.brand{display:inline-flex}
.brand img{height:45px;width:auto;display:block}
.links{display:flex;gap:6px;margin-inline-start:auto;margin-inline-end:8px}
.links a{white-space:nowrap;color:#fff;text-decoration:none;font-weight:700;font-size:15.5px;padding:8px 14px;border-radius:999px;opacity:.9;transition:background .2s,opacity .2s}
.links a:hover,.links a.on{background:rgba(255,255,255,.14);opacity:1}
.login-btn{padding:11px 22px;font-size:15px}
.menu-cta{display:none}
.burger{display:none;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.12);cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;inset-inline:12px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:28px}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.progress{height:3px;background:linear-gradient(90deg,var(--orange-light),var(--orange));transform-origin:right;transform:scaleX(0)}
body[data-page=nf] .top,.top.solid{background:rgba(10,34,54,.92)}

/* ---- hero ---- */
.hero,.xhero{position:relative;overflow:hidden;color:#fff}
.hero{background:radial-gradient(700px 420px at 4% 0%,rgba(247,148,30,.28),transparent 65%),radial-gradient(800px 500px at 100% 100%,rgba(48,160,200,.35),transparent 60%),linear-gradient(135deg,#0A3454 0%,#0A4D7A 60%,#0C6486 100%)}
.hero{min-height:min(94vh,820px);display:flex;align-items:center;justify-content:center;padding:calc(var(--head) + 70px) 0 110px;text-align:center}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.4px);background-size:26px 26px;opacity:.55;pointer-events:none}
.hero-glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.2),transparent 70%)}
.hero:hover .hero-glow{opacity:1}
.gchips{position:absolute;inset:0;pointer-events:none;z-index:1}
.gchip{position:absolute;left:calc(var(--px) * 100%);top:calc(var(--py) * 100%);translate:calc(var(--px) * -100%) calc(var(--py) * -100%);animation:floaty var(--dur) ease-in-out infinite alternate;animation-delay:calc(var(--ph) * -3s)}
.gchip b{display:block;font-size:var(--s);font-weight:800;line-height:1.2;color:rgba(255,255,255,.9);padding:calc(var(--s) * .35) calc(var(--s) * .6);border-radius:calc(var(--s) * .7);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(2px)}
@keyframes floaty{from{transform:translateY(-9px)}to{transform:translateY(9px)}}
.pre{margin:0 0 50px;font-size:22px;font-weight:700;color:#fff;animation:up .6s .1s both}
.plate-wrap{position:relative;display:inline-block}
.hero .plate{margin:0;padding:10px 30px;border-radius:16px;background:#fff;color:var(--navy);font-size:clamp(34px,5.4vw,56px);font-weight:800;line-height:1.35;box-shadow:0 14px 30px rgba(0,0,0,.22);transform-origin:right center;animation:wipe .75s .3s cubic-bezier(.2,1.3,.4,1) both}
.crown{z-index:2;position:absolute;top:-48px;left:50%;margin-left:-33px;width:66px;height:54px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35));animation:drop .95s .9s cubic-bezier(.3,1.4,.5,1) both,sway 2.2s 1.9s ease-in-out infinite alternate}
.next{margin:8px 0 0;font-size:clamp(52px,8vw,82px);font-weight:800;line-height:1.25;color:var(--orange);text-shadow:0 0 34px rgba(247,148,30,.45);animation:up .6s .8s both}
.hero .lead{max-width:620px;margin:14px auto 32px;color:rgba(255,255,255,.88);animation:up .6s 1.1s both}
.hero .cta{justify-content:center;animation:up .6s 1.3s both}
.hbtn{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 28px;border-radius:999px;font-weight:800;font-size:17px;text-decoration:none;border:1.6px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.hbtn svg{width:22px;height:22px}
.hbtn:hover{transform:translateY(-2px)}
.hb-fill{color:#fff;background:linear-gradient(135deg,#EE8F30,#D26B2B);box-shadow:0 10px 24px -10px rgba(210,107,43,.9)}
.hb-gold{position:relative;overflow:hidden;color:var(--navy-deep);font-weight:800;background:linear-gradient(90deg,#FFE9A8,#FFC857 55%,#F7941E);box-shadow:0 6px 22px rgba(255,200,87,.5)}
.hb-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.85) 50%,transparent 65%);transform:translateX(-120%);animation:shine 3s 1.5s infinite}
.hb-line{color:#fff;border-color:#fff;background:transparent}
.hb-line:hover{background:rgba(255,255,255,.12)}
.scroll-hint{position:absolute;bottom:24px;inset-inline:0;display:flex;justify-content:center;color:rgba(255,255,255,.75);animation:floaty 1.6s ease-in-out infinite alternate}
.scroll-hint svg{width:34px;height:34px}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes wipe{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-110px)}to{opacity:1;transform:none}}
@keyframes sway{from{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}
@keyframes shine{0%,40%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
.xhero{background:radial-gradient(900px 500px at 85% -20%,rgba(255,255,255,.18),transparent 60%),linear-gradient(160deg,var(--g1),var(--g2))}
.xhero{padding:calc(var(--head) + 56px) 0 70px}
.hero-in{position:relative;z-index:2}
.kicker{margin:0 0 6px;font-weight:700;font-size:22px;color:var(--orange-light)}
.kicker.dark{color:var(--orange)}
.kicker.center{text-align:center}
.xhero h1{margin:0;font-size:clamp(40px,7vw,78px);line-height:1.15;font-weight:800}
.hero h1 span{background:linear-gradient(135deg,#FFD08A,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{max-width:640px;font-size:clamp(17px,2.2vw,21px);color:rgba(255,255,255,.88);margin:18px 0 28px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.center .cta,.cta.center{justify-content:center}
.glyphs{position:absolute;inset:0;pointer-events:none;z-index:1}
.xhero .glyphs i{position:absolute;inset-inline-start:calc(var(--i) * 8.4%);bottom:-60px;font-style:normal;font-weight:800;font-size:calc(26px + (var(--i) % 4) * 8px);color:rgba(255,255,255,.14);animation:rise calc(14s + (var(--i) % 5) * 3s) linear infinite;animation-delay:calc(var(--i) * -2.3s)}
@keyframes rise{from{transform:translateY(0) rotate(0)}to{transform:translateY(-110vh) rotate(40deg)}}

/* ---- tickers ---- */
.tick{background:var(--navy-deep);color:#fff;overflow:hidden;padding:14px 0;direction:ltr}
.tape{overflow:hidden;white-space:nowrap}
.tape+.tape{margin-top:8px}
.tape>div{display:inline-flex;gap:0;animation:tape 40s linear infinite}
.tape.b>div{animation-direction:reverse;animation-duration:46s}
.tape span{padding:0 26px;font-weight:700;font-size:16px;opacity:.9}
.tape span::after{content:"✦";color:var(--orange);margin-inline-start:52px}
.tape.b span{color:var(--orange-light)}
@keyframes tape{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}

/* ---- sections ---- */
.sec{padding:84px 0}
.sec-tint{background:var(--tint)}
.sec-dark{background:linear-gradient(160deg,#0A2236,#004B76);color:#fff}
.title{margin:0;text-align:center;font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.3}
.title::after{content:"";display:block;width:72px;height:5px;border-radius:3px;margin:14px auto 0;background:linear-gradient(90deg,var(--orange-light),var(--orange));transform-origin:center;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.title.start{text-align:start}.title.start::after{margin-inline:0}
.title.light{color:#fff}
.sub{max-width:640px;margin:16px auto 0;text-align:center;color:var(--muted);font-size:17px}
.sub.start{margin-inline:0;text-align:start}
.sub.light{color:rgba(255,255,255,.85)}

.about{max-width:820px;margin:34px auto 0;text-align:center}
.about h3{margin:0 0 14px;font-size:25px;color:var(--navy);font-weight:800}
.about p{margin:0 0 14px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:44px 0}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 12px;text-align:center;box-shadow:var(--shadow)}
.stat b{display:block;font-size:46px;line-height:1.1;color:var(--orange);font-weight:800}
.stat span{color:var(--muted);font-weight:500;font-size:15px}
.highs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.high{background:var(--tint);border-radius:var(--r);padding:24px 20px}
.high .hico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff;font-size:22px;margin-bottom:12px;box-shadow:0 6px 16px -8px rgba(0,0,0,.3)}
.high h3{margin:0 0 6px;font-size:18px;color:var(--navy)}
.high p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}

/* ---- hall of fame ---- */
.hall-sum{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px 0 38px}
.hall-sum span{background:#fff;border-radius:999px;padding:8px 20px;font-weight:500;color:var(--muted);box-shadow:var(--shadow)}
.hall-sum b{color:var(--orange);font-size:22px;margin-inline-end:8px}
.champs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.champ{position:relative;background:#fff;border-radius:var(--r);padding:26px 18px 20px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.champ:hover{transform:translateY(-6px)}
.champ img,.champ .ph{width:96px;height:96px;border-radius:50%;object-fit:cover;display:grid;place-items:center;margin:0 auto 12px;border:4px solid var(--orange-soft);background:var(--tint);font-style:normal;font-size:38px;font-weight:800;color:var(--navy)}
.champ h3{margin:0;font-size:18px}
.champ p{margin:2px 0 10px;font-size:14px}
.champ .total b{display:block;font-size:44px;line-height:1.05;color:var(--navy);font-weight:800}
.champ .total small{color:var(--muted)}
.champ .secs{display:flex;justify-content:center;gap:14px;margin-top:10px;font-size:13px;color:var(--muted)}
.champ .secs b{display:block;color:var(--ink);font-size:17px}
.champ .badges{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.champ .badges em{font-style:normal;font-size:12.5px;font-weight:700;background:var(--orange-soft);color:#9a5a00;padding:3px 10px;border-radius:999px}
.champ .rank{position:absolute;top:12px;inset-inline-end:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--navy)}
.champ.r1{border-color:#F2B94B;box-shadow:0 20px 44px -18px rgba(247,148,30,.75)}.champ.r1 .rank{background:linear-gradient(135deg,#FFD66B,#F0A000)}
.champ.r2 .rank{background:linear-gradient(135deg,#C9D1DA,#8995A3)}
.champ.r3 .rank{background:linear-gradient(135deg,#E6A877,#B8733D)}

/* ---- services ---- */
.finder{max-width:760px;margin:34px auto 40px;text-align:center}
.finder>p{margin:0 0 12px;font-weight:700;color:rgba(255,255,255,.85)}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chip{font:inherit;font-weight:700;font-size:15px;color:#fff;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.3);border-radius:999px;padding:10px 18px;cursor:pointer;transition:background .2s,transform .2s}
.chip:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.chip[aria-pressed=true]{background:var(--orange);color:#2a1700;border-color:var(--orange)}
.suggest{margin:16px 0 0;font-weight:800;color:var(--orange-light)}
.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.course{background:#fff;color:var(--ink);border-radius:26px;padding:28px 26px;border-top:6px solid var(--c);box-shadow:0 22px 50px -26px rgba(0,0,0,.6);transition:transform .25s,box-shadow .25s,outline-color .25s;outline:3px solid transparent}
.course:hover{transform:translateY(-4px)}
.course.hl{outline-color:var(--orange);box-shadow:0 0 0 8px rgba(247,148,30,.22)}
.course h3{margin:0 0 4px;font-size:24px;color:var(--c)}
.course .tagline{margin:0 0 14px;color:var(--muted);font-size:15px}
.course ul{list-style:none;margin:14px 0 6px;padding:0;display:grid;gap:8px}
.course li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px}
.course li svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--c)}
.course .link-btn{color:var(--c)}
.course .btn{margin-top:16px}

/* ---- app section ---- */
.app-in{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.app-icon{border-radius:38px;box-shadow:0 26px 50px -22px rgba(247,148,30,.8);transform:rotate(-4deg)}
.stores{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.store{display:inline-flex;align-items:center;gap:12px;background:var(--navy-deep);color:#fff;text-decoration:none;border-radius:16px;padding:12px 22px;font-weight:800;font-size:19px;line-height:1.1}
.store svg{width:30px;height:30px}
.store small{display:block;font-weight:500;font-size:12px;opacity:.75}
.store.soon{opacity:.55;cursor:default}

/* ---- contact ---- */
.contact{display:grid;grid-template-columns:3fr 2fr;gap:24px;margin-top:36px;align-items:start}
.card{background:#fff;border-radius:26px;padding:26px;box-shadow:var(--shadow);border:1px solid var(--line)}
.card h3{margin:0 0 14px;font-size:20px}
label{display:block;font-weight:700;font-size:14.5px;margin-bottom:12px;color:var(--muted)}
input,select,textarea{width:100%;margin-top:6px;font:inherit;font-weight:500;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px rgba(247,148,30,.2)}
textarea{resize:vertical}
.err{margin:6px 0 0;padding:10px 14px;border-radius:12px;background:rgba(214,69,69,.1);border:1px solid rgba(214,69,69,.35);color:var(--bad);font-weight:700;font-size:14.5px}
.info a{display:flex;align-items:center;gap:14px;text-decoration:none;padding:12px 6px;border-radius:14px;transition:background .2s}
.info a:hover{background:var(--tint)}
.info i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}
.info i svg{width:24px;height:24px}
.info b{display:block;font-size:16px}
.info small{color:var(--muted);font-size:14px}

/* ---- footer ---- */
.foot{background:var(--navy-deep);color:#fff;padding:36px 0 44px}
.foot-in{display:flex;align-items:center;flex-wrap:wrap;gap:20px;justify-content:space-between}
.foot p{margin:0;opacity:.7;font-size:14px}
.social{display:flex;gap:10px}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);transition:background .2s,transform .2s}
.social a:hover{background:var(--orange);color:#2a1700;transform:translateY(-3px)}
.social svg{width:22px;height:22px}
.wa-float{position:fixed;inset-inline-start:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#25D366;box-shadow:0 12px 26px -8px rgba(37,211,102,.8);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}

/* ---- exam pages ---- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:56px}
.fact{background:var(--tint);border-radius:var(--r);padding:20px 14px;text-align:center}
.fact b{display:block;font-size:38px;line-height:1.1;font-weight:800;color:var(--navy)}
.fact span{font-size:14.5px;color:var(--muted)}
.bars{display:grid;gap:14px;margin-top:34px}
.bar{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 8px 24px -16px rgba(10,34,54,.4)}
.bar .n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}
.bar-body{flex:1;min-width:0}
.bar-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bar-top span{color:var(--muted);font-size:14.5px}
.bar-track{height:10px;border-radius:6px;background:var(--tint);margin:8px 0 4px;overflow:hidden}
.bar-track i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,var(--g1,var(--navy)),var(--orange));transform-origin:right;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.bar.in .bar-track i{transform:scaleX(1)}
.bar small{color:var(--muted)}
.note{margin:24px 0 0;color:var(--muted);font-size:15.5px}
.blks{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.blk{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.blk h3{margin:0 0 10px;font-size:20px;color:var(--navy)}
.blk ul{margin:0;padding-inline-start:20px;display:grid;gap:8px;color:var(--muted);font-size:15.5px}
.faqs{display:grid;gap:10px;margin-top:30px}
.faq{background:#fff;border-radius:16px;border:1px solid var(--line);padding:4px 18px}
.faq summary{cursor:pointer;font-weight:800;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--orange);transition:transform .25s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 14px;color:var(--muted)}
.xlinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.fine a{color:var(--navy);font-weight:700}

/* ---- login dialog ---- */
.dlg{border:0;padding:0;border-radius:28px;max-width:440px;width:calc(100% - 28px);background:#fff;color:var(--ink);box-shadow:0 40px 80px -20px rgba(0,0,0,.55)}
.dlg::backdrop{background:rgba(10,34,54,.65);backdrop-filter:blur(4px)}
.dlg[open]{animation:pop .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.dlg-card{padding:30px 26px 24px;position:relative}
.dlg-card h2{margin:0 0 6px;font-size:26px;text-align:center}
.dlg-card>div>.muted,.dlg-card .fine{text-align:center}
.dlg-x{position:absolute;inset-inline-start:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:var(--tint);font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}
#login-form{margin-top:18px}
.pw{display:flex;align-items:center;position:relative}
.pw input{padding-inline-end:46px}
.pw button{position:absolute;inset-inline-end:6px;margin-top:6px;width:36px;height:36px;border:0;background:none;cursor:pointer;font-size:18px}
.dlg .stores{justify-content:center}

/* ---- scroll reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.title.reveal:not(.in)::after{transform:scaleX(0)}
.no-js .reveal{opacity:1;transform:none}

/* ---- responsive ---- */
@media (max-width:1320px){.links a{padding:8px 10px;font-size:15px}.hbar{gap:12px}}
@media (max-width:1180px){
  .links{display:none}
  .burger{display:block;margin-inline-start:auto}
  .login-btn{display:none}
  .top.open{background:rgba(10,34,54,.97)}
  .top.open .links{display:grid;position:absolute;top:var(--head);inset-inline:0;background:rgba(10,34,54,.97);padding:10px 20px 22px;gap:4px;margin:0}
  .top.open .links a{font-size:18px;padding:14px 16px}
  .top.open .menu-cta{display:inline-flex;margin-top:10px}
}
@media (max-width:900px){
  .stats,.highs{grid-template-columns:repeat(2,1fr)}
  .courses,.blks,.contact{grid-template-columns:1fr}
  .app-in{grid-template-columns:1fr;text-align:center}
  .app-in .title.start,.app-in .sub.start{text-align:center}
  .app-in .title.start::after{margin-inline:auto}
  .app-in .stores{justify-content:center}
  .app-icon{margin:0 auto;order:-1;width:120px;height:120px}
  .sec{padding:60px 0}
}
@media (max-width:940px){.gchip:not(.edge){display:none}.gchip{opacity:.5}}
@media (max-width:520px){
  .pre{margin-bottom:46px;font-size:19px}
  .hbtn{flex:1 1 100%;justify-content:center}
  body{font-size:16px}
  .stat b{font-size:38px}
  .champs{grid-template-columns:repeat(2,1fr);gap:12px}
  .champ{padding:20px 10px 16px}
  .champ img,.champ .ph{width:76px;height:76px}
  .champ .total b{font-size:34px}
  .hero{padding-bottom:96px}
  .cta .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .bar-track i{transform:none}
}

/* ---- calculator page ---- */
.kicker.light{color:rgba(255,255,255,.9)}
.xhero h1{font-size:clamp(32px,5.5vw,56px)}
.calc{padding:clamp(20px,4vw,34px)}
.cfs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf{display:block;margin:0}
.cf-l{display:block;font-weight:800;color:var(--ink);font-size:15.5px;line-height:1.4}
.cf-h{display:block;font-weight:500;color:var(--muted);font-size:13.5px;margin-top:2px}
.cf input{margin-top:10px;text-align:center;font-size:34px;font-weight:800;padding:12px 8px;border-radius:18px;color:var(--navy)}
.calc-empty{margin:26px 0 6px;padding:20px;text-align:center;color:var(--muted);background:var(--tint);border-radius:18px}
#calc-result{margin-top:26px;display:grid;gap:16px}
.res-main{text-align:center;padding:24px 16px;border-radius:24px;background:linear-gradient(160deg,#0A3454,#0C6486);color:#fff}
.res-title{margin:0 0 14px;font-weight:700;color:rgba(255,255,255,.85)}
.ring{position:relative;width:190px;height:190px;margin:0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.ring-bg{stroke:rgba(255,255,255,.16)}
.ring-fg{stroke:var(--orange);transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:58px;font-weight:800;color:#fff}
.res-pct{margin:14px 0 0;font-weight:700;color:var(--orange-light)}
.res-scaled{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini{background:var(--tint);border-radius:18px;padding:16px;text-align:center}
.mini small{display:block;color:var(--muted);font-size:12.5px}
.mini span{display:block;font-weight:700;color:var(--muted);font-size:14.5px}
.mini b{display:block;font-size:34px;line-height:1.15;color:var(--navy);font-weight:800}
.res-box{background:var(--tint);border-radius:22px;padding:18px}
.res-box h3{margin:0 0 12px;font-size:16.5px;color:var(--navy)}
.res-box .mini{background:#fff}
.res-box .fine{margin:12px 0 0}
.gains{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gain{background:#fff;border-radius:16px;padding:14px;text-align:center;border:2px solid transparent}
.gain span{display:block;font-weight:700;color:var(--muted);font-size:14.5px}
.gain b{display:block;font-size:30px;font-weight:800;color:var(--ok);line-height:1.2}
.gain.none b{font-size:13.5px;font-weight:500;color:var(--muted);line-height:1.5}
.gain.best{border-color:var(--orange);box-shadow:0 8px 20px -10px rgba(247,148,30,.7)}
.disclaimer{margin:22px 0 0;line-height:1.7}
@media (max-width:520px){.cfs,.res-scaled,.gains{grid-template-columns:1fr}.ring{width:160px;height:160px}.ring b{font-size:48px}}

/* ---- exam rooms page ---- */
.rsearch input{width:100%;margin:0;font-size:19px;padding:16px 20px;border-radius:999px;border:2px solid var(--line);box-shadow:var(--shadow)}
.rsearch .muted{margin:12px 6px 0;font-size:15px}
.rchips{display:flex;gap:8px;overflow-x:auto;padding:16px 2px 6px;scrollbar-width:thin}
.rchips .chip{flex:none;color:var(--navy);background:var(--tint);border-color:transparent}
.rchips .chip:hover{background:#dce9f3}
.rchips .chip[aria-pressed=true]{background:var(--navy);color:#fff}
.rcount{margin:14px 6px 0;font-weight:800;color:var(--muted)}
#rlist{margin-top:14px}
.runis{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.runi{font:inherit;text-align:start;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);transition:transform .2s,border-color .2s;display:grid;gap:2px}
.runi:hover{transform:translateY(-3px);border-color:var(--orange)}
.runi b{font-size:18px;color:var(--navy)}
.runi small{color:var(--muted)}
.runi span{margin-top:8px;font-weight:700;color:var(--ok)}
.rrows{display:grid;gap:10px}
.rrow{font:inherit;display:flex;align-items:center;gap:14px;text-align:start;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 12px 8px 8px;transition:border-color .2s,transform .2s}
.rrow:hover{border-color:var(--orange);transform:translateX(-3px)}
.rrow img,.rnoimg{flex:none;width:72px;height:54px;border-radius:12px;object-fit:cover;background:var(--tint)}
.rtext{display:grid;min-width:0}
.rtext b{font-size:17px}
.rtext small{color:var(--muted);font-size:14px}
.rnone{padding:22px;text-align:center;color:var(--muted);background:var(--tint);border-radius:18px}
.rbld{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2px 18px;margin-bottom:10px}
.rbld summary{cursor:pointer;font-weight:800;padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
.rbld summary::-webkit-details-marker{display:none}
.rbld summary em{font-style:normal;font-weight:700;font-size:13.5px;color:var(--muted);background:var(--tint);border-radius:999px;padding:2px 10px}
.rgrid{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 16px}
.rnum{font:inherit;font-weight:800;min-width:52px;padding:8px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.rnum:hover{background:var(--orange-soft);border-color:var(--orange)}
.rsource{text-align:center;margin-top:30px}
.rdlg{max-width:640px}
.rdlg h2{margin:0 0 4px;text-align:start;font-size:24px}
.rpath{margin:0 0 2px;font-size:14px;padding-inline-start:44px}
.gal{position:relative;margin:14px 0 6px}
.gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:18px;background:var(--tint);scrollbar-width:none}
.gal-track::-webkit-scrollbar{display:none}
.gal-track img{flex:0 0 100%;width:100%;max-height:60vh;object-fit:contain;scroll-snap-align:center;background:#0A2236}
.gal-nav{position:absolute;top:50%;translate:0 -50%;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(0,0,0,.3);font-size:28px;line-height:1;cursor:pointer;color:var(--navy)}
.gal-prev{inset-inline-start:10px}.gal-next{inset-inline-end:10px}
.gal-count{text-align:center;margin:6px 0 0}
