:root {
      --ink: #253436;
      --muted: #526365;
      --teal: #347f8d;
      --teal-dark: #205963;
      --cream: #f7f4ee;
      --paper: #fffdfa;
      --peach: #fbe7d4;
      --sand: #e7ddcf;
      --line: #ddd4c8;
      --gold: #a47b48;
      --shadow: 0 18px 55px rgba(42, 52, 48, .10);
      --radius: 24px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--cream);
      color: var(--ink);
      font-family: "Aptos", "Segoe UI", system-ui, -apple-system, sans-serif;
      font-size: 18px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { color: var(--teal-dark); }
    a:focus-visible, summary:focus-visible {
      outline: 3px solid #b87837;
      outline-offset: 4px;
      border-radius: 5px;
    }
    .wrap { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
    .topbar {
      background: rgba(255,253,250,.94);
      border-bottom: 1px solid rgba(37,52,54,.09);
    }
    .nav {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--ink);
      text-decoration: none;
    }
    .brand-mark {
      width: 42px; height: 42px;
      display: grid; place-items: center;
      border: 1.5px solid var(--ink);
      border-radius: 50%;
      font: italic 25px/1 Georgia, serif;
    }
    .brand-name {
      display: block;
      font: 30px/.95 Georgia, "Times New Roman", serif;
      letter-spacing: .07em;
    }
    .brand-caption {
      display: block; margin-top: 5px;
      color: var(--muted); font-size: 12px; letter-spacing: .08em;
      text-transform: uppercase;
    }
    .nav-links { display: flex; align-items: center; gap: 28px; }
    .nav-links a {
      text-decoration: none; color: var(--ink); font-size: 15px; font-weight: 650;
    }
    .nav-links a:hover { color: var(--teal); }
    .nav-language {
      padding: 8px 14px;
      border: 1px solid #a9c3c1;
      border-radius: 999px;
      color: var(--teal-dark) !important;
      font-size: 14px !important;
    }
    .nav-language:hover { background: var(--teal-dark); color: #fff !important; }
    .nav-shop {
      border: 1px solid var(--teal); border-radius: 999px;
      padding: 11px 20px; color: var(--teal-dark) !important;
    }
    .hero { padding: 62px 0 46px; }
    .hero-grid {
      display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 54px;
    }
    .eyebrow {
      color: var(--teal-dark); font-size: 13px; font-weight: 750;
      letter-spacing: .14em; text-transform: uppercase;
    }
    h1, h2, h3 { color: var(--ink); text-wrap: balance; }
    h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
    h1 { max-width: 660px; margin: 13px 0 20px; font-size: clamp(40px, 5vw, 58px); line-height: 1.08; letter-spacing: -.025em; }
    .hero-copy { max-width: 600px; color: #405153; font-size: 20px; line-height: 1.7; }
    .hero-note { margin: 20px 0 26px; color: var(--muted); font-size: 16px; }
    .actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
    .button {
      min-height: 52px; display: inline-flex; align-items: center; justify-content: center;
      padding: 13px 22px; border-radius: 999px; font-size: 16px; font-weight: 700;
      text-decoration: none; transition: transform .18s ease, background .18s ease;
    }
    .button:hover { transform: translateY(-1px); }
    .button-primary { background: var(--teal-dark); color: white; }
    .button-primary:hover { background: #174a52; }
    .button-secondary { color: var(--teal-dark); border: 1px solid #a9c3c1; background: rgba(255,253,250,.66); }
    .hero-photo {
      position: relative; border-radius: 30px; overflow: hidden; background: var(--peach);
      box-shadow: var(--shadow); min-height: 440px;
    }
    .hero-photo img { width: 100%; height: 440px; object-fit: cover; object-position: center; }
    .photo-caption {
      position: absolute; inset: auto 18px 18px auto;
      padding: 8px 14px; border-radius: 999px; color: #fff;
      background: rgba(28,39,39,.72); font-size: 13px;
    }
    .trustbar { background: #eaf0ed; border-block: 1px solid #dce5e0; }
    .trust-items {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding: 20px 0;
    }
    .trust-item { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; font-size: 15px; font-weight: 700; color: #34494a; }
    .trust-icon { color: var(--teal-dark); font-size: 20px; }
    section { scroll-margin-top: 24px; }
    .choice-section { padding: 76px 0 82px; }
    .section-heading { max-width: 720px; margin: 0 auto 35px; text-align: center; }
    h2 { margin: 0 0 13px; font-size: clamp(33px, 4vw, 43px); line-height: 1.15; }
    .section-heading p { margin: 0; color: var(--muted); font-size: 18px; }
    .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
    .card {
      overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius);
      background: var(--paper); box-shadow: 0 8px 26px rgba(39,49,46,.055);
      display: flex; flex-direction: column;
    }
    .card-photo { height: 245px; overflow: hidden; background: var(--peach); }
    .card-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
    .card:hover .card-photo img { transform: scale(1.035); }
    .card-body { padding: 23px 24px 25px; display: flex; flex-direction: column; flex: 1; }
    .card-kicker { color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    h3 { margin: 8px 0 9px; font: 500 26px/1.2 Georgia, "Times New Roman", serif; }
    .card p { margin: 0 0 20px; color: var(--muted); font-size: 16px; line-height: 1.62; }
    .text-link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 4px; }
    .text-link:hover { color: #153f45; }
    .soft-section { padding: 74px 0; background: #f0ebe3; }
    .fit-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: center; }
    .fit-grid h2 { margin-bottom: 15px; }
    .fit-grid p { color: var(--muted); }
    .fit-image { width: 100%; max-height: 330px; object-fit: contain; border-radius: 18px; background: var(--paper); padding: 18px; }
    .fit-note { padding: 17px 20px; border-left: 4px solid var(--teal); background: rgba(255,253,250,.72); border-radius: 0 14px 14px 0; color: #35494b; font-size: 16px; }
    .human-section { padding: 78px 0; }
    .human-card {
      display: grid; grid-template-columns: 165px 1fr; gap: 32px; align-items: center;
      padding: 38px 44px; border-radius: 28px; background: #fffdfa; border: 1px solid var(--line);
      box-shadow: var(--shadow);
    }
    .maker-mark {
      width: 138px; height: 138px; display: grid; place-items: center; border-radius: 50%;
      background: var(--peach); color: var(--teal-dark); font: italic 48px/1 Georgia,serif;
      border: 1px solid #edcfb3;
      overflow: hidden;
    }
    .maker-photo {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 50%;
    }
    .human-card h2 { font-size: 36px; }
    .human-card p { color: #45585a; margin: 0 0 13px; }
    .signature { margin-top: 18px; color: var(--teal-dark); font: italic 22px/1.2 Georgia,serif; }
    .process-section { padding: 76px 0; background: #eaf0ed; }
    .steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 34px; }
    .step {
      padding: 26px; border-radius: 20px; background: rgba(255,253,250,.88);
      border: 1px solid #d9e2dc;
    }
    .step-number {
      width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 15px;
      border-radius: 50%; background: var(--teal-dark); color: #fff; font-size: 16px; font-weight: 800;
    }
    .step h3 { font-size: 23px; }
    .step p { margin: 0; color: var(--muted); font-size: 16px; }
    .faq-section { padding: 78px 0; }
    .faq-wrap { max-width: 850px; margin: 0 auto; }
    .faq-wrap .section-heading { margin-bottom: 28px; }
    details {
      border-top: 1px solid var(--line); padding: 18px 4px;
    }
    details:last-of-type { border-bottom: 1px solid var(--line); }
    summary { cursor: pointer; list-style: none; position: relative; padding: 2px 38px 2px 0; font-size: 18px; font-weight: 750; color: var(--ink); }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; position: absolute; right: 8px; top: -4px; color: var(--teal-dark); font: 28px/1 Georgia,serif; }
    details[open] summary::after { content: "-"; }
    details p { max-width: 760px; margin: 12px 0 0; color: var(--muted); font-size: 16px; }
    .closing { padding: 68px 0 76px; background: var(--peach); text-align: center; }
    .closing-inner { max-width: 760px; margin: 0 auto; }
    .closing p { color: #465456; font-size: 18px; margin: 0 auto 24px; }
    .closing .actions { justify-content: center; }
    .closing .button-secondary { background: rgba(255,253,250,.6); }
    footer { background: #263638; color: #f6f3ed; padding: 28px 0; }
    .footer-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
    footer a { color:#f6f3ed; text-underline-offset:3px; }
    .footer-brand { font: 26px Georgia,serif; letter-spacing:.06em; }
    .footer-small { color:#c4d1cd; font-size:14px; }
    @media (max-width: 900px) {
      .hero-grid { gap: 34px; grid-template-columns: 1fr .85fr; }
      .hero-photo, .hero-photo img { min-height: 370px; height: 370px; }
      .cards { gap: 15px; }
      .card-photo { height: 210px; }
      .card-body { padding: 21px 19px 23px; }
      .fit-grid { gap: 30px; }
    }
    @media (max-width: 700px) {
      body { font-size: 17px; }
      .wrap { width: min(100% - 34px, 540px); }
      .nav { min-height: 72px; }
      .brand-name { font-size: 26px; }
      .brand-caption { font-size: 10px; }
      .brand-mark { width: 38px; height: 38px; }
      .nav-links { gap: 12px; }
      .nav-links a:not(.nav-shop):not(.nav-language) { display: none; }
      .nav-shop { padding: 10px 15px; font-size: 14px !important; }
      .hero { padding: 42px 0 34px; }
      .hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 26px; }
      .hero-copy { font-size: 18px; }
      h1 { font-size: clamp(37px, 10vw, 48px); }
      .hero-photo, .hero-photo img { min-height: 300px; height: 300px; }
      .trust-items { grid-template-columns: 1fr; gap: 10px; padding: 18px 0; }
      .trust-item { justify-content: flex-start; text-align: left; font-size: 15px; }
      .choice-section, .human-section, .faq-section { padding: 58px 0; }
      .cards { grid-template-columns: 1fr; gap: 18px; }
      .card { display: grid; grid-template-columns: 38% 1fr; min-height: 205px; }
      .card-photo { height: 100%; min-height: 205px; }
      .card-body { padding: 18px 16px; }
      h3 { font-size: 23px; }
      .card p { font-size: 15px; margin-bottom: 14px; }
      .text-link { font-size: 15px; }
      .soft-section, .process-section { padding: 58px 0; }
      .fit-grid { grid-template-columns: 1fr; gap: 22px; }
      .fit-image { max-height: 230px; order: 2; }
      .fit-note { order: 3; }
      .human-card { grid-template-columns: 1fr; gap: 17px; padding: 28px 23px; }
      .maker-mark { width: 74px; height: 74px; font-size: 31px; }
      .human-card h2 { font-size: 32px; }
      .steps { grid-template-columns: 1fr; gap: 13px; }
      .step { padding: 21px; }
      .closing { padding: 56px 0; }
      .footer-row { flex-direction: column; align-items: flex-start; }
    }
    @media (max-width: 410px) {
      .card { grid-template-columns: 1fr; }
      .card-photo { height: 205px; min-height: 205px; }
      .actions { align-items: stretch; flex-direction: column; }
      .button { width: 100%; }
      .hero-note { font-size: 15px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }

.human-contact { margin-top: 18px; }
.faq-all-link { text-align: center; margin: 24px 0 0; }


/* Police utilisée par les titres du footer original */
@font-face {
  font-family: "FetstanFooterNovecentowide";
  src: url("/fonts/Novecentowide-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

/* Footer Fetstan — style repris de style1.css */
#footer {
  display: block;
  clear: both;
  padding: 27px 0 0;
  color: #a5a5aa;
  background: #222224 url("/images/bg_footer.png") repeat;
  font: 14px/30px Arial, Helvetica, sans-serif;
}

#footer *,
#footer *::before,
#footer *::after {
  box-sizing: border-box;
}

#footer .container {
  position: relative;
  width: min(1170px, calc(100% - 40px));
  margin: 0 auto;
}

#footer .cols::after {
  display: block;
  clear: both;
  content: "";
}

#footer .col {
  float: left;
  width: 25.7%;
  padding-bottom: 37px;
}

#footer .col.media {
  width: 17%;
}

#footer .col.contact {
  width: 25.7%;
}

#footer h3 {
  margin: 0;
  padding: 0 0 10px;
  color: #fff;
  font-family: "FetstanFooterNovecentowide", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
}

#footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#footer li {
  margin: 0;
  padding: 0;
}

#footer li::before {
  content: "- ";
}

#footer a {
  color: #a5a5aa;
  text-decoration: none;
}

#footer a:hover {
  color: #fff;
  text-decoration: underline;
}

#footer .ico {
  display: inline-block;
  width: 19px;
  height: 19px;
  margin: -5px 10px -5px 0;
  background: url("/images/ico_footer.png") no-repeat;
  vertical-align: middle;
}

