.elementor-708 .elementor-element.elementor-element-8468dec{--display:flex;--overlay-opacity:0.67;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-708 .elementor-element.elementor-element-8468dec::before, .elementor-708 .elementor-element.elementor-element-8468dec > .elementor-background-video-container::before, .elementor-708 .elementor-element.elementor-element-8468dec > .e-con-inner > .elementor-background-video-container::before, .elementor-708 .elementor-element.elementor-element-8468dec > .elementor-background-slideshow::before, .elementor-708 .elementor-element.elementor-element-8468dec > .e-con-inner > .elementor-background-slideshow::before, .elementor-708 .elementor-element.elementor-element-8468dec > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-708 .elementor-element.elementor-element-072b664{--display:flex;}.elementor-708 .elementor-element.elementor-element-c692a6b{--display:flex;}.elementor-708 .elementor-element.elementor-element-f112299{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:35px;--padding-left:0px;--padding-right:0px;}.elementor-708 .elementor-element.elementor-element-2c942f8.elementor-element{--align-self:center;}.elementor-708 .elementor-element.elementor-element-42c6cf9{--display:flex;}@media(max-width:767px){.elementor-708 .elementor-element.elementor-element-e9415eb > .elementor-widget-container{margin:80px 0px 0px 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-708 .elementor-element.elementor-element-8468dec{--content-width:1600px;}.elementor-708 .elementor-element.elementor-element-072b664{--content-width:1600px;}}/* Start custom CSS for html, class: .elementor-element-e9415eb *//* ===== SCENOGRAPHIE FRANCE — H1 rotatif compact, centré ===== */
.sf-hero-rot{
  --bg:#000;
  --fg:#fff;
  --muted:#b9b9b9;
  --px: 24px;
  --title: 40px;       /* demandé */
  --desc: 14.4px;      /* demandé */
  --maxw: 820px;

  color: var(--fg);
  : var(--bg);
  : ;

  /* Full largeur réelle hors "boxed" Elementor */
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;

  min-height: 60vh;
  display: grid;
  place-items: center;
  text-align: center;
}

.sf-hero-rot__inner{
  width: 100%;
  max-width: var(--maxw);
  padding: 12vh var(--px);
  margin: 0 auto;
}

/* Fond discret à traits (statique) — retire ce bloc si tu n'en veux pas */
.sf-hero-rot__bg{
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.07) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(to right,  rgba(255,255,255,0.05) 1px, transparent 1px) 0 0 / 64px 64px;
  opacity: .;
}

/* Titre compact centré */
.sf-rot__title{
  position: relative; z-index: 1;
  margin: 0 0 12px;
  font: 800 var(--title)/1.05 "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: -0.02em;
}
.sf-rot__title .sf-rot__word{
  display: inline-block;
  min-width: .5ch;
  margin-left: .18em;
  position: relative;
}

/* Transition du mot (fade + slide léger) */
.sf-rot__word{ opacity: 1; transform: translateY(0); transition: opacity .35s ease, transform .35s ease; }
.sf-rot__word.is-out{ opacity: 0; transform: translateY(10px); }
.sf-rot__word.is-in{ opacity: 1; transform: translateY(0); }

/* Curseur “caret” discret (enlever si inutile) */
.sf-rot__word::after{
  content: "";
  display: inline-block;
  width: 8px; height: 1.05em;
  margin-left: .08em;
  border-right: 2px solid rgba(255,255,255,.55);
  transform: translateY(.12em);
  opacity: .5;
}

/* Sous-titre 14.4px centré */
.sf-rot__desc{
  position: relative; z-index: 1;
  color: var(--muted);
  margin: 0 0 20px;
  max-width: 70ch;
  font: 400 var(--desc)/1.55 "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* CTA centré */
.sf-rot__cta{ position: relative; z-index: 1; margin: 0; } 

/* Bouton ghost — padding demandé 12x24 */
.sf-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 24px;                /* demandé */
  border-radius: 999px;
  border:1px solid #fff;
  color:#fff; text-decoration:none;
  font: 600 15px/1 "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  transition: background-color .25s, color .25s, border-color .25s, transform .25s;
}
.sf-btn--ghost:hover{ background:#fff; color:#000; transform: translateY(-1px); }

/* Réduction animations si préférences */
@media (prefers-reduced-motion: reduce){
  .sf-rot__word{ transition: none !important; }
  .sf-btn{ transition: none !important; }
}
/* Ajoute ça */
.sf-rot__word::before{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px;
  background: linear-gradient(90deg,#fff 0%, rgba(255,255,255,.3) 100%);
  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.sf-rot__word.is-in::before{ transform: scaleX(1); }
.sf-btn{
  position:relative; overflow:hidden;
}
.sf-btn::after{
  content:""; position:absolute; inset:-200% -30%;
  background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%);
  transform: translateX(-60%);
  transition: transform .6s ease;
  pointer-events:none;
}
.sf-btn:hover::after{ transform: translateX(60%); }
.sf-hero-rot{
  outline:1px solid rgba(255,255,255,.06);
  outline-offset: -12px;
}
@media (max-width:768px){ .sf-hero-rot{ outline-offset:-8px; } }
.page-id-708 .entry-title{
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-14a61cb *//* ===== GRID 4 colonnes, cartes 270x340, gap 10px ===== */
.sf-projects{
  --gap: 10px;
  --card-w: 270px;
  --card-h: 340px;
  --fg: #000;
  --muted: #333;
  --title: 16px;
  --labels: 12px;
  background: #fff;
  padding: 40px 0;
}

/* FILTRES (style = ton CTA) */
.sf-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin: 0 auto 30px auto;
}
.sf-filter{
  appearance:none;
  border:2px solid #000;
  background:transparent;
  color:#000;
  padding:10px 24px;
  border-radius:999px;
  font:600 14px/1 "Montserrat", sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  transition: all .3s ease;
}
.sf-filter:hover{
  background:#000;
  color:#fff;
  transform: translateY(-2px);
}
.sf-filter.is-active{
  background:#000;
  color:#fff;
}

/* GRILLE */
.sf-grid{
  display: grid;
  grid-template-columns: repeat(4, var(--card-w));
  gap: var(--gap);
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  max-width: calc(4 * var(--card-w) + 3 * var(--gap));
}

/* CARTES */
.sf-card{
  position: relative;
  width: var(--card-w);
  height: var(--card-h);
  border: 2px solid #000;
  border-radius: 18px;
  overflow: hidden;
  color: var(--fg);
  background: #fff center/cover no-repeat;
  background-image: var(--bg);
  transition: transform .3s ease, box-shadow .3s ease;
}
.sf-card:hover{
  transform: scale(1.03);
  box-shadow: 4px 4px 0 #000;
}
.sf-card__link{ position:absolute; inset:0; z-index:3; }
.sf-card__labels{
  position: absolute; left: 10px; top: 10px; z-index: 2;
  font: 600 var(--labels)/1.2 "Montserrat", sans-serif;
  letter-spacing: .02em;
  color: var(--fg);
  background: rgba(255,255,255,.8);
  padding: 4px 6px; border-radius: 6px;
}
.sf-card__title{
  position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 2;
  margin: 0;
  font: 800 var(--title)/1.1 "Montserrat", sans-serif;
  letter-spacing: -0.02em;
  background: rgba(255,255,255,.85);
  padding: 4px 6px; border-radius: 6px;
}

/* Filtrage */
.sf-card.is-hidden{ display:none; }

/* Responsive */
@media (max-width: 1200px){
  .sf-grid{ grid-template-columns: repeat(3, var(--card-w)); max-width: calc(3 * var(--card-w) + 2 * var(--gap)); }
}
@media (max-width: 900px){
  .sf-grid{ grid-template-columns: repeat(2, var(--card-w)); max-width: calc(2 * var(--card-w) + 1 * var(--gap)); }
}
@media (max-width: 600px){
  .sf-grid{ grid-template-columns: 1fr; max-width: var(--card-w); }
  .sf-card{ width: 100%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-20254df *//* ===== Custom Cursor — base ===== */
:root{
  --sf-cursor-dot: 6px;      /* point central */
  --sf-cursor-ring: 24px;    /* diamètre anneau base */
  --sf-cursor-weight: 2px;   /* épaisseur anneau base */
  --sf-cursor-speed: 140ms;  /* inertie */
}

/* Masquer le curseur natif (sauf inputs) */
html:not(.sf-ibeam) body{ cursor: none !important; }
a, button, [role="button"], .sf-btn{ cursor: none !important; }

.sf-cursor{
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: difference; /* lisible partout */
}

.sf-cursor__dot,
.sf-cursor__ring,
.sf-cursor__brackets{ position: fixed; left: 0; top: 0; transform: translate3d(-100px,-100px,0); }

/* Dot */
.sf-cursor__dot{
  width: var(--sf-cursor-dot);
  height: var(--sf-cursor-dot);
  margin-left: calc(var(--sf-cursor-dot) * -0.5);
  margin-top:  calc(var(--sf-cursor-dot) * -0.5);
  border-radius: 50%;
  background: #fff;
  transition: transform var(--sf-cursor-speed) cubic-bezier(.2,.7,.2,1), opacity .2s;
  will-change: transform, opacity;
}

/* Ring */
.sf-cursor__ring{
  width: var(--sf-cursor-ring);
  height: var(--sf-cursor-ring);
  margin-left: calc(var(--sf-cursor-ring) * -0.5);
  margin-top:  calc(var(--sf-cursor-ring) * -0.5);
  border-radius: 50%;
  border: var(--sf-cursor-weight) solid #fff;
  transition:
    transform var(--sf-cursor-speed) cubic-bezier(.2,.7,.2,1),
    width .18s ease, height .18s ease, margin .18s ease, border-width .18s ease, opacity .2s;
  will-change: transform, opacity, width, height;
  opacity: .95;
}

/* Brackets (coins affichés en mode carte) */
.sf-cursor__brackets{
  width: 80px; height: 80px;
  margin-left: -40px; margin-top: -40px;
  opacity: 0;
  transition: opacity .18s ease, transform var(--sf-cursor-speed) cubic-bezier(.2,.7,.2,1);
}
.sf-cursor__brackets .b{
  position:absolute; width:16px; height:16px; border:2px solid #fff;
}
.sf-cursor__brackets .tl{ left:0; top:0; border-right:none; border-bottom:none; border-radius:4px 0 0 0; }
.sf-cursor__brackets .tr{ right:0; top:0; border-left:none; border-bottom:none; border-radius:0 4px 0 0; }
.sf-cursor__brackets .bl{ left:0; bottom:0; border-right:none; border-top:none; border-radius:0 0 0 4px; }
.sf-cursor__brackets .br{ right:0; bottom:0; border-left:none; border-top:none; border-radius:0 0 4px 0; }

/* États */
.sf-cursor.--hover .sf-cursor__ring{
  width: 38px; height: 38px; margin-left:-19px; margin-top:-19px;
}
.sf-cursor.--press .sf-cursor__ring{
  width: 28px; height: 28px; margin-left:-14px; margin-top:-14px;
}

/* === Mode carte : expansion + brackets visibles === */
.sf-cursor.--card .sf-cursor__ring{
  width: 80px; height: 80px; margin-left:-40px; margin-top:-40px;
  border-width: 2px;
}
.sf-cursor.--card .sf-cursor__dot{ opacity: .6; }
.sf-cursor.--card .sf-cursor__brackets{ opacity: 1; }

/* Inactivité */
.sf-cursor.--idle .sf-cursor__ring{ opacity:.4; }

/* Zones texte → on rend l’I-beam natif et on masque notre curseur */
html.sf-ibeam body{ cursor: text !important; }
html.sf-ibeam .sf-cursor{ display:none; }

/* Accessibilité */
@media (prefers-reduced-motion: reduce){
  .sf-cursor{ display:none !important; }
  html body{ cursor:auto !important; }
}

/* Elementor preview/iframes : si parent overflow clip → forcer body direct (géré en JS) *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c942f8 */.sf-cta {
  display: inline-block;
  padding: 14px 28px;
  background: #000; /* fond noir élégant */
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border-radius: 50px; /* bouton arrondi */
  border: 1px solid #000;
  transition: all 0.3s ease;
}

.sf-cta:hover {
  background: transparent;
  color: #000;
  box-shadow: 4px 4px 0 #000;
  transform: translateY(-2px);
}/* End custom CSS */