/* Motion-led homepage refresh: inspired by premium motorsports/editorial pacing, not copied from any external site. */
:root{--motion-accent:#61c5ff;--motion-accent-2:#0b76ad;--motion-dark:#03080d;--motion-panel:#08131f;--motion-line:rgba(141,199,236,.22)}
body.home-motion{background:var(--motion-dark)}
body.home-motion .header{transition:transform .35s ease,background .35s ease,border-color .35s ease}
body.home-motion .header.scrolled{background:rgba(2,8,14,.92);border-bottom-color:rgba(121,188,230,.2)}
body.home-motion .hero{min-height:820px;isolation:isolate}
body.home-motion .hero__fallback::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(94,196,255,.12) 47%,transparent 62%);transform:translateX(-110%);animation:mnHeroSweep 10s ease-in-out infinite;pointer-events:none}
body.home-motion .hero__copy{transform:translateZ(0);box-shadow:0 35px 90px rgba(0,0,0,.38)}
body.home-motion .hero__copy h1{font-size:clamp(42px,5.2vw,76px);max-width:14ch;line-height:1.24!important}
body.home-motion .ticker{position:sticky;top:0;z-index:90;border-color:rgba(110,186,230,.22);box-shadow:0 8px 28px rgba(0,0,0,.16)}
body.home-motion .section{position:relative;overflow:hidden}
body.home-motion .section::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(29,112,166,.25),transparent)}
body.home-motion .section__head h2{font-size:clamp(30px,4vw,48px);letter-spacing:.02em!important}
body.home-motion #latest{background:#eef3f6;padding-top:72px;padding-bottom:84px}
body.home-motion #latest .story-grid{grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr));gap:20px}
body.home-motion #latest .story{min-height:460px;border:1px solid rgba(7,38,59,.12);box-shadow:0 18px 60px rgba(5,23,36,.13);transform:translateZ(0);transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease}
body.home-motion #latest .story:hover{transform:translateY(-10px);box-shadow:0 32px 85px rgba(5,23,36,.22)}
body.home-motion #latest .story::before{transition:transform 1.1s cubic-bezier(.2,.72,.2,1),filter .5s ease!important}
body.home-motion #latest .story:hover::before{transform:scale(1.025)!important}
body.home-motion #latest .story>div{left:28px;right:28px;bottom:28px}
body.home-motion #latest .story h3{font-size:clamp(22px,2.2vw,34px)}
body.home-motion #latest .story span{background:rgba(7,84,126,.92);backdrop-filter:blur(8px)}
body.home-motion #all-articles{background:linear-gradient(180deg,#06111d,#02070c);padding-top:82px}
body.home-motion #all-articles .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.home-motion #all-articles .card{overflow:hidden;border-color:rgba(117,183,224,.18);background:#0a1724;box-shadow:0 22px 60px rgba(0,0,0,.25);transition:transform .42s cubic-bezier(.2,.75,.2,1),border-color .32s ease,box-shadow .42s ease}
body.home-motion #all-articles .card:hover{transform:translateY(-10px);border-color:rgba(97,197,255,.52);box-shadow:0 34px 88px rgba(0,0,0,.36)}
body.home-motion #all-articles .card__image{height:280px;background:#06111b}
body.home-motion #all-articles .card__image img{width:100%;height:100%;object-fit:cover;object-position:var(--focus,center center);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:saturate(.94) contrast(1.04)}
body.home-motion #all-articles .card:hover .card__image img{transform:scale(1.035);filter:saturate(1.06) contrast(1.06)}
body.home-motion #all-articles .card__body{padding:22px}
body.home-motion #all-articles .card__body h3{font-size:21px;line-height:1.65!important}
body.home-motion #all-articles .card__updated{display:block;margin-top:14px;color:#8eb7d2;font-size:12px}
body.home-motion .affiliate-home,body.home-motion #field-library,body.home-motion .revenue-top,body.home-motion .revenue-inline{border-radius:0!important}
body.home-motion .affiliate-home,body.home-motion #field-library{position:relative;background:linear-gradient(135deg,#06111c,#0c2032)!important;color:#fff!important;border:1px solid rgba(116,190,235,.2)!important;box-shadow:0 28px 80px rgba(0,0,0,.23)!important}
body.home-motion .affiliate-home::before,body.home-motion #field-library::before{content:"EDITOR'S FIELD SELECT";position:absolute;right:24px;top:18px;color:rgba(130,202,245,.17);font:900 clamp(18px,3vw,42px)/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;pointer-events:none}
body.home-motion .approved-affiliate{background:linear-gradient(135deg,#07121d,#0b2235)!important;color:#fff!important;padding-top:78px;padding-bottom:78px;border-block:1px solid rgba(115,190,235,.18)}
body.home-motion .approved-affiliate .section__head h2,body.home-motion .approved-affiliate .section__head p{color:#fff!important}
body.home-motion .approved-affiliate__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
body.home-motion .approved-affiliate__card{overflow:hidden!important;border:1px solid rgba(130,195,232,.2)!important;background:#f7fafc!important;color:#0d2130!important;box-shadow:0 16px 44px rgba(0,0,0,.2)!important;transition:transform .36s cubic-bezier(.2,.75,.2,1),box-shadow .36s ease,border-color .36s ease!important}
body.home-motion .approved-affiliate__card:hover{transform:translateY(-8px)!important;border-color:rgba(97,197,255,.65)!important;box-shadow:0 28px 66px rgba(0,0,0,.32)!important}
body.home-motion .approved-affiliate__image{display:block!important;height:190px!important;background:#fff!important;overflow:hidden!important}
body.home-motion .approved-affiliate__image img{width:100%!important;height:100%!important;object-fit:contain!important;padding:12px!important;transition:transform .5s ease!important}
body.home-motion .approved-affiliate__card:hover .approved-affiliate__image img{transform:scale(1.04)}
body.home-motion .approved-affiliate__body{display:flex!important;flex-direction:column!important;gap:7px!important;padding:18px!important}
body.home-motion .approved-affiliate__body strong{font-size:18px!important;line-height:1.55!important}
body.home-motion .approved-affiliate__body em{margin-top:auto!important;display:flex!important;justify-content:space-between!important;padding:11px 13px!important;background:#075b88!important;color:#fff!important;font-style:normal!important;font-weight:800!important}
body.home-motion .affiliate-card,body.home-motion .revenue-card{border-radius:0!important;transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease!important}
body.home-motion .affiliate-card:hover,body.home-motion .revenue-card:hover{transform:translateY(-7px)!important;box-shadow:0 24px 58px rgba(0,0,0,.19)!important}
body.home-motion .revenue-card__image{background:#f4f7f9!important}
body.home-motion .revenue-card__body em{background:#075b88!important;transition:background .2s ease,letter-spacing .2s ease}
body.home-motion .revenue-card:hover .revenue-card__body em{background:#0a88c7!important;letter-spacing:.04em}
body.home-motion .visual-band{background:linear-gradient(110deg,#06121e,#0e2b43)!important;color:#fff!important}
body.home-motion .visual-band::after{content:"";position:absolute;width:36vw;height:36vw;right:-10vw;top:-14vw;border:1px solid rgba(94,196,255,.18);border-radius:50%;box-shadow:0 0 0 7vw rgba(94,196,255,.025),0 0 0 14vw rgba(94,196,255,.018);animation:mnOrbit 18s linear infinite;pointer-events:none}
body.home-motion .motion-reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.72,.2,1)}
body.home-motion .motion-reveal.is-visible{opacity:1;transform:none}
body.home-motion .motion-reveal:nth-child(2){transition-delay:.07s}body.home-motion .motion-reveal:nth-child(3){transition-delay:.14s}
@keyframes mnHeroSweep{0%,30%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
@keyframes mnOrbit{to{transform:rotate(360deg)}}
@media(max-width:980px){body.home-motion #latest .story-grid{grid-template-columns:1fr 1fr}body.home-motion #latest .story:first-child{grid-column:1/-1}body.home-motion #all-articles .cards{grid-template-columns:1fr 1fr}body.home-motion .approved-affiliate__grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:680px){body.home-motion .hero{min-height:760px}body.home-motion #latest{padding-top:54px}body.home-motion #latest .story-grid,body.home-motion #all-articles .cards{grid-template-columns:1fr}body.home-motion #latest .story:first-child{grid-column:auto}body.home-motion #latest .story{min-height:390px}body.home-motion #all-articles .card__image{height:220px}body.home-motion .approved-affiliate__grid{grid-template-columns:1fr!important}body.home-motion .affiliate-home::before,body.home-motion #field-library::before{display:none}}
@media(prefers-reduced-motion:reduce){body.home-motion *,body.home-motion *::before,body.home-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.motion-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ---- 2026-09-15 corporate-grade motion pass -------------------------------
 * The enforce script pins .hero__fallback to transform:none!important, so the
 * scroll parallax site.js has been writing into --hero-scroll never reached
 * the poster. The motion now lives on a ::before layer that carries the same
 * reviewed photograph: a slow Ken Burns drift plus the parallax, while the
 * element itself stays the untouched full-opacity poster the render gate
 * measures. When the self-hosted video plays, the whole element (pseudo
 * included) fades exactly as before. */
body.home-motion .hero.hero--official-video .hero__fallback{overflow:hidden}
body.home-motion .hero .hero__fallback::before{content:"";position:absolute;inset:-7%;background-image:var(--hero-image);background-size:cover;background-repeat:no-repeat;background-position:inherit;filter:inherit;transform:translate3d(0,var(--hero-scroll,0px),0) scale(1.02);animation:mnKenBurns 30s cubic-bezier(.4,0,.6,1) infinite alternate;will-change:transform;pointer-events:none}
@keyframes mnKenBurns{from{transform:translate3d(0,var(--hero-scroll,0px),0) scale(1.02)}to{transform:translate3d(-1.6%,calc(var(--hero-scroll,0px) - .8%),0) scale(1.12)}}
body.home-motion .hero__shade{background:linear-gradient(90deg,rgba(1,5,9,.97) 0%,rgba(3,12,21,.9) 32%,rgba(3,12,21,.42) 58%,rgba(2,7,11,.1) 84%),linear-gradient(0deg,rgba(1,5,9,.86),transparent 46%),radial-gradient(120% 80% at 80% 20%,transparent 40%,rgba(1,5,9,.55) 100%)!important}

/* Hero copy: each line arrives in sequence instead of the block popping in. */
body.home-motion .hero__copy>*{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.72,.2,1)}
body.home-motion .hero__copy.is-visible>*{opacity:1;transform:none}
body.home-motion .hero__copy.is-visible>*:nth-child(1){transition-delay:.06s}
body.home-motion .hero__copy.is-visible>*:nth-child(2){transition-delay:.16s}
body.home-motion .hero__copy.is-visible>*:nth-child(3){transition-delay:.28s}
body.home-motion .hero__copy.is-visible>*:nth-child(4){transition-delay:.42s}
body.home-motion .hero__copy.is-visible>*:nth-child(5){transition-delay:.56s}
body.home-motion .hero__copy::after{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.72,.2,1) .3s}
body.home-motion .hero__copy.is-visible::after{transform:scaleX(1)}

/* Header and progress: the chrome answers scrolling. */
body.home-motion .header.scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 40px rgba(0,0,0,.35)}
body.home-motion .progress{height:3px;background:linear-gradient(90deg,var(--motion-accent-2),var(--motion-accent));box-shadow:0 0 14px rgba(97,197,255,.55);transition:width .12s linear}

/* Grids: every card staggers by its index, not just the first three. */
body.home-motion .motion-reveal{transition-delay:calc(var(--i,0)*70ms)}
body.home-motion .section__head.motion-reveal{transform:translateY(24px)}
body.home-motion .section__head h2::after{content:"";display:block;width:0;height:2px;margin-top:14px;background:linear-gradient(90deg,var(--motion-accent),rgba(97,197,255,0));transition:width .95s cubic-bezier(.2,.72,.2,1) .25s}
body.home-motion .section__head.is-visible h2::after{width:132px}

/* Cards: image drifts on hover; the whole tile lifts with a soft accent edge. */
body.home-motion #latest .story__image,body.home-motion #all-articles .card__image img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s ease}
body.home-motion #latest .story:hover .story__image{transform:scale(1.06)}
body.home-motion #all-articles .card:hover .card__image img{transform:scale(1.07)}
body.home-motion #all-articles .card::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,var(--motion-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.72,.2,1);pointer-events:none}
body.home-motion #all-articles .card:hover::after{transform:scaleX(1)}
body.home-motion #all-articles .card{position:relative}

@media(prefers-reduced-motion:reduce){
  body.home-motion .hero .hero__fallback::before{animation:none!important;transform:none!important}
  body.home-motion .hero__copy>*,body.home-motion .section__head h2::after,body.home-motion .hero__copy::after{transition:none!important;opacity:1!important;transform:none!important}
  body.home-motion .section__head h2::after{width:132px}
}
