/* Saphan — graphite, la peau de tout le site (version candidate 1, 02.10.2026).
   Prend la place de marine.css dans wrap() ; marine.css reste dans src/css pour la variante et un retour.
   Couleurs, coins (10 px, aucune pilule) et police : la peau graphite de la maquette (maquette/assets/saphan.css),
   validée le 30.09 à 19:25. La mise en page reste celle d’atelier.css ; ce fichier porte l’identité.
   Lecture claire des guides : les jetons basculent sur <main> quand <html data-lecture="claire">. */

@font-face{font-family:Inter;src:url('../assets/fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}

/* ---------- Jetons ---------- */

:root{
  color-scheme:dark;
  --fond:#111214;--bande:#141518;--surface-1:#1A1B1E;--surface-2:#232428;
  --filet:#2E3035;--filet-fort:#3C3E44;--bord-champ:#6E717A;--champ:#131416;
  --texte:#EDEBE6;--texte-2:#9A9CA3;--doux:#9A9CA3;--lecture:#C9C7C1;
  --accent:#FF8A00;--accent-survol:#FF9D2E;--sur-accent:#111214;
  --or:#F2C388;--sur-or:#111214;--trait:#9A5B14;--trait-froid:#4A5262;
  --erreur:#FF8F85;--erreur-fond:#2A1715;--erreur-bord:#D0574B;
  --succes-fond:#11231A;--succes-bord:#4FA97B;
  /* noms encore lus par atelier.css */
  --paper:var(--fond);--white:var(--surface-1);--ink:var(--texte);--muted:var(--texte-2);--line:var(--filet);
  --orange:var(--or);--lime:var(--or);--green:var(--surface-2);--dark:var(--bande);--night:var(--fond);--radius:10px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--fond);color:var(--texte)
}

/* La lecture claire : seulement la zone de lecture ; l’en-tête et le pied restent graphite. */
:root[data-lecture="claire"] main{
  color-scheme:light;
  --fond:#F6F4EF;--bande:#EFECE6;--surface-1:#FFFFFF;--surface-2:#ECE9E2;
  --filet:#DEDAD1;--filet-fort:#C8C3B8;--bord-champ:#8A8578;--champ:#FFFFFF;
  --texte:#15161A;--texte-2:#5E6068;--doux:#5E6068;--lecture:#2B2C31;
  --accent:#A65300;--accent-survol:#8F4700;--sur-accent:#FFFFFF;
  --or:#8A5A14;--sur-or:#FFFFFF;--trait:#C98B3E;--trait-froid:#9AA3B0;
  --erreur:#B3261E;--erreur-fond:#FCEDEA;--erreur-bord:#B3261E;
  --succes-fond:#E7F4EC;--succes-bord:#196B43;
  --paper:var(--fond);--white:var(--surface-1);--ink:var(--texte);--muted:var(--texte-2);--line:var(--filet);
  --orange:var(--or);--lime:var(--or);--green:var(--surface-2);--dark:var(--bande);--night:var(--fond)
}

/* ---------- Base ---------- */

html{background:var(--fond)}
body{font-family:inherit;background:var(--fond);color:var(--texte);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
main{background:var(--fond);color:var(--texte)}
h1,h2,h3{font-family:inherit;letter-spacing:-.04em;color:var(--texte)}h1,h2{font-weight:640}h3{font-weight:620;letter-spacing:-.025em}
.eyebrow,.service-label,.tag,.case-label,.brand-name{font-family:inherit}
::selection{background:var(--or);color:var(--sur-or)}
:is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--or);outline-offset:3px;border-radius:6px}
a{transition:color .18s,background-color .18s,border-color .18s}a:hover{color:var(--or)}
.skip{background:var(--texte);color:var(--fond);border-radius:8px;font-weight:600}
.wrap{width:min(1280px,calc(100% - 96px))}.section{padding-block:88px}
.lead{color:var(--texte-2)}.muted{color:var(--texte-2)}.note{color:var(--doux)}.tiny{color:var(--texte-2)}

