@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&display=swap");

:root {
  --bleu-nuit: #163f6b;
  --bleu-nuit-fonce: #0f3153;
  --bleu-petrole: #178da3;
  --bleu-petrole-doux: #e5f3f5;
  --fond: #fbfcfc;
  --fond-secondaire: #f5f9f9;
  --blanc: #ffffff;
  --texte: #33424d;
  --texte-doux: #687985;
  --bordure: rgba(22, 63, 107, 0.10);
  --ombre: 0 22px 50px rgba(17, 54, 82, 0.10);
  --rayon: 24px;
  --max: 1240px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--fond);
  color: var(--texte);
  line-height: 1.68;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container {
  width: min(var(--max), calc(100% - 46px));
  margin: 0 auto;
}

h1, h2, h3, .brand-name, .identity-quote, .quote p {
  font-family: Georgia, "Times New Roman", serif;
}

/* Header */
header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(251, 252, 252, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(22, 63, 107, 0.07);
}

.nav {
  min-height: 96px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
  min-width: 0;
}

.brand-icon {
  width: 82px;
  height: auto;
  flex: 0 0 auto;
}

.brand-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.brand-name {
  color: var(--bleu-nuit);
  font-size: clamp(1.8rem, 2.3vw, 2.55rem);
  letter-spacing: -0.035em;
  white-space: nowrap;
  line-height: 1;
}

.brand-role {
  color: var(--bleu-petrole);
  font-size: 0.84rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  white-space: nowrap;
}

nav { flex: 1 1 auto; min-width: 0; }

nav ul {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  align-items: center;
  font-size: 0.96rem;
  flex-wrap: nowrap;
}

nav a {
  color: var(--texte-doux);
  transition: color 0.2s ease;
  white-space: nowrap;
}

nav a:hover,
nav a.active {
  color: var(--bleu-nuit);
  font-weight: 700;
}

nav a.active:not(.nav-cta) {
  position: relative;
}

nav a.active:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 3px;
  background: var(--bleu-petrole);
  border-radius: 999px;
}

.nav-cta {
  background: var(--bleu-nuit);
  color: var(--blanc) !important;
  padding: 11px 18px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(22, 63, 107, 0.16);
}

.nav-cta:hover { background: var(--bleu-nuit-fonce); }

/* Layout */
main { overflow: hidden; }
section { padding: 82px 0; }

.hero,
.page-hero {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfc 100%);
  border-bottom: 1px solid rgba(22, 63, 107, 0.06);
}

.hero { padding: 90px 0 76px; }
.page-hero { padding: 74px 0 58px; }

.hero::before,
.page-hero::before {
  content: "";
  position: absolute;
  right: 5%;
  top: 32px;
  width: min(34vw, 430px);
  height: min(60vw, 760px);
  background: url("../images/feuille-decorative-psychologue-moulins.png") no-repeat center / contain;
  opacity: 0.34;
  pointer-events: none;
}

.hero::after,
.page-hero::after {
  content: "";
  position: absolute;
  left: -40px;
  bottom: 24px;
  width: 220px;
  height: 220px;
  background: url("../images/feuille-decorative-site-psychologue.png") no-repeat center / contain;
  opacity: 0.10;
  transform: rotate(-12deg);
  pointer-events: none;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--bleu-petrole);
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.84rem;
}

.eyebrow::before {
  content: "";
  width: 40px;
  height: 2px;
  background: var(--bleu-petrole);
  display: inline-block;
}

h1 {
  color: var(--bleu-nuit);
  font-size: clamp(2.2rem, 4.2vw, 4.15rem);
  line-height: 1.04;
  margin-bottom: 18px;
  letter-spacing: -0.045em;
  max-width: 980px;
}

.subtitle {
  color: var(--bleu-petrole);
  font-size: clamp(1.18rem, 2vw, 1.48rem);
  font-weight: 700;
  margin-bottom: 18px;
}

.baseline,
.lead {
  color: var(--texte-doux);
  font-size: 1.08rem;
  max-width: 900px;
}

.baseline {
  max-width: 690px;
  margin-bottom: 26px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 14px;
  font-weight: 700;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(23, 49, 58, 0.14);
}

.button-primary {
  background: var(--bleu-nuit);
  color: var(--blanc);
}

.button-primary:hover { background: var(--bleu-nuit-fonce); }

.button-secondary {
  background: rgba(255,255,255,0.95);
  color: var(--bleu-nuit);
  border-color: rgba(22, 63, 107, 0.18);
}

/* Cards */
.hero-card,
.panel,
.card,
.axis,
.step,
.quote,
.identity-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--bordure);
  box-shadow: var(--ombre);
}

.hero-card {
  border-radius: 28px;
  padding: 30px;
  position: relative;
}
.hero-card::after,
.identity-card::after,
.quote::before {
  content: "";
  position: absolute;
  background: url("../images/motif-branche.png") no-repeat center / contain;
  opacity: 0.95;
  pointer-events: none;
}
.hero-card::after {
  right: 24px;
  bottom: 18px;
  width: 90px;
  height: 34px;
}
.identity-card::after {
  right: 18px;
  bottom: 12px;
  width: 86px;
  height: 34px;
}
.quote::before {
  left: calc(50% - 45px);
  top: 18px;
  width: 90px;
  height: 30px;
}


