@font-face {
  font-display: swap;
  font-family: 'Tangerine';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/Tangerine_Regular.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Tangerine';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/Tangerine_Bold.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'High Spirited';
  font-style: normal;
  font-weight: 400 700;
  src: url('../fonts/High-Spirited.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Destoria';
  font-style: normal;
  font-weight: 400 700;
  src: url('../fonts/Destoria-Free.otf') format('opentype');
}

@font-face {
  font-display: swap;
  font-family: 'Story Script';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/StoryScript-Regular.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Parisienne';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/Parisienne-Regular.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Monster Clubhouse';
  font-style: normal;
  font-weight: 400 700;
  src: url('../fonts/Monster-Clubhouse.ttf') format('truetype');
}

:root {
  --ff-night: #071421;
  --ff-ink: #111a23;
  --ff-red: #ff5a45;
  --ff-red-dark: #db3f32;
  --ff-blue: #7057d9;
  --ff-gold: #ffb84d;
  --ff-mist: #f6f4f1;
  --ff-steel: #64717d;
  --ff-white: #fff;
  --ff-border: #dce2e5;
  --ff-radius: 12px;
  --ff-shadow: 0 18px 50px rgba(0, 26, 43, .1);
  --ff-header-height: 94px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-size: 16px; line-height: 1.75; margin: 0; overflow-x: hidden; }
main h1,
main h2,
main h3 {
  font-family: 'Birthstone', 'Tangerine', 'Cormorant Garamond', Georgia, serif !important;
  letter-spacing: 0 !important;
}
main h3 {
  font-size: 40px !important;
  line-height: 1.05;
}
.has-medium-font-size { font-size: 1rem !important; }
.wp-site-blocks { padding-left: 0 !important; padding-right: 0 !important; }
.alignwide { width: min(1240px, calc(100% - 3rem)); }
img { height: auto; max-width: 100%; }
a { text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--ff-red); outline-offset: 4px; }

