@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;600;700;900&family=Golos+Text:wght@400;500;600;700&family=Lora:ital,wght@0,600;1,400&display=swap');

/* ═══════════════════════════════════════
   DESIGN TOKENS — ПЛИТ №99 Лицейский сайт
   Тёплая академическая палитра
═══════════════════════════════════════ */
:root {
  --white:       #FFFFFF;
  --off-white:   #FAF9F7;
  --cream:       #F5F0E8;
  --cream-dark:  #EDE6D8;
  --warm-50:     #FAF8F5;
  --warm-100:    #F2EDE4;
  --warm-200:    #E5DDD0;
  --warm-300:    #C9BDA9;
  --warm-400:    #A89880;
  --warm-600:    #6B5A46;
  --warm-700:    #4d3c27;
  --warm-800:    #3D2E1E;
  --warm-900:    #1F1710;
  --primary-900: #0E2742;
  --primary-800: #16375A;
  --primary-700: #204A73;
  --primary-600: #2A5D88;
  --primary-500: #3B739E;
  --primary-400: #476C8A;
  --primary-300: #6E8AA1;
  --primary-200: #A8BAC7;
  --primary-100: #D7E1E7;
  --primary-50:  #F1F5F7;
  --gold-700:    #94620A;
  --gold-600:    #B7790F;
  --gold-500:    #D8941C;
  --gold-400:    #EEB33A;
  --gold-300:    #F4C96A;
  --gold-100:    #FCEEC8;
  --gold-50:     #FFF8EA;
  --green-700:   #145A32;
  --green-500:   #1E8449;
  --green-50:    #E9F7EF;
  --gray-50:     #F3F5F7;
  --gray-100:    #D4DCE3;
  --gray-400:    #566576;
  --gray-600:    #3F4D5D;
  --gray-700:    #253241;
  --ocean-900:   #0E2742;
  --ocean-400:   #476C8A;
  --ocean-100:   #D7E1E7;
  --amber-500:   #D8941C;
  --amber-400:   #EEB33A;
  --amber-300:   #F4C96A;
  --amber-100:   #FCEEC8;
  --cta-yellow: #D8941C;
  --cta-yellow-hover: #EEB33A;
  --cta-yellow-active: #B7790F;
  --cta-text: #17324D;
  --cta-shadow: 0 10px 24px rgba(216,148,28,.26);
  --cta-shadow-hover: 0 14px 30px rgba(216,148,28,.34);
  --icon-stroke: 1.9;
  --font-display: 'Unbounded', sans-serif;
  --font-body:    'Golos Text', sans-serif;
  --font-serif:   'Lora', serif;
  --shadow-xs: 0 1px 4px rgba(31,23,16,.06);
  --shadow-sm: 0 2px 10px rgba(31,23,16,.08);
  --shadow-md: 0 6px 24px rgba(31,23,16,.11);
  --shadow-lg: 0 16px 48px rgba(31,23,16,.15);
  --shadow-xl: 0 32px 80px rgba(31,23,16,.18);
  --radius-ui: 22px;
  --radius-xs:  var(--radius-ui);
  --radius-sm:  var(--radius-ui);
  --radius-md:  var(--radius-ui);
  --radius-lg:  var(--radius-ui);
  --radius-xl:  var(--radius-ui);
  --radius-2xl: var(--radius-ui);
  --radius-button: var(--radius-ui);
  --radius-surface: var(--radius-ui);
  --nav-h: 94px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--gray-700);background:var(--white);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.home-page{background:linear-gradient(180deg,#0b2238 0, #12314f 640px, #ffffff 640px, #ffffff 100%)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:var(--font-body)}

/* Unified icon system */
:is(
  .hero-eyebrow svg,
  .nav-mobile .nav-link svg,
  .footer-contact svg,
  .adv-icon svg,
  .dir-emoji svg,
  .parent-card-icon svg,
  .contact-icon svg,
  .feature-icon svg,
  .notice-icon svg,
  .icon-chip svg,
  .trust-item svg,
  .news-placeholder-icon,
  .btn-icon,
  .hero-card-icon svg,
  .hero-feat-icon svg,
  .quick-link svg
){
  fill:none;
  stroke-width:var(--icon-stroke);
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.display-xl{font-family:var(--font-display);font-size:clamp(1.8rem,4.35vw,3.35rem);line-height:1.05;letter-spacing:-.02em;font-weight:900}
.display-lg{font-family:var(--font-display);font-size:clamp(1.9rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.02em;font-weight:700}
.display-md{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.015em;font-weight:700}
.h1{font-family:var(--font-display);font-size:clamp(1.35rem,3.5vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.01em}
.h2{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:600;line-height:1.3}
.h3{font-size:clamp(1rem,2vw,1.2rem);font-weight:700;line-height:1.4}
.lead{font-size:clamp(.95rem,2vw,1.1rem);font-weight:400;line-height:1.8;color:var(--gray-700)}
.label{font-size:.714rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.container{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.container-wide{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.section{padding:clamp(2.5rem,6vw,5rem) 0}
.section-sm{padding:clamp(1.6rem,4vw,3rem) 0}
.section-cream{background:var(--cream)}
.section-offwhite{background:var(--off-white)}
.home-intro-section{position:relative;background:var(--white);z-index:1;border-top:1px solid rgba(15,39,66,.1)}
.home-flow-bridge{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;margin:0;padding:0 1rem;height:0;pointer-events:none}
.home-flow-bridge-line{position:absolute;left:0;right:0;top:-1px;width:100%;height:1px;background:rgba(255,255,255,.9)}
.home-flow-bridge-pill{display:inline-flex;align-items:center;gap:.75rem;min-height:54px;padding:.86rem 1.22rem;border-radius:999px;background:#0b2238;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 26px rgba(7,20,34,.22);transform:translateY(-50%)}
.home-flow-bridge-text{font-size:.8rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#fff;white-space:nowrap}
.home-flow-bridge-arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--gold-400);color:#071422;font-size:1rem;font-weight:900;box-shadow:none}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);padding-top:4px;padding-bottom:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(15,35,60,.06);transition:box-shadow .3s,background .3s,border-color .3s}
.home-page .nav:not(.scrolled){background:rgba(10,31,53,.92);border-bottom-color:rgba(255,255,255,.05)}
.home-page .nav:not(.scrolled) .nav-logo-text .name,.home-page .nav:not(.scrolled) .nav-link{color:rgba(255,255,255,.92)}
.home-page .nav:not(.scrolled) .nav-logo-text .sub{color:rgba(255,255,255,.55)}
.home-page .nav:not(.scrolled) .nav-link:hover,.home-page .nav:not(.scrolled) .nav-link.active{background:rgba(255,255,255,.1);color:#fff}
.home-page .nav:not(.scrolled) .nav-burger span{background:var(--white)}
.home-page .nav:not(.scrolled) .nav-logo-emblem{background:transparent;border:none}
.nav.scrolled{box-shadow:var(--shadow-md)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1.5rem}
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:0}
.nav-logo-emblem{width:55px;height:55px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;border:none;box-shadow:none;outline:none}
.nav-logo-emblem::before{display:none}
.nav-logo-emblem span{font-family:var(--font-display);color:var(--white);font-size:1.1rem;font-weight:900;position:relative}
.site-logo-mark{width:100%;height:100%;object-fit:contain;display:block;position:relative;z-index:1;border-radius:50%;transform:none;transform-origin:center;border:none;box-shadow:none;outline:none}
.nav-logo-text{display:flex;flex-direction:column;justify-content:center;line-height:1.08;padding-top:0}
.nav-logo-text .name{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--primary-900);letter-spacing:-.01em}
.nav-logo-text .sub{font-size:.68rem;color:var(--warm-600);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:none}
@media(min-width:1180px){
  .nav>.container{max-width:min(1280px,calc(100vw - 150px));padding-left:0;padding-right:0}
  .nav-inner{width:100%;align-items:flex-end;justify-content:flex-start;gap:clamp(.75rem,1.3vw,1.2rem);padding-top:10px;padding-bottom:0;margin-left:0}
  .nav-logo{transform:none}
  .nav-links{display:flex;align-items:center;gap:clamp(.36rem,.7vw,.7rem);height:100%;flex-wrap:nowrap;min-width:0;margin-left:auto}
  .nav .nav-logo-text .name{font-size:16.74px !important}
  .nav .nav-logo-text .sub{font-size:12.42px !important}
  .nav .nav-link{font-size:14.04px !important;padding:.82rem .88rem}
  .nav .nav-cta-desktop{font-size:clamp(13px,.82rem + .22vw,15.12px) !important;padding:clamp(.76rem,.82vw,.88rem) clamp(.88rem,1.1vw,1rem);margin-left:calc(.9rem + 12px);flex-shrink:0}
}
.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.9rem 1.25rem;border-radius:var(--radius-button);font-size:.88rem;font-weight:600;color:var(--warm-700);transition:all .2s;white-space:nowrap;line-height:1;margin-top:0}
.nav-link:hover,.nav-link.active{color:var(--primary-700);background:var(--primary-50)}
.nav-link.active{font-weight:700}
.nav-cta-desktop{display:none;align-items:center;justify-content:center;min-height:clamp(44px,3vw,52px);padding:clamp(.72rem,1vw,.95rem) clamp(1rem,1.6vw,1.5rem);border-radius:var(--radius-button);background:var(--cta-yellow);color:var(--cta-text);font-size:clamp(.82rem,.78rem + .22vw,.98rem);font-weight:800;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s;white-space:nowrap;line-height:1;margin-top:0;border:2px solid var(--cta-yellow);box-shadow:var(--cta-shadow)}
.nav-cta-desktop:hover{background:var(--cta-yellow-hover);border-color:var(--cta-yellow-hover);color:var(--cta-text);transform:translateY(-2px);box-shadow:var(--cta-shadow-hover)}
.nav-cta-desktop:active{background:var(--cta-yellow-active);border-color:var(--cta-yellow-active);transform:translateY(0);box-shadow:var(--cta-shadow)}
@media(min-width:1180px){.nav-cta-desktop{display:inline-flex}}
@media(max-width:1179px){
  .nav-inner{justify-content:center;position:relative}
  .nav-logo{margin:0 auto}
  .nav-burger{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer;background:none;border:none;padding:8px;border-radius:10px;transition:background .2s;-webkit-tap-highlight-color:transparent}
.nav-burger:hover{background:var(--warm-100)}
.nav-burger span{display:block;width:22px;height:2px;background:var(--warm-800);border-radius:2px;transition:all .3s;transform-origin:center}
@media(min-width:1180px){.nav-burger{display:none}}
.nav-mobile{position:fixed;top:var(--nav-h);left:0;right:0;background:var(--white);border-bottom:1px solid var(--warm-100);padding:1rem 0 1.5rem;transform:translateY(-110%);opacity:0;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .3s;z-index:199;box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--nav-h));overflow:auto}
.nav-mobile.open{transform:translateY(0);opacity:1}
.nav-mobile .nav-link{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;color:var(--warm-700);border-radius:0}
.nav-mobile .nav-link:hover{color:var(--primary-700);background:var(--primary-50)}
.nav-mobile-divider{height:1px;background:var(--warm-100);margin:.75rem 1.5rem}
.nav-mobile-cta{display:block;margin:.5rem 1.5rem 0;padding:.95rem 1.5rem;min-height:52px;background:var(--cta-yellow);color:var(--cta-text);font-weight:800;text-align:center;border-radius:var(--radius-button);font-size:.92rem;line-height:1.1;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s;border:2px solid var(--cta-yellow);box-shadow:var(--cta-shadow)}
.nav-mobile-cta:hover{background:var(--cta-yellow-hover);border-color:var(--cta-yellow-hover);box-shadow:var(--cta-shadow-hover);transform:translateY(-2px)}
.nav-mobile-cta:active{background:var(--cta-yellow-active);border-color:var(--cta-yellow-active);transform:translateY(0);box-shadow:var(--cta-shadow)}
@media(min-width:1180px) and (max-width:1439px){
  .nav>.container{
    max-width:min(1240px,calc(100vw - 32px));
    padding-left:clamp(.7rem,1.5vw,1rem);
    padding-right:clamp(.7rem,1.1vw,.95rem);
  }
  .nav-inner{
    gap:clamp(.45rem,.9vw,.85rem);
    padding-top:8px;
  }
  .nav-logo{
    margin-right:clamp(.25rem,.7vw,.75rem);
  }
  .nav .nav-logo-text .name{
    font-size:15.2px !important;
  }
  .nav .nav-logo-text .sub{
    font-size:11px !important;
    letter-spacing:.06em;
  }
  .nav-links{
    gap:.22rem;
  }
  .nav .nav-link{
    font-size:12.3px !important;
    padding:.8rem .58rem;
  }
  .nav .nav-cta-desktop{
    font-size:12.4px !important;
    padding:.78rem .82rem;
    margin-left:.55rem;
  }
}
@media(min-width:1180px) and (max-width:1366px){
  .nav>.container{
    max-width:min(1218px,calc(100vw - 24px));
  }
  .nav-inner{
    gap:.42rem;
  }
  .nav-logo{
    margin-right:.2rem;
  }
  .nav .nav-link{
    font-size:11.5px !important;
    padding:.78rem .48rem;
  }
  .nav .nav-cta-desktop{
    font-size:11.4px !important;
    padding:.72rem .72rem;
    margin-left:.4rem;
  }
}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.95rem 1.5rem;border-radius:var(--radius-button);font-family:var(--font-body);font-weight:800;font-size:.92rem;border:2px solid var(--cta-yellow);cursor:pointer;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s,color .22s;white-space:nowrap;-webkit-tap-highlight-color:transparent;text-decoration:none;line-height:1}
.btn-lg{min-height:52px;padding:.95rem 1.5rem;font-size:.92rem}
.btn-sm{padding:.5rem 1.1rem;font-size:.8rem}
.btn-primary,.btn-gold,.btn-outline,.btn-outline-white,.btn-ghost,.btn-amber{background:var(--cta-yellow);color:var(--cta-text);border-color:var(--cta-yellow);box-shadow:var(--cta-shadow)}
.btn-primary:hover,.btn-gold:hover,.btn-outline:hover,.btn-outline-white:hover,.btn-ghost:hover,.btn-amber:hover{background:var(--cta-yellow-hover);color:var(--cta-text);border-color:var(--cta-yellow-hover);transform:translateY(-2px);box-shadow:var(--cta-shadow-hover)}
.btn-primary:active,.btn-gold:active,.btn-outline:active,.btn-outline-white:active,.btn-ghost:active,.btn-amber:active{background:var(--cta-yellow-active);color:var(--cta-text);border-color:var(--cta-yellow-active);transform:translateY(0);box-shadow:var(--cta-shadow)}
.btn-icon{width:16px;height:16px;flex-shrink:0}
/* ALIASES for old template compatibility */

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.badge-primary{background:var(--primary-100);color:var(--primary-700)}
.badge-gold{background:var(--gold-100);color:var(--gold-700)}
.badge-green{background:var(--green-50);color:var(--green-700)}
.badge-white{background:rgba(10,31,53,.52);color:var(--white);border:1px solid rgba(255,255,255,.56);backdrop-filter:blur(10px);box-shadow:0 10px 24px rgba(10,31,53,.16)}
.badge-warm{background:var(--warm-100);color:var(--warm-600)}
.badge-ocean{background:var(--primary-100);color:var(--primary-700)}

/* SECTION HEADER */
.section-header{margin-bottom:clamp(1.35rem,3.5vw,2.35rem)}
.section-header.centered{text-align:center}
.section-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem}
.section-eyebrow::before{content:'';display:block;width:28px;height:3px;background:var(--gold-400);border-radius:2px;flex-shrink:0}
.section-header.centered .section-eyebrow{justify-content:center}
.section-eyebrow .label{color:var(--gold-600)}

/* HERO */
.hero{min-height:100svh;padding-top:var(--nav-h);background:var(--primary-900);position:relative;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at 80% 20%, rgba(240,180,41,.1) 0%, transparent 55%),radial-gradient(ellipse 60% 70% at 10% 80%, rgba(33,128,224,.15) 0%, transparent 55%)}
.hero-bg-grid{display:none}
.hero-bg-orb{display:none}
.hero-content{position:relative;z-index:1;width:100%;padding:2rem 0;padding-top:50px}
.hero-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;text-align:center}
@media(min-width:900px){.hero-layout{grid-template-columns:1.1fr .9fr;gap:4rem;text-align:left}}
.hero-eyebrow{margin-bottom:1rem;display:flex;justify-content:center}
@media(min-width:900px){.hero-eyebrow{justify-content:flex-start}}
.hero-title{color:#f7f9fb;margin-bottom:1rem;max-width:13.5ch;text-shadow:none}
.hero-title-full,.hero-title-compact{display:block}
.hero-title-compact{display:none}
.hero-title .accent{color:var(--gold-400)}
.hero-subtitle{color:rgba(240,245,249,.88);margin-bottom:1.5rem;max-width:640px}
@media(max-width:899px){.hero-subtitle{margin-left:auto;margin-right:auto}}
.hero-actions{display:flex;gap:.875rem;flex-wrap:wrap;margin-bottom:1.5rem;justify-content:center}
@media(min-width:900px){.hero-actions{justify-content:flex-start}}
.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.08);border-radius:var(--radius-md);overflow:hidden}
@media(min-width:500px){.hero-stats{grid-template-columns:repeat(4,1fr)}}
.hero-stat{padding:.75rem;text-align:center;background:rgba(255,255,255,.04)}
.hero-stat-num{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);color:var(--gold-400);line-height:1;font-weight:900}
.hero-stat-num .unit{font-size:.8em;color:rgba(255,255,255,.5)}
.hero-stat-label{font-size:.65rem;color:rgba(255,255,255,.45);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.hero-visual{display:none;flex-direction:column;gap:1rem}
@media(min-width:900px){.hero-visual{display:flex}}

/* Hero feature cards (alias hero-card) */
.hero-card,.hero-feat-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.875rem;backdrop-filter:blur(10px);transition:background .3s;animation:floatCard 5s ease-in-out infinite}
.hero-card:nth-child(2),.hero-feat-card:nth-child(2){animation-delay:-2.5s;margin-left:1.5rem}
.hero-card:nth-child(3),.hero-feat-card:nth-child(3){animation-delay:-1.2s;margin-left:.75rem}
.hero-card:hover,.hero-feat-card:hover{background:rgba(255,255,255,.13)}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-card-icon,.hero-feat-icon{width:40px;height:40px;border-radius:10px;background:rgba(240,180,41,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#F7CD62}
.hero-card-icon svg,.hero-feat-icon svg{stroke:#F7CD62;color:#F7CD62}
.hero-card-title,.hero-feat-title{color:var(--white);font-weight:700;font-size:.85rem;margin-bottom:.25rem}
.hero-card-text,.hero-feat-text{color:rgba(255,255,255,.82);font-size:.75rem;line-height:1.5}

/* PREMIUM HERO */
.hero-premium{min-height:90svh;padding-top:calc(var(--nav-h) + 1.1rem);padding-bottom:1.5rem;background:
linear-gradient(90deg,rgba(7,20,34,.992) 0%,rgba(10,26,44,.978) 26%,rgba(14,34,56,.9) 50%,rgba(18,41,66,.44) 74%,rgba(19,43,69,.12) 100%),url('https://images.pexels.com/photos/1181677/pexels-photo-1181677.jpeg?auto=compress&cs=tinysrgb&w=1400') right calc(50% + var(--hero-parallax-y, 0px)) / cover no-repeat;transition:background-position .18s ease-out}
.hero-premium-noise{display:none}
.hero-premium-wrap{position:relative;z-index:1}
.hero-premium-shell{position:relative;display:flex;flex-direction:column;align-items:flex-start;row-gap:1rem;padding:calc(clamp(3.7rem,8.1vh,6.05rem) + 25px) 0 0;border-radius:0;background:transparent;border:0;box-shadow:none;max-width:1240px;margin:0 auto;overflow:visible;min-height:calc(90svh - var(--nav-h) - 2.6rem);justify-content:flex-start}
.hero-premium-bottom{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.58rem,1.08vw,.84rem);margin-left:calc(clamp(-470px,-24vw,-210px) - 108px);padding-top:0;transform:none}
.hero-premium-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;padding:clamp(.55rem,1vw,.8rem) 0 0;min-width:0;max-width:820px;margin-left:0}
.hero-premium-copy::before{display:none}
.hero-safe-text{color:rgba(247,249,252,.94)}
.hero-chip-row{display:flex;gap:.85rem;flex-wrap:wrap;justify-content:flex-start;margin-top:10px}
.hero-chip{display:inline-flex;align-items:center;padding:.72rem 1.15rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.97);font-size:.82rem;font-weight:800;box-shadow:none}
.hero-visual-badges{display:none}
.hero-visual-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .85rem;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(244,247,250,.92);font-size:.74rem;font-weight:600}
.hero-visual-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--gold-300),var(--primary-400));box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.hero-premium-media{display:none}
.hero-photo-frame{position:relative;height:100%;min-height:560px;border-radius:30px;overflow:hidden;background:#b9c8d7 url('https://images.pexels.com/photos/11025020/pexels-photo-11025020.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;box-shadow:0 28px 70px rgba(7,19,31,.18)}
.hero-photo{display:none}
.hero-photo-overlay{position:absolute;inset:0;background:
linear-gradient(180deg,rgba(8,22,38,.08) 0%,rgba(8,22,38,.18) 100%)}
.hero-photo-frame::after{content:'Проектная учеба и цифровая среда';position:absolute;left:1.25rem;right:1.25rem;bottom:1.2rem;padding:1rem 1.05rem;border-radius:22px;background:rgba(8,25,42,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);color:#fff;font-family:var(--font-display);font-size:clamp(.85rem,1.2vw,1rem);line-height:1.45}
.hero-premium-media::before{display:none}
.hero-photo-cut{display:none}
.hero-action-dock{display:flex;flex-wrap:wrap;gap:1rem;z-index:4;margin-top:.38rem;align-content:center;justify-content:flex-start;margin-left:0}
@media(min-width:760px){.hero-action-dock{grid-template-columns:none;max-width:none}}
.hero-dock-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:58px;padding:1.08rem 1.7rem;border-radius:var(--radius-button);font-weight:800;font-size:.94rem;line-height:1;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s,color .22s;border:2px solid var(--cta-yellow);background:var(--cta-yellow);color:var(--cta-text);box-shadow:var(--cta-shadow)}
.hero-dock-btn:hover{background:var(--cta-yellow-hover);border-color:var(--cta-yellow-hover);color:var(--cta-text);transform:translateY(-2px);box-shadow:var(--cta-shadow-hover)}
.hero-dock-btn:active{background:var(--cta-yellow-active);border-color:var(--cta-yellow-active);transform:translateY(0);box-shadow:var(--cta-shadow)}
.hero-action-dock .hero-dock-btn{min-width:230px}
.hero-dock-btn-primary{background:var(--cta-yellow);color:var(--cta-text);border-color:var(--cta-yellow);box-shadow:var(--cta-shadow)}
.hero-dock-btn-secondary{background:rgba(207,217,227,.12);color:rgba(237,242,247,.96);border-color:rgba(207,217,227,.24);box-shadow:none;backdrop-filter:blur(10px)}
.hero-dock-btn-secondary:hover{background:rgba(219,227,234,.18);color:#fff;border-color:rgba(219,227,234,.34);box-shadow:0 12px 28px rgba(5,17,30,.18)}
.hero-dock-btn-secondary:active{background:rgba(195,207,218,.16);color:#fff;border-color:rgba(195,207,218,.28);box-shadow:none}
.hero-floating-card{display:none}
.hero-floating-card-top{left:16px;bottom:18px}
@media(max-width:979px){.hero-floating-card-top{left:14px;right:14px;bottom:14px;max-width:none}}
.hero-floating-kicker{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300);font-weight:800;margin-bottom:.55rem}
.hero-floating-title{font-size:.92rem;line-height:1.6;color:rgba(246,249,252,.94);font-weight:700}
.hero-insights-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:.95rem}
@media(min-width:900px){.hero-insights-grid{grid-template-columns:1fr 1fr 1.15fr}}
.hero-insight-card{background:rgba(255,255,255,.97);border-radius:var(--radius-surface);padding:1.15rem 1.1rem;border:1px solid rgba(62,77,94,.1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.hero-insight-card::after{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,var(--primary-400),var(--gold-300));opacity:.9}
.hero-insight-title{font-family:var(--font-display);font-size:1rem;line-height:1.35;color:var(--primary-900);margin-bottom:.55rem}
.hero-insight-text{font-size:.86rem;line-height:1.75;color:var(--gray-700)}
.hero-premium-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.hero-premium-stat{padding:1rem;border-radius:var(--radius-surface);background:linear-gradient(180deg,var(--gray-50),#fff);border:1px solid var(--gray-100)}
.hero-premium-stat strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1;color:var(--primary-900);margin-bottom:.35rem}
.hero-premium-stat span{font-size:.76rem;font-weight:700;color:var(--gray-600)}

@media(min-width:980px){
  .hero-premium .hero-title{
      font-size:clamp(2.22rem,2.7vw,2.85rem);
      line-height:1.1;
      max-width:20ch;
  }
  .hero-premium .hero-subtitle{
      max-width:37rem;
  }
}

@media(max-width:1199px){
  .hero-premium-shell{padding-top:calc(clamp(2.85rem,5.9vh,4.1rem) + 25px)}
  .hero-premium-bottom{margin-left:clamp(-84px,-6vw,-28px);padding-top:0;transform:none}
  .hero-premium-copy{max-width:100%}
  .hero-premium{min-height:90svh;padding-bottom:clamp(1.75rem,4vw,2.75rem)}
  .home-page{background:linear-gradient(180deg,#0b2238 0, #12314f 540px, #ffffff 540px, #ffffff 100%)}
}

.hero-premium .hero-title{color:rgba(211,220,229,.96);-webkit-text-stroke:0 transparent;paint-order:normal;text-shadow:none;margin-bottom:clamp(1.1rem,1.8vw,1.55rem)}
.hero-premium .hero-subtitle{color:rgba(194,205,216,.9);text-shadow:none;margin-bottom:clamp(.95rem,1.6vw,1.2rem);line-height:1.72}
.hero-photo-frame::after{display:none !important}

.summary-list-text,
.section-panel-text,
.dir-full-desc,
.adv-body,
.news-excerpt,
.result-text,
.doc-text,
.faq-a,
.timeline-text,
.contact-note,
.transport-list,
.feature-text,
.soft-card-text,
.intl-text,
.parent-card-text{
  font-weight:500;
}

.summary-list-text,
.section-panel-text,
.dir-full-desc,
.adv-body,
.news-excerpt,
.result-text,
.doc-text,
.timeline-text,
.contact-note,
.transport-list,
.feature-text,
.soft-card-text,
.intl-text,
.parent-card-text{
  color:var(--gray-700);
}

[data-aos]{will-change:transform,opacity;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1)}

.section-premium-overview{display:none}
.premium-overview-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.premium-overview-grid{grid-template-columns:repeat(3,1fr)}}
.premium-overview-card{position:relative;padding:1.5rem;border-radius:var(--radius-surface);background:#fff;border:1px solid var(--gray-100);box-shadow:none;overflow:hidden}
.premium-overview-card::after{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--gold-300))}
.premium-overview-num{font-family:var(--font-display);font-size:.9rem;color:var(--gold-600);margin-bottom:1rem}
.premium-overview-text{font-size:.87rem;color:var(--gray-700);line-height:1.75;margin-top:.5rem}
.premium-dir-card{background:#fff}

/* TRUST BAR */
.trust-bar{background:var(--cream);border-bottom:1px solid var(--warm-200);padding:.875rem 0;overflow:hidden}
.trust-bar-inner{display:flex;gap:2.5rem;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.trust-bar-inner::-webkit-scrollbar{display:none}
.trust-item{display:flex;align-items:center;gap:.6rem;white-space:nowrap;flex-shrink:0;font-size:.78rem;font-weight:700;color:var(--warm-600)}
.trust-item-icon,.trust-item svg{width:15px;height:15px;flex-shrink:0;color:var(--warm-500)}
.trust-sep{width:1px;height:18px;background:var(--warm-300);flex-shrink:0}

/* ADVANTAGES */
.advantages,.advantages-bg{background:var(--off-white)}
.adv-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:600px){.adv-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.adv-grid{grid-template-columns:repeat(3,1fr)}}
.adv-card{background:var(--white);border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2rem);border:1px solid var(--warm-100);transition:transform .14s ease-out,box-shadow .14s ease-out,border-color .14s ease-out,background-color .14s ease-out;position:relative;overflow:hidden;will-change:transform;cursor:pointer}
.adv-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-400),var(--gold-300));transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.adv-card:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 22px 48px rgba(14,39,66,.16);border-color:rgba(71,108,138,.24);background:#fff}
.adv-card:hover::after{transform:scaleX(1)}
.adv-icon{width:60px;height:60px;border-radius:var(--radius-md);background:var(--primary-100);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:transform .14s ease-out,background-color .14s ease-out,box-shadow .14s ease-out}
.adv-card:hover .adv-icon{transform:translateY(-2px) scale(1.08);background:var(--primary-50);box-shadow:0 10px 22px rgba(32,74,115,.14)}
.adv-icon svg{color:var(--primary-700);stroke:var(--primary-700)}
.adv-card .h3{margin-bottom:.5rem;color:var(--primary-900);transition:transform .14s ease-out}
.adv-card:hover .h3{transform:translateY(-1px)}
.adv-body{font-size:.919rem;color:var(--gray-700);line-height:1.75}
.adv-rating{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}
.adv-stars{color:var(--gold-400);font-size:.95rem}
.adv-rating-text{font-size:.75rem;color:var(--warm-600);font-weight:700}

