/* SITHM theme v1 - loaded after style.css + brand.css. Restyles the whole public site. */
:root{--navy-deep:#071437;--tint:#F3F6FC;--radius:14px;--shadow:0 10px 30px rgba(10,29,77,.10);
--f-head:'Fraunces',Georgia,serif;--f-body:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif}
body{font-family:var(--f-body);color:#2a3350;background:#fff}
h1,h2,h3,.section-title{font-family:var(--f-head);font-weight:700;letter-spacing:-.01em}
h5,h6{font-weight:700}
main{min-height:50vh}
a{transition:color .2s}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---- Navbar 1: top bar ---- */
.topbar{background:var(--navy-deep);color:#cfd8f3;font-size:.82rem;padding:.45rem 0}
.topbar a{color:#e7ecfb;text-decoration:none;margin-right:1.1rem}
.topbar a:hover{color:var(--gold)}
.topbar i{color:var(--gold);margin-right:.35rem}
.topbar-info span{margin-right:1rem}
.topbar-links a{margin:0 0 0 1rem}
.topbar-links a:first-child{margin-left:0}
@media(max-width:575px){.topbar-info a:nth-child(2){display:none}.topbar{font-size:.78rem}}

/* ---- Navbar 2: main nav ---- */
.main-nav{padding:.55rem 0;box-shadow:0 4px 18px rgba(10,29,77,.08)}
.main-nav .nav-link{font-weight:600;font-size:.95rem;padding:.6rem .85rem!important;border-bottom:0;position:relative}
.main-nav .nav-link::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.2rem;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s}
.main-nav .nav-link:hover::after,.main-nav .nav-link.active::after{transform:scaleX(1)}
.main-nav .dropdown-toggle::after{display:none}
.main-nav .dropdown-menu{border:0;border-radius:12px;box-shadow:var(--shadow);padding:.5rem}
.main-nav .dropdown-item{border-radius:8px;font-weight:500}
.main-nav .dropdown-item:hover{background:var(--tint);color:var(--navy)}
.btn-apply{background:var(--gold);color:var(--navy)!important;font-weight:700;border-radius:50px;padding:.55rem 1.4rem;border:2px solid var(--gold);transition:all .25s}
.btn-apply:hover{background:var(--navy);border-color:var(--navy);color:#fff!important;transform:translateY(-2px)}

/* ---- Buttons ---- */
.btn{border-radius:50px;font-weight:600}
.btn-primary{padding:.6rem 1.4rem}
.btn-outline-primary{border-width:2px;color:var(--navy);border-color:var(--navy)}
.btn-outline-primary:hover{background:var(--navy);border-color:var(--navy)}

/* ---- Hero ---- */
.hero-slider{position:relative;overflow:hidden;background:var(--navy-deep);--hero-fade:.8s}
.hero-slider .carousel-item{transition:opacity var(--hero-fade) ease-in-out;backface-visibility:hidden}
.hero-slider .carousel-fade .active.carousel-item-start,.hero-slider .carousel-fade .active.carousel-item-end{transition:opacity 0s var(--hero-fade)}
.slide-bg{position:relative;height:82vh;min-height:560px;max-height:760px;overflow:hidden}
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,20,55,.92) 0%,rgba(7,20,55,.72) 45%,rgba(7,20,55,.25) 100%)}
.hero-slider .carousel-item.active .slide-img,.hero-slider .carousel-item-next .slide-img,.hero-slider .carousel-item-prev .slide-img{animation:heroZoom calc(var(--hero-ms,3000ms) + 1500ms) ease-out forwards}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.slide-caption{text-shadow:0 2px 14px rgba(0,0,0,.4)}
.slide-caption h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.1}
.slide-caption .lead{max-width:34rem;opacity:.95}
.hero-badge{display:inline-block;background:rgba(200,167,78,.18);border:1px solid var(--gold);color:#f3e2a9;border-radius:50px;padding:.3rem .9rem;font-size:.85rem;font-weight:600;margin-bottom:1.1rem}
.hero-slider .carousel-item.active .slide-caption>*,.hero-slider .carousel-item-next .slide-caption>*{animation:heroUp .7s ease-out both}
.hero-slider .slide-caption>*:nth-child(2){animation-delay:.1s!important}.hero-slider .slide-caption>*:nth-child(3){animation-delay:.2s!important}
@keyframes heroUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.carousel-indicators{bottom:22px}
.carousel-indicators button{width:10px;height:10px;border-radius:50%;margin:0 5px;background:#fff;opacity:.5;border:0}
.carousel-indicators button.active{opacity:1;background:var(--gold);transform:scale(1.25)}
.carousel-control-prev,.carousel-control-next{width:48px;height:48px;background:rgba(0,0,0,.45);border-radius:50%;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .3s}
.hero-slider:hover .carousel-control-prev,.hero-slider:hover .carousel-control-next{opacity:1}
.carousel-control-prev{left:24px}.carousel-control-next{right:24px}
.btn-gold{background:var(--gold);color:var(--navy);font-weight:700;padding:.8rem 1.8rem;border:2px solid var(--gold)}
.btn-gold:hover{background:transparent;color:var(--gold);transform:translateY(-3px)}
.btn-outline-light{padding:.8rem 1.8rem;border-width:2px}

/* enquiry card (floats over hero on desktop) */
.hero-enquiry{position:absolute;right:max(1rem,calc((100vw - 1140px)/2));top:50%;transform:translateY(-50%);width:340px;z-index:5;
background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 24px 60px rgba(0,0,0,.35);border-top:5px solid var(--gold)}
.hero-enquiry h3{font-size:1.3rem;color:var(--navy);margin-bottom:.2rem}
.hero-enquiry p{font-size:.85rem;color:var(--help);margin-bottom:.9rem}
.hero-enquiry .btn{width:100%}
@media(max-width:991px){.hero-enquiry{display:none}.slide-bg{height:72vh;min-height:480px}.slide-caption{text-align:left}}

/* ---- Trust strip ---- */
.trust{background:var(--navy);color:#fff;padding:1.4rem 0}
.trust-item{display:flex;align-items:center;gap:.8rem;padding:.4rem 0}
.trust-item i{font-size:1.5rem;color:var(--gold);width:2rem;text-align:center}
.trust-item strong{display:block;font-size:1rem;line-height:1.2}
.trust-item span{font-size:.8rem;opacity:.75}

/* ---- Sections ---- */
.sec{padding:4.5rem 0}
.sec-tint{background:var(--tint)}
.sec-head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.sec-head h2,.section-title{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--navy);margin:0}
.sec-head p{margin:.4rem 0 0;color:var(--help)}
.section-title::after{content:"";display:block;width:56px;height:4px;background:var(--gold);border-radius:4px;margin:.7rem auto 0}
.sec-head h2::after{content:"";display:block;width:56px;height:4px;background:var(--gold);border-radius:4px;margin-top:.6rem}

/* ---- Cards ---- */
.card{border:0;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(10,29,77,.16)}
.card-img-top{border-radius:0!important;transition:transform .5s}
.card:hover .card-img-top{transform:scale(1.05)}
.card .card-body{padding:1.3rem}
.course-card .card-title{font-size:1.15rem}
.course-card .card-footer{padding:0 1.3rem 1.3rem}
.course-card .card-footer .btn{background:var(--navy);border-color:var(--navy)}
.course-card .card-footer .btn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.course-card ul li{font-size:.92rem;margin-bottom:.2rem}
.text-gold{color:var(--gold-text)!important}
.border-gold{border-left:5px solid var(--gold)!important}
.news-date{font-size:.8rem;color:var(--help)}

/* ---- Why us ---- */
.why{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff}
.why .section-title{color:#fff}
.why-box{text-align:center;padding:1.6rem 1rem}
.why-ic{width:68px;height:68px;border-radius:50%;background:rgba(200,167,78,.16);border:1px solid rgba(200,167,78,.6);display:grid;place-items:center;margin:0 auto 1rem;font-size:1.6rem;color:var(--gold)}
.why-box p{color:#c9d3f0;margin:0;font-size:.93rem}

/* ---- Admission CTA ---- */
.cta-band{background:var(--gold);color:var(--navy);padding:2.6rem 0}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 .3rem}
.cta-band p{margin:0;font-weight:500}
.cta-band .btn-dark{background:var(--navy);border-color:var(--navy);padding:.8rem 1.8rem}
.cta-band .btn-outline-dark{border-width:2px;padding:.8rem 1.8rem}

/* ---- Testimonials ---- */
.quote{position:relative;height:100%;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem;border-top:4px solid var(--gold)}
.quote i.fa-quote-left{color:var(--gold);font-size:1.6rem;margin-bottom:.6rem}
.quote .stars{color:#e0a800;letter-spacing:2px}

/* ---- Inner page hero ---- */
.page-hero{background:linear-gradient(120deg,var(--navy-deep),var(--navy) 70%,#17357f);color:#fff;text-align:center;padding:3.2rem 0}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 .4rem}
.page-hero p{margin:0;color:#d5def5}

/* ---- Companies band ---- */
.company-band{background:var(--tint)}

/* ---- Footer ---- */
.site-footer{background:var(--navy-deep)!important;color:#b9c4e4;margin-top:0!important;padding-top:3.5rem}
.site-footer h6{color:#fff;font-size:1rem;margin-bottom:1rem}
.foot-brand{font-family:var(--f-head);color:var(--gold);font-size:1.8rem}
.site-footer a{color:#b9c4e4;text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.site-footer li{margin-bottom:.5rem;font-size:.93rem}
.foot-contact i{color:var(--gold);width:1.4rem}
.foot-social a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);margin-right:.5rem;color:#fff}
.foot-social a:hover{background:var(--gold);color:var(--navy)}
.foot-bottom{margin-top:2.5rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}
.foot-bottom a{color:var(--gold)}

/* ---- Floating actions ---- */
.float-actions{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;z-index:1000}
.float-actions a{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;font-size:1.5rem;box-shadow:0 6px 18px rgba(0,0,0,.28);padding:0;position:static}
.float-actions .whatsapp-float{background:#25d366}
.float-actions .fa-call{background:var(--navy);font-size:1.2rem}
.float-actions a:hover{transform:scale(1.08);color:#fff}
#toTop{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--gold);color:var(--navy);box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s;z-index:1000}
#toTop.show{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
