:root{
  --bc-blue:#0e73be;
  --bc-blue-dark:#0a3156;
  --bc-orange:#f97316;
  --bc-ink:#0f172a;
}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a;background:#fff}
[x-cloak]{display:none!important}
.text-balance{text-wrap:balance}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;transform:translateZ(0)}
.hero-slide.active{opacity:1;visibility:visible;z-index:1}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,45,.93) 0%,rgba(4,42,73,.76) 44%,rgba(4,42,73,.32) 70%,rgba(3,25,45,.2) 100%)}
.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 7s ease}
.hero-slide.active img{transform:scale(1.08)}
.hero-copy{position:relative;z-index:3}
.hero-dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.35);transition:.25s ease}
.hero-dot.active{width:34px;background:#f97316}
.glass{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.17)}
.section-kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#0e73be}
.section-kicker:before{content:"";display:block;width:24px;height:2px;background:#f97316;border-radius:999px}
.soft-grid{background-image:linear-gradient(rgba(14,115,190,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,115,190,.05) 1px,transparent 1px);background-size:32px 32px}
.orange-shadow{box-shadow:0 18px 48px rgba(249,115,22,.23)}
.blue-shadow{box-shadow:0 18px 48px rgba(14,115,190,.17)}
.card-lift{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(15,23,42,.12);border-color:rgba(14,115,190,.26)}
.rounded-super{border-radius:2rem}
.image-zoom{overflow:hidden}.image-zoom img{transition:transform .55s ease}.image-zoom:hover img{transform:scale(1.06)}
.floating-wa-wrap{pointer-events:none}
.floating-wa-wrap [data-wa-toggle]{pointer-events:auto}
.floating-wa{box-shadow:0 12px 36px rgba(15,23,42,.24)}
.floating-panel{position:absolute;right:0;bottom:calc(100% + 12px);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.floating-panel.hidden-panel{opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);pointer-events:none}
.floating-panel.visible-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.prose-bc h2{font-size:1.55rem;line-height:1.25;font-weight:800;color:#0a3156;margin:2rem 0 .8rem}
.prose-bc h3{font-size:1.25rem;font-weight:750;color:#0f172a;margin:1.5rem 0 .55rem}
.prose-bc p{color:#475569;line-height:1.85;margin:.85rem 0}
.prose-bc ul{padding-left:1.25rem;list-style:disc;color:#475569}.prose-bc li{margin:.45rem 0}
.admin-sidebar a{transition:.2s ease}.admin-sidebar a:hover{background:#eff6ff;color:#0e73be}
.admin-sidebar a.active{background:#eaf4fb;color:#0a5d98;font-weight:700}
.table-wrap{overflow-x:auto}.table-wrap table{min-width:800px}
@media (max-width:767px){
  .hero-slide::after{background:linear-gradient(180deg,rgba(3,25,45,.78) 0%,rgba(3,25,45,.9) 70%,rgba(3,25,45,.96) 100%)}
  .rounded-super{border-radius:1.35rem}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-slide img{transform:none!important}}

/* Mobile interaction hardening */
#panel-finder,#kalkulator,#konsultasi{scroll-margin-top:118px}
button,a,select,input,textarea{touch-action:manipulation}
button{-webkit-tap-highlight-color:transparent}
.hero-slide{pointer-events:none}
.hero-slide.active{pointer-events:auto}
@media (max-width:767px){
  input,select,textarea{font-size:16px}
  [data-panel-finder] button,[data-panel-calculator] button,[data-panel-calculator] a{min-height:52px}
  .floating-wa-wrap{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .floating-wa{width:56px;height:56px;padding:0;justify-content:center}
}