/* DIRECTIONS */
.directions-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:600px){.directions-grid{grid-template-columns:repeat(2,1fr)}}
.dir-card{border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,1.75rem);border:1.5px solid var(--warm-200);background:var(--white);transition:all .3s;cursor:pointer;display:flex;flex-direction:column;gap:.875rem}
.dir-card:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.dir-card-header{display:flex;align-items:center;gap:1rem}
.dir-emoji{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--primary-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dir-emoji svg{color:var(--primary-700);stroke:var(--primary-700)}
.dir-card-title{font-weight:700;font-size:.95rem;color:var(--primary-900)}
.dir-card-count{font-size:.788rem;color:var(--warm-400);margin-top:2px;font-weight:600}
.dir-tags{display:flex;gap:6px;flex-wrap:wrap}
.dir-tag{padding:4px 10px;border-radius:100px;background:var(--primary-50);border:1px solid var(--primary-200);font-size:.735rem;font-weight:700;color:var(--primary-700)}

/* LANGUAGES */
.langs,.langs-section{background:linear-gradient(180deg,#102944 0%,#1a3f63 100%);overflow:hidden;position:relative}
.langs::before,.langs-section::before{display:none}
.langs-inner,.langs-section .container{position:relative;z-index:1}
.langs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
@media(min-width:480px){.langs-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.langs-grid{grid-template-columns:repeat(5,1fr)}}
.lang-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;transition:all .3s}
.lang-card:hover{background:rgba(255,255,255,.15);transform:translateY(-4px);border-color:rgba(240,180,41,.22)}
.lang-flag{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.08em;margin-bottom:.6rem;color:var(--gold-300)}
.lang-name{color:var(--white);font-weight:700;font-size:.88rem}
.lang-sub{color:rgba(255,255,255,.7);font-size:.788rem;margin-top:3px}

/* NEWS */
.news-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.news-grid{grid-template-columns:repeat(3,1fr)}}
.news-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--warm-100);transition:all .3s}
.news-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.news-img{height:200px;object-fit:cover;width:100%}
.news-img-placeholder{height:200px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,var(--primary-800),var(--primary-600))}
.news-placeholder-icon{width:56px;height:56px;color:rgba(255,255,255,.9);stroke:currentColor;stroke-width:1.7;fill:none}
.news-body{padding:clamp(1rem,3vw,1.5rem)}
.news-date{font-size:.756rem;color:var(--warm-400);font-weight:700;margin-bottom:.5rem}
.news-title{font-weight:700;font-size:.92rem;color:var(--primary-900);line-height:1.45;margin-bottom:.75rem}
.news-excerpt{font-size:.861rem;color:var(--gray-700);line-height:1.7}
.news-card-link,.news-featured-link{display:block;color:inherit}
.news-card-link:focus-visible,.news-featured-link:focus-visible{outline:3px solid rgba(42,93,136,.22);outline-offset:4px;border-radius:calc(var(--radius-surface) + 4px)}

