/*
 * GigaWebZone — EFFECTS ONLY (agreed exception to the native-Bricks rule).
 * Everything visual (layout, colors, typography, spacing, borders, shadows, hover states)
 * lives in Bricks: global classes, color palette, global variables and the Theme Style.
 * This file holds only motion / 3D / blur that Bricks has no native control for:
 *   - keyframe animations (hero glow drift, gradient text shift, button shine, arrow flow…)
 *   - animated background layers (hero aurora + grid, section auroras, CTA glow)
 *   - 3D hero scene perspective, card tilt glow, frosted-glass backdrop blur
 *   - header "scrolled" state, smooth scrolling, reduced-motion handling
 */
html{scroll-behavior:smooth;overflow-x:clip}
body{transition:background .5s var(--ease),color .5s var(--ease)}
html:not(.anim) *,html:not(.anim) :after,html:not(.anim) :before{transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important}
html.theme-switching,html.theme-switching *,html.theme-switching :after,html.theme-switching :before{transition:none!important}
html.anim .hero .grad-text{animation:gradShift 7s ease-in-out infinite alternate}
html.anim .btn-primary:after,html.anim .cf-native button[type=submit]:after{animation:sheen 5s ease-in-out infinite}
html.anim .hero-glow.g1{animation:drift1 24s ease-in-out infinite}
html.anim .hero-glow.g2{animation:drift2 29s ease-in-out infinite}
html.anim .hero-glow.g3{animation:drift3 34s ease-in-out infinite}
html.anim .faq-q .ico:after{transition:transform .25s var(--ease)}
@media (min-width:1001px){html.anim .steps-connected:hover .step:not(:last-child):after{animation:arrowFlow 1.3s var(--ease) infinite}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@keyframes gradShift{0%{background-position:0}to{background-position:100%}}
.btn-primary:after,.cf-native button[type=submit]:after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;z-index:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-200%);pointer-events:none}
@keyframes sheen{0%{transform:translateX(-200%)}55%,to{transform:translateX(360%)}}
.site-header.scrolled{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom-color:var(--border)}
.hero-bg{overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-aurora{inset:-10% -5%}
.hero-aurora,.hero-glow{position:absolute;will-change:transform}
.hero-glow{border-radius:50%;filter:blur(80px);opacity:.6}
.hero-glow.g1{width:580px;height:580px;top:-150px;right:-30px;background:radial-gradient(circle,rgba(77,82,227,.55),transparent 68%)}
.hero-glow.g2{width:540px;height:540px;bottom:-190px;left:-110px;background:radial-gradient(circle,rgba(236,78,155,.42),transparent 70%)}
.hero-glow.g3{width:460px;height:460px;top:26%;left:40%;background:radial-gradient(circle,rgba(246,164,94,.36),transparent 70%)}
:root[data-brx-theme="dark"] .hero-glow.g1{opacity:.5}
:root[data-brx-theme="dark"] .hero-glow.g2{opacity:.42}
:root[data-brx-theme="dark"] .hero-glow.g3{opacity:.36}
@keyframes drift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-64px,42px) scale(1.14)}}
@keyframes drift2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(72px,-34px) scale(1.1)}}
@keyframes drift3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-44px,-54px) scale(1.2)}}
.hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.55}
.stage3d{perspective:1400px}
.stage3d-inner{transform-style:preserve-3d}
.card3d,.stage3d-inner{will-change:transform}
.skeleton{animation:shimmer 2.4s linear infinite}
.mark-badge{transform:rotate(8deg)}
.pillar:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0),var(--accent-tint),transparent 60%);pointer-events:none}
.pillar:hover:before{opacity:1}
.cta-band .glow{position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0,var(--accent-tint),transparent 70%);pointer-events:none}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes spin-slow{to{transform:rotate(1turn)}}
.sister-logo-badge .ring.r1{animation:spin-slow 26s linear infinite}
.sister-logo-badge .ring.r2{animation:spin-slow 18s linear infinite reverse}
@media (prefers-reduced-motion:reduce){.sister-logo-badge .ring,.skeleton{animation:none}}
@media (min-width:1001px){.steps-connected .step:not(:last-child):after{content:"";position:absolute;top:50%;right:-29px;width:38px;height:16px;transform:translateY(-50%) rotate(-8deg);background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='16'%20viewBox='0%200%2040%2016'%20fill='none'%20stroke='%234d52e3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M1%208h30'/%3E%3Cpath%20d='M25%203l6%205-6%205'/%3E%3C/svg%3E") 50% /contain no-repeat;opacity:.45;transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none;z-index:2}}
@media (min-width:1001px){.steps-connected:hover .step:not(:last-child):after{opacity:1}}
@media (min-width:1001px){.steps-connected .step:hover:after{opacity:1;transform:translateY(-50%) rotate(-8deg) translateX(5px)}}
@keyframes arrowFlow{0%,to{transform:translateY(-50%) rotate(-8deg) translateX(0)}50%{transform:translateY(-50%) rotate(-8deg) translateX(5px)}}
.sec-aurora:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(46% 55% at 6% -5%,var(--accent-tint),transparent 60%),radial-gradient(40% 48% at 96% 105%,rgba(236,78,155,.1),transparent 64%),radial-gradient(38% 42% at 62% 118%,rgba(168,102,230,.08),transparent 70%)}
:root[data-brx-theme="dark"] .sec-aurora:before{opacity:.75}
.pillar:before{z-index:0}
.mobile-nav{-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
.pillar{transform-style:preserve-3d;will-change:transform}
.pillar{transform-style:flat}
.pillar:hover .pic{transform:translateZ(30px)}
.sister-card .aurora span{will-change:transform}
.sister-svc{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* industries */
@media (max-width:920px){.ind-list.ind-list{scrollbar-width:thin}}