.identity-panel {
  display: grid;
  gap: 18px;
}

.identity-line {
  width: 64px;
  height: 4px;
  border-radius: 999px;
  background: var(--bleu-petrole);
}

.identity-quote {
  color: var(--bleu-nuit);
  font-size: 1.38rem;
  line-height: 1.34;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.identity-text { color: var(--texte-doux); }

.pill-list { display: none; }

.context-box,
.info-item,
.contact-item,
.theme,
.price,
.notice {
  background: var(--fond-secondaire);
  border: 1px solid rgba(22, 63, 107, 0.08);
  border-radius: 18px;
}

.context-box {
  padding: 18px;
  color: var(--texte-doux);
}

.context-box strong { color: var(--bleu-nuit); }

.section-title {
  max-width: 860px;
  margin-bottom: 38px;
}

.section-title h2 {
  color: var(--bleu-nuit);
  font-size: clamp(1.85rem, 2.7vw, 2.6rem);
  line-height: 1.1;
  margin-bottom: 14px;
  letter-spacing: -0.034em;
}

.section-title p {
  color: var(--texte-doux);
  font-size: 1.06rem;
}

.cards { display: grid; gap: 24px; }

.three-cards,
.cards:not(.four-cards):not(.two-cards) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.two-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.four-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.card {
  border-radius: 22px;
  padding: 30px 28px;
  min-height: 100%;
}

.card .icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--bleu-petrole-doux);
  color: var(--bleu-petrole);
  font-size: 1.35rem;
  margin-bottom: 18px;
}

.card-icon {
  width: 88px;
  height: 88px;
  object-fit: contain;
  margin-bottom: 16px;
}

.card h3 {
  color: var(--bleu-nuit);
  font-size: 1.34rem;
  line-height: 1.24;
  margin-bottom: 12px;
}

.card p,
.card span,
.card li {
  color: var(--texte-doux);
}

.card a,
.axis-link {
  color: var(--bleu-petrole);
  font-weight: 700;
}

.card a { display: inline-flex; margin-top: 14px; }

.card ul,
.panel ul {
  padding-left: 20px;
  color: var(--texte-doux);
  margin-top: 16px;
}

.card li + li,
.panel li + li { margin-top: 8px; }

.card strong {
  display: block;
  color: var(--bleu-nuit);
  margin-bottom: 6px;
}

/* Sections */
.highlight {
  background: linear-gradient(135deg, #143b66, #184c7d);
  color: var(--blanc);
  border-radius: 30px;
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 34px;
  align-items: center;
  box-shadow: 0 24px 48px rgba(15, 51, 72, 0.18);
  position: relative;
  overflow: hidden;
}

.highlight h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.45rem);
  line-height: 1.12;
  margin-bottom: 14px;
  letter-spacing: -0.03em;
}

.highlight p,
.highlight li { color: rgba(255,255,255,0.86); }

.highlight-box {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 22px;
  padding: 24px;
}

.highlight-box ul { padding-left: 20px; }
.highlight-box li + li { margin-top: 8px; }

.muted-section,
.contact-strip {
  background: var(--fond-secondaire);
  border-top: 1px solid rgba(22, 63, 107, 0.08);
  border-bottom: 1px solid rgba(22, 63, 107, 0.08);
  position: relative;
}

.muted-section::before,
.contact-strip::before {
  content: "";
  position: absolute;
  left: -34px;
  bottom: -10px;
  width: 200px;
  height: 190px;
  background: url("../images/feuille-decorative-site-psychologue.png") no-repeat center / contain;
  opacity: 0.07;
  transform: rotate(-10deg);
  pointer-events: none;
}

.contact-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}

.contact-content h2 {
  color: var(--bleu-nuit);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1.14;
  margin-bottom: 10px;
}

.contact-content p { color: var(--texte-doux); }

.split {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 36px;
  align-items: start;
}

.two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.panel {
  border-radius: 28px;
  padding: 34px;
}

.panel h2 {
  color: var(--bleu-nuit);
  font-size: clamp(1.6rem, 2.7vw, 2.2rem);
  line-height: 1.14;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}

.panel h3 {
  color: var(--bleu-nuit);
  font-size: 1.25rem;
  margin-bottom: 8px;
}

.panel p { color: var(--texte-doux); }

.panel p + p,
.panel-block + .panel-block { margin-top: 18px; }

.info-list,
.contact-list { display: grid; gap: 14px; }

.contact-list { margin-top: 24px; }

.info-item,
.contact-item { padding: 18px; }

.info-item strong,
.contact-item strong {
  color: var(--bleu-nuit);
  display: block;
  margin-bottom: 4px;
}

.info-item span,
.contact-item span,
.contact-item a { color: var(--texte-doux); }

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

/* Prices */
.price {
  margin-top: 20px;
  padding: 15px;
  color: var(--bleu-nuit);
  font-weight: 700;
}

.price span {
  display: block;
  color: var(--texte-doux);
  font-size: 0.92rem;
  font-weight: 400;
  margin-top: 4px;
}

/* Axis */
.axis-layout { display: grid; gap: 28px; }

.axis {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 28px;
  align-items: stretch;
  border-radius: 28px;
  padding: 32px;
}

.axis-intro {
  border-right: 1px solid rgba(22, 63, 107, 0.10);
  padding-right: 28px;
}

