:root{--primary:#1E40AF;--primary-dark:#1E3A8A;--accent:#0EA5E9;--bg:#FFFFFF;--text:#111827;--muted:#374151;--soft:#F3F4F6;--soft-2:#E5E7EB;--ring:#93C5FD;--nav-h:68px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:.5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:auto;height:1px;width:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;height:auto;width:auto;background:#fff;color:#000;z-index:10000;padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 2px 10px rgba(0,0,0,.2)}

#loader{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:#0b1220;transition:opacity .3s ease,visibility .3s ease}
#loader.hidden{opacity:0;visibility:hidden}
.spinner{width:56px;height:56px;border-radius:999px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.navbar{min-height:var(--nav-h);position:fixed;top:0;left:0;right:0;z-index:1060;background:transparent;transition:background-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
.navbar,.navbar *{pointer-events:auto}
.navbar .navbar-brand .brand-text,.navbar .nav-link{color:#fff}
.navbar .nav-link{padding:.75rem .9rem;font-weight:600}
.navbar .nav-link.active,.navbar .nav-link:hover{border-bottom:2px solid currentColor}
.navbar.scrolled,.navbar.is-open{background:linear-gradient(135deg,rgba(30,64,175,.95),rgba(30,58,138,.95));backdrop-filter:saturate(140%) blur(6px);box-shadow:0 6px 22px rgba(12,10,24,.25)}
.navbar-toggler{border-color:rgba(255,255,255,.65)}
.navbar-toggler .navbar-toggler-icon{filter:invert(1)}

.btn-erp12{background:#fff;color:var(--primary);font-weight:800;border:2px solid var(--primary);padding:.55rem 1rem;border-radius:.6rem}
.btn-erp12:hover{background:var(--primary);color:#fff}

.hero{min-height:calc(92vh - var(--nav-h));padding-top:calc(var(--nav-h) + 1rem);position:relative;color:#fff;display:flex;align-items:center;background:linear-gradient(135deg,rgba(30,64,175,.95),rgba(30,58,138,.92)),url("/images/hero-stok.webp") center/cover no-repeat}
.hero .btn{border-radius:.75rem;padding:.7rem 1.1rem;font-weight:700}
.btn-cta{background:#fff;color:#0b1220}
.btn-cta:hover{filter:brightness(.95)}
.btn-ghost{background:transparent;border:2px solid #fff;color:#fff}
.btn-ghost:hover{background:#fff;color:#0b1220}
.badge-wrap{margin-bottom:10px}
.mini-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4);padding:.25rem .5rem;border-radius:999px;font-weight:700}
.hero-figure{margin:24px auto 0;max-width:960px;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.25)}
.hero .shape{position:absolute;border-radius:50%;filter:blur(.5px);opacity:.25;animation:float 9s ease-in-out infinite;pointer-events:none}
.hero .s1{width:160px;height:160px;left:6%;top:18%;background:#60A5FA}
.hero .s2{width:220px;height:220px;right:10%;top:28%;background:#93C5FD;animation-delay:.6s}
.hero .s3{width:120px;height:120px;left:20%;bottom:12%;background:#7DD3FC;animation-delay:1s}
.hero .s4{width:90px;height:90px;right:22%;bottom:18%;background:#60A5FA;animation-delay:1.4s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

.crumb{background:var(--soft);border-top:1px solid var(--soft-2);border-bottom:1px solid var(--soft-2)}
.breadcrumb{padding:.5rem 0;margin:0}
.breadcrumb .breadcrumb-item+.breadcrumb-item::before{content:">";color:var(--muted)}

.section{padding:64px 0;scroll-margin-top:calc(var(--nav-h) + 12px)}
.section-title{font-size:1.875rem;font-weight:800;color:var(--primary);text-align:center;margin-bottom:28px;position:relative;padding-bottom:12px}
.section-title::after{content:"";display:block;width:84px;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));margin:12px auto 0;border-radius:999px}
.tone-1{background:linear-gradient(180deg,#ffffff,#f9fafb)}
.tone-2{background:linear-gradient(180deg,#f8fafc,#eef2ff)}
.tone-3{background:linear-gradient(180deg,#eff6ff,#e0f2fe)}
.tone-4{background:linear-gradient(180deg,#fdfdfd,#f3f6ff)}

.equal-grid .card{height:100%}
.card.feature,.card.sector{border:0;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f3f6ff);box-shadow:0 1px 0 rgba(17,24,39,.04);transition:transform .25s ease,box-shadow .25s ease}
.card.feature:hover,.card.sector:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(17,24,39,.12)}
.card .icon{font-size:32px;color:#1E3A8A;margin-bottom:10px;display:inline-block}
.card .card-text{color:#1f2937}

.list-group .list-group-item{border-color:rgba(30,64,175,.15)}
.list-group .list-group-item .fa-solid{color:#1E3A8A}

.checklist{counter-reset:step;margin:0;padding-left:1.25rem}
.checklist li{margin:.4rem 0;padding-left:.2rem}
.checklist li::marker{color:var(--primary)}

.accordion.themed .accordion-item{border:0;border-radius:14px;overflow:hidden;margin-bottom:12px;box-shadow:0 8px 26px rgba(20,20,40,.08)}
.accordion.themed .accordion-button{background:linear-gradient(90deg,var(--primary),var(--primary-dark));color:#fff;font-weight:700}
.accordion.themed .accordion-button:not(.collapsed){color:#fff}
.accordion.themed .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(30,64,175,.28)}
.accordion.themed .accordion-body{background:#fff;color:#111827}

.cta{padding:56px 0;border-top:1px solid var(--soft-2);border-bottom:1px solid var(--soft-2)}
.btn-cta-lg{display:inline-block;background:linear-gradient(90deg,#fff,#f8fafc);color:#0b1220;border:2px solid #e5e7eb;padding:.9rem 1.25rem;border-radius:14px;font-weight:800}
.btn-cta-lg:hover{filter:brightness(.97);border-color:#cbd5e1}

.footer{background:#0b1220;color:#e5e7eb;padding:40px 0}
.footer a{color:#e5e7eb}
.footer a:hover{color:#fff}
.footer .footer-title{font-size:1rem;font-weight:800;color:#fff;margin:0 0 .5rem}
.footer .social i{font-size:22px}
.footer .footer-brand span{color:#fff}
.footer .copyright{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);text-align:center;color:#cbd5e1}
.footer .social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(30,64,175,.08);border:1.5px solid rgba(30,64,175,.35);color:#1E40AF;transition:all .2s ease;box-shadow:0 0 0 0 rgba(30,58,138,0)}
.footer .social a:hover,.footer .social a:focus-visible{background:linear-gradient(135deg,#1E40AF,#1E3A8A);color:#fff;border-color:transparent;box-shadow:0 10px 28px rgba(30,58,138,.35)}
.footer .social a:hover i{transform:translateY(-2px)}

@media (max-width:991.98px){
  .navbar .navbar-brand{position:absolute;left:50%;transform:translateX(-50%);margin:0 auto}
  .navbar .navbar-brand .brand-text{font-size:1.0625rem}
  .navbar .navbar-toggler{position:relative;z-index:2;margin-left:auto}
  #nav{position:fixed;top:var(--nav-h);right:-100%;width:82%;height:calc(100vh - var(--nav-h));background:linear-gradient(135deg,#1E40AF,#1E3A8A);padding:12px 14px 18px;border-top-left-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.28);transition:right .25s ease;z-index:1059}
  #nav.show{right:0}
  #nav .navbar-nav{flex-direction:column;align-items:stretch;gap:8px}
  #nav .nav-link{display:block;color:#fff!important;font-weight:700;padding:12px 10px;border-radius:10px}
  #nav .nav-link.active{background:rgba(255,255,255,.16)}
  .nav-backdrop{position:fixed;inset:0;z-index:1058;background:rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .nav-backdrop.show{opacity:1;pointer-events:auto}
  body.nav-lock{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