#footer .ico-tw {
  background-position: 0 -19px;
}

#footer .ico-pi {
  background-position: 0 -57px;
}

#footer .ico-em {
  margin: -7px 7px -7px 0;
  background-position: 0 -76px;
}

#footer .ico-ph {
  margin: -5px 10px -5px -3px;
  background-position: 0 -95px;
}

#footer .social li {
  padding-bottom: 6px;
  line-height: 32px;
}

#footer .social li::before {
  display: none;
  content: "";
}

#footer .contact p {
  margin: 0 0 8px;
  padding: 2px 0 0;
  font-size: 14px;
  line-height: 24px;
}

#footer .copy {
  clear: both;
  margin: 0;
  padding: 28px 0;
  border-top: 1px solid #333336;
  color: #717176;
  font-size: 14px;
}

/* Mise en page sur tablette et téléphone */
@media screen and (max-width: 1220px) {
  #footer .col,
  #footer .col.media,
  #footer .col.contact {
    display: inline-block;
    float: none;
    width: 49%;
    vertical-align: top;
  }
}

@media screen and (min-width: 460px) and (max-width: 768px) {
  #footer .col:nth-child(1),
  #footer .col:nth-child(2) {
    width: 49%;
  }
}

@media screen and (max-width: 479px) {
  #footer .col,
  #footer .col.media,
  #footer .col.contact {
    display: block;
    width: 100%;
  }
}

/* Images plus nettes sur les écrans haute résolution */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #footer {
    background-image: url("/images/bg_footer@2x.png");
    background-size: 30px 30px;
  }

  #footer .ico {
    background-image: url("/images/ico_footer@2x.png");
    background-size: 19px 114px;
  }
}