:root{
    --green-deep:#254a3f;
    --green-mid:#2e5a4c;
    --green-black:#173129;
    --sage:#93ab84;
    --sage-soft:#c3d3b4;
    --cream:#f2ece0;
    --cream-dark:#e7dfcb;
    --white-line:#faf7ee;
    --ink:#1c2e26;
    --ink-soft:#5b6a5f;
    --terracotta:#c0602f;
    --radius:20px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Nunito', sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
  }
  h1,h2,h3{font-family:'Poppins', sans-serif;}
  .script{font-family:'Caveat', cursive;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
  section[id]{scroll-margin-top:24px;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-size:0.72rem;
    font-weight:700;
    color:var(--terracotta);
  }
  svg{display:block;}

  /* ---------------- header ---------------- */
  header{background:var(--green-deep);position:relative;z-index:10;}
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1140px;margin:0 auto;padding:22px 28px;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{width:50px;height:50px;border-radius:50%;flex-shrink:0;}
  .brand-word{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.05rem;color:var(--white-line);letter-spacing:0.02em;}
  .brand-tag{
    display:block;
    font-size:0.68rem;
    letter-spacing:0.1em;
    color:var(--sage-soft);
    text-transform:uppercase;
    margin-top:1px;
  }
  nav ul{display:flex;gap:30px;list-style:none;}
  nav ul a{font-size:0.86rem;color:var(--cream);opacity:0.85;}
  nav ul a:hover{opacity:1;}
  nav ul a.active{opacity:1;color:var(--sage-soft);font-weight:700;}
  .nav-cta{
    background:var(--terracotta);
    color:var(--white-line);
    padding:10px 20px;
    border-radius:999px;
    font-size:0.82rem;
    font-weight:700;
    white-space:nowrap;
  }
  .mobile-switcher{display:none;}

  /* ---------------- hero ---------------- */
  .hero{
    background:var(--green-deep);
    position:relative;
    overflow:hidden;
    padding:56px 0 90px;
  }
  .bubbles{position:absolute;top:18px;right:24px;width:150px;height:110px;opacity:0.9;}
  .hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:52px;
    align-items:center;
    position:relative;
    z-index:2;
  }
  .hero h1{
    font-size:clamp(2rem,3.6vw,2.85rem);
    color:var(--white-line);
    line-height:1.18;
    margin:16px 0 20px;
    font-weight:700;
  }
  .hero h1 span{color:var(--sage-soft);}
  .hero p{
    color:#d8dfd2;
    max-width:430px;
    font-size:1.02rem;
    margin-bottom:28px;
  }
  .btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 24px;border-radius:999px;
    font-weight:700;font-size:0.88rem;
    transition:transform .18s ease;
    cursor:pointer;border:none;font-family:inherit;
  }
  .btn-primary{background:var(--terracotta);color:var(--white-line);}
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-ghost{border:1.5px solid rgba(250,247,238,0.5);color:var(--white-line);background:transparent;}
  .btn-ghost:hover{background:rgba(250,247,238,0.08);}

  .facade-frame{
    position:relative;
    border-radius:var(--radius);
    border:8px solid var(--sage);
    overflow:hidden;
    box-shadow:0 30px 60px -25px rgba(0,0,0,0.55);
    transform:rotate(1.2deg);
  }
  .facade-frame img{width:100%;height:auto;display:block;object-fit:contain;}
  .badge-77{
    position:absolute;
    left:-18px; bottom:-18px;
    width:98px;height:98px;
    background:var(--cream);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    flex-direction:column;
    transform:rotate(-9deg);
    box-shadow:0 14px 30px -12px rgba(0,0,0,0.45);
    z-index:3;
  }
  .badge-77 b{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:1.5rem;
    color:var(--green-deep);
    line-height:1;
  }
  .badge-77 span{
    font-size:0.6rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--terracotta);
    font-weight:700;
    margin-top:2px;
  }

  /* ---------------- icon strip ---------------- */
  .icon-strip{
    background:var(--cream-dark);
    border-top:1px solid rgba(28,46,38,0.08);
    border-bottom:1px solid rgba(28,46,38,0.08);
  }
  .icon-strip .wrap{
    display:flex;
    justify-content:space-between;
    padding:22px 28px;
    gap:14px;
    flex-wrap:wrap;
  }
  .icon-strip .item{
    display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:12px;
    font-size:0.85rem;
    font-weight:600;
    color:var(--green-black);
  }
  .icon-strip svg{width:26px;height:26px;flex-shrink:0;color:var(--terracotta);}

  /* ---------------- sections ---------------- */
  .section{padding:88px 0;}
  .section-head{max-width:580px;margin:0 auto 48px;text-align:center;}
  .section-head h2{
    font-size:clamp(1.6rem,2.8vw,2.15rem);
    margin-top:10px;
    color:var(--green-black);
  }
  .section-head p{color:var(--ink-soft);margin-top:14px;}

  .section.alt{background:var(--cream-dark);}
  .section-cta{text-align:center;margin-top:40px;}
  .hours-inline{
    max-width:420px;margin:44px auto 0;
    background:var(--white-line);border-radius:var(--radius);
    padding:18px 26px;box-shadow:0 10px 30px rgba(23,49,41,0.06);
  }
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .service-card{
    background:#fff;
    border-radius:var(--radius);
    padding:34px 28px;
    border:1px solid rgba(28,46,38,0.08);
    text-align:center;
  }
  .service-card .ring{
    width:54px;height:54px;border-radius:50%;
    background:var(--green-deep);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 20px;
  }
  .service-card .ring svg{width:26px;height:26px;color:var(--sage-soft);}
  .service-card h3{font-size:1.12rem;color:var(--green-black);margin-bottom:10px;}
  .service-card p{color:var(--ink-soft);font-size:0.92rem;}

  /* ---------------- tarifs ---------------- */
  .tarifs{background:var(--green-black);padding:88px 0;}
  .tarifs .section-head p{color:#c3ccc2;}
  .tarifs .eyebrow{color:var(--sage-soft);}
  .tarif-card{
    max-width:460px;
    margin:0 auto;
    background:var(--green-deep);
    border-radius:var(--radius);
    padding:36px 40px;
    border:1px solid rgba(250,247,238,0.12);
  }
  .tarif-row{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:14px 0;
    border-bottom:1px dashed rgba(250,247,238,0.16);
    color:var(--white-line);
  }
  .tarif-row:last-child{border-bottom:none;}
  .tarif-row .label{font-weight:600;font-size:1rem;}
  .tarif-row .sub{display:block;font-size:0.76rem;color:#a9b6a2;font-weight:400;margin-top:2px;}
  .tarif-row .price{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:1.15rem;
    color:var(--sage-soft);
    white-space:nowrap;
    text-align:right;
  }
  .tarif-note{
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(250,247,238,0.16);
    display:flex;
    align-items:center;
    gap:10px;
    font-size:0.85rem;
    color:var(--sage-soft);
  }
  .tarif-note svg{width:20px;height:20px;flex-shrink:0;}

  /* ---------------- mode d'emploi ---------------- */
  .howto-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:44px;
    align-items:center;
  }
  .howto-photo{
    border-radius:var(--radius);
    overflow:hidden;
    border:8px solid var(--sage);
    box-shadow:0 26px 50px -24px rgba(0,0,0,0.35);
    position:sticky;
    top:24px;
  }
  .howto-photo img{width:100%;object-fit:cover;aspect-ratio:4/5;}
  .howto-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
  .howto-col h3{
    font-size:1rem;color:var(--green-black);
    margin-bottom:16px;
    display:flex;align-items:center;justify-content:center;gap:10px;
  }
  .howto-col h3 .num-badge{
    width:28px;height:28px;border-radius:50%;
    background:var(--terracotta);color:var(--white-line);
    display:flex;align-items:center;justify-content:center;
    font-size:0.85rem;flex-shrink:0;
  }
  .howto-col ol{list-style:none;counter-reset:step;}
  .howto-col li{
    counter-increment:step;
    display:flex;align-items:flex-start;justify-content:center;gap:10px;
    margin-bottom:14px;
    font-size:0.9rem;
    color:var(--ink-soft);
    text-align:center;
  }
  .howto-col li::before{
    content:counter(step);
    flex-shrink:0;
    width:20px;height:20px;border-radius:50%;
    margin-top:1px;
    background:var(--cream-dark);
    color:var(--green-black);
    font-size:0.72rem;font-weight:700;
    display:flex;align-items:center;justify-content:center;
  }

  /* ---------------- infos pratiques ---------------- */
  .infos{background:var(--cream);}
  .infos-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:36px;
    align-items:stretch;
  }
  .info-card{
    background:#fff;
    border-radius:var(--radius);
    padding:34px 34px;
    border:1px solid rgba(28,46,38,0.08);
  }
  .info-card h3{
    font-size:1.05rem;color:var(--green-black);
    display:flex;align-items:center;justify-content:center;gap:10px;
    margin-bottom:16px;
  }
  .info-card h3 svg{width:22px;height:22px;color:var(--terracotta);}
  .info-card p{color:var(--ink-soft);font-size:0.94rem;margin-bottom:6px;}
  .info-card.centered{text-align:center;}
  .info-card.centered p{text-align:center;}
  .hours-row{display:flex;justify-content:space-between;font-size:0.94rem;padding:6px 0;border-bottom:1px solid rgba(28,46,38,0.06);}
  .hours-row:last-child{border-bottom:none;}
  .hours-row .d{color:var(--ink-soft);}
  .hours-row .h{font-weight:700;color:var(--green-black);}
  .map-btn{
    margin-top:18px;
    display:inline-flex;align-items:center;gap:8px;
    font-weight:700;font-size:0.86rem;color:var(--terracotta);
  }

  /* ---------------- quote ---------------- */
  .quote{padding:70px 0;text-align:center;}
  .quote p.script{font-size:clamp(0.95rem,4.2vw,2.3rem);white-space:nowrap;color:var(--green-black);margin:0 auto;}
  .quote-rule{width:56px;height:1px;background:var(--terracotta);margin:22px auto 0;}

  /* ---------------- footer ---------------- */
  footer{background:var(--green-black);color:var(--cream);}
  .footer-top{
    display:grid;grid-template-columns:1.2fr 0.8fr 0.8fr;gap:40px;
    padding:88px 12px 56px;
  }
  .footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
  .footer-brand img{width:56px;height:56px;border-radius:50%;}
  .footer-brand .brand-word{font-size:1.2rem;}
  .footer-top h3{font-size:1rem;margin-bottom:16px;color:var(--sage-soft);}
  .footer-top p,.footer-top li{color:#c3ccc2;font-size:0.92rem;}
  .footer-top ul{list-style:none;}
  .footer-top li{margin-bottom:8px;}
  .footer-doodles{display:flex;gap:18px;margin-top:20px;}
  .footer-doodles svg{width:28px;height:28px;color:var(--sage-soft);opacity:0.8;}
  .footer-social{display:flex;gap:14px;margin-top:20px;}
  .footer-social a{
    display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:50%;
    background:rgba(250,247,238,0.08);
    border:1px solid rgba(250,247,238,0.16);
    color:var(--cream);
    transition:background .18s ease, transform .18s ease;
  }
  .footer-social a:hover{background:var(--terracotta);transform:translateY(-2px);}
  .footer-social svg{width:19px;height:19px;}
  .footer-bottom{
    border-top:1px solid rgba(250,247,238,0.12);
    padding:32px 12px 44px;
    display:flex;flex-wrap:wrap;gap:14px 24px;
    justify-content:space-between;align-items:center;
    font-size:0.78rem;color:#8b978a;
  }
  .footer-bottom .tags{letter-spacing:0.08em;text-transform:uppercase;font-size:0.72rem;}
  .footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;}
  .footer-legal a{color:#8b978a;transition:color .15s ease;}
  .footer-legal a:hover{color:var(--cream);}

  /* ---------------- quote form ---------------- */
  .quote-section{background:var(--green-black);}
  .quote-section .section-head h2{color:var(--white-line);}
  .quote-section .section-head p{color:#c3ccc2;}
  .quote-section .eyebrow{color:var(--sage-soft);}
  .quote-card{
    background:var(--white-line);border-radius:var(--radius);
    padding:36px;max-width:760px;margin:0 auto;
    box-shadow:0 20px 50px rgba(0,0,0,0.25);
  }
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field.full{grid-column:1 / -1;}
  .field label{font-size:0.82rem;font-weight:700;color:var(--green-black);}
  .field .hint{font-weight:400;font-size:0.76rem;color:var(--ink-soft);}
  .field input[type="text"],
  .field input[type="tel"],
  .field input[type="email"],
  .field input[type="number"],
  .field input[type="date"],
  .field select,
  .field textarea{
    font-family:inherit;font-size:0.94rem;color:var(--ink);
    background:var(--cream);border:1.5px solid var(--cream-dark);
    border-radius:12px;padding:11px 14px;
  }
  .field textarea{resize:vertical;min-height:90px;}
  .field input:focus,
  .field select:focus,
  .field textarea:focus{outline:none;border-color:var(--terracotta);}
  .checkbox-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;
    background:var(--cream);border:1.5px solid var(--cream-dark);
    border-radius:12px;padding:14px 16px;
  }
  .checkbox-grid label{
    display:flex;align-items:center;gap:9px;
    font-size:0.9rem;font-weight:400;color:var(--ink);cursor:pointer;
  }
  .checkbox-grid input{width:16px;height:16px;accent-color:var(--terracotta);flex-shrink:0;}
  .quote-card .btn-primary{width:100%;justify-content:center;margin-top:6px;border:none;font-size:0.94rem;padding:15px 24px;}
  .form-note{font-size:0.78rem;color:var(--ink-soft);margin-top:14px;text-align:center;}
  .form-status{font-size:0.86rem;font-weight:700;text-align:center;margin-top:14px;display:none;}
  .form-status.show{display:block;}
  .form-status.error{color:#b3402a;}
  .form-status.ok{color:#2e6b47;}

  @media (max-width:860px){
    nav ul{display:none;}
    .mobile-switcher{
      display:flex;gap:10px;
      max-width:1140px;margin:0 auto;
      padding:0 16px 16px;
    }
    .mobile-switcher a{
      flex:1;text-align:center;
      padding:10px 12px;border-radius:999px;
      font-size:0.82rem;font-weight:600;
      background:rgba(250,247,238,0.08);
      color:var(--cream);
      border:1px solid rgba(250,247,238,0.18);
    }
    .mobile-switcher a.active{
      background:var(--terracotta);
      color:var(--white-line);
      border-color:var(--terracotta);
    }
    .hero-grid{grid-template-columns:1fr;}
    .facade-frame{order:-1;max-width:420px;margin:0 auto;}
    .icon-strip .wrap{display:grid;grid-template-columns:1fr 1fr;justify-content:normal;gap:20px 16px;padding:20px 20px;}
    .icon-strip .item{grid-template-columns:24px 1fr;}
    .services{grid-template-columns:1fr;}
    .howto-grid{grid-template-columns:1fr;align-items:start;}
    .howto-col li{align-items:center;}
    .howto-photo{position:static;max-width:420px;margin:0 auto;}
    .howto-cols{grid-template-columns:1fr;}
    .infos-grid{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr 1fr;gap:28px 20px;padding:60px 16px 44px;}
    .footer-top > div:first-child{grid-column:1 / -1;}
    .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;padding:28px 16px 40px;}
    .footer-legal{flex-direction:column;gap:8px;}
    .btn-row{flex-direction:column;align-items:stretch;}
    .btn-row .btn{justify-content:center;width:100%;}
    .form-grid{grid-template-columns:1fr;}
    .checkbox-grid{grid-template-columns:1fr;}
    .quote-card{padding:26px 20px;}
  }
  @media (max-width:400px){
    .wrap{padding:0 18px;}
  }
  /* ---------------- extra: tarif table (heures pleines/creuses) ---------------- */
  .tarif-table{width:100%;border-collapse:collapse;color:var(--white-line);font-size:0.92rem;}
  .tarif-table th{
    text-align:left;font-weight:700;font-size:0.78rem;text-transform:uppercase;
    letter-spacing:0.06em;color:var(--sage-soft);padding:0 0 10px;
    border-bottom:1px solid rgba(250,247,238,0.16);
  }
  .tarif-table th.num, .tarif-table td.num{text-align:right;}
  .tarif-table td{padding:13px 0;border-bottom:1px dashed rgba(250,247,238,0.16);}
  .tarif-table tr:last-child td{border-bottom:none;}
  .tarif-table td.num{font-family:'Poppins',sans-serif;font-weight:700;color:var(--sage-soft);white-space:nowrap;}
  .tarif-table .sub{display:block;font-size:0.76rem;color:#a9b6a2;font-weight:400;margin-top:2px;}
  .tarif-placeholder{color:var(--terracotta);font-weight:700;}

  /* ---------------- extra: capacity + payment strip ---------------- */
  .facts-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
  .fact-card{background:var(--white-line);border-radius:var(--radius);padding:24px 22px;text-align:center;box-shadow:0 10px 30px rgba(23,49,41,0.06);}
  .fact-card .num{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.8rem;color:var(--terracotta);}
  .fact-card .label{font-size:0.86rem;color:var(--ink-soft);margin-top:4px;}
  .payment-row{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;margin-top:16px;}
  .payment-row .pay-item{display:flex;align-items:center;gap:8px;font-size:0.9rem;color:var(--ink-soft);}
  .payment-row svg{width:20px;height:20px;color:var(--terracotta);}

  /* ---------------- extra: couette service card ---------------- */
  .couette-card{
    max-width:760px;margin:44px auto 0;
    background:var(--white-line);border-radius:var(--radius);
    padding:34px 36px;display:flex;gap:28px;align-items:center;
    box-shadow:0 14px 36px rgba(23,49,41,0.07);
  }
  .couette-card .ring{width:60px;height:60px;border-radius:50%;background:var(--green-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .couette-card .ring svg{width:28px;height:28px;color:var(--sage-soft);}
  .couette-card h3{font-size:1.12rem;color:var(--green-black);margin-bottom:8px;}
  .couette-card p{color:var(--ink-soft);font-size:0.92rem;margin-bottom:4px;}
  .couette-card .price-tag{font-family:'Poppins',sans-serif;font-weight:800;color:var(--terracotta);font-size:1.1rem;}

  /* ---------------- extra: hours detail note ---------------- */
  .hours-note{
    max-width:640px;margin:32px auto 0;text-align:center;
    font-size:0.88rem;color:var(--ink-soft);line-height:1.7;
    background:rgba(28,46,38,0.04);border-radius:14px;padding:18px 24px;
  }

  /* ---------------- extra: blanchisserie intro / no-walk-in notice ---------------- */
  .slogan-block{text-align:center;margin-bottom:8px;}
  .slogan-block .script{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--terracotta);}
  .intro-text{max-width:760px;margin:0 auto;text-align:center;color:var(--ink-soft);font-size:1rem;line-height:1.8;}
  .no-walkin-notice{
    max-width:640px;margin:28px auto 0;
    background:var(--cream);border:1px solid rgba(28,46,38,0.08);
    border-radius:14px;padding:16px 22px;
    display:flex;gap:12px;align-items:flex-start;
    font-size:0.88rem;color:var(--ink);
  }
  .no-walkin-notice svg{width:22px;height:22px;color:var(--terracotta);flex-shrink:0;margin-top:1px;}

  /* ---------------- extra: photo placeholder ---------------- */
  .photo-placeholder{
    max-width:760px;margin:48px auto 0;
    border-radius:var(--radius);
    border:2px dashed var(--terracotta);
    background:var(--cream-dark);
    aspect-ratio:16/8;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    color:var(--terracotta);font-weight:700;text-align:center;padding:20px;
  }
  .photo-placeholder svg{width:36px;height:36px;}
  .photo-placeholder small{font-weight:400;color:var(--ink-soft);font-size:0.8rem;}

  /* ---------------- extra: testimonials ---------------- */
  .testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px;}
  .testimonial-card{
    background:var(--white-line);border-radius:var(--radius);
    padding:28px 26px;box-shadow:0 10px 30px rgba(23,49,41,0.06);
    text-align:center;
  }
  .testimonial-card.placeholder{border:1px dashed var(--terracotta);box-shadow:none;}
  .testimonial-card .stars{color:var(--terracotta);font-size:0.9rem;margin-bottom:10px;letter-spacing:0.05em;}
  .testimonial-card p{color:var(--ink);font-style:italic;font-size:0.92rem;line-height:1.6;margin-bottom:14px;}
  .testimonial-card.placeholder p{color:var(--terracotta);}
  .testimonial-card .author{font-size:0.86rem;font-weight:700;color:var(--green-black);}
  .testimonial-card.placeholder .author{color:var(--terracotta);}
  .testimonial-card .meta{font-size:0.76rem;color:var(--ink-soft);margin-top:6px;display:flex;align-items:center;justify-content:center;gap:6px;}
  .testimonial-card .meta svg{width:14px;height:14px;flex-shrink:0;}

  /* ---------------- extra: footer social placeholder note ---------------- */
  .footer-social-note{font-size:0.76rem;color:#8b978a;margin-top:14px;}

  /* ---------------- extra: legal pages ---------------- */
  .legal-hero{background:var(--green-black);padding:70px 0 40px;}
  .legal-hero .eyebrow{color:var(--sage-soft);}
  .legal-hero h1{color:var(--white-line);font-size:2rem;margin-top:6px;}
  .legal-body{padding:50px 0 70px;}
  .legal-body h2{font-size:1.15rem;color:var(--green-black);margin:34px 0 10px;}
  .legal-body h2:first-child{margin-top:0;}
  .legal-body p, .legal-body li{color:var(--ink-soft);font-size:0.94rem;line-height:1.75;}
  .legal-body ul{padding-left:20px;margin-bottom:6px;}
  .legal-body strong{color:var(--ink);}
  .legal-back{display:inline-block;margin-top:36px;font-size:0.86rem;font-weight:700;color:var(--terracotta);}

  @media (max-width:860px){
    .facts-strip{grid-template-columns:1fr;}
    .testimonials-grid{grid-template-columns:1fr;}
    .couette-card{flex-direction:column;text-align:center;}
    .tarif-table{font-size:0.85rem;}
  }