.axis-number {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--bleu-nuit);
  color: var(--blanc);
  display: grid;
  place-items: center;
  font-weight: 700;
  margin-bottom: 18px;
}

.axis h3 {
  color: var(--bleu-nuit);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.18;
  margin-bottom: 12px;
  letter-spacing: -0.025em;
}

.axis-intro p { color: var(--texte-doux); }
.axis-link { display: inline-flex; margin-top: 18px; }
.themes { display: grid; gap: 14px; }
.theme { padding: 16px; }
.theme strong { display: block; color: var(--bleu-nuit); margin-bottom: 4px; }
.theme span { color: var(--texte-doux); }

/* Identity / quote */
.identity-card {
  border-radius: 30px;
  padding: 34px;
  position: relative;
}

.identity-card h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
  color: var(--bleu-nuit);
}

.identity-card p { color: var(--texte-doux); }

.identity-card ul {
  list-style: none;
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.identity-card li {
  padding: 14px;
  border-radius: 16px;
  background: var(--fond-secondaire);
  border: 1px solid rgba(22, 63, 107, 0.08);
  color: var(--bleu-nuit);
}

.quote {
  border-radius: 30px;
  padding: 52px 48px 48px;
  text-align: center;
  position: relative;
}

.quote p {
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  line-height: 1.18;
  letter-spacing: -0.035em;
  font-weight: 700;
  max-width: 880px;
  margin: 0 auto;
  color: var(--bleu-nuit);
}

/* Steps */
.steps { display: grid; gap: 18px; }

.step {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  align-items: start;
  border-radius: 22px;
  padding: 22px;
}

.step-number {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: var(--bleu-nuit);
  color: var(--blanc);
  display: grid;
  place-items: center;
  font-weight: 700;
}

.step h3 {
  color: var(--bleu-nuit);
  font-size: 1.18rem;
  margin-bottom: 4px;
}

.step p { color: var(--texte-doux); }

/* Form */
form { display: grid; gap: 18px; }

.form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.field { display: grid; gap: 8px; }

label {
  color: var(--bleu-nuit);
  font-weight: 700;
  font-size: 0.95rem;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(22, 63, 107, 0.14);
  border-radius: 16px;
  padding: 13px 14px;
  font: inherit;
  color: var(--texte);
  background: var(--fond);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--bleu-petrole);
  box-shadow: 0 0 0 4px rgba(23, 141, 163, 0.12);
}

textarea {
  min-height: 160px;
  resize: vertical;
}

.notice {
  font-size: 0.92rem;
  color: var(--texte-doux);
  padding: 16px;
}

/* Footer */
footer {
  padding: 36px 0;
  background: var(--bleu-nuit-fonce);
  color: rgba(255,255,255,0.78);
  font-size: 0.94rem;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

footer a { color: rgba(255,255,255,0.9); }

/* Responsive */
@media (max-width: 1240px) {
  .brand-icon { width: 74px; }
  .brand-name { font-size: 2.15rem; }
  nav ul { gap: 15px; font-size: 0.92rem; }
}

@media (max-width: 980px) {
  .nav {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 0;
  }

  nav { width: 100%; }

  nav ul {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 16px;
  }

  .brand-name { white-space: normal; }
  .brand-role { letter-spacing: 0.28em; }

  .hero-grid,
  .cards,
  .three-cards,
  .four-cards,
  .two-cards,
  .split,
  .two-columns,
  .axis,
  .highlight,
  .info-grid {
    grid-template-columns: 1fr;
  }

  .axis-intro {
    border-right: none;
    border-bottom: 1px solid rgba(22, 63, 107, 0.10);
    padding-right: 0;
    padding-bottom: 24px;
  }

  .contact-content {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero::before,
.page-hero::before {
  content: "";
  position: absolute;
  right: 5%;
  top: 32px;
  width: min(34vw, 430px);
  height: min(60vw, 760px);
  background: url("../images/feuille-decorative-psychologue-moulins.png") no-repeat center / contain;
  opacity: 0.34;
  pointer-events: none;
}
}

@media (max-width: 650px) {
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .container { width: min(100% - 28px, var(--max)); }
  .hero, .page-hero { padding: 54px 0 46px; }
  section { padding: 54px 0; }

  .hero-card,
  .card,
  .panel,
  .axis,
  .highlight,
  .identity-card,
  .quote,
  .step {
    padding: 22px;
  }

  .step { grid-template-columns: 1fr; }

  .hero::before,
  .page-hero::before,
  .hero::after,
  .page-hero::after,
  .muted-section::before,
  .contact-strip::before,
  .hero-card::after,
  .identity-card::after,
  .quote::before {
    display: none;
  }

  nav ul { font-size: 0.9rem; }
  .brand-icon { width: 66px; }
  .brand-name { font-size: 1.8rem; }
}

.app-objectives .card-icon { width: 84px; height: 84px; margin-bottom: 18px; }


.brand-full-logo {
  width: clamp(270px, 26vw, 430px);
  height: auto;
  display: block;
}


.brand.using-full-logo {
  display: flex;
  align-items: center;
}
.brand.using-full-logo .brand-icon,
.brand.using-full-logo .brand-text {
  display: none;
}
@media (max-width: 700px) {
  .brand-full-logo {
    width: min(78vw, 330px);
  }
}


/* --- Correctif header : logo + menu --- */
.nav {
  gap: 56px;
}

.brand.using-full-logo {
  flex: 0 0 auto;
  max-width: 340px;
}

.brand-full-logo {
  width: min(340px, 24vw);
  max-width: 340px;
  height: auto;
  display: block;
}

nav {
  flex: 1 1 auto;
  min-width: 0;
}

nav ul {
  justify-content: flex-end;
  flex-wrap: nowrap;
}

@media (max-width: 1180px) {
  .nav {
    gap: 28px;
  }

  .brand.using-full-logo {
    max-width: 300px;
  }

  .brand-full-logo {
    width: min(300px, 32vw);
  }

  nav ul {
    gap: 13px;
    font-size: 0.92rem;
  }
}

@media (max-width: 980px) {
  .brand.using-full-logo {
    max-width: none;
  }

  .brand-full-logo {
    width: min(330px, 78vw);
  }

  nav ul {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}


/* --- Correctif feuilles décoratives : toujours derrière le contenu --- */
.hero,
.page-hero,
.muted-section,
.contact-strip {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero > .container,
.page-hero > .container,
.muted-section > .container,
.contact-strip > .container,
section > .container {
  position: relative;
  z-index: 2;
}

.hero::before,
.page-hero::before,
.hero::after,
.page-hero::after,
.muted-section::before,
.contact-strip::before {
  z-index: 0;
  pointer-events: none;
}

/* Sur la page contact, on garde la grande feuille dans le bandeau haut,
   mais on la supprime derrière le formulaire pour ne jamais gêner la lecture. */
body.contact-page section:not(.page-hero)::before,
body.contact-page section:not(.page-hero)::after,
body.contact-page .split::before,
body.contact-page .split::after {
  display: none !important;
}



/* --- Correctif harmonisation des grands titres --- */
h1 {
  font-size: clamp(2.05rem, 3.35vw, 3.45rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  max-width: 980px;
}

.hero h1,
.page-hero h1 {
  font-size: clamp(2.05rem, 3.35vw, 3.45rem);
  line-height: 1.08;
}

.section-title h2 {
  font-size: clamp(1.65rem, 2.35vw, 2.25rem);
  line-height: 1.14;
}

.panel h2,
.contact-content h2,
.identity-card h2 {
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
  line-height: 1.16;
}

.highlight h2 {
  font-size: clamp(1.7rem, 2.45vw, 2.25rem);
  line-height: 1.14;
}

/* Ajustement encore plus calme sur grands écrans */
@media (min-width: 1200px) {
  h1,
  .hero h1,
  .page-hero h1 {
    font-size: 3.35rem;
  }
}

/* Mobile : conserver de la lisibilité sans titres massifs */
@media (max-width: 560px) {
  h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }

  .section-title h2,
  .panel h2,
  .contact-content h2,
  .identity-card h2 {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }
}



/* --- Correctif mobile : empiler les colonnes au lieu de les resserrer --- */
@media (max-width: 900px) {
  .cards,
  .three-cards,
  .four-cards,
  .two-cards,
  .split,
  .two-columns,
  .axis,
  .highlight,
  .info-grid,
  .form-row {
    grid-template-columns: 1fr !important;
  }

  .axis-intro {
    border-right: none !important;
    border-bottom: 1px solid rgba(22, 63, 107, 0.10);
    padding-right: 0 !important;
    padding-bottom: 22px;
  }

  .card,
  .panel,
  .axis,
  .highlight,
  .step {
    width: 100%;
    min-width: 0;
  }

  .theme,
  .info-item,
  .contact-item {
    min-width: 0;
  }

  h1,
  h2,
  h3,
  p,
  li,
  span,
  strong,
  a {
    overflow-wrap: anywhere;
  }
}

/* Téléphone : cartes plus aérées et lisibles */
@media (max-width: 560px) {
  .cards,
  .axis-layout,
  .themes,
  .steps,
  .info-list,
  .contact-list {
    gap: 18px;
  }

  .card,
  .panel,
  .axis,
  .highlight,
  .step,
  .theme,
  .info-item,
  .contact-item {
    padding: 20px;
  }

  .card h3,
  .axis h3,
  .step h3 {
    font-size: 1.18rem;
    line-height: 1.25;
  }

  .card-icon {
    width: 70px;
    height: 70px;
  }
}



/* --- Correctif mobile : titres plus sobres et mots longs lisibles --- */
@media (max-width: 700px) {
  h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .subtitle,
  .lead,
  .baseline {
    font-size: 1rem;
    line-height: 1.55;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .section-title h2,
  .panel h2,
  .contact-content h2,
  .identity-card h2,
  .highlight h2 {
    font-size: clamp(1.35rem, 6.5vw, 1.85rem) !important;
    line-height: 1.16 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .card h3,
  .axis h3,
  .step h3 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  /* On évite que les titres/mots longs débordent des cartes */
  .card,
  .panel,
  .axis,
  .theme,
  .info-item,
  .contact-item {
    overflow: hidden;
  }
}

/* Très petits écrans */
@media (max-width: 390px) {
  h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.6rem, 7.4vw, 2rem) !important;
  }

  .section-title h2,
  .panel h2,
  .contact-content h2,
  .identity-card h2,
  .highlight h2 {
    font-size: clamp(1.25rem, 6vw, 1.65rem) !important;
  }
}



/* --- Pré-publication : notes tarifs, bouton mail et mobile SEO --- */
.reimbursement-note,
.travel-note {
  margin-top: 18px;
}

.reimbursement-note strong,
.travel-note strong {
  color: var(--bleu-nuit);
}

.contact-page .panel .hero-actions {
  margin-top: 22px;
  margin-bottom: 18px;
}



/* --- Nouvelle page d'accueil à double entrée --- */
html {
  scroll-behavior: smooth;
}

.landing-hero {
  position: relative;
  padding: 112px 0 94px;
  overflow: hidden;
}

.landing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/logo-romain-lacaux-psychologue.png") no-repeat center 45% / min(620px, 58vw);
  opacity: 0.07;
  pointer-events: none;
}

.landing-hero::after {
  content: "";
  position: absolute;
  right: 4%;
  top: 24px;
  width: min(26vw, 300px);
  height: min(48vw, 520px);
  background: url("../images/feuille-decorative-psychologue-moulins.png") no-repeat center / contain;
  opacity: 0.20;
  pointer-events: none;
}

.landing-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 1040px;
  margin: 0 auto;
}

.landing-name {
  color: var(--bleu-nuit);
  font-size: 1.42rem;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: 0.01em;
}

.landing-hero h1 {
  color: var(--bleu-nuit);
  font-size: clamp(2.35rem, 4.1vw, 4rem);
  line-height: 1.06;
  margin-bottom: 22px;
  letter-spacing: -0.04em;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.landing-intro {
  color: var(--texte-fonce);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.65;
  max-width: 900px;
  margin: 0 auto;
}

.landing-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 54px;
}

.landing-button {
  text-decoration: none;
  border-radius: 24px;
  padding: 28px 26px;
  display: grid;
  gap: 10px;
  min-height: 176px;
  align-content: center;
  border: 1px solid var(--bordure);
  box-shadow: var(--ombre);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  position: relative;
  overflow: hidden;
}

.landing-button::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 12px;
  width: 72px;
  height: 30px;
  background: url("../images/motif-branche.png") no-repeat center / contain;
  opacity: 0.85;
  pointer-events: none;
}

.landing-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(23, 49, 58, 0.15);
}

