
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:#fdfefe;-webkit-font-smoothing:antialiased;color:#272727}
a{color:#0a387c;text-decoration:none}
a:hover{color:#0071e3}
h1,h2,h3,p{margin:0}
@keyframes emFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes emFadeUpCx{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes emPulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes emSpin{to{transform:rotate(1turn)}}
@keyframes emShimmer{0%{background-position:200% 50%}100%{background-position:-200% 50%}}
@keyframes emBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes emDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(34px,-26px) scale(1.14)}}
@keyframes emGrowBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes emPing{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}80%,100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.hv0:hover{border-bottom:2px solid #ffb000 !important;color:#0a387c !important}
.hv1:hover{transform:translateY(-2px) scale(1.03) !important;box-shadow:0 14px 28px -10px rgba(255,176,0,.8) !important}
.hv2:hover{transform:translateY(-3px) scale(1.03) !important}
.hv5:hover{transform:translateY(-6px) rotate(-.5deg) !important;box-shadow:0 28px 50px -20px rgba(10,56,124,.5) !important;border-color:#ffb000 !important}
.hv7:hover{transform:translateY(-6px) !important;box-shadow:0 28px 50px -20px rgba(10,56,124,.6) !important;border-color:#ffb000 !important}
.hv16:hover{background:#ffb000 !important;color:#0a1f3d !important;border-color:#ffb000 !important}
.hv17:hover{background:#5dcf8b !important;color:#0a1f3d !important}
.hv18:hover{background:#ffb000 !important;color:#0a1f3d !important;transform:translateY(-3px) !important}
.hv19:hover{color:#ffb000 !important}
.modchip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid rgba(44,90,160,.18);border-radius:99px;padding:9px 16px;font-weight:700;font-size:13px;color:#0a387c;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease}
.modchip:hover{background:#0a387c;color:#fff;transform:translateY(-2px);border-color:#0a387c}
details.faq{background:#fff;border:1px solid rgba(44,90,160,.16);border-radius:14px;box-shadow:0 10px 24px -16px rgba(10,56,124,.28);transition:box-shadow .3s ease,border-color .3s ease}
details.faq:hover{border-color:#ffb000;box-shadow:0 18px 34px -18px rgba(10,56,124,.4)}
details.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:800;font-size:15.5px;color:#12233f}
details.faq summary::-webkit-details-marker{display:none}
details.faq .fx{width:26px;height:26px;border-radius:99px;background:#e8f0fc;color:#0a387c;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;transition:transform .3s ease,background .3s ease,color .3s ease}
details.faq[open] .fx{transform:rotate(45deg);background:#ffb000;color:#12233f}
details.faq .fa{padding:0 22px 18px;font-size:14px;color:#565656;line-height:1.65;margin:0}
input::placeholder{color:#9aa5b5}
select:invalid{color:#9aa5b5}
.gridtex{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px}
.btn-a{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 28px;border-radius:99px;background:linear-gradient(120deg,#ffb000 30%,#ffd47e 48%,#ffb000 62%);background-size:200% 100%;color:#12233f !important;font-weight:800;font-size:14.5px;box-shadow:0 12px 26px -10px rgba(255,176,0,.55);transition:transform .25s ease,box-shadow .25s ease;animation:emShimmer 4s linear infinite}
.btn-a:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 30px -10px rgba(255,176,0,.7)}
.btn-o{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 26px;border-radius:99px;border:1.5px solid #0a387c;color:#0a387c !important;font-weight:700;font-size:14.5px;transition:gap .25s ease}
.btn-o:hover{gap:12px}
.rvl{transition:opacity .7s ease,transform .7s ease}.rvl.armed{opacity:0;transform:translateY(30px)}
.rvl.on{opacity:1;transform:none}
.feat-ico{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px}
.map{position:relative;border-radius:16px;overflow:hidden;background:#0a2a5c}
.fence{position:absolute;border-radius:50%;border:2px dashed #ffb000;background:radial-gradient(circle,rgba(255,176,0,.16),rgba(255,176,0,.04) 70%,transparent 72%)}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}
.pin .head{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -4px rgba(0,0,0,.5)}
.dot{position:absolute;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.dot.in{background:#5dcf8b}.dot.out{background:#ff7a7a}
.ripple{position:absolute;width:26px;height:26px;border-radius:50%;border:2px solid #5dcf8b;animation:emPing 2.6s ease-out infinite}
.flowdot{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.flownode{width:66px;height:66px;border-radius:50%;background:#fff;border:2px solid #0a387c;display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 12px 26px -12px rgba(10,56,124,.5);z-index:1}
