/* ══════════════════════════════════════════════
   ACCUEIL — sections après le hero
   Mouvement : présence, pas décoration.
   ══════════════════════════════════════════════ */

/* ── Chiffres — bande dynamique ───────────────── */
.s-chiffres-home{
  background:
    radial-gradient(ellipse 60% 80% at 10% 50%, color-mix(in srgb, var(--ocre) 10%, transparent), transparent 60%),
    radial-gradient(ellipse 50% 70% at 90% 40%, color-mix(in srgb, var(--aube) 55%, transparent), transparent 55%),
    var(--calcaire);
  color:var(--encre);
  padding:clamp(64px, 11vh, 120px) 0;
  overflow:hidden;
  position:relative;
}
.chiffres-grille{
  list-style:none;
  max-width:1180px;
  margin-inline:auto;
  padding-inline:var(--pad-x);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1rem, 3vw, 2.5rem);
  text-align:center;
  position:relative;
}

.chiffres-grille li{
  position:relative;
  padding:clamp(.6rem, 2vw, 1.2rem) .8rem;
}
.chiffres-grille .ch-n{
  display:block;
  font-family:var(--f-display);
  font-size:clamp(3.8rem, 10vw, 6.5rem);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.04em;
  color:var(--ocre);
  font-variation-settings:"opsz" 144;
  opacity:0;
  transform:translateY(28px) scale(.92);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.22,.61,.36,1),
    text-shadow .45s ease,
    color .45s ease,
    filter .45s ease;
  cursor:default;
}
.chiffres-grille li:hover .ch-n{
  color:var(--ocre-clair, #E8B87A);
  text-shadow:
    0 0 18px color-mix(in srgb, var(--ocre) 55%, transparent),
    0 0 42px color-mix(in srgb, var(--ocre) 35%, transparent);
  filter:drop-shadow(0 0 10px color-mix(in srgb, var(--ocre) 40%, transparent));
}
.chiffres-grille .ch-l{
  display:block;
  margin-top:.7em;
  font-family:var(--f-display);
  font-size:clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight:400;
  line-height:1.2;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease .12s, transform .55s ease .12s;
}
.chiffres-grille .ch-s{
  display:block;
  margin-top:.4em;
  font-size:.95rem;
  opacity:0;
  line-height:1.4;
  color:color-mix(in srgb, var(--encre) 62%, transparent);
  transform:translateY(10px);
  transition:opacity .5s ease .22s, transform .5s ease .22s;
}
.s-chiffres-home.is-in .ch-n,
.s-chiffres-home.is-in .ch-l,
.s-chiffres-home.is-in .ch-s{
  opacity:1;
  transform:none;
}
.chiffres-grille li:nth-child(2) .ch-n{ transition-delay:.1s; }
.chiffres-grille li:nth-child(2) .ch-l{ transition-delay:.22s; }
.chiffres-grille li:nth-child(2) .ch-s{ transition-delay:.32s; }
.chiffres-grille li:nth-child(3) .ch-n{ transition-delay:.2s; }
.chiffres-grille li:nth-child(3) .ch-l{ transition-delay:.32s; }
.chiffres-grille li:nth-child(3) .ch-s{ transition-delay:.42s; }

@media (max-width:640px){
  .chiffres-grille{
    grid-template-columns:1fr;
    gap:.4rem;
  }
  .chiffres-grille li{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    column-gap:1.1rem;
    align-items:center;
    text-align:left;
    padding:1.1rem 0;
  }
  .chiffres-grille .ch-n{
    grid-row:1 / 3;
    font-size:clamp(3.2rem, 18vw, 4.4rem);
  }
  .chiffres-grille .ch-l{ margin-top:0; }
}

/* Accueil carrousel */
.accueil-carrousel-lien{
  margin-left:auto;
  margin-right:1rem;
  font-size:.95rem;
  color:var(--ocre-clair);
  border-bottom:1px solid color-mix(in srgb, var(--ocre-clair) 35%, transparent);
}
.accueil-carrousel-lien:hover{ border-bottom-color:var(--ocre-clair); }
@media (max-width:720px){
  .accueil-carrousel-lien{ margin:0; flex:1 0 100%; order:3; }
}
/* Piste : léger « breathe » sur la carte active */
.carrousel .est-active .carte-visuel{
  transform:translateY(-10px) scale(1.02);
}

/* ── Image plein cadre + parallaxe ────────────── */
.s-photo-home{
  padding:0;
  background:var(--osiris);
  overflow:hidden;
}
.s-photo-home figure{
  margin:0;
  position:relative;
  /* Landscape frame: keep height moderate so the full façade stays in view */
  aspect-ratio:16 / 9;
  min-height:min(52vh, 28rem);
  max-height:min(78vh, 42rem);
  overflow:hidden;
}
.s-photo-home .photo-track{
  position:absolute; inset:-3% 0;
  will-change:transform;
}
.s-photo-home img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 42%;
  display:block;
  transform:scale(1.02);
}
.s-photo-home .photo-voile{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--osiris) 45%, transparent) 0%,
    transparent 38%,
    color-mix(in srgb, var(--osiris) 72%, transparent) 100%);
  pointer-events:none;
}
.s-photo-home .photo-legende{
  position:absolute; left:var(--pad-x); right:var(--pad-x); bottom:clamp(1.8rem, 5vh, 3.2rem);
  z-index:2;
  max-width:30rem;
  color:var(--calcaire);
  opacity:0;
  transform:translateY(24px);
  transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1);
}
.s-photo-home.is-in .photo-legende{
  opacity:1;
  transform:none;
}
.s-photo-home .photo-legende .label{ color:var(--ocre-clair); }
.s-photo-home .photo-legende p{
  margin-top:.55em;
  font-family:var(--f-display);
  font-style:italic;
  font-size:clamp(1.4rem, 3vw, 2rem);
  line-height:1.25;
}