.landing-button-primary {
  background: rgba(255, 255, 255, 0.96);
  color: var(--bleu-nuit);
}

.landing-button-secondary {
  background: rgba(239, 246, 245, 0.85);
  color: var(--bleu-nuit);
}

.landing-button-label {
  color: var(--bleu-nuit);
  font-size: 1.28rem;
  line-height: 1.2;
  font-weight: 700;
  display: block;
}

.landing-button-text {
  color: var(--texte-doux);
  line-height: 1.55;
  display: block;
}

#particuliers,
#professionnels {
  scroll-margin-top: 110px;
}

@media (max-width: 900px) {
  .landing-hero {
    padding: 84px 0 72px;
  }

  .landing-hero::before {
    background-size: min(520px, 85vw);
    opacity: 0.06;
  }

  .landing-actions {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
  }

  .landing-button {
    min-height: 148px;
  }
}

@media (max-width: 560px) {
  .landing-hero {
    padding: 68px 0 56px;
  }

  .landing-name {
    font-size: 1.12rem;
    margin-bottom: 14px;
  }

  .landing-hero h1 {
    font-size: clamp(1.95rem, 8.8vw, 2.65rem);
    line-height: 1.1;
    margin-bottom: 16px;
  }

  .landing-intro {
    font-size: 1rem;
    line-height: 1.58;
  }

  .landing-actions {
    margin-top: 30px;
  }

  .landing-button {
    padding: 22px 18px;
    min-height: 138px;
    border-radius: 20px;
  }

  .landing-button-label {
    font-size: 1.13rem;
  }

  .landing-button-text {
    font-size: 0.97rem;
  }
}



/* --- Ajustement page d'accueil double entrée --- */
.landing-hero {
  padding: 56px 0 44px !important;
  min-height: auto !important;
}

.landing-hero::before {
  background: url("../images/logo-icone.png") no-repeat center 42% / min(430px, 34vw) !important;
  opacity: 0.09 !important;
}

.landing-hero::after {
  right: 3% !important;
  top: 12px !important;
  width: min(20vw, 220px) !important;
  height: min(40vw, 420px) !important;
  opacity: 0.16 !important;
}

.landing-name {
  font-size: 1.18rem !important;
  margin-bottom: 10px !important;
}

.landing-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3.15rem) !important;
  line-height: 1.04 !important;
  margin-bottom: 14px !important;
  max-width: 760px !important;
}

.landing-intro {
  font-size: clamp(1rem, 1.18vw, 1.12rem) !important;
  line-height: 1.5 !important;
  max-width: 920px !important;
}

.landing-actions {
  margin-top: 28px !important;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  align-items: stretch;
}

.landing-button {
  min-height: 126px !important;
  padding: 22px 22px !important;
  border-radius: 22px !important;
}

.landing-button-label {
  font-size: 1.1rem !important;
  line-height: 1.18 !important;
}

.landing-button-text {
  font-size: 0.98rem !important;
  line-height: 1.4 !important;
}

