@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/fraunces-normal-latin-ext.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:700;font-display:swap;src:url('/fonts/fraunces-normal-latin.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:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/sourcesans3-italic-latin-ext-var.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:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/sourcesans3-italic-latin-var.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:'Source Sans 3';font-style:italic;font-weight:600;font-display:swap;src:url('/fonts/sourcesans3-italic-latin-ext-var.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:'Source Sans 3';font-style:italic;font-weight:600;font-display:swap;src:url('/fonts/sourcesans3-italic-latin-var.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:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-ext-var.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:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-var.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:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-ext-var.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:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-var.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:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-ext-var.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:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-var.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:'Source Sans 3';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-ext-var.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:'Source Sans 3';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/sourcesans3-normal-latin-var.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;}

  :root{
    --vert:#2E5E3E; --vert-fonce:#1E4029; --vert-vif:#3F8456; --vert-pale:#EDF5EF; --vert-brume:#F5FAF6;
    --sable:#E8DCC4; --sable-pale:#FAF6EE;
    --mer:#1E4E6B; --mer-pale:#E6EFF5;
    --or:#C7902B; --corail:#C4553F;
    --texte:#18211B; --gris:#5B6660; --trait:#E3E8E4; --blanc:#FFFFFF;
    --ombre:0 10px 30px -12px rgba(22,50,32,.18), 0 2px 6px rgba(22,50,32,.05);
    --ombre-appareil:0 40px 80px -30px rgba(22,50,32,.45), 0 14px 30px -18px rgba(22,50,32,.3);
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --blanc:#141A15; --vert-brume:#18201A; --vert-pale:#1C2A20; --sable-pale:#1D1F17; --mer-pale:#16232C;
      --texte:#EAF0EB; --gris:#A3AFA7; --trait:#2A352D;
      --vert:#6FB183; --vert-fonce:#A5D5B3; --vert-vif:#7FC393; --mer:#83B6D2;
    }
  }
  *{box-sizing:inherit;}
  html{scroll-behavior:smooth; scroll-padding-top:84px;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation:none !important; transition:none !important;} }
  body{margin:0; background:var(--blanc); color:var(--texte); font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,sans-serif; font-size:18.5px; line-height:1.6;}
  img{max-width:100%; display:block;}
  .conteneur{max-width:1200px; margin:0 auto; padding:0 24px;}
  a{color:var(--vert-vif);}
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--mer); outline-offset:3px;}
  .saut{position:absolute; left:-9999px;} .saut:focus{left:12px; top:12px; z-index:80; background:var(--vert); color:#fff; padding:10px 16px; border-radius:8px;}

  h1,h2,h3{font-family:'Source Sans 3',sans-serif; font-weight:800; line-height:1.08; margin:0 0 16px; letter-spacing:-.022em;}
  h1{font-size:clamp(40px,6.4vw,70px);}
  h2{font-size:clamp(30px,4.2vw,46px);}
  h3{font-size:clamp(24px,2.8vw,31px); font-weight:700;}
  p{margin:0 0 16px;}
  .chapeau{font-size:21px; color:var(--gris); max-width:58ch;}
  .surtitre{display:inline-block; font-weight:700; font-size:15.5px; color:var(--vert-vif); margin-bottom:14px;}

  .bouton{display:inline-flex; align-items:center; gap:10px; background:var(--vert); color:#fff; font-weight:700; font-size:18px;
    padding:16px 30px; border-radius:999px; text-decoration:none; border:2px solid var(--vert); transition:transform .15s ease, background .15s ease;}
  .bouton:hover{background:var(--vert-fonce); border-color:var(--vert-fonce); color:#fff; transform:translateY(-1px);}
  .bouton.contour{background:transparent; color:var(--vert-fonce); border-color:var(--vert-fonce);}
  .bouton.contour:hover{background:var(--vert-fonce); color:#fff;}
  .bouton.blanc{background:#fff; color:var(--vert-fonce); border-color:#fff;}
  .boutons{display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}

  /* ---------- En-tête ---------- */
  header{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--blanc) 92%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--trait); padding-top:env(safe-area-inset-top,0px);}
  header .conteneur{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:78px;}
  .logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--texte);}
  .logo-signe{width:36px; height:36px; border-radius:10px; background:var(--vert); display:grid; place-items:center;}
  .logo-mot{font-family:'Fraunces',serif; font-weight:700; font-size:21px; letter-spacing:-.01em;}
  nav.principale{display:flex; gap:28px; font-weight:600; font-size:17px;}
  nav.principale a{color:var(--texte); text-decoration:none;}
  nav.principale a:hover{color:var(--vert-vif);}
  header .bouton{padding:12px 22px; font-size:16.5px;}
  @media (max-width:1020px){ nav.principale{display:none;} }
  @media (max-width:520px){ header .bouton{padding:10px 16px; font-size:15px;} }

  section{padding:96px 0;}
  .fond-brume{background:var(--vert-brume);}
  .fond-sable{background:var(--sable-pale);}
  .fond-vert{background:var(--vert-fonce); color:#E6F2E9;}
  .fond-vert h2,.fond-vert h3{color:#fff;}
  .centre{text-align:center;} .centre .chapeau{margin-left:auto; margin-right:auto;}

  /* ---------- Appareils ---------- */
  .scene{position:relative; padding:10px 0 46px;}
  .portable{position:relative; background:#1E2621; border-radius:22px 22px 8px 8px; padding:14px 14px 0; box-shadow:var(--ombre-appareil);}
  .portable::after{content:""; display:block; height:18px; margin:0 -40px; background:linear-gradient(#C9CFCB,#9EA8A2); border-radius:0 0 18px 18px; position:relative; top:0;}
  .portable .vitre{background:var(--blanc); border-radius:8px 8px 0 0; overflow:hidden; aspect-ratio:16/10;}
  .telephone{position:absolute; right:-10px; bottom:0; width:31%; min-width:150px; background:#1E2621; border-radius:30px; padding:9px; box-shadow:var(--ombre-appareil);}
  .telephone .vitre{background:var(--blanc); border-radius:23px; overflow:hidden; aspect-ratio:9/18;}
  @media (max-width:560px){ .telephone{width:38%; right:-4px;} }

  /* contenu dessiné des écrans (à remplacer par les captures) */
  .ecran-contenu{height:100%; display:flex; flex-direction:column; font-size:11.5px; color:var(--texte);}
  .app-barre{background:var(--vert); color:#fff; padding:8px 12px; display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:11.5px;}
  .app-onglets{display:flex; gap:12px; padding:7px 12px; border-bottom:1px solid var(--trait); color:var(--gris); font-size:10.5px;}
  .app-onglets b{color:var(--vert); border-bottom:2px solid var(--vert); padding-bottom:5px;}
  .app-corps{flex:1; padding:10px 12px; overflow:hidden;}
  .grille-jours{display:grid; grid-template-columns:78px repeat(12,1fr); gap:3px; align-items:center;}
  .grille-jours .j{text-align:center; color:var(--gris); font-size:9.5px;}
  .grille-jours .h{font-weight:600; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .grille-jours .v{background:var(--vert-brume); border-radius:3px; height:20px;}
  .s{height:20px; border-radius:4px; color:#fff; font-size:9.5px; font-weight:700; padding:0 6px; display:flex; align-items:center; white-space:nowrap; overflow:hidden;}
  .s1{background:var(--vert);} .s2{background:var(--mer);} .s3{background:var(--or);} .s4{background:var(--vert-vif);}
  .mini-titre{font-weight:700; font-size:12px; margin:2px 0 8px;}
  .mini-carte{border:1px solid var(--trait); border-radius:10px; padding:8px 10px; margin-bottom:7px; background:var(--blanc);}
  .mini-carte small{display:block; color:var(--gris); font-size:9.5px;}
  .mini-carte b{font-size:15px;}
  .ligne-doc{display:flex; justify-content:space-between; padding:5px 0; border-bottom:1px dotted var(--trait);}
  .total-doc{display:flex; justify-content:space-between; padding-top:7px; font-weight:800; color:var(--vert-fonce);}

  /* ---------- Ouverture ---------- */
  .ouverture{padding:78px 0 96px; background:radial-gradient(1200px 520px at 85% 10%, var(--vert-pale), transparent 70%);}
  .ouverture .conteneur{display:grid; grid-template-columns:1fr 1.08fr; gap:56px; align-items:center;}
  @media (max-width:980px){ .ouverture .conteneur{grid-template-columns:1fr; gap:48px;} }
  .garanties{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:28px; color:var(--gris); font-size:16px; font-weight:600;}
  .garanties span::before{content:"✓"; color:var(--vert-vif); margin-right:7px; font-weight:800;}

  /* ---------- Histoire ---------- */
  .histoire{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
  @media (max-width:900px){ .histoire{grid-template-columns:1fr; gap:38px;} }
  .citation{background:var(--blanc); border-radius:22px; padding:36px 34px; box-shadow:var(--ombre); position:relative;}
  .citation p{font-size:22px; line-height:1.5; font-weight:600; margin-bottom:22px;}
  .citation .signature{display:flex; align-items:center; gap:14px;}
  .avatar{width:54px; height:54px; border-radius:50%; background:var(--vert-pale); display:grid; place-items:center; font-weight:800; color:var(--vert-fonce); font-size:20px;}
  .signature b{display:block;} .signature span{color:var(--gris); font-size:16px;}

  /* ---------- Bandeau d'engagements ---------- */
  .bandeau{border-top:1px solid var(--trait); border-bottom:1px solid var(--trait); padding:30px 0; overflow:hidden;}
  .bandeau .conteneur{display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px 30px;}
  .engagement{display:flex; align-items:center; gap:11px; font-weight:700; font-size:17px; color:var(--texte);}
  .engagement i{font-style:normal; width:40px; height:40px; border-radius:12px; background:var(--vert-pale); display:grid; place-items:center; color:var(--vert-fonce); font-size:18px;}

  /* ---------- Fonctions alternées ---------- */
  .fonction{display:grid; grid-template-columns:1fr 1.1fr; gap:70px; align-items:center; margin-top:96px;}
  .fonction:first-of-type{margin-top:56px;}
  .fonction.inverse .texte{order:2;}
  @media (max-width:980px){ .fonction{grid-template-columns:1fr; gap:38px; margin-top:72px;} .fonction.inverse .texte{order:0;} }
  .fonction .texte p{font-size:19px; color:var(--gris);}
  .puces{list-style:none; padding:0; margin:18px 0 0;}
  .puces li{position:relative; padding:6px 0 6px 32px; font-size:17.5px;}
  .puces li::before{content:""; position:absolute; left:0; top:12px; width:20px; height:20px; border-radius:50%; background:var(--vert-pale);}
  .puces li::after{content:"✓"; position:absolute; left:5px; top:6px; color:var(--vert-vif); font-weight:800; font-size:14px;}
  .panneau{background:var(--blanc); border-radius:22px; box-shadow:var(--ombre-appareil); overflow:hidden; border:1px solid var(--trait);}

  /* ---------- Par métier ---------- */
  .metiers{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px;}
  @media (max-width:940px){ .metiers{grid-template-columns:1fr;} }
  .metier{background:var(--blanc); border-radius:22px; padding:32px 28px; box-shadow:var(--ombre); border:1px solid var(--trait);}
  .metier .pastille{width:52px; height:52px; border-radius:16px; display:grid; place-items:center; font-size:24px; margin-bottom:18px;}
  .metier h3{font-size:24px;}
  .metier .puces li{font-size:17px;}

  /* ---------- Refus ---------- */
  .duel{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:44px;}
  @media (max-width:760px){ .duel{grid-template-columns:1fr;} }
  .poste{background:var(--blanc); border-radius:20px; padding:26px; box-shadow:var(--ombre); border:1px solid var(--trait);}
  .poste .qui{font-size:15px; color:var(--gris); margin-bottom:14px; font-weight:600;}
  .issue{border-radius:14px; padding:18px 20px;}
  .issue.oui{background:var(--vert-pale);} .issue.non{background:#FBE9E5;}
  .issue b{display:block; font-size:18.5px; margin-bottom:5px;}
  .issue.oui b{color:var(--vert-fonce);} .issue.non b{color:var(--corail);}
  .issue p{margin:0; font-size:16.5px; color:var(--gris);}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .issue.non{background:#3A2320;} }

  /* ---------- Engagement local ---------- */
  .local{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;}
  @media (max-width:900px){ .local{grid-template-columns:1fr; gap:34px;} }
  .local .chapeau{color:#CFE4D5;}
  .cases{display:grid; gap:14px;}
  .case{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:20px 22px; display:flex; gap:16px; align-items:flex-start;}
  .case i{font-style:normal; font-size:22px;}
  .case b{display:block; color:#fff; font-size:18.5px;}
  .case span{color:#CFE4D5; font-size:16.5px;}

  /* ---------- Prix ---------- */
  .prix{display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:900px; margin:44px auto 0;}
  @media (max-width:760px){ .prix{grid-template-columns:1fr;} }
  .tarif{background:var(--blanc); border-radius:24px; padding:34px 30px; box-shadow:var(--ombre); border:2px solid var(--trait);}
  .tarif.fort{border-color:var(--vert);}
  .montant{font-size:52px; font-weight:800; letter-spacing:-.03em; color:var(--vert-fonce); line-height:1; margin:10px 0 4px;}
  .montant small{font-size:19px; font-weight:600; color:var(--gris); letter-spacing:0;}
  .detail{color:var(--gris); font-size:16px; margin-bottom:18px;}
  .montant-audit{font-size:38px;}
  .note-prix{max-width:900px; margin:26px auto 0; color:var(--gris); font-size:16.5px; text-align:center;}

  /* ---------- Démonstration ---------- */
  .demo{display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:start;}
  @media (max-width:960px){ .demo{grid-template-columns:1fr; gap:36px;} }
  .suite{list-style:none; counter-reset:e; padding:0; margin:28px 0 0;}
  .suite li{counter-increment:e; position:relative; padding:0 0 22px 60px;}
  .suite li::before{content:counter(e); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; background:var(--vert); color:#fff; display:grid; place-items:center; font-weight:800;}
  .suite b{display:block; font-size:19px;}
  .suite span{color:var(--gris); font-size:16.5px;}
  form{background:var(--blanc); border-radius:24px; padding:34px 30px; box-shadow:var(--ombre-appareil); border:1px solid var(--trait);}
  .deux{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
  @media (max-width:520px){ .deux{grid-template-columns:1fr;} }
  label{display:block; font-weight:600; font-size:16px; margin:14px 0 6px;}
  input,select,textarea{width:100%; font-family:inherit; font-size:17.5px; padding:13px 15px; border:1.5px solid var(--trait); border-radius:12px; background:var(--vert-brume); color:var(--texte);}
  input:focus,select:focus,textarea:focus{border-color:var(--vert); background:var(--blanc); outline:none;}
  textarea{min-height:96px; resize:vertical;}
  .piege{position:absolute; left:-9999px;}
  .accord{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--gris); margin-top:16px; font-weight:400;}
  .accord input{width:auto; margin-top:4px;}
  form .bouton{width:100%; justify-content:center; margin-top:20px;}
  .apres-envoi{font-size:15px; color:var(--gris); text-align:center; margin-top:12px;}

  /* ---------- Questions ---------- */
  .questions{max-width:860px; margin:44px auto 0;}
  details{background:var(--blanc); border:1px solid var(--trait); border-radius:18px; margin-bottom:14px; box-shadow:var(--ombre);}
  summary{cursor:pointer; list-style:none; padding:22px 60px 22px 26px; font-weight:700; font-size:19.5px; position:relative;}
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; background:var(--vert-pale); color:var(--vert-fonce); display:grid; place-items:center; font-size:21px; font-weight:700;}
  details[open] summary::after{content:"–";}
  .reponse{padding:0 26px 24px; color:var(--gris); font-size:17.5px;}
  .reponse p:last-child{margin-bottom:0;}
  .reponse ul{margin:8px 0 14px; padding-left:22px;}
  .reponse li{margin-bottom:6px;}

  /* ---------- Appel final + pied ---------- */
  .final{background:var(--vert); color:#fff; border-radius:30px; padding:62px 40px; text-align:center;}
  .final h2{color:#fff;} .final p{color:#DCEDE1; font-size:20px;}
  footer{padding:70px 0 34px; border-top:1px solid var(--trait); margin-top:96px;}
  .pied{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px;}
  @media (max-width:900px){ .pied{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .pied{grid-template-columns:1fr;} }
  .pied h4{font-size:16px; margin:0 0 14px; text-transform:none; letter-spacing:0;}
  .pied ul{list-style:none; padding:0; margin:0;}
  .pied li{margin-bottom:9px; font-size:16.5px;}
  .pied a{color:var(--gris); text-decoration:none;} .pied a:hover{color:var(--vert-vif);}
  .mentions{margin-top:44px; padding-top:22px; border-top:1px solid var(--trait); color:var(--gris); font-size:15px;}

  /* ---------- Animations au défilement ---------- */
  .barre-progression{position:fixed; top:0; left:0; right:0; height:3px; background:var(--vert-vif);
    transform-origin:0 50%; transform:scaleX(0); z-index:90; pointer-events:none;}
  header{transition:box-shadow .3s ease;}
  header.defile{box-shadow:0 8px 24px -14px rgba(22,50,32,.4);}

  .js .apparait{opacity:0; transform:translateY(32px);
    transition:opacity .8s ease, transform .8s cubic-bezier(.2,.75,.2,1);}
  .js .apparait.depuis-gauche{transform:translateX(-48px);}
  .js .apparait.depuis-droite{transform:translateX(48px);}
  .js .apparait.visible{opacity:1; transform:none;}

  /* Le planning se remplit à l'ouverture de la page */
  .js .ouverture .s{transform:scaleX(0); transform-origin:left center;}
  .js .ouverture.lance .s{animation:remplir .85s cubic-bezier(.2,.75,.2,1) forwards;}
  @keyframes remplir{to{transform:scaleX(1);}}

  /* Le refus de la double réservation tremble une fois */
  .issue.secoue{animation:secoue .55s ease 1;}
  @keyframes secoue{
    0%,100%{transform:translateX(0);} 18%{transform:translateX(-7px);} 36%{transform:translateX(7px);}
    54%{transform:translateX(-4px);} 72%{transform:translateX(4px);}
  }
  .telephone{will-change:transform;}

  @media (prefers-reduced-motion: reduce){
    .js .apparait{opacity:1 !important; transform:none !important;}
    .js .ouverture .s{transform:none !important; animation:none !important;}
    .barre-progression{display:none;}
  }

  /* ---------- Captures réelles ---------- */
  .vitre img.capture{width:100%; height:100%; object-fit:cover; object-position:left top;}
  .panneau img.capture{width:100%; height:auto;}
  .photo-cahier{margin:8px 0 26px;}
  .photo-cahier img{width:100%; height:auto; border-radius:18px; box-shadow:var(--ombre-appareil); transform:rotate(-1.2deg);}
  .photo-cahier figcaption{margin-top:14px; color:var(--gris); font-size:15.5px; font-style:italic;}
  .valeur{border-left:3px solid var(--vert-vif); padding:4px 0 4px 20px; margin-top:26px; font-size:19.5px; line-height:1.55; color:var(--texte);}
  .valeur strong{color:var(--vert-fonce);}
  figure.valeur{margin:26px 0 0; border-left:3px solid var(--vert-vif); padding:4px 0 4px 20px;}
  figure.valeur blockquote,.citation blockquote{margin:0;}
  figure.valeur p{font-style:italic; font-size:19.5px; line-height:1.55; color:var(--texte); margin:0 0 10px;}
  figure.valeur figcaption{font-size:15.5px; color:var(--gris);}
  .citation blockquote p{font-style:italic;}

  /* ---------- Pages intérieures ---------- */
  .page-texte{max-width:800px; margin:0 auto; padding:72px 24px 56px;}
  .page-texte h1{font-size:clamp(34px,5vw,50px); margin-bottom:12px;}
  .page-texte .mise-a-jour{color:var(--gris); font-size:15.5px; margin-bottom:38px;}
  .page-texte h2{font-size:clamp(23px,3vw,28px); margin:40px 0 12px;}
  .page-texte p,.page-texte li{font-size:18px; color:var(--texte);}
  .page-texte ul{padding-left:22px; margin:0 0 16px;}
  .page-texte li{margin-bottom:7px;}
  .page-texte .fiche{background:var(--vert-brume); border:1px solid var(--trait); border-radius:18px; padding:22px 24px; margin:14px 0 8px;}
  .page-texte .fiche p{margin:0 0 6px;} .page-texte .fiche p:last-child{margin:0;}
  .page-centree{max-width:720px; margin:0 auto; padding:110px 24px 90px; text-align:center;}
  .page-centree .grand-signe{font-size:64px; line-height:1; margin-bottom:20px;}
  .page-centree .boutons{justify-content:center;}

  /* ---------- Démo en ligne ---------- */
  .visites{display:grid; grid-template-columns:repeat(auto-fill,minmax(262px,1fr)); gap:22px; margin-top:46px;}
  .visite{background:var(--blanc); border:1px solid var(--trait); border-radius:22px; padding:26px 24px 24px; box-shadow:var(--ombre);
    display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;}
  .visite:hover{transform:translateY(-3px); box-shadow:var(--ombre-appareil);}
  .visite .signe{font-size:34px; line-height:1; margin-bottom:14px;}
  .visite h3{font-size:22px; margin-bottom:8px;}
  .visite p{color:var(--gris); font-size:17px; flex:1;}
  .visite .reserve{display:inline-block; align-self:flex-start; font-size:13.5px; font-weight:700; color:var(--mer);
    background:var(--mer-pale); border-radius:999px; padding:4px 12px; margin-bottom:12px;}
  .visite .bouton{align-self:flex-start; padding:12px 22px; font-size:16.5px; margin-top:6px;}
  .avertissement-demo{display:flex; gap:16px; align-items:flex-start; background:var(--sable-pale); border:1px solid var(--trait);
    border-radius:20px; padding:22px 24px; margin-top:34px; text-align:left;}
  .avertissement-demo i{font-style:normal; font-size:26px;}
  .avertissement-demo p{margin:0; color:var(--texte); font-size:17px;}
  header .actions{display:flex; gap:10px; align-items:center;}

  /* En-tête sur petit écran : deux boutons courts, logo sur une ligne */
  .logo-mot{white-space:nowrap;}
  .court{display:none;}
  @media (max-width:640px){
    .long{display:none;} .court{display:inline;}
    header .conteneur{gap:10px;}
    header .actions{gap:6px;}
    header .bouton{padding:9px 14px; font-size:14.5px;}
    .logo-mot{font-size:18px;}
  }
  header .bouton{white-space:nowrap;}
  @media (max-width:640px){ header .bouton{padding:8px 13px; font-size:14px;} }
  @media (max-width:430px){ .logo-signe{display:none;} header .conteneur{padding:0 16px;} }
  @media (max-width:370px){ .logo-mot{font-size:16px;} header .bouton{padding:7px 11px; font-size:13.5px;} }

  /* Le socle de l'ordinateur ne doit pas dépasser de l'écran sur téléphone */
  @media (max-width:640px){ .portable::after{margin:0 -14px;} }

  /* Ouverture : dire tout de suite ce que c'est */
  .titre-ouverture{font-size:clamp(34px,4.1vw,54px); line-height:1.06;}
  @media (min-width:981px){ .ouverture .conteneur{grid-template-columns:1.2fr 1fr; gap:44px;} }
  .ce-que-ca-fait{list-style:none; padding:0; margin:4px 0 0; display:flex; flex-wrap:wrap; gap:8px;}
  .ce-que-ca-fait li{background:var(--vert-pale); color:var(--vert-fonce); font-weight:600; font-size:16px;
    border-radius:999px; padding:7px 15px; white-space:nowrap;}

  /* Téléphone de l'ouverture : les quatre cartes restent visibles */
  .telephone .app-corps{padding:8px 9px;}
  .telephone .mini-carte{padding:6px 9px; margin-bottom:5px;}
  .telephone .mini-carte b{font-size:14px;}

  /* ---------- Surtitres : de vraies étiquettes, lisibles au premier regard ---------- */
  .surtitre{display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:17px; line-height:1.3;
    letter-spacing:.01em; color:var(--vert-fonce); background:var(--vert-pale);
    border:1px solid var(--trait); border:1px solid color-mix(in srgb, var(--vert) 25%, transparent);
    padding:8px 18px 8px 14px; border-radius:999px; margin-bottom:22px; box-shadow:0 1px 2px rgba(22,50,32,.06);}
  .surtitre::before{content:""; flex:none; width:9px; height:9px; border-radius:50%; background:var(--vert-vif);
    box-shadow:0 0 0 4px color-mix(in srgb, var(--vert-vif) 18%, transparent);}
  .ouverture .surtitre{font-size:18.5px; padding:10px 20px 10px 16px;}
  .fond-vert .surtitre{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.28); color:#fff;}
  .fond-vert .surtitre::before{background:#9FD3AE; box-shadow:0 0 0 4px rgba(159,211,174,.2);}
  @media (max-width:520px){ .surtitre{font-size:15.5px; padding:7px 14px 7px 12px;} .ouverture .surtitre{font-size:16px;} }

  /* ---------- Travailler à plusieurs, de partout ---------- */
  .atouts{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px;}
  @media (max-width:900px){ .atouts{grid-template-columns:1fr;} }
  .atout{background:var(--blanc); border:1px solid var(--trait); border-radius:22px; padding:28px 26px; box-shadow:var(--ombre);}
  .atout i{font-style:normal; font-size:27px; display:inline-grid; place-items:center; width:56px; height:56px;
    border-radius:16px; background:var(--vert-pale); margin-bottom:16px;}
  .atout h3{font-size:22px; margin-bottom:8px;}
  .atout p{color:var(--gris); font-size:17px; margin:0;}
  .legende-duel{text-align:center; font-weight:700; color:var(--vert-fonce); font-size:19px; margin:56px 0 0;}
  .legende-duel + .duel{margin-top:22px;}
