/* ===== premium pass ===== */
body::before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
.top{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#E8B54A,transparent);opacity:.55}
.btn.gold{background:linear-gradient(135deg,#F4CB74,#E8B54A 45%,#C98A35);box-shadow:0 8px 28px -8px rgba(232,181,74,.6);position:relative;overflow:hidden}
.btn.gold::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s}
.btn.gold:hover::after{left:130%}
.btn.ghost{backdrop-filter:blur(6px);background:rgba(255,255,255,.04)}
.hero::before{content:"";position:absolute;width:720px;height:720px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(232,181,74,.22),transparent 62%);filter:blur(30px);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#062B55,#0A5CA8 30%,#C98A35 60%,#E8B54A)}
@keyframes drift{to{transform:translate(-80px,60px) scale(1.12)}}
.hero h1 .l3{background:linear-gradient(100deg,#C98A35 0%,#F8DC98 40%,#E8B54A 55%,#C98A35 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:sheen 6s ease-in-out infinite alternate}
@keyframes sheen{to{background-position:100% 0}}
.hero h1 span,.hero .eyebrow,.hero .lede,.hero .sub,.cta-row{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero .eyebrow{animation-delay:.05s}.hero h1 span{animation-delay:.15s}.hero h1 .l2{animation-delay:.35s}.hero h1 .l3{animation-delay:.55s}
.hero .lede{animation-delay:.75s}.hero .sub{animation-delay:.9s}.cta-row{animation-delay:1.05s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
.tri-wrap{filter:drop-shadow(0 30px 60px rgba(10,92,168,.55)) drop-shadow(0 0 40px rgba(232,181,74,.18));animation:float 9s ease-in-out infinite alternate;transform-style:preserve-3d}
@keyframes float{to{transform:translateY(-12px)}}
.card{position:relative;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 100%,#fff 4%),var(--card))}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(232,181,74,.16),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover::before{opacity:1}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#C98A35,#E8B54A);transition:width .45s}
.card:hover::after{width:100%}
.card:hover{box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
h2{letter-spacing:-.012em}
.head h2::after{content:"";display:block;width:84px;height:4px;margin-top:22px;background:linear-gradient(90deg,#E8B54A 0 25%,#C98A35 25% 50%,#0A5CA8 50% 75%,#062B55 75%);border-radius:2px}
.row{box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}
.js .rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:70;background:linear-gradient(90deg,#0A5CA8,#E8B54A)}
@media (prefers-reduced-motion:reduce){
  .hero::before,.tri-wrap,.hero h1 .l3{animation:none}
  .hero h1 span,.hero .eyebrow,.hero .lede,.hero .sub,.cta-row{animation:none}
  .js .rv{opacity:1;transform:none;transition:none}
  .btn.gold::after{display:none}
}
