:root{--navy:#0a1230;--red:#e0263b;--gold:#f5c542}
html,body{overflow-x:clip;max-width:100%}html{scroll-behavior:smooth}
.font-display,h1,h2,.title,.stat,.num{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.03em}
#loader{position:fixed;inset:0;z-index:100;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:opacity .5s,visibility .5s}
#loader.done{opacity:0;visibility:hidden}
.loader-star{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bg-layer{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.flag-wave{position:absolute;inset:-20%;opacity:.07;background:repeating-linear-gradient(180deg,#e0263b 0 40px,#fff 40px 80px);animation:wave 8s ease-in-out infinite alternate;transform-origin:left}
@keyframes wave{0%{transform:skewY(-4deg) translateY(0)}100%{transform:skewY(4deg) translateY(-30px)}}
.blob{position:absolute;width:45vmax;height:45vmax;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 20s ease-in-out infinite alternate}
.b1{background:#e0263b;top:-10%;left:-10%}.b2{background:#1d4ed8;bottom:-15%;right:-10%;animation-delay:-6s}.b3{background:#7c1d3a;top:40%;left:40%;width:30vmax;height:30vmax;animation-delay:-12s}
@keyframes drift{to{transform:translate(10vw,8vh) scale(1.15)}}
.grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.star{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;animation:twinkle var(--d,3s) ease-in-out infinite;box-shadow:0 0 6px #fff}
@keyframes twinkle{50%{opacity:.15;transform:scale(.5)}}
.shoot{position:absolute;width:140px;height:2px;background:linear-gradient(90deg,#fff,transparent);transform:rotate(-30deg);animation:shoot 1.4s ease-out forwards}
@keyframes shoot{from{opacity:1;translate:0 0}to{opacity:0;translate:-500px 290px}}
#fx{position:fixed;inset:0;z-index:60;pointer-events:none}
.glass{background:rgba(15,25,65,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12)}
#nav nav{margin-left:.5rem;margin-right:.5rem}@media(min-width:1170px){#nav nav{margin-left:auto;margin-right:auto}}
.shimmer{background:linear-gradient(100deg,#fff 20%,var(--gold) 40%,#fff 50%,#93c5fd 70%,#fff 90%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 5s linear infinite}
.shimmer.red{background-image:linear-gradient(100deg,var(--red) 20%,#ff8a8a 40%,var(--gold) 50%,var(--red) 70%)}
@keyframes shim{to{background-position:-250% center}}
.btn-primary,.btn-ghost,.btn-mini{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.5rem;font-weight:800;border-radius:14px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}
.btn-primary{padding:.85rem 1.4rem;background:linear-gradient(135deg,var(--red),#b5122a);box-shadow:0 8px 24px rgba(224,38,59,.45),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{padding:.85rem 1.4rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
.icon-btn{padding:.5rem .6rem;border-radius:10px;font-size:.85rem}
.btn-mini{padding:.45rem .7rem;font-size:.8rem;background:var(--gold);color:var(--navy);border-radius:10px}
.btn-primary:hover,.btn-ghost:hover,.btn-mini:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,197,66,.45)}
.btn-primary::after,.btn-ghost::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);transition:left .6s}
.btn-primary:hover::after,.btn-ghost:hover::after{left:130%}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:rip .6s ease-out;pointer-events:none}
@keyframes rip{to{transform:scale(4);opacity:0}}
.ca-box{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem 1rem;border-radius:14px;min-width:0}
.hero-banner{position:absolute;inset:0;overflow:hidden}
.hero-banner img{width:100%;height:100%;object-fit:cover;object-position:left center;opacity:.55;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.15) translate(-2%,-2%)}}
.hero-pose{height:min(82vh,760px);width:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(224,38,59,.35));animation:float 5s ease-in-out infinite;will-change:transform}
@keyframes float{50%{translate:0 -16px}}
@media(max-width:767px){.hero{padding-top:4.5rem}.hero-pose{height:44svh}.hero-text{text-align:left}}
.marquee{position:relative;z-index:5;overflow:hidden;padding:1rem 0;background:linear-gradient(90deg,var(--red),#1d3a8a);transform:rotate(-1.5deg);margin:1rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:2rem;align-items:center;width:max-content;animation:mq 25s linear infinite;font-family:'Bebas Neue';font-size:2.2rem;white-space:nowrap}
.marquee-track i{width:18px;height:18px;background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
@keyframes mq{to{transform:translateX(-50%)}}
.section{padding:6rem 0;overflow:hidden}
.title{font-size:clamp(3rem,8vw,5.5rem);text-align:center;line-height:1}
.card{position:relative;padding:1.6rem;border-radius:20px;background:rgba(15,25,65,.55);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);transition:transform .25s,box-shadow .25s,border-color .25s;transform-style:preserve-3d;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(245,197,66,.25),transparent 50%);opacity:0;transition:opacity .3s}
.card:hover{border-color:rgba(245,197,66,.5);box-shadow:0 0 40px rgba(245,197,66,.2)}
.card:hover::before{opacity:1}
.card h3{font-weight:800;font-size:1.2rem;margin:.6rem 0 .4rem}.card p{color:rgba(255,255,255,.72)}
.card-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:linear-gradient(135deg,rgba(224,38,59,.4),rgba(29,78,216,.4))}
.step .num{font-size:3rem;color:var(--red);line-height:1}
.label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.stat{font-size:clamp(1.6rem,4vw,2.6rem);margin-top:.3rem;word-break:break-all}.note{font-size:.75rem;color:rgba(255,255,255,.45)}
.chart-frame{position:relative;border-radius:22px;padding:6px;background:linear-gradient(135deg,var(--red),var(--gold),#1d4ed8);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.chart-frame iframe{display:block;width:100%;height:min(70vh,560px);border:0;border-radius:17px;background:#0b1020}
.side-pose{position:absolute;bottom:0;height:min(80%,620px);width:auto;opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity 1s;pointer-events:none;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6));z-index:1}
.side-pose.left{left:-1%;transform:translateX(-60%)}.side-pose.right{right:-1%;transform:translateX(60%)}
.side-pose.in{opacity:1;transform:none}
.side-pose.sit{height:min(70%,460px)}
@media(max-width:1180px){.side-pose{height:340px}.side-pose.in{opacity:.35}}
@media(max-width:767px){.side-pose{height:220px}.side-pose.in{opacity:.18}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
.trail{position:fixed;z-index:70;pointer-events:none;width:12px;height:12px;background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:trail .8s forwards}
@keyframes trail{to{opacity:0;transform:translateY(14px) scale(.3) rotate(90deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.side-pose{opacity:1!important;transform:none!important}}