@media (max-height: 820px) and (min-width: 901px) {
  .landing-hero {
    padding: 42px 0 34px !important;
  }

  .landing-name {
    margin-bottom: 8px !important;
  }

  .landing-hero h1 {
    font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
    margin-bottom: 12px !important;
  }

  .landing-intro {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  .landing-actions {
    margin-top: 22px !important;
  }

  .landing-button {
    min-height: 112px !important;
    padding: 18px 18px !important;
  }
}

@media (max-width: 900px) {
  .landing-hero {
    padding: 46px 0 38px !important;
  }

  .landing-hero::before {
    background-size: min(320px, 56vw) !important;
    background-position: center 32% !important;
    opacity: 0.08 !important;
  }

  .landing-actions {
    margin-top: 24px !important;
  }

  .landing-button {
    min-height: 118px !important;
  }
}

@media (max-width: 560px) {
  .landing-hero {
    padding: 34px 0 28px !important;
  }

  .landing-name {
    font-size: 1rem !important;
  }

  .landing-hero h1 {
    font-size: clamp(1.65rem, 7.2vw, 2.2rem) !important;
    margin-bottom: 10px !important;
  }

  .landing-intro {
    font-size: 0.98rem !important;
    line-height: 1.42 !important;
  }

  .landing-actions {
    margin-top: 18px !important;
    gap: 14px !important;
  }

  .landing-button {
    min-height: 104px !important;
    padding: 17px 16px !important;
  }

  .landing-button-label {
    font-size: 1.02rem !important;
  }

  .landing-button-text {
    font-size: 0.93rem !important;
  }
}



/* --- Ajustement fin accueil double entrée v3 --- */
.landing-name {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: 1.42rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  line-height: 1.15 !important;
}

@media (max-width: 900px) {
  .landing-name {
    font-size: 1.2rem !important;
  }
}

@media (max-width: 560px) {
  .landing-name {
    font-size: 1.08rem !important;
  }
}



/* --- Ajustements accueil double entrée v4 --- */
.landing-hero::before {
  background: url("../images/logo-icone.png") no-repeat center 43% / min(520px, 42vw) !important;
  opacity: 0.10 !important;
}

.landing-name {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.05 !important;
  margin-bottom: 6px !important;
}

.landing-hero h1 {
  margin-top: 4px !important;
}

.landing-actions {
  margin-top: 42px !important;
}

.landing-button-label {
  line-height: 1.24 !important;
}

@media (max-width: 900px) {
  .landing-hero::before {
    background-size: min(400px, 62vw) !important;
    opacity: 0.09 !important;
  }

  .landing-name {
    font-size: 1.55rem !important;
  }

  .landing-actions {
    margin-top: 34px !important;
  }
}

@media (max-width: 560px) {
  .landing-hero::before {
    background-size: min(300px, 68vw) !important;
  }

  .landing-name {
    font-size: 1.28rem !important;
    margin-bottom: 4px !important;
  }

  .landing-actions {
    margin-top: 24px !important;
  }
}



/* --- QVCT / organisation du travail --- */
.qvct-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--bleu-petrole-doux);
  color: var(--bleu-nuit);
  font-weight: 700;
  font-size: 0.9rem;
  margin: 6px 8px 0 0;
}

.qvct-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.qvct-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--bordure);
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 10px 28px rgba(23, 49, 58, 0.07);
}

.qvct-card h3 {
  color: var(--bleu-nuit);
  font-size: 1.24rem;
  line-height: 1.22;
  margin-bottom: 10px;
}

.qvct-card p {
  color: var(--texte-doux);
}

.qvct-card ul {
  padding-left: 20px;
  color: var(--texte-doux);
  margin-top: 12px;
}

.qvct-card li + li {
  margin-top: 7px;
}

@media (max-width: 900px) {
  .qvct-grid {
    grid-template-columns: 1fr;
  }
}



/* --- Accueil plein écran à 3 entrées --- */
.landing-hero-three {
  min-height: calc(100svh - 96px);
  display: flex;
  align-items: center;
  padding: 38px 0 34px !important;
}

.landing-hero-three::before {
  background: url("../images/logo-icone.png") no-repeat center 43% / min(560px, 46vw) !important;
  opacity: 0.095 !important;
}

.landing-hero-three .landing-name {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.35rem, 2vw, 1.95rem) !important;
  margin-bottom: 6px !important;
}

.landing-hero-three h1 {
  font-size: clamp(1.95rem, 3.2vw, 3.05rem) !important;
  line-height: 1.05 !important;
  margin-bottom: 14px !important;
}

.landing-hero-three .landing-intro {
  font-size: clamp(0.98rem, 1.25vw, 1.1rem) !important;
  line-height: 1.48 !important;
  max-width: 920px !important;
}

.landing-actions-three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 34px !important;
  max-width: 1180px !important;
}

.landing-actions-three .landing-button {
  min-height: 136px !important;
  padding: 21px 18px !important;
}

.landing-actions-three .landing-button-label {
  font-size: 1.08rem !important;
}

.landing-actions-three .landing-button-text {
  font-size: 0.94rem !important;
}

.landing-button-tertiary {
  background: rgba(255, 255, 255, 0.92);
  color: var(--bleu-nuit);
  border-color: rgba(22, 63, 107, 0.13);
}

@media (max-width: 1050px) {
  .landing-actions-three {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
    gap: 14px !important;
    margin-top: 26px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 102px !important;
    padding: 18px 18px !important;
  }
}

