@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700&display=swap");
/* AL-Azhar International Islamic School — site styles. Light + dark, BN/EN/AR. */
:root{
  --green:#0F6B45;--green-2:#0A5034;--mint:#E7F2EC;--navy:#1D3C8F;--navy-2:#14295F;--red:#D3262F;--gold:#B8892B;--gold-soft:#F6EEDC;
  --paper:#FBF8F2;--card:#FFFFFF;--ink:#1B2420;--muted:#5E6A64;--line:#E7E1D5;--soft:#F4F0E7;
  --r:10px;--r-lg:16px;--sh:0 10px 30px -18px rgba(20,40,30,.35);
  --bn:"Hind Siliguri","Noto Sans Bengali",system-ui,sans-serif;--bn-h:"Noto Serif Bengali","Hind Siliguri",serif;
  --en:"Inter",system-ui,sans-serif;--en-h:"Fraunces",Georgia,serif;--ar:"Amiri","Noto Naskh Arabic",serif;
  color-scheme:light;
}
:root[data-theme=dark]{
  --green:#3DBB82;--green-2:#2E9D6B;--mint:#12291F;--navy:#7B9BEA;--navy-2:#0E1A33;--gold:#D9B45A;--gold-soft:#2A2416;
  --paper:#0E1411;--card:#151D19;--ink:#E6ECE8;--muted:#9DABA4;--line:#25312B;--soft:#1A231F;--sh:0 10px 30px -18px rgba(0,0,0,.7);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--bn);font-size:16px;line-height:1.75;color:var(--ink);background:var(--paper);min-height:100dvh;display:flex;flex-direction:column}
html[data-lang=en] body{font-family:var(--en);font-size:15.5px;line-height:1.65}
html[data-lang=en] .bn,html[data-lang=bn] .en{display:none!important}
html[data-lang=ar] .bn,html[data-lang=ar] .en,html[data-lang=bn] .ara,html[data-lang=en] .ara{display:none!important}
/* Arabic (RTL) */
html[data-lang=ar] body{font-family:"Cairo","Noto Naskh Arabic",system-ui,sans-serif;font-size:16px;line-height:1.8}
html[data-lang=ar] h1,html[data-lang=ar] h2{font-family:"Amiri","Cairo",serif;font-weight:700;letter-spacing:0;line-height:1.45}
html[data-lang=ar] h3,html[data-lang=ar] .formsec,html[data-lang=ar] footer h4,html[data-lang=ar] .nitem h3{font-family:"Cairo",sans-serif;font-weight:700}
html[data-lang=ar] .eyebrow{letter-spacing:0}
html[data-lang=ar] .brand .n1{font-family:"Amiri",serif;text-transform:none;font-size:1.15rem;letter-spacing:0}
html[data-lang=ar] footer .fb b{font-family:"Amiri",serif;text-transform:none}
html[dir=rtl] .msg blockquote{border-left:0;border-right:3px solid var(--gold);padding-left:0;padding-right:18px}
html[dir=rtl] .search .ic{left:auto;right:14px}
html[dir=rtl] .search input{padding:0 42px 0 16px}
html[dir=rtl] .collage .seal{left:auto;right:-14px}
html[dir=rtl] .notice-strip .wrap,html[dir=rtl] .facts div{direction:rtl}
html[dir=rtl] .lb .pv{left:auto;right:16px}html[dir=rtl] .lb .nx{right:auto;left:16px}
html[dir=rtl] .modal .x{right:auto;left:12px}
html[dir=rtl] .fab{right:auto;left:16px}
html[dir=rtl] th,html[dir=rtl] td{text-align:right}
html[dir=rtl] .link svg,html[dir=rtl] .btn svg:has(use[href="#i-arrow"]){transform:scaleX(-1)}
html[dir=rtl] .hero .bism{text-align:right}
html[dir=rtl] .util .l a[href^=tel],html[dir=rtl] a[href^=tel] b,html[dir=rtl] .appid{direction:ltr;unicode-bidi:isolate}
main{flex:1}
img{display:block;max-width:100%;height:auto}
svg{display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.skip{position:absolute;left:12px;top:8px;background:var(--green);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip:focus{clip-path:none;width:auto;height:auto}
html{overflow-x:clip}
h1,h2,h3{line-height:1.3;font-family:var(--bn-h);font-weight:700;letter-spacing:-.005em}
html[data-lang=en] h1,html[data-lang=en] h2{font-family:var(--en-h);font-weight:600;letter-spacing:-.015em}
html[data-lang=en] h3{font-family:var(--en);font-weight:650}
h1{font-size:clamp(1.85rem,4vw,3rem)}
h2{font-size:clamp(1.4rem,2.6vw,2rem)}
h3{font-size:1.1rem}
p{max-width:68ch}
.ar{font-family:var(--ar);font-size:1.35em;line-height:1.6;direction:rtl}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.wrap{padding:0 28px}}
.ic{width:20px;height:20px;flex:none}
.muted{color:var(--muted)}
.sec{padding:56px 0}
.sec.tight{padding:36px 0}
.sec.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.08em}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold)}
.head{max-width:720px;margin-bottom:28px}
.head p{color:var(--muted);margin-top:8px}
.head.center{text-align:center;margin-left:auto;margin-right:auto}
.head.center p{margin-left:auto;margin-right:auto}
.head.row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.link{color:var(--green);font-weight:600;display:inline-flex;gap:6px;align-items:center}
.link:hover{text-decoration:underline}
.link .ic{width:16px;height:16px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;font-weight:600;font-size:.96rem;border:1.5px solid transparent;background:transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-2)}
:root[data-theme=dark] .btn-green{color:#062015}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#B51F27}
.btn-line{border-color:var(--line);background:var(--card);color:var(--ink)}.btn-line:hover{border-color:var(--green);color:var(--green)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-wa{background:#25D366;color:#073b1e}.btn-wa:hover{background:#1ebe5b}
.btn-sm{min-height:38px;padding:0 14px;font-size:.88rem}
.btns{display:flex;flex-wrap:wrap;gap:10px}
/* utility bar */
.util{background:var(--navy-2);color:#C9D4F0;font-size:.82rem}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;min-height:38px;flex-wrap:wrap}
.util .l{display:flex;gap:18px;align-items:center}
.util .l a,.util .l span{display:inline-flex;gap:6px;align-items:center}
.util .ic{width:14px;height:14px;opacity:.9}
.util a:hover{color:#fff}
.util .r{display:flex;gap:10px;align-items:center}
.pill-live{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:2px 10px;font-weight:600}
.pill-live i{width:7px;height:7px;border-radius:50%;background:#5BE49B}
.lang{display:inline-flex;border:1px solid rgba(255,255,255,.3);border-radius:999px;overflow:hidden}
.lang button{border:0;background:transparent;color:#fff;font-size:.76rem;font-weight:700;padding:3px 10px;cursor:pointer}
.lang button[aria-pressed=true]{background:#fff;color:var(--navy-2)}
.theme{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.theme .ic{width:14px;height:14px}
.i-sun{display:none}:root[data-theme=dark] .i-sun{display:block}:root[data-theme=dark] .i-moon{display:none}
@media(max-width:760px){.util .l .hide-sm{display:none}}
/* header */
header.site{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hbar{display:flex;align-items:center;gap:18px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img{width:54px;height:54px}
.brand .n1{display:block;font-family:var(--en);font-weight:800;font-size:1.02rem;letter-spacing:.01em;color:var(--green);line-height:1.15;text-transform:uppercase}
.brand .n2{display:block;font-size:.8rem;color:var(--muted);line-height:1.3;margin-top:2px}
.nav{display:none;gap:4px;margin-left:auto;align-items:center}
.nav a{padding:8px 10px;border-radius:8px;font-weight:500;font-size:.95rem;color:var(--ink);white-space:nowrap}
html[data-lang=en] .nav a{font-size:.9rem}
.nav a:hover{background:var(--soft)}
.nav a[aria-current=page]{color:var(--green);background:var(--mint)}
.hcta{display:none}
.menu{margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer}
@media(min-width:1280px){.nav{display:flex}.hcta{display:inline-flex}.menu{display:none}}
.mnav{display:none;border-top:1px solid var(--line);background:var(--card)}
.mnav.open{display:block}
.mnav .wrap{padding-top:8px;padding-bottom:16px;display:grid}
.mnav a{padding:12px 4px;border-bottom:1px solid var(--line);font-weight:500}
.mnav .btn{margin-top:12px}
/* hero */
.hero{position:relative;overflow:hidden;background:var(--paper)}
.hero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%230F6B45' stroke-opacity='.07' stroke-width='1'%3E%3Cpath d='M32 6l7.5 18.5L58 32l-18.5 7.5L32 58l-7.5-18.5L6 32l18.5-7.5z'/%3E%3Crect x='17' y='17' width='30' height='30' transform='rotate(45 32 32)'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.hero .wrap{position:relative;display:grid;gap:36px;padding-top:44px;padding-bottom:56px;align-items:center}
@media(min-width:1000px){.hero .wrap{grid-template-columns:1.05fr .95fr;padding-top:64px;padding-bottom:72px}}
.hero .bism{color:var(--green);margin-bottom:14px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero .lead{font-size:1.08rem;color:var(--muted);margin:16px 0 24px}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;padding-top:20px;border-top:1px dashed var(--line)}
.facts div{display:flex;gap:10px;align-items:center;font-size:.92rem}
.facts .ic{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--mint);color:var(--green)}
.facts b{display:block;line-height:1.2}
.facts small{color:var(--muted)}
.collage{position:relative;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1.05}
.collage figure{border-radius:var(--r-lg);overflow:hidden;background:var(--soft);box-shadow:var(--sh)}
.collage figure:first-child{grid-row:1/3}
.collage img{width:100%;height:100%;object-fit:cover}
.collage .seal{position:absolute;left:-14px;bottom:-14px;width:108px;height:108px;border-radius:50%;background:var(--card);padding:6px;box-shadow:var(--sh)}
@media(max-width:600px){.collage .seal{width:80px;height:80px;left:-6px;bottom:-10px}}
/* admission ribbon */
.ribbon{background:var(--green);color:#fff}
.ribbon .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.ribbon b{font-size:1.1rem}
.ribbon p{color:#D6F0E2;font-size:.94rem}
.ribbon .btn-white{background:#fff;color:var(--green)}
:root[data-theme=dark] .ribbon{background:#0E3B28}
/* cards */
.grid2,.grid3,.grid4{display:grid;gap:18px}
@media(min-width:760px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.card p{color:var(--muted);font-size:.95rem;margin-top:6px}
.card .i{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--green);margin-bottom:14px}
.card .i.navy{background:#E6ECFA;color:var(--navy)}
.card .i.gold{background:var(--gold-soft);color:var(--gold)}
:root[data-theme=dark] .card .i.navy{background:#18234A}
.prog{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.prog .ph{aspect-ratio:16/10;overflow:hidden;background:var(--soft);position:relative}
.prog .ph img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.collage img,.photo img{object-position:center 30%}
.prog .tag{position:absolute;left:14px;top:14px;background:var(--card);color:var(--green);font-weight:700;font-size:.76rem;padding:4px 10px;border-radius:999px}
.prog .b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.prog ul{list-style:none;display:grid;gap:6px;margin:6px 0 10px;font-size:.93rem;color:var(--muted)}
.prog li{display:flex;gap:8px}
.prog li .ic{width:17px;height:17px;color:var(--green);margin-top:4px}
.prog .link{margin-top:auto}
.tile{position:relative;background:var(--green-2);color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden;height:100%;min-height:200px}
.tile::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.14'%3E%3Cpath d='M32 6l7.5 18.5L58 32l-18.5 7.5L32 58l-7.5-18.5L6 32l18.5-7.5z'/%3E%3Crect x='17' y='17' width='30' height='30' transform='rotate(45 32 32)'/%3E%3C/g%3E%3C/svg%3E")}
.tile>*{position:relative}
.tile .ar{font-size:clamp(2.6rem,6vw,4rem);line-height:1.3;color:#F4E3B5}
.tile small{display:block;color:#CDE9DA;font-size:.9rem;margin-top:4px}
.tile img.seal-big{width:58%;max-width:220px;background:#fff;border-radius:50%;padding:8px}
:root[data-theme=dark] .tile{background:#0E3B28}
/* notices */
.nlist{display:grid;gap:10px}
.nitem{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;cursor:pointer;text-align:left;width:100%}
.nitem:hover{border-color:var(--green)}
.date{border-radius:10px;overflow:hidden;text-align:center;border:1px solid var(--line);font-family:var(--en)}
.date b{display:block;background:var(--green);color:#fff;font-size:.72rem;padding:2px 0;text-transform:uppercase;letter-spacing:.05em}
.date span{display:block;font-size:1.3rem;font-weight:700;padding:3px 0}
.nitem h3{font-size:1rem;font-family:var(--bn);font-weight:600}
html[data-lang=en] .nitem h3{font-family:var(--en)}
.nitem p{color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--mint);color:var(--green);margin-bottom:4px}
.cat.exam{background:#E6ECFA;color:var(--navy)}.cat.holiday{background:#FDE8E9;color:var(--red)}.cat.event{background:var(--gold-soft);color:var(--gold)}
:root[data-theme=dark] .cat.exam{background:#18234A}:root[data-theme=dark] .cat.holiday{background:#3A1719}
.nb{display:grid;gap:22px}
@media(min-width:960px){.nb{grid-template-columns:1.3fr 1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
@media(min-width:768px){.panel{padding:28px}}
.panel>h3{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ev{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.ev:last-child{border:0}
.ev .ic{width:40px;height:40px;padding:9px;border-radius:10px;background:var(--gold-soft);color:var(--gold)}
.ev b{display:block;line-height:1.35}
.ev small{color:var(--muted)}
/* message */
.msg{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.msg{grid-template-columns:320px 1fr}}
.msg .por{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--soft);position:relative}
.msg .por img{width:100%;height:100%;object-fit:cover}
.msg blockquote{font-size:1.08rem;border-left:3px solid var(--gold);padding-left:18px;color:var(--ink)}
.msg cite{display:block;margin-top:14px;font-style:normal;color:var(--muted)}
.msg cite b{color:var(--ink)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}
@media(min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}
.stat b{display:block;font-family:var(--en-h);font-size:1.9rem;color:var(--green);line-height:1.2}
.stat span{color:var(--muted);font-size:.92rem}
html[data-lang=bn] .stat b,html[data-lang=bn] .gpa b{font-family:var(--bn-h);font-weight:700}
.seal-anim{position:relative;width:78%;max-width:300px;aspect-ratio:1;display:grid;place-items:center}
.seal-anim .ring-text{position:absolute;inset:0;width:100%;height:100%;animation:aiis-spin 40s linear infinite}
.seal-anim .ring-text text{fill:#F4E3B5;font-family:var(--en);font-weight:700;font-size:11px;letter-spacing:.12em}
.seal-anim .ring-dash{position:absolute;inset:14%;border-radius:50%;border:1.5px dashed rgba(244,227,181,.45);animation:aiis-spin 24s linear infinite reverse}
.msg .por .seal-anim img{position:relative;width:64%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff;padding:5px;box-shadow:0 0 0 6px rgba(255,255,255,.08),0 18px 40px -12px rgba(0,0,0,.55);animation:aiis-breathe 5s ease-in-out infinite}
@keyframes aiis-spin{to{transform:rotate(360deg)}}
@keyframes aiis-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.seal-anim .ring-text,.seal-anim .ring-dash,.msg .por .seal-anim img{animation:none}}
.hero .bism{text-align:left}
/* gallery */
.gal{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.gal.g4{grid-template-columns:repeat(4,1fr)}}
.gal button{border:0;padding:0;background:var(--soft);border-radius:var(--r);overflow:hidden;cursor:zoom-in;aspect-ratio:1}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gal button:hover img{transform:scale(1.03)}
.lb{position:fixed;inset:0;background:rgba(5,12,9,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.lb.open{display:flex}
.lb img{max-height:86vh;max-width:92vw;border-radius:10px}
.lb button{position:absolute;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;display:grid;place-items:center;cursor:pointer}
.lb .x{top:16px;right:16px}.lb .pv{left:16px;top:50%}.lb .nx{right:16px;top:50%}
/* page hero */
.phero{background:var(--green);color:#fff;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.08'%3E%3Cpath d='M32 6l7.5 18.5L58 32l-18.5 7.5L32 58l-7.5-18.5L6 32l18.5-7.5z'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme=dark] .phero{background:#0E3B28}
.phero .wrap{position:relative;padding-top:40px;padding-bottom:40px}
.phero h1{font-size:clamp(1.7rem,3.4vw,2.5rem)}
.phero p{color:#D6F0E2;margin-top:8px}
.crumb{font-size:.86rem;color:#BFE6D1;margin-bottom:10px}
.crumb a{color:#fff;text-decoration:underline}
/* tables & forms */
.twrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:600;white-space:nowrap}
tr:last-child td{border-bottom:0}
.field{margin-bottom:14px}
.field>label,.field legend{display:block;font-weight:600;margin-bottom:6px;font-size:.93rem}
.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--paper);font-size:.98rem}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);outline-offset:-1px;background:var(--card)}
.field .err{display:none;color:#C42B30;font-size:.84rem;font-weight:600;margin-top:4px}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--red)}.field.bad .err{display:block}
fieldset{border:0}
.f2{display:grid;gap:0 14px}@media(min-width:640px){.f2{grid-template-columns:1fr 1fr}}
.f3{display:grid;gap:0 14px}@media(min-width:760px){.f3{grid-template-columns:repeat(3,1fr)}}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-weight:500;font-size:.92rem}
.seg input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--green)}
.formsec{font-family:var(--bn);font-weight:700;font-size:1rem;color:var(--green);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
html[data-lang=en] .formsec{font-family:var(--en)}
.ok{display:none;text-align:center}.ok.show{display:block}
.ok .tick{width:68px;height:68px;border-radius:50%;margin:0 auto 12px;background:var(--green);display:grid;place-items:center;color:#fff}
.ok .tick svg{width:32px;height:32px}
.appid{font-family:var(--en);font-weight:800;font-size:1.4rem;color:var(--green);letter-spacing:.04em}
.steps{display:grid;gap:14px;counter-reset:s}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;position:relative;counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--en);font-weight:700;margin-bottom:10px}
.step p{color:var(--muted);font-size:.92rem;margin-top:4px}
.checks{list-style:none;display:grid;gap:8px}
.checks li{display:flex;gap:10px}
.checks .ic{color:var(--green);width:18px;height:18px;margin-top:5px}
.note{background:var(--gold-soft);border:1px solid #E9D9B0;border-radius:var(--r);padding:12px 14px;font-size:.9rem}
:root[data-theme=dark] .note{border-color:#4A3D1F}
.split{display:grid;gap:28px;align-items:center}@media(min-width:960px){.split{grid-template-columns:1fr 1fr}}
.photo{border-radius:var(--r-lg);overflow:hidden;background:var(--soft)}
.photo img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:500;font-size:.9rem;cursor:pointer}
.chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.search{position:relative;flex:1;min-width:220px}
.search input{width:100%;height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px 0 42px;background:var(--card)}
.search .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);width:18px;height:18px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
/* modal */
.modal{position:fixed;inset:0;background:rgba(5,12,9,.55);z-index:90;display:none;align-items:center;justify-content:center;padding:16px}
.modal.open{display:flex}
.modal .box{background:var(--card);border-radius:var(--r-lg);max-width:640px;width:100%;max-height:calc(100dvh - 32px);overflow:auto;padding:26px;position:relative}
.modal .x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer}
/* result card */
.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.rcard .top{background:var(--green);color:#fff;padding:18px 22px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.rcard .top img{width:56px;height:56px;background:#fff;border-radius:50%}
.rcard .top small{color:#D6F0E2}
.rcard .meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px 22px;border-bottom:1px solid var(--line);font-size:.92rem}
@media(min-width:760px){.rcard .meta{grid-template-columns:repeat(4,1fr)}}
.rcard .meta span{display:block;color:var(--muted);font-size:.8rem}
.rcard .body{padding:18px 22px}
.gpa{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.gpa div{flex:1 1 140px;border:1px solid var(--line);border-radius:var(--r);padding:12px;text-align:center}
.gpa b{display:block;font-family:var(--en-h);font-size:1.6rem;color:var(--green)}
.badge{display:inline-flex;font-size:.76rem;font-weight:700;padding:2px 9px;border-radius:999px}
.badge.paid{background:#DDF5E7;color:#0B6B3C}.badge.due{background:#FDE8E9;color:#A61E23}.badge.demo{background:#FACC15;color:#3a2a00}
/* map & contact */
.map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);min-height:320px;background:var(--soft)}
.map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
.cinfo{display:grid;gap:12px}
.cinfo a,.cinfo div.row{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.cinfo .ic{width:40px;height:40px;padding:9px;border-radius:10px;background:var(--mint);color:var(--green)}
.cinfo b{display:block}
.cinfo small{color:var(--muted)}
/* footer */
footer.site{background:var(--navy-2);color:#B9C6E6;margin-top:0;font-size:.92rem}
footer .top{padding:48px 0 30px;display:grid;gap:28px}
@media(min-width:900px){footer .top{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
footer h4{color:#fff;font-size:1rem;margin-bottom:12px;font-weight:700}
footer ul{list-style:none;display:grid;gap:7px}
footer a:hover{color:#fff}
footer .fb{display:flex;gap:12px;align-items:center;margin-bottom:14px}
footer .fb img{width:62px;height:62px;background:#fff;border-radius:50%}
footer .fb b{color:#fff;display:block;font-family:var(--en);font-weight:800;text-transform:uppercase;font-size:.95rem;line-height:1.25}
footer .bottom{border-top:1px solid rgba(255,255,255,.1)}
footer .bottom .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;font-size:.84rem}
footer .bottom a.adm{text-decoration:underline}
.social{display:flex;gap:8px;margin-top:14px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}
.social a:hover{background:rgba(255,255,255,.1)}
.social .ic{width:17px;height:17px}
.credit{display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);color:#C9D4F0}
.credit:hover{border-color:rgba(255,255,255,.4)}
.credit .zi{width:28px;height:28px;border-radius:50%;flex:none;background:conic-gradient(from 210deg,#FACC15,#F97316,#EC4899,#8B5CF6,#14B8A6,#FACC15);position:relative}
.credit .zi::after{content:"ZI";position:absolute;inset:3px;border-radius:50%;background:var(--navy-2);color:#fff;display:grid;place-items:center;font-family:var(--en);font-weight:800;font-size:.62rem}
.credit .ct{display:flex;flex-direction:column;line-height:1.2}
.credit small{font-family:var(--en);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#93A5D4}
.credit b{font-family:var(--en);font-size:.86rem;color:#fff}
.credit .arr{width:13px;height:13px;color:#FACC15}
.fab{position:fixed;right:16px;bottom:16px;z-index:60;width:54px;height:54px;border-radius:50%;background:#25D366;color:#073b1e;display:grid;place-items:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.45)}
.fab .ic{width:28px;height:28px}
.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:11px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:120;font-weight:500;max-width:calc(100% - 32px)}
.toast.show{opacity:1}
.notice-strip{background:var(--gold-soft);border-bottom:1px solid #E9D9B0;font-size:.9rem;font-weight:600}
.notice-strip .wrap{display:flex;gap:10px;align-items:center;padding-top:8px;padding-bottom:8px}
.notice-strip b{background:var(--red);color:#fff;padding:1px 10px;border-radius:999px;font-size:.78rem;flex:none}
.notice-strip a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* admin */
.auth{display:grid;place-items:center;padding:48px 16px 70px}
.auth .panel{width:100%;max-width:420px}
.democred{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--soft);border:1px dashed var(--line);font-size:.9rem}
.democred code{font-family:ui-monospace,Consolas,monospace;font-weight:700;background:var(--card);padding:1px 6px;border-radius:5px;border:1px solid var(--line)}
.dtabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px}
.dtabs button{border:0;background:transparent;padding:10px 14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.dtabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}@media(min-width:900px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpi small{color:var(--muted)}.kpi b{display:block;font-family:var(--en);font-size:1.6rem}
.st{display:inline-flex;font-size:.76rem;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}
.st.new{background:#FFF1D6;color:#8A5A00}.st.review{background:#E6ECFA;color:#1E4E96}.st.admitted{background:#DDF5E7;color:#0B6B3C}.st.rejected{background:#FDE8E9;color:#A61E23}
.acts{display:flex;gap:6px;flex-wrap:wrap}
.acts select,.acts button,.acts a{min-height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:.84rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.acts .wa{background:#25D366;border-color:#25D366;color:#073b1e}
[id]{scroll-margin-top:110px}
/* ---------- faculty ---------- */
.fbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}
.fbar .chips{display:flex;flex-wrap:wrap;gap:8px}
.fbar .search{flex:1 1 240px;max-width:340px;position:relative}
.fstats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fstats span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 14px;font-size:.88rem;color:#fff}
.fstats b{font-family:var(--en);margin-inline-end:6px}
.fgroup{margin-top:34px}
.fgh{display:flex;align-items:baseline;gap:12px;font-size:1.25rem;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.fgh::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--fc,var(--green));transform:translateY(-2px);flex:none}
.fgh small{font-size:.85rem;color:var(--muted);font-weight:500;font-family:var(--en)}
html[data-lang=en] .fgh{font-family:var(--en-h)}
.green{--fc:var(--green)}.navy{--fc:var(--navy)}.gold{--fc:var(--gold)}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:640px){.fgrid{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(min-width:960px){.fgrid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){.fgrid.f6{grid-template-columns:repeat(6,1fr)}}
.fcard{display:flex;flex-direction:column;text-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;padding:0;color:inherit;font:inherit;position:relative;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;animation:fc-in .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
.fcard::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--fc);z-index:2}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--fc)}
.fcard .ph{position:relative;display:block;aspect-ratio:11/15;background:var(--soft);overflow:hidden}
.fcard .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fcard:hover .ph img{transform:scale(1.04)}
.flead{position:absolute;top:12px;inset-inline-start:10px;display:inline-flex;align-items:center;gap:4px;background:var(--gold);color:#fff;font-size:.7rem;font-weight:700;padding:3px 9px 3px 7px;border-radius:999px;box-shadow:0 4px 10px -4px rgba(0,0,0,.4)}
.flead .ic{width:12px;height:12px}
.fcard .tx{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px;flex:1}
.fcard .tx b{font-size:1rem;line-height:1.35;color:var(--ink)}
html[data-lang=en] .fcard .tx b{font-family:var(--en);font-weight:700}
.fcard .ro{color:var(--fc);font-weight:600;font-size:.86rem;line-height:1.4}
.fcard small{color:var(--muted);font-size:.78rem;line-height:1.45;font-family:var(--en)}
.fcard .more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--muted);transition:color .2s}
.fcard .more .ic{width:14px;height:14px;transition:transform .2s}
.fcard:hover .more{color:var(--fc)}.fcard:hover .more .ic{transform:translateX(3px)}
html[dir=rtl] .fcard .more .ic,html[dir=rtl] .pnav .ic{transform:scaleX(-1)}
html[dir=rtl] .fcard:hover .more .ic{transform:scaleX(-1) translateX(3px)}
@keyframes fc-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:480px){.fcard .tx{padding:10px 11px 12px}.fcard .tx b{font-size:.93rem}.fcard small{display:none}}
/* profile modal */
.pmodal .box{max-width:820px;padding:0;overflow:auto}
.prof{display:grid;gap:0}
@media(min-width:700px){.prof{grid-template-columns:300px 1fr}}
.prof .pp{position:relative;background:var(--soft);aspect-ratio:11/14;max-height:420px;overflow:hidden;border-bottom:4px solid var(--fc)}
@media(min-width:700px){.prof .pp{max-height:none;aspect-ratio:auto;border-bottom:0;border-inline-end:4px solid var(--fc)}}
.prof .pp img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.prof .pi{padding:26px 24px 22px}
.prof h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:6px 40px 2px 0;line-height:1.25}
html[dir=rtl] .prof h2{margin:6px 0 2px 40px}
.prof .alt-name{color:var(--muted);font-family:var(--en);font-size:.9rem}
.prof .ro{color:var(--fc);font-weight:700;margin-top:4px}
.prof dl{display:grid;gap:0;margin:16px 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.prof dl div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:.93rem}
.prof dl div:last-child{border-bottom:0}
.prof dt{color:var(--muted)}.prof dd{font-weight:600}
.pnote{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.prof .btns{display:flex;flex-wrap:wrap;gap:8px}
.pnav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:10px 12px;background:var(--paper)}
.pnav button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:8px;max-width:42%}
.pnav button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pnav button:hover{background:var(--soft);color:var(--green)}
.pnav .pc{font-size:.8rem;color:var(--muted);font-family:var(--en)}
.pmodal.open .box{animation:pm-in .3s cubic-bezier(.2,.7,.2,1)}
@keyframes pm-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fcard,.pmodal.open .box{animation:none}.fcard:hover,.fcard:hover .ph img{transform:none}}
@media print{.util,header.site,footer.site,.fab,.no-print,.phero,.notice-strip{display:none!important}body{background:#fff;color:#000}.rcard{border:1px solid #999}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
