:root{
    --smk-blue:#0b5ed7;
    --smk-blue-2:#0a49a5;
    --smk-ivory:#fff4c2;
    --smk-ink:#0b1220;
    --smk-muted:#6c7a92;
    --smk-surface:#0a1630;
}

*{font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}

body{background:linear-gradient(180deg,#fffdf6 0%, #fff4c2 38%, #dbe9ff 100%); color:var(--smk-ink);}

body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(135deg, rgba(11,94,215,0.06) 25%, transparent 25%) ,
        linear-gradient(225deg, rgba(11,94,215,0.06) 25%, transparent 25%) ,
        linear-gradient(315deg, rgba(255,244,194,0.18) 25%, transparent 25%) ,
        linear-gradient(45deg, rgba(255,244,194,0.18) 25%, transparent 25%) ,
        repeating-linear-gradient(45deg, rgba(11,94,215,0.06) 0 2px, transparent 2px 18px),
        repeating-linear-gradient(-45deg, rgba(255,244,194,0.10) 0 2px, transparent 2px 18px),
        radial-gradient(circle at 15% 20%, rgba(11,94,215,0.10), transparent 45%),
        radial-gradient(circle at 85% 10%, rgba(255,244,194,0.35), transparent 52%);
    background-size: 52px 52px, 52px 52px, 52px 52px, 52px 52px, auto, auto, auto, auto;
    background-position: 0 0, 0 26px, 26px -26px, -26px 0, 0 0, 0 0, 0 0, 0 0;
    opacity:0.75;
    z-index:-1;
}

.nav-glass{background:rgba(255,255,255,0.72); backdrop-filter: blur(14px); border-bottom:1px solid rgba(11,94,215,0.10);}

.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--smk-ivory),#ffffff); position:relative; box-shadow: 0 8px 24px rgba(0,0,0,0.25);}
.brand-mark:after{content:""; position:absolute; inset:7px; border-radius:8px; background:linear-gradient(135deg,var(--smk-blue),var(--smk-blue-2));}

.brand-logo{width:34px;height:34px; border-radius:10px; padding:3px; background:rgba(255,255,255,0.92); box-shadow: 0 8px 24px rgba(0,0,0,0.25); object-fit:contain; display:block;}

.navbar .navbar-brand{color:var(--smk-ink);}
.navbar .navbar-brand:hover{color:var(--smk-blue-2);}
.navbar .nav-link{color:rgba(11,18,32,0.78); font-weight:600;}
.navbar .nav-link:hover{color:var(--smk-blue-2);}
.navbar .nav-link.active{color:var(--smk-blue);}

.btn-ivory{background:var(--smk-ivory); color:#0b1a2d; border:1px solid rgba(255,255,255,0.2);} 
.btn-ivory:hover{filter:brightness(0.98);}

.section{padding:72px 0;}

.hero{
    position:relative;
    padding:84px 0 64px;
    overflow:hidden;
}

.hero-media{position:absolute; inset:0; z-index:0; overflow:hidden;}
.hero-video{position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-width:100%; min-height:100%; transform:translate(-50%,-50%); pointer-events:none; filter:saturate(1.05) contrast(1.02);}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,244,194,0.78) 0%, rgba(255,253,246,0.70) 30%, rgba(219,233,255,0.55) 100%);}

.hero .container{position:relative; z-index:2;}

@media (max-width: 768px){
    .hero-video{width:160vw; height:90vw;}
}

@media (prefers-reduced-motion: reduce){
    .hero-video{display:none;}
    .hero-overlay{background:linear-gradient(180deg, rgba(255,253,246,0.92) 0%, rgba(255,244,194,0.78) 45%, rgba(219,233,255,0.70) 100%);}
}
.hero:before{
    content:"";
    position:absolute;
    width:900px;
    height:900px;
    right:-480px;
    top:-420px;
    background:radial-gradient(circle at 30% 30%, rgba(255,244,194,0.35), transparent 60%);
    pointer-events:none;
}

.partner-ticker{position:relative; overflow:hidden; border-radius:16px; border:1px solid rgba(11,94,215,0.12); background:rgba(255,255,255,0.55);}
.partner-ticker:before,.partner-ticker:after{content:""; position:absolute; top:0; bottom:0; width:60px; z-index:2; pointer-events:none;}
.partner-ticker:before{left:0; background:linear-gradient(90deg, rgba(255,255,255,0.95), rgba(255,255,255,0));}
.partner-ticker:after{right:0; background:linear-gradient(270deg, rgba(255,255,255,0.95), rgba(255,255,255,0));}

