/* ── Theo Sigaud — Custom overrides ── */

/* Wordmark styling */
.codex-wordmark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;letter-spacing:inherit;color:var(--token-fdc773ac-5972-4166-bcbd-b2c1ab05ab27,#cacaca);text-decoration:none;text-transform:none;white-space:nowrap}

/* Hide Framer badges and template promos. Keep #template-overlay visible:
   Framer uses it as the mobile nav portal. */
#__framer-badge-container,
.framer-128qmod-container,
.framer-1jwf3l1,
.framer-ce71be-container{display:none!important}

/* Hide newsletter form (replaced by contact CTA) */
.framer-cawd64 form,
form.framer-10k43uh,
#contact form,
#contact input,
#contact textarea,
.codex-contact-clean form,
.codex-contact-clean input,
.codex-contact-clean textarea{display:none!important;pointer-events:none!important}

/* Contact CTA replacement and oversized headline guard */
#contact{overflow:hidden!important}
#contact .framer-cawd64{width:min(100%,520px)!important;max-width:520px!important;position:relative;z-index:2}
#contact [data-codex-mail-cta]{max-width:100%;box-sizing:border-box}
#contact h1,#contact h2{max-width:100%;overflow-wrap:normal;text-wrap:balance}
#contact .framer-18769o9,
#contact .framer-18769o9 .framer-text{max-width:min(100%,620px)!important;white-space:normal!important;overflow-wrap:break-word!important}
#contact .framer-18769o9 .framer-text span{white-space:normal!important}
.codex-contact-clean [data-codex-mail-cta]{margin-top:0!important}

@media (max-width:809px){
  #contact h1,#contact h2{font-size:clamp(42px,15vw,78px)!important;line-height:.9!important}
  #contact .framer-cawd64{width:100%!important;max-width:100%!important}
  #contact [data-codex-mail-cta]{width:100%!important;max-width:100%!important}
}

/* (Removed: forced opacity/transform overrides that broke navbar animations) */


/* ── Splash screen: hide legacy template wordmark during loading ── */
.framer-2Jgvj .framer-8qbqz0-container{
  opacity:0!important;
}

.codex-loader-brand{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  transform:translate(-50%,-50%);
  color:#0a0a0a;
  font-family:Geist,Inter,Arial,sans-serif;
  font-size:clamp(18px,4vw,42px);
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
}

/* ── Logoipsum placeholders: reduce visibility ── */
img[src*="logoipsum"],
img[srcset*="logoipsum"]{
  opacity:0.12!important;
  filter:grayscale(1)!important;
}

/* ── Fix header CTA button overflow ── */
.framer-JQMe0 .framer-19tl2wc,
.framer-JQMe0 .framer-50p02b{
  font-size:11px!important;
  letter-spacing:-0.02em!important;
}

/* ── Large French headings: keep Framer impact without brutal clipping ── */
.framer-xegdk2 .framer-text,
.framer-gas6qm .framer-text,
.framer-8mfv74 .framer-text{
  font-size:clamp(48px,8.5vw,118px)!important;
  line-height:.95!important;
  letter-spacing:0!important;
  text-wrap:balance;
}

.framer-xegdk2 .framer-text span,
.framer-gas6qm .framer-text span,
.framer-8mfv74 .framer-text span,
.framer-1352ir2 .framer-text span{
  white-space:normal!important;
}

.framer-1352ir2 .framer-text{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  text-wrap:balance;
  filter:none!important;
}

section[data-framer-name="Hero"] video{
  object-fit:contain!important;
  object-position:50% 50%!important;
}

@media (max-width:809px){
  section[data-framer-name="Hero"]{
    margin-bottom:42px!important;
  }

  section[data-framer-name="About"]{
    padding-top:36px!important;
  }

  section[data-framer-name="About"] .framer-1w6c2ni-container h2,
  section[data-framer-name="About"] .framer-1w6c2ni-container span{
    font-size:clamp(30px,8.4vw,36px)!important;
    line-height:1.08!important;
  }

  .framer-xegdk2 .framer-text,
  .framer-gas6qm .framer-text,
  .framer-8mfv74 .framer-text{
    font-size:clamp(38px,11vw,70px)!important;
    line-height:1!important;
  }
  .framer-1352ir2 .framer-text{
    font-size:clamp(16px,4.4vw,20px)!important;
    line-height:1.15!important;
    max-width:72vw!important;
  }
}

@media (max-width:480px){
  .framer-hg4gxq{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    height:auto!important;
  }

  .framer-z6sywq-container,
  .framer-qe83b0-container,
  .framer-hoaeey-container,
  .framer-jf5y18-container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
  }

  .framer-z6sywq-container [style],
  .framer-qe83b0-container [style],
  .framer-hoaeey-container [style],
  .framer-jf5y18-container [style]{
    max-width:100%!important;
  }

  .framer-z6sywq-container span,
  .framer-qe83b0-container span,
  .framer-hoaeey-container span,
  .framer-jf5y18-container span{
    font-size:clamp(46px,15vw,58px)!important;
    line-height:1!important;
  }

  .framer-lt85s6{
    gap:8px!important;
    width:auto!important;
  }

  .framer-1isu3u2{
    width:auto!important;
    gap:6px!important;
  }

  .framer-1059gim,
  .framer-wixd8v{
    display:none!important;
  }
}
