/* ==========================================================================
   FUTURE ENERGY — full-site layer (loaded after future-energy.css)
   Public page styles.
   ========================================================================== */

/* 1. Base ------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;overflow-x:clip}
html:has(.fe-header){scroll-behavior:smooth;scroll-padding-top:84px}
.fe-header,#top,.fe-footer,.fe-lightbox{line-height:1.6;-webkit-font-smoothing:antialiased}
:where(.fe-header,#top,.fe-footer,.fe-lightbox) img{max-width:100%;height:auto}
[data-copy]{white-space:pre-line}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fe-wrap{width:min(100% - 40px,1240px);margin-inline:auto}

/* Focus: one high-contrast ring for every public control (10.96:1 on the background) */
:where(.fe-header,#top,.fe-footer,.fe-lightbox,.skip-link) :focus-visible,.skip-link:focus-visible{outline:3px solid var(--fe-glow);outline-offset:3px}
.skip-link{position:absolute;z-index:100;top:-100px;right:16px;padding:10px 18px;border-radius:var(--fe-radius-pill);background:var(--fe-accent);color:var(--fe-on-accent);font:800 15px var(--fe-font-body);text-decoration:none}
.skip-link:focus{top:12px}

/* 2. Buttons & links -------------------------------------------------------- */
.red-button{display:inline-flex;align-items:center;text-decoration:none;font-weight:800;color:var(--fe-on-accent)}
.fe-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:var(--fe-radius-pill);font:800 16px/1.2 var(--fe-font-body);text-decoration:none;cursor:pointer;
  transition:transform 220ms var(--fe-ease),background-color 220ms var(--fe-ease),border-color 220ms var(--fe-ease),color 220ms var(--fe-ease),box-shadow 220ms var(--fe-ease)}
.fe-btn b{font-size:18px;font-weight:500;transition:transform 220ms var(--fe-ease)}
.fe-btn--primary{background:var(--brand-gradient);color:var(--fe-on-accent);box-shadow:inset 0 1px 0 #ffffff59,inset 0 -1px 0 #0000001f,0 10px 26px -14px #f7931ed9}
.fe-btn--primary:hover{background:var(--brand-gradient-hover);transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff66,0 16px 34px -14px #f7931e}
.fe-btn--ghost{border-color:#ffffff2e;background:#0b0e1459;color:var(--fe-text)}
.fe-btn--ghost:hover{border-color:#fbb03b8c;background:#ffffff0a;color:var(--fe-glow)}
.fe-btn:hover b{transform:translateX(-3px)}
.fe-btn:active{transform:scale(.985)}
.fe-btn--sm{min-height:44px;padding:0 18px;font-size:15px}
.fe-btn--block{width:100%}
.fe-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--fe-glow);font-weight:700;text-decoration:none;background:linear-gradient(currentColor,currentColor) 100% 85%/0 1px no-repeat;transition:background-size 300ms var(--fe-ease)}
.fe-link:hover{background-size:100% 1px}
.fe-link b{transition:transform 220ms var(--fe-ease)}
.fe-link:hover b{transform:translateX(-3px)}

/* 3. Header ----------------------------------------------------------------- */
.fe-header{position:sticky;top:0;z-index:40;background:#0b0e14d9;-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px);border-bottom:1px solid transparent;transition:border-color 250ms var(--fe-ease),background-color 250ms var(--fe-ease)}
.fe-header.is-scrolled{border-bottom-color:var(--fe-line);background:#0b0e14f2}
.fe-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;width:min(100% - 24px,1400px);margin-inline:auto}
.fe-header__logo{display:block;flex:0 1 auto;min-width:0;height:clamp(24px,7.2vw,28px)}
.fe-header__logo img,.fe-footer__logo img{display:block;width:auto;height:100%;max-width:none}
.fe-header__nav{display:none}
.fe-header__actions{display:flex;align-items:center;gap:8px}
.fe-header__cta{display:none}
.fe-header__wa,.fe-header__toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08;color:var(--fe-glow);cursor:pointer;transition:border-color 220ms var(--fe-ease),background-color 220ms var(--fe-ease)}
.fe-header__wa:hover,.fe-header__toggle:hover{border-color:#fbb03b80;background:#ffffff0f}
.fe-header__wa svg{width:20px;height:20px;fill:currentColor}
.fe-header__toggle{position:relative;padding:0}
.fe-header__toggle span{position:absolute;width:18px;height:1.5px;border-radius:2px;background:var(--fe-text);transition:transform 250ms var(--fe-ease)}
.fe-header__toggle span:first-child{transform:translateY(-3.5px)}
.fe-header__toggle span:last-child{transform:translateY(3.5px)}
.fe-header__toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.fe-header__toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}

/* Mobile menu panel */
.fe-menu{position:fixed;inset:64px 0 0;z-index:39;display:flex;flex-direction:column;gap:28px;padding:28px 24px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;background:var(--fe-bg);border-top:1px solid var(--fe-line);animation:fe-menu-in 280ms var(--fe-ease-out)}
.fe-menu[hidden]{display:none}
.fe-menu__nav{display:grid}
.fe-menu__nav a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--fe-line);color:var(--fe-text);font:800 clamp(26px,7vw,34px)/1.15 var(--fe-font-display);letter-spacing:-.02em;text-decoration:none}
.fe-menu__nav a span{color:var(--fe-accent);font:700 12px var(--fe-font-mono);letter-spacing:.1em}
.fe-menu__note{margin:0;color:var(--fe-text-2);font-size:14px}
body.fe-menu-open{overflow:hidden}
@keyframes fe-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media (min-width:651px){
  .fe-header__inner{width:min(100% - 40px,1400px)}
  .fe-header__cta{display:inline-flex}
  .fe-header__wa{display:none}
}
@media (min-width:1024px){
  html:has(.fe-header){scroll-padding-top:96px}
  /* Desktop: true three-column header. Equal side tracks keep the nav at the exact centre; logo on the
     inline start (right in RTL), WhatsApp CTA on the inline end (left). */
  .fe-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:76px}
  .fe-header__logo{justify-self:start;height:clamp(34px,2.7vw,40px)}
  .fe-header__nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px)}
  .fe-header__actions{justify-self:end}
  .fe-header__nav a{position:relative;padding:8px 0;color:var(--fe-text-2);font-size:15px;font-weight:600;text-decoration:none;transition:color 200ms var(--fe-ease)}
  .fe-header__nav a::after{content:'';position:absolute;inset:auto 0 2px;height:1px;background:var(--fe-accent);transform:scaleX(0);transform-origin:right;transition:transform 300ms var(--fe-ease)}
  .fe-header__nav a:hover{color:var(--fe-text)}
  .fe-header__nav a:hover::after{transform:scaleX(1)}
  .fe-header__toggle,.fe-menu{display:none}
}

