﻿:root {
      --bg: #fff5ed;
      --surface: #ffffff;
      --surface-cream: #fffaf3;
      --ink: #2f1e1b;
      --ink-soft: #6a4a45;
      --brand: #5c2626;
      --brand-2: #8f3f3f;
      --accent: #ffd6b6;
      --accent-gold: #c8a26a;
      --line: #ebc8b1;
      --ok: #285d4e;
      --shadow: 0 16px 40px rgba(92, 38, 38, 0.11);
      --shadow-soft: 0 10px 24px rgba(92, 38, 38, 0.1);
      --nav-ink: var(--ink);
      --nav-line: var(--line);
      --nav-accent: var(--brand);
      --text-shadow-soft: 0 1px 2px rgba(59, 30, 30, 0.12);
      --text-shadow-elegant: 0 2px 6px rgba(48, 24, 24, 0.14);
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      scrollbar-width: thin;
      scrollbar-color: rgba(92, 38, 38, 0.55) transparent;
    }

    ::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    ::-webkit-scrollbar-track {
      background: transparent;
    }

    ::-webkit-scrollbar-thumb {
      background: linear-gradient(180deg, rgba(140, 74, 74, 0.9), rgba(92, 38, 38, 0.72));
      border-radius: 999px;
      border: 2px solid transparent;
      background-clip: padding-box;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    }

    ::-webkit-scrollbar-thumb:hover {
      background: linear-gradient(180deg, rgba(143, 63, 63, 0.95), rgba(92, 38, 38, 0.82));
    }

    ::-webkit-scrollbar-corner {
      background: transparent;
    }

    @media (max-width: 768px) {
      html {
        scrollbar-width: none;
      }

      ::-webkit-scrollbar {
        display: none;
      }
    }

    body {
      margin: 0;
      font-family: "Manrope", "Segoe UI", Arial, sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 0 0, #ffe4cc 0, transparent 34%),
        radial-gradient(circle at 100% 0, #f7d9d3 0, transparent 26%),
        linear-gradient(180deg, #fffaf6 0%, var(--bg) 100%);
      line-height: 1.8;
      overflow-x: hidden;
    }

    p {
      font-size: 17px;
      line-height: 1.8;
    }

    .shell {
      max-width: 1120px;
      margin: 0 auto;
      padding: 28px 20px 52px;
    }

    body:not(.home-page) .shell {
      padding-top: 88px;
    }

    .home-page #services,
    .home-page #apropos,
    .home-page #horizons,
    .home-page #parlons {
      scroll-margin-top: 150px;
    }

    .topbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 30;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 250, 246, 0.9) 72%, rgba(255, 250, 246, 0) 100%);
      backdrop-filter: blur(8px);
      border-bottom: 0;
      transition: background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }

    .hero-page .topbar:not(.scrolled) {
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 248, 241, 0.82) 68%, rgba(255, 248, 241, 0) 100%);
      box-shadow: none;
      backdrop-filter: none;
    }

    .hero-page .topbar:not(.scrolled) .brand,
    .hero-page .topbar:not(.scrolled) .menu a {
      color: var(--brand);
      text-shadow: none;
    }

    .hero-page .topbar:not(.scrolled) .menu a.current {
      color: var(--brand-2);
    }

    .hero-page .topbar:not(.scrolled) .menu a::before {
      background: rgba(92, 38, 38, 0.12);
    }

    .topbar.scrolled {
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 248, 241, 0.95) 70%, rgba(255, 248, 241, 0) 100%);
      box-shadow: 0 8px 20px rgba(92, 38, 38, 0.08);
    }

    .topbar-inner {
      max-width: 1320px;
      margin: 0 auto;
      padding: 14px 28px;
      min-height: 74px;
      display: flex;
      align-items: center;
      gap: 18px;
      justify-content: space-between;
      transition: padding 0.28s ease, min-height 0.28s ease;
    }

    .hero-page .topbar:not(.scrolled) .topbar-inner {
      padding: 20px 28px;
      min-height: 100px;
    }

    .brand {
      color: var(--nav-ink);
      text-decoration: none;
      white-space: nowrap;
      display: inline-grid;
      align-items: center;
      gap: 2px;
      position: relative;
    }

    .brand-logo {
      display: block;
      height: clamp(40px, 4vw, 54px);
      width: auto;
      transition: height 0.28s ease;
    }

    .hero-page .topbar:not(.scrolled) .brand-logo {
      height: clamp(62px, 6.2vw, 84px);
    }

    .brand-hero-label {
      display: none;
      color: var(--brand);
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.11em;
      text-transform: uppercase;
      line-height: 1;
      padding-left: 1px;
      position: absolute;
      left: 2px;
      top: calc(100% + 2px);
      pointer-events: none;
    }

    .hero-page .topbar:not(.scrolled) .brand-hero-label {
      display: block;
    }

    .topbar-right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 18px;
      flex-wrap: wrap;
    }

    .menu {
      display: flex;
      flex-wrap: wrap;
      gap: 26px;
      align-items: center;
      justify-content: flex-end;
    }

    .menu-toggle {
      display: none;
    }

    .menu a {
      color: var(--nav-ink);
      text-decoration: none;
      padding: 8px 10px;
      border: 0;
      background: transparent;
      border-radius: 0;
      font-size: 0.82rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      position: relative;
      transition: color 0.22s ease, transform 0.22s ease;
    }

    .menu a::before {
      content: "";
      position: absolute;
      left: 8px;
      right: 8px;
      bottom: 0;
      height: 2px;
      background: var(--accent-gold);
      transform: scaleX(0.18);
      transform-origin: left;
      opacity: 0;
      transition: transform 0.32s ease, opacity 0.24s ease;
      z-index: -1;
    }

    span#apropos, span#services, span#solutions, span#zone-intervention, span#contact {
      position: relative;
      top: -92px;
      display: block;
      height: 0;
      visibility: hidden;
    }

    .menu a:hover,
    .menu a.current {
      color: var(--nav-accent);
    }

    .menu a:hover::before,
    .menu a.current::before,
    .menu a:focus-visible::before {
      transform: scaleX(1);
      opacity: 1;
    }

    .menu a:focus-visible {
      outline: none;
      color: var(--nav-accent);
    }

    .menu a.current {
      animation: none;
    }

    .menu a:active {
      transform: translateY(1px) scale(0.98);
    }

    @keyframes navCurrentPulse {
      0%, 100% {
        box-shadow: 0 0 0 0 rgba(92, 38, 38, 0);
      }
      50% {
        box-shadow: 0 0 0 8px rgba(92, 38, 38, 0.08);
      }
    }

    .topbar-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: linear-gradient(135deg, #4c1822, #662434);
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-size: 0.72rem;
      font-weight: 700;
      padding: 8px 11px;
      min-width: 148px;
      border-radius: 4px;
      box-shadow: 0 10px 22px rgba(76, 24, 34, 0.24);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .topbar-cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 28px rgba(76, 24, 34, 0.3);
    }


    .home-hero {
      position: relative;
      min-height: 100dvh;
      display: grid;
      align-items: center;
      background-image:
        linear-gradient(98deg, rgba(255, 251, 246, 0.56) 0%, rgba(255, 250, 245, 0.48) 38%, rgba(255, 248, 241, 0.28) 62%, rgba(255, 248, 241, 0.06) 80%),
        url("img/hero.png");
      background-size: 104% auto;
      background-position: center right;
      background-repeat: no-repeat;
      border-bottom: 0;
      overflow: hidden;
      box-shadow: inset 0 -18px 28px -24px rgba(92, 38, 38, 0.12);
      animation: heroImageZoom 10s ease-out forwards;
    }

    .home-hero::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -8px;
      height: 34px;
      background: linear-gradient(180deg, rgba(92, 38, 38, 0.06) 0%, rgba(92, 38, 38, 0) 100%);
      pointer-events: none;
      z-index: 1;
    }

    @media (min-width: 961px) {
      .home-page .home-hero {
        min-height: calc(100dvh + 24px);
        box-shadow: none;
        background-image:
          linear-gradient(98deg, rgba(255, 251, 246, 0.42) 0%, rgba(255, 250, 245, 0.28) 38%, rgba(255, 248, 241, 0.12) 62%, rgba(255, 248, 241, 0.02) 80%),
          url("img/hero.png");
        background-size: cover;
        background-position: center right;
      }

      .home-hero::after {
        display: none;
      }
    }

  .home-hero-inner {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto 0 32px;
  padding: clamp(96px, 9.5vw, 146px) clamp(4px, 1vw, 20px) clamp(48px, 6vw, 88px);
  position: relative;
  z-index: 2;
}

    .home-hero-copy {
      max-width: min(70ch, 53%);
      color: var(--ink);
      text-shadow: none;
      transform: translateY(-14px);
      animation: heroCopyIn 0.95s ease-out 0.12s both;
    }

    .hero-kicker {
      margin: 0 0 14px;
      color: #b88845;
      font-size: 0.88rem;
      font-weight: 800;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      line-height: 1.25;
    }

    .hero-location-row {
      display: inline-flex;
      align-items: flex-start;
      gap: 10px;
      margin: 26px 0 0;
      color: #6f6863;
      font-size: clamp(0.9rem, 0.92vw, 1rem);
      font-weight: 600;
      letter-spacing: 0;
      text-transform: none;
      line-height: 1.5;
    }

    .hero-location-row svg {
      width: 52px;
      height: 52px;
      color: var(--accent-gold);
      display: block;
      flex-shrink: 0;
      overflow: visible;
    }

    .hero-location-icons > svg:first-child {
      color: #4b4a46;
      align-self: center;
    }

    .hero-location-icons {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      flex-shrink: 0;
    }

    .hero-location-copy {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start;
      line-height: 1.35;
    }

    .hero-location-copy > span {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
    }

    .hero-location-copy > .hero-intervention-line {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 72px;
    }

    .hero-location-row .hero-intervention-icon {
      width: 72px;
      height: 72px;
      flex-shrink: 0;
      display: block;
      color: #4b4a46;
      overflow: visible;
    }

    .hero-location-row .hero-intervention-icon-new {
      align-self: center;
      object-fit: contain;
    }

    .hero-location-row .legacy-intervention-icon {
      display: none;
    }

    @keyframes heroCopyIn {
      from {
        opacity: 0;
        transform: translateY(18px);
      }
      to {
        opacity: 1;
        transform: translateY(-14px);
      }
    }

    @keyframes heroImageZoom {
      from {
        background-size: 100% auto;
      }
      to {
        background-size: 107% auto;
      }
    }

    .home-hero-copy h1 {
      margin: 0 0 28px;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2.2rem, 4.75vw, 4.1rem);
      line-height: 1.08;
      letter-spacing: 0;
      color: var(--ink);
      display: grid;
      gap: 6px;
      font-weight: 600;
      text-shadow: var(--text-shadow-elegant);
    }

    .hero-title-primary {
      color: #4f1f2c;
      text-shadow: none;
      display: block;
      max-width: 19.2ch;
    }

    .hero-title-secondary {
      color: #b88845;
      text-shadow: 0 1px 3px rgba(72, 40, 16, 0.18);
    }
    .underline-title {
    position: relative;
    display: inline-block;
}

.underline-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -15px;      /* Espace sous le texte */
    width: 80px;       /* Longueur de la barre */
    height: 2px;        /* Épaisseur */
    background: #b28747;
    border-radius: 999px;
}
    .home-hero-copy p:not(.hero-kicker):not(.hero-location-row) {
      margin: 0;
      position: relative;
      top: 8px;
      font-size: clamp(1rem, 1.08vw, 1.18rem);
      line-height: 1.74;
      color: rgba(64, 49, 44, 0.9);
      max-width: 46ch;
      letter-spacing: 0;
    }

    .home-page section + section {
      margin-top: clamp(18px, 2.4vw, 30px);
    }

    .home-page .final-cta-showcase {
      margin-top: clamp(18px, 2.4vw, 30px);
    }

    .home-page .services-showcase {
      margin-top: 0 !important;
    }

    /* --- Bouton + note "premier échange" --- */

 .hero-cta-row {
  margin-top: 30px;
 display: flex;
  align-items: center;
  gap: clamp(16px, 2.2vw, 28px);
  flex-wrap: wrap;
}

    .hero-cta {
      margin-top: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 13px 34px;
      border-radius: 2px;
      background: linear-gradient(135deg, #4d1823, #5d1d2a);
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      box-shadow: 0 10px 24px rgba(76, 24, 34, 0.22);
      transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
      flex-shrink: 0;
    }
    .hero-cta::after {
    content: "→";
    color: var(--accent-gold);
    font-size: 1.3rem;
    font-weight: bold;
    margin-left: 6px;
    line-height: 1;
    transition: transform 0.3s ease;
}
.hero-cta:hover::after {
    transform: translateX(5px);
}
    .hero-cta:hover::after {
      transform: translateX(5px);
    }
    .hero-cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(76, 24, 34, 0.3);
      filter: saturate(1.06);
    }

    .hero-cta:active {
      transform: translateY(0);
    }

    .hero-cta:focus-visible {
      outline: 2px solid #fff;
      outline-offset: 3px;
    }

    /* Boutons des pages secondaires : même identité que le CTA de l'accueil. */
    .secondary-page-cta {
      margin-top: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: fit-content;
      padding: 13px 34px;
      border: 0;
      border-radius: 2px;
      background: linear-gradient(135deg, #4d1823, #5d1d2a);
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      box-shadow: 0 10px 24px rgba(76, 24, 34, 0.22);
      transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
      flex-shrink: 0;
    }

    .secondary-page-cta::after {
      content: "→";
      color: var(--accent-gold);
      font-size: 1.3rem;
      font-weight: bold;
      margin-left: 6px;
      line-height: 1;
      transition: transform 0.3s ease;
    }

    .secondary-page-cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(76, 24, 34, 0.3);
      filter: saturate(1.06);
    }

    .secondary-page-cta:hover::after {
      transform: translateX(5px);
    }

    .secondary-page-cta:active {
      transform: translateY(0);
    }

    .secondary-page-cta:focus-visible {
      outline: 2px solid #fff;
      outline-offset: 3px;
    }