/* Le surtitre : capitales espacées et un trait d’or, comme la maquette */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.35;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--doux)}
.eyebrow::before{content:'';display:block;flex:none;width:22px;height:1px;margin:0;border-radius:0;background:var(--or)}
.brand-name{text-transform:none;letter-spacing:.04em;font-size:13px}

/* ---------- En-tête ---------- */

.header{background:var(--fond);color:var(--texte);padding:16px max(48px,calc((100% - 1280px)/2));border-bottom:1px solid var(--filet);gap:40px}
.brand{flex:0 0 238px;text-decoration:none;display:block;color:var(--texte)}
.brand img,.brand>svg{display:block;width:238px;height:auto}
.header nav{gap:30px;font-size:14px;font-weight:500}
.header nav a{color:var(--doux);text-decoration:none}
.header nav a:not(.nav-contact){padding-block:9px}
.header nav a:hover{color:var(--or)}
.header nav a[aria-current]{color:var(--texte);box-shadow:0 2px var(--accent)}

/* ---------- Boutons et liens : 10 px, aucune pilule ---------- */

.header .nav-contact,.button{background:var(--accent);border:1px solid var(--accent);color:var(--sur-accent);border-radius:10px;font-weight:650;font-size:14px;padding:13px 22px;box-shadow:none;text-decoration:none}
.header .nav-contact:hover,.button:hover{background:var(--accent-survol);border-color:var(--accent-survol);color:var(--sur-accent);transform:none}
.button.light{background:var(--or);border-color:var(--or);color:var(--sur-or)}
.button.light:hover{background:var(--accent-survol);border-color:var(--accent-survol);color:var(--sur-accent)}
.button.outline{background:transparent;border-color:var(--bord-champ);color:var(--texte)}
.button.outline:hover{background:var(--surface-2);border-color:var(--doux);color:var(--texte)}
button.button:disabled{opacity:.55}
.text-link{color:var(--texte);font-weight:620;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--bord-champ);text-underline-offset:.28em}
.text-link:hover{color:var(--or);text-decoration-color:currentColor}
.bullet-links{gap:10px}
.bullet-links a{background:var(--surface-1);border:1px solid var(--filet-fort);color:var(--texte);border-radius:8px;font-size:13.5px;padding:8px 14px}
.bullet-links a:hover{background:var(--surface-2);border-color:var(--or);color:var(--or)}

/* ---------- Bandeaux de page ---------- */

.page-intro{background:var(--bande);color:var(--texte);box-shadow:0 0 0 100vmax var(--bande);clip-path:inset(0 -100vmax);padding-block:64px 58px}
.page-intro:not(.document-intro){border-bottom:1px solid var(--filet);margin-bottom:40px}
.page-intro>.eyebrow,.page-intro .eyebrow{color:var(--doux)}
.page-intro .lead,.page-intro .note,.page-intro .muted{color:var(--texte-2)}
.page-intro .text-link{color:var(--texte)}.page-intro .text-link:hover{color:var(--or)}
.page-intro h1 em{color:var(--or)!important}
.page-intro .bullet-links a{background:var(--surface-1)}
.document-intro{margin-bottom:0;padding-block:64px 74px}.document-intro .note{font-size:13px;color:var(--doux)}.document-intro figure{max-width:none}.document-intro h1{font-size:clamp(2.7rem,4.1vw,4.1rem)}
.document-intro h1 span,.document-feature h2 span{color:var(--or)}

/* ---------- Sections et cartes ---------- */

