
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-ccf0fecc501d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-437e9d07ede1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-e10563a873a3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-ccf0fecc501d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-437e9d07ede1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-e10563a873a3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-ccf0fecc501d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-437e9d07ede1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-e10563a873a3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-a4c5fe4f4f21.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-7cdca5ec1a66.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-6a8370661dae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-a4c5fe4f4f21.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-7cdca5ec1a66.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-6a8370661dae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-5d47749e9553.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-cc7d24aa9461.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-98a0d4ac28a1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-5d47749e9553.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-cc7d24aa9461.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-98a0d4ac28a1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-5d47749e9553.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-cc7d24aa9461.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-98a0d4ac28a1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-5d47749e9553.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-cc7d24aa9461.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-98a0d4ac28a1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --coral: #E8563A;
      --coral-dark: #C94425;
      --coral-deep: #B03A1E;
      --coral-light: #F0785F;
      --navy: #16303F;
      --navy-deep: #0F2430;
      --bg: #FAF6F0;
      --bg-warm: #F3EDE4;
      --ink: #191512;
      --ink-mid: #46403A;
      --ink-soft: #6E675E;
      --line: rgba(25,21,18,0.11);
      --sans: 'Space Grotesk', sans-serif;
      --serif: 'Fraunces', serif;
      --ease: cubic-bezier(0.16, 1, 0.3, 1);
    }

    html { scroll-behavior: smooth; }
    ::selection { background: var(--coral); color: white; }

    
    :focus-visible { outline: 3px solid var(--coral-deep); outline-offset: 3px; }
    #methode :focus-visible, #asperite :focus-visible, footer :focus-visible { outline-color: white; }
    section[id], #hero { scroll-margin-top: 6.5rem; }
    .skip {
      position: fixed; left: 1rem; top: -6rem; z-index: 2000;
      background: var(--ink); color: var(--bg); text-decoration: none;
      font-size: 0.9rem; font-weight: 600; padding: 0.85rem 1.4rem;
      border-radius: 0 0 12px 12px; transition: top 0.25s var(--ease);
    }
    .skip:focus { top: 0; }
    main:focus { outline: none; }
    .vh {
      position: absolute; width: 1px; height: 1px; overflow: hidden;
      clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
    }

    body {
      font-family: var(--sans);
      background: var(--bg);
      color: var(--ink);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    .serif { font-family: var(--serif); font-style: italic; font-weight: 500; }

    
    .nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.5rem 3rem;
      transition: all 0.4s var(--ease);
    }
    .nav.scrolled {
      padding: 0.8rem 3rem;
      background: rgba(250,246,240,0.92);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--line);
    }
    @media (max-width: 768px) { .nav, .nav.scrolled { padding-left: 1.25rem; padding-right: 1.25rem; } }
    .logo { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; color: inherit; }
    .logo svg { width: 26px; height: auto; color: var(--coral); }
    .logo span { font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; }
    .logo span em { font-style: normal; color: var(--coral-deep); }
    .nav-r { display: flex; align-items: center; gap: 2rem; }
    .nav-r a { text-decoration: none; color: var(--ink-soft); font-size: 0.85rem; font-weight: 500; transition: color 0.3s; }
    .nav-r a:hover { color: var(--ink); }
    .nav-r .pill {
      color: var(--bg); background: var(--ink); padding: 0.55rem 1.3rem; border-radius: 100px;
      font-weight: 600; transition: background 0.3s, transform 0.3s;
    }
    .nav-r .pill:hover { background: var(--coral-dark); color: white; transform: translateY(-1px); }
    .burger { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; padding: 4px; }
    .burger span { width: 24px; height: 2px; background: var(--ink); display: block; }
    @media (max-width: 860px) {
      .nav-r { display: none; }
      .burger { display: flex; }
    }
    .mmenu { display: none; position: fixed; inset: 0; z-index: 1100; background: var(--bg); flex-direction: column; justify-content: center; padding: 3rem; gap: 1.4rem; }
    .mmenu.open { display: flex; }
    .mmenu a { font-family: var(--serif); font-style: italic; font-size: 2.2rem; color: var(--ink); text-decoration: none; }
    .mmenu a:hover { color: var(--coral); }
    .mmenu .x { position: absolute; top: 1.6rem; right: 1.6rem; font-size: 1.8rem; background: none; border: none; cursor: pointer; color: var(--ink); font-family: var(--sans); }

    
    #hero {
      position: relative; min-height: 100dvh;
      display: flex; flex-direction: column; justify-content: center;
      padding: 6.5rem 3rem 0;
    }
    @media (max-width: 768px) { #hero { padding: 7rem 1.25rem 0; } }
    #dotCanvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: 0.55; }
    .hero-inner { position: relative; z-index: 2; max-width: 1300px; margin: 0 auto; width: 100%; }
    .hero-kicker {
      display: inline-flex; align-items: center; gap: 0.6rem;
      font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--ink-soft); margin-bottom: 2.2rem;
    }
    .hero-kicker::before { content: ''; width: 32px; height: 1.5px; background: var(--coral); }
    .hero-h1 {
      font-size: clamp(3rem, 8.4vw, 7.8rem);
      font-weight: 700; letter-spacing: -0.045em; line-height: 0.98;
      max-width: 16ch;
    }
    .hero-h1 .hum {
      font-family: var(--serif); font-style: italic; font-weight: 500;
      color: var(--coral); letter-spacing: -0.02em;
    }
    .hero-below {
      display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 3rem;
      margin-top: 2.2rem;
    }
    @media (max-width: 860px) { .hero-below { grid-template-columns: 1fr; } }
    .hero-sub { font-size: 1.05rem; line-height: 1.65; color: var(--ink-mid); max-width: 46ch; }
    .hero-sub strong { font-weight: 600; color: var(--ink); }
    .hero-ctas { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
    .btn-main {
      position: relative; display: inline-flex; align-items: center; gap: 0.7rem;
      background: var(--coral-dark); color: white; text-decoration: none;
      font-family: var(--sans); font-size: 1rem; font-weight: 600;
      padding: 1.05rem 2.1rem; border-radius: 100px; border: none; cursor: pointer;
      transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), background 0.3s;
      will-change: transform;
    }
    .btn-main:hover { background: var(--coral-deep); box-shadow: 0 16px 40px -10px rgba(232,86,58,0.5); }
    .btn-main .arr { transition: transform 0.3s var(--ease); }
    .btn-main:hover .arr { transform: translateX(4px); }
    .link-under {
      font-size: 0.95rem; font-weight: 500; color: var(--ink); text-decoration: none;
      border-bottom: 1.5px solid var(--line); padding-bottom: 2px;
      transition: border-color 0.3s;
    }
    .link-under:hover { border-color: var(--coral); }

    
    .wrap { max-width: 1300px; margin: 0 auto; padding: 0 3rem; }
    @media (max-width: 768px) { .wrap { padding: 0 1.25rem; } }
    .kicker {
      display: inline-flex; align-items: center; gap: 0.6rem;
      font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--coral-deep); margin-bottom: 1.4rem;
    }
    .kicker::before { content: ''; width: 26px; height: 1.5px; background: currentColor; opacity: 0.6; }
    .h2 {
      font-size: clamp(2.1rem, 4.5vw, 3.6rem); font-weight: 700;
      letter-spacing: -0.04em; line-height: 1.04; max-width: 22ch;
    }
    .h2 .hum { font-family: var(--serif); font-style: italic; font-weight: 500; letter-spacing: -0.01em; }
    .lead { font-size: 1.05rem; color: var(--ink-soft); line-height: 1.65; max-width: 54ch; margin-top: 1.2rem; }

    
    .js .rv { opacity: 0; transform: translateY(34px); }
    .rv { transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
    .js .rv.in { opacity: 1; transform: none; }
    .d1 { transition-delay: 0.08s; } .d2 { transition-delay: 0.16s; } .d3 { transition-delay: 0.24s; } .d4 { transition-delay: 0.32s; }

    
    #probleme { padding: 9rem 0; background: var(--bg-warm); }
    .prom-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 5.5rem; margin-top: 4rem; align-items: start; }
    @media (max-width: 860px) { .prom-grid { grid-template-columns: 1fr; gap: 3rem; } }
    .prom-txt p { font-size: 1.05rem; line-height: 1.8; color: var(--ink-mid); margin-bottom: 1.5rem; }
    .prom-txt p strong { color: var(--ink); font-weight: 600; }
    .prom-txt .big-serif {
      font-family: var(--serif); font-style: italic; font-size: 1.45rem; line-height: 1.5;
      color: var(--ink); border-left: 3px solid var(--coral); padding-left: 1.4rem; margin: 2rem 0;
    }
    .prom-cards { display: flex; flex-direction: column; gap: 1rem; }
    .pcard {
      background: white; border: 1px solid var(--line); border-radius: 18px;
      padding: 1.9rem 2rem; display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: start;
      transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
    }
    .pcard:hover { transform: translateX(6px); box-shadow: 0 14px 40px -12px rgba(25,21,18,0.12); }
    .pcard .pk {
      font-family: var(--serif); font-style: italic; font-size: 1.9rem; color: var(--coral-deep);
      line-height: 1; padding-top: 0.15rem;
    }
    .pcard h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 0.45rem; }
    .pcard p { font-size: 0.9rem; line-height: 1.6; color: var(--ink-soft); }

    
    #resultats { padding: 8rem 0 9rem; background: var(--bg-warm); }
    .res-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.2rem; margin-top: 4rem; }
    .rcard {
      background: white; border: 1px solid var(--line); border-radius: 22px; padding: 2.1rem;
      display: flex; flex-direction: column; position: relative; overflow: hidden;
      transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
      grid-column: span 2;
    }
    .rcard:focus-within { box-shadow: 0 24px 55px -16px rgba(25,21,18,0.14); }
    .rcard:nth-child(4), .rcard:nth-child(5) { grid-column: span 3; }
    @media (max-width: 1000px) { .rcard, .rcard:nth-child(4), .rcard:nth-child(5) { grid-column: span 3; } }
    @media (max-width: 640px) { .rcard, .rcard:nth-child(4), .rcard:nth-child(5) { grid-column: span 6; } }
    .rcard:hover { transform: translateY(-6px); box-shadow: 0 24px 55px -16px rgba(25,21,18,0.14); }
    .rcard .rnum {
      font-size: clamp(3.2rem, 5vw, 4.6rem); font-weight: 700; letter-spacing: -0.05em;
      line-height: 0.95; color: var(--coral); margin-bottom: 0.7rem;
    }
    .rcard .rnum small { font-size: 0.35em; font-weight: 600; letter-spacing: -0.02em; }
    .rcard .rwhat { font-size: 0.98rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); line-height: 1.4; margin-bottom: auto; }
    .rcard .rhint {
      margin-top: 1.8rem; align-self: flex-start;
      font-family: var(--sans); font-size: 0.8rem; font-weight: 600; color: var(--ink-soft);
      background: none; border: 0; padding: 0.5rem 0; cursor: pointer;
      display: inline-flex; align-items: center; gap: 0.45rem; transition: color 0.3s;
    }
    .rcard .rhint svg { width: 11px; height: 11px; transition: transform 0.35s var(--ease); }
    .rcard:hover .rhint, .rcard .rhint:hover { color: var(--coral-deep); }
    .rcard.open .rhint svg { transform: rotate(45deg); }
    
    .rdetail { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.5s var(--ease); }
    .rcard.open .rdetail { grid-template-rows: 1fr; }
    
    .rdetail > div { overflow: hidden; visibility: hidden; transition: visibility 0s linear 0.5s; }
    .rcard.open .rdetail > div { visibility: visible; transition-delay: 0s; }
    .rdetail-in { padding-top: 1.4rem; margin-top: 1.4rem; border-top: 1px solid var(--line); }
    .rdetail-in .rl { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); margin: 0.9rem 0 0.5rem; }
    .rdetail-in .rl:first-child { margin-top: 0; }
    .rdetail-in p, .rdetail-in li { font-size: 0.85rem; line-height: 1.6; color: var(--ink-mid); }
    .rdetail-in ul { list-style: none; display: flex; flex-direction: column; gap: 0.35rem; }
    .rdetail-in li { padding-left: 0.9rem; position: relative; }
    .rdetail-in li::before { content: ''; position: absolute; left: 0; top: 0.55em; width: 5px; height: 5px; border-radius: 50%; background: var(--coral); }

    
    .conf { margin-top: 5rem; overflow: hidden; }
    .conf-l { text-align: center; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-mid); margin-bottom: 2.4rem; }
    .mq { display: flex; overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent); }
    .mq-t { display: flex; gap: 4.2rem; align-items: center; white-space: nowrap; flex-shrink: 0; padding-right: 4.2rem; animation: mq 34s linear infinite; }
    .mq:hover .mq-t, .mq:focus-within .mq-t { animation-play-state: paused; }
    @keyframes mq { to { transform: translateX(-100%); } }
    .mq-t i { width: 6px; height: 6px; border-radius: 50%; background: var(--coral); opacity: 0.4; flex-shrink: 0; }
    
    .mq-t img {
      height: var(--h, 30px); width: auto; flex-shrink: 0;
      filter: brightness(0); opacity: 0.55;
    }
    
    .l-arcelormittal  { --h: 90px; }
    .l-loccitane      { --h: 50px; }
    .l-biomotors      { --h: 65px; }
    .l-pharmacessions { --h: 58px; }
    .l-microterra     { --h: 62px; }
    .l-antigone       { --h: 62px; }
    .l-mbs            { --h: 96px; }
    .l-polytech       { --h: 84px; }
    @media (max-width: 640px) { .mq-t img { height: calc(var(--h, 30px) * 0.55); } .mq-t { gap: 2.8rem; padding-right: 2.8rem; } }

    
    #asperite { background: var(--coral-dark); padding: 8.5rem 0; position: relative; overflow: hidden; }
    #asperite .dots-bg {
      position: absolute; inset: 0; opacity: 0.13;
      background-image: radial-gradient(circle, white 1.6px, transparent 1.6px);
      background-size: 26px 26px;
    }
    .asp-in { position: relative; z-index: 1; text-align: center; max-width: 900px; margin: 0 auto; }
    .asp-k { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: white; margin-bottom: 2rem; }
    .asp-t {
      font-family: var(--serif); font-style: italic; font-weight: 500;
      font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1.3; color: white; letter-spacing: -0.01em;
    }
    .asp-t b { font-family: var(--sans); font-style: normal; font-weight: 700; letter-spacing: -0.03em; }
    .asp-s { margin-top: 2.4rem; font-size: 1rem; color: white; }
    .asp-s a { color: white; font-weight: 600; }

    
    #missions { padding: 9rem 0; }
    .svc-list { margin-top: 4rem; border-top: 1px solid var(--line); }
    .svc {
      display: grid; grid-template-columns: 4.5rem 1fr 1.1fr; gap: 2.5rem; align-items: start;
      padding: 3rem 0; border-bottom: 1px solid var(--line);
      transition: background 0.35s;
    }
    @media (max-width: 860px) { .svc { grid-template-columns: 1fr; gap: 1rem; } }
    .svc-n { font-family: var(--serif); font-style: italic; font-size: 1.5rem; color: var(--coral-deep); padding-top: 0.3rem; }
    .svc h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1.15; }
    .svc .svc-for { font-family: var(--serif); font-style: italic; font-size: 1rem; color: var(--ink-soft); margin-top: 0.7rem; line-height: 1.5; }
    .svc-d { font-size: 0.93rem; line-height: 1.7; color: var(--ink-mid); }
    .svc-d .ex { margin-top: 1rem; font-size: 0.85rem; color: var(--ink-soft); }
    .svc-d .ex b { color: var(--ink); font-weight: 600; }

    
    #methode { padding: 9rem 0; background: var(--navy); }
    .met-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 5rem; align-items: start; }
    @media (max-width: 860px) { .met-grid { grid-template-columns: 1fr; gap: 3.5rem; } }
    .met-left { position: sticky; top: 7rem; }
    @media (max-width: 860px) { .met-left { position: static; } }
    #methode .kicker { color: var(--coral-light); }
    #methode .h2 { color: white; }
    #methode .lead { color: rgba(255,255,255,0.55); }
    .met-steps { display: flex; flex-direction: column; }
    .mstep {
      display: grid; grid-template-columns: 4rem 1fr; gap: 1.6rem;
      padding: 2.2rem 0; border-bottom: 1px solid rgba(255,255,255,0.1);
      opacity: 0.72; transition: opacity 0.5s;
    }
    .mstep:first-child { padding-top: 0; }
    .mstep.lit { opacity: 1; }
    .mstep-n {
      font-family: var(--serif); font-style: italic; font-size: 2.1rem; color: var(--coral-light);
      line-height: 1;
    }
    .mstep h3 { font-size: 1.1rem; font-weight: 700; letter-spacing: -0.02em; color: white; margin-bottom: 0.55rem; }
    .mstep p { font-size: 0.9rem; line-height: 1.65; color: rgba(255,255,255,0.85); }
    .met-cta { align-self: flex-end; margin-top: 2.6rem; }
    @media (max-width: 860px) { .met-cta { align-self: stretch; } .met-cta .btn-main { width: 100%; justify-content: center; } }

    
    #apropos { padding: 9rem 0; }
    .ap-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 5.5rem; margin-top: 4rem; align-items: start; }
    @media (max-width: 900px) { .ap-grid { grid-template-columns: 1fr; gap: 3rem; } }
    .ap-txt h3 {
      font-family: var(--serif); font-style: italic; font-weight: 500;
      font-size: 1.35rem; letter-spacing: -0.01em; margin: 2.3rem 0 0.8rem; color: var(--ink);
    }
    .ap-txt h3:first-child { margin-top: 0; }
    .ap-txt p { font-size: 0.98rem; line-height: 1.75; color: var(--ink-mid); }
    .ap-quote {
      margin-top: 2.6rem; background: var(--navy); color: white; border-radius: 22px; padding: 2.4rem;
      font-family: var(--serif); font-style: italic; font-size: 1.25rem; line-height: 1.6;
    }
    .ap-quote b { color: var(--coral); font-weight: 600; }
    .ap-portrait { margin: 0; }
    .ap-photo {
      position: relative; aspect-ratio: 3 / 4; border-radius: 24px; overflow: hidden;
      background: linear-gradient(180deg, #FFFFFF 0%, var(--bg-warm) 58%, #E6DDD1 100%);
      border: 1px solid var(--line);
      display: flex; align-items: flex-end; justify-content: center;
      box-shadow: 0 24px 50px -28px rgba(25,21,18,0.30);
    }
    
    .ap-photo img {
      position: relative; z-index: 2; display: block;
      height: 92%; width: auto; max-width: 100%;
      filter: drop-shadow(0 16px 26px rgba(25,21,18,0.20));
      -webkit-mask-image: url('images/image-0e551bf743bf.png');
              mask-image: url('images/image-0e551bf743bf.png');
      -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
      -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    }
    .ap-portrait figcaption { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.3rem; }
    .ap-portrait figcaption b { font-size: 1.02rem; font-weight: 700; letter-spacing: -0.02em; }
    .ap-portrait figcaption span {
      font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--ink-soft);
    }
    @media (max-width: 900px) {
      .ap-portrait { order: -1; max-width: 380px; }
      .ap-photo { aspect-ratio: 4 / 5; }
    }

    
    #contact { padding: 9rem 0; background: var(--bg-warm); }
    .ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.5rem; align-items: start; }
    @media (max-width: 860px) { .ct-grid { grid-template-columns: 1fr; gap: 3rem; } }
    .ct-info p { font-size: 1rem; line-height: 1.75; color: var(--ink-mid); margin-top: 1.4rem; }
    .ct-serif {
      font-family: var(--serif); font-style: italic; font-size: 1.3rem; line-height: 1.55;
      color: var(--ink); margin-top: 2rem !important;
    }
    .form { background: white; border: 1px solid var(--line); border-radius: 24px; padding: 2.6rem; display: flex; flex-direction: column; gap: 1.15rem; }
    @media (max-width: 480px) { .form { padding: 1.6rem; } }
    .fr { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    @media (max-width: 520px) { .fr { grid-template-columns: 1fr; } }
    .fd { display: flex; flex-direction: column; gap: 0.4rem; }
    .fd label { font-size: 0.8rem; font-weight: 600; }
    .fd label small { font-weight: 400; color: var(--ink-soft); }
    .fd input, .fd textarea {
      font-family: var(--sans); font-size: 0.95rem; color: var(--ink);
      background: var(--bg); border: 1.5px solid var(--line); border-radius: 12px;
      padding: 0.8rem 1rem; outline: none; width: 100%;
      transition: border-color 0.3s, background 0.3s;
    }
    .fd input:focus, .fd textarea:focus { border-color: var(--coral); background: white; }
    .fd textarea { min-height: 105px; resize: vertical; }
    
    #fmsg { font-size: 0.88rem; font-weight: 600; color: var(--coral-deep); }
    #fmsg:empty { display: none; }
    .fd .req { color: var(--coral-deep); }

    
    footer { background: var(--navy-deep); color: white; padding: 5.5rem 0 2.5rem; }
    .ft-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 4rem; }
    @media (max-width: 900px) { .ft-grid { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 520px) { .ft-grid { grid-template-columns: 1fr; } }
    .ft-brand svg { width: 40px; color: var(--coral); margin-bottom: 1.1rem; }
    .ft-brand .fn { font-size: 1.15rem; font-weight: 700; letter-spacing: -0.02em; }
    .ft-brand .fn em { font-style: normal; color: var(--coral-light); }
    .ft-brand .bt { font-family: var(--serif); font-style: italic; font-size: 0.95rem; color: rgba(255,255,255,0.5); margin: 0.4rem 0 1.2rem; }
    .ft-brand p { font-size: 0.85rem; line-height: 1.65; color: rgba(255,255,255,0.6); }
    .ftc h3 { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 1.1rem; }
    .ftc ul { list-style: none; display: flex; flex-direction: column; gap: 0.65rem; }
    .ftc a { font-size: 0.88rem; color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s; }
    .ftc a:hover { color: white; }
    .ft-btm { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,0.08); }
    .ft-btm p { font-size: 0.78rem; color: rgba(255,255,255,0.6); }

    
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0s !important;
        scroll-behavior: auto !important;
      }
      .js .rv, .js .rv.in { opacity: 1 !important; transform: none !important; }
      .mstep { opacity: 1 !important; }
      #dotCanvas { display: none; }
    }
  

  


  
  #options { padding: 9rem 0; background: var(--bg-warm); }
  .opt-list { margin-top: 4rem; display: flex; flex-direction: column; gap: 1rem; }
  .opt {
    background: white; border: 1px solid var(--line); border-radius: 20px; padding: 2rem 2.2rem;
    display: grid; grid-template-columns: 13rem 1fr; gap: 2.5rem; align-items: start;
  }
  @media (max-width: 780px) { .opt { grid-template-columns: 1fr; gap: 0.8rem; padding: 1.6rem 1.5rem; } }
  .opt h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; }
  .opt p { font-size: 0.93rem; line-height: 1.7; color: var(--ink-mid); }
  .opt p + p { margin-top: 0.7rem; }
  .opt .verdict { display: block; margin-top: 0.6rem; font-family: var(--serif); font-style: italic; font-size: 1rem; color: var(--ink); }
  .opt.mine { background: var(--navy); border-color: var(--navy); }
  .opt.mine h3 { color: white; }
  .opt.mine p { color: rgba(255,255,255,0.85); }
  .opt.mine .verdict { color: var(--coral-light); }

  
  .nofait { max-width: 780px; margin: 2.6rem auto 0; text-align: left; display: flex; flex-direction: column; gap: 0.9rem; }
  .nofait li { list-style: none; padding-left: 1.7rem; position: relative; font-size: 1rem; line-height: 1.6; color: white; }
  .nofait li::before {
    content: '—'; position: absolute; left: 0; top: 0; color: rgba(255,255,255,0.75); font-weight: 700;
  }
  .nofait li b { font-weight: 700; }

  
  .price-note {
    margin-top: 3rem; padding: 1.4rem 1.6rem; border: 1px dashed var(--line); border-radius: 16px;
    font-size: 0.92rem; line-height: 1.65; color: var(--ink-soft);
  }
  .price-note b { color: var(--ink); font-weight: 600; }

  
  .credit-note {
    margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid var(--line);
    font-size: 0.95rem; line-height: 1.7; color: var(--ink-mid);
  }
  .credit-note b { color: var(--ink); font-weight: 600; }



  

  
  .hstats {
    position: relative; z-index: 2; max-width: 1300px; margin: 2.6rem auto 0; width: 100%;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;
    border-top: 1px solid var(--line); padding: 1.8rem 0 2rem;
  }
  @media (max-width: 860px) { .hstats { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; } }
  .hstat b {
    display: block; font-size: clamp(2.1rem, 4vw, 3.1rem); font-weight: 700;
    letter-spacing: -0.05em; line-height: 0.95; color: var(--coral); margin-bottom: 0.5rem;
  }
  .hstat span { font-size: 0.88rem; line-height: 1.4; color: var(--ink-soft); display: block; max-width: 22ch; }
  .hstat.promesse b { color: var(--ink); }
  .hstat.promesse span { color: var(--ink-mid); font-weight: 500; }

  
  #resultats .rcard:nth-child(4), #resultats .rcard:nth-child(5) { grid-column: span 2; }
  @media (max-width: 1000px) { #resultats .rcard, #resultats .rcard:nth-child(4), #resultats .rcard:nth-child(5) { grid-column: span 3; } }
  @media (max-width: 640px) { #resultats .rcard, #resultats .rcard:nth-child(4), #resultats .rcard:nth-child(5) { grid-column: span 6; } }
  .rcard .rsecteur {
    font-family: var(--serif); font-style: italic; font-size: 1rem;
    color: var(--ink-soft); margin-bottom: 1.4rem;
  }

  
  #outils { padding: 9rem 0; }
  .out-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; margin-top: 4rem; }
  @media (max-width: 1000px) { .out-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .out-grid { grid-template-columns: 1fr; } }
  .ocard { border: 1px solid var(--line); border-radius: 18px; padding: 1.8rem; background: white; display: flex; flex-direction: column; }
  .ocard .oc { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--coral-deep); margin-bottom: 1.4rem; }
  .olist { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.4rem; }
  .oitem { display: flex; align-items: center; gap: 0.7rem; }
  .oitem img { width: 22px; height: 22px; flex-shrink: 0; filter: brightness(0); opacity: 0.62; }
  .oitem span { font-size: 0.95rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
  .ocard p { font-size: 0.86rem; color: var(--ink-soft); line-height: 1.55; margin-top: auto; }

  
  .rgpd {
    margin-top: 2.5rem; background: var(--navy); color: white; border-radius: 22px;
    padding: 2.8rem; display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: start;
  }
  @media (max-width: 640px) { .rgpd { grid-template-columns: 1fr; } }
  .rgpd .lock {
    width: 52px; height: 52px; border-radius: 14px; background: rgba(232,86,58,0.18);
    display: flex; align-items: center; justify-content: center; color: var(--coral-light);
  }
  .rgpd h3 { font-size: 1.2rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 0.7rem; }
  .rgpd h3 b { color: var(--coral-light); }
  .rgpd p { font-size: 0.93rem; line-height: 1.7; color: rgba(255,255,255,0.85); }
  .rgpd p + p { margin-top: 0.8rem; }

  
  .ref {
    font-size: 0.62em; vertical-align: super; line-height: 0;
    margin-left: 0.15em; color: var(--coral-deep); font-weight: 700; text-decoration: none;
  }
  .ref:hover { text-decoration: underline; }
  .footnote:target { color: white; }

  
  .footnote {
    max-width: 1300px; margin: 0 auto; padding: 2.5rem 3rem 0;
    font-size: 0.78rem; line-height: 1.6; color: rgba(255,255,255,0.6);
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  @media (max-width: 768px) { .footnote { padding-left: 1.25rem; padding-right: 1.25rem; } }
  .footnote a { color: rgba(255,255,255,0.75); }

  
  .logo span.wm, .ft-brand .fn.wm { letter-spacing: 0.012em; }

  
  #domaines { background: transparent; padding: 0 0 5rem; }
  #domaines .wrap { border-top: 1px solid var(--line); padding-top: 2.4rem; }
  .dom-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
  @media (max-width: 860px) { .dom-grid { grid-template-columns: 1fr; gap: 1.8rem; } }
  .dom-item { display: flex; align-items: flex-start; gap: 0.85rem; }
  .dom-ic {
    flex-shrink: 0; width: 24px; height: 24px; color: var(--coral);
    display: flex; align-items: center; justify-content: center;
  }
  .dom-item h3 { font-size: 1.02rem; font-weight: 700; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 0.35rem; }
  .dom-item p { font-size: 0.88rem; line-height: 1.5; color: var(--ink-soft); }


  

  :root {
    --r-card: 20px;
    --r-panel: 24px;
    --shadow-card: 0 18px 44px -18px rgba(25,21,18,0.16);
    --shadow-lift: 0 26px 60px -20px rgba(25,21,18,0.20);
  }

  
  h1, h2, h3 { text-wrap: balance; }
  p, li { text-wrap: pretty; }

  
  #missions  { background: var(--bg); }
  #apropos   { background: var(--bg-warm); }
  #resultats { background: var(--bg); }
  #probleme  { background: var(--bg-warm); }
  #outils    { background: var(--bg); }
  #options   { background: var(--bg-warm); }
  #contact   { background: var(--bg); }

  
  @media (max-width: 768px) {
    #methode, #missions, #apropos, #probleme, #outils, #options, #contact { padding: 5.5rem 0; }
    #resultats { padding: 5rem 0 6rem; }
    #asperite { padding: 5.5rem 0; }
    #domaines { padding-bottom: 4rem; }
  }

  
  .pcard, .ocard, .opt { border-radius: var(--r-card); }
  .rcard, .form, .ap-quote, .rgpd, .ap-photo { border-radius: var(--r-panel); }
  .pcard:hover { box-shadow: var(--shadow-card); }
  .rcard:hover, .rcard:focus-within { box-shadow: var(--shadow-lift); }

  
  .js .rv { transform: translateY(22px); }

  
  .nav.scrolled { box-shadow: 0 10px 30px -18px rgba(25,21,18,0.18); }
  .nav-r { gap: 1.9rem; }
  .nav-r a { font-size: 0.9rem; position: relative; padding: 0.25rem 0; }
  .nav-r a::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 2px;
    background: var(--coral); transform: scaleX(0); transform-origin: left;
    transition: transform 0.3s var(--ease);
  }
  .nav-r a:hover::after, .nav-r a.active::after { transform: scaleX(1); }
  .nav-r a.active { color: var(--ink); }
  
  .nav-cta { display: flex; align-items: center; gap: 1rem; }
  .nav .pill {
    color: var(--bg); background: var(--ink); padding: 0.55rem 1.3rem; border-radius: 100px;
    font-size: 0.85rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: background 0.3s, transform 0.3s;
  }
  .nav .pill:hover { background: var(--coral-dark); color: white; transform: translateY(-1px); }
  @media (max-width: 420px) { .nav .pill { padding: 0.5rem 0.95rem; font-size: 0.8rem; } }

  
  .hero-sub { font-size: 1.1rem; }
  .hero-below { gap: 2.5rem; }
  .hstat + .hstat { border-left: 1px solid var(--line); padding-left: 1.5rem; }
  @media (max-width: 860px) {
    .hstat + .hstat { border-left: 0; padding-left: 0; }
    .hstat:nth-child(2n) { border-left: 1px solid var(--line); padding-left: 1.25rem; }
  }

  
  .dom-item { gap: 1.1rem; }
  .dom-ic {
    width: 42px; height: 42px; border-radius: 12px;
    background: rgba(232,86,58,0.10); color: var(--coral-deep);
    transition: background 0.3s, color 0.3s, transform 0.3s var(--ease);
  }
  .dom-item:hover .dom-ic { background: var(--coral-dark); color: white; transform: translateY(-2px); }
  .dom-item h3 { font-size: 1.05rem; }

  
  .mstep { position: relative; grid-template-columns: 3.4rem 1fr; gap: 1.4rem; }
  .mstep-n {
    position: relative; z-index: 1;
    width: 3rem; height: 3rem; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; background: rgba(240,120,95,0.12); border: 1px solid rgba(240,120,95,0.35);
    transition: background 0.4s, border-color 0.4s;
  }
  .mstep.lit .mstep-n { background: var(--coral-dark); border-color: var(--coral-dark); color: white; }
  .mstep::before {
    content: ''; position: absolute; left: calc(1.5rem - 0.5px); top: 3rem; bottom: -2.2rem; width: 1px;
    background: linear-gradient(180deg, rgba(240,120,95,0.45), rgba(255,255,255,0.06));
  }
  .mstep:first-child::before { top: 3rem; }
  .mstep:nth-last-child(2)::before { display: none; }
  .mstep { border-bottom: 0; padding: 1.6rem 0; }
  .mstep:first-child { padding-top: 0; }

  
  .svc { padding: 3rem 1.4rem; margin: 0 -1.4rem; border-radius: var(--r-card); border-bottom: 0; position: relative; }
  .svc::after { content: ''; position: absolute; left: 1.4rem; right: 1.4rem; bottom: 0; height: 1px; background: var(--line); }
  .svc:last-child::after { display: none; }
  .svc:hover { background: rgba(255,255,255,0.55); }
  .svc-n { transition: transform 0.35s var(--ease); }
  .svc:hover .svc-n { transform: translateX(4px); }
  @media (max-width: 860px) { .svc { padding: 2.2rem 1rem; margin: 0 -1rem; } .svc::after { left: 1rem; right: 1rem; } }

  
  .rcard .rhint {
    padding: 0.55rem 1rem; border: 1px solid var(--line); border-radius: 100px; color: var(--ink-mid);
    transition: color 0.3s, border-color 0.3s, background 0.3s;
  }
  .rcard .rhint:hover, .rcard.open .rhint, .rcard:hover .rhint {
    border-color: var(--coral-deep); color: var(--coral-deep); background: rgba(232,86,58,0.06);
  }
  .rcard .rhint:focus-visible { outline-offset: 2px; }

  
  .opt { transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); }
  .opt:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
  .opt h3 { padding-left: 1rem; border-left: 3px solid var(--line); }
  .opt.mine h3 { border-left-color: var(--coral-light); }
  @media (max-width: 780px) { .opt h3 { padding-left: 0; border-left: 0; } }

  
  .ocard { transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); }
  .ocard:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
  .oitem { padding: 0.3rem 0; }

  
  .fd input, .fd textarea { padding: 0.9rem 1.05rem; }
  .fd input:focus, .fd textarea:focus { box-shadow: 0 0 0 4px rgba(232,86,58,0.12); }
  @media (max-width: 520px) { .form .btn-main { width: 100%; justify-content: center; align-self: stretch !important; } }

  
  .ftc a:hover { text-decoration: underline; text-underline-offset: 3px; }

  
  @media (prefers-reduced-motion: reduce) { .mstep-n { transition: none; } }


