/* IT Infra Core – logo-matched UI layer (red #e30613 · purple #6e1db1 · charcoal #23232b) */
:root{--red:#e30613;--pur:#6e1db1;--ink:#23232b;--mut:#6b6b7b;--g:linear-gradient(135deg,#e30613,#6e1db1)}
html{scroll-padding-top:90px}
body{font-family:'Poppins','Segoe UI',system-ui,-apple-system,sans-serif;background:#fbf8ff;color:var(--ink);padding-top:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* ambient colour blobs (replace legacy shapes) */
body::before,body::after{content:'';position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(80px);width:46vw;height:46vw;border:0;box-shadow:none;clip-path:none;animation:iicFloat 18s ease-in-out infinite alternate}
body::before{top:-12vw;left:-10vw;right:auto;bottom:auto;background:rgba(227,6,19,.13)}
body::after{right:-12vw;bottom:-14vw;top:auto;left:auto;background:rgba(110,29,177,.15);animation-delay:-8s}
@keyframes iicFloat{to{transform:translate(6vw,4vw) scale(1.12)}}
/* header */
body .iic-nav,body .iic-nav.scrolled{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;padding:0;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:0;box-shadow:0 6px 26px rgba(110,29,177,.10)}
.iic-nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--g)}
.iic-bar{max-width:1360px;margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.4rem 1.4rem;min-height:82px}
.iic-brand{display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;text-decoration:none}
.iic-brand img{height:66px;width:auto;display:block;transition:height .3s,transform .3s}
.iic-brand-name{font-size:1rem;font-weight:700;line-height:1;color:#6e1db1;-webkit-text-fill-color:#6e1db1;white-space:nowrap}
.iic-brand:hover img{transform:scale(1.05) rotate(-1deg)}.iic-nav.scrolled .iic-brand img{height:52px}
.iic-menu{margin-left:auto;display:flex;align-items:center;gap:.3rem}
.iic-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .95rem;border-radius:12px 4px 12px 4px;font:600 .84rem/1 'Poppins','Segoe UI',sans-serif;color:var(--ink);text-decoration:none;white-space:nowrap;border:1.5px solid transparent;transition:.25s}
.iic-btn i{font-size:.9em;color:var(--pur);transition:.25s}.iic-btn .caret{font-size:.65em;margin-left:.1rem}
.iic-btn:hover,.iic-btn.active{color:#fff;background:var(--g);box-shadow:0 8px 18px rgba(227,6,19,.25);transform:translateY(-2px)}
.iic-btn:hover i,.iic-btn.active i{color:#fff}
.iic-btn.ghost{border-color:var(--pur);color:var(--pur)}.iic-btn.solid{background:var(--g);color:#fff;box-shadow:0 8px 18px rgba(110,29,177,.25)}.iic-btn.solid i{color:#fff}
.iic-btn.ghost:hover{border-color:transparent}
.iic-dd{position:relative}.iic-dd::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px}
.iic-dd-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;padding:.5rem;border-radius:16px 6px 16px 6px;background:#fff;border:1px solid rgba(110,29,177,.15);box-shadow:0 20px 44px rgba(70,20,110,.20);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}
.iic-dd:hover .iic-dd-menu,.iic-dd:focus-within .iic-dd-menu{opacity:1;visibility:visible;transform:none}
.iic-dd-menu a{display:flex;align-items:center;gap:.65rem;padding:.55rem .8rem;border-radius:9px;color:var(--ink);font-size:.84rem;font-weight:500;text-decoration:none;transition:.2s}
.iic-dd-menu a i{width:1.1rem;text-align:center;color:var(--red)}.iic-dd-menu a:hover{background:rgba(110,29,177,.08);color:var(--pur);padding-left:1.1rem}
.iic-auth-actions{display:contents}
.iic-burger{display:none;margin-left:auto;width:46px;height:46px;border:1.5px solid var(--pur);border-radius:12px 4px 12px 4px;background:#fff;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.iic-burger span{width:22px;height:2.5px;border-radius:2px;background:var(--g);transition:.3s}
.iic-burger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.iic-burger.active span:nth-child(2){opacity:0}.iic-burger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:1180px){.iic-burger{display:flex}
 .iic-menu{position:fixed;top:82px;left:0;right:0;height:calc(100vh - 82px);height:calc(100dvh - 82px);max-height:none;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:.4rem;padding:1rem 1.2rem calc(.8rem + env(safe-area-inset-bottom));background:#fff;box-shadow:0 24px 40px rgba(70,20,110,.18);transform:translateY(-110%);opacity:0;visibility:hidden;transition:.35s}
 .iic-menu.open{transform:none;opacity:1;visibility:visible}.iic-btn{justify-content:flex-start;padding:.8rem 1rem}
 .iic-auth-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.25rem;padding:.75rem 0 calc(.4rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid rgba(110,29,177,.15)}
 .iic-auth-actions .iic-btn{justify-content:center;min-width:0;padding:.75rem .4rem;white-space:normal;text-align:center;font-size:.78rem}
 .iic-dd::after{display:none}.iic-dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:3px solid var(--red);border-radius:0;margin:.3rem 0 .4rem .6rem;min-width:0;padding:.2rem .4rem}}
/* buttons – leaf-corner gradient style with shine + arrow */
.btn,.apply-btn,.submit-btn,.login-btn,.export-btn,.back-btn,.btn-primary-outline,.dashboard-card .btn,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.7rem;border:1.5px solid transparent;border-radius:16px 4px 16px 4px;background:var(--g);color:#fff;font:600 .92rem/1.2 'Poppins','Segoe UI',sans-serif;letter-spacing:.02em;text-decoration:none;cursor:pointer;box-shadow:0 10px 22px rgba(227,6,19,.22);transition:transform .3s,box-shadow .3s,filter .3s}
.btn,.apply-btn,.submit-btn,.login-btn,.export-btn,button[type=submit]{position:relative;overflow:hidden}
.btn::before,.apply-btn::before,.submit-btn::before,.login-btn::before,.export-btn::before,button[type=submit]::before{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::before,.apply-btn:hover::before,.submit-btn:hover::before,.login-btn:hover::before,.export-btn:hover::before,button[type=submit]:hover::before{left:140%}
.btn::after,.apply-btn::after{content:'→';display:inline-block;transition:transform .3s}.btn:hover::after,.apply-btn:hover::after{transform:translateX(5px)}
.btn:hover,.apply-btn:hover,.submit-btn:hover,.login-btn:hover,.export-btn:hover,.back-btn:hover,.btn-primary-outline:hover,button[type=submit]:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(110,29,177,.32);filter:brightness(1.05);color:#fff}
.back-btn,.btn-primary-outline,.export-btn{background:#fff;color:var(--pur);border-color:var(--pur);box-shadow:none}
.back-btn:hover,.btn-primary-outline:hover,.export-btn:hover{background:var(--g);border-color:transparent}
button:disabled{opacity:.55;cursor:not-allowed}
/* surfaces, forms, headings */
.dashboard-card,.service-card,.detail-card,.degree-card,.info-card,.stat-card,.login-card,.team-member,.feature-item,.program-section,.course-header,.login-container,.contact-form{background:#fff;border:1px solid rgba(110,29,177,.14);box-shadow:0 12px 34px rgba(110,29,177,.09)}
.dashboard-card:hover,.service-card:hover,.degree-card:hover,.detail-card:hover,.stat-card:hover{border-color:rgba(227,6,19,.4);box-shadow:0 22px 44px rgba(227,6,19,.14)}
.section-title::after{content:'';display:block;width:84px;height:4px;margin:.8rem auto 0;border-radius:4px;background:var(--g)}
body input,body select,body textarea{background:#fff;color:var(--ink);border:1.5px solid rgba(110,29,177,.25);border-radius:10px;font-family:inherit}
body input:focus,body select:focus,body textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(227,6,19,.12)}
::placeholder{color:#9a9aab}
table{background:#fff}.table th,table th{background:rgba(110,29,177,.08);color:var(--pur)}
/* footer */
.iic-foot{margin-top:3rem;background:#fff;border-top:4px solid var(--red);box-shadow:0 -10px 40px rgba(110,29,177,.08);position:relative}
.iic-foot::before{content:'';position:absolute;left:0;right:0;top:-4px;height:4px;background:var(--g)}
.iic-foot-grid{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 1.5rem;display:grid;grid-template-columns:1.3fr .8fr 1.4fr;gap:2rem;color:var(--ink);font-size:.9rem;line-height:1.7}
.iic-foot img{height:auto;max-width:130px;margin-bottom:.6rem}.iic-foot h4{color:var(--pur);margin-bottom:.7rem;font-size:1rem}
.iic-foot a{color:var(--ink);text-decoration:none;display:block;transition:.2s}.iic-foot p a{display:inline}.iic-foot a:hover{color:var(--red);transform:translateX(4px)}
.iic-foot i{color:var(--red);width:1.2rem}.iic-foot-bottom{text-align:center;padding:1rem;font-size:.8rem;color:var(--mut);border-top:1px solid rgba(110,29,177,.12)}
.public-notice-section{max-width:1100px;margin:0 auto 3rem;padding:0 1.25rem}
.public-notice-board{position:relative;overflow:hidden;padding:1.2rem 1.4rem;background:#fff;border:1px solid rgba(110,29,177,.22);border-top:4px solid var(--red);box-shadow:0 12px 30px rgba(35,35,43,.08)}
.public-notice-board h2{color:var(--pur);font-size:1.25rem;margin:0 0 .8rem}
.public-notice-item{padding:.75rem 1rem;margin:.7rem 0;background:#fff9fa;border-left:3px solid var(--pur);animation:noticeReveal .5s ease both}
.public-notice-item img{display:block;max-width:100%;max-height:240px;object-fit:contain;margin:.75rem auto 0}
@keyframes noticeReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.iic-foot-grid{grid-template-columns:1fr;text-align:center;justify-items:center}.iic-foot-grid>div{width:100%;min-width:0}.iic-foot-grid>div:first-child img{margin-left:auto;margin-right:auto}.footer-content{text-align:center;justify-items:center}.footer-content>.footer-section{width:100%;min-width:0}.footer-content .social-links{justify-content:center}.iic-brand img{height:54px}}
/* loading page */
.loader-logo{display:block;width:min(240px,62vw);margin:0 auto 1rem;animation:iicPop 1.1s cubic-bezier(.2,1.4,.4,1) both,iicBob 3s 1.1s ease-in-out infinite}
@keyframes iicPop{from{opacity:0;transform:scale(.6) rotate(-6deg)}}@keyframes iicBob{50%{transform:translateY(-8px)}}
.loading-screen{background:transparent}.logo-text p,.loading-text{color:var(--mut)}
.floating-shape-1{background:var(--g)!important;opacity:.35}.floating-shape-2{background:rgba(110,29,177,.45)!important}
.security-notice{color:#8a5a00;background:rgba(255,193,7,.16);border-color:rgba(200,140,0,.4)}
.slide-content h2,.slide-content p{color:#fff}.slide-content h2{text-shadow:0 2px 12px rgba(0,0,0,.35)}
.carousel-btn{background:#fff;color:var(--pur);border:0;box-shadow:0 6px 16px rgba(0,0,0,.25)}.carousel-btn:hover{background:var(--g);color:#fff}
.indicator.active{background:var(--red)}
