/* =====================================================================
   UIPS Maroon front-site theme
   Loaded after the inherited stylesheet, so everything here is prefixed
   with .uips- to avoid touching the inner CMS / admission form styles.
   ===================================================================== */

@font-face{font-family:'Quicksand';font-weight:300;font-style:normal;font-display:swap;src:url('../fonts/uips/quicksand-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/uips/quicksand-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/uips/quicksand-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/uips/quicksand-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/uips/quicksand-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/uips/plus-jakarta-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/uips/plus-jakarta-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/uips/plus-jakarta-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/uips/plus-jakarta-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:800;font-style:normal;font-display:swap;src:url('../fonts/uips/plus-jakarta-sans-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Caveat';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/uips/caveat-latin-700-normal.woff2') format('woff2')}

:root{
  --mr-950:#06164f;
  --mr-900:#0a2275;
  --mr-800:#0d2f9e;
  --mr-700:#1747d6;   /* primary maroon */
  --mr-600:#1d57f0;
  --mr-500:#2f6bff;
  --mr-300:#a9c4ff;
  --mr-100:#e3ecff;
  --mr-50:#f3f7ff;
  --ink:#0f1a3a;
  --muted:#55607d;
  --teal:#14a38b;
  --amber:#f08c1a;
  --violet:#7c3aad;
  --page:#f3f7ff;
  --radius:18px;
  --font:'Quicksand','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
}

/* ------------------------------------------------------------ base */
body.uips-body{
  position:relative;
  font-family:var(--font);
  color:var(--ink);
  background:var(--page);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.uips-body h1,.uips-body h2,.uips-body h3,.uips-body h4{font-family:var(--font)}
.uips-body a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.uips-body :focus-visible{outline:3px solid var(--mr-500);outline-offset:3px;border-radius:6px}
.uips-wrap{width:100%;max-width:1220px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}

/* page-wide soft bubbles (the airy backdrop from the reference) */
.uips-bubbles{position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:-1;pointer-events:none}
.uips-bubbles i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(47,107,255,.16) 60%,rgba(47,107,255,.05));filter:blur(2px)}
.uips-bubbles i:nth-child(1){width:150px;height:150px;left:-50px;top:46%}
.uips-bubbles i:nth-child(2){width:90px;height:90px;right:6%;top:58%}
.uips-bubbles i:nth-child(3){width:210px;height:210px;right:-80px;top:70%}
.uips-bubbles i:nth-child(4){width:70px;height:70px;left:5%;top:88%}

