/* MANNÈV® · feuille de style commune.
   Charte : bleu nuit #0F1B2D et #16273B, cuivre #E0915C, DM Mono, angles droits.
   Contrastes vérifiés (WCAG AA) pour chaque couple texte / fond, en clair et en sombre. */

@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-latin-opsz-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* Charte */
  --navy:#0F1B2D;--navy-2:#16273B;--copper:#E0915C;

  /* Thème clair */
  --bg:#F6F4EF;--surface:#FFFFFF;--surface-2:#FBFAF7;--alt:#EEEBE4;--line:#DDD8CE;--input:#A3A9B3;
  --text:#2B3647;--text-strong:#0F1B2D;--text-2:#4E5A6B;
  --primary:#E0915C;                 /* décor : traits, pastilles, bordures */
  --link:#9C5322;                    /* cuivre foncé pour le texte : 5,2:1 sur #F6F4EF */
  --action:#E0915C;--action-hover:#D27F47;--on-action:#0F1B2D;   /* bouton cuivre, texte bleu nuit : 6,9:1 */
  --ok:#276B4D;--warn:#A8261A;--ring:#9C5322;
  --shadow:0 1px 2px rgba(15,27,45,.06),0 14px 34px -20px rgba(15,27,45,.28);
  --glow:rgba(224,145,92,.14);
  --header-bg:rgba(246,244,239,.9);

  /* Zones toujours sombres : héros, en-têtes de page, bandeaux, pied de page */
  --night:#0B1422;--night-2:#0F1B2D;--night-3:#16273B;
  --night-text:#F3F5F8;--night-text-2:rgba(243,245,248,.78);--night-line:rgba(243,245,248,.16);--night-accent:#E0915C;

  --f-sans:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"DM Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --max:1200px;
  --gutter:clamp(16px,4vw,40px);
  --section:clamp(72px,10vw,128px);
  --header-h:4.5rem;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}
:root[data-theme="dark"]{ --bg:#0F1B2D;--surface:#16273B;--surface-2:#1B2F47;--alt:#122236;--line:#2A3D56;--input:#4A5F7C;--text:#C9D2DE;--text-strong:#F3F5F8;--text-2:#9FADBF;--primary:#E0915C;--link:#E8A274;--action:#E0915C;--action-hover:#EBA676;--on-action:#0F1B2D;--ok:#6FBF95;--warn:#F08B7E;--ring:#E0915C;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 40px -22px rgba(0,0,0,.8);--glow:rgba(224,145,92,.14);--header-bg:rgba(15,27,45,.86);color-scheme:dark; }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --bg:#0F1B2D;--surface:#16273B;--surface-2:#1B2F47;--alt:#122236;--line:#2A3D56;--input:#4A5F7C;--text:#C9D2DE;--text-strong:#F3F5F8;--text-2:#9FADBF;--primary:#E0915C;--link:#E8A274;--action:#E0915C;--action-hover:#EBA676;--on-action:#0F1B2D;--ok:#6FBF95;--warn:#F08B7E;--ring:#E0915C;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 40px -22px rgba(0,0,0,.8);--glow:rgba(224,145,92,.14);--header-bg:rgba(15,27,45,.86);color-scheme:dark; } }

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-sans);font-optical-sizing:auto;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .3s,color .3s}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
p a,.a a,.legal-body a,.prose li a{color:var(--link)}
button,input,select,textarea{font:inherit;color:inherit;border-radius:0}
:focus{outline:3px solid var(--ring);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
::selection{background:rgba(224,145,92,.3)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Zones toujours sombres : anneau de focus cuivre clair, visible à la télécommande comme au clavier */
.hero,.page-hero,.band.night,.site-footer,.offer.featured,.results,.agent-head,.site-header:not(.scrolled){--ring:#E0915C}
.skip{position:absolute;left:var(--gutter);top:-100px;z-index:200;background:var(--navy);color:var(--night-text);padding:12px 18px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
/* Chargement : logo MANNÈV et barre cuivre, une fois par session (sessionStorage), jamais si les animations sont réduites.
   Masqué par le script au chargement (700 ms au moins), et par la feuille seule à 2,6 s si le script ne tourne pas. */
.loader{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--night-2);transition:opacity .5s var(--ease),visibility .5s;animation:loader-auto .5s ease 2.6s forwards}
.loader-in{display:grid;justify-items:center;gap:26px}
.loader img{width:min(320px,68vw);height:auto;opacity:0;transform:translateY(8px) scale(.98);animation:logo-in .9s var(--ease) .1s forwards}
.loader-bar{width:min(220px,50vw);height:2px;background:var(--night-line);overflow:hidden}
.loader-bar i{display:block;height:100%;width:40%;background:var(--night-accent);animation:bar 1.1s var(--ease) infinite}
@keyframes logo-in{to{opacity:1;transform:none}}
@keyframes bar{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
@keyframes loader-auto{to{opacity:0;visibility:hidden}}
.loaded .loader{opacity:0;visibility:hidden}
.no-loader .loader{display:none}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

/* Typographie. Bricolage Grotesque est variable (graisse et taille optique).
   Titres en casse normale (5 octobre 2026) : plus lisibles et moins encombrants sur téléphone que les capitales.
   Lettres resserrées et taille optique haute sur les grands titres : le dessin de la police porte le caractère. */
h1,h2,h3,h4{color:var(--text-strong);margin:0;text-wrap:balance;font-synthesis:none;font-kerning:normal;overflow-wrap:break-word}
h1{font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1;letter-spacing:-.025em;font-weight:720;font-variation-settings:"opsz" 96}
h2{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.05;letter-spacing:-.022em;font-weight:700;font-variation-settings:"opsz" 72}
h3{font-size:1.2rem;line-height:1.25;letter-spacing:-.008em;font-weight:680;font-variation-settings:"opsz" 32}
h4{letter-spacing:0}
p{margin:0}
.lead,.prose p,.card p,.a p,.panel p,.band p,.legal-body p,.contact-intro p,.tl p,.inclus p,.rows p{text-align:left;text-wrap:pretty;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}
@media (min-width:760px){.prose p,.legal-body p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:10 4 4}}
.lead{font-size:clamp(1.08rem,1.5vw,1.22rem);line-height:1.6;color:var(--text-2);max-width:60ch}
.eyebrow{font-family:var(--f-mono);font-size:.8125rem;font-weight:500;letter-spacing:.02em;color:var(--link);margin:0 0 16px}
.num{font-variant-numeric:tabular-nums}

/* Boutons : angles droits, cuivre pour l'action principale */
.btn{--b-bg:transparent;--b-fg:var(--text-strong);--b-bd:var(--line);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border:1px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{--b-bg:var(--action);--b-fg:var(--on-action);--b-bd:#D27F47;background:linear-gradient(180deg,#F4AC79 0%,#DD8650 100%);box-shadow:inset 0 1px 0 rgba(255,238,220,.5),0 12px 26px -14px rgba(224,145,92,.95)}
.btn-primary:hover{background:linear-gradient(180deg,#F7B88A 0%,#E2905C 100%)}
.btn-ghost:hover{--b-bd:var(--text-strong)}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:progress;transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--link);text-decoration:none}
.link-arrow svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.link-arrow:hover svg,a:hover>.link-arrow svg{transform:translateX(3px)}

/* En-tête : fixe, transparent sur les zones sombres du haut de page, opaque au défilement */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;color:var(--night-text);border-bottom:1px solid transparent;transition:background-color .3s,border-color .3s,color .3s}
.site-header.scrolled{background:var(--header-bg);color:var(--text-strong);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom-color:var(--line)}
/* En-tête au-dessus d'une zone toujours sombre (héros, Services, en-têtes de page, pied de page) :
   il reste bleu nuit dans les deux thèmes, plus de bande crème posée sur le bleu (classe posée par le script). */
.site-header.scrolled.on-night{background:rgba(11,20,34,.8);color:var(--night-text);border-bottom-color:var(--night-line)}
html:not(.menu-open) .site-header.on-night{--ring:#E0915C}
.site-header.on-night .nav-links a{color:var(--night-text-2)}
.site-header.on-night .nav-links a:hover,.site-header.on-night .nav-links a[aria-current="page"]{color:var(--night-text)}
.site-header.on-night .icon-btn{border-color:var(--night-line)}
.menu-open .site-header.scrolled.on-night{background:var(--header-bg);color:var(--text-strong);border-bottom-color:var(--line)}
.menu-open .site-header.on-night .icon-btn{border-color:var(--line)}
.nav{display:flex;align-items:center;gap:20px;height:var(--header-h)}
@media (max-width:479px){.nav{gap:8px}}
.brand{display:flex;align-items:center;min-height:44px;margin-right:auto}
.brand img{height:1.625rem;width:auto}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:26px}
.nav-links a{text-decoration:none;font-size:.96rem;font-weight:500;color:var(--night-text-2);padding:10px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav-links a:hover{color:var(--night-text)}
.nav-links a[aria-current="page"]{color:var(--night-text);border-bottom-color:var(--copper)}
.scrolled .nav-links a{color:var(--text-2)}
.scrolled .nav-links a:hover,.scrolled .nav-links a[aria-current="page"]{color:var(--text-strong)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--night-line);background:transparent;color:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}
.icon-btn:hover{border-color:currentColor}
.scrolled .icon-btn{border-color:var(--line)}
.icon-btn svg{width:20px;height:20px}
.theme-toggle .moon{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .sun{display:none}:root:not([data-theme="light"]) .theme-toggle .moon{display:block}}
.nav-cta{display:none}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:currentColor;position:relative;transition:transform .25s var(--ease),background-color .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.drawer{display:none;padding:8px var(--gutter) 22px;border-top:1px solid var(--line);background:var(--bg);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow-y:auto}
.drawer.open{display:block;animation:drop .25s var(--ease)}
.drawer a{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600;color:var(--text-strong)}
.drawer .btn{display:flex;margin-top:18px;width:100%;border-bottom:1px solid var(--action)}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (min-width:1080px){
  .nav-links{display:flex}
  .nav-cta{display:inline-flex;min-height:44px;padding:10px 18px;font-size:.95rem}
  .burger,.drawer,.drawer.open{display:none}
}

/* Héros de l'accueil, en trois temps : le message, les actions, puis le socle des garanties.
   Ordinateur : le trou noir occupe la droite, les garanties forment une bande au pied du héros.
   Téléphone et tablette (sous 1024 px) : le trou noir passe dans le flux, entre les actions et les garanties,
   pour être visible dès l'arrivée ; chaque groupe a sa respiration propre (6 octobre 2026). */
.hero{position:relative;isolation:isolate;background:var(--night);color:var(--night-text);min-height:min(100vh,920px);min-height:min(100svh,920px);display:flex;flex-direction:column;overflow:hidden;padding-top:calc(var(--header-h) + 40px)}
.hero h1{color:var(--night-text)}
.hero .lead{color:var(--night-text-2)}
.hero .eyebrow{color:var(--night-accent)}
.hero-main{flex:1;display:flex;align-items:center;padding-bottom:clamp(40px,6vh,72px)}
.bh{position:absolute;inset:0;z-index:-1;--fx:72%;--fy:44%}
/* Le rendu WebGL a un fond noir : le mode « screen » le fond dans le bleu nuit, la lumière reste intacte */
.bh canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;mix-blend-mode:screen;transition:opacity 1.2s var(--ease)}
.bh.ready canvas{opacity:1}
/* Affiche fixe (avant le rendu temps réel, ou sans carte graphique) : même position que le rendu, unité --u */
.bh-poster{--u:1vmin;position:absolute;inset:0;background:
  radial-gradient(circle at var(--fx,72%) var(--fy,46%),#060c16 0 calc(7 * var(--u)),rgba(255,236,210,.95) calc(7.4 * var(--u)),rgba(255,152,56,.45) calc(8.6 * var(--u)),rgba(142,58,11,.18) calc(13 * var(--u)),transparent calc(20 * var(--u))),
  radial-gradient(ellipse calc(44 * var(--u)) calc(5 * var(--u)) at var(--fx,72%) var(--fy,46%),rgba(255,160,70,.55),rgba(142,58,11,.15) 60%,transparent 72%),
  var(--night);transition:opacity 1.2s var(--ease)}
.bh.ready .bh-poster{opacity:0}
.bh-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,20,34,.94) 0%,rgba(11,20,34,.62) 38%,rgba(11,20,34,0) 66%)}
.hero-copy{position:relative;max-width:42rem}
/* Héros : halo froid de nuit caraïbe en haut à gauche, reflet cuivre en haut à droite, au-dessus du trou noir */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(75% 60% at 0% 0%,rgba(24,66,104,.62),transparent 72%),
  radial-gradient(45% 35% at 100% 0%,rgba(224,145,92,.12),transparent 70%)}
