:root{
  --navy-950:#071a3b;--navy-900:#0a2553;--navy-800:#12366f;--navy-700:#1b4687;
  --maroon-800:#74102d;--maroon-700:#8e1638;--maroon-600:#a71d43;
  --gold:#c6a15b;--ink:#122033;--muted:#667085;--muted-2:#8893a5;
  --line:#e5e9f0;--surface:#fff;--surface-soft:#f6f8fb;--surface-warm:#fbfaf7;
  --success:#087a55;--warning:#a15c00;--danger:#c82920;
  --shadow-sm:0 8px 24px rgba(17,34,68,.07);--shadow-md:0 20px 55px rgba(15,32,65,.12);--shadow-lg:0 30px 80px rgba(7,26,59,.2);
  --radius:16px;--radius-lg:26px;--max:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;z-index:999;background:#fff;color:var(--navy-950);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-md)}.skip-link:focus{top:16px}

/* top identity strip */
.topbar{background:var(--navy-950);color:#e9eef7;font-size:12.5px;letter-spacing:.01em}.topbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.top-contact{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.top-contact a,.top-contact span{display:inline-flex;align-items:center;gap:7px}.top-contact svg,.top-address svg{width:14px;height:14px;opacity:.82}.top-address{display:inline-flex;align-items:center;gap:7px;color:#d7dfec;white-space:nowrap}

/* header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(229,233,240,.9);backdrop-filter:saturate(180%) blur(16px);transition:box-shadow .28s ease,background .28s ease}.site-header.scrolled{box-shadow:0 10px 30px rgba(10,37,83,.09)}.header-row{min-height:88px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:14px;min-width:290px;margin-right:auto}.brand img{width:57px;height:66px;object-fit:contain}.brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.1;color:var(--navy-900);letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:12.5px;margin-top:5px}.main-nav{display:flex;align-items:center;gap:4px}.main-nav a{position:relative;padding:32px 10px 28px;font-weight:700;font-size:14px;color:#29364a;white-space:nowrap}.main-nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:18px;height:2px;border-radius:2px;background:var(--maroon-700);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.main-nav a:hover,.main-nav a.active{color:var(--maroon-700)}.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}.auth-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.auth-link{padding:11px 8px;font-size:14px;font-weight:750;color:var(--navy-900)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:14px;line-height:1;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--maroon-700);color:#fff;box-shadow:0 8px 20px rgba(142,22,56,.18)}.btn-primary:hover{background:var(--maroon-800);box-shadow:0 12px 26px rgba(142,22,56,.24)}.btn-secondary{border-color:#cfd6e1;background:#fff;color:var(--navy-900)}.btn-secondary:hover{border-color:#aeb9c9;box-shadow:var(--shadow-sm)}.btn-light{background:#fff;border-color:var(--line);color:var(--navy-900)}.btn-danger{background:var(--danger);color:#fff}.btn-icon{width:18px;height:18px}.mobile-toggle{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--navy-950);place-items:center;cursor:pointer}.mobile-toggle svg{width:22px;height:22px}

/* mobile drawer */
.mobile-panel{position:fixed;inset:0;z-index:120;pointer-events:none;visibility:hidden}.mobile-panel:before{content:"";position:absolute;inset:0;background:rgba(7,26,59,.48);opacity:0;transition:opacity .25s ease}.mobile-drawer{position:absolute;right:0;top:0;height:100%;width:min(420px,92vw);background:#fff;transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(7,26,59,.16)}.mobile-panel.open{pointer-events:auto;visibility:visible}.mobile-panel.open:before{opacity:1}.mobile-panel.open .mobile-drawer{transform:none}.mobile-head{padding:22px 22px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.mobile-brand{display:flex;align-items:center;gap:11px}.mobile-brand img{width:42px;height:50px;object-fit:contain}.mobile-brand strong{font-family:Georgia,serif;color:var(--navy-900);font-size:18px;display:block}.mobile-brand small{font-size:12px;color:var(--muted)}.mobile-nav{padding:16px 18px;overflow:auto;display:grid;gap:3px}.mobile-nav>a{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:760;color:#27364a}.mobile-nav>a:hover,.mobile-nav>a.active{background:#f4f6fa;color:var(--maroon-700)}.mobile-nav .mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.mobile-nav .mobile-actions .btn-primary{grid-column:1/-1}.mobile-contact{margin-top:auto;padding:18px 22px 24px;background:var(--surface-soft);border-top:1px solid var(--line);display:grid;gap:8px;font-size:13px;color:var(--muted)}

/* campaign */
.campaign-bar{background:linear-gradient(90deg,var(--maroon-800),var(--maroon-600));color:#fff}.campaign-inner{min-height:46px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;font-size:13.5px}.campaign-inner strong{font-weight:850}.campaign-inner a{font-weight:850;border-bottom:1px solid rgba(255,255,255,.7)}

/* hero */
.hero{min-height:650px;position:relative;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--navy-950)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:scale(1.015);animation:heroIn 1.1s ease both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,48,.94) 0%,rgba(7,30,69,.78) 42%,rgba(7,30,69,.26) 74%,rgba(7,30,69,.1) 100%)}.hero:before{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:130px;background:linear-gradient(180deg,transparent,rgba(5,20,48,.3))}.hero .container{position:relative;z-index:2}.hero-copy{max-width:760px;padding:72px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#f2d9a9}.eyebrow:before{content:"";width:28px;height:1px;background:var(--gold)}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6.3vw,78px);line-height:1.02;letter-spacing:-.035em;margin:20px 0 22px;text-wrap:balance}.hero p{font-size:clamp(18px,2vw,21px);line-height:1.65;max-width:670px;color:#edf3fb;margin:0}.hero .rich-text{font-size:14px;color:#dce6f4;margin-top:16px}.hero .rich-text p{font-size:14px;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}.hero .btn-secondary:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* inner banners */
.page-banner{position:relative;min-height:430px;color:#fff;display:grid;align-items:end;overflow:hidden;background:var(--navy-950)}.page-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.page-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,25,58,.92),rgba(7,31,70,.66) 50%,rgba(7,31,70,.2))}.page-banner .container{position:relative;z-index:1;padding-top:110px;padding-bottom:66px}.page-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:#f0d59c}.page-kicker:before{content:"";width:24px;height:1px;background:var(--gold)}.page-banner h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,66px);line-height:1.04;letter-spacing:-.03em;margin:0 0 14px;max-width:850px}.page-banner .lead{font-size:clamp(17px,2vw,20px);line-height:1.6;max-width:720px;color:#edf2f8;margin:0}.page-banner .rich-text{max-width:760px;color:#eef3fa}.page-banner .btn{margin-top:22px}

/* shared sections */
.content-section{padding:88px 0;position:relative}.content-section.soft{background:var(--surface-soft)}.content-section.warm{background:var(--surface-warm)}.content-section.section-text .section-grid{grid-template-columns:minmax(0,820px);justify-content:center;text-align:left}.section-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:72px;align-items:center}.section-grid.reverse .section-copy{order:2}.section-grid.reverse .section-media{order:1}.section-copy{min-width:0}.section-label{display:block;margin-bottom:11px;color:var(--maroon-700);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.section-copy h2,.section-title{font-family:Georgia,serif;font-size:clamp(34px,3.8vw,48px);line-height:1.13;letter-spacing:-.025em;color:var(--navy-900);margin:0 0 18px;text-wrap:balance}.lead{font-size:18px;line-height:1.65;color:#526176}.rich-text{color:#3e4c61;font-size:16px}.rich-text p{margin:0 0 15px}.rich-text p:last-child{margin-bottom:0}.rich-text strong{color:#1e2d43}.rich-text blockquote{margin:24px 0;padding:24px 28px;border-left:3px solid var(--maroon-700);background:#f7f5f6;border-radius:0 14px 14px 0;font-family:Georgia,serif;font-size:22px;line-height:1.55;color:var(--navy-900)}.rich-text ul,.rich-text ol{padding-left:20px}.rich-text li{margin:8px 0}.section-copy .btn{margin-top:24px}.section-media{position:relative}.section-media:before{content:"";position:absolute;z-index:-1;width:58%;height:64%;right:-14px;bottom:-14px;border-radius:22px;background:#edf1f7}.section-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:var(--shadow-md)}.section-media video{width:100%;border-radius:22px;box-shadow:var(--shadow-md)}

/* specialized CMS sections */
.section-facts{padding:0;background:var(--navy-950);color:#fff}.section-facts .container{padding-block:0}.section-facts .section-grid{display:block}.section-facts .section-copy{padding:30px 0}.section-facts h2,.section-facts .lead{display:none}.section-facts .rich-text p{margin:0;display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;color:#dce6f4;font-size:13px}.section-facts .rich-text strong{color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:700;margin:0 7px 0 22px}.section-facts .rich-text strong:first-child{margin-left:0}.section-ethos,.section-vision,.section-mission,.section-class-size,.section-matric-results,.section-tests,.section-fees,.section-ready,.section-fee-notes,.section-banking,.section-preview,.section-access{background:var(--surface-soft)}.section-vision+.section-mission{padding-top:0}.section-vision .section-grid,.section-mission .section-grid,.section-class-size .section-grid,.section-matric-results .section-grid,.section-tests .section-grid,.section-fees .section-grid,.section-ready .section-grid,.section-fee-notes .section-grid,.section-banking .section-grid,.section-preview .section-grid,.section-access .section-grid{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow-sm)}.section-history .rich-text p{position:relative;padding-left:22px}.section-history .rich-text p:before{content:"";position:absolute;left:0;top:.73em;width:7px;height:7px;background:var(--maroon-700);border-radius:50%}

/* headings */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-head h2{margin:0}.section-head p{max-width:640px;margin:0;color:var(--muted)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 1px 0 rgba(15,32,65,.02);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d7dde7}.card h3{font-size:19px;color:var(--navy-900);margin:8px 0}.card p{color:#59677b}.card small{color:var(--muted)}.stat strong{font-family:Georgia,serif;font-size:34px;line-height:1;display:block;color:var(--navy-900)}
.event-card{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start}.event-date{display:grid;place-items:center;min-height:72px;border-radius:14px;background:#f5eef1;color:var(--maroon-700);text-align:center}.event-date strong{font-family:Georgia,serif;font-size:28px;line-height:1}.event-date span{font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:.08em}.event-card h3{margin:2px 0 6px}.event-card p{margin:0;font-size:14px}.empty-state{padding:38px;border:1px dashed #cfd7e4;border-radius:18px;background:#fafbfc;color:var(--muted);text-align:center}

/* management */
.management-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.leader-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.leader-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.leader-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}.leader-card figcaption{padding:18px}.leader-card strong{display:block;font-size:16px;color:var(--navy-900)}.leader-card small{display:block;margin-top:5px;color:var(--muted);font-size:13px}

/* gallery */
.gallery-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}.gallery-filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:750;font-size:13px;cursor:pointer}.gallery-filter.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:16px;background:#f3f5f8}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}.gallery figure:hover img{transform:scale(1.03)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 13px 12px;background:linear-gradient(transparent,rgba(7,26,59,.78));color:#fff;font-size:12px;opacity:0;transition:opacity .25s ease}.gallery figure:hover figcaption{opacity:1}.gallery figure[hidden]{display:none}.gallery-button{border:0;padding:0;background:none;cursor:zoom-in;width:100%;text-align:left}.lightbox{position:fixed;inset:0;z-index:150;background:rgba(4,14,34,.94);display:none;place-items:center;padding:32px}.lightbox.open{display:grid}.lightbox-content{max-width:min(1100px,94vw);max-height:86vh;position:relative}.lightbox img{max-height:80vh;border-radius:14px;box-shadow:var(--shadow-lg)}.lightbox-caption{color:#fff;text-align:center;margin-top:12px}.lightbox-close{position:fixed;top:22px;right:22px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:25px;cursor:pointer}

/* tables */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#667085;background:#f8fafc;font-weight:850}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}.fees-table td:last-child{color:var(--navy-900);font-weight:800}

/* fees */
.fee-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.info-panel{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.info-panel strong{display:block;color:var(--navy-900);font-size:18px}.fee-mobile{display:none}

/* uniforms */
.uniform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.uniform-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.uniform-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.uniform-image{aspect-ratio:1/1;background:linear-gradient(145deg,#f7f8fb,#eef2f7);display:grid;place-items:center;padding:24px}.uniform-image img{width:100%;height:100%;object-fit:contain}.uniform-body{padding:18px}.uniform-body h3{margin:0 0 12px;color:var(--navy-900)}.uniform-price{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #edf0f4;font-size:13px;color:var(--muted)}.uniform-price strong{color:var(--ink);font-size:15px}

/* stationery */
.stationery-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.stationery-nav a{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:750}.stationery-list{margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.stationery-list summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:21px;color:var(--navy-900);font-weight:700}.stationery-list summary::-webkit-details-marker{display:none}.stationery-list summary:after{content:"+";font-family:Inter,sans-serif;font-size:22px;font-weight:500;color:var(--maroon-700)}.stationery-list[open] summary:after{content:"−"}.stationery-items{padding:0 22px 22px;border-top:1px solid var(--line)}.stationery-items ul{columns:2;column-gap:40px;padding-left:20px}.stationery-items li{break-inside:avoid;margin:9px 0;color:#48576b}

/* contact */
.contact-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:start}.contact-stack{display:grid;gap:14px}.contact-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.contact-card .contact-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4eef1;color:var(--maroon-700);margin-bottom:14px}.contact-card svg{width:20px;height:20px}.contact-card h3{margin:0 0 6px;color:var(--navy-900)}.contact-card p{margin:0;color:var(--muted)}.map-shell{border-radius:20px;overflow:hidden;border:1px solid var(--line);min-height:390px;background:#eef2f7;box-shadow:var(--shadow-sm)}.map-shell iframe{display:block;width:100%;height:390px;border:0}

/* forms / auth */
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow-md)}.form-card h1,.form-card h2{font-family:Georgia,serif;color:var(--navy-900);line-height:1.15}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-weight:750;font-size:13.5px;color:#344054}.input,input,select,textarea{width:100%;min-height:46px;border:1px solid #cfd6e1;border-radius:10px;padding:11px 13px;background:#fff;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}textarea{min-height:130px;resize:vertical}.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#7287a7;box-shadow:0 0 0 4px rgba(18,54,111,.09)}.input::placeholder,input::placeholder,textarea::placeholder{color:#98a2b3}.form-help{font-size:12px;color:var(--muted)}.alert{padding:13px 15px;border-radius:10px;margin-bottom:14px;font-size:14px}.alert-success{background:#ecfdf3;color:#05603a;border:1px solid #abefc6}.alert-error{background:#fff0ef;color:#a32020;border:1px solid #fecdca}.auth-page{background:var(--surface-soft);padding:64px 0 90px}.auth-shell{display:grid;grid-template-columns:.95fr 1.05fr;max-width:1080px;margin:auto;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}.auth-visual{position:relative;min-height:620px;background:var(--navy-950);color:#fff;overflow:hidden}.auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,59,.22),rgba(7,26,59,.86))}.auth-visual-copy{position:absolute;z-index:1;left:34px;right:34px;bottom:34px}.auth-visual-copy h2{font-family:Georgia,serif;font-size:34px;line-height:1.15;margin:0 0 12px}.auth-visual-copy p{margin:0;color:#e8eef7}.auth-form-wrap{padding:48px;display:flex;align-items:center}.auth-form-wrap .form-card{box-shadow:none;border:0;padding:0;width:100%}.auth-meta{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);text-align:center}

/* notices */
.notice{padding:16px 18px;border-radius:12px;background:#fff7e8;border:1px solid #f7d49c;color:#7a4700}

/* footer */
.site-footer{background:var(--navy-950);color:#fff;padding:68px 0 26px;margin-top:0}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:48px}.site-footer .brand{min-width:0;margin:0 0 18px}.site-footer .brand strong{color:#fff}.site-footer .brand small{color:#b9c7dc}.site-footer p{color:#b9c7dc;max-width:390px}.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.11em;color:#f2d9a9;margin:5px 0 18px}.footer-links{display:grid;gap:10px;color:#cad5e5;font-size:14px}.footer-links a:hover{color:#fff}.footer-base{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;font-size:12.5px;color:#aebdd2}.footer-legal{display:flex;gap:16px}.wa-fab{position:fixed;right:20px;bottom:20px;z-index:95;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease}.wa-fab:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.24)}.wa-fab svg{width:30px;height:30px;fill:currentColor}

/* reveal animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}@keyframes heroIn{from{opacity:.7;transform:scale(1.045)}to{opacity:1;transform:scale(1.015)}}

/* responsive */
@media(max-width:1180px){.container{width:min(var(--max),calc(100% - 36px))}.main-nav{gap:0}.main-nav a{padding-inline:7px;font-size:13px}.auth-actions .btn{padding-inline:14px}.brand{min-width:245px}.brand strong{font-size:20px}.section-grid{gap:48px}.uniform-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1020px){.topbar{display:none}.header-row{min-height:78px}.main-nav,.auth-actions{display:none}.mobile-toggle{display:grid;margin-left:auto}.brand{min-width:0}.page-banner{min-height:380px}.section-grid{grid-template-columns:1fr;gap:36px}.section-grid.reverse .section-copy,.section-grid.reverse .section-media{order:initial}.section-media{max-width:760px}.cards{grid-template-columns:repeat(2,1fr)}.management-grid{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr;max-width:720px}.auth-visual{min-height:340px}.auth-form-wrap{padding:38px}.stationery-items ul{columns:1}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.brand img{width:46px;height:54px}.brand strong{font-size:18px}.brand small{font-size:11px}.hero{min-height:600px;align-items:end}.hero>img{object-position:62% center}.hero:after{background:linear-gradient(180deg,rgba(5,20,48,.18) 10%,rgba(5,20,48,.88) 68%,rgba(5,20,48,.97))}.hero-copy{padding:140px 0 58px}.hero h1{font-size:clamp(42px,12.5vw,58px)}.hero p{font-size:17px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}.campaign-inner{padding:10px 0;display:block}.campaign-inner a{display:inline-block;margin-left:6px}.page-banner{min-height:350px}.page-banner:after{background:linear-gradient(180deg,rgba(5,20,48,.24),rgba(5,20,48,.91))}.page-banner .container{padding-top:120px;padding-bottom:42px}.page-banner h1{font-size:clamp(38px,11vw,52px)}.content-section{padding:60px 0}.section-copy h2,.section-title{font-size:34px}.section-grid{gap:28px}.section-media img{border-radius:16px}.cards,.fee-intro{grid-template-columns:1fr}.management-grid{grid-template-columns:repeat(2,1fr);gap:14px}.gallery{grid-template-columns:repeat(2,1fr);gap:9px}.gallery figcaption{opacity:1;font-size:10px;padding:28px 9px 8px}.uniform-grid{grid-template-columns:repeat(2,1fr);gap:12px}.uniform-body{padding:14px}.uniform-body h3{font-size:16px}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-grid>div:last-child{grid-column:auto}.footer-base{display:block}.footer-legal{margin-top:12px;flex-wrap:wrap}.auth-page{padding:30px 0 60px}.auth-shell{border-radius:18px}.auth-visual{min-height:260px}.auth-visual-copy{left:22px;right:22px;bottom:22px}.auth-visual-copy h2{font-size:27px}.auth-form-wrap{padding:28px 22px}.section-vision .section-grid,.section-mission .section-grid,.section-class-size .section-grid,.section-matric-results .section-grid,.section-tests .section-grid,.section-fees .section-grid,.section-ready .section-grid,.section-fee-notes .section-grid,.section-banking .section-grid,.section-preview .section-grid,.section-access .section-grid{padding:25px}.section-facts .rich-text p{display:block;text-align:center;line-height:2}.section-facts .rich-text strong{font-size:20px;margin:0 4px}.table-wrap{display:none}.fee-mobile{display:grid;gap:12px}.fee-row{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}.fee-row h3{margin:0 0 10px;color:var(--navy-900)}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.fee-grid span{color:var(--muted)}.fee-grid strong{display:block;color:var(--ink);font-size:14px}.wa-fab{width:54px;height:54px;right:14px;bottom:82px}}
@media(max-width:430px){.container{width:min(100% - 22px,var(--max))}.header-row{min-height:72px}.brand{gap:9px}.brand img{width:40px;height:48px}.brand strong{font-size:16px}.brand small{display:none}.hero{min-height:570px}.hero-copy{padding-bottom:42px}.content-section{padding:52px 0}.section-copy h2,.section-title{font-size:30px}.management-grid{grid-template-columns:1fr 1fr}.leader-card figcaption{padding:13px}.leader-card strong{font-size:14px}.gallery{grid-template-columns:1fr 1fr}.uniform-grid{grid-template-columns:1fr 1fr}.uniform-image{padding:14px}.mobile-nav .mobile-actions{grid-template-columns:1fr}.mobile-nav .mobile-actions .btn-primary{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.in-view,.hero>img,.card,.leader-card,.uniform-card,.gallery img,.btn,.wa-fab{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
.section-process .rich-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.section-process .rich-text p{margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.section-process .rich-text p strong{display:block;color:var(--navy-900);margin-bottom:5px}.section-tests .rich-text,.section-fees .rich-text{font-size:17px}.section-ready .section-copy{text-align:center}.section-ready .section-copy .btn{margin-inline:auto}.section-accreditation{background:var(--navy-950);color:#fff}.section-accreditation .section-copy h2,.section-accreditation .rich-text strong{color:#fff}.section-accreditation .section-label{color:#f2d9a9}.section-accreditation .rich-text{color:#d6e0ef}.section-contact{background:linear-gradient(135deg,#f8f4f5,#f7f9fc)}
@media(max-width:720px){.section-process .rich-text{grid-template-columns:1fr}}
.fact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.fact-grid>div{padding:26px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.fact-grid>div:last-child{border-right:0}.fact-grid strong{display:block;font-family:Georgia,serif;font-size:23px;color:#fff;line-height:1.15}.fact-grid span{display:block;color:#adbed7;font-size:12px;margin-top:6px}.section-accreditation .section-media:before{background:rgba(255,255,255,.07)}
@media(max-width:1020px){.fact-grid{grid-template-columns:repeat(3,1fr)}.fact-grid>div:nth-child(3){border-right:0}.fact-grid>div:nth-child(n+4){border-top:1px solid rgba(255,255,255,.12)}}
@media(max-width:600px){.fact-grid{grid-template-columns:1fr 1fr}.fact-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:20px 10px}.fact-grid>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)}.fact-grid>div:last-child{grid-column:1/-1;border-bottom:0;border-right:0}.fact-grid strong{font-size:20px}}
.legal-hero{padding:80px 0 54px;background:linear-gradient(145deg,#f4f7fb,#fbfaf7);border-bottom:1px solid var(--line)}.legal-hero h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1.08;color:var(--navy-900);margin:12px 0}.legal-body{max-width:880px;margin:auto}.legal-body .rich-text{font-size:16px}.legal-body .rich-text p{margin-bottom:18px}

/* --------------------------------------------------------------------------
   Premium mobile navigation + standalone authentication experience
   -------------------------------------------------------------------------- */
@media (max-width:1020px){
  .mobile-panel{height:100dvh;overflow:hidden}
  .mobile-drawer{width:min(430px,100vw);height:100dvh;max-height:100dvh;overflow:hidden;border-radius:0;display:grid;grid-template-rows:auto 1fr auto;background:#fff}
  .mobile-head{padding:16px 18px 14px;min-height:78px}
  .mobile-brand img{width:40px;height:46px}
  .mobile-brand strong{font-size:17px;line-height:1.15}
  .mobile-brand small{font-size:11px}
  .mobile-nav{overflow:hidden;padding:13px 16px 10px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(44px,auto);gap:7px 8px;align-content:start}
  .mobile-nav>a{min-height:44px;padding:9px 11px;border:1px solid #edf0f4;border-radius:11px;background:#fff;font-size:13.5px;font-weight:760}
  .mobile-nav>a span{font-size:15px}
  .mobile-nav>a:hover,.mobile-nav>a.active{background:#f7f4f5;border-color:#eadfe3;color:var(--maroon-700)}
  .mobile-nav .mobile-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;padding-top:11px}
  .mobile-nav .mobile-actions .btn{min-height:44px;padding:9px 12px;font-size:13.5px;border-radius:11px}
  .mobile-nav .mobile-actions .btn-primary{grid-column:1/-1}
  .mobile-contact{margin:0;padding:12px 18px 14px;gap:3px;font-size:11.5px;line-height:1.4;background:#f8fafc}
  .mobile-contact strong{font-size:12px;color:#344054}
}
@media (max-width:480px){
  .mobile-head{padding:13px 14px 11px;min-height:70px}
  .mobile-nav{padding:10px 12px 8px;gap:6px}
  .mobile-nav>a{min-height:41px;padding:8px 9px;font-size:12.8px}
  .mobile-nav .mobile-actions .btn{min-height:41px;font-size:12.8px}
  .mobile-contact{padding:9px 14px 11px;font-size:10.8px}
}
@media (max-height:700px) and (max-width:1020px){
  .mobile-head{min-height:62px;padding-top:9px;padding-bottom:9px}
  .mobile-brand img{width:34px;height:40px}
  .mobile-nav{padding-top:8px;grid-auto-rows:minmax(38px,auto);gap:5px 7px}
  .mobile-nav>a{min-height:38px;padding:6px 9px;font-size:12.5px}
  .mobile-nav .mobile-actions{padding-top:7px;gap:6px}
  .mobile-nav .mobile-actions .btn{min-height:38px;padding:7px 10px}
  .mobile-contact{display:none}
}

/* standalone authentication */
.auth-standalone{min-height:100dvh;background:#eef2f7;color:var(--ink);overflow-x:hidden}
.auth-stage{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:22px 28px 16px;background:radial-gradient(circle at 10% 10%,rgba(18,54,111,.08),transparent 34%),radial-gradient(circle at 92% 90%,rgba(142,22,56,.07),transparent 32%),#f4f7fb}
.auth-topline{width:min(1240px,100%);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.auth-home-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid #dbe2ec;border-radius:12px;background:rgba(255,255,255,.86);color:#26374d;font-size:13px;font-weight:760;box-shadow:0 5px 18px rgba(17,34,68,.04);backdrop-filter:blur(12px)}
.auth-home-link svg{width:18px;height:18px}
.auth-home-link:hover{border-color:#bcc8d8;background:#fff;transform:translateY(-1px)}
.auth-school-mark{display:flex;align-items:center;gap:10px}
.auth-school-mark img{width:38px;height:45px;object-fit:contain}
.auth-school-mark strong{display:block;font-family:Georgia,serif;color:var(--navy-900);font-size:16px;line-height:1.1}
.auth-school-mark small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px}
.auth-main{display:flex;align-items:center;justify-content:center;min-height:0}
.auth-experience{width:100%}
.auth-premium-shell{width:min(1160px,100%);min-height:min(690px,calc(100dvh - 145px));margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border:1px solid #dde4ed;border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(17,34,68,.14)}
.auth-register-shell{grid-template-columns:.9fr 1.1fr}
.auth-story{position:relative;min-height:100%;overflow:hidden;background:var(--navy-950)}
.auth-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.auth-story-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,19,46,.12) 0%,rgba(4,19,46,.48) 42%,rgba(4,19,46,.96) 100%)}
.auth-story-content{position:absolute;z-index:2;left:42px;right:42px;bottom:40px;color:#fff}
.auth-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:#f0d8a8;margin-bottom:15px}
.auth-eyebrow:before{content:"";width:26px;height:1px;background:#e0bd72}
.auth-story-content h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,52px);line-height:1.04;margin:0 0 14px;max-width:520px}
.auth-story-content p{margin:0;color:#e2eaf5;font-size:15px;line-height:1.65;max-width:520px}
.auth-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.auth-trust-row span{padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:10.5px;font-weight:750;color:#fff;backdrop-filter:blur(8px)}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:42px 54px;background:#fff}
.auth-panel-inner{width:min(500px,100%)}
.auth-panel-register{width:min(570px,100%)}
.auth-panel h1{font-family:Georgia,serif;font-size:clamp(36px,4.2vw,50px);line-height:1.06;color:var(--navy-900);margin:8px 0 10px}
.auth-intro{margin:0 0 24px;color:var(--muted);font-size:14.5px;line-height:1.55}
.auth-mobile-brand{display:none}
.auth-clean-form{display:grid;gap:17px}
.auth-clean-form .field{gap:7px}
.auth-clean-form input,.auth-clean-form select{min-height:50px;border-radius:12px;background:#fff;border-color:#d5dce7;padding:12px 14px}
.auth-clean-form input:focus,.auth-clean-form select:focus{border-color:#637b9f;box-shadow:0 0 0 4px rgba(18,54,111,.08)}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.field-label-row a{font-size:12px;font-weight:750;color:var(--maroon-700)}
.password-field{position:relative}
.password-field input{padding-right:68px}
.password-field button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--maroon-700);font-weight:800;font-size:12px;cursor:pointer;padding:8px}
.auth-submit{width:100%;min-height:52px;margin-top:2px;border-radius:12px;font-weight:850;box-shadow:0 10px 24px rgba(142,22,56,.17)}
.auth-switch{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);text-align:center}
.auth-switch a{font-weight:820;color:var(--navy-900)}
.auth-security-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:16px 0 0;color:#7c8797;font-size:11.5px;text-align:center}
.auth-security-note svg{width:15px;height:15px;flex:0 0 auto}
.auth-consent{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;font-weight:600;line-height:1.5;color:#475467}
.auth-consent input{width:17px!important;min-height:17px!important;height:17px;margin-top:2px;padding:0;flex:0 0 auto}
.auth-consent a{font-weight:800;color:var(--navy-900);text-decoration:underline;text-decoration-color:#cbd3df;text-underline-offset:3px}
.label-optional{font-size:11px;font-weight:600;color:var(--muted)}
.auth-register-grid{gap:13px 15px}
.auth-register-grid .field{gap:5px}
.auth-register-grid input,.auth-register-grid select{min-height:45px;padding:10px 12px}
.auth-register-grid label{font-size:12.5px}
.auth-register-grid .form-help{font-size:10.5px;margin-top:-2px}
.auth-stage-footer{width:min(1240px,100%);margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#7d8999;font-size:10.5px}

@media(max-width:900px){
  .auth-stage{padding:16px 18px 14px}
  .auth-premium-shell,.auth-register-shell{grid-template-columns:1fr;min-height:auto;max-width:680px}
  .auth-story{display:none}
  .auth-panel{padding:42px 46px}
  .auth-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}
  .auth-mobile-brand img{width:42px;height:50px;object-fit:contain}
  .auth-mobile-brand strong{display:block;font-family:Georgia,serif;color:var(--navy-900);font-size:18px;line-height:1.1}
  .auth-mobile-brand small{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}
}
@media(max-width:600px){
  .auth-stage{padding:12px 12px 10px;background:#f5f7fb}
  .auth-topline{margin-bottom:10px}
  .auth-school-mark{display:none}
  .auth-home-link{min-height:40px;padding:7px 10px;border-radius:10px;font-size:12px;background:#fff}
  .auth-premium-shell,.auth-register-shell{border-radius:20px;box-shadow:0 16px 45px rgba(17,34,68,.1)}
  .auth-panel{padding:26px 20px 24px;align-items:flex-start}
  .auth-mobile-brand{margin-bottom:20px}
  .auth-mobile-brand img{width:36px;height:43px}
  .auth-mobile-brand strong{font-size:16px}
  .auth-panel h1{font-size:34px;margin-top:6px}
  .auth-intro{font-size:13.5px;margin-bottom:20px}
  .auth-clean-form{gap:14px}
  .auth-clean-form input,.auth-clean-form select{min-height:48px}
  .auth-register-grid{grid-template-columns:1fr;gap:11px}
  .auth-register-grid .field.full{grid-column:auto}
  .auth-register-grid input,.auth-register-grid select{min-height:46px}
  .auth-switch{display:grid;gap:4px;margin-top:16px;padding-top:15px}
  .auth-stage-footer{display:none}
}
@media(max-height:760px) and (min-width:901px){
  .auth-stage{padding-top:12px;padding-bottom:10px}
  .auth-topline{margin-bottom:8px}
  .auth-premium-shell{min-height:610px}
  .auth-panel{padding-top:30px;padding-bottom:30px}
  .auth-story-content{bottom:28px}
  .auth-stage-footer{margin-top:8px}
}

/* ========================================================================== 
   Production mobile navigation + full-screen authentication v3
   ========================================================================== */
@media (max-width:1020px){
  .mobile-panel{height:100dvh;overflow:hidden}
  .mobile-panel:before{background:rgba(5,20,47,.66);backdrop-filter:blur(5px)}
  .mobile-drawer{width:min(470px,100vw);height:100dvh;max-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;box-shadow:-28px 0 80px rgba(4,20,48,.28)}
  .mobile-head{min-height:86px;padding:14px 20px;border-bottom:1px solid #e8ecf2;background:#fff}
  .mobile-brand{gap:12px;min-width:0}
  .mobile-brand img{width:45px;height:55px}
  .mobile-brand strong{font-size:19px;letter-spacing:-.01em}
  .mobile-brand small{font-size:11px;margin-top:4px}
  .mobile-head .mobile-toggle{display:grid;width:48px;height:48px;border-radius:14px;background:#fff;border-color:#e0e5ed;flex:0 0 auto}
  .mobile-nav{min-height:0;overflow:hidden;padding:12px 18px 10px;display:flex;flex-direction:column;gap:5px;align-content:initial}
  .mobile-nav>a{min-height:48px;padding:8px 14px;display:flex;align-items:center;justify-content:flex-start;gap:14px;border:1px solid #e9edf3;border-radius:12px;background:#fff;color:#112e5b;font-size:14px;font-weight:780;box-shadow:0 1px 1px rgba(17,46,91,.02)}
  .mobile-nav>a:hover{background:#f8fafc;border-color:#dce3ec;color:#112e5b}
  .mobile-nav>a.active{background:linear-gradient(135deg,#a10f3b,#bd174a);border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(161,15,59,.18)}
  .mobile-nav-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;color:inherit}
  .mobile-nav-icon svg{width:23px;height:23px;display:block}
  .mobile-nav-label{font-size:14px;line-height:1.1}
  .mobile-nav .mobile-actions{margin-top:6px;padding-top:10px;border-top:1px solid #e8ecf2;display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:0 0 auto}
  .mobile-nav .mobile-actions .btn{min-height:47px;border-radius:11px;font-size:13.5px;gap:9px}
  .mobile-nav .mobile-actions .btn svg{width:20px;height:20px}
  .mobile-nav .mobile-actions .mobile-auth-button{border-color:#aebbd0;color:#102f5e;background:#fff}
  .mobile-nav .mobile-actions .mobile-register-button{border-color:#b31a45;color:#a10f3b}
  .mobile-nav .mobile-actions .mobile-apply-button{grid-column:1/-1;min-height:49px;background:linear-gradient(135deg,#a10f3b,#bc1548);box-shadow:0 9px 22px rgba(161,15,59,.2)}
  .mobile-contact{margin:0;padding:12px 20px 14px;border-top:1px solid #e8ecf2;background:#f8fafc;display:grid;gap:7px;font-size:11px;line-height:1.35;color:#66758b}
  .mobile-contact-row{display:flex;align-items:flex-start;gap:10px}
  .mobile-contact-row>span:last-child{display:grid;gap:2px;min-width:0}
  .mobile-contact-row strong{font-size:11.5px;color:#18365f}
  .mobile-contact-row a{color:#66758b;overflow-wrap:anywhere}
  .mobile-contact-icon{width:24px;height:24px;border-radius:50%;background:#0f376d;color:#fff;display:grid;place-items:center;flex:0 0 24px}
  .mobile-contact-icon svg{width:13px;height:13px}
}
@media (max-width:480px){
  .mobile-head{min-height:80px;padding:12px 16px}
  .mobile-brand img{width:41px;height:50px}
  .mobile-brand strong{font-size:18px}
  .mobile-nav{padding:10px 14px 9px;gap:4px}
  .mobile-nav>a{min-height:45px;padding:7px 12px;gap:12px}
  .mobile-nav-icon{width:24px;height:24px;flex-basis:24px}
  .mobile-nav-icon svg{width:21px;height:21px}
  .mobile-nav-label{font-size:13.5px}
  .mobile-nav .mobile-actions{margin-top:5px;padding-top:8px;gap:7px}
  .mobile-nav .mobile-actions .btn{min-height:44px;font-size:13px;padding:8px 10px}
  .mobile-contact{padding:9px 16px 11px}
}
@media (max-height:760px) and (max-width:1020px){
  .mobile-head{min-height:70px;padding-top:8px;padding-bottom:8px}
  .mobile-brand img{width:36px;height:44px}
  .mobile-nav{padding-top:7px;padding-bottom:6px;gap:3px}
  .mobile-nav>a{min-height:40px;padding-top:5px;padding-bottom:5px}
  .mobile-nav-icon{width:21px;height:21px;flex-basis:21px}.mobile-nav-icon svg{width:19px;height:19px}
  .mobile-nav-label{font-size:12.8px}
  .mobile-nav .mobile-actions{padding-top:6px;gap:5px}.mobile-nav .mobile-actions .btn{min-height:39px}
  .mobile-contact{display:none}
}

/* Full-screen authentication: no outer card, no public header/footer */
.auth-standalone{min-height:100dvh;background:#fff;overflow-x:hidden}
.auth-stage{position:relative;min-height:100dvh;display:block;padding:0;background:#fff}
.auth-topline{position:absolute;inset:0 0 auto 0;z-index:10;width:100%;height:78px;margin:0;padding:0 42px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.auth-topline>*{pointer-events:auto}
.auth-home-link{min-height:44px;padding:9px 14px;border:1px solid rgba(221,228,237,.92);border-radius:11px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(18,42,76,.06);backdrop-filter:blur(12px)}
.auth-school-mark{padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.84);backdrop-filter:blur(10px)}
.auth-main{min-height:100dvh;display:block}
.auth-experience{width:100%;min-height:100dvh}
.auth-premium-shell,.auth-register-shell{width:100%;min-height:100dvh;margin:0;display:grid;grid-template-columns:minmax(420px,47%) 1fr;background:#fff;border:0;border-radius:0;overflow:hidden;box-shadow:none}
.auth-register-shell{grid-template-columns:minmax(430px,46%) 1fr}
.auth-story{min-height:100dvh;border-radius:0}
.auth-story>img{object-position:center center}
.auth-story-overlay{background:linear-gradient(180deg,rgba(4,19,46,.13) 0%,rgba(4,19,46,.42) 42%,rgba(4,19,46,.93) 100%)}
.auth-story-content{left:clamp(38px,4.4vw,76px);right:clamp(36px,4vw,72px);bottom:clamp(44px,6vh,76px)}
.auth-story-content h2{font-size:clamp(42px,4.3vw,66px);max-width:620px}
.auth-story-content p{font-size:16px;max-width:570px}
.auth-panel{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:96px clamp(48px,7vw,120px) 54px;background:#fff}
.auth-panel-inner{width:min(560px,100%)}
.auth-panel-register{width:min(680px,100%)}
.auth-panel h1{font-size:clamp(42px,4vw,58px);letter-spacing:-.025em;margin:8px 0 12px}
.auth-intro{font-size:15px;max-width:580px;margin-bottom:28px}
.auth-clean-form{gap:18px}
.auth-clean-form input,.auth-clean-form select{min-height:54px;border-radius:10px;background:#fff;border:1px solid #cfd8e6;font-size:15px}
.auth-submit{min-height:54px;border-radius:10px}
.auth-mobile-brand{display:none!important}
.auth-stage-footer{display:none!important}
@media(max-width:900px){
  .auth-stage{min-height:100dvh}
  .auth-topline{position:relative;height:72px;padding:0 20px;border-bottom:1px solid #edf0f4;background:#fff}
  .auth-school-mark{display:flex;background:transparent;padding:0}
  .auth-school-mark img{width:34px;height:41px}
  .auth-school-mark strong{font-size:15px}
  .auth-school-mark small{font-size:9.5px}
  .auth-main,.auth-experience{min-height:calc(100dvh - 72px)}
  .auth-premium-shell,.auth-register-shell{grid-template-columns:1fr;max-width:none;min-height:calc(100dvh - 72px);border-radius:0;box-shadow:none}
  .auth-story{display:none}
  .auth-panel{min-height:calc(100dvh - 72px);padding:48px clamp(24px,8vw,72px);align-items:center}
  .auth-panel-inner,.auth-panel-register{width:min(620px,100%)}
}
@media(max-width:600px){
  .auth-topline{height:64px;padding:0 14px}
  .auth-home-link{min-height:38px;padding:7px 10px;font-size:11.5px;box-shadow:none}
  .auth-school-mark img{width:31px;height:37px}
  .auth-school-mark strong{font-size:13px}.auth-school-mark small{display:none}
  .auth-main,.auth-experience,.auth-premium-shell,.auth-register-shell{min-height:calc(100dvh - 64px)}
  .auth-panel{min-height:calc(100dvh - 64px);padding:34px 20px 36px;align-items:flex-start}
  .auth-panel h1{font-size:38px;margin-top:4px}
  .auth-intro{font-size:14px;margin-bottom:22px}
  .auth-clean-form{gap:15px}
  .auth-clean-form input,.auth-clean-form select{min-height:50px}
  .auth-register-grid{grid-template-columns:1fr;gap:12px}
  .auth-register-grid .field.full{grid-column:auto}
  .auth-switch{margin-top:18px;padding-top:16px}
  .section-label{font-size:10px}
}

/* --------------------------------------------------------------------------
   School leadership, gallery and social-media polish
   -------------------------------------------------------------------------- */
/* Keep leadership photography fully visible instead of cropping the portrait. */
.section-leadership .section-media{
  display:flex;align-items:center;justify-content:center;
  min-height:420px;padding:18px;background:linear-gradient(145deg,#f5f7fa,#eef2f7);
  border:1px solid var(--line);border-radius:24px;overflow:hidden;
}
.section-leadership .section-media:before{display:none}
.section-leadership .section-media img{
  width:100%;height:auto;max-height:620px;aspect-ratio:auto;object-fit:contain;object-position:center;
  border-radius:16px;box-shadow:none;background:#eef2f7;
}

/* Management portraits: show the whole supplied photograph. */
.leader-card img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;background:#eef2f5}

/* Gallery viewer with proper browsing controls. */
.lightbox{grid-template-columns:minmax(72px,1fr) minmax(0,1100px) minmax(72px,1fr);gap:20px;align-items:center}
.lightbox-content{width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;align-items:center}
.lightbox-frame{width:100%;height:min(78vh,780px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.lightbox img{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:var(--shadow-lg)}
.lightbox-meta{width:min(820px,100%);display:flex;justify-content:space-between;gap:18px;align-items:center;color:#fff;margin-top:14px}
.lightbox-caption{margin:0;text-align:left;font-size:15px;line-height:1.5}
.lightbox-count{color:#c9d4e5;font-size:13px;white-space:nowrap}
.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-weight:800;cursor:pointer;backdrop-filter:blur(12px);transition:background .2s ease,transform .2s ease}
.lightbox-nav:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.lightbox-nav svg{width:21px;height:21px;flex:0 0 auto}
.lightbox-close{z-index:2}

/* Social links are controlled through Admin > Settings > Social Media. */
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#fff;font-size:13px;font-weight:750;transition:background .2s ease,border-color .2s ease}
.footer-social a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28)}
.footer-social svg{width:18px;height:18px}
.mobile-socials{padding:10px 20px 4px;border-top:1px solid #edf0f4;background:#fff}
.mobile-socials>span{display:block;margin-bottom:8px;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.social-links{display:flex;gap:8px}
.social-links a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 11px;border:1px solid #e3e8ef;border-radius:10px;color:var(--navy-900);font-size:12px;font-weight:800;background:#fff}
.social-links svg{width:17px;height:17px;color:var(--maroon-700)}

@media(max-width:720px){
  .section-leadership .section-media{min-height:0;padding:10px;border-radius:18px}
  .section-leadership .section-media img{max-height:none;border-radius:12px}

  /* One management member per row on phones. */
  .management-grid{grid-template-columns:1fr;gap:18px}
  .leader-card{border-radius:18px}
  .leader-card img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
  .leader-card figcaption{padding:17px 18px 19px}
  .leader-card strong{font-size:16px}
  .leader-card small{font-size:13px}

  /* One school-gallery image per row on phones. */
  .gallery{grid-template-columns:1fr;gap:16px}
  .gallery figure{border-radius:18px}
  .gallery img{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;background:#eef2f5}
  .gallery figcaption{opacity:1;position:static;background:#fff;color:var(--navy-900);padding:12px 14px;font-size:12px;border:1px solid var(--line);border-top:0}

  .lightbox{grid-template-columns:1fr;padding:74px 16px 24px;align-content:center}
  .lightbox-content{max-height:calc(100dvh - 160px)}
  .lightbox-frame{height:auto;max-height:calc(100dvh - 230px)}
  .lightbox img{max-height:calc(100dvh - 230px);border-radius:14px}
  .lightbox-nav{position:fixed;bottom:22px;z-index:3;min-height:46px;padding:0 14px;background:rgba(13,31,61,.88)}
  .lightbox-prev{left:18px}.lightbox-next{right:18px}
  .lightbox-nav span{font-size:12px}
  .lightbox-meta{display:block;text-align:center;margin-top:12px;padding:0 8px}
  .lightbox-caption{text-align:center;font-size:14px}
  .lightbox-count{text-align:center;margin-top:5px}
  .lightbox-close{top:16px;right:16px}
  .mobile-socials{padding-left:14px;padding-right:14px}
}

/* =========================================================
   Premium Contact + Social experience
   ========================================================= */
.contact-main{padding-top:54px;padding-bottom:76px}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:36px;align-items:start}
.contact-form-panel,.contact-info-panel{min-width:0}
.contact-form-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 18px 50px rgba(10,31,67,.07)}
.contact-form-heading{margin-bottom:26px}
.contact-form-heading h2,.contact-info-heading h2,.news-social-panel h2{font-family:Georgia,serif;color:var(--navy-900);font-size:clamp(29px,3vw,40px);line-height:1.08;margin:8px 0 10px}
.contact-form-heading p,.contact-info-heading p,.news-social-panel p{margin:0;color:var(--muted);line-height:1.7}
.contact-form .form-grid{gap:19px}
.contact-form .field label span{color:var(--maroon-700)}
.contact-form input,.contact-form select,.contact-form textarea{background:#fbfcfe;border-color:#cfd8e6;font-size:15px}
.contact-form input,.contact-form select{min-height:52px}
.contact-form textarea{min-height:170px;line-height:1.6}
.contact-form .form-help{line-height:1.45}
.contact-consent{margin:23px 0 0;padding:15px 16px;border:1px solid #dce3ed;border-radius:13px;background:#f8fafc;display:flex;gap:11px;align-items:flex-start;font-size:13px;font-weight:600;line-height:1.55;color:#475467}
.contact-consent input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:2px 0 0;padding:0}
.contact-consent a{color:var(--navy-900);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.contact-submit-row{display:flex;align-items:center;gap:16px;margin-top:20px}
.contact-submit-row>span{font-size:12.5px;color:var(--muted)}
.contact-errors{margin-bottom:22px}
.contact-errors strong{display:block;margin-bottom:6px}
.contact-errors ul{margin:0;padding-left:18px;display:grid;gap:3px}
.contact-info-panel{display:grid;gap:20px}
.contact-info-heading{padding:5px 4px 0}
.contact-quick-list{display:grid;grid-template-columns:1fr;gap:10px}
.contact-quick-item{display:flex;gap:14px;align-items:center;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.contact-quick-item:hover{transform:translateY(-2px);border-color:#c4cfde;box-shadow:0 10px 28px rgba(10,31,67,.06)}
.contact-quick-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f7edf2;color:var(--maroon-700);flex:0 0 42px}
.contact-quick-icon svg{width:20px;height:20px}
.contact-quick-item>span:last-child{display:grid;gap:2px;min-width:0}
.contact-quick-item small,.contact-map-copy small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#7b879a}
.contact-quick-item strong{font-size:17px;color:var(--navy-900);overflow-wrap:anywhere}
.contact-quick-item em{font-style:normal;font-size:12.5px;color:var(--muted)}
.contact-map-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
.contact-map-copy{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px 17px}
.contact-map-copy>div{display:grid;gap:3px;min-width:0}
.contact-map-copy strong{font-size:13px;line-height:1.45;color:var(--navy-900)}
.contact-map-copy>a{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--maroon-700);white-space:nowrap}
.contact-map-copy>a svg{width:16px;height:16px}
.contact-map-card .map-shell{border:0;border-radius:0;min-height:260px;box-shadow:none}
.contact-map-card .map-shell iframe{height:260px}
.contact-social-card{padding:22px;background:linear-gradient(145deg,#071a3b,#12366f);border-radius:20px;color:#fff;box-shadow:0 18px 40px rgba(7,26,59,.14)}
.contact-social-card .section-label{color:#f1cf91}
.contact-social-card h3{font-family:Georgia,serif;font-size:25px;margin:6px 0 7px}
.contact-social-card p{margin:0;color:#c8d4e6;font-size:13.5px;line-height:1.6}
.contact-social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}
.contact-social-links a{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.05);color:#fff;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.contact-social-links a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);transform:translateY(-1px)}
.contact-social-links svg{width:21px;height:21px;flex:0 0 21px}
.contact-social-links span{display:grid;gap:1px;min-width:0}
.contact-social-links strong{font-size:12.5px}
.contact-social-links small{font-size:10.5px;color:#b9c7dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-social-wrap{margin-top:24px}
.footer-social-wrap>span{display:block;margin-bottom:9px;color:#f2d9a9;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.news-social-section{padding-top:12px}
.news-social-panel{display:flex;justify-content:space-between;gap:38px;align-items:center;padding:34px 38px;border-radius:24px;background:linear-gradient(135deg,#f7f9fc,#eef3f9);border:1px solid var(--line)}
.news-social-panel>div:first-child{max-width:650px}
.news-social-links{display:flex;gap:12px;flex:0 0 auto}
.news-social-links a{min-width:180px;display:flex;align-items:center;gap:13px;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:15px;color:var(--navy-900);box-shadow:0 7px 22px rgba(10,31,67,.05);transition:transform .2s ease,box-shadow .2s ease}
.news-social-links a:hover{transform:translateY(-2px);box-shadow:0 11px 26px rgba(10,31,67,.09)}
.news-social-links svg{width:23px;height:23px;color:var(--maroon-700);flex:0 0 23px}
.news-social-links span{display:grid;gap:1px}.news-social-links strong{font-size:13.5px}.news-social-links small{font-size:11px;color:var(--muted)}

@media(max-width:1100px){
  .contact-main-grid{grid-template-columns:1fr}
  .contact-info-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .contact-info-heading,.contact-social-card{grid-column:1/-1}
  .contact-quick-list{grid-column:1/2}
  .contact-map-card{grid-column:2/3}
  .news-social-panel{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .contact-main{padding-top:28px;padding-bottom:48px}
  .contact-main-grid{gap:24px}
  .contact-form-panel{padding:22px 18px;border-radius:18px}
  .contact-form .form-grid{grid-template-columns:1fr;gap:16px}
  .contact-form .field.full{grid-column:auto}
  .contact-submit-row{align-items:stretch;flex-direction:column}
  .contact-submit-row .btn{width:100%;justify-content:center}
  .contact-submit-row>span{text-align:center}
  .contact-info-panel{grid-template-columns:1fr;gap:14px}
  .contact-info-heading,.contact-social-card,.contact-quick-list,.contact-map-card{grid-column:auto}
  .contact-map-copy{grid-template-columns:auto 1fr}.contact-map-copy>a{grid-column:2;margin-top:3px;justify-self:start}
  .contact-social-links{grid-template-columns:1fr}
  .contact-social-links a{padding:13px 14px}
  .contact-social-links small{white-space:normal}
  .news-social-panel{padding:25px 20px;border-radius:18px}
  .news-social-links{width:100%;display:grid;grid-template-columns:1fr}
  .news-social-links a{min-width:0;width:100%}
  .footer-social{gap:7px}
  .footer-social a{padding:8px 10px;font-size:12px}
}

/* Register uses the exact same full-screen authentication shell as Login. */
@media(min-width:901px){
  .auth-register{overflow:hidden}
  .auth-register .auth-panel-inner{width:min(620px,100%)}
  .auth-register .auth-intro{margin-bottom:22px}
  .auth-register .auth-clean-form{gap:14px}
  .auth-register .auth-register-grid{gap:12px 14px}
  .auth-register .auth-register-grid input,.auth-register .auth-register-grid select{min-height:50px}
  .auth-register .auth-consent{font-size:12px;line-height:1.4}
  .auth-register .auth-submit{min-height:50px}
  .auth-register .auth-switch{margin-top:13px;padding-top:13px}
}
@media(max-height:760px) and (min-width:901px){
  .auth-register .auth-panel{padding-top:76px;padding-bottom:26px}
  .auth-register .auth-panel h1{font-size:42px;margin-bottom:7px}
  .auth-register .auth-intro{margin-bottom:12px;font-size:13px}
  .auth-register .auth-clean-form{gap:9px}
  .auth-register .auth-register-grid{gap:8px 12px}
  .auth-register .auth-register-grid input,.auth-register .auth-register-grid select{min-height:43px;padding-top:8px;padding-bottom:8px}
  .auth-register .auth-submit{min-height:44px}
  .auth-register .auth-switch{margin-top:8px;padding-top:8px}
  .auth-register .auth-consent{font-size:11px}
}

/* One canonical application journey across public pages and portal. */
.application-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.public-preview-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #cfd9e8;border-radius:999px;background:#f7f9fc;color:#18365f;font-size:12px;font-weight:800;white-space:nowrap}
.application-journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.application-journey-step{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:20px;border:1px solid #dfe5ee;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(19,43,78,.045)}
.application-step-number{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#0b2856;color:#fff;font-weight:900;font-size:14px}
.application-journey-step h3{margin:1px 0 6px;font-size:16px;line-height:1.35;color:#102b56}
.application-journey-step p{margin:0;color:#64748b;font-size:13.5px;line-height:1.6}
.application-next-card{padding:32px;border:1px solid #dde4ed;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(18,42,76,.07)}
.application-next-card h2{margin:4px 0 10px;color:#0d2b58;font-size:clamp(26px,3vw,36px)}
.application-next-card p{max-width:760px;color:#66758b;line-height:1.7}
.application-next-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(max-width:760px){
  .application-section-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .application-journey-grid{grid-template-columns:1fr}
  .application-journey-step{grid-template-columns:38px 1fr;padding:16px;gap:12px}
  .application-step-number{width:38px;height:38px}
  .application-next-card{padding:22px 18px;border-radius:17px}
  .application-next-actions{display:grid;grid-template-columns:1fr}
  .application-next-actions .btn{width:100%;justify-content:center}
}


/* Public official application form preview */
.application-form-preview-section{padding-top:52px;background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%)}
.application-form-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.application-form-preview-head>div:first-child{max-width:760px}
.application-form-preview-head p{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.application-document-viewer{overflow:hidden;border:1px solid #d7e0eb;border-radius:22px;background:#e8edf4;box-shadow:0 18px 50px rgba(11,40,86,.10)}
.application-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:#fff;border-bottom:1px solid #dbe3ed}
.application-document-status{display:flex;align-items:center;gap:14px;min-width:0}
.application-document-status strong{color:var(--navy-900);font-size:14px}
.application-document-status span{padding-left:14px;border-left:1px solid #dce3eb;color:var(--muted);font-size:12px}
.application-document-actions{display:flex;gap:8px}
.application-preview-button{min-height:40px;padding:8px 15px;border:1px solid #cad5e3;border-radius:10px;background:#fff;color:var(--navy-900);font:inherit;font-size:12px;font-weight:850;cursor:pointer;transition:.18s ease}
.application-preview-button:hover:not(:disabled){border-color:#9faec1;background:#f7f9fc}
.application-preview-button.primary{border-color:var(--navy-900);background:var(--navy-900);color:#fff}
.application-preview-button:disabled{opacity:.38;cursor:not-allowed}
.application-document-stage{display:grid;place-items:center;min-height:640px;max-height:78vh;overflow:auto;padding:26px;background:linear-gradient(135deg,#dfe6ef,#eef2f7)}
.application-preview-page{display:none;width:min(860px,100%);margin:0}
.application-preview-page.active{display:block}
.application-preview-paper{position:relative;width:100%;background:#fff;box-shadow:0 15px 40px rgba(7,26,59,.18)}
.application-preview-paper img{display:block;width:100%;height:auto;background:#fff}
.application-preview-watermark{position:absolute;right:18px;top:18px;padding:7px 11px;border:1px solid rgba(157,15,60,.28);border-radius:999px;background:rgba(255,255,255,.90);color:var(--maroon-700);font-size:10px;font-weight:900;letter-spacing:.13em;pointer-events:none}
.application-preview-page figcaption{text-align:center;padding:12px 0 0;color:#52627a;font-size:12px;font-weight:750}
.application-document-mobile-actions{display:none}
.application-preview-note{margin:16px 0 0;padding:14px 16px;border-left:3px solid var(--maroon-700);border-radius:0 10px 10px 0;background:#fff;color:#5d6c80;font-size:13px;line-height:1.6}
.application-preview-note strong{color:var(--navy-900)}
.application-preview-unavailable{padding:28px;border:1px solid #ead8de;border-radius:18px;background:#fff}
.application-preview-unavailable strong{color:var(--maroon-700)}
.application-preview-unavailable p{margin-bottom:0;color:var(--muted)}
@media(max-width:760px){
  .application-form-preview-section{padding-top:32px}
  .application-form-preview-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:17px}
  .application-form-preview-head p{font-size:14px}
  .application-document-viewer{border-radius:16px}
  .application-document-toolbar{padding:12px 13px}
  .application-document-status{gap:8px}.application-document-status span{padding-left:8px}
  .application-document-actions{display:none}
  .application-document-stage{min-height:0;max-height:none;overflow:visible;padding:10px;background:#dfe5ed}
  .application-preview-page{width:100%}
  .application-preview-watermark{right:10px;top:10px;padding:5px 8px;font-size:8px}
  .application-document-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#fff;border-top:1px solid #dbe3ed}
  .application-preview-button{min-height:44px}
  .application-preview-note{font-size:12.5px}
}

/* Premium public application form document workspace */
.application-preview-workspace{padding:68px 0;background:#f4f7fb}
.application-preview-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-bottom:24px}
.application-preview-intro>div:first-child{max-width:800px}.application-preview-copy{color:#5f6f84;font-size:16px;line-height:1.75}.application-preview-copy p{margin:10px 0 0}
.application-preview-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.application-preview-meta span{padding:8px 11px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#5c6d82;font-size:11px;font-weight:800}.application-preview-meta .application-preview-status{border-color:#cbd8ea;color:#0b2d5c;background:#edf4ff}
.application-reader-shell{overflow:hidden;border:1px solid #dce4ee;border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(13,42,79,.10)}
.application-reader-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid #e4e9f0;background:#fff}.application-reader-title{display:flex;align-items:center;gap:12px;min-width:0}.application-reader-title svg{width:22px;height:22px;color:#9d0f3c}.application-reader-title div{display:grid;gap:2px}.application-reader-title strong{color:#102f63;font-size:14px}.application-reader-title span{color:#78879a;font-size:11px}.application-reader-actions{display:flex;gap:8px}.application-reader-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #d2dbe6;border-radius:9px;color:#17345e;font-size:12px;font-weight:850;background:#fff}.application-reader-action:hover{background:#f6f8fb}
.application-reader-body{position:relative;height:min(78vh,900px);min-height:680px;background:#e9eef5}.application-pdf-frame{display:block;width:100%;height:100%;border:0;background:#e9eef5}.application-reader-fallback{display:none}
.application-reader-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-top:1px solid #e4e9f0;background:#fbfcfe;color:#617187;font-size:12px}.application-reader-footer>div{display:flex;align-items:center;gap:9px}.application-reader-footer svg{width:17px;height:17px;color:#9d0f3c}.application-reader-footer a{color:#9d0f3c;font-weight:850;white-space:nowrap}
.application-ready-section{background:#fff}
@media(max-width:760px){.application-preview-workspace{padding:40px 0}.application-preview-intro{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.application-preview-meta{justify-content:flex-start}.application-reader-shell{border-radius:16px;margin-inline:-5px}.application-reader-topbar{padding:12px}.application-reader-title strong{font-size:13px}.application-reader-action{font-size:11px;padding:7px 10px}.application-reader-body{height:72vh;min-height:520px}.application-reader-footer{align-items:flex-start;flex-direction:column;padding:12px 14px}.application-reader-footer a{white-space:normal}}

/* Application form viewer reliability */
.application-reader-body{position:relative;overflow:hidden}
.application-pdf-frame{display:block;width:100%;height:100%;border:0}
.application-reader-fallback{display:none!important}
@media(max-width:760px){
  .application-reader-body{height:70dvh;min-height:500px}
}

/* Uniform catalogue: official two-grade price structure */
.uniform-catalogue-list{display:grid;gap:16px}.uniform-catalogue-item{display:grid;grid-template-columns:180px minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 6px 22px rgba(17,35,66,.04)}.uniform-catalogue-photo{background:#f5f7fa;min-height:180px;display:grid;place-items:center;padding:14px}.uniform-catalogue-photo img{width:100%;height:100%;max-height:210px;object-fit:contain}.uniform-photo-empty{font-size:12px;color:var(--muted);text-align:center}.uniform-catalogue-copy{padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:28px;align-items:center}.uniform-catalogue-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--maroon)}.uniform-catalogue-copy h3{font-size:22px;margin:5px 0 6px;color:var(--navy-900)}.uniform-catalogue-copy p{margin:0;color:var(--muted);font-size:13px}.uniform-grade-prices{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}.uniform-grade-prices>div{padding:14px 16px;min-height:92px}.uniform-grade-prices>div+div{border-left:1px solid var(--line)}.uniform-grade-prices span{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:7px}.uniform-grade-prices strong{display:block;color:var(--navy-900);font-size:17px;line-height:1.45}.uniform-grade-prices .not-applicable{font-size:12px;color:#8a94a3;font-weight:600}
@media(max-width:760px){.uniform-catalogue-item{grid-template-columns:110px minmax(0,1fr)}.uniform-catalogue-copy{grid-template-columns:1fr;padding:16px;gap:14px}.uniform-catalogue-photo{min-height:150px;padding:8px}.uniform-grade-prices>div{padding:11px 12px;min-height:78px}.uniform-grade-prices strong{font-size:15px}}
@media(max-width:480px){.uniform-catalogue-item{grid-template-columns:1fr}.uniform-catalogue-photo{min-height:220px}.uniform-catalogue-photo img{max-height:220px}.uniform-grade-prices{grid-template-columns:1fr 1fr}.uniform-catalogue-copy h3{font-size:20px}}

/* Uniform catalogue image viewer */
.uniform-photo-button{position:relative;width:100%;height:100%;min-height:150px;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:zoom-in;border-radius:14px;overflow:hidden}.uniform-photo-button img{transition:transform .2s ease}.uniform-photo-button:hover img{transform:scale(1.025)}.uniform-photo-hint{position:absolute;left:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(7,31,69,.88);color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em;box-shadow:0 5px 18px rgba(7,31,69,.16)}.uniform-photo-dialog{width:min(860px,calc(100% - 28px));max-height:92dvh;padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(4,20,48,.35)}.uniform-photo-dialog::backdrop{background:rgba(4,18,41,.78);backdrop-filter:blur(5px)}.uniform-photo-dialog-inner{display:grid;grid-template-rows:minmax(0,1fr) auto;max-height:92dvh}.uniform-photo-dialog-inner>img{width:100%;height:min(72dvh,720px);object-fit:contain;background:#f4f6f9;padding:20px}.uniform-photo-dialog-caption{padding:16px 22px 19px;display:grid;gap:3px}.uniform-photo-dialog-caption span{text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:850;color:var(--maroon-700)}.uniform-photo-dialog-caption strong{font-size:20px;color:var(--navy-900)}.uniform-photo-close{position:absolute;z-index:3;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(6,29,62,.88);color:#fff;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.18)}
@media(max-width:480px){.uniform-photo-dialog{width:calc(100% - 18px);border-radius:17px}.uniform-photo-dialog-inner>img{height:66dvh;padding:10px}.uniform-photo-hint{font-size:9px;padding:6px 9px}}