/* 4. Hero additions (bar controls + desktop cursor depth) ------------------- */
.fe-hero__bar-actions{display:flex;align-items:center;gap:6px}
.fe-motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #ffffff1f;border-radius:var(--fe-radius-pill);background:transparent;color:var(--fe-text-2);font:600 13px var(--fe-font-body);cursor:pointer}
.fe-motion-toggle:hover{color:var(--fe-text);border-color:#ffffff40}
.fe-motion-toggle__icon{position:relative;width:10px;height:12px}
.fe-motion-toggle__icon::before,.fe-motion-toggle__icon::after{content:'';position:absolute;top:0;width:3px;height:12px;border-radius:1px;background:currentColor}
.fe-motion-toggle__icon::before{right:1px}.fe-motion-toggle__icon::after{left:1px}
.fe-motion-toggle[aria-pressed="true"] .fe-motion-toggle__icon::before{right:0;width:0;height:0;border-radius:0;background:none;border-block:6px solid transparent;border-right:10px solid currentColor}
.fe-motion-toggle[aria-pressed="true"] .fe-motion-toggle__icon::after{display:none}
.fe-motion-toggle[hidden]{display:none}
@media (max-width:430px){.fe-motion-toggle{width:44px;padding:0;justify-content:center}.fe-motion-toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
.fe-motion-paused .fe-hero *,.fe-motion-paused .fe-hero *::before,.fe-motion-paused .fe-hero *::after,.fe-motion-paused .fe-marquee__track{animation-play-state:paused!important}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .fe-hero__photo{scale:1.035;translate:calc(var(--fe-px,0) * -12px) calc(var(--fe-py,0) * -8px)}
  .fe-hero__atmo{translate:calc(var(--fe-px,0) * 9px) calc(var(--fe-py,0) * 6px)}
}

/* 5. Marquee ------------------------------------------------------------------ */
.fe-marquee{margin:10px 10px 0;overflow:hidden;border-radius:14px;background:var(--fe-accent);color:var(--fe-on-accent)}
.fe-marquee__track{display:flex;align-items:center;gap:26px;width:max-content;padding:14px 0;animation:fe-marquee 48s linear infinite}
.fe-marquee__track span{font:800 18px/1 var(--fe-font-display);letter-spacing:-.01em;white-space:nowrap}
.fe-marquee__track i{font-style:normal;font-size:12px;opacity:.7}
@keyframes fe-marquee{to{transform:translateX(50%)}}
@media (min-width:651px){
      .fe-marquee{margin-inline:20px;margin-top:16px}
    }

/* 6. Sections ---------------------------------------------------------------- */
.fe-section{padding-block:clamp(76px,9vw,140px)}
.fe-panel{margin-inline:10px;border:var(--fe-border);border-radius:var(--fe-radius-l);background:var(--fe-surface)}
@media (min-width:651px){.fe-panel{margin-inline:20px}}
.fe-section__head{max-width:780px;margin-bottom:clamp(36px,5vw,64px)}
.fe-section__head--split{max-width:none;display:grid;gap:18px;align-items:end}
@media (min-width:1024px){.fe-section__head--split{grid-template-columns:1.1fr .9fr;gap:48px}}
.fe-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--fe-glow);font:700 13px/1.2 var(--fe-font-body);letter-spacing:.06em}
.fe-eyebrow::before{content:'';flex:0 0 auto;width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--fe-accent) 40%,var(--fe-glow))}
.fe-h2{margin:0 0 18px;color:var(--fe-text);font:800 clamp(34px,3.6vw + 20px,72px)/1.04 var(--fe-font-display);letter-spacing:-.035em;text-wrap:balance}
.fe-h2 span,.fe-h2 em{display:block;font-style:normal}
.fe-h2 em{color:var(--fe-accent)}
.fe-lead{margin:0;max-width:58ch;color:var(--fe-text-2);font-size:clamp(17px,.5vw + 15px,20px);line-height:1.65}
.fe-body{margin:0 0 26px;color:var(--fe-text-2);font-size:17px;line-height:1.75;max-width:60ch}

/* 6a. Services: editorial 7/5 · 5/7 grid ------------------------------------ */
.fe-services__grid{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.fe-service{position:relative;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:var(--fe-border);border-radius:var(--fe-radius-l);background:var(--fe-surface);transition:border-color 300ms var(--fe-ease)}
.fe-service:hover{border-color:#f7931e59}
.fe-service__visual{position:relative;height:clamp(180px,20vw,270px);overflow:hidden;background:#0d1119}
.fe-service__visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--fe-surface),transparent 55%)}
.fe-service__body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:6px 24px 26px}
.fe-service__num{color:var(--fe-accent);font:700 12px var(--fe-font-mono);letter-spacing:.1em}
.fe-service h3{margin:0;font:800 clamp(25px,1.2vw + 18px,34px)/1.1 var(--fe-font-display);letter-spacing:-.025em}
.fe-service p{margin:0;max-width:48ch;color:var(--fe-text-2);line-height:1.65}
.fe-tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none}
.fe-tags li{padding:6px 12px;border:1px solid #ffffff1f;border-radius:var(--fe-radius-pill);background:#ffffff08;color:var(--fe-text);font-size:14px;line-height:1.3}
/* visuals — CSS lighting compositions (no stock imagery) */
.fe-service--sound .fe-service__visual{background:linear-gradient(270deg,#0b0e14e6,#0b0e1433 70%),url('assets/hero-speakers.png') 92% 45%/cover no-repeat}
.fe-eq{position:absolute;z-index:1;inset:auto 24px 28px auto;display:flex;align-items:flex-end;gap:5px;width:min(46%,240px);height:70px}
.fe-eq i{flex:1;height:var(--h,40%);border-radius:2px 2px 0 0;background:linear-gradient(0deg,var(--fe-accent),var(--fe-glow));transform-origin:bottom;transition:transform 500ms var(--fe-ease)}
.fe-eq i:nth-child(1){--h:30%}.fe-eq i:nth-child(2){--h:55%}.fe-eq i:nth-child(3){--h:80%}.fe-eq i:nth-child(4){--h:45%}.fe-eq i:nth-child(5){--h:95%}.fe-eq i:nth-child(6){--h:65%}
.fe-eq i:nth-child(7){--h:85%}.fe-eq i:nth-child(8){--h:40%}.fe-eq i:nth-child(9){--h:70%}.fe-eq i:nth-child(10){--h:50%}.fe-eq i:nth-child(11){--h:30%}.fe-eq i:nth-child(12){--h:20%}
.fe-service--sound:hover .fe-eq i:nth-child(odd){transform:scaleY(.8)}
.fe-service--sound:hover .fe-eq i:nth-child(even){transform:scaleY(1.12)}
.fe-service--light .fe-service__visual{background:radial-gradient(60% 50% at 50% 100%,#f7931e26,transparent 70%),#0d1119}
.fe-cones i{position:absolute;z-index:1;top:-6%;width:46%;height:120%;background:linear-gradient(180deg,#ffd6a8 0%,#fbb03b8c 8%,#f7931e2e 55%,transparent 90%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:50% 0;opacity:.75;transition:transform 900ms var(--fe-ease-out)}
.fe-cones i:nth-child(1){left:8%;transform:rotate(16deg)}
.fe-cones i:nth-child(2){left:27%;transform:rotate(0deg);opacity:.9}
.fe-cones i:nth-child(3){left:46%;transform:rotate(-16deg)}
.fe-service--light:hover .fe-cones i:nth-child(1){transform:rotate(10deg)}
.fe-service--light:hover .fe-cones i:nth-child(3){transform:rotate(-10deg)}
.fe-service--led .fe-service__visual{background:#0d1119}
.fe-pixels{position:absolute;z-index:1;inset:18px 22px;border-radius:10px;
  background:linear-gradient(120deg,#f7931e,#fbb03b 40%,#f5f6fa 62%,#2a3142 85%);
  -webkit-mask-image:radial-gradient(circle,#000 0 1.6px,transparent 2.2px);-webkit-mask-size:9px 9px;mask-image:radial-gradient(circle,#000 0 1.6px,transparent 2.2px);mask-size:9px 9px;opacity:.9}
.fe-service--fx .fe-service__visual{height:clamp(220px,52vw,300px);background:#0d1119}
.fe-service--fx .fe-service__visual::after{background:linear-gradient(0deg,var(--fe-surface),transparent 30%)}
.fe-service__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
@media (min-width:768px){.fe-service--fx .fe-service__visual{height:clamp(300px,30vw,420px)}.fe-service__photo{object-position:50% 45%}}
@media (min-width:768px){
  .fe-services__grid{grid-template-columns:repeat(12,1fr)}
  .fe-service--sound,.fe-service--led{grid-column:span 7}
  .fe-service--dj,.fe-service--light{grid-column:span 5}
  .fe-service--fx{grid-column:1/-1}
}

/* 6d. Effects mosaic -------------------------------------------------------- */
.fe-fx{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.fe-fx__item{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:300px;overflow:hidden;border:var(--fe-border);border-radius:var(--fe-radius-l);background:#0d1119}
.fe-fx__visual{position:absolute;inset:0;z-index:-2;transition:transform 900ms var(--fe-ease-out)}
.fe-fx__item::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b0e14 6%,#0b0e14cc 36%,transparent 72%)}
.fe-fx__item:hover .fe-fx__visual{transform:scale(1.045)}
.fe-fx__body{display:grid;justify-items:start;gap:8px;padding:24px 24px 18px}
.fe-fx__num{color:var(--fe-accent);font:700 12px var(--fe-font-mono);letter-spacing:.1em}
.fe-fx h3{margin:0;font:800 clamp(26px,1.4vw + 18px,38px)/1.08 var(--fe-font-display);letter-spacing:-.025em}
.fe-fx p{margin:0;max-width:44ch;color:var(--fe-text-2);line-height:1.6}
.fe-fx__item--fog .fe-fx__visual{background:radial-gradient(60% 22% at 28% 58%,#c9cfdb5c,transparent 70%),radial-gradient(55% 20% at 70% 64%,#d8dce666,transparent 72%),radial-gradient(85% 26% at 50% 72%,#e6e9f04d,transparent 70%),radial-gradient(18% 40% at 50% 0%,#ffe1b847,transparent 75%),radial-gradient(40% 60% at 50% 0%,#fbb03b24,transparent 70%),#0d1119}
@media (min-width:768px){.fe-fx{grid-template-columns:repeat(2,1fr)}.fe-fx__item--laser{grid-column:1/-1;min-height:260px}}
@media (min-width:1024px){
  .fe-fx{grid-template-columns:repeat(12,1fr);grid-auto-rows:280px}
  .fe-fx__item{min-height:0}
  .fe-fx__item--sparks{grid-column:span 5;grid-row:span 2}
  .fe-fx__item--fog{grid-column:span 7}
  .fe-fx__item--confetti{grid-column:span 4}
  .fe-fx__item--smoke{grid-column:span 3}
  .fe-fx__item--laser{grid-column:1/-1}
}

/* 6f. About ------------------------------------------------------------------- */
.fe-about__grid{display:grid;gap:44px;align-items:center}
.fe-about__quote{position:relative;margin:0;padding:44px 0 0}
.fe-about__quote::before{content:'״';position:absolute;top:-18px;right:-4px;color:var(--fe-accent);font:800 120px/1 var(--fe-font-display)}
.fe-about__quote p{margin:0;color:var(--fe-text);font:800 clamp(26px,2.4vw + 16px,48px)/1.25 var(--fe-font-display);letter-spacing:-.02em;text-wrap:balance}
@media (min-width:1024px){.fe-about__grid{grid-template-columns:1.05fr .95fr;gap:80px}}

/* 6g. FAQ --------------------------------------------------------------------- */
.fe-faq__grid{display:grid;gap:28px}
.fe-faq__list{border-top:1px solid var(--fe-line-strong)}
.fe-faq__list details{border-bottom:1px solid var(--fe-line-strong)}
.fe-faq__list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:18px 0;color:var(--fe-text);font:700 clamp(18px,.6vw + 15px,22px)/1.35 var(--fe-font-display);cursor:pointer;list-style:none}
.fe-faq__list summary::-webkit-details-marker{display:none}
.fe-faq__list summary::after{content:'';flex:0 0 auto;width:30px;height:30px;border:1px solid #ffffff33;border-radius:50%;
  background:linear-gradient(var(--fe-glow),var(--fe-glow)) center/12px 1.5px no-repeat,linear-gradient(var(--fe-glow),var(--fe-glow)) center/1.5px 12px no-repeat;transition:transform 250ms var(--fe-ease)}
.fe-faq__list details[open] summary::after{transform:rotate(45deg)}
.fe-faq__list summary:hover{color:var(--fe-glow)}
.fe-faq__list details p{margin:0 0 22px;max-width:62ch;color:var(--fe-text-2);line-height:1.7}
@media (min-width:1024px){.fe-faq__grid{grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.fe-faq__grid .fe-section__head{position:sticky;top:120px}}

/* 6h. WhatsApp inquiry -------------------------------------------------------- */
.fe-contact{background:radial-gradient(60% 70% at 100% 0%,#f7931e1f,transparent 60%),var(--fe-surface)}
.fe-contact__inner{display:grid;justify-items:center;gap:20px;max-width:760px;text-align:center}
.fe-contact__inner .fe-h2{margin:0}
.fe-contact__inner .fe-lead{margin:0 auto;max-width:52ch}
.fe-contact__cta{margin-top:12px;min-height:60px;padding:0 32px;font-size:18px}
.fe-contact__wa{width:24px;height:24px;flex:none;fill:currentColor}
@media (max-width:430px){.fe-contact__cta{width:100%;padding:0 20px}}

/* 7. Footer --------------------------------------------------------------------- */
.fe-footer{margin-top:clamp(64px,8vw,110px);padding:52px 0 26px;border-top:1px solid var(--fe-line);background:var(--fe-surface-deep);color:var(--fe-text-2)}
.fe-footer__grid{display:grid;gap:36px}
.fe-footer__logo{display:inline-block;height:50px}
.fe-footer__brand p{margin:14px 0 0;max-width:40ch;line-height:1.65}
.fe-footer__area{color:var(--fe-text)}
.fe-footer__nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:4px 24px}
.fe-footer__nav a{display:flex;align-items:center;min-height:40px;color:var(--fe-text-2);text-decoration:none}
.fe-footer__nav a:hover{color:var(--fe-text)}
.fe-footer__label{margin:0 0 12px;color:var(--fe-text);font-weight:700}
.fe-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--fe-line);color:var(--fe-text-3);font-size:14px}
@media (min-width:768px){.fe-footer__grid{grid-template-columns:1.4fr 1fr 1fr}}

/* 8. Toast ---------------------------------------------------------------------- */

/* 9. Scroll reveal — CSS scroll-driven, no hidden state: where unsupported (or with reduced
   motion) content is simply shown. Nothing ever waits on JavaScript to become visible. */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    [data-reveal]{animation:fe-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  }
}
@keyframes fe-reveal{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}

/* 10. Reduced motion -------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html:has(.fe-header){scroll-behavior:auto}
  .fe-marquee__track{animation:none}
  .fe-menu,.fe-lightbox[open]{animation:none}
  .fe-btn,.fe-link,.fe-link b,.fe-btn b,.fe-cones i,.fe-eq i,.fe-fx__visual,.fe-header__nav a::after,.fe-faq__list summary::after,.fe-modes span,.fe-modes span::before,.fe-stage__haze{transition:none}
  .fe-fx__item:hover .fe-fx__visual,.fe-btn:hover,.fe-btn:active{transform:none}
}

/* Phone numbers never break across lines */
:where(.fe-header,#top,.fe-footer) bdi{white-space:nowrap}

/* ==========================================================================
   4b. Interactive light stage (moving heads, haze, lasers) + lighting modes
   Motion and colour cross-fades are driven by script.js (transform/opacity + one colour var per fixture). The stage is masked away from the copy.
   ========================================================================== */
.fe-stage{z-index:-1;overflow:hidden;container-type:size;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
.fe-stage__rig,.fe-stage__lasers,.fe-stage__haze{position:absolute;inset:0}
.fe-fixture{--bw:clamp(74px,15vw,190px);--beam:#fbb03b;position:absolute;top:0;width:0;height:0;transform-origin:0 0;will-change:transform,opacity}
.fe-fixture__beam,.fe-fixture__halo{position:absolute;top:0;height:128cqh}
.fe-fixture__beam{left:calc(var(--bw) * -.5);width:var(--bw);clip-path:polygon(46.5% 0,53.5% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--beam) 70%,#fff) 0%,color-mix(in srgb,var(--beam) 62%,transparent) 7%,color-mix(in srgb,var(--beam) 22%,transparent) 45%,color-mix(in srgb,var(--beam) 6%,transparent) 78%,transparent 96%)}
.fe-fixture__halo{left:calc(var(--bw) * -1.15);width:calc(var(--bw) * 2.3);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);opacity:.55;
  background:linear-gradient(180deg,color-mix(in srgb,var(--beam) 30%,transparent) 0%,color-mix(in srgb,var(--beam) 10%,transparent) 40%,transparent 88%)}
.fe-fixture__lens{position:absolute;top:-7px;left:-8px;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle,#fff 0 22%,var(--beam) 44%,transparent 72%);box-shadow:0 0 22px 6px color-mix(in srgb,var(--beam) 50%,transparent)}
.fe-laser-src{position:absolute;top:-4px;width:0;height:0}
.fe-laser{position:absolute;top:0;left:-.6px;width:1.2px;height:135cqh;transform-origin:50% 0;will-change:transform;
  background:linear-gradient(180deg,#fff 0%,var(--laser) 5%,color-mix(in srgb,var(--laser) 45%,transparent) 55%,transparent 92%);box-shadow:0 0 5px color-mix(in srgb,var(--laser) 70%,transparent)}
.fe-stage__lasers{opacity:0}
.fe-stage__haze{opacity:var(--haze-o,.85);transition:opacity 1.2s ease}
.fe-stage__haze i{position:absolute;width:72%;height:46%;border-radius:50%;background:radial-gradient(closest-side,var(--haze,#ffe9cc26),transparent);animation:fe-haze 30s ease-in-out infinite alternate}
.fe-stage__haze i:nth-child(1){left:-12%;top:34%}
.fe-stage__haze i:nth-child(2){left:28%;top:8%;animation-duration:38s;animation-delay:-9s}
.fe-stage__haze i:nth-child(3){left:46%;top:46%;animation-duration:46s;animation-delay:-21s}
@keyframes fe-haze{from{transform:translate3d(-5%,0,0) scale(1)}to{transform:translate3d(7%,-5%,0) scale(1.14)}}
/* Mode atmospheres (motion/colour/rhythm differ in script.js; these set haze + fade speed) */
.fe-hero[data-mode="event"]{--haze:#ffe9cc29;--haze-o:.9}
.fe-hero[data-mode="party"]{--haze:#d6d2ff1c;--haze-o:.6}
.fe-hero[data-mode="show"]{--haze:#8fa2ff29;--haze-o:1}
@media (min-width:1024px){
  /* beams are dimmed over the copy (right / RTL start) and carry the left of the frame */
  .fe-stage{-webkit-mask-image:linear-gradient(270deg,#0000002e 0%,#00000066 34%,#000 64%);mask-image:linear-gradient(270deg,#0000002e 0%,#00000066 34%,#000 64%)}
  .fe-fixture{--bw:clamp(120px,11vw,200px)}
}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .fe-stage{translate:calc(var(--fe-px,0) * 18px) calc(var(--fe-py,0) * 10px)}
}

/* Hero controls: lighting-mode selector + music (top of the hero, above the headline) */
.fe-hero__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:0 0 26px}
.fe-modes{display:block;min-width:0;margin:0;padding:0;border:0}
.fe-modes[hidden]{display:none}
.fe-modes__legend{display:flex;align-items:center;gap:8px;margin:0 0 9px;padding:0;color:var(--fe-text);font:700 14px var(--fe-font-body)}
.fe-modes__legend::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--brand-orange);box-shadow:0 0 0 4px #f7931e2e}
.fe-modes__options{display:inline-flex;gap:3px;padding:4px;border:1px solid #ffffff2b;border-radius:var(--fe-radius-pill);background:#0b0e14b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 #ffffff12}
.fe-modes label{position:relative;display:block}
.fe-modes input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fe-modes span{display:flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:0 18px;border-radius:var(--fe-radius-pill);color:var(--fe-text-2);font:700 15px var(--fe-font-body);transition:background-color 220ms var(--fe-ease),color 220ms var(--fe-ease),box-shadow 220ms var(--fe-ease)}
.fe-modes label:hover span{color:var(--fe-text);background:#ffffff0d}
.fe-modes label.is-active span{background:var(--brand-orange);color:var(--fe-on-accent);box-shadow:inset 0 1px 0 #ffffff59,0 6px 18px -8px #f7931ecc}
.fe-modes input:focus-visible + span{outline:3px solid var(--fe-glow);outline-offset:2px}
/* Music control: sits beside the selector, quieter than the WhatsApp CTA */
.fe-music{display:flex;align-items:center;gap:6px}
.fe-music[hidden]{display:none}
.fe-music__play{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 18px 0 16px;border:1px solid #ffffff2b;border-radius:var(--fe-radius-pill);background:#0b0e14b8;color:var(--fe-text);font:700 14px var(--fe-font-body);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color 220ms var(--fe-ease),color 220ms var(--fe-ease)}
.fe-music__play:hover{border-color:#fbb03b8c;color:var(--brand-gold)}
.fe-music__icon{display:inline-flex;align-items:flex-end;gap:2px;width:16px;height:14px}
.fe-music__icon i{flex:1;height:40%;border-radius:1px;background:var(--brand-gold)}
.fe-music__icon i:nth-child(2){height:100%}.fe-music__icon i:nth-child(3){height:65%}
.fe-music.is-playing .fe-music__play{border-color:#f7931e99;color:var(--brand-gold)}
.fe-music.is-playing .fe-music__icon i{animation:fe-music-bar .9s ease-in-out infinite alternate}
.fe-music.is-playing .fe-music__icon i:nth-child(2){animation-duration:.7s}.fe-music.is-playing .fe-music__icon i:nth-child(3){animation-duration:1.1s}
@keyframes fe-music-bar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.fe-music__icon i{transform-origin:bottom}
.fe-music__mute{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff2b;border-radius:50%;background:#0b0e14b8;color:var(--fe-text);cursor:pointer}
.fe-music__mute[hidden]{display:none}
.fe-music__mute-icon{position:relative;width:16px;height:14px;background:currentColor;clip-path:polygon(0 30%,35% 30%,75% 0,75% 100%,35% 70%,0 70%)}
.fe-music__mute[aria-pressed="true"]{color:var(--brand-gold);border-color:#fbb03b8c}
.fe-music__mute[aria-pressed="true"] .fe-music__mute-icon::after{content:'';position:absolute;top:50%;left:-3px;width:22px;height:2px;background:currentColor;transform:rotate(-40deg)}
.fe-stage__haze{opacity:calc(var(--haze-o,.85) + var(--audio-haze,0))}
@media (max-width:430px){
  .fe-hero__controls{gap:8px;margin-bottom:20px}
  .fe-modes__legend{font-size:13px;margin-bottom:7px}
  .fe-modes span{min-width:0;padding:0 15px;font-size:14px}
  .fe-music__play{width:52px;padding:0;justify-content:center}
  .fe-music__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media (max-width:359px){.fe-modes span{padding:0 12px}}

/* Reduced motion for rules defined after section 10 (must come last to win the cascade) */
@media (prefers-reduced-motion:reduce){
  .fe-modes span,.fe-modes span::before,.fe-stage__haze{transition:none}
  .fe-stage__haze i{animation:none}
}

/* ==========================================================================
   6d+. Special-effects cards: real footage backgrounds (effects.js)
   ========================================================================== */
.fe-effects__aside{display:grid;justify-items:start;gap:16px}
.fe-effects__pause[hidden]{display:none}
.fe-fx__visual{pointer-events:none}
/* Photo card (heavy fog): a photo instead of a canvas demo. Like the canvas cards, the visual stops where the text
   begins (grid row 1 = everything above the card copy), so the fog on the dance floor is never hidden behind the
   text backdrop. The couple stays centred; on wide cards the crop keeps their heads and the fog line in frame. */
.fe-fx__item--photo{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;background:#0b0e14}
.fe-fx__item--photo::after{display:none}
.fe-fx__item--photo .fe-fx__visual{position:relative;inset:auto;z-index:0;grid-row:1;overflow:hidden;background:#0b0e14}
.fe-fx__item--photo .fe-fx__visual::after{content:'';position:absolute;inset:auto 0 0;height:20%;background:linear-gradient(0deg,#0b0e14,#0b0e1400)}
.fe-fx__item--photo .fe-fx__body{grid-row:2;position:relative;z-index:1}
.fe-fx__photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:51% 20%;transition:transform 900ms var(--fe-ease-out)}
.fe-fx__item--photo:hover .fe-fx__visual{transform:none}
.fe-fx__item--photo:hover .fe-fx__photo{transform:scale(1.045)}
@media (prefers-reduced-motion:reduce){.fe-fx__photo{transition:none}.fe-fx__item--photo:hover .fe-fx__photo{transform:none}}
/* Desktop: the card is wide and short, so a strip above the text would lose the fog. Here the photo fills the card
   and the backdrop darkens only the right (RTL text) side, leaving the couple and the fog-covered floor visible. */
@media (min-width:1024px){
  .fe-fx__item--photo{display:flex;align-items:flex-end}
  .fe-fx__item--photo .fe-fx__visual{position:absolute;inset:0;z-index:-2}
  .fe-fx__item--photo .fe-fx__visual::after{inset:0;height:auto;background:linear-gradient(270deg,#0b0e14f5 0%,#0b0e14d9 30%,#0b0e1466 48%,#0b0e1400 62%),linear-gradient(0deg,#0b0e1480 0%,#0b0e1400 30%)}
  .fe-fx__item--photo .fe-fx__body{max-width:52%}
  .fe-fx__photo{object-position:40% 30%}
}
/* backdrop darkens behind the card copy (height set per card by effects.js) */
.fe-fx__item::after{background:linear-gradient(0deg,#0b0e14 0%,#0b0e14f2 calc(var(--fx-text,42%) - 4%),#0b0e1400 calc(var(--fx-text,42%) + 10%))}
.fe-fx__replay{position:absolute;z-index:2;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid #ffffff2e;border-radius:var(--fe-radius-pill);background:#0b0e14b3;color:var(--fe-text);font:700 13px var(--fe-font-body);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color 200ms var(--fe-ease),color 200ms var(--fe-ease)}
.fe-fx__replay span:first-child{color:var(--brand-gold);font-size:15px}
.fe-fx__replay:hover{border-color:#fbb03b8c;color:var(--brand-gold)}
.fe-fx__replay[hidden]{display:none}
.fe-fx__replay:focus-visible{outline:3px solid var(--fe-glow);outline-offset:3px}
.fe-fx__item{min-height:380px}
@media (min-width:768px){.fe-fx__item{min-height:360px}}
@media (min-width:1024px){.fe-fx{grid-auto-rows:380px}.fe-fx__item{min-height:0}}
@media (prefers-reduced-motion:reduce){.fe-fx__replay{transition:none}}
/* Video cards: footage fills the card (poster until it plays); never intercepts clicks. */
.fe-fx__item--video .fe-fx__visual{background:#0b0e14}
.fe-fx__video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--fx-pos,50% 40%);pointer-events:none}
.fe-fx__item--sparks{--fx-pos:50% 38%}
.fe-fx__item--confetti{--fx-pos:50% 50%}
.fe-fx__item--smoke{--fx-pos:60% 82%}
.fe-fx__item--laser{--fx-pos:42% 40%}
.fe-fx__item--video::after{background:linear-gradient(0deg,#0b0e14 0%,#0b0e14eb calc(var(--fx-text,42%) - 6%),#0b0e1452 calc(var(--fx-text,42%) + 10%),#0b0e1400 100%)}
.fe-fx__item--video .fe-fx__body{text-shadow:0 1px 12px #0b0e14b3}
.fe-fx__body{padding-bottom:24px}
/* Confetti: confetti.mp4 is a square edit (most of the portrait frame over a blurred copy of itself), so cover barely crops it. */
/* Wide laser card: darken only the text side (RTL = right), leave the beams visible. */
@media (min-width:768px){
  .fe-fx__item--laser::after{background:linear-gradient(270deg,#0b0e14f2 0%,#0b0e14d1 34%,#0b0e1459 56%,#0b0e1414 78%),linear-gradient(0deg,#0b0e1499 0%,#0b0e1400 45%)}
  .fe-fx__item--laser .fe-fx__body{max-width:56%}
}
.fe-eyebrow__num{color:var(--brand-orange);font:700 12px var(--fe-font-mono);letter-spacing:.1em}

/* DJ service visual: decks + mixer under soft party light (distinct from the sound card's speaker photo) */
.fe-service--dj .fe-service__visual{background:radial-gradient(60% 70% at 50% 120%,#9b5cff33,transparent 70%),#0d1119}
.fe-deck__lights i{position:absolute;z-index:1;top:-10%;width:34%;height:110%;clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:50% 0;opacity:.55}
.fe-deck__lights i:nth-child(1){left:6%;background:linear-gradient(180deg,#ff3fa4cc,#ff3fa400 85%);transform:rotate(14deg)}
.fe-deck__lights i:nth-child(2){left:33%;background:linear-gradient(180deg,#3d7bffcc,#3d7bff00 85%)}
.fe-deck__lights i:nth-child(3){left:60%;background:linear-gradient(180deg,#f7931ecc,#f7931e00 85%);transform:rotate(-14deg)}
.fe-deck{position:absolute;z-index:2;left:50%;bottom:26px;display:flex;align-items:center;gap:12px;width:min(78%,330px);height:44%;max-height:120px;padding:12px 14px;border:1px solid #ffffff1f;border-radius:16px;background:linear-gradient(180deg,#1b2130,#121722);box-shadow:0 18px 40px -18px #000;transform:translateX(-50%)}
.fe-deck__platter{position:relative;flex:1 1 0;aspect-ratio:1;max-height:100%;border-radius:50%;background:repeating-radial-gradient(circle,#0b0e14 0 2px,#161b27 2px 4px);box-shadow:inset 0 0 0 2px #2a3142}
.fe-deck__platter::after{content:'';position:absolute;inset:38%;border-radius:50%;background:var(--brand-orange)}
.fe-deck__platter::before{content:'';position:absolute;top:8%;left:50%;width:2px;height:30%;background:#ffffff59;transform-origin:50% 140%;animation:fe-spin 2.4s linear infinite}
.fe-deck__mixer{display:flex;justify-content:center;gap:7px;flex:0 0 58px;height:100%;padding:8px 6px;border-radius:8px;background:#0b0e14}
.fe-deck__mixer b{position:relative;width:3px;border-radius:2px;background:#2a3142}
.fe-deck__mixer b::after{content:'';position:absolute;left:-5px;width:13px;height:6px;border-radius:2px;background:var(--brand-gold);top:var(--f,40%)}
.fe-deck__mixer b:nth-child(1){--f:20%}.fe-deck__mixer b:nth-child(2){--f:55%}.fe-deck__mixer b:nth-child(3){--f:35%}.fe-deck__mixer b:nth-child(4){--f:65%}
@keyframes fe-spin{to{transform:rotate(360deg)}}
.fe-motion-paused .fe-deck__platter::before,.fe-motion-paused .fe-music__icon i{animation-play-state:paused}

/* ==========================================================================
   Gallery "רגעים מהשטח" + lightbox
   ========================================================================== */
.fe-gallery__filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.fe-gallery__filters[hidden]{display:none}
.fe-gallery__filters button{min-height:44px;padding:0 18px;border:1px solid #ffffff24;border-radius:var(--fe-radius-pill);background:transparent;color:var(--fe-text-2);font:700 15px var(--fe-font-body);cursor:pointer;transition:background-color 200ms var(--fe-ease),color 200ms var(--fe-ease),border-color 200ms var(--fe-ease)}
.fe-gallery__filters button:hover{color:var(--fe-text);border-color:#ffffff47}
.fe-gallery__filters button[aria-pressed="true"]{border-color:var(--brand-orange);background:var(--brand-orange);color:var(--fe-on-accent)}
.fe-gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;list-style:none}
.fe-gallery__item[hidden]{display:none}
.fe-gallery__open{position:relative;display:block;width:100%;aspect-ratio:9/14;padding:0;overflow:hidden;border:1px solid var(--fe-line);border-radius:var(--fe-radius-m);background:#0d1119;cursor:zoom-in}
.fe-gallery__open img,.fe-gallery__open video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--fe-ease-out)}
.fe-gallery__open:hover img,.fe-gallery__open:hover video{transform:scale(1.04)}
/* Captions are not shown on the tiles; they stay in the markup as each button's accessible name
   (the images use alt="") and still appear in the lightbox. */
.fe-gallery__caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fe-gallery__item{position:relative}
/* Video tile controls: siblings of the opener (never nested in it), so pressing them doesn't open the lightbox. */
.fe-gallery__ctl,.fe-lightbox__sound{display:grid;place-items:center;padding:0;border:1px solid #ffffff3d;border-radius:50%;background:#0b0e14c7;color:var(--fe-text);cursor:pointer;transition:border-color 200ms var(--fe-ease),color 200ms var(--fe-ease)}
.fe-gallery__ctl{position:absolute;z-index:2;width:44px;height:44px}
.fe-gallery__ctl[hidden],.fe-lightbox__sound[hidden]{display:none}
.fe-gallery__ctl:hover,.fe-lightbox__sound:hover,.fe-gallery__sound[aria-pressed="true"],.fe-lightbox__sound[aria-pressed="true"]{border-color:var(--brand-gold);color:var(--brand-gold)}
.fe-gallery__sound{bottom:10px;left:10px}
.fe-gallery__play{top:50%;left:50%;width:56px;height:56px;transform:translate(-50%,-50%)}
.fe-gallery__play[aria-pressed="true"]{top:auto;bottom:10px;left:auto;right:10px;width:44px;height:44px;transform:none}
.fe-ico{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fe-ico path[fill="none"]{fill:none}
[aria-pressed="true"]>.fe-ico--off,[aria-pressed="false"]>.fe-ico--on,[aria-pressed="true"]>.fe-ico--play,[aria-pressed="false"]>.fe-ico--pause{display:none}
.fe-gallery__ctl:focus-visible{outline:3px solid var(--fe-glow);outline-offset:3px}
.fe-gallery__item--featured{grid-column:1/-1}
.fe-gallery__item--featured .fe-gallery__open{aspect-ratio:4/5}
@media (min-width:768px){
  .fe-gallery__grid{grid-template-columns:repeat(3,1fr);gap:12px}
  .fe-gallery__item--featured{grid-column:span 2;grid-row:span 2}
  .fe-gallery__item--featured .fe-gallery__open{aspect-ratio:auto;height:100%}
}
@media (min-width:1024px){.fe-gallery__grid{grid-template-columns:repeat(4,1fr)}}
.fe-lightbox{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;background:#05070bf2;color:var(--fe-text);overflow:hidden}
.fe-lightbox::backdrop{background:#000c}
.fe-lightbox[open]{display:grid;grid-template-rows:1fr;place-items:center;animation:fe-dialog-in 260ms var(--fe-ease)}
@keyframes fe-dialog-in{from{opacity:0}to{opacity:1}}
.fe-lightbox__stage{display:grid;place-items:center;width:100%;height:100%;padding:64px 64px calc(64px + env(safe-area-inset-bottom));min-height:0}
.fe-lightbox__stage img,.fe-lightbox__stage video{max-width:100%;max-height:100%;border-radius:14px;background:#000;box-shadow:0 30px 80px #000a}
/* Not shown: the caption only names the dialog for screen readers (aria-labelledby); media keep their own alt/aria-label. */
.fe-lightbox__caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fe-lightbox__close,.fe-lightbox__nav{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff3d;border-radius:50%;background:#0b0e14b3;color:var(--fe-text);font-size:28px;line-height:1;cursor:pointer}
.fe-lightbox__close{top:14px;left:14px}
.fe-lightbox__sound{position:absolute;top:14px;left:72px;width:48px;height:48px}
.fe-lightbox__sound .fe-ico{width:24px;height:24px}
.fe-lightbox__nav{top:50%;transform:translateY(-50%)}
.fe-lightbox__nav--prev{right:12px}.fe-lightbox__nav--next{left:12px}
.fe-lightbox__nav[hidden]{display:none}
.fe-lightbox__close:hover,.fe-lightbox__nav:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.fe-lightbox :focus-visible{outline:3px solid var(--fe-glow);outline-offset:3px}
@media (max-width:650px){.fe-lightbox__stage{padding:66px 12px calc(72px + env(safe-area-inset-bottom))}.fe-lightbox__nav{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none}}
@media (prefers-reduced-motion:reduce){
  .fe-music.is-playing .fe-music__icon i,.fe-deck__platter::before{animation:none}
  .fe-gallery__open img,.fe-gallery__open video,.fe-gallery__filters button,.fe-modes span,.fe-music__play{transition:none}
  .fe-gallery__open:hover img,.fe-gallery__open:hover video{transform:none}
  .fe-lightbox[open]{animation:none}
}
.fe-services .fe-section__head{margin-bottom:clamp(20px,2.5vw,32px)}