.ff-header {
  backdrop-filter: blur(18px);
  background: linear-gradient(180deg, rgba(7, 20, 33, .82), rgba(7, 20, 33, .25) 72%, transparent);
  border-bottom: 1px solid rgba(255,255,255,.14);
  color: var(--ff-white);
  left: 0;
  position: fixed;
  right: 0;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 20;
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ff-header.is-scrolled { background: rgba(7,20,33,.94); border-bottom-color: rgba(255,255,255,.08); box-shadow: 0 10px 32px rgba(0,0,0,.16); }
.ff-header__inner { min-height: 94px; gap: 2rem; }
.ff-header__inner { max-width: none !important; width: calc(100% - 4rem); }
.ff-brand {
  align-items: center;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  text-decoration: none;
}
.ff-brand img{display:block;height:auto;object-fit:contain;transition:filter .25s ease,transform .25s ease;width:clamp(222px,19.2vw,282px)}
.ff-brand:hover img{filter:brightness(1.08);transform:translateY(-2px)}
.ff-brand span {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 2.55vw, 2.65rem);
  font-style: italic;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
  text-shadow: 0 3px 20px rgba(0,0,0,.28);
  transition: color .2s ease, transform .25s ease;
}
.ff-brand:hover span { color: #ffb4a9; transform: translateY(-2px); }
.ff-navigation { color: var(--ff-white); margin-left: auto; }
.ff-navigation a { color: inherit; display: inline-block; font-size: .74rem; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-item>a { position: relative; }
.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-item>a::after { background: linear-gradient(90deg,var(--ff-red),var(--ff-gold)); bottom: -.48rem; content: ''; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform .3s cubic-bezier(.4,0,.2,1); width: calc(100% - .12em); }
.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-item>a:hover::after,.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-item>a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.ff-header .wp-block-button__link { white-space: nowrap; }
.ff-header__cta .wp-block-button__link { font-size: .7rem; letter-spacing: .07em; padding: .72rem 1.15rem; }
.ff-mobile-cta{display:none!important}

.ff-hero { margin-top: 0; min-height: min(920px, 100vh) !important; padding: clamp(10rem, 16vw, 14rem) 0 clamp(6rem, 9vw, 9rem); }
.ff-hero .wp-block-cover__image-background { filter: saturate(1.08) contrast(1.04); }
.ff-hero .wp-block-cover__background { background: radial-gradient(circle at 70% 35%, rgba(112,87,217,.15), transparent 34%), linear-gradient(90deg, rgba(7,20,33,.96), rgba(7,20,33,.78) 48%, rgba(7,20,33,.34)); }
.ff-hero__content { margin-left: max(1.5rem, calc((100vw - 1240px) / 2)) !important; max-width: 820px; width: min(820px, calc(100% - 3rem)); }
.ff-hero h1 { font-size: clamp(4.2rem, 7.4vw, 7rem) !important; font-weight: 500; letter-spacing: -.035em; line-height: .88; margin: .75rem 0 2rem; }
.ff-hero__lead { max-width: 760px; }
.ff-eyebrow { color: var(--ff-red); font-size: .9rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ff-hero .ff-eyebrow { color: #ff6b68; font-size: calc(.9rem + 3px); }
.ff-hero .is-style-outline .wp-block-button__link { border: 2px solid var(--ff-white); color: var(--ff-white); }
.ff-hero__signature { align-items: center; border-left: 2px solid var(--ff-red); display: grid; gap: .1rem .9rem; grid-template-columns: auto 1fr; margin-top: 3rem; max-width: 500px; padding-left: 1rem; }
.ff-hero__signature span { color: var(--ff-red); font-size: 1.3rem; font-weight: 800; grid-row: 1 / 3; }
.ff-hero__signature strong { color: #fff; font-size: .95rem; }
.ff-hero__signature small { color: rgba(255,255,255,.68); font-size: .82rem; }
.ff-hero .wp-block-button__link { border-radius: 999px; font-size: .74rem; letter-spacing: .09em; padding: 1rem 1.7rem; text-transform: uppercase; }

.ff-cinematic-strip { background: var(--ff-night); color: #fff; padding: 0 0 clamp(4rem, 7vw, 7rem); }
.ff-cinematic-strip__inner { display: grid; gap: 1.25rem; grid-template-columns: 1.05fr 1.8fr 1fr; margin: 0 auto; max-width: 1240px; transform: translateY(-38px); width: calc(100% - 3rem); }
.ff-cinematic-strip figure { border-radius: 16px; box-shadow: 0 28px 70px rgba(0,0,0,.32); margin: 0; overflow: hidden; }
.ff-cinematic-strip img { display: block; height: 260px; object-fit: cover; width: 100%; }
.ff-cinematic-strip__portrait img { object-position: center 45%; }
.ff-cinematic-strip__wide img { object-position: center 34%; }
.ff-cinematic-strip__copy { align-self: center; padding-left: 1.5rem; }
.ff-cinematic-strip__copy span { color: var(--ff-red); display: block; font-size: .78rem; font-weight: 800; letter-spacing: .16em; margin-bottom: .8rem; text-transform: uppercase; }
.ff-cinematic-strip__copy strong { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.9rem, 2.8vw, 2.8rem); font-weight: 500; line-height: 1.02; }

.ff-section { padding-top: clamp(6rem, 10vw, 10rem); padding-bottom: clamp(6rem, 10vw, 10rem); }
.ff-intro { background: var(--ff-mist); }
.ff-intro > p, .ff-intro > h2 { max-width: 900px; }
.ff-intro > h2 { font-size: clamp(3.2rem, 6vw, 5.8rem) !important; font-weight: 500; line-height: .98; }
.ff-intro > .has-lead-font-size { color: var(--ff-steel); max-width: 760px; }
.ff-service-grid { margin-top: 3.5rem; }
.ff-service-card { background: transparent; border-left: 1px solid rgba(7,20,33,.18); min-height: 300px; padding: clamp(1.5rem, 3vw, 2.75rem); position: relative; transition: transform .22s ease; }
.ff-service-card:first-child { border-left: 0; }
.ff-service-card:hover { transform: translateY(-6px); }
.ff-service-card__number { color: var(--ff-red); font-family: Manrope, Arial, sans-serif; font-size: 1.2rem; font-weight: 800; letter-spacing: .08em; }
.ff-service-card h3 { font-size: clamp(2.1rem, 3.5vw, 3rem); font-weight: 500; }
.ff-service-card a { font-weight: 700; }

.ff-split { gap: clamp(3rem, 7vw, 7rem); }
.ff-image img { aspect-ratio: 4 / 5; border-radius: var(--ff-radius); box-shadow: var(--ff-shadow); object-fit: cover; width: 100%; }
.ff-difference { overflow: hidden; }
.ff-photo-stack { min-height: 650px; position: relative; }
.ff-photo-stack figure { border-radius: 18px; box-shadow: 0 30px 70px rgba(7,20,33,.18); margin: 0; overflow: hidden; position: absolute; }
.ff-photo-stack img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ff-photo-stack__main { height: 570px; left: 0; top: 0; width: 70%; z-index: 2; }
.ff-photo-stack__secondary { bottom: 5px; height: 300px; right: 0; width: 52%; z-index: 3; }
.ff-photo-stack__secondary img { object-position: center 35%; }
.ff-photo-stack__badge { background: var(--ff-red); border-radius: 12px; color: #fff; display: flex; flex-direction: column; left: 52%; padding: 1rem 1.3rem; position: absolute; top: 48px; transform: translateX(-50%); z-index: 4; }
.ff-photo-stack__badge strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.55rem; font-weight: 600; line-height: 1; }
.ff-photo-stack__badge span { font-size: .78rem; opacity: .8; }
.ff-proof h3 { color: var(--ff-white); font-size: 1.8rem; }
.ff-proof .wp-block-column { border-left: 1px solid rgba(255,255,255,.22); padding: 1rem 2rem; }
.ff-proof .wp-block-column:first-child { border-left: 0; }

.ff-audiences .wp-block-columns { margin-top: 3rem; }
.ff-audience-card { background: transparent; border-top: 1px solid var(--ff-border); padding: 2.2rem .5rem; }
.ff-audience-card h3 { font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 500; }
.ff-audience-card h3::after { background: var(--ff-red); content: ""; display: block; height: 3px; margin-top: 1rem; width: 48px; }
.ff-final-cta h2 { color: var(--ff-white); margin-left: auto; margin-right: auto; max-width: 930px; }

.ff-page { min-height: 60vh; padding-bottom: clamp(4rem, 8vw, 7rem); padding-top: clamp(4rem, 8vw, 7rem); }
.ff-center { text-align: center; }
.ff-post-card { border-bottom: 1px solid var(--ff-border); padding: 2rem 0; }

.ff-footer { background: var(--ff-night); color: rgba(255,255,255,.8); padding-bottom: 2rem; padding-top: 4rem; }
.ff-footer h2, .ff-footer h3 { color: var(--ff-white); }
.ff-footer a { color: var(--ff-white); }
.ff-footer__links { list-style: none; padding-left: 0; }
.ff-footer__links li { margin-bottom: .65rem; }
.ff-footer .wp-block-separator { border-color: rgba(255,255,255,.18); margin-top: 3rem; }

@media (max-width: 1000px) {
  :root { --ff-header-height: 76px; }
  .ff-header__inner { min-height: 76px; }
  .ff-brand span { font-size: 2.15rem; }
  .ff-brand img { height:auto;width:228px; }
  .ff-header__cta { display: none; }
  .ff-navigation { margin-left: auto; }
  .ff-proof .wp-block-column { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
  .ff-proof .wp-block-column:first-child { border-top: 0; }
  .ff-cinematic-strip__inner { grid-template-columns: 1fr 1fr; }
  .ff-cinematic-strip__copy { grid-column: 1 / -1; padding: 1rem 0 0; }
}

@media (max-width: 700px) {
  .ff-brand span { font-size: 2rem; }
  .ff-brand img { height:auto;width:204px; }
  .ff-header { background: rgba(7,20,33,.94); }
  .ff-hero { min-height: 760px !important; padding-top: 9rem; }
  .ff-hero h1 { font-size: clamp(3rem, 15vw, 4.4rem) !important; }
  .ff-hero__signature { margin-top: 2rem; }
  .ff-cinematic-strip__inner { grid-template-columns: 1fr; transform: translateY(-20px); }
  .ff-cinematic-strip img { height: 240px; }
  .ff-cinematic-strip__wide { display: none; }
  .ff-photo-stack { min-height: 510px; }
  .ff-photo-stack__main { height: 440px; width: 78%; }
  .ff-photo-stack__secondary { height: 220px; width: 58%; }
  .ff-photo-stack__badge { left: auto; right: 0; top: 28px; transform: none; }
  .ff-service-card, .ff-service-card:first-child { border-left: 0; border-top: 1px solid rgba(7,20,33,.18); min-height: 0; }
  .ff-section { padding-left: 0; padding-right: 0; }
  .wp-block-buttons { align-items: stretch; flex-direction: column; }
  .wp-block-button, .wp-block-button__link { width: 100%; }
  .wp-block-button__link { text-align: center; }
}

/* Final homepage rhythm and responsive polish. */
.wp-site-blocks > *, .ff-home > * { margin-block-start: 0 !important; }
.ff-intro { padding-bottom: clamp(6rem, 8vw, 8rem); padding-top: clamp(6rem, 8vw, 8rem); }
.ff-intro > h2 { font-size: clamp(3.15rem, 5.2vw, 4.85rem) !important; max-width: 820px; }
.ff-service-card { min-height: 270px; }
.ff-difference { padding-bottom: clamp(6rem, 8vw, 8rem); padding-top: clamp(6rem, 8vw, 8rem); }
.ff-photo-stack { min-height: 570px; }
.ff-photo-stack__main { height: 500px; }
.ff-photo-stack__secondary { height: 270px; }
.ff-difference h2 { font-size: clamp(3rem, 4.5vw, 4.25rem) !important; line-height: 1; }
.ff-proof { padding-bottom: clamp(4rem, 6vw, 5rem); padding-top: clamp(4rem, 6vw, 5rem); }
.ff-audiences { padding-bottom: clamp(6rem, 8vw, 8rem); padding-top: clamp(6rem, 8vw, 8rem); }
.ff-audiences > h2 { font-size: clamp(3rem, 4.8vw, 4.5rem) !important; }
.ff-final-cta { padding-bottom: clamp(4rem, 5vw, 5rem); padding-top: clamp(4rem, 5vw, 5rem); }
.ff-final-cta h2 { font-size: clamp(2.7rem, 4.4vw, 4.15rem) !important; line-height: 1; }
.ff-footer { padding-top: 3.5rem; }

@media (max-width: 1000px) {
  .wp-block-buttons.ff-header__cta { display: none !important; }
  .ff-header__inner { gap: 1rem; }
}

@media (max-width: 700px) {
  .alignwide { width: min(100% - 2rem, 1240px); }
  .ff-brand span { font-size: 1.95rem; }
  .ff-header__inner { min-height: 72px; }
  .ff-hero { min-height: 720px !important; padding-bottom: 3.5rem; padding-top: 8.25rem; }
  .ff-hero__content { margin-left: 1.25rem !important; width: calc(100% - 2.5rem); }
  .ff-hero h1 { font-size: clamp(3.45rem, 15vw, 4.1rem) !important; line-height: .93; margin-bottom: 1.5rem; }
  .ff-hero__lead { font-size: 1rem !important; line-height: 1.65; }
  .ff-hero .wp-block-buttons { gap: .75rem; }
  .ff-hero .wp-block-button__link { padding: .9rem 1.25rem; }
  .ff-hero__signature { margin-top: 1.6rem; }

  .ff-cinematic-strip { padding-bottom: 3.75rem; }
  .ff-cinematic-strip__inner { gap: .75rem; grid-template-columns: .92fr 1.08fr; transform: translateY(-24px); width: calc(100% - 2rem); }
  .ff-cinematic-strip img { height: 185px; }
  .ff-cinematic-strip__wide { display: block; }
  .ff-cinematic-strip__copy { grid-column: 1 / -1; padding: 1.1rem .25rem 0; }
  .ff-cinematic-strip__copy strong { font-size: 2rem; max-width: 330px; }

  .ff-intro { padding-bottom: 4.75rem; padding-top: 4.75rem; }
  .ff-intro > h2 { font-size: clamp(3rem, 13vw, 3.55rem) !important; line-height: .95; }
  .ff-intro > .has-lead-font-size { font-size: 1rem !important; line-height: 1.65; }
  .ff-service-grid { margin-top: 2.5rem; }
  .ff-service-card, .ff-service-card:first-child { padding: 2rem 0; }
  .ff-service-card h3 { font-size: 2.35rem; margin-bottom: .9rem; }
  .ff-service-card p { margin-bottom: .85rem; }

  .ff-difference { padding-bottom: 4.75rem; padding-top: 4.75rem; }
  .ff-split { gap: 3.5rem; }
  .ff-photo-stack { min-height: 430px; }
  .ff-photo-stack__main { height: 365px; width: 76%; }
  .ff-photo-stack__secondary { height: 190px; width: 56%; }
  .ff-photo-stack__badge { padding: .8rem 1rem; top: 20px; }
  .ff-difference h2 { font-size: 2.85rem !important; }
  .ff-difference .has-lead-font-size { font-size: 1.05rem !important; }

  .ff-proof { padding-bottom: 3.5rem; padding-top: 3.5rem; }
  .ff-proof .wp-block-columns { gap: 0; }
  .ff-proof .wp-block-column { padding: 1.5rem .5rem; }
  .ff-proof h3 { font-size: 1.75rem; margin-bottom: .5rem; }

  .ff-audiences { padding-bottom: 4.75rem; padding-top: 4.75rem; }
  .ff-audiences > h2 { font-size: 2.75rem !important; }
  .ff-audiences .wp-block-columns { gap: 0; margin-top: 2rem; }
  .ff-audience-card { padding: 1.8rem .25rem; }
  .ff-audience-card h3 { font-size: 2.25rem; }

  .ff-final-cta { padding-bottom: 4rem; padding-top: 4rem; }
  .ff-final-cta h2 { font-size: 2.55rem !important; }
  .ff-final-cta .has-lead-font-size { font-size: 1rem !important; }
  .ff-final-cta .wp-block-buttons { align-items: center; }
  .ff-final-cta .wp-block-button, .ff-final-cta .wp-block-button__link { width: auto; }

  .ff-footer { padding-top: 3rem; }
  .ff-footer .wp-block-columns { gap: 1.5rem; }
  .ff-footer h2 { font-size: 2rem !important; }
  .ff-footer h3 { font-size: 1.45rem; margin-bottom: .8rem; }
  .ff-footer .wp-block-separator { margin-top: 2rem; }
}

/* Type scale aligned with the editorial reference: 16px body, 20px leads,
   64px section titles, 33px tertiary titles and discreet footer labels. */
.ff-hero h1 { font-size: clamp(4rem, 6.2vw, 5.875rem) !important; line-height: .92; }
.ff-intro > h2 { font-size: clamp(3rem, 4.25vw, 4rem) !important; max-width: 800px; }
.ff-service-card h3 { font-size: clamp(2rem, 2.35vw, 2.2rem); }
.ff-difference h2 { font-size: clamp(3rem, 4.25vw, 4rem) !important; }
.ff-audiences > h2 { font-size: clamp(3rem, 4.25vw, 4rem) !important; }
.ff-final-cta h2 { font-size: clamp(2.6rem, 3.65vw, 3.45rem) !important; line-height: 1.02; }

.ff-footer { color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.7; padding-bottom: 1.5rem; padding-top: 3rem; }
.ff-footer h2 { font-size: 1.75rem !important; font-weight: 500; margin-bottom: .75rem; }
.ff-footer h3 { font-family: Manrope, Arial, sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .15em; margin-bottom: 1rem; text-transform: uppercase; }
.ff-footer p { font-size: .95rem; }
.ff-footer a { color: rgba(255,255,255,.82); display: inline-block; font-size: .9rem; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.ff-footer a:hover { color: var(--ff-red); transform: translateX(3px); }
.ff-footer a:focus-visible { color: var(--ff-red); text-decoration: none; }
.ff-footer__links li { margin-bottom: .4rem; }
.ff-footer .wp-block-separator { margin-top: 2rem; }
.ff-footer > .has-small-font-size { font-size: .72rem !important; letter-spacing: .01em; }
.ff-footer__main, .ff-footer > .wp-block-separator, .ff-footer__bottom { max-width: none !important; width: calc(100% - 4rem); }
.ff-footer__main { margin-left: auto; margin-right: auto; }
.ff-footer__bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.55); display: flex; gap: 1.5rem; justify-content: space-between; margin: 2rem auto 0; padding-top: 2rem; }
.ff-footer__bottom p { font-size: .72rem; margin: 0; }
.ff-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 1.25rem; justify-content: center; }
.ff-footer__bottom a { font-size: .72rem; }
.ff-footer__bottom a:hover { transform: translateY(-3px); }

/* Homepage v2 — airy, image-led and reassuring. */
.ff-home-v2 { background: #f7f5f1; color: var(--ff-ink); }
.ff-home-v2 .ff-shell { margin-inline: auto; max-width: 1240px; width: min(calc(100% - 3rem), 1240px); }
.ff-home-v2 .ff-space-xl { padding-block: clamp(6rem, 10vw, 10rem); }
.ff-home-v2 .ff-space-lg { padding-block: clamp(5rem, 8vw, 8rem); }
.ff-home-v2 h1,.ff-home-v2 h2,.ff-home-v2 h3 { margin-top: 0; }
.ff-home-v2 h3 { font-size:40px !important; }
.ff-home-v2 h2 { font-size: clamp(3rem, 5vw, 4.65rem); font-weight: 500; letter-spacing: -.035em; line-height: .98; }
.ff-home-v2 p { line-height: 1.75; }
.ff-kicker { color: var(--ff-red); font-size: .74rem; font-weight: 800; letter-spacing: .17em; margin-bottom: 1.25rem; text-transform: uppercase; }
.ff-hero-v2 .ff-kicker,
.ff-faq-hero .ff-kicker,
.ff-legal-hero .ff-kicker,
.ff-offers-hero .ff-kicker,
.ff-service-hero .ff-kicker,
.ff-quote-hero .ff-kicker,
.ff-about-hero .ff-kicker,
.ff-cp-hero .ff-kicker {
  font-size: calc(.74rem + 3px);
}
.ff-lead { color: #56616b; font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
.ff-btn { align-items: center; border-radius: 999px; display: inline-flex; font-size: .74rem; font-weight: 800; justify-content: center; letter-spacing: .09em; padding: 1rem 1.6rem; text-decoration: none; text-transform: uppercase; transition: transform .25s ease, background .25s ease; }
.ff-btn:hover { transform: translateY(-3px); }
.ff-btn--primary { background: var(--ff-red); color: #fff; }
.ff-btn--primary:hover { background: var(--ff-red-dark); color: #fff; }
.ff-btn--ghost { border: 1px solid rgba(255,255,255,.75); color: #fff; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.ff-btn--ghost:hover { background:#fff; border-color:#fff; color:var(--ff-night); transform:translateY(-3px); }
.ff-text-link { color: var(--ff-ink); display: inline-flex; font-size: .82rem; font-weight: 800; gap: .65rem; letter-spacing: .06em; margin-top: 1rem; text-decoration: none; text-transform: uppercase; }
.ff-text-link span { transition: transform .2s ease; }.ff-text-link:hover span { transform: translateX(5px); }

.ff-hero-v2 { color: #fff; display: grid; min-height: min(900px, 100svh); overflow: hidden; padding: clamp(10rem, 18vh, 14rem) 0 clamp(4rem, 8vh, 7rem); place-items: center; position: relative; }
.ff-hero-v2__slides,.ff-hero-v2__slide,.ff-hero-v2__veil { inset: 0; position: absolute; }
.ff-hero-v2__slide { background-position: center; background-size: cover; opacity: 0; transform: scale(1.04); transition: opacity 1.4s ease, transform 8s linear; }
.ff-hero-v2__slide.is-active { opacity: 1; transform: scale(1); }
.ff-hero-v2__veil { background: linear-gradient(90deg,rgba(4,13,23,.95) 0%,rgba(4,13,23,.78) 44%,rgba(4,13,23,.18) 78%),linear-gradient(0deg,rgba(4,13,23,.5),transparent 55%); }
.ff-hero-v2__content { position: relative; z-index: 2; }
.ff-hero-v2 .ff-kicker { color:var(--ff-red); }
.ff-hero-v2 h1 { color: #fff; font-size: clamp(3.7rem, 6.7vw, 6.4rem); font-weight: 500; letter-spacing: -.045em; line-height: .91; margin-bottom: 1.7rem; max-width: 850px; }
.ff-hero-v2__lead { color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 1.55vw, 1.3rem); max-width: 690px; }
.ff-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.ff-hero-v2__trust { display: flex; flex-wrap: wrap; gap: 1rem 2.4rem; margin-top: clamp(3rem, 7vh, 5.5rem); }
.ff-hero-v2__trust span { color: rgba(255,255,255,.72); font-size: .75rem; font-weight: 700; letter-spacing: .09em; position: relative; text-transform: uppercase; }
.ff-hero-v2__trust span:not(:last-child)::after { background: var(--ff-red); border-radius: 50%; content:""; height: 4px; position: absolute; right: -1.25rem; top: 50%; width: 4px; }
.ff-hero-v2__dots { bottom: 2rem; display: flex; gap: .55rem; position: absolute; right: max(1.5rem,calc((100vw - 1240px)/2)); z-index: 3; }
.ff-hero-v2__dots i { background: rgba(255,255,255,.35); border-radius: 99px; height: 3px; transition: width .4s,background .4s; width: 22px; }.ff-hero-v2__dots i.is-active { background: #fff; width: 52px; }

.ff-editorial { background: radial-gradient(circle at 88% 18%,rgba(255,90,69,.07),transparent 28%),#f7f5f1; overflow:hidden; position:relative; }
.ff-editorial::before{background:#071421;content:"";height:42%;position:absolute;right:-9vw;top:0;transform:skewX(-9deg);width:39vw}
.ff-editorial__grid { align-items: center; display: grid; gap: clamp(4rem,7vw,7rem); grid-template-columns: .78fr 1.22fr; position:relative; }
.ff-editorial__copy { max-width: 510px; position:relative; z-index:2; }
.ff-editorial__copy h2{font-size:clamp(3.5rem,5.3vw,5.35rem);letter-spacing:-.05em;line-height:.91;margin:.9rem 0 2.3rem}
.ff-editorial__copy .ff-lead{border-left:2px solid var(--ff-red);padding-left:1.35rem}
.ff-editorial__copy .ff-text-link{border-top:1px solid rgba(7,20,33,.18);margin-top:1.6rem;padding-top:1.25rem;width:100%}
.ff-collage { background:#071421;box-shadow:0 35px 90px rgba(7,20,33,.18);display:grid;gap:12px;grid-template-columns:.92fr 1.35fr;grid-template-rows:1fr .88fr;min-height:650px;padding:12px;position:relative; }
.ff-collage figure { border-radius:7px;box-shadow:none;margin:0;overflow: hidden; position:relative; }
.ff-collage img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ff-collage figure::after{background:linear-gradient(180deg,transparent 62%,rgba(4,13,23,.2));content:"";inset:0;pointer-events:none;position:absolute}
.ff-collage__one { grid-column:1;grid-row:1 / 3;z-index:2; }
.ff-collage__two { grid-column:2;grid-row:1;z-index:1; }
.ff-collage__three { grid-column:2;grid-row:2;z-index:3; }
.ff-collage__one img{object-position:center 52%}.ff-collage__two img{object-position:center 42%}.ff-collage__three img{object-position:center 38%}
.ff-collage__stamp { align-items: center; background: var(--ff-red); border:8px solid #071421;border-radius: 50%; color:#fff; display:flex; flex-direction:column; height:132px; justify-content:center; left:40.5%; position:absolute; top:53%; transform:translate(-50%,-50%); width:132px; z-index:4; }
.ff-collage__stamp strong { font-family:'Cormorant Garamond',serif; font-size:2.2rem; line-height:1; }.ff-collage__stamp span { font-size:.62rem;font-weight:700;letter-spacing:.03em; text-transform:uppercase; }

.ff-expertise { background:#071421; color:#fff; }
.ff-expertise h2,.ff-expertise h3 { color:#fff; }
.ff-heading-row { align-items:end; display:grid; gap:4rem; grid-template-columns:1.45fr .55fr; margin-bottom:4.5rem; }.ff-heading-row>p { color:rgba(255,255,255,.65); }
.ff-expertise__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.ff-expertise-card { border-left:1px solid rgba(255,255,255,.16); color:#fff; min-height:390px; padding:2.5rem; text-decoration:none; transition:background .3s,transform .3s; }.ff-expertise-card:first-child{border-left:0}.ff-expertise-card:hover{background:rgba(255,255,255,.06);transform:translateY(-8px)}
.ff-expertise-card>span { color:var(--ff-red); font-size:.8rem; font-weight:800; letter-spacing:.13em; }.ff-expertise-card h3{font-size:clamp(2rem,3vw,2.8rem);font-weight:500;margin:2.4rem 0 1.4rem}.ff-expertise-card p{color:rgba(255,255,255,.63);}.ff-expertise-card b{display:block;font-size:.73rem;letter-spacing:.11em;margin-top:2.4rem;text-transform:uppercase}

.ff-trust-icons { background:#0b1b2a; color:#fff; padding:clamp(3.5rem,6vw,5.5rem) 0; }
.ff-trust-icons__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.ff-trust-icons article { align-items:center; border-left:1px solid rgba(255,255,255,.15); display:grid; gap:1.4rem; grid-template-columns:72px 1fr; padding:1rem clamp(1.4rem,3vw,3rem); }
.ff-trust-icons article:first-child { border-left:0; }
.ff-trust-icons__icon { align-items:center; background:rgba(255,90,69,.1); border:1px solid rgba(255,90,69,.35); border-radius:50%; display:flex; height:64px; justify-content:center; width:64px; }
.ff-trust-icons svg { fill:none; height:30px; stroke:#fff; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:30px; }
.ff-trust-icons h3 { color:#fff; font-family:Manrope,Arial,sans-serif; font-size:1rem; font-weight:700; margin:0 0 .3rem; }
.ff-trust-icons p { color:rgba(255,255,255,.6); font-size:.8rem; line-height:1.55; margin:0; }

.ff-confidence { background:#efede8; }
.ff-confidence__grid { display:grid; gap:clamp(4rem,8vw,8rem); grid-template-columns:.8fr 1.2fr; }.ff-confidence__items{display:grid;grid-template-columns:repeat(2,1fr)}.ff-confidence__items article{border-left:1px solid #c8c5be;border-top:1px solid #c8c5be;padding:2rem}.ff-confidence__items span{color:var(--ff-red);font-size:.76rem;font-weight:800}.ff-confidence__items h3{font-size:40px!important;font-weight:500;margin:1rem 0 .5rem}.ff-confidence__items p{color:#626b72;font-size:.92rem;margin:0}

.ff-audiences-v2 { background:#f7f5f1; }
.ff-audiences-v2__heading { margin-bottom:clamp(2.5rem,5vw,4.5rem); max-width:800px; }
.ff-audiences-v2__grid { display:grid; gap:1.2rem; grid-template-columns:repeat(3,1fr); }
.ff-audience-photo { color:#fff; display:block; min-height:560px; overflow:hidden; position:relative; text-decoration:none; }
.ff-audience-photo img { height:100%; inset:0; object-fit:cover; position:absolute; transition:transform .7s cubic-bezier(.2,.7,.2,1); width:100%; }
.ff-audience-photo__veil { background:linear-gradient(0deg,rgba(4,13,23,.94) 0%,rgba(4,13,23,.5) 48%,rgba(4,13,23,.08) 78%); inset:0; position:absolute; transition:background .35s ease; }
.ff-audience-photo>div { bottom:0; left:0; padding:clamp(1.6rem,3vw,2.7rem); position:absolute; right:0; z-index:2; }
.ff-audience-photo>div>span { color:var(--ff-red); font-size:.75rem; font-weight:800; letter-spacing:.12em; }
.ff-audience-photo h3 { color:#fff; font-size:40px!important; font-weight:500; margin:.75rem 0 .8rem; }
.ff-audience-photo p { color:rgba(255,255,255,.72); font-size:.9rem; margin:0; }
.ff-audience-photo b { display:block; font-size:.69rem; letter-spacing:.09em; margin-top:1.5rem; opacity:0; text-transform:uppercase; transform:translateY(8px); transition:opacity .3s,transform .3s; }
.ff-audience-photo:hover img { transform:scale(1.045); }
.ff-audience-photo:hover .ff-audience-photo__veil { background:linear-gradient(0deg,rgba(4,13,23,.96),rgba(4,13,23,.4) 65%,rgba(4,13,23,.04)); }
.ff-audience-photo:hover b { opacity:1; transform:translateY(0); }

.ff-reviews { background:#fff; }.ff-reviews>div>h2{max-width:750px}.ff-reviews__grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr);margin-top:4rem}.ff-reviews blockquote{background:#f5f3ef;border:0;margin:0;padding:clamp(2rem,4vw,3.2rem)}.ff-stars{color:#eaa241;font-size:.8rem;letter-spacing:.16em}.ff-reviews blockquote>p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.35}.ff-reviews footer{display:flex;flex-direction:column}.ff-reviews footer strong{font-size:.78rem;text-transform:uppercase}.ff-reviews footer span{color:#7a8288;font-size:.75rem}.ff-review-note{color:#8a8f93;font-size:.7rem;margin-top:1.25rem}

.ff-faq-home { background:#f7f5f1; }.ff-faq-home__grid{display:grid;gap:clamp(4rem,9vw,9rem);grid-template-columns:.75fr 1.25fr}.ff-accordion details{border-top:1px solid #ccc8c0;padding:1.4rem 0}.ff-accordion details:last-child{border-bottom:1px solid #ccc8c0}.ff-accordion summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;list-style:none;padding-right:2rem;position:relative}.ff-accordion summary::after{content:'+';font-family:Manrope,sans-serif;position:absolute;right:.3rem}.ff-accordion details[open] summary::after{content:'−'}.ff-accordion details p{color:#606a73;max-width:650px}

.ff-cta-v2 { color:#fff;display:grid;min-height:620px;overflow:hidden;padding:8rem 0;place-items:center;position:relative;text-align:center}.ff-cta-v2__backgrounds,.ff-cta-v2__background{inset:0;position:absolute}.ff-cta-v2__background{background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity 1.4s ease,transform 8s linear}.ff-cta-v2__background.is-active{opacity:1;transform:scale(1)}.ff-cta-v2__veil{background:linear-gradient(90deg,rgba(4,13,23,.78),rgba(4,13,23,.64),rgba(4,13,23,.78));inset:0;position:absolute}.ff-cta-v2__content{position:relative;z-index:1}.ff-cta-v2 h2{color:#fff;margin-inline:auto;max-width:900px}.ff-cta-v2 p:not(.ff-kicker){color:rgba(255,255,255,.75);font-size:1.1rem;margin:0 auto 2rem;max-width:650px}

@media(max-width:900px){.ff-editorial::before{height:28%;right:-20vw;width:70vw}.ff-editorial__grid,.ff-confidence__grid,.ff-faq-home__grid{grid-template-columns:1fr}.ff-editorial__copy{max-width:650px}.ff-heading-row{grid-template-columns:1fr;gap:1rem}.ff-expertise__grid,.ff-reviews__grid{grid-template-columns:1fr}.ff-expertise-card,.ff-expertise-card:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.16);min-height:0}.ff-collage{min-height:620px}.ff-confidence__items{margin-top:0}.ff-trust-icons__grid{grid-template-columns:1fr}.ff-trust-icons article,.ff-trust-icons article:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:1.6rem 0}.ff-trust-icons article:first-child{border-top:0}.ff-audiences-v2__grid{grid-template-columns:1fr}.ff-audience-photo{min-height:480px}.ff-audience-photo b{opacity:1;transform:none}}
@media(max-width:600px){.ff-home-v2 .ff-shell{width:calc(100% - 2rem)}.ff-home-v2 .ff-space-xl{padding-block:5rem}.ff-hero-v2{min-height:780px;padding-top:9rem}.ff-hero-v2 h1{font-size:clamp(3.2rem,15vw,4.1rem)}.ff-hero-v2__veil{background:linear-gradient(90deg,rgba(4,13,23,.92),rgba(4,13,23,.56)),linear-gradient(0deg,rgba(4,13,23,.55),transparent)}.ff-actions{align-items:stretch;flex-direction:column}.ff-btn{width:100%}.ff-hero-v2__trust{gap:.7rem 1rem}.ff-hero-v2__trust span:not(:last-child)::after{display:none}.ff-editorial::before{display:none}.ff-editorial__copy h2{font-size:clamp(3rem,13vw,3.7rem)}.ff-collage{gap:7px;grid-template-columns:1.05fr .95fr;min-height:460px;padding:7px}.ff-collage__stamp{border-width:5px;height:92px;left:51%;top:54%;width:92px}.ff-collage__stamp strong{font-size:1.65rem}.ff-collage__stamp span{font-size:.5rem}.ff-confidence__items{grid-template-columns:1fr}.ff-confidence__items article{border-left:0;padding-inline:0}.ff-cta-v2{min-height:560px;padding:6rem 0}}

/* FAQ page */
.page-id-14 .ff-page { padding:0; max-width:none; }
.page-id-14 .ff-page > .wp-block-post-title { display:none; }
.page-id-14 .ff-page > .wp-block-post-content { margin:0; max-width:none; }
.page-id-14 .wp-block-post-content > .ff-faq-page { margin:0 !important; max-width:none !important; width:100% !important; }
.ff-faq-page { background:#f7f5f1; }
.ff-faq-page .ff-shell { margin-inline:auto; max-width:1240px; width:min(calc(100% - 3rem),1240px); }
.ff-faq-hero { background-image:linear-gradient(90deg,rgba(4,13,23,.96) 0%,rgba(4,13,23,.86) 44%,rgba(4,13,23,.48) 74%,rgba(4,13,23,.28) 100%),url('../images/faq-hero-v1.jpg'); background-position:center;background-repeat:no-repeat;background-size:cover;color:#fff;min-height:min(760px,82vh);padding:clamp(11rem,17vw,15rem) 0 clamp(6rem,9vw,9rem);position:relative; }
.ff-faq-hero h1 { color:#fff; font-size:clamp(3.5rem,6.5vw,6rem); font-weight:500; letter-spacing:-.045em; line-height:.94; max-width:990px; }
.ff-faq-hero>div>p:not(.ff-kicker) { color:rgba(255,255,255,.72); font-size:clamp(1.05rem,1.5vw,1.25rem); max-width:720px; }
.ff-faq-hero .ff-btn { margin-top:1.2rem; }
.ff-faq-content { background:#f7f5f1; }
.ff-faq-category { display:grid; gap:clamp(3rem,8vw,8rem); grid-template-columns:.65fr 1.35fr; padding:clamp(4.5rem,8vw,7rem) 0; }
.ff-faq-category + .ff-faq-category { border-top:1px solid #d4d0c8; }
.ff-faq-category aside { position:sticky; top:140px; align-self:start; }
.ff-faq-category aside>span { color:var(--ff-red); font-size:.76rem; font-weight:800; letter-spacing:.14em; }
.ff-faq-category h2 { font-size:clamp(2.6rem,4vw,3.8rem); font-weight:500; letter-spacing:-.035em; line-height:1; margin:1rem 0 1.2rem; }
.ff-faq-category aside p { color:#6c747b; max-width:350px; }
.ff-faq-list details { border-top:1px solid #cbc7bf; }
.ff-faq-list details:last-child { border-bottom:1px solid #cbc7bf; }
.ff-faq-list summary { cursor:pointer; font-family:'Cormorant Garamond',serif; font-size:clamp(1.4rem,2vw,1.75rem); font-weight:600; list-style:none; padding:1.65rem 3rem 1.65rem 0; position:relative; }
.ff-faq-list summary::-webkit-details-marker { display:none; }
.ff-faq-list summary::after { align-items:center; border:1px solid #b9b4ac; border-radius:50%; content:'+'; display:flex; font-family:Manrope,sans-serif; font-size:1rem; height:30px; justify-content:center; position:absolute; right:0; top:50%; transform:translateY(-50%); transition:background .2s,color .2s,transform .25s; width:30px; }
.ff-faq-list details[open] summary::after { background:var(--ff-red); border-color:var(--ff-red); color:#fff; content:'−'; transform:translateY(-50%) rotate(180deg); }
.ff-faq-list details>div { color:#5f6971; max-width:720px; padding:0 3rem 1.7rem 0; }
.ff-faq-list details>div p { margin:0; }
.ff-faq-contact { background-image:linear-gradient(90deg,rgba(4,13,23,.82),rgba(4,13,23,.72),rgba(4,13,23,.82)),url('../images/faq-contact-v1.jpg');background-position:center 48%;background-repeat:no-repeat;background-size:cover;color:#fff;min-height:620px;padding:clamp(6rem,10vw,9rem) 0;position:relative;text-align:center;display:grid;place-items:center; }
.ff-faq-contact h2 { color:#fff; font-size:clamp(3rem,5vw,4.6rem); font-weight:500; letter-spacing:-.04em; line-height:.98; margin-inline:auto; max-width:850px; }
.ff-faq-contact>div>p:not(.ff-kicker) { color:rgba(255,255,255,.68); margin-inline:auto; max-width:650px; }
.ff-faq-contact .ff-btn { margin-top:1.5rem; }
@media(max-width:800px){.ff-faq-page .ff-shell{width:calc(100% - 2rem)}.ff-faq-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.64)),url('../images/faq-hero-v1.jpg');background-position:62% center;min-height:720px;padding-top:9rem}.ff-faq-category{grid-template-columns:1fr;gap:2rem}.ff-faq-category aside{position:static}.ff-faq-list summary{padding-block:1.35rem}.ff-faq-contact{background-image:linear-gradient(rgba(4,13,23,.8),rgba(4,13,23,.86)),url('../images/faq-contact-v1.jpg');background-position:58% center;min-height:560px;text-align:left}.ff-faq-contact .ff-btn{width:auto}}

/* Legal pages */
.page-id-19 .ff-page,.page-id-20 .ff-page{max-width:none;padding:0}.page-id-19 .ff-page>.wp-block-post-title,.page-id-20 .ff-page>.wp-block-post-title{display:none}.page-id-19 .ff-page>.wp-block-post-content,.page-id-20 .ff-page>.wp-block-post-content{margin:0;max-width:none}.page-id-19 .wp-block-post-content>.ff-legal-page,.page-id-20 .wp-block-post-content>.ff-legal-page{margin:0!important;max-width:none!important;width:100%!important}
.ff-legal-page{background:#f7f5f1;color:#18232d}.ff-legal-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-legal-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96) 0%,rgba(4,13,23,.84) 48%,rgba(4,13,23,.35) 82%),url('../images/hero-small-fireworks-river-v2.jpg');background-position:center;background-repeat:no-repeat;background-size:cover;color:#fff;min-height:min(720px,80vh);padding:clamp(11rem,16vw,14rem) 0 clamp(5rem,8vw,8rem)}.ff-legal-hero--privacy{background-image:linear-gradient(90deg,rgba(4,13,23,.96) 0%,rgba(4,13,23,.84) 48%,rgba(4,13,23,.38) 82%),url('../images/collage-lake-fireworks-v2.jpg');background-position:center 42%}.ff-legal-hero h1{color:#fff;font-size:clamp(3.7rem,7vw,6.5rem);font-weight:500;letter-spacing:-.05em;line-height:.92;margin:.8rem 0 1.6rem}.ff-legal-hero>div>p:not(.ff-kicker){color:rgba(255,255,255,.78);font-size:clamp(1.05rem,1.5vw,1.22rem);max-width:720px}
.ff-legal-content{padding:clamp(5rem,9vw,9rem) 0}.ff-legal-grid{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:260px minmax(0,1fr)}.ff-legal-grid>aside{align-self:start;position:sticky;top:130px}.ff-legal-grid>aside strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.6rem;margin:.35rem 0 2rem}.ff-legal-grid>aside nav{border-top:1px solid #d1cdc5;display:flex;flex-direction:column}.ff-legal-grid>aside nav a{border-bottom:1px solid #d1cdc5;color:#5f6870;font-size:.76rem;font-weight:700;padding:.9rem 0;text-decoration:none;transition:color .2s,transform .2s}.ff-legal-grid>aside nav a:hover{color:var(--ff-red);transform:translateY(-2px)}
.ff-legal-sections section{border-top:1px solid #cbc7bf;padding:0 0 clamp(3.8rem,6vw,5.5rem);scroll-margin-top:130px}.ff-legal-sections section>span{color:var(--ff-red);display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;margin-top:1.7rem}.ff-legal-sections h2{font-size:clamp(2.5rem,4vw,3.7rem);font-weight:500;letter-spacing:-.04em;line-height:1;margin:.6rem 0 1.8rem}.ff-legal-sections p,.ff-legal-sections li{color:#56616a;font-size:.98rem;line-height:1.8}.ff-legal-sections strong{color:#17242e}.ff-legal-sections a{color:#c84b3b;text-decoration-thickness:1px;text-underline-offset:3px}.ff-legal-sections ul{padding-left:1.25rem}.ff-legal-sections li+li{margin-top:.55rem}.ff-legal-table-wrap{overflow-x:auto}.ff-legal-sections table{border-collapse:collapse;min-width:680px;width:100%}.ff-legal-sections th,.ff-legal-sections td{border-bottom:1px solid #cbc7bf;padding:1rem 1.1rem;text-align:left;vertical-align:top}.ff-legal-sections th{background:#0b1c2a;color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.ff-legal-sections td{color:#56616a;font-size:.85rem;line-height:1.55}
@media(max-width:800px){.ff-legal-page .ff-shell{width:calc(100% - 2rem)}.ff-legal-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.6)),url('../images/hero-small-fireworks-river-v2.jpg');background-position:64% center;min-height:680px;padding-top:9rem}.ff-legal-hero--privacy{background-image:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.62)),url('../images/collage-lake-fireworks-v2.jpg');background-position:62% center}.ff-legal-grid{grid-template-columns:1fr}.ff-legal-grid>aside{position:static}.ff-legal-grid>aside nav{display:none}.ff-legal-sections h2{font-size:clamp(2.35rem,11vw,3.2rem)}}

/* Cinematic transition: a stable editorial composition with no hero overlap. */
.ff-cinematic-strip { padding: 5rem 0 7rem; }
.ff-cinematic-strip__inner {
  align-items: stretch;
  gap: 1.25rem 1.5rem;
  grid-template-columns: .78fr 1.22fr;
  transform: none;
}
.ff-cinematic-strip__copy {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: .65fr 1.35fr;
  padding: 0 0 1.25rem;
}
.ff-cinematic-strip__copy span { align-self: end; margin: 0; }
.ff-cinematic-strip__copy strong {
  font-size: clamp(2.4rem, 3.2vw, 3.4rem);
  line-height: .98;
  max-width: 720px;
}
.ff-cinematic-strip__portrait { grid-column: 1; grid-row: 2; }
.ff-cinematic-strip__wide { grid-column: 2; grid-row: 2; }
.ff-cinematic-strip img { height: clamp(300px, 27vw, 410px); }
.ff-cinematic-strip figure { border-radius: 12px; }

/* Illustrated service stories. The generated photography is decorative;
   the adjacent headings and copy carry the accessible meaning. */
.ff-service-grid { gap: 1.25rem; }
.ff-service-card {
  border-left: 0;
  min-height: 590px;
  padding: 310px 1.5rem 2rem;
}
.ff-service-card::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 12px;
  bottom: auto;
  content: "";
  display: block;
  height: 270px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.ff-service-card:nth-child(1)::before { background-image: linear-gradient(180deg, transparent 72%, rgba(7,20,33,.18)), url('../images/service-pyrotechnie-premium.jpg'); }
.ff-service-card:nth-child(2)::before { background-image: linear-gradient(180deg, transparent 72%, rgba(7,20,33,.18)), url('../images/service-drones-premium.jpg'); }
.ff-service-card:nth-child(3)::before { background-image: linear-gradient(180deg, transparent 72%, rgba(7,20,33,.18)), url('../images/service-hybride-premium.jpg'); }
.ff-service-card__number { margin-top: 0; }
.ff-service-card p:last-child { margin-top: auto; }

@media (max-width: 700px) {
  .ff-header__inner, .ff-footer__main, .ff-footer > .wp-block-separator, .ff-footer__bottom { width: calc(100% - 2rem); }
  .ff-hero h1 { font-size: clamp(3.25rem, 14vw, 3.75rem) !important; line-height: .94; }
  .ff-intro > h2 { font-size: clamp(2.7rem, 11.5vw, 3rem) !important; line-height: .98; }
  .ff-service-card h3 { font-size: 2rem; }
  .ff-difference h2 { font-size: 2.65rem !important; }
  .ff-audiences > h2 { font-size: 2.5rem !important; }
  .ff-audience-card h3 { font-size: 2rem; }
  .ff-final-cta h2 { font-size: 2.3rem !important; }
  .ff-footer { font-size: .9rem; padding-top: 2.5rem; }
  .ff-footer .wp-block-columns { gap: 1.15rem; }
  .ff-footer h2 { font-size: 1.65rem !important; }
  .ff-footer h3 { font-size: .68rem; margin-bottom: .65rem; }
  .ff-footer p { font-size: .9rem; }
  .ff-footer a { font-size: .875rem; }
  .ff-footer .wp-block-separator { margin-top: 1.5rem; }
  .ff-footer__bottom { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .ff-footer__bottom nav { gap: .55rem 1rem; justify-content: flex-start; }
  .ff-cinematic-strip { padding: 4rem 0 4.75rem; }
  .ff-cinematic-strip__inner { gap: .75rem; grid-template-columns: .9fr 1.1fr; transform: none; }
  .ff-cinematic-strip__copy { display: block; grid-column: 1 / -1; padding: 0 0 1.25rem; }
  .ff-cinematic-strip__copy span { margin-bottom: .75rem; }
  .ff-cinematic-strip__copy strong { font-size: 2.25rem; line-height: 1; }
  .ff-cinematic-strip__portrait { grid-column: 1; grid-row: 2; }
  .ff-cinematic-strip__wide { display: block; grid-column: 2; grid-row: 2; }
  .ff-cinematic-strip img { height: 190px; }
  .ff-service-grid { gap: 0; }
  .ff-service-card, .ff-service-card:first-child { min-height: 0; padding: 245px 0 2.5rem; }
  .ff-service-card::before { height: 215px; }
}

/* Prestations navigation and pages */
.ff-navigation .wp-block-navigation__submenu-container{background:rgba(7,20,33,.98)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.28);display:grid!important;gap:2px;grid-template-columns:repeat(2,minmax(190px,1fr));left:50%!important;min-width:500px!important;padding:.75rem!important;right:auto!important;top:calc(100% + 20px)!important;transform:translate(-50%,12px);transition:opacity .2s ease,transform .2s ease}.ff-navigation .wp-block-navigation__submenu-container::after{content:'';height:20px;left:0;position:absolute;right:0;top:-20px}.ff-navigation .wp-block-navigation-submenu:hover>.wp-block-navigation__submenu-container,.ff-navigation .wp-block-navigation-submenu:focus-within>.wp-block-navigation__submenu-container{transform:translate(-50%,0)}.ff-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item{background:rgba(255,255,255,.025);border-radius:8px;color:#fff!important}.ff-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,.ff-navigation .wp-block-navigation__submenu-container a{color:#fff!important;font-size:.68rem!important;line-height:1.35;padding:.8rem .9rem!important;text-transform:none}.ff-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,.ff-navigation .wp-block-navigation__submenu-container a:hover{background:rgba(255,255,255,.08);color:var(--ff-red)!important}.ff-navigation .wp-block-navigation__submenu-icon{color:currentColor!important}
.page-id-12 .ff-page,.page-child.parent-pageid-12 .ff-page{max-width:none;padding:0}.page-id-12 .ff-page>.wp-block-post-title,.page-child.parent-pageid-12 .ff-page>.wp-block-post-title{display:none}.page-id-12 .ff-page>.wp-block-post-content,.page-child.parent-pageid-12 .ff-page>.wp-block-post-content{margin:0;max-width:none}.page-id-12 .wp-block-post-content>.ff-offers-page,.page-child.parent-pageid-12 .wp-block-post-content>.ff-service-page{margin:0!important;max-width:none!important;width:100%!important}
.ff-offers-page,.ff-service-page{background:#f7f5f1;color:#17242e}.ff-offers-page .ff-shell,.ff-service-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-offers-hero,.ff-service-hero{background-position:center;background-repeat:no-repeat;background-size:cover;color:#fff;display:grid;min-height:min(800px,88vh);padding:clamp(11rem,17vw,15rem) 0 clamp(6rem,9vw,9rem);place-items:center;position:relative}.ff-offers-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.76) 48%,rgba(4,13,23,.22)),url('../images/hero-small-fireworks-chateau-v2.jpg')}.ff-offers-hero h1,.ff-service-hero h1{color:#fff;font-size:clamp(3.7rem,6.7vw,6.4rem);font-weight:500;letter-spacing:-.05em;line-height:.92;margin:.8rem 0 1.6rem;max-width:940px}.ff-offers-hero>div>p:not(.ff-kicker),.ff-service-hero>div>p:not(.ff-kicker){color:rgba(255,255,255,.8);font-size:clamp(1.05rem,1.55vw,1.25rem);max-width:720px}.ff-offers-hero .ff-btn,.ff-service-hero .ff-btn{margin-top:1.3rem}
.ff-service-page--fireworks .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.74) 50%,rgba(4,13,23,.2)),url('../images/service-pyrotechnie-premium.jpg')}.ff-service-page--public .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 50%,rgba(4,13,23,.18)),url('../images/hero-small-fireworks-river-v2.jpg')}.ff-service-page--business .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 50%,rgba(4,13,23,.2)),url('../images/hero-premium-web.jpg')}.ff-service-page--private .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 50%,rgba(4,13,23,.2)),url('../images/hero-small-fireworks-wedding-v2.jpg')}.ff-service-page--lights .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.74) 50%,rgba(4,13,23,.2)),url('../images/collage-lake-fireworks-v2.jpg')}.ff-service-page--day .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.7) 50%,rgba(4,13,23,.15)),url('../images/spectacle-couleurs.jpg')}.ff-service-page--ready .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 50%,rgba(4,13,23,.18)),url('../images/mega-prets-tirer-v1.jpg')}.ff-service-page--training .ff-service-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 50%,rgba(4,13,23,.2)),url('../images/collage-audience-fireworks-v2.jpg')}
.ff-offers-intro,.ff-service-intro{padding:clamp(5rem,9vw,9rem) 0}.ff-offers-intro>.ff-shell,.ff-service-intro>.ff-shell{display:grid;gap:clamp(2rem,8vw,8rem);grid-template-columns:.55fr 1.45fr}.ff-offers-intro h2,.ff-service-intro h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0 0 1.5rem}.ff-offers-intro p:not(.ff-kicker),.ff-service-intro p:not(.ff-kicker){color:#647078;font-size:1.08rem;max-width:750px}
.ff-offer-grid{display:grid;grid-template-columns:repeat(2,1fr)}.ff-offer-card{background-position:center;background-size:cover;color:#fff;display:flex;isolation:isolate;min-height:520px;overflow:hidden;padding:2.3rem;position:relative;text-decoration:none}.ff-offer-card::before{background:linear-gradient(0deg,rgba(4,13,23,.94),rgba(4,13,23,.12) 75%);content:"";inset:0;position:absolute;transition:background .35s}.ff-offer-card:hover::before{background:linear-gradient(0deg,rgba(4,13,23,.96),rgba(4,13,23,.3) 80%)}.ff-offer-card>span,.ff-offer-card>div{position:relative;z-index:1}.ff-offer-card>span{font-size:.72rem;font-weight:800;letter-spacing:.14em}.ff-offer-card>div{align-self:flex-end}.ff-offer-card p{color:var(--ff-red);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ff-offer-card h2{color:#fff;font-size:clamp(2.5rem,4vw,4rem);font-weight:500;line-height:.95;margin:.4rem 0 1.4rem}.ff-offer-card strong{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.ff-offer-card--fireworks{background-image:url('../images/service-pyrotechnie-premium.jpg')}.ff-offer-card--public{background-image:url('../images/hero-small-fireworks-river-v2.jpg')}.ff-offer-card--business{background-image:url('../images/hero-premium-web.jpg')}.ff-offer-card--private{background-image:url('../images/hero-small-fireworks-wedding-v2.jpg')}.ff-offer-card--lights{background-image:url('../images/collage-lake-fireworks-v2.jpg')}.ff-offer-card--day{background-image:url('../images/spectacle-couleurs.jpg')}.ff-offer-card--ready{background-image:url('../images/spectacle-panorama.jpg')}.ff-offer-card--training{background-image:url('../images/collage-audience-fireworks-v2.jpg')}
.ff-offers-process,.ff-service-method{background:#071421;color:#fff;padding:clamp(6rem,10vw,10rem) 0}.ff-offers-process h2,.ff-service-method h2{color:#fff;font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98}.ff-offers-process ol,.ff-service-method>.ff-shell>div{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:4rem 0 0;padding:0}.ff-offers-process li,.ff-service-method article{border-left:1px solid rgba(255,255,255,.16);padding:1.5rem}.ff-offers-process li:first-child,.ff-service-method article:first-child{border-left:0}.ff-offers-process li span,.ff-service-method article span{color:var(--ff-red);font-size:.72rem;font-weight:800}.ff-offers-process li strong,.ff-service-method h3{color:#fff;display:block;font-family:'Cormorant Garamond',serif;font-size:1.65rem;margin:.7rem 0}.ff-offers-process li p,.ff-service-method article p{color:rgba(255,255,255,.62);font-size:.85rem;line-height:1.65}.ff-service-method>.ff-shell>div{grid-template-columns:repeat(4,1fr)}
.ff-service-details{padding:0 0 clamp(6rem,10vw,10rem)}.ff-service-details>.ff-shell{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:1fr 1fr}.ff-service-details h2{font-size:clamp(3rem,5vw,4.5rem);font-weight:500;letter-spacing:-.04em;line-height:.98}.ff-service-details>div>div>p:not(.ff-kicker){color:#647078}.ff-service-details ul{align-self:center;list-style:none;margin:0;padding:0}.ff-service-details li{border-top:1px solid #ccc8c0;color:#35434e;font-family:'Cormorant Garamond',serif;font-size:1.55rem;padding:1.2rem 0}.ff-service-details li:last-child{border-bottom:1px solid #ccc8c0}.ff-service-details li span{color:var(--ff-red);font-family:Manrope,sans-serif;font-size:.8rem;margin-right:1rem}
.ff-service-cta{background-image:linear-gradient(rgba(4,13,23,.78),rgba(4,13,23,.82)),url('../images/faq-contact-v1.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:600px;padding:7rem 0;place-items:center;text-align:center}.ff-service-cta h2{color:#fff;font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin-inline:auto;max-width:900px}.ff-service-cta .ff-btn{margin-top:1.5rem}
@media(max-width:900px){.ff-offers-process ol,.ff-service-method>.ff-shell>div{grid-template-columns:1fr 1fr}.ff-offers-process li:nth-child(odd),.ff-service-method article:nth-child(odd){border-left:0}.ff-offers-intro>.ff-shell,.ff-service-intro>.ff-shell,.ff-service-details>.ff-shell{grid-template-columns:1fr}}
@media(max-width:700px){.ff-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent!important;border:0!important;box-shadow:none;display:flex!important;min-width:0!important;padding:.35rem 0 .35rem 1rem!important;position:static!important;transform:none}.ff-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{font-size:.8rem!important;padding:.45rem 0!important}.ff-offers-page .ff-shell,.ff-service-page .ff-shell{width:calc(100% - 2rem)}.ff-offers-hero,.ff-service-hero{background-position:62% center;min-height:760px;padding-top:9rem}.ff-offer-grid{grid-template-columns:1fr}.ff-offer-card{min-height:430px;padding:1.5rem}.ff-offers-process ol,.ff-service-method>.ff-shell>div{grid-template-columns:1fr}.ff-offers-process li,.ff-service-method article,.ff-offers-process li:nth-child(odd),.ff-service-method article:nth-child(odd){border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:1.5rem 0}.ff-offers-process li:first-child,.ff-service-method article:first-child{border-top:0}.ff-service-cta{min-height:520px;text-align:left}.ff-service-cta .ff-btn{width:auto}}

/* Quote request page */
.page-id-18 .ff-page{max-width:none;padding:0}.page-id-18 .ff-page>.wp-block-post-title{display:none}.page-id-18 .ff-page>.wp-block-post-content{margin:0;max-width:none}.page-id-18 .wp-block-post-content>.ff-quote-page{margin:0!important;max-width:none!important;width:100%!important}.ff-quote-page{background:#f7f5f1;color:#17242e}.ff-quote-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-quote-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.78) 48%,rgba(4,13,23,.24)),url('../images/faq-contact-v1.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:min(780px,86vh);padding:clamp(11rem,17vw,15rem) 0 clamp(6rem,9vw,9rem);place-items:center}.ff-quote-hero h1{color:#fff;font-size:clamp(3.7rem,6.7vw,6.4rem);font-weight:500;letter-spacing:-.05em;line-height:.92;margin:.8rem 0 1.7rem;max-width:980px}.ff-quote-hero>div>p:not(.ff-kicker){color:rgba(255,255,255,.8);font-size:clamp(1.05rem,1.55vw,1.25rem);max-width:730px}
.ff-quote-main{padding:clamp(5rem,9vw,9rem) 0}.ff-quote-layout{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:.75fr 1.25fr}.ff-quote-sidebar{align-self:start;position:sticky;top:130px}.ff-quote-sidebar h2,.ff-quote-form-wrap h2{font-size:clamp(2.8rem,4.4vw,4rem);font-weight:500;letter-spacing:-.04em;line-height:.98;margin:.8rem 0 1.6rem}.ff-quote-sidebar>p:not(.ff-kicker){color:#647078}.ff-quote-contact{border-top:1px solid #cbc7bf;margin-top:2.5rem}.ff-quote-contact>div{border-bottom:1px solid #cbc7bf;padding:1.2rem 0}.ff-quote-contact span{color:#7a8288;display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ff-quote-contact a,.ff-quote-contact address{color:#1b2934;display:block;font-family:'Cormorant Garamond',serif;font-size:1.42rem;font-style:normal;line-height:1.35;text-decoration:none}.ff-quote-contact a:hover{color:var(--ff-red)}.ff-quote-trust{background:#071421;color:#fff;margin-top:2rem;padding:1.6rem}.ff-quote-trust strong{font-family:'Cormorant Garamond',serif;font-size:1.4rem}.ff-quote-trust ul{list-style:none;margin:1rem 0 0;padding:0}.ff-quote-trust li{color:rgba(255,255,255,.68);font-size:.8rem;padding:.3rem 0}.ff-quote-trust li::before{color:var(--ff-red);content:'✓';margin-right:.6rem}
.ff-quote-form-wrap{background:#fff;box-shadow:0 24px 70px rgba(7,20,33,.08);padding:clamp(2rem,5vw,4rem)}.ff-form-grid{display:grid;gap:1.2rem;grid-template-columns:1fr 1fr}.ff-form-grid label{display:flex;flex-direction:column;gap:.45rem}.ff-form-grid label>span:not(.ff-form-consent span){color:#33424d;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ff-form-wide{grid-column:1/-1}.ff-quote-form input,.ff-quote-form select,.ff-quote-form textarea{appearance:none;background:#f7f5f1;border:1px solid #d4d0c8;border-radius:0;color:#17242e;font:500 .94rem/1.5 Manrope,sans-serif;min-height:54px;padding:.85rem 1rem;width:100%}.ff-quote-form textarea{min-height:165px;resize:vertical}.ff-quote-form input:focus,.ff-quote-form select:focus,.ff-quote-form textarea:focus{border-color:var(--ff-red);box-shadow:0 0 0 3px rgba(255,90,69,.12);outline:0}.ff-form-consent{align-items:flex-start!important;display:grid!important;gap:.8rem!important;grid-template-columns:20px 1fr}.ff-form-consent input{accent-color:var(--ff-red);appearance:auto;height:20px;min-height:0;padding:0;width:20px}.ff-form-consent span{color:#66717a;font-size:.76rem;line-height:1.55}.ff-form-consent a{color:#c84b3b}.ff-quote-form button{border:0;cursor:pointer;margin-top:1.7rem}.ff-form-required{color:#7b848b;font-size:.7rem}.ff-honeypot{height:0;left:-9999px;overflow:hidden;position:absolute;width:0}.ff-form-notice{border-left:4px solid;margin:0 0 2rem;padding:1rem 1.2rem}.ff-form-notice strong{font-family:'Cormorant Garamond',serif;font-size:1.3rem}.ff-form-notice p{font-size:.8rem;margin:.25rem 0 0}.ff-form-notice--success{background:#edf8f1;border-color:#2d9b61}.ff-form-notice--error{background:#fff1ef;border-color:var(--ff-red)}
.ff-form-other[hidden],.ff-form-company-name[hidden],.ff-form-company-siret[hidden],[class*="ff-form-collectivity-"][hidden],[class*="ff-form-association-"][hidden]{display:none!important}
.ff-request-subject-field[hidden],.ff-form-branch[hidden],.ff-event-type-other[hidden],.ff-event-date-one[hidden],.ff-event-date-range[hidden]{display:none!important}.ff-form-branch{border-left:3px solid var(--ff-red);margin-top:.25rem;padding:1.5rem 0 1.5rem 1.5rem}.ff-form-branch>.ff-form-grid{gap:1.2rem}.ff-choice-cards--two{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-choice-cards--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.ff-choice-field{border:0;margin:0;padding:0}.ff-choice-field legend{color:#33424d;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:.45rem;padding:0;text-transform:uppercase}.ff-choice-cards{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.ff-choice-cards label{cursor:pointer;display:block!important;position:relative}.ff-choice-cards input{height:1px!important;inset:50% auto auto 50%;margin:0;min-height:0!important;opacity:0;pointer-events:none;position:absolute;width:1px!important}.ff-choice-cards span{align-items:center;background:#f7f5f1;border:1px solid #d4d0c8;color:#33424d;display:flex;font-size:.82rem;font-weight:700;justify-content:center;min-height:72px;padding:.85rem;text-align:center;transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s}.ff-choice-cards label:hover span{border-color:#a9a39a;transform:translateY(-2px)}.ff-choice-cards input:checked+span{background:#071421;border-color:#071421;box-shadow:0 10px 24px rgba(7,20,33,.15);color:#fff}.ff-choice-cards input:focus-visible+span{outline:3px solid var(--ff-red);outline-offset:3px}
.ff-choice-cards label>span{font-size:.82rem!important;height:100%;letter-spacing:0!important;text-transform:none!important}.ff-choice-cards input:checked+span{color:#fff!important}
.ff-choice-cards--compact{gap:.5rem}.ff-choice-cards--compact label>span{font-size:.76rem!important;min-height:52px;padding:.55rem .65rem}
.ff-choice-cards--event-types{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-choice-cards--event-types label[hidden]{display:none!important}.ff-choice-cards--event-types label>span{font-size:.76rem!important;justify-content:flex-start;min-height:58px;padding:.7rem 2.4rem .7rem .9rem;text-align:left}
.ff-choice-cards label>span{background:linear-gradient(180deg,#fff,#f7f5f1);border-color:#d9d4cc;border-radius:10px;box-shadow:0 3px 10px rgba(7,20,33,.035);overflow:hidden;position:relative}.ff-choice-cards label:hover>span{border-color:rgba(255,90,69,.6);box-shadow:0 8px 20px rgba(7,20,33,.08);transform:translateY(-2px)}.ff-choice-cards input:checked+span{background:linear-gradient(135deg,var(--ff-red),var(--ff-red-dark))!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(219,63,50,.25)!important;color:#fff!important;padding-right:2rem}.ff-choice-cards input:checked+span::after{align-items:center;background:rgba(255,255,255,.2);border-radius:50%;color:#fff;content:'✓';display:flex;font-size:.68rem;font-weight:800;height:20px;justify-content:center;position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:20px}
.ff-form-grid label .ff-money-field{display:block;position:relative}.ff-form-grid label .ff-money-field>input{padding-right:3.2rem}.ff-form-grid label .ff-money-field>span{align-items:center;border-left:1px solid #d4d0c8;color:#33424d;display:flex;font-size:1rem;font-weight:800;inset:1px 1px 1px auto;justify-content:center;pointer-events:none;position:absolute;width:48px}
.ff-quote-next{background:#071421;color:#fff;padding:clamp(6rem,10vw,10rem) 0}.ff-quote-next h2{color:#fff;font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;max-width:850px}.ff-quote-next>.ff-shell>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem}.ff-quote-next article{border-left:1px solid rgba(255,255,255,.16);padding:1.7rem}.ff-quote-next article:first-child{border-left:0}.ff-quote-next article span{color:var(--ff-red);font-size:.72rem;font-weight:800}.ff-quote-next h3{color:#fff;font-size:1.75rem;margin:.8rem 0}.ff-quote-next article p{color:rgba(255,255,255,.64);font-size:.86rem;line-height:1.7}
.ff-quote-journey{background:#071421;color:#fff;padding:clamp(5rem,9vw,8rem) 0}.ff-quote-journey h2{color:#fff;font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0}.ff-quote-journey__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(3rem,6vw,5rem)}.ff-quote-journey article{border-left:1px solid rgba(255,255,255,.16);padding:1.5rem}.ff-quote-journey article:first-child{border-left:0;padding-left:0}.ff-quote-journey article>span{color:var(--ff-red);font-size:.72rem;font-weight:800;letter-spacing:.12em}.ff-quote-journey h3{color:#fff;font-size:1.65rem;margin:.8rem 0}.ff-quote-journey article p{color:rgba(255,255,255,.64);font-size:.82rem;line-height:1.65;margin:0}
@media(max-width:900px){.ff-quote-layout{grid-template-columns:1fr}.ff-quote-sidebar{position:static}.ff-quote-sidebar{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.ff-quote-sidebar>.ff-kicker,.ff-quote-sidebar>h2,.ff-quote-sidebar>p{grid-column:1/-1}.ff-quote-trust{margin-top:0}}
@media(max-width:700px){.ff-quote-page .ff-shell{width:calc(100% - 2rem)}.ff-quote-hero{background-position:58% center;min-height:760px;padding-top:9rem}.ff-quote-sidebar{display:block}.ff-quote-form-wrap{padding:1.5rem}.ff-form-grid{grid-template-columns:1fr}.ff-form-wide{grid-column:auto}.ff-choice-cards,.ff-choice-cards--five{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-choice-cards--event-types{grid-template-columns:1fr}.ff-choice-cards--five label:last-child{grid-column:1/-1}.ff-quote-form .ff-btn{width:100%}.ff-quote-next>.ff-shell>div{grid-template-columns:1fr}.ff-quote-next article,.ff-quote-next article:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:1.5rem 0}.ff-quote-next article:first-child{border-top:0}.ff-quote-journey__steps{grid-template-columns:1fr}.ff-quote-journey article,.ff-quote-journey article:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:1.35rem 0}.ff-quote-journey article:first-child{border-top:0}}

/* Illustrated mega menu */
@media(min-width:701px){
  .ff-navigation>.wp-block-navigation-submenu,.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-submenu{position:relative}
  .ff-navigation>.wp-block-navigation-submenu::after,.ff-navigation>.wp-block-navigation__container>.wp-block-navigation-submenu::after{background:transparent;content:"";height:72px;left:-18px;pointer-events:auto;position:absolute;right:-18px;top:100%;z-index:2}
  .ff-navigation .wp-block-navigation__submenu-container{gap:.55rem!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;left:20px!important;min-width:0!important;padding:.8rem!important;position:fixed!important;right:20px!important;top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--ff-header-height) + 20px)!important;transform:translateY(12px)!important;width:auto!important}
  .ff-navigation .wp-block-navigation-submenu:hover>.wp-block-navigation__submenu-container,.ff-navigation .wp-block-navigation-submenu:focus-within>.wp-block-navigation__submenu-container{transform:translateY(0)!important}
  .ff-navigation .wp-block-navigation-submenu.ff-menu-open>.wp-block-navigation__submenu-container{height:auto!important;opacity:1!important;overflow:visible!important;transform:translateY(0)!important;visibility:visible!important}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item{background:#0c1e2c!important;border-radius:9px;min-width:0;overflow:hidden;position:relative}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item>a{align-items:flex-end;background-position:center 50%;background-size:cover;display:flex!important;font-family:'Cormorant Garamond',serif!important;font-size:1.12rem!important;font-weight:600!important;isolation:isolate;letter-spacing:0!important;min-height:132px;padding:1rem!important;position:relative;text-shadow:0 2px 16px rgba(0,0,0,.5);text-transform:none!important;transition:background-position .9s cubic-bezier(.22,.61,.36,1)!important;width:100%}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item>a::before{background:linear-gradient(0deg,rgba(4,13,23,.95) 0%,rgba(4,13,23,.28) 72%,rgba(4,13,23,.12));content:"";inset:0;position:absolute;transition:background .45s ease;z-index:-1}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item>a:hover{background-color:transparent!important;background-position:center 48.5%;color:#fff!important;transform:none}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item>a:hover::before{background:linear-gradient(0deg,rgba(4,13,23,.93) 0%,rgba(4,13,23,.25) 72%,rgba(4,13,23,.1))}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(1)>a{background-image:url('../images/service-pyrotechnie-premium.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(2)>a{background-image:url('../images/service-drones-premium.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(3)>a{background-image:url('../images/service-hybride-premium.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(4)>a{background-image:url('../images/hero-small-fireworks-river-v2.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(5)>a{background-image:url('../images/hero-small-fireworks-wedding-v2.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(6)>a{background-image:url('../images/hero-premium-web.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(7)>a{background-image:url('../images/mega-effets-jour-v1.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(8)>a{background-image:url('../images/mega-prets-tirer-v1.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(9)>a{background-image:url('../images/collage-lake-fireworks-v2.jpg')}
  .ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(10)>a{background-image:url('../images/collage-audience-fireworks-v2.jpg')}
}

/* Dedicated company pages */
.ff-history-hero{background-image:linear-gradient(90deg,rgba(4,14,25,.94) 0%,rgba(4,14,25,.68) 48%,rgba(4,14,25,.25) 100%),url('../images/collage-lake-fireworks-v2.jpg')!important}
.ff-team-hero{background-image:linear-gradient(90deg,rgba(4,14,25,.94) 0%,rgba(4,14,25,.67) 48%,rgba(4,14,25,.25) 100%),url('../images/formation-artificiers-v1.jpg')!important}
.ff-team-hero h1{max-width:none;white-space:nowrap}
@media(max-width:900px){.ff-team-hero h1{white-space:normal}}
.ff-partners-hero{background-image:linear-gradient(90deg,rgba(4,14,25,.94) 0%,rgba(4,14,25,.65) 48%,rgba(4,14,25,.22) 100%),url('../images/hero-small-fireworks-river-v2.jpg')!important}
.ff-company-page .ff-about-hero{background-position:center;background-size:cover}
.ff-company-steps{counter-reset:company-step;display:grid;gap:.1rem;list-style:none;margin:2rem 0 0;padding:0}
.ff-company-steps li{align-items:start;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:.15rem;padding:1rem 0 1rem 3.2rem;position:relative}
.ff-company-steps li::before{color:var(--ff-red);content:counter(company-step,decimal-leading-zero);counter-increment:company-step;font-weight:700;left:0;position:absolute;top:1rem}
.ff-company-steps strong{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.35rem}.ff-company-steps span{color:rgba(255,255,255,.68);font-size:.9rem}
@media(min-width:701px) and (max-width:1100px){.ff-navigation .wp-block-navigation__submenu-container{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ff-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item>a{min-height:112px}}

/* Illustrated company mega menu */
@media(min-width:701px){
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item{background:#0c1e2c!important;border-radius:9px;overflow:hidden}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item>a{align-items:flex-end;background-position:center 50%;background-size:cover;display:flex!important;font-family:'Cormorant Garamond',serif!important;font-size:1.12rem!important;font-weight:600!important;letter-spacing:0!important;min-height:156px!important;padding:1rem!important;text-shadow:0 2px 16px rgba(0,0,0,.5)!important;text-transform:none!important;transition:background-position .9s cubic-bezier(.22,.61,.36,1)!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item>a::before{display:block!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item>a:hover{background-color:transparent!important;background-position:center 48.5%;color:#fff!important;padding:1rem!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(1)>a{background-image:url('../images/hero-small-fireworks-river-v2.jpg')!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(2)>a{background-image:url('../images/collage-lake-fireworks-v2.jpg')!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(3)>a{background-image:url('../images/formation-artificiers-v1.jpg')!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(4)>a{background-image:url('../images/service-pyrotechnie-premium.jpg')!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(5)>a{background-image:url('../images/collage-audience-fireworks-v2.jpg')!important}
  .ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item:nth-child(6)>a{background-image:url('../images/service-hybride-premium.jpg')!important}
}
@media(min-width:701px) and (max-width:1100px){.ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ff-navigation .ff-about-menu>.wp-block-navigation__submenu-container>.wp-block-navigation-item>a{min-height:112px!important}}

/* About page */
.page-id-15 .ff-page,.page-id-60 .ff-page,.page-id-61 .ff-page,.page-id-62 .ff-page{max-width:none;padding:0}.page-id-15 .ff-page>.wp-block-post-title,.page-id-60 .ff-page>.wp-block-post-title,.page-id-61 .ff-page>.wp-block-post-title,.page-id-62 .ff-page>.wp-block-post-title{display:none}.page-id-15 .ff-page>.wp-block-post-content,.page-id-60 .ff-page>.wp-block-post-content,.page-id-61 .ff-page>.wp-block-post-content,.page-id-62 .ff-page>.wp-block-post-content{margin:0;max-width:none}.page-id-15 .wp-block-post-content>.ff-about-page,.page-id-60 .wp-block-post-content>.ff-about-page,.page-id-61 .wp-block-post-content>.ff-about-page,.page-id-62 .wp-block-post-content>.ff-about-page{margin:0!important;max-width:none!important;width:100%!important}.ff-about-page{background:#f7f5f1;color:#17242e}.ff-about-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-about-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.76) 48%,rgba(4,13,23,.2)),url('../images/hero-small-fireworks-river-v2.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:min(840px,92vh);padding:clamp(11rem,17vw,15rem) 0 clamp(6rem,9vw,9rem);place-items:center}.ff-about-hero h1{color:#fff;font-size:clamp(4rem,7vw,6.8rem);font-weight:500;letter-spacing:-.055em;line-height:.88;margin:.9rem 0 1.8rem;max-width:1000px}.ff-about-hero>div>p:not(.ff-kicker){color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.55vw,1.28rem);max-width:720px}.ff-about-hero .ff-btn{margin-top:1.3rem}
.ff-about-intro{padding:clamp(6rem,10vw,10rem) 0}.ff-about-intro__grid{align-items:center;display:grid;gap:clamp(4rem,9vw,9rem);grid-template-columns:1fr 1fr}.ff-about-intro__copy h2,.ff-about-story h2,.ff-about-safety h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:.8rem 0 1.7rem}.ff-about-intro__copy p:not(.ff-kicker),.ff-about-story p,.ff-about-safety p{color:#647078}.ff-about-intro__copy .ff-lead{color:#34434e!important;font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,2.2vw,1.8rem);line-height:1.42}
.ff-about-collage{min-height:670px;position:relative}.ff-about-collage figure{border-radius:10px;margin:0;overflow:hidden;position:absolute}.ff-about-collage img{height:100%;object-fit:cover;width:100%}.ff-about-collage__large{height:570px;right:0;top:0;width:76%}.ff-about-collage__small{bottom:0;height:310px;left:0;width:46%}.ff-about-collage__label{align-items:center;background:var(--ff-red);border-radius:50%;color:#fff;display:flex;flex-direction:column;height:150px;justify-content:center;left:35%;position:absolute;text-align:center;top:52%;width:150px}.ff-about-collage__label strong{font-family:'Cormorant Garamond',serif;font-size:2.5rem;line-height:.9}.ff-about-collage__label span{font-size:.62rem;font-weight:700;line-height:1.3;max-width:90px;text-transform:uppercase}
.ff-about-numbers{background:#071421 url('../images/about-stats-fireworks-v1.webp') center 48%/cover no-repeat;color:#fff;isolation:isolate;padding:clamp(7rem,12vw,11rem) 0;position:relative}.ff-about-numbers::before{background:linear-gradient(90deg,rgba(3,13,24,.9) 0%,rgba(3,13,24,.72) 48%,rgba(3,13,24,.6) 100%);content:"";inset:0;position:absolute;z-index:-1}.ff-about-numbers .ff-kicker{color:#ff8d7e;text-shadow:0 2px 18px rgba(0,0,0,.5)}.ff-about-numbers__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem}.ff-about-numbers article{border-left:1px solid rgba(255,255,255,.38);padding:1.6rem;text-shadow:0 3px 22px rgba(0,0,0,.65)}.ff-about-numbers article:first-child{border-left:0}.ff-about-numbers article strong{color:#fff;display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:1}.ff-about-numbers article span{color:rgba(255,255,255,.9);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
/* Subtle interaction for the four company milestones. */
.ff-about-numbers article{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.ff-about-numbers article strong{transition:color .3s ease,text-shadow .3s ease,transform .3s ease}
@media(hover:hover) and (pointer:fine){
  .ff-about-numbers article:hover{background:rgba(255,255,255,.09);border-color:rgba(255,141,126,.8);box-shadow:inset 0 -3px rgba(255,141,126,.75)}
  .ff-about-numbers article:hover strong{color:#fff4ef;text-shadow:0 0 28px rgba(255,141,126,.65);transform:translateY(-5px)}
}
@media(prefers-reduced-motion:reduce){
  .ff-about-numbers article,.ff-about-numbers article strong{transition:none}
  .ff-about-numbers article:hover strong{transform:none}
}
.ff-about-story{padding:clamp(7rem,11vw,11rem) 0}.ff-about-story__grid{align-items:center;display:grid;gap:clamp(4rem,9vw,9rem);grid-template-columns:1.1fr .9fr}.ff-about-story figure{border-radius:10px;margin:0;overflow:hidden}.ff-about-story figure img{display:block;min-height:650px;object-fit:cover;width:100%}.ff-about-story strong{color:#263641}
.ff-about-story__areas-link{margin-top:1.25rem}
.ff-about-values{background:#fff;overflow:hidden;padding:clamp(6rem,10vw,10rem) 0}.ff-about-values__heading{display:grid;gap:3rem;grid-template-columns:1.4fr .6fr}.ff-about-values__heading h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98}.ff-about-values__heading>p{align-self:end;color:#647078}.ff-about-values__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem}.ff-about-values article{border-left:1px solid #d4d0c8;padding:1.7rem;position:relative;transition:transform .35s ease,background-color .35s ease}.ff-about-values article:first-child{border-left:0}.ff-about-values article:hover{background:#faf8f5;transform:translateY(-6px)}.ff-about-values article span{color:var(--ff-red);display:inline-block;font-size:.72rem;font-weight:800;position:relative}.ff-about-values article span::after{background:var(--ff-red);content:'';height:1px;left:calc(100% + .7rem);position:absolute;top:50%;transform:scaleX(0);transform-origin:left;transition:transform .55s ease;width:2.2rem}.ff-about-values.is-visible article span::after{transform:scaleX(1)}.ff-about-values h3{font-size:1.8rem;margin:.8rem 0}.ff-about-values article p{color:#647078;font-size:.86rem;line-height:1.7}.ff-js .ff-about-values__heading,.ff-js .ff-about-values article{opacity:0;transform:translateY(34px)}.ff-js .ff-about-values.is-visible .ff-about-values__heading,.ff-js .ff-about-values.is-visible article{opacity:1;transform:translateY(0);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1),background-color .35s ease}.ff-js .ff-about-values.is-visible article:nth-child(1){transition-delay:.12s}.ff-js .ff-about-values.is-visible article:nth-child(2){transition-delay:.24s}.ff-js .ff-about-values.is-visible article:nth-child(3){transition-delay:.36s}.ff-js .ff-about-values.is-visible article:nth-child(4){transition-delay:.48s}.ff-js .ff-about-values.is-visible article:hover{transform:translateY(-6px)}
.ff-about-safety{padding:clamp(7rem,11vw,11rem) 0}.ff-about-safety__grid{align-items:center;display:grid;gap:clamp(4rem,9vw,9rem);grid-template-columns:.9fr 1.1fr}.ff-about-safety ul{list-style:none;margin:2rem 0 0;padding:0}.ff-about-safety li{border-top:1px solid #ccc8c0;color:#35434e;padding:1rem 0}.ff-about-safety li::before{color:var(--ff-red);content:'✓';font-weight:800;margin-right:.7rem}.ff-about-safety figure{border-radius:10px;margin:0;overflow:hidden}.ff-about-safety figure img{display:block;min-height:650px;object-fit:cover;width:100%}
/* Interaction for the safety commitments on the main About page. */
.ff-about-safety ul:not(.ff-company-steps) li{transition:background-color .28s ease,color .28s ease,padding .28s ease,border-color .28s ease}
.ff-about-safety ul:not(.ff-company-steps) li::before{display:inline-block;transition:transform .28s ease}
@media(hover:hover) and (pointer:fine){
  .ff-about-safety ul:not(.ff-company-steps) li:hover{background:rgba(255,84,68,.06);border-color:rgba(255,84,68,.48);color:#17242e;padding-left:.8rem;padding-right:.8rem}
  .ff-about-safety ul:not(.ff-company-steps) li:hover::before{transform:scale(1.2) rotate(-8deg)}
}
@media(prefers-reduced-motion:reduce){
  .ff-about-safety ul:not(.ff-company-steps) li,.ff-about-safety ul:not(.ff-company-steps) li::before{transition:none}
  .ff-about-safety ul:not(.ff-company-steps) li:hover::before{transform:none}
}
.ff-about-safety .ff-company-steps li{border-color:#d4d0c8;border-radius:8px;color:#35434e;padding:1rem 1rem 1rem 3.2rem;transition:background-color .28s ease,box-shadow .28s ease,transform .28s ease}
.ff-about-safety .ff-company-steps li::before{color:var(--ff-red);content:counter(company-step,decimal-leading-zero);font-family:Manrope,Arial,sans-serif;font-size:.78rem;font-weight:800;margin:0}
.ff-about-safety .ff-company-steps strong{color:#17242e}
.ff-about-safety .ff-company-steps span{color:#647078}
@media(hover:hover) and (pointer:fine){.ff-about-safety .ff-company-steps li:hover{background:rgba(255,90,69,.07);box-shadow:0 12px 28px rgba(7,20,33,.07);transform:translateX(8px)}}
@media(prefers-reduced-motion:reduce){.ff-about-safety .ff-company-steps li{transition:none}.ff-about-safety .ff-company-steps li:hover{transform:none}}
.ff-about-training{background:#eae6df;padding:clamp(6rem,9vw,9rem) 0}.ff-about-training__grid{align-items:center;display:grid;gap:clamp(3rem,8vw,7rem);grid-template-columns:1.15fr .85fr}.ff-about-training figure{border-radius:12px;box-shadow:0 30px 70px rgba(7,20,33,.17);margin:0;overflow:hidden;position:relative}.ff-about-training figure::after{background:linear-gradient(180deg,transparent 65%,rgba(4,13,23,.25));content:'';inset:0;pointer-events:none;position:absolute}.ff-about-training figure img{display:block;height:clamp(480px,52vw,680px);object-fit:cover;object-position:center;width:100%}.ff-about-training h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:.8rem 0 1.8rem}.ff-about-training__copy p:not(.ff-kicker){color:#59656e;font-size:1.05rem}.ff-about-training__copy strong{color:#263641}.ff-about-training__copy .ff-text-link{display:inline-flex;margin-top:1rem}
.ff-about-cta{background-image:linear-gradient(rgba(4,13,23,.78),rgba(4,13,23,.84)),url('../images/faq-contact-v1.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:650px;padding:7rem 0;place-items:center;text-align:center}.ff-about-cta h2{color:#fff;font-size:clamp(3rem,5vw,5rem);font-weight:500;letter-spacing:-.045em;line-height:.95;margin-inline:auto;max-width:1000px}.ff-about-cta .ff-btn{margin-top:1.6rem}
@media(max-width:900px){.ff-about-intro__grid,.ff-about-story__grid,.ff-about-safety__grid,.ff-about-training__grid,.ff-about-values__heading{grid-template-columns:1fr}.ff-about-numbers__grid,.ff-about-values__grid{grid-template-columns:1fr 1fr}.ff-about-numbers article:nth-child(odd),.ff-about-values article:nth-child(odd){border-left:0}.ff-about-story figure img,.ff-about-safety figure img{min-height:520px}}
@media(max-width:700px){.ff-about-page .ff-shell{width:calc(100% - 2rem)}.ff-about-hero{background-position:64% center;min-height:780px;padding-top:9rem}.ff-about-collage{min-height:510px}.ff-about-collage__large{height:440px;width:80%}.ff-about-collage__small{height:220px;width:48%}.ff-about-collage__label{height:105px;left:38%;width:105px}.ff-about-collage__label strong{font-size:1.9rem}.ff-about-numbers__grid,.ff-about-values__grid{grid-template-columns:1fr}.ff-about-numbers article,.ff-about-numbers article:nth-child(odd),.ff-about-values article,.ff-about-values article:nth-child(odd){border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:1.5rem 0}.ff-about-values article,.ff-about-values article:nth-child(odd){border-top-color:#d4d0c8}.ff-about-numbers article:first-child,.ff-about-values article:first-child{border-top:0}.ff-about-numbers__note{text-align:left}.ff-about-story figure img,.ff-about-safety figure img{min-height:420px}.ff-about-cta{min-height:560px;text-align:left}.ff-about-cta .ff-btn{width:auto}}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .ff-js .ff-about-values__heading, .ff-js .ff-about-values article { opacity: 1 !important; transform: none !important; }
}

/* Site-wide entrance motion */
.ff-js .ff-reveal {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity .75s ease var(--ff-reveal-delay, 0ms), transform .8s cubic-bezier(.2,.72,.2,1) var(--ff-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.ff-js .ff-reveal--media {
  transform: translate3d(0, 24px, 0) scale(.975);
  transition-duration: .85s, .95s;
}
.ff-js .ff-reveal--left { transform: translate3d(-34px, 0, 0); }
.ff-js .ff-reveal--right { transform: translate3d(34px, 0, 0); }
.ff-js .ff-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}
/* Gentle card interaction on the drones and realisations pages. */
.ff-js :is(.ff-content-page--drones,.ff-content-page--realisations) .ff-cp-audience-grid article.is-visible {
  transition: transform .3s cubic-bezier(.2,.72,.2,1), box-shadow .3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .ff-js :is(.ff-content-page--drones,.ff-content-page--realisations) .ff-cp-audience-grid article.is-visible:hover {
    transform: translate3d(0,-8px,0);
    box-shadow: 0 30px 65px rgba(7,20,33,.16);
  }
}
.ff-js .ff-load-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .8s ease var(--ff-load-delay, 0ms), transform .85s cubic-bezier(.2,.72,.2,1) var(--ff-load-delay, 0ms);
}
.ff-js .ff-load-reveal.is-visible { opacity: 1; transform: translate3d(0,0,0); }

@media (prefers-reduced-motion: reduce) {
  .ff-js .ff-reveal, .ff-js .ff-load-reveal { opacity: 1 !important; transform: none !important; }
}

/* Strategic content pages */
.page-id-13 .ff-page,.page-id-17 .ff-page,.page-id-23 .ff-page,.page-id-52 .ff-page,.page-id-53 .ff-page,.page-id-54 .ff-page{max-width:none;padding:0}.page-id-13 .ff-page>.wp-block-post-title,.page-id-17 .ff-page>.wp-block-post-title,.page-id-23 .ff-page>.wp-block-post-title,.page-id-52 .ff-page>.wp-block-post-title,.page-id-53 .ff-page>.wp-block-post-title,.page-id-54 .ff-page>.wp-block-post-title{display:none}.page-id-13 .ff-page>.wp-block-post-content,.page-id-17 .ff-page>.wp-block-post-content,.page-id-23 .ff-page>.wp-block-post-content,.page-id-52 .ff-page>.wp-block-post-content,.page-id-53 .ff-page>.wp-block-post-content,.page-id-54 .ff-page>.wp-block-post-content{margin:0;max-width:none}.wp-block-post-content>.ff-content-page{margin:0!important;max-width:none!important;width:100%!important}.ff-content-page{background:#f7f5f1;color:#17242e}.ff-content-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-cp-hero{background-position:center;background-size:cover;color:#fff;display:grid;min-height:min(820px,90vh);padding:clamp(11rem,17vw,15rem) 0 clamp(6rem,9vw,9rem);place-items:center}.ff-content-page--drones .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 52%,rgba(4,13,23,.14)),url('../images/service-drones-premium.jpg')}.ff-content-page--hybrid .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.72) 52%,rgba(4,13,23,.14)),url('../images/service-hybride-premium.jpg')}.ff-content-page--security .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.97),rgba(4,13,23,.76) 52%,rgba(4,13,23,.2)),url('../images/service-pyrotechnie-premium.jpg')}.ff-content-page--environment .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.7) 52%,rgba(4,13,23,.16)),url('../images/collage-lake-fireworks-v2.jpg')}.ff-content-page--collectivities .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.73) 52%,rgba(4,13,23,.16)),url('../images/hero-small-fireworks-river-v2.jpg')}.ff-content-page--realisations .ff-cp-hero{background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.68) 52%,rgba(4,13,23,.1)),url('../images/spectacle-panorama.jpg')}.ff-cp-hero h1{color:#fff;font-size:clamp(3.8rem,6.8vw,6.6rem);font-weight:500;letter-spacing:-.055em;line-height:.9;margin:.8rem 0 1.7rem;max-width:1020px}.ff-cp-hero>div>p:not(.ff-kicker){color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.55vw,1.26rem);max-width:760px}.ff-cp-hero .ff-btn{margin-top:1.4rem}
.ff-cp-intro{padding:clamp(6rem,10vw,10rem) 0}.ff-cp-intro__grid{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:.55fr 1.45fr}.ff-cp-intro h2,.ff-cp-benefits>div>h2,.ff-cp-audiences>div>h2,.ff-cp-process>div>h2,.ff-cp-choice h2,.ff-cp-form h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:.6rem 0 1.5rem}.ff-cp-intro p:not(.ff-kicker){color:#647078;font-size:1.08rem;max-width:780px}
.ff-cp-visual{padding:0 0 clamp(7rem,11vw,11rem)}.ff-cp-visual>.ff-shell{align-items:stretch;display:grid;grid-template-columns:1.25fr .75fr}.ff-cp-visual figure{margin:0;min-height:650px;overflow:hidden}.ff-cp-visual figure img{height:100%;object-fit:cover;width:100%}.ff-cp-visual__panel{align-self:center;background:#071421;color:#fff;margin-left:-3rem;padding:clamp(2.5rem,5vw,4.5rem);position:relative}.ff-cp-visual__panel h2{color:#fff;font-size:clamp(2.8rem,4.5vw,4.2rem);font-weight:500;line-height:.98}.ff-cp-visual__panel ul{list-style:none;margin:2rem 0 0;padding:0}.ff-cp-visual__panel li{border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.75);padding:.8rem 0}.ff-cp-visual__panel li::before{color:var(--ff-red);content:'✦';margin-right:.7rem}
.ff-cp-benefits{background:#fff;padding:clamp(6rem,10vw,10rem) 0}.ff-cp-cards{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem}.ff-cp-cards article{border-left:1px solid #d4d0c8;padding:1.7rem}.ff-cp-cards article:first-child{border-left:0}.ff-cp-cards span{color:var(--ff-red);font-size:.72rem;font-weight:800}.ff-cp-cards h3{font-size:1.9rem;margin:.8rem 0}.ff-cp-cards p{color:#647078;font-size:.86rem;line-height:1.7}
.ff-cp-audiences{padding:clamp(6rem,10vw,10rem) 0}.ff-cp-audience-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(3,1fr);margin-top:4rem}.ff-cp-audience-grid article{background-position:center;background-size:cover;border-top:3px solid var(--ff-red);box-shadow:0 20px 55px rgba(7,20,33,.08);min-height:260px;padding:2.2rem}.ff-cp-audience-grid h3{font-size:2rem;margin:.4rem 0 1rem}.ff-cp-audience-grid p{color:#647078}.ff-cp-audience-grid a{color:#263641;font-size:.75rem;font-weight:800;text-decoration:none;text-transform:uppercase}
.ff-cp-process{background:#071421;color:#fff;padding:clamp(6rem,10vw,10rem) 0}.ff-cp-process h2{color:#fff!important}.ff-cp-process ol{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:4rem 0 2rem;padding:0}.ff-cp-process li{border-left:1px solid rgba(255,255,255,.16);padding:1.5rem}.ff-cp-process li:first-child{border-left:0}.ff-cp-process li span{color:var(--ff-red);font-size:.72rem;font-weight:800}.ff-cp-process li strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.65rem;margin:.7rem 0}.ff-cp-process li p{color:rgba(255,255,255,.62);font-size:.84rem}.ff-cp-process .ff-text-link{color:#fff}
.ff-cp-choice{padding:clamp(7rem,11vw,11rem) 0}.ff-cp-choice__grid{align-items:center;display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:1fr 1fr}.ff-cp-choice__grid>div:last-child>p{color:#647078;font-size:1.06rem}.ff-cp-choice__grid>div:last-child>p+p{margin-top:1.35rem}.ff-cp-links{border-top:1px solid #cbc7bf;display:flex;flex-direction:column;margin-top:2rem}.ff-cp-links a{border-bottom:1px solid #cbc7bf;color:#263641;font-weight:700;padding:1rem 0;text-decoration:none;transition:color .2s,padding-left .2s}.ff-cp-links a:hover{color:var(--ff-red);padding-left:.4rem}
.ff-cp-dual{padding:clamp(7rem,11vw,11rem) 0}.ff-cp-dual>.ff-shell{display:grid;gap:1px;grid-template-columns:1fr 1fr}.ff-cp-dual article{background:#fff;padding:clamp(2.5rem,5vw,4.5rem)}.ff-cp-dual h2{font-size:clamp(2.8rem,4.5vw,4.2rem);font-weight:500;line-height:.98}.ff-cp-dual article>p:not(.ff-kicker){color:#647078}.ff-cp-dual ul{list-style:none;margin:2rem 0 0;padding:0}.ff-cp-dual li{border-top:1px solid #d4d0c8;padding:.85rem 0;transition:border-color .3s ease,color .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.ff-cp-dual li::before{color:var(--ff-red);content:'✓';display:inline-block;font-weight:800;margin-right:.6rem;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.ff-cp-dual li:hover{border-color:rgba(255,86,70,.62);color:var(--ff-red);transform:translateX(8px)}.ff-cp-dual li:hover::before{transform:scale(1.18) rotate(-6deg)}}
/* Distinct, gently animated choices on the environmental commitment page. */
body.page-id-53 .ff-cp-dual>.ff-shell{gap:clamp(1rem,2.4vw,2rem)}
body.page-id-53 .ff-cp-dual article{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d8e1e4;border-radius:20px;background:linear-gradient(145deg,#f3f8fa 0%,#fff 76%);box-shadow:0 12px 30px rgba(13,35,49,.055);transition:opacity .75s ease var(--ff-reveal-delay,0ms),transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .45s ease}
body.page-id-53 .ff-cp-dual article:nth-child(2){border-color:#eadbd4;background:linear-gradient(145deg,#fff5f0 0%,#fff 76%)}
body.page-id-53 .ff-cp-dual article::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#537f9b,#9ac7d3);transform:scaleX(.3);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
body.page-id-53 .ff-cp-dual article:nth-child(2)::before{background:linear-gradient(90deg,#b52638,#ff8464)}
body.page-id-53 .ff-cp-dual article .ff-text-link span{display:inline-block;transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){body.page-id-53 .ff-cp-dual article:hover{transform:translateY(-7px);border-color:#9bbac9;box-shadow:0 22px 44px rgba(13,35,49,.12)}body.page-id-53 .ff-cp-dual article:nth-child(2):hover{border-color:#e7a394}body.page-id-53 .ff-cp-dual article:hover::before{transform:scaleX(1)}body.page-id-53 .ff-cp-dual article:hover .ff-text-link span{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){body.page-id-53 .ff-cp-dual article,body.page-id-53 .ff-cp-dual article::before,body.page-id-53 .ff-cp-dual article .ff-text-link span{transition:none!important}body.page-id-53 .ff-cp-dual article:hover{transform:none}body.page-id-53 .ff-cp-dual article:hover .ff-text-link span{transform:none}}
.ff-cp-decision{background-image:linear-gradient(rgba(4,13,23,.82),rgba(4,13,23,.84)),url('../images/hero-small-fireworks-chateau-v2.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:620px;padding:7rem 0;place-items:center;text-align:center}.ff-cp-decision--environment{background-image:linear-gradient(rgba(4,13,23,.8),rgba(4,13,23,.84)),url('../images/collage-audience-fireworks-v2.jpg')}.ff-cp-decision h2{color:#fff;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:.96;margin-inline:auto;max-width:1000px}.ff-cp-decision p:not(.ff-kicker){color:rgba(255,255,255,.72);margin-inline:auto;max-width:800px}
.ff-cp-form{background:#ece8e1;padding:clamp(6rem,10vw,10rem) 0}.ff-cp-form__grid{align-items:start;display:grid;gap:clamp(3rem,7vw,7rem);grid-template-columns:.8fr 1.2fr}.ff-cp-form__grid>div:first-child>p:not(.ff-kicker){color:#647078}.ff-cp-form__grid ul{list-style:none;margin:2rem 0 0;padding:0}.ff-cp-form__grid li{border-top:1px solid #c9c4bb;padding:.7rem 0}.ff-cp-form__grid li::before{color:var(--ff-red);content:'✓';margin-right:.6rem}.ff-cp-form__embed{background:#fff;box-shadow:0 25px 70px rgba(7,20,33,.09);padding:clamp(1.5rem,4vw,3rem)}
.ff-project-gallery{padding:0 0 clamp(7rem,11vw,11rem)}.ff-project-gallery>.ff-shell{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.ff-project-gallery figure{margin:0;min-height:480px;overflow:hidden;position:relative}.ff-project-gallery__large{grid-row:span 2;min-height:976px!important}.ff-project-gallery__wide{grid-column:1/-1;min-height:540px!important}.ff-project-gallery img{height:100%;object-fit:cover;position:absolute;width:100%}.ff-project-gallery figcaption{background:linear-gradient(transparent,rgba(4,13,23,.88));bottom:0;color:#fff;display:flex;flex-direction:column;inset-inline:0;padding:5rem 2rem 2rem;position:absolute}.ff-project-gallery figcaption span{color:#ff8d7e;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ff-project-gallery figcaption strong{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600}
.ff-cp-cta{background-image:linear-gradient(rgba(4,13,23,.78),rgba(4,13,23,.84)),url('../images/faq-contact-v1.jpg');background-position:center;background-size:cover;color:#fff;display:grid;min-height:620px;padding:7rem 0;place-items:center;text-align:center}.ff-cp-cta h2{color:#fff;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:.96;margin-inline:auto;max-width:1000px}.ff-cp-cta .ff-btn{margin-top:1.5rem}
.ff-offer-card--drones{background-image:url('../images/service-drones-premium.jpg')}.ff-offer-card--hybrid{background-image:url('../images/service-hybride-premium.jpg')}
.ff-quote-public{background:#e9e5de;padding:clamp(3.5rem,6vw,5rem) 0}.ff-quote-public>.ff-shell{align-items:center;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:1fr 1fr}.ff-quote-public h2{font-size:clamp(2.5rem,4vw,3.8rem);font-weight:500;line-height:.98;margin:.5rem 0}.ff-quote-public>div>div:last-child p{color:#647078}.ff-quote-public .ff-text-link{display:inline-flex;margin-top:.5rem}
.ff-about-engagement-links{background:#071421;padding:clamp(4rem,7vw,6rem) 0}.ff-about-engagement-links>.ff-shell{display:grid;grid-template-columns:1fr 1fr}.ff-about-engagement-links a{border-left:1px solid rgba(255,255,255,.18);color:#fff;display:grid;gap:.5rem;padding:2rem;text-decoration:none;transition:background .25s}.ff-about-engagement-links a:first-child{border-left:0}.ff-about-engagement-links a:hover{background:rgba(255,255,255,.05)}.ff-about-engagement-links span{color:var(--ff-red);font-size:.7rem;font-weight:800}.ff-about-engagement-links strong{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:500}.ff-about-engagement-links em{color:rgba(255,255,255,.6);font-size:.7rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ff-about-partners{background:#fff;padding:clamp(6rem,10vw,10rem) 0}.ff-about-partners__heading{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:1.2fr .8fr}.ff-about-partners__heading h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:.98}.ff-about-partners__heading>p{align-self:end;color:#647078}.ff-about-partners__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem}.ff-about-partners article{border-left:1px solid #d4d0c8;padding:1.7rem}.ff-about-partners article:first-child{border-left:0}.ff-about-partners article span{color:var(--ff-red);font-size:.7rem;font-weight:800}.ff-about-partners h3{font-size:2rem;margin:.7rem 0}.ff-about-partners article p{color:#647078;font-size:.86rem}

.ff-partner-logos{background:#f7f5f1;padding:clamp(5rem,8vw,8rem) 0}.ff-partner-logos__heading{margin-bottom:2.5rem}.ff-partner-logos__heading h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:1.05;margin:.5rem 0 0}.ff-partner-logos__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.ff-partner-logos__card{background:#fff;border:1px solid #e6e1d9;border-radius:4px;color:#172330;display:flex;flex-direction:column;min-height:215px;overflow:hidden;text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.ff-partner-logos__card:hover,.ff-partner-logos__card:focus-visible{border-color:#e96355;box-shadow:0 14px 35px rgba(13,27,41,.1);transform:translateY(-4px)}.ff-partner-logos__card:focus-visible{outline:2px solid #e96355;outline-offset:3px}.ff-partner-logos__image{align-items:center;display:flex;flex:1;justify-content:center;min-height:160px;padding:1.5rem 2rem}.ff-partner-logos__image img{display:block;height:auto;max-height:110px;max-width:100%;object-fit:contain;width:auto}.ff-partner-logos__card--dark .ff-partner-logos__image{background:#102235}.ff-partner-logos__name{border-top:1px solid #eee9e2;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.7rem 1.1rem;text-align:center}.ff-partner-logos__card--dark .ff-partner-logos__name{border-top-color:#e6e1d9}@media(max-width:900px){.ff-partner-logos__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ff-partner-logos__grid{grid-template-columns:1fr}.ff-partner-logos__card{min-height:190px}.ff-partner-logos__image{min-height:145px}}@media(prefers-reduced-motion:reduce){.ff-partner-logos__card{transition:none}.ff-partner-logos__card:hover,.ff-partner-logos__card:focus-visible{transform:none}}
@media(max-width:1000px){.ff-cp-cards{grid-template-columns:1fr 1fr}.ff-cp-cards article:nth-child(odd){border-left:0}.ff-cp-process ol{grid-template-columns:1fr 1fr}.ff-cp-process li:nth-child(odd){border-left:0}.ff-cp-visual>.ff-shell,.ff-cp-choice__grid,.ff-cp-dual>.ff-shell,.ff-cp-form__grid{grid-template-columns:1fr}.ff-cp-visual__panel{margin:-4rem 2rem 0}.ff-cp-visual figure{min-height:560px}}
@media(max-width:700px){.ff-content-page .ff-shell{width:calc(100% - 2rem)}.ff-cp-hero{background-position:62% center;min-height:760px;padding-top:9rem}.ff-cp-hero h1{font-size:clamp(3.25rem,14vw,4.2rem)}.ff-cp-intro__grid,.ff-cp-audience-grid,.ff-cp-cards,.ff-cp-process ol,.ff-quote-public>.ff-shell,.ff-about-engagement-links>.ff-shell,.ff-about-partners__heading,.ff-about-partners__grid{grid-template-columns:1fr}.ff-about-engagement-links a,.ff-about-engagement-links a:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:1.5rem 0}.ff-about-engagement-links a:first-child{border-top:0}.ff-about-partners article,.ff-about-partners article:first-child{border-left:0;border-top:1px solid #d4d0c8;padding:1.5rem 0}.ff-about-partners article:first-child{border-top:0}.ff-cp-cards article,.ff-cp-cards article:nth-child(odd),.ff-cp-process li,.ff-cp-process li:nth-child(odd){border-left:0;border-top:1px solid #d4d0c8;padding:1.5rem 0}.ff-cp-process li,.ff-cp-process li:nth-child(odd){border-top-color:rgba(255,255,255,.16)}.ff-cp-cards article:first-child,.ff-cp-process li:first-child{border-top:0}.ff-cp-visual figure{min-height:430px}.ff-cp-visual__panel{margin:-2rem 1rem 0;padding:2rem}.ff-cp-decision,.ff-cp-cta{min-height:560px;text-align:left}.ff-project-gallery>.ff-shell{grid-template-columns:1fr}.ff-project-gallery figure,.ff-project-gallery__large,.ff-project-gallery__wide{grid-column:auto;grid-row:auto;min-height:480px!important}.ff-cp-form__embed{padding:1.25rem}}

/* Dark panels: preserve maximum text contrast. */
.ff-cp-visual__panel li{color:#fff}
.ff-cp-visual__panel li{transition:background-color .25s ease,padding .25s ease,transform .25s ease}
.ff-cp-visual__panel li::before{display:inline-block;transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){
  .ff-cp-visual__panel li:hover{background:rgba(255,90,69,.12);padding-left:.6rem;padding-right:.6rem;transform:translateX(.25rem)}
  .ff-cp-visual__panel li:hover::before{transform:scale(1.2) rotate(18deg)}
}
@media(prefers-reduced-motion:reduce){.ff-cp-visual__panel li,.ff-cp-visual__panel li::before{transition:none}.ff-cp-visual__panel li:hover,.ff-cp-visual__panel li:hover::before{transform:none}}

.ff-footer__brand{display:inline-block;margin-bottom:1rem;max-width:min(288px,80%)}
.ff-footer__brand img{display:block;height:auto;width:100%}
.ff-footer__brand:hover{transform:translateY(-2px)}

@media(min-width:901px){
  :is(.ff-service-page--private,.ff-service-page--business,.ff-service-page--day) .ff-service-details>.ff-shell>div{align-self:start;position:sticky;top:8.5rem}
}

:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li{transition:background-color .25s ease,color .25s ease,padding .25s ease,transform .25s ease}
:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li span{display:inline-block;transition:transform .25s ease}
:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li:hover{background:rgba(255,84,68,.06);color:var(--ff-night);padding-left:.8rem;padding-right:.8rem;transform:translateX(.35rem)}
:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li:hover span{transform:scale(1.18)}
/* Match the existing list animation on public events and sound-and-light pages. */
:is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li{transition:background-color .25s ease,color .25s ease,padding .25s ease,transform .25s ease}
:is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li span{display:inline-block;transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){
  :is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li:hover{background:rgba(255,84,68,.06);color:var(--ff-night);padding-left:.8rem;padding-right:.8rem;transform:translateX(.35rem)}
  :is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li:hover span{transform:scale(1.18)}
}
.ff-service-details .ff-service-details__cta{align-items:center;display:flex;gap:1rem;justify-content:space-between}
.ff-service-details__cta strong{font-weight:600}
.ff-service-details__cta a{background:var(--ff-red);border-radius:6px;color:#fff;font-family:Manrope,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.07em;padding:.72rem 1.15rem;text-decoration:none;transition:background-color .25s ease,transform .25s ease;white-space:nowrap}
.ff-service-details__cta a:hover{background:var(--ff-red-dark);color:#fff;transform:translateY(-2px)}
@media(max-width:520px){
  .ff-service-details .ff-service-details__cta{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  :is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li,:is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li span{transition:none}
  :is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li:hover,:is(.ff-service-page--public,.ff-service-page--lights) .ff-service-details li:hover span{transform:none}
  :is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li,:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li span{transition:none}
  :is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li:hover,:is(.ff-service-page--fireworks,.ff-service-page--private,.ff-service-page--business,.ff-service-page--day,.ff-service-page--ready,.ff-service-page--training) .ff-service-details li:hover span{transform:none}
}

.ff-ready-products{background:#efede8;padding:clamp(5rem,8vw,8rem) 0}
.ff-ready-products__heading{margin-bottom:clamp(2.5rem,5vw,4.5rem);max-width:none}
.ff-ready-products__heading h2{font-size:clamp(2.8rem,4.5vw,4.8rem);font-weight:400;line-height:.95;margin:0;white-space:nowrap}
.ff-ready-products__grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.ff-ready-products article{background:#fff;border:1px solid #d9d5cd;border-radius:var(--ff-radius);box-shadow:0 16px 40px rgba(7,20,33,.07);display:flex;flex-direction:column;overflow:hidden;padding:clamp(1.6rem,2.8vw,2.3rem);position:relative;transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.ff-ready-products article::before{background:linear-gradient(90deg,var(--ff-red),var(--ff-gold));content:'';height:4px;left:0;position:absolute;right:0;top:0}
.ff-ready-products article:hover{border-color:rgba(255,90,69,.5);box-shadow:0 24px 55px rgba(7,20,33,.13);transform:translateY(-7px)}
.ff-ready-products__visual{align-items:center;aspect-ratio:4/3;background:linear-gradient(145deg,#f8f6f1,#e8e4dc);border-radius:calc(var(--ff-radius) - 7px);display:flex;justify-content:center;margin:-.8rem -.8rem 1rem;overflow:hidden;padding:clamp(1rem,2vw,1.5rem)}
.ff-ready-products__visual img{height:100%;object-fit:contain;transition:transform .45s ease;width:100%}
.ff-ready-products article:hover .ff-ready-products__visual img{transform:scale(1.025) translateY(-2px)}
.ff-ready-products__video{aspect-ratio:16/9;background:var(--ff-night);border-radius:calc(var(--ff-radius) - 7px);margin:-.8rem -.8rem 1.6rem;overflow:hidden;position:relative}
.ff-ready-products__video iframe{border:0;height:100%;inset:0;position:absolute;width:100%}
.ff-ready-products__video-button{align-items:center;align-self:stretch;background:var(--ff-night);border:0;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-family:Manrope,Arial,sans-serif;gap:.7rem;justify-content:center;margin:1.25rem 0 0;order:20;padding:.68rem 1rem .68rem .72rem;transition:background-color .25s ease,transform .25s ease}
.ff-ready-products__video-button span{align-items:center;background:var(--ff-red);border-radius:50%;display:flex;font-size:.62rem;height:30px;justify-content:center;padding-left:2px;width:30px}
.ff-ready-products__video-button strong{font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.ff-ready-products__video-button:hover{background:var(--ff-red-dark);transform:translateY(-2px)}
.ff-video-modal{align-items:center;background:rgba(3,10,17,.88);display:flex;inset:0;justify-content:center;opacity:0;padding:clamp(1rem,4vw,3rem);pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:10000}
.ff-video-modal.is-open{opacity:1;pointer-events:auto}
.ff-video-modal__dialog{background:#000;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.5);max-width:1100px;overflow:hidden;position:relative;transform:translateY(16px) scale(.98);transition:transform .25s ease;width:100%}
.ff-video-modal.is-open .ff-video-modal__dialog{transform:none}
.ff-video-modal__frame{aspect-ratio:16/9;position:relative;width:100%}
.ff-video-modal__frame iframe{border:0;height:100%;inset:0;position:absolute;width:100%}
.ff-video-modal__close{align-items:center;background:#fff;border:0;border-radius:50%;color:var(--ff-night);cursor:pointer;display:flex;font-size:1.5rem;height:42px;justify-content:center;position:absolute;right:12px;top:12px;width:42px;z-index:2}
body.ff-video-open{overflow:hidden}
.ff-ready-products__category{align-self:flex-start;background:rgba(255,90,69,.1);border-radius:999px;color:var(--ff-red-dark);font-family:Manrope,Arial,sans-serif;font-size:.67rem;font-weight:800;letter-spacing:.08em;line-height:1.3;margin-bottom:1.35rem;padding:.55rem .8rem;text-transform:uppercase}
.ff-ready-products__category--f3{background:rgba(112,87,217,.11);color:#5840bb}
.ff-ready-products h3{font-size:clamp(1.65rem,2vw,2.1rem)!important;font-weight:400;line-height:1;margin:0 0 .35rem;white-space:nowrap}
.ff-ready-products__duration{color:var(--ff-red-dark);font-family:Manrope,Arial,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.07em;margin:0 0 1rem;text-transform:uppercase}
.ff-ready-products__description{color:#35434e;font-size:clamp(.68rem,.9vw,.84rem);font-weight:700;letter-spacing:-.015em;line-height:1.4;margin:0 0 .75rem;min-height:1.4em;white-space:nowrap}
.ff-ready-products__range{color:var(--ff-red-dark);font-family:Manrope,Arial,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:0 0 .75rem;text-transform:uppercase}
.ff-ready-products dl{margin:auto 0 0}
.ff-ready-products dl>div{align-items:start;border-top:1px solid #e1ddd6;display:grid;gap:1rem;grid-template-columns:.85fr 1.15fr;padding:.85rem 0}
.ff-ready-products dt{color:#647078;font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ff-ready-products dd{color:var(--ff-night);font-size:.88rem;font-weight:700;line-height:1.45;margin:0;text-align:right}
.ff-ready-products__warning{background:#fff4f1;border-left:4px solid var(--ff-red);box-shadow:0 14px 35px rgba(7,20,33,.06);margin-top:clamp(2rem,4vw,3.5rem);padding:clamp(1.4rem,3vw,2rem)}
.ff-ready-products__warning h3{color:var(--ff-red-dark);font-family:Manrope,Arial,sans-serif!important;font-size:.76rem!important;font-weight:800;letter-spacing:.12em;line-height:1.3;margin:0 0 .75rem;text-transform:uppercase}
.ff-ready-products__warning p{color:#273640;font-size:.92rem;line-height:1.65;margin:0;max-width:1050px}
.ff-ready-products__instructions{border-top:1px solid rgba(200,75,59,.2);margin-top:1.35rem;padding-top:1.35rem}
.ff-ready-products__instructions h4{color:var(--ff-night);font-family:Manrope,Arial,sans-serif!important;font-size:.76rem!important;font-weight:800;letter-spacing:.12em;line-height:1.3;margin:0 0 .8rem;text-transform:uppercase}
.ff-ready-products__instructions ul{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}
.ff-ready-products__instructions li{color:#35434e;font-size:.82rem;line-height:1.55;padding-left:1.15rem;position:relative}
.ff-ready-products__instructions li::before{color:var(--ff-red);content:'•';font-size:1.1rem;left:0;position:absolute;top:-.05rem}
@media(max-width:1050px){.ff-ready-products__heading h2{white-space:normal}.ff-ready-products__grid{grid-template-columns:1fr}.ff-ready-products__description{min-height:0}}
@media(max-width:520px){.ff-ready-products dl>div{gap:.3rem;grid-template-columns:1fr}.ff-ready-products dd{text-align:left}}
@media(prefers-reduced-motion:reduce){.ff-ready-products article,.ff-ready-products__visual img,.ff-ready-products__video-button,.ff-video-modal,.ff-video-modal__dialog{transition:none}.ff-ready-products article:hover,.ff-ready-products article:hover .ff-ready-products__visual img,.ff-ready-products__video-button:hover{transform:none}}

/* Compact services directory: intentionally image-free */
.ff-offer-directory{padding:0 0 clamp(7rem,11vw,11rem)}
.ff-offer-directory--simple{padding-top:clamp(4rem,7vw,7rem)}
.ff-offer-directory--simple .ff-offer-tile h2{font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:500;letter-spacing:-.025em;line-height:1.05;margin:0 0 .7rem}
.ff-offer-group{border-top:1px solid #cbc7bf;padding:clamp(3.5rem,6vw,5.5rem) 0}
.ff-offer-group:first-child{padding-top:0}
.ff-offer-group__heading{align-items:end;display:grid;gap:2rem;grid-template-columns:.55fr 1.45fr;margin-bottom:2.4rem}
.ff-offer-group__heading>p{color:var(--ff-red);font-size:.72rem;font-weight:800;letter-spacing:.14em;margin:0;text-transform:uppercase}
.ff-offer-group__heading h2{font-size:clamp(2.5rem,4vw,3.8rem);font-weight:500;letter-spacing:-.04em;line-height:1;margin:0;max-width:720px}
.ff-offer-list{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.ff-offer-tile{align-items:center;background:#fff;border:1px solid #dedad3;border-radius:10px;color:#17242e;display:grid;gap:1.25rem;grid-template-columns:auto 1fr auto;min-height:190px;padding:clamp(1.4rem,2.5vw,2.2rem);text-decoration:none;transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.ff-offer-tile:hover{border-color:rgba(255,90,69,.65);box-shadow:0 18px 45px rgba(7,20,33,.08);color:#17242e;transform:translateY(-3px)}
.ff-offer-tile__number{align-self:start;color:var(--ff-red);font-size:.72rem;font-weight:800;letter-spacing:.1em;padding-top:.35rem}
.ff-offer-tile div>p{color:#7a8288;font-size:.66rem;font-weight:800;letter-spacing:.11em;margin:0 0 .55rem;text-transform:uppercase}
.ff-offer-tile h3{font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:500;letter-spacing:-.025em;line-height:1.05;margin:0 0 .7rem}
.ff-offer-tile div>span{color:#657079;display:block;font-size:.84rem;line-height:1.65;max-width:470px}
.ff-offer-tile>strong{align-items:center;border:1px solid #d7d2ca;border-radius:50%;display:flex;font-size:1.05rem;height:42px;justify-content:center;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;width:42px}
.ff-offer-tile:hover>strong{background:var(--ff-red);border-color:var(--ff-red);color:#fff;transform:translateX(3px)}
@media(max-width:900px){.ff-offer-group__heading{grid-template-columns:1fr}.ff-offer-list{grid-template-columns:1fr}}
@media(max-width:700px){.ff-offer-tile{gap:.85rem;grid-template-columns:auto 1fr;min-height:0;padding:1.35rem}.ff-offer-tile>strong{display:none}.ff-offer-tile h3{font-size:1.7rem}.ff-offer-tile div>span{font-size:.8rem}.ff-offer-group{padding:3.5rem 0}.ff-offer-group__heading{margin-bottom:1.6rem}}

/* WordPress-safe service tiles */
.ff-offer-tile-wrap{margin:0!important;min-width:0}
.ff-offer-tile-wrap .ff-offer-tile{height:100%;min-height:176px}
.ff-offer-tile__copy{display:block;min-width:0}
.ff-offer-tile__kicker{color:#7a8288;display:block;font-size:.66rem;font-weight:800;letter-spacing:.11em;margin:0 0 .55rem;text-transform:uppercase}
.ff-offer-tile__title{color:#17242e;display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:500;letter-spacing:-.025em;line-height:1.05;margin:0 0 .7rem}
.ff-offer-tile__description{color:#657079;display:block;font-size:.84rem;line-height:1.65;max-width:470px}
.ff-offer-tile__arrow{align-items:center;border:1px solid #d7d2ca;border-radius:50%;display:flex;font-size:1.05rem;height:42px;justify-content:center;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;width:42px}
.ff-offer-tile:hover .ff-offer-tile__arrow{background:var(--ff-red);border-color:var(--ff-red);color:#fff;transform:translateX(3px)}
@media(max-width:700px){.ff-offer-tile-wrap .ff-offer-tile{min-height:0}.ff-offer-tile__arrow{display:none}.ff-offer-tile__title{font-size:1.7rem}.ff-offer-tile__description{font-size:.8rem}}

/* Mobile submenu controls stay hidden on desktop. */
.ff-mobile-submenu-toggle{display:none}

/* Premium mobile navigation */
@media(max-width:700px){
  .ff-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .ff-header__inner{justify-content:center!important;position:relative}
  .ff-header nav.ff-navigation{left:0;margin:0!important;order:-1;position:absolute}
  .ff-header__inner.ff-load-reveal,.ff-header__inner.ff-load-reveal.is-visible{transform:none!important}
  .ff-header .wp-block-navigation__responsive-container.is-menu-open{background:#071421!important;color:#fff!important;height:100dvh!important;inset:0!important;max-height:none!important;overflow:hidden!important;padding:0!important;position:fixed!important;width:100vw!important;z-index:999999!important}
  .ff-header .wp-block-navigation__responsive-close{height:100%;max-width:none!important;width:100%}
  .ff-header .wp-block-navigation__responsive-dialog{height:100%;margin:0!important;overflow-y:auto;padding:5.7rem 1.25rem 2rem;position:relative;scrollbar-width:thin}
  .ff-header .wp-block-navigation__responsive-dialog::before{background:url('../images/france-feux-logo-horizontal.png') left center/contain no-repeat;content:'';height:48px;left:1.25rem;position:absolute;top:.8rem;width:216px}
  .ff-header .wp-block-navigation__responsive-container-close{color:#fff!important;right:1.25rem!important;top:1.35rem!important}
  .ff-header .wp-block-navigation__responsive-container-close svg{height:30px;width:30px}
  .ff-header .wp-block-navigation__responsive-container-content{align-items:stretch!important;padding:0!important}
  .ff-header .ff-navigation{align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;width:100%!important}
  .ff-header .ff-navigation>.wp-block-navigation-item{align-items:stretch!important;border-top:1px solid rgba(255,255,255,.14)!important;display:flex!important;flex-direction:column!important;width:100%!important}
  .ff-header .ff-navigation>.wp-block-navigation-submenu{display:grid!important;grid-template-columns:1fr 48px!important;position:relative!important}
  .ff-header .ff-navigation>.wp-block-navigation-item>a{color:#fff!important;font-family:'Cormorant Garamond',serif!important;font-size:1.75rem!important;font-weight:600!important;letter-spacing:-.01em!important;padding:1rem 0!important;text-transform:none!important;width:100%!important}
  .ff-header .ff-navigation>.wp-block-navigation-item>a::after{display:none!important}
  .ff-header .ff-navigation .wp-block-navigation__submenu-icon{display:none!important}
  .ff-header .ff-navigation .wp-block-navigation__submenu-container{background:transparent!important;border:0!important;box-shadow:none!important;display:none!important;gap:.45rem!important;grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;height:auto!important;left:auto!important;margin:0!important;min-width:0!important;opacity:1!important;overflow:visible!important;padding:0 0 1.15rem!important;position:static!important;right:auto!important;transform:none!important;visibility:visible!important;width:100%!important}
  .ff-header .wp-block-navigation__responsive-container.is-menu-open .ff-navigation>.wp-block-navigation-submenu:not(.is-mobile-open)>.wp-block-navigation__submenu-container{display:none!important}
  .ff-header .wp-block-navigation__responsive-container.is-menu-open .ff-navigation>.wp-block-navigation-submenu.is-mobile-open>.wp-block-navigation__submenu-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ff-mobile-submenu-toggle{align-items:center;align-self:center;background:transparent;border:0;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:42px;justify-content:center;padding:0;position:relative;width:42px}
  .ff-mobile-submenu-toggle span,.ff-mobile-submenu-toggle span::after{background:currentColor;content:'';display:block;height:1.5px;position:absolute;transition:transform .25s ease;width:14px}
  .ff-mobile-submenu-toggle span::after{transform:rotate(90deg)}
  .ff-navigation>.is-mobile-open>.ff-mobile-submenu-toggle span::after{transform:rotate(0)}
  .ff-mobile-submenu-toggle:focus-visible{background:rgba(255,255,255,.08);outline:2px solid rgba(255,255,255,.75);outline-offset:2px}
  .ff-header .ff-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:7px!important;display:flex!important;min-width:0!important}
  .ff-header .wp-block-navigation__responsive-container.is-menu-open .ff-navigation>.wp-block-navigation-submenu>.wp-block-navigation__submenu-container>.wp-block-navigation-item{width:auto!important}
  .ff-header .ff-navigation .wp-block-navigation__submenu-container a{align-items:center!important;background:none!important;color:rgba(255,255,255,.8)!important;display:flex!important;font-family:Manrope,sans-serif!important;font-size:.72rem!important;font-weight:650!important;letter-spacing:0!important;line-height:1.35!important;min-height:58px!important;padding:.7rem .75rem!important;text-shadow:none!important;text-transform:none!important;width:100%!important}
  .ff-header .ff-navigation .wp-block-navigation__submenu-container a::before{display:none!important}
  .ff-header .ff-mobile-cta{border:0!important;display:flex!important;margin-top:1.25rem;width:100%!important}
  .ff-header .ff-mobile-cta>a{align-items:center!important;background:var(--ff-red)!important;border-radius:999px!important;display:flex!important;font-family:Manrope,sans-serif!important;font-size:.72rem!important;font-weight:800!important;justify-content:center!important;letter-spacing:.08em!important;padding:1rem 1.2rem!important;text-transform:uppercase!important}
}

/* Harmonised numbered process titles */
:is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li)>span:first-child{
  font-size:19px!important;
}
:is(.ff-confidence__items,.ff-service-method,.ff-quote-journey,.ff-cp-cards,.ff-about-values,.ff-about-partners) article>h3,
:is(.ff-offers-process,.ff-cp-process) li>strong{
  font-family:'Birthstone','Tangerine','Cormorant Garamond',Georgia,serif!important;
  font-size:50px!important;
  font-weight:500;
  line-height:1.05;
  margin:1rem 0 .65rem;
}
@media(max-width:700px){
  :is(.ff-confidence__items,.ff-service-method,.ff-quote-journey,.ff-cp-cards,.ff-about-values,.ff-about-partners) article>h3,
  :is(.ff-offers-process,.ff-cp-process) li>strong{font-size:40px!important}
}

/* Subtle interaction for numbered methods and journeys */
:is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li){
  border-radius:8px;
  transition:background-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,.61,.36,1);
}
:is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li)>span:first-child{
  display:inline-block;
  transition:color .3s ease,transform .3s cubic-bezier(.22,.61,.36,1);
}
@media(hover:hover) and (pointer:fine){
  :is(.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process) :is(article,li):hover{
    background:rgba(255,255,255,.045);
    box-shadow:0 18px 35px rgba(0,0,0,.12);
    transform:translateY(-6px);
  }
  :is(.ff-confidence__items,.ff-cp-cards,.ff-about-values,.ff-about-partners) article:hover{
    background:rgba(7,20,33,.025);
    box-shadow:0 18px 35px rgba(7,20,33,.08);
    transform:translateY(-6px);
  }
  :is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li):hover>span:first-child{
    color:#ff8d7e;
    transform:translateY(-2px);
  }
}
@media(prefers-reduced-motion:reduce){
  :is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li),
  :is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li)>span:first-child{transition:none}
  :is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li):hover,
  :is(.ff-confidence__items,.ff-service-method,.ff-offers-process,.ff-quote-journey,.ff-cp-process,.ff-cp-cards,.ff-about-values,.ff-about-partners) :is(article,li):hover>span:first-child{transform:none}
}

/* Dedicated panoramic artwork for the Réalisations hero. */
.ff-content-page--realisations .ff-cp-hero{
  background-image:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.62) 48%,rgba(4,13,23,.08)),url('../images/realisations-hero-v2.jpg');
  background-position:center;
}

/* Service areas */
.page-id-154 .ff-page{max-width:none;padding:0}
.page-id-154 .ff-page>.wp-block-post-title{display:none}
.page-id-154 .ff-page>.wp-block-post-content{margin:0;max-width:none;width:100%}
.page-id-154 .wp-block-post-content>.ff-areas-page{margin:0!important;max-width:none!important;width:100%!important}
.ff-areas-page{background:#f7f5f1;color:#17242e}
.ff-areas-page .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-area-teaser{background:#071421;color:#fff;overflow:hidden;padding:clamp(5rem,9vw,8rem) 0;position:relative}
.ff-area-teaser::before{background:radial-gradient(circle,rgba(255,90,69,.16),transparent 66%);content:'';height:520px;position:absolute;right:-100px;top:-100px;width:520px}
.ff-area-teaser__grid{align-items:center;display:grid;gap:clamp(3rem,9vw,8rem);grid-template-columns:1.05fr .95fr;position:relative}
.ff-area-teaser h2{color:#fff;font-size:clamp(3.4rem,6vw,6rem);line-height:.92;margin:.7rem 0 1.5rem}
.ff-area-teaser__copy>p:not(.ff-kicker){color:rgba(255,255,255,.72);max-width:650px}
.ff-area-teaser .ff-btn{margin-top:1.2rem}
.ff-area-map{margin:auto;max-width:460px;width:100%}
.ff-area-map svg{display:block;height:auto;overflow:visible;width:100%}
.ff-area-map__france{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.44);stroke-linejoin:round;stroke-width:2}
.ff-area-map__region{fill:rgba(255,90,69,.24);stroke:#ff7a68;stroke-width:2}
.ff-area-map__pulse{fill:rgba(255,90,69,.14);stroke:rgba(255,90,69,.5);stroke-width:1}
.ff-area-map__pin{fill:#ff5a45;stroke:#fff;stroke-width:3}
.ff-area-map__city{fill:#fff;stroke:#ff5a45;stroke-width:2}
.ff-area-map__route{fill:none;stroke:rgba(255,255,255,.34);stroke-dasharray:7 8;stroke-width:1.5}
.ff-area-map text{fill:#fff;font:700 15px/1 Manrope,Arial,sans-serif;letter-spacing:.04em}
.ff-area-map text.ff-area-map__city-label{fill:rgba(255,255,255,.72);font-size:10px;font-weight:600;letter-spacing:0}
.ff-area-map text.ff-area-map__brand{fill:#fff;font-size:14px;letter-spacing:0;paint-order:stroke;stroke:#071421;stroke-width:3px}
.ff-area-map text.ff-area-map__label{fill:rgba(255,255,255,.58);font-size:11px;text-anchor:middle;text-transform:uppercase}

.ff-areas-hero{align-items:center;background-image:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.68) 54%,rgba(4,13,23,.18)),url('../images/hero-small-fireworks-river-v2.jpg');background-position:center;background-size:cover;color:#fff;display:flex;min-height:min(780px,88vh);padding:clamp(10rem,15vw,14rem) 0 clamp(5rem,8vw,8rem)}
.ff-areas-hero h1{color:#fff;font-size:clamp(4rem,7vw,7rem);line-height:.88;margin:.8rem 0 1.5rem;max-width:980px}
.ff-areas-hero p:not(.ff-kicker){color:rgba(255,255,255,.82);max-width:750px}
.ff-areas-hero .ff-btn{margin-top:1.2rem}
.ff-areas-intro{padding:clamp(6rem,10vw,10rem) 0}
.ff-areas-intro__grid{align-items:center;display:grid;gap:clamp(4rem,10vw,9rem);grid-template-columns:1.05fr .95fr}
.ff-areas-intro h2,.ff-areas-list h2,.ff-areas-reassurance h2{font-size:clamp(3.4rem,5.5vw,5.4rem);line-height:.94;margin:.7rem 0 1.5rem}
.ff-areas-intro p:not(.ff-kicker){color:#5d6973;max-width:720px}
.ff-areas-intro .ff-area-map__france{fill:#f0ede7;stroke:#9ba3aa}
.ff-areas-intro .ff-area-map__route{stroke:#88939b}
.ff-areas-intro .ff-area-map text{fill:#17242e}
.ff-areas-intro .ff-area-map text.ff-area-map__label{fill:#6a747b}
.ff-area-check{background:#f7f5f1;padding:0 0 clamp(6rem,10vw,10rem)}
.ff-area-check__card{align-items:center;background:#071421;border-radius:18px;box-shadow:0 30px 75px rgba(7,20,33,.18);color:#fff;display:grid;gap:clamp(2rem,7vw,6rem);grid-template-columns:.85fr 1.15fr;overflow:hidden;padding:clamp(2.2rem,5vw,4.5rem);position:relative}
.ff-area-check__card::after{background:radial-gradient(circle,rgba(255,90,69,.2),transparent 68%);content:'';height:420px;pointer-events:none;position:absolute;right:-160px;top:-210px;width:420px}
.ff-area-check__copy,.ff-area-check__form{position:relative;z-index:1}
.ff-area-check h2{color:#fff;font-size:clamp(3.1rem,5vw,4.9rem);line-height:.92;margin:.7rem 0 1.2rem}
.ff-area-check__copy>p:not(.ff-kicker){color:rgba(255,255,255,.68);margin:0}
.ff-area-check__form>label{color:#fff;display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;margin:0 0 .7rem;text-transform:uppercase}
.ff-area-check__controls{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}
.ff-area-check__controls input{background:#fff;border:2px solid transparent;border-radius:999px;color:#17242e;font:600 1rem/1.2 Manrope,Arial,sans-serif;min-height:58px;outline:none;padding:0 1.4rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}
.ff-area-check__controls input:focus{border-color:var(--ff-red);box-shadow:0 0 0 4px rgba(255,90,69,.18)}
.ff-area-check__controls input::placeholder{color:#90979d}
.ff-area-check__controls .ff-btn{min-height:58px;white-space:nowrap}
.ff-area-check__result{align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;display:flex;gap:1rem;margin-top:1rem;padding:1.15rem}
.ff-area-check__result[hidden]{display:none}
.ff-area-check__icon{align-items:center;background:var(--ff-red);border-radius:50%;color:#fff;display:flex;flex:0 0 34px;font-size:.9rem;font-weight:900;height:34px;justify-content:center;width:34px}
.ff-area-check__result strong{color:#fff;display:block;font-size:1.05rem;line-height:1.45}
.ff-area-check__result p{color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.55;margin:.3rem 0 .55rem}
.ff-area-check__result a{color:#fff;font-size:.75rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--ff-red);text-decoration-thickness:2px;text-underline-offset:5px}
.ff-areas-list{background:#f3f0eb;padding:clamp(6rem,10vw,10rem) 0}
.ff-areas-list__heading{margin-bottom:clamp(3rem,6vw,5rem);max-width:900px}
.ff-areas-list__heading>p:not(.ff-kicker){color:#647078}
.ff-areas-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}
.ff-areas-grid article{background:#fff;border:1px solid #ddd8d0;border-radius:10px;min-height:275px;padding:clamp(1.6rem,3vw,2.2rem);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.ff-areas-grid article:hover{border-color:rgba(255,90,69,.48);box-shadow:0 20px 45px rgba(7,20,33,.1);transform:translateY(-5px)}
.ff-areas-grid article>span{color:var(--ff-red);font-size:.7rem;font-weight:800;letter-spacing:.11em}
.ff-areas-grid h3{font-size:clamp(2.2rem,3vw,3rem);line-height:1;margin:.8rem 0 1.2rem}
.ff-areas-grid ul{list-style:none;margin:0;padding:0}
.ff-areas-grid li{border-top:1px solid #e6e2db;color:#59656e;font-size:.8rem;padding:.72rem 0}
.ff-areas-grid__wide{grid-column:span 2}
.ff-areas-grid__wide ul{display:grid;gap:0 1.5rem;grid-template-columns:repeat(3,1fr)}
.ff-areas-reassurance{background:#071421;color:#fff;padding:clamp(6rem,10vw,9rem) 0;text-align:center}
.ff-areas-reassurance h2{color:#fff;margin-inline:auto;max-width:900px}
.ff-areas-reassurance p:not(.ff-kicker){color:rgba(255,255,255,.7);margin-inline:auto;max-width:720px}
.ff-areas-reassurance .ff-btn{margin-top:1.3rem}

.ff-contact-areas{background:#f3f0eb;padding:clamp(5rem,8vw,8rem) 0}
.ff-contact-areas__grid{align-items:center;display:grid;gap:clamp(3rem,8vw,7rem);grid-template-columns:1fr 1fr}
.ff-contact-areas h2{font-size:clamp(3.2rem,5vw,4.8rem);line-height:.95;margin:.7rem 0 1.2rem}
.ff-contact-areas p:not(.ff-kicker){color:#647078}
.ff-contact-areas__departments{display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr)}
.ff-contact-areas__departments span{background:#fff;border:1px solid #ddd8d0;border-radius:999px;color:#35434e;font-size:.74rem;font-weight:750;padding:.85rem 1rem;text-align:center}
.ff-contact-areas__departments span{box-shadow:0 2px 6px rgba(14,34,48,.025);transition:background-color .28s ease,border-color .28s ease,box-shadow .32s ease,color .28s ease,transform .32s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.ff-contact-areas__departments span:hover{background:#fff7f4;border-color:#ec9e91;box-shadow:0 10px 22px rgba(169,63,52,.12);color:#a92f32;transform:translateY(-4px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.ff-contact-areas__departments span{transition:none}.ff-contact-areas__departments span:hover{transform:none}}
.ff-service-coverage-note{background:#f3f0eb;border-top:1px solid #ddd8d0;padding:1.6rem 0}
.ff-service-coverage-note p{color:#45525c;font-size:.8rem;font-weight:650;margin:0;text-align:center}
.ff-service-coverage-note a{color:var(--ff-red-dark);font-weight:800;text-decoration:none}
.ff-service-coverage-note a:hover{text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){
  .ff-area-teaser__grid,.ff-areas-intro__grid,.ff-area-check__card,.ff-contact-areas__grid{grid-template-columns:1fr}
  .ff-area-map{max-width:380px}
  .ff-areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .ff-areas-page .ff-shell{width:calc(100% - 2rem)}
  .ff-areas-hero{min-height:700px}
  .ff-area-teaser h2,.ff-areas-hero h1,.ff-areas-intro h2,.ff-areas-list h2,.ff-areas-reassurance h2{font-size:clamp(3.2rem,14vw,4.5rem)}
  .ff-areas-grid{grid-template-columns:1fr}
  .ff-areas-grid__wide{grid-column:auto}
  .ff-areas-grid__wide ul{display:block}
  .ff-area-check__controls{grid-template-columns:1fr}
  .ff-area-check__controls .ff-btn{width:100%}
  .ff-contact-areas__departments{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.ff-areas-grid article{transition:none}.ff-areas-grid article:hover{transform:none}}

.ff-partner-logos__card--text .ff-partner-logos__image{background:#102235;color:#fff;text-align:center}.ff-partner-logos__wordmark{display:grid;gap:.3rem;padding:1rem}.ff-partner-logos__wordmark strong{font-family:inherit;font-size:clamp(1.7rem,2.8vw,2.5rem);font-weight:700;letter-spacing:.13em;line-height:1}.ff-partner-logos__wordmark span{color:#e6e9ec;font-family:inherit;font-size:.82rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}

.ff-service-page--training .ff-service-cta__lead{color:rgba(255,255,255,.88);font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.7;margin:1.5rem auto 0;max-width:760px}

.ff-training-video{background:#f3f0eb;padding:clamp(5rem,8vw,8rem) 0}.ff-training-video__grid{align-items:center;display:grid;gap:clamp(2rem,6vw,6rem);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.ff-training-video h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:1.04;margin:.7rem 0 1.5rem}.ff-training-video__copy>p:not(.ff-kicker){color:#53616c;line-height:1.7;max-width:34rem}.ff-training-video__button{aspect-ratio:16/9;background:#102235;border:0;border-radius:4px;box-shadow:0 24px 50px rgba(12,28,43,.15);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;text-align:left;width:100%}.ff-training-video__button::after{background:linear-gradient(0deg,rgba(4,13,23,.58),transparent 52%);content:'';inset:0;pointer-events:none;position:absolute}.ff-training-video__button img{display:block;height:100%;object-fit:cover;transition:transform .35s ease;width:100%}.ff-training-video__button:hover img{transform:scale(1.025)}.ff-training-video__button:focus-visible{outline:3px solid var(--ff-red);outline-offset:4px}.ff-training-video__play{align-items:center;background:var(--ff-red);border-radius:50%;color:#fff;display:flex;font-size:1.1rem;height:68px;justify-content:center;left:50%;padding-left:4px;position:absolute;top:50%;transform:translate(-50%,-50%);width:68px;z-index:1}.ff-training-video__caption{bottom:1.2rem;color:#fff;font-size:.75rem;font-weight:800;left:1.4rem;letter-spacing:.1em;position:absolute;text-transform:uppercase;z-index:1}@media(max-width:900px){.ff-training-video__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ff-training-video__button img{transition:none}.ff-training-video__button:hover img{transform:none}}

.ff-training-qualification{background:#fff;padding:clamp(5rem,8vw,8rem) 0}.ff-training-qualification__heading{max-width:850px}.ff-training-qualification h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:1.04;margin:.7rem 0 1.5rem}.ff-training-qualification__heading>p:not(.ff-kicker){color:#53616c;line-height:1.75}.ff-training-qualification__levels{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:3rem 0}.ff-training-qualification__levels article{background:#f3f0eb;border-top:3px solid var(--ff-red);padding:clamp(1.7rem,3vw,2.6rem);transition:box-shadow .25s ease,transform .25s ease}.ff-training-qualification__levels article:hover{box-shadow:0 16px 32px rgba(12,28,43,.09);transform:translateY(-4px)}.ff-training-qualification__number{color:var(--ff-red);font-size:19px;font-weight:800;letter-spacing:.08em}.ff-training-qualification h3{font-size:clamp(2.6rem,4vw,3.6rem)!important;font-weight:500;line-height:1.05;margin:.5rem 0 1rem}.ff-training-qualification__levels p,.ff-training-qualification__notes p{color:#53616c;line-height:1.75}.ff-training-qualification__notes{border-top:1px solid #d9d5ce;max-width:850px;padding-top:1.5rem}.ff-training-qualification__sources{font-size:.82rem}.ff-training-qualification__sources a{color:var(--ff-red-dark);font-weight:700}@media(max-width:760px){.ff-training-qualification__levels{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ff-training-qualification__levels article{transition:none}.ff-training-qualification__levels article:hover{transform:none}}

.ff-training-press{background:#f3f0eb;padding:clamp(5rem,8vw,8rem) 0}.ff-training-press__grid{align-items:center;display:grid;gap:clamp(2.5rem,7vw,7rem);grid-template-columns:minmax(0,1fr) minmax(0,540px)}.ff-training-press h2{font-size:clamp(3rem,5vw,4.8rem);font-weight:500;line-height:1.04;margin:.7rem 0 1.5rem}.ff-training-press__copy>p:not(.ff-kicker){color:#53616c;line-height:1.7;max-width:36rem}.ff-training-press__credit{font-size:.78rem;font-weight:700;letter-spacing:.06em;margin:1.5rem 0 1.8rem;text-transform:uppercase}.ff-training-press__figure{margin:0;max-width:540px}.ff-training-press__figure a{background:#fff;box-shadow:0 24px 50px rgba(12,28,43,.12);display:block;padding:1rem;transition:box-shadow .25s ease,transform .25s ease}.ff-training-press__figure a:hover{box-shadow:0 28px 55px rgba(12,28,43,.18);transform:translateY(-4px)}.ff-training-press__figure a:focus-visible{outline:3px solid var(--ff-red);outline-offset:4px}.ff-training-press__figure img{display:block;height:auto;width:100%}.ff-training-press__figure figcaption{color:#647078;font-size:.74rem;margin-top:.8rem;text-align:center}@media(max-width:900px){.ff-training-press__grid{grid-template-columns:1fr}.ff-training-press__figure{margin-inline:auto}}@media(prefers-reduced-motion:reduce){.ff-training-press__figure a{transition:none}.ff-training-press__figure a:hover{transform:none}}

.ff-service-page--training .ff-service-details{padding-top:clamp(5rem,8vw,8rem)}

/* Réalisations: a navigable film strip that preserves portrait and landscape photos. */
.ff-film-carousel{background:#f3f0eb;padding:clamp(4rem,7vw,7rem) 0}
.ff-film-carousel__heading{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}
.ff-film-carousel__heading h2{font-size:clamp(3.4rem,5vw,5.4rem);line-height:.95;margin:.6rem 0 0}
.ff-film-carousel__controls{align-items:center;display:flex;flex:none;gap:.7rem}
.ff-film-carousel__counter{color:#4e5a64;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-right:.5rem;white-space:nowrap}
.ff-film-carousel__controls button{align-items:center;background:#0b1c2b;border:1px solid #0b1c2b;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-family:Manrope,Arial,sans-serif;font-size:1.5rem;height:46px;justify-content:center;line-height:1;transition:background .25s,transform .25s;width:46px}
.ff-film-carousel__controls button:hover:not(:disabled){background:var(--ff-red);border-color:var(--ff-red);transform:translateY(-3px)}
.ff-film-carousel__controls button:disabled{cursor:default;opacity:.35}
.ff-film-carousel__viewport{background:#0a0a0a;border-radius:8px;overflow:hidden;position:relative}
.ff-film-carousel__viewport::before,.ff-film-carousel__viewport::after{background-color:#080808;background-image:repeating-linear-gradient(90deg,transparent 0 12px,#f3f0eb 12px 29px,transparent 29px 46px);background-position:center;background-repeat:repeat-x;background-size:auto 13px;content:"";height:38px;left:0;pointer-events:none;position:absolute;right:0;z-index:2}
.ff-film-carousel__viewport::before{background-position:center 12px;top:0}
.ff-film-carousel__viewport::after{background-position:center 12px;bottom:0}
.ff-film-carousel__track{display:flex;gap:1.2rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:4.4rem max(2rem,calc((100% - 430px)/2));position:relative;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.ff-film-carousel__track::-webkit-scrollbar{display:none}
.ff-film-carousel__frame{align-items:center;align-self:stretch;background:#151515;display:flex;flex:0 0 min(68vw,850px);height:clamp(330px,43vw,570px);justify-content:center;margin:0;overflow:hidden;position:relative;scroll-snap-align:center;transform:scale(.96);transition:transform .35s ease,box-shadow .35s ease}
.ff-film-carousel__frame--portrait{flex-basis:min(34vw,430px)}
.ff-film-carousel__frame.is-active{box-shadow:0 22px 50px rgba(0,0,0,.5);transform:scale(1)}
.ff-film-carousel__frame img{display:block;height:100%;object-fit:contain;width:100%}
.ff-film-carousel__frame figcaption{background:linear-gradient(transparent,rgba(0,0,0,.82));bottom:0;color:#fff;font-size:.75rem;font-weight:800;left:0;letter-spacing:.1em;padding:2.5rem 1.3rem 1.1rem;position:absolute;right:0;text-align:center;text-transform:uppercase}
.ff-film-carousel__note{color:#5d6972;font-size:.82rem;margin:1.2rem 0 0}
.ff-film-carousel__rights{background:#fff;border-left:3px solid var(--ff-red);color:#33424d;font-size:.86rem;line-height:1.6;margin:1.5rem 0 0;padding:1rem 1.25rem}
.ff-film-carousel__rights a{color:var(--ff-red-dark);font-weight:800}
@media(max-width:700px){.ff-film-carousel__heading{align-items:start;flex-direction:column;gap:1.3rem}.ff-film-carousel__track{gap:.65rem;padding:3.4rem 1rem}.ff-film-carousel__frame,.ff-film-carousel__frame--portrait{flex-basis:86vw;height:390px}.ff-film-carousel__viewport::before,.ff-film-carousel__viewport::after{height:30px;background-position:center 9px}.ff-film-carousel__controls button{height:42px;width:42px}}
@media(prefers-reduced-motion:reduce){.ff-film-carousel__track{scroll-behavior:auto}.ff-film-carousel__frame,.ff-film-carousel__controls button{transition:none}}

/* Réalisations: seven self-contained visual carousel studies. */
.ff-carousel-comparison{background:#f4f1ec;padding:clamp(4rem,7vw,7rem) 0}
.ff-carousel-comparison__intro{max-width:900px;padding-bottom:clamp(3rem,5vw,5rem)}
.ff-carousel-comparison__intro h2{font-size:clamp(3.5rem,5.5vw,6rem);line-height:.95;margin:.65rem 0 1rem}
.ff-carousel-comparison__intro>p:last-child{color:#475663;font-size:1.08rem;line-height:1.7;max-width:750px}
.ff-showcase{padding:clamp(3.5rem,6vw,6rem) 0;border-top:1px solid rgba(10,28,43,.16)}
.ff-showcase__heading{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}
.ff-showcase__heading h2{font-size:clamp(3.2rem,4.4vw,5rem);line-height:.95;margin:.4rem 0 .8rem}
.ff-showcase__heading p:last-child{color:#4e5a64;line-height:1.6;margin:0;max-width:650px}
.ff-showcase__controls{align-items:center;display:flex;flex:none;gap:.6rem}
.ff-showcase__counter{color:#4e5a64;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-right:.5rem;white-space:nowrap}
.ff-showcase__controls button{align-items:center;background:#0b1c2b;border:1px solid #0b1c2b;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-family:Manrope,Arial,sans-serif;font-size:1.5rem;height:46px;justify-content:center;line-height:1;transition:background .25s,transform .25s;width:46px}
.ff-showcase__controls button:hover{background:var(--ff-red);border-color:var(--ff-red);transform:translateY(-3px)}
.ff-showcase__controls button:focus-visible,.ff-showcase__thumbs button:focus-visible,.ff-showcase__stage:focus-visible{outline:3px solid var(--ff-red);outline-offset:4px}
.ff-showcase__stage{height:clamp(390px,48vw,620px);isolation:isolate;overflow:hidden;position:relative;touch-action:pan-y}
.ff-showcase__slide{height:100%;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease,filter .45s ease;width:100%;z-index:0}
.ff-showcase__slide img{display:block;height:100%;object-fit:cover;width:100%}
.ff-showcase__slide--portrait img{object-fit:contain}
.ff-showcase__slide figcaption{background:linear-gradient(transparent,rgba(0,0,0,.78));bottom:0;color:#fff;display:flex;flex-direction:column;gap:.25rem;left:0;padding:4rem 2rem 1.6rem;position:absolute;right:0}
.ff-showcase__slide figcaption span{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ff-showcase__slide figcaption strong{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.15rem,2vw,1.8rem);font-weight:700}
.ff-showcase__slide[data-position="0"]{opacity:1;z-index:4}
.ff-showcase--film .ff-showcase__stage{background:#090909}
.ff-showcase--film .ff-showcase__stage::before,.ff-showcase--film .ff-showcase__stage::after{background:#090909 repeating-linear-gradient(90deg,transparent 0 13px,#f4f1ec 13px 29px,transparent 29px 46px) center/auto 12px no-repeat;content:"";height:40px;left:0;pointer-events:none;position:absolute;right:0;z-index:10}
.ff-showcase--film .ff-showcase__stage::before{top:0}.ff-showcase--film .ff-showcase__stage::after{bottom:0}
.ff-showcase--film .ff-showcase__slide{left:0;width:100%;transform:translateX(100%)}
.ff-showcase--film .ff-showcase__slide img,.ff-showcase--film .ff-showcase__slide--portrait img{object-fit:cover}
.ff-showcase--film .ff-showcase__slide[data-position="-2"],.ff-showcase--film .ff-showcase__slide[data-position="-1"]{transform:translateX(-100%)}
.ff-showcase--film .ff-showcase__slide[data-position="0"]{transform:translateX(0)}
.ff-showcase--film .ff-showcase__slide[data-position="1"],.ff-showcase--film .ff-showcase__slide[data-position="2"]{transform:translateX(100%)}
/* Keep the whole photograph (including embedded credits) inside the film border.
   A fade avoids direction reversals when controls are pressed repeatedly. */
.ff-showcase--film{padding-bottom:clamp(5rem,8vw,7rem)}
.ff-showcase--film .ff-showcase__controls{bottom:-56px!important;right:0!important}
.ff-showcase--film .ff-showcase__slide{background:#090909;height:calc(100% - 80px);top:40px;pointer-events:none;transition:opacity .25s ease!important}
.ff-showcase--film .ff-showcase__slide[data-position]{transform:none!important}
.ff-showcase--film .ff-showcase__slide[data-position="0"]{opacity:1!important}
.ff-showcase--film .ff-showcase__slide[data-position]:not([data-position="0"]){opacity:0!important}
.ff-showcase--film .ff-showcase__slide img,.ff-showcase--film .ff-showcase__slide--portrait img{object-fit:contain!important}
@media(max-width:700px){.ff-showcase--film .ff-showcase__slide{height:calc(100% - 58px);top:29px}}
@media(prefers-reduced-motion:reduce){.ff-showcase--film .ff-showcase__slide{transition:none!important}}
.ff-showcase--cinema{background:#0b1c2b;color:#fff}.ff-showcase--cinema .ff-showcase__heading p:last-child,.ff-showcase--cinema .ff-showcase__counter{color:#c6d0d6}
.ff-showcase--cinema .ff-showcase__stage{height:clamp(430px,55vw,710px);background:#02070b}
.ff-showcase--cinema .ff-showcase__slide[data-position="0"]{transform:scale(1)}
.ff-showcase--cinema .ff-showcase__slide:not([data-position="0"]){transform:scale(1.06)}
.ff-showcase--cinema .ff-showcase__slide figcaption{padding-left:clamp(2rem,6vw,6rem);padding-bottom:clamp(2rem,5vw,5rem)}
.ff-showcase--cinema .ff-showcase__slide figcaption strong{font-size:clamp(2rem,4vw,4.2rem)}
.ff-showcase--peek .ff-showcase__stage{background:#d9dce0;border-radius:12px}
.ff-showcase--peek .ff-showcase__slide{border-radius:10px;box-shadow:0 20px 55px rgba(5,22,40,.28);left:50%;top:8%;height:84%;width:min(65%,770px)}
.ff-showcase--peek .ff-showcase__slide[data-position="-2"]{opacity:.26;transform:translateX(-126%) scale(.68) rotate(-5deg);z-index:1}
.ff-showcase--peek .ff-showcase__slide[data-position="-1"]{cursor:pointer;opacity:.7;transform:translateX(-94%) scale(.84) rotate(-3deg);z-index:2}
.ff-showcase--peek .ff-showcase__slide[data-position="0"]{transform:translateX(-50%) scale(1);z-index:5}
.ff-showcase--peek .ff-showcase__slide[data-position="1"]{cursor:pointer;opacity:.7;transform:translateX(-6%) scale(.84) rotate(3deg);z-index:2}
.ff-showcase--peek .ff-showcase__slide[data-position="2"]{opacity:.26;transform:translateX(26%) scale(.68) rotate(5deg);z-index:1}
.ff-showcase--polaroid .ff-showcase__stage{background:#e6ded3}
.ff-showcase--polaroid .ff-showcase__slide{background:#fff;box-shadow:0 20px 45px rgba(37,28,25,.22);height:80%;left:50%;overflow:visible;padding:12px 12px 64px;top:8%;width:min(57%,670px)}
.ff-showcase--polaroid .ff-showcase__slide img{height:100%;object-fit:cover}
.ff-showcase--polaroid .ff-showcase__slide--portrait img{object-fit:contain;background:#151515}
.ff-showcase--polaroid .ff-showcase__slide figcaption{background:none;bottom:7px;color:#283544;display:block;padding:0 1rem;text-align:center}
.ff-showcase--polaroid .ff-showcase__slide figcaption span{display:none}
.ff-showcase--polaroid .ff-showcase__slide figcaption strong{font-family:'Birthstone',cursive;font-size:2.1rem;font-weight:400}
.ff-showcase--polaroid .ff-showcase__slide[data-position="-2"]{opacity:.4;transform:translateX(-95%) rotate(-14deg) scale(.8);z-index:1}
.ff-showcase--polaroid .ff-showcase__slide[data-position="-1"]{cursor:pointer;opacity:.8;transform:translateX(-76%) rotate(-8deg) scale(.91);z-index:2}
.ff-showcase--polaroid .ff-showcase__slide[data-position="0"]{transform:translateX(-50%) rotate(-1deg);z-index:5}
.ff-showcase--polaroid .ff-showcase__slide[data-position="1"]{cursor:pointer;opacity:.8;transform:translateX(-24%) rotate(8deg) scale(.91);z-index:2}
.ff-showcase--polaroid .ff-showcase__slide[data-position="2"]{opacity:.4;transform:translateX(-5%) rotate(14deg) scale(.8);z-index:1}
.ff-showcase--triptych .ff-showcase__stage{background:#091b2d;perspective:1100px}
.ff-showcase--triptych .ff-showcase__slide{height:78%;left:50%;top:11%;width:45%}
.ff-showcase--triptych .ff-showcase__slide img{object-fit:cover}
.ff-showcase--triptych .ff-showcase__slide[data-position="-2"]{opacity:.25;transform:translateX(-166%) scale(.78);z-index:1}
.ff-showcase--triptych .ff-showcase__slide[data-position="-1"]{cursor:pointer;opacity:.8;transform:translateX(-115%) scale(.88) rotateY(12deg);z-index:2}
.ff-showcase--triptych .ff-showcase__slide[data-position="0"]{box-shadow:0 20px 65px #0009;transform:translateX(-50%) scale(1);z-index:5}
.ff-showcase--triptych .ff-showcase__slide[data-position="1"]{cursor:pointer;opacity:.8;transform:translateX(15%) scale(.88) rotateY(-12deg);z-index:2}
.ff-showcase--triptych .ff-showcase__slide[data-position="2"]{opacity:.25;transform:translateX(66%) scale(.78);z-index:1}
.ff-showcase--editorial .ff-showcase__stage{background:#f8f7f4;border:1px solid #d7d0c4}
.ff-showcase--editorial .ff-showcase__slide{left:46%;width:54%}
.ff-showcase--editorial .ff-showcase__slide figcaption{display:none}
.ff-showcase__editorial-copy{align-items:flex-start;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;padding:clamp(1.5rem,4vw,4.5rem);position:absolute;top:0;width:46%;z-index:7}
.ff-showcase__editorial-copy span{color:#b62b2b;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ff-showcase__editorial-copy p{font-family:'Birthstone',cursive;font-size:clamp(3rem,5.4vw,6rem);line-height:.9;margin:1.5rem 0}
.ff-showcase__editorial-copy small{color:#52606b;font-size:.95rem;line-height:1.6;max-width:280px}
.ff-showcase--thumbnails .ff-showcase__stage{background:#101c27;height:clamp(390px,48vw,600px)}
.ff-showcase--thumbnails .ff-showcase__slide figcaption{padding-left:clamp(1.5rem,4vw,4rem)}
.ff-showcase__thumbs{display:grid;gap:.55rem;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:.7rem}
.ff-showcase__thumbs button{background:#101c27;border:0;cursor:pointer;height:clamp(54px,8vw,115px);opacity:.55;overflow:hidden;padding:0;transition:opacity .2s,transform .2s}
.ff-showcase__thumbs button.is-active,.ff-showcase__thumbs button:hover{opacity:1;transform:translateY(-4px)}
.ff-showcase__thumbs button.is-active{outline:3px solid var(--ff-red);outline-offset:-3px}
.ff-showcase__thumbs img{height:100%;object-fit:cover;width:100%}
@media(max-width:700px){.ff-carousel-comparison__intro h2{font-size:clamp(3rem,12vw,4.4rem)}.ff-showcase__heading{align-items:flex-start;flex-direction:column;gap:1.2rem}.ff-showcase__controls button{height:42px;width:42px}.ff-showcase__stage{height:390px}.ff-showcase--cinema .ff-showcase__stage{height:460px}.ff-showcase--film .ff-showcase__stage::before,.ff-showcase--film .ff-showcase__stage::after{height:29px;background-size:auto 10px}.ff-showcase--peek .ff-showcase__slide{left:50%;width:77%}.ff-showcase--polaroid .ff-showcase__slide{width:73%;height:78%;padding:9px 9px 54px}.ff-showcase--polaroid .ff-showcase__slide figcaption strong{font-size:1.6rem}.ff-showcase--triptych .ff-showcase__slide{width:64%}.ff-showcase--triptych .ff-showcase__slide[data-position="-1"]{transform:translateX(-103%) scale(.84)}.ff-showcase--triptych .ff-showcase__slide[data-position="1"]{transform:translateX(3%) scale(.84)}.ff-showcase--editorial .ff-showcase__stage{height:520px}.ff-showcase--editorial .ff-showcase__slide{height:58%;left:0;top:42%;width:100%}.ff-showcase__editorial-copy{height:42%;justify-content:center;padding:1.2rem 1.5rem;width:100%}.ff-showcase__editorial-copy p{font-size:3.5rem;margin:.4rem 0}.ff-showcase__editorial-copy small{font-size:.8rem;max-width:none}.ff-showcase__thumbs{gap:.25rem}.ff-showcase__thumbs button{height:54px}}
@media(prefers-reduced-motion:reduce){.ff-showcase__slide,.ff-showcase__controls button,.ff-showcase__thumbs button{transition:none}}

/* Partners: full-width, one-line logo ribbon. */
.ff-partner-logos{overflow:hidden}
.ff-partner-logos>.ff-shell{max-width:none;width:100%}
.ff-partner-logos__heading{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-partner-logos__marquee{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);overflow:hidden}
.ff-partner-logos__track,.ff-partner-logos__group{display:flex;gap:1.1rem;width:max-content}
.ff-partner-logos__track{animation:ff-partner-roll 52s linear infinite;will-change:transform}
.ff-partner-logos__marquee:has(.ff-partner-logos__card:focus-visible) .ff-partner-logos__track{animation-play-state:paused}
.ff-partner-logos__card{flex:0 0 220px;width:220px}
@keyframes ff-partner-roll{to{transform:translateX(calc(-50% - .55rem))}}
@media(max-width:600px){.ff-partner-logos__heading{width:calc(100% - 2rem)}.ff-partner-logos__card{flex-basis:190px;width:190px}}
@media(prefers-reduced-motion:reduce){.ff-partner-logos__marquee{mask-image:none;overflow-x:auto;scrollbar-width:thin}.ff-partner-logos__track{animation:none;will-change:auto}}

/* Réalisations: tactile, raised controls in both resting and hover states. */
.ff-showcase__controls button{background:linear-gradient(155deg,#2a4154,#0b1c2b 72%);border-color:#31485b;box-shadow:inset 0 2px 1px rgba(255,255,255,.2),inset 0 -2px 3px rgba(0,0,0,.22),0 4px 0 #06121d,0 9px 15px rgba(5,20,35,.23);transition:background .25s ease,box-shadow .25s ease,transform .25s ease}
.ff-showcase__controls button:hover,.ff-showcase__controls button:focus-visible{background:linear-gradient(155deg,#ff7967,var(--ff-red) 70%);border-color:#e65649;box-shadow:inset 0 2px 1px rgba(255,255,255,.34),inset 0 -2px 3px rgba(78,13,18,.22),0 7px 0 #a62b30,0 15px 22px rgba(5,20,35,.31);transform:translateY(-4px)}
.ff-showcase__controls button:active{box-shadow:inset 0 2px 5px rgba(70,8,13,.3),0 2px 0 #a62b30,0 5px 9px rgba(5,20,35,.2);transform:translateY(1px)}
.ff-showcase__thumbs button{border:2px solid rgba(255,255,255,.72);box-shadow:inset 0 2px 2px rgba(255,255,255,.25),0 5px 12px rgba(5,20,35,.23);transition:box-shadow .25s ease,opacity .25s ease,transform .25s ease}
.ff-showcase__thumbs button:hover,.ff-showcase__thumbs button:focus-visible{box-shadow:inset 0 2px 2px rgba(255,255,255,.28),0 10px 20px rgba(5,20,35,.33);transform:translateY(-5px)}
@media(prefers-reduced-motion:reduce){.ff-content-page--realisations .ff-btn,.ff-showcase__controls button,.ff-showcase__thumbs button{transition:none}}

/* Site-wide action buttons: the approved "Braise satinée" treatment. */
.ff-button-studies{display:none}
.ff-btn,.wp-site-blocks .wp-block-button__link,.ff-ready-products__video-button{
  background:linear-gradient(115deg,#ff8561,#e7423d 53%,#a71931);
  border:1px solid #f37b68;
  border-radius:12px;
  box-shadow:inset 0 3px 4px #ffffff4d,inset 0 -4px 6px #5b0d285e,0 8px 17px #0006;
  color:#fff;
  transition:background .3s,box-shadow .3s,transform .3s;
}
.ff-btn:hover,.ff-btn:focus-visible,.wp-site-blocks .wp-block-button__link:hover,.wp-site-blocks .wp-block-button__link:focus-visible,.ff-ready-products__video-button:hover,.ff-ready-products__video-button:focus-visible{
  background:linear-gradient(115deg,#ffab76,#f24d43 53%,#bd2036);
  border-color:#ff9b77;
  box-shadow:inset 0 3px 5px #ffffff69,inset 0 -4px 6px #5b0d2840,0 15px 23px #0008;
  color:#fff;
  transform:translateY(-5px) rotate(-1deg);
}
.ff-btn:active,.wp-site-blocks .wp-block-button__link:active,.ff-ready-products__video-button:active{
  box-shadow:inset 0 3px 7px #5b0d286b,0 3px 8px #0005;
  transform:translateY(1px);
}
.wp-site-blocks .is-style-outline .wp-block-button__link,.ff-hero .is-style-outline .wp-block-button__link{border:1px solid #f37b68;color:#fff}
.ff-ready-products__video-button span{background:rgba(95,9,33,.36)}
@media(prefers-reduced-motion:reduce){.ff-btn,.wp-site-blocks .wp-block-button__link,.ff-ready-products__video-button{transition:none}.ff-btn:hover,.ff-btn:focus-visible,.wp-site-blocks .wp-block-button__link:hover,.wp-site-blocks .wp-block-button__link:focus-visible,.ff-ready-products__video-button:hover,.ff-ready-products__video-button:focus-visible{transform:none}}

/* One short film in three contexts, so the team can compare its placement. */
.ff-hero-v2__slide--video video{display:block;height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .5s ease;width:100%}
.ff-hero-v2__slide--video.has-playing-video video{opacity:1}
.ff-effect-video{background:#081827;color:#fff;padding:clamp(4.5rem,8vw,8rem) 0}
.ff-effect-video--realisations{background:#f3f0eb;color:#102231}
.ff-effect-video .ff-shell{margin-inline:auto;max-width:1240px;width:min(calc(100% - 3rem),1240px)}
.ff-effect-video__grid{align-items:center;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.ff-effect-video .ff-kicker{color:var(--ff-red);margin:0 0 1.4rem}
.ff-effect-video h2{color:inherit;font-size:clamp(2.8rem,4.5vw,4.7rem);font-weight:500;line-height:.98;margin:0 0 1.3rem}
.ff-effect-video__copy>p:last-child{color:inherit;font-size:1.05rem;line-height:1.7;max-width:36rem;opacity:.75}
.ff-effect-video__media{background:#000;border:1px solid rgba(255,255,255,.2);border-radius:10px;box-shadow:0 25px 65px rgba(0,0,0,.2);overflow:hidden}
.ff-effect-video--realisations .ff-effect-video__media{border-color:#d8d1c8}
.ff-effect-video__media video{aspect-ratio:16/9;display:block;height:auto;max-height:70vh;object-fit:contain;width:100%}
@media(max-width:800px){.ff-effect-video__grid{grid-template-columns:1fr}.ff-effect-video .ff-shell{width:calc(100% - 2rem)}}
@media(prefers-reduced-motion:reduce){.ff-hero-v2__slide--video video{display:none}}
