/* ===== WOW LAYER 2 — shared by carrier / broker pages ===== */

/* floating hero chips */
.hchips{position:absolute; inset:0; z-index:2; pointer-events:none}
.hchip{position:absolute; display:inline-flex; align-items:center; gap:9px; padding:10px 15px; border-radius:999px; background:oklch(1 0 0 / .13); border:1px solid oklch(1 0 0 / .3); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-family:var(--mono); font-size:11.5px; font-weight:600; color:#fff; white-space:nowrap; box-shadow:0 12px 34px oklch(0.12 0.03 262 / .34); opacity:0; animation:hchipIn .9s cubic-bezier(.16,.7,.3,1) forwards}
.hchip svg{width:15px; height:15px; flex:none}
.hchip i{width:8px; height:8px; border-radius:50%; background:oklch(0.72 0.17 152); box-shadow:0 0 10px oklch(0.72 0.17 152); animation:blink 1.5s infinite}
@keyframes hchipIn{from{opacity:0; transform:translateY(18px) scale(.94)}to{opacity:1; transform:none}}
.hchip--1{top:16%; left:5%; animation-delay:.5s}
.hchip--2{top:30%; right:5%; animation-delay:.75s}
.hchip--3{bottom:24%; left:8%; animation-delay:1s}
.hchip--4{bottom:30%; right:7%; animation-delay:1.25s}
.hchip--float1{animation:hchipIn .9s cubic-bezier(.16,.7,.3,1) .5s forwards, floaty 7s ease-in-out 1.5s infinite}
.hchip--float2{animation:hchipIn .9s cubic-bezier(.16,.7,.3,1) .75s forwards, floaty 8.5s ease-in-out 1.8s infinite reverse}
.hchip--float3{animation:hchipIn .9s cubic-bezier(.16,.7,.3,1) 1s forwards, floaty 7.8s ease-in-out 2s infinite}
.hchip--float4{animation:hchipIn .9s cubic-bezier(.16,.7,.3,1) 1.25s forwards, floaty 9s ease-in-out 2.3s infinite reverse}
@media(max-width:980px){ .hchips{display:none} }

/* animated route overlay in hero */
.hroute{position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.5}
.hroute svg{width:100%; height:100%}
.hroute .hr-bg{fill:none; stroke:oklch(1 0 0 / .18); stroke-width:1.6; stroke-linecap:round}
.hroute .hr-fg{fill:none; stroke:oklch(0.82 0.14 290); stroke-width:2; stroke-linecap:round; stroke-dasharray:1400; stroke-dashoffset:1400; animation:hrDraw 7s ease-in-out infinite}
@keyframes hrDraw{0%{stroke-dashoffset:1400}55%,100%{stroke-dashoffset:0}}
.hroute .hr-dot{fill:#fff; filter:drop-shadow(0 0 7px oklch(0.82 0.14 290))}

/* headline word-by-word reveal */
.wsplit{display:inline-block; overflow:hidden; vertical-align:bottom}
.wsplit > b{display:inline-block; font-weight:inherit; transform:translateY(105%); opacity:0; transition:transform .85s cubic-bezier(.16,.7,.3,1), opacity .85s}
.wsplit.is-in > b{transform:none; opacity:1}

/* hero stat count-ups */
.pg-hero__fact b{transition:color .3s}

/* cursor-tracked glow on cards */
.fcard{--gx:50%; --gy:50%}
.fcard::before{content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0; transition:opacity .35s; background:radial-gradient(260px circle at var(--gx) var(--gy), oklch(0.62 0.22 288 / .13), transparent 68%)}
.fcard:hover::before{opacity:1}
.fcard > *{position:relative; z-index:1}
.fcard__ic{transition:transform .4s cubic-bezier(.16,.7,.3,1), background .35s, color .35s}
.fcard:hover .fcard__ic{transform:translateY(-3px) rotate(-6deg) scale(1.08); background:var(--grad); color:#fff}

/* magnetic buttons */
.btn--mag{transition:transform .18s cubic-bezier(.16,.7,.3,1), box-shadow .25s, background .2s, border-color .2s, color .2s}

/* panel tilt */
.tilt3d{transition:transform .35s cubic-bezier(.16,.7,.3,1); transform-style:preserve-3d; will-change:transform}
.tilt3d.tilting{transition:transform .08s linear}

/* live row highlight sweep */
.livesweep{position:relative; overflow:hidden}
.livesweep::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(100deg,transparent 25%,oklch(0.62 0.22 288 / .14) 50%,transparent 75%); background-size:280% 100%; background-position:220% 0; animation:lsSweep 4.5s ease-in-out infinite}
@keyframes lsSweep{0%,55%{background-position:220% 0}90%,100%{background-position:-140% 0}}

/* row flash when value updates */
.flashrow{animation:rowFlash 1s ease-out}
@keyframes rowFlash{0%{background:oklch(0.62 0.22 288 / .16)}100%{background:transparent}}

/* new-bid pill */
.newbid{position:absolute; top:-12px; right:18px; z-index:3; display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; background:var(--grad); color:#fff; font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; box-shadow:0 10px 26px oklch(0.56 0.22 288 / .38); opacity:0; transform:translateY(-6px); transition:opacity .35s, transform .35s}
.newbid.on{opacity:1; transform:none}
.newbid i{width:7px; height:7px; border-radius:50%; background:#fff; animation:blink 1.2s infinite}

/* dark band parallax */
.pxglow{will-change:transform}

/* section heading gradient sweep on reveal */
.h2 em{background-size:220% auto; animation:shim 7s linear infinite}

/* scroll-linked scale on media */
.zoomin{transform:scale(.96); opacity:.85; transition:transform 1s cubic-bezier(.16,.7,.3,1), opacity .8s}
.zoomin.is-in{transform:none; opacity:1}

/* flow / cycle connector draw */
.flow, .cycle{position:relative}
.flowline{position:absolute; top:46px; left:6%; right:6%; height:2px; z-index:0; overflow:hidden; background:oklch(1 0 0 / .12)}
.flowline::after{content:""; position:absolute; inset:0; width:24%; background:linear-gradient(90deg,transparent,#c4b5fd,transparent); animation:flSweep 3.4s linear infinite}
@keyframes flSweep{from{transform:translateX(-100%)}to{transform:translateX(520%)}}
@media(max-width:860px){ .flowline{display:none} }

@media(print),(prefers-reduced-motion:reduce){
  .hchip,.hroute .hr-fg,.livesweep::after,.flowline::after,.h2 em{animation:none}
  .wsplit > b{transform:none; opacity:1}
  .zoomin{transform:none; opacity:1}
}