.section-head{align-items:end}.section-head h2{margin-top:20px;font-size:clamp(2.25rem,3.45vw,3rem);line-height:1.1}.section-head .lead{font-size:18px;line-height:1.65}
.line{border-top:1px solid var(--filet)}
.dark{background:var(--bande);color:var(--texte);border-block:1px solid var(--filet)}
.dark .lead,.dark .muted,.dark p{color:var(--texte-2)}.dark .eyebrow{color:var(--doux)}.dark .text-link{color:var(--texte)}
.dark .button.outline{border-color:var(--bord-champ);color:var(--texte)}
.dark .tag{background:var(--surface-2);color:var(--texte)}
.wide-note{background:var(--surface-1);border:1px solid var(--filet);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;color:var(--texte)}
.wide-note p{color:var(--texte-2)}
.panel{background:var(--surface-1);border:1px solid var(--filet);border-radius:10px;box-shadow:none}
.panel ul,.panel p{color:var(--texte-2)}
.tag{background:var(--surface-2);color:var(--texte);border-radius:5px}
.tag.research,.row-offer .tag.research{background:#3A2A16;color:var(--or)}
:root[data-lecture="claire"] main .tag.research{background:#F5E5CF}

.row-offer{background:var(--surface-1);border:1px solid var(--filet);border-top:2px solid var(--trait);border-radius:10px;margin-bottom:24px;padding:38px;box-shadow:none}
.row-offer:nth-of-type(even){background:var(--surface-1);border-top-color:var(--trait-froid)}
.row-offer .eyebrow{color:var(--or)}.row-offer h2{line-height:1.14}.row-offer p{color:var(--texte-2)}
.row-offer>div:last-child{border-left-color:var(--filet)}
.row-offer>div:last-child>h3,.brief-list strong{color:var(--texte)}
.brief-list li{border-bottom-color:var(--filet);color:var(--texte-2)}
.row-offer .tag{background:var(--surface-2);color:var(--texte)}

.process-grid>div,.document-steps li,.step-strip>div{background:var(--surface-1);border:1px solid var(--filet);border-top:2px solid var(--trait);border-radius:10px;padding:24px;color:var(--texte-2)}
.process-grid>div:nth-child(even),.document-steps li:nth-child(even),.step-strip>div:nth-child(even){background:var(--surface-1);border-top-color:var(--trait-froid)}
.process-grid>div::after,.document-steps li::after{color:var(--doux)!important}
.process-grid p,.document-steps p,.document-cases p{color:var(--texte-2)}
.step-strip span,.document-steps li>span,.process-grid span{color:var(--or)}
.dark .step-strip>div,.dark .step-strip>div:nth-child(even){background:var(--surface-1);color:var(--texte-2);border-color:var(--filet-fort)}
.dark .step-strip span{color:var(--or)}

.feature-list li{border-top-color:var(--filet)}.feature-list strong{color:var(--texte)}.feature-list span{color:var(--texte-2)}
.deployment-feature img,.image-split img{border-radius:10px;box-shadow:none}
.deployment-feature figcaption,.document-feature figcaption,.document-intro figcaption,.image-split figcaption{color:var(--doux);line-height:1.6}

/* Le circuit documentaire */
.document-feature{background:var(--bande);color:var(--texte);box-shadow:0 0 0 100vmax var(--bande);clip-path:inset(0 -100vmax)}
.document-feature .lead,.document-feature .note{color:var(--texte-2)}
.format-strip span{background:var(--surface-2);border:1px solid var(--filet-fort);color:var(--texte);border-radius:5px}
.document-product{min-width:0;padding:32px;border:1px solid var(--filet-fort);border-radius:12px;background:var(--surface-1);box-shadow:none;color:var(--texte)}
.document-product .product-top{border-bottom:1px solid var(--filet);color:var(--texte-2)}
.product-source{background:#E6E3DB;color:#15161A;border-top:3px solid var(--accent);border-radius:8px}
.product-source small{color:#7A4207}.product-source p{color:#4A4C52}
.product-arrow{color:var(--or)}
.product-files li{border:1px solid var(--filet-fort);border-radius:8px;background:var(--surface-2);color:var(--texte-2)}
.product-files b{color:var(--or)}
.document-product>figcaption{color:var(--doux)!important}
.document-example{background:var(--bande);color:var(--texte)}
.document-example .eyebrow{color:var(--doux)}.document-example .lead,.document-example p{color:var(--texte-2)}.document-example .text-link{color:var(--texte)}
.document-downloads a{background:var(--surface-1);border:1px solid var(--filet-fort);border-radius:10px}
.document-downloads a:hover{background:var(--surface-2);border-color:var(--or)}
.document-downloads span,.document-downloads b{color:var(--or)}
.document-downloads strong{color:var(--texte)}.document-downloads p{color:var(--texte-2)}
.document-cases article{border-top:2px solid var(--filet-fort)}

/* Essais, résultats, tableaux */
.lab{background:var(--surface-1);border:1px solid var(--filet);border-radius:10px}
.result,.mapping>div{background:var(--surface-2);border:1px solid var(--filet-fort);border-radius:10px}
.result dt{color:var(--doux)}.result .why{border-top-color:var(--filet-fort);color:var(--texte-2)}
.result.bad{background:var(--erreur-fond);border-color:var(--erreur-bord)}
th,.table-scroll th{background:var(--surface-2);color:var(--texte)}
td,th{border-bottom-color:var(--filet)}
.table-scroll{border-color:var(--filet)}.table-scroll caption{color:var(--doux)}
pre,.legacy pre{background:var(--surface-1);color:var(--texte)}
.source-list li{border-top-color:var(--filet)}.source-list small{color:var(--doux)}

/* Formulaires */
input,textarea,select,.lab textarea{border:1px solid var(--bord-champ);background:var(--champ);color:var(--texte);border-radius:8px}
input::placeholder,textarea::placeholder{color:var(--doux);opacity:1}
label{color:var(--texte)}
.field-help{color:var(--texte-2)}
.status{color:var(--texte-2)}

/* Questions et termes */
details{border-top:1px solid var(--filet);padding-inline:20px;border-radius:10px}
details[open]{background:var(--surface-1)}
summary{font-weight:550;font-size:19px;color:var(--texte)}
details p{color:var(--texte-2)}

/* Guides */
.guide-layout{padding-top:0}
.guide-heading{background:var(--bande);box-shadow:0 0 0 100vmax var(--bande);clip-path:inset(0 -100vmax);color:var(--texte);padding-block:34px 46px;max-width:none;border-bottom:1px solid var(--filet)}
.guide-heading .lead,.guide-date{color:var(--texte-2)}
.guide-heading .eyebrow{color:var(--doux)}
.guide-heading h1{font-size:clamp(2.5rem,4.4vw,4.25rem);line-height:1.13;max-width:1000px}
.guide-heading h1 em{color:var(--or)!important}
.guide-body{padding-top:24px}
.guide-body p,.guide-body li{color:var(--lecture)}
.guide-body h2{border-top-color:var(--filet)}
.guide-body a:not(.button){color:var(--texte);text-decoration-color:var(--or)}
.guide-body pre{background:var(--surface-1);color:var(--texte);border-color:var(--filet)}
.guide-next{border-top-color:var(--filet)}
.guide-next a{color:var(--texte)}
.reading-routes a{background:var(--surface-1);border:1px solid var(--filet);border-radius:10px;color:var(--texte)}
.reading-routes a:hover{border-color:var(--or)}
.reading-routes span{color:var(--or)}.reading-routes p{color:var(--texte-2)}
.resource-collection .resource-card{background:var(--surface-1);border:1px solid var(--filet);border-top:2px solid var(--trait);border-radius:10px}
.resource-collection .resource-card:nth-child(even){border-top-color:var(--trait-froid)}
.resource-collection .resource-meta,.legacy .resource-meta,.legacy .section-kicker{color:var(--or)}
.resource-collection .resource-card p{color:var(--texte-2)}
.resource-card h2 a{color:var(--texte)}
.guide-card{background:var(--surface-1);border:1px solid var(--filet);border-radius:10px;color:var(--texte)}
.guide-card:hover{background:var(--surface-2);border-color:var(--or)}
.guide-card>span,.guide-card b{color:var(--or)}.guide-card p{color:var(--texte-2)}

/* La lecture claire : l’interrupteur près du titre (caché tant que le script ne l’a pas branché) */
.lecture-ligne{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:6px}
.page-intro>.lecture-ligne{justify-content:flex-end;margin-bottom:18px}
.lecture-ligne>a{font-size:13.5px;color:var(--texte-2)}
.lecture-bouton{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px 0 12px;border:1px solid var(--bord-champ);border-radius:8px;background:transparent;color:var(--texte);font:550 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
.lecture-bouton::before{content:'';width:14px;height:14px;flex:none;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.lecture-bouton:hover{border-color:var(--or)}
.lecture-bouton[aria-pressed="true"]{border-color:var(--accent);background:var(--surface-2)}
.lecture-bouton[hidden]{display:none}

/* ---------- Tarifs, en clair : le même bloc sur l’accueil et en tête de tarifs.html ---------- */

.tarifs-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,384px);gap:24px;align-items:start}
.tarifs-cadre{padding:6px 30px 26px;border:1px solid var(--filet);border-radius:10px;background:var(--surface-1)}
.tarifs-liste{width:100%;border-collapse:collapse;font-size:15px}
.tarifs-liste th,.tarifs-liste td{padding:21px 0;text-align:left;vertical-align:top;background:none;border-bottom:1px solid var(--filet);overflow-wrap:normal}
.tarifs-liste th{width:27%;padding-right:22px;font-size:16px;line-height:1.4;font-weight:640;letter-spacing:-.01em;color:var(--texte)}
.tarifs-liste td:nth-child(2){padding-right:28px;font-size:14.5px;line-height:1.55;font-weight:400;color:var(--texte-2);text-wrap:pretty}
.tarifs-liste td:last-child{width:1%;text-align:right;white-space:nowrap}
.tarifs-liste .prix{display:block;font-size:17.5px;line-height:1.35;font-weight:680;letter-spacing:-.01em;color:var(--texte);font-variant-numeric:tabular-nums}
.tarifs-liste .prix small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--doux)}
.tarifs-liste .prix-unite{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--doux);white-space:normal;max-width:15em;margin-left:auto}
.tarifs-projets,.tarifs-phrase{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--texte-2)}
.tarifs-projets{margin-top:22px}
.tarifs-phrase+.tarifs-phrase{margin-top:6px}
.tarifs-tva{margin:14px 0 0;font-size:14px;line-height:1.6;font-weight:600;color:var(--texte)}
/* Un repère de maquette se voit : bord pointillé, il attend une réponse avant toute publication */
.repere-maquette{display:inline-block;padding:6px 10px;border:1px dashed var(--doux);border-radius:6px;font-weight:600;color:var(--texte-2)}
.tarifs-cote{display:grid;gap:16px}
.carte-calme{padding:26px 26px 24px;border:1px solid var(--filet);border-radius:10px;background:var(--surface-1)}
.carte-calme h3{margin:0 0 16px;font-size:16px;line-height:1.3;font-weight:650;letter-spacing:-.01em;color:var(--texte)}
.regles{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.regles li{position:relative;padding-left:27px;font-size:14px;line-height:1.55;color:var(--texte-2);text-wrap:pretty}
.regles li::before{content:'';position:absolute;left:3px;top:.42em;width:9px;height:5px;border-left:2px solid var(--or);border-bottom:2px solid var(--or);transform:rotate(-45deg)}
.regles strong{font-weight:620;color:var(--texte)}
.carte-libre h3{margin-bottom:8px;color:var(--or)}
.libre-chapeau{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--texte-2);text-wrap:pretty}
.libre-liste{list-style:none;margin:0;padding:0;display:grid}
.libre-liste li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:10px 0;border-top:1px solid var(--filet);font-size:14.5px;line-height:1.45;color:var(--texte)}
.libre-liste a{color:inherit;text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}
.libre-liste a:hover{color:var(--or)}
.avenir-liste{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.avenir-liste li{padding-left:14px;border-left:2px solid var(--filet-fort);font-size:14px;line-height:1.55;color:var(--texte-2);text-wrap:pretty}
.avenir-liste strong{display:block;margin-bottom:2px;font-weight:640;color:var(--texte)}
.avenir-prix{display:block;margin-top:4px;font-weight:600;color:var(--texte);font-variant-numeric:tabular-nums}
.etiquette{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid color-mix(in srgb,var(--or) 55%,transparent);border-radius:5px;font-size:10.5px;line-height:1;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--or);white-space:nowrap;vertical-align:middle}
.etiquette-calme{border-color:var(--filet-fort);color:var(--doux)}
.exemple-budget{margin-top:6px}
@media(max-width:1080px){.tarifs-grille{grid-template-columns:minmax(0,1fr)}.tarifs-cote{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.carte-avenir{grid-column:1/-1}}
@media(max-width:600px){
  .tarifs-cadre{padding:2px 18px 20px}
  .tarifs-liste,.tarifs-liste tbody,.tarifs-liste th,.tarifs-liste td{display:block;width:auto}
  .tarifs-liste tr{display:grid;grid-template-columns:minmax(0,1fr);padding:18px 0;border-bottom:1px solid var(--filet)}
  .tarifs-liste th,.tarifs-liste td{padding:0;border:0}
  .tarifs-liste td:nth-child(2){margin-top:6px;padding-right:0;font-size:14px}
  .tarifs-liste td:last-child{width:auto;margin-top:10px;text-align:left;white-space:normal}
  .tarifs-liste .prix-unite{max-width:none;margin-left:0}
  .tarifs-cote{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Les trois pages de bénéfices ---------- */

.benefice{padding-block:24px 8px}
.benefice h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;margin:44px 0 16px}
.benefice h2:first-child{margin-top:8px}
.benefice p{color:var(--lecture);line-height:1.75}
.benefice a:not(.button){color:var(--texte);text-decoration-color:var(--or)}
.statuts{list-style:none;margin:8px 0 26px;padding:0;display:grid}
.statuts li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;margin:0;padding:15px 0;border-top:1px solid var(--filet);font-size:16px;line-height:1.5;color:var(--texte)}
.statuts li:last-child{border-bottom:1px solid var(--filet)}

/* ---------- Contact : un formulaire qui travaille, aucune boîte affichée ---------- */

.contact-intake{display:grid;grid-template-columns:minmax(240px,.58fr) minmax(0,1.42fr);gap:clamp(36px,6vw,86px);align-items:start;padding-block:64px 90px}
.contact-intake-heading{position:sticky;top:28px;padding:30px 28px;border-radius:12px;background:var(--surface-1);color:var(--texte);border:1px solid var(--filet-fort)}
.contact-intake-heading .eyebrow{color:var(--doux)}.contact-intake-heading h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.08;margin:22px 0}.contact-intake-heading p{font-size:15px;line-height:1.7;color:var(--texte-2)}
.contact-intake-form{display:grid;gap:22px;min-width:0}
.contact-intake-group{margin:0;padding:clamp(24px,3vw,36px);min-width:0;border:1px solid var(--filet);border-top:2px solid var(--trait);border-radius:12px;background:var(--surface-1)}
.contact-intake-group:nth-of-type(2){border-top-color:var(--trait-froid)}
.contact-intake-group legend{padding:0 12px 0 0;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:640;letter-spacing:-.035em;color:var(--texte)}
.contact-intake-help{max-width:620px;margin:2px 0 24px;color:var(--texte-2);font-size:14px}
.contact-intake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}.contact-intake-field{min-width:0}.contact-intake-full{grid-column:1/-1}
.contact-intake-field label{font-size:14px;line-height:1.45;color:var(--texte);margin-bottom:9px}
.contact-intake-field input:not([type=checkbox]):not([type=radio]),.contact-intake-field textarea,.contact-intake-field select{min-height:51px;border:1px solid var(--bord-champ);border-radius:8px;background:var(--champ);color:var(--texte);padding:13px 14px}
.contact-intake-field textarea{min-height:112px;line-height:1.55}
.contact-intake-field :is(input,textarea,select):hover{border-color:var(--doux)}
.contact-intake-field :is(input,textarea,select)[aria-invalid=true]{border:2px solid var(--erreur-bord);background:var(--erreur-fond)}
.contact-intake-field .field-help{font-size:12.5px;line-height:1.55;color:var(--texte-2)}
.contact-intake-consent{padding:18px 19px;border-radius:10px;background:var(--surface-2);border:1px solid var(--filet-fort)}
.contact-intake-consent label{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:14px}
.contact-intake-consent input{flex:0 0 auto;width:20px;height:20px;margin-top:1px;accent-color:var(--accent)}
.contact-intake-consent .field-help{margin:9px 0 0 32px}
.contact-intake-consent a{color:var(--texte)}
/* « Comment vous répondre » : trois choix, puis le contact qui va avec */
.contact-intake-canal{margin:0;padding:0;border:0;min-width:0}
.contact-intake-canal legend{float:left;width:100%;margin:0 0 10px;padding:0;font-size:14px;line-height:1.45;font-weight:600;color:var(--texte)}
.contact-intake-choix{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.contact-intake-choix label{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:46px;margin:0;padding:0 16px 0 12px;border:1px solid var(--bord-champ);border-radius:8px;font-size:15px;font-weight:550;color:var(--texte);cursor:pointer}
.contact-intake-choix input{display:inline-block;width:18px;height:18px;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}
.contact-intake-choix label:hover{border-color:var(--doux)}
.contact-intake-choix label:has(input:checked){border-color:var(--accent);background:var(--surface-2)}
.contact-intake-requis[hidden]{display:none}
.contact-intake-summary{padding:20px 22px;border:2px solid var(--erreur-bord);border-radius:12px;background:var(--erreur-fond);color:var(--texte)}.contact-intake-summary p{font-weight:700}.contact-intake-summary ul{margin:12px 0 0;padding-left:22px}.contact-intake-summary a{color:var(--erreur)}
.contact-intake-error{margin-top:7px;color:var(--erreur);font-size:13px;font-weight:620}
.contact-intake-actions{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;padding-top:4px}.contact-intake-actions .button{min-width:210px}.contact-intake-actions .field-help{margin:0;max-width:350px}
.contact-intake-status:not(:empty){padding:18px 20px;border-left:4px solid var(--succes-bord);border-radius:0 10px 10px 0;background:var(--succes-fond);color:var(--texte);font-size:14px}
.contact-intake-next{border-top:1px solid var(--filet);background:var(--bande)}

/* ---------- Pied : signé Cristallo Team ---------- */

.footer{background:var(--fond);color:var(--texte);border-top:1px solid var(--filet);padding:76px max(48px,calc((100vw - 1280px)/2)) 30px}
.footer-top{border-color:var(--filet)}
.footer .eyebrow{color:var(--doux)}
.footer-call{color:var(--texte);font-weight:620;line-height:1.13;text-decoration:none}
.footer-call span{color:var(--accent)}
.footer-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.footer-bottom,.footer-bottom p{color:var(--texte-2)}
.footer-bottom p span{color:var(--doux)}
.footer a{color:var(--texte)}.footer a:hover{color:var(--or)}
.footer-sign{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 28px;margin-top:44px;padding-top:22px;border-top:1px solid var(--filet)}
.footer .footer-stamp{display:block;margin:0;font:650 13px/1.5 Inter,system-ui,sans-serif;letter-spacing:0;color:var(--texte-2)}
.footer-marques{margin:0;font-size:12.5px;line-height:1.5;color:var(--doux)}

/* ---------- Tablette et téléphone ---------- */

@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:16px 32px;gap:24px}.brand{flex-basis:205px}.brand img,.brand>svg{width:205px}.header nav{gap:16px;font-size:13px}.header .nav-contact{padding:11px 16px;font-size:13px}.section{padding-block:72px}.document-feature{gap:36px}.document-product{padding:24px}.product-files li{padding:13px 9px}.footer{padding-inline:32px}}
@media(max-width:900px){.header{flex-wrap:wrap;gap:12px}.js .header .menu-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--texte);border:1px solid var(--bord-champ);border-radius:10px;padding:9px 16px;font-size:14px;font-weight:500}.header nav{width:100%;flex-wrap:wrap;gap:10px 22px;font-size:15px}.js .header nav{display:none}.js .header nav.open{display:flex;flex-direction:column;align-items:stretch;padding-top:14px}.header nav a{padding:12px}.header .nav-contact{align-self:flex-start;margin-top:6px}}
@media(max-width:820px){.wrap{width:calc(100% - 44px)}.header{padding:14px 22px}.brand{flex-basis:190px}.brand img,.brand>svg{width:190px}.section{padding-block:56px}.section-head .lead{font-size:18px}.document-feature,.document-intro{grid-template-columns:1fr;gap:36px}.document-feature>figure{order:2}.document-product{padding:26px}.document-intro{padding-block:46px 55px}.document-intro h1{font-size:3rem}.document-intro .lead{font-size:17px}.page-intro{padding-block:44px 40px}.page-intro:not(.document-intro){margin-bottom:28px}.page-intro h1{font-size:clamp(2.5rem,7vw,3.8rem)}.page-intro .lead{font-size:18px}.guide-heading{padding-top:24px}.guide-heading h1{font-size:2.65rem}.guide-heading .lead{font-size:18px}.guide-body{padding-top:6px}.row-offer{padding:28px}.row-offer>div:last-child{border-left:0;border-top-color:var(--filet)}.footer{padding:56px 22px 28px}.footer-bottom{gap:26px;grid-template-columns:1fr}.footer-call{font-size:clamp(2.2rem,6vw,3.5rem)}.contact-intake{grid-template-columns:1fr;gap:28px;padding-top:42px}.contact-intake-heading{position:static}.contact-intake-form{order:2}}
@media(max-width:620px){.contact-intake{padding-bottom:64px}.contact-intake-heading{padding:25px 23px}.contact-intake-group{padding:24px 21px}.contact-intake-grid{grid-template-columns:1fr}.contact-intake-full{grid-column:auto}.contact-intake-field textarea{min-height:148px}.contact-intake-actions{align-items:stretch;flex-direction:column}.contact-intake-actions .button{width:100%}.contact-intake-choix label{flex:1 1 auto}}
@media(max-width:520px){.section h2{font-size:2.35rem;line-height:1.13}.document-intro h1{font-size:2.6rem}.document-product{padding:20px}.document-product .product-top{margin-bottom:22px;font-size:10px}.product-source{padding:22px}.product-source strong{font-size:23px}.product-files{gap:7px}.product-files li{font-size:10px;padding:13px 8px}.product-files b{font-size:12px}.row-offer{padding:25px 23px}.row-offer h2{font-size:1.9rem}.guide-heading h1{font-size:2.25rem}.footer-call{font-size:2.25rem}.document-steps li,.process-grid>div{padding:24px}.document-product>figcaption{font-size:10px}#annuel .wide-note h2{font-size:clamp(1.5rem,7.8vw,1.9rem)}.footer-sign{flex-direction:column}}
@media(max-width:360px){.header{padding-inline:18px}.brand{flex-basis:177px}.brand img,.brand>svg{width:177px}.page-intro h1,.document-intro h1{font-size:2.25rem}.product-files{grid-template-columns:1fr}.product-files li{display:flex;gap:15px;align-items:center}.product-files b{margin:0;min-width:46px}}
@media(prefers-reduced-motion:reduce){a,.solution-card{transition:none;transform:none!important}html{scroll-behavior:auto}}
