/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.relative{position:relative}
.static{position:static}
.start{inset-inline-start:var(--spacing)}
.container{width:100%}
@media (width>=40rem){.container{max-width:40rem}
}
@media (width>=48rem){.container{max-width:48rem}
}
@media (width>=64rem){.container{max-width:64rem}
}
@media (width>=80rem){.container{max-width:80rem}
}
@media (width>=96rem){.container{max-width:96rem}
}
.block{display:block}
.contents{display:contents}
.hidden{display:none}
.table{display:table}
}
:root{--paper:#f7f8f3;--white:#fff;--ink:#0b1739;--muted:#58627a;--cobalt:#1747d1;--royal:#0b2e9e;--cyan:#20c7d9;--pale-cyan:#ddf8f8;--gold:#c8a52b;--line:#0b17391f;--shadow-sm:0 12px 32px #0b2e9e17;--shadow-lg:0 30px 80px #0b2e9e29;--radius-sm:18px;--radius-md:26px;--radius-lg:34px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;min-height:100%;overflow:hidden auto}
body{overscroll-behavior-y:auto;background:var(--paper);min-height:100%;color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Plus Jakarta Sans,Manrope,Segoe UI,Arial,sans-serif;overflow:hidden auto}
.zakat-announcement{z-index:110;color:#fff;background:radial-gradient(circle at 18% 0,#ffdc5c3d,#0000 25%),linear-gradient(100deg,#071536,#0d318d 58%,#0b706f);position:relative;overflow:hidden}
.zakat-announcement:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:150px;height:150px;position:absolute;top:-70px;right:8%}
.zakat-announcement-inner{z-index:1;justify-content:space-between;align-items:center;gap:24px;min-height:50px;display:flex;position:relative}
.zakat-announcement-copy{align-items:center;gap:12px;min-width:0;display:flex}
.zakat-announcement-mark{color:#ffdc63;background:#ffd6441f;border:1px solid #ffe26f7a;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-family:inherit;font-size:18px;display:grid}
.zakat-announcement-copy p{align-items:baseline;gap:12px;min-width:0;margin:0;display:flex}
.zakat-announcement-copy strong{color:#ffe376;letter-spacing:.03em;font-size:13px;font-weight:850}
.zakat-announcement-copy p>span{color:#ffffffc2;font-size:13px}
.zakat-announcement-inner>a{background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:34px;padding:7px 13px;font-size:12px;font-weight:850;transition:background .18s,transform .18s;display:flex}
.zakat-announcement-inner>a:hover{background:#ffffff2e;transform:translateY(-1px)}
.desktop-nav .nav-zakat{color:#9a7200}
.desktop-nav .nav-zakat span{margin-left:2px}
.desktop-nav .nav-zakat:after{background:var(--gold)}
.mobile-menu nav .mobile-zakat-link{color:#866300;background:#fff8dd;border:1px solid #c8a52b47;font-weight:850}
.zakat-section{background:radial-gradient(circle at 5% 35%,#20c7d917,#0000 22%),#f4f7ff;padding:105px 0;position:relative;overflow:clip}
.zakat-showcase{background:#fff;border:1px solid #1747d11f;border-radius:38px;grid-template-columns:1.03fr .97fr;align-items:stretch;min-height:650px;display:grid;position:relative;overflow:hidden;box-shadow:0 34px 85px #0b2e9e21}
.zakat-copy{z-index:2;padding:72px 64px;position:relative}
.zakat-eyebrow{align-items:center;gap:11px;display:flex}
.zakat-eyebrow span,.zakat-eyebrow i{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:8px 12px;font-size:12px;font-style:normal;font-weight:850}
.zakat-eyebrow span{color:var(--cobalt);background:#eaf0ff}
.zakat-eyebrow i{color:#8c6b00;border:1px solid #c8a52b47}
.zakat-copy h2{max-width:620px;color:var(--ink);letter-spacing:-.06em;margin:25px 0 19px;font-size:clamp(46px,4.5vw,67px);font-weight:800;line-height:1.03}
.zakat-copy>p{max-width:600px;color:var(--muted);margin:0;font-size:16px;line-height:1.75}
.zakat-benefits{gap:10px;margin-top:33px;display:grid}
.zakat-benefits article{border-top:1px solid #0b17391a;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:65px;padding:10px 0;display:grid}
.zakat-benefits article>span{width:36px;height:36px;color:var(--cobalt);background:#eef3ff;border-radius:12px;place-items:center;font-size:11px;font-weight:900;display:grid}
.zakat-benefits article>div{flex-direction:column;gap:3px;display:flex}
.zakat-benefits strong{font-size:14px}
.zakat-benefits small{color:var(--muted);font-size:13px}
.zakat-actions{align-items:center;gap:18px;margin-top:34px;display:flex}
.zakat-primary{color:#fff;background:linear-gradient(135deg,#1747d1,#0b2e9e);border-radius:16px;grid-template-columns:1fr 40px;align-items:center;min-height:57px;padding:8px 9px 8px 20px;font-size:14px;font-weight:850;transition:transform .18s,box-shadow .18s;display:inline-grid;box-shadow:0 16px 30px #1747d13d}
.zakat-primary:hover{transform:translateY(-3px);box-shadow:0 20px 36px #1747d14d}
.zakat-primary i{background:#ffffff24;border-radius:12px;place-items:center;width:38px;height:38px;font-size:18px;font-style:normal;display:grid}
.zakat-actions>small{max-width:170px;color:var(--muted);font-size:12px;line-height:1.5}
.zakat-visual{background:radial-gradient(circle at 78% 22%,#48ecde6b,#0000 25%),radial-gradient(circle at 20% 80%,#ffd74d40,#0000 27%),linear-gradient(145deg,#0a2c91,#041334 72%);place-items:center;min-width:0;padding:56px;display:grid;position:relative;overflow:hidden}
.zakat-orbit{border:1px solid #ffffff29;border-radius:50%;width:540px;height:540px;position:absolute}
.zakat-orbit:before,.zakat-orbit:after{content:"";border:1px solid #20c7d933;border-radius:50%;position:absolute;inset:52px}
.zakat-orbit:after{border-color:#ffdb5b33;inset:115px}
.zakat-orbit i{background:#57e6e9;border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 20px #57e6e9e6}
.zakat-orbit i:first-child{top:45px;left:118px}
.zakat-orbit i:nth-child(2){background:#ffdc63;bottom:180px;right:12px}
.zakat-orbit i:nth-child(3){bottom:35px;left:165px}
.zakat-portal-card{z-index:2;color:#fff;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffff1c;border:1px solid #ffffff38;border-radius:30px;width:min(420px,100%);padding:37px;position:relative;box-shadow:0 30px 70px #00000047}
.zakat-card-top{align-items:center;gap:10px;display:flex}
.zakat-card-top>span{color:#10204c;background:linear-gradient(145deg,#ffdf69,#c99d16);border-radius:15px;place-items:center;width:44px;height:44px;font-family:inherit;font-size:25px;display:grid}
.zakat-card-top p{color:#ffdf69;letter-spacing:.14em;margin:0;font-size:13px;font-weight:900}
.zakat-card-top i{color:#ffffffb3;letter-spacing:.11em;border:1px solid #ffffff3b;border-radius:999px;margin-left:auto;padding:6px 8px;font-size:9px;font-style:normal;font-weight:900}
.zakat-portal-card h3{letter-spacing:-.06em;margin:43px 0 14px;font-size:clamp(39px,4vw,58px);font-weight:800;line-height:.98}
.zakat-portal-card>p{color:#ffffffb3;max-width:320px;margin:0;font-size:14px;line-height:1.65}
.zakat-card-path{border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:7px;margin:35px 0;padding:18px 0;display:flex}
.zakat-card-path span{color:#fff;font-size:12px;font-weight:800}
.zakat-card-path i{color:#61e2e2;font-style:normal}
.zakat-portal-card>a{color:#0b2e9e;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;min-height:48px;padding:12px 15px;font-size:13px;font-weight:850;display:flex}
.zakat-trust-note{z-index:3;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#051538b8;border:1px solid #ffffff47;border-radius:18px;align-items:center;gap:10px;padding:11px 14px;display:flex;position:absolute;top:30px;right:25px}
.zakat-trust-note>span{color:#06224e;background:#48d7d0;border-radius:10px;place-items:center;width:31px;height:31px;font-size:13px;font-weight:900;display:grid}
.zakat-trust-note>div{flex-direction:column;gap:2px;display:flex}
.zakat-trust-note strong{font-size:12px}
.zakat-trust-note small{color:#ffffffa6;font-size:10px}
@media (width<=1180px){.zakat-showcase{grid-template-columns:1fr .9fr}
.zakat-copy{padding:58px 46px}
.zakat-visual{padding:40px 32px}
}
@media (width<=960px){.zakat-announcement-copy p>span{display:none}
.zakat-showcase{grid-template-columns:1fr}
.zakat-copy{padding:58px 50px}
.zakat-visual{min-height:620px}
}
@media (width<=680px){.zakat-announcement-inner{gap:10px;min-height:58px}
.zakat-announcement-mark{width:34px;height:34px}
.zakat-announcement-copy strong{max-width:112px;font-size:13px;line-height:1.25;display:block}
.zakat-announcement-inner>a{min-height:42px;padding-inline:13px;font-size:13px}
.zakat-section{padding:74px 0}
.zakat-showcase{border-radius:26px}
.zakat-copy{padding:38px 23px 45px}
.zakat-eyebrow{flex-direction:column;align-items:flex-start}
.zakat-eyebrow span,.zakat-eyebrow i{font-size:11px}
.zakat-copy h2{font-size:42px}
.zakat-copy>p{font-size:16px}
.zakat-benefits strong{font-size:15px}
.zakat-benefits small{font-size:13px;line-height:1.45}
.zakat-actions{flex-direction:column;align-items:stretch}
.zakat-primary{width:100%;min-height:58px;font-size:15px}
.zakat-actions>small{max-width:none;font-size:13px}
.zakat-visual{min-height:570px;padding:38px 18px 95px}
.zakat-portal-card{border-radius:24px;padding:28px 23px}
.zakat-portal-card h3{margin-top:34px;font-size:44px}
.zakat-portal-card>p{font-size:15px}
.zakat-card-path span{font-size:13px}
.zakat-portal-card>a{font-size:14px}
.zakat-trust-note{top:20px;right:18px}
}
button,input{font:inherit}
button,summary,a,label{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
label:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:4px}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.skip-link{z-index:200;background:var(--ink);color:#fff;border-radius:999px;padding:11px 17px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.shell{width:min(1280px,100% - 56px);margin-inline:auto}
.announcement{background:var(--ink);color:#ffffffb8}
.announcement-inner{letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:18px;min-height:38px;font-size:13px;font-weight:700;display:flex}
.announcement p{align-items:center;gap:10px;margin:0;display:flex}
.announcement a{color:#fff}
.live-dot{background:var(--cyan);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #20c7d91f}
.site-header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);background:#f7f8f3e6;border-bottom:1px solid #0b173914;position:sticky;top:0}
.nav-wrap{align-items:center;gap:30px;min-height:84px;display:flex}
.brand{flex:none;width:246px}
.brand img{object-fit:contain;object-position:left center;width:100%;height:58px}
.desktop-nav{align-items:center;gap:28px;margin-left:auto;font-size:13px;font-weight:700;display:flex}
.desktop-nav a{padding:12px 0;position:relative}
.desktop-nav a:after{background:var(--cobalt);content:"";transform-origin:0;border-radius:4px;height:2px;transition:transform .18s;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0)}
.desktop-nav a:hover:after{transform:scaleX(1)}
.button{background:linear-gradient(135deg, var(--cobalt), var(--royal));color:#fff;border:0;border-radius:15px;justify-content:center;align-items:center;gap:13px;min-height:52px;padding:14px 22px;font-size:14px;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 14px 30px #1747d133}
.button:hover{transform:translateY(-3px);box-shadow:0 18px 38px #1747d147}
.button-small{border-radius:13px;min-height:44px;padding:11px 17px;font-size:14px}
.button-large{border-radius:18px;justify-content:space-between;min-width:260px;min-height:62px;padding:13px 13px 13px 25px}
.button-icon{width:38px;height:38px;color:var(--cobalt);background:#fff;border-radius:50%;place-items:center;font-size:19px;transition:transform .18s;display:grid}
.button:hover .button-icon{transform:translate(3px)}
.mobile-menu{margin-left:auto;display:none}
.mobile-menu summary{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:800;list-style:none}
.mobile-menu summary::-webkit-details-marker{display:none}
.hero{background:linear-gradient(#0b173909 1px, transparent 1px), linear-gradient(90deg, #0b173909 1px, transparent 1px), var(--paper);background-size:48px 48px;min-height:770px;position:relative;overflow:hidden}
.hero:before{content:"";background:linear-gradient(145deg,#20c7d921,#1747d10f);border-radius:45% 55% 52% 48%;width:610px;height:610px;position:absolute;top:13%;left:49%;transform:rotate(-7deg)}
.hero-glow{filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}
.glow-one{border:50px solid #20c7d912;width:220px;height:220px;top:60px;right:7%}
.glow-two{border:1px solid #c8a52b47;width:280px;height:280px;bottom:-90px;left:8%}
.hero-inner{z-index:2;grid-template-columns:minmax(0,.88fr) minmax(580px,1.12fr);align-items:center;gap:70px;min-height:770px;padding-block:64px 88px;display:grid;position:relative}
.portal-label,.kicker{color:var(--cobalt);letter-spacing:.19em;text-transform:uppercase;align-items:center;gap:12px;margin:0;font-size:13px;font-weight:850;display:flex}
.portal-label span{background:var(--cyan);border-radius:2px;width:28px;height:2px}
.hero h1,.section-heading h2,.parent-copy h2,.contact-cta h2{letter-spacing:-.055em;margin:0}
.hero h1{max-width:690px;margin-top:25px;font-size:clamp(54px,5.4vw,80px);font-weight:750;line-height:1.03}
.hero h1 strong{color:var(--cobalt);font-weight:800;position:relative}
.hero h1 strong:after{background:var(--cyan);content:"";opacity:.55;border-radius:8px;height:6px;position:absolute;bottom:2px;left:0;right:0}
.hero-lead{max-width:610px;color:var(--muted);margin:27px 0 0;font-size:17px;line-height:1.8}
.hero-actions{align-items:center;gap:24px;margin-top:34px;display:flex}
.secondary-link{border-bottom:1px solid #0b173966;align-items:center;gap:10px;padding:9px 0;font-size:13px;font-weight:800;display:inline-flex}
.trust-row{color:var(--muted);align-items:center;gap:11px;margin-top:36px;font-size:13px;font-weight:750;display:flex}
.trust-row i{background:var(--gold);border-radius:50%;width:4px;height:4px}
.hero-portal{min-height:610px;position:relative}
.portal-feature{z-index:4;color:#fff;border-radius:32px;flex-direction:column;justify-content:space-between;width:330px;min-height:430px;padding:30px;transition:background .24s,transform .24s;display:flex;position:absolute;top:16px;left:10px;overflow:hidden;box-shadow:0 30px 65px #0b2e9e3d}
.portal-feature:after{content:"";border:1px solid #ffffff2e;border-radius:45% 55% 50% 50%;width:210px;height:210px;position:absolute;bottom:-60px;right:-55px;transform:rotate(22deg)}
.tone-cobalt{--tone:#1747d1;--tone-deep:#0b2e9e;background:linear-gradient(145deg,#2358e4,#0b2e9e)}
.tone-cyan{--tone:#119fb6;--tone-deep:#08778f;background:linear-gradient(145deg,#20c7d9,#08778f)}
.tone-aqua{--tone:#0b7f9f;--tone-deep:#094e70;background:linear-gradient(145deg,#19b9d0,#094e70)}
.tone-gold{--tone:#c8a52b;--tone-deep:#8b6a05;background:linear-gradient(145deg,#d5b443,#8b6a05)}
.tone-sky{--tone:#477ee7;--tone-deep:#2552aa;background:linear-gradient(145deg,#6c9cf3,#2552aa)}
.tone-navy{--tone:#263c70;--tone-deep:#0b1739;background:linear-gradient(145deg,#354f87,#0b1739)}
.portal-card-top,.programme-panel-top{z-index:2;color:#ffffffb8;letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex;position:relative}
.portal-feature>div:nth-child(2){z-index:2;position:relative}
.portal-feature>div:nth-child(2)>p:first-child{color:#ffffffb8;letter-spacing:.12em;text-transform:uppercase;margin:0 0 11px;font-size:13px;font-weight:850}
.portal-feature h2{letter-spacing:-.05em;margin:0;font-size:45px;font-weight:800;line-height:1}
.portal-description{color:#ffffffc7;max-width:250px;margin:18px 0 0;font-size:13px;line-height:1.7}
.portal-progress{z-index:2;background:#ffffff2e;border-radius:99px;width:100%;height:4px;position:relative;overflow:hidden}
.portal-progress span{border-radius:inherit;background:var(--cyan);height:100%;transition:width .3s;display:block}
.portal-stack{z-index:5;gap:13px;width:276px;display:grid;position:absolute;top:36px;right:0}
.portal-mini{cursor:pointer;min-height:92px;color:var(--ink);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border:1px solid #0b2e9e17;border-radius:22px;grid-template-columns:31px 1fr 34px;align-items:center;gap:10px;padding:17px;transition:transform .18s,border-color .18s,background .18s;display:grid;position:relative}
.portal-mini:hover,.portal-mini.active{background:var(--pale-cyan);border-color:#20c7d9b3;transform:translate(-5px)}
.portal-mini>span{color:var(--cyan);font-size:13px;font-weight:850}
.portal-mini strong{letter-spacing:-.02em;text-align:left;font-size:14px}
.portal-mini i{width:34px;height:34px;color:var(--cobalt);background:#fff;border-radius:50%;place-items:center;font-style:normal;display:grid;box-shadow:0 5px 12px #0b2e9e17}
.hero-objects{z-index:3;pointer-events:none;filter:drop-shadow(0 25px 32px #0b2e9e24);width:610px;position:absolute;bottom:-28px;right:-35px}
.spark{z-index:7;color:var(--gold);text-shadow:0 8px 18px #c8a52b47;font-size:30px;position:absolute}
.spark-one{top:10px;right:35px}
.spark-two{font-size:18px;bottom:160px;right:5px}
.quick-nav{z-index:6;border-block:1px solid var(--line);background:#fff;position:relative}
.quick-grid{grid-template-columns:repeat(4,1fr);display:grid}
.quick-grid a{border-right:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:15px;min-height:105px;padding:23px;transition:background .18s,color .18s;display:grid}
.quick-grid a:first-child{border-left:1px solid var(--line)}
.quick-grid a:hover{background:var(--cobalt);color:#fff}
.quick-grid span{color:var(--cyan);font-size:13px;font-weight:850}
.quick-grid strong{font-size:13px}
.quick-grid i{font-style:normal;transition:transform .18s}
.quick-grid a:hover i{transform:translate(4px)}
.cms-live-announcement{z-index:5;background:#eef3ff;border-top:1px solid #1747d11c;border-bottom:1px solid #1747d11c;position:relative}
.cms-live-announcement>.shell{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;min-height:82px;padding-block:14px;display:grid}
.cms-live-announcement>.shell>span{background:var(--cobalt);color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;font-family:inherit;font-size:18px;font-weight:800;display:grid}
.cms-live-announcement strong{color:var(--ink);font-size:15px;display:block}
.cms-live-announcement p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.55}
.cms-live-announcement.tone-important{background:#fff7dc}
.cms-live-announcement.tone-important>.shell>span{background:#b07800}
.cms-live-announcement.tone-admission{background:#ebfaf5}
.cms-live-announcement.tone-admission>.shell>span{background:#11845f}
.cms-live-announcement.tone-event{background:#f7efff}
.cms-live-announcement.tone-event>.shell>span{background:#793aac}
.section{padding-block:120px}
.section-heading h2{max-width:850px;margin-top:18px;font-size:clamp(42px,4.6vw,66px);font-weight:720;line-height:1.06}
.split-heading{grid-template-columns:minmax(0,1.2fr) minmax(280px,.45fr);align-items:end;gap:70px;display:grid}
.heading-copy{color:var(--muted);margin:0 0 7px;font-size:15px;line-height:1.8}
.story{background:#fff}
.bento-grid{grid-template-rows:260px 230px;grid-template-columns:1.3fr .7fr .7fr;gap:18px;margin-top:65px;display:grid}
.bento-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:30px;position:relative;overflow:hidden}
.bento-card h3{letter-spacing:-.035em;margin:0;font-size:24px;font-weight:800;line-height:1.25}
.bento-card>p:not(.bento-label){color:var(--muted);font-size:14px;line-height:1.7}
.bento-label{color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;margin:0 0 30px;font-size:13px;font-weight:850}
.bento-main{background:radial-gradient(circle at 85% 25%,#20c7d933,#0000 28%),linear-gradient(145deg,#f3fbfb,#eef2ff);grid-row:1/3;padding:40px}
.bento-main h3{max-width:480px;font-size:39px}
.bento-main>p:not(.bento-label){max-width:500px}
.bento-orbit{width:170px;height:170px;color:var(--cobalt);text-align:center;border:1px solid #1747d133;border-radius:50%;place-content:center;display:grid;position:absolute;bottom:42px;right:48px}
.bento-orbit:before,.bento-orbit:after{content:"";border:1px dashed #20c7d980;border-radius:50%;position:absolute;inset:17px}
.bento-orbit:after{border-style:solid;border-color:#c8a52b3d;inset:-16px}
.bento-orbit span{letter-spacing:.16em;font-size:13px;font-weight:850}
.bento-orbit i{font-size:26px;font-style:normal}
.bento-stat{background:var(--cobalt);color:#fff}
.bento-stat .big-number{color:var(--cyan);letter-spacing:-.08em;margin-bottom:32px;font-size:70px;font-weight:800;line-height:.8;display:block}
.bento-stat>p{color:#ffffffb3!important}
.bento-quote{background:var(--pale-cyan);flex-direction:column;justify-content:space-between;display:flex}
.bento-quote>span{color:var(--cyan);font-size:62px;font-weight:800;line-height:.65}
.bento-quote>p{margin-bottom:0;font-weight:700;color:var(--ink)!important;font-size:18px!important;line-height:1.45!important}
.bento-location{background:linear-gradient(135deg,#fff,#f4f1e3);grid-column:2/4}
.bento-location h3{max-width:420px;font-size:30px}
.bento-location a{font-size:14px;font-weight:800;position:absolute;bottom:28px;right:28px}
.school-direction{background:linear-gradient(#1747d109 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#1747d109 1px,#0000 1px) 0 0/48px 48px,radial-gradient(circle at 5% 10%,#20c7d91f,#0000 24%),#f5f8ff;position:relative;overflow:clip}
.school-direction:before{background:linear-gradient(90deg, var(--gold), #f2d46a);content:"";border-radius:999px;width:86px;height:5px;position:absolute;top:115px;left:calc(50% - 680px)}
.direction-glow{pointer-events:none;border:1px solid #1747d11a;border-radius:50%;position:absolute}
.direction-glow-one{width:520px;height:520px;top:-190px;right:-160px}
.direction-glow-two{width:650px;height:650px;bottom:-360px;left:-280px}
.direction-heading{z-index:1;position:relative}
.direction-heading .heading-copy{max-width:470px;font-size:16px}
.direction-heading .kicker-cyan{color:#0b7386}
.direction-layout{z-index:1;grid-template-columns:minmax(340px,.82fr) minmax(0,1.45fr);align-items:start;gap:28px;margin-top:68px;display:grid;position:relative}
.direction-layout>*{min-width:0}
.vision-card{color:#fff;background:radial-gradient(circle at 92% 8%,#20c7d94d,#0000 27%),radial-gradient(circle at 6% 94%,#c8a52b38,#0000 26%),linear-gradient(145deg,#071638,#0b2e85 64%,#075b72);border:1px solid #ffffff1f;border-radius:34px;min-height:620px;padding:38px;position:sticky;top:138px;overflow:hidden;box-shadow:0 34px 80px #0b2e9e3d}
.vision-card:before,.vision-card:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}
.vision-card:before{width:300px;height:300px;top:-90px;right:-105px}
.vision-card:after{width:420px;height:420px;bottom:-180px;right:-30px}
.vision-card-top{z-index:1;align-items:center;gap:15px;display:flex;position:relative}
.vision-emblem{background:linear-gradient(145deg,#f3d46b,#b78507);border:1px solid #ffe68280;border-radius:18px;flex:none;place-items:center;width:58px;height:58px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffa6,0 12px 26px #0000002e}
.vision-emblem:before{content:"";border:3px solid #09245d;border-top:0;border-radius:0 0 14px 14px;width:28px;height:19px;transform:rotate(45deg)}
.vision-emblem i{border-top:3px solid #09245d;width:31px;position:absolute;transform:rotate(-28deg)}
.vision-card-top>div{flex-direction:column;gap:3px;display:flex}
.vision-card-top>div>span{letter-spacing:.04em;font-size:17px;font-weight:850}
.vision-card-top small{color:#ffffffa1;font-size:13px}
.vision-statement{z-index:1;letter-spacing:-.04em;margin:82px 0 0;font-size:clamp(27px,2.35vw,37px);font-weight:650;line-height:1.3;position:relative}
.vision-statement strong{color:#ffe071;font-weight:850}
.vision-values{z-index:1;flex-wrap:wrap;gap:8px;margin-top:38px;display:flex;position:relative}
.vision-values span{color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:750}
.vision-card-footer{z-index:1;color:#ffffff6b;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:12px;font-size:10px;font-weight:850;display:flex;position:absolute;bottom:32px;left:38px;right:38px}
.vision-card-footer i{background:#ffffff29;flex:1;height:1px}
.mission-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffffeb,#f5f8ffeb);border:1px solid #1747d11f;border-radius:34px;min-width:0;padding:18px;box-shadow:0 28px 70px #0b2e9e1a}
.mission-panel-head,.mission-panel-head>div{align-items:center;display:flex}
.mission-panel-head{color:#fff;background:radial-gradient(circle at 88% 12%,#20c7d940,#0000 29%),radial-gradient(circle at 10% 100%,#c8a52b35,#0000 30%),linear-gradient(135deg,#071638,#0b2e85 65%,#075b72);border:1px solid #ffffff1c;border-radius:25px;justify-content:space-between;gap:28px;margin:0;padding:25px 27px;position:relative;overflow:hidden;box-shadow:0 18px 38px #0b2e9e2b}
.mission-panel-head:after{content:"";border:1px solid #ffffff1c;border-radius:50%;width:190px;height:190px;position:absolute;top:-118px;right:-45px}
.mission-panel-head>div,.mission-panel-head>p{z-index:1;position:relative}
.mission-panel-head>div{gap:15px}
.mission-count{width:58px;height:58px;color:#082359;background:linear-gradient(145deg,#ffe889,#c99a17);border:1px solid #fff4b699;border-radius:18px;flex:none;place-items:center;font-size:17px;font-weight:950;display:grid;box-shadow:inset 0 1px #fff9d6,0 12px 28px #0003}
.mission-panel-head small{color:#67e8f1;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:900}
.mission-panel-head h3{letter-spacing:-.04em;margin:4px 0 0;font-size:29px;font-weight:800}
.mission-panel-head>p{max-width:290px;color:#ffffffb8;flex-direction:column;gap:3px;margin:0;font-size:14px;line-height:1.5;display:flex}
.mission-panel-head>p strong{color:#fff;font-size:15px}
.mission-panel-head>p span{display:block}
.mission-journey{scrollbar-width:none;color:#51617f;align-items:center;gap:10px;width:calc(100% - 10px);max-width:100%;min-width:0;margin:18px 5px 16px;padding:0 5px;display:flex;overflow-x:auto}
.mission-journey::-webkit-scrollbar{display:none}
.mission-journey:focus-visible{outline:3px solid #1747d166;outline-offset:4px;border-radius:14px}
.mission-journey span{white-space:nowrap;background:#fff;border:1px solid #1747d11f;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;box-shadow:0 7px 18px #0b2e9e0a}
.mission-journey i{color:#a8b2c8;font-size:13px;font-style:normal}
.mission-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0;margin:0;padding:0;list-style:none;display:grid}
.mission-card{--mission-accent:var(--cobalt);--mission-soft:#edf2ff;background:radial-gradient(circle at 100% 0,#fff 0,#fff0 34%),linear-gradient(145deg,var(--mission-soft),#fff 72%);border:1px solid #0b173916;border-radius:22px;grid-template-columns:50px minmax(0,1fr);align-items:start;gap:15px;min-height:226px;padding:21px 20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative;overflow:hidden;isolation:isolate}
.mission-card:before{content:"";background:var(--mission-accent);border-radius:999px;width:54px;height:4px;position:absolute;top:0;left:20px}
.mission-card:after{content:"";z-index:-1;border:22px solid var(--mission-accent);border-radius:50%;width:120px;height:120px;opacity:.035;position:absolute;right:-70px;bottom:-75px}
.mission-card:first-child{color:#fff;background:radial-gradient(circle at 92% 20%,#4bd4a03d,#0000 28%),linear-gradient(135deg,#082d2a,#075f51 62%,#087e78);border-color:#ffffff1f;grid-column:1/-1;grid-template-columns:58px minmax(0,1fr);min-height:184px;padding:24px}
.mission-card:first-child:before{background:#6fe5b9;width:70px;left:24px}
.mission-card:first-child:after{border-width:38px;width:210px;height:210px;opacity:.08;right:-95px;bottom:-135px}
@media (hover:hover){.mission-card:hover{border-color:var(--mission-accent);transform:translateY(-3px);box-shadow:0 18px 38px #0b2e9e1a}
.mission-card:first-child:hover{border-color:#81e9c0}
}
.mission-green{--mission-accent:#13946a;--mission-soft:#ecfaf4}
.mission-gold{--mission-accent:#b47e05;--mission-soft:#fff8e4}
.mission-blue{--mission-accent:#1747d1;--mission-soft:#edf2ff}
.mission-purple{--mission-accent:#7b3eb4;--mission-soft:#f7efff}
.mission-teal{--mission-accent:#087e78;--mission-soft:#eaf9f7}
.mission-icon{border:1px solid var(--mission-accent);place-items:center;width:50px;height:50px;display:grid}
@supports (color:color-mix(in lab, red, red)){.mission-icon{border:1px solid color-mix(in srgb, var(--mission-accent) 22%, transparent)}
}
.mission-icon{box-shadow:0 10px 24px #0b2e9e14;background:#fff;border-radius:16px}
@supports (color:color-mix(in lab, red, red)){.mission-icon{box-shadow:0 10px 24px color-mix(in srgb, var(--mission-accent) 13%, transparent)}
}
.mission-icon{color:var(--mission-accent);font-family:inherit;font-size:19px;font-weight:900}
.mission-card:first-child .mission-icon{width:58px;height:58px;background:#ffffffed;border-color:#ffffff5c;border-radius:18px;box-shadow:0 12px 26px #001c1645}
.mission-copy{min-width:0}
.mission-copy>div{align-items:center;gap:12px;min-width:0;display:flex}
.mission-copy>div>span{color:var(--mission-accent);letter-spacing:.12em;font-size:12px;font-weight:900}
.mission-copy h4{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:800;line-height:1.28}
.mission-copy>p:not(.mission-result){color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.66}
.mission-card:first-child .mission-copy>div>span{color:#86efc7}
.mission-card:first-child .mission-copy h4{color:#fff;font-size:22px}
.mission-card:first-child .mission-copy>p:not(.mission-result){color:#ffffffc7;max-width:650px;font-size:15px}
.mission-result{background:#ffffffb8;border:1px solid #fff;border-radius:13px;flex-direction:column;gap:3px;margin:14px 0 0!important;padding:10px 11px;display:flex}
.mission-result span{color:var(--mission-accent);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}
.mission-result strong{color:#24304b;overflow-wrap:anywhere;font-size:12px;line-height:1.45}
.mission-card:first-child .mission-result{max-width:560px;background:#ffffff12;border-color:#ffffff24}
.mission-card:first-child .mission-result span{color:#86efc7}
.mission-card:first-child .mission-result strong{color:#fff;font-size:13px}
.direction-pledge{z-index:1;min-height:100px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1747d11c;border-radius:27px;justify-content:space-between;align-items:center;gap:28px;margin-top:28px;padding:20px 26px;display:flex;position:relative;overflow:hidden}
.direction-pledge:after{content:"";border:36px solid #20c7d912;border-radius:50%;width:180px;height:180px;position:absolute;top:-85px;right:180px}
.direction-pledge>div{z-index:1;align-items:center;gap:15px;display:flex;position:relative}
.direction-pledge>div>span{color:#a87800;background:#fff7d9;border-radius:16px;place-items:center;width:49px;height:49px;font-size:21px;display:grid}
.direction-pledge p{flex-direction:column;gap:4px;margin:0;display:flex}
.direction-pledge strong{font-size:17px}
.direction-pledge small{color:var(--muted);font-size:13px}
.direction-pledge>a{z-index:1;background:var(--cobalt);color:#fff;border-radius:15px;align-items:center;gap:15px;min-height:52px;padding:13px 17px 13px 20px;font-size:14px;font-weight:850;transition:background .18s,transform .18s;display:flex;position:relative}
.direction-pledge>a:hover{background:var(--royal);transform:translateY(-2px)}
.direction-pledge>a span{font-size:21px}
.programme-section{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.programme-section:before{content:"";border:120px solid #20c7d90a;border-radius:50%;width:620px;height:620px;position:absolute;top:-250px;right:-100px}
.programme-heading{position:relative}
.kicker-cyan{color:var(--cyan)}
.heading-copy-light{color:#ffffff94}
.programme-explorer{grid-template-columns:.58fr 1.42fr;gap:24px;margin-top:64px;display:grid;position:relative}
.programme-tabs{border-top:1px solid #ffffff24;flex-direction:column;display:flex}
.programme-tab{cursor:pointer;color:#fff;background:0 0;border:0;border-bottom:1px solid #ffffff24;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;min-height:74px;padding:0 18px;transition:background .18s,padding .18s;display:grid}
.programme-tab:hover,.programme-tab.active{background:#ffffff14;padding-left:25px}
.programme-tab span{color:var(--cyan);font-size:13px;font-weight:850}
.programme-tab strong{text-align:left;font-size:15px}
.programme-tab i{font-style:normal}
.programme-panel{border-radius:var(--radius-lg);min-height:560px;padding:48px;transition:background .24s;position:relative;overflow:hidden}
.programme-panel:after{content:"";border:70px solid #ffffff12;border-radius:48% 52% 58% 42%;width:380px;height:380px;position:absolute;bottom:-100px;right:-80px;transform:rotate(20deg)}
.programme-panel-top,.programme-panel>h3,.programme-panel-copy,.highlight-list,.outcome-card,.panel-next{z-index:2;position:relative}
.programme-panel-top p{color:#ffffffbf;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:13px;font-weight:850}
.programme-panel>h3{letter-spacing:-.06em;margin:65px 0 18px;font-size:clamp(52px,6vw,82px);font-weight:800;line-height:.95}
.programme-panel-copy{color:#ffffffc7;max-width:670px;font-size:16px;line-height:1.8}
.highlight-list{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}
.highlight-list span{background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700;display:inline-flex}
.highlight-list i{color:var(--cyan);font-style:normal}
.outcome-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:20px;flex-direction:column;width:260px;padding:20px;display:flex;position:absolute;bottom:42px;right:48px}
.outcome-card span{color:#ffffffa6;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}
.outcome-card strong{margin-top:8px;font-size:15px;line-height:1.4}
.panel-next{cursor:pointer;color:#fff;background:0 0;border:0;border-bottom:1px solid #ffffff80;padding:8px 0;font-size:14px;font-weight:800;position:absolute;bottom:45px;left:48px}
.panel-next span{margin-left:8px}
.daily{background:var(--paper)}
.day-planner{grid-template-columns:.68fr 1.32fr;gap:24px;margin-top:64px;display:grid}
.day-timeline{flex-direction:column;gap:11px;display:flex}
.day-step{cursor:pointer;border:1px solid var(--line);text-align:left;background:#fff;border-radius:19px;grid-template-columns:78px 1fr;align-items:center;min-height:92px;padding:16px 20px;transition:border-color .18s,transform .18s,background .18s;display:grid}
.day-step:hover,.day-step.active{background:#eef2ff;border-color:#1747d180;transform:translate(5px)}
.day-step span{color:var(--cobalt);font-size:14px;font-weight:850}
.day-step strong{font-size:14px}
.day-panel{border-radius:var(--radius-lg);min-height:400px;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:.86fr 1.14fr;align-items:stretch;display:grid;overflow:hidden}
.day-visual{background:radial-gradient(circle at 70% 25%, #20c7d98c, transparent 18%), linear-gradient(145deg, var(--cobalt), var(--royal));color:#fff;place-items:center;display:grid;position:relative;overflow:hidden}
.day-number{color:#ffffff8c;font-size:13px;font-weight:850;position:absolute;top:20px;left:26px}
.day-icon{width:170px;height:140px;position:relative}
.day-icon i{border:2px solid #fffc;border-radius:24px;position:absolute}
.day-icon i:first-child{background:#ffffff1f;inset:8px 44px 40px 6px;transform:rotate(-8deg)}
.day-icon i:nth-child(2){border-color:var(--cyan);inset:38px 2px 8px 55px;transform:rotate(8deg)}
.day-icon i:nth-child(3){background:var(--gold);border:0;border-radius:50%;width:34px;height:34px;top:0;right:5px}
.day-copy{flex-direction:column;justify-content:center;padding:50px;display:flex}
.day-tag{background:var(--pale-cyan);color:#08778f;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:8px 11px;font-size:12px;font-weight:850}
.day-time{color:var(--cobalt);margin:35px 0 8px;font-size:14px;font-weight:850}
.day-copy h3{letter-spacing:-.045em;margin:0;font-size:34px;line-height:1.1}
.day-copy>p:last-child{color:var(--muted);font-size:14px;line-height:1.75}
.parent-zone{background:#edf3ff}
.parent-grid{grid-template-columns:.75fr 1.25fr;align-items:start;gap:90px;display:grid}
.parent-copy h2{margin-top:18px;font-size:clamp(42px,4.2vw,62px);font-weight:720;line-height:1.07}
.parent-copy>p:not(.kicker){color:var(--muted);font-size:15px;line-height:1.8}
.parent-contact-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1747d121;border-radius:21px;flex-direction:column;margin-top:38px;padding:24px;display:flex}
.parent-contact-card>span{color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:850}
.parent-contact-card strong{margin-top:9px;font-size:16px}
.parent-contact-card a{border-bottom:1px solid var(--ink);align-self:flex-start;margin-top:22px;padding-bottom:5px;font-size:13px;font-weight:800}
.checklist-card{border-radius:var(--radius-lg);background:#fff;border:1px solid #1747d11f;padding:35px;box-shadow:0 28px 70px #0b2e9e1a}
.checklist-head{justify-content:space-between;align-items:center;gap:20px;display:flex}
.checklist-head>div{flex-direction:column;display:flex}
.checklist-head>div span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:850}
.checklist-head>div strong{margin-top:8px;font-size:20px}
.progress-number{color:var(--cobalt);letter-spacing:-.05em;font-size:32px;font-weight:800}
.progress-track{background:#e7eaf2;border-radius:999px;height:7px;margin-top:22px;overflow:hidden}
.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), var(--cobalt));height:100%;transition:width .24s;display:block}
.checklist-items{gap:10px;margin-top:26px;display:grid}
.checklist-items label{cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:17px;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;min-height:67px;padding:14px 17px;transition:border-color .18s,background .18s,transform .18s;display:grid}
.checklist-items label:hover{border-color:#1747d157;transform:translateY(-2px)}
.checklist-items label.checked{background:#ecfbfb;border-color:#20c7d98c}
.checklist-items input{opacity:0;position:absolute}
.custom-check{color:#0000;background:#fff;border:1px solid #0b17392e;border-radius:10px;place-items:center;width:31px;height:31px;font-size:14px;font-weight:900;display:grid}
.checked .custom-check{border-color:var(--cyan);background:var(--cyan);color:var(--ink)}
.checklist-items strong{font-size:13px}
.checklist-items label.checked strong{color:var(--muted);text-decoration:line-through}
.checklist-items label>i{color:#0b173959;font-size:12px;font-style:normal;font-weight:850}
.checklist-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:25px;display:flex}
.checklist-footer button{cursor:pointer;border:0;border-bottom:1px solid var(--muted);color:var(--muted);background:0 0;padding:6px 0;font-size:13px;font-weight:800}
.checklist-footer a{background:var(--ink);color:#fff;border-radius:13px;padding:13px 17px;font-size:13px;font-weight:800}
.checklist-footer a span{margin-left:8px}
.faq{background:#fff}
.faq-grid{grid-template-columns:.68fr 1.32fr;gap:100px;display:grid}
.faq-heading{align-self:start}
.faq-heading h2{font-size:clamp(42px,4vw,60px)}
.faq-search{margin-top:38px;display:block;position:relative}
.faq-search input{border:1px solid var(--line);background:var(--paper);width:100%;min-height:56px;color:var(--ink);border-radius:16px;padding:12px 48px 12px 17px;font-size:13px}
.faq-search input::placeholder{color:#8c94a5}
.faq-search i{color:var(--cobalt);font-size:24px;font-style:normal;position:absolute;top:50%;right:18px;transform:translateY(-50%)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding-block:25px;font-size:18px;font-weight:750;list-style:none;display:flex}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{border:1px solid var(--line);width:36px;height:36px;color:var(--cobalt);border-radius:50%;flex:none;place-items:center;font-style:normal;transition:transform .18s,background .18s;display:grid}
.faq-list details[open] summary i{background:var(--pale-cyan);transform:rotate(45deg)}
.faq-list details>p{max-width:700px;color:var(--muted);margin:-3px 55px 25px 0;font-size:14px;line-height:1.75}
.empty-state{border-radius:var(--radius-md);background:var(--paper);text-align:center;border:1px dashed #1747d140;padding:40px}
.empty-state span{font-size:18px;font-weight:800}
.empty-state p{color:var(--muted);font-size:13px}
.empty-state a{border-bottom:1px solid var(--ink);margin-top:10px;padding-bottom:5px;font-size:13px;font-weight:800;display:inline-block}
.contact{background:var(--ink);color:#fff;padding:90px 0 28px;position:relative;overflow:hidden}
.contact:after{content:"";border:1px solid #20c7d929;border-radius:50%;width:480px;height:480px;position:absolute;top:180px;right:-180px}
.contact-cta{z-index:2;border-bottom:1px solid #ffffff21;grid-template-columns:1.2fr auto;align-items:end;gap:80px;padding-bottom:75px;display:grid;position:relative}
.contact-cta h2{max-width:860px;margin-top:18px;font-size:clamp(44px,4.8vw,68px);font-weight:700;line-height:1.05}
.button-light{color:var(--ink);box-shadow:none;background:#fff}
.button-light .button-icon{background:var(--cobalt);color:#fff}
.contact-grid{z-index:2;grid-template-columns:1.2fr 1fr .65fr;gap:80px;padding-top:75px;display:grid;position:relative}
.contact-brand img{background:none;border-radius:0;width:min(100%,390px);padding:0;filter:drop-shadow(0 7px 14px #0000001f)}
.contact-brand p{color:#ffffff8f;max-width:380px;margin:20px 0 0;font-size:15px;line-height:1.65}
.contact-block{flex-direction:column;align-items:flex-start;display:flex}
.contact-label{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-size:12px;font-weight:850}
.contact-block address{color:#ffffff9e;font-size:13px;font-style:normal;line-height:1.85}
.contact-block>a{border-bottom:1px solid #ffffff47;margin:0 0 11px;padding-bottom:5px;font-size:13px;font-weight:750}
.contact-block address+a{margin-top:20px}
.footer-line{z-index:2;color:#fff6;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #ffffff1a;justify-content:space-between;gap:20px;margin-top:75px;padding-top:25px;font-size:12px;font-weight:700;display:flex;position:relative}
.floating-whatsapp{z-index:120;color:#fff;background:#19a974;border:1px solid #ffffff80;border-radius:999px;align-items:center;gap:10px;min-height:54px;padding:7px 16px 7px 7px;transition:transform .18s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 40px #085b4047}
.floating-whatsapp:hover{transform:translateY(-3px)}
.floating-whatsapp span{color:#11845a;background:#fff;border-radius:50%;place-items:center;width:39px;height:39px;font-size:13px;font-weight:900;display:grid}
.floating-whatsapp strong{font-size:13px}
@media (width<=1180px){.desktop-nav{gap:18px}
.desktop-cta{display:none}
.hero-inner{grid-template-columns:.9fr 1.1fr;gap:30px}
.hero-objects{width:560px;right:-65px}
.portal-feature{width:300px;left:0}
.portal-stack{width:245px}
.split-heading,.parent-grid,.faq-grid{gap:60px}
}
@media (width<=1120px){.direction-layout{grid-template-columns:1fr}
.vision-card{min-height:540px;position:relative;top:auto}
.vision-statement{max-width:760px}
}
@media (width<=960px){.desktop-nav,.desktop-cta{display:none}
.mobile-menu{display:block;position:relative}
.mobile-menu[open] nav{border:1px solid var(--line);width:min(320px,100vw - 34px);box-shadow:var(--shadow-lg);background:#fff;border-radius:21px;flex-direction:column;padding:12px;display:flex;position:absolute;top:52px;right:0}
.mobile-menu nav a{border-radius:12px;padding:12px;font-size:13px;font-weight:750}
.mobile-menu nav a:hover{background:var(--paper)}
.mobile-menu nav .mobile-menu-cta{background:var(--cobalt);color:#fff;text-align:center;margin-top:6px}
.hero-inner{grid-template-columns:1fr;padding-top:88px}
.hero-copy{max-width:760px}
.hero-portal{min-height:630px}
.portal-feature{width:340px;left:8%}
.portal-stack{width:290px;right:8%}
.hero-objects{width:650px;right:5%}
.quick-grid{grid-template-columns:repeat(2,1fr)}
.quick-grid a:nth-child(2){border-right:1px solid var(--line)}
.quick-grid a:nth-child(n+3){border-top:1px solid var(--line)}
.split-heading,.parent-grid,.faq-grid{grid-template-columns:1fr;gap:35px}
.heading-copy{max-width:680px}
.bento-grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}
.bento-main{grid-area:auto/1/auto/-1;min-height:480px}
.bento-location{grid-column:1/-1}
.direction-layout{grid-template-columns:1fr}
.vision-card{min-height:540px;position:relative;top:auto}
.vision-statement{max-width:760px}
.programme-explorer,.day-planner{grid-template-columns:1fr}
.programme-tabs{border:0;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}
.programme-tab{border:1px solid #ffffff24;border-radius:15px;min-height:74px}
.day-timeline{grid-template-columns:repeat(2,1fr);display:grid}
.day-step:hover,.day-step.active{transform:translateY(-3px)}
.contact-cta{grid-template-columns:1fr;gap:35px}
.contact-cta .button{justify-self:start}
.contact-grid{grid-template-columns:1fr 1fr}
.contact-brand{grid-column:1/-1}
}
@media (width<=680px){.shell{width:min(100% - 30px,1280px)}
.announcement-inner{justify-content:center}
.announcement p{display:none}
.nav-wrap{min-height:72px}
.brand{width:min(210px,100vw - 120px)}
.brand img{height:50px}
.hero{min-height:auto}
.hero-inner{min-height:auto;padding-block:66px 55px}
.hero h1{font-size:clamp(46px,13.5vw,62px)}
.hero-lead{font-size:15px}
.hero-actions{flex-direction:column;align-items:stretch}
.button-large{width:100%}
.secondary-link{align-self:flex-start}
.trust-row{flex-wrap:wrap}
.hero-portal{min-height:690px;margin-top:20px}
.portal-feature{width:calc(100% - 28px);min-height:390px;top:0;left:0}
.portal-stack{grid-template-columns:repeat(2,1fr);width:calc(100% - 28px);top:305px;left:28px;right:0}
.portal-mini{grid-template-columns:25px 1fr;min-height:84px}
.portal-mini i{display:none}
.hero-objects{opacity:.82;width:480px;bottom:-10px;right:-30px}
.spark-one{right:6px}
.quick-grid{grid-template-columns:1fr}
.quick-grid a,.quick-grid a:first-child,.quick-grid a:nth-child(2){border-top:1px solid var(--line);border-right:1px solid var(--line);border-left:1px solid var(--line);min-height:80px}
.cms-live-announcement>.shell{min-height:94px}
.cms-live-announcement strong,.cms-live-announcement p{font-size:15px}
.section{padding-block:82px}
.section-heading h2,.parent-copy h2,.contact-cta h2{font-size:39px}
.bento-grid{grid-template-columns:1fr}
.bento-main,.bento-stat,.bento-quote,.bento-location{grid-column:auto;min-height:280px}
.bento-main{min-height:470px;padding:30px}
.bento-main h3{font-size:32px}
.bento-orbit{width:135px;height:135px;bottom:35px;right:35px}
.bento-location a{bottom:25px;right:25px}
.school-direction:before{width:58px;top:78px;left:15px}
.direction-layout{gap:18px;margin-top:45px}
.vision-card{border-radius:27px;min-height:570px;padding:28px}
.vision-statement{margin-top:62px;font-size:29px;line-height:1.34}
.vision-values{gap:7px;margin-top:30px}
.vision-values span{font-size:13px}
.vision-card-footer{bottom:27px;left:28px;right:28px}
.mission-panel{border-radius:27px;padding:11px}
.mission-panel-head{border-radius:21px;flex-direction:column;align-items:flex-start;gap:18px;padding:22px 20px}
.mission-count{width:52px;height:52px;border-radius:16px}
.mission-panel-head h3{font-size:26px}
.mission-panel-head>p{max-width:none;font-size:14px}
.mission-journey{gap:7px;margin:14px 1px 13px;padding:0 3px}
.mission-journey span{padding:6px 9px;font-size:10px}
.mission-list{grid-template-columns:1fr;gap:10px}
.mission-card,.mission-card:first-child{border-radius:19px;grid-column:auto;grid-template-columns:48px minmax(0,1fr);column-gap:13px;row-gap:10px;min-height:0;padding:19px 15px}
.mission-card:before,.mission-card:first-child:before{width:48px;left:15px}
.mission-icon,.mission-card:first-child .mission-icon{border-radius:15px;width:48px;height:48px}
.mission-copy{display:contents}
.mission-copy>div{grid-column:2;align-self:center;flex-direction:column;align-items:flex-start;gap:4px;min-height:48px}
.mission-copy h4,.mission-card:first-child .mission-copy h4{font-size:18px}
.mission-copy>p:not(.mission-result),.mission-card:first-child .mission-copy>p:not(.mission-result){grid-column:1/-1;margin-top:2px;font-size:14px;line-height:1.62}
.mission-result,.mission-card:first-child .mission-result{grid-column:1/-1;margin-top:2px!important;padding:9px 10px}
.mission-result strong,.mission-card:first-child .mission-result strong{font-size:12px}
.direction-pledge{border-radius:23px;flex-direction:column;align-items:stretch;padding:22px}
.direction-pledge>a{justify-content:space-between}
.programme-tabs{scrollbar-width:none;flex-direction:row;padding-bottom:8px;display:flex;overflow-x:auto}
.programme-tabs::-webkit-scrollbar{display:none}
.programme-tab{flex:none;min-width:180px}
.programme-panel{min-height:650px;padding:30px}
.programme-panel>h3{margin-top:45px;font-size:54px}
.outcome-card{width:auto;bottom:95px;left:30px;right:30px}
.panel-next{bottom:35px;left:30px}
.day-timeline{scrollbar-width:none;flex-direction:row;display:flex;overflow-x:auto}
.day-step{flex:none;min-width:220px}
.day-panel{grid-template-columns:1fr}
.day-visual{min-height:270px}
.day-copy{padding:35px 28px}
.parent-grid{gap:45px}
.checklist-card{border-radius:25px;padding:22px}
.checklist-head>div strong{font-size:16px}
.progress-number{font-size:27px}
.checklist-footer{flex-direction:column;align-items:stretch}
.checklist-footer button{align-self:flex-start}
.checklist-footer a{text-align:center}
.faq-grid{gap:45px}
.faq-list summary{font-size:16px}
.contact{padding-top:75px}
.contact-cta{padding-bottom:60px}
.contact-cta .button{width:100%}
.contact-grid{grid-template-columns:1fr;gap:45px;padding-top:60px}
.contact-brand{grid-column:auto}
.footer-line{flex-direction:column;align-items:flex-start;margin-top:55px}
.floating-whatsapp{min-height:48px;padding-right:12px;bottom:14px;right:14px}
.floating-whatsapp span{width:34px;height:34px}
}
@media (prefers-reduced-motion:no-preference){.hero-copy{animation:.52s both rise-in}
.hero-portal{animation:.62s 80ms both rise-in}
.hero-objects{animation:8s ease-in-out infinite float-gentle}
.spark{animation:3s ease-in-out infinite twinkle}
.spark-two{animation-delay:.9s}
}
@keyframes rise-in{0%{opacity:0;transform:translateY(22px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes float-gentle{0%,to{transform:translateY(0)}
50%{transform:translateY(-7px)}
}
@keyframes twinkle{0%,to{opacity:.55;transform:scale(.9)rotate(0)}
50%{opacity:1;transform:scale(1.12)rotate(12deg)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
.school-direction,.reference-hero{overflow:hidden}
.reference-visual{overflow:visible}
@media (width<=680px){.school-direction{overflow:hidden}.direction-glow-one{width:300px;height:300px;top:-96px;right:-108px}.direction-glow-two{width:380px;height:380px;bottom:-205px;left:-150px}.reference-visual{overflow:hidden}.reference-blue-blob{inset:20px -18px 0 0}.blob-line{display:none}.reference-journey-card{width:calc(100% - 6px);padding:18px 12px 14px}.reference-journey-card h3{left:14px}.reference-right-objects{width:min(74vw,248px);bottom:122px;right:-10px}.reference-left-objects{display:none}.reference-wave{height:178px;bottom:-104px;left:0;right:0;transform:none}}
.reference-header{background:#fdfcf8f5;border-bottom:0;top:0}
.reference-header .nav-wrap{min-height:118px}
.reference-header .brand{width:282px}
.reference-header .brand img{height:82px}
.reference-header .desktop-nav{gap:44px;font-size:16px;font-weight:650}
.reference-header .desktop-nav a:after{background:#1747d1;height:3px;bottom:4px}
.reference-header .desktop-nav a.active{color:#1747d1;font-weight:850}
.reference-header .desktop-nav a.active:after{transform:scaleX(1)}
.reference-search{cursor:pointer;background:#fff;border:1.5px solid #1747d1;border-radius:14px;flex:none;place-items:center;width:50px;height:50px;padding:0;display:grid;position:relative}
.reference-search>span{border:2px solid #0b1739;border-radius:50%;width:15px;height:15px;display:block;position:relative}
.reference-search>span:after{content:"";background:#0b1739;border-radius:2px;width:7px;height:2px;position:absolute;bottom:-4px;right:-5px;transform:rotate(45deg)}
.reference-header-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#ecb81f,#d89b00);border:4px solid #1644c7;border-radius:16px;min-width:194px;padding:13px 22px;font-size:14px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 7px #0c36a8,0 13px 24px #0b2e9e2e}
.reference-header-cta:hover{transform:translateY(3px);box-shadow:0 4px #0c36a8,0 10px 20px #0b2e9e29}
.reference-hero{background:#fdfcf8;min-height:782px;position:relative;overflow:hidden}
.reference-hero-inner{z-index:4;grid-template-columns:43% 57%;align-items:center;gap:18px;min-height:782px;padding:44px 0 62px;display:grid;position:relative}
.reference-copy{z-index:8;padding-left:48px;position:relative}
.reference-pill{color:#1242c8;background:#ffffffbf;border:1px solid #1747d159;border-radius:999px;align-items:center;min-height:42px;margin:0 0 19px;padding:9px 19px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 5px 20px #0b2e9e0a}
.reference-copy h1{color:#0b1739;letter-spacing:-.062em;max-width:560px;margin:0;font-size:clamp(56px,4.8vw,72px);font-weight:830;line-height:1.02}
.reference-lead{color:#35415c;max-width:500px;margin:24px 0 0;font-size:16px;line-height:1.55}
.reference-actions{align-items:center;gap:35px;margin-top:27px;display:flex}
.reference-primary{color:#fff;background:#e1a710;border:1px solid #9e7300;border-radius:16px;grid-template-columns:1fr 54px;align-items:stretch;width:258px;min-height:58px;display:grid;overflow:hidden;box-shadow:0 8px 20px #9d6e002e,inset 0 0 0 3px #ffffff8c}
.reference-primary span{justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}
.reference-primary i{background:#1747d1;border-left:1px solid #ffffffbf;place-items:center;font-size:23px;font-style:normal;transition:transform .18s;display:grid}
.reference-primary:hover i{transform:translate(3px)}
.reference-secondary{color:#1747d1;align-items:center;gap:13px;font-size:14px;font-weight:800;display:inline-flex}
.reference-secondary span{font-size:24px}
.reference-info-row{align-items:center;gap:20px;margin-top:24px;display:flex}
.reference-info-row article{align-items:center;gap:11px;display:flex}
.reference-info-row article>div{flex-direction:column;display:flex}
.reference-info-row strong{font-size:13px;font-weight:800;line-height:1.3}
.reference-info-row small{color:#6d7484;margin-top:3px;font-size:12px}
.reference-divider{background:#0b173929;width:1px;height:46px}
.reference-info-icon{background:#fff;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;display:grid;position:relative;box-shadow:0 8px 20px #0b2e9e1f}
.icon-cap:before{content:"";border:2px solid #1747d1;border-radius:2px;width:22px;height:14px;transform:rotate(30deg)skew(-25deg)}
.icon-cap i{border-bottom:2px solid #1747d1;border-radius:50%;width:20px;height:6px;position:absolute;bottom:12px}
.icon-pin:before{content:"";border:2px solid #1747d1;border-radius:50% 50% 50% 0;width:18px;height:22px;transform:rotate(-45deg)}
.icon-pin i{border:2px solid #1747d1;border-radius:50%;width:6px;height:6px;position:absolute;top:18px}
.reference-visual{min-height:690px;position:relative}
.reference-blue-blob{z-index:1;background:radial-gradient(circle at 82% 14%,#7af3ff 0,#32dbe9 16%,#0000 34%),radial-gradient(circle at 24% 18%,#ffffff30 0,#0000 28%),radial-gradient(circle at 68% 72%,#0d72ef 0,#064bcf 48%,#062f96 100%);border-radius:42% 54% 48% 38%/25% 30% 52% 58%;position:absolute;inset:25px -135px 0 5px;overflow:hidden;box-shadow:0 34px 70px #04267a2b,inset 0 0 110px #ffffff14}
.blob-line{border:1px solid #ffffff3d;border-radius:50%;position:absolute}
.blob-line-one{width:510px;height:350px;top:-70px;right:90px;transform:rotate(-15deg)}
.blob-line-two{width:500px;height:260px;bottom:160px;right:-120px;transform:rotate(-25deg)}
.blob-spark{color:#fff;text-shadow:0 0 16px #fffc;font-size:29px;position:absolute}
.spark-a{top:108px;right:102px}
.spark-b{font-size:20px;bottom:190px;right:75px}
.blob-dot{background:#fff;border-radius:50%;width:7px;height:7px;position:absolute}
.dot-a{top:95px;right:300px}
.dot-b{bottom:310px;right:58px}
.reference-program-panel{z-index:5;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:linear-gradient(160deg,#ffffffe0,#f3f8ffa8 62%,#e5f4ff96);border:1px solid #ffffffb8;border-radius:30px;width:500px;min-height:493px;padding:25px 25px 18px;position:absolute;top:114px;left:30px;overflow:hidden;box-shadow:0 24px 52px #04267a30,0 8px 18px #20c7d912,inset 0 1px #ffffffcf,inset 0 0 0 1px #ffffff40}
.reference-program-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 12% 12%,#ffffffad 0,#ffffff1c 26%,#0000 58%),linear-gradient(135deg,#ffffff2e,#0000 42%,#20c7d912 78%,#fff0 100%);position:absolute;inset:0}
.reference-program-panel:after{content:"";pointer-events:none;border-radius:24px;border:1px solid #ffffff47;position:absolute;inset:10px}
.reference-program-panel h2{letter-spacing:-.03em;margin:0 0 17px 4px;font-size:20px;font-weight:800}
.reference-program-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}
.reference-program-card{cursor:pointer;text-align:left;border:1px solid #ffffffad;border-radius:21px;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:152px;padding:15px 51px 15px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 24px #0b2e9e1a,0 4px 12px #20c7d90f,inset 0 1px #ffffffc7,inset 0 0 0 1px #ffffff3a}
.reference-program-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 22% 14%,#ffffff9e 0,#ffffff1f 24%,#0000 54%),linear-gradient(145deg,#ffffff29,#0000 38%,#1747d108 100%);position:absolute;inset:0}
.reference-program-card:hover,.reference-program-card[aria-pressed=true]{transform:translateY(-4px);border-color:#ffffffd1;box-shadow:0 18px 30px #0b2e9e24,0 7px 15px #20c7d916,inset 0 1px #fff,inset 0 0 0 1px #ffffff66}
.reference-card-1{color:#1747d1;background:linear-gradient(145deg,#f5f8ffcf,#e2ebffb5 58%,#f8fbffbf)}
.reference-card-2{color:#0a9cae;background:linear-gradient(145deg,#f2ffffcc,#daf8fbb0 58%,#f6feffbc)}
.reference-card-3{color:#ba8200;background:linear-gradient(145deg,#fff9e0cc,#ffe8b0b8 58%,#fffdf5bf)}
.reference-card-4{color:#1747d1;background:linear-gradient(145deg,#f7f9ffd1,#e7eeffb5 58%,#f9fbffbf)}
.reference-program-card>strong{z-index:3;letter-spacing:-.025em;font-size:17px;font-weight:850;position:relative}
.reference-program-card>i{z-index:3;background:linear-gradient(180deg,#ffffffe0,#eef5ffd4);border:1px solid #ffffffc9;border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;font-style:normal;display:grid;position:absolute;bottom:14px;right:15px;box-shadow:0 6px 13px #0b2e9e18,inset 0 1px #fff}
.reference-program-icon{z-index:2;mix-blend-mode:multiply;background-image:url(/assets/program-icon-sprite-v4.png);background-repeat:no-repeat;background-size:200% 200%;width:94px;height:72px;position:absolute;top:8px;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(68% 62%,#000 53%,#000000d1 66%,#0000 86%);mask-image:radial-gradient(68% 62%,#000 53%,#000000d1 66%,#0000 86%)}
.reference-program-icon.sprite-1{background-position:0 0}
.reference-program-icon.sprite-2{background-position:100% 0}
.reference-program-icon.sprite-3{mix-blend-mode:normal;background-image:url(/assets/qiraati-book-rehal-transparent-v18-2.webp);background-position:center 48%;background-size:82% auto;-webkit-mask-image:none;mask-image:none}
.reference-program-icon.sprite-4{mix-blend-mode:normal;background-image:none;place-items:center;display:grid;-webkit-mask-image:none;mask-image:none}
.reference-program-icon.sprite-4:before{color:#fff;content:"ABC";letter-spacing:.04em;background:linear-gradient(145deg,#285be0,#123dbf);border:3px solid #f5c32d;border-radius:16px;place-items:center;width:66px;height:58px;font-size:17px;font-weight:900;display:grid;transform:rotate(-4deg);box-shadow:0 9px #0a2c91,0 16px 24px #0b2e9e40}
.reference-program-icon.sprite-4:after{content:"";background:#25c9d8;border:3px solid #fff;border-radius:7px;width:21px;height:21px;position:absolute;bottom:9px;right:14px;box-shadow:0 5px 9px #0b2e9e38}
.reference-program-icon b{color:#a66f00;font-family:inherit;font-size:19px;font-weight:600;position:absolute;top:29px;left:50%;transform:translate(-50%)}
.reference-program-icon.sprite-3 b{display:none}
.reference-program-icon.has-custom-programme-icon{mix-blend-mode:normal;background:none;place-items:center;display:grid;-webkit-mask-image:none;mask-image:none}
.reference-program-icon.has-custom-programme-icon:before,.reference-program-icon.has-custom-programme-icon:after{content:none;display:none}
.reference-program-icon.has-custom-programme-icon b{display:none}
.reference-program-icon.has-custom-programme-icon img{object-fit:contain;width:100%;height:100%;display:block}
.reference-panel-footer{background:linear-gradient(180deg,#fbfdffbf,#f0f7ff96);border:1px solid #ffffffb5;border-radius:18px;justify-content:space-between;align-items:center;min-height:54px;margin-top:16px;padding:10px 19px;display:flex;box-shadow:0 8px 18px #0b2e9e10,inset 0 1px #fff}
.reference-panel-footer>strong{font-size:14px}
.reference-path{justify-content:space-between;align-items:center;width:220px;height:20px;display:flex;position:relative}
.reference-path:before{content:"";border-top:2px dashed #129fce;position:absolute;top:50%;left:10px;right:10px;transform:translateY(-50%)rotate(2deg)}
.reference-path i{z-index:2;background:#fff;border:2px solid #1747d1;border-radius:50%;width:13px;height:13px;position:relative}
.reference-path i:first-child{background:#1747d1}
.reference-path i:nth-child(2){background:#20c7d9;border-color:#20c7d9}
.reference-path i:last-child{width:19px;height:19px}
.reference-admission-badge{z-index:8;text-align:center;background:linear-gradient(180deg,#ffffffe3,#f6fbffba 60%,#eaf7ffab);border:8px solid #ffffffab;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:142px;height:142px;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;top:94px;right:3px;box-shadow:0 18px 34px #04267a33,0 0 0 8px #ffffff17,inset 0 0 20px #1747d10d,inset 0 8px 14px #ffffff8f}
.reference-admission-badge:before{content:"";pointer-events:none;border:1px solid #9defff66;border-radius:50%;position:absolute;inset:-12px;box-shadow:0 0 0 5px #ffffff14,0 0 20px #20c7d926}
.reference-admission-badge:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 22px 40px #04267a3d,0 0 0 8px #ffffff21,inset 0 0 20px #1747d10d,inset 0 8px 14px #ffffffa3}
.reference-admission-badge small{margin-top:5px;font-size:14px;font-weight:800}
.reference-admission-badge>strong{color:#0b2e9e;letter-spacing:-.04em;font-size:31px;font-weight:900;line-height:.9}
.badge-cap{width:29px;height:20px;position:relative}
.badge-cap:before{clip-path:polygon(50% 0,100% 35%,50% 70%,0 35%);content:"";background:#0b2e9e;width:21px;height:13px;position:absolute;top:3px;left:4px}
.badge-cap i{background:#0b2e9e;width:2px;height:11px;position:absolute;bottom:1px;right:2px}
.reference-journey-card{z-index:7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#ffffffe0,#f3f8ffae 72%,#eefaff99);border:1px solid #ffffffb5;border-radius:27px;width:246px;min-height:286px;padding:23px 22px;position:absolute;top:255px;right:12px;overflow:hidden;box-shadow:0 20px 38px #04267a32,0 8px 16px #20c7d911,inset 0 1px #fff}
.reference-journey-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 82% 10%,#ffffff96 0,#ffffff14 30%,#0000 60%),linear-gradient(180deg,#ffffff26,#0000 42%);position:absolute;inset:0}
.reference-journey-card h3{margin:0 0 17px;font-size:15px;font-weight:850}
.journey-node{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:53px 1fr;align-items:center;gap:11px;width:100%;padding:0;display:grid;position:relative;z-index:1}
.journey-node>span{border-radius:50%;place-items:center;width:53px;height:53px;font-size:25px;font-weight:800;transition:box-shadow .18s,transform .18s;display:grid;box-shadow:inset 0 1px #fff}
.journey-node:hover>span,.journey-node[aria-pressed=true]>span{transform:translateY(-2px);box-shadow:0 0 0 3px #fff,0 0 0 5px #1747d140}
.journey-node strong{font-size:13px}
.node-blue>span{color:#1747d1;background:#edf2ff}
.node-cyan>span{color:#10aebd;background:#e3fafb}
.node-gold>span{color:#c58f00;background:#fff2cc}
.journey-dots{border-left:3px dotted #19b5cf;width:1px;height:18px;margin-left:26px;display:block}
.reference-right-objects{z-index:6;pointer-events:none;width:560px;height:auto;position:absolute;bottom:-30px;right:-95px}
.reference-left-objects{z-index:5;pointer-events:none;width:420px;height:auto;position:absolute;bottom:-50px;left:-160px}
.reference-dot-grid{opacity:.35;background-image:radial-gradient(circle,#20c7d9 2px,#0000 2.5px);background-size:13px 13px;width:74px;height:130px;position:absolute;top:62px;left:28px}
.reference-star-left{z-index:6;color:#e6b123;text-shadow:0 8px 18px #ae76003b;font-size:72px;position:absolute;top:270px;left:-21px;transform:rotate(-12deg)}
.reference-wave{z-index:2;background:linear-gradient(110deg,#defafcb3,#eff7ff66);border-radius:50% 45% 0 0;height:245px;position:absolute;bottom:-155px;left:-6%;right:-10%;transform:rotate(3deg)}
@media (width<=1180px){.reference-header .desktop-nav{gap:24px}
.reference-header-cta{min-width:165px}
.reference-copy{padding-left:10px}
.reference-copy h1{font-size:56px}
.reference-program-panel{width:465px;left:5px}
.reference-journey-card{right:0}
.reference-admission-badge{right:-35px}
}
@media (width<=960px){.desktop-search{display:none}
.reference-header .nav-wrap{min-height:82px}
.reference-header .brand{width:250px}
.reference-header .brand img{height:68px}
.reference-hero,.reference-hero-inner{min-height:auto}
.reference-hero-inner{grid-template-columns:1fr;padding-block:70px 40px}
.reference-copy{max-width:700px;padding-left:30px}
.reference-visual{min-height:720px;margin-top:25px}
.reference-program-panel{width:500px;left:50%;transform:translate(-58%)}
.reference-admission-badge{right:4%}
.reference-journey-card,.reference-right-objects{right:0}
}
@media (width<=680px){.reference-header .nav-wrap{min-height:72px}
.reference-header .brand{width:min(210px,100vw - 120px)}
.reference-header .brand img{height:54px}
.reference-hero-inner{padding-top:50px}
.reference-copy{padding-left:0}
.reference-pill{font-size:13px}
.reference-copy h1{font-size:clamp(43px,12.4vw,58px)}
.reference-lead{font-size:14px}
.reference-actions{flex-direction:column;align-items:stretch;gap:17px}
.reference-primary{width:100%}
.reference-secondary{align-self:flex-start}
.reference-info-row{flex-direction:column;align-items:flex-start}
.reference-divider{display:none}
.reference-visual{min-height:920px;margin-top:20px}
.reference-blue-blob{border-radius:32% 48% 40% 35%;inset:20px -90px 0 -50px}
.reference-program-panel{width:calc(100% - 10px);min-height:500px;padding:19px 16px 16px;top:145px;left:50%;transform:translate(-50%)}
.reference-program-grid{gap:9px}
.reference-program-card{min-height:153px;padding-left:12px;padding-right:38px}
.reference-program-card>strong{font-size:13px}
.reference-program-card>i{width:26px;height:26px;right:9px}
.reference-program-icon{width:90px;height:76px}
.reference-panel-footer{padding-inline:12px}
.reference-path{width:130px}
.reference-admission-badge{width:118px;height:118px;top:12px;right:2px}
.reference-admission-badge>strong{font-size:26px}
.reference-journey-card{grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;width:100%;min-height:170px;padding:18px;display:grid;top:670px;left:0;right:0}
.reference-journey-card h3{position:absolute;top:14px;left:18px}
.journey-node{flex-direction:column;align-items:center;gap:6px;margin-top:25px;display:flex}
.journey-node>span{width:45px;height:45px}
.journey-node strong{font-size:13px}
.journey-dots{border-top:3px dotted #19b5cf;border-left:0;width:20px;height:1px;margin:25px 0 0}
.reference-right-objects{opacity:.6;width:330px;bottom:85px;right:-65px}
.reference-left-objects{width:260px;bottom:10px;left:-95px}
.reference-star-left,.reference-dot-grid{display:none}
input,select,textarea{font-size:16px}
.quick-grid span,.kicker,.bento-label,.programme-panel-top p,.contact-label,.reference-info-row small{font-size:13px}
.quick-grid strong,.reference-info-row strong,.checklist-items strong,.faq-list summary,.contact-block>a,.contact-block address{font-size:15px}
.heading-copy,.bento-card>p:not(.bento-label),.programme-panel-copy,.day-copy>p:last-child,.parent-copy>p:not(.kicker),.faq-list details p,.reference-lead{font-size:16px;line-height:1.7}
}
.portal-suite{background:radial-gradient(circle at 90% 4%,#20c7d926,#0000 24%),radial-gradient(circle at 8% 40%,#1747d114,#0000 24%),#f4f7ff;padding:70px 0 105px;scroll-margin-top:110px;position:relative;overflow:clip}
.portal-suite:before{content:"";border:38px solid #20c7d914;border-radius:50%;width:190px;height:190px;position:absolute;top:240px;right:-70px}
.portal-announcement,.admissions-hub-announcement{z-index:2;color:#fff;background:linear-gradient(135deg,#cc1625,#a70f26 48%,#7f1023);border:1px solid #ffffff24;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:72px;padding:14px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #24030d45}
.admissions-hub-announcement{margin:-12px 0 26px}
.portal-announcement:before,.admissions-hub-announcement:before{content:"";background:radial-gradient(circle at center,#ffffff40 0,#ffffff12 42%,#0000 70%);width:140px;height:140px;position:absolute;top:-52px;right:-28px}
.portal-announcement>span,.admissions-hub-announcement>span{color:#fff;background:#ffffff1f;border:1px solid #ffffff24;border-radius:16px;place-items:center;width:46px;height:46px;font-size:22px;display:grid;box-shadow:0 12px 24px #00000014}
.portal-announcement p,.admissions-hub-announcement p{color:#fff;margin:0;font-size:15px;font-weight:800;line-height:1.55;transition:opacity .22s ease,transform .22s ease}
.admissions-hub-announcement-copy{min-width:0;display:grid;gap:4px}
.admissions-hub-announcement-label{color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900;animation:announcement-heartbeat 1.8s ease-in-out infinite}
.admissions-hub-heading h2,.admissions-action-card h3,.admissions-prepare-copy h3,.cms-live-announcement strong{font-weight:800}
.portal-announcement button,.admissions-hub-announcement button{cursor:pointer;color:#fff;background:#ffffff17;border:1px solid #ffffff2e;border-radius:999px;padding:11px 15px;font-size:13px;font-weight:900;transition:transform .18s ease,background-color .18s ease,opacity .22s ease;position:relative;z-index:1}
.portal-announcement button:hover,.admissions-hub-announcement button:hover{background:#ffffff23;transform:translateY(-1px)}
.portal-announcement button i,.admissions-hub-announcement button i{margin-left:7px;font-style:normal}
.portal-announcement.is-rotating p,.portal-announcement.is-rotating .admissions-hub-announcement-label,.portal-announcement.is-rotating button,.admissions-hub-announcement.is-rotating p,.admissions-hub-announcement.is-rotating .admissions-hub-announcement-label,.admissions-hub-announcement.is-rotating button{opacity:.18;transform:translateY(5px)}
.portal-announcement.is-rotating-in p,.portal-announcement.is-rotating-in .admissions-hub-announcement-label,.portal-announcement.is-rotating-in button,.admissions-hub-announcement.is-rotating-in p,.admissions-hub-announcement.is-rotating-in .admissions-hub-announcement-label,.admissions-hub-announcement.is-rotating-in button{animation:announcement-fade-in .26s ease}
.portal-announcement>span,.admissions-hub-announcement>span{animation:announcement-icon-beat 1.8s ease-in-out infinite}
@keyframes announcement-heartbeat{0%,100%{transform:scale(1);opacity:1}
14%{transform:scale(1.04);opacity:1}
28%{transform:scale(.98);opacity:.96}
42%{transform:scale(1.03);opacity:1}
56%{transform:scale(1);opacity:1}}
@keyframes announcement-icon-beat{0%,100%{transform:scale(1)}
16%{transform:scale(1.08)}
32%{transform:scale(.98)}
48%{transform:scale(1.06)}
64%{transform:scale(1)}}
@keyframes announcement-fade-in{0%{opacity:.16;transform:translateY(5px)}
100%{opacity:1;transform:translateY(0)}}
.portal-intro{z-index:2;grid-template-columns:1.15fr .85fr;align-items:end;gap:80px;margin-top:72px;display:grid;position:relative}
.portal-intro h2{max-width:710px;color:var(--ink);letter-spacing:-.06em;margin:16px 0 0;font-size:clamp(42px,5vw,68px);font-weight:800;line-height:1.02}
.portal-intro>p{max-width:480px;color:var(--muted);margin:0 0 8px;font-size:15px;line-height:1.8}
.portal-overview{z-index:2;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px;display:grid;position:relative}
.portal-overview>button,.portal-overview>a{cursor:pointer;min-height:145px;color:var(--ink);text-align:left;background:#ffffffe6;border:1px solid #1747d11f;border-radius:24px;flex-direction:column;align-items:flex-start;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 15px 36px #0b2e9e12}
.portal-overview>button:hover,.portal-overview>a:hover{border-color:#1747d161;transform:translateY(-4px);box-shadow:0 20px 42px #0b2e9e1f}
.portal-overview span{color:var(--cobalt);letter-spacing:.12em;font-size:13px;font-weight:900}
.portal-overview strong{margin-top:18px;font-size:15px}
.portal-overview small{color:var(--muted);margin-top:6px;font-size:13px}
.portal-overview i{width:31px;height:31px;color:var(--cobalt);background:#eef2ff;border-radius:50%;place-items:center;font-size:14px;font-style:normal;display:grid;position:absolute;bottom:19px;right:20px}
.portal-workspace{z-index:3;background:#fff;border:1px solid #1747d124;border-radius:32px;grid-template-columns:245px minmax(0,1fr);min-height:720px;margin-top:22px;scroll-margin-top:112px;display:grid;position:relative;overflow:clip;box-shadow:0 34px 90px #0b2e9e1f}
.portal-tabs{background:#0b1739;flex-direction:column;gap:5px;padding:24px 13px;display:flex;overflow:visible}
.portal-tabs button{cursor:pointer;color:#ffffffb8;text-align:left;background:0 0;border:1px solid #0000;border-radius:16px;grid-template-columns:40px 1fr;align-items:center;gap:11px;min-height:63px;padding:9px 12px;transition:background .18s,border-color .18s,color .18s;display:grid}
.portal-tabs button:hover{color:#fff;background:#ffffff12}
.portal-tabs button.active{color:#fff;background:linear-gradient(135deg,#1747d17a,#20c7d92e);border-color:#20c7d966}
.portal-tabs button>i{color:#69e8ef;background:#ffffff17;border-radius:12px;place-items:center;width:38px;height:38px;font-size:13px;font-style:normal;font-weight:850;display:grid}
.portal-tabs button>span{flex-direction:column;min-width:0;display:flex}
.portal-tabs strong{font-size:13px}
.portal-tabs small{color:#ffffff73;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}
.portal-panel{background:radial-gradient(circle at 100% 0,#20c7d914,#0000 26%),#fff;min-width:0}
.portal-module{padding:48px}
.module-heading{max-width:780px}
.module-heading>div{align-items:center;gap:11px;display:flex}
.module-heading>div p{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:13px;font-weight:850}
.module-number{width:32px;height:32px;color:var(--cobalt);background:#eaf0ff;border-radius:10px;place-items:center;font-size:12px;font-weight:900;display:grid}
.module-heading h3{color:var(--ink);letter-spacing:-.055em;margin:18px 0 0;font-size:clamp(32px,3.4vw,48px);font-weight:800;line-height:1.05}
.module-heading>p{max-width:680px;color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.7}
.admission-layout,.fee-layout,.finder-layout,.visit-layout,.wa-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:22px;margin-top:38px;display:grid}
.portal-form,.fee-options,.status-card,.finder-result,.visit-aside,.wa-builder,.wa-preview{background:#fbfcff;border:1px solid #1747d11f;border-radius:24px;padding:28px}
.form-progress{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:31px;display:grid;position:relative}
.form-progress:before{z-index:0;content:"";border-top:2px dashed #dce1ee;position:absolute;top:15px;left:10%;right:10%}
.form-progress>span{z-index:1;color:#9aa2b2;flex-direction:column;align-items:center;gap:7px;display:flex;position:relative}
.form-progress i{background:#e8ebf1;border:3px solid #fbfcff;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;font-style:normal;font-weight:900;display:grid}
.form-progress small{font-size:12px;font-weight:750}
.form-progress span.active{color:var(--cobalt)}
.form-progress span.active i{background:var(--cobalt);color:#fff}
.form-stage h4{margin:0 0 22px;font-size:18px}
.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}
.field-wide{grid-column:1/-1}
.portal-module label{flex-direction:column;gap:7px;min-width:0;display:flex}
.portal-module label>span,.admin-grid label>span{color:#49546d;letter-spacing:.05em;font-size:12px;font-weight:800}
.portal-module input,.portal-module select,.portal-module textarea,.admin-grid input,.admin-grid select,.admin-grid textarea{width:100%;min-height:47px;color:var(--ink);background:#fff;border:1px solid #0b173924;border-radius:13px;outline:0;padding:12px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s}
.portal-module textarea,.admin-grid textarea{resize:vertical}
.portal-module input:focus,.portal-module select:focus,.portal-module textarea:focus,.admin-grid input:focus,.admin-grid select:focus,.admin-grid textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #1747d11a}
.upload-zone{cursor:pointer;text-align:center;background:#f2f6ff;border:1.5px dashed #1747d159;border-radius:18px;place-items:center;min-height:150px;padding:22px;display:grid!important}
.upload-zone input{opacity:0;width:1px;height:1px;position:absolute}
.upload-zone>i{background:var(--cobalt);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-style:normal;display:grid}
.upload-zone strong{margin-top:10px;font-size:14px}
.upload-zone>span{max-width:420px;color:var(--muted);margin-top:4px;line-height:1.5;font-size:12px!important;font-weight:500!important}
.file-list{flex-wrap:wrap;gap:7px;margin:13px 0;display:flex}
.file-list span{color:#08778f;background:#e7fafb;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750}
.consent-row{grid-template-columns:20px 1fr;align-items:start;margin-top:18px;gap:10px!important;display:grid!important}
.consent-row input{width:19px;min-height:19px;margin:0}
.consent-row span{line-height:1.5;font-size:12px!important;font-weight:550!important}
.form-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:27px;display:flex}
.form-actions>div{gap:9px;display:flex}
.button-primary,.button-muted,.text-action{cursor:pointer;border:0;border-radius:13px;min-height:45px;padding:12px 17px;font-size:13px;font-weight:850}
.button-primary{background:linear-gradient(135deg, var(--cobalt), var(--royal));color:#fff;box-shadow:0 10px 22px #0b2e9e2e}
.button-muted{color:var(--ink);background:#e9edf6}
.text-action{border-bottom:1px solid var(--muted);color:var(--muted);background:0 0;border-radius:0;padding-inline:0}
.form-error,.form-notice,.admin-message{color:#a93421;background:#fff0ec;border-radius:12px;margin:16px 0 0;padding:10px 12px;font-size:12px;font-weight:750}
.form-notice,.admin-message{color:#08778f;background:#eafafb}
.submission-success,.visit-confirmation{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}
.submission-success>span,.visit-confirmation>span{background:var(--cyan);width:68px;height:68px;color:var(--ink);border-radius:50%;place-items:center;font-size:27px;font-weight:900;display:grid}
.submission-success p,.visit-confirmation p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:20px 0 6px;font-size:12px;font-weight:850}
.submission-success h4,.visit-confirmation h4{letter-spacing:-.03em;margin:0;font-size:27px}
.submission-success small{max-width:380px;color:var(--muted);margin-top:12px;font-size:12px;line-height:1.55}
.submission-success a,.visit-confirmation a{color:#fff;background:#0ba36a;border-radius:13px;margin-top:23px;padding:14px 18px;font-size:13px;font-weight:850}
.status-card{color:#fff;background:#0b1739;position:sticky;top:125px}
.status-icon{width:43px;height:43px;color:var(--cyan);background:#20c7d929;border-radius:14px;place-items:center;font-size:19px;display:grid}
.status-card>p{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin:22px 0 7px;font-size:12px;font-weight:850}
.status-card h4{margin:0 0 24px;font-size:22px;line-height:1.2}
.status-card label>span{color:#fff9}
.status-card input{color:#fff;background:#ffffff14;border-color:#ffffff29}
.status-card>button{cursor:pointer;background:var(--cyan);width:100%;min-height:45px;color:var(--ink);border:0;border-radius:12px;margin-top:10px;font-size:13px;font-weight:850}
.status-result{background:#20c7d91a;border:1px solid #20c7d945;border-radius:14px;flex-direction:column;margin-top:16px;padding:14px;display:flex}
.status-result strong{color:var(--cyan);font-size:14px}
.status-result span,.status-result small{color:#ffffffa8;margin-top:5px;font-size:12px}
.status-result.warning{background:#ebb81f1a;border-color:#ebb81f4d}
.status-result.warning strong{color:#ffd75e}
.fee-options{grid-template-columns:1fr 1fr;gap:17px;display:grid}
.toggle-list{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:9px;display:grid}
.toggle-list label{cursor:pointer;background:#fff;border:1px solid #0b17391c;border-radius:16px;grid-template-columns:1fr auto;align-items:center;min-height:68px;padding:13px;display:grid!important}
.toggle-list input{opacity:0;position:absolute}
.toggle-list label>span{flex-direction:column;display:flex}
.toggle-list strong{color:var(--ink);font-size:13px}
.toggle-list small{color:var(--muted);margin-top:3px;font-size:12px}
.toggle-list i{width:27px;height:27px;color:var(--cobalt);background:#eef2ff;border-radius:9px;place-items:center;font-size:13px;font-style:normal;font-weight:900;display:grid}
.toggle-list label:has(input:checked){background:#eafafb;border-color:#20c7d9b3}
.toggle-list label:has(input:checked) i{background:var(--cyan);color:var(--ink)}
.fee-summary{color:#fff;background:linear-gradient(145deg,#1747d1,#0b2e9e);border-radius:24px;padding:30px;overflow:hidden;box-shadow:0 20px 45px #0b2e9e38}
.fee-summary>p{color:#ffffffa6;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}
.fee-summary>h4{letter-spacing:-.06em;margin:10px 0 0;font-size:48px}
.fee-summary>small{color:#fff9;font-size:12px}
.fee-summary>div{gap:9px;margin-top:25px;display:grid}
.fee-summary>div>span,.registration-line{border-bottom:1px solid #ffffff21;justify-content:space-between;gap:10px;padding-bottom:9px;display:flex}
.fee-summary i{color:#ffffffa8;font-size:12px;font-style:normal}
.fee-summary strong{font-size:13px}
.fee-summary .discount strong{color:#74f0d5}
.registration-line{background:#ffffff1a;border:0;border-radius:12px;margin-top:19px;padding:12px}
.fee-summary>button{cursor:pointer;background:var(--gold);color:#fff;border:0;border-radius:12px;width:100%;min-height:44px;margin-top:17px;font-size:13px;font-weight:850}
.tour-layout{border-radius:25px;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);margin-top:38px;display:grid;overflow:hidden;box-shadow:0 18px 44px #0b2e9e1c}
.tour-stage{color:#fff;place-items:center;min-height:390px;transition:background .25s;display:grid;position:relative;overflow:hidden}
.tour-stage:before,.tour-stage:after{content:"";border:1px solid #ffffff40;border-radius:50%;position:absolute}
.tour-stage:before{width:530px;height:230px;transform:rotate(-10deg)}
.tour-stage:after{width:280px;height:280px}
.tour-blue{background:linear-gradient(145deg,#1b60ed,#082fa5)}
.tour-cyan{background:linear-gradient(145deg,#17cfd9,#087d9a)}
.tour-gold{background:linear-gradient(145deg,#e7b328,#a06c00)}
.tour-green{background:linear-gradient(145deg,#35bf99,#126d68)}
.tour-purple{background:linear-gradient(145deg,#7659e5,#38238e)}
.tour-navy{background:linear-gradient(145deg,#263b6d,#09152f)}
.tour-360{z-index:2;border:1px solid #ffffff59;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;position:absolute;top:22px;left:24px}
.tour-object{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}
.tour-object strong{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff61;border-radius:35px;place-items:center;width:130px;height:130px;font-family:inherit;font-size:42px;display:grid;transform:rotate(-5deg);box-shadow:0 25px 50px #0003}
.tour-object span{margin-top:21px;font-size:17px;font-weight:850}
.tour-stage>small{z-index:2;color:#ffffffa6;font-size:12px;position:absolute;bottom:20px}
.tour-copy{color:#fff;background:#0b1739;flex-direction:column;justify-content:center;padding:34px;display:flex}
.tour-copy>p{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:850}
.tour-copy h4{letter-spacing:-.04em;margin:11px 0;font-size:27px;font-weight:800}
.tour-copy>span{color:#ffffffa8;font-size:13px;line-height:1.65}
.tour-copy ul{gap:7px;margin:19px 0;padding:0;list-style:none;display:grid}
.tour-copy li{color:#ffffffd4;font-size:12px}
.tour-copy button{cursor:pointer;border:0;border-bottom:1px solid var(--cyan);color:var(--cyan);background:0 0;align-self:flex-start;padding:7px 0;font-size:12px;font-weight:800}
.tour-stops{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px;display:grid}
.tour-stops button{cursor:pointer;min-height:92px;color:var(--muted);background:#f7f9fd;border:1px solid #0b17391a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 6px;transition:transform .18s,background .18s;display:flex}
.tour-stops button:hover,.tour-stops button.active{color:var(--cobalt);background:#eaf0ff;transform:translateY(-3px)}
.tour-stops i{background:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:13px;font-style:normal;font-weight:850;display:grid}
.tour-stops span{text-align:center;font-size:12px;font-weight:750}
.finder-questions{gap:20px;display:grid}
.finder-questions fieldset{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}
.finder-questions legend{color:var(--ink);grid-column:1/-1;margin-bottom:9px;font-size:13px;font-weight:850}
.finder-questions label{cursor:pointer;background:#f9fafc;border:1px solid #0b17391f;border-radius:14px;grid-template-columns:1fr auto;align-items:center;min-height:66px;padding:11px;display:grid!important}
.finder-questions input{opacity:0;position:absolute}
.finder-questions label>span{color:var(--ink);font-size:12px;font-weight:750}
.finder-questions label i{color:var(--cobalt);font-style:normal;font-weight:900;display:none}
.finder-questions label.active{border-color:var(--cyan);background:#eafafb}
.finder-questions label.active i{display:block}
.finder-questions>button{justify-self:start}
.finder-result{color:#fff;background:radial-gradient(circle at 90% 10%,#20c7d959,#0000 28%),linear-gradient(145deg,#1747d1,#0b2e9e);position:sticky;top:125px;overflow:hidden}
.finder-spark{color:#ffd95f;background:#ffffff1f;border-radius:16px;place-items:center;width:48px;height:48px;font-size:22px;display:grid}
.finder-result>p{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin:24px 0 8px;font-size:12px;font-weight:850}
.finder-result h4{margin:0;font-size:23px;font-weight:800;line-height:1.2}
.finder-result>small{color:#ffffffa6;margin-top:12px;font-size:12px;line-height:1.6;display:block}
.finder-result>div{gap:8px;margin-top:21px;display:grid}
.finder-result>div span{background:#ffffff17;border:1px solid #ffffff24;border-radius:12px;justify-content:space-between;align-items:center;min-height:42px;padding:9px 12px;font-size:13px;font-weight:750;display:flex}
.finder-result>div i{color:var(--cyan);font-style:normal}
.finder-result>button{cursor:pointer;border:0;border-bottom:1px solid var(--cyan);color:var(--cyan);background:0 0;margin-top:18px;padding:6px 0;font-size:12px;font-weight:800}
.filter-row{flex-wrap:wrap;gap:7px;margin-top:32px;display:flex}
.filter-row button{cursor:pointer;min-height:34px;color:var(--muted);background:#fff;border:1px solid #0b17391f;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750}
.filter-row button.active{border-color:var(--cobalt);background:var(--cobalt);color:#fff}
.event-list{gap:10px;margin-top:18px;display:grid}
.event-list article{background:#fbfcff;border:1px solid #0b17391c;border-radius:19px;grid-template-columns:80px 1fr auto;align-items:center;gap:18px;min-height:112px;padding:14px 18px 14px 14px;display:grid}
.event-list time{width:70px;height:80px;color:var(--cobalt);background:#eaf0ff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;display:flex}
.event-list time strong{font-size:27px;line-height:1}
.event-list time span,.event-list time small{text-transform:uppercase;font-size:12px;font-weight:800}
.event-list article>div>span{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:850}
.event-list h4{margin:5px 0;font-size:15px;font-weight:800}
.event-list p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}
.event-list article>button{cursor:pointer;min-height:38px;color:var(--cobalt);background:#fff;border:1px solid #1747d133;border-radius:11px;padding:9px 12px;font-size:12px;font-weight:800}
.event-list article>button i{margin-left:6px;font-style:normal}
.living-gallery{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}
.living-gallery>button{cursor:pointer;min-height:320px;color:var(--ink);text-align:left;border:0;border-radius:22px;flex-direction:column;align-items:flex-start;padding:18px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}
.living-gallery>button:hover{transform:translateY(-5px);box-shadow:0 18px 36px #0b2e9e21}
.gallery-blue{background:linear-gradient(145deg,#e8efff,#cfdcff)}
.gallery-cyan{background:linear-gradient(145deg,#e5fbfc,#bfeff2)}
.gallery-navy{background:linear-gradient(145deg,#e9edfb,#c9d2f3)}
.gallery-gold{background:linear-gradient(145deg,#fff6d9,#f4dda0)}
.gallery-green{background:linear-gradient(145deg,#e9fbf4,#c3eadc)}
.gallery-purple{background:linear-gradient(145deg,#f0ebff,#d9cdf9)}
.gallery-index{color:#0b173959;font-size:12px;font-weight:900;position:absolute;top:15px;right:16px}
.living-gallery>button>div{background:#fff6;border:1px solid #ffffffa6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;height:130px;display:flex}
.living-gallery>button>div i{width:64px;height:64px;color:var(--cobalt);background:#ffffffb8;border-radius:20px;place-items:center;font-family:inherit;font-size:23px;font-style:normal;font-weight:850;display:grid;box-shadow:0 12px 25px #0b2e9e1a}
.living-gallery>button>div span{color:#0b173980;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:850}
.living-gallery>button>small{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;margin-top:17px;font-size:12px;font-weight:850}
.living-gallery>button>strong{margin-top:6px;font-size:15px}
.living-gallery>button>p{color:#4d5871;margin:7px 0 0;font-size:12px;line-height:1.5}
.living-gallery>button>b{color:var(--cobalt);margin-top:auto;font-size:12px}
.gallery-modal{z-index:400;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030b20b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}
.gallery-modal article{border-radius:28px;width:min(620px,100%);padding:55px;position:relative;box-shadow:0 30px 80px #00000047}
.gallery-modal article>button{cursor:pointer;background:#ffffffb3;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:21px;display:grid;position:absolute;top:17px;right:17px}
.gallery-modal article>div{align-items:center;gap:12px;display:flex}
.gallery-modal article>div i{width:68px;height:68px;color:var(--cobalt);background:#fff;border-radius:20px;place-items:center;font-family:inherit;font-size:26px;font-style:normal;font-weight:850;display:grid}
.gallery-modal article>div span{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:850}
.gallery-modal h4{letter-spacing:-.05em;margin:25px 0 9px;font-size:36px;font-weight:800}
.gallery-modal p{color:#455069;margin:0;font-size:13px;line-height:1.7}
.gallery-modal article>small{color:var(--muted);border-top:1px solid #0b17391a;margin-top:24px;padding-top:16px;font-size:12px;line-height:1.5;display:block}
.resource-grid{grid-template-columns:repeat(4,1fr);gap:11px;margin-top:37px;display:grid}
.resource-grid article{background:#fbfcff;border:1px solid #0b17391c;border-radius:20px;flex-direction:column;align-items:flex-start;min-height:280px;padding:20px;display:flex;position:relative}
.resource-grid article>span{color:#a3aaba;font-size:12px;font-weight:900;position:absolute;top:17px;right:17px}
.resource-grid article>i{width:51px;height:51px;color:var(--cobalt);background:#eaf0ff;border-radius:15px;place-items:center;font-size:22px;font-style:normal;display:grid}
.resource-grid small{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;margin-top:18px;font-size:12px;font-weight:850}
.resource-grid h4{margin:7px 0;font-size:15px;font-weight:800;line-height:1.25}
.resource-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}
.resource-grid button{cursor:pointer;width:100%;min-height:38px;color:var(--cobalt);background:#fff;border:1px solid #1747d12e;border-radius:11px;margin-top:auto;font-size:12px;font-weight:800}
.resource-grid button b{margin-left:8px}
.resource-note{background:#fff5d9;border-radius:17px;grid-template-columns:36px 1fr auto;align-items:center;gap:14px;min-height:75px;margin-top:14px;padding:14px 17px;display:grid}
.resource-note>span{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-family:inherit;font-size:17px;font-weight:800;display:grid}
.resource-note p{color:#5e5130;margin:0;font-size:12px;line-height:1.45}
.resource-note p strong{color:#3e3217;font-size:13px;display:block}
.resource-note button{cursor:pointer;color:#856300;background:0 0;border:0;border-bottom:1px solid #856300;padding:5px 0;font-size:12px;font-weight:800}
.visit-form>button{margin-top:21px}
.visit-aside{color:#fff;background:radial-gradient(circle at 85% 15%,#20c7d966,#0000 25%),#0b1739}
.visit-aside>span{width:52px;height:52px;color:var(--cyan);background:#20c7d926;border-radius:16px;place-items:center;font-size:23px;display:grid}
.visit-aside h4{margin:22px 0 4px;font-size:25px;font-weight:800}
.visit-aside>p{color:#fff9;margin:0;font-size:13px}
.visit-aside ul{gap:9px;margin:25px 0;padding:0;list-style:none;display:grid}
.visit-aside li{color:#ffffffc7;font-size:12px}
.visit-aside a{border-bottom:1px solid var(--cyan);color:var(--cyan);padding-bottom:5px;font-size:12px;font-weight:800;display:inline-block}
.visit-confirmation{background:#fbfcff;border:1px solid #1747d11f;border-radius:24px;min-height:390px;padding:28px}
.visit-confirmation>div{text-align:left;background:#eef2ff;border-radius:14px;grid-template-columns:1fr 1fr;gap:7px 14px;min-width:270px;margin-top:20px;padding:14px;display:grid}
.visit-confirmation>div small{color:var(--muted);font-size:12px}
.visit-confirmation>div strong{font-size:13px}
.visit-confirmation>button{cursor:pointer;border:0;border-bottom:1px solid var(--muted);color:var(--muted);background:0 0;margin-top:16px;font-size:12px;font-weight:750}
.story-stage{color:#fff;background:#0b1739;border-radius:26px;grid-template-columns:.75fr 1.25fr;margin-top:38px;display:grid;overflow:hidden;box-shadow:0 24px 55px #0b2e9e30}
.story-identity{background:radial-gradient(circle at 80% 10%,#20c7d961,#0000 30%),linear-gradient(145deg,#1747d1,#0b2e9e);flex-direction:column;justify-content:center;padding:40px;display:flex}
.story-identity>span{color:#ffd254;font-family:inherit;font-size:72px;line-height:.6}
.story-identity h4{margin:28px 0 7px;font-size:25px;font-weight:800}
.story-identity>p{color:#ffffffa8;margin:0;font-size:12px}
.story-identity>div{align-items:center;gap:12px;margin-top:35px;display:flex}
.story-identity button{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}
.story-identity small{font-size:12px;font-weight:800}
.story-steps{gap:20px;padding:42px;display:grid}
.story-steps section{border-bottom:1px solid #ffffff1f;grid-template-columns:42px 1fr;gap:15px;padding-bottom:20px;display:grid}
.story-steps section:last-child{border-bottom:0}
.story-steps section>span{width:39px;height:39px;color:var(--cyan);background:#20c7d91f;border-radius:12px;place-items:center;font-size:12px;font-weight:900;display:grid}
.story-steps small{color:var(--cyan);letter-spacing:.11em;text-transform:uppercase;font-size:12px;font-weight:850}
.story-steps p{color:#ffffffc7;margin:7px 0 0;font-size:13px;line-height:1.6}
.wa-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)}
.wa-builder{gap:15px;display:grid}
.wa-preview{color:#163c2c;background:#eaf8ef;position:sticky;top:125px}
.wa-preview>div{align-items:center;gap:11px;margin-bottom:24px;display:flex}
.wa-preview>div span{color:#fff;background:#0ba36a;border-radius:50%;place-items:center;width:46px;height:46px;font-size:13px;font-weight:900;display:grid}
.wa-preview>div small{color:#4e7766;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}
.wa-preview>p{background:#fff;border-radius:9px;margin:9px 0;padding:10px 12px;font-size:13px;line-height:1.55;box-shadow:0 5px 12px #0c55370f}
.wa-preview>a{color:#fff;background:#0ba36a;border-radius:13px;justify-content:center;align-items:center;min-height:47px;margin-top:22px;font-size:13px;font-weight:850;display:flex}
.wa-preview>a i{margin-left:7px;font-style:normal}
.admin-lock{text-align:center;background:#fbfcff;border:1px solid #1747d121;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;max-width:480px;min-height:390px;margin:38px auto 0;padding:35px;display:flex}
.admin-lock>span{width:67px;height:67px;color:var(--cobalt);background:#eaf0ff;border-radius:20px;place-items:center;font-size:28px;display:grid}
.admin-lock h4{margin:22px 0 7px;font-size:21px;font-weight:800}
.admin-lock>p{max-width:340px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}
.admin-lock label{text-align:left;width:min(260px,100%);margin-top:22px}
.admin-lock>button{width:min(260px,100%);margin-top:10px}
.admin-lock>small{color:#a93421;margin-top:10px;font-size:12px}
.admin-dashboard{margin-top:34px}
.admin-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}
.admin-stats article{background:#f9fafc;border:1px solid #0b17391a;border-radius:18px;flex-direction:column;justify-content:center;min-height:105px;padding:18px;display:flex}
.admin-stats span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}
.admin-stats strong{color:var(--cobalt);margin-top:7px;font-size:31px}
.admin-stats small{color:#939baa;font-size:12px}
.admin-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:13px;display:grid}
.admin-grid>section,.admin-grid>form{background:#fbfcff;border:1px solid #0b17391a;border-radius:19px;flex-direction:column;gap:11px;padding:20px;display:flex}
.admin-grid h4{margin:0 0 7px;font-size:15px}
.admin-grid>form>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}
.admin-grid button{cursor:pointer;background:var(--cobalt);color:#fff;border:0;border-radius:11px;align-self:flex-start;min-height:38px;padding:9px 13px;font-size:12px;font-weight:800}
.admin-records{grid-template-columns:1fr 1fr;gap:11px;margin-top:12px;display:grid}
.admin-records section{background:#fff;border:1px solid #0b17391a;border-radius:19px;padding:20px}
.admin-records h4{margin:0 0 13px;font-size:14px}
.admin-records section>p{color:var(--muted);margin:0;font-size:12px}
.admin-records section>div{border-top:1px solid #0b173914;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}
.admin-records section>div>span{flex-direction:column;display:flex}
.admin-records strong{font-size:12px}
.admin-records small{color:var(--muted);margin-top:3px;font-size:12px}
.admin-records i{color:#08778f;background:#eafafb;border-radius:999px;padding:6px 8px;font-size:12px;font-style:normal;font-weight:800}
.admin-records select{width:auto;min-width:112px;min-height:32px;color:var(--cobalt);background:#eef2ff;border:1px solid #1747d12e;border-radius:9px;padding:6px 8px;font-size:12px;font-weight:800}
.admin-footer{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}
.admin-footer button{cursor:pointer;min-height:38px;color:var(--ink);background:#fff;border:1px solid #0b17391f;border-radius:11px;padding:9px 12px;font-size:12px;font-weight:800}
.admin-footer button.danger{color:#a93421;border-color:#ba342138}
@media (width<=1180px){.portal-workspace{grid-template-columns:215px minmax(0,1fr)}
.portal-module{padding:38px 32px}
.resource-grid,.living-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (width<=960px){.portal-suite{padding-top:55px}
.portal-intro{grid-template-columns:1fr;gap:22px}
.portal-overview{grid-template-columns:repeat(2,1fr)}
.portal-workspace{display:block;overflow:visible}
.portal-tabs{z-index:20;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;flex-direction:row;padding:11px;display:flex;position:sticky;top:81px;overflow:auto hidden}
.portal-tabs button{width:175px;min-width:175px}
.admission-layout,.fee-layout,.finder-layout,.visit-layout,.wa-layout,.tour-layout,.story-stage{grid-template-columns:1fr}
.status-card,.finder-result,.wa-preview{position:static}
.tour-copy{min-height:300px}
.tour-stops{grid-template-columns:repeat(3,1fr)}
.admin-stats{grid-template-columns:repeat(2,1fr)}
}
@media (width<=680px){.portal-suite{padding:40px 0 75px}
.portal-announcement,.admissions-hub-announcement{grid-template-columns:auto 1fr;gap:14px;padding:14px}
.admissions-hub-announcement{margin:-4px 0 20px}
.portal-announcement button,.admissions-hub-announcement button{grid-column:2;justify-self:start;padding-left:0}
.portal-announcement>span,.admissions-hub-announcement>span{width:42px;height:42px;font-size:20px}
.portal-announcement p,.admissions-hub-announcement p{font-size:14px}
.portal-intro{margin-top:48px}
.portal-intro h2{font-size:43px}
.portal-intro>p{font-size:13px}
.portal-overview{grid-template-columns:1fr}
.portal-overview>button,.portal-overview>a{min-height:115px}
.portal-workspace{border-radius:24px;margin-left:-8px;margin-right:-8px}
.portal-tabs{top:71px}
.portal-tabs button{grid-template-columns:35px 1fr;width:154px;min-width:154px}
.portal-tabs button>i{width:34px;height:34px}
.portal-module{padding:30px 19px 40px}
.module-heading h3{font-size:36px}
.admission-layout,.fee-layout,.finder-layout,.visit-layout,.wa-layout{margin-top:27px}
.portal-form,.fee-options,.status-card,.finder-result,.visit-aside,.wa-builder,.wa-preview{padding:20px}
.field-grid,.fee-options,.toggle-list,.finder-questions fieldset,.resource-grid,.living-gallery,.admin-grid,.admin-records{grid-template-columns:1fr}
.fee-options>label,.toggle-list,.field-wide{grid-column:auto}
.form-actions{flex-direction:column;align-items:stretch}
.form-actions>div{grid-template-columns:1fr 1fr;display:grid}
.form-actions>div button:only-child{grid-column:1/-1}
.tour-stage{min-height:330px}
.tour-stops{grid-template-columns:repeat(2,1fr)}
.event-list article{grid-template-columns:68px 1fr}
.event-list article>button{grid-column:1/-1}
.resource-note{grid-template-columns:34px 1fr}
.resource-note button{grid-column:2;justify-self:start}
.gallery-modal article{padding:40px 25px 30px}
.gallery-modal h4{font-size:30px}
.story-identity,.story-steps{padding:30px 23px}
.admin-stats{grid-template-columns:repeat(2,1fr)}
.admin-grid>form>div{grid-template-columns:1fr}
.portal-announcement p,.portal-announcement button{font-size:14px;line-height:1.5}
.portal-overview span,.portal-tabs small,.module-heading>div p,.module-number,.portal-module label>span,.admin-grid label>span{font-size:13px}
.portal-overview strong,.portal-tabs strong{font-size:15px}
.portal-overview small,.module-heading>p,.event-list p,.living-gallery>button>p,.resource-grid p,.story-steps p,.visit-aside li,.wa-preview>p{font-size:14px;line-height:1.65}
.portal-module input,.portal-module select,.portal-module textarea,.admin-grid input,.admin-grid select,.admin-grid textarea{font-size:16px}
.portal-module button,.portal-module a,.button-primary,.button-muted,.text-action{font-size:14px}
.portal-tabs button{width:190px;min-width:190px}
.event-list h4,.resource-grid h4,.living-gallery>button>strong{font-size:17px}
}

/* v24.22 — Visual Mission Story Cards */
.mission-card {
  min-height: 250px;
}

.mission-card:first-child {
  min-height: 260px;
}

.mission-card > .mission-icon,
.mission-card > .mission-copy {
  z-index: 3;
  position: relative;
}

.mission-card::before {
  z-index: 4;
}

.mission-icon {
  font-family: inherit;
}

.mission-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mission-card:first-child .mission-icon svg {
  width: 31px;
  height: 31px;
}

.mission-card-media,
.mission-card-media picture,
.mission-card-media img,
.mission-card-shade,
.mission-card-glow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mission-card-media {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition: opacity .35s ease;
}

.mission-card-media img {
  display: block;
  object-fit: cover;
  object-position: var(--sri-focal-x, 50%) var(--sri-focal-y, 50%);
  transform: scale(1.015);
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

.mission-card-shade {
  z-index: 1;
  background:
    linear-gradient(180deg,
      rgb(3 14 42 / calc(var(--sri-strength, .80) - .08)) 0%,
      rgb(3 14 42 / calc(var(--sri-strength, .80) + .12)) 100%),
    linear-gradient(90deg, rgb(5 35 79 / .40), rgb(3 12 35 / .18));
}

.mission-card:first-child .mission-card-shade {
  background:
    linear-gradient(90deg,
      rgb(3 21 38 / calc(var(--sri-strength, .80) + .12)) 0%,
      rgb(4 38 51 / var(--sri-strength, .80)) 57%,
      rgb(3 20 38 / calc(var(--sri-strength, .80) - .18)) 100%),
    linear-gradient(0deg, rgb(2 13 31 / .55), transparent 70%);
}

.mission-card.sri-overlay-centre-vignette .mission-card-shade {
  background:
    radial-gradient(ellipse at center,
      rgb(3 16 47 / calc(var(--sri-strength, .80) - .05)) 0%,
      rgb(2 10 32 / calc(var(--sri-strength, .80) + .14)) 100%),
    linear-gradient(0deg, rgb(2 9 28 / .48), transparent 55%);
}

.mission-card.sri-overlay-brand-wash .mission-card-shade {
  background:
    linear-gradient(145deg,
      rgb(5 23 67 / calc(var(--sri-strength, .80) + .12)) 0%,
      rgb(36 25 88 / var(--sri-strength, .80)) 55%,
      rgb(6 80 91 / calc(var(--sri-strength, .80) - .05)) 100%);
}

.mission-card.sri-overlay-soft-black .mission-card-shade {
  background:
    linear-gradient(180deg,
      rgb(0 0 0 / calc(var(--sri-strength, .80) - .05)) 0%,
      rgb(0 0 0 / calc(var(--sri-strength, .80) + .14)) 100%);
}

.mission-card-glow {
  z-index: 2;
  opacity: .62;
  background:
    radial-gradient(circle at 90% 8%, rgb(34 217 212 / .26), transparent 30%),
    radial-gradient(circle at 8% 100%, rgb(244 190 60 / .18), transparent 34%);
  mix-blend-mode: screen;
}

.mission-card.has-mission-media {
  color: #fff;
  background: #07183f;
  border-color: rgb(255 255 255 / .22);
  box-shadow: 0 18px 42px rgb(4 18 52 / .18);
}

.mission-card.has-mission-media .mission-card-media {
  opacity: 1;
}

.mission-card.has-mission-media::after {
  z-index: 2;
  opacity: .10;
  border-color: #fff;
}

.mission-card.has-mission-media .mission-icon,
.mission-card:first-child.has-mission-media .mission-icon {
  color: #fff;
  background: rgb(7 24 63 / .60);
  border-color: rgb(255 255 255 / .42);
  box-shadow: inset 0 1px rgb(255 255 255 / .24), 0 12px 28px rgb(0 0 0 / .22);
  backdrop-filter: blur(10px);
}

.mission-card.has-mission-media .mission-copy > div > span,
.mission-card:first-child.has-mission-media .mission-copy > div > span {
  color: #7debf0;
  text-shadow: 0 2px 16px rgb(0 0 0 / .36);
}

.mission-card.has-mission-media .mission-copy h4,
.mission-card:first-child.has-mission-media .mission-copy h4 {
  color: #fff;
  text-shadow: 0 2px 22px rgb(0 0 0 / .42);
}

.mission-card.has-mission-media .mission-copy > p:not(.mission-result),
.mission-card:first-child.has-mission-media .mission-copy > p:not(.mission-result) {
  color: rgb(255 255 255 / .88);
  text-shadow: 0 2px 18px rgb(0 0 0 / .38);
}

.mission-card.has-mission-media .mission-result,
.mission-card:first-child.has-mission-media .mission-result {
  background: rgb(4 17 48 / .58);
  border-color: rgb(255 255 255 / .23);
  box-shadow: inset 0 1px rgb(255 255 255 / .10);
  backdrop-filter: blur(10px);
}

.mission-card.has-mission-media .mission-result span,
.mission-card:first-child.has-mission-media .mission-result span {
  color: #7debf0;
}

.mission-card.has-mission-media .mission-result strong,
.mission-card:first-child.has-mission-media .mission-result strong {
  color: #fff;
}

@media (hover:hover) {
  .mission-card.has-mission-media.sri-hero-motion:hover .mission-card-media img {
    transform: scale(1.075);
  }
}

@media (max-width: 680px) {
  .mission-card,
  .mission-card:first-child {
    min-height: 270px;
  }

  .mission-card-media img {
    object-position:
      var(--sri-mobile-focal-x, var(--sri-focal-x, 50%))
      var(--sri-mobile-focal-y, var(--sri-focal-y, 50%));
    transform: scale(1.015);
  }

  .mission-card:first-child .mission-card-shade {
    background:
      linear-gradient(180deg,
        rgb(3 18 40 / calc(var(--sri-strength, .80) - .02)) 0%,
        rgb(2 12 32 / calc(var(--sri-strength, .80) + .14)) 100%);
  }

  .mission-copy > div,
  .mission-copy > p {
    z-index: 3;
    position: relative;
  }

  .mission-card.has-mission-media.sri-hero-motion:hover .mission-card-media img {
    transform: scale(1.015);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mission-card,
  .mission-card-media,
  .mission-card-media img {
    transition: none;
  }

  .mission-card.has-mission-media.sri-hero-motion:hover .mission-card-media img {
    transform: scale(1.015);
  }
}

.admissions-action-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.sri-strength-55 { --sri-strength: .55; }
.sri-strength-60 { --sri-strength: .60; }
.sri-strength-65 { --sri-strength: .65; }
.sri-strength-70 { --sri-strength: .70; }
.sri-strength-75 { --sri-strength: .75; }
.sri-strength-80 { --sri-strength: .80; }
.sri-strength-85 { --sri-strength: .85; }
.sri-strength-90 { --sri-strength: .90; }

.sri-focal-x-0 { --sri-focal-x: 0%; }
.sri-focal-x-5 { --sri-focal-x: 5%; }
.sri-focal-x-10 { --sri-focal-x: 10%; }
.sri-focal-x-15 { --sri-focal-x: 15%; }
.sri-focal-x-20 { --sri-focal-x: 20%; }
.sri-focal-x-25 { --sri-focal-x: 25%; }
.sri-focal-x-30 { --sri-focal-x: 30%; }
.sri-focal-x-35 { --sri-focal-x: 35%; }
.sri-focal-x-40 { --sri-focal-x: 40%; }
.sri-focal-x-45 { --sri-focal-x: 45%; }
.sri-focal-x-50 { --sri-focal-x: 50%; }
.sri-focal-x-55 { --sri-focal-x: 55%; }
.sri-focal-x-60 { --sri-focal-x: 60%; }
.sri-focal-x-65 { --sri-focal-x: 65%; }
.sri-focal-x-70 { --sri-focal-x: 70%; }
.sri-focal-x-75 { --sri-focal-x: 75%; }
.sri-focal-x-80 { --sri-focal-x: 80%; }
.sri-focal-x-85 { --sri-focal-x: 85%; }
.sri-focal-x-90 { --sri-focal-x: 90%; }
.sri-focal-x-95 { --sri-focal-x: 95%; }
.sri-focal-x-100 { --sri-focal-x: 100%; }

.sri-focal-y-0 { --sri-focal-y: 0%; }
.sri-focal-y-5 { --sri-focal-y: 5%; }
.sri-focal-y-10 { --sri-focal-y: 10%; }
.sri-focal-y-15 { --sri-focal-y: 15%; }
.sri-focal-y-20 { --sri-focal-y: 20%; }
.sri-focal-y-25 { --sri-focal-y: 25%; }
.sri-focal-y-30 { --sri-focal-y: 30%; }
.sri-focal-y-35 { --sri-focal-y: 35%; }
.sri-focal-y-40 { --sri-focal-y: 40%; }
.sri-focal-y-45 { --sri-focal-y: 45%; }
.sri-focal-y-50 { --sri-focal-y: 50%; }
.sri-focal-y-55 { --sri-focal-y: 55%; }
.sri-focal-y-60 { --sri-focal-y: 60%; }
.sri-focal-y-65 { --sri-focal-y: 65%; }
.sri-focal-y-70 { --sri-focal-y: 70%; }
.sri-focal-y-75 { --sri-focal-y: 75%; }
.sri-focal-y-80 { --sri-focal-y: 80%; }
.sri-focal-y-85 { --sri-focal-y: 85%; }
.sri-focal-y-90 { --sri-focal-y: 90%; }
.sri-focal-y-95 { --sri-focal-y: 95%; }
.sri-focal-y-100 { --sri-focal-y: 100%; }

.sri-mobile-focal-x-0 { --sri-mobile-focal-x: 0%; }
.sri-mobile-focal-x-5 { --sri-mobile-focal-x: 5%; }
.sri-mobile-focal-x-10 { --sri-mobile-focal-x: 10%; }
.sri-mobile-focal-x-15 { --sri-mobile-focal-x: 15%; }
.sri-mobile-focal-x-20 { --sri-mobile-focal-x: 20%; }
.sri-mobile-focal-x-25 { --sri-mobile-focal-x: 25%; }
.sri-mobile-focal-x-30 { --sri-mobile-focal-x: 30%; }
.sri-mobile-focal-x-35 { --sri-mobile-focal-x: 35%; }
.sri-mobile-focal-x-40 { --sri-mobile-focal-x: 40%; }
.sri-mobile-focal-x-45 { --sri-mobile-focal-x: 45%; }
.sri-mobile-focal-x-50 { --sri-mobile-focal-x: 50%; }
.sri-mobile-focal-x-55 { --sri-mobile-focal-x: 55%; }
.sri-mobile-focal-x-60 { --sri-mobile-focal-x: 60%; }
.sri-mobile-focal-x-65 { --sri-mobile-focal-x: 65%; }
.sri-mobile-focal-x-70 { --sri-mobile-focal-x: 70%; }
.sri-mobile-focal-x-75 { --sri-mobile-focal-x: 75%; }
.sri-mobile-focal-x-80 { --sri-mobile-focal-x: 80%; }
.sri-mobile-focal-x-85 { --sri-mobile-focal-x: 85%; }
.sri-mobile-focal-x-90 { --sri-mobile-focal-x: 90%; }
.sri-mobile-focal-x-95 { --sri-mobile-focal-x: 95%; }
.sri-mobile-focal-x-100 { --sri-mobile-focal-x: 100%; }

.sri-mobile-focal-y-0 { --sri-mobile-focal-y: 0%; }
.sri-mobile-focal-y-5 { --sri-mobile-focal-y: 5%; }
.sri-mobile-focal-y-10 { --sri-mobile-focal-y: 10%; }
.sri-mobile-focal-y-15 { --sri-mobile-focal-y: 15%; }
.sri-mobile-focal-y-20 { --sri-mobile-focal-y: 20%; }
.sri-mobile-focal-y-25 { --sri-mobile-focal-y: 25%; }
.sri-mobile-focal-y-30 { --sri-mobile-focal-y: 30%; }
.sri-mobile-focal-y-35 { --sri-mobile-focal-y: 35%; }
.sri-mobile-focal-y-40 { --sri-mobile-focal-y: 40%; }
.sri-mobile-focal-y-45 { --sri-mobile-focal-y: 45%; }
.sri-mobile-focal-y-50 { --sri-mobile-focal-y: 50%; }
.sri-mobile-focal-y-55 { --sri-mobile-focal-y: 55%; }
.sri-mobile-focal-y-60 { --sri-mobile-focal-y: 60%; }
.sri-mobile-focal-y-65 { --sri-mobile-focal-y: 65%; }
.sri-mobile-focal-y-70 { --sri-mobile-focal-y: 70%; }
.sri-mobile-focal-y-75 { --sri-mobile-focal-y: 75%; }
.sri-mobile-focal-y-80 { --sri-mobile-focal-y: 80%; }
.sri-mobile-focal-y-85 { --sri-mobile-focal-y: 85%; }
.sri-mobile-focal-y-90 { --sri-mobile-focal-y: 90%; }
.sri-mobile-focal-y-95 { --sri-mobile-focal-y: 95%; }
.sri-mobile-focal-y-100 { --sri-mobile-focal-y: 100%; }

.admissions-action-card > * {
  position: relative;
  z-index: 2;
}

.admissions-action-media,
.admissions-action-media img,
.admissions-action-shade,
.admissions-action-glow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.admissions-action-media {
  z-index: 0;
}

.admissions-action-media img {
  display: block;
  object-fit: cover;
  object-position: var(--sri-focal-x, 50%) var(--sri-focal-y, 50%);
  transform: scale(1.01);
}

.admissions-action-shade {
  z-index: 1;
  background:
    linear-gradient(100deg,
      rgb(3 14 45 / calc(var(--sri-strength, .75) + .12)) 0%,
      rgb(4 22 64 / var(--sri-strength, .75)) 52%,
      rgb(5 28 76 / calc(var(--sri-strength, .75) - .26)) 100%),
    linear-gradient(0deg, rgb(3 12 39 / .28), transparent 58%);
}

.admissions-action-glow {
  z-index: 1;
  background:
    radial-gradient(circle at 82% 18%, rgb(28 211 205 / .18), transparent 30%),
    radial-gradient(circle at 14% 92%, rgb(242 184 75 / .12), transparent 34%);
  mix-blend-mode: screen;
}

.admissions-action-card.sri-overlay-centre-vignette .admissions-action-shade {
  background:
    radial-gradient(ellipse at center,
      rgb(3 15 47 / calc(var(--sri-strength, .75) - .12)) 0%,
      rgb(3 13 42 / var(--sri-strength, .75)) 72%,
      rgb(2 9 31 / .94) 100%),
    linear-gradient(0deg, rgb(2 10 34 / .34), transparent 58%);
}

.admissions-action-card.sri-overlay-brand-wash .admissions-action-shade {
  background:
    linear-gradient(110deg,
      rgb(5 23 67 / calc(var(--sri-strength, .75) + .13)) 0%,
      rgb(11 61 117 / var(--sri-strength, .75)) 52%,
      rgb(8 112 115 / calc(var(--sri-strength, .75) - .24)) 100%),
    linear-gradient(0deg, rgb(3 12 38 / .30), transparent 60%);
}

.admissions-action-card.sri-overlay-soft-black .admissions-action-shade {
  background:
    linear-gradient(90deg,
      rgb(0 0 0 / calc(var(--sri-strength, .75) + .10)) 0%,
      rgb(0 0 0 / var(--sri-strength, .75)) 48%,
      rgb(0 0 0 / calc(var(--sri-strength, .75) - .28)) 100%),
    linear-gradient(0deg, rgb(0 0 0 / .34), transparent 58%);
}

.admissions-action-card.has-sri-admission-media {
  color: #fff;
  border-color: #ffffff2b;
  box-shadow: 0 24px 56px rgb(8 22 59 / .18);
}

.admissions-action-card.has-sri-admission-media .admissions-action-number,
.admissions-action-card.has-sri-admission-media .admissions-action-icon,
.admissions-action-card.has-sri-admission-media > p,
.admissions-action-card.has-sri-admission-media h3,
.admissions-action-card.has-sri-admission-media h3 + p {
  color: #fff;
}

.admissions-action-card.has-sri-admission-media > p {
  color: #c9f8ff;
}

.admissions-action-card.has-sri-admission-media h3 + p {
  color: rgb(255 255 255 / .84);
}

.admissions-action-card.has-sri-admission-media .admissions-action-number {
  opacity: .92;
}

.admissions-action-card.has-sri-admission-media .admissions-action-icon {
  background: rgb(255 255 255 / .17);
  border-color: rgb(255 255 255 / .45);
  box-shadow: inset 0 1px rgb(255 255 255 / .38);
}

.admissions-action-card.has-sri-admission-media a {
  background: #fff;
  color: #0b2e9e;
  box-shadow: 0 14px 30px rgb(2 17 51 / .15);
}

@media (max-width: 680px) {
  .admissions-action-media img {
    object-position:
      var(--sri-mobile-focal-x, var(--sri-focal-x, 50%))
      var(--sri-mobile-focal-y, var(--sri-focal-y, 50%));
  }

  .admissions-action-shade,
  .admissions-action-card.sri-overlay-brand-wash .admissions-action-shade,
  .admissions-action-card.sri-overlay-soft-black .admissions-action-shade {
    background:
      linear-gradient(180deg,
        rgb(3 14 45 / calc(var(--sri-strength, .75) - .08)) 0%,
        rgb(3 14 45 / calc(var(--sri-strength, .75) + .12)) 100%),
      linear-gradient(0deg, rgb(2 9 31 / .38), transparent 52%);
  }
}