/* CTA BLOCK */
.cta-block{background:linear-gradient(135deg,#0d2743 0%, #16375a 52%, #204a73 100%);border-radius:var(--radius-surface);padding:clamp(2.5rem,7vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center;position:relative;overflow:hidden;margin:0 clamp(.5rem,2vw,1rem);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(14,39,66,.2)}
.cta-block::before,.cta-block::after{display:none}
.cta-block-inner{position:relative;z-index:1}
.cta-title{color:var(--white);margin-bottom:1rem}
.cta-text{color:rgba(255,255,255,.84);margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cta-block .btn-ghost{
  background:transparent;
  color:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.28);
  box-shadow:none;
}
.cta-block .btn-ghost:hover{
  background:rgba(255,255,255,.08);
  color:var(--white);
  border-color:rgba(255,255,255,.42);
  box-shadow:none;
}
.cta-block .btn-ghost:active{
  background:rgba(255,255,255,.14);
  color:var(--white);
  border-color:rgba(255,255,255,.42);
  box-shadow:none;
}

/* SCROLL TOP */
.scroll-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;width:48px;height:48px;border-radius:50%;background:var(--primary-700);color:var(--white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:all .3s;font-size:1rem;-webkit-tap-highlight-color:transparent}
.scroll-top.visible{opacity:1;pointer-events:all}
.scroll-top:hover{background:var(--primary-600);transform:translateY(-3px)}

/* FOOTER */
.footer{background:linear-gradient(180deg,#102944 0%,#0d2743 100%);color:var(--white);padding:clamp(3rem,7vw,5rem) 0 2rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}}
.footer-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:1.25rem}
.footer-brand-badge,.footer-brand-emblem{width:58px;height:58px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;border:none;box-shadow:none;outline:none}
.footer-brand-badge .site-logo-mark,.footer-brand-emblem .site-logo-mark{width:100%;height:100%;object-fit:contain;border-radius:50%;border:none;box-shadow:none;outline:none;transform:none;transform-origin:center}
.footer-brand-badge span,.footer-brand-emblem span{font-family:var(--font-display);color:var(--white);font-size:1rem}
.footer-brand-name{font-family:var(--font-display);font-weight:700;font-size:.88rem}
.footer-brand-sub{font-size:.651rem;color:rgba(255,255,255,.4);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.footer-desc{font-size:.84rem;color:rgba(255,255,255,.74);line-height:1.8;margin-bottom:1.25rem}
.footer-contacts{display:flex;flex-direction:column;gap:.6rem}
.footer-contact{display:flex;align-items:center;gap:8px;font-size:.84rem;color:rgba(255,255,255,.76)}
.footer-contact svg{flex-shrink:0}
.footer-col-title{font-family:var(--font-display);font-weight:600;font-size:.756rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.64);margin-bottom:1.1rem}
.footer-links{display:flex;flex-direction:column;gap:.65rem}
.footer-link{font-size:.861rem;color:rgba(255,255,255,.78);transition:color .2s}
.footer-link:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
.footer-bottom-text{font-size:.788rem;color:rgba(255,255,255,.3)}
.footer-credit{margin-top:.8rem;font-size:.64rem;line-height:1.4;text-align:center;color:rgba(255,255,255,.14);letter-spacing:.04em}

/* PAGE HERO */
.page-hero{background:
linear-gradient(180deg,rgba(13,39,67,.9) 0%, rgba(23,56,91,.88) 100%),
var(--page-hero-image, linear-gradient(180deg,#0d2743 0%, #16375a 100%));background-size:cover;background-position:center center;padding:calc(var(--nav-h) + clamp(1.9rem,3.4vw,2.8rem)) 0 clamp(1.9rem,3.4vw,2.8rem);min-height:clamp(320px,34vw,430px);display:flex;align-items:center;position:relative;overflow:hidden}
.page-hero-eyebrow{display:none}
.page-hero::before,.page-hero::after{display:none}
.page-hero-inner{position:relative;z-index:1;width:100%}
.about-hero-inner{max-width:1400px}
.education-hero-inner{max-width:1400px}
.page-hero-eyebrow{margin-bottom:1rem}
.page-hero-title{color:var(--white);margin-bottom:1rem;max-width:900px;overflow-wrap:anywhere}
.about-hero-title{max-width:1200px;overflow-wrap:normal;word-break:normal}
.about-hero-title span{display:block}
.education-hero-title{max-width:1150px;overflow-wrap:normal;word-break:normal}
.education-hero-title span{display:block}
.page-hero-subtitle{color:rgba(255,255,255,.86);max-width:640px}
.page-hero.page-hero-photo .page-hero-subtitle{max-width:720px}

/* STEPS */
.steps{display:flex;flex-direction:column}
.step{display:flex;gap:1.5rem;padding-bottom:2rem}
.step:last-child{padding-bottom:0}
.step-left{display:flex;flex-direction:column;align-items:center}
.step-num{width:48px;height:48px;border-radius:50%;background:var(--primary-700);color:var(--white);font-family:var(--font-display);font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-line{width:2px;flex:1;background:var(--warm-200);margin-top:8px}
.step:last-child .step-line{display:none}
.step-content{padding-top:10px}
.step-title{font-weight:700;font-size:.95rem;margin-bottom:.4rem;color:var(--primary-900)}
.step-text{color:var(--warm-600);font-size:.919rem;line-height:1.75}

/* DOCS */
.docs-grid{display:grid;grid-template-columns:1fr;gap:.875rem}
@media(min-width:600px){.docs-grid{grid-template-columns:repeat(2,1fr)}}
.doc-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--warm-100);background:var(--white);transition:all .2s}
.doc-item:hover{border-color:var(--primary-200);background:var(--primary-50)}
.doc-num{width:32px;height:32px;border-radius:8px;background:var(--primary-100);color:var(--primary-700);font-weight:800;font-size:.78rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-text{font-size:.919rem;color:var(--warm-600);line-height:1.6}

/* FAQ */
.faq-item{border-bottom:1px solid var(--warm-100)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;cursor:pointer;font-weight:700;font-size:.95rem;color:var(--primary-900);gap:1rem;-webkit-tap-highlight-color:transparent}
.faq-icon{width:30px;height:30px;border-radius:50%;background:var(--warm-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;font-size:1rem;color:var(--primary-700)}
.faq-item.open .faq-icon{background:var(--primary-100);transform:rotate(45deg)}
.faq-a{display:none;padding:0 0 1.25rem;font-size:.919rem;color:var(--warm-600);line-height:1.8}
.faq-item.open .faq-a{display:block}

/* NOTICE */
.notice{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.25rem;border-radius:var(--radius-md)}
.notice-info{background:var(--primary-50);border:1px solid var(--primary-100)}
.notice-warn{background:var(--gold-50);border:1px solid var(--gold-100)}
.notice-icon{width:40px;height:40px;border-radius:12px;background:var(--white);border:1px solid rgba(15,35,60,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;color:var(--primary-700)}
.notice-icon svg{width:18px;height:18px;stroke:currentColor}
.notice-text{font-size:.919rem;color:var(--warm-700);line-height:1.75}

/* STAT STRIP */
.stat-strip{background:var(--primary-900);padding:clamp(2rem,5vw,3rem) 0}
.stat-strip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.06);border-radius:var(--radius-lg);overflow:hidden}
@media(min-width:900px){.stat-strip-grid{grid-template-columns:repeat(4,1fr)}}
.stat-strip-item{background:var(--primary-900);padding:clamp(1.5rem,4vw,2.5rem) 1.5rem;text-align:center;transition:background .2s}
.stat-strip-item:hover{background:var(--primary-800)}
.stat-strip-num{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3rem);color:var(--gold-400);line-height:1;margin-bottom:.4rem;font-weight:900}
.stat-strip-label{color:rgba(255,255,255,.5);font-size:.78rem;font-weight:600}

/* TIMELINE */
.timeline{position:relative;padding-left:2.25rem}
.timeline::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary-600),var(--primary-100))}
.timeline-item{position:relative;margin-bottom:2.5rem}
.timeline-item:last-child{margin-bottom:0}
.timeline-dot{position:absolute;left:-2.25rem;top:4px;width:22px;height:22px;border-radius:50%;background:var(--primary-700);border:3px solid var(--white);box-shadow:0 0 0 3px var(--primary-200)}
.timeline-year{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);margin-bottom:.35rem}
.timeline-title{font-weight:800;margin-bottom:.35rem;color:var(--primary-900)}
.timeline-text{font-size:.875rem;color:var(--warm-600);line-height:1.75}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}
.grid-3{display:grid;grid-template-columns:1fr;gap:1.25rem}
.grid-4{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
.edu-two-col{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
@media(min-width:900px){.edu-two-col{grid-template-columns:1fr 1fr;gap:4rem}}
.about-two-col{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
@media(min-width:900px){.about-two-col{grid-template-columns:1.2fr 1fr;gap:5rem}}

/* ABOUT / LEADERS */
.about-mission{background:var(--primary-900);border-radius:var(--radius-xl);padding:clamp(2rem,6vw,3.5rem);color:var(--white)}
.about-mission .lead{color:rgba(255,255,255,.86)}
.about-mission-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.about-mission-grid{grid-template-columns:1fr 2fr;gap:3rem;align-items:center}}
.mission-spotlight{position:relative;overflow:hidden;background:
  radial-gradient(circle at top right, rgba(247,205,98,.18), transparent 28%),
  linear-gradient(135deg, #0f2944 0%, #17385a 54%, #102944 100%)}
.mission-spotlight-grid{align-items:start}
@media(min-width:980px){.mission-spotlight-grid{grid-template-columns:1.08fr .92fr;gap:2rem}}
.mission-spotlight-copy{display:flex;flex-direction:column}
.mission-spotlight-note{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.05rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 20px 40px rgba(4,16,30,.18)}
.mission-spotlight-note .notice-icon{background:rgba(255,255,255,.96);border:none;color:var(--primary-700);margin-top:0}
.mission-spotlight-note-text{font-size:.96rem;line-height:1.75;color:rgba(255,255,255,.88)}
.mission-spotlight-points{display:grid;grid-template-columns:1fr;gap:1rem}
.mission-point{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.05rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;backdrop-filter:blur(6px);box-shadow:0 18px 36px rgba(4,16,30,.16)}
.mission-point .icon-chip{background:rgba(255,255,255,.92);color:var(--primary-700);border:none;min-width:48px;width:48px;height:48px;box-shadow:none}
.mission-point .summary-list-text{color:rgba(255,255,255,.82)}
.leadership-grid{display:grid;grid-template-columns:1fr;gap:1.1rem}
@media(min-width:640px){.leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.leadership-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.staff-card{display:flex;flex-direction:column;align-items:center;height:100%;text-align:center;background:linear-gradient(180deg,#fff 0%,var(--off-white) 100%);border:1px solid var(--warm-100);border-radius:var(--radius-surface);padding:1.15rem 1rem 1.2rem;box-shadow:var(--shadow-xs);transition:transform .25s,box-shadow .25s,border-color .25s}
.staff-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-200)}
.staff-card-photo-wrap{width:min(100%,125px);aspect-ratio:1/1.14;border-radius:var(--radius-surface);overflow:hidden;background:linear-gradient(180deg,var(--primary-50),#eef3f7);border:1px solid var(--primary-100);box-shadow:0 10px 22px rgba(32,74,115,.10);margin-bottom:.95rem}
.staff-card-photo{width:100%;height:100%;object-fit:cover;object-position:center top}
.staff-card-body{display:flex;flex-direction:column;align-items:center;gap:.6rem;flex:1;width:100%}
.staff-card-role{display:inline-flex;align-self:center;padding:.36rem .7rem;border-radius:999px;background:var(--primary-50);border:1px solid var(--primary-100);color:var(--primary-700);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.staff-card-name{font-family:var(--font-display);font-size:.92rem;line-height:1.4;color:var(--primary-900);max-width:18ch}
.staff-card-text{font-size:.85rem;line-height:1.62;color:var(--gray-700);max-width:30ch}
.achievement-card{position:relative;overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),border-color .32s ease,background-color .32s ease}
.achievement-card::before{content:'';position:absolute;inset:-35% auto auto -15%;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(238,179,58,.18) 0%,rgba(238,179,58,0) 72%);opacity:0;transform:translate3d(-10px,-10px,0);transition:opacity .35s ease,transform .35s ease}
.achievement-card::after{content:'';position:absolute;left:1.1rem;right:1.1rem;bottom:0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--gold-400),var(--primary-400));transform:scaleX(.18);transform-origin:left;transition:transform .34s cubic-bezier(.22,1,.36,1)}
.achievement-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(14,39,66,.10);border-color:var(--primary-200);background:#fff}
.achievement-card:hover::before{opacity:1;transform:translate3d(0,0,0)}
.achievement-card:hover::after{transform:scaleX(1)}
.achievement-card .summary-list-item{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.achievement-card:hover .summary-list-item{transform:translateY(-2px)}
.achievement-card .icon-chip{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,background-color .32s ease}
.achievement-card:hover .icon-chip{transform:scale(1.08);box-shadow:0 12px 26px rgba(32,74,115,.18)}
.leader-card{text-align:center;padding:clamp(1.5rem,4vw,2rem);border-radius:var(--radius-lg);border:1px solid var(--warm-100);transition:all .3s;background:var(--white)}
.leader-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.leader-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 1rem;background:var(--primary-700);display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--white)}
.leader-name{font-weight:700;margin-bottom:.25rem;color:var(--primary-900)}
.leader-role{font-size:.8rem;color:var(--warm-400)}

/* GALLERY */
.gallery-grid{columns:1;column-gap:.875rem}
@media(min-width:480px){.gallery-grid{columns:2}}
@media(min-width:900px){.gallery-grid{columns:3}}
.gallery-item{break-inside:avoid;margin-bottom:.875rem;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .3s}
.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}
.gallery-item img{transition:transform .45s ease,filter .35s ease}
.gallery-item:hover img{transform:scale(1.04);filter:saturate(1.02)}
.gallery-placeholder{background:var(--primary-800);display:flex;align-items:center;justify-content:center;font-size:2rem;color:rgba(255,255,255,.3)}
.gallery-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:clamp(1.5rem,4vw,2.5rem);overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.gallery-tabs::-webkit-scrollbar{display:none}
.gallery-tab{padding:8px 18px;border-radius:var(--radius-button);font-size:.82rem;font-weight:700;background:var(--warm-100);color:var(--warm-600);border:1.5px solid transparent;transition:all .2s;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.gallery-tab:hover{background:var(--primary-50);color:var(--primary-700)}
.gallery-tab.active{background:var(--primary-700);color:var(--white);border-color:var(--primary-700)}
.media-view-switch{background:linear-gradient(180deg,#fff 0%,var(--off-white) 100%);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:clamp(1.1rem,3vw,1.5rem);box-shadow:var(--shadow-sm)}
.media-view-switch-row{display:flex;flex-direction:column;gap:1rem}
@media(min-width:900px){.media-view-switch-row{flex-direction:row;align-items:center;justify-content:space-between;gap:1.25rem}}
.media-view-switch-title{margin-bottom:0}
.media-view-switch-tabs{margin-bottom:0;padding:.35rem;background:rgba(32,74,115,.06);border:1px solid rgba(32,74,115,.1);border-radius:999px;width:max-content;max-width:100%}
.media-view-switch-tabs .gallery-tab{padding:.8rem 1.3rem;background:transparent;color:var(--primary-700);border-color:transparent}
.media-view-switch-tabs .gallery-tab:hover{background:rgba(32,74,115,.08);color:var(--primary-800)}
.media-view-switch-tabs .gallery-tab.active{background:var(--primary-700);color:#fff;box-shadow:0 10px 22px rgba(32,74,115,.18)}

/* CONTACTS */
.contacts-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}
@media(min-width:900px){.contacts-grid{grid-template-columns:1fr 1.5fr}}
.contact-info{display:flex;flex-direction:column;gap:1.25rem}
.contact-card{padding:clamp(1.25rem,4vw,1.75rem);border-radius:var(--radius-lg);border:1px solid var(--warm-100);background:var(--white);display:flex;gap:1.25rem;align-items:flex-start}
.contact-card-bot{background:linear-gradient(180deg,#fff 0%,var(--primary-50) 100%);border-color:var(--primary-100)}
.contact-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-50);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.contact-icon svg{width:20px;height:20px;stroke:var(--primary-700)}
.contact-label{font-size:.683rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-400);margin-bottom:.25rem}
.contact-value{font-weight:700;color:var(--primary-900);font-size:.998rem}
.contact-value a{color:var(--primary-600)}
.contact-value a:hover{text-decoration:underline}
.contact-helper{font-size:.8rem;color:var(--gray-400);margin-top:.4rem;line-height:1.6}
.map-container{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--warm-100);height:min(450px,60vw);min-height:280px;background:var(--warm-100)}
.map-container iframe{width:100%;height:100%;border:none;display:block}

/* RESULTS */
.results-cards{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.results-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.results-cards{grid-template-columns:repeat(3,1fr)}}
.result-card{border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2rem);background:var(--white);border:1px solid var(--warm-100);text-align:center;transition:all .3s}
.result-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.result-icon{font-size:2.5rem;margin-bottom:1rem}
.result-title{font-weight:700;margin-bottom:.5rem;color:var(--primary-900)}
.result-text{font-size:.919rem;color:var(--warm-600);line-height:1.7}

/* INTERNATIONAL */
.intl-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.intl-grid{grid-template-columns:1fr 1fr}}
.intl-region{border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--warm-100);background:var(--white)}
.intl-region-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--warm-100)}
.intl-flag{font-size:1.75rem}
.intl-region-title{font-weight:800;font-size:1.35rem;line-height:1.2;color:var(--primary-900)}
.intl-region-sub{font-size:.92rem;color:var(--warm-500);font-weight:600}
.intl-item{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--warm-50)}
.intl-item:last-child{border-bottom:none}
.intl-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-400);flex-shrink:0;margin-top:7px}
.intl-text{font-size:1rem;color:var(--warm-700);line-height:1.7;font-weight:500}
.intl-highlight{background:var(--primary-900);border-radius:var(--radius-lg);padding:clamp(1.5rem,5vw,2.5rem);color:var(--white);text-align:center;margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
.intl-highlight-num{font-family:var(--font-display);font-size:clamp(3rem,8vw,4.5rem);color:var(--gold-400);line-height:1}
.intl-highlight-title{font-weight:700;font-size:1.05rem}
.intl-highlight-sub{color:rgba(255,255,255,.65);font-size:.875rem}
@media(min-width:600px){.intl-highlight{flex-direction:row;text-align:left;gap:2rem}}

/* PARTNERS */
.partners-row{display:flex;gap:1rem;flex-wrap:wrap}
.partner-pill{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.35rem;border-radius:var(--radius-button);background:var(--white);border:1px solid var(--warm-100);box-shadow:var(--shadow-sm);font-size:.84rem;font-weight:700;color:var(--warm-700);transition:all .2s}
.partner-pill:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.partner-flag{font-size:1.1rem}

/* FEATURES */
.feature-list{display:flex;flex-direction:column;gap:.875rem}
.feature-item{display:flex;gap:.875rem;padding:1.1rem;background:var(--white);border-radius:var(--radius-md);border:1px solid var(--warm-100);transition:all .2s}
.feature-item:hover{border-color:var(--primary-200);background:var(--primary-50)}
.feature-icon{width:44px;height:44px;background:var(--primary-100);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.feature-icon svg{width:20px;height:20px;stroke:var(--primary-700)}
.feature-title{font-weight:700;font-size:.92rem;margin-bottom:.2rem;color:var(--primary-900)}
.feature-text{font-size:.84rem;color:var(--warm-600);line-height:1.65}

/* TAGS */
.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem}
.tag{padding:6px 14px;border-radius:var(--radius-button);font-size:.809rem;font-weight:700;background:var(--warm-100);border:1.5px solid var(--warm-200);color:var(--warm-600);transition:all .2s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tag:hover,.tag.active{background:var(--primary-700);color:var(--white);border-color:var(--primary-700)}

/* QUOTE */
.quote-block{background:var(--primary-50);border-left:4px solid var(--primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:clamp(1.5rem,4vw,2rem) clamp(1.5rem,4vw,2.5rem);position:relative}
.quote-block::before{content:'"';position:absolute;top:-16px;left:1.25rem;font-size:5rem;color:var(--primary-200);font-family:var(--font-serif);line-height:1}
.quote-text{font-family:var(--font-serif);font-size:clamp(.95rem,2vw,1.1rem);color:var(--primary-900);line-height:1.8;font-style:italic}
.quote-author{margin-top:1rem;font-size:.861rem;font-weight:700;color:var(--primary-600)}

/* HIGHLIGHT ROW */
.highlight-row{background:var(--primary-900);border-radius:var(--radius-xl);padding:clamp(1.75rem,5vw,3rem) clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;color:var(--white)}
@media(min-width:768px){.highlight-row{grid-template-columns:1fr auto}}
.highlight-row-title{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-bottom:.5rem}
.highlight-row-text{color:rgba(255,255,255,.6);font-size:.945rem;line-height:1.8}

/* ACADEMIC UI */
.split-hero-cards{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.split-hero-cards{grid-template-columns:repeat(2,1fr)}}
.info-panel{background:var(--white);border:1px solid var(--warm-100);border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,2.25rem);box-shadow:var(--shadow-sm)}
.info-panel-dark{background:var(--primary-900);border:1px solid rgba(255,255,255,.1);color:var(--white)}
.info-panel-dark .lead,.info-panel-dark p,.info-panel-dark .muted-on-dark{color:rgba(255,255,255,.86)}
.info-panel-dark .section-mini-title{color:var(--gold-300)}
.section-mini-title{font-size:.756rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600);margin-bottom:.9rem}
.info-list{display:flex;flex-direction:column;gap:1rem}
.info-list-item{display:flex;gap:.9rem;align-items:flex-start}
.icon-chip{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-100);color:var(--primary-700);border:1px solid rgba(20,77,138,.08)}
.icon-chip svg{width:20px;height:20px;stroke:currentColor;fill:none}
.info-panel-dark .icon-chip{background:rgba(255,255,255,.08);color:#F7CD62;border-color:rgba(255,255,255,.08)}
.stat-note{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid rgba(255,255,255,.12)}
.stat-note-value{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);line-height:1;color:var(--gold-300)}
.stat-note-label{font-size:.777rem;color:rgba(255,255,255,.58);margin-top:.35rem}
.soft-card{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,1.75rem)}
.soft-card-title{font-weight:700;color:var(--primary-900);margin-bottom:.45rem}
.soft-card-text{font-size:.903rem;line-height:1.75;color:var(--warm-600)}
.icon-list{display:flex;flex-direction:column;gap:.9rem}
.icon-list-item{display:flex;gap:.85rem;align-items:flex-start}
.icon-list-item .icon-chip{width:40px;height:40px}
.contact-note{margin-top:.85rem;padding:1rem 1.15rem;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);font-size:.861rem;color:var(--gray-700);line-height:1.7}
.transport-card{margin-top:1rem;padding:clamp(1rem,3vw,1.3rem);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100)}
.transport-list{display:flex;flex-direction:column;gap:.8rem;font-size:.861rem;color:var(--gray-700)}
.transport-list strong{color:var(--primary-900)}
.hero-safe-text,.page-hero-safe-text{color:rgba(255,255,255,.78)}
.page-summary-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:clamp(1rem,3vw,1.35rem)}
@media(min-width:960px){.page-summary-grid{grid-template-columns:1.25fr .75fr}}
.page-summary-card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-surface);padding:clamp(1.05rem,3vw,1.5rem);box-shadow:var(--shadow-sm)}
.page-summary-card.dark{background:var(--primary-900);border-color:rgba(255,255,255,.1);color:#fff}
.page-summary-card.dark p,.page-summary-card.dark .summary-list-text,.page-summary-card.dark .muted{color:rgba(255,255,255,.86)}
.quick-links{display:grid;grid-template-columns:1fr;gap:.8rem}
@media(min-width:700px){.quick-links{grid-template-columns:repeat(2,1fr)}}
.quick-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border-radius:var(--radius-button);background:var(--gray-50);border:1px solid var(--gray-100);font-weight:700;color:var(--primary-900);transition:transform .2s,border-color .2s,box-shadow .2s}
.quick-link:hover{transform:translateY(-2px);border-color:var(--primary-200);box-shadow:var(--shadow-sm)}
.quick-link svg{width:18px;height:18px;stroke:var(--primary-700)}
.summary-list{display:flex;flex-direction:column;gap:1rem}
.summary-list-item{display:flex;gap:.85rem;align-items:flex-start}
.summary-list-title{font-weight:700;color:var(--primary-900);margin-bottom:.2rem}
.summary-list-text{font-size:.882rem;color:var(--gray-700);line-height:1.7}
.admissions-table{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:960px){.admissions-table{grid-template-columns:repeat(3,1fr)}}
.admissions-cell{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-surface);padding:1.2rem 1.2rem 1.3rem;box-shadow:var(--shadow-xs)}
.admissions-cell-label{font-size:.735rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);font-weight:800;margin-bottom:.7rem}
.admissions-cell-title{font-family:var(--font-display);font-size:1rem;line-height:1.3;color:var(--primary-900);margin-bottom:.35rem}
.admissions-cell-text{font-size:.893rem;color:var(--gray-700);line-height:1.75}
.section-split{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:960px){.section-split{grid-template-columns:1.1fr .9fr;gap:2rem}}
.section-panel{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-surface);padding:clamp(1.05rem,3vw,1.5rem);box-shadow:var(--shadow-sm)}
.section-panel.soft{background:#fff}
.section-panel.dark{background:var(--primary-900);border-color:rgba(255,255,255,.1);color:#fff}
.section-panel.dark p,.section-panel.dark .section-panel-text,.section-panel.dark .summary-list-text,.section-panel.dark .timeline-text,.section-panel.dark .muted{color:rgba(255,255,255,.86)}
.section-panel-title{font-family:var(--font-display);font-size:clamp(1.1rem,2.8vw,1.55rem);line-height:1.3;color:var(--primary-900);margin-bottom:.8rem;overflow-wrap:anywhere}
.section-panel.dark .section-panel-title{color:#fff}
.section-panel-text{font-size:.966rem;color:var(--gray-700);line-height:1.8}
.fact-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:700px){.fact-grid{grid-template-columns:repeat(2,1fr)}}
.fact-card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-surface);padding:1.15rem 1.2rem;box-shadow:var(--shadow-xs)}
.fact-card strong{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--primary-900);margin-bottom:.35rem}
.fact-card span{font-size:.861rem;color:var(--gray-700);line-height:1.7}
.outcomes-duo{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:980px){.outcomes-duo{grid-template-columns:1fr;gap:0}}
.outcome-stage-card{position:relative;overflow:visible;display:flex;flex-direction:column;min-height:100%;width:100%;max-width:none;margin:0 auto;padding:0;border:none;background:transparent;box-shadow:none;transition:none}
.outcome-stage-card::before,.outcome-stage-card::after{display:none}
.outcome-stage-card:hover{transform:none;box-shadow:none;border-color:transparent}
.outcome-stage-card-dark{background:linear-gradient(180deg,#0f2b48 0%,#0f2640 100%);border-color:rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(14,39,66,.18)}
.outcome-stage-card-dark::before{background:radial-gradient(circle at center,rgba(244,201,106,.14) 0%,rgba(244,201,106,0) 72%)}
.outcome-stage-card-dark::after{background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 72%)}
.outcome-stage-topline,.outcome-stage-title,.outcome-stage-lead,.outcome-stage-pills,.outcome-stage-track,.outcome-result-grid{position:relative;z-index:1}
.outcome-stage-topline{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.7rem}
.outcome-stage-tag{display:inline-flex;align-items:center;min-height:30px;padding:.42rem .7rem;border-radius:999px;background:rgba(216,148,28,.12);color:var(--gold-700);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.outcome-stage-card-dark .outcome-stage-tag{background:rgba(244,201,106,.12);color:var(--gold-300)}
.outcome-stage-meta{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);font-weight:700}
.outcome-stage-card-dark .outcome-stage-meta{color:rgba(255,255,255,.46)}
.outcome-stage-title{font-family:var(--font-display);font-size:clamp(1.18rem,2.5vw,1.72rem);line-height:1.12;letter-spacing:-.02em;color:var(--primary-900);max-width:18ch;margin-bottom:.55rem}
.outcome-stage-card-dark .outcome-stage-title{color:#fff}
.outcome-stage-lead{font-size:.9rem;line-height:1.65;color:var(--gray-700);max-width:52ch;margin-bottom:.95rem}
.outcome-stage-card-dark .outcome-stage-lead{color:rgba(255,255,255,.82)}
.outcome-stage-pills{display:none}
.outcome-stage-track{display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:900px){.outcome-stage-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
.outcome-stage-step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start;padding:.85rem .9rem;border-radius:calc(var(--radius-surface) - 6px);background:rgba(255,255,255,.82);border:1px solid rgba(168,186,199,.34);box-shadow:none;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease}
.outcome-stage-step::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--gold-400),var(--primary-400));transform:scaleY(.25);transform-origin:top;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.outcome-stage-step:hover{transform:translateX(4px);box-shadow:0 10px 22px rgba(14,39,66,.08);border-color:rgba(71,108,138,.24)}
.outcome-stage-step:hover::before{transform:scaleY(1)}
.outcome-stage-step-no{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary-900),var(--primary-700));color:#fff;font-family:var(--font-display);font-size:.76rem;letter-spacing:.06em;box-shadow:none}
.outcome-stage-step-title{font-size:.88rem;line-height:1.28;font-weight:800;color:var(--primary-900);margin-bottom:.18rem}
.outcome-stage-step-text{font-size:.8rem;line-height:1.5;color:var(--gray-700)}
.outcome-result-grid{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:.2rem}
@media(min-width:700px){.outcome-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.outcome-result-card{position:relative;overflow:hidden;min-height:132px;padding:.82rem .82rem .88rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:calc(var(--radius-surface) - 6px);backdrop-filter:blur(10px);transition:transform .28s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease}
.outcome-result-card::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold-300),rgba(244,201,106,0));opacity:.92}
.outcome-result-card::after{content:'';position:absolute;right:-18px;bottom:-18px;width:68px;height:68px;border-radius:22px;background:radial-gradient(circle at center,rgba(244,201,106,.14) 0%,rgba(244,201,106,0) 72%);opacity:0;transition:opacity .28s ease,transform .28s cubic-bezier(.22,1,.36,1);transform:translate3d(10px,10px,0)}
.outcome-result-card:hover{transform:translateY(-4px) scale(1.01);background:rgba(255,255,255,.11);border-color:rgba(244,201,106,.18);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.outcome-result-card:hover::after{opacity:1;transform:translate3d(0,0,0)}
.outcome-result-kicker{font-size:.64rem;line-height:1;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:rgba(247,205,98,.88);margin-bottom:.45rem}
.outcome-result-title{font-family:var(--font-display);font-size:clamp(.84rem,1.8vw,1rem);line-height:1.18;color:#fff;margin-bottom:.28rem;max-width:14ch}
.outcome-result-text{font-size:.76rem;line-height:1.48;color:rgba(255,255,255,.8);max-width:24ch}
.outcome-stage-card [data-animate-item],.outcome-stage-card .outcome-stage-topline,.outcome-stage-card .outcome-stage-title,.outcome-stage-card .outcome-stage-lead,.outcome-stage-card .outcome-stage-pills,.outcome-stage-card .outcome-stage-step,.outcome-stage-card .outcome-result-card{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}
[data-aos].in-view .outcome-stage-topline{opacity:1;transform:none;transition-delay:.05s}
[data-aos].in-view .outcome-stage-title{opacity:1;transform:none;transition-delay:.12s}
[data-aos].in-view .outcome-stage-lead{opacity:1;transform:none;transition-delay:.18s}
[data-aos].in-view .outcome-stage-pills{opacity:1;transform:none;transition-delay:.24s}
[data-aos].in-view .outcome-stage-step:nth-child(1),[data-aos].in-view .outcome-result-card:nth-child(1){opacity:1;transform:none;transition-delay:.28s}
[data-aos].in-view .outcome-stage-step:nth-child(2),[data-aos].in-view .outcome-result-card:nth-child(2){opacity:1;transform:none;transition-delay:.36s}
[data-aos].in-view .outcome-stage-step:nth-child(3),[data-aos].in-view .outcome-result-card:nth-child(3){opacity:1;transform:none;transition-delay:.44s}
[data-aos].in-view .outcome-result-card:nth-child(4){opacity:1;transform:none;transition-delay:.52s}
.content-rail{display:grid;grid-template-columns:1fr;gap:.9rem}
@media(min-width:1024px){.content-rail{grid-template-columns:.82fr 1.18fr}}
.content-rail > div:last-child{min-width:0}
.sticky-card{position:sticky;top:100px}
.masonry-news{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.masonry-news{grid-template-columns:repeat(2,1fr)}}
.media-callout{display:flex;flex-direction:column;gap:.85rem;padding:clamp(1rem,3vw,1.35rem);background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-surface)}
.media-hub-summary{align-items:stretch}
.media-hub-summary .page-summary-card{height:100%}
.media-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.media-hub-tabs{margin-bottom:0;max-width:100%}
.media-featured-panel{padding:0;overflow:hidden;margin-bottom:1rem;background:linear-gradient(180deg,#fff 0%,var(--primary-50) 100%)}
.news-featured-panel{transition:box-shadow .35s ease,transform .35s ease,border-color .35s ease,background .35s ease}
.news-featured-card{display:grid;grid-template-columns:1fr;align-items:stretch;min-height:100%}
.news-featured-card img,.news-featured-card .news-img-placeholder{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease}
.news-featured-card .news-body,.news-featured-card .media-featured-copy{transition:transform .35s ease}
.news-featured-panel:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:rgba(42,93,136,.18);background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)}
.news-featured-panel:hover .news-featured-card img,.news-featured-panel:hover .news-featured-card .news-img-placeholder{transform:scale(1.035);filter:saturate(1.03)}
.news-featured-panel:hover .media-featured-copy{transform:translateY(-2px)}
.media-featured-copy{padding:clamp(1rem,3vw,1.5rem);display:flex;flex-direction:column;justify-content:center}
.media-hub-callout{margin-top:1.2rem;background:linear-gradient(180deg,#fff 0%,var(--gold-50) 100%)}
@media(max-width:899px){
  .media-hub-head{align-items:flex-start}
}
@media(max-width:640px){
  .media-featured-copy{padding:1rem}
  .media-hub-tabs{width:100%}
}

/* DIR FULL */
.dir-full-grid{display:grid;grid-template-columns:1fr;gap:.85rem;align-items:stretch}
@media(min-width:640px){.dir-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dir-full-card{position:relative;border-radius:var(--radius-lg);padding:1.12rem 1.12rem 1.18rem;border:1px solid var(--warm-100);background:var(--white);transition:all .3s;overflow:hidden;height:100%;display:grid;grid-template-rows:auto auto auto 1fr auto;row-gap:.72rem;align-items:start}
.dir-full-card::before{content:none}
.dir-full-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.dir-detail-trigger{text-align:left;width:100%;cursor:pointer;appearance:none;-webkit-appearance:none;font:inherit;outline:none;text-decoration:none;color:inherit;background:transparent}
.dir-full-icon{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 .8rem;border-radius:14px;background:var(--primary-50);border:1px solid var(--primary-100);font-family:var(--font-display);font-size:.92rem;letter-spacing:.05em;color:var(--primary-700);margin-bottom:0}
.dir-full-icon-wide{min-width:86px;font-size:.78rem;letter-spacing:.025em}
.dir-full-title{font-weight:700;font-size:.95rem;color:var(--primary-900);margin-bottom:0;line-height:1.35}
.dir-full-subtitle{font-size:.73rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-500);font-weight:700}
.dir-full-desc{font-size:.903rem;color:var(--gray-700);line-height:1.68;margin-top:0}
.dir-full-more{align-self:end;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:var(--primary-600);margin-top:.2rem}
.dir-modal[hidden]{display:none}
.dir-modal{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .28s ease}
.dir-modal.open{opacity:1;pointer-events:auto}
.dir-modal-backdrop{position:absolute;inset:0;background:rgba(5,16,30,.62);backdrop-filter:blur(8px);border:0;padding:0;cursor:pointer}
.dir-modal-dialog{position:relative;width:min(980px,100%);max-height:min(88vh,920px);overflow:auto;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%);box-shadow:0 36px 90px rgba(5,16,30,.28);transform:translateY(28px) scale(.96);opacity:0;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.dir-modal.open .dir-modal-dialog{transform:none;opacity:1}
.dir-modal-close{position:sticky;top:1rem;left:calc(100% - 56px);z-index:2;width:42px;height:42px;border:none;border-radius:50%;background:rgba(15,39,66,.08);color:var(--primary-900);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:1rem 1rem 0 auto}
.dir-modal-content{padding:0 1.1rem 1.1rem}
.dir-modal-top{display:flex;flex-direction:column;gap:1rem;padding:0 0 1.1rem;border-bottom:1px solid rgba(15,39,66,.08)}
@media(min-width:900px){.dir-modal-top{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:2rem}}
.dir-modal-kicker{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);font-weight:800;margin-bottom:.7rem}
.dir-modal-title{font-family:var(--font-display);font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.08;color:var(--primary-900);margin-bottom:.85rem}
.dir-modal-lead{font-size:1rem;line-height:1.75;color:var(--gray-700);max-width:60ch}
.dir-modal-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border-radius:999px;background:var(--primary-900);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dir-modal-grid{display:grid;grid-template-columns:1fr;gap:1rem;padding-top:1.15rem}
@media(min-width:760px){.dir-modal-grid{grid-template-columns:1fr 1fr}}
.dir-modal-stage{padding:1.15rem;border-radius:22px;background:#fff;border:1px solid rgba(15,39,66,.08);box-shadow:0 18px 38px rgba(32,74,115,.08)}
.dir-modal-stage-wide{grid-column:1 / -1}
.dir-modal-stage-label{display:inline-flex;align-items:center;justify-content:center;padding:.42rem .75rem;border-radius:999px;background:var(--gold-50);color:var(--gold-700);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}
.dir-modal-stage-title{font-family:var(--font-display);font-size:1rem;line-height:1.25;color:var(--primary-900);margin-bottom:.55rem}
.dir-modal-stage-copy{display:grid;gap:.72rem}
.dir-modal-stage p,.dir-modal-stage-copy p{font-size:.92rem;line-height:1.72;color:var(--gray-700)}
.dir-modal-stage-copy p + p{padding-top:.08rem;border-top:1px dashed rgba(15,39,66,.08)}
:is(.btn,.btn-lg,.btn-sm,.nav-link,.nav-cta-desktop,.nav-mobile-cta,.hero-dock-btn,.gallery-tab,.tag,.partner-pill,.quick-link){border-radius:var(--radius-button)}
:is(.page-summary-card,.section-panel,.media-callout,.dir-full-card,.dir-card,.adv-card,.parent-card,.result-card,.contact-card,.news-card,.soft-card,.transport-card,.leader-card,.info-panel,.feature-item,.doc-item,.notice,.lang-card,.gallery-item,.premium-overview-card,.hero-insight-card,.hero-premium-stat,.staff-card,.fact-card,.admissions-cell,.cta-block,.hero-card,.hero-feat-card){border-radius:var(--radius-surface)}

/* Unified radius system: buttons, cards, blocks, and images use one corner size */
:is(
  .nav-link,
  .nav-cta-desktop,
  .nav-burger,
  .nav-mobile .nav-link,
  .nav-mobile-cta,
  .btn,
  .btn-lg,
  .btn-sm,
  .badge,
  .hero-stats,
  .hero-card,
  .hero-feat-card,
  .hero-card-icon,
  .hero-feat-icon,
  .hero-chip,
  .hero-visual-badge,
  .hero-photo-frame,
  .hero-photo-frame::after,
  .hero-dock-btn,
  .hero-insight-card,
  .hero-premium-stat,
  .premium-overview-card,
  .adv-card,
  .adv-icon,
  .dir-card,
  .dir-emoji,
  .dir-tag,
  .lang-card,
  .news-card,
  .cta-block,
  .scroll-top,
  .step-num,
  .doc-item,
  .doc-num,
  .faq-icon,
  .notice,
  .notice-icon,
  .stat-strip-grid,
  .about-mission,
  .staff-card,
  .staff-card-photo-wrap,
  .staff-card-role,
  .leader-card,
  .leader-avatar,
  .gallery-item,
  .gallery-tab,
  .contact-card,
  .contact-icon,
  .map-container,
  .result-card,
  .intl-region,
  .intl-highlight,
  .partner-pill,
  .feature-item,
  .feature-icon,
  .tag,
  .quote-block,
  .highlight-row,
  .info-panel,
  .icon-chip,
  .soft-card,
  .contact-note,
  .transport-card,
  .page-summary-card,
  .quick-link,
  .admissions-cell,
  .section-panel,
  .fact-card,
  .media-callout,
  .dir-full-card,
  .dir-full-icon,
  .news-img,
  .news-img-placeholder,
  .news-detail-body img,
  .news-detail-body blockquote,
  .parent-card,
  .parent-card-icon
){border-radius:var(--radius-ui) !important}
.nav-logo-emblem,
.site-logo-mark,
.footer-brand-badge,
.footer-brand-emblem,
.footer-brand-badge .site-logo-mark,
.footer-brand-emblem .site-logo-mark{border-radius:50% !important}
.dir-group{margin-bottom:1.45rem}
.dir-group:last-child{margin-bottom:0}
.dir-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}
.education-directions-wide .dir-group-head > div > .icon-chip{display:none}
.education-directions-wide .dir-group-head .h2{font-size:clamp(1.22rem,2.8vw,1.72rem);line-height:1.25}
.dir-visual-strip{display:none}
.education-directions-wide .content-rail{grid-template-columns:1fr}
.education-directions-wide .sticky-card{position:static;max-width:100%;margin:0 0 1.1rem}
.education-directions-wide .section-panel.soft{max-width:100%}
.education-directions-wide .dir-full-grid{grid-template-columns:1fr}
@media(min-width:760px){.education-directions-wide .dir-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.education-directions-wide .dir-full-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:1024px){
  .about-hero-title{
    font-size:clamp(1.95rem,4.2vw,3.2rem);
    line-height:1.12;
  }
  .about-hero-title span:first-child{
    white-space:normal;
  }
  .education-hero-title{
    font-size:clamp(1.95rem,4.2vw,3.2rem);
    line-height:1.12;
  }
  .education-hero-title span:first-child{
    white-space:nowrap;
  }
}

@media(max-width:899px){
  .home-flow-bridge{padding:0 .9rem}
  .home-flow-bridge-line{height:1px}
  .home-flow-bridge-pill{gap:.55rem;min-height:48px;padding:.72rem .95rem;max-width:min(100%,620px);transform:translateY(-50%)}
  .home-flow-bridge-text{font-size:.68rem;letter-spacing:.04em;white-space:normal;text-align:center;line-height:1.25}
  .home-flow-bridge-arrow{width:24px;height:24px;font-size:.9rem}
  .hero-premium-shell{display:flex;flex-direction:column;gap:1rem}
  .hero-premium{background:
  linear-gradient(180deg,rgba(16,35,56,.95) 0%,rgba(19,43,69,.92) 46%,rgba(19,43,69,.62) 100%),url('https://images.pexels.com/photos/1181677/pexels-photo-1181677.jpeg?auto=compress&cs=tinysrgb&w=1200') center center/cover no-repeat}
  .hero-premium-shell{padding:0;background:transparent}
  .hero-premium-shell{padding-top:calc(1.65rem + 25px)}
  .hero-premium-bottom{margin-left:0;padding-top:0;gap:.62rem;transform:none}
  .hero-premium-copy{padding:.2rem 0 0;max-width:100%;margin-left:0}
  .hero-premium-copy::before{display:none}
  .hero-title{max-width:100%}
  .hero-chip-row{gap:.65rem;max-width:100%}
  .hero-chip{font-size:.72rem;padding:.5rem .75rem}
  .hero-visual-badges{gap:.5rem;margin-top:.8rem}
  .hero-visual-badge{padding:.48rem .72rem;font-size:.7rem}
  .hero-premium-media{grid-column:auto;grid-row:auto}
  .hero-photo-frame{min-height:360px}
  .hero-premium-media::before{display:none}
  .hero-floating-card-top{display:none}
  .hero-action-dock{grid-column:auto;grid-row:auto;max-width:none;margin-top:.32rem;margin-left:0;gap:.8rem}
  .hero-action-dock .hero-dock-btn{min-width:0}
}

@media(max-width:640px){
  .display-xl{font-size:clamp(1.6rem,9.4vw,2.2rem);line-height:1.05}
  .hero-premium{padding-top:calc(var(--nav-h) + .8rem);padding-bottom:1rem}
  .hero-premium-shell{border-radius:0;padding:calc(.7rem + 25px) 0 0}
  .hero-premium-copy{padding:.1rem 0 0;margin-left:0}
  .hero-premium-copy::before{display:none}
  .hero-title{font-size:clamp(1.72rem,9.1vw,2.18rem);line-height:1.01;max-width:min(100%,13.2ch);letter-spacing:-.025em;padding-right:.06em;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
  .hero-title-full,.hero-title-compact{overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
  .hero-subtitle{font-size:.88rem;line-height:1.58}
  .hero-insights-grid{gap:.75rem}
  .hero-insight-card{padding:1rem}
  .hero-premium-stats{gap:.65rem}
  .hero-premium-stat{padding:.85rem}
  .hero-action-dock{display:grid;grid-template-columns:1fr;margin-top:.35rem;margin-left:0;gap:.52rem;max-width:216px}
  .hero-dock-btn{width:100%;min-height:42px;padding:.62rem .78rem;font-size:.76rem;border-width:1.5px}
  .hero-dock-btn-primary{box-shadow:0 8px 18px rgba(216,148,28,.2)}
  .hero-dock-btn-secondary{background:rgba(255,255,255,.06);border-color:rgba(214,224,233,.18)}
  .hero-chip-row{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:10px}
  .hero-chip{white-space:normal;text-align:center;justify-content:center;width:auto;max-width:max-content;font-size:.58rem;padding:.34rem .58rem;border-radius:999px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);font-weight:700}
  .summary-list-item{gap:.75rem}
  .contact-card{gap:1rem}
  .page-hero{padding:calc(var(--nav-h) + 1.4rem) 0 1.7rem}
  .page-hero-title{max-width:100%}
  .content-rail{gap:.75rem}
  .sticky-card{position:static}
  .dir-full-grid{grid-template-columns:1fr}
  .dir-full-card{padding:1rem}
  .dir-group{margin-bottom:1.2rem}
  .icon-chip{width:40px;height:40px;border-radius:10px}
}

@media(max-width:340px){
  .home-flow-bridge-pill{padding:.65rem .8rem}
  .home-flow-bridge-text{font-size:.6rem;letter-spacing:.025em}
  .container,.container-wide{padding:0 .7rem}
  .nav{height:74px}
  :root{--nav-h:74px}
  .nav-logo{gap:8px}
  .nav-logo-emblem{width:42px;height:42px;border-radius:50%}
  .nav-logo-text .name{font-size:.72rem}
  .nav-logo-text .sub{display:none}
  .scroll-top{width:42px;height:42px;right:.7rem;bottom:.9rem}
  .display-xl{font-size:1.46rem;line-height:1.03}
  .hero-premium-shell{padding:calc(.4rem + 25px) 0 0;border-radius:0}
  .hero-premium-copy{padding-top:0}
  .hero-title{font-size:1.34rem;line-height:1.01;letter-spacing:-.03em;max-width:12.2ch;overflow-wrap:anywhere}
  .hero-subtitle{font-size:.8rem;line-height:1.48}
  .hero-photo-frame{min-height:240px}
  .hero-chip-row{display:flex;flex-wrap:wrap;gap:.42rem}
  .hero-chip{width:auto;max-width:100%;justify-content:center;font-size:.54rem;padding:.32rem .52rem}
  .hero-visual-badge,.hero-dock-btn,.btn,.btn-lg{width:100%;justify-content:center}
  .hero-chip-row,.hero-visual-badges,.cta-actions{gap:.45rem}
  .hero-visual-badges,.cta-actions{display:grid;grid-template-columns:1fr}
  .hero-action-dock{margin-top:.22rem;max-width:196px}
  .hero-dock-btn{min-height:40px;padding:.58rem .72rem;font-size:.72rem}
  .hero-premium-stats{grid-template-columns:1fr}
  .hero-premium-stat strong{font-size:1.15rem}
  .hero-premium-stat span{font-size:.65rem}
  .hero-insight-title{font-size:.9rem}
  .hero-insight-text,.section-panel-text,.summary-list-text,.dir-full-desc,.adv-body,.news-excerpt{font-size:.74rem;line-height:1.5}
  .btn,.btn-lg{padding:.72rem 1rem;font-size:.82rem}
  .page-summary-card,.section-panel,.media-callout,.dir-full-card,.adv-card,.parent-card,.result-card,.contact-card{padding:.82rem}
  .dir-full-icon,.icon-chip{min-width:36px;width:36px;height:36px}
  .dir-full-icon-wide{width:auto;min-width:74px;padding:0 .45rem;font-size:.58rem}
  .faq-q{font-size:.86rem}
  .section,.section-sm{overflow:hidden}
}

@media(max-width:400px){
  .container,.container-wide{padding:0 .85rem}
  .section,.section-sm,.page-hero,.hero-premium{overflow:hidden}
  .section-panel,
  .page-summary-card,
  .media-callout,
  .dir-full-card,
  .adv-card,
  .parent-card,
  .result-card,
  .contact-card,
  .intl-region,
  .news-card,
  .feature-item,
  .quote-block{padding:.95rem}
  .contact-card,
  .feature-item,
  .intl-region-header{gap:.8rem}
  .grid-2,.grid-3,.grid-4,
  .news-grid,
  .news-page-grid,
  .results-cards,
  .contacts-grid,
  .intl-grid,
  .docs-grid,
  .quick-links,
  .parents-grid,
  .leadership-grid,
  .directions-grid,
  .adv-grid,
  .content-rail,
  .section-split{gap:.9rem}
  .hero-chip-row,
  .hero-visual-badges,
  .cta-actions,
  .gallery-tabs,
  .partners-row{gap:.45rem}
  .hero-action-dock .hero-dock-btn,
  .btn,
  .btn-lg,
  .btn-sm,
  .gallery-tab,
  .partner-pill{min-width:0;max-width:100%}
  .btn,
  .btn-lg,
  .btn-sm,
  .gallery-tab,
  .hero-chip,
  .hero-visual-badge,
  .partner-pill,
  .trust-item{white-space:normal;text-align:center}
  .partner-pill,
  .trust-item{align-items:flex-start}
  .hero-title,
  .hero-subtitle,
  .page-hero-title,
  .page-hero-subtitle,
  .section-panel-title,
  .section-panel-text,
  .summary-list-title,
  .summary-list-text,
  .dir-full-title,
  .dir-full-desc,
  .news-title,
  .news-excerpt,
  .contact-value,
  .result-title,
  .result-text,
  .intl-region-title,
  .intl-region-sub,
  .intl-text,
  .feature-title,
  .feature-text,
  .quote-text,
  .quote-author,
  .faq-q,
  .faq-a,
  .lead,
  .adv-title,
  .adv-body{overflow-wrap:anywhere;word-break:break-word}
  .contact-value,
  .intl-text,
  .result-text,
  .news-excerpt,
  .feature-text,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc{font-size:.92rem;line-height:1.62}
  .intl-region-title{font-size:1.12rem}
  .intl-region-sub{font-size:.84rem}
  .gallery-tab{padding:8px 14px}
  .partner-pill{padding:.68rem 1rem}
  .map-container{min-height:220px;height:min(360px,72vw)}
}

@media(max-width:380px){
  .hero-title-full{display:none}
  .hero-title-compact{display:block}
  .hero-title{
    max-width:11.6ch;
    line-height:1;
    letter-spacing:-.028em;
    padding-right:.06em;
  }
  .hero-title-compact{
    font-size:clamp(1.42rem,9.3vw,1.76rem);
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}

/* ADMISSION HSTEPS */
.hsteps{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;position:relative}
@media(min-width:900px){.hsteps{grid-template-columns:repeat(4,1fr)}.hsteps::before{content:'';position:absolute;top:27px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--primary-200),var(--gold-300),var(--primary-200));z-index:0}}
.hstep{text-align:center;position:relative;z-index:1;padding:0 .75rem}
.hstep-num{width:54px;height:54px;border-radius:50%;background:var(--primary-700);color:var(--white);font-family:var(--font-display);font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;border:4px solid var(--white);box-shadow:0 0 0 3px var(--primary-200)}
.hstep-title{font-weight:700;font-size:.88rem;margin-bottom:.4rem;color:var(--primary-900)}
.hstep-text{font-size:.78rem;color:var(--warm-600);line-height:1.65}

/* NEWS PAGE */
.news-page-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.news-page-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.news-page-grid{grid-template-columns:repeat(3,1fr)}}
.news-featured{grid-column:1/-1}
.news-featured .news-card{display:grid;grid-template-columns:1fr}
.news-featured .news-img-placeholder{min-height:220px}
.news-featured .news-body{padding:clamp(1.25rem,4vw,2.5rem)}
.news-featured .news-title{font-size:1.1rem}
@media(min-width:768px){.news-featured .news-card{grid-template-columns:1fr 1fr}.news-featured .news-img-placeholder{height:100%;min-height:300px}.news-featured .news-title{font-size:1.35rem}}
.news-featured-card{display:grid;grid-template-columns:1fr}
@media(min-width:768px){.news-featured-card{grid-template-columns:1fr 1fr}.news-featured-card .news-img-placeholder,.news-featured-card img{height:100%;min-height:300px}}
.news-detail-layout{max-width:980px;margin:0 auto}
.news-detail-cover-panel{background:linear-gradient(180deg,#fff 0%,var(--primary-50) 100%)}
.news-detail-cover-image,.news-detail-cover-fallback{display:block}
.news-detail-body{max-width:740px;margin:0 auto}
.news-detail-body > :last-child{margin-bottom:0}
.news-detail-body h2{font-size:clamp(1.2rem,3vw,1.75rem);font-weight:700;margin:2rem 0 .75rem;color:var(--primary-900)}
.news-detail-body h3{font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;margin:1.5rem 0 .6rem}
.news-detail-body p{color:var(--warm-600);line-height:1.85;margin-bottom:1.25rem;font-size:clamp(.9rem,2vw,1rem)}
.news-detail-body ul,.news-detail-body ol{padding-left:1.5rem;margin-bottom:1.25rem;color:var(--warm-600);line-height:1.85}
.news-detail-body img{border-radius:var(--radius-lg);margin:2rem 0;width:100%}
.news-detail-body blockquote{border-left:4px solid var(--primary-500);padding:1rem 1.5rem;background:var(--primary-50);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:1.5rem 0;font-style:italic;color:var(--primary-900)}

/* Career direction test */
.career-test-section{padding:clamp(.25rem,.75vw,.5rem) 0 0}
.career-cta-section{padding-top:0;margin-top:-30px}
.career-test-shell{background:linear-gradient(135deg,var(--primary-900),var(--primary-800) 58%,#0b2035);color:#fff;border-radius:var(--radius-surface);padding:clamp(.95rem,3vw,2rem);box-shadow:0 24px 70px rgba(14,39,66,.18);overflow:hidden;position:relative}
.career-test-shell::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgba(244,201,106,.18),transparent 30%);pointer-events:none}
.career-test-shell>*{position:relative;z-index:1}
.career-test-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.1rem,3vw,1.65rem)}
.career-test-badge{display:inline-flex;align-items:center;min-height:32px;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#e8f0fb;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.career-test-progress{min-width:min(340px,48vw)}
.career-test-progress-label{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;color:#dceaff;font-size:.78rem;font-weight:800}
.career-test-progress-track{height:8px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.career-test-progress-fill{width:0;height:100%;border-radius:inherit;background:var(--cta-yellow);transition:width .25s ease}
.career-test-screen{display:none}
.career-test-screen.active{display:block;animation:careerTestEnter .22s ease}
@keyframes careerTestEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.career-test-intro{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(250px,.82fr);gap:clamp(1rem,3vw,1.75rem);align-items:end}
.career-test-eyebrow::before{background:var(--gold-300)}
.career-test-eyebrow .label{color:var(--gold-300)}
.career-test-title{font-family:var(--font-display);font-size:clamp(1.65rem,4vw,3.05rem);line-height:1.08;letter-spacing:0;margin-bottom:.8rem;color:#fff;max-width:15ch}
.career-test-copy{max-width:680px;color:#e8f0fb;font-size:clamp(.94rem,2vw,1.08rem);line-height:1.75;margin-bottom:1.35rem}
.career-test-info{display:grid;gap:.65rem;margin:0;padding:0;list-style:none;color:#dbe8f8;font-size:.9rem}
.career-test-info li{padding:.8rem .9rem;border:1px solid rgba(255,255,255,.13);border-radius:calc(var(--radius-surface) - 10px);background:rgba(255,255,255,.08)}
.career-test-kicker{margin-bottom:.6rem;color:var(--gold-300);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.career-test-question{max-width:900px;margin-bottom:1.25rem;font-family:var(--font-display);font-size:clamp(1.25rem,3vw,2rem);line-height:1.22;letter-spacing:0;color:#fff}
.career-test-note{max-width:820px;margin:-.6rem 0 1.1rem;color:#dbe8f8;font-size:.9rem;line-height:1.7}
.career-test-options{display:grid;gap:.75rem;max-width:940px}
.career-test-option{width:100%;min-height:58px;padding:.95rem 1.05rem;border:1px solid rgba(255,255,255,.18);border-radius:calc(var(--radius-surface) - 10px);background:rgba(255,255,255,.09);color:#fff;text-align:left;cursor:pointer;font:inherit;line-height:1.55;transition:background .18s,border-color .18s,transform .18s}
.career-test-option:hover,.career-test-option:focus-visible{background:rgba(255,255,255,.16);border-color:rgba(244,201,106,.72);outline:none;transform:translateY(-1px)}
.career-test-result{display:grid;gap:1rem}
.career-test-result-hero{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.14)}
.career-test-result-label{display:inline-flex;margin-bottom:.7rem;padding:.4rem .7rem;border-radius:999px;background:rgba(244,201,106,.14);color:var(--gold-300);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.career-test-result-title{font-family:var(--font-display);font-size:clamp(1.55rem,4vw,2.8rem);line-height:1.1;letter-spacing:0;color:#fff;margin-bottom:.55rem}
.career-test-programs{margin:0;color:#dceaff;font-size:.98rem;line-height:1.7}
.career-test-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.career-test-result-card{border:1px solid rgba(255,255,255,.14);border-radius:calc(var(--radius-surface) - 10px);background:rgba(255,255,255,.08);padding:1rem}
.career-test-result-card.wide{grid-column:1/-1}
.career-test-result-card.alt{border-color:rgba(244,201,106,.38);background:rgba(244,201,106,.09)}
.career-test-result-card h3{margin-bottom:.55rem;color:var(--gold-300);font-size:1rem;line-height:1.35}
.career-test-result-card p{margin-bottom:0;color:#eef5ff;line-height:1.72}
.career-test-result-card p+p{margin-top:.75rem}
.career-test-result-card ul{margin:0;padding-left:1.2rem;color:#eef5ff;line-height:1.72}
.career-test-result-card li+li{margin-top:.45rem}
.career-test-warning{color:#fff1b5;font-weight:800}
.career-test-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}
.career-test-actions .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.career-test-actions .btn-secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:#fff}
.career-test-shell .hidden{display:none!important}

@media(max-width:820px){
  .career-test-section{padding:clamp(.2rem,.8vw,.35rem) 0 0}
  .career-cta-section{padding-top:0;margin-top:-18px}
  .career-test-topline{display:grid;grid-template-columns:1fr;align-items:stretch}
  .career-test-intro{grid-template-columns:1fr;align-items:start}
  .career-test-progress{min-width:0;width:100%}
  .career-test-title{max-width:100%;font-size:clamp(1.6rem,7vw,2.45rem)}
  .career-test-copy{max-width:100%;margin-bottom:1rem}
  .career-test-result-grid{grid-template-columns:1fr}
  .career-test-result-card.wide{grid-column:auto}
}
@media(max-width:560px){
  .career-test-shell{padding:.8rem;border-radius:18px}
  .career-test-topline{gap:.8rem;margin-bottom:1rem}
  .career-test-badge{width:max-content;max-width:100%;min-height:30px;font-size:.68rem;line-height:1.25;white-space:normal}
  .career-test-progress-label{font-size:.72rem}
  .career-test-title{font-size:clamp(1.45rem,9vw,2rem);line-height:1.1}
  .career-test-question{font-size:clamp(1.12rem,6vw,1.45rem);line-height:1.24;margin-bottom:1rem}
  .career-test-copy,.career-test-note,.career-test-info,.career-test-option{font-size:.84rem;line-height:1.55}
  .career-test-info{gap:.5rem}
  .career-test-info li{padding:.72rem .78rem}
  .career-test-option{padding:.82rem;min-height:54px}
  .career-test-result-title{font-size:clamp(1.4rem,8vw,1.9rem)}
  .career-test-result-card{padding:.85rem}
  .career-test-result-card p,.career-test-result-card ul{font-size:.84rem;line-height:1.58}
  .career-test-actions .btn{width:100%}
}

/* PARENTS SECTION */
.parents-section{background:var(--cream)}
.parents-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:600px){.parents-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.parents-grid{grid-template-columns:repeat(3,1fr)}}
.parent-card{background:var(--white);border-radius:var(--radius-lg);padding:clamp(1.1rem,3vw,1.45rem);border:1px solid var(--warm-200);transition:all .3s}
.parent-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.parent-card-icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--primary-100);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.parent-card-icon svg{color:var(--primary-700);stroke:var(--primary-700)}
.parent-card-title{font-weight:700;font-size:1rem;margin-bottom:.5rem;color:var(--primary-900)}
.parent-card-text{font-size:.875rem;color:var(--warm-600);line-height:1.75}

/* UNIFIED BODY COPY */
.page-hero-subtitle,
.section-panel-text,
.summary-list-text,
.dir-full-desc,
.adv-body,
.news-excerpt,
.result-text,
.doc-text,
.faq-a,
.timeline-text,
.contact-note,
.transport-list,
.feature-text,
.soft-card-text,
.parent-card-text,
.admissions-cell-text,
.footer-desc,
.footer-link,
.footer-contact{
  font-size:.95rem;
  line-height:1.75;
}

/* RESPONSIVE SCALE */
.admission-duration{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,5vw,2.1rem);
  line-height:1;
  margin-bottom:.65rem;
  color:var(--primary-700);
}
.admission-duration-dark{color:var(--gold-400)}

@media(min-width:960px) and (max-width:1179px){
  .page-summary-grid,
  .section-split,
  .contacts-grid{
    grid-template-columns:1fr;
  }

  .adv-grid,
  .parents-grid,
  .news-grid,
  .news-page-grid,
  .results-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .langs-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .outcome-stage-track{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .outcome-stage-step:last-child{
    grid-column:1 / -1;
  }
}

@media(min-width:641px) and (max-width:1179px){
  .display-lg{
    font-size:clamp(2rem,4.5vw,2.85rem);
    line-height:1.08;
  }

  .display-md{
    font-size:clamp(1.55rem,3.6vw,2.2rem);
  }

  .h1{
    font-size:clamp(1.45rem,3vw,1.95rem);
    line-height:1.18;
  }

  .h2{
    font-size:clamp(1.08rem,2.2vw,1.35rem);
  }

  .lead,
  .page-hero-subtitle,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc,
  .adv-body,
  .result-text,
  .doc-text,
  .faq-a,
  .timeline-text,
  .contact-note,
  .feature-text,
  .soft-card-text,
  .parent-card-text,
  .admissions-cell-text{
    font-size:.98rem;
    line-height:1.72;
  }

  .section{
    padding:clamp(2.8rem,5vw,4.2rem) 0;
  }

  .section-header{
    margin-bottom:clamp(1.5rem,3vw,2rem);
  }

  .page-hero{
    min-height:clamp(340px,38vw,430px);
  }

  .page-hero-title,
  .about-hero-title,
  .education-hero-title{
    max-width:100%;
  }

  .page-summary-card,
  .section-panel,
  .info-panel,
  .adv-card,
  .parent-card,
  .result-card,
  .contact-card,
  .doc-item,
  .admissions-cell,
  .soft-card,
  .dir-full-card{
    padding:clamp(1.1rem,2.6vw,1.45rem);
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .section-split,
  .content-rail,
  .contacts-grid,
  .results-cards,
  .docs-grid,
  .adv-grid,
  .directions-grid,
  .parents-grid,
  .news-grid,
  .news-page-grid,
  .masonry-news{
    gap:1rem;
  }

  .dir-group-head,
  .media-hub-head{
    align-items:flex-start;
  }

  .dir-group-head{
    flex-direction:column;
  }

  .dir-group-head > div{
    width:100%;
  }

  .news-title{
    font-size:1rem;
    line-height:1.4;
  }

  .contact-value{
    font-size:.95rem;
  }

  .footer-bottom{
    align-items:flex-start;
  }
}

@media(max-width:640px){
  .display-lg{
    font-size:clamp(1.7rem,8.2vw,2.15rem);
    line-height:1.06;
    letter-spacing:-.025em;
  }

  .display-md{
    font-size:clamp(1.3rem,6.2vw,1.8rem);
    line-height:1.12;
  }

  .h1{
    font-size:clamp(1.22rem,6vw,1.6rem);
    line-height:1.16;
  }

  .h2{
    font-size:clamp(1rem,4.8vw,1.22rem);
    line-height:1.25;
  }

  .h3{
    font-size:clamp(.98rem,4.4vw,1.1rem);
    line-height:1.35;
  }

  .lead{
    font-size:.96rem;
    line-height:1.68;
  }

  .label{
    font-size:.68rem;
    letter-spacing:.1em;
  }

  .container,
  .container-wide{
    padding:0 clamp(.9rem,4vw,1.1rem);
  }

  .section{
    padding:2.1rem 0;
  }

  .section-sm{
    padding:1.5rem 0;
  }

  .section-header{
    margin-bottom:1.25rem;
  }

  .section-eyebrow{
    gap:.6rem;
    margin-bottom:.7rem;
  }

  .section-eyebrow::before{
    width:22px;
  }

  .page-hero{
    min-height:300px;
    padding:calc(var(--nav-h) + 1.15rem) 0 1.4rem;
  }

  .page-hero-title,
  .about-hero-title,
  .education-hero-title{
    max-width:100%;
    line-height:1.08;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .page-hero-subtitle{
    font-size:.93rem;
    line-height:1.62;
    max-width:100%;
  }

  .page-summary-grid,
  .section-split,
  .split-hero-cards,
  .contacts-grid,
  .results-cards,
  .docs-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .intl-grid,
  .news-grid,
  .news-page-grid,
  .masonry-news,
  .adv-grid,
  .directions-grid,
  .parents-grid,
  .content-rail,
  .quick-links{
    gap:1rem;
  }

  .page-summary-card,
  .section-panel,
  .info-panel,
  .adv-card,
  .dir-card,
  .dir-full-card,
  .parent-card,
  .result-card,
  .contact-card,
  .doc-item,
  .admissions-cell,
  .soft-card,
  .media-callout,
  .fact-card,
  .staff-card,
  .notice{
    padding:1rem;
  }

  .summary-list,
  .feature-list,
  .contact-info,
  .footer-links{
    gap:.85rem;
  }

  .summary-list-item,
  .feature-item,
  .contact-card,
  .doc-item,
  .notice{
    gap:.8rem;
  }

  .quick-link{
    align-items:flex-start;
    padding:.9rem;
  }

  .quick-link span{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .gallery-tabs,
  .media-view-switch-tabs{
    width:100%;
    max-width:100%;
  }

  .gallery-tab{
    padding:.75rem .95rem;
  }

  .dir-group-head{
    flex-direction:column;
    align-items:flex-start;
    gap:.75rem;
  }

  .dir-group-head > div{
    width:100%;
  }

  .dir-full-title,
  .news-title,
  .result-title,
  .parent-card-title,
  .admissions-cell-title,
  .staff-card-name{
    line-height:1.32;
    overflow-wrap:anywhere;
  }

  .dir-full-subtitle,
  .contact-label,
  .footer-col-title{
    letter-spacing:.07em;
  }

  .contact-value,
  .contact-value a{
    font-size:.95rem;
    overflow-wrap:anywhere;
  }

  .map-container{
    min-height:240px;
    height:min(360px,78vw);
  }

  .footer-grid{
    gap:1.4rem;
    margin-bottom:2rem;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-bottom-text{
    font-size:.76rem;
  }

  .media-view-switch{
    padding:1rem;
  }

  .dir-modal{
    padding:.7rem;
  }

  .dir-modal-dialog{
    width:100%;
    max-height:min(90vh,920px);
  }

  .dir-modal-content{
    padding:0 .9rem .9rem;
  }

  .dir-modal-stage{
    padding:1rem;
  }

  .admission-duration{
    font-size:clamp(1.5rem,7vw,1.9rem);
  }
}

@media(max-width:380px){
  .display-lg{
    font-size:clamp(1.48rem,8vw,1.85rem);
  }

  .h1{
    font-size:clamp(1.12rem,5.7vw,1.34rem);
  }

  .lead,
  .page-hero-subtitle,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc,
  .adv-body,
  .news-excerpt,
  .result-text,
  .doc-text,
  .faq-a,
  .timeline-text,
  .contact-note,
  .feature-text,
  .soft-card-text,
  .parent-card-text,
  .admissions-cell-text{
    font-size:.88rem;
    line-height:1.58;
  }

  .page-summary-card,
  .section-panel,
  .info-panel,
  .adv-card,
  .dir-card,
  .dir-full-card,
  .parent-card,
  .result-card,
  .contact-card,
  .doc-item,
  .admissions-cell,
  .soft-card,
  .media-callout,
  .fact-card,
  .staff-card,
  .notice{
    padding:.9rem;
  }

  .gallery-tab,
  .btn,
  .btn-lg,
  .btn-sm{
    padding:.72rem .88rem;
  }

  .page-hero{
    min-height:280px;
  }
}

@media(min-width:1440px){
  .container{
    max-width:1320px;
    padding:0 clamp(1.5rem,3vw,2.75rem);
  }

  .container-wide{
    max-width:1560px;
    padding:0 clamp(1.5rem,3vw,2.9rem);
  }

  .section{
    padding:clamp(3.25rem,5vw,5.5rem) 0;
  }

  .section-sm{
    padding:clamp(2rem,3.5vw,3.25rem) 0;
  }

  .display-xl{
    font-size:clamp(2.3rem,3.7vw,4.1rem);
  }

  .display-lg{
    font-size:clamp(2.3rem,3.3vw,3.8rem);
  }

  .h1{
    font-size:clamp(1.65rem,2.2vw,2.35rem);
  }

  .lead,
  .page-hero-subtitle,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc,
  .adv-body,
  .news-excerpt,
  .result-text,
  .doc-text,
  .faq-a,
  .timeline-text,
  .contact-note,
  .feature-text,
  .soft-card-text,
  .parent-card-text,
  .admissions-cell-text{
    font-size:1rem;
  }

  .page-hero{
    min-height:clamp(380px,30vw,500px);
  }

  .page-hero-title{
    max-width:1050px;
  }

  .page-summary-grid{
    gap:1.15rem;
  }

  .adv-grid,
  .directions-grid,
  .parents-grid,
  .results-cards,
  .news-grid,
  .news-page-grid,
  .masonry-news,
  .content-rail,
  .section-split,
  .grid-2,
  .grid-3{
    gap:1.3rem;
  }

  .news-title{
    font-size:1.02rem;
  }
}

@media(min-width:1800px){
  .container{
    max-width:1440px;
  }

  .container-wide{
    max-width:1680px;
  }

  .nav > .container{
    max-width:min(1480px,calc(100vw - 120px));
  }

  .display-xl{
    font-size:clamp(2.6rem,3.2vw,4.5rem);
  }

  .display-lg{
    font-size:clamp(2.5rem,2.8vw,4.1rem);
  }

  .h1{
    font-size:clamp(1.8rem,2vw,2.6rem);
  }

  .page-hero{
    min-height:420px;
  }

  .page-hero-title{
    max-width:1160px;
  }

  .masonry-news{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .results-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .adv-grid,
  .parents-grid{
    gap:1.4rem;
  }
}

/* Unified small-phone typography: keep headings, subheadings, and body copy shrinking together */
@media(max-width:640px){
  html{font-size:15px}

  .display-xl{font-size:clamp(1.5rem,8.2vw,2.05rem);line-height:1.04}
  .display-lg{font-size:clamp(1.58rem,7.2vw,2rem);line-height:1.06;letter-spacing:-.022em}
  .display-md{font-size:clamp(1.24rem,5.8vw,1.65rem);line-height:1.1}
  .h1{font-size:clamp(1.16rem,5.5vw,1.45rem);line-height:1.14}
  .h2{font-size:clamp(1.02rem,4.6vw,1.18rem);line-height:1.22}

  .h3,
  .summary-list-title,
  .dir-full-title,
  .dir-card-title,
  .news-title,
  .result-title,
  .parent-card-title,
  .admissions-cell-title,
  .timeline-title,
  .feature-title,
  .soft-card-title,
  .staff-card-name,
  .hero-insight-title,
  .footer-brand-name{
    font-size:clamp(.98rem,4.4vw,1.08rem);
    line-height:1.32;
  }

  .lead,
  .page-hero-subtitle,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc,
  .adv-body,
  .news-excerpt,
  .result-text,
  .doc-text,
  .faq-a,
  .timeline-text,
  .contact-note,
  .contact-value,
  .contact-value a,
  .feature-text,
  .soft-card-text,
  .parent-card-text,
  .admissions-cell-text,
  .dir-card-count,
  .intl-text,
  .intl-region-sub,
  .hero-insight-text,
  .footer-desc,
  .footer-link,
  .footer-contact{
    font-size:clamp(.88rem,3.9vw,.97rem);
    line-height:1.62;
  }

  .label,
  .section-mini-title,
  .admissions-cell-label,
  .timeline-year,
  .contact-label,
  .footer-col-title,
  .footer-brand-sub,
  .footer-bottom-text{
    font-size:clamp(.62rem,2.7vw,.7rem);
    line-height:1.32;
  }
}

@media(max-width:380px){
  html{font-size:14px}

  .display-xl{font-size:clamp(1.36rem,8vw,1.78rem)}
  .display-lg{font-size:clamp(1.42rem,7vw,1.72rem)}
  .display-md{font-size:clamp(1.16rem,5.5vw,1.42rem)}
  .h1{font-size:clamp(1.06rem,5.1vw,1.24rem)}
  .h2{font-size:clamp(.96rem,4.5vw,1.06rem)}

  .h3,
  .summary-list-title,
  .dir-full-title,
  .dir-card-title,
  .news-title,
  .result-title,
  .parent-card-title,
  .admissions-cell-title,
  .timeline-title,
  .feature-title,
  .soft-card-title,
  .staff-card-name,
  .hero-insight-title,
  .footer-brand-name{
    font-size:clamp(.92rem,4.2vw,1rem);
    line-height:1.3;
  }

  .lead,
  .page-hero-subtitle,
  .section-panel-text,
  .summary-list-text,
  .dir-full-desc,
  .adv-body,
  .news-excerpt,
  .result-text,
  .doc-text,
  .faq-a,
  .timeline-text,
  .contact-note,
  .contact-value,
  .contact-value a,
  .feature-text,
  .soft-card-text,
  .parent-card-text,
  .admissions-cell-text,
  .dir-card-count,
  .intl-text,
  .intl-region-sub,
  .hero-insight-text,
  .footer-desc,
  .footer-link,
  .footer-contact{
    font-size:clamp(.82rem,3.8vw,.88rem);
    line-height:1.56;
  }

  .label,
  .section-mini-title,
  .admissions-cell-label,
  .timeline-year,
  .contact-label,
  .footer-col-title,
  .footer-brand-sub,
  .footer-bottom-text{
    font-size:clamp(.58rem,2.6vw,.64rem);
  }
}

@media(max-width:340px){
  html{font-size:13px}
}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-up{animation:fadeUp .85s cubic-bezier(.22,1,.36,1) both}
.animate-fade-up:nth-child(2){animation-delay:.1s}
.animate-fade-up:nth-child(3){animation-delay:.2s}
.animate-fade-up:nth-child(4){animation-delay:.3s}
[data-aos]{opacity:0;transform:translateY(22px) scale(.985)}
[data-aos].in-view{opacity:1;transform:none}
[data-aos][data-delay="100"]{transition-delay:.1s}
[data-aos][data-delay="200"]{transition-delay:.2s}
[data-aos][data-delay="300"]{transition-delay:.3s}
[data-aos][data-delay="400"]{transition-delay:.4s}

/* Keep interactive hover transforms working after AOS marks cards as in-view */
[data-aos].in-view.adv-card:hover{transform:translateY(-8px) scale(1.012)}
[data-aos].in-view.adv-card:hover .adv-icon{transform:translateY(-2px) scale(1.08)}
[data-aos].in-view.adv-card:hover .h3{transform:translateY(-1px)}
[data-aos].in-view.news-featured-panel:hover{transform:translateY(-6px)}
[data-aos].in-view.gallery-item:hover{transform:translateY(-4px) scale(1.02)}

@media(hover:none){.adv-card:hover,.dir-card:hover,.news-card:hover,.result-card:hover,.dir-full-card:hover,.hero-card:hover,.hero-feat-card:hover,.achievement-card:hover{transform:none}.btn:hover{transform:none;box-shadow:none}}

/* Global mobile overflow guards */
*,*::before,*::after{box-sizing:border-box}

img,svg,video,canvas,iframe{
  max-width:100%;
}

:is(
  .btn,
  .btn-lg,
  .btn-sm,
  .hero-dock-btn,
  .nav-mobile-cta,
  .gallery-tab,
  .partner-pill,
  .quick-link
){
  max-width:100%;
}

:is(
  .dir-full-title,
  .dir-full-subtitle,
  .dir-full-desc,
  .dir-card-title,
  .dir-card-count,
  .summary-list-title,
  .summary-list-text,
  .section-panel-title,
  .section-panel-text,
  .page-hero-title,
  .page-hero-subtitle,
  .news-title,
  .news-excerpt,
  .result-title,
  .result-text,
  .contact-value,
  .contact-note,
  .footer-desc,
  .footer-link,
  .footer-contact,
  .dir-modal-title,
  .dir-modal-lead,
  .dir-modal-stage-title,
  .dir-modal-stage p,
  .dir-modal-stage-copy p
){
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:640px){
  :is(
    .btn,
    .btn-lg,
    .btn-sm,
    .hero-dock-btn,
    .nav-mobile-cta,
    .gallery-tab,
    .partner-pill,
    .quick-link
  ){
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
    text-align:center;
    justify-content:center;
    line-height:1.25;
  }

  .hero-action-dock,
  .cta-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    max-width:none;
  }

  .hero-action-dock .hero-dock-btn,
  .cta-actions .btn{
    width:100%;
    min-width:0;
  }

  .media-view-switch-tabs,
  .gallery-tabs,
  .partners-row,
  .trust-bar-inner{
    max-width:100%;
  }

  .media-view-switch-tabs{
    width:100%;
  }

  .media-view-switch-tabs .gallery-tab{
    flex:1 1 100%;
  }

  .dir-modal{
    padding:.6rem;
  }

  .dir-modal-dialog{
    width:100%;
    max-width:100%;
    border-radius:22px;
  }

  .dir-modal-content{
    padding:0 .85rem .85rem;
  }
}

@media(max-width:480px){
  .btn,
  .btn-lg,
  .btn-sm{
    padding:.85rem 1rem;
  }

  .hero-action-dock{
    max-width:none;
  }

.hero-dock-btn{
    min-height:44px;
  }

  .hero-chip,
  .trust-item,
  .gallery-tab,
  .partner-pill{
    white-space:normal;
  }

  .summary-list-item,
  .contact-card,
  .feature-item,
  .intl-region-header,
  .dir-card-header{
    min-width:0;
  }

  .summary-list-item > div,
  .contact-card > div,
  .feature-item > div,
  .dir-card-header > div,
  .dir-modal-top > div{
    min-width:0;
  }
}

/* Mobile button normalization */
@media(max-width:640px){
  .nav-mobile{
    overflow-x:hidden;
  }

  .nav-mobile-cta{
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    width:auto;
    max-width:calc(100% - 3rem);
    min-height:44px;
    margin:.5rem 1.5rem 0;
    padding:.72rem 1rem;
    font-size:.84rem;
  }

  .hero-action-dock{
    display:grid;
    grid-template-columns:1fr;
    width:min(100%,280px);
    max-width:280px;
    gap:.5rem;
  }

  .hero-action-dock .hero-dock-btn{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:42px;
    padding:.66rem .9rem;
    font-size:.78rem;
    line-height:1.15;
  }
}

@media(max-width:380px){
  .hero-action-dock{
    width:min(100%,252px);
    max-width:252px;
  }

  .hero-action-dock .hero-dock-btn{
    min-height:40px;
    padding:.58rem .76rem;
    font-size:.72rem;
  }

  .nav-mobile-cta{
    min-height:42px;
    padding:.64rem .85rem;
    font-size:.8rem;
  }
}

/* Home hero refinements */
.home-flow-bridge{
  height:auto;
  padding:1.05rem 1rem 0;
  background:var(--white);
  pointer-events:none;
}

.home-flow-bridge-line{
  top:0;
  background:rgba(15,39,66,.1);
}

.home-flow-bridge-pill{
  min-height:48px;
  padding:.72rem 1.08rem;
  transform:none;
}

.home-flow-bridge-arrow{
  width:28px;
  height:28px;
}

.hero-dock-btn{
  min-height:52px;
  padding:.9rem 1.45rem;
  font-size:.88rem;
}

.hero-action-dock .hero-dock-btn{
  min-width:210px;
}

@media(max-width:640px){
  .home-flow-bridge{
    padding:.8rem .9rem 0;
  }

  .home-flow-bridge-pill{
    width:min(100%,330px);
    min-height:42px;
    padding:.62rem .82rem;
    gap:.55rem;
  }

  .home-flow-bridge-text{
    font-size:.58rem;
    letter-spacing:.04em;
    white-space:normal;
    text-align:center;
    line-height:1.25;
  }

  .home-flow-bridge-arrow{
    width:24px;
    height:24px;
    font-size:.88rem;
    flex-shrink:0;
  }

  .hero-action-dock{
    width:min(100%,240px);
    max-width:240px;
  }

  .hero-action-dock .hero-dock-btn{
    min-height:38px;
    padding:.52rem .72rem;
    font-size:.7rem;
  }
}

@media(max-width:380px){
  .hero-action-dock{
    width:min(100%,220px);
    max-width:220px;
  }

  .hero-action-dock .hero-dock-btn{
    min-height:36px;
    padding:.48rem .66rem;
    font-size:.67rem;
  }
}
