/* Répartition volontairement espacée des fonds illustrés. */
.hero {
  background-image:
    linear-gradient(90deg, rgba(250, 247, 241, .76) 0%, rgba(250, 247, 241, .54) 43%, rgba(250, 247, 241, .12) 74%),
    url("/images/hero-classical-temple.webp");
  background-position: center;
  background-size: cover;
}

.manifesto {
  background:
    linear-gradient(90deg, rgba(6, 47, 80, .91), rgba(6, 47, 80, .72)),
    url("/images/section-golden-clouds.webp") center 57% / cover no-repeat;
}

.intro-section { background: var(--paper); }

.services {
  background:
    linear-gradient(rgba(238, 231, 220, .83), rgba(238, 231, 220, .90)),
    url("/images/section-clouds-drapery.webp") center / cover no-repeat;
}

.fit-section { background: #e8eef1; }
.journal { background: var(--paper); }

.faq {
  background:
    linear-gradient(rgba(238, 231, 220, .82), rgba(238, 231, 220, .91)),
    url("/images/hero-classical-temple.webp") center 60% / cover no-repeat;
}

.contact::before {
  opacity: 1;
  background:
    linear-gradient(rgba(6, 47, 80, .70), rgba(6, 47, 80, .91)),
    url("/images/section-golden-clouds.webp") center 48% / cover no-repeat;
}

@media (max-width: 900px) {
  .hero {
    background-image:
      linear-gradient(rgba(250, 247, 241, .68), rgba(250, 247, 241, .78)),
      url("/images/hero-classical-temple.webp");
    background-position: 44% center;
    background-size: cover;
  }

  .services, .faq, .manifesto, .contact::before { background-position: center; }
}

/* Sélecteur clair / sombre */
.theme-toggle {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  color: var(--blue-deep);
  background: rgba(255, 255, 255, .36);
  border: 1px solid rgba(12, 59, 96, .16);
  border-radius: 50%;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.theme-toggle:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .72); }
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle .icon-sun { display: none; }

html[data-theme="dark"] { color-scheme: dark; --paper: #0b1b24; --ink: #edf1ee; --line: rgba(220, 232, 235, .18); }
html[data-theme="dark"] body { background: #07141c; color: #e8eeef; }
html[data-theme="dark"] .topbar { background: rgba(7, 21, 29, .94); border-color: rgba(222, 205, 166, .18); box-shadow: 0 18px 50px rgba(0, 0, 0, .28); }
html[data-theme="dark"] .logo-wordmark strong,
html[data-theme="dark"] .nav a,
html[data-theme="dark"] .languages button { color: #edf1ee; }
html[data-theme="dark"] .logo-wordmark small { color: #b9c8cc; }
html[data-theme="dark"] .languages button.active { background: rgba(213, 181, 111, .18); color: #ead39d; }
html[data-theme="dark"] .theme-toggle { color: #ead39d; background: rgba(255,255,255,.06); border-color: rgba(234,211,157,.24); }
html[data-theme="dark"] .theme-toggle .icon-moon { display: none; }
html[data-theme="dark"] .theme-toggle .icon-sun { display: block; }
html[data-theme="dark"] .header-cta,
html[data-theme="dark"] .button.primary { background: #d0b06b; color: #07141c; }

html[data-theme="dark"] .hero {
  background-image:
    linear-gradient(90deg, rgba(5, 17, 24, .92) 0%, rgba(7, 23, 32, .77) 48%, rgba(7, 23, 32, .42) 76%),
    url("/images/hero-classical-temple.webp");
}
html[data-theme="dark"] .hero h1,
html[data-theme="dark"] .intro-content h2,
html[data-theme="dark"] .section-heading h2,
html[data-theme="dark"] .fit-grid h3,
html[data-theme="dark"] .journal h2,
html[data-theme="dark"] .faq h2,
html[data-theme="dark"] .faq-list summary { color: #edf1ee; }
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .kicker { color: #d6b873; }
html[data-theme="dark"] .hero-intro,
html[data-theme="dark"] .intro-content > p:not(.kicker),
html[data-theme="dark"] .service-copy p,
html[data-theme="dark"] .fee-note,
html[data-theme="dark"] .continuity p:last-child,
html[data-theme="dark"] .fit-intro,
html[data-theme="dark"] .fit-grid li,
html[data-theme="dark"] .journal > div:first-child > p:not(.kicker),
html[data-theme="dark"] .faq-list p { color: #bdcbd0; }
html[data-theme="dark"] .chips span,
html[data-theme="dark"] .soft-pills span { background: rgba(255,255,255,.055); border-color: rgba(217, 231, 235, .18); color: #e5ecee; }
html[data-theme="dark"] .button.text,
html[data-theme="dark"] .inline-link,
html[data-theme="dark"] .service-copy a,
html[data-theme="dark"] .fit-grid a { color: #e8eeef; border-color: rgba(232,238,239,.32); }
html[data-theme="dark"] .wisdom em { color: #c9d3d5; }

html[data-theme="dark"] .manifesto { background: linear-gradient(90deg, rgba(3,18,27,.90), rgba(4,31,45,.66)), url("/images/section-golden-clouds.webp") center 57%/cover no-repeat; }
html[data-theme="dark"] .intro-section { background: #0a1a23; }
html[data-theme="dark"] .training-block,
html[data-theme="dark"] .continuity { background: rgba(255,255,255,.045); border-color: rgba(213,181,111,.25); }
html[data-theme="dark"] .services { background: linear-gradient(rgba(7,22,30,.79), rgba(8,26,35,.86)), url("/images/section-clouds-drapery.webp") center/cover no-repeat; }
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .fit-grid article { background: rgba(11,28,37,.88); border-color: rgba(255,255,255,.10); }
html[data-theme="dark"] .fit-section { background: #102631; }
html[data-theme="dark"] .journal { background: #091923; }
html[data-theme="dark"] .journal-socials a { color: #eef2f1; background: rgba(12,31,40,.78); border-color: rgba(213,181,111,.34); }
html[data-theme="dark"] .faq { background: linear-gradient(rgba(5,19,27,.80), rgba(7,24,33,.88)), url("/images/hero-classical-temple.webp") center 60%/cover no-repeat; }
html[data-theme="dark"] .faq-list details { border-color: rgba(223,234,236,.17); }
html[data-theme="dark"] footer { background: #06131b; color: #aebfc4; }

@media (max-width: 900px) {
  .theme-toggle { flex-basis: 38px; width: 38px; height: 38px; }
  html[data-theme="dark"] .nav { background: rgba(7, 21, 29, .98); }
  html[data-theme="dark"] .hero {
    background-image: linear-gradient(rgba(5,17,24,.70), rgba(5,17,24,.80)), url("/images/hero-classical-temple.webp");
  }
}

/* Ajustements éditoriaux et responsive v8 */
.hero-copy { max-width: 740px; }
.hero h1 {
  max-width: 740px;
  font-size: clamp(48px, 4vw, 64px);
  font-weight: 300;
  line-height: .94;
}
.hero h1 em {
  color: #557384;
  font-style: italic;
  font-weight: 400;
  white-space: nowrap;
}

.manifesto blockquote { font-size: clamp(28px, 3vw, 45px); line-height: 1.16; }

.service-card { min-height: 670px; }
.service-card.reverse { border-radius: 28px 28px 82px 82px; }
.service-card.reverse .service-copy { padding-bottom: 72px; }
.service-copy h3 { font-size: clamp(36px, 3.25vw, 48px); }
.service-copy p { font-size: 15px; }

.continuity {
  grid-template-columns: auto minmax(0, 1fr) 270px;
  align-items: center;
}
.phone-mockup {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  width: 210px;
  height: 390px;
  padding: 11px;
  border: 1px solid rgba(12,59,96,.22);
  border-radius: 38px;
  background: #102d3d;
  box-shadow: 0 25px 55px rgba(12,59,96,.22);
  transform: rotate(3deg);
}
.phone-screen {
  height: 100%;
  overflow: hidden;
  padding: 34px 15px 18px;
  color: #173c52;
  border-radius: 29px;
  background: linear-gradient(155deg, #fbf7f0, #e6edf0);
  position: relative;
}
.phone-screen::before {
  content: "";
  position: absolute;
  width: 70px;
  height: 18px;
  left: 50%;
  top: 8px;
  border-radius: 12px;
  background: #102d3d;
  transform: translateX(-50%);
}
.phone-brand { display: flex; align-items: center; gap: 8px; font-family: var(--serif); font-size: 17px; letter-spacing: .08em; text-transform: uppercase; }
.phone-brand::before { content: "✦"; color: var(--gold); }
.phone-orbit { width: 112px; height: 112px; margin: 24px auto; padding: 24px; border: 1px solid rgba(183,149,77,.42); border-radius: 50%; }
.phone-orbit span { display: grid; place-items: center; width: 100%; height: 100%; color: #d2b46d; border-radius: 50%; background: #123c52; font-size: 27px; }
.phone-line { height: 8px; margin: 11px 0; border-radius: 8px; background: rgba(23,60,82,.16); }
.phone-line.short { width: 68%; }
.phone-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }
.phone-cards span { height: 58px; border: 1px solid rgba(183,149,77,.28); border-radius: 14px; background: rgba(255,255,255,.58); }

.fit-section .section-heading { grid-template-columns: 1fr; margin-bottom: 42px; }
.fit-section .section-heading > div { max-width: 920px; }
.fit-intro { display: none; }
.fit-grid article { padding: 42px 44px; }
.fit-grid h3 { font-size: clamp(32px, 3vw, 42px); }
.fit-grid ul { margin: 22px 0; }
.fit-grid li { padding-top: 13px; padding-bottom: 13px; }
.fit-grid li::before { top: 18px; }

html[data-theme="dark"] body {
  background: #07141c url("/images/dark-temple.webp") center top / cover fixed no-repeat;
}
html[data-theme="dark"] .hero {
  background-image:
    linear-gradient(90deg, rgba(2,8,12,.64) 0%, rgba(3,16,25,.38) 52%, rgba(3,13,20,.12) 78%),
    url("/images/dark-temple.webp");
  background-position: center;
}
html[data-theme="dark"] .hero h1 em { color: #e2c783; }
html[data-theme="dark"] .logo-symbol,
html[data-theme="dark"] footer img { filter: brightness(0) invert(1); }
html[data-theme="dark"] .service-card { background: rgba(5,25,35,.94); }
html[data-theme="dark"] .service-card.reverse { border-color: rgba(255,255,255,.15); }
html[data-theme="dark"] .phone-mockup { border-color: rgba(231,215,178,.32); box-shadow: 0 25px 65px rgba(0,0,0,.48); }

@media (max-width: 1180px) {
  .continuity { grid-template-columns: auto minmax(0, 1fr) 230px; padding-inline: 38px; }
  .phone-mockup { width: 185px; height: 345px; }
}

@media (max-width: 900px) {
  .hero h1 { font-size: clamp(36px, 7vw, 52px); line-height: .96; }
  .hero h1 em { white-space: nowrap; }
  .hero-portrait-wrap { width: min(62vw, 380px); margin-top: 38px; }
  .hero-portrait { height: min(55vh, 520px); }
  .portrait-label { right: -24px; bottom: 22px; transform: scale(.88); }
  .manifesto blockquote { font-size: clamp(26px, 5.4vw, 36px); }
  .service-card { min-height: 0; }
  .service-card.reverse { border-radius: 28px 28px 70px 70px; }
  .service-card.reverse .service-copy { padding-bottom: 58px; }
  .continuity { grid-template-columns: auto minmax(0, 1fr); }
  .phone-mockup { grid-column: 1 / -1; grid-row: auto; justify-self: center; width: 190px; height: 350px; margin-top: 18px; }
  html[data-theme="dark"] .hero { background-image: linear-gradient(rgba(2,8,12,.38),rgba(2,10,16,.58)),url("/images/dark-temple.webp"); background-position: 58% center; }
}

@media (max-width: 560px) {
  .hero { padding-top: 118px; }
  .hero h1 { font-size: 32px; line-height: .98; letter-spacing: -.015em; }
  .hero h1 em { white-space: nowrap; }
  .hero-intro { font-size: 18px; line-height: 1.42; }
  .hero-portrait-wrap { width: min(72vw, 300px); margin-top: 28px; }
  .hero-portrait { height: min(49vh, 430px); }
  .portrait-halo { inset: -24px; }
  .portrait-label { right: -38px; bottom: 12px; transform: scale(.72); }
  .manifesto { padding: 54px 20px; }
  .manifesto blockquote { font-size: 27px; line-height: 1.18; }
  .manifesto cite { font-size: 18px; }
  .service-card.reverse .service-copy { padding-bottom: 48px; }
  .continuity { padding: 28px 20px; }
  .continuity h3 { font-size: 34px; }
  .continuity p:last-child { font-size: 14px; }
  .phone-mockup { width: 174px; height: 320px; }
  .fit-section .section-heading { margin-bottom: 28px; }
  .fit-grid article { padding: 30px 22px; }
  .fit-grid h3 { font-size: 31px; }
  .fit-grid li { font-size: 14px; line-height: 1.48; }
}
