/* Refined motion layer: visible by default, enhanced only when JavaScript is available. */
body.motion-ready .reveal{opacity:0;transform:translateY(34px);filter:blur(5px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1),filter .8s ease;transition-delay:var(--reveal-delay,0ms)}
body.motion-ready .reveal.is-visible{opacity:1;transform:none;filter:none}
.hero{isolation:isolate;background:radial-gradient(circle at var(--glow-x,72%) var(--glow-y,25%),rgba(213,163,62,.16),transparent 31%),#070707}
.hero:before{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:conic-gradient(from 210deg at 70% 30%,transparent,rgba(213,163,62,.07),transparent 24%);animation:heroSweep 14s linear infinite}
.hero-grid>*{opacity:0;transform:translateY(24px)}
body.hero-loaded .hero-grid>*{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
body.hero-loaded .hero-grid>*:nth-child(2){transition-delay:.12s}body.hero-loaded .hero-grid>*:nth-child(3){transition-delay:.24s}body.hero-loaded .hero-grid>*:nth-child(4){transition-delay:.34s}body.hero-loaded .hero-grid>*:nth-child(5){transition-delay:.44s}
.hero-art{transform:translate3d(var(--hero-shift-x,0),var(--hero-shift-y,0),0);transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.orb{position:relative;animation:orbFloat 6s ease-in-out infinite,orbGlow 4s ease-in-out infinite}
.orb:before,.orb:after{content:"";position:absolute;border-radius:50%;inset:-7%;border:1px solid rgba(213,163,62,.22);animation:ringTurn 16s linear infinite}
.orb:after{inset:-14%;border-color:rgba(241,206,123,.1);animation-direction:reverse;animation-duration:23s}
.orb img{animation:logoBreathe 5s ease-in-out infinite}
.client-ensemble{position:relative;width:min(39vw,540px);margin-inline:auto;isolation:isolate}
.client-ensemble:before{content:"";position:absolute;inset:7% -5% -3% 8%;z-index:-1;border:1px solid rgba(213,163,62,.35);background:linear-gradient(145deg,rgba(213,163,62,.12),transparent 55%);transform:translate(18px,18px)}
.client-ensemble-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border:1px solid rgba(241,206,123,.28);box-shadow:0 35px 90px rgba(0,0,0,.58);filter:saturate(.92) contrast(1.03)}
.client-ensemble-logo{position:absolute;right:-34px;bottom:34px;width:31%;height:auto;filter:drop-shadow(0 14px 24px rgba(0,0,0,.8));animation:logoBreathe 5s ease-in-out infinite}
.hero-art>p{margin-top:22px}
.brand-marquee{overflow:hidden;border-block:1px solid var(--line);background:#0c0b09;padding:15px 0;color:var(--gold2);white-space:nowrap}
.marquee-track{display:inline-flex;width:max-content;animation:marquee 28s linear infinite}
.marquee-track span{font-size:11px;font-weight:bold;letter-spacing:.24em;margin-right:44px}
.home-links a,.service-grid article,.campaign-grid article,.team-card{transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}
.home-links a:hover,.service-grid article:hover,.campaign-grid article:hover,.team-card:hover{transform:translateY(-7px);border-color:rgba(241,206,123,.55);box-shadow:0 25px 70px rgba(0,0,0,.42)}
.button{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.button:after{content:"";position:absolute;inset:-2px;transform:translateX(-130%) skewX(-24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:transform .7s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(213,163,62,.2)}.button:hover:after{transform:translateX(130%) skewX(-24deg)}
.topbar{transition:background .35s ease,box-shadow .35s ease}.topbar.scrolled{background:rgba(7,7,7,.97);box-shadow:0 12px 35px rgba(0,0,0,.38)}
@keyframes heroSweep{to{transform:rotate(360deg)}}@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes orbGlow{0%,100%{box-shadow:0 0 80px rgba(213,163,62,.14)}50%{box-shadow:0 0 120px rgba(213,163,62,.27)}}@keyframes ringTurn{to{transform:rotate(360deg)}}@keyframes logoBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:980px){.hero:before{display:none}.brand-marquee{padding:13px 0}.hero-art{display:block;margin-top:48px}.client-ensemble{width:min(82vw,520px)}.client-ensemble-logo{right:-18px;width:28%}}
@media(max-width:620px){.client-ensemble{width:min(88vw,440px)}.client-ensemble-logo{right:-8px;bottom:20px;width:29%}.hero-art>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.hero-grid>*{opacity:1;transform:none}body.motion-ready .reveal{opacity:1;transform:none;filter:none}.marquee-track{transform:none}.hero-art{transform:none}}
