:root{
  --ui-ink:#15304d;--ui-muted:#62778d;--ui-surface:#fff;--ui-background:#f4f7fb;
  --ui-line:#e1e9f1;--ui-primary-soft:#edf5fc;--ui-accent-soft:#fff0f1;
  --ui-shadow:0 16px 42px rgba(15,48,83,.08);--ui-shadow-hover:0 22px 50px rgba(15,48,83,.13);
  --ui-radius:18px;--ui-radius-lg:26px;--ui-focus:0 0 0 4px rgba(30,161,224,.25)
}
html{scroll-padding-top:96px}
body:not(.admin-body){color:var(--ui-ink);background:var(--ui-background);font-size:15px;line-height:1.65}
body:not(.admin-body) .container{width:min(1180px,92%)}
.skip-link{position:absolute;top:10px;left:10px;z-index:200;padding:10px 14px;border-radius:9px;background:#fff;color:var(--primary);box-shadow:var(--ui-shadow);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
body:not(.admin-body) h1,body:not(.admin-body) h2,body:not(.admin-body) h3,body:not(.admin-body) h4{color:var(--ui-ink);letter-spacing:-.025em}
body:not(.admin-body) h1{font-size:clamp(2rem,4vw,3.35rem)}
body:not(.admin-body) h2{font-size:clamp(1.55rem,2.7vw,2.25rem)}
body:not(.admin-body) p{color:var(--ui-muted)}
body:not(.admin-body) a:focus-visible,body:not(.admin-body) button:focus-visible,body:not(.admin-body) input:focus-visible,body:not(.admin-body) select:focus-visible,body:not(.admin-body) textarea:focus-visible{outline:0;box-shadow:var(--ui-focus)}
.site-header{background:linear-gradient(90deg,#147eae 0 76%,var(--accent) 76%) top/100% 3px no-repeat,rgba(255,255,255,.95);border-bottom:1px solid rgba(218,229,239,.8);box-shadow:0 5px 22px rgba(13,48,84,.035)}
.nav-wrap{min-height:78px;gap:18px}
.brand{gap:12px;min-width:190px}
.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:50%}
.brand b{font-size:14px;letter-spacing:.09em}
.brand small{max-width:190px;font-size:9px;line-height:1.25;letter-spacing:.055em}
.nav{gap:4px;font-size:12px}
.nav>a:not(.btn),.nav-drop>a{display:inline-flex;align-items:center;min-height:42px;padding:0 9px;border-radius:9px;color:#415872;transition:background .18s ease,color .18s ease}
.nav>a:not(.btn):hover,.nav-drop>a:hover,.nav>a:not(.btn):focus-visible,.nav-drop>a:focus-visible{color:var(--accent);background:var(--ui-accent-soft)}
.nav .nav-apply{min-height:42px;padding:0 15px;margin-left:5px;border-radius:10px;background:var(--accent);color:#fff;box-shadow:0 7px 16px rgba(201,37,56,.18)}
.nav .nav-apply:hover{background:#b8172b;filter:brightness(1.04)}
body:not(.admin-body) .btn-primary,body:not(.admin-body) .btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(201,37,56,.16)}
body:not(.admin-body) .btn-primary:hover,body:not(.admin-body) .btn-accent:hover{background:#b8172b;filter:brightness(1.04)}
.nav-drop-menu{border-color:var(--ui-line);border-radius:14px}
.nav-drop-menu a{color:var(--ui-ink)}
.menu-btn{width:44px;height:44px;border-radius:12px;background:var(--ui-primary-soft);color:var(--primary)}
.flash{border:1px solid #d8e8f8;border-radius:13px;box-shadow:0 6px 18px rgba(10,58,98,.04)}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(58px,8vw,96px) 0 clamp(54px,7vw,82px);color:var(--ui-ink);background:radial-gradient(ellipse at 77% 5%,rgba(116,202,238,.35),transparent 30%),radial-gradient(ellipse at 8% 100%,rgba(255,226,190,.32),transparent 34%),linear-gradient(120deg,#f5fbff 0%,#fff 48%,#eff8fd 100%)}
.hero:after{content:"";position:absolute;z-index:-1;width:370px;height:370px;right:-125px;bottom:-235px;border:1px solid rgba(4,66,141,.1);border-radius:50%;box-shadow:0 0 0 32px rgba(4,66,141,.025),0 0 0 72px rgba(4,66,141,.02)}
.hero-grid{gap:clamp(28px,5vw,68px)}
.hero h1{max-width:760px;color:#103b68!important;font-size:clamp(2.55rem,5.8vw,4.8rem)!important;line-height:1.04}
.hero h1 em{color:var(--accent)}
.hero h1:after{content:"";display:block;width:42px;height:3px;margin-top:13px;border-radius:3px;background:var(--accent)}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 13px;border:1px solid #d5eaf6;border-radius:999px;background:rgba(255,255,255,.78);color:#24618c;letter-spacing:.09em;box-shadow:0 5px 18px rgba(14,72,112,.05)}
.hero .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.hero p{max-width:620px;color:#536d83!important;font-size:clamp(1rem,1.6vw,1.15rem)}
.hero .hero-actions{align-items:center}
.hero .btn{min-height:48px;padding:12px 20px;border-radius:11px}
.hero .btn-primary,body:not(.admin-body) .btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(116,16,30,.23)}
.hero .btn-primary:hover,body:not(.admin-body) .btn-accent:hover{filter:brightness(1.06);transform:translateY(-1px)}
.hero .btn-outline{color:#174d7a;border-color:#a8c8df;background:rgba(255,255,255,.72)}
.hero .btn-outline:hover{background:#fff;border-color:#5b91b8}
.hero .hero-card{color:var(--ui-ink);background:rgba(255,255,255,.97);border:1px solid rgba(172,205,226,.7);border-radius:var(--ui-radius-lg);box-shadow:0 26px 64px rgba(16,59,104,.16)}
.hero-card .pulse{min-height:215px;background:linear-gradient(135deg,#e6f3fb,#a8d5ee);color:var(--primary)}
.hero-card-body{color:var(--ui-muted)}
.hero-card-body b{color:var(--ui-ink);font-size:17px}
.badge-open,.badge-closed{padding:8px 13px;border-radius:999px}
.hero .badge-open{border:1px solid #f1c9cd;background:#fff0f1;color:#a52b39;box-shadow:0 5px 14px rgba(201,37,56,.08)}
.hero .badge-closed{border:1px solid #f1c9cd;background:#fff0f1;color:#a22c39}
.countdown{display:inline-flex;gap:7px;align-items:center;margin:16px 0 0;padding:8px 12px;border:1px solid #dbe9f2;border-radius:13px;background:rgba(255,255,255,.82);color:#536d83;font-size:12px;box-shadow:0 7px 20px rgba(16,59,104,.06)}
.countdown b{display:inline-grid;min-width:31px;min-height:31px;place-items:center;border-radius:8px;background:#fff0f1;color:var(--accent);font-size:16px}
.section{padding:clamp(52px,7vw,82px) 0}
.section-head{margin-bottom:25px}
.section-head .eyebrow{display:inline-block;margin-bottom:7px}
.section-head .eyebrow,main>.section>.container>.eyebrow:first-child{color:var(--accent)}
.section-head h2{margin-bottom:8px}
.grid{gap:20px}
.card{overflow:hidden;padding:22px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:0 7px 22px rgba(18,49,80,.035);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body:not(.admin-body) .section .grid>.card{border-top:2px solid rgba(201,37,56,.62)}
.card:hover{transform:translateY(-3px);border-color:#c7dbea;box-shadow:var(--ui-shadow-hover)}
.card h3{color:var(--ui-ink);line-height:1.3}
.card-img,.news-img,.gallery-img{border-radius:12px;background:#e9f2f8}
.card-img{margin-bottom:16px}
body:not(.admin-body) .icon{background:var(--ui-accent-soft);color:var(--accent)}
.tag{background:var(--ui-primary-soft);color:var(--primary)}
.tag-accent{background:var(--ui-accent-soft);color:var(--accent)}
.stats{position:relative;z-index:2;margin-top:-6px;padding:25px 30px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;color:var(--ui-ink);box-shadow:var(--ui-shadow)}
.stat{padding:6px 14px;border-right:1px solid var(--ui-line)}
.stat:last-child{border-right:0}
.stat strong{color:var(--primary);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2}
body:not(.admin-body) .stat:first-child strong{color:var(--accent)}
.stat span{color:var(--ui-muted)}
.admission{position:relative;overflow:hidden;padding:clamp(26px,5vw,46px);border-radius:var(--ui-radius-lg);background:linear-gradient(115deg,#062c58,#07529a);box-shadow:var(--ui-shadow)}
.admission h2{color:#fff!important}
.admission p{color:#d6e8f7!important}
.admission .btn{white-space:nowrap}
.article{border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow)}
.search-box{max-width:720px}
.search-box input{min-height:50px;border-color:#d5e1eb;border-radius:12px}
.search-result{padding:18px 0}
.search-result:hover h3{color:var(--accent)}
.form-card{max-width:850px;padding:clamp(20px,4vw,34px);border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:#fff;box-shadow:var(--ui-shadow)}
.form-grid{gap:18px}
.field{gap:7px}
.field span{color:#294560;font-size:13px}
.field input,.field select,.field textarea,.search-box input{min-height:46px;padding:11px 13px;border:1px solid #d2dee9;border-radius:10px;color:var(--ui-ink);background:#fff;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}
.field textarea{min-height:125px}
body:not(.admin-body) .field input:focus,body:not(.admin-body) .field select:focus,body:not(.admin-body) .field textarea:focus,body:not(.admin-body) .search-box input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px rgba(216,27,44,.17)}
.field input[readonly]{color:#586c80;background:#f5f8fb}
.field input[type=file]{min-height:unset;background:#f5f9fc}
.help{color:var(--ui-muted)}
.flash.success{color:#166641;border-color:#ccebd9;background:#effaf3}
.flash.error{color:#922b35;border-color:#f2d0d4;background:#fff4f5}
.flash:not(.success):not(.error){color:#205c91;background:#f0f7fd}
.status-track{gap:5px}
.status-track:before{top:13px;height:2px;background:#d9e3ec}
.status-track .step{color:#71849a;font-size:11px}
.status-track .dot{width:28px;height:28px;border:3px solid #fff;box-shadow:0 0 0 1px #d7e3ed}
.status-track .step.done .dot{background:var(--primary)}
.status-track .step.current .dot{background:var(--accent)}
.status-track .step.rejected .dot{background:#9a2626}
.form-card form button,.form-card .btn{margin-top:8px}
body:not(.admin-body) input[type=checkbox],body:not(.admin-body) input[type=radio]{accent-color:var(--accent)}
fieldset{min-width:0}
main>.section>.container>h1,main>.container>h1{margin:0 0 12px}
main>.section>.container>.eyebrow:first-child{margin-bottom:7px}
.footer{position:relative;padding-top:64px;background:radial-gradient(ellipse at 8% 0%,rgba(89,177,219,.17),transparent 35%),linear-gradient(120deg,#f1f8fc 0%,#e8f3f9 56%,#e1eff7 100%);color:#173550}
.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1ea1e0 0%,#70c9e9 48%,#d81b2c 100%)}
.footer-grid{gap:clamp(24px,4vw,48px);padding-bottom:52px}
.footer-grid>div:not(:first-child){padding-left:clamp(16px,3vw,34px);border-left:1px solid rgba(27,77,113,.14)}
.footer-grid>div:first-child>p{max-width:400px;line-height:1.8}
.footer h4{position:relative;margin-bottom:19px;color:#103b68;font-size:14px;letter-spacing:.045em}
.footer h4:after{content:"";display:block;width:28px;height:2px;margin-top:10px;border-radius:2px;background:var(--accent)}
.footer p{color:#536d83}
.footer a{color:#365a78;transition:color .18s ease,transform .18s ease}
.footer a:hover{color:#0b6098}
.footer-grid>div:not(:first-child)>a{width:fit-content;max-width:100%;margin:9px 0}
.footer-grid>div:not(:first-child)>a:hover{transform:translateX(3px)}
.footer .brand{margin-bottom:15px}
.footer .brand b{color:#103b68}
.footer .brand small{color:#637d92}
.footer .social-row{gap:10px;margin-top:20px}
.footer .social-btn{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(21,83,127,.14);border-radius:12px;background:#155b8a;color:#fff}
.footer .social-btn:hover{transform:translateY(-2px);border-color:#1984b8;background:#0d709e}
.footer-bottom{border-top-color:rgba(27,77,113,.15);background:rgba(255,255,255,.42)}
.footer-bottom-inner{color:#637d92}
.footer-bottom .developer-credit{color:#365a78}
.mobile-bar{box-shadow:0 -8px 24px rgba(14,44,76,.08)}
.mobile-bar a{min-width:54px;text-decoration:none}
.mobile-apply{background:var(--accent)}
.float-btn{transition:transform .18s ease,filter .18s ease}
.float-ai{background:var(--primary)}
.ai-chat-panel{border-radius:18px;box-shadow:0 24px 65px rgba(8,38,73,.23)}
.ai-chat-head{background:linear-gradient(110deg,var(--primary-dark),var(--primary))}
.ai-chat-input input{min-width:0}
@media(max-width:1120px){
 .nav{gap:0;font-size:11px}.nav>a:not(.btn),.nav-drop>a{padding-inline:7px}.brand{min-width:175px}
}
@media(max-width:850px){
 .nav{top:78px;padding:14px max(4vw,20px) 22px;gap:4px;box-shadow:0 20px 30px rgba(9,42,78,.12)}
 .nav>a:not(.btn),.nav-drop>a{min-height:44px;padding:0 12px}
 .nav .nav-apply{display:inline-flex;justify-content:center;margin:8px 0 0}
 .hero{padding:56px 0}.hero-card{display:block;max-width:560px}
 .footer-grid>div:not(:first-child){padding-left:0;border-left:0}
 .stats{margin-top:0;padding:18px}.stat{padding:6px 10px}.footer{padding-bottom:78px}
}
@media(max-width:650px){
 .nav-wrap{min-height:70px}.brand{min-width:auto;gap:9px}.brand-logo{width:42px;height:42px}
 .brand b{font-size:12px}.brand small{max-width:180px;font-size:8px}
 .hero{padding:48px 0 42px}.hero h1{font-size:clamp(2.35rem,12vw,3.3rem)!important}
 .hero .hero-actions{gap:9px}.hero .hero-actions .btn{width:100%}.hero-card .pulse{min-height:160px}
 .stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}
 .stat:nth-child(-n+2){border-bottom:1px solid var(--ui-line);padding-bottom:13px}
 .stat:nth-child(n+3){padding-top:13px}
 .grid-3,.grid-4,.quicklinks{grid-template-columns:1fr}
 .section-head{align-items:flex-start}.section-head .btn{margin-top:10px}
 .form-card{border-radius:17px}.status-track .step{font-size:9px;overflow-wrap:anywhere}
 .status-track .dot{width:25px;height:25px}.mobile-bar{height:64px}.float-stack{bottom:78px}
 .footer-bottom-inner>div{line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