.partner-ticker-track{display:inline-flex; gap:10px; width:max-content; padding:10px 12px; flex-wrap:nowrap; white-space:nowrap; will-change: transform; animation: partnerScroll 89s linear infinite;}
.partner-badge{display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border-radius:999px; border:1px solid rgba(11,94,215,0.14); background:rgba(255,255,255,0.75); box-shadow:0 10px 24px rgba(11,18,32,0.06); white-space:nowrap;}
.partner-program{font-size:0.78rem; font-weight:800; color:var(--smk-blue-2); background:rgba(11,94,215,0.10); border:1px solid rgba(11,94,215,0.16); padding:4px 8px; border-radius:999px;}
.partner-name{font-weight:700; color:var(--smk-ink);}

@keyframes partnerScroll{from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);} }

@media (prefers-reduced-motion: reduce){
    .partner-ticker-track{animation:none; flex-wrap:wrap; width:auto;}
}
.hero:after{
    content:"";
    position:absolute;
    width:820px;
    height:820px;
    left:-520px;
    bottom:-520px;
    background:radial-gradient(circle at 50% 50%, rgba(11,94,215,0.35), transparent 60%);
    pointer-events:none;
}

.card-glass{
    background:rgba(255,255,255,0.70);
    border:1px solid rgba(11,94,215,0.10);
    box-shadow: 0 18px 46px rgba(11,18,32,0.10);
    backdrop-filter: blur(12px);
}

.kpi{display:flex; gap:14px; align-items:flex-start;}
.kpi-icon{width:42px;height:42px;border-radius:14px;background:rgba(11,94,215,0.10); border:1px solid rgba(11,94,215,0.18); display:flex; align-items:center; justify-content:center; color:var(--smk-blue-2); font-weight:800;}
.kpi-title{font-weight:700;}
.kpi-desc{color:rgba(11,18,32,0.70); font-size:0.95rem;}

.badge-soft{background:rgba(255,244,194,0.65); border:1px solid rgba(11,94,215,0.12); color:var(--smk-ink);}

.page-hero{padding:44px 0 22px;}

.footer{background:linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(219,233,255,0.95) 100%); border-top:1px solid rgba(11,94,215,0.10);}
.footer-title{color:var(--smk-ink); font-weight:800; margin-bottom:10px;}
.footer-link{color:rgba(11,18,32,0.72); text-decoration:none; font-weight:600;}
.footer-link:hover{color:var(--smk-blue-2);}

.footer .text-white{color:var(--smk-ink) !important;}
.footer .text-white-50{color:rgba(11,18,32,0.65) !important;}
.footer hr{border-color:rgba(11,94,215,0.12) !important; opacity:1;}

.footer-map{border:1px solid rgba(11,94,215,0.12); box-shadow: 0 18px 40px rgba(11,18,32,0.10); background:rgba(255,255,255,0.65);}

.back-to-top{position:fixed; right:18px; bottom:18px; border-radius:14px; width:44px; height:44px; display:none; box-shadow:0 18px 40px rgba(11,18,32,0.15);}

.reveal{opacity:0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease;}
.reveal.reveal-show{opacity:1; transform: translateY(0);}

.form-control, .form-select{background:rgba(255,255,255,0.78); border:1px solid rgba(11,94,215,0.12); color:var(--smk-ink);}
.form-control:focus, .form-select:focus{background:rgba(255,255,255,0.92); border-color:rgba(11,94,215,0.35); box-shadow:0 0 0 .25rem rgba(11,94,215,0.10); color:var(--smk-ink);}

.text-muted-soft{color:rgba(11,18,32,0.68) !important;}

a{color:var(--smk-blue-2);}
a:hover{color:var(--smk-blue);}

.home-banner{position:relative;}
.home-banner .carousel-inner{background:rgba(255,255,255,0.65); border:1px solid rgba(11,94,215,0.10);}
.home-banner .carousel-item{height: 360px;}
.home-banner .banner-media{width:100%; height:360px; object-fit:cover; display:block;}
.home-banner .banner-placeholder{height:360px; background:linear-gradient(135deg, rgba(255,244,194,0.75), rgba(11,94,215,0.22));}

.home-banner .banner-caption{
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    text-align:left;
    padding:14px 14px;
    border-radius:16px;
    background:rgba(255,255,255,0.76);
    border:1px solid rgba(11,94,215,0.12);
    color:var(--smk-ink);
    backdrop-filter: blur(10px);
}

@media (max-width: 768px){
    .home-banner .carousel-item{height: 240px;}
    .home-banner .banner-media{height:240px;}
    .home-banner .banner-placeholder{height:240px;}
    .home-banner .banner-caption{left:12px; right:12px; bottom:12px; padding:12px;}
}
