/* Pages légales de guerinmaxime.fr : même direction artistique que la page d'accueil
   (grotesque large Archivo, filets noirs épais, formes primaires), en version lecture longue.
   Une seule DA, comme l'accueil : le site garde ses couleurs même en mode sombre. */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(fonts/archivo-latin-wdth.woff2) format("woff2-variations"),url(fonts/archivo-latin-wdth.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Mise en page : une colonne de lecture (~68 caractères), sommaire en tête, articles séparés par des filets noirs */
:root{
  --bg:#F5F3EE; --ink:#121212; --soft:#6E6B66; --hair:#DCD8D0; --tone:#E7E3DA;
  --red:#D62718; --on-color:#FFFFFF; --todo:#FFE9A8;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.65}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
[hidden]{display:none!important}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-block:0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:761px){.wrap{padding-left:max(clamp(16px,4vw,56px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,56px),env(safe-area-inset-right,0px))}}
.caps{font-weight:500;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--ink);color:var(--bg);padding:10px 14px;text-decoration:none}
.skip:focus{top:12px}

/* Barre du haut */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:3px solid var(--ink)}
.top .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding-block:10px}
.top .mark,.top .back{white-space:nowrap}
.mark{font-weight:900;font-stretch:120%;text-transform:uppercase;letter-spacing:-.01em;font-size:1.05rem;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px}
/* Logo G : anneau bleu, carré rouge, triangle jaune */
.mark::before{content:"";width:22px;height:22px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4 4 92 92'%3E%3Cpath d='M50,4A46,46 0 1 0 96,50H79A29,29 0 1 1 50,21Z' fill='%231D4E9E'/%3E%3Crect x='50' y='50' width='46' height='46' fill='%23D62718'/%3E%3Cpath d='M58,4H96V42Z' fill='%23F2B90C'/%3E%3C/svg%3E") center/contain no-repeat}
.back{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;border-bottom:1px solid currentColor}

/* En-tête du document */
.doc-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px clamp(16px,2.4vw,32px);border-top:8px solid var(--ink);padding-top:18px;margin-top:clamp(32px,6vw,72px)}
.doc-head .shape{width:clamp(34px,5vw,56px);height:clamp(34px,5vw,56px);background:var(--red);margin-top:.2em}
.doc-head .shape.circle{border-radius:50%}
.doc-head .shape.half{border-radius:0 50% 50% 0;background:var(--ink)}
.doc-head .shape.tri{background:none;width:0;height:0;border-left:clamp(17px,2.5vw,28px) solid transparent;border-right:clamp(17px,2.5vw,28px) solid transparent;border-bottom:clamp(30px,4.4vw,50px) solid var(--ink)}
h1{margin:0;font-weight:900;font-stretch:118%;text-transform:uppercase;letter-spacing:-.04em;line-height:.88;font-size:clamp(2.3rem,7vw,5.6rem);text-wrap:balance;min-width:0;overflow-wrap:break-word}
h1 i{font-style:normal;color:var(--red)}
.doc-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 20px;color:var(--soft);margin:0}
@media (max-width:640px){.doc-meta{grid-column:1 / -1}}
.lede{max-width:62ch;font-size:1.15rem;line-height:1.5;margin:clamp(20px,3vw,32px) 0 0;font-weight:500}

/* Sommaire */
.toc{margin-top:clamp(24px,4vw,40px);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding-block:14px}
.toc ol,.toc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:2px 24px}
.toc a{display:flex;gap:10px;min-height:40px;align-items:center;text-decoration:none;font-weight:600}
.toc a:hover{color:var(--red)}
.toc .n{color:var(--soft);font-weight:500;font-variant-numeric:tabular-nums;min-width:2.2em}

/* Corps */
main{padding-bottom:clamp(48px,8vw,96px)}
.doc{display:grid;gap:0}
.doc > section{border-top:3px solid var(--ink);padding-block:clamp(22px,3.4vw,36px);display:grid;gap:14px}
.doc > section:first-child{border-top:0}
h2{margin:0;font-weight:900;font-stretch:115%;text-transform:uppercase;letter-spacing:-.03em;line-height:.95;font-size:clamp(1.35rem,2.8vw,2rem);text-wrap:balance}
h2 .n{color:var(--red);margin-right:.35em;font-variant-numeric:tabular-nums}
h3{margin:8px 0 0;font-weight:800;font-size:1.08rem;letter-spacing:-.01em}
p,li{max-width:68ch}
p{margin:0}
ul.list,ol.list{margin:0;padding-left:1.2em;display:grid;gap:6px}
.note-small{color:var(--soft);font-size:.92rem}
strong{font-weight:700}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--tone);padding:0 .25em;overflow-wrap:anywhere}

/* Fiches « libellé : valeur » (identité, traitements de données) */
.facts{margin:0;display:grid;gap:0;max-width:820px;border-top:1px solid var(--hair)}
.facts > div{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:4px 24px;padding-block:10px;border-bottom:1px solid var(--hair)}
.facts dt{color:var(--soft);font-weight:500}
.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:600px){.facts > div{grid-template-columns:minmax(0,1fr)}}
.card{border:3px solid var(--ink);padding:clamp(14px,2.4vw,24px);display:grid;gap:12px;max-width:860px}
.card h3{margin:0;font-size:1.2rem;font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em}

/* Informations à compléter : surlignées pour être repérées d'un coup d'œil */
.todo{background:var(--todo);color:var(--ink);padding:0 .2em;font-weight:600}

/* Formulaire type de rétractation */
.form-type{border:3px solid var(--ink);padding:clamp(16px,2.6vw,28px);display:grid;gap:12px;max-width:760px;background:var(--bg)}
.form-type p{max-width:none}
.form-type .line{border-bottom:1px solid var(--soft);min-height:2.2em}

/* Pied de page (identique à l'accueil) */
footer{margin-top:0;border-top:8px solid var(--ink)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-block:22px 36px;color:var(--soft)}
.f-links,.f-legal{display:flex;flex-wrap:wrap;gap:8px 24px}
.f-links a,.f-legal a{color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor;text-transform:none;letter-spacing:.06em;overflow-wrap:anywhere}
.f-legal a[aria-current="page"]{color:var(--red)}
@media (max-width:760px){footer .wrap{flex-direction:column;align-items:flex-start}}
