/* Polish layer: motion, depth, detail. Colors unchanged (navy #0b2350, gold #d4a937). */
html{scroll-behavior:smooth}
::selection{background:var(--gold);color:var(--navy3)}
header.top{transition:box-shadow .25s,background .25s}
header.top.scrolled{box-shadow:0 6px 24px rgba(11,35,80,.10);background:rgba(250,247,240,.98)}
.tile{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%)!important;box-shadow:inset 0 0 0 1px rgba(212,169,55,.35)}

/* Hero depth */
.hero,.final{position:relative;overflow:hidden;isolation:isolate}
.hero:before,.final:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
 background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 30%,transparent 75%)}
.hero:after,.final:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:620px;height:620px;right:-160px;top:-220px;border-radius:50%;
 background:radial-gradient(circle,rgba(212,169,55,.22) 0%,rgba(212,169,55,0) 65%);animation:glow 9s ease-in-out infinite alternate}
.final:after{left:50%;right:auto;top:auto;bottom:-380px;transform:translateX(-50%)}
@keyframes glow{from{transform:translate(0,0) scale(1);opacity:.85}to{transform:translate(-60px,40px) scale(1.12);opacity:1}}
.final:after{animation:none}
.hero .orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero .o1{width:380px;height:380px;left:-140px;bottom:-180px;background:radial-gradient(circle,rgba(46,92,184,.45),rgba(46,92,184,0) 70%);animation:glow 12s ease-in-out infinite alternate-reverse}
.hero h1{letter-spacing:-.02em}
.hero h1 em{position:relative;white-space:nowrap;background:linear-gradient(100deg,#e9c763 0%,var(--gold) 45%,#f3d98a 60%,var(--gold) 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s ease-in-out infinite}
.hero h1 em svg{position:absolute;left:0;bottom:-.14em;width:100%;height:.32em;overflow:visible}
.hero h1 em svg path{stroke:var(--gold);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.2s .6s cubic-bezier(.65,0,.35,1) forwards}
@keyframes shine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes draw{to{stroke-dashoffset:0}}
.badge{backdrop-filter:blur(6px)}
.badge i{box-shadow:0 0 0 0 rgba(212,169,55,.7);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(212,169,55,.6)}70%{box-shadow:0 0 0 10px rgba(212,169,55,0)}100%{box-shadow:0 0 0 0 rgba(212,169,55,0)}}
.btn-gold{background:linear-gradient(180deg,#e2bb4f 0%,var(--gold) 100%);box-shadow:0 8px 22px rgba(212,169,55,.28),inset 0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden}
.btn-gold:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-gold:hover:after{left:130%}
.btn-gold:hover{box-shadow:0 12px 28px rgba(212,169,55,.38),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-navy{box-shadow:0 8px 20px rgba(11,35,80,.18)}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(3px)}
.hero-img{perspective:1200px}
.hero-img img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-img:before{content:"";position:absolute;inset:-14px -14px 14px 14px;border-radius:calc(var(--r2) + 6px);border:1px solid rgba(212,169,55,.35);z-index:-1}
.hero-card{animation:float 6s ease-in-out infinite;border:1px solid rgba(11,35,80,.06)}
.hero-card.c2{left:auto;right:-18px;bottom:auto;top:22px;animation-delay:-3s;padding:10px 14px}
.hero-card.c2 .dot{background:#e5f4ec;color:var(--ok);width:32px;height:32px;border-radius:9px}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.stats b{background:linear-gradient(180deg,#fff 0%,#dfe6f5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-size:13.5px;color:#aebbd6}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:16px;height:16px;color:var(--gold)}

/* Carrier marquee */
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:14px;width:max-content;animation:mq 38s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee .track div{width:150px;height:68px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;padding:10px;background:#fff;flex:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.marquee .track div:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:rgba(212,169,55,.6)}
.marquee img{max-height:40px;max-width:118px;object-fit:contain}
@keyframes mq{to{transform:translateX(calc(-50% - 7px))}}

/* Value ribbon */
.ribbon{background:var(--navy);padding:0;overflow:hidden;border-top:1px solid rgba(212,169,55,.25);border-bottom:1px solid rgba(212,169,55,.25)}
.ribbon .track{display:flex;width:max-content;animation:mq 44s linear infinite;padding:18px 0}
.ribbon span{font:800 clamp(18px,2.2vw,26px)/1 var(--fd);color:#fff;white-space:nowrap;padding:0 26px;display:inline-flex;align-items:center;gap:26px;letter-spacing:-.01em}
.ribbon span:after{content:"";width:9px;height:9px;transform:rotate(45deg);background:var(--gold);display:inline-block}
.ribbon span:nth-child(even){color:var(--gold)}

/* Cards */
.card{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s}
.card:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gold),#f0d58a);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(212,169,55,.10),transparent 60%)}
.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(11,35,80,.05),0 22px 44px rgba(11,35,80,.12);border-color:rgba(212,169,55,.45)}
.card:hover:before{transform:scaleX(1)}.card:hover:after{opacity:1}
.card .ic{background:linear-gradient(135deg,#fbf3dc 0%,#f2e2b3 100%);box-shadow:inset 0 0 0 1px rgba(212,169,55,.25);transition:transform .3s}
.card:hover .ic{transform:rotate(-6deg) scale(1.06)}
.dark .card:hover{border-color:rgba(212,169,55,.5);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.rule{transition:transform .25s,box-shadow .25s}.rule:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(11,35,80,.10)}

/* MiHUB section */
.dark{position:relative;overflow:hidden;isolation:isolate}
#mihub:before{content:"";position:absolute;z-index:-1;width:700px;height:700px;right:-200px;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(212,169,55,.16),transparent 62%)}
.phone-wrap{position:relative;max-width:540px;margin:0 auto}
.phone{position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 50px 100px rgba(0,0,0,.5),0 0 80px rgba(212,169,55,.12)}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;background:#fff;color:var(--navy);font:700 13px/1.2 var(--fb);padding:10px 14px;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.35);animation:float 6s ease-in-out infinite;white-space:nowrap}
.chip i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--goldsoft);color:var(--gold2);font-style:normal}
.chip i svg{width:15px;height:15px}
.chip.k1{left:0;top:70px}.chip.k2{right:0;top:290px;animation-delay:-2s}.chip.k3{left:6px;bottom:40px;animation-delay:-4s}
.chip.k2 i{background:#e5f4ec;color:var(--ok)}
.phone .scr-row{opacity:0;transform:translateY(8px)}
.phone.in .scr-row{animation:rowin .5s cubic-bezier(.2,.7,.2,1) forwards}
.phone.in .scr-row:nth-child(1){animation-delay:.15s}.phone.in .scr-row:nth-child(2){animation-delay:.45s}.phone.in .scr-row:nth-child(3){animation-delay:.75s}.phone.in .scr-row:nth-child(4){animation-delay:1.05s}.phone.in .scr-row:nth-child(5){animation-delay:1.35s}
.phone .scr-btn{position:relative;overflow:hidden}
.phone.in .scr-btn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sweep 3s 2s infinite}
@keyframes sweep{0%{left:-60%}40%,100%{left:130%}}
@keyframes rowin{to{opacity:1;transform:none}}

/* Steps timeline */
.steps{position:relative}
.steps li{position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.steps li:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,35,80,.10);border-color:rgba(212,169,55,.45)}
.steps li:before{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%)!important;box-shadow:0 0 0 5px var(--cream),0 0 0 6px rgba(212,169,55,.45)}
@media(min-width:981px){.steps:after{content:"";position:absolute;left:38px;right:38px;top:38px;height:2px;z-index:0;background:linear-gradient(90deg,var(--gold),rgba(212,169,55,.15));transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.65,0,.35,1)}.steps.in:after{transform:scaleX(1)}.steps li{z-index:1;background:transparent;border-color:transparent;padding-top:20px}.steps li:before{position:relative;z-index:2}.steps li>*{position:relative}.steps li h3,.steps li p{background:none}}

/* Images */
.split>img,.hero-img img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.split>img:hover{transform:scale(1.015)}
.split>img{box-shadow:0 30px 60px rgba(11,35,80,.18)}

/* Eyebrow accent */
.eyebrow{display:inline-flex;align-items:center;gap:10px}

/* Final CTA */
.final{padding:clamp(72px,9vw,120px) 0}
.final h2{font-size:clamp(30px,4.2vw,52px)}
.final .btn{min-height:58px;padding:0 34px;font-size:17px}

/* FAQ */
details{transition:box-shadow .2s,border-color .2s}
details[open]{border-color:rgba(212,169,55,.55)!important;box-shadow:0 12px 28px rgba(11,35,80,.08)}

/* Reveal on scroll (only when JS is running) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* Mobile sticky apply bar */
.mbar{display:none}
@media(max-width:760px){
 .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;min-height:54px;border-radius:999px;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--fb);color:var(--navy3);text-decoration:none;background:linear-gradient(180deg,#e2bb4f,var(--gold));box-shadow:0 14px 30px rgba(7,24,58,.35),inset 0 1px 0 rgba(255,255,255,.35);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
 .mbar.show{transform:none}
 .hero-card.c2{right:8px;top:-14px}
 .phone-wrap{padding:26px 0}.chip.k1{left:0;top:0}.chip.k2{display:none}.chip.k3{left:auto;right:0;bottom:0}
 .hero:after{width:420px;height:420px;right:-200px;top:-160px}
 .marquee .track div{width:128px;height:60px}
 .marquee img{max-width:100px;max-height:34px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important}
 .marquee .track,.ribbon .track{flex-wrap:wrap;width:auto;justify-content:center}
 .marquee .track [aria-hidden],.ribbon .track [aria-hidden]{display:none}
 .hero h1 em svg path{stroke-dashoffset:0}
 .phone .scr-row{opacity:1;transform:none}
 .js .rv{opacity:1;transform:none}
}
@media print{.mbar,.chip,.hero:after,.hero:before{display:none!important}}

/* header v2 */
.strip{background:linear-gradient(90deg,#071a3d,#0b2350 50%,#071a3d);border-bottom:1px solid rgba(212,169,55,.25);display:flex;align-items:center;justify-content:center;gap:8px}
.strip .live{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:livep 2s infinite;flex:none}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 8px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
header.top,header.top.scrolled{background:rgba(11,35,80,.96);border-bottom:1px solid rgba(212,169,55,.22)}
header.top.scrolled{box-shadow:0 10px 30px rgba(4,14,36,.35)}
header.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#d4a937 30%,#f3d27a 50%,#d4a937 70%,transparent);opacity:.7}
.brand{color:#fff}
.brand .tile{position:relative;width:46px;height:50px;background:none;border-radius:0;filter:drop-shadow(0 4px 10px rgba(212,169,55,.35))}
.brand .tile .shield{position:absolute;inset:0;width:100%;height:100%}
.brand .tile .tt{position:relative;font:800 13px/1 var(--fd);color:#f3d27a;letter-spacing:.04em;margin-top:-3px;background:linear-gradient(180deg,#fbe39c,#d4a937);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand .wm{color:#fff;font-size:19px}
.brand .wm em{font-style:normal;background:linear-gradient(90deg,#f3d27a,#d4a937 60%,#f3d27a);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.brand .wm small{display:block;margin-top:4px;font:600 10.5px/1.2 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#d4a937;opacity:.9}
.links a{color:#dfe6f5}
.links a:hover,.links a[aria-current]{background:rgba(255,255,255,.08);color:#fff}
.pills{padding-top:2px}
.pills a{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#eef2fa;font-weight:600}
.pills a svg{width:16px;height:16px;fill:none;stroke:#d4a937;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pills a.hi{background:linear-gradient(135deg,#f3d27a,#d4a937);color:#0b2350;border-color:transparent;box-shadow:0 6px 18px rgba(212,169,55,.35)}
.pills a.hi svg{stroke:#0b2350}
@media (max-width:700px){.brand .wm{font-size:17.5px}.brand .wm small{font-size:9.5px;letter-spacing:.12em}}
@media print{header.top:after{display:none}}
.brand .tile,.brand .tile{background:none!important;box-shadow:none!important}
.strip>span:last-child{display:inline}