/* ── Trinité — cartes qui s’avancent ──────────── */
.s-trinite-home{
  background:
    linear-gradient(180deg, var(--calcaire-2), var(--papier));
  color:var(--encre);
  padding:clamp(80px, 12vh, 140px) var(--pad-x);
  overflow:hidden;
}

/* Sceau — trois points → triangle → un */
.trinite-sceau{
  display:flex;
  justify-content:center;
  margin:0 auto clamp(1.8rem, 4vh, 2.8rem);
  pointer-events:none;
}
.trinite-sceau-svg{
  width:min(7.2rem, 22vw);
  height:auto;
  overflow:visible;
}
.trinite-sceau .sceau-face{
  fill:url(#sceau-face);
  opacity:0;
  transform-origin:60px 70px;
  transform:scale(.55);
}
.trinite-sceau .sceau-arete{
  stroke:var(--ocre);
  stroke-width:1.35;
  stroke-dasharray:120;
  stroke-dashoffset:120;
  opacity:.85;
}
.trinite-sceau .sceau-dot{
  fill:var(--ocre);
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
}
.trinite-sceau .sceau-dot.d1{ transform:translate(0, -28px); }
.trinite-sceau .sceau-dot.d2{ transform:translate(26px, 18px); }
.trinite-sceau .sceau-dot.d3{ transform:translate(-26px, 18px); }
.trinite-sceau .sceau-un{
  fill:var(--ocre-clair, #E8B87A);
  opacity:0;
  transform-origin:60px 68px;
  transform:scale(.2);
  filter:url(#sceau-glow);
}

.s-trinite-home.is-in .sceau-dot{
  animation:sceauDotIn .9s cubic-bezier(.22,.61,.36,1) forwards;
}
.s-trinite-home.is-in .sceau-dot.d1{ animation-delay:.05s; }
.s-trinite-home.is-in .sceau-dot.d2{ animation-delay:.18s; }
.s-trinite-home.is-in .sceau-dot.d3{ animation-delay:.3s; }
.s-trinite-home.is-in .sceau-arete{
  animation:sceauDraw .85s ease forwards;
}
.s-trinite-home.is-in .sceau-arete.a1{ animation-delay:.85s; }
.s-trinite-home.is-in .sceau-arete.a2{ animation-delay:1s; }
.s-trinite-home.is-in .sceau-arete.a3{ animation-delay:1.15s; }
.s-trinite-home.is-in .sceau-face{
  animation:sceauFace 1.1s ease forwards;
  animation-delay:1.35s;
}
.s-trinite-home.is-in .sceau-un{
  animation:sceauUn 1.4s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay:1.7s;
}
.s-trinite-home.is-in .trinite-sceau-svg{
  animation:sceauPulse 3.2s ease-in-out 2.6s infinite;
}

@keyframes sceauDotIn{
  0%{ opacity:0; }
  35%{ opacity:1; }
  100%{ opacity:1; transform:translate(0,0); }
}
@keyframes sceauDraw{
  to{ stroke-dashoffset:0; }
}
@keyframes sceauFace{
  to{ opacity:1; transform:scale(1); }
}
@keyframes sceauUn{
  0%{ opacity:0; transform:scale(.2); }
  45%{ opacity:1; transform:scale(1.35); }
  70%{ opacity:1; transform:scale(.95); }
  100%{ opacity:1; transform:scale(1); }
}
@keyframes sceauPulse{
  0%, 100%{ filter:drop-shadow(0 0 0 transparent); }
  50%{ filter:drop-shadow(0 0 14px color-mix(in srgb, var(--ocre) 55%, transparent)); }
}

@media (prefers-reduced-motion: reduce){
  .s-trinite-home.is-in .sceau-dot,
  .s-trinite-home.is-in .sceau-arete,
  .s-trinite-home.is-in .sceau-face,
  .s-trinite-home.is-in .sceau-un,
  .s-trinite-home.is-in .trinite-sceau-svg{
    animation:none !important;
  }
  .trinite-sceau .sceau-dot,
  .trinite-sceau .sceau-face,
  .trinite-sceau .sceau-un{ opacity:1; transform:none; }
  .trinite-sceau .sceau-arete{ stroke-dashoffset:0; }
}

.s-trinite-home .trinite-intro{
  max-width:40rem;
  margin:0 auto clamp(2.4rem, 5vh, 3.6rem);
  text-align:center;
}
.s-trinite-home .trinite-intro .sec-titre{
  margin-inline:auto;
  max-width:14ch;
}
.s-trinite-home .trinite-intro p{
  margin-top:1em;
  font-size:clamp(1.1rem, 1.9vw, 1.3rem);
  line-height:1.6;
  opacity:.82;
}
.figures-trois{
  list-style:none;
  max-width:1180px;
  margin-inline:auto;
  display:grid;
  gap:1.2rem;
}
@media (min-width:900px){
  .figures-trois{ grid-template-columns:repeat(3, 1fr); gap:1.4rem; }
}
@media (max-width:899px){
  .figures-trois{
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    gap:1rem;
    padding-bottom:.6rem;
    margin-inline:calc(var(--pad-x) * -1);
    padding-inline:var(--pad-x);
    scrollbar-width:none;
  }
  .figures-trois::-webkit-scrollbar{ display:none; }
  .figures-trois > li{
    flex:0 0 min(82vw, 22rem);
    scroll-snap-align:center;
  }
}
.figures-trois article{
  position:relative;
  border-radius:var(--rayon-doux);
  overflow:hidden;
  background:var(--osiris);
  color:var(--calcaire);
  min-height:min(58vh, 28rem);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  opacity:0;
  transform:translateY(40px) rotate(.4deg);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.22,.61,.36,1),
    box-shadow .4s ease;
}
.s-trinite-home.is-in .figures-trois article{
  opacity:1;
  transform:none;
}
.s-trinite-home.is-in .figures-trois li:nth-child(2) article{ transition-delay:.12s; }
.s-trinite-home.is-in .figures-trois li:nth-child(3) article{ transition-delay:.24s; }
.figures-trois article:hover{
  box-shadow:0 28px 60px rgba(41,31,22,.22);
  transform:translateY(-8px);
}
.figures-trois .fig-media{
  position:absolute; inset:0; margin:0;
}
.figures-trois .fig-media img{
  width:100%; height:100%;
  object-fit:cover; display:block;
  transform:scale(1.06);
  transition:transform 1.3s ease, filter .5s ease;
  filter:brightness(.7) saturate(.95);
}
.figures-trois article:hover .fig-media img{
  transform:scale(1.12);
  filter:brightness(.88) saturate(1.05);
}
.figures-trois .fig-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg,
    color-mix(in srgb, var(--osiris) 94%, transparent) 0%,
    color-mix(in srgb, var(--osiris) 35%, transparent) 55%,
    transparent 100%);
}
.figures-trois .fig-corps{
  position:relative; z-index:2;
  padding:1.6rem 1.45rem 1.7rem;
}
.figures-trois .god{
  display:block;
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  letter-spacing:.12em;
  margin:.35em 0 .5em;
}
.figures-trois .fig-role{
  font-family:var(--f-display);
  font-style:italic;
  font-size:clamp(1.15rem, 2vw, 1.35rem);
  line-height:1.35;
  margin:0 0 .7em;
  color:var(--ocre-clair);
}
.figures-trois .fig-corps p{
  margin:0;
  font-size:1.02rem;
  line-height:1.55;
  opacity:.88;
}
.s-trinite-home .trinite-cta{
  margin-top:clamp(2rem, 4vh, 2.8rem);
  text-align:center;
}