@media (max-width: 700px) {
  .landing-hero-three {
    min-height: calc(100svh - 84px);
    padding: 28px 0 24px !important;
  }

  .landing-hero-three::before {
    background-size: min(330px, 72vw) !important;
  }

  .landing-hero-three h1 {
    font-size: clamp(1.65rem, 7vw, 2.25rem) !important;
  }

  .landing-hero-three .landing-intro {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
  }

  .landing-actions-three {
    margin-top: 20px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 92px !important;
    padding: 15px 15px !important;
  }
}

@media (max-height: 760px) and (min-width: 701px) {
  .landing-hero-three {
    padding: 26px 0 22px !important;
  }

  .landing-hero-three h1 {
    font-size: clamp(1.75rem, 2.8vw, 2.6rem) !important;
    margin-bottom: 10px !important;
  }

  .landing-hero-three .landing-intro {
    font-size: 0.96rem !important;
    line-height: 1.38 !important;
  }

  .landing-actions-three {
    margin-top: 20px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 104px !important;
    padding: 16px !important;
  }
}



/* --- Correctif header + accueil pleine page --- */

/* Header en grille : le menu ne peut plus passer sur le logo */
.nav {
  display: grid !important;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 26px !important;
  min-height: 106px !important;
}

.brand.using-full-logo {
  max-width: 330px !important;
  min-width: 250px !important;
  overflow: visible !important;
}

.brand-full-logo {
  width: min(330px, 22vw) !important;
  max-width: 330px !important;
  height: auto !important;
}

nav {
  min-width: 0 !important;
}

nav ul {
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 17px !important;
  flex-wrap: nowrap !important;
  font-size: 0.91rem !important;
}

nav li {
  flex: 0 1 auto !important;
}

nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.16 !important;
  white-space: normal !important;
  min-width: 0 !important;
}

nav a:not(.nav-cta) {
  max-width: 132px !important;
}

.nav-cta {
  white-space: nowrap !important;
  max-width: none !important;
  line-height: 1 !important;
}

/* Accueil : vraie couverture pleine hauteur sous le header */
.landing-hero-three {
  min-height: calc(100svh - 106px) !important;
  height: calc(100svh - 106px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 22px 0 !important;
}

.landing-hero-three .landing-inner {
  transform: translateY(-8px);
}

.landing-hero-three::before {
  background: url("../images/logo-icone.png") no-repeat center 47% / min(610px, 48vw) !important;
  opacity: 0.085 !important;
}

.landing-hero-three h1 {
  font-size: clamp(1.9rem, 3vw, 2.85rem) !important;
  margin-bottom: 12px !important;
}

.landing-hero-three .landing-name {
  font-size: clamp(1.28rem, 1.8vw, 1.75rem) !important;
  margin-bottom: 5px !important;
}

.landing-hero-three .landing-intro {
  max-width: 950px !important;
  font-size: clamp(0.96rem, 1.15vw, 1.07rem) !important;
  line-height: 1.42 !important;
}

.landing-actions-three {
  margin-top: 30px !important;
  gap: 18px !important;
}

.landing-actions-three .landing-button {
  min-height: 126px !important;
  padding: 18px 18px !important;
}

.landing-actions-three .landing-button-label {
  font-size: 1.04rem !important;
  line-height: 1.18 !important;
}

.landing-actions-three .landing-button-text {
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
}

/* Écrans moyens : menu sous le logo proprement, sans chevauchement */
@media (max-width: 1240px) {
  .nav {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    min-height: auto !important;
  }

  .brand.using-full-logo {
    max-width: 310px !important;
    min-width: 0 !important;
  }

  .brand-full-logo {
    width: min(310px, 72vw) !important;
  }

  nav ul {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 11px 16px !important;
    font-size: 0.88rem !important;
  }

  nav a:not(.nav-cta) {
    max-width: 130px !important;
  }

  .landing-hero-three {
    min-height: calc(100svh - 148px) !important;
    height: auto !important;
    padding: 34px 0 30px !important;
  }
}

/* Tablette/téléphone : boutons empilés et visibles */
@media (max-width: 900px) {
  .landing-actions-three {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
    margin-top: 24px !important;
    gap: 13px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 92px !important;
    padding: 15px 17px !important;
  }
}

@media (max-width: 560px) {
  .nav {
    padding: 12px 0 !important;
  }

  .brand-full-logo {
    width: min(270px, 78vw) !important;
  }

  nav ul {
    font-size: 0.82rem !important;
    gap: 9px 12px !important;
  }

  nav a:not(.nav-cta) {
    max-width: 112px !important;
  }

  .nav-cta {
    padding: 9px 14px !important;
  }

  .landing-hero-three {
    min-height: calc(100svh - 178px) !important;
    padding: 20px 0 18px !important;
  }

  .landing-hero-three .landing-inner {
    transform: none;
  }

  .landing-hero-three h1 {
    font-size: clamp(1.55rem, 6.6vw, 2.05rem) !important;
    margin-bottom: 9px !important;
  }

  .landing-hero-three .landing-name {
    font-size: 1.1rem !important;
  }

  .landing-hero-three .landing-intro {
    font-size: 0.92rem !important;
    line-height: 1.34 !important;
  }

  .landing-actions-three {
    margin-top: 16px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 82px !important;
    border-radius: 18px !important;
  }

  .landing-actions-three .landing-button-label {
    font-size: 0.98rem !important;
  }

  .landing-actions-three .landing-button-text {
    font-size: 0.86rem !important;
  }
}

/* Cas des petits écrans en hauteur : on compacte pour garder les 3 boutons visibles */
@media (max-height: 760px) and (min-width: 901px) {
  .landing-hero-three {
    padding: 14px 0 !important;
  }

  .landing-hero-three .landing-inner {
    transform: translateY(-4px);
  }

  .landing-hero-three h1 {
    font-size: clamp(1.7rem, 2.55vw, 2.35rem) !important;
    margin-bottom: 8px !important;
  }

  .landing-hero-three .landing-intro {
    font-size: 0.94rem !important;
    line-height: 1.32 !important;
  }

  .landing-actions-three {
    margin-top: 18px !important;
  }

  .landing-actions-three .landing-button {
    min-height: 96px !important;
    padding: 14px 16px !important;
  }
}



/* --- Bulle informative bilan neuropsychologique à domicile --- */
.info-bubble {
  margin-top: 16px;
  border: 1px solid rgba(22, 63, 107, 0.12);
  border-radius: 18px;
  background: rgba(229, 243, 245, 0.55);
  overflow: hidden;
}

.info-bubble summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 700;
  color: var(--bleu-nuit);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.info-bubble summary::-webkit-details-marker {
  display: none;
}

.info-bubble summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--bleu-nuit);
  color: #fff;
  font-weight: 700;
  line-height: 1;
}