/* ------------------------------------------------------------ buttons / icons */
.uips-btn{display:inline-flex;align-items:center;gap:10px;font:600 14.5px/1 var(--font);padding:15px 26px;border-radius:999px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap}
.uips-btn i{font-size:14px}
.uips-btn--solid{background:linear-gradient(135deg,#2f6bff 0%,#1747d6 100%);color:#fff;box-shadow:0 10px 24px -10px rgba(47,107,255,.8)}
.uips-btn--solid:hover,.uips-btn--solid:focus{background:linear-gradient(135deg,#5a8cff 0%,#1d57f0 100%);color:#fff;transform:translateY(-1px)}
.uips-btn--ghost{background:rgba(0,0,0,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:rgba(255,255,255,.7);color:#fff}
.uips-btn--ghost:hover,.uips-btn--ghost:focus{background:#fff;color:var(--mr-700)}
.uips-btn--sm{padding:13px 22px;font-size:13.5px}
.uips-play{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--mr-700);font-size:9px}
.uips-play i{font-size:9px;margin-left:2px}

.uips-ico{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;font-size:18px}
.uips-ico--lg{width:54px;height:54px;border-radius:50%;font-size:21px}
.uips-ico--maroon{background:linear-gradient(135deg,#2f6bff,#1747d6);color:#fff}
.uips-ico--teal{background:var(--teal);color:#fff}
.uips-ico--amber{background:var(--amber);color:#fff}
.uips-ico--violet{background:var(--violet);color:#fff}
.uips-ico--soft-maroon{background:var(--mr-100);color:var(--mr-700)}
.uips-ico--soft-teal{background:#d8f2ed;color:#0e8a75}
.uips-ico--soft-amber{background:#fdebd1;color:#c26907}
.uips-ico--soft-violet{background:#eadff5;color:#6a2b95}

/* ------------------------------------------------------------ header */
.uips-header{position:absolute;top:18px;left:0;right:0;z-index:60}
.uips-header.is-stuck{position:fixed;top:10px;animation:uipsDrop .25s ease-out}
@keyframes uipsDrop{from{transform:translateY(-12px);opacity:.6}to{transform:none;opacity:1}}
.uips-header .uips-wrap{max-width:1360px}
.uips-header__bar{display:flex;align-items:center;gap:18px;position:relative}
.uips-header.is-stuck .uips-header__bar{background:rgba(6,22,79,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:8px 14px;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}

.uips-brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#fff;flex:none}
.uips-brand:hover{color:#fff}
.uips-brand__seal{width:62px;height:62px;display:block;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.uips-brand__text{display:flex;flex-direction:column;line-height:1.2}
.uips-brand__name{font-weight:800;font-size:16px;letter-spacing:-.01em;max-width:200px}
.uips-brand__tag{font-size:12.5px;color:rgba(255,255,255,.72);margin-top:3px}

.uips-nav{flex:1 1 0;display:flex;justify-content:center;min-width:0}
.uips-nav__list{display:flex;align-items:center;gap:2px;margin:0;padding:6px;list-style:none;background:rgba(255,255,255,.1);border:0;border-radius:10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.uips-nav__list>li{position:relative}
.uips-nav__list>li>a{display:flex;align-items:center;gap:6px;padding:11px 12px;border-radius:8px;color:#fff;font:500 13.5px/1 var(--font);text-decoration:none;white-space:nowrap}
.uips-nav__list>li>a:hover,.uips-nav__list>li:focus-within>a{background:rgba(255,255,255,.14);color:#fff}
.uips-nav__list>li.is-active>a{background:linear-gradient(135deg,#2f6bff,#1747d6);color:#fff}
.uips-nav__list .fa-angle-down{font-size:13px;opacity:.8}
.uips-nav__sub{position:absolute;left:0;top:calc(100% + 8px);min-width:230px;margin:0;padding:8px;list-style:none;background:#fff;border-radius:10px;box-shadow:0 24px 50px -18px rgba(6,22,79,.55);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.uips-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.uips-nav__list>li.has-sub:hover>.uips-nav__sub,.uips-nav__list>li.has-sub:focus-within>.uips-nav__sub,.uips-nav__list>li.is-open>.uips-nav__sub{opacity:1;visibility:visible;transform:none}
.uips-nav__sub a{display:block;padding:10px 14px;border-radius:8px;color:var(--ink);font:500 14px/1.3 var(--font);text-decoration:none}
.uips-nav__sub a:hover{background:var(--mr-100);color:var(--mr-700)}

.uips-actions{display:flex;align-items:center;gap:12px;flex:none}
.uips-actions .uips-btn{padding:14px 22px;font-size:14px}
.uips-icon-btn{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:16px;text-decoration:none}
.uips-icon-btn:hover,.uips-icon-btn:focus{background:#fff;color:var(--mr-700)}
.uips-icon-btn__count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--amber);color:#fff;font:700 11px/18px var(--font);text-align:center}
.uips-currency{height:46px;border-radius:23px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;padding:0 12px}
.uips-currency option{color:#000}
.uips-burger{display:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);cursor:pointer;padding:0;position:relative}
.uips-burger span{position:absolute;left:14px;right:14px;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.uips-burger span:nth-child(1){top:16px}.uips-burger span:nth-child(2){top:22px}.uips-burger span:nth-child(3){top:28px}
.uips-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.uips-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.uips-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.uips-login{position:relative}
.uips-login__btn{padding:14px 22px}
.uips-login__btn .fa-angle-down{font-size:15px;transition:transform .2s ease}
.uips-login.is-open .fa-angle-down{transform:rotate(180deg)}
.uips-login__menu{position:absolute;right:0;top:calc(100% + 10px);width:290px;margin:0;padding:8px;list-style:none;background:#fff;border-radius:10px;box-shadow:0 24px 50px -18px rgba(6,22,79,.6);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:80}
.uips-login__menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.uips-login:hover .uips-login__menu,.uips-login:focus-within .uips-login__menu,.uips-login.is-open .uips-login__menu{opacity:1;visibility:visible;transform:none}
.uips-login__menu a{display:flex;align-items:center;gap:14px;padding:12px;border-radius:8px;color:var(--ink);text-decoration:none}
.uips-login__menu a:hover,.uips-login__menu a:focus{background:var(--mr-100);color:var(--ink)}
.uips-login__menu .uips-ico{width:40px;height:40px;border-radius:10px;font-size:16px}
.uips-login__menu strong{display:block;font-size:14px;font-weight:700}
.uips-login__menu em{display:block;margin-top:2px;font-style:normal;font-size:12.5px;color:var(--muted)}

/* ------------------------------------------------------------ hero */
.uips-hero{position:relative;overflow:hidden;padding:168px 0 230px;color:#fff;background:radial-gradient(120% 110% at 0% 0%,#1747d6 0%,#0e34a8 42%,#06164f 100%)}
.uips-hero__media{position:absolute;inset:0}
.uips-hero__media img{width:100%;height:100%;object-fit:cover;object-position:25% 30%}
.uips-hero__media::after{content:"";position:absolute;inset:0;background:rgba(6,22,79,.46)}
.uips-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(to bottom,rgba(253,245,246,0),var(--page) 92%);pointer-events:none}
.uips-hero__bubbles i,.uips-pagehero__bubbles i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(150,190,255,.28),rgba(150,190,255,.04) 68%);border:1px solid rgba(150,190,255,.12)}
.uips-hero__bubbles i:nth-child(1){width:130px;height:130px;left:-40px;top:230px}
.uips-hero__bubbles i:nth-child(4){width:150px;height:150px;right:-50px;top:120px}
.uips-hero__bubbles i:nth-child(5){width:44px;height:44px;right:8%;top:62%}
.uips-hero__inner{position:relative;z-index:2}
.uips-hero__copy{max-width:600px;text-shadow:0 1px 16px rgba(0,0,0,.55)}
.uips-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:13.5px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.uips-hero__title{margin:26px 0 22px;font-weight:800;font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.05;letter-spacing:-.025em;word-spacing:.06em;color:#fff}
.uips-accent{color:#8fb8ff}
.uips-hero__text{max-width:500px;margin:0 0 32px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.88)}
.uips-hero__cta{display:flex;flex-wrap:wrap;gap:16px}
.uips-hero__script{position:absolute;right:24px;top:36%;z-index:2;transform:rotate(-7deg);font:700 clamp(1.7rem,3vw,2.5rem)/1.05 'Caveat',cursive;color:#fff;text-shadow:0 2px 14px rgba(6,22,79,.6)}
.uips-hero__script span{display:block}
.uips-hero__script svg{display:block;width:150px;height:14px;margin:6px 0 0 24px;color:#fff}

/* ------------------------------------------------------------ feature cards */
.uips-features{position:relative;z-index:5;margin-top:-150px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.uips-feature{display:flex;align-items:center;gap:16px;position:relative;padding:22px 44px 22px 20px;border-radius:var(--radius);background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 22px 44px -26px rgba(10,34,117,.55);color:var(--ink);text-decoration:none}
.uips-feature:hover,.uips-feature:focus{color:var(--ink);transform:translateY(-3px);box-shadow:0 28px 50px -24px rgba(10,34,117,.6)}
.uips-feature__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.uips-feature__body strong{font-size:15px;font-weight:700;color:var(--ink)}
.uips-feature__body span{font-size:13px;line-height:1.45;color:var(--muted)}
.uips-feature__go{position:absolute;right:18px;bottom:20px;color:var(--mr-700);font-size:15px}

/* ------------------------------------------------------------ about */
.uips-about{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.02fr) minmax(0,.66fr);gap:46px;align-items:center;padding-top:76px;padding-bottom:72px}
.uips-about__photo{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:0 26px 50px -28px rgba(10,34,117,.6);aspect-ratio:2/1.02;background:var(--mr-100)}
.uips-about__photo img{width:100%;height:100%;object-fit:cover;display:block}
.uips-about__photo figcaption{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;background:rgba(6,22,79,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:13px;font-weight:500}
.uips-about__photo figcaption i{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mr-600);font-size:15px}
.uips-eyebrow{margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mr-700)}
.uips-h2{margin:0 0 16px;font-weight:800;font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.1;letter-spacing:-.015em;word-spacing:.1em;color:var(--ink)}
.uips-h2--sm{font-size:clamp(1.5rem,2.2vw,1.9rem);margin:0}
.uips-accent-dark{color:var(--mr-700)}
.uips-about__text{max-width:430px;margin:0 0 24px;font-size:15px;line-height:1.75;color:var(--muted)}
.uips-stats{margin:0;padding:6px 0 6px 38px;list-style:none;border-left:1px solid rgba(23,71,214,.16)}
.uips-stats li{display:flex;align-items:center;gap:16px;padding:13px 0}
.uips-stats li+li{border-top:1px solid rgba(23,71,214,.1)}
.uips-stats strong{display:block;font-size:22px;font-weight:800;line-height:1.1;color:var(--ink)}
.uips-stats em{display:block;margin-top:3px;font-style:normal;font-size:13px;color:var(--muted)}

/* ------------------------------------------------------------ programs + notices */
.uips-duo{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:26px;padding-bottom:30px}
.uips-panel{padding:28px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(23,71,214,.08);box-shadow:0 30px 60px -40px rgba(10,34,117,.45)}
.uips-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.uips-h2--icon{display:flex;align-items:center;gap:12px}
.uips-h2--icon i{color:var(--mr-700)}
.uips-link{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--mr-700);text-decoration:none;white-space:nowrap}
.uips-link:hover{color:var(--mr-500)}
.uips-programs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.uips-program{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid rgba(23,71,214,.07)}
.uips-program strong{display:block;font-size:15.5px;font-weight:700}
.uips-program em{display:block;margin-top:3px;font-style:normal;font-size:13.5px;color:var(--muted)}
.uips-notice-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.uips-notice{display:block;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid rgba(23,71,214,.07);color:var(--ink);text-decoration:none}
.uips-notice:hover{color:var(--ink);border-color:rgba(23,71,214,.3);transform:translateX(2px)}
.uips-notice__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--muted)}
.uips-tag{padding:4px 12px;border-radius:999px;background:var(--mr-100);color:var(--mr-700);font-weight:600}
.uips-notice strong{display:block;font-size:14.5px;line-height:1.4}
.uips-notice__text{display:block;margin-top:6px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.uips-empty{display:flex;align-items:center;gap:16px;padding:20px;border-radius:16px;background:#fff;border:1px dashed rgba(23,71,214,.28)}
.uips-empty p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.uips-empty strong{display:block;margin-bottom:2px;font-size:14.5px;color:var(--ink)}
.uips-cms{padding-top:40px;padding-bottom:20px}

/* ------------------------------------------------------------ footer */
.uips-footer{margin-top:70px;padding-top:60px;color:rgba(255,255,255,.78);background:linear-gradient(180deg,#0e34a8 0%,#06164f 100%);border-radius:40px 40px 0 0}
.uips-footer__grid{display:grid;grid-template-columns:1.3fr .8fr 1.4fr;gap:48px;padding-bottom:44px}
.uips-footer__title{margin:0 0 18px;font-size:15px;font-weight:700;color:#fff}
.uips-footer__links,.uips-footer__contact{margin:0;padding:0;list-style:none;display:grid;gap:11px;font-size:14px}
.uips-footer a{color:rgba(255,255,255,.82);text-decoration:none}
.uips-footer a:hover{color:#fff;text-decoration:underline}
.uips-footer .uips-brand,.uips-footer .uips-brand:hover{color:#fff;text-decoration:none}
.uips-footer__contact li{display:flex;gap:14px;line-height:1.55}
.uips-footer__contact i{flex:none;width:18px;margin-top:3px;color:var(--mr-300);text-align:center}
.uips-social{display:flex;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.uips-social a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}
.uips-social a:hover{background:#fff;color:var(--mr-700);text-decoration:none}
.uips-footer__base{padding:22px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;text-align:center}
.uips-footer__base p{margin:0}
.uips-cookie{z-index:90}

/* ------------------------------------------------------------ inner pages */
.uips-pagehero{position:relative;overflow:hidden;padding:150px 0 54px;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#1747d6 0%,#0e34a8 45%,#06164f 100%)}
.uips-pagehero__bubbles i:nth-child(1){width:120px;height:120px;right:8%;top:40px}
.uips-pagehero__bubbles i:nth-child(2){width:50px;height:50px;right:24%;bottom:30px}
.uips-pagehero .uips-wrap{position:relative}
.uips-pagehero__title{margin:0 0 12px;font-weight:800;font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:-.02em;color:#fff}
.uips-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-size:13.5px;color:rgba(255,255,255,.75)}
.uips-crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.uips-crumbs a{color:#fff;text-decoration:none}
.uips-crumbs a:hover{text-decoration:underline}
.uips-inner{padding-top:46px;padding-bottom:20px;min-height:320px}

/* inherited CMS content: align fonts and links with the new look */
.uips-inner,.uips-inner p,.uips-inner li,.uips-inner td,.uips-inner label,.uips-inner input,.uips-inner select,.uips-inner textarea{font-family:var(--font)}
.uips-inner a{color:var(--mr-700)}
.uips-inner a:hover{color:var(--mr-500)}
.uips-inner .btn-primary,.uips-inner .btn-success{background:var(--mr-600);border-color:var(--mr-700);color:#fff}
.uips-inner .btn-primary:hover,.uips-inner .btn-success:hover{background:var(--mr-500);border-color:var(--mr-600)}
.uips-inner .form-control:focus{border-color:var(--mr-600);box-shadow:0 0 0 3px rgba(47,107,255,.15)}

/* ------------------------------------------------------------ responsive */
@media (max-width:1340px){
  .uips-burger{display:inline-block}
  .uips-nav{position:absolute;top:calc(100% + 12px);left:24px;right:24px;display:none;z-index:70}
  .uips-nav.is-open{display:block}
  .uips-nav__list{flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:rgba(6,22,79,.97);border-radius:10px;max-height:70vh;overflow:auto}
  .uips-nav__list>li>a{justify-content:space-between;padding:14px 16px}
  .uips-nav__sub{position:static;opacity:1;visibility:visible;transform:none;display:none;background:rgba(255,255,255,.06);box-shadow:none;margin:2px 0 6px}
  .uips-nav__sub a{color:rgba(255,255,255,.88)}
  .uips-nav__sub a:hover{background:rgba(255,255,255,.12);color:#fff}
  .uips-nav__list>li.is-open>.uips-nav__sub{display:block}
  .uips-nav__list>li.has-sub:hover>.uips-nav__sub{display:none}
  .uips-nav__list>li.has-sub.is-open:hover>.uips-nav__sub{display:block}
  .uips-header__bar{justify-content:space-between}
  .uips-actions{margin-left:auto}
}
@media (max-width:1000px){
  .uips-features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uips-about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px}
  .uips-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;padding:0;border-left:0;border-top:1px solid rgba(23,71,214,.16)}
  .uips-stats li+li{border-top:0}
  .uips-duo{grid-template-columns:1fr}
  .uips-footer__grid{grid-template-columns:1fr 1fr;gap:36px}
  .uips-footer__brand{grid-column:1/-1}
  .uips-hero__script{display:none}
}
@media (max-width:700px){
  .uips-wrap{padding-left:18px;padding-right:18px}
  .uips-hero{padding:140px 0 210px}
  .uips-login__btn{padding:11px 14px;font-size:13.5px}
  .uips-login__btn .fa-angle-down{display:none}
  .uips-login__menu{width:262px}
  .uips-brand__seal{width:50px;height:50px}
  .uips-brand{gap:10px}
  .uips-brand__name{font-size:13px;max-width:125px}
  .uips-brand__tag{font-size:11.5px}
  .uips-header__bar{gap:8px}
  .uips-actions{gap:8px}
  .uips-burger,.uips-icon-btn{width:42px;height:42px}
  .uips-burger span{left:12px;right:12px}
  .uips-burger span:nth-child(1){top:14px}.uips-burger span:nth-child(2){top:20px}.uips-burger span:nth-child(3){top:26px}
  .uips-features{grid-template-columns:1fr;margin-top:-130px}
  .uips-about{grid-template-columns:1fr}
  .uips-programs__grid{grid-template-columns:1fr}
  .uips-footer{border-radius:28px 28px 0 0}
  .uips-footer__grid{grid-template-columns:1fr}
  .uips-panel{padding:20px}
  .uips-panel__head{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .uips-header.is-stuck{animation:none}
  .uips-body *{transition:none!important}
}
@media (max-width:400px){
  .uips-brand__seal{width:42px;height:42px}
  .uips-brand__name{font-size:12.5px;max-width:100px}
  .uips-login__btn{padding:10px 12px}
}

/* ------------------------------------------------------------ banner carousel */
.uips-banner{padding-top:72px}
.uips-carousel{position:relative;border-radius:20px;overflow:hidden;background:var(--mr-100);box-shadow:0 26px 50px -28px rgba(0,0,0,.5);touch-action:pan-y}
.uips-carousel__viewport{overflow:hidden}
.uips-carousel__track{display:flex;transition:transform .7s cubic-bezier(.65,0,.25,1);will-change:transform}
.uips-carousel__track.is-jump{transition:none}
.uips-carousel__slide{flex:0 0 100%;height:clamp(190px,30vw,400px);background:#fff}
.uips-carousel__slide img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.uips-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:var(--mr-700);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);display:grid;place-items:center;padding:0 0 2px}
.uips-carousel__nav:hover,.uips-carousel__nav:focus-visible{background:var(--mr-700);color:#fff}
.uips-carousel__nav--prev{left:16px}
.uips-carousel__nav--next{right:16px}
.uips-carousel__dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px}
.uips-carousel__dots button{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(0,0,0,.18);cursor:pointer;transition:width .25s ease,background-color .25s ease}
.uips-carousel__dots button.is-active{width:28px;background:var(--mr-600)}
@media (max-width:700px){
  .uips-banner{padding-top:48px}
  .uips-carousel__nav{width:38px;height:38px;font-size:22px}
  .uips-carousel__nav--prev{left:8px}.uips-carousel__nav--next{right:8px}
}


/* =====================================================================
   LIGHT VARIANT (white header, sky hero with the school photo)
   Everything below overrides the shared rules above.
   ===================================================================== */
:root{
  --navy:#0b2d78;
  --navy-d:#061a4a;
  --red:#b0123b;
  --red-d:#8f0f30;
  --ink:#0b2252;
  --muted:#4d5d7a;
  --page:#f5f9ff;
}
.uips-wrap{max-width:1600px;padding-left:clamp(20px,3.9vw,70px);padding-right:clamp(20px,3.9vw,70px)}
.uips-bubbles i{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(47,107,255,.14) 60%,rgba(47,107,255,.04))}

/* header: solid white bar */
.uips-header,.uips-header.is-stuck{position:sticky;top:0;left:auto;right:auto;animation:none;display:flow-root}
.uips-header{background:#fff;box-shadow:0 10px 30px -24px rgba(11,45,120,.6);transition:background-color .3s ease,box-shadow .3s ease}
/* FLOATING HEADER (try-out): after scrolling, the white bar detaches into a floating rounded card.
   To switch it off, delete this block up to the "end floating header" comment. */
.uips-header.is-stuck{background:transparent;box-shadow:none;pointer-events:none}
.uips-header .uips-wrap{max-width:none}
.uips-header__bar{gap:clamp(14px,1.6vw,28px);padding:12px clamp(20px,3.9vw,70px);background:transparent;border:1px solid transparent;border-radius:0;box-shadow:none;transition:margin .3s ease,padding .3s ease,border-radius .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease}
.uips-header.is-stuck .uips-header__bar{pointer-events:auto;width:auto;max-width:none;margin:10px clamp(12px,2.2vw,40px) 0;padding:8px clamp(16px,1.8vw,30px);background:rgba(255,255,255,.97);border-color:#e3eafb;border-radius:18px;box-shadow:0 20px 46px -16px rgba(11,45,120,.5),0 2px 6px rgba(11,45,120,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.uips-header.is-stuck .uips-brand__seal{width:clamp(44px,3.6vw,62px);height:clamp(44px,3.6vw,62px)}
.uips-header.is-stuck .uips-brand__tag{display:none}
/* end floating header */
.uips-brand,.uips-brand:hover{color:var(--navy)}
.uips-brand__seal{width:clamp(54px,5.2vw,94px);height:clamp(54px,5.2vw,94px);filter:none;transition:width .3s ease,height .3s ease}
.uips-brand__name,.uips-header .uips-brand__name{color:var(--navy);font-size:clamp(15px,1.3vw,23px);line-height:1.15;max-width:11.5em;font-weight:800;letter-spacing:-.005em}
.uips-brand__tag{color:#5b6b88;font-size:clamp(12px,.95vw,16px)}
.uips-nav__list,.uips-header.is-stuck .uips-nav__list{background:transparent;padding:0;border-radius:0;gap:2px;-webkit-backdrop-filter:none;backdrop-filter:none}
.uips-nav__list>li>a{color:var(--navy);font-weight:600;font-size:clamp(13px,.98vw,16px);padding:13px clamp(6px,.66vw,18px);border-radius:8px}
.uips-nav__list>li>a:hover,.uips-nav__list>li:focus-within>a{background:#eaf0ff;color:var(--navy)}
.uips-nav__list>li.is-active>a{background:var(--navy);color:#fff}
.uips-nav__list .fa-angle-down{opacity:1}
.uips-nav__sub{box-shadow:0 24px 50px -20px rgba(11,45,120,.45);border:1px solid #e3eafb}
.uips-nav__sub a:hover{background:#eaf0ff;color:var(--navy)}
.uips-login .uips-login__btn{background:var(--navy);box-shadow:none;padding:15px 26px;font-size:15.5px}
.uips-login .uips-login__btn:hover,.uips-login .uips-login__btn:focus,.uips-login.is-open .uips-login__btn{background:#123c9a}
.uips-icon-btn{background:#eaf0ff;border-color:#d6e0fb;color:var(--navy)}
.uips-icon-btn:hover,.uips-icon-btn:focus{background:var(--navy);color:#fff}
.uips-currency{background:#eaf0ff;border-color:#d6e0fb;color:var(--navy)}
.uips-burger{background:#fff;border-color:#cfdaf5}
.uips-burger span{background:var(--navy)}
.uips-login__menu a:hover,.uips-login__menu a:focus{background:#eaf0ff}

/* buttons: crimson primary, navy outline */
.uips-btn{font-size:16px;padding:17px 32px}
.uips-btn--solid{background:var(--red);box-shadow:0 12px 26px -14px rgba(176,18,59,.9)}
.uips-btn--solid:hover,.uips-btn--solid:focus{background:var(--red-d)}
.uips-btn--ghost{background:#fff;border:1.5px solid var(--navy);color:var(--navy);-webkit-backdrop-filter:none;backdrop-filter:none}
.uips-btn--ghost:hover,.uips-btn--ghost:focus{background:var(--navy);color:#fff}
.uips-btn--sm{font-size:14.5px;padding:14px 26px}
.uips-play{background:var(--navy);color:#fff}
.uips-actions .uips-btn{padding:15px 26px}

/* hero */
.uips-hero{padding:0;min-height:clamp(450px,37vw,680px);color:var(--navy);background:linear-gradient(90deg,#f7fbff 0%,#eaf4ff 34%,#cfe6ff 100%)}
.uips-hero__media{inset:auto;top:0;right:0;bottom:0;width:58%;-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.55) 12%,#000 30%),linear-gradient(to bottom,#000 74%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.55) 12%,#000 30%),linear-gradient(to bottom,#000 74%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.uips-hero__media img{object-position:2% 62%}
.uips-hero__media::after,.uips-hero__bubbles,.uips-hero__script{display:none}
.uips-hero__inner{padding-top:clamp(34px,4.6vw,84px);padding-bottom:clamp(96px,9.6vw,160px);z-index:3}
.uips-hero__cta .uips-btn{font-size:clamp(15px,1.12vw,19px);padding:clamp(15px,1.15vw,20px) clamp(24px,2vw,36px)}
.uips-hero__copy{max-width:52%;text-shadow:none}
.uips-hero__eyebrow{margin:0 0 clamp(18px,2vw,34px);padding-bottom:12px;position:relative;font-size:clamp(11px,.95vw,17px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--navy)}
.uips-hero__eyebrow::after{content:"";position:absolute;left:0;bottom:0;width:clamp(48px,4.6vw,84px);height:3px;background:var(--red);border-radius:2px}
.uips-hero__title{margin:0 0 clamp(16px,1.6vw,28px);font-size:clamp(2.3rem,5.3vw,6.6rem);line-height:1.04;letter-spacing:-.03em;color:var(--navy)}
.uips-accent{color:var(--red)}
.uips-hero__text{max-width:min(32vw,640px);min-width:280px;margin:0 0 clamp(22px,2.4vw,40px);font-size:clamp(15px,1.2vw,21px);line-height:1.65;color:#44546f}

/* ---- full-width campus hero (desktop): whole photo, no haze, clear white text ---- */
@media (min-width:1001px){
  .uips-hero{background:#0b2d78;min-height:clamp(480px,41vw,760px)}
  .uips-hero__media{inset:0;width:100%;-webkit-mask-image:none;mask-image:none}
  .uips-hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
  /* one even navy shade on the text side so the lettering reads clearly; the right side of the photo stays untouched */
  .uips-hero__media::after{content:"";display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,74,.80) 0,rgba(6,26,74,.66) 30%,rgba(6,26,74,.30) 48%,rgba(6,26,74,0) 64%)}
  .uips-hero::after{display:none}
  .uips-hero__eyebrow,.uips-hero__title{color:#fff;text-shadow:0 2px 18px rgba(3,14,45,.55)}
  .uips-hero__eyebrow::after{background:#ff4f7b}
  .uips-hero .uips-accent{color:#ff7c9d}
  .uips-hero__text{color:#fff;text-shadow:0 1px 12px rgba(3,14,45,.7)}
  .uips-hero__inner{padding-top:clamp(14px,1.6vw,30px);padding-bottom:clamp(120px,12vw,200px)}
  /* school name + headline moved up so they clear the school sign; paragraph + buttons moved down a little */
  .uips-hero__text{margin-top:clamp(30px,4.2vw,70px)}
  /* the four highlight cards sit a little higher, overlapping the bottom of the photo */
  .uips-features{margin-top:clamp(-130px,-7.6vw,-70px)}
}

/* feature cards: clean white */
.uips-features{margin-top:clamp(-30px,-1.6vw,-12px);gap:clamp(14px,1.7vw,30px)}
.uips-feature{align-items:center;padding:clamp(18px,1.7vw,30px) 52px clamp(18px,1.7vw,30px) clamp(18px,1.6vw,28px);gap:clamp(14px,1.4vw,24px);background:#fff;border:1px solid #eaf0fb;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 14px 34px -22px rgba(11,45,120,.45)}
.uips-feature:hover,.uips-feature:focus{box-shadow:0 20px 40px -22px rgba(11,45,120,.55)}
.uips-feature .uips-ico--lg{width:clamp(52px,4.5vw,80px);height:clamp(52px,4.5vw,80px);font-size:clamp(20px,1.8vw,31px)}
.uips-feature__body strong{font-size:clamp(15px,1.2vw,21px);line-height:1.25;color:var(--navy)}
.uips-feature__body span{font-size:clamp(13px,1vw,17px);color:#5a6b86}
.uips-feature__go{color:var(--navy);right:clamp(16px,1.6vw,26px);bottom:clamp(16px,1.6vw,26px)}

/* shared sections: crimson accents */
.uips-accent-dark{color:var(--red)}
.uips-eyebrow{color:var(--red)}
.uips-link{color:var(--navy)}
.uips-link:hover{color:var(--red)}
.uips-tag{background:#e8eefc;color:var(--navy)}
.uips-footer{background:linear-gradient(180deg,#0b2d78 0%,#061a4a 100%)}
.uips-footer .uips-brand,.uips-footer .uips-brand:hover{color:#fff}
.uips-footer .uips-brand__name{color:#fff}
.uips-footer .uips-brand__tag{color:rgba(255,255,255,.72)}
.uips-footer .uips-brand__seal{width:62px;height:62px}

/* inner pages: header is in-flow, so a shorter title band */
.uips-pagehero{padding:56px 0 44px;background:linear-gradient(120deg,#0b2d78,#061a4a)}
.uips-pagehero__bubbles{display:none}

@media (max-width:1340px){
  .uips-nav{top:calc(100% + 1px);left:0;right:0}
  .uips-nav__list{flex-direction:column;align-items:stretch;gap:2px;padding:10px clamp(20px,3.9vw,70px) 16px;background:#fff;border-radius:0;box-shadow:0 24px 40px -24px rgba(11,45,120,.5);max-height:75vh;overflow:auto}
  .uips-nav__list>li>a{font-size:16px;padding:14px 16px}
  .uips-nav__sub{background:#f3f6ff;border:0;box-shadow:none}
  .uips-nav__sub a{color:var(--navy)}
  .uips-nav__sub a:hover{background:#e4ecff;color:var(--navy)}
}
@media (max-width:1000px){
  .uips-hero__media{top:auto;left:0;width:100%;height:clamp(200px,42vw,340px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%);mask-image:linear-gradient(to bottom,transparent 0,#000 16%)}
  .uips-hero__media img{object-position:10% 60%}
  .uips-hero__inner{padding-bottom:clamp(210px,42vw,350px)}
  .uips-hero__copy{max-width:none}
  .uips-hero::before{display:none}
  .uips-hero::after{display:none}
}
@media (max-width:700px){
  .uips-hero__inner{padding-bottom:230px}
  .uips-hero__eyebrow{letter-spacing:.16em}
  .uips-btn{padding:15px 24px;font-size:15px}
  .uips-login__btn{padding:11px 14px;font-size:13.5px}
  .uips-brand__name{font-size:13px}
}
@media (max-width:700px){
  .uips-header .uips-header__bar{gap:8px;padding-top:10px;padding-bottom:10px}
  .uips-actions{gap:8px}
  .uips-brand{gap:10px;min-width:0}
  .uips-brand__seal{width:46px;height:46px}
  .uips-brand__name{font-size:13px;max-width:9.5em}
  .uips-brand__tag{font-size:11.5px}
  .uips-burger{width:42px;height:42px}
  .uips-burger span{left:12px;right:12px}
  .uips-burger span:nth-child(1){top:14px}.uips-burger span:nth-child(2){top:20px}.uips-burger span:nth-child(3){top:26px}
}
@media (max-width:400px){
  .uips-brand__seal{width:40px;height:40px}
  .uips-brand__name{font-size:12px;max-width:8.6em}
  .uips-login .uips-login__btn{padding:10px 12px}
}

@media (max-width:1340px){
  .uips-header.is-stuck .uips-nav{top:calc(100% + 6px)}
  .uips-header.is-stuck .uips-nav__list{background:#fff;border-radius:14px;margin:0;padding:10px 12px 14px;box-shadow:0 24px 40px -18px rgba(11,45,120,.5);border:1px solid #e3eafb}
}
@media (max-width:700px){
  .uips-header.is-stuck .uips-header__bar{margin:8px 8px 0;padding:6px 10px;gap:6px}
  .uips-header.is-stuck .uips-brand__seal{width:38px;height:38px}
  .uips-header.is-stuck .uips-brand__name{font-size:12px;max-width:11.8em}
  .uips-header.is-stuck .uips-login .uips-login__btn{padding:9px 12px;font-size:13px}
  .uips-header.is-stuck .uips-burger{width:38px;height:38px}
  .uips-header.is-stuck .uips-burger span{left:10px;right:10px}
  .uips-header.is-stuck .uips-burger span:nth-child(1){top:12px}.uips-header.is-stuck .uips-burger span:nth-child(2){top:18px}.uips-header.is-stuck .uips-burger span:nth-child(3){top:24px}
}
@media (max-width:700px){
  .uips-header .uips-brand__name{font-size:12px;max-width:11.8em}
}
@media (max-width:400px){
  .uips-header .uips-brand__name{font-size:11px;max-width:11.8em}
}
@media (max-width:340px){
  .uips-header .uips-brand__name{font-size:10.5px;max-width:8.6em}
}
@media (max-width:370px){
  .uips-header.is-stuck .uips-brand__name{font-size:10.5px;max-width:8.6em}
}

/* ---- header text colour (change --uips-header-text to restyle all header text at once) ---- */
.uips-header{--uips-header-text:#990000}
.uips-header .uips-brand,.uips-header .uips-brand:hover,
.uips-header .uips-brand__name,.uips-header .uips-brand__tag,
.uips-header .uips-nav__list>li>a,
.uips-header .uips-nav__list>li>a:hover,
.uips-header .uips-nav__list>li:focus-within>a,
.uips-header .uips-nav__sub a,
.uips-header .uips-nav__sub a:hover{color:var(--uips-header-text)}
/* filled header buttons (Home pill, Login, mobile menu button) use the same colour, with white text */
.uips-header{--uips-header-btn:#990000;--uips-header-btn-hover:#7a0000}
.uips-header .uips-nav__list>li.is-active>a{background:var(--uips-header-btn);color:#fff}
.uips-header .uips-login .uips-login__btn{background:var(--uips-header-btn);color:#fff;box-shadow:0 12px 24px -14px rgba(153,0,0,.8)}
.uips-header .uips-login .uips-login__btn:hover,.uips-header .uips-login .uips-login__btn:focus,.uips-header .uips-login.is-open .uips-login__btn{background:var(--uips-header-btn-hover);color:#fff}
.uips-header .uips-burger{border-color:var(--uips-header-btn)}
.uips-header .uips-burger span{background:var(--uips-header-btn)}
.uips-header .uips-icon-btn,.uips-header .uips-currency{color:var(--uips-header-btn);background:#fbeeee;border-color:#f0cccc}
.uips-header .uips-icon-btn:hover,.uips-header .uips-icon-btn:focus{background:var(--uips-header-btn);color:#fff}

/* ---- inner-page title band (.uips-pagehero) ---- */
.uips-pagehero{--uips-pagehero-bg:#990000;background:var(--uips-pagehero-bg);color:#fff}
.uips-pagehero__title{color:#fff}
.uips-crumbs,.uips-crumbs li+li::before{color:rgba(255,255,255,.85)}
.uips-crumbs a{color:#fff}

/* ---- site-wide font: Quicksand (icon fonts are left alone) ---- */
html,body,
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.glyphicon):not([class^="glyphicon-"]):not(.dropify-font):not(.dropify-font-upload):not(.dropify-font-file):not(.owl-prev):not(.owl-next){font-family:var(--font) !important}
body .fa,body [class^="fa-"],body [class*=" fa-"]{font-family:FontAwesome !important}

/* =====================================================================
   HEADER: CRYSTAL GLASS SLAB  (white, shining, sparkling, clear overlay)
   Replaces the solid white bar. To go back to solid white, delete everything
   from this comment down to the "end crystal header" comment at the bottom.
   ===================================================================== */
:root{--uips-hh:calc(clamp(54px,5.2vw,94px) + 28px)}
@media (max-width:700px){:root{--uips-hh:80px}}
.uips-header,.uips-header.is-stuck{
  --uips-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'%3E%3Cpath d='M0-10C.7-3 3-.7 10 0 3 .7.7 3 0 10-.7 3-3 .7-10 0-3-.7-.7-3 0-10Z' fill='%23fff'/%3E%3C/svg%3E");
  position:sticky;top:8px;margin:8px 10px 0;height:var(--uips-hh);box-sizing:border-box;border-radius:14px;isolation:isolate;overflow:visible;pointer-events:auto;animation:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.62) 0,rgba(205,228,255,.36) 48%,rgba(255,255,255,.56) 100%),
    linear-gradient(112deg,transparent 0 14%,rgba(255,255,255,.42) 14% 24%,transparent 24% 52%,rgba(255,255,255,.34) 52% 60%,transparent 60% 82%,rgba(255,255,255,.4) 82% 90%,transparent 90%),
    radial-gradient(60% 140% at 22% 0%,rgba(255,255,255,.55),transparent 70%),
    radial-gradient(50% 140% at 78% 100%,rgba(255,255,255,.45),transparent 70%);
  -webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 14px 36px -14px rgba(10,45,130,.55),0 0 0 1px rgba(150,195,255,.5),inset 0 0 26px rgba(255,255,255,.55),inset 0 -3px 0 rgba(255,255,255,.5);
}
.uips-header .uips-wrap,.uips-header .uips-header__bar{height:100%;box-sizing:border-box}
/* the slab itself is the glass, so the old scrolled "floating card" inside it is switched off */
.uips-header.is-stuck .uips-header__bar{margin:0;padding:12px clamp(20px,3.9vw,70px);background:transparent;border-color:transparent;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
@media (max-width:700px){.uips-header.is-stuck .uips-header__bar{padding-top:10px;padding-bottom:10px;gap:8px}}
/* bevelled inner rim + moving shine */
.uips-header::before{
  content:"";position:absolute;inset:5px;z-index:-1;pointer-events:none;border-radius:9px;
  border:1px solid rgba(255,255,255,.78);
  box-shadow:inset 0 0 14px rgba(255,255,255,.65),0 0 10px rgba(255,255,255,.35);
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%) no-repeat;
  background-size:60% 100%;background-position:-80% 0;
  animation:uipsShine 7s ease-in-out infinite;
}
/* 4-point star glints on the rim */
.uips-header::after{
  content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px;z-index:3;pointer-events:none;
  background-image:var(--uips-star),var(--uips-star),var(--uips-star),var(--uips-star),var(--uips-star),var(--uips-star),var(--uips-star);
  background-repeat:no-repeat;
  background-size:22px 22px,14px 14px,26px 26px,16px 16px,24px 24px,12px 12px,20px 20px;
  background-position:3% 100%,34% 100%,58% 0,70% 100%,94% 100%,16% 0,86% 0;
  filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px rgba(150,200,255,.95));
  animation:uipsGlint 3.2s ease-in-out infinite alternate;
}
@keyframes uipsShine{0%,50%{background-position:-80% 0}100%{background-position:190% 0}}
@keyframes uipsGlint{0%{opacity:.3}100%{opacity:1}}
/* glowing red buttons (Home pill, Login) */
.uips-header .uips-nav__list>li.is-active>a,
.uips-header .uips-login .uips-login__btn{
  background:linear-gradient(180deg,#b80f1f,#7d0010);
  box-shadow:0 0 0 2px rgba(255,255,255,.6),0 0 16px rgba(255,255,255,.8),0 10px 20px -10px rgba(153,0,0,.85),inset 0 1px 0 rgba(255,255,255,.35);
}
/* phone / tablet menu drops down as a rounded white panel under the slab */
@media (max-width:1340px){
  .uips-header .uips-nav,.uips-header.is-stuck .uips-nav{top:calc(100% + 8px);left:0;right:0}
  .uips-header .uips-nav__list,.uips-header.is-stuck .uips-nav__list{background:#fff;border-radius:14px;margin:0;box-shadow:0 24px 40px -18px rgba(11,45,120,.5);border:1px solid #e3eafb}
}
@media (prefers-reduced-motion:reduce){.uips-header::before,.uips-header::after{animation:none}}
/* end crystal header */

/* =====================================================================
   HERO TEXT: nudged down a little under the glass header
   --uips-hero-down      = how far the school name + headline move down
   --uips-hero-text-down = EXTRA drop for the paragraph + buttons (on top of the above)
   Make both bigger to move lower, smaller (or 0px) to move back up.
   ===================================================================== */
:root{--uips-hero-down:clamp(8px,1.1vw,20px);--uips-hero-text-down:clamp(12px,1.6vw,28px)}
@media (min-width:1001px){
  .uips-hero__inner{padding-top:calc(clamp(14px,1.6vw,30px) + var(--uips-hero-down))}
  .uips-hero__text{margin-top:calc(clamp(30px,4.2vw,70px) + var(--uips-hero-text-down))}
}
/* end hero text */
/* =====================================================================
   HERO CAMPUS PHOTOS (two framed photos, top-right of the hero)
   Desktop sizes use vw so they scale together with the headline.
   Change --uips-photo-top to move them up/down.
   ===================================================================== */
.uips-hero__photos{display:none}
@media (min-width:1001px){
  :root{--uips-photo-top:1.2vw}
  .uips-hero__photos{display:flex;gap:1.2vw;position:absolute;z-index:3;top:var(--uips-photo-top);right:.85vw;margin:0}
  .uips-hero__photo{margin:0;padding:.22vw;background:#fff;border-radius:.3vw;box-shadow:0 .5vw 1.6vw rgba(3,14,45,.28);height:14.3vw}
  .uips-hero__photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:.15vw}
  .uips-hero__photo--annex{width:18.8vw}
  .uips-hero__photo--campus{width:32.4vw}
  .uips-hero__copy{max-width:46%}
  /* headline lifted (transform keeps the paragraph + buttons where they are) so the school name on the building stays visible */
  .uips-hero__title{position:relative;transform:translateY(-1.4vw)}
}
@media (max-width:1000px){
  .uips-hero__photos{display:flex;gap:12px;position:relative;z-index:3;padding:0 24px;margin-top:-8px;margin-bottom:24px}
  .uips-hero__photo{margin:0;padding:3px;background:#fff;border-radius:6px;box-shadow:0 6px 18px rgba(3,14,45,.25);height:clamp(90px,24vw,170px)}
  .uips-hero__photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
  .uips-hero__photo--annex{flex:0 0 36%}
  .uips-hero__photo--campus{flex:1 1 auto}
}
@media (max-width:600px){.uips-hero__photos{display:none}}
/* end hero photos */

/* =====================================================================
   HEADER OVERLAP: the glass header floats ON TOP of the hero photo
   (instead of sitting above it). To make it a separate bar again, delete
   everything from this comment down to the "end header overlap" comment.
   --uips-lift = how far the school name + headline move up (paragraph and
   buttons stay put). --uips-photo-gap = space between header and the photos.
   ===================================================================== */
:root{--uips-lift:1vw;--uips-photo-gap:.6vw}
.uips-header:has(+ .uips-hero),
.uips-header:has(+ .uips-pagehero){margin-bottom:calc(-1 * (var(--uips-hh) + 8px))}
.uips-header + .uips-pagehero{padding-top:calc(56px + var(--uips-hh))}
@media (max-width:1000px){
  .uips-header + .uips-hero .uips-hero__inner{padding-top:calc(var(--uips-hh) + clamp(34px,4.6vw,84px))}
}
@media (min-width:1001px){
  /* hero now starts at the very top, so everything is pushed down by the header height to keep its place, then lifted */
  .uips-header + .uips-hero .uips-hero__inner{padding-top:calc(var(--uips-hh) + 8px + clamp(14px,1.6vw,30px) + var(--uips-hero-down) - var(--uips-lift))}
  .uips-header + .uips-hero .uips-hero__text{margin-top:calc(clamp(30px,4.2vw,70px) + var(--uips-hero-text-down) + var(--uips-lift))}
  .uips-header + .uips-hero .uips-hero__photos{top:calc(var(--uips-hh) + 8px + var(--uips-photo-gap))}
}
/* end header overlap */

/* =====================================================================
   FOUR HIGHLIGHT CARDS (.uips-features): lifted a little higher over the bottom of the hero.
   Make the negative numbers bigger to move them up, smaller to move them down.
   ===================================================================== */
@media (min-width:1001px){
  .uips-features{margin-top:clamp(-80px,-4vw,-30px)}
}
/* end features lift */

/* =====================================================================
   HERO PHOTO POP-UP (lightbox) - click a hero photo to view it large
   ===================================================================== */
.uips-zoom{display:block;width:100%;height:100%;cursor:zoom-in}
.uips-hero__photo img{transition:transform .35s ease}
.uips-zoom:hover img,.uips-zoom:focus-visible img{transform:scale(1.03)}
.uips-hero__photo{overflow:hidden}
.uips-lb-open{overflow:hidden}
.uips-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:rgba(6,12,30,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out}
.uips-lightbox[hidden]{display:none}
.uips-lightbox__img{max-width:100%;max-height:100%;object-fit:contain;border:4px solid #fff;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.55);background:#fff;cursor:default}
.uips-lightbox__close,.uips-lightbox__nav{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#8a0f2a;cursor:pointer;display:grid;place-items:center;line-height:1;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.uips-lightbox__close{top:18px;right:22px;width:44px;height:44px;font-size:30px}
.uips-lightbox__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:34px;padding-bottom:4px}
.uips-lightbox__nav--prev{left:22px}
.uips-lightbox__nav--next{right:22px}
.uips-lightbox__close:hover,.uips-lightbox__nav:hover{background:#8a0f2a;color:#fff}
/* end hero photo pop-up */

/* =====================================================================
   INNER-PAGE TITLE BAND (.uips-pagehero): clear "crystal" look - the campus photo is
   shown with no colour tint. Only a very light neutral shade sits behind the white
   title (left side) plus a soft text shadow so it stays readable.
   Raise/lower the .26 number to make the shade stronger/weaker (0 = fully clear).
   To use another photo change images/hero.jpg.
   ===================================================================== */
.uips-pagehero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 80%),
    url('../images/hero.jpg') center 62%/cover no-repeat;
  background-color:#cfd8e3;
}
.uips-pagehero__title{text-shadow:0 2px 14px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.35)}
.uips-pagehero__bubbles{display:none}
/* end pagehero campus */

/* =====================================================================
   FOOTER background: solid maroon #990000
   ===================================================================== */
.uips-footer{background:#990000}
.uips-footer__base{border-top-color:rgba(255,255,255,.22)}
.uips-footer__contact i{color:#ffd9d9}
/* end footer colour */

/* =====================================================================
   FONTS: Poppins (headings, menu, buttons) + Inter (body text). Latin only.
   Files are self-hosted in ../fonts/uips/ (no internet font service needed).
   The old Quicksand/Plus Jakarta files are left in place but no longer used.
   ===================================================================== */
@font-face{font-family:'Poppins';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/uips/poppins-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/uips/poppins-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/uips/poppins-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/uips/poppins-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:800;font-style:normal;font-display:swap;src:url('../fonts/uips/poppins-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/uips/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/uips/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/uips/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/uips/inter-latin-700-normal.woff2') format('woff2')}

:root,body,.uips-body{
  --font-body:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --font-head:'Poppins','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --font:var(--font-body);
}
/* the site-wide font rule reads var(--font), so headings/menu/buttons just switch that variable to Poppins */
h1,h2,h3,h4,h5,h6,
.uips-header,.uips-btn,.uips-nav,.uips-nav__list,.uips-login__btn,
.uips-hero__eyebrow,.uips-hero__title,.uips-pagehero__title,
[class*="__title"],[class*="-title"],.uips-feature strong,.uips-footer__title{
  --font:var(--font-head);
}
/* end fonts */

/* =====================================================================
   HERO PHOTOS ON THE CAMPUS GROUND: the two photos now sit at the bottom-right of the hero,
   on the paved area, just above the four highlight cards. The hero is a little taller at the
   bottom so there is room for them.
   Knobs:  --uips-photo-right  = space from the right edge (bigger = photos move left)
           --uips-photo-bottom = space between the photos and the highlight cards
           --uips-hero-extra   = extra hero height at the bottom (more = more ground)
   ===================================================================== */
@media (min-width:1001px){
  :root{--uips-photo-bottom:.6vw;--uips-photo-right:18vw;--uips-hero-extra:3vw}
  .uips-hero .uips-hero__photos,
  .uips-header + .uips-hero .uips-hero__photos{
    top:auto;
    right:var(--uips-photo-right);
    bottom:calc(clamp(30px,4vw,80px) + var(--uips-photo-bottom));
  }
  .uips-hero__photo{height:11.2vw}
  .uips-hero__photo--annex{width:14.7vw}
  .uips-hero__photo--campus{width:25.3vw}
  .uips-header + .uips-hero .uips-hero__inner,
  .uips-hero .uips-hero__inner{padding-bottom:calc(clamp(120px,12vw,200px) + var(--uips-hero-extra))}
}
/* end hero photos on ground */

/* =====================================================================
   HERO TEXT SWOOSH (text only - the two photos stay still):
   the school name, the two headline lines, the paragraph and the buttons slide in one by one;
   afterwards the text keeps a gentle slow drift right and back to its place (not the buttons).
   Intro speed: the .8s durations.  Order: the 0.xs delays.  Drift size: the 34px in uipsDrift.
   Drift speed: the 4s.  Remove the "uipsDrift" parts to stop the drift.
   ===================================================================== */
@keyframes uipsSwoosh{
  0%{opacity:0;transform:translateX(-110px) skewX(-14deg);filter:blur(8px)}
  60%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes uipsDrift{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(34px,-6px)}
}
@keyframes uipsGlow{
  0%,100%{text-shadow:0 2px 18px rgba(3,14,45,.55)}
  50%{text-shadow:0 0 22px rgba(255,124,157,.95),0 2px 18px rgba(3,14,45,.55)}
}
.uips-line{display:block}
.uips-hero__cta{animation:uipsSwoosh .8s cubic-bezier(.16,.84,.3,1) 1.25s both}
.uips-hero__eyebrow{animation:uipsSwoosh .8s cubic-bezier(.16,.84,.3,1) .1s both,uipsDrift 4s ease-in-out .9s infinite}
.uips-hero__title .uips-line:nth-child(1){animation:uipsSwoosh .8s cubic-bezier(.16,.84,.3,1) .4s both,uipsDrift 4s ease-in-out 1.2s infinite}
.uips-hero__title .uips-line:nth-child(2){animation:uipsSwoosh .8s cubic-bezier(.16,.84,.3,1) .7s both,uipsDrift 4s ease-in-out 1.5s infinite}
.uips-hero__text{animation:uipsSwoosh .8s cubic-bezier(.16,.84,.3,1) 1s both,uipsDrift 4s ease-in-out 1.8s infinite}
.uips-hero__title .uips-accent{animation:uipsGlow 3s ease-in-out 2s infinite}
@media (prefers-reduced-motion:reduce){
  .uips-hero__eyebrow,.uips-hero__title .uips-line,.uips-hero__text,.uips-hero__cta,.uips-hero__title .uips-accent{animation:none}
}
/* end hero swoosh */

/* =====================================================================
   CORPORATE VIDEO section (after the four highlight cards) + full-screen player
   ===================================================================== */
.uips-video{margin-top:clamp(28px,3.4vw,56px)}
.uips-video__card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(18px,2.2vw,34px);background:linear-gradient(135deg,#fff 0%,#fff6f6 100%);border:1px solid #f0d9d9;border-radius:26px;box-shadow:0 24px 56px -34px rgba(153,0,0,.5)}
.uips-video__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#990000}
.uips-video__title{margin:12px 0 10px;font-size:clamp(26px,2.6vw,42px);line-height:1.15;font-weight:700;color:#2a0a0a}
.uips-video__text{margin:0 0 22px;font-size:clamp(15px,1.1vw,17px);line-height:1.7;color:#55607d}
.uips-video__btn{display:inline-flex;align-items:center;gap:12px;padding:14px 26px;border:0;border-radius:999px;background:#990000;color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 14px 28px -14px rgba(153,0,0,.8);transition:transform .2s,box-shadow .2s,background .2s}
.uips-video__btn:hover{background:#7d0000;transform:translateY(-2px)}
.uips-video__dur{padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.22);font-size:13px;font-weight:600}
.uips-video__poster{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:pointer;background:#222;box-shadow:0 20px 44px -24px rgba(0,0,0,.6)}
.uips-video__poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.uips-video__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.45) 100%)}
.uips-video__poster:hover img{transform:scale(1.05)}
.uips-video__play{position:absolute;z-index:2;left:50%;top:50%;width:clamp(64px,6.4vw,96px);height:clamp(64px,6.4vw,96px);margin:calc(clamp(64px,6.4vw,96px) / -2) 0 0 calc(clamp(64px,6.4vw,96px) / -2);display:grid;place-items:center;border-radius:50%;background:#fff;color:#990000;font-size:clamp(22px,2.2vw,32px);padding-left:.35em;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:uipsPulse 2.2s ease-out infinite}
@keyframes uipsPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.65)}100%{box-shadow:0 0 0 30px rgba(255,255,255,0)}}
.uips-video__badge{position:absolute;z-index:2;right:14px;bottom:12px;padding:4px 12px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:13px;font-weight:600}
@media (max-width:900px){.uips-video__card{grid-template-columns:1fr}.uips-video__poster{order:-1}}
@media (prefers-reduced-motion:reduce){.uips-video__play{animation:none}}

.uips-vmodal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:rgba(0,0,0,.94)}
.uips-vmodal[hidden]{display:none}
.uips-vmodal__stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.uips-vmodal__stage iframe,.uips-vmodal__stage video{width:100%;height:100%;max-width:min(100%,calc((100vh - 6vh) * 16 / 9));max-height:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000}
.uips-vmodal__close{position:absolute;top:14px;right:18px;z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#990000;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.uips-vmodal__close:hover{background:#990000;color:#fff}
.uips-vmodal__soon{display:grid;gap:10px;justify-items:center;text-align:center;color:#fff;font-size:18px}
.uips-vmodal__soon i{font-size:46px;color:#ff7c9d}
/* end corporate video */

/* Login dropdown: divider above the Reservation entry (it comes from the Front CMS menu) */
.uips-login__menu .uips-login__sep{height:1px;margin:6px 10px;padding:0;background:#ecdede;list-style:none}
/* end login dropdown divider */

/* Campus explorer pop-up ("Explore Our School"): the explorer page fills the whole pop-up */
.uips-vmodal--explore{padding:0;background:#faf6ef}
.uips-vmodal--explore .uips-vmodal__stage{padding:0}
.uips-vmodal--explore .uips-vmodal__stage iframe{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;background:#faf6ef}
.uips-vmodal--explore .uips-vmodal__close{background:#990000;color:#fff;box-shadow:0 6px 18px -6px rgba(0,0,0,.5)}
.uips-vmodal--explore .uips-vmodal__close:hover{background:#fff;color:#990000}
/* end campus explorer pop-up */

/* =====================================================================
   HERO: clearer photo behind the text (blue haze replaced by a very light shade)
   --uips-hero-shade : 0.26 = light shade (option A).  0 = fully clear photo (option B).
   Text keeps a soft dark shadow so it stays readable on the bright building.
   ===================================================================== */
@media (min-width:1001px){
  :root{--uips-hero-shade:.26}
  .uips-hero__media::after{
    background:linear-gradient(90deg,
      rgba(6,26,74,var(--uips-hero-shade)) 0,
      rgba(6,26,74,var(--uips-hero-shade)) 30%,
      rgba(6,26,74,0) 64%);
  }
  .uips-hero__eyebrow,.uips-hero__title{text-shadow:0 2px 14px rgba(3,14,45,.75),0 1px 3px rgba(3,14,45,.5)}
  .uips-hero__text{text-shadow:0 1px 10px rgba(3,14,45,.9),0 1px 3px rgba(3,14,45,.7)}
}
/* end hero clear */

/* HERO: "Brighter Future" = maroon #7d0010 with a white stroke. Stroke thickness: the .045em value. */
.uips-hero .uips-accent,
.uips-hero__title .uips-accent{color:#7d0010;animation:none;-webkit-text-stroke:.045em #fff;paint-order:stroke fill;text-shadow:0 2px 12px rgba(3,14,45,.45)}
/* end plain headline */

/* =====================================================================
   LOGIN HINT: pop-up bubble that shows what is inside the Login menu
   (Parent / Student Portal, Admin Portal, Reservation). It pops up every 8 seconds, on every page load.
   Timing: SHOW_MS / EVERY_MS in header.php.
   ===================================================================== */

.uips-login__bubble{position:absolute;z-index:60;right:0;top:calc(100% + 14px);width:290px;padding:14px 16px 12px;border-radius:16px;background:#fff;color:#2a0a0a;box-shadow:0 26px 54px -22px rgba(3,14,45,.6);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.uips-login__bubble::before{content:"";position:absolute;right:54px;top:-8px;width:16px;height:16px;background:#fff;transform:rotate(45deg);border-radius:3px}
.uips-login__bubble.is-show{opacity:1;visibility:visible;transform:none}
.uips-login:hover .uips-login__bubble,.uips-login.is-open .uips-login__bubble{opacity:0;visibility:hidden}
.uips-login__bubble-title{display:block;margin:0 24px 8px 0;font-size:13px;font-weight:700;color:#990000}
.uips-login__bubble-x{position:absolute;top:8px;right:10px;width:24px;height:24px;border:0;border-radius:50%;background:#f4e4e4;color:#990000;font-size:17px;line-height:1;cursor:pointer}
.uips-login__bubble ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.uips-login__bubble li{display:flex;align-items:center;gap:10px}
.uips-login__bubble .uips-ico{width:32px;height:32px;border-radius:9px;font-size:14px;flex:0 0 auto}
.uips-login__bubble b{display:block;font-size:13px;font-weight:700}
.uips-login__bubble em{display:block;font-style:normal;font-size:11.5px;color:#55607d}
@media (max-width:1000px){
  .uips-login__bubble{width:min(280px,calc(100vw - 28px));top:calc(100% + 14px)}
  .uips-login__bubble::before{right:28px}
}
@media (prefers-reduced-motion:reduce){.uips-login__bubble{transition:none}}
/* end login hint */

/* =====================================================================
   HIGHLIGHT CARD POP-UPS (Academic Excellence / Experienced Teachers / Our Achievements):
   the pop-up shows the content of the matching Front CMS page.
   ===================================================================== */
.uips-cmodal{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:rgba(10,4,6,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.uips-cmodal[hidden]{display:none}
.uips-cmodal__card{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:88vh;border-radius:22px;background:#fff;box-shadow:0 34px 80px -30px rgba(0,0,0,.7);overflow:hidden;animation:uipsPop .28s ease both}
@keyframes uipsPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.uips-cmodal__head{display:flex;align-items:center;gap:14px;padding:22px 64px 18px 26px;background:linear-gradient(135deg,#fff 0%,#fff3f3 100%);border-bottom:1px solid #f0dcdc}
.uips-cmodal__head h3{margin:0;font-size:clamp(20px,2vw,26px);font-weight:700;color:#990000;line-height:1.2}
.uips-cmodal__x{position:absolute;top:14px;right:16px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#f4e4e4;color:#990000;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.uips-cmodal__x:hover{background:#990000;color:#fff}
.uips-cmodal__body{padding:22px 26px;overflow:auto;font-size:16px;line-height:1.75;color:#3a3a4a}
.uips-cmodal__body h1,.uips-cmodal__body h2,.uips-cmodal__body h3,.uips-cmodal__body h4{margin:18px 0 8px;font-weight:700;color:#2a0a0a;line-height:1.25}
.uips-cmodal__body h1{font-size:26px}.uips-cmodal__body h2{font-size:22px}.uips-cmodal__body h3{font-size:19px}
.uips-cmodal__body p{margin:0 0 12px}
.uips-cmodal__body ul,.uips-cmodal__body ol{margin:0 0 14px;padding-left:22px}
.uips-cmodal__body li{margin:4px 0}
.uips-cmodal__body img{max-width:100%;height:auto;border-radius:14px;margin:10px 0}
.uips-cmodal__body a{color:#990000;text-decoration:underline}
.uips-cmodal__body table{max-width:100%}
.uips-cmodal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px;border-top:1px solid #f0dcdc;background:#fffafa}
.uips-cmodal__close{padding:11px 22px;border:1px solid #e3c9c9;border-radius:999px;background:#fff;color:#990000;font-size:15px;font-weight:600;cursor:pointer}
.uips-cmodal__close:hover{background:#990000;color:#fff}
.uips-cmodal__loading,.uips-cmodal__soon{display:grid;gap:8px;justify-items:center;padding:34px 10px;text-align:center;color:#6b5a5a}
.uips-cmodal__soon i{font-size:40px;color:#990000}
.uips-cmodal__soon strong{font-size:18px;color:#2a0a0a}
@media (max-width:600px){.uips-cmodal{padding:0}.uips-cmodal__card{max-height:100vh;height:100%;border-radius:0}.uips-cmodal__foot{justify-content:center}}
@media (prefers-reduced-motion:reduce){.uips-cmodal__card{animation:none}}
/* end highlight card pop-ups */

/* =====================================================================
   MENU DROPDOWNS (.uips-nav__sub): same card look as the Login menu - icon badge on every line,
   soft hover, small arrow, staggered fade-in. Icons are picked from the item name (uips_sub_icon in header.php).
   ===================================================================== */
.uips-nav__sub a{display:flex;align-items:center;gap:12px}
.uips-sub-ico{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f9e5e5;color:#990000;font-size:14px;transition:background .2s,color .2s}
.uips-sub-label{min-width:0}
@keyframes uipsSubIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (min-width:1341px){
  .uips-header .uips-nav__list>li>.uips-nav__sub{min-width:270px;padding:10px;border:1px solid #f0dcdc;border-radius:18px;background:#fff;box-shadow:0 28px 60px -22px rgba(6,22,79,.55);top:calc(100% + 14px)}
  .uips-header .uips-nav__list>li>.uips-nav__sub::after{content:"";position:absolute;top:-8px;left:30px;width:16px;height:16px;background:#fff;border-left:1px solid #f0dcdc;border-top:1px solid #f0dcdc;transform:rotate(45deg);border-radius:4px 0 0 0}
  .uips-header .uips-nav__list>li.has-sub:nth-last-child(-n+2)>.uips-nav__sub{left:auto;right:0}
  .uips-header .uips-nav__list>li.has-sub:nth-last-child(-n+2)>.uips-nav__sub::after{left:auto;right:30px}
  .uips-header .uips-nav__list>li>.uips-nav__sub::before{top:-14px;height:14px}
  .uips-header .uips-nav__sub a{position:relative;padding:9px 12px;border-radius:12px;color:#2a0a0a;font:600 14.5px/1.3 var(--font);transition:background .2s,transform .2s,color .2s}
  .uips-header .uips-nav__sub a:hover,.uips-header .uips-nav__sub a:focus-visible{background:#fff3f3;color:#990000;transform:translateX(3px)}
  .uips-header .uips-nav__sub a:hover .uips-sub-ico,.uips-header .uips-nav__sub a:focus-visible .uips-sub-ico{background:#990000;color:#fff}
  .uips-nav__list>li.has-sub:hover>.uips-nav__sub>li,.uips-nav__list>li.has-sub:focus-within>.uips-nav__sub>li{animation:uipsSubIn .35s ease both}
  .uips-nav__sub>li:nth-child(2){animation-delay:.04s!important}.uips-nav__sub>li:nth-child(3){animation-delay:.08s!important}
  .uips-nav__sub>li:nth-child(4){animation-delay:.12s!important}.uips-nav__sub>li:nth-child(5){animation-delay:.16s!important}
  .uips-nav__sub>li:nth-child(6){animation-delay:.2s!important}.uips-nav__sub>li:nth-child(n+7){animation-delay:.24s!important}
}
@media (max-width:1340px){
  .uips-sub-ico{width:28px;height:28px;border-radius:8px;font-size:13px;background:rgba(153,0,0,.12);color:#990000}
  .uips-nav__sub a{gap:10px}
}
@media (prefers-reduced-motion:reduce){.uips-nav__list>li.has-sub>.uips-nav__sub>li{animation:none!important}}
/* end menu dropdowns */