/* Titre éclairé comme le cuivre du logo : blanc en haut, cuivre clair en bas */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero .h1-main{background:linear-gradient(180deg,#FFFFFF 18%,#F6D3B2 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
@media (forced-colors:active){.hero .h1-main{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}
/* Sous-titre : filet cuivre qui sépare la promesse du public visé */
.hero h1 .h1-sub{display:block;color:#F3C69F;font-weight:520;font-size:.44em;letter-spacing:-.01em;line-height:1.3;margin-top:.9em;font-variation-settings:"opsz" 32}
.hero h1 .h1-sub::before{content:"";display:block;width:2.6em;height:2px;margin-bottom:.85em;background:linear-gradient(90deg,var(--copper),rgba(224,145,92,0))}
.hero .lead{margin-top:24px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .btn-ghost,.page-hero .btn-ghost,.band.night .btn-ghost{--b-fg:var(--night-text);--b-bd:var(--night-line);background:rgba(243,245,248,.04)}
.hero .btn-ghost:hover,.page-hero .btn-ghost:hover,.band.night .btn-ghost:hover{--b-bd:var(--night-text)}
.btn-try>svg:first-child{color:var(--night-accent)}
.btn-try .go{width:16px;height:16px;color:var(--night-accent);transition:transform .2s var(--ease)}
.btn-try:hover .go{transform:translateX(3px)}
@media (max-width:560px){.hero-ctas .btn{flex:1 1 100%}}

/* Socle des garanties : bande au pied du héros, quatre cases séparées par des filets */
.hero-proof{position:relative;border-top:1px solid var(--night-line);background:linear-gradient(180deg,rgba(11,20,34,.35),rgba(11,20,34,.9));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));font-size:.95rem;line-height:1.35;color:var(--night-text-2)}
.trust li{display:flex;align-items:center;gap:10px;min-height:76px;padding:18px 22px}
.trust li:first-child{padding-left:0}
.trust li+li{border-left:1px solid var(--night-line)}
.trust svg{width:16px;height:16px;flex:none;color:var(--night-accent)}
.trust-aid a{display:flex;align-items:center;gap:10px;width:100%;color:#F3C69F;text-decoration:none;font-weight:500}
.trust-aid b{font-weight:680;color:var(--night-text)}
.trust-aid a:hover span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.trust-aid .go{width:15px;height:15px;margin-left:auto;transition:transform .2s var(--ease)}
.trust-aid a:hover .go{transform:translateX(3px)}

/* Téléphone et tablette : le trou noir entre dans le flux (ordre 2), sa bande garde sa propre échelle.
   Sa marge haute négative le glisse sous les boutons ; le masque fond ses deux bords dans le bleu nuit.
   Le script lit la bande ainsi : hauteur du bloc moins son retrait haut (--fade). */
@media (max-width:1023px){
  .hero{--band:clamp(130px,34vw,210px);--fade:120px;min-height:0;padding-top:calc(var(--header-h) + 30px);padding-bottom:28px}
  .hero-main{flex:none;padding-bottom:0}
  .bh{position:relative;inset:auto;order:2;flex:none;height:calc(var(--band) + var(--fade));padding-top:var(--fade);margin-top:calc(var(--fade) * -1 + 40px);--fx:50%;--fy:66%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--fade),#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 var(--fade),#000 calc(100% - 24px),transparent 100%)}
  .bh-scrim{display:none}
  .bh-poster{--u:calc(var(--band) / 30)}
  .hero .btn-ghost{background:rgba(11,20,34,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .hero-proof{order:3;margin-top:-4px;background:none;border-top:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .trust{grid-template-columns:1fr 1fr;border-top:1px solid var(--night-line);border-bottom:1px solid var(--night-line)}
  .trust li{align-items:flex-start;min-height:0;padding:15px 14px 15px 0}
  .trust li+li{border-left:0}
  .trust li:nth-child(even){border-left:1px solid var(--night-line);padding-left:16px}
  .trust li:nth-child(n+3){border-top:1px solid var(--night-line)}
  .trust svg{margin-top:2px}
  .trust-aid a{align-items:flex-start}
  .trust-aid .go{margin-top:2px}
}
@media (min-width:768px) and (max-width:1023px){
  .hero{--band:clamp(170px,22vw,220px);--fade:150px;padding-top:calc(var(--header-h) + 60px)}
  .hero h1{font-size:clamp(2.8rem,6.4vw,3.8rem)}
  .hero-copy{max-width:38.75rem}
  .trust li{padding:18px 18px 18px 0}
  .trust li:nth-child(even){padding-left:22px}
}
/* Téléphone : une action principale pleine largeur, la seconde allégée en lien, sans second cadre */
@media (max-width:560px){
  .hero h1{font-size:clamp(2.05rem,9.6vw,2.45rem)}
  .hero .lead{margin-top:18px;font-size:1rem;line-height:1.6}
  .hero .hero-ctas{flex-direction:column;gap:2px;margin-top:26px}
  .hero .hero-ctas .btn{flex:none;width:100%}
  .hero .hero-ctas .btn-primary{min-height:56px;font-size:1.0625rem}
  .hero .btn-try{min-height:48px;padding:10px 12px;border-color:transparent;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .hero .btn-try span{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(243,245,248,.35);text-underline-offset:6px}
  .hero .btn-try:hover{--b-bd:transparent}
  /* Garanties en liste : une ligne chacune, séparées par des filets, la dernière mène au chèque TIC */
  .trust{grid-template-columns:1fr;font-size:.9375rem}
  .trust li,.trust li:nth-child(even){align-items:center;padding:13px 0;border-left:0}
  .trust li:nth-child(n+2){border-top:1px solid var(--night-line)}
  .trust svg,.trust-aid .go{margin-top:0}
  .trust-aid a{align-items:center}
}

/* En-tête des pages intérieures : même univers sombre que l'accueil */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--night-text);padding:calc(var(--header-h) + clamp(40px,7vw,88px)) 0 clamp(44px,6vw,80px)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(640px 320px at 88% 0%,rgba(224,145,92,.22),transparent 70%),
  linear-gradient(rgba(243,245,248,.04) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,rgba(243,245,248,.04) 1px,transparent 1px) 0 0/48px 48px}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--copper),transparent 70%)}
.page-hero h1{color:var(--night-text);max-width:24ch}
.page-hero .lead{color:var(--night-text-2);margin-top:22px}
.page-hero .eyebrow{color:var(--night-accent)}
.page-hero .hero-ctas{margin-top:30px}
.page-hero p a{color:var(--night-text)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 22px;font-size:.9rem;color:var(--night-text-2)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a{text-decoration:none;color:var(--night-text)}
.crumbs a:hover{text-decoration:underline}
.lang-alt{margin-top:18px;font-size:.95rem;color:var(--night-text-2)}
.lang-alt a{color:var(--night-text)}

/* Sections */
.section{padding:var(--section) 0}
.section.alt{background:var(--alt)}
.section-head{max-width:47.5rem;margin-bottom:clamp(32px,5vw,56px)}
.section-head .lead,h2+.lead{margin-top:16px}
.lead.short{text-align:left}
.section.flush-top{padding-top:0}
.bands{display:grid;gap:24px}
.grid{display:grid;gap:20px}
@media (min-width:760px){
  .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .grid.cols-3>:last-child:nth-child(odd){grid-column:1/-1}
}
@media (min-width:1000px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-3>:last-child:nth-child(odd){grid-column:auto}}
@media (min-width:1100px){.grid.cols-4{grid-template-columns:repeat(4,1fr)}}

/* Cartes : angles droits, filet cuivre au survol */
.card{position:relative;background:var(--surface);border:1px solid var(--line);padding:clamp(22px,3vw,30px);box-shadow:var(--shadow);transition:transform .3s var(--ease),border-color .3s}
.card::after{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--copper) 45%,var(--line))}
.card:hover::after{transform:scaleX(1)}
.card .ico{width:44px;height:44px;display:grid;place-items:center;background:color-mix(in srgb,var(--copper) 14%,transparent);color:var(--link);margin-bottom:18px}
.card .ico svg{width:22px;height:22px}
.card h3{margin-bottom:8px}
.card p{color:var(--text-2)}
.card .link-arrow{margin-top:16px}

/* Services de l'accueil : quatre encadrés, chacun ouvert par une vignette (un site, une conversation,
   un logiciel, un rapport d'audit). Refonte du 6 octobre 2026 : encadrés à repères d'angle cuivre,
   vignettes en verre fumé sur trame de plan, horizon cuivré qui reprend la lumière du trou noir du héros.
   Les vignettes sont dessinées en em : elles suivent la taille du texte, téléviseurs compris. */
.bento{display:grid;gap:clamp(18px,2.6vw,28px)}
@media (min-width:640px){.bento{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){
  .bento{grid-template-columns:repeat(12,1fr);column-gap:clamp(22px,2.4vw,32px)}
  .bento .svc:nth-child(1),.bento .svc:nth-child(4){grid-column:span 7}
  .bento .svc:nth-child(2),.bento .svc:nth-child(3){grid-column:span 5}
}
/* Zone toujours sombre : la section Services reste en bleu nuit dans les deux thèmes.
   Les variables de couleur sont redéfinies sur la section : cartes, schémas et textes suivent sans autre règle.
   Le haut part du bleu du héros (#0B1422) : aucune couture entre les deux sections. */
.zone-night{--bg:#0F1B2D;--surface:#16273B;--surface-2:#1B2F47;--alt:#0B1422;--line:#2A3D56;--input:#4A5F7C;--text:#C9D2DE;--text-strong:#F3F5F8;--text-2:#A9B6C7;--link:#F0A774;--ok:#6FBF95;--warn:#F08B7E;--ring:#E0915C;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 40px -22px rgba(0,0,0,.8);position:relative;isolation:isolate;background:var(--bg);color:var(--text);color-scheme:dark}
.zone-night::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(180deg,#0B1422 0,rgba(11,20,34,0) min(420px,40%)),
  radial-gradient(50% 36% at 100% 8%,rgba(224,145,92,.10),transparent 70%),
  radial-gradient(60% 45% at 0% 100%,rgba(24,66,104,.5),transparent 72%)}

/* Encadré : verre bleu nuit, filet clair, quatre repères d'angle cuivre qui s'allongent au survol */
@property --tick{syntax:"<length>";inherits:false;initial-value:10px}
.svc{--tick:10px;--tc:rgba(240,167,116,.72);--edge:rgba(160,190,225,.13);display:flex;flex-direction:column;padding:0;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#172B44 0%,#122338 100%);border:1px solid var(--edge);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -36px rgba(0,0,0,.9);
  transition:transform .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),--tick .45s var(--ease)}
.svc::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:
  linear-gradient(var(--tc),var(--tc)) 0 0/var(--tick) 1px,linear-gradient(var(--tc),var(--tc)) 0 0/1px var(--tick),
  linear-gradient(var(--tc),var(--tc)) 100% 0/var(--tick) 1px,linear-gradient(var(--tc),var(--tc)) 100% 0/1px var(--tick),
  linear-gradient(var(--tc),var(--tc)) 0 100%/var(--tick) 1px,linear-gradient(var(--tc),var(--tc)) 0 100%/1px var(--tick),
  linear-gradient(var(--tc),var(--tc)) 100% 100%/var(--tick) 1px,linear-gradient(var(--tc),var(--tc)) 100% 100%/1px var(--tick);
  background-repeat:no-repeat}
/* Halo cuivré qui suit le pointeur (coordonnées --mx, --my posées par le script) */
.svc::after{left:0;right:0;top:0;bottom:0;height:auto;z-index:-1;transform:none;opacity:0;background:radial-gradient(26rem circle at var(--mx,50%) var(--my,0%),rgba(224,145,92,.11),transparent 62%);transition:opacity .45s var(--ease)}
.svc:hover{transform:translateY(-4px);--tick:22px;--tc:#F0A774;border-color:rgba(240,167,116,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 40px 70px -36px rgba(0,0,0,.95),0 0 0 1px rgba(240,167,116,.06)}
.svc:hover::after{opacity:1;transform:none}
/* Apparition au défilement : la règle commune ne liste que l'opacité et le déplacement ; on y ajoute les transitions du survol */
.reveal-ready .svc.reveal{transition:opacity .7s var(--ease) var(--d,0s),transform .6s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),--tick .45s var(--ease)}

/* Texte de l'encadré */
.svc .body{padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;flex:1}
.svc .svc-tag{display:flex;align-items:center;margin:0 0 14px;font-family:var(--f-mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--text-2)}
.svc .svc-n{display:inline-flex;align-items:center;color:var(--link)}
.svc .svc-n::after{content:"";width:22px;height:1px;margin:0 10px;background:rgba(240,167,116,.5)}
.svc h3{font-size:clamp(1.3rem,1.9vw,1.5rem);letter-spacing:-.014em;margin-bottom:10px}
.svc .body>p:not(.svc-tag){color:var(--text-2);max-width:46ch;margin-bottom:24px}
/* Pied de l'encadré : filet, intitulé du lien, flèche dans un carré cuivre qui se remplit au survol */
.svc .body .link-arrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:16px;border-top:1px solid var(--edge);color:var(--link)}
.svc .link-arrow span{line-height:1.3}
.svc .link-arrow svg{width:36px;height:36px;padding:9px;flex:none;border:1px solid rgba(240,167,116,.45);transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.svc:hover .link-arrow svg{transform:none;background:var(--copper);border-color:var(--copper);color:#0F1B2D}
/* Carte entièrement cliquable (téléphone, tablette, télécommande) : le lien couvre toute la carte */
.svc .link-arrow::after{content:"";position:absolute;inset:0;z-index:3}
@supports selector(:has(a)){
  .svc:has(.link-arrow:focus-visible){outline:3px solid var(--ring);outline-offset:4px}
  .svc .link-arrow:focus-visible{outline:none}
}

/* Vignette : verre fumé sur trame de plan, horizon cuivré en bas, orbite fine en écho au trou noir.
   Épures sans texte d'interface ni bouton lisible : le visiteur reconnaît un site, une conversation,
   un logiciel ou un rapport, sans y voir un produit fini ni un élément cliquable dans l'image. */
.svc .illus{position:relative;height:21em;overflow:hidden;font-size:.625rem;line-height:1.3;color:var(--text-strong);border-bottom:1px solid var(--edge);
  --ln:rgba(160,190,225,.17);--ln-2:rgba(196,216,240,.36);--wf:rgba(150,182,218,.27);--cu:#E0915C;--cu-l:#F0A774;--amber:#F2C46B;--dim:#F0A774;
  background:
    radial-gradient(120% 95% at 50% 45%,transparent 58%,rgba(4,9,17,.6) 100%),
    radial-gradient(58% 72% at 50% 120%,rgba(224,145,92,.36),rgba(224,145,92,.08) 52%,transparent 74%),
    radial-gradient(45% 60% at 100% 0%,rgba(91,123,163,.16),transparent 70%),
    linear-gradient(rgba(160,190,225,.055) 1px,transparent 1px) 0 0/2em 2em,
    linear-gradient(90deg,rgba(160,190,225,.055) 1px,transparent 1px) 0 0/2em 2em,
    #0A1321}
.svc .illus::before{content:"";position:absolute;left:50%;top:104%;width:132%;height:62%;border:1px solid rgba(240,167,116,.22);border-radius:50%;box-shadow:0 -1px 1.6em -.4em rgba(240,167,116,.35);transform:translate(-50%,-50%) rotate(-2deg);pointer-events:none;transition:transform .9s var(--ease)}
.svc:hover .illus::before{transform:translate(-50%,-50%) rotate(0deg) scale(1.03)}
@media (min-width:1000px){.svc .illus{font-size:.75rem}}
@media (max-width:389px){.svc .illus{font-size:.5625rem}}
.illus i,.illus b{display:block;font-style:normal}

/* Éléments communs des épures */
.sc{position:absolute;z-index:1;background:linear-gradient(180deg,#1C3350 0%,#14273E 100%);border:1px solid var(--wf);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1.8em 3.4em -1.4em rgba(0,0,0,.85);transition:transform .6s var(--ease)}
.svc:hover .sc:not(.sc-sheet){transform:translateY(-.35em)}
.sc svg{display:block;flex:none}
.sc-l{height:.45em;background:var(--ln)}
.sc-l.sc-h{height:.8em;background:var(--ln-2)}
.sc-k{width:5em;height:.35em;background:linear-gradient(90deg,#F6D3B2,var(--cu))}
.sc-act{width:6em;height:1.6em;border:1px solid rgba(240,167,116,.9);background:repeating-linear-gradient(135deg,rgba(240,167,116,.62) 0 1px,transparent 1px .4em),rgba(224,145,92,.12);box-shadow:0 0 1.4em -.3em rgba(224,145,92,.6)}
/* Emplacement photo : coucher de soleil sur la mer, en dégradés (aucune image chargée) */
.sc-img{border:1px solid rgba(150,182,218,.16);background:
  radial-gradient(circle at 68% 58%,#FFE7CC 0 .26em,rgba(246,190,140,.5) .42em,transparent 1.1em),
  linear-gradient(180deg,#22405F 0%,#3A506D 36%,#C27D4E 60%,#1F3049 60.5%,#152338 100%)}

.sc-imgs .sc-img{background:linear-gradient(180deg,#22405F 0%,#3A506D 40%,#B9784C 62%,#1F3049 62.5%,#152338 100%)}
.sc-imgs .sc-img:nth-child(2){background:linear-gradient(180deg,#1E3A57 0%,#2F4865 55%,#8A5A3E 70%,#1C2D45 70.5%,#132136 100%)}
.sc-imgs .sc-img:nth-child(3){background:linear-gradient(160deg,#2A4766 0%,#46566F 45%,#C88A5C 75%,#24364F 100%)}

/* Cote : trait cuivre, barbules à 45°, lignes d'attache vers l'épure, libellé au-dessus du trait */
.sc-dim{position:absolute;z-index:2;top:2.3em;height:1.1em;color:var(--dim);border:solid rgba(240,167,116,.42);border-width:0 1px;background:linear-gradient(currentColor,currentColor) 0 0/100% 1px no-repeat}
.sc-dim::before,.sc-dim::after{content:"";position:absolute;top:-.42em;width:1px;height:.84em;background:currentColor;transform:rotate(45deg)}
.sc-dim::before{left:-1px}.sc-dim::after{right:-1px}
.sc-dim b{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:0 .6em .3em;font-family:var(--f-mono);font-size:max(.6875rem,.95em);font-weight:500;letter-spacing:.1em;white-space:nowrap;line-height:1.2;color:#F6CBA6}

/* Cartouche : légende du schéma, en pied à gauche, précédée d'un filet cuivre */
.svc .sc-cap{position:absolute;left:1.6em;bottom:1.15em;z-index:2;display:flex;align-items:center;gap:.7em;margin:0;font-family:var(--f-mono);font-size:max(.6875rem,.92em);letter-spacing:.06em;line-height:1.3;white-space:nowrap;color:#8F9BAC}
.svc .sc-cap::before{content:"";width:1.8em;height:1px;background:rgba(240,167,116,.6)}
.sc-cap b{display:inline;font-weight:500;color:var(--cu-l)}

/* 01 · Site : écran d'ordinateur et téléphone posé devant, l'ensemble centré dans la vignette */
.sc-dim-site{left:calc(20% - 2.7em);width:60%}
.sc-win{left:calc(20% - 2.7em);top:3.4em;bottom:3.4em;width:60%;display:flex;flex-direction:column;overflow:hidden}
.sc-bar{display:flex;align-items:center;gap:.4em;height:1.9em;padding:0 .7em;border-bottom:1px solid var(--ln);background:rgba(8,15,27,.35);flex:none}
.sc-bar i{width:.6em;height:.6em;border-radius:50%;background:var(--ln-2)}
.sc-bar i:first-child{background:rgba(240,167,116,.8)}
.sc-bar span{flex:1;max-width:14em;height:1em;margin-left:.6em;border:1px solid var(--ln);background:rgba(8,15,27,.4)}
.sc-page{flex:1;min-height:0;display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:auto 1fr auto;gap:.6em .9em;padding:.8em 1em .9em}
.sc-nav{grid-column:1/-1;display:flex;align-items:center;gap:.8em}
.sc-nav b{width:4.2em;height:.6em;margin-right:auto;background:linear-gradient(90deg,#F6D3B2,var(--cu))}
.sc-nav i{width:2.2em;height:.4em;background:var(--ln)}
.sc-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.45em;min-height:0}
.sc-copy .sc-k{width:3.4em}
.sc-copy .sc-h{width:100%}
.sc-copy .sc-h+.sc-h{width:68%}
.sc-copy .sc-act{width:5.4em;height:1.4em;margin-top:.25em}
.sc-shot{min-height:0}
.sc-imgs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:.5em}
.sc-imgs .sc-img{height:2.4em}
.sc-phone{left:calc(80% - 5.7em);top:4.2em;width:8.4em;height:13.6em;padding:1.9em .7em .8em;border-radius:1.3em;display:flex;flex-direction:column;gap:.45em;z-index:2;overflow:hidden;background:linear-gradient(180deg,#203A5A 0%,#162B44 100%);border-color:rgba(170,198,230,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),-1.2em 1.8em 3em -1.2em rgba(0,0,0,.9)}
.sc-notch{position:absolute;top:.65em;left:50%;width:2.8em;height:.7em;margin-left:-1.4em;border-radius:99px;background:rgba(8,15,27,.6)}
.sc-phone .sc-img{height:4em;flex:none;margin-bottom:.2em}
.sc-phone .sc-k{width:3.2em}
.sc-phone .sc-h{width:92%}
.sc-phone .sc-h+.sc-h{width:64%}
.sc-phone .sc-l:not(.sc-h){width:84%}
.sc-phone .sc-act{width:100%;height:1.5em;margin-top:auto}

/* 02 · Agent d'accueil IA : conversation de nuit, réponse de l'agent en cuivre, saisie en cours */
.sc-dim-chat,.sc-chat{left:0;right:0;margin:0 auto;width:min(28em,78%)}
.sc-chat{top:3.4em;bottom:3.4em;display:flex;flex-direction:column;overflow:hidden}
.sc-chat-top{display:flex;align-items:center;gap:.7em;padding:.6em .8em;border-bottom:1px solid var(--ln);background:rgba(8,15,27,.35);flex:none}
.sc-av{position:relative;width:2em;height:2em;display:grid;place-items:center;border-radius:50%;border:1px solid var(--cu);background:rgba(224,145,92,.14);color:var(--cu-l);flex:none}
.sc-av svg{width:1.15em;height:1.15em}
.sc-av::after{content:"";position:absolute;right:-.1em;bottom:-.1em;width:.62em;height:.62em;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 .16em #1C3350}
.sc-who{flex:1;display:grid;gap:.4em;min-width:0}
.sc-chat .sc-who .sc-h{width:6.5em}
.sc-chat .sc-who .sc-l:not(.sc-h){width:4em}
.sc-moon{width:1.2em;height:1.2em;color:var(--cu-l)}
.sc-log{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:.55em;padding:.7em .9em}
.sc-msg{display:grid;gap:.4em;width:68%;padding:.6em .7em;border:1px solid var(--ln);background:rgba(8,15,27,.4)}
.sc-msg .sc-l:last-child{width:62%}
.sc-msg.in{align-self:flex-start;border-radius:0 .5em .5em .5em}
.sc-msg.out{align-self:flex-end;width:76%;border-color:rgba(240,167,116,.6);background:linear-gradient(180deg,rgba(224,145,92,.24),rgba(224,145,92,.1));border-radius:.5em 0 .5em .5em;box-shadow:0 0 1.6em -.6em rgba(224,145,92,.5)}
.sc-msg.out .sc-l{background:rgba(246,211,178,.5)}
.sc-typing{align-self:flex-end;display:flex;gap:.32em;padding:.6em .75em;border:1px solid rgba(240,167,116,.42);background:rgba(224,145,92,.08);border-radius:.5em 0 .5em .5em}
.sc-typing i{width:.45em;height:.45em;border-radius:50%;background:var(--cu-l);animation:blink 1.2s infinite}
.sc-typing i:nth-child(2){animation-delay:.2s}.sc-typing i:nth-child(3){animation-delay:.4s}

/* 03 · Logiciel : modules, indicateurs, liste suivie */
.sc-dim-app,.sc-app{left:7%;right:7%}
.sc-app{top:3.4em;bottom:3.4em;display:grid;grid-template-columns:3.2em 1fr;overflow:hidden}
.sc-side{display:flex;flex-direction:column;align-items:center;gap:.6em;padding:.8em 0;border-right:1px solid var(--ln);background:rgba(8,15,27,.35)}
.sc-side b{width:1.7em;height:1.7em;margin-bottom:.3em;background:linear-gradient(135deg,#F6D3B2,var(--cu))}
.sc-side i{width:1.7em;height:1.7em;border:1px solid var(--ln-2)}
.sc-side i.on{border-color:var(--cu);background:repeating-linear-gradient(135deg,rgba(240,167,116,.62) 0 1px,transparent 1px .4em)}
.sc-main{display:flex;flex-direction:column;gap:.6em;padding:.8em 1em;min-width:0}
.sc-top{display:flex;align-items:center;justify-content:space-between;gap:.6em}
.sc-top .sc-h{width:6em}
.sc-top .sc-act{width:5em;height:1.4em}
.sc-kpis{display:grid;grid-template-columns:1fr 1.3fr;gap:.6em}
.sc-kpis>span{display:grid;align-content:center;gap:.45em;height:3em;padding:0 .7em;border:1px solid var(--ln);background:rgba(8,15,27,.3)}
.sc-kpis>span .sc-l{width:60%}
.sc-kpis>span .sc-h{width:40%;background:linear-gradient(90deg,#F6D3B2,var(--cu))}
.sc-kpis>.sc-chart{display:flex;align-items:flex-end;gap:.35em;padding:.55em .7em}
.sc-chart i{flex:1;background:linear-gradient(180deg,#F3B585,rgba(224,145,92,.35))}
.sc-chart i:nth-child(1){height:35%}.sc-chart i:nth-child(2){height:55%}.sc-chart i:nth-child(3){height:45%}
.sc-chart i:nth-child(4){height:70%}.sc-chart i:nth-child(5){height:60%}.sc-chart i:nth-child(6){height:90%}
.sc-rows{list-style:none;margin:0;padding:0;display:grid}
.sc-rows li{display:grid;grid-template-columns:1fr 3em .7em;align-items:center;gap:.8em;padding:.42em 0;border-top:1px solid var(--ln)}
.sc-rows li:nth-child(1) .sc-l:first-child{width:70%}
.sc-rows li:nth-child(2) .sc-l:first-child{width:52%}
.sc-rows li:nth-child(3) .sc-l:first-child{width:80%}
.sc-rows li:nth-child(4) .sc-l:first-child{width:62%}
.sc-dot{width:.7em;height:.7em;border-radius:50%;background:var(--ok);box-shadow:0 0 .8em -.1em currentColor}
.sc-dot.ok{color:var(--ok)}
.sc-dot.wait{background:var(--cu);color:var(--cu)}
.sc-dot.todo{background:var(--warn);color:var(--warn)}

/* 04 · Audit : rapport écrit, corrections classées par priorité, feuille de dessous décalée */
.sc-dim-doc,.sc-doc{left:0;right:0;margin:0 auto;width:min(30em,70%)}
.sc-sheet{left:0;right:0;margin:0 auto;width:min(28em,66%);top:3.9em;bottom:3em;transform:translateX(5%) rotate(3deg);background:linear-gradient(180deg,#172C46,#11223A);border-color:var(--ln)}
.sc-doc{top:3.4em;bottom:3.4em;display:flex;flex-direction:column;gap:.8em;padding:1em 1.2em;overflow:hidden}
.sc-doc-top{display:flex;align-items:center;gap:.8em;padding-bottom:.7em;border-bottom:2px solid var(--cu);flex:none}
.sc-shield{width:2.4em;height:2.4em;display:grid;place-items:center;border:1px solid var(--cu);background:rgba(224,145,92,.12);color:var(--cu-l);flex:none}
.sc-shield svg{width:1.4em;height:1.4em}
.sc-doc .sc-who .sc-h{width:8em}
.sc-doc .sc-who .sc-l:not(.sc-h){width:11em;max-width:100%}
.sc-prio{list-style:none;margin:0;padding:0;display:grid;gap:.55em}
.sc-prio li{display:grid;grid-template-columns:1.3em 1fr 3.6em;align-items:center;gap:.7em}
.sc-prio svg{width:1.2em;height:1.2em}
.sc-prio .p1{color:var(--warn)}
.sc-prio .p2{color:var(--amber)}
.sc-prio .ok{color:var(--ok)}
.sc-prio li:nth-child(1) .sc-l{width:76%}
.sc-prio li:nth-child(2) .sc-l{width:62%}
.sc-prio li:nth-child(3) .sc-l{width:44%}
.sc-tag{height:1.1em;border:1px solid currentColor;background:color-mix(in srgb,currentColor 16%,transparent)}
.sc-para{display:grid;gap:.5em;margin-top:.2em}
.sc-para .sc-l:nth-child(2){width:86%}
.sc-para .sc-l:nth-child(3){width:64%}

/* Liste « Inclus » : présentation éditoriale numérotée, sans cartes */
.inclus{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line);counter-reset:inc}
@media (min-width:760px){.inclus{grid-template-columns:repeat(2,1fr);column-gap:clamp(24px,4vw,48px)}}
@media (min-width:1100px){.inclus{grid-template-columns:repeat(4,1fr)}}
.inclus li{counter-increment:inc;padding:22px 0 24px;border-bottom:1px solid var(--line)}
.inclus li::before{content:counter(inc,decimal-leading-zero);display:block;font-family:var(--f-mono);font-size:.8125rem;color:var(--link);margin-bottom:10px}
.inclus h3{font-size:1rem;margin-bottom:6px}
.inclus p{color:var(--text-2);font-size:.97rem}

/* Secteurs : contrôle segmenté (2 x 2 sur téléphone, une ligne dès 700 px), panneaux superposés
   dans une même cellule pour que la page ne saute pas au changement d'onglet, glissement au doigt */
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:14px}
@media (min-width:700px){.tabs{grid-template-columns:repeat(4,1fr)}}
.tab{position:relative;min-height:54px;padding:10px 12px;border:0;background:var(--surface);color:var(--text-2);font-weight:600;font-size:.94rem;line-height:1.25;text-align:center;cursor:pointer;touch-action:manipulation;transition:background-color .2s var(--ease),color .2s var(--ease)}
.tab:hover{color:var(--text-strong);background:var(--surface-2)}
.tab[aria-selected="true"]{background:var(--text-strong);color:var(--bg)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--copper)}
.tab:focus-visible{outline-offset:-3px}
.panels{display:grid}
.panels>.panel{grid-area:1/1}
.panel{display:grid;gap:20px;align-content:start;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--copper);padding:clamp(20px,4vw,40px);box-shadow:var(--shadow)}
.panel[data-off]{visibility:hidden}
.panel.enter{animation:fade-up .4s var(--ease)}
.panel h3{font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:.004em;line-height:1.2}
.panel-intro p{margin-top:10px;color:var(--text-2)}
.feats{display:grid;gap:18px;padding-top:18px;border-top:1px solid var(--line)}
.feat .tag{margin:0 0 10px}
.feat ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.feat li{position:relative;padding-left:26px;color:var(--text-strong);line-height:1.5}
.feat li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.opt{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid var(--line);font-family:var(--f-mono);font-size:.68rem;font-weight:500;letter-spacing:.02em;color:var(--text-2);white-space:nowrap;vertical-align:.12em}
.panel-cta{margin:0}
@media (min-width:860px){
  .panel{grid-template-columns:1fr 1fr;grid-template-areas:"intro feats" "cta feats";column-gap:clamp(32px,5vw,64px);row-gap:22px}
  .panel-intro{grid-area:intro}
  .feats{grid-area:feats;padding:0 0 0 clamp(24px,3vw,40px);border-top:0;border-left:1px solid var(--line)}
  .panel-cta{grid-area:cta;align-self:end}
}
@media (min-width:600px) and (max-width:859px){.feats{grid-template-columns:1fr 1fr;column-gap:24px}}
.sectors-note{margin-top:14px;font-size:.92rem;color:var(--text-2);max-width:72ch}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
.checks svg{width:20px;height:20px;color:var(--ok);margin-top:2px}
.tag{display:inline-block;font-family:var(--f-mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;padding:3px 7px;border:1px solid var(--link);color:var(--link);white-space:nowrap}
.tag.ia{background:var(--text-strong);border-color:var(--text-strong);color:var(--bg)}
@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Offres */
.offers{display:grid;gap:20px;align-items:stretch}
.offer{display:flex;flex-direction:column}
@media (min-width:760px) and (max-width:1099px){
  .offers{grid-template-columns:1fr 1fr}
  .offer.featured{grid-column:1/-1;order:-1;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,4vw,48px);grid-template-rows:auto auto 1fr auto;align-items:start}
  .offer.featured>h3{grid-column:1;grid-row:1}
  .offer.featured>.pitch{grid-column:1;grid-row:2}
  .offer.featured>.price{grid-column:1;grid-row:4;align-self:end;border-bottom:0;margin:22px 0 0;padding-bottom:0}
  .offer.featured>.checks{grid-column:2;grid-row:1/4;margin:4px 0 22px}
  .offer.featured>.btn{grid-column:2;grid-row:4;align-self:end}
}
@media (min-width:1100px){
  .offers{grid-template-columns:repeat(3,1fr)}
  @supports (grid-template-rows:subgrid){
    .offer{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
    .offer .btn{align-self:end}
  }
}
/* Offre recommandée : bloc bleu nuit, contraste fort avec les deux autres */
.offer.featured{background:var(--night-2);border:2px solid var(--copper);color:var(--night-text-2)}
.offer.featured h3,.offer.featured .price b{color:var(--night-text)}
.offer.featured .pitch,.offer.featured .price small{color:var(--night-text-2)}
.offer.featured .price{border-bottom-color:var(--night-line)}
.offer.featured .checks svg{color:var(--copper)}
.offer.featured .checks li{color:var(--night-text)}
.offer.featured::after{display:none}
.flag{position:absolute;top:0;left:clamp(20px,3vw,28px);transform:translateY(-50%);background:var(--copper);color:#0F1B2D;font-family:var(--f-mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;padding:6px 12px}
.offer h3{font-size:1.22rem;letter-spacing:.012em}
.offer .pitch{margin-top:8px}
.price{margin:22px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.price b{display:block;font-size:2.9rem;line-height:1;letter-spacing:-.04em;color:var(--text-strong);font-variant-numeric:tabular-nums}
.price small{display:block;margin-top:8px;font-size:.95rem;font-weight:500;color:var(--text-2)}
.offer .checks{margin-bottom:24px;align-content:start}
.offer .btn{margin-top:auto}
.extras{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px;color:var(--text-2)}
.extras b{color:var(--text-strong);font-weight:650}
.extras a{color:var(--link)}
.fine{margin-top:16px;font-size:.9375rem;color:var(--text-2)}

/* Assistant : démonstration */
.demo{display:grid;gap:44px;align-items:center}
@media (min-width:960px){.demo{grid-template-columns:1.05fr .95fr;gap:64px}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:var(--surface);color:var(--text-strong);font-weight:500;font-size:.95rem;cursor:pointer;text-align:left;transition:all .2s var(--ease)}
.chip:hover{border-color:var(--copper);color:var(--link);transform:translateY(-1px)}
.phone{position:relative;width:min(20rem,86vw);margin:0 auto;background:var(--navy);border-radius:40px;padding:12px;box-shadow:0 40px 80px -40px rgba(15,27,45,.6),0 0 0 1px rgba(15,27,45,.25)}
.screen{background:#ece5d5;border-radius:30px;overflow:hidden;height:clamp(440px,120vw,540px);display:flex;flex-direction:column}
.chat-top{display:flex;align-items:center;gap:10px;background:#16273B;color:#F3F5F8;padding:14px 16px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--copper);display:grid;place-items:center;font-weight:700;color:#0F1B2D;flex:none}
.chat-top b{display:block;font-size:.92rem;line-height:1.2}
.chat-top small{display:flex;align-items:center;gap:6px;font-size:.75rem;color:rgba(243,245,248,.75)}
.dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.chat{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:14px 12px;flex:1;overflow:hidden}
.b{max-width:86%;padding:9px 12px;font-size:.84rem;line-height:1.45;border-radius:14px;color:#0F1B2D;animation:bubble .35s var(--ease) both}
.b.in{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.b.out{align-self:flex-end;background:#dcefe4;border-top-right-radius:4px}
.b.sys{align-self:center;background:rgba(15,27,45,.08);font-family:var(--f-mono);font-size:.72rem;border-radius:8px;color:#2B3647}
.b .who{display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.02em;color:#4E5A6B;margin-bottom:2px}
.typing{display:inline-flex;gap:4px;padding:12px 14px}
.typing i{width:6px;height:6px;border-radius:50%;background:#7A8594;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
@keyframes bubble{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.demo-note{text-align:center;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;color:var(--text-2);margin-top:16px}

/* Méthode : frise en trois étapes, garanties et appel à l'action réunis dans un seul bloc */
.method{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(24px,4.5vw,56px);overflow:hidden}
.method::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 260px at 0% 0%,var(--glow),transparent 70%);pointer-events:none}
.method>*{position:relative}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;--dot:48px}
.tl{position:relative;display:grid;grid-template-columns:var(--dot) 1fr;column-gap:18px;align-content:start;padding-bottom:28px}
.tl:last-child{padding-bottom:0}
.tl:not(:last-child)::after{content:"";position:absolute;left:calc(var(--dot) / 2 - 1px);top:calc(var(--dot) + 6px);bottom:6px;width:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--copper) 75%,transparent),color-mix(in srgb,var(--copper) 18%,var(--line)))}
.tl-dot{width:var(--dot);height:var(--dot);border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--copper);color:var(--link);font-family:var(--f-mono);font-size:.9rem;font-weight:500;box-shadow:0 0 0 6px var(--surface)}
.tl:last-child .tl-dot{background:var(--copper);border-color:var(--copper);color:#0F1B2D}
.tl-body{padding-top:4px;min-width:0}
.tl-when{display:inline-block;font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:.1em;color:var(--link);background:color-mix(in srgb,var(--copper) 12%,transparent);padding:4px 10px;margin-bottom:10px}
.tl h3{font-size:clamp(1.1rem,1.7vw,1.25rem);letter-spacing:.012em;margin-bottom:6px}
.tl p:not(.tl-when){color:var(--text-2);max-width:40ch}
@media (min-width:900px){
  .timeline{grid-template-columns:repeat(3,1fr);column-gap:clamp(24px,3vw,40px)}
  .tl{grid-template-columns:1fr;row-gap:20px;padding-bottom:0}
  .tl:not(:last-child)::after{left:calc(var(--dot) + 12px);right:calc(-1 * clamp(24px,3vw,40px) + 12px);top:calc(var(--dot) / 2 - 1px);bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--copper) 75%,transparent),color-mix(in srgb,var(--copper) 18%,var(--line)))}
  .tl-body{padding-top:0}
}
.method-foot{margin-top:clamp(28px,4vw,44px);padding-top:clamp(24px,3.5vw,36px);border-top:1px solid var(--line);display:grid;gap:18px}
/* Garanties : accordéon fermé par défaut, ouvert au clic */
.guar{border:1px solid var(--line);background:var(--surface-2)}
.guar>summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 16px;cursor:pointer;font-weight:650;line-height:1.35;color:var(--text-strong);touch-action:manipulation}
.guar>summary::-webkit-details-marker{display:none}
.guar>summary::after{content:"";flex:none;margin-left:auto;width:10px;height:10px;border-right:2px solid var(--link);border-bottom:2px solid var(--link);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.guar[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.guar>summary:hover{background:var(--alt)}
.guar>summary:focus-visible{outline-offset:-3px}
.guar-body{padding:8px 16px 22px;display:grid;gap:20px;animation:fade-up .35s var(--ease)}
.guar-note{font-size:.95rem;color:var(--text-2)}
.guar-note b{color:var(--text-strong);font-weight:650}
.guar-note a{color:var(--link)}
.g-ico{width:40px;height:40px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}
.g-ico svg{width:20px;height:20px}
.guarantees{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:1000px){.guarantees{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}}
.guarantees li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.guarantees b{display:block;color:var(--text-strong);font-weight:650;line-height:1.35}
.guarantees span.g-txt{display:block;margin-top:4px;font-size:.95rem;line-height:1.5;color:var(--text-2)}
.method-cta{display:flex}
@media (max-width:559px){.method-cta .btn{width:100%}}

/* Bandeaux */
.band{position:relative;overflow:hidden;padding:clamp(28px,5vw,56px);display:grid;gap:22px;align-items:center}
@media (min-width:900px){.band{grid-template-columns:1fr auto;gap:48px}}
.band.aid{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--copper)}
.band.night{background:var(--night-2);color:var(--night-text)}
.band.night::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(224,145,92,.32),transparent 65%);pointer-events:none}
.band.night h2{color:var(--night-text)}
.band.night p{color:var(--night-text-2)}
.band.night .eyebrow{color:var(--night-accent)}
.band h2{font-size:clamp(1.35rem,2.7vw,2.05rem)}
.band p{margin-top:12px;max-width:62ch}

/* Preuves : réalisations et avis (affichés seulement s'ils existent) */
.works{display:grid;gap:20px}
@media (min-width:760px){.works{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.works{grid-template-columns:repeat(3,1fr)}}
.work{padding:0;overflow:hidden;display:flex;flex-direction:column}
.work img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line)}
.work .body{padding:22px;display:flex;flex-direction:column;gap:6px;flex:1}
.work small{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.02em;color:var(--link)}
.work .link-arrow{margin-top:auto;padding-top:10px}
.reviews{display:grid;gap:20px}
@media (min-width:860px){.reviews{grid-template-columns:repeat(2,1fr)}}
.review{margin:0}
.review blockquote{margin:0;font-size:1.08rem;color:var(--text-strong)}
.review figcaption{margin-top:14px;font-size:.92rem;color:var(--text-2)}
.review figcaption a{color:var(--link)}

/* FAQ */
.faq{max-width:55rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:650;font-size:1.06rem;color:var(--text-strong);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--link);border-bottom:2px solid var(--link);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.faq .a{padding:0 0 24px;color:var(--text-2);max-width:72ch;animation:fade-up .35s var(--ease)}

/* Contenu des pages intérieures */
.prose>*{max-width:47.5rem}
.prose h2{margin:56px 0 16px;font-size:clamp(1.38rem,2.6vw,1.9rem)}
.prose h2:first-child{margin-top:0}
.prose p+p{margin-top:14px}
.prose ul+p,.prose ol+p{margin-top:14px}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:8px;color:var(--text-2);margin:14px 0 0}
.prose li::marker{color:var(--copper)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}
@media (min-width:760px){.facts{grid-template-columns:repeat(4,1fr)}}
.facts li{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--copper);padding:18px 20px}
.facts b{display:block;font-size:1.6rem;letter-spacing:-.03em;color:var(--text-strong);line-height:1.1}
.facts span{display:block;margin-top:6px;font-size:.92rem;color:var(--text-2)}
.source{margin-top:28px;font-size:.9rem;color:var(--text-2)}
.do{display:grid;gap:20px}
@media (min-width:760px){.do{grid-template-columns:1fr 1fr}}
.do .no svg{color:var(--warn)}
/* Double lecture d'un service : en clair pour tous, côté technique pour les initiés */
.lectures{margin-top:clamp(40px,6vw,64px)}
.card .lect-tag{margin:0 0 6px;font-family:var(--f-mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--link)}
.checks.tech svg{color:var(--link)}
.split{display:grid;gap:36px;align-items:start}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:64px}}

/* Illustration d'un résultat Google local (schéma, pas une capture) */
.serp{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;font-size:.88rem;max-width:28.75rem}
.serp-q{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px 12px;font-family:var(--f-mono);font-size:.8rem;color:var(--text-2)}
.serp-q svg{width:14px;height:14px;flex:none}
.serp-map{position:relative;height:120px;margin:14px 0;background:
  linear-gradient(135deg,transparent 46%,var(--line) 46% 48%,transparent 48%) 0 0/60px 60px,
  linear-gradient(45deg,transparent 46%,var(--line) 46% 48%,transparent 48%) 0 0/90px 90px,var(--alt)}
.serp-map i{position:absolute;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--input)}
.serp-map i.me{background:var(--copper);width:20px;height:20px}
.serp-map i:nth-child(1){left:22%;top:38%}.serp-map i:nth-child(2){left:64%;top:22%}.serp-map i:nth-child(3){left:46%;top:46%}.serp-map i:nth-child(4){left:78%;top:62%}
.serp-card{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:4px}
.serp-card b{font-size:1rem;color:var(--text-strong)}
.serp-card span{color:var(--text-2)}
.serp-card .row-btns{display:flex;gap:8px;margin-top:8px}
.serp-card .row-btns em{font-style:normal;border:1px solid var(--line);padding:3px 8px;font-size:.78rem;color:var(--link)}
.serp-cap{margin-top:10px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.02em;color:var(--text-2)}

/* À propos */
.about{display:grid;gap:36px;align-items:start}
@media (min-width:900px){.about.has-photo{grid-template-columns:320px 1fr;gap:56px}}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.idcard{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:0;padding:22px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--copper);max-width:47.5rem}
.idcard dt{font-family:var(--f-mono);font-size:.8125rem;letter-spacing:.02em;color:var(--text-2);padding-top:2px}
.idcard dd{margin:0;color:var(--text-strong)}

/* Calculateur */
.calc{display:grid;gap:28px}
@media (min-width:960px){.calc{grid-template-columns:1fr 1fr;gap:48px;align-items:start}}
.fields{display:grid;gap:20px}
.field label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-strong)}
.numbox{display:flex;border:1px solid var(--input);background:var(--surface);overflow:hidden}
.numbox:focus-within{outline:3px solid var(--ring);outline-offset:2px}
.numbox input{flex:1;min-width:0;border:0;background:transparent;padding:12px 14px;font-family:var(--f-mono);font-size:1.1rem;color:var(--text-strong);outline:none}
.numbox span{display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--line);font-family:var(--f-mono);color:var(--text-2)}
input[type=range]{width:100%;accent-color:var(--copper);height:32px;cursor:pointer}
.results{background:var(--night-2);color:var(--night-text);padding:clamp(22px,3vw,32px);border-top:3px solid var(--copper)}
.res{padding:14px 0;border-bottom:1px solid var(--night-line)}
.res:first-child{padding-top:0}
.res span{display:block;font-size:.94rem;color:var(--night-text-2)}
.res b{display:block;font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.res.hl b{color:var(--night-accent)}
.res .sub{margin-top:6px;font-size:.9rem}
.results .btn{margin-top:22px}
.results .note{margin-top:14px;font-size:.88rem;color:var(--night-text-2)}
/* Simulateur chèque TIC : cases à cocher en cartes */
.sim{margin-top:clamp(48px,7vw,80px);scroll-margin-top:96px}
.checks-in{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.checks-in legend{padding:0;margin-bottom:10px;font-weight:650;color:var(--text-strong)}
.checks-in label{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;color:var(--text-strong);line-height:1.4;transition:border-color .2s}
.checks-in label:hover,.checks-in label:has(input:checked){border-color:color-mix(in srgb,var(--copper) 60%,var(--line))}
.checks-in input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--copper);flex:none;cursor:pointer}
.checks-in small{display:block;font-weight:400;font-size:.9rem;color:var(--text-2)}
.results .note.ok{color:var(--night-text)}

/* Contact */
.contact{display:grid;gap:40px}
@media (min-width:960px){.contact{grid-template-columns:.85fr 1.15fr;gap:64px}}
.contact-intro .lead{margin-top:16px}
.direct{display:grid;gap:12px;margin-top:26px}
.direct a{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:600;color:var(--text-strong);transition:border-color .2s,transform .2s var(--ease)}
.direct a:hover{border-color:var(--copper);transform:translateX(3px)}
.direct svg{width:22px;height:22px;color:var(--link);flex:none}
.direct a span small{display:block;font-weight:400;font-size:.9rem;color:var(--text-2)}
.form{display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--copper);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.form fieldset{border:0;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;gap:18px;min-width:0}
.form legend{padding:0;font-weight:650;color:var(--text-strong);float:left;width:100%;margin-bottom:4px}
.form legend small{display:block;font-weight:400;font-size:.92rem;color:var(--text-2)}
.row{display:grid;gap:18px}
@media (min-width:640px){.row{grid-template-columns:1fr 1fr}.row.r3{grid-template-columns:1.2fr 1fr 1fr}}
.f label{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px;color:var(--text-strong)}
.f .opt{font-weight:400;color:var(--text-2)}
.f input,.f select,.f textarea{width:100%;min-height:48px;padding:12px 14px;background:var(--bg);border:1px solid var(--input);font-size:1rem;color:var(--text-strong)}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid var(--ring);outline-offset:1px;border-color:var(--ring)}
.f .err{display:none;color:var(--warn);font-size:.9rem;margin-top:6px}
.f.invalid input,.f.invalid select{border-color:var(--warn)}
.f.invalid .err{display:block}
.hp{position:absolute;left:-9999px}
.form-note{font-size:.9rem;color:var(--text-2)}
.status:empty{display:none}
.status{font-size:.95rem;padding:14px 16px}
.status.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);border-left:3px solid var(--ok)}
.status.ko{background:color-mix(in srgb,var(--warn) 10%,transparent);border-left:3px solid var(--warn)}

/* Services liés : liste en lignes (maillage interne) */
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rows a{display:grid;grid-template-columns:44px 1fr auto;gap:6px 18px;align-items:center;padding:18px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background-color .2s}
.rows a:hover{background:var(--surface)}
.rows .ico{width:44px;height:44px;display:grid;place-items:center;background:color-mix(in srgb,var(--copper) 14%,transparent);color:var(--link);grid-row:span 2}
.rows .ico svg{width:22px;height:22px}
.rows h3{font-size:1rem;margin:0}
.rows p{grid-column:2;color:var(--text-2);font-size:.95rem}
.rows .go{grid-column:3;grid-row:1/3;color:var(--link);display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}
.rows .go svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.rows a:hover .go svg{transform:translateX(3px)}
@media (max-width:640px){.rows .go span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
@media (min-width:900px){.rows{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}}

/* Pied de page */
.site-footer{background:var(--night);color:var(--night-text);padding:72px 0 36px;border-top:3px solid var(--copper)}
.foot{display:grid;gap:40px}
@media (min-width:900px){.foot{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.foot-brand img{width:150px;height:auto}
.foot-brand p{margin-top:18px;color:var(--night-text-2);font-size:.97rem;max-width:34ch}
.foot h2{font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:var(--night-accent);margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.foot a{color:var(--night-text);text-decoration:none;display:inline-block;padding:6px 0;font-size:.97rem;opacity:.88;transition:opacity .2s,color .2s}
.foot a:hover{opacity:1;color:var(--night-accent)}
.foot-nap{margin-top:18px;font-style:normal;font-size:.92rem;line-height:1.6;color:var(--night-text-2)}
.foot-nap a{padding:0;font-size:inherit;color:var(--night-text)}
.foot-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-family:var(--f-mono);font-size:.8125rem;color:var(--night-text-2)}

/* Pages légales */
.legal-body>*{max-width:47.5rem}
.legal-body h2{font-size:1.12rem;letter-spacing:.012em;margin:34px 0 10px}
.legal-body h2:first-child{margin-top:0}
.legal-body p,.legal-body li{color:var(--text-2)}
.legal-body p+p{margin-top:10px}
.legal-body ul{padding-left:22px;display:grid;gap:6px}

/* Apparitions au défilement (activées par le script, sinon tout reste visible) */
.reveal-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.reveal-ready .reveal.in{opacity:1;transform:none}
.d1{--d:.08s}.d2{--d:.16s}.d3{--d:.24s}

/* Assistant IA : bouton flottant et fenêtre */
.agent-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:10px 18px 10px 14px;border:1px solid rgba(224,145,92,.5);background:var(--navy);color:var(--night-text);font-weight:600;cursor:pointer;box-shadow:0 18px 40px -16px rgba(15,27,45,.6);transition:transform .25s var(--ease),opacity .25s}
.agent-fab:hover{transform:translateY(-2px)}
.agent-fab svg{width:22px;height:22px;color:var(--copper)}
.agent-fab .dot{margin-left:2px}
.agent-fab[hidden]{display:none}
.agent-fab.yield{opacity:0;transform:translateY(10px) scale(.92);pointer-events:none}
.agent-open .agent-fab,.menu-open .agent-fab{opacity:0;pointer-events:none}
/* Téléphone et tablette : l'assistant s'ouvre depuis l'en-tête, rien ne flotte au-dessus du contenu */
.agent-hd{position:relative}
.agent-hd svg{color:var(--copper)}
.agent-hd .dot{position:absolute;top:7px;right:7px}
.agent-open .agent-hd{border-color:var(--copper)}
@media (max-width:1079px){.agent-fab{display:none!important}}
@media (min-width:1080px){.agent-hd{display:none}}
.agent{position:fixed;z-index:90;right:18px;bottom:18px;width:min(400px,calc(100vw - 36px));height:min(640px,calc(100vh - 36px));height:min(640px,calc(100dvh - 36px));display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--copper);box-shadow:0 40px 80px -30px rgba(15,27,45,.55);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s linear .3s}
.agent.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s}
@media (max-width:560px){
  .agent{top:0;right:0;bottom:auto;left:0;width:auto;height:100vh;height:100dvh;border:0;transform-origin:bottom center}
  .agent-open body{overflow:hidden}
}
.agent-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--navy);color:var(--night-text)}
.agent-head b{display:block;font-size:.98rem}
.agent-head small{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--night-text-2)}
.agent-head .icon-btn{margin-left:auto;color:var(--night-text);border-color:var(--night-line)}
.agent-note{margin:0;padding:10px 16px;font-size:.84rem;color:var(--text-2);background:var(--alt);border-bottom:1px solid var(--line)}
.agent-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.msg{max-width:88%;padding:10px 14px;border-radius:12px;font-size:.95rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;animation:bubble .3s var(--ease)}
.msg.user{align-self:flex-end;background:var(--navy);color:var(--night-text);border-bottom-right-radius:3px}
.msg.bot{align-self:flex-start;background:var(--alt);color:var(--text-strong);border:1px solid var(--line);border-bottom-left-radius:3px}
.msg.bot ul{margin:6px 0 0;padding-left:18px;white-space:normal}
.msg a{color:var(--link);font-weight:600}
.msg.notice{align-self:stretch;max-width:none;background:transparent;border:1px dashed var(--line);color:var(--text-2);font-size:.86rem}
.msg-act{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;padding:8px 14px;background:var(--action);color:var(--on-action)!important;font-weight:600;text-decoration:none;white-space:normal}
.msg-act:hover{background:var(--action-hover)}
.agent.is-local .agent-head .dot{background:var(--copper);animation:none;box-shadow:none}
/* Suggestions sur une seule ligne qui défile : la conversation garde la place */
.agent-sugg{display:flex;flex-wrap:nowrap;gap:8px;padding:2px 16px 12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:none}
.agent-sugg::-webkit-scrollbar{display:none}
.agent-sugg[hidden]{display:none}
.agent-sugg .chip{flex:none;min-height:40px;padding:7px 12px;font-size:.9rem;white-space:nowrap}
.agent-form{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line);background:var(--surface)}
.agent-form textarea{flex:1;resize:none;max-height:120px;min-height:46px;padding:12px 14px;border:1px solid var(--input);background:var(--bg);color:var(--text-strong);font-size:1rem;line-height:1.4}
.agent-form textarea:focus{outline:3px solid var(--ring);outline-offset:1px}
.agent-form .btn{min-height:46px;padding:10px 14px}
.agent-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:0 14px 12px;font-size:.8rem;color:var(--text-2)}
.agent-foot a{color:var(--link);font-weight:600}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal-ready .reveal{opacity:1;transform:none}
}
@media print{
  .reveal-ready .reveal{opacity:1;transform:none}
  .agent,.agent-fab,.burger,.theme-toggle,.bh,.loader{display:none!important}
  .site-header{position:static}
}
.nw{white-space:nowrap}

/* Grands écrans, téléviseurs connectés : lecture à distance. Les largeurs de lecture sont en rem :
   tout le contenu grandit avec la taille de base, sans colonnes étroites perdues au milieu de l'écran. */
@media (min-width:1600px){:root{--max:1320px}html{font-size:106.25%}}
@media (min-width:1900px){:root{--max:1440px}html{font-size:112.5%}}
@media (min-width:2500px){:root{--max:80rem}html{font-size:137.5%}}
@media (min-width:3200px){:root{--max:80rem}html{font-size:162.5%}}
