/* ========================================================================== 
   UPS BATTERY SHOP — Immersive Power-Tech Experience v4
   Expressive interaction layer. Loaded after premium.css.
   Keeps the existing information architecture while adding cinematic depth,
   reactive lighting, motion, tactile cards and a more memorable visual rhythm.
   ========================================================================== */

:root{
  --fx-cyan:#FFF3A3;
  --fx-blue:#FEE01C;
  --fx-deep:#111111;
  --fx-teal:#FEE01C;
  --fx-orange:#FEE01C;
  --fx-glow:rgba(248,221,27,.28);
  --fx-glow-strong:rgba(248,221,27,.52);
  --fx-border:rgba(243,240,228,.25);
  --fx-ease:cubic-bezier(.16,1,.3,1);
  --fx-spring:cubic-bezier(.2,1.35,.4,1);
}

body.public{
  --fx-pointer-x:50vw;
  --fx-pointer-y:22vh;
  --fx-scroll-y:0px;
  background:
    radial-gradient(70rem 40rem at 105% -5%,rgba(248,221,27,.13),transparent 62%),
    radial-gradient(55rem 32rem at -8% 20%,rgba(248,221,27,.075),transparent 68%),
    linear-gradient(180deg,#f8fbfc 0%,#f2f8fa 42%,#f7fafb 100%);
}

/* ambient atmosphere ------------------------------------------------------ */
body.public .fx-atmosphere{
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  overflow:hidden;
  contain:strict;
}
body.public .fx-atmosphere::before{
  content:"";
  position:absolute;
  width:42vw;
  height:42vw;
  min-width:520px;
  min-height:520px;
  left:-16vw;
  top:18vh;
  border-radius:50%;
  background:radial-gradient(circle at 52% 48%,rgba(248,221,27,.11),rgba(248,221,27,.045) 45%,transparent 70%);
  filter:blur(4px);
  animation:fxAmbientA 18s ease-in-out infinite alternate;
}
body.public .fx-atmosphere::after{
  content:"";
  position:absolute;
  width:48vw;
  height:48vw;
  min-width:560px;
  min-height:560px;
  right:-18vw;
  top:48vh;
  border-radius:50%;
  background:radial-gradient(circle at 42% 48%,rgba(221,172,13,.12),rgba(255,117,64,.025) 52%,transparent 72%);
  animation:fxAmbientB 22s ease-in-out infinite alternate;
}
body.public .fx-pointer-glow{
  position:fixed;
  z-index:-1;
  width:520px;
  height:520px;
  left:var(--fx-pointer-x);
  top:var(--fx-pointer-y);
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  opacity:.42;
  background:radial-gradient(circle,rgba(248,221,27,.11) 0,rgba(248,221,27,.035) 42%,transparent 70%);
  filter:blur(3px);
  transition:opacity .3s ease;
}
body.public:not(.fx-pointer-active) .fx-pointer-glow{opacity:.12}
body.public .fx-bubble-field{position:absolute;inset:0;overflow:hidden}
body.public .fx-bubble{
  --size:9px;
  --delay:0s;
  --dur:18s;
  position:absolute;
  width:var(--size);height:var(--size);
  left:var(--left,50%);
  bottom:-40px;
  border:1px solid rgba(221,172,13,.18);
  border-radius:50%;
  background:rgba(255,255,255,.32);
  box-shadow:inset 0 0 12px rgba(255,255,255,.7),0 0 16px rgba(248,221,27,.06);
  opacity:0;
  animation:fxBubble var(--dur) linear var(--delay) infinite;
}
@keyframes fxAmbientA{to{transform:translate3d(7vw,-4vh,0) scale(1.1)}}
@keyframes fxAmbientB{to{transform:translate3d(-7vw,4vh,0) scale(.92)}}
@keyframes fxBubble{
  0%{transform:translate3d(0,0,0) scale(.75);opacity:0}
  10%{opacity:.55}
  60%{opacity:.28}
  100%{transform:translate3d(var(--drift,35px),-115vh,0) scale(1.25);opacity:0}
}

/* top progress / header --------------------------------------------------- */
body.public .px-scroll-progress{
  height:3px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-cyan) 48%,var(--fx-orange));
  box-shadow:0 0 15px rgba(248,221,27,.45);
}
body.public .site-header.upgraded-header{isolation:isolate}
body.public .site-header.upgraded-header::after{
  content:"";
  position:absolute;
  inset-inline:9%;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(248,221,27,.28),transparent);
  opacity:0;
  transform:scaleX(.55);
  transition:.45s var(--fx-ease);
}
body.public.px-scrolled .site-header.upgraded-header::after{opacity:1;transform:scaleX(1)}
body.public .upgraded-header .brand-icon{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 10px 28px rgba(18,21,25,.2),0 0 0 0 rgba(248,221,27,0);
  transition:transform .45s var(--fx-spring),box-shadow .45s var(--fx-ease);
}
body.public .upgraded-header .brand:hover .brand-icon{transform:translateY(-2px) rotate(-5deg) scale(1.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 15px 32px rgba(18,21,25,.22),0 0 28px rgba(248,221,27,.18)}
body.public .upgraded-header .brand-icon::after{
  content:"";position:absolute;inset:-40%;z-index:-1;
  background:conic-gradient(from 0deg,transparent,rgba(248,221,27,.55),transparent 28%);
  animation:fxSpin 7s linear infinite;
}
@keyframes fxSpin{to{transform:rotate(360deg)}}
body.public .nav-main>a,body.public .header-dropdown>summary{position:relative;overflow:hidden}
body.public .nav-main>a::after,body.public .header-dropdown>summary::after{
  content:"";position:absolute;inset-inline:13px;bottom:3px;height:2px;border-radius:4px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-cyan));
  transform:scaleX(0);transform-origin:center;transition:transform .28s var(--fx-ease);
}
body.public .nav-main>a:hover::after,body.public .nav-main>a[aria-current="page"]::after,
body.public .header-dropdown>summary:hover::after,body.public .header-dropdown[data-current="true"]>summary::after{transform:scaleX(1)}