/* ── Lettre ───────────────────────────────────── */
.s-lettre-home{
  background:
    radial-gradient(ellipse 70% 80% at 85% 20%, color-mix(in srgb, var(--ocre) 22%, transparent), transparent 55%),
    var(--pierre-mi);
  color:var(--calcaire);
  padding:clamp(88px, 14vh, 140px) var(--pad-x);
  overflow:hidden;
}
.lettre-grille{
  max-width:1080px;
  margin-inline:auto;
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
  align-items:end;
}
@media (min-width:820px){
  .lettre-grille{ grid-template-columns:1.1fr .9fr; }
}
.lettre-grille .label{ color:var(--ocre-clair); }
.lettre-grille h2{
  font-family:var(--f-display);
  font-size:clamp(2rem, 4vw, 3.1rem);
  font-weight:400;
  line-height:1.08;
  margin-top:.4em;
  max-width:12ch;
}
.lettre-grille .lettre-dire{
  margin-top:1em;
  font-size:clamp(1.1rem, 1.8vw, 1.25rem);
  line-height:1.55;
  opacity:.88;
  max-width:36ch;
}
.lettre-carte{
  background:color-mix(in srgb, var(--osiris) 45%, transparent);
  border:1px solid color-mix(in srgb, var(--calcaire) 16%, transparent);
  border-radius:var(--rayon-doux);
  padding:clamp(1.4rem, 3vw, 2rem);
  backdrop-filter:blur(8px);
  opacity:0;
  transform:translateX(28px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);
}
.s-lettre-home.is-in .lettre-carte{
  opacity:1;
  transform:none;
}
.lettre-carte form{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.lettre-carte input[type="email"]{
  width:100%;
  font-family:var(--f-body);
  font-size:1.05rem;
  color:var(--calcaire);
  background:color-mix(in srgb, var(--calcaire) 6%, transparent);
  border:1px solid color-mix(in srgb, var(--calcaire) 28%, transparent);
  border-radius:var(--rayon-champ);
  padding:1em 1.15em;
  transition:border-color .25s, background .25s;
}
.lettre-carte input::placeholder{
  color:color-mix(in srgb, var(--calcaire) 48%, transparent);
}
.lettre-carte input:focus{
  outline:none;
  border-color:var(--ocre-clair);
  background:color-mix(in srgb, var(--calcaire) 10%, transparent);
}
.lettre-carte .btn{ width:100%; text-align:center; }
.lettre-carte .lettre-retour{
  min-height:1.3em;
  font-size:.92rem;
  opacity:.8;
}
.lettre-carte .lettre-mention{
  margin-top:.4em;
  font-size:.85rem;
  opacity:.6;
  line-height:1.45;
}

@media (max-width:720px){
  .s-chiffres-home{ padding:clamp(48px, 9vh, 80px) 0; }
  .s-photo-home figure{
    aspect-ratio:4 / 3;
    min-height:min(42vh, 22rem);
    max-height:none;
  }
  .s-photo-home .photo-legende p{
    font-size:clamp(1.25rem, 5.5vw, 1.65rem);
  }
  .s-trinite-home{
    padding:clamp(56px, 10vh, 96px) var(--pad-x);
  }
  .figures-trois article,
  .figures-trois > li article{ min-height:min(52vh, 22rem); }
  .s-trinite-home .trinite-cta{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:.75rem;
  }
  .s-trinite-home .trinite-cta .btn{
    margin-left:0 !important;
    text-align:center;
  }
  .s-lettre-home{ padding:clamp(64px, 12vh, 100px) var(--pad-x); }
  .lettre-grille h2{ max-width:10ch; }
  .lettre-carte{ transform:translateY(20px); }
  .s-lettre-home.is-in .lettre-carte{ transform:none; }
}

@media (prefers-reduced-motion: reduce){
  .chiffres-grille .ch-n,
  .chiffres-grille .ch-l,
  .chiffres-grille .ch-s,
  .figures-trois article,
  .lettre-carte,
  .s-photo-home .photo-legende{
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .chiffres-grille li:hover .ch-n{
    filter:none;
    text-shadow:none;
  }
  .s-photo-home .photo-track{ transform:none !important; }
  .figures-trois article:hover,
  .figures-trois article:hover .fig-media img{
    transform:none !important;
  }
}