.info-bubble[open] summary::after {
  content: "–";
}

.info-bubble div {
  padding: 0 16px 16px;
}

.info-bubble p {
  color: var(--texte-doux);
}

.info-bubble p + p {
  margin-top: 10px;
}


/* --- Sections SEO enrichies --- */
.list-panel p + p {
  margin-top: 14px;
}


/* --- Contact : boutons mail et téléphone --- */
.contact-page .hero-actions .button-secondary {
  background: rgba(255,255,255,0.95);
  color: var(--bleu-nuit);
  border-color: rgba(22, 63, 107, 0.18);
}



/* --- Correctifs affichage final --- */

/* Boutons visibles sur les bandeaux bleus */
.highlight .button-secondary,
.contact-strip .button-secondary,
footer .button-secondary {
  background: rgba(255,255,255,0.96) !important;
  color: var(--bleu-nuit) !important;
  border-color: rgba(255,255,255,0.35) !important;
}

.highlight .button-primary,
.contact-strip .button-primary {
  background: #ffffff !important;
  color: var(--bleu-nuit) !important;
  border-color: rgba(255,255,255,0.35) !important;
}

.highlight .button-primary:hover,
.contact-strip .button-primary:hover,
.highlight .button-secondary:hover,
.contact-strip .button-secondary:hover {
  background: var(--bleu-petrole-doux) !important;
  color: var(--bleu-nuit) !important;
}

/* Les 3 boutons de l'accueil ont la même couleur */
.landing-actions-three .landing-button,
.landing-actions-three .landing-button-primary,
.landing-actions-three .landing-button-secondary,
.landing-actions-three .landing-button-tertiary {
  background: var(--bleu-nuit) !important;
  color: #ffffff !important;
  border-color: rgba(22, 63, 107, 0.18) !important;
}

.landing-actions-three .landing-button-label,
.landing-actions-three .landing-button-text {
  color: #ffffff !important;
}

.landing-actions-three .landing-button::after {
  filter: brightness(0) invert(1);
  opacity: 0.42 !important;
}

.landing-actions-three .landing-button:hover {
  background: var(--bleu-nuit-fonce) !important;
}

/* Cartes accompagnement : prix et listes propres */
.price-box {
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(229, 243, 245, 0.55);
  border: 1px solid rgba(22, 63, 107, 0.10);
}

.price-box strong {
  display: block;
  color: var(--bleu-nuit);
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.price-box span {
  display: block;
  color: var(--texte-doux);
}

.card ul {
  padding-left: 20px;
  color: var(--texte-doux);
  margin-top: 14px;
}

.card li + li {
  margin-top: 7px;
}

.inline-link {
  display: inline-flex;
  margin-top: 16px;
  font-weight: 700;
  color: var(--bleu-petrole);
}



/* --- Note modalité visio suivi psychologique --- */
.modality-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(229, 243, 245, 0.55);
  border: 1px solid rgba(22, 63, 107, 0.10);
  color: var(--texte-doux);
}

.modality-note strong {
  color: var(--bleu-nuit);
}


/* --- Mentions légales et confidentialité --- */
.panel p + h2 { margin-top: 26px; }


/* --- Logo mis à jour : consultant · intervenant --- */
.brand-full-logo {
  object-fit: contain;
}



/* --- Titre accueil en deux lignes --- */
.landing-hero-three h1 br {
  display: block;
}

.landing-hero-three h1 {
  max-width: 980px !important;
}

@media (max-width: 700px) {
  .landing-hero-three h1 {
    font-size: clamp(1.45rem, 6.2vw, 2rem) !important;
  }
}



/* --- Accueil : 2 entrées après retrait organisation du travail --- */
.landing-actions-three {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 840px !important;
}

@media (max-width: 900px) {
  .landing-actions-three {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
  }
}