/* tactile controls ------------------------------------------------------- */
body.public .button{position:relative;isolation:isolate;overflow:hidden}
body.public .button::after{
  content:"";position:absolute;z-index:-1;width:85px;height:85px;border-radius:50%;
  left:var(--fx-btn-x,50%);top:var(--fx-btn-y,50%);transform:translate(-50%,-50%) scale(0);
  background:rgba(255,255,255,.24);transition:transform .55s var(--fx-ease),opacity .55s;opacity:0;
}
body.public .button:hover::after{transform:translate(-50%,-50%) scale(2.3);opacity:1}
body.public .button.primary,body.public .mini-cart-button{
  background:linear-gradient(135deg,#111111,#111111 58%,#FEE01C);
  box-shadow:0 12px 28px rgba(18,21,25,.14),inset 0 1px 0 rgba(255,255,255,.12);
}
body.public .button.accent{
  background:linear-gradient(135deg,#FEE01C,#FEE01C 58%,#FEE01C);
  box-shadow:0 12px 26px rgba(255,104,48,.18),inset 0 1px 0 rgba(255,255,255,.2);
}
body.public .button.primary:hover,body.public .button.accent:hover{transform:translateY(-3px) scale(1.012)}

/* hero: cinematic power-tech stage -------------------------------------- */
body.public .wp-hero{padding-top:38px;perspective:1600px}
body.public .wp-hero::before{
  height:760px;
  background:
    radial-gradient(42rem 32rem at 84% 42%,rgba(248,221,27,.11),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.64),transparent 92%);
}
body.public .wp-hero-grid{
  min-height:650px;
  border-color:rgba(248,221,27,.18);
  background:
    linear-gradient(120deg,rgba(255,255,255,.96),rgba(246,252,253,.88) 52%,rgba(233,249,252,.86)),
    radial-gradient(circle at 80% 50%,rgba(248,221,27,.16),transparent 45%);
  box-shadow:0 42px 110px rgba(18,21,25,.11),inset 0 1px 0 rgba(255,255,255,.9);
  transform-style:preserve-3d;
}
body.public .wp-hero-grid::before{
  width:650px;height:650px;inset-inline-end:-155px;top:-195px;
  border-color:rgba(248,221,27,.2);
  box-shadow:0 0 0 58px rgba(221,172,13,.03),0 0 0 118px rgba(221,172,13,.018),0 0 110px rgba(248,221,27,.12);
  animation:fxHeroRings 13s ease-in-out infinite alternate;
}
@keyframes fxHeroRings{to{transform:translate3d(-20px,26px,0) scale(1.06) rotate(7deg)}}
body.public .wp-hero-grid::after{color:rgba(18,21,25,.30)}
body.public .wp-hero-copy{transform:translateZ(22px)}
body.public .wp-eyebrow{
  border-color:rgba(248,221,27,.3);
  background:linear-gradient(90deg,rgba(231,251,254,.98),rgba(255,255,255,.78));
  box-shadow:0 7px 24px rgba(221,172,13,.08),inset 0 1px 0 #fff;
}
body.public .wp-eyebrow span{animation:fxPulseDot 2.1s ease-out infinite}
@keyframes fxPulseDot{0%,100%{box-shadow:0 0 0 4px rgba(221,172,13,.1)}50%{box-shadow:0 0 0 9px rgba(221,172,13,0)}}
body.public .wp-hero-copy h1{
  position:relative;
  background:linear-gradient(115deg,#111111 8%,#FEE01C 44%,#111111 72%,#FEE01C 98%);
  background-size:180% 180%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fxHeadline 9s ease-in-out infinite alternate;
  text-shadow:0 16px 50px rgba(63,66,71,.065);
}
@keyframes fxHeadline{to{background-position:100% 70%}}
body.public .wp-hero-copy h1::after{
  content:"";display:block;width:74px;height:4px;margin-top:18px;border-radius:99px;
  background:linear-gradient(90deg,var(--fx-cyan),var(--fx-blue),var(--fx-orange));
  box-shadow:0 0 24px rgba(248,221,27,.24);
}
body.public .promo-card{
  position:relative;overflow:hidden;
  border-style:solid;border-color:rgba(221,172,13,.23);
  background:linear-gradient(135deg,rgba(238,252,254,.9),rgba(255,255,255,.83));
  box-shadow:0 16px 40px rgba(63,66,71,.065),inset 0 1px 0 #fff;
}
body.public .promo-card::before{
  content:"";position:absolute;width:110px;height:220px;top:-75px;left:-120px;transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);filter:blur(2px);
  animation:fxShine 6.5s ease-in-out infinite;
}
@keyframes fxShine{0%,42%{left:-140px}72%,100%{left:115%}}

body.public .wp-hero-art{transform:translateZ(34px);perspective:1200px}
body.public .wp-device-card{
  border-color:rgba(255,255,255,.86);
  background:
    radial-gradient(circle at 34% 24%,rgba(255,255,255,1),rgba(235,252,254,.88) 34%,rgba(243,240,228,.76) 66%,rgba(63,66,71,.11)),
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(243,240,228,.62));
  box-shadow:inset 0 0 0 1px rgba(248,221,27,.1),inset -18px -20px 50px rgba(221,172,13,.045),0 38px 85px rgba(63,66,71,.16),0 0 70px rgba(248,221,27,.075);
  transform-style:preserve-3d;
  will-change:transform;
  animation:fxMorph 11s ease-in-out infinite alternate,fxFloat 5.8s ease-in-out infinite;
}
@keyframes fxMorph{to{border-radius:53% 47% 41% 59% / 57% 52% 48% 43%}}
@keyframes fxFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
body.public .wp-device-card::before{
  inset:9%;
  border-color:rgba(248,221,27,.24);
  box-shadow:0 0 0 25px rgba(255,255,255,.2),0 0 0 52px rgba(221,172,13,.04),0 0 42px rgba(248,221,27,.16);
  animation:fxOrbitBreath 4s ease-in-out infinite alternate;
}
@keyframes fxOrbitBreath{to{transform:scale(1.045);opacity:.7}}
body.public .wp-device-card::after{background:rgba(18,21,25,.16);filter:blur(18px)}
body.public .wp-device-photo,body.public .wp-device-illus{filter:drop-shadow(0 30px 30px rgba(18,21,25,.18));transition:transform .7s var(--fx-ease),filter .7s}
body.public .wp-device-card:hover .wp-device-photo,body.public .wp-device-card:hover .wp-device-illus{transform:translateZ(32px) scale(1.035);filter:drop-shadow(0 38px 34px rgba(18,21,25,.22))}
body.public .wp-float-note{
  border-color:rgba(221,172,13,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(242,253,255,.73));
  box-shadow:0 18px 48px rgba(18,21,25,.13),inset 0 1px 0 rgba(255,255,255,.98);
  transform:translateZ(70px);
  animation:fxNoteFloat 4s ease-in-out infinite;
}
body.public .wp-float-note.bottom{animation-delay:-1.9s}
@keyframes fxNoteFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
body.public .wp-hero-stats{
  border-color:rgba(221,172,13,.16);
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(243,252,253,.88));
  box-shadow:0 22px 65px rgba(18,21,25,.1),inset 0 1px 0 #fff;
}
body.public .wp-hero-stats>div{position:relative;overflow:hidden}
body.public .wp-hero-stats>div::after{
  content:"";position:absolute;inset-inline:20%;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--fx-cyan),transparent);transform:scaleX(0);transition:.35s var(--fx-ease)
}
body.public .wp-hero-stats>div:hover::after{transform:scaleX(1)}

/* expressive section headings ------------------------------------------- */
body.public .section-heading::before{color:#C7A900;letter-spacing:.22em}
body.public .section-heading::after{width:52px;background:linear-gradient(90deg,var(--fx-cyan),rgba(248,221,27,.15))}
body.public .section-heading h2{position:relative;display:inline-block}
body.public .section-heading h2::selection{background:rgba(248,221,27,.22)}

/* interactive cards ------------------------------------------------------ */
body.public .quick-card,body.public .cat-card,body.public .p-card,body.public .svc-card,
body.public .post-card,body.public .ugc-item,body.public .brand-chip,body.public .p-section,
body.public .shop-head,body.public .buy-box{
  --rx:0deg;--ry:0deg;--lift:0px;--mx:50%;--my:50%;
}
body.public .fx-tilt{
  transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));
  transform-style:preserve-3d;
  will-change:transform;
}
body.public .quick-card,body.public .cat-card,body.public .p-card,body.public .svc-card,body.public .post-card{
  isolation:isolate;
  border-color:rgba(221,172,13,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(246,251,252,.88));
  box-shadow:0 10px 32px rgba(18,21,25,.045),inset 0 1px 0 #fff;
}
body.public .quick-card::before,body.public .cat-card::before,body.public .p-card::before,
body.public .svc-card::before,body.public .post-card::before{
  content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(260px circle at var(--mx) var(--my),rgba(248,221,27,.14),transparent 48%);
  opacity:0;transition:opacity .32s ease;
}
body.public .quick-card:hover::before,body.public .cat-card:hover::before,body.public .p-card:hover::before,
body.public .svc-card:hover::before,body.public .post-card:hover::before{opacity:1}
body.public .quick-card:hover,body.public .cat-card:hover,body.public .p-card:hover,body.public .svc-card:hover,body.public .post-card:hover{
  --lift:-8px;
  border-color:rgba(248,221,27,.31);
  box-shadow:0 28px 68px rgba(63,66,71,.12),0 0 0 1px rgba(255,255,255,.72) inset;
}
body.public .quick-card>*,body.public .cat-card>*,body.public .p-card>*,body.public .svc-card>*,body.public .post-card>*{position:relative;z-index:2}
body.public .quick-card>span,body.public .svc-card>span{
  background:linear-gradient(145deg,#eef6f9,#FFF3A3);
  box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(221,172,13,.09);
}
body.public .quick-card:hover>span,body.public .svc-card:hover>span{transform:translateZ(26px) rotate(-4deg);color:#C7A900}

/* category media becomes a floating object */
body.public .cat-card>img,body.public .cat-card>span{transition:transform .55s var(--fx-ease),filter .55s}
body.public .cat-card:hover>img,body.public .cat-card:hover>span{transform:translate3d(-5px,-8px,34px) scale(1.08) rotate(-2deg);filter:drop-shadow(0 18px 20px rgba(63,66,71,.14))}

/* product card: showroom light */
body.public .p-card{overflow:hidden}
body.public .p-card::after{
  content:"";position:absolute;z-index:1;top:-55%;left:-45%;width:44%;height:190%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transform:rotate(18deg) translateX(-120%);opacity:0;
}
body.public .p-card:hover::after{opacity:.72;animation:fxCardSweep .8s var(--fx-ease)}
@keyframes fxCardSweep{to{transform:rotate(18deg) translateX(420%)}}
body.public .p-cover{
  border:1px solid rgba(221,172,13,.09);
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,42%),rgba(255,255,255,1),rgba(235,247,249,.94) 53%,rgba(243,240,228,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -20px 40px rgba(221,172,13,.035);
}
body.public .p-card:hover .p-cover img,body.public .p-card:hover .p-art{transform:translateZ(34px) scale(1.075) translateY(-7px) rotate(-.6deg)}
body.public .p-off{box-shadow:0 8px 22px rgba(255,117,64,.23),0 0 0 3px rgba(255,255,255,.6)}
body.public .price-now{background:linear-gradient(90deg,#111111,#FEE01C);-webkit-background-clip:text;background-clip:text;color:transparent}

/* dark interactive lab band --------------------------------------------- */
body.public .advisor-band{
  border-color:rgba(248,221,27,.12);
  background:
    radial-gradient(620px 390px at 84% 26%,rgba(248,221,27,.23),transparent 64%),
    radial-gradient(420px 330px at 15% 110%,rgba(248,221,27,.17),transparent 65%),
    linear-gradient(135deg,#111111,#111111 54%,#FEE01C);
  box-shadow:0 42px 100px rgba(18,21,25,.23),inset 0 1px 0 rgba(255,255,255,.08);
}
body.public .advisor-band::after{border-color:rgba(243,240,228,.24);animation:fxLabRing 8s ease-in-out infinite alternate}
@keyframes fxLabRing{to{transform:translate(-18px,-12px) scale(1.08);opacity:.55}}
body.public .load-scale{position:relative;overflow:hidden;border-color:rgba(243,240,228,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
body.public .load-scale::before{
  content:"";position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.1),transparent 64%);
  animation:fxLabScan 5.5s linear infinite;pointer-events:none
}
@keyframes fxLabScan{from{transform:translateX(-60%)}to{transform:translateX(60%)}}
body.public .load-step{transition:transform .35s var(--fx-spring),background .35s,box-shadow .35s}
body.public .load-step:hover{transform:translateY(-5px) scale(1.025);box-shadow:0 14px 30px rgba(0,0,0,.12)}

/* catalog / internal hero ----------------------------------------------- */
body.public .shop-head{
  border-color:rgba(221,172,13,.16);
  background:
    radial-gradient(500px 300px at 88% 24%,rgba(248,221,27,.16),transparent 72%),
    radial-gradient(360px 260px at 0% 110%,rgba(248,221,27,.07),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(242,251,252,.9));
  box-shadow:0 28px 70px rgba(18,21,25,.075),inset 0 1px 0 #fff;
  overflow:hidden;
}
body.public .shop-head::after{border-color:rgba(248,221,27,.18);box-shadow:0 0 0 40px rgba(248,221,27,.027),0 0 65px rgba(248,221,27,.06);animation:fxHeroRings 11s ease-in-out infinite alternate}
body.public .shop-side,body.public .shop-toolbar{
  border-color:rgba(221,172,13,.12);
  background:rgba(255,255,255,.82);
  box-shadow:0 16px 45px rgba(18,21,25,.05),inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter:blur(18px) saturate(135%);
}
body.public .facet-options a{transition:transform .22s var(--fx-spring),background .22s,border-color .22s,color .22s}
body.public .facet-options a:hover{transform:translateY(-2px)}

/* product detail showroom ------------------------------------------------ */
body.public .product-top{
  border-color:rgba(221,172,13,.14);
  background:
    radial-gradient(430px 330px at 17% 35%,rgba(248,221,27,.08),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,252,253,.9));
  box-shadow:0 34px 85px rgba(18,21,25,.085),inset 0 1px 0 #fff;
}
body.public .gallery-main{
  background:radial-gradient(circle at 50% 38%,#fff 0,#eef6f9 50%,#FFF3A3 100%);
  box-shadow:inset 0 0 0 1px rgba(221,172,13,.055),inset 0 -28px 56px rgba(221,172,13,.04),0 22px 50px rgba(63,66,71,.06);
}
body.public .gallery-main::before{
  content:"";position:absolute;inset:10%;border:1px solid rgba(248,221,27,.13);border-radius:50%;
  box-shadow:0 0 0 24px rgba(248,221,27,.025),0 0 0 50px rgba(248,221,27,.014);animation:fxOrbitBreath 4.5s ease-in-out infinite alternate
}
body.public .gallery-main img{transition:transform .65s var(--fx-ease),filter .65s;filter:drop-shadow(0 24px 26px rgba(18,21,25,.1))}
body.public .gallery-main:hover img{transform:scale(1.035) translateY(-5px);filter:drop-shadow(0 34px 30px rgba(18,21,25,.15))}
body.public .buy-box{
  border-color:rgba(221,172,13,.16);
  background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(240,250,252,.92));
  box-shadow:0 22px 55px rgba(18,21,25,.1),inset 0 1px 0 #fff;
  overflow:hidden;
}
body.public .buy-box::after{
  content:"";position:absolute;width:170px;height:170px;inset-inline-end:-100px;bottom:-105px;border-radius:50%;
  border:1px solid rgba(248,221,27,.16);box-shadow:0 0 0 27px rgba(248,221,27,.025);pointer-events:none
}
body.public .p-section{
  border-color:rgba(221,172,13,.1);
  background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(249,252,253,.86));
  box-shadow:0 12px 40px rgba(18,21,25,.035),inset 0 1px 0 #fff;
  transition:transform .38s var(--fx-ease),box-shadow .38s,border-color .38s;
}
body.public .p-section:hover{transform:translateY(-3px);border-color:rgba(221,172,13,.2);box-shadow:0 22px 54px rgba(18,21,25,.07),inset 0 1px 0 #fff}

/* FAQ and content -------------------------------------------------------- */
body.public .wp-faq details{position:relative;overflow:hidden}
body.public .wp-faq details::before{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;border-radius:99px;
  background:linear-gradient(180deg,var(--fx-cyan),var(--fx-blue));transform:scaleY(0);transition:.32s var(--fx-ease)
}
body.public .wp-faq details[open]::before{transform:scaleY(1)}
body.public .wp-faq details[open] summary{color:#C7A900}

/* footer ---------------------------------------------------------------- */
body.public .rich-footer{
  position:relative;overflow:hidden;
  background:
    radial-gradient(700px 400px at 85% 0%,rgba(248,221,27,.13),transparent 70%),
    radial-gradient(500px 300px at 8% 100%,rgba(248,221,27,.09),transparent 68%),
    linear-gradient(160deg,#111111,#111111 58%,#FEE01C);
}
body.public .rich-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);
}
body.public .rich-footer .container{position:relative;z-index:2}

/* enhanced reveal ------------------------------------------------------- */
body.public.fx-motion [data-fx-reveal]{
  opacity:0;
  transform:translate3d(0,34px,0) scale(.985);
  filter:blur(7px);
  transition:opacity .82s var(--fx-ease),transform .82s var(--fx-ease),filter .82s var(--fx-ease);
  transition-delay:var(--fx-delay,0ms);
}
body.public.fx-motion [data-fx-reveal].fx-in{opacity:1;transform:none;filter:none}
body.public.fx-motion .p-grid [data-fx-card],body.public.fx-motion .cat-grid [data-fx-card],body.public.fx-motion .svc-grid [data-fx-card]{
  opacity:0;transform:translate3d(0,24px,0) scale(.97);transition:opacity .62s var(--fx-ease),transform .62s var(--fx-ease);transition-delay:var(--fx-delay,0ms)
}
body.public.fx-motion .fx-cards-in [data-fx-card]{opacity:1;transform:none}

/* count-up number treatment */
body.public [data-fx-count]{font-variant-numeric:tabular-nums;transition:filter .25s}
body.public [data-fx-count].fx-counting{filter:drop-shadow(0 0 10px rgba(248,221,27,.17))}

/* responsive ------------------------------------------------------------ */
@media (max-width:1100px){
  body.public .wp-hero-grid{min-height:610px}
  body.public .fx-pointer-glow{display:none}
}
@media (max-width:820px){
  body.public .wp-hero{padding-top:18px}
  body.public .wp-hero-grid{min-height:auto}
  body.public .wp-hero-copy h1::after{margin-inline:auto}
  body.public .wp-device-card{animation:fxMorph 12s ease-in-out infinite alternate,fxFloat 6s ease-in-out infinite}
  body.public .quick-card:hover,body.public .cat-card:hover,body.public .p-card:hover,body.public .svc-card:hover,body.public .post-card:hover{--lift:-4px}
  body.public .fx-tilt{transform:translateY(var(--lift))}
}
@media (max-width:560px){
  body.public .fx-atmosphere{opacity:.55}
  body.public .fx-bubble:nth-child(n+7){display:none}
  body.public .wp-hero-copy h1{animation:none;background-position:30% 50%}
  body.public .wp-hero-grid{box-shadow:0 24px 58px rgba(18,21,25,.1)}
  body.public .wp-float-note{animation:none}
  body.public .p-card:hover::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  body.public .fx-atmosphere,body.public .fx-pointer-glow{display:none!important}
  body.public .wp-device-card,body.public .wp-device-card::before,body.public .wp-float-note,
  body.public .wp-hero-grid::before,body.public .advisor-band::after,body.public .load-scale::before,
  body.public .upgraded-header .brand-icon::after,body.public .wp-eyebrow span,body.public .promo-card::before{animation:none!important}
  body.public.fx-motion [data-fx-reveal],body.public.fx-motion [data-fx-card]{opacity:1!important;transform:none!important;filter:none!important}
}

/* V5.8 Hero video as background + centered content */
body.public .wp-hero-video-bg{position:relative;overflow:hidden;isolation:isolate;min-height:760px}
body.public .wp-hero-video-background{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;justify-content:center;align-items:center;overflow:hidden}
body.public .wp-hero-video-background video{position:absolute;left:50%;top:50%;width:min(1180px,96vw);height:auto;min-width:860px;max-width:none;transform:translate(-50%,-50%) scale(1.18);object-fit:contain;object-position:center;opacity:.28;filter:saturate(.78) contrast(.95) brightness(1.02);mix-blend-mode:multiply;}
body.public .wp-hero-video-background span{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.56) 0 18%,rgba(255,255,255,.72) 43%,rgba(246,250,252,.88) 74%,rgba(255,255,255,.95) 100%),linear-gradient(180deg,rgba(255,255,255,.30),rgba(246,250,252,.55) 50%,rgba(255,255,255,.88));z-index:1}
body.public .wp-hero-video-bg .wp-hero-bg{z-index:1}
body.public .wp-hero-video-bg .wp-hero-grid{position:relative;z-index:2;display:flex!important;justify-content:center;align-items:center;min-height:600px}
body.public .wp-hero-centered .wp-hero-copy-centered{text-align:center;align-items:center;display:flex;flex-direction:column;max-width:900px;transform:none!important}
body.public .wp-hero-copy-centered h1{text-align:center}
body.public .wp-hero-copy-centered p{text-align:center;max-width:760px}
body.public .wp-hero-copy-centered .wp-hero-actions{justify-content:center}
body.public .wp-hero-copy-centered .wp-hero-marks{justify-content:center}
body.public .wp-hero-copy-centered .hero-promo-card{margin-left:auto;margin-right:auto}
body.public .wp-hero-video-bg .wp-hero-stats{position:relative;z-index:3}
body.public .wp-hero-video-bg .wp-hero-art{display:none!important}
@media(max-width:780px){
 body.public .wp-hero-video-bg{min-height:auto}
 body.public .wp-hero-video-background video{width:min(760px,112vw);min-width:0;transform:translate(-50%,-50%) scale(1.12);opacity:.22}
 body.public .wp-hero-video-bg .wp-hero-grid{min-height:520px}
}

/* V7 premium header + cinematic video atmosphere */
body.public .wp-header, body.public header {backdrop-filter:blur(18px) saturate(120%)}
body.public .wp-hero-video-bg .wp-hero-video-background video{opacity:.24;transform:translate(-50%,-50%) scale(1.24);filter:saturate(.75) contrast(.95) brightness(1.05)}
body.public .wp-hero-video-bg .wp-hero-video-background span{background:radial-gradient(circle at center,rgba(255,255,255,.5),rgba(246,250,252,.88) 72%,rgba(255,255,255,.96))}