:root{--coral:#ff643d;--coral-dark:#c43b1c;--coral-deep:#b53619;--coral-light:#ff936e;--navy:#171b1d;--navy-deep:#101314;--bg:#f8f8f4;--bg-warm:#eeefea;--ink:#171b1d;--ink-mid:#404648;--ink-soft:#5b6263;--line:rgba(23,27,29,.16);--r-card:4px;--r-panel:6px}
.wrap{max-width:1440px;padding-left:5vw;padding-right:5vw}
.nav,.nav.scrolled{padding:1.05rem 3vw;background:rgba(18,22,24,.94);color:#fff;border-bottom:1px solid #ffffff24;backdrop-filter:blur(20px)}
.logo span{font-size:1.2rem}.logo span em{color:#ff936e}.logo svg{width:34px}
.nav-r a,.nav-r a.active,.nav-r a:hover{color:#eee}.nav .pill{background:#ff643d;color:#15191a;padding:.85rem 1.35rem;border-radius:4px}.nav .pill:hover{background:#ff936e;color:#171b1d}.burger span{background:#fff}
#hero{background:#171b1d;color:#fff;padding:10rem 5vw 0;min-height:900px;overflow:hidden;isolation:isolate;justify-content:flex-start}
#dotCanvas{opacity:.16}
.hero-inner{max-width:1296px}.hero-kicker{color:#c8cdcb;font-size:.8rem;letter-spacing:.12em;margin-bottom:2.6rem}
.hero-h1{font-size:clamp(3.5rem,7.55vw,7.2rem);line-height:1.01;letter-spacing:-.065em;max-width:13ch;text-wrap:initial}
.hero-h1 .hum{color:#ff936e;font-weight:400;letter-spacing:-.06em}
.hero-below{display:block;margin-top:2rem;max-width:610px}.hero-sub{color:#c5cac7;font-size:1.05rem;max-width:43ch}.hero-sub strong{color:#fff;font-weight:500}
.hero-ctas{margin-top:1.8rem;gap:1.1rem;align-items:center}.btn-main{border-radius:4px;padding:1.1rem 1.5rem}.hero-ctas .btn-main{background:#ff643d;color:#171b1d}.hero-ctas .link-under{color:#eee;font-size:.85rem;border-color:#ffffff55}
.hero-art{position:absolute;z-index:0;right:5vw;top:12rem;width:31vw;max-width:445px;height:480px;transform:rotate(4deg);border:1px solid #ff936e55;background:#ff643d;border-radius:180px 180px 6px 6px;overflow:hidden;box-shadow:24px 24px 0 #ffffff05}
.hero-art:before{content:'';position:absolute;width:90%;aspect-ratio:1;border:1px solid #171b1d44;border-radius:50%;top:14%;left:5%}
.hero-art.ap-photo img{height:100%;max-width:none;width:auto;filter:grayscale(1) contrast(1.04);transform:rotate(-4deg) scale(1.1);transform-origin:bottom center}
.hstats{max-width:1296px;margin:4rem auto 0;padding:2rem 0 2.5rem;border-color:#ffffff26;gap:1.5rem}.hstat+.hstat{border-color:#ffffff26}.hstat b{font-size:3rem;color:#f8f8f4;font-weight:500}.hstat span,.hstat.promesse span{color:#bec4c0}.hstat.promesse b{color:#ff936e}
#domaines{padding:3rem 0;background:#ff643d}#domaines .wrap{border:0;padding-top:0}.dom-grid{gap:3rem}.dom-item{flex-direction:column;gap:1rem}.dom-item p{font-size:1rem;color:#232729}.dom-item h3{font-size:1.25rem;max-width:24ch}.dom-ic{border:1px solid #171b1d55;background:none;color:#171b1d;border-radius:50%;width:44px;height:44px}
#methode{background:#f8f8f4;padding:8rem 0}.met-grid{gap:7vw;grid-template-columns:1fr 1fr}#methode .kicker{color:var(--coral-deep)}#methode .h2{color:var(--ink)}#methode .lead{color:var(--ink-soft)}
.h2{font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.06;letter-spacing:-.05em}.h2 .hum{color:var(--coral-deep)}.kicker{font-size:.8rem;letter-spacing:.14em}.lead{font-size:1.1rem}
.mstep{opacity:1;gap:1.5rem;padding:1.7rem 0}.mstep h3{color:var(--ink);font-size:1.2rem}.mstep p{color:var(--ink-mid);font-size:1rem}.mstep-n{background:#fff;border-color:#c5c9c4;color:var(--ink);font-family:var(--sans);font-style:normal}.mstep::before{background:#c5c9c4}.mstep.lit .mstep-n{background:#ff643d;color:#171b1d;border-color:#ff643d}
#missions{background:#e9ebe5}.svc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;border:0}.svc{display:flex;flex-direction:column;margin:0;padding:2.3rem;gap:1.5rem;background:#f8f8f4;border-radius:5px;border-top:3px solid #171b1d}.svc:first-child{background:#171b1d;color:#fff;border-color:#ff643d}.svc:after{display:none}.svc h3{font-size:1.8rem}.svc-n{font-size:2.5rem}.svc-d,.svc-d .ex{font-size:1rem}.svc:first-child .svc-d,.svc:first-child .svc-for{color:#cdd2ce}.svc:first-child .svc-d .ex,.svc:first-child .svc-d .ex b{color:#e7eae5}.svc:first-child .svc-n{color:#ff936e}.svc:first-child:hover{background:#202629}.svc-for{font-size:1.1rem!important}.price-note{border:0;border-top:1px solid var(--line);border-radius:0;padding:1.5rem 0;font-size:1rem}
#apropos{background:#f8f8f4}.ap-grid{gap:8vw;grid-template-columns:1.1fr .9fr}.ap-txt h3{font-size:1.7rem}.ap-txt p{font-size:1rem}.ap-photo{border-radius:180px 180px 4px 4px;background:#ff643d;border:0;box-shadow:none}.ap-photo img{filter:grayscale(1)}.ap-quote{border-left:5px solid #ff643d;border-radius:0;font-size:1.4rem}.ap-portrait{position:sticky;top:7rem}.ap-portrait figcaption span{font-size:.8rem}
#resultats{background:#171b1d;color:white}#resultats .kicker,#resultats .h2 .hum{color:#ff936e}.res-grid{gap:1px;background:#ffffff22;border:1px solid #ffffff22}.rcard{border:0!important;border-radius:0;background:#202527;padding:2.2rem;box-shadow:none!important}.rcard:hover{transform:none;background:#293033}.rcard .rnum{color:#ff936e;font-size:5.5rem;font-weight:500;margin:1rem 0 1.5rem}.rcard .rwhat{color:#fff;font-size:1.1rem}.rcard .rsecteur{color:#bec6c1;font-family:var(--sans);font-style:normal;font-size:.85rem}.rcard .rhint{color:#e5e9e5;border-color:#ffffff44;font-size:.875rem;margin-top:2rem}.rcard .rhint:hover,.rcard.open .rhint,.rcard:hover .rhint{color:#ffad8d;border-color:#ff936e;background:transparent}.rdetail-in{border-color:#ffffff33}.rdetail-in p,.rdetail-in li{color:#d2d8d4;font-size:1rem}.rdetail-in .rl{color:#ffad8d;font-size:.8rem}.conf-l{color:#d2d8d4;font-size:.875rem}.mq-t img{filter:brightness(0) invert(1);opacity:.7}
#probleme{background:#eeefea}.pcard{border-radius:4px;border:0;border-left:3px solid #ff643d}.pcard p{font-size:1rem}.pcard h3{font-size:1.2rem}#asperite{background:#c43b1c}.asp-t{font-size:clamp(2rem,4.4vw,4.2rem)}.nofait li{font-size:1.1rem}.asp-k{font-size:.85rem}.asp-in{max-width:1100px}
#outils{background:#f8f8f4}.ocard{border-radius:4px;box-shadow:none}.ocard .oc{font-size:.8rem}.ocard p{font-size:1rem}.rgpd{border-radius:4px}
#options{background:#eeefea}.opt{border-radius:4px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:2.5rem 0}.opt h3{font-size:1.3rem}.opt p{font-size:1rem}.opt .verdict{font-size:1.15rem}.opt.mine{padding:2.5rem;background:#171b1d}.opt.mine .verdict{color:#ffad8d}
#contact{background:#ff643d}.ct-grid{gap:7vw}#contact .h2 .hum,#contact .kicker{color:#171b1d}.ct-info p{color:#24292a}.form{border-radius:5px;background:#f8f8f4;border:0;box-shadow:15px 15px 0 #171b1d17}.fd label{font-size:.9rem}.fd input,.fd textarea{border-radius:3px;background:#fff;font-size:1rem}.form .btn-main{background:#171b1d;color:#fff}.ft-brand .bt,.ft-brand p,.ftc a{color:#c1c9c5}.ftc h3{font-size:.85rem}.footnote{font-size:.8rem}
@media(min-width:1600px){.hero-art{right:calc((100vw - 1296px)/2)}}
@media(max-width:1100px){.nav-r{gap:1rem}.nav-r a{font-size:.8rem}.hero-h1{font-size:7.5vw}.hero-art{width:31vw;height:410px;top:12rem}.hero-below{max-width:57%}.hero-ctas{flex-direction:column;align-items:flex-start}.svc{padding:1.6rem}.svc h3{font-size:1.5rem}.hstat b{font-size:2.6rem}}
@media(max-width:860px){#hero{padding:8rem 5vw 0;min-height:0}.hero-h1{font-size:10vw;max-width:13ch}.hero-art{width:29vw;height:320px;top:10rem;right:4vw;opacity:.9}.hero-below{max-width:65%}.hero-ctas{gap:1.2rem}.hstats{margin-top:3rem;grid-template-columns:repeat(2,1fr);gap:1.8rem}.hstat b{font-size:2.7rem}.hstat:nth-child(2n){border-color:#ffffff26}.met-grid,.ap-grid{grid-template-columns:1fr}.svc-list{grid-template-columns:1fr}.svc{padding:2rem;gap:1rem}.svc h3{font-size:1.9rem}.ap-portrait{position:static}.dom-item{flex-direction:row}.dom-grid{gap:2rem}.ct-grid{grid-template-columns:1fr}.opt.mine{padding:1.7rem}.ap-portrait{max-width:420px;width:100%}}
@media(max-width:560px){.nav,.nav.scrolled{padding:.9rem 5vw}.logo span{font-size:1rem}.logo svg{width:27px}.nav .pill{font-size:.8rem;padding:.7rem .8rem}.nav-cta{gap:.8rem}.hero-kicker{font-size:.7rem;letter-spacing:.06em;margin-bottom:1.9rem}.hero-h1{font-size:12.5vw;line-height:1.05;letter-spacing:-.065em}.hero-below{max-width:100%}.hero-sub{font-size:1rem}.hero-art{position:relative;top:auto;right:auto;width:76%;height:295px;max-width:310px;margin:2.5rem auto 0;order:2;transform:rotate(3deg)}.hero-inner{order:1}.hstats{order:3;margin-top:2.5rem}.hero-ctas{align-items:flex-start}.hstat b{font-size:2.35rem}.hstat span{font-size:.8rem}.h2{font-size:2.55rem}.wrap{padding-left:6vw;padding-right:6vw}.rcard .rnum{font-size:4.8rem}.form{padding:1.5rem}.dom-item h3{font-size:1.1rem}.ap-photo{border-radius:140px 140px 4px 4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1!important;transform:none!important}}


#hero{padding-top:9rem;min-height:0;background:#171b1d}
#dotCanvas{display:none}
.header-photo{position:absolute;inset:0 0 150px;z-index:0;overflow:hidden}
.header-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.header-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,23,.64),rgba(14,19,23,.24) 49%,transparent 68%),linear-gradient(0deg,#171b1d,transparent 18%)}
#hero .hero-inner{min-height:590px;padding-bottom:3rem}
#hero .hero-h1{font-size:clamp(3.5rem,6.8vw,6.5rem);max-width:13ch}
#hero .hero-below{max-width:55%}
#hero .hero-kicker{color:#e1e4e1}
#hero .hero-sub{color:#e1e4e1}
#hero .hstats{margin-top:0;background:#171b1d;padding-top:2rem;padding-bottom:2rem}
@media(min-width:1600px){.header-photo img{object-position:center 35%}}
@media(max-width:1100px){#hero .hero-inner{min-height:600px}#hero .hero-ctas{flex-direction:column;align-items:flex-start}.header-photo{bottom:175px}.header-photo img{object-position:60% center}}
@media(max-width:860px){#hero{padding-top:8rem}.header-photo{bottom:230px}.header-photo img{object-position:60% center}.header-photo:after{background:linear-gradient(90deg,rgba(14,19,23,.9),rgba(14,19,23,.5) 50%,rgba(14,19,23,.05)),linear-gradient(0deg,#171b1d,transparent 20%)}#hero .hero-h1{font-size:8.8vw}#hero .hero-below{max-width:65%}#hero .hero-inner{min-height:570px}}
@media(max-width:560px){#hero{padding-top:7rem}#hero .hero-inner{min-height:0;padding-bottom:0}#hero .hero-h1{font-size:12.5vw}#hero .hero-below{max-width:100%}.header-photo{position:relative;inset:auto;order:2;width:calc(100% + 10vw);height:340px;margin:2rem -5vw 0;flex:none}.header-photo img{object-fit:cover;object-position:right center}.header-photo:after{background:linear-gradient(0deg,#171b1d,transparent 16%),linear-gradient(180deg,#171b1d,transparent 12%)}#hero .hstats{margin-top:0;order:3}#hero .hero-kicker{font-size:.7rem}}
@media(max-width:360px){.header-photo{height:290px}}



@media (min-width:561px) {
  #hero .header-photo { top:92px; }
  #hero .header-photo img { object-position:60% top; }
}
@media (min-width:1101px) {
  #hero .header-photo img { object-position:center top; }
}

/* Content remains readable if scripts fail or are disabled. */
.js .rv,.js .rv.in{opacity:1;transform:none}
.rdetail{grid-template-rows:1fr}.rdetail>div{visibility:visible}
.enhanced .rdetail{grid-template-rows:0fr}.enhanced .rdetail>div{visibility:hidden}
.enhanced .rcard.open .rdetail{grid-template-rows:1fr}.enhanced .rcard.open .rdetail>div{visibility:visible}
.burger{min-width:44px;min-height:44px;align-items:center;justify-content:center}.nav-r a{padding-block:.6rem}
.privacy-note{font-size:.875rem;line-height:1.6;color:var(--ink-mid)}.privacy-note a{color:var(--ink);text-underline-offset:3px}
.form button:disabled{opacity:.65;cursor:wait}.form-status-error{color:#a52811!important}
.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:561px){#hero .header-photo{top:max(92px,var(--nav-height,92px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mq-t{animation:none}.mq{overflow-x:auto}}
@media print{.nav,.mmenu,.hero-ctas,.met-cta,.form,.header-photo,#dotCanvas{display:none!important}#hero{padding-top:1rem}section{break-inside:auto}.rdetail{grid-template-rows:1fr!important}.rdetail>div{visibility:visible!important}.rv{opacity:1!important}}

/* Avant / après visibles dans les six cas clients. */
.case-comparison{display:grid;gap:1rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid #ffffff33}
.case-comparison>div{padding-left:1rem;border-left:2px solid #87948c}
.case-comparison>div+div{border-color:#ff936e}
.case-comparison span{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#bdc7c0;margin-bottom:.4rem}
.case-comparison>div+div span{color:#ffad8d}
.case-comparison p{font-size:.95rem;line-height:1.6;color:#e2e7e3;margin:0}

/* Cadrage large : conserver toute la scène, sans agrandissement par recadrage. */
#hero .hero-h1{font-size:clamp(2.7rem,4.4vw,4.4rem);max-width:min(58%,22ch);line-height:1.09;letter-spacing:-.05em;text-wrap:balance}
#hero .hero-h1 .hum{display:block}
#hero .hero-sub strong{font-weight:700}
@media(max-width:860px){#hero .hero-h1{max-width:22ch;font-size:clamp(2.35rem,6.2vw,4rem)}}
@media(max-width:560px){#hero .hero-h1{max-width:100%;font-size:clamp(2rem,8.2vw,2.8rem)}}
#hero .header-photo img{
  width:auto;max-width:100%;height:100%;margin-left:auto;
  object-fit:contain;object-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 4%,rgba(0,0,0,.65) 11%,#000 22%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 4%,rgba(0,0,0,.65) 11%,#000 22%);
}
@media(max-width:860px){
  #hero .hero-inner{order:1;min-height:0;padding-bottom:0}
  #hero .hero-below{max-width:100%}
  #hero .header-photo{position:relative;inset:auto;order:2;width:calc(100% + 10vw);height:auto;aspect-ratio:1672 / 941;margin:2rem -5vw 0;flex:none}
  #hero .header-photo img{width:100%;height:auto;object-position:center}
  #hero .header-photo:after{background:linear-gradient(0deg,#171b1d,transparent 8%),linear-gradient(180deg,#171b1d,transparent 8%)}
  #hero .hstats{order:3}
}

/* Cohérence de présentation — 8 octobre 2026.
   Deux fonds clairs alternés ; accents orange et panneaux anthracite. */
:root{--surface-light:#f8f8f4;--surface-muted:#eeefea;--surface-card:#fff;--section-space:clamp(4rem,8vw,8rem)}
::selection{background:#ff936e;color:#171b1d}
#missions,#methode,#outils{background:var(--surface-light)}
#probleme,#apropos,#options{background:var(--surface-muted)}
#missions,#probleme,#methode,#apropos,#resultats,#asperite,#outils,#options,#contact{padding-block:var(--section-space)}
#domaines{padding-block:clamp(2.5rem,4vw,3.5rem)}
#missions .svc:not(:first-child){background:var(--surface-card)}
#missions .svc:not(:first-child):hover{background:#fff}
#methode .mstep-n{color:var(--coral-deep);background:#fff;border-color:#c5c9c4}
#methode .mstep.lit .mstep-n{color:#171b1d;background:#ff936e;border-color:#ff936e}
#methode .mstep p{color:var(--ink-mid)}
.btn-main{background:#ff643d;color:#171b1d}
.btn-main:hover,.hero-ctas .btn-main:hover{background:#ff936e;color:#171b1d}
.form .btn-main{background:#171b1d;color:#fff}
.form .btn-main:hover{background:#30383b;color:#fff}
.form button:disabled{cursor:not-allowed}
.form[aria-busy="true"] button:disabled{cursor:wait}
.btn-main,.nav .pill,.rcard .rhint{min-height:44px}
.nav .pill{display:inline-flex;align-items:center;justify-content:center}
#methode :focus-visible{outline-color:var(--coral-deep)}
#hero :focus-visible,#nav :focus-visible,#resultats :focus-visible,.mmenu :focus-visible{outline-color:#ffad8d}
#contact :focus-visible{outline-color:#171b1d}
#contact .form :focus-visible{outline-color:var(--coral-deep)}
section[id],#source-stat{scroll-margin-top:max(6.5rem,var(--nav-height,6.5rem))}
.nav-r{gap:clamp(1rem,1.6vw,1.9rem)}
.nav-r a{white-space:nowrap}
.nav-r a.active{color:#ffad8d}
.mmenu{background:#171b1d;color:#f8f8f4;gap:clamp(.75rem,2.5vh,1.5rem);padding:5.5rem max(1.5rem,5vw) 2rem;overflow-y:auto}
.mmenu a{color:#f8f8f4;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.25;padding-block:.35rem}
.mmenu a:hover,.mmenu a.active,.mmenu a[href="#contact"]{color:#ffad8d}
.mmenu .x{color:#fff;min-width:44px;min-height:44px}
.mmenu[hidden]{display:none}
@media(max-width:1180px){#nav .nav-r{display:none}#nav .burger{display:flex}}
@media(min-width:1181px){#nav .nav-r{display:flex}#nav .burger{display:none}}
@media(max-height:650px){.mmenu{justify-content:flex-start}}
.svc-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.res-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.svc,.rcard,.ocard,.opt,.met-left,.met-steps,.ct-info,.form{min-width:0}
.ftc h3,.ft-btm p{color:#c1c9c5}
.fd input,.fd textarea{border-color:#818b8e}
.fd input::placeholder,.fd textarea::placeholder{color:#5b6263;opacity:1}
.met-left,.ap-portrait{top:max(7rem,var(--nav-height,7rem))}
@media(max-width:860px){
  .svc-list{grid-template-columns:minmax(0,1fr)}
  .met-grid,.prom-grid,.ap-grid,.ct-grid{gap:3rem}
  .res-grid,.svc-list,.prom-grid,.ap-grid,.out-grid,.opt-list{margin-top:2.5rem}
  .met-cta{align-self:stretch}
}
@media(max-width:560px){
  .pcard{padding:1.5rem;gap:1rem}
  .rcard{padding:1.6rem}
  .rgpd,.ap-quote{padding:1.7rem}
  .nav-cta{gap:.5rem}
  .hstat b{font-size:clamp(1.75rem,8vw,2.35rem);line-height:1.05}
}
@media(max-width:430px){
  #nav{padding:.8rem 4vw;gap:.5rem}
  #nav .logo{gap:.45rem}
  #nav .logo svg{width:25px;flex-shrink:0}
  #nav .logo span{font-size:.95rem}
  #nav .pill{font-size:.75rem;padding:.65rem .7rem}
}

.ft-contact{padding:20px 0;color:#d5d7d2;font-size:14px;line-height:1.9}.ft-contact a{color:inherit;text-decoration:underline;text-underline-offset:4px}.ft-contact a:hover{color:#fff}
