/* V1.4 — règles communes, construites sur les compositions validées en V1.3. */
:root {
  --jade-forest: #093b30;
  --jade-cream: #f6f3ed;
  --jade-sage: #b4cc9f;
  --jade-sage-hover: #c7dbb7;
  --jade-muted: #536d43;
  --jade-font: Arial, sans-serif;
  --jade-display: 'Avenir Next Condensed', 'Arial Narrow', Arial, sans-serif;
  --jade-section-title: 48px;
  --jade-subtitle: 24px;
  --jade-copy: 18px;
  --jade-label: 12px;
  --jade-button-text: 18px;
  --jade-title-gap: 24px;
  --jade-copy-gap: 32px;
  --jade-section-top: 48px;
  --jade-section-bottom: 112px;
  --jade-wave: 64px;
  --jade-card-radius: 28px;
  --jade-control-radius: 14px;
}
@media (max-width: 1050px) {
  :root { --jade-section-title: 40px; --jade-subtitle: 22px; }
}
@media (max-width: 600px) {
  :root {
    --jade-section-title: 32px;
    --jade-subtitle: 20px;
    --jade-copy: 16px;
    --jade-button-text: 17px;
    --jade-title-gap: 20px;
    --jade-copy-gap: 24px;
    --jade-section-top: 32px;
    --jade-section-bottom: 88px;
    --jade-wave: 44px;
    --jade-card-radius: 24px;
  }
}
.design-v14 { font-family: var(--jade-font); color: var(--jade-cream); }
/* Les photos, rubans et formes restent propres à leurs compositions. */
.design-v14 :is(.recognition,.accompaniment,.about-jade,.final-invitation) {
  background: var(--jade-cream); color: var(--jade-forest);
}
.design-v14 :is(.approach,.testimonials,.faq,.site-footer) {
  background: var(--jade-forest); color: var(--jade-cream);
}
.design-v14 main > section:not(.hero) {
  padding-top: var(--jade-section-top);
  padding-bottom: var(--jade-section-bottom);
}
.design-v14 :is(.recognition-wave,.approach-wave,.accompaniment-wave,.testimonials-wave,.about-wave,.faq-wave,.closing-wave) {
  height: var(--jade-wave);
}
.design-v14 :is(.recognition,.approach,.accompaniment,.testimonials,.about-jade,.faq) h2 {
  font: 700 var(--jade-section-title)/1.15 var(--jade-font);
  letter-spacing: -.025em;
  margin-top: 0;
  margin-bottom: var(--jade-title-gap);
  text-wrap: balance;
}
.design-v14 :is(.recognition-list,.approach-blocks,.accompaniment-cards) h3,
.design-v14 .messages-title {
  font: 700 var(--jade-subtitle)/1.25 var(--jade-font);
  letter-spacing: -.015em;
  text-transform: none;
}
.design-v14 :is(.recognition-list,.approach-blocks,.accompaniment-cards) h3 {
  margin: 0 0 12px;
}
.design-v14 :is(.recognition-intro,.approach-intro,.accompaniment-intro,.recognition-list p,.approach article p,.accompaniment-card p,.about-copy-match article p,.faq-answer p,.final-copy) {
  font: 400 var(--jade-copy)/1.6 var(--jade-font);
  letter-spacing: 0;
}
.design-v14 :is(.approach-intro,.accompaniment-intro) { margin-bottom: var(--jade-copy-gap); }
.design-v14 .final-copy { max-width: 590px; margin-bottom: var(--jade-copy-gap); }
.design-v14 :is(.recognition-closing,.approach-closing,.accompaniment-closing,.about-lead) {
  font: 600 var(--jade-subtitle)/1.4 var(--jade-font);
  letter-spacing: -.015em;
}
.design-v14 .about-lead { color: var(--jade-muted); }
.design-v14 .eyebrow {
  font: 600 var(--jade-label)/1.5 var(--jade-font);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 16px;
}
.design-v14 :is(.recognition,.accompaniment,.about-jade,.final-invitation,dialog) .eyebrow {
  color: var(--jade-muted);
}
.design-v14 :is(.hero,.approach,.testimonials,.faq) .eyebrow { color: var(--jade-sage); }
/* Grandes expressions : leur rôle graphique validé est conservé. */
.design-v14 :is(.approach article strong,.about-copy-match h3,.final-invitation h2) {
  font-family: var(--jade-display);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.design-v14 .approach article strong { color: var(--jade-sage); }
.design-v14 :is(.about-copy-match h3,.final-invitation h2) { color: var(--jade-forest); }
.design-v14 .about-copy-match article { container-type: inline-size; }
.design-v14 .about-copy-match h3 {
  /* La plus longue expression tient aussi entre les points de rupture. */
  font-size: min(62px, 9.8cqw);
  margin-top: 0;
  margin-bottom: 20px;
}
.design-v14 .about-copy-match h3 { min-width: 0; }
.design-v14 .about-copy-match article p { max-width: 36em; }
/* Une même action conserve le même bouton, quel que soit le fond. */
.design-v14 :is(#contact-open,[data-contact-open],.submit) {
  box-sizing: border-box;
  display: block;
  width: min(100%, 350px);
  min-height: 58px;
  padding: 18px 24px;
  font: 600 var(--jade-button-text)/1.3 var(--jade-font);
  text-align: center;
  letter-spacing: 0;
  color: var(--jade-forest);
  background: var(--jade-sage);
  border: 1px solid transparent;
  border-radius: var(--jade-control-radius);
  box-shadow: none;
  transform: none;
  transition: background .15s ease;
}
.design-v14 [data-contact-open] { margin: 24px auto 0; }
.design-v14 #contact-open { margin: 0; }
.design-v14 .submit { width: 100%; margin-top: 24px; }
.design-v14 :is(#contact-open,[data-contact-open],.submit):hover {
  background: var(--jade-sage-hover); color: var(--jade-forest); transform: none;
}
.design-v14 :is(#contact-open,[data-contact-open],.submit):focus-visible {
  outline: 2px solid var(--jade-cream); outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--jade-forest);
}
/* Cartes utilitaires et icônes partagent les mêmes proportions. */
.design-v14 .accompaniment-card { border-radius: var(--jade-card-radius); gap: 24px; }
.design-v14 .accompaniment-icon {
  width: 80px; height: 80px; border-radius: 50%; background: #d6ddc8;
}
.design-v14 .accompaniment-icon svg {
  width: 52px; height: 52px; stroke: var(--jade-forest); stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
.design-v14 .testimonial-video video { border-radius: var(--jade-control-radius); }
.design-v14 .faq-item summary {
  font: 600 var(--jade-subtitle)/1.3 var(--jade-font);
  letter-spacing: -.015em;
  padding-right: 42px;
}
.design-v14 .faq-item summary::after { font: 400 26px/1.3 var(--jade-font); }
.design-v14 .faq-item[open] { background: #526f54; }
.design-v14 .faq-prompt { font: 400 var(--jade-copy)/1.6 var(--jade-font); letter-spacing: 0; }
.design-v14 dialog { background: var(--jade-cream); color: var(--jade-forest); border-radius: var(--jade-card-radius); }
.design-v14 dialog h2 { font: 700 28px/1.15 var(--jade-font); letter-spacing: -.025em; }
.design-v14 #contact-intro { font: 400 16px/1.6 var(--jade-font); }
.design-v14 input { border-radius: 8px; color: var(--jade-forest); }
/* Logo identique au hero dans le pied de page. */
.design-v14 .site-footer .brand {
  font-family: 'Avenir Next', Avenir, Arial, sans-serif; font-weight: 800;
  font-size: 55px; line-height: .85; letter-spacing: -3px;
  padding-right: 57px; min-width: 0; text-align: left;
}
.design-v14 .site-footer .brand span { font-size: 25px; font-weight: 800; letter-spacing: -1px; margin-top: 12px; }
.design-v14 .site-footer .brand i { font-family: inherit; font-weight: 300; font-size: 56px; line-height: .85; top: -9px; right: 0; transform: none; }
.design-v14 .site-footer p { font: 600 var(--jade-label)/1.5 var(--jade-font); letter-spacing: .18em; color: var(--jade-sage); }
@media (max-width: 600px) {
  .design-v14 .accompaniment-card { grid-template-columns: 56px minmax(0,1fr); gap: 16px; padding: 24px 16px; }
  .design-v14 .accompaniment-icon { width: 56px; height: 56px; }
  .design-v14 .accompaniment-icon svg { width: 40px; height: 40px; }
  .design-v14 .recognition-list li { grid-template-columns: 30% minmax(0,1fr); gap: 16px; }
  .design-v14 .recognition-number svg { left: 64px; width: 28px; }
  .design-v14 .site-footer .brand { font-size: 38px; padding-right: 40px; letter-spacing: -2px; }
  .design-v14 .site-footer .brand span { font-size: 18px; margin-top: 9px; }
  .design-v14 .site-footer .brand i { font-size: 40px; top: -5px; }
}
.design-v14 .testimonial-quotes .testimonial-art {
  padding: 38px 32px 32px;
  background: var(--jade-cream);
  border-radius: 90px 32px 100px 36px / 70px 40px 75px 45px;
  color: var(--jade-forest);
  overflow: hidden;
  isolation: isolate;
}
.design-v14 .testimonial-quotes { gap: 40px; }
.design-v14 .testimonial-quotes .testimonial-art:nth-child(2) {
  background: #e4ebd9;
  border-radius: 36px 100px 40px 90px / 45px 75px 40px 70px;
}
.design-v14 .testimonial-art::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 140%;
  height: 190px;
  left: -20%;
  bottom: -100px;
  border: 2px solid #a8ba92;
  border-radius: 50%;
  transform: rotate(-9deg);
  background: rgb(180 204 159 / 12%);
  pointer-events: none;
}
.design-v14 .testimonial-art:nth-child(2)::after { transform: rotate(9deg); }
.design-v14 .testimonial-art > img { display: none; }
.design-v14 .testimonial-art::before {
  display: block;
  position: static;
  content: '“';
  font: 80px/.6 Georgia, serif;
  color: #819c69;
  margin-bottom: 4px;
}
.design-v14 .testimonial-transcript {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}
.design-v14 .testimonial-quotes figure blockquote {
  font: 400 var(--jade-copy)/1.6 var(--jade-font);
  letter-spacing: 0;
}
.design-v14 .testimonial-quotes figcaption {
  font: 400 14px/1.6 var(--jade-font);
  color: var(--jade-muted);
  border-top: 0;
  padding-top: 12px;
  margin-top: 30px;
  font-weight: 600;
}
@media (max-width: 600px) {
  .design-v14 .testimonial-quotes .testimonial-art { padding: 34px 22px 30px; border-radius: 64px 24px 64px 28px; }
  .design-v14 .testimonial-quotes .testimonial-art:nth-child(2) { border-radius: 24px 64px 28px 64px; }
  .design-v14 .testimonial-art::before { font-size: 72px; }
}

.design-v14 .hero { min-height: 0; }
.design-v14 .hero-copy { padding-bottom: 88px; }
@media (max-width: 600px) {
  .design-v14 .hero-copy { padding-bottom: 72px; }
  .design-v14 .hero-copy { container-type: inline-size; }
  .design-v14 .hero-copy h1 {
    font-size: 5.4cqw;
    line-height: 1.4;
    letter-spacing: -.025em;
  }
  .design-v14 .hero-copy h1 span { white-space: nowrap; }
}

.design-v14 .recognition-number {
  color: #254e42;
  -webkit-text-stroke: 0;
  font-family: var(--jade-display);
  font-weight: 800;
  font-size: 100px;
  letter-spacing: -.04em;
  text-align: center;
  align-self: center;
}
.design-v14 .recognition-number svg { left: calc(50% + 44px); width: 28px; }
@media (max-width: 600px) {
  .design-v14 .recognition-number { font-size: clamp(64px, 17vw, 80px); }
  .design-v14 .recognition-number svg { left: calc(50% + 30px); width: 20px; }
}

/* En-têtes de section harmonisés; le titre d’accueil garde ses deux lignes. */
.design-v14 :is(.recognition-inner,.approach-inner,.accompaniment-inner,.testimonials-inner,.about-inner,.faq-inner) {
  max-width: 980px;
  margin-inline: auto;
}
.design-v14 main > section:not(.hero) h2 {
  font: 700 var(--jade-section-title)/1.15 var(--jade-font);
  letter-spacing: -.025em;
  text-transform: none;
  text-align: left;
  text-wrap: pretty;
  max-width: 980px;
  margin: 0 auto var(--jade-title-gap);
}
.design-v14 main > section:not(.hero) .eyebrow {
  text-align: left;
  max-width: 980px;
  margin: 0 auto 16px;
}
.design-v14 :is(.approach-intro,.accompaniment-intro,.about-lead,.final-copy) {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
.design-v14 .final-copy { max-width: 980px; margin-inline: auto; }
.design-v14 .messages-title { text-align: left; }

.design-v14 .approach-inner { container-type: inline-size; }
.design-v14 #approach-title { font-size: min(calc(var(--jade-section-title) * .875), 5.7cqw); }
.design-v14 #approach-title > span { display: block; white-space: nowrap; }
.design-v14 #approach-title > span + span { margin-top: .4em; }

/* Le récit personnel : trois étapes légères, sur un même axe de lecture. */
.design-v14 .about-copy-match { max-width: 780px; }
.design-v14 .about-copy-match article {
  box-sizing: border-box;
  max-width: 100%;
  margin: 0 0 24px;
  padding: 30px 32px;
  background: #eeeee3;
  border-radius: 44px 22px 44px 22px;
}
.design-v14 .about-copy-match article:nth-of-type(2) {
  margin-left: 0;
  background: #e1e9d5;
  border-radius: 22px 44px 22px 44px;
}
.design-v14 .about-copy-match article:nth-of-type(3) { background: #d0dfc1; }
.design-v14 .about-copy-match article h3 {
  font: 800 28px/1.2 var(--jade-display);
  letter-spacing: -.025em;
  text-transform: uppercase;
  margin: 0 0 18px;
}
.design-v14 .about-copy-match article p {
  max-width: none;
  padding: 0;
  margin: 0;
}
.design-v14 .about-copy-match article p + p { margin-top: 18px; }
.design-v14 .about-copy-match article:nth-of-type(2) p { padding-left: 0; }
.design-v14 .about-copy-match article:last-of-type p:last-child {
  border-top: 1px solid #a9bf99;
  padding-top: 18px;
}
@media (max-width: 600px) {
  .design-v14 .about-copy-match article { padding: 24px 22px; }
  .design-v14 .about-copy-match article h3 { font-size: 24px; }
}

/* Même langage organique que les sections d’ouverture, sans filets fins. */
.design-v14 .testimonial-quotes .testimonial-art,
.design-v14 .about-copy-match article {
  border: 0;
  box-shadow: none;
  border-radius: 46% 54% 43% 57% / 52px 66px 58px 70px;
  padding: 42px 36px 38px;
}
.design-v14 .testimonial-quotes .testimonial-art:nth-child(2),
.design-v14 .about-copy-match article:nth-of-type(2) {
  border-radius: 56% 44% 55% 45% / 64px 48px 72px 54px;
}
.design-v14 .testimonial-quotes .testimonial-art:nth-child(3),
.design-v14 .about-copy-match article:nth-of-type(3) {
  border-radius: 42% 58% 46% 54% / 58px 72px 48px 64px;
}
.design-v14 .testimonial-art::after { display: none; }
.design-v14 .testimonial-quotes figcaption { margin-top: 20px; padding-top: 0; }
.design-v14 .about-copy-match article { margin-bottom: 30px; }
.design-v14 .about-copy-match article:last-of-type p:last-child {
  border-top: 0;
  padding-top: 0;
}
.design-v14 .about-match-ribbon { opacity: .45; }
@media (max-width: 600px) {
  .design-v14 .testimonial-quotes .testimonial-art,
  .design-v14 .about-copy-match article { padding: 36px 24px 34px; }
}

/* Témoignages : contours souples, lecture dégagée et relief discret. */
.design-v14 .testimonial-quotes .testimonial-art:nth-child(n) {
  padding: 36px 36px 40px;
  border-radius: 58px 30px 64px 32px;
  background-image: radial-gradient(ellipse at 100% 0%, rgb(180 204 159 / 24%), transparent 65%),
    radial-gradient(rgb(9 59 48 / 5%) .6px, transparent .8px);
  background-size: auto, 5px 5px;
  box-shadow: 0 12px 0 -5px rgb(180 204 159 / 22%), 0 20px 35px -18px rgb(0 20 14 / 38%);
}
.design-v14 .testimonial-quotes .testimonial-art:nth-child(2) {
  border-radius: 30px 58px 32px 64px;
}
.design-v14 .testimonial-quotes { gap: 44px; }
.design-v14 .testimonial-quotes .testimonial-art::before {
  box-sizing: border-box;
  width: 84px;
  height: 68px;
  padding-top: 13px;
  margin: 0 0 20px;
  border-radius: 48% 52% 44% 56% / 55% 46% 54% 45%;
  background: #b4cc9f;
  color: #536d43;
  font: 84px/1 Georgia, serif;
  text-align: center;
}
.design-v14 .testimonial-quotes figcaption {
  display: inline-block;
  margin-top: 24px;
  padding: 13px 30px;
  min-width: 120px;
  box-sizing: border-box;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  border-radius: 46% 54% 44% 56% / 52% 44% 56% 48%;
  background: #b4cc9f;
}
@media (max-width: 600px) {
  .design-v14 .testimonial-quotes .testimonial-art:nth-child(n) { padding: 30px 26px 34px; }
}

.design-v14 .testimonial-photo-story {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: 64px 6%;
  border-radius: 48% 52% 45% 55% / 36px 48px 42px 36px;
  background: #093b30;
}
.design-v14 .testimonial-scene { position: absolute; inset: 0; z-index: -1; }
.design-v14 .testimonial-scene-image {
  position: sticky;
  top: 0;
  height: 100vh;
  background: linear-gradient(90deg, rgb(5 30 24 / 94%) 0%, rgb(5 30 24 / 86%) 46%, rgb(5 30 24 / 15%) 100%), url('assets/jade-coaching-nature-generated.jpg') 65% center / cover;
}
.design-v14 .testimonial-photo-story .testimonial-art:nth-child(n) {
  width: 65%;
  max-width: 600px;
  margin: 0;
  padding: 0 0 32px;
  background: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--jade-cream);
  overflow: visible;
}
.design-v14 .testimonial-photo-story .testimonial-art::before {
  width: auto; height: 40px; padding: 0;
  margin: 0 0 14px;
  background: none;
  color: var(--jade-sage);
  text-align: left;
  font: 70px/1 Georgia, serif;
}
.design-v14 .testimonial-photo-story figcaption {
  background: none;
  padding: 0;
  min-width: 0;
  color: var(--jade-sage);
  text-align: left;
  font-size: 18px;
}
.design-v14 .testimonial-scene-note {
  color: #d4dfcd;
  margin: 0;
  font: 400 12px/1.5 var(--jade-font);
}
@media (max-width: 700px) {
  .design-v14 .testimonial-photo-story { padding: 270px 24px 42px; }
  .design-v14 .testimonial-scene-image {
    background: linear-gradient(180deg, rgb(5 30 24 / 5%) 0%, rgb(5 30 24 / 30%) 22%, rgb(5 30 24 / 93%) 48%, #093b30 100%), url('assets/jade-coaching-nature-generated.jpg') 75% top / auto 540px no-repeat;
  }
  .design-v14 .testimonial-photo-story .testimonial-art:nth-child(n) { width: 100%; }
}

.design-v14 .testimonials { padding-bottom: 48px; }
.design-v14 .testimonial-photo-story {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 110px 6% 100px;
  border-radius: 0;
  background: none;
}
.design-v14 .messages-wave { position: absolute; inset: -1px 0 auto; width: 100%; height: 70px; z-index: 2; }
.design-v14 .messages-inner { position: relative; max-width: 1100px; margin: auto; padding-top: 44px; }
.design-v14 .testimonial-photo-story .messages-title {
  color: var(--jade-cream);
  margin: 0 0 40px;
  font: 700 var(--jade-section-title)/1.15 var(--jade-font);
  letter-spacing: -.025em;
}
.design-v14 .testimonial-scene-image {
  height: 100svh;
  min-height: 650px;
  filter: brightness(.82);
  background: linear-gradient(90deg, rgb(0 0 0 / 74%), rgb(0 0 0 / 50%) 55%, rgb(0 0 0 / 15%)), url('assets/jade-coaching-nature-dos.jpg') 65% center / cover no-repeat;
}
.design-v14 .testimonial-photo-story .testimonial-art:nth-child(n) { width: 58%; margin: 0 0 32px; }
.design-v14 .testimonial-photo-story .testimonial-art blockquote { font-size: 17px; line-height: 1.65; }
.design-v14 .testimonial-photo-story .testimonial-scene-note { color: #f6f3ed; }
@media (max-width: 700px) {
  .design-v14 .testimonial-photo-story { padding: 220px 7% 80px; }
  .design-v14 .testimonial-scene-image {
    background: linear-gradient(180deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 66%) 35%, rgb(0 0 0 / 72%)), url('assets/jade-coaching-nature-dos.jpg') 78% center / cover no-repeat;
  }
  .design-v14 .testimonial-photo-story .testimonial-art:nth-child(n) { width: 76%; }
  .design-v14 .testimonial-photo-story .testimonial-art blockquote { font-size: 16px; }
}

.design-v14 .testimonial-photo-story .testimonial-art::before { display: none; }
.design-v14 .testimonial-photo-story .testimonial-art blockquote {
  font-weight: 600;
  letter-spacing: .005em;
  line-height: 1.7;
}
.design-v14 .testimonial-photo-story blockquote p:first-child::before {
  content: '«\00a0';
  color: var(--jade-sage);
  font-weight: 700;
}
.design-v14 .testimonial-photo-story blockquote p:last-child::after {
  content: '\00a0»';
  color: var(--jade-sage);
  font-weight: 700;
}

/* Récit éditorial approuvé : composition ouverte et grande courbe centrale. */
.design-v14 .about-copy-match {
  max-width: 980px;
  margin: 48px auto 24px;
  isolation: isolate;
}
.design-v14 .about-copy-match .about-match-ribbon { display: none; }
.design-v14 .about-copy-match::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 44%;
  height: 58%;
  left: -35%;
  top: 4%;
  border-radius: 38% 62% 72% 28% / 38% 48% 52% 62%;
  background: var(--jade-forest);
  pointer-events: none;
}
.design-v14 .about-copy-match article:nth-of-type(n) {
  position: relative;
  container-type: normal;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.design-v14 .about-copy-match article:first-of-type {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  column-gap: 36px;
}
.design-v14 .about-copy-match article:first-of-type h3 { grid-row: 1 / 3; }
.design-v14 .about-copy-match article:first-of-type p { grid-column: 2; }
.design-v14 .about-copy-match article h3 {
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.06;
  margin-bottom: 22px;
}
.design-v14 .about-copy-match article:nth-of-type(2) {
  margin: 24px 0 20px 12%;
  padding: 48px 24px 58px 15%;
  isolation: isolate;
}
.design-v14 .about-copy-match article:nth-of-type(2)::before {
  content: '';
  position: absolute;
  inset: 0 -12vw 0 0;
  z-index: -1;
  border-radius: 55% 0 0 48% / 45% 0 0 55%;
  background: var(--jade-sage);
}
.design-v14 .about-copy-match article:nth-of-type(3) { max-width: 90%; padding: 8px 0 24px; }
.design-v14 .about-copy-match article:nth-of-type(3) p:last-child {
  text-align: center;
  font-size: var(--jade-subtitle);
  line-height: 1.4;
  margin-top: 24px;
}
@media (max-width: 600px) {
  .design-v14 .about-copy-match article:first-of-type { display: block; }
  .design-v14 .about-copy-match article h3 { font-size: 30px; }
  .design-v14 .about-copy-match article:nth-of-type(2) {
    margin: 20px -3% 18px 2%;
    padding: 36px 8px 40px 24px;
  }
  .design-v14 .about-copy-match article:nth-of-type(2)::before { left: -12px; }
  .design-v14 .about-copy-match article:nth-of-type(3) { max-width: 100%; }
  .design-v14 .about-copy-match::before { left: -41%; width: 44%; top: 17%; height: 40%; }
}

.design-v14 #final-title {
  text-align: center;
  font-family: var(--jade-display);
  font-weight: 800;
  font-size: calc(var(--jade-section-title) * 1.1);
  line-height: 1.15;
  max-width: 900px;
  text-wrap: balance;
}
.design-v14 main > section.final-invitation .eyebrow,
.design-v14 .final-invitation .final-copy { text-align: center; }
.design-v14 .final-invitation .final-copy { max-width: 650px; margin-inline: auto; }

.testimonial-player { position: relative; border-radius: 22px; overflow: hidden; }
.testimonial-player iframe { transform: scale(1.012); transform-origin: center; }
.testimonial-listen {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: flex; align-items: flex-end; justify-content: center;
  padding: 16px 8px;
  background: transparent; border: 0; cursor: pointer;
}
.testimonial-listen[hidden] { display: none; }
.testimonial-listen span {
  display: none;
}
.testimonial-listen:focus-visible { outline: 3px solid #b4cc9f; outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
  .design-v14 :is(#contact-open,[data-contact-open],.submit) { transition: none; }
}

/* Vector logo arrows render consistently, including iOS. */
.design-v14 .brand i { color: var(--cream); }
.design-v14 .brand-arrow { display: block; width: 1em; height: 1em; }

/* Lighter testimonials: exact excerpts with the full original messages. */
.design-v14 .messages-light { max-width:1100px; }
.design-v14 .messages-light-list { width:60%; max-width:620px; }
.design-v14 .messages-light .message-light-card { width:100%; max-width:none; margin:0; padding:32px 0 36px; background:none; border:0; border-bottom:1px solid rgb(245 242 233 / 25%); border-radius:0; box-shadow:none; color:var(--cream); }
.design-v14 .messages-light .message-light-card:first-child { padding-top:0; }
.design-v14 .messages-light .message-light-card:last-child { border-bottom:0; padding-bottom:0; }
.design-v14 .messages-light .message-light-card figcaption { display:flex; align-items:center; gap:16px; margin:0 0 20px; padding:0; background:none; color:#d0dfbe; font:600 13px/1.4 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.design-v14 .messages-light .message-number { opacity:.65; font-size:11px; letter-spacing:.04em; }
.design-v14 .messages-light .message-light-card .message-excerpt { margin:0; padding:0; font:400 clamp(21px,2.1vw,28px)/1.5 var(--jade-font); letter-spacing:-.015em; }
.design-v14 .messages-light .message-excerpt p { margin:0; }
.design-v14 .messages-light .message-full { margin:22px 0 0; }
.design-v14 .messages-light .message-full summary { display:flex; align-items:center; gap:14px; width:fit-content; cursor:pointer; list-style:none; padding:8px 0; color:#d0dfbe; font:500 13px/1.5 Arial,sans-serif; }
.design-v14 .messages-light .message-full summary::-webkit-details-marker { display:none; }
.design-v14 .messages-light .message-toggle { width:12px; height:12px; position:relative; }
.design-v14 .messages-light .message-toggle::before,.design-v14 .messages-light .message-toggle::after { content:""; position:absolute; background:currentColor; }
.design-v14 .messages-light .message-toggle::before { width:12px; height:1px; top:5px; left:0; }
.design-v14 .messages-light .message-toggle::after { width:1px; height:12px; top:0; left:5px; }
.design-v14 .messages-light .message-close { display:none; }
.design-v14 .messages-light details[open] .message-read,.design-v14 .messages-light details[open] .message-toggle::after { display:none; }
.design-v14 .messages-light details[open] .message-close { display:inline; }
.design-v14 .messages-light .message-full-text { border-left:1px solid #a5b58a; padding:0 0 0 20px; margin:20px 0 0; }
.design-v14 .messages-light .message-full-text blockquote { font:400 16px/1.7 var(--jade-font); letter-spacing:0; margin:0; padding:0; color:var(--cream); }
.design-v14 .messages-light .message-full-text p { margin:0 0 14px; }
.design-v14 .messages-light summary:hover { color:white; }
.design-v14 .messages-light summary:focus-visible { outline:2px solid var(--cream); outline-offset:6px; }
@media(max-width:700px) { .design-v14 .messages-light-list { width:100%; } .design-v14 .messages-light .message-light-card { padding:28px 0 30px; } .design-v14 .messages-light .message-light-card .message-excerpt { font-size:21px; line-height:1.5; } .design-v14 .messages-light .message-light-card figcaption { margin-bottom:16px; } }

.design-v14 .messages-light .message-light-card::before,.design-v14 .messages-light .message-light-card::after { display:none; }

/* Soft separators echo the site's organic section waves. */
.design-v14 .messages-light .message-light-card { position:relative; border-bottom:0; padding-bottom:48px; margin-bottom:18px; }
.design-v14 .messages-light .message-light-card:not(:last-child)::after { content:""; display:block; position:absolute; left:0; right:0; bottom:0; width:100%; height:22px; border:0; border-radius:0; box-shadow:none; transform:none; opacity:.65; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M1 13C95 -2 160 28 270 13S465 -1 599 12' fill='none' stroke='%23c4d2b2' stroke-width='1.3'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.design-v14 .messages-light .message-light-card:last-child { margin-bottom:0; padding-bottom:0; }
.design-v14 .messages-light .message-full-text { border-left:0; padding:18px 20px; background:rgb(9 59 48 / 45%); border-radius:24px 10px 28px 12px; }
@media(max-width:700px) { .design-v14 .messages-light .message-light-card { padding-bottom:40px; margin-bottom:12px; } }

/* Individual organic bubbles, without separator lines. */
.design-v14 .messages-light .message-light-card:nth-child(n) { padding:30px 32px; margin:0 0 24px; border:0; border-radius:38px 18px 42px 20px; background:rgba(9,43,34,.42); box-shadow:0 8px 30px rgba(0,0,0,.08); }
.design-v14 .messages-light .message-light-card:nth-child(2) { border-radius:18px 42px 20px 38px; }
.design-v14 .messages-light .message-light-card:nth-child(n)::after,.design-v14 .messages-light .message-light-card:nth-child(n)::before { display:none; }
.design-v14 .messages-light .message-full-text { background:none; padding:12px 0 0; border:0; border-radius:0; }
.design-v14 .messages-light .message-light-card:last-child { margin-bottom:0; }
@media(max-width:700px) { .design-v14 .messages-light .message-light-card:nth-child(n) { padding:26px 24px; margin-bottom:20px; } .design-v14 .messages-light .message-light-card:last-child { margin-bottom:0; } }

.design-v14 .messages-light .message-number { display:none; }

/* Compact, accessible expand controls for testimonial bubbles. */
.design-v14 .messages-light .message-full summary { width:44px; height:44px; padding:0; margin-left:auto; justify-content:center; border:1px solid rgba(208,223,190,.6); border-radius:50%; background:rgba(208,223,190,.12); color:#f5f4ed; }
.design-v14 .messages-light .message-full summary:hover { background:rgba(208,223,190,.25); }
.design-v14 .messages-light .message-full summary:focus-visible { outline:2px solid #f5f4ed; outline-offset:4px; }
.design-v14 .messages-light .message-read,.design-v14 .messages-light .message-close { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Short personal story; existing introduction and photo are preserved. */
.design-v14 .about-story { max-width:760px; margin:38px auto 28px; text-align:left; color:var(--jade-forest); }
.design-v14 .about-story p { margin:0; font:400 clamp(18px,1.6vw,22px)/1.7 var(--jade-font); }
.design-v14 .about-story .about-story-insight { margin:28px -20px; padding:32px 36px; background:rgba(180,202,157,.42); border-radius:48px 22px 52px 24px; }
.design-v14 .about-story strong { font-weight:650; }
@media(max-width:700px) { .design-v14 .about-story { margin-top:28px; } .design-v14 .about-story .about-story-insight { margin:24px 0; padding:26px 24px; border-radius:38px 18px 40px 20px; } }