.hero-cta-note {
  display: inline-flex;
  align-items: center;
      gap: 14px;
  font-size: 15.5px;
  color: rgba(47, 30, 27, 0.78);
  line-height: 1.35;
  white-space: nowrap;
}

   .hero-cta-note-icon {
  flex-shrink: 0;
      width: clamp(30px, 2.2vw, 38px);
      height: clamp(30px, 2.2vw, 38px);
  object-fit: contain;
      opacity: 0.72;
      filter: sepia(0.35) saturate(0.85) brightness(0.9);
}

      .services-showcase {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        width: 100%;
        max-width: none;
        margin: -8px 0 0 !important;
        padding: clamp(42px, 5.2vw, 64px) 0 48px;
        background: linear-gradient(180deg, #fffcf8 0%, #fff8f2 100%);
        border-top: 0;
        border-bottom: 0;
      }

      .services-showcase::before {
        content: "";
        position: absolute;
        z-index: 0;
        right: clamp(50px, 6vw, 90px);
        top: 50%;
        width: clamp(120px, 15vw, 210px);
        height: 78%;
        max-height: 460px;
        transform: translateY(-50%) rotate(-45deg) scaleX(-1);
        transform-origin: center;
        background: url("img/addon.png") right center / contain no-repeat;
        opacity: 0.78;
        pointer-events: none;
      }

      .services-content.services-refined {
        position: relative;
        z-index: 1;
        max-width: 1460px;
        margin: 0 auto;
        padding: 0;
      }

      .services-strip {
        display: grid;
        grid-template-columns: minmax(200px, 1.05fr) repeat(4, minmax(0, 1fr));
        align-items: stretch;
        background: transparent;
        gap: 16px;
      }

      .services-intro {
        padding: 24px 8px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 10px;
      }

      .services-intro-wheat {
        width: 30px;
        height: 30px;
        display: block;
        color: #c28a47;
        opacity: 0.82;
      }

      .services-intro-title {
        margin: 0;
        color: #4d2828;
        font-size: clamp(2rem, 2.9vw, 2.65rem);
        font-weight: 700;
        letter-spacing: 0.02em;
        line-height: 1.04;
        text-transform: uppercase;
        font-family: "Cormorant Garamond", Georgia, serif;
      }

      .services-intro-text {
        margin: 2px 0 0;
        color: #72615b;
        font-size: 0.93rem;
        line-height: 1.48;
        max-width: 25ch;
      }

      .services-intro-cta {
        margin-top: 6px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 9px 16px;
        border-radius: 3px;
        background: linear-gradient(180deg, #6a2a35 0%, #56222c 100%);
        border: 1px solid #6e3440;
        color: #fff;
        text-decoration: none;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        box-shadow: 0 7px 14px rgba(87, 37, 45, 0.2);
        width: fit-content;
        transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
      }

      .services-intro-cta::after {
        content: "→";
        color: #dcb67d;
        font-size: 0.95rem;
        transition: transform 0.22s ease;
      }

      .services-intro-cta:hover,
      .services-intro-cta:focus-visible {
        transform: translateY(-1px);
        box-shadow: 0 12px 24px rgba(87, 37, 45, 0.3), 0 0 0 5px rgba(109, 46, 53, 0.08);
        filter: saturate(1.05);
      }

      .services-intro-cta:hover::after,
      .services-intro-cta:focus-visible::after {
        transform: translateX(4px);
      }

      .services-grid {
        grid-column: span 4;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
      }

      .service-card {
        position: relative;
        overflow: hidden;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 245, 232, 0.92) 100%);
        border: 1px solid rgba(207, 166, 120, 0.38);
        border-radius: 22px;
        padding: 24px 28px;
        transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-height: 100%;
        box-shadow: 0 10px 24px rgba(92, 38, 38, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.78);
      }

      .service-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.48) 0%, rgba(255, 255, 255, 0) 100%);
        pointer-events: none;
        border-radius: inherit;
      }

      .service-card:hover {
        transform: translateY(-3px);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 238, 0.96) 100%);
        border-color: rgba(191, 129, 77, 0.5);
        box-shadow: 0 16px 34px rgba(92, 38, 38, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
      }

      .service-card-top {
        display: grid;
        justify-items: center;
        gap: 10px;
        margin-bottom: 10px;
        width: 100%;
      }

      .service-card-top::after {
        content: "";
        display: block;
        width: 100%;
        max-width: 128px;
        height: 2px;
        margin-top: 4px;
        background: linear-gradient(90deg, rgba(196, 150, 91, 0) 0%, rgba(196, 150, 91, 0.55) 50%, rgba(196, 150, 91, 0) 100%);
        border-radius: 999px;
      }

      .service-icon-wrap {
        width: 74px;
        height: 74px;
        border-radius: 50%;
        background: linear-gradient(180deg, #fffdf9 0%, #fff6ec 100%);
        border: 2px solid #e9cfaf;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
        flex-shrink: 0;
      }

      .service-icon {
        width: 31px;
        height: 31px;
        color: #b17841;
        opacity: 0.95;
      }

      .service-title {
        margin: 0;
        color: #4c2c2c;
        font-size: 1.85rem;
        font-weight: 700;
        line-height: 1.08;
        font-family: "Cormorant Garamond", Georgia, serif;
      }

      .service-card-desc {
        margin: 2px 0 12px;
        color: #6f5d56;
        font-size: 0.92rem;
        line-height: 1.55;
        flex: 1;
        width: 100%;
      }

      .service-card-link {
        margin-top: auto;
        color: #b5844f;
        font-size: 0.875rem;
        font-weight: 700;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        align-self: center;
      }

      .service-card-link::after {
        content: "→";
        transition: transform 0.2s ease;
      }

      .service-card:hover .service-card-link::after {
        transform: translateX(3px);
      }

    .about-showcase {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      width: 100%;
      max-width: none;
      margin: 0 !important;
      padding: clamp(8px, 0.9vw, 12px);
      border-bottom: 0;
    }

    .about-showcase::before {
      content: "";
      position: absolute;
      z-index: 2;
      left: clamp(10px, 1.5vw, 24px);
      top: 60%;
      width: clamp(112px, 14vw, 195px);
      height: 73%;
      max-height: 430px;
      transform: translateY(-50%) rotate(25deg);
      transform-origin: center;
      background: url("img/addon.png") left center / contain no-repeat;
      opacity: 0.62;
      pointer-events: none;
    }

    .about-grid {
      position: relative;
      z-index: 1;
      max-width: 1480px;
      margin: 0 auto;
      padding: 0 clamp(0px, 0.35vw, 6px);
    }

    .about-row {
      display: grid;
      grid-template-columns: minmax(380px, 39%) minmax(340px, 33%) minmax(280px, 28%);
      align-items: stretch;
      min-height: clamp(330px, 34vw, 430px);
      border: 1px solid rgba(227, 206, 183, 0.78);
      border-radius: 24px;
      overflow: hidden;
      background: #fffdfb;
      box-shadow: 0 18px 40px rgba(138, 95, 63, 0.12);
    }

    .about-row--lead,
    .about-row--reverse {
      overflow: hidden;
      position: relative;
    }

    .about-image-wrap {
      position: relative;
      min-height: clamp(330px, 34vw, 430px);
      isolation: isolate;
      overflow: hidden;
      border-radius: 24px 0 0 24px;
    }

    .about-image-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 76%, rgba(255, 255, 255, 0.16) 88%, #fffdfb 100%);
      pointer-events: none;
    }

    .about-image-wrap > img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 18%;
      display: block;
      transform: scale(1.01);
    }

    .about-panel {
      padding: clamp(34px, 3.4vw, 52px) clamp(18px, 2vw, 28px);
      display: grid;
      align-content: center;
      justify-items: center;
      gap: 14px;
      position: relative;
      z-index: 1;
      background: radial-gradient(circle at 65% 50%, rgba(245, 236, 227, 0.32) 0%, rgba(245, 236, 227, 0) 60%);
    }

    .about-panel::before {
      content: none;
    }

    .about-kicker {
      margin: 0;
      font-family: "Manrope", "Segoe UI", Arial, sans-serif;
      color: #66534b;
      font-size: 0.84rem;
      font-weight: 500;
      line-height: 1.55;
      max-width: 42ch;
      text-align: center;
    }

    .about-subtitle {
      margin: 0;
      color: #35241f;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2.1rem, 2.8vw, 3.15rem);
      font-weight: 700;
      line-height: 1;
      text-shadow: none;
      max-width: 12ch;
      text-align: center;
    }

    .about-subtitle-highlight {
      color: #c18a4b;
    }

    .about-divider {
      width: 0;
      height: 0;
      margin: 0;
    }

    .about-panel p {
      margin: 0;
      font-family: "Manrope", "Segoe UI", Arial, sans-serif;
      color: #5b4a44;
      font-size: 0.94rem;
      line-height: 1.62;
      max-width: 44ch;
      text-align: center;
    }

    .about-panel p.about-strong {
      color: #2f1e1b;
      font-weight: 600;
    }

    .about-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: fit-content;
      margin-top: 14px;
      padding: 9px 16px;
      border-radius: 3px;
      background: linear-gradient(180deg, #6a2a35 0%, #56222c 100%);
      border: 1px solid #6e3440;
      color: #fff;
      text-decoration: none;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      box-shadow: 0 7px 14px rgba(87, 37, 45, 0.2);
      transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
    }

    .about-cta::after {
      content: "→";
      color: #dcb67d;
      font-size: 0.95rem;
      line-height: 1;
      display: inline-block;
      transform: translateX(0);
      transition: transform 0.22s ease;
    }

    .about-cta:hover,
    .about-cta:focus-visible {
      transform: translateY(-1px);
      box-shadow: 0 12px 24px rgba(87, 37, 45, 0.3), 0 0 0 5px rgba(109, 46, 53, 0.08);
      filter: saturate(1.05);
      outline: none;
    }

    .about-cta:hover::after,
    .about-cta:focus-visible::after {
      transform: translateX(4px);
    }

    .about-benefits {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      align-content: center;
      justify-content: start;
      justify-self: end;
      align-self: center;
      margin-left: 0;
      margin: 0 clamp(14px, 1.4vw, 20px) 0 0 !important;
      position: relative;
      z-index: 2;
      width: min(100%, 258px);
      padding: 14px 10px !important;
      background: linear-gradient(180deg, #fffcf8 0%, #fff7ef 100%) !important;
      border: 1px solid rgba(226, 205, 182, 0.88);
      border-radius: 22px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 18px rgba(138, 95, 63, 0.08);
      border-left: 0;
    }

    .about-benefit {
      display: grid;
      grid-template-columns: 46px minmax(0, 1fr);
      grid-template-areas:
        "icon title"
        "icon text";
      align-items: start;
      justify-items: start;
      column-gap: 11px;
      row-gap: 3px;
      min-height: 0;
      padding: 10px 4px 10px 1px;
      text-align: left;
      position: relative;
    }

    .about-benefit + .about-benefit {
      border-top: 1px solid rgba(226, 205, 182, 0.62);
    }

    .about-benefit-icon {
      grid-area: icon;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      border: 1px solid rgba(225, 197, 165, 0.9);
      background: linear-gradient(180deg, #fffdfa 0%, #fff4e7 100%);
      color: #c69052;
      box-shadow: 0 8px 18px rgba(152, 105, 54, 0.08);
      align-self: center;
    }

    .about-benefit-icon svg {
      width: 16px;
      height: 16px;
      display: block;
    }

    .about-benefit-title {
      grid-area: title;
      color: #4c3a33;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: 1.17rem;
      font-weight: 700;
      line-height: 1.08;
      margin-top: 1px;
    }

    .about-benefit-text {
      grid-area: text;
      font-family: "Manrope", "Segoe UI", Arial, sans-serif;
      color: #74615a;
      font-size: 0.875rem;
      line-height: 1.45;
      max-width: 21ch;
    }

    .about-benefit-icon {
      width: 40px;
      height: 40px;
    }

    .about-benefit-icon svg {
      width: 16px;
      height: 16px;
    }

    @media (min-width: 961px) {
      .about-row {
        grid-template-columns: minmax(200px, 20%) minmax(0, 57%) minmax(220px, 23%);
      }

      .about-image-wrap {
        min-height: clamp(340px, 32vw, 402px);
      }

      .about-panel {
        padding: clamp(36px, 3.4vw, 52px) clamp(22px, 2.2vw, 32px);
        justify-items: stretch;
      }

      .about-kicker {
        width: 100%;
        max-width: none;
        font-size: 0.94rem;
        line-height: 1.62;
        text-align: left;
      }

      .about-subtitle {
        width: 100%;
        max-width: none;
        font-size: clamp(2.2rem, 2.7vw, 3.2rem);
        line-height: 0.98;
        text-align: left;
      }

      .about-panel p {
        width: 100%;
        max-width: none;
        font-size: 0.94rem;
        line-height: 1.68;
        text-align: left;
      }

      .about-cta {
        margin-top: 16px;
      }

      .about-benefits {
        gap: 0;
        align-self: center;
        margin: 0 clamp(14px, 1.4vw, 20px) 0 0 !important;
        width: min(100%, 258px);
        padding: 14px 10px !important;
        background: linear-gradient(180deg, #fffcf8 0%, #fff7ef 100%) !important;
        border: 1px solid rgba(180, 180, 180, 0.30);
        border-radius: 22px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 18px rgba(138, 95, 63, 0.08);
      }

      .about-benefit {
        align-items: start;
        padding: 10px 4px 10px 1px;
        min-height: 0;
        border-radius: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
      }

      .about-benefit-icon {
        width: 40px;
        height: 40px;
        border-color: rgba(225, 197, 165, 0.9);
        box-shadow: 0 8px 18px rgba(152, 105, 54, 0.08);
      }

      .about-benefit-icon svg {
        width: 16px;
        height: 16px;
      }

      .about-benefit-title {
        font-size: 1.17rem;
        letter-spacing: 0.01em;
      }

      .about-benefit-text {
        font-size: 0.875rem;
        line-height: 1.45;
        max-width: 21ch;
      }
    }

    .about-plant-accent {
      position: absolute;
      right: clamp(-78px, -5.8vw, -46px);
      top: 62%;
      width: clamp(142px, 14.4vw, 220px);
      max-width: none;
      height: auto;
      opacity: 0.62;
      transform: translateY(-42%) rotate(-28deg);
      transform-origin: center bottom;
      z-index: 1;
      pointer-events: none;
      filter: drop-shadow(0 16px 22px rgba(43, 26, 18, 0.2));
    }

    .about-plant-accent--left {
      left: clamp(-78px, -5.8vw, -46px);
      right: auto;
      top: 44%;
      transform: translateY(-42%) rotate(28deg) scaleX(-1);
      transform-origin: center bottom;
    }

    .audience-showcase {
      width: 100%;
      max-width: none;
      margin: 0 !important;
      padding: clamp(30px, 4.2vw, 50px) 0;
      border-bottom: 0;
    }

    .audience-showcase {
      scroll-margin-top: 112px;
    }

    .audience-inner {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 clamp(16px, 2vw, 24px);
    }

    .audience-title {
      margin: 0;
      text-align: center;
      color: #1f1a18;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.5rem, 2.25vw, 2.15rem);
      line-height: 1.05;
      font-weight: 700;
      text-shadow: var(--text-shadow-soft);
    }

    .audience-title-highlight {
      color: #b27946;
    }

    .audience-title-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: min(220px, 46vw);
      margin: 10px auto 22px;
      color: #b98a54;
    }

    .audience-title-divider::before,
    .audience-title-divider::after {
      content: "";
      flex: 1;
      height: 1px;
      background: linear-gradient(90deg, rgba(194, 145, 82, 0) 0%, rgba(194, 145, 82, 0.62) 50%, rgba(194, 145, 82, 0) 100%);
    }

    .audience-title-wheat {
      width: 21px;
      height: 21px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      filter: drop-shadow(0 2px 4px rgba(128, 89, 47, 0.2));
    }

    .audience-title-wheat svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .audience-tabs {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      align-items: stretch;
      border: 0;
      background: transparent;
      border-radius: 0;
      overflow: visible;
      box-shadow: none;
      isolation: isolate;
      margin-bottom: 0;
    }

    .audience-tab {
      border: 0;
      border-right: 1px solid rgba(180, 140, 95, 0.18);
      border-radius: 0;
      background: transparent;
      margin: 0;
      padding: clamp(8px, 1.2vw, 13px) 8px 11px;
      text-align: center;
      color: #5d504c;
      display: grid;
      justify-items: center;
      align-content: center;
      justify-content: center;
      gap: 7px;
      position: relative;
      min-height: 82px;
      cursor: pointer;
      transition: color 0.24s ease, transform 0.24s ease;
    }

    .audience-tab:nth-child(6n) {
      border-right: 0;
    }

    .audience-tab:hover {
      transform: translateY(-2px);
      color: #4b3a34;
    }

    .audience-tab:focus-visible {
      outline: 2px solid #c69052;
      outline-offset: 2px;
      z-index: 2;
    }

    .audience-tab.is-active {
      color: #b4773e;
    }

    .audience-tab.is-active::before {
      content: "";
      position: absolute;
      left: 26%;
      right: 26%;
      bottom: 1px;
      height: 1px;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(194, 141, 83, 0) 0%, rgba(194, 141, 83, 0.72) 50%, rgba(194, 141, 83, 0) 100%);
      pointer-events: none;
    }

    .audience-tab.is-active::after {
      content: "";
      position: absolute;
      left: 39%;
      right: 39%;
      bottom: 0;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, #d4a46a 0%, #c1894e 100%);
      box-shadow: 0 1px 4px rgba(159, 109, 56, 0.28);
      pointer-events: none;
    }

    .audience-icon {
      width: 28px;
      height: 28px;
      display: block;
      object-fit: contain;
      color: currentColor;
      opacity: 0.82;
      filter: grayscale(0.42) contrast(0.92);
      pointer-events: none;
      transform: translateY(1px);
      transition: filter 0.24s ease, opacity 0.24s ease, transform 0.24s ease;
    }

    .audience-tab[data-audience-key="entrepreneurs"] { --tab-icon-filter: brightness(0) saturate(100%) invert(51%) sepia(40%) saturate(924%) hue-rotate(353deg) brightness(95%) contrast(90%); }
    .audience-tab[data-audience-key="tpe-pme"] { --tab-icon-filter: brightness(0) saturate(100%) invert(37%) sepia(18%) saturate(1243%) hue-rotate(354deg) brightness(95%) contrast(88%); }
    .audience-tab[data-audience-key="independants"] { --tab-icon-filter: brightness(0) saturate(100%) invert(43%) sepia(23%) saturate(784%) hue-rotate(327deg) brightness(96%) contrast(90%); }
    .audience-tab[data-audience-key="artisans"] { --tab-icon-filter: brightness(0) saturate(100%) invert(40%) sepia(24%) saturate(752%) hue-rotate(18deg) brightness(93%) contrast(92%); }
    .audience-tab[data-audience-key="professions-liberales"] { --tab-icon-filter: brightness(0) saturate(100%) invert(35%) sepia(17%) saturate(1020%) hue-rotate(293deg) brightness(93%) contrast(90%); }
    .audience-tab[data-audience-key="commercants"] { --tab-icon-filter: brightness(0) saturate(100%) invert(30%) sepia(35%) saturate(1060%) hue-rotate(354deg) brightness(96%) contrast(92%); }

    .audience-tab:hover .audience-icon {
      opacity: 0.95;
      filter: var(--tab-icon-filter) drop-shadow(0 2px 6px rgba(145, 96, 49, 0.22));
    }

    .audience-tab.is-active .audience-icon {
      opacity: 1;
      filter: var(--tab-icon-filter) drop-shadow(0 4px 9px rgba(145, 96, 49, 0.34));
    }

    .audience-tab-label {
      margin: 0;
      color: currentColor;
      font-size: 0.875rem;
      line-height: 1.24;
      font-weight: 700;
      letter-spacing: 0.01em;
      pointer-events: none;
    }

    .audience-panel {
      --panel-accent: #c58a4f;
      --panel-icon-filter: brightness(0) saturate(100%) invert(51%) sepia(40%) saturate(924%) hue-rotate(353deg) brightness(95%) contrast(90%);
      width: min(66.6667%, 900px);
      margin: 50px auto 0;
      box-sizing: border-box;
      border: 1px solid #f1e5d8;
      border-radius: 12px;
      background: linear-gradient(180deg, #fffdfb 0%, #fff7ef 100%);
      box-shadow: 0 3px 12px rgba(117, 73, 45, 0.07);
      padding: clamp(11px, 1.4vw, 15px);
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: start;
      gap: 13px;
      min-height: 102px;
    }

    .audience-panel-icon {
      width: 39px;
      height: 39px;
      border-radius: 50%;
      background: linear-gradient(180deg, rgba(255, 247, 236, 0.98) 0%, rgba(251, 238, 220, 0.98) 100%);
      border: 1px solid rgba(197, 138, 79, 0.35);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 11px rgba(120, 74, 38, 0.12);
      flex-shrink: 0;
      align-self: center;
    }

    .audience-panel-icon img {
      width: 18px;
      height: 18px;
      display: block;
      object-fit: contain;
      opacity: 0.98;
      filter: var(--panel-icon-filter) drop-shadow(0 2px 5px rgba(149, 98, 49, 0.26));
      transform: translateY(0.5px);
    }

    .audience-panel-copy {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 0.26s ease, transform 0.26s ease;
    }

    .audience-panel-copy.is-swapping {
      opacity: 0;
      transform: translateY(6px);
    }

    .audience-panel-copy h3 {
      margin: 0 0 6px;
      color: #181312;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.15rem, 1.45vw, 1.32rem);
      line-height: 1.15;
      font-weight: 700;
    }

    .audience-panel-copy p {
      margin: 0;
      color: #6d5851;
      font-size: clamp(0.93rem, 1.15vw, 0.98rem);
      line-height: 1.52;
    }

    .audience-keyword {
      color: var(--panel-accent);
      font-weight: 700;
    }

    @media (max-width: 1080px) {
      .audience-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .audience-tab {
        border-right: 1px solid rgba(180, 140, 95, 0.18);
      }

      .audience-tab:nth-child(6n) {
        border-right: 1px solid rgba(180, 140, 95, 0.18);
      }

      .audience-tab:nth-child(3n) {
        border-right: 0;
      }

      .audience-panel {
        width: 66.6667%;
        margin-left: 33.3333%;
        margin-right: 0;
      }
    }

    @media (max-width: 820px) {
      .audience-showcase {
        padding: 12px 0 16px;
      }

      .audience-inner {
        padding: 0 12px;
      }

      .audience-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .audience-tab {
        border-right: 1px solid rgba(180, 140, 95, 0.16);
      }

      .audience-tab:nth-child(3n) {
        border-right: 1px solid rgba(180, 140, 95, 0.16);
      }

      .audience-tab:nth-child(2n) {
        border-right: 0;
      }

      .audience-tab {
        min-height: 78px;
        padding: 12px 8px 11px;
      }

      .audience-panel {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        grid-template-columns: 1fr;
        justify-items: start;
        gap: 10px;
      }
    }

    @media (max-width: 960px) {
      .about-row {
        grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
      }

      .about-image-wrap {
        min-height: 320px;
        border-radius: 22px 0 0 22px;
      }

      .about-benefits {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 0;
        border-left: 1px solid rgba(226, 205, 182, 0.88);
        border-top: 1px solid rgba(226, 205, 182, 0.88);
        width: auto;
        margin: 2px 12px 4px !important;
        padding: 14px 10px !important;
      }

      .about-panel::before {
        display: none;
      }

      .about-panel {
        padding-top: 24px;
      }

      .about-subtitle,
      .about-panel p,
      .about-kicker {
        max-width: none;
      }

      .about-subtitle {
        max-width: 12ch;
      }

      .about-kicker {
        max-width: none;
      }

      .about-benefit {
        padding: 9px 4px;
      }

      .about-showcase {
        padding: 12px;
      }

      .about-showcase::before {
        display: none;
      }

      .about-plant-accent {
        display: none;
      }
    }

    @media (max-width: 640px) {
      .about-row {
        grid-template-columns: 1fr;
        border-radius: 18px;
      }

      .about-image-wrap {
        min-height: 280px;
        border-radius: 18px 18px 0 0;
      }

      .about-panel {
        padding: 22px 18px;
      }

      .about-benefits {
        grid-template-columns: 1fr;
        width: min(100%, 520px);
        justify-self: center;
        margin: 8px auto 6px !important;
        padding: 16px 14px !important;
      }

      .about-benefit {
        grid-template-columns: 46px minmax(0, 1fr);
        grid-template-areas:
          "icon title"
          "icon text";
        justify-items: start;
        text-align: left;
        align-items: center;
        column-gap: 12px;
        row-gap: 6px;
        padding: 12px 6px;
      }

      .about-benefit-icon {
        align-self: center;
      }

      .about-benefit-title {
        align-self: center;
        margin: 0;
      }

      .about-benefit-text {
        max-width: none;
        min-width: 0;
        white-space: normal;
        overflow-wrap: break-word;
      }

      .about-subtitle {
        max-width: none;
        text-align: left;
      }

      .about-kicker,
      .about-panel p {
        text-align: left;
      }
    }

    @media (max-width: 520px) {
      .about-benefits {
        grid-template-columns: 1fr;
      }
    }

    .hero {
      margin-top: 20px;
      background: linear-gradient(130deg, #ffffff 0%, #fff2e8 62%, #f6dfcf 100%);
      border: 1px solid var(--line);
      border-radius: 22px;
      box-shadow: var(--shadow);
      padding: 28px;
    }

    .hero h1 {
      margin: 0 0 8px;
      color: var(--brand);
      font-size: clamp(1.6rem, 3vw, 2.4rem);
      line-height: 1.2;
    }

    .hero p {
      margin: 0;
      color: var(--ink-soft);
      max-width: 75ch;
    }

    body.page-services .shell {
      max-width: 1320px;
      padding-top: 0;
      padding-bottom: 0;
    }

    .page-services main {
      display: grid;
      gap: 12px;
      padding-bottom: 8px;
    }

    .page-services .services-page-hero { order: 1; }
    .page-services .services-page-detail { order: 2; }
    .page-services .services-page-overview { order: 3; }
    .page-services .services-page-benefits { order: 4; }
    .page-services .services-page-sectors { order: 5; }

    .services-page-hero {
      position: relative;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      min-height: 100dvh;
      display: grid;
      align-items: center;
      isolation: isolate;
      overflow: hidden;
      background-image:
        linear-gradient(98deg, rgba(255, 251, 246, 0.56) 0%, rgba(255, 250, 245, 0.48) 38%, rgba(255, 248, 241, 0.28) 62%, rgba(255, 248, 241, 0.06) 80%),
        url("img/hero.png");
      background-size: 104% auto;
      background-position: center right;
      background-repeat: no-repeat;
      animation: heroImageZoom 10s ease-out forwards;
    }

    .services-page-hero::after {
      content: none;
    }

    .services-page-hero-inner {
      position: relative;
      z-index: 2;
      width: min(1320px, calc(100% - 32px));
      margin: 0 auto 0 32px;
      padding: clamp(72px, 7.8vw, 112px) clamp(12px, 1.4vw, 28px) clamp(52px, 6vw, 92px);
      display: grid;
      gap: 12px;
      max-width: min(70ch, 53%);
      transform: translateY(-72px);
      background: none;
      animation: heroCopyIn 0.95s ease-out 0.12s both;
    }

    .services-page-kicker {
      margin: 0;
      color: #b88845;
      font-size: 0.88rem;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      font-weight: 800;
    }

    .services-page-hero-inner h1 {
      margin: 0;
      color: #3f1c28;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2.2rem, 4.75vw, 4.1rem);
      line-height: 1.08;
      max-width: 19.2ch;
      text-wrap: balance;
      text-shadow: 0 2px 8px rgba(46, 24, 24, 0.16);
    }

    .services-page-hero-lead {
      margin: 0;
      color: #9f6f39;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.34rem, 2vw, 2.18rem);
      line-height: 1.14;
      max-width: 20ch;
    }

    .services-page-hero-description {
      margin: 0;
      color: rgba(47, 34, 30, 0.9);
      font-size: clamp(1rem, 1.06vw, 1.12rem);
      line-height: 1.74;
      max-width: 46ch;
    }

    .services-page-hero-actions {
      margin-top: 10px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: clamp(14px, 2vw, 24px);
    }

    .services-page-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: fit-content;
      padding: 13px 28px;
      border-radius: 2px;
      background: linear-gradient(135deg, #4d1823, #5d1d2a);
      border: 0;
      color: #fff;
      text-decoration: none;
      font-size: 0.84rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      box-shadow: 0 10px 24px rgba(76, 24, 34, 0.24);
      transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    }

    .services-page-cta::after {
      content: "→";
      color: #dcb67d;
      transition: transform 0.2s ease;
    }

    .page-services .services-page-cta:hover,
    .page-services .services-page-cta:focus-visible {
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(76, 24, 34, 0.3);
      filter: saturate(1.05);
      outline: none;
    }

    .page-services .services-page-cta:hover::after,
    .page-services .services-page-cta:focus-visible::after {
      transform: translateX(3px);
    }

    .services-page-hero-note {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: rgba(47, 30, 27, 0.78);
      font-size: 1rem;
      line-height: 1.34;
      white-space: nowrap;
    }

    .services-page-hero-note img {
      width: clamp(29px, 2.1vw, 36px);
      height: clamp(29px, 2.1vw, 36px);
      object-fit: contain;
      opacity: 0.72;
      filter: sepia(0.35) saturate(0.85) brightness(0.9);
      flex-shrink: 0;
    }

    .seo-page .shell {
      max-width: 1240px;
      padding-top: clamp(28px, 4vw, 44px);
      position: relative;
      isolation: isolate;
      overflow: visible;
    }

    .seo-page .shell::before,
    .seo-page .shell::after {
      content: "";
      position: absolute;
      z-index: 0;
      width: clamp(110px, 14vw, 190px);
      height: clamp(220px, 34vw, 420px);
      background: url("img/addon.png") center / contain no-repeat;
      opacity: 0.66;
      pointer-events: none;
      transform-origin: center;
    }

    .seo-page .shell::before {
      right: clamp(-150px, -9vw, -54px);
      top: clamp(16px, 2.4vw, 34px);
      transform: rotate(-44deg) scaleX(-1);
    }

    .seo-page .shell::after {
      left: clamp(-150px, -9vw, -54px);
      bottom: clamp(14px, 2.4vw, 32px);
      transform: rotate(44deg);
    }

    .seo-page .shell > main {
      position: relative;
      z-index: 1;
    }

    .seo-page .seo-page-hero {
      min-height: 100dvh;
      background-size: cover;
      background-position: center right;
    }

    .seo-page .seo-page-hero-inner {
      transform: none;
      gap: 14px;
      padding-top: clamp(112px, 12vw, 164px);
      padding-bottom: clamp(52px, 8.5vw, 102px);
    }

    .seo-page .seo-page-hero-inner h1 {
      max-width: 18ch;
    }

    .seo-main {
      display: block;
    }

    .seo-content {
      display: grid;
      gap: clamp(28px, 3.6vw, 44px);
    }

    .seo-row {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
      align-items: center;
      gap: clamp(22px, 3.2vw, 42px);
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
      box-shadow: none;
    }

    .seo-row + .seo-row {
      border-top: 1px solid rgba(201, 172, 142, 0.38);
      padding-top: clamp(24px, 3vw, 34px);
    }

    .seo-row--reverse .seo-row-body {
      order: 2;
    }

    .seo-row--reverse .seo-row-media {
      order: 1;
      justify-self: start;
    }

    .seo-row--text {
      grid-template-columns: 1fr;
    }

    .seo-row-body {
      display: grid;
      gap: 12px;
      justify-items: start;
    }

    .seo-row-media {
      width: min(100%, 520px);
      justify-self: end;
    }

    .seo-row--compact-media .seo-row-media,
    .seo-row--compact-media-auto .seo-row-media {
      width: min(100%, 420px);
    }

    .seo-content h2,
    .seo-content h3 {
      margin: 0;
      color: #432325;
      font-family: "Cormorant Garamond", Georgia, serif;
      line-height: 1.08;
    }

    .seo-content h2 {
      font-size: clamp(1.6rem, 2.7vw, 2.24rem);
      display: inline-flex;
      align-items: center;
      gap: 14px;
      position: relative;
      padding-bottom: 14px;
    }

    .seo-content .seo-row .seo-row-body > h2::before {
      content: "\2706";
      width: 48px;
      height: 48px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.28rem;
      line-height: 1;
      color: #fff;
      box-shadow: 0 6px 12px rgba(72, 35, 35, 0.16);
      flex: 0 0 48px;
      align-self: center;
      font-family: "Segoe UI Symbol", "Segoe UI", sans-serif;
    }

    .seo-content .seo-row:nth-of-type(5n + 1) .seo-row-body > h2::before {
      content: "\2706";
    }

    .seo-content .seo-row:nth-of-type(5n + 2) .seo-row-body > h2::before {
      content: "\270E";
    }

    .seo-content .seo-row:nth-of-type(5n + 3) .seo-row-body > h2::before {
      content: "\2713";
    }

    .seo-content .seo-row:nth-of-type(5n + 4) .seo-row-body > h2::before {
      content: "\2699";
    }

    .seo-content .seo-row:nth-of-type(5n + 5) .seo-row-body > h2::before {
      content: "\260E";
    }

    .seo-content .seo-row:nth-of-type(odd) .seo-row-body > h2::before {
      background: linear-gradient(180deg, #cda46b 0%, #b68645 100%);
      border: 1px solid rgba(165, 121, 61, 0.58);
    }

    .seo-content .seo-row:nth-of-type(even) .seo-row-body > h2::before {
      background: linear-gradient(180deg, #6a2a35 0%, #56222c 100%);
      border: 1px solid rgba(98, 37, 48, 0.56);
    }

    .seo-row.seo-icon--help { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.8 9a2.35 2.35 0 1 1 3.55 2c-.9.55-1.35 1.05-1.35 2'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--calculator { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2'/%3E%3Cpath d='M8 6h8v3H8zM8 13h.01M12 13h.01M16 13h.01M8 17h.01M12 17h.01M16 17h.01'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--scale { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 6h14M7 6l-4 7h8L7 6Zm10 0-4 7h8l-4-7ZM8 21h8'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--monitor { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--handshake { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 12 2.2 2.2a2 2 0 0 0 2.8 0l3.8-3.8M3 8l4-3 4 3-5 6-3-2V8Zm18 0-4-3-3 2 4 7 3-2V8Z'/%3E%3Cpath d='m8 14 3 3c.8.8 2 .8 2.8 0l3.2-3'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--shield { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v5c0 5-3.4 8.6-8 10-4.6-1.4-8-5-8-10V6l8-3Z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--users { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20v-1.5A3.5 3.5 0 0 0 12.5 15h-5A3.5 3.5 0 0 0 4 18.5V20M10 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM18 8a3 3 0 0 1 0 6M20 20v-1a3 3 0 0 0-2.3-2.9'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--growth { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5M4 19h16M7 15l4-4 3 2 5-6M15 7h4v4'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--sliders { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h4M12 7h8M4 17h8M16 17h4M8 4v6M16 14v6'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--clipboard { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V2.5h6V4M9 9h6M9 13h6M9 17h4'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--briefcase { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E"); }
    .seo-row.seo-icon--folder { --seo-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6Z'/%3E%3C/svg%3E"); }

    .seo-page {
      --seo-icon-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.15 3.1L16 7.5l-2.85 1.4L12 12l-1.15-3.1L8 7.5l2.85-1.4L12 3ZM6 13l.9 2.1L9 16l-2.1.9L6 19l-.9-2.1L3 16l2.1-.9L6 13ZM18 12l.9 2.1L21 15l-2.1.9L18 18l-.9-2.1L15 15l2.1-.9L18 12Z'/%3E%3C/svg%3E");
      --seo-icon-workflow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='M8.5 6H14a4 4 0 0 1 4 4v1M15 9l3 3 3-3M15.5 18H10a4 4 0 0 1-4-4v-1M9 15l-3-3-3 3'/%3E%3C/svg%3E");
      --seo-icon-euro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M16 7.8A5.5 5.5 0 1 0 16 16.2M6.8 10h7M6.8 14h7'/%3E%3C/svg%3E");
      --seo-icon-package: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 8-4 8 4v10l-8 4-8-4V7ZM4 7l8 4 8-4M12 11v10M8 5l8 4'/%3E%3C/svg%3E");
      --seo-icon-wallet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5A2.5 2.5 0 0 1 6.5 4H18a2 2 0 0 1 2 2v13H6a2 2 0 0 1-2-2V6.5Z'/%3E%3Cpath d='M4 7h14M15 11h6v5h-6a2.5 2.5 0 0 1 0-5ZM16 13.5h.01'/%3E%3C/svg%3E");
      --seo-icon-ban: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m5.6 5.6 12.8 12.8'/%3E%3C/svg%3E");
      --seo-icon-list-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 1.5 1.5L8 5M11 6h9M4 12l1.5 1.5L8 11M11 12h9M4 18l1.5 1.5L8 17M11 18h9'/%3E%3C/svg%3E");
      --seo-icon-sliders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h4M12 7h8M4 17h8M16 17h4M8 4v6M16 14v6'/%3E%3C/svg%3E");
      --seo-icon-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E");
      --seo-icon-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v5c0 5-3.4 8.6-8 10-4.6-1.4-8-5-8-10V6l8-3Z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
    }

    .page-assistante-freelance .seo-row:nth-of-type(1) { --seo-row-icon: var(--seo-icon-sparkles); }
    .page-assistante-freelance .seo-row:nth-of-type(6) { --seo-row-icon: var(--seo-icon-workflow); }
    .page-assistante-independante .seo-row:nth-of-type(4) { --seo-row-icon: var(--seo-icon-sliders); }
    .page-freelance-secretariat .seo-row:nth-of-type(1) { --seo-row-icon: var(--seo-icon-briefcase); }
    .page-freelance-secretariat .seo-row:nth-of-type(5) { --seo-row-icon: var(--seo-icon-workflow); }
    .page-grille-tarif-secretaire-independante .seo-row:nth-of-type(4) { --seo-row-icon: var(--seo-icon-euro); }
    .page-office-manager-freelance .seo-row:nth-of-type(3) { --seo-row-icon: var(--seo-icon-workflow); }
    .page-office-manager-freelance .seo-row:nth-of-type(6) { --seo-row-icon: var(--seo-icon-euro); }
    .page-secretaire-a-distance-tarif .seo-row:nth-of-type(3) { --seo-row-icon: var(--seo-icon-euro); }
    .page-secretaire-a-distance-tarif .seo-row:nth-of-type(5) { --seo-row-icon: var(--seo-icon-package); }
    .page-secretaire-a-distance-tarif .seo-row:nth-of-type(7) { --seo-row-icon: var(--seo-icon-wallet); }
    .page-secretaire-comptable-independante .seo-row:nth-of-type(1) { --seo-row-icon: var(--seo-icon-shield); }
    .page-secretaire-comptable-independante .seo-row:nth-of-type(3) { --seo-row-icon: var(--seo-icon-ban); }
    .page-tarif-secretaire-freelance .seo-row:nth-of-type(2) { --seo-row-icon: var(--seo-icon-briefcase); }
    .page-tarif-secretaire-freelance .seo-row:nth-of-type(4) { --seo-row-icon: var(--seo-icon-workflow); }

    .seo-content .seo-row[class*="seo-icon--"] .seo-row-body > h2::before {
      content: "";
      background-position: center, center;
      background-repeat: no-repeat, no-repeat;
      background-size: 24px 24px, 100% 100%;
    }

    .seo-content .seo-row[class*="seo-icon--"]:nth-of-type(odd) .seo-row-body > h2::before {
      background-image: var(--seo-row-icon), linear-gradient(180deg, #cda46b 0%, #b68645 100%);
    }

    .seo-content .seo-row[class*="seo-icon--"]:nth-of-type(even) .seo-row-body > h2::before {
      background-image: var(--seo-row-icon), linear-gradient(180deg, #6a2a35 0%, #56222c 100%);
    }

    .seo-content .seo-row .seo-row-body > h2::after {
      content: "";
      position: absolute;
      left: 62px;
      bottom: 0;
      width: 52px;
      height: 3px;
      border-radius: 999px;
      background: #c8a26a;
    }

    @media (max-width: 940px) {
      .seo-content .seo-row .seo-row-body > h2::before {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 1.12rem;
      }

      .seo-content .seo-row .seo-row-body > h2::after {
        left: 56px;
      }
    }

    .seo-content h3 {
      font-size: clamp(1.2rem, 2vw, 1.48rem);
      color: #5b352d;
    }

    .seo-content p {
      margin: 0;
      color: #5f4d48;
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      line-height: 1.72;
      max-width: 78ch;
    }

    .seo-content ul {
      margin: 0;
      padding-left: 1.15rem;
      display: grid;
      gap: 7px;
    }

    .seo-content li {
      color: #5f4d48;
      line-height: 1.62;
    }

    .seo-row-media img {
      width: 100%;
      height: auto;
      object-fit: contain;
      border-radius: 10px;
      border: 1px solid rgba(215, 186, 154, 0.48);
      box-shadow: 0 5px 14px rgba(98, 58, 46, 0.08);
      display: block;
    }

    .seo-row-body img {
      display: none;
    }

    .seo-content .about-cta {
      margin-top: 6px;
    }

    .faq-accordion-intro {
      margin: 2px 0 0;
      color: #6f5a53;
      font-size: 0.93rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-weight: 600;
    }

    .faq-accordion {
      width: min(100%, 920px);
      display: grid;
      gap: 10px;
      margin-top: 6px;
    }

    .faq-section {
      grid-template-columns: 1fr;
    }

    .faq-section .seo-row-body {
      justify-items: center;
    }

    .faq-section .seo-row-body > h2 {
      width: 100%;
      text-align: center;
      justify-content: center;
      display: block;
      gap: 0;
      padding-bottom: 0;
      margin-bottom: 6px;
    }

    .faq-section .seo-row-body > h2::before,
    .faq-section .seo-row-body > h2::after {
      content: none !important;
      display: none !important;
      width: 0 !important;
      height: 0 !important;
    }

    .faq-section .faq-accordion {
      margin: 8px auto 0;
    }

    .faq-accordion-item {
      border: 1px solid rgba(201, 172, 142, 0.42);
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(255, 252, 248, 0.86) 0%, rgba(255, 248, 241, 0.74) 100%);
      overflow: clip;
    }

    .faq-accordion-trigger {
      width: 100%;
      border: 0;
      background: transparent;
      color: #412726;
      text-align: left;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 16px 18px;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.18rem, 1.8vw, 1.42rem);
      line-height: 1.18;
      cursor: pointer;
    }

    .faq-accordion-question {
      display: block;
      text-wrap: balance;
    }

    .faq-accordion-icon {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 1px solid rgba(193, 138, 75, 0.66);
      position: relative;
      flex-shrink: 0;
      transition: transform 0.24s ease;
    }

    .faq-accordion-icon::before,
    .faq-accordion-icon::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 8px;
      height: 1.5px;
      background: #bc864d;
      transform: translate(-50%, -50%);
      transition: transform 0.24s ease, opacity 0.2s ease;
    }

    .faq-accordion-icon::after {
      transform: translate(-50%, -50%) rotate(90deg);
    }

    .faq-accordion-item.is-open .faq-accordion-icon {
      transform: rotate(180deg);
    }

    .faq-accordion-item.is-open .faq-accordion-icon::after {
      opacity: 0;
    }

    .faq-accordion-panel {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.28s ease;
    }

    .faq-accordion-item.is-open .faq-accordion-panel {
      grid-template-rows: 1fr;
    }

    .faq-accordion-panel-inner {
      overflow: hidden;
      padding: 0 18px 0;
      display: grid;
      gap: 10px;
    }

    .faq-accordion-item.is-open .faq-accordion-panel-inner {
      padding-bottom: 16px;
    }

    .faq-accordion-panel-inner p,
    .faq-accordion-panel-inner ul,
    .faq-accordion-panel-inner ol {
      margin: 0;
      max-width: 78ch;
    }

    .services-page-overview {
      position: relative;
      z-index: 1;
      margin-top: 0;
      padding: clamp(28px, 3.4vw, 44px) clamp(24px, 3.5vw, 52px) clamp(24px, 3vw, 36px);
      border: 0;
      border-radius: 24px;
      background: transparent;
      box-shadow: none;
    }

    .services-page-overview-header {
      max-width: 790px;
      margin: 0 auto clamp(62px, 7vw, 88px);
      text-align: center;
    }

    .services-page-overview-kicker {
      margin: 0 0 14px;
      color: #b87c3d;
      font-size: 0.76rem;
      font-weight: 800;
      letter-spacing: 0.22em;
    }

    .services-page-overview-divider {
      display: grid;
      grid-template-columns: 68px 32px 68px;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-bottom: 16px;
      color: #c58b49;
    }

    .services-page-overview-divider span {
      height: 1px;
      background: #c58b49;
    }

    .services-page-overview-divider svg {
      width: 32px;
      height: 32px;
      transform: rotate(-18deg);
    }

    .services-page-overview-header h2 {
      margin: 0;
      color: #432325;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2.1rem, 3.5vw, 2.25rem);
      line-height: 1.02;
    }

    .services-page-overview-header h2::after {
      content: "";
      display: block;
      width: 94px;
      height: 1.5px;
      margin: 18px auto 18px;
      background: #c88c45;
    }

    .services-page-overview-intro {
      margin: 0;
      color: #71605a;
      font-size: clamp(0.96rem, 1.25vw, 1.08rem);
      line-height: 1.55;
    }

    .services-page-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(18px, 2vw, 28px);
      align-items: stretch;
      margin-top: 0;
      position: relative;
      z-index: 1;
    }

    .services-page-card {
      position: relative;
      min-height: 450px;
      padding: 70px clamp(16px, 1.7vw, 24px) 28px;
      border: 0;
      border-radius: 24px;
      background: transparent;
      box-shadow: none;
      text-align: center;
      transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
    }

    .page-services .services-page-card:hover {
      transform: translateY(-3px);
      background: rgba(255, 248, 239, 0.58);
      box-shadow: 0 12px 22px rgba(92, 38, 38, 0.09);
      border-color: transparent;
    }

    .services-page-card-heading {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .services-page-card-icon {
      position: absolute;
      top: -47px;
      left: 50%;
      width: 90px;
      height: 90px;
      border: 1.5px solid #d9aa70;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #c78940;
      background: #fffaf4;
      box-shadow: 0 0 0 7px rgba(255, 253, 250, 0.96), 0 10px 22px rgba(106, 70, 42, 0.12);
      transform: translateX(-50%);
    }

    .services-page-card-icon .service-icon {
      width: 39px;
      height: 39px;
      display: block;
    }

    .services-page-card-number {
      margin-bottom: 11px;
      color: #c3863e;
      font-size: 1rem;
      font-weight: 800;
    }

    .services-page-card h2 {
      min-height: 2.15em;
      margin: 0 0 22px;
      color: #432426;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.65rem, 2vw, 2.1rem);
      line-height: 1.04;
    }

    .services-page-card p {
      min-height: 6.2em;
      margin: 0 0 18px;
      color: #715f58;
      font-size: 0.9rem;
      line-height: 1.5;
    }

    .services-page-card p::after {
      content: "";
      display: block;
      width: 72px;
      height: 1.5px;
      margin: 20px auto 0;
      background: #c98d47;
    }

    .services-page-card ul,
    .services-page-detail-content ul,
    .services-page-sectors ul {
      margin: 0;
      padding-left: 18px;
    }

    .services-page-card li,
    .services-page-detail-content li,
    .services-page-sectors li {
      color: #5b4b45;
      font-size: 0.9rem;
      line-height: 1.5;
      margin: 2px 0;
    }

    .services-page-card ul {
      list-style: none;
      padding: 0;
      text-align: left;
    }

    .services-page-card li {
      position: relative;
      margin: 8px 0;
      padding-left: 24px;
    }

    .services-page-card li::before {
      content: "\2713";
      position: absolute;
      left: 0;
      top: 0.26em;
      width: 15px;
      height: 15px;
      border: 1.5px solid #d3a363;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #c3863e;
      font-size: 9px;
      font-weight: 800;
      line-height: 1;
    }

    .services-page-detail {
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      padding: clamp(18px, 2.4vw, 28px) clamp(18px, 3vw, 42px) clamp(24px, 3.2vw, 40px);
    }

    .services-page-detail > h2,
    .services-page-benefits > h2,
    .services-page-sectors > h2 {
      margin: 0 0 14px;
      text-align: center;
      color: #3e2a26;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2rem, 2.5vw, 2.8rem);
      line-height: 1.02;
    }

    .services-page-detail > h2 {
      margin-bottom: 14px;
      font-size: clamp(2.1rem, 3.5vw, 2.25rem);
    }

    .services-page-benefits > h2,
    .services-page-sectors > h2 {
      font-size: clamp(2.1rem, 3.5vw, 2.25rem);
    }

    .services-page-sectors > h2 {
      font-size: clamp(1.75rem, 2.4vw, 2rem);
    }

    .services-page-detail-kicker {
      margin: 0 0 8px;
      color: #bc874b;
      text-align: center;
      font-size: 0.8rem;
      font-weight: 800;
      letter-spacing: 0.09em;
    }

    .services-page-detail-wheat {
      width: 35px;
      height: 35px;
      margin: 0 auto 10px;
      display: block;
      color: #c18b4e;
    }

    .services-page-detail-wheat svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .services-page-detail-intro {
      max-width: 660px;
      margin: 0 auto clamp(30px, 4vw, 48px);
      color: #715f58;
      text-align: center;
      font-size: clamp(0.98rem, 1.25vw, 1.1rem);
      line-height: 1.55;
    }

    .services-page-detail-row {
      position: relative;
      min-height: 260px;
      margin: 0 0 18px 52px;
      padding: 0;
      scroll-margin-top: 130px;
      border: 1px solid rgba(218, 185, 147, 0.52);
      border-radius: 14px;
      background: #fffdf9;
      box-shadow: 0 12px 28px rgba(113, 73, 42, 0.11);
      isolation: isolate;
    }

    .services-page-detail-row:first-of-type {
      padding-top: 0;
    }

    .services-page-detail-row::after {
      content: "";
      position: absolute;
      z-index: 1;
      inset: 0;
      border-radius: inherit;
      background: linear-gradient(90deg, #fffdf9 0%, #fffdf9 39%, rgba(255, 253, 249, 0.92) 47%, rgba(255, 253, 249, 0.42) 60%, rgba(255, 253, 249, 0) 74%);
      pointer-events: none;
    }

    .services-page-detail-row img {
      position: absolute;
      z-index: 0;
      top: 0;
      right: 0;
      width: 62%;
      height: 100%;
      border-radius: 0 13px 13px 0;
      object-fit: cover;
      object-position: center;
      border: 0;
      box-shadow: none;
    }

    .services-page-detail-icon {
      position: absolute;
      z-index: 4;
      left: -43px;
      top: 50%;
      width: 82px;
      height: 82px;
      border: 1.5px solid #d7a96d;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #c58c49;
      background: #fffaf3;
      box-shadow: 0 0 0 5px rgba(255, 251, 246, 0.96), 0 8px 18px rgba(107, 70, 41, 0.13);
      transform: translateY(-50%);
    }

    .services-page-detail-icon .service-icon {
      width: 34px;
      height: 34px;
      display: block;
    }

    .services-page-detail-content {
      position: relative;
      z-index: 3;
      width: 49%;
      padding: 34px 18px 30px 82px;
    }

    .services-page-detail-content h3 {
      margin: 0 0 18px;
      color: #4d2d2d;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.75rem, 2.5vw, 2.45rem);
      line-height: 1.1;
    }

    .services-page-detail-content h3::after {
      content: "";
      display: block;
      width: 38px;
      height: 2px;
      margin-top: 10px;
      background: #c88c45;
    }

    .services-page-detail-content p {
      margin: 0 0 12px;
      color: #6b5851;
      font-size: 0.93rem;
      line-height: 1.58;
    }

    .services-page-detail-content ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .services-page-detail-content li {
      position: relative;
      margin: 6px 0;
      padding-left: 24px;
    }

    .services-page-detail-content li::before {
      content: "\2713";
      position: absolute;
      left: 0;
      top: 0.28em;
      width: 14px;
      height: 14px;
      border: 1.5px solid #d6ab70;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #c28b4e;
      font-size: 9px;
      font-weight: 800;
      line-height: 1;
    }

    .services-page-benefits,
    .services-page-sectors {
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: clamp(10px, 1.4vw, 18px) 0;
      box-shadow: none;
    }

    .services-page-sectors.audience-showcase {
      width: 100vw;
      margin-left: calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
      padding: clamp(30px, 4.2vw, 50px) 0;
    }

    .services-page-benefits-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(14px, 1.8vw, 22px);
    }

    .services-page-benefits-grid article {
      min-height: 176px;
      border: 0;
      border-radius: 13px;
      padding: 18px clamp(14px, 1.6vw, 22px) 16px;
      background: rgba(255, 255, 255, 0.8);
      box-shadow: 0 11px 24px rgba(103, 70, 46, 0.1);
      text-align: center;
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }

    .services-page-benefits-grid article:hover {
      transform: translateY(-3px);
      box-shadow: 0 16px 28px rgba(103, 70, 46, 0.14);
    }

    .services-page-benefits-kicker {
      margin: 0 0 5px;
      color: #bc8445;
      text-align: center;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.18em;
    }

    .services-page-benefits-wheat {
      width: 28px;
      height: 28px;
      margin: 0 auto 4px;
      display: block;
      color: #c28a48;
    }

    .services-page-benefits-wheat svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .services-page-benefits > h2 {
      margin-bottom: 24px;
    }

    .services-page-benefit-icon {
      width: 46px;
      height: 46px;
      margin: 0 auto 9px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #c98840;
      background: #fff7ee;
    }

    .services-page-benefit-icon svg {
      width: 27px;
      height: 27px;
      display: block;
    }

    .services-page-benefits-grid h3 {
      margin: 0 0 7px;
      color: #4d332d;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: 1.55rem;
      line-height: 1.1;
    }

    .services-page-benefits-grid h3::after {
      content: "";
      display: block;
      width: 34px;
      height: 1.5px;
      margin: 10px auto 0;
      background: #c98b45;
    }

    .services-page-benefits-grid p {
      margin: 0;
      color: #6e5a53;
      font-size: 0.82rem;
      line-height: 1.45;
    }


    body.page-mentions-legales .shell,
    body.page-politique-de-confidentialite .shell {
      max-width: 980px;
    }

    body.page-mentions-legales main,
    body.page-politique-de-confidentialite main {
      display: block;
      padding: 0;
    }

    .legal-page {
      position: relative;
      --legal-radius: 22px;
      --legal-stripe-width: 6px;
      margin: 12px auto 8px;
      padding: clamp(24px, 3.2vw, 40px) clamp(18px, 3vw, 36px);
      border: 1px solid var(--line);
      border-radius: var(--legal-radius);
      background:
        linear-gradient(180deg, rgba(214, 144, 74, 0.72) 0%, rgba(188, 116, 46, 0.58) 100%) left top / var(--legal-stripe-width) 100% no-repeat,
        linear-gradient(160deg, #fffdf9 0%, #fff7ef 100%);
      box-shadow: var(--shadow-soft);
      overflow: visible;
      isolation: isolate;
    }

    .legal-page::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 0 0, rgba(255, 214, 182, 0.3) 0, transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(200, 162, 106, 0.18) 0, transparent 38%);
      pointer-events: none;
    }

    .legal-page::after {
      content: none;
    }

    .legal-page > * {
      position: relative;
      z-index: 2;
    }

    .legal-page-badge {
      position: absolute;
      left: -40px;
      top: 52%;
      width: 74px;
      height: 74px;
      border-radius: 50%;
      background: #fff;
      border: 1px solid rgba(215, 171, 113, 0.65);
      box-shadow: 0 8px 24px rgba(114, 72, 37, 0.16);
      display: grid;
      place-items: center;
      transform: translateY(-50%);
      z-index: 3;
    }

    .legal-page-badge::before {
      content: "";
      width: 36px;
      height: 36px;
      background: url("img/icon-hero.png") center / contain no-repeat;
      filter: sepia(0.55) saturate(0.9) hue-rotate(-10deg);
      opacity: 0.9;
    }

    .legal-page-decor {
      position: absolute;
      right: clamp(8px, 1.6vw, 22px);
      top: 50%;
      width: clamp(180px, 22vw, 290px);
      height: clamp(250px, 30vw, 390px);
      transform: translateY(-50%) scaleX(-1) rotate(30deg);
      pointer-events: none;
      opacity: 0.08;
      background: url("img/bg-info.png") center / contain no-repeat;
      z-index: 1;
    }

    .legal-page h1 {
      margin: 0 0 10px;
      color: var(--brand);
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2rem, 3.2vw, 2.7rem);
      line-height: 1.08;
    }

    .legal-page h1::after {
      content: "";
      display: block;
      width: 86px;
      height: 2px;
      margin-top: 12px;
      background: linear-gradient(90deg, #c88c45 0%, rgba(200, 140, 69, 0) 100%);
    }

    .legal-page h5 {
      margin: 24px 0 8px;
      color: #4f2727;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.2rem, 2vw, 1.5rem);
      line-height: 1.2;
    }

    .legal-page p {
      margin: 0 0 10px;
      color: #5f4740;
      font-size: 1rem;
      line-height: 1.72;
    }

    .legal-page ul {
      margin: 10px 0 18px;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 8px;
    }

    .legal-page li {
      position: relative;
      padding-left: 22px;
    }

    .legal-page li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.68em;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: linear-gradient(135deg, #c88c45, #b27536);
      box-shadow: 0 0 0 3px rgba(200, 140, 69, 0.14);
    }

    .legal-page li p {
      margin: 0;
      color: #4f3a35;
    }

    .legal-page a {
      color: var(--brand);
      text-decoration-color: rgba(92, 38, 38, 0.35);
      text-underline-offset: 3px;
      transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }

    .legal-page a:hover,
    .legal-page a:focus-visible {
      color: var(--brand-2);
      text-decoration-color: rgba(143, 63, 63, 0.55);
      outline: none;
    }

    .final-cta-showcase {
      position: relative;
      width: 100%;
      max-width: none;
      min-height: clamp(300px, 36vw, 500px);
      margin: 0;
      padding: clamp(32px, 4.6vw, 64px) 0;
      background-image: url("img/luberon.jpg");
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      background-attachment: fixed;
      border-top: 1px solid rgba(212, 176, 129, 0.35);
      border-bottom: 1px solid rgba(212, 176, 129, 0.26);
      overflow: hidden;
      isolation: isolate;
      scroll-margin-top: 112px;
    }

    .final-cta-bg {
      display: none;
    }

    .final-cta-showcase::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(92deg, rgba(22, 17, 12, 0.58) 0%, rgba(29, 22, 16, 0.52) 40%, rgba(34, 25, 18, 0.48) 100%),
        radial-gradient(circle at 82% 30%, rgba(255, 161, 72, 0.42), transparent 44%),
        radial-gradient(circle at 68% 68%, rgba(233, 122, 48, 0.35), transparent 52%),
        radial-gradient(circle at 20% 18%, rgba(250, 166, 82, 0.2), transparent 40%),
        linear-gradient(180deg, rgba(255, 164, 72, 0.32) 0%, rgba(255, 153, 64, 0.18) 34%, rgba(35, 27, 20, 0.14) 100%);
      z-index: 1;
    }

    .final-cta-inner {
      width: min(1600px, 100%);
      margin: 0 auto;
      padding: 0 clamp(8px, 1.4vw, 22px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
      align-items: center;
      gap: clamp(10px, 1vw, 16px);
      color: #f6efe7;
      position: relative;
      z-index: 2;
    }

    .final-cta-main {
      max-width: 820px;
      padding-right: clamp(4px, 0.7vw, 10px);
    }

    .final-cta-title {
      margin: 0;
      color: #f8f2ea;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.86rem, 4.15vw, 4rem);
      font-weight: 600;
      line-height: 0.95;
      letter-spacing: 0.01em;
      text-wrap: balance;
      text-shadow: 0 6px 22px rgba(0, 0, 0, 0.3);
    }

    .final-cta-subtitle {
      margin: clamp(6px, 1vw, 14px) 0 0;
      color: #d6ad66;
      font-family: "Allura", "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.56rem, 2.62vw, 2.74rem);
      font-weight: 400;
      line-height: 1.02;
      text-shadow: 0 4px 16px rgba(0, 0, 0, 0.26);
    }

    .final-cta-divider {
      display: block;
      width: 42px;
      height: 3px;
      margin: clamp(14px, 1.5vw, 22px) 0 clamp(14px, 1.9vw, 24px);
      border-radius: 999px;
      background: linear-gradient(90deg, #e8be77 0%, #c99448 100%);
      box-shadow: 0 2px 8px rgba(16, 11, 8, 0.22);
    }

    .final-cta-zone-note {
      margin: 0 0 20px;
      color: rgba(247, 239, 227, 0.95);
      font-size: clamp(0.88rem, 0.9vw, 1.02rem);
      line-height: 1.48;
      max-width: 60ch;
      text-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);
    }

    .final-cta-button {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 24px;
      min-width: clamp(210px, 23vw, 320px);
      justify-content: center;
      background: linear-gradient(135deg, #b7853f, #c99752 48%, #d9af70 100%);
      color: #fff7eb;
      text-decoration: none;
      border-radius: 2px;
      border: 1px solid rgba(255, 236, 198, 0.64);
      text-transform: uppercase;
      letter-spacing: 0.07em;
      font-size: clamp(0.875rem, 0.9vw, 1rem);
      font-weight: 700;
      box-shadow: 0 14px 28px rgba(20, 14, 10, 0.3);
      transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
    }

    .final-cta-button:hover,
    .final-cta-button:focus-visible {
      transform: translateY(-1px);
      box-shadow: 0 18px 36px rgba(20, 14, 10, 0.35);
      filter: brightness(1.05);
      outline: none;
    }

    .final-cta-button::after {
      content: "→";
      color: #f0d2a0;
      font-size: 1.04rem;
      line-height: 1;
      display: inline-block;
      transform: translateX(0);
      transition: transform 0.22s ease;
    }

    .final-cta-button:hover::after,
    .final-cta-button:focus-visible::after {
      transform: translateX(4px);
    }

    .final-cta-points {
      position: relative;
      display: grid;
      gap: clamp(14px, 1.45vw, 20px);
      align-self: stretch;
      align-content: center;
      margin-top: clamp(26px, 3.2vw, 52px);
      padding-left: clamp(4px, 0.45vw, 10px);
      max-width: 460px;
      justify-self: end;
    }

    .final-cta-points::before {
      content: "";
      position: absolute;
      left: -30px;
      top: 0px;
      bottom: 0px;
      width: 1px;
      background: linear-gradient(180deg, rgba(228, 193, 139, 0.9), rgba(228, 193, 139, 0.58));
      box-shadow: 0 0 16px rgb(255 153 0 / 100%);
    }

    .final-cta-point {
      display: grid;
      grid-template-columns: 66px minmax(0, 1fr);
      align-items: center;
      gap: 10px;
      color: rgba(249, 241, 229, 0.98);
    }

    .final-cta-point-icon {
      width: 59px;
      height: 59px;
      justify-self: center;
      border-radius: 999px;
      border: 2px solid rgba(227, 191, 136, 0.92);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #ddbc87;
      background: rgba(29, 22, 16, 0.12);
      box-shadow: inset 0 0 0 1px rgba(245, 219, 179, 0.12);
    }

    .final-cta-point-icon svg {
      width: 34px;
      height: 34px;
      color: currentColor;
      opacity: 0.96;
    }

    .final-cta-point-icon .st0 {
      fill: currentColor;
    }

    .final-cta-point-icon--leaf svg {
      width: 38px;
      height: 38px;
      opacity: 1;
      filter: drop-shadow(0 0 4px rgba(229, 195, 140, 0.28));
    }

    .final-cta-point-title {
      margin: 0 0 4px;
      color: #f6eada;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(1.1rem, 1.24vw, 1.5rem);
      font-weight: 700;
      line-height: 1.14;
      max-width: 24ch;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

    .final-cta-point-text {
      margin: 0;
      color: rgba(243, 234, 222, 0.95);
      font-size: clamp(0.875rem, 0.9vw, 1rem);
      line-height: 1.42;
      max-width: 38ch;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

    
    .reveal-on-scroll {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.82s cubic-bezier(0.22, 1, 0.36, 1), transform 0.82s cubic-bezier(0.22, 1, 0.36, 1);
      will-change: opacity, transform;
    }

    .reveal-on-scroll.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .page-services .reveal-on-scroll,
    .page-services .reveal-on-scroll.is-visible {
      opacity: 1;
      transform: none;
      transition: none;
    }

    .footer {
      margin-top: 0;
      width: 100%;
      border-top: 1px solid #ead8ca;
      background:
        radial-gradient(circle at 8% 0%, rgba(244, 214, 178, 0.3), transparent 34%),
        linear-gradient(180deg, #fffefc 0%, #fff9f3 100%);
      color: #4e3a36;
    }

    .footer-inner {
      max-width: 1320px;
      margin: 0 auto;
      padding: 28px 16px 16px;
    }

    .footer-main {
      display: grid;
      grid-template-columns: minmax(240px, 0.95fr) minmax(360px, 1.2fr) minmax(180px, 0.7fr) minmax(180px, 0.7fr);
      gap: 24px 28px;
      align-items: start;
    }

    .footer-brand {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 112px;
      text-align: center;
      align-self: center;
    }

    .footer-brand-mark {
      text-decoration: none;
      color: inherit;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      min-width: 114px;
    }

    .footer-brand-mark img {
      width: 90px;
      height: auto;
      display: block;
    }

    .footer-brand-name {
      margin-top: 2px;
      font-size: 0.84rem;
      letter-spacing: 0.08em;
      color: #7c635d;
      font-weight: 600;
    }

    .footer-brand-tagline {
      margin: 0;
      max-width: 290px;
      color: #3f2e2a;
      font-size: 1.03rem;
      line-height: 1.4;
      font-weight: 500;
    }

    .footer-column {
      min-width: 0;
      align-self: start;
    }

    .footer-column-title {
      margin: 0 0 10px;
      font-size: 1.09rem;
      line-height: 1.2;
      font-weight: 700;
      color: #2f201d;
    }

    .footer-list {
      display: grid;
      gap: 8px;
    }

    .footer-list--useful {
      grid-template-columns: repeat(2, minmax(150px, 1fr));
      column-gap: 18px;
      row-gap: 8px;
    }

    .footer-list--info {
      grid-template-columns: 1fr;
    }

    .footer-list--useful a,
    .footer-list--info a {
      font-size: 0.93rem;
      line-height: 1.3;
    }

    .footer-list--info .footer-link {
      display: block;
      width: 100%;
      max-width: 100%;
    }

    .footer-link {
      display: block;
      width: 100%;
      max-width: 100%;
      color: #473430;
      text-decoration: none;
      font-size: 1rem;
      line-height: 1.32;
      border-bottom: 1px solid transparent;
      transition: color 0.2s ease, border-color 0.2s ease;
      position: relative;
      z-index: 1;
    }

    .footer-link-label {
      display: block;
      max-width: 100%;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .footer-link:hover,
    .footer-link:focus-visible {
      color: #9a7042;
      border-bottom-color: #c8a26a;
      outline: none;
    }

    .footer-link[data-tooltip]::after {
      content: attr(data-tooltip);
      position: absolute;
      left: 50%;
      top: -10px;
      transform: translate(-50%, -100%);
      opacity: 0;
      pointer-events: none;
      padding: 8px 10px;
      border-radius: 999px;
      background: rgba(47, 32, 29, 0.96);
      color: #fff;
      font-size: 0.78rem;
      line-height: 1.2;
      box-shadow: 0 12px 24px rgba(47, 32, 29, 0.18);
      white-space: nowrap;
      z-index: 999;
      transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .footer-link[data-tooltip]::before {
      content: "";
      position: absolute;
      left: 50%;
      top: -2px;
      transform: translate(-50%, -100%);
      border-width: 6px 6px 0 6px;
      border-style: solid;
      border-color: rgba(47, 32, 29, 0.96) transparent transparent transparent;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s ease;
      z-index: 999;
    }

    .footer-link[data-tooltip]:hover::after,
    .footer-link[data-tooltip]:focus-visible::after,
    .footer-link[data-tooltip]:hover::before,
    .footer-link[data-tooltip]:focus-visible::before {
      opacity: 1;
    }

    .footer-link[data-tooltip]:hover::after,
    .footer-link[data-tooltip]:focus-visible::after {
      transform: translate(-50%, -110%);
    }

    .footer-contact {
      display: grid;
      gap: 6px;
      margin: 12px 0 0;
      padding: 0;
      background: transparent;
      border: 0;
      box-shadow: none;
    }

    .footer-contact-item {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #4e3a36;
      text-decoration: none;
      font-size: 0.8rem;
      font-weight: 500;
      line-height: 1.3;
      transition: color 0.2s ease, transform 0.2s ease;
      min-height: 24px;
    }

    .footer-contact-item:hover,
    .footer-contact-item:focus-visible {
      color: #9a7042;
      transform: translateX(2px);
      outline: none;
    }

    .footer-contact-icon {
      flex-shrink: 0;
      width: auto;
      height: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 0;
      background: transparent;
      color: #8a6b52;
      box-shadow: none;
    }

    .footer-contact-icon svg {
      width: 24px;
      height: 24px;
      display: block;
    }

    .footer-contact-label {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .footer-social {
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: flex-start;
      margin-top: 2px;
      flex-wrap: wrap;
    }

    .social-link {
      --social-color: #8f6f52;
      width: 36px;
      height: 36px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      border: 1px solid #d4b793;
      color: #8a6b52;
      background: #fffaf4;
      text-decoration: none;
      transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

    .social-link svg {
      width: 16px;
      height: 16px;
      display: block;
      transition: transform 0.2s ease;
    }

    .social-link:hover,
    .social-link:focus-visible {
      color: var(--social-color);
      border-color: var(--social-color);
      box-shadow: 0 8px 16px rgba(73, 34, 34, 0.12);
      transform: translateY(-1px);
      outline: none;
    }

    .social-link:hover svg,
    .social-link:focus-visible svg {
      transform: scale(1.08);
    }

    .social-link:active {
      transform: translateY(0) scale(0.96);
      box-shadow: 0 4px 10px rgba(73, 34, 34, 0.15);
    }

    .social-link--instagram {
      --social-color: #e4405f;
    }

    .social-link--facebook {
      --social-color: #1877f2;
    }

    .social-link--linkedin {
      --social-color: #0a66c2;
    }

    .social-link--whatsapp {
      --social-color: #25d366;
    }

    .footer-copy {
      margin: 20px 0 0;
      padding-top: 14px;
      border-top: 1px solid #eadccc;
      font-size: 0.98rem;
      line-height: 1.5;
      color: #6a5047;
      text-align: center;
    }

    @media (max-width: 1024px) {
      .footer-main {
        grid-template-columns: minmax(220px, 0.9fr) minmax(240px, 1fr) minmax(160px, 0.7fr);
      }

      .footer-column--social {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 720px) {
      .footer-main {
        grid-template-columns: 1fr;
      }

      .footer-brand {
        align-items: flex-start;
        text-align: left;
      }

      .footer-brand-mark {
        align-items: flex-start;
      }

      .footer-list--useful {
        grid-template-columns: 1fr;
      }
    }

    .quote-modal {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: none;
      align-items: center;
      justify-content: center;
      padding: clamp(14px, 2vw, 28px);
    }

    .quote-modal.is-open {
      display: flex;
    }

    .quote-modal-backdrop {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, rgba(44, 20, 20, 0.72), rgba(88, 42, 30, 0.64)),
        radial-gradient(circle at 20% 10%, rgba(255, 210, 164, 0.24), transparent 38%);
      backdrop-filter: blur(4px);
    }

    .quote-modal-panel {
      position: relative;
      z-index: 1;
      width: min(780px, 100%);
      max-height: min(92svh, 940px);
      overflow: auto;
      border: 1px solid #e7cdb6;
      border-radius: 16px;
      background:
        radial-gradient(circle at 96% -10%, rgba(244, 209, 166, 0.35), transparent 42%),
        linear-gradient(180deg, #fffdfb 0%, #fff7ef 100%);
      box-shadow: 0 26px 58px rgba(47, 24, 24, 0.35);
      padding: clamp(18px, 2.6vw, 34px);
    }

    .quote-modal-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 36px;
      height: 36px;
      border: 1px solid #d7bda4;
      border-radius: 50%;
      background: #fff;
      color: #5a3432;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: transform 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

    .quote-modal-close:hover,
    .quote-modal-close:focus-visible {
      color: #3f2025;
      border-color: #b78f61;
      transform: translateY(-1px);
      outline: none;
    }

    .quote-modal-close svg {
      width: 18px;
      height: 18px;
    }

    .quote-modal-title {
      margin: 0;
      color: #4f1f2c;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: clamp(2rem, 3.8vw, 3rem);
      line-height: 1.04;
      font-weight: 700;
      letter-spacing: 0.01em;
      text-shadow: var(--text-shadow-soft);
    }

    .quote-modal-subtitle {
      margin: 8px 0 22px;
      color: #6e4e45;
      font-size: clamp(0.96rem, 1.05vw, 1.08rem);
      line-height: 1.62;
      max-width: 64ch;
    }

    .quote-required-note {
      margin: -6px 0 16px;
      color: #775650;
      font-size: 0.8rem;
      letter-spacing: 0.01em;
      line-height: 1.4;
    }

    .quote-form {
      display: grid;
      gap: 16px;
    }

    .quote-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .quote-field {
      display: grid;
      gap: 7px;
    }

    .quote-field.has-error .quote-input,
    .quote-field.has-error .quote-textarea {
      border-color: #b84655;
      box-shadow: 0 0 0 3px rgba(184, 70, 85, 0.14);
      background: #fffaf9;
    }

    .quote-field--full {
      grid-column: 1 / -1;
    }

    .quote-label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #442725;
      font-size: 0.82rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      line-height: 1.2;
    }

    .quote-required-mark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-left: 2px;
      color: #8b2835;
      font-size: 0.9rem;
      font-weight: 700;
      line-height: 1;
    }

    .quote-label svg {
      width: 15px;
      height: 15px;
      color: #b28747;
      flex-shrink: 0;
    }

    .quote-input,
    .quote-textarea {
      width: 100%;
      border: 1px solid #ddc1a8;
      border-radius: 10px;
      padding: 11px 13px;
      color: #2f1e1b;
      background: rgba(255, 255, 255, 0.88);
      font-family: "Manrope", "Segoe UI", Arial, sans-serif;
      font-size: 15px;
      line-height: 1.45;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .quote-input[required],
    .quote-textarea[required] {
      border-color: #cda47f;
      box-shadow: inset 0 0 0 1px rgba(190, 139, 82, 0.14);
    }

    .quote-input:focus,
    .quote-textarea:focus {
      border-color: #bc925e;
      box-shadow: 0 0 0 3px rgba(188, 146, 94, 0.18);
      outline: none;
    }

    .quote-textarea {
      min-height: 132px;
      resize: vertical;
    }

    .quote-field-error {
      margin: 2px 0 0;
      min-height: 18px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: #9d2f40;
      font-size: 0.79rem;
      line-height: 1.35;
      letter-spacing: 0.01em;
      opacity: 0;
      transform: translateY(-2px);
      transition: opacity 0.18s ease, transform 0.18s ease;
      pointer-events: none;
    }

    .quote-field.has-error .quote-field-error {
      opacity: 1;
      transform: translateY(0);
    }

    .quote-field-error-icon {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      border: 1px solid rgba(157, 47, 64, 0.34);
      background: linear-gradient(180deg, #fff 0%, #ffeef1 100%);
      color: #9d2f40;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.66rem;
      font-weight: 800;
      line-height: 1;
      flex-shrink: 0;
    }

    .quote-form-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: space-between;
      align-items: center;
      margin-top: 2px;
    }

    .quote-form-note {
      margin: 0;
      background: linear-gradient(135deg, #4d1823, #5d1d2a);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      font-size: 0.9rem;
      line-height: 1.4;
      font-weight: 700;
    }

    .quote-form-feedback {
      margin: 0;
      min-height: 22px;
      font-size: 0.9rem;
      line-height: 1.45;
      color: #6c4f47;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .quote-form-feedback.is-success {
      color: #215848;
    }

    .quote-form-feedback.is-error {
      color: #8a2830;
    }

    .quote-form-feedback-icon {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 1px solid currentColor;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.68rem;
      font-weight: 800;
      line-height: 1;
      flex-shrink: 0;
    }

    .quote-submit {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border: 0;
      border-radius: 2px;
      padding: 13px 34px;
      background: linear-gradient(135deg, #4d1823, #5d1d2a);
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      cursor: pointer;
      box-shadow: 0 10px 24px rgba(76, 24, 34, 0.22);
      transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
      flex-shrink: 0;
    }

    .quote-submit:hover,
    .quote-submit:focus-visible {
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(76, 24, 34, 0.3);
      filter: saturate(1.06);
      outline: none;
    }

    .quote-submit svg {
      width: 17px;
      height: 17px;
      color: #dcb67d;
    }

    .quote-submit[disabled] {
      opacity: 0.68;
      cursor: wait;
      transform: none;
      box-shadow: 0 8px 16px rgba(76, 24, 34, 0.2);
    }

    body.modal-open {
      overflow: hidden;
    }

    @media (max-width: 820px) {
      html {
        overflow-x: clip;
      }

      img,
      svg {
        max-width: 100%;
      }

      .hero, main { padding: 18px; border-radius: 14px; }
      .topbar {
        background: rgba(255, 250, 246, 0.97);
        box-shadow: 0 8px 24px rgba(92, 38, 38, 0.1);
        backdrop-filter: blur(12px);
      }
      .topbar-inner {
        min-height: 72px;
        padding: 10px 14px;
        align-items: center;
        position: relative;
        gap: 10px;
        justify-content: space-between;
      }
      .hero-page .topbar:not(.scrolled) .topbar-inner {
        padding: 10px 14px;
        min-height: 72px;
      }
      .hero-page .topbar:not(.scrolled) {
        background: rgba(255, 250, 246, 0.97);
        box-shadow: 0 8px 24px rgba(92, 38, 38, 0.1);
        backdrop-filter: blur(12px);
      }
      .brand {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-right: auto;
      }
      .brand-hero-label {
        display: inline-flex !important;
        align-items: center;
        position: static;
        padding: 0;
        font-size: 0.9rem;
        line-height: 1.2;
        color: var(--brand);
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: none;
        white-space: nowrap;
      }
      .topbar-right {
        width: auto;
        margin-left: auto;
        gap: 0;
        flex-wrap: nowrap;
      }
      .menu-toggle {
        width: 46px;
        height: 46px;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        border: 1px solid rgba(92, 38, 38, 0.16);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.82);
        color: var(--brand);
        cursor: pointer;
        box-shadow: 0 10px 22px rgba(92, 38, 38, 0.1);
        margin-left: auto;
      }
      .menu-toggle span {
        width: 19px;
        height: 2px;
        display: block;
        border-radius: 999px;
        background: currentColor;
        transition: transform 0.22s ease, opacity 0.22s ease;
      }
      .topbar.menu-open .menu-toggle {
        background: linear-gradient(135deg, #4c1822, #662434);
        color: #fff;
        border-color: transparent;
        box-shadow: 0 14px 28px rgba(76, 24, 34, 0.24);
      }
      .topbar.menu-open .menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
      }
      .topbar.menu-open .menu-toggle span:nth-child(2) {
        opacity: 0;
      }
      .topbar.menu-open .menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
      }
      .menu {
        position: absolute;
        top: calc(100% + 8px);
        left: 12px;
        right: 12px;
        display: grid;
        gap: 0;
        padding: 10px;
        border: 1px solid rgba(216, 184, 155, 0.55);
        border-radius: 18px;
        background: linear-gradient(145deg, rgba(255, 252, 248, 0.99), rgba(255, 246, 236, 0.97));
        box-shadow: 0 22px 48px rgba(76, 24, 34, 0.16);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(0.98);
        pointer-events: none;
        transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
        align-items: center;
        justify-items: center;
        justify-content: center;
      }
      .topbar.menu-open .menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
      }
      .menu a {
        width: min(100%, 240px);
        padding: 13px 14px;
        font-size: 0.78rem;
        text-align: center;
        border-radius: 999px;
        opacity: 0;
        transform: translateY(8px);
        transition: transform 0.24s ease, opacity 0.24s ease, background 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
      }
      .topbar.menu-open .menu a {
        opacity: 1;
        transform: translateY(0);
      }
      .topbar.menu-open .menu a:nth-child(1) { transition-delay: 0.03s; }
      .topbar.menu-open .menu a:nth-child(2) { transition-delay: 0.06s; }
      .topbar.menu-open .menu a:nth-child(3) { transition-delay: 0.09s; }
      .topbar.menu-open .menu a:nth-child(4) { transition-delay: 0.12s; }
      .topbar.menu-open .menu a:nth-child(5) { transition-delay: 0.15s; }
      .menu a.current,
      .menu a:hover {
        background: rgba(200, 162, 106, 0.16);
        color: var(--brand);
      }
      .menu a::before {
        display: none;
      }
      .topbar-cta {
        display: none;
      }
      .shell { padding: 16px 14px 36px; }
      .home-page #services,
      .home-page #apropos,
      .home-page #horizons,
      .home-page #parlons {
        scroll-margin-top: 110px;
      }
      .home-hero {
        min-height: max(100dvh, 720px);
        background-image:
          linear-gradient(180deg, rgba(255, 249, 243, 0.97) 0%, rgba(255, 249, 243, 0.92) 42%, rgba(255, 249, 243, 0.66) 63%, rgba(255, 249, 243, 0.93) 82%, #fff8f2 100%),
          url("img/hero.png");
        background-size: cover;
        background-position: 63% center;
        animation: none;
      }
      .home-hero-inner { width: 100%; margin-left: 0; padding: 102px 14px 30px; }
      .home-hero-copy {
        max-width: 100%;
        transform: none;
      }
      .brand-logo,
      .hero-page .topbar:not(.scrolled) .brand-logo { height: 46px; }
      .hero-page .topbar:not(.scrolled) .brand-hero-label { display: inline-flex !important; }
      .brand-hero-label { display: inline-flex !important; }
      .hero-kicker {
        font-size: 0.7rem;
        margin-bottom: 10px;
      }
      .hero-location-row {
        font-size: 0.76rem;
        gap: 8px;
        margin-top: 12px;
      }
      .hero-location-row svg {
        width: 38px;
        height: 38px;
      }
      .hero-location-row .hero-intervention-icon {
        width: 50px;
        height: 50px;
      }
      .hero-location-copy > .hero-intervention-line {
        min-height: 50px;
      }
      .hero-location-copy > span {
        min-height: 38px;
      }
      .home-hero-copy h1 {
        margin-bottom: 22px;
        font-size: clamp(2.45rem, 12vw, 3.2rem);
        line-height: 1.02;
      }
      .hero-title-primary,
      .hero-title-secondary {
        max-width: 12ch;
      }
      p,
      .service-lead,
      .service-panel-text,
      .about-panel p,
      .home-hero-copy p,
      .final-cta-zone-note,
      .final-cta-point-text {
        font-size: 16px;
        line-height: 1.72;
      }
      .hero-cta-row {
        display: grid;
        gap: 12px;
        margin-top: 26px;
      }
      .hero-cta {
        width: 100%;
        min-height: 52px;
        padding: 12px 16px;
      }
      .secondary-page-cta {
        width: 100%;
        min-height: 52px;
        padding: 12px 16px;
      }
      .hero-cta-note { white-space: normal; font-size: 0.78rem; justify-content: center; }
      .hero-cta-note-icon { width: 28px; height: 28px; }
      .home-page section + section,
      .home-page .final-cta-showcase { margin-top: 16px; }
      .services-showcase { padding: 26px 0 24px; }
      .services-strip {
        grid-template-columns: 1fr;
      }
      .services-intro {
        padding: 16px 14px 12px;
        align-items: center;
        text-align: center;
      }
      .services-intro-text {
        max-width: none;
      }
      .services-intro h2,
      .audience-title,
      .about-subtitle {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
        line-height: 1.08;
      }
      .services-intro-cta {
        width: 100%;
        justify-content: center;
      }
      .services-grid {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: 0;
      }

      body.page-services .shell {
        padding-top: 0;
      }

      .page-services main {
        gap: 14px;
      }

      .services-page-hero {
        min-height: max(100dvh, 720px);
        background-image:
          linear-gradient(180deg, rgba(255, 249, 243, 0.97) 0%, rgba(255, 249, 243, 0.92) 43%, rgba(255, 249, 243, 0.7) 64%, rgba(255, 249, 243, 0.94) 84%, #fff8f2 100%),
          url("img/hero.png");
        background-position: 63% center;
        background-size: cover;
        animation: none;
      }

      .services-page-hero-inner {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        transform: translateY(-18px);
        padding: 94px 14px 26px;
        background: none;
      }

      .services-page-hero-inner h1 {
        font-size: clamp(2.05rem, 9vw, 2.8rem);
        max-width: 12ch;
      }

      .services-page-hero-lead {
        font-size: clamp(1.32rem, 6vw, 1.78rem);
      }

      .services-page-hero-description {
        font-size: 0.95rem;
      }

      .services-page-hero-actions {
        display: grid;
        gap: 10px;
      }

      .services-page-cta {
        width: 100%;
        min-height: 52px;
        justify-content: center;
      }

      .services-page-hero-note {
        white-space: normal;
        font-size: 0.86rem;
      }

      .seo-page .seo-page-hero {
        min-height: 100dvh;
      }

      .seo-page .seo-page-hero-inner {
        transform: none;
        padding: 108px 14px 34px;
      }

      .seo-page .shell {
        padding-top: 24px;
      }

      .seo-page .shell::before,
      .seo-page .shell::after {
        opacity: 0.38;
        width: clamp(82px, 20vw, 120px);
        height: clamp(158px, 30vw, 220px);
      }

      .seo-page .shell::before {
        right: -26px;
        top: 12px;
      }

      .seo-page .shell::after {
        left: -26px;
        bottom: 10px;
      }

      .seo-content {
        gap: 28px;
      }

      /* Une page SEO très longue ne peut pas atteindre le seuil de visibilité
         de l'animation sur un petit écran. Son contenu reste donc visible. */
      .seo-page .seo-content.reveal-on-scroll,
      .seo-page .seo-content.reveal-on-scroll.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
      }

      .seo-row {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .seo-row--reverse .seo-row-body,
      .seo-row--reverse .seo-row-media {
        order: initial;
      }

      .seo-row-media {
        width: 100%;
        justify-self: start;
      }

      .seo-row + .seo-row {
        padding-top: 22px;
      }

      .faq-accordion {
        width: 100%;
      }

      .faq-accordion-trigger {
        padding: 14px 14px;
        font-size: 1.1rem;
      }

      .faq-accordion-panel-inner {
        padding: 0 14px 0;
      }

      .faq-accordion-item.is-open .faq-accordion-panel-inner {
        padding-bottom: 14px;
      }

      .services-page-grid {
        margin-top: -26px;
      }

      .services-page-detail {
        padding-left: 6px;
        padding-right: 6px;
      }

      .services-page-sectors.audience-showcase {
        width: calc(100% + 64px);
        margin-left: -32px !important;
        margin-right: -32px !important;
        padding: 12px 0 16px;
      }

      .services-page-overview {
        padding: 42px 18px 34px;
        border-radius: 18px;
      }

      .services-page-overview-header {
        margin-bottom: 66px;
      }

      .services-page-overview-header h2 {
        font-size: clamp(2.1rem, 8.5vw, 2.25rem);
      }

      .services-page-overview-intro br {
        display: none;
      }

      .legal-page {
        --legal-radius: 16px;
        --legal-stripe-width: 4px;
        margin-top: 8px;
        padding: 20px 14px 20px 16px;
      }

      .legal-page-badge {
        width: 62px;
        height: 62px;
        left: -31px;
        top: 55%;
      }

      .legal-page-badge::before {
        width: 30px;
        height: 30px;
      }

      .legal-page-decor {
        width: 138px;
        height: 200px;
        right: 2px;
        opacity: 0.06;
      }

      .legal-page h1 {
        font-size: clamp(1.9rem, 9.5vw, 2.4rem);
      }

      .legal-page h5 {
        margin-top: 18px;
      }

      .services-page-overview .services-page-grid {
        gap: 70px;
        margin-top: 0;
      }

      .services-page-grid,
      .services-page-benefits-grid,
      .services-page-sectors ul {
        grid-template-columns: 1fr;
      }

      .services-page-card {
        min-height: 0;
        padding: 66px 20px 28px;
      }

      .services-page-detail-row {
        min-height: 0;
        margin: 0 0 22px;
        padding-top: 190px;
        scroll-margin-top: 100px;
      }

      .services-page-detail-row:first-of-type {
        padding-top: 190px;
      }

      .services-page-detail-row img {
        top: 0;
        width: 100%;
        height: 205px;
        border-radius: 13px 13px 0 0;
      }

      .services-page-detail-row::after {
        background: linear-gradient(180deg, rgba(255, 253, 249, 0) 0%, rgba(255, 253, 249, 0.2) 20%, #fffdf9 42%, #fffdf9 100%);
      }

      .services-page-detail-content {
        width: 100%;
        padding: 36px 22px 26px;
      }

      .services-page-detail-icon {
        left: 22px;
        top: 180px;
        width: 64px;
        height: 64px;
      }

      .services-page-detail-icon .service-icon {
        width: 27px;
        height: 27px;
      }

      .services-page-detail > h2 {
        font-size: clamp(2.1rem, 8.5vw, 2.25rem);
      }

      .services-page-detail-intro {
        margin-bottom: 28px;
      }
      .service-card {
        min-height: auto;
        padding: 14px 14px;
        align-items: center;
        text-align: center;
      }
      .service-card-top {
        margin-bottom: 8px;
        justify-items: center;
        width: 100%;
      }
      .service-icon-wrap {
        width: 56px;
        height: 56px;
      }
      .service-title { font-size: 1.6rem; }
      .service-card-desc {
        font-size: 0.94rem;
      }

      .final-cta-showcase {
        min-height: 0;
        padding: 20px 0;
        background-size: cover;
        background-attachment: scroll;
      }

      .final-cta-bg {
        display: none;
      }

      .final-cta-inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 0 14px;
      }

      .final-cta-main {
        padding-right: 0;
      }

      .final-cta-title {
        font-size: clamp(1.5rem, 7.2vw, 1.95rem);
        line-height: 0.98;
      }

      .final-cta-subtitle {
        font-size: clamp(1.4rem, 6.2vw, 1.84rem);
        margin-bottom: 8px;
      }

      .final-cta-divider {
        margin: 10px 0 12px;
      }

      .final-cta-zone-note {
        margin-bottom: 12px;
      }

      .final-cta-button {
        width: 100%;
        min-width: 0;
      }

      .final-cta-points {
        justify-self: stretch;
        max-width: none;
        margin-top: 0;
        padding-left: 14px;
      }

      .final-cta-point {
        grid-template-columns: 53px minmax(0, 1fr);
      }

      .final-cta-point-icon {
        width: 43px;
        height: 43px;
      }

      .final-cta-point-icon svg {
        width: 24px;
        height: 24px;
      }

      .final-cta-point-icon--leaf svg {
        width: 26px;
        height: 26px;
      }

      .final-cta-point-title {
        font-size: clamp(1.06rem, 4.2vw, 1.34rem);
        max-width: none;
      }

      .final-cta-point-text {
        font-size: 0.88rem;
        line-height: 1.42;
        max-width: none;
      }

      .footer {
        margin-top: 0;
      }

      .footer-inner {
        padding: 18px 12px;
      }

      .footer-main {
        grid-template-columns: 1fr;
        gap: 20px;
        justify-items: center;
      }

      .footer-brand {
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-height: 0;
        width: 100%;
      }

      .footer-brand-mark {
        align-items: center;
      }

      .footer-brand-tagline {
        max-width: none;
        text-align: center;
      }

      .footer-column {
        text-align: center;
        width: 100%;
      }

      .footer-list {
        justify-items: center;
        text-align: center;
      }

      .footer-link,
      .footer-link-label {
        text-align: center;
      }

      .footer-list--useful {
        grid-template-columns: 1fr;
      }

      .footer-list--useful .footer-link:not(:first-child) {
        display: none;
      }

      .footer-contact {
        justify-items: center;
      }

      .footer-contact-item {
        width: fit-content;
        justify-content: center;
      }

      .footer-copy {
        margin-top: 16px;
        padding-top: 12px;
        font-size: 0.78rem;
      }

      .footer-social {
        justify-content: center;
      }

      .quote-modal-panel {
        border-radius: 12px;
        padding: 16px 14px;
        max-height: calc(100svh - 20px);
        overflow-y: auto;
      }

      .quote-form-grid {
        grid-template-columns: 1fr;
      }

      .quote-form-actions {
        align-items: flex-start;
      }

      .quote-submit {
        width: 100%;
      }
    }

    @media (min-width: 821px) and (max-width: 1100px) {
      html,
      body {
        max-width: 100%;
        overflow-x: clip;
      }

      .about-showcase::before,
      .about-plant-accent--left {
        display: none;
      }

      .seo-page .shell {
        overflow: clip;
      }

      .seo-page .seo-content.reveal-on-scroll,
      .seo-page .seo-content.reveal-on-scroll.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
      }
    }

    @media (max-width: 640px) {
      .hero-cta-note {
        white-space: nowrap;
        font-size: 0.92rem;
      }

      .hero-cta-note br {
        display: none;
      }

      .services-page-hero-note {
        white-space: nowrap;
        font-size: 0.92rem;
      }

      .services-page-hero-note br {
        display: none;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .reveal-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
      }
      .home-hero,
      .home-hero-copy,
      .about-image-wrap > img,
      .service-accordion-trigger,
      .service-accordion-panel,
      .faq-accordion-panel,
      .faq-accordion-icon,
      .audience-tab,
      .audience-panel-copy { animation: none; transition: none; }
      .topbar { transition: none; }
      .menu a,
      .menu a::before { transition: none; }
      .menu a.current { animation: none; }
      .final-cta-button { transition: none; }
    }

