/* =====================================================================
 * Efeitos e blocos do editor visual da Acta (assets/fx.css)
 * Par de assets/fx.js. Os estados escondidos só valem quando o motor
 * de efeitos marca o elemento (.fx-armed), então a página continua
 * legível sem JavaScript e dentro do editor.
 * ===================================================================== */

/* ---------- Fontes extras do editor (Fonte, na aba Estilo) ---------- */
@font-face { font-family:"Poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/poppins-600.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/poppins-700.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:800; font-display:swap; src:url("fonts/poppins-800.woff2") format("woff2"); }
/* Futuristic Armour não vem com o site: coloque o arquivo em assets/fonts/ com um destes nomes. */
@font-face { font-family:"Futuristic Armour"; font-style:normal; font-weight:100 900; font-display:swap; src:url("fonts/futuristic-armour.woff2") format("woff2"), url("fonts/futuristic-armour.woff") format("woff"), url("fonts/futuristic-armour.ttf") format("truetype"), url("fonts/futuristic-armour.otf") format("opentype"); }

[data-fx] { --fx-duration:900ms; --fx-delay:0ms; --fx-ease:cubic-bezier(.16,1,.3,1); --fx-distance:40px; }

/* ---------- Entrada ---------- */
.fx-armed[data-fx="fade"],
.fx-armed[data-fx="fade-up"],
.fx-armed[data-fx="fade-down"],
.fx-armed[data-fx="slide-left"],
.fx-armed[data-fx="slide-right"],
.fx-armed[data-fx="zoom-in"],
.fx-armed[data-fx="zoom-out"],
.fx-armed[data-fx="blur-in"],
.fx-armed[data-fx="flip-up"],
.fx-armed[data-fx="clip-up"],
.fx-armed[data-fx="rotate-in"] {
  transition:opacity var(--fx-duration) ease var(--fx-delay), transform var(--fx-duration) var(--fx-ease) var(--fx-delay), filter var(--fx-duration) var(--fx-ease) var(--fx-delay), clip-path var(--fx-duration) var(--fx-ease) var(--fx-delay);
}
.fx-armed[data-fx]:not(.fx-in) { opacity:0; }
.fx-armed[data-fx="fade-up"]:not(.fx-in) { transform:translate3d(0,var(--fx-distance),0); }
.fx-armed[data-fx="fade-down"]:not(.fx-in) { transform:translate3d(0,calc(var(--fx-distance) * -1),0); }
.fx-armed[data-fx="slide-left"]:not(.fx-in) { transform:translate3d(calc(var(--fx-distance) * 2),0,0); }
.fx-armed[data-fx="slide-right"]:not(.fx-in) { transform:translate3d(calc(var(--fx-distance) * -2),0,0); }
.fx-armed[data-fx="zoom-in"]:not(.fx-in) { transform:scale(.86); }
.fx-armed[data-fx="zoom-out"]:not(.fx-in) { transform:scale(1.14); }
.fx-armed[data-fx="blur-in"]:not(.fx-in) { filter:blur(14px); transform:scale(1.03); }
.fx-armed[data-fx="flip-up"]:not(.fx-in) { transform:perspective(900px) rotateX(-28deg) translate3d(0,var(--fx-distance),0); transform-origin:50% 100%; }
.fx-armed[data-fx="clip-up"]:not(.fx-in) { opacity:1; clip-path:inset(100% 0 0 0); transform:translate3d(0,calc(var(--fx-distance) / 2),0); }
.fx-armed[data-fx="clip-up"].fx-in { clip-path:inset(0 0 0 0); }
.fx-armed[data-fx="rotate-in"]:not(.fx-in) { transform:rotate(-6deg) translate3d(0,var(--fx-distance),0); transform-origin:0 100%; }

/* Palavras e letras */
.fx-armed[data-fx="words"],.fx-armed[data-fx="letters"] { opacity:1; }
[data-fx="words"] .fx-piece,[data-fx="letters"] .fx-piece { display:inline-block; }
.fx-armed[data-fx="words"] .fx-piece,.fx-armed[data-fx="letters"] .fx-piece { opacity:0; transform:translate3d(0,.45em,0); filter:blur(4px); transition:opacity .5s ease, transform .7s var(--fx-ease), filter .6s ease; }
.fx-armed[data-fx="words"] .fx-piece.fx-piece-in,.fx-armed[data-fx="letters"] .fx-piece.fx-piece-in { opacity:1; transform:none; filter:none; }

/* Máquina de escrever */
.fx-caret:after { display:inline-block; width:.08em; height:.9em; margin-left:.06em; vertical-align:-.08em; background:currentColor; content:""; animation:fx-caret 1s steps(1) infinite; }
@keyframes fx-caret { 50% { opacity:0; } }

/* Frases que se trocam com glitch e glitch contínuo */
.fx-glitch-text,[data-fx-loop="glitch"] { position:relative; display:inline-block; }
.fx-glitch-text:before,.fx-glitch-text:after,
.fx-loop-on[data-fx-loop="glitch"]:before,.fx-loop-on[data-fx-loop="glitch"]:after { position:absolute; inset:0; content:attr(data-text); opacity:0; pointer-events:none; }
.fx-glitching:before { opacity:.8; color:inherit; text-shadow:-3px 0 #ff6a00; animation:fx-glitch-a .56s steps(2,end) both; }
.fx-glitching:after { opacity:.7; color:inherit; text-shadow:3px 0 #2ba5b2; animation:fx-glitch-b .56s steps(2,end) both; }
.fx-glitching { animation:fx-glitch-shake .56s steps(3,end) both; }
.fx-loop-on[data-fx-loop="glitch"]:before { color:inherit; text-shadow:-3px 0 #ff6a00; animation:fx-glitch-loop-a var(--fx-loop-duration,4000ms) steps(1,end) infinite; }
.fx-loop-on[data-fx-loop="glitch"]:after { color:inherit; text-shadow:3px 0 #2ba5b2; animation:fx-glitch-loop-b var(--fx-loop-duration,4000ms) steps(1,end) infinite; }
@keyframes fx-glitch-a { 0% { clip-path:inset(12% 0 70%); transform:translate(-5px,-1px); } 50% { clip-path:inset(60% 0 14%); transform:translate(4px,1px); } 100% { clip-path:inset(40% 0 40%); transform:translate(-2px); opacity:0; } }
@keyframes fx-glitch-b { 0% { clip-path:inset(55% 0 22%); transform:translate(5px,1px); } 50% { clip-path:inset(8% 0 76%); transform:translate(-3px,-1px); } 100% { clip-path:inset(76% 0 4%); transform:translate(2px); opacity:0; } }
@keyframes fx-glitch-shake { 0%,100% { transform:none; } 33% { transform:translate(1px,-1px) skewX(-4deg); } 66% { transform:translate(-1px,1px) skewX(3deg); } }
@keyframes fx-glitch-loop-a { 0%,86%,92%,100% { opacity:0; clip-path:inset(0 0 100%); } 87% { opacity:.75; clip-path:inset(15% 0 67%); transform:translate(-5px,-1px); } 89% { opacity:.6; clip-path:inset(64% 0 12%); transform:translate(3px,1px); } }
@keyframes fx-glitch-loop-b { 0%,87%,92%,100% { opacity:0; clip-path:inset(100% 0 0); } 88% { opacity:.65; clip-path:inset(54% 0 25%); transform:translate(5px,1px); } 90% { opacity:.5; clip-path:inset(8% 0 74%); transform:translate(-3px,-1px); } }

/* ---------- Contínuos ---------- */
.fx-loop-on[data-fx-loop="float"] { animation:fx-float var(--fx-loop-duration,4000ms) ease-in-out infinite; }
.fx-loop-on[data-fx-loop="pulse"] { animation:fx-pulse var(--fx-loop-duration,4000ms) ease-in-out infinite; }
.fx-loop-on[data-fx-loop="spin"] { animation:fx-spin var(--fx-loop-duration,4000ms) linear infinite; }
.fx-loop-on[data-fx-loop="breathe-glow"] { animation:fx-glow var(--fx-loop-duration,4000ms) ease-in-out infinite; }
.fx-loop-on[data-fx-loop="shimmer"] { background:linear-gradient(100deg,currentColor 0 40%,#ff913f 50%,currentColor 60% 100%) 0 0/250% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:fx-shimmer var(--fx-loop-duration,4000ms) linear infinite; }
@keyframes fx-float { 50% { transform:translate3d(0,-14px,0); } }
@keyframes fx-pulse { 50% { transform:scale(1.04); } }
@keyframes fx-spin { to { transform:rotate(360deg); } }
@keyframes fx-glow { 50% { box-shadow:0 0 0 1px rgba(255,106,0,.6),0 0 38px rgba(255,106,0,.42); } }
@keyframes fx-shimmer { from { background-position:150% 0; } to { background-position:-100% 0; } }

/* Faixa rolante */
[data-fx-loop="marquee"] { display:flex; overflow:hidden; gap:var(--fx-gap,48px); }
.fx-marquee-track { display:flex; flex:none; align-items:center; gap:var(--fx-gap,48px); min-width:100%; justify-content:space-around; }
.fx-loop-on[data-fx-loop="marquee"] .fx-marquee-track { animation:fx-marquee var(--fx-loop-duration,24000ms) linear infinite; }
[data-fx-loop="marquee"]:hover .fx-marquee-track { animation-play-state:paused; }
@keyframes fx-marquee { to { transform:translate3d(calc(-100% - var(--fx-gap,48px)),0,0); } }

/* ---------- Mouse ---------- */
[data-fx-hover] { transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, border-color .3s ease, filter .3s ease; }
[data-fx-hover="lift"]:hover { transform:translate3d(0,-8px,0); box-shadow:0 22px 40px rgba(0,0,0,.35); }
[data-fx-hover="glow"]:hover { box-shadow:0 0 0 1px #ff6a00,0 0 42px rgba(255,106,0,.38); }
[data-fx-hover="tilt"] { transform:perspective(900px) rotateX(var(--fx-tilt-x,0deg)) rotateY(var(--fx-tilt-y,0deg)); transform-style:preserve-3d; transition:transform .2s ease-out; }
[data-fx-hover="zoom"] { overflow:hidden; }
[data-fx-hover="zoom"] img,[data-fx-hover="zoom"] video { transition:transform .9s cubic-bezier(.16,1,.3,1); }
[data-fx-hover="zoom"]:hover img,[data-fx-hover="zoom"]:hover video { transform:scale(1.07); }
[data-fx-hover="underline"] { background:linear-gradient(#ff6a00,#ff6a00) 0 100%/0 2px no-repeat; transition:background-size .45s cubic-bezier(.16,1,.3,1); }
[data-fx-hover="underline"]:hover { background-size:100% 2px; }

/* ---------- Rolagem ---------- */
[data-fx-scroll] { will-change:transform; }

/* Barra de progresso da página */
[data-fx-progress] { position:fixed; z-index:60; top:0; left:0; width:100%; height:3px; pointer-events:none; transform-origin:0 50%; transform:scaleX(var(--fx-progress,0)); background:var(--fx-progress-color,#ff6a00); }

/* ---------- Visibilidade ---------- */
/* fx-hide: fica no HTML (para reativar no editor), mas não aparece no site.
   No modo Editar (html.acta-editing) tudo continua visível, apagado. */
html:not(.acta-editing) .fx-hide { display:none!important; }
@media (max-width:760px) { html:not(.acta-editing) .fx-hide-mobile { display:none!important; } }
@media (min-width:761px) and (max-width:1100px) { html:not(.acta-editing) .fx-hide-tablet { display:none!important; } }
@media (min-width:1101px) { html:not(.acta-editing) .fx-hide-desktop { display:none!important; } }

@media (prefers-reduced-motion: reduce) {
  .fx-armed[data-fx] { opacity:1!important; transform:none!important; filter:none!important; clip-path:none!important; }
  .fx-armed .fx-piece { opacity:1!important; transform:none!important; filter:none!important; }
  [class*="fx-loop-on"] { animation:none!important; }
}

/* =====================================================================
 * Blocos da biblioteca do editor
 * Seguem o visual do site: fundo grafite, laranja Acta, títulos em
 * Space Grotesk e chapéus em mono.
 * ===================================================================== */
.fx-block { --fx-bg:#0b0d0f; --fx-fg:#eeece5; --fx-muted:#a8adb2; --fx-accent:#ff6a00; --fx-line:rgba(238,236,229,.16);
  position:relative; padding:clamp(80px,10vw,150px) max(24px,6vw); background:var(--fx-bg); color:var(--fx-fg); overflow:hidden; }
.fx-block--paper { --fx-bg:#eeece5; --fx-fg:#171a1d; --fx-muted:#5d6268; --fx-line:rgba(13,16,19,.16); }
.fx-block--orange { --fx-bg:#ff6a00; --fx-fg:#141619; --fx-muted:#3a2a1d; --fx-accent:#141619; --fx-line:rgba(20,22,25,.25); }
.fx-block--graphite { --fx-bg:#111419; }
.fx-block__inner { position:relative; z-index:1; max-width:1320px; margin:0 auto; }
.fx-block .eyebrow { margin:0 0 22px; color:var(--fx-accent); font-family:var(--mono,monospace); font-size:11px; font-weight:700; letter-spacing:.14em; }
.fx-block--orange .eyebrow { color:#141619; }
.fx-block__title { max-width:980px; margin:0; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(42px,6vw,96px); font-weight:600; letter-spacing:-.075em; line-height:.9; }
.fx-block__title em,.fx-block h2 em,.fx-block h3 em { color:var(--fx-accent); font-style:normal; }
.fx-block--orange .fx-block__title em { color:#fff; }
.fx-block h2 { max-width:860px; margin:0; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(36px,4.6vw,66px); font-weight:600; letter-spacing:-.07em; line-height:.94; }
.fx-block__lead { max-width:620px; margin:28px 0 0; color:var(--fx-muted); font-size:clamp(16px,1.4vw,19px); line-height:1.55; }
.fx-block__actions { display:flex; margin-top:40px; flex-wrap:wrap; gap:14px; }
.fx-button { display:inline-flex; min-height:50px; padding:0 22px; align-items:center; gap:10px; border:1px solid var(--fx-accent); background:var(--fx-accent); color:#fff; font-size:13px; font-weight:800; letter-spacing:.02em; transition:transform .25s ease, background .25s ease; }
.fx-button:hover { transform:translateY(-2px); }
.fx-button--ghost { background:transparent; color:var(--fx-fg); border-color:var(--fx-line); }
.fx-block--orange .fx-button { background:#141619; border-color:#141619; }
.fx-block--orange .fx-button--ghost { background:transparent; color:#141619; border-color:rgba(20,22,25,.4); }

.fx-block--hero { display:grid; min-height:88svh; align-items:end; padding-top:clamp(130px,16vw,220px); }
.fx-block__media { position:absolute; inset:0; z-index:0; }
.fx-block__media img,.fx-block__media video { width:100%; height:100%; object-fit:cover; opacity:var(--fx-media-opacity,.55); }
.fx-block__media:after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,13,15,.2),rgba(11,13,15,.92)); opacity:var(--fx-shade,1); content:""; }

.fx-grid { display:grid; margin-top:clamp(44px,6vw,80px); grid-template-columns:repeat(var(--fx-cols,3),minmax(0,1fr)); gap:18px; }
.fx-card { display:flex; min-height:280px; padding:30px; flex-direction:column; justify-content:space-between; border:1px solid var(--fx-line); background:rgba(255,255,255,.025); }
.fx-block--paper .fx-card { background:rgba(255,255,255,.55); }
.fx-card span { color:var(--fx-accent); font-family:var(--mono,monospace); font-size:10px; letter-spacing:.12em; }
.fx-card h3 { margin:60px 0 12px; font-family:var(--display,"Space Grotesk",sans-serif); font-size:28px; font-weight:600; letter-spacing:-.06em; line-height:1; }
.fx-card p { margin:0; color:var(--fx-muted); font-size:14px; line-height:1.55; }

.fx-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,96px); align-items:center; }
.fx-split--reverse > :first-child { order:2; }
.fx-split__media { position:relative; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--fx-line); }
.fx-split__media img,.fx-split__media video { width:100%; height:100%; object-fit:cover; display:block; }

.fx-stats { display:grid; margin-top:clamp(44px,6vw,80px); grid-template-columns:repeat(var(--fx-cols,4),minmax(0,1fr)); border-top:1px solid var(--fx-line); }
.fx-stat { padding:28px 24px 0 0; }
.fx-stat strong { display:block; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(48px,6vw,92px); font-weight:600; letter-spacing:-.08em; line-height:.85; }
.fx-stat p { margin:16px 0 0; color:var(--fx-muted); font-size:13px; line-height:1.45; }

.fx-cta { display:flex; align-items:end; justify-content:space-between; gap:40px; flex-wrap:wrap; }

.fx-video { position:relative; margin-top:clamp(36px,5vw,64px); aspect-ratio:16/9; overflow:hidden; border:1px solid var(--fx-line); background:#000; }
.fx-video video,.fx-video iframe { width:100%; height:100%; object-fit:cover; border:0; display:block; }

.fx-marquee { margin-top:40px; padding:26px 0; border-top:1px solid var(--fx-line); border-bottom:1px solid var(--fx-line); }
.fx-marquee span { flex:none; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(28px,4vw,56px); font-weight:600; letter-spacing:-.06em; white-space:nowrap; }
.fx-marquee span:nth-child(even) { color:var(--fx-accent); }
.fx-marquee img { flex:none; height:44px; width:auto; opacity:.8; filter:grayscale(1) brightness(1.6); }

.fx-faq { margin-top:clamp(36px,5vw,64px); border-top:1px solid var(--fx-line); }
.fx-faq details { border-bottom:1px solid var(--fx-line); }
.fx-faq summary { display:flex; padding:26px 0; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:clamp(18px,1.8vw,24px); font-weight:600; letter-spacing:-.03em; }
.fx-faq summary::-webkit-details-marker { display:none; }
.fx-faq summary:after { color:var(--fx-accent); content:"+"; }
.fx-faq details[open] summary:after { content:"–"; }
.fx-faq details p { max-width:760px; margin:0 0 26px; color:var(--fx-muted); line-height:1.6; }

.fx-gallery { display:grid; margin-top:clamp(36px,5vw,64px); grid-template-columns:repeat(var(--fx-cols,3),minmax(0,1fr)); gap:12px; }
.fx-gallery figure { margin:0; aspect-ratio:1/1; overflow:hidden; background:#15181c; }
.fx-gallery img { width:100%; height:100%; object-fit:cover; display:block; }

.fx-quote blockquote { max-width:1100px; margin:0; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(30px,4vw,58px); font-weight:500; letter-spacing:-.06em; line-height:1.02; }
.fx-quote blockquote:before { display:block; margin-bottom:18px; color:var(--fx-accent); content:"“"; font-size:1.6em; line-height:.6; }
.fx-quote figcaption { margin-top:30px; color:var(--fx-muted); font-family:var(--mono,monospace); font-size:11px; letter-spacing:.1em; }

.fx-richtext { max-width:760px; font-size:17px; line-height:1.7; color:var(--fx-muted); }
.fx-richtext h2,.fx-richtext h3 { color:var(--fx-fg); }
.fx-richtext h3 { margin:1.6em 0 .4em; font-size:24px; letter-spacing:-.04em; }
.fx-richtext a { color:var(--fx-accent); border-bottom:1px solid currentColor; }

.fx-divider { padding:0 max(24px,6vw); background:var(--fx-bg,#0b0d0f); }
.fx-divider hr { max-width:1320px; margin:0 auto; border:0; border-top:1px solid rgba(238,236,229,.16); }
.fx-spacer { height:var(--fx-space,96px); background:var(--fx-bg,#0b0d0f); }

.fx-logos { display:flex; margin-top:40px; flex-wrap:wrap; align-items:center; gap:clamp(28px,5vw,72px); }
.fx-logos img { height:42px; width:auto; opacity:.82; filter:grayscale(1) brightness(1.6); transition:opacity .3s, filter .3s; }
.fx-logos img:hover { opacity:1; filter:none; }

/* =====================================================================
 * Caixas, colunas e posição livre (caixa de ferramentas do editor)
 * ===================================================================== */
.fx-box { position:relative; padding:clamp(22px,3vw,40px); border:1px solid var(--fx-line,rgba(238,236,229,.16)); background:rgba(255,255,255,.025); }
.fx-block--paper .fx-box { background:rgba(255,255,255,.55); }
.fx-box h3 { margin:0 0 12px; font-family:var(--display,"Space Grotesk",sans-serif); font-size:clamp(22px,2vw,28px); font-weight:600; letter-spacing:-.05em; line-height:1.05; }
.fx-box p { margin:0; color:var(--fx-muted,inherit); line-height:1.6; }
.fx-box p + p { margin-top:12px; }
.fx-box > :last-child { margin-bottom:0; }
.fx-cols { display:grid; margin-top:clamp(28px,4vw,56px); grid-template-columns:repeat(var(--fx-cols,2),minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.fx-cols:first-child { margin-top:0; }
.fx-line { margin:clamp(24px,3vw,40px) 0; border:0; border-top:1px solid var(--fx-line,rgba(238,236,229,.16)); }
.fx-gap { height:48px; }
.fx-group { position:relative; }
.fx-free { position:absolute; z-index:2; max-width:100%; }
@media (max-width:900px) { .fx-cols { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .fx-free[data-fx-free-mobile="flow"] { position:relative!important; left:auto!important; top:auto!important; right:auto!important; bottom:auto!important; width:auto!important; margin:16px 0!important; transform:none!important; }
}
@media (max-width:560px) { .fx-cols { grid-template-columns:1fr; } }

@media (max-width:900px) {
  .fx-grid,.fx-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fx-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fx-split { grid-template-columns:1fr; }
  .fx-split--reverse > :first-child { order:0; }
}
@media (max-width:560px) {
  .fx-grid,.fx-gallery,.fx-stats { grid-template-columns:1fr; }
  .fx-card { min-height:220px; }
}

/* Slideshow */
.fx-slider { position:relative; height:var(--fx-slider-h,560px); overflow:hidden; background:#0b0d0f; outline:none; }
.fx-slider .fx-slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity var(--fx-slide-dur,800ms) ease, transform var(--fx-slide-dur,800ms) cubic-bezier(.16,1,.3,1), visibility 0s linear var(--fx-slide-dur,800ms); }
.fx-slider .fx-slide.is-active,.fx-slider:not(:has(> .fx-slide.is-active)) > .fx-slide:first-child { z-index:1; opacity:1; visibility:visible; transition-delay:0s; }
.fx-slider[data-fx-transition="slide"] .fx-slide { opacity:1; transform:translateX(100%); }
.fx-slider[data-fx-transition="slide"] .fx-slide.is-before { transform:translateX(-100%); }
.fx-slider[data-fx-transition="slide"] .fx-slide.is-active,.fx-slider[data-fx-transition="slide"]:not(:has(> .fx-slide.is-active)) > .fx-slide:first-child { transform:none; }
.fx-slider[data-fx-transition="zoom"] .fx-slide { transform:scale(1.08); }
.fx-slider[data-fx-transition="zoom"] .fx-slide.is-active { transform:none; }
.fx-slide > img,.fx-slide > video,.fx-slide > picture img { display:block; width:100%; height:100%; object-fit:cover; }
.fx-slide__caption { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(24px,5vw,64px); padding-right:clamp(24px,12vw,180px); background:linear-gradient(180deg,rgba(11,13,15,0),rgba(11,13,15,.88)); color:#f4f4f4; }
.fx-slide__caption h3 { margin:6px 0 8px; font-size:clamp(24px,3.2vw,44px); line-height:1.05; }
.fx-slide__caption p { max-width:640px; margin:0; }
.fx-slide__caption .eyebrow { margin:0; }
.fx-slider__arrow { position:absolute; top:50%; z-index:3; width:44px; height:44px; margin-top:-22px; border:1px solid rgba(255,255,255,.35); background:rgba(11,13,15,.55); color:#fff; font-size:26px; line-height:1; cursor:pointer; }
.fx-slider__arrow:hover { border-color:#ff6a00; background:#ff6a00; }
.fx-slider__arrow--prev { left:16px; }
.fx-slider__arrow--next { right:16px; }
.fx-slider__dots { position:absolute; right:clamp(16px,3vw,40px); bottom:clamp(16px,3vw,32px); z-index:3; display:flex; gap:8px; }
.fx-slider__dot { width:10px; height:10px; padding:0; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:transparent; cursor:pointer; }
.fx-slider__dot[aria-current="true"] { border-color:#ff6a00; background:#ff6a00; }
@media (max-width:760px) {
  .fx-slider { height:var(--fx-slider-h-m,420px); }
  .fx-slider__arrow { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .fx-slider .fx-slide { transition:none; }
}
