/* Accuvia — feuille de style du site.
   Couleurs de l'identité : --petrol, --brass…  Couleurs d'interface (jour / nuit) : --bg, --text, --heading… */
@font-face{font-family:'Jost';font-weight:400;font-style:normal;font-display:swap;src:url('jost-400.woff2') format('woff2')}
@font-face{font-family:'Jost';font-weight:500;font-style:normal;font-display:swap;src:url('jost-500.woff2') format('woff2')}
@font-face{font-family:'Jost';font-weight:600;font-style:normal;font-display:swap;src:url('jost-600.woff2') format('woff2')}

:root{
  --petrol:#0D3B45; --deep:#082A31; --brass:#B58A2A; --brass-deep:#8A6A1F; --brass-light:#D9B45A;
  --mist:#EDF2F1; --ink:#062227; --slate:#4F6166; --on-dark:#D7E1E0; --white:#FFFFFF;
  --font:'Jost','Century Gothic','Trebuchet MS',Arial,sans-serif;
  /* mode jour */
  color-scheme:light;
  --bg:#FFFFFF; --bg-alt:#EDF2F1; --surface:#FFFFFF; --nav-bg:#FFFFFF; --note-bg:#EDF2F1;
  --text:#062227; --muted:#4F6166; --heading:#0D3B45; --link:#0D3B45; --link-hover:#8A6A1F; --accent-text:#8A6A1F;
  --line:#D5DEDD; --tile-border:#C6D2D1; --rule:#0D3B45; --field-border:#9FB0B1; --field-bg:#FFFFFF; --card-border:transparent;
  --danger:#B3261E; --ok-bg:#E6F2EC; --ok-text:#14532D; --ok-line:#9CC7AF; --bad-bg:#FBEAE8; --bad-text:#8C1D18; --bad-line:#E5A8A2;
  --shadow:rgba(6,34,39,.10);
}
/* mode nuit : choisi avec le bouton (data-theme), ou repris du réglage de l'appareil si le script n'a pas tourné */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#061A1F; --bg-alt:#0A262D; --surface:#0C2D35; --nav-bg:#071F25; --note-bg:#0C2D35;
  --text:#E6EEED; --muted:#A9BCBE; --heading:#F3F7F6; --link:#E6EEED; --link-hover:#D9B45A; --accent-text:#D9B45A;
  --line:#1E4149; --tile-border:#24505A; --rule:#4F7F88; --field-border:#55767C; --field-bg:#071F25; --card-border:#2A5059;
  --danger:#FF8A80; --ok-bg:#123D2A; --ok-text:#BFE8CF; --ok-line:#2F6B4C; --bad-bg:#4A1A17; --bad-text:#F5C6C2; --bad-line:#8C3A34;
  --shadow:rgba(0,0,0,.45);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
    color-scheme:dark;
    --bg:#061A1F; --bg-alt:#0A262D; --surface:#0C2D35; --nav-bg:#071F25; --note-bg:#0C2D35;
    --text:#E6EEED; --muted:#A9BCBE; --heading:#F3F7F6; --link:#E6EEED; --link-hover:#D9B45A; --accent-text:#D9B45A;
    --line:#1E4149; --tile-border:#24505A; --rule:#4F7F88; --field-border:#55767C; --field-bg:#071F25; --card-border:#2A5059;
    --danger:#FF8A80; --ok-bg:#123D2A; --ok-text:#BFE8CF; --ok-line:#2F6B4C; --bad-bg:#4A1A17; --bad-text:#F5C6C2; --bad-line:#8C3A34;
    --shadow:rgba(0,0,0,.45);
  }
  :root:not([data-theme]) .brand .logo-day{display:none}
  :root:not([data-theme]) .brand .logo-night{display:block}
  :root:not([data-theme]) .theme-btn .i-moon{display:none}
  :root:not([data-theme]) .theme-btn .i-sun{display:block}
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:18px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:var(--link)}
a:hover{color:var(--link-hover)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:3px}
.on-dark :focus-visible{outline-color:var(--brass-light)}
.skip{position:absolute;left:12px;top:-80px;z-index:100;padding:10px 16px;border-radius:6px;background:var(--white);color:var(--petrol);font-weight:500}
.skip:focus{top:12px}

.container{max-width:1400px;margin:0 auto;padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px)}
.section{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.bg-mist{background:var(--bg-alt)}
.bg-petrol{background:var(--petrol);color:var(--white)}
.h2{margin:0;font-size:clamp(30px,3.1vw,42px);line-height:1.12;font-weight:500;letter-spacing:-.01em;color:var(--heading);text-wrap:balance}
.bg-petrol .h2{color:var(--white)}
.intro{margin:14px 0 0;font-size:19px;line-height:1.55;color:var(--muted);max-width:62ch}
.ticks{display:block;margin-top:18px}
.gap-top{margin-top:clamp(28px,3.5vw,44px)}

.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:999px;font-size:16px;font-weight:500;line-height:22px;text-decoration:none;white-space:nowrap}
.pill-brass{background:var(--brass);color:var(--ink)}
.pill-brass:hover{background:#C59A34;color:var(--ink)}
.pill-petrol{background:var(--petrol);color:var(--white)}
.pill-petrol:hover{background:var(--deep);color:var(--white)}
.pill-lg{min-height:52px;padding:13px 30px;font-size:17px}
.more{display:inline-block;margin-top:18px;padding:10px 0;font-size:17px;font-weight:500;color:var(--accent-text)}
.ph{border:1px dashed var(--brass);border-radius:4px;padding:0 .3em;color:var(--accent-text);overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.on-dark .ph{color:var(--brass-light);border-color:var(--brass-light)}
.ph-block{margin:16px 0 0;padding:14px 16px;border:1px dashed var(--brass);border-radius:6px;color:var(--accent-text);font-size:16px;line-height:1.5}
.ph-block .ph{border:0;padding:0;white-space:normal}

/* ---------- barre du haut */
.topbar{background:var(--deep);color:var(--on-dark);font-size:15px;line-height:20px}
.topbar-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 28px;padding-top:6px;padding-bottom:6px}
.topbar .loc,.topbar .tel{display:inline-flex;align-items:center;gap:8px}
.topbar-r{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px}
.topbar-r a{display:inline-flex;padding:12px 0;color:var(--on-dark);text-decoration:none}
.topbar-r a:hover{color:var(--white)}
.topbar-r a.pill{padding:10px 22px;color:var(--ink)}
.topbar-r a.pill:hover{color:var(--ink)}
.social{display:flex;align-items:center;gap:18px}
@media (max-width:600px){
  .topbar .loc,.topbar .social{display:none}
  .topbar-in{justify-content:flex-end}
  .topbar-r{flex:1;justify-content:space-between;gap:4px 10px}
}
@media (max-width:420px){
  .topbar-r a.pill{padding:10px 14px;font-size:14px}
  .topbar .tel{gap:6px;font-size:14px}
}

/* ---------- navigation */
.nav{position:relative;z-index:20;background:var(--nav-bg);border-bottom:1px solid var(--line)}
.nav-in{position:relative;display:flex;align-items:center;gap:6px 16px;padding-top:14px;padding-bottom:14px}
.brand{display:block;flex-shrink:0;margin-right:auto}
.brand img{display:block;width:250px;height:auto}
.brand .logo-night{display:none}
:root[data-theme="dark"] .brand .logo-day{display:none}
:root[data-theme="dark"] .brand .logo-night{display:block}
.menu{display:flex;align-items:center;gap:0 30px;font-size:17px;font-weight:500;line-height:22px}
.menu>a,.dd-btn{display:inline-flex;align-items:center;gap:7px;padding:12px 0;border:0;background:none;color:var(--link);font:inherit;text-decoration:none;cursor:pointer}
.menu>a:hover,.dd-btn:hover{color:var(--link-hover)}
.menu>a[aria-current="page"],.dd-btn.current{box-shadow:inset 0 -2px 0 var(--brass)}
.menu>a.lang{min-height:44px;padding:9px 18px;border:1px solid var(--muted);border-radius:999px;font-size:16px;box-shadow:none}
.dd{position:relative}
.dd-btn svg{transition:transform .15s ease}
.dd-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.dd-panel{display:none;position:absolute;left:-20px;top:100%;z-index:30;width:330px;margin:0;padding:8px 0;list-style:none;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brass);box-shadow:0 14px 28px var(--shadow)}
.dd-btn[aria-expanded="true"]+.dd-panel{display:block}
.dd-panel a{display:block;padding:11px 20px;font-size:17px;line-height:1.35;font-weight:400;text-decoration:none}
.dd-panel a:hover,.dd-panel a[aria-current="page"]{background:var(--bg-alt);color:var(--link)}
.dd-panel .all{margin-top:6px;border-top:1px solid var(--line)}
.dd-panel .all a{padding-top:13px;font-weight:500;color:var(--accent-text)}
.theme-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin-left:14px;padding:0;border:1px solid var(--muted);border-radius:50%;background:none;color:var(--link);cursor:pointer}
.theme-btn:hover{color:var(--link-hover);border-color:var(--link-hover)}
.theme-btn svg{display:block}
.theme-btn .i-sun{display:none}
:root[data-theme="dark"] .theme-btn .i-moon{display:none}
:root[data-theme="dark"] .theme-btn .i-sun{display:block}
.burger{display:none}
@media (hover:hover) and (min-width:1080px){
  .dd:hover>.dd-panel{display:block}
}
@media (max-width:1079px){
  .theme-btn{margin-left:0}
  .burger{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border:1px solid var(--muted);border-radius:999px;background:none;color:var(--link);font:inherit;font-size:16px;font-weight:500;cursor:pointer}
  .burger .bars{display:block;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
  .burger .bars::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px clamp(20px,3vw,40px) 22px;background:var(--nav-bg);border-bottom:1px solid var(--line);box-shadow:0 16px 28px var(--shadow)}
  .menu.open{display:flex}
  .menu>a,.dd-btn{width:100%;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);box-shadow:none}
  .menu>a[aria-current="page"],.dd-btn.current{box-shadow:none;color:var(--accent-text)}
  .dd-panel{position:static;width:auto;padding:4px 0 10px 14px;border:0;border-bottom:1px solid var(--line);background:none;box-shadow:none}
  .dd-panel a{padding:10px 0}
  .dd-panel a:hover,.dd-panel a[aria-current="page"]{background:none;color:var(--accent-text)}
  .menu>a.lang{width:auto;align-self:flex-start;margin-top:18px;border:1px solid var(--muted)}
}
@media (max-width:480px){
  .brand img{width:176px}
  .burger{padding:8px 13px}
  .nav-in{gap:6px 10px}
}
@media (max-width:380px){
  .brand img{width:150px}
}
@media (max-width:340px){
  .burger{gap:0;padding:8px 12px}
  .burger .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* ---------- accueil : héros */
.hero{position:relative;overflow:hidden;background:var(--petrol);color:var(--white)}
.hero-map{position:absolute;top:50%;right:calc(max(0px,(100% - 1400px)/2) + 464px);width:clamp(0px,calc((100% - 1200px)*100),min(372px,calc(100% - 1024px)));max-width:none;height:auto;transform:translateY(-50%);pointer-events:none}
.hero-in{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:44px 48px;padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(56px,6vw,88px)}
.hero-text{flex:0 1 500px;min-width:0}
.hero h1,.phero h1{margin:0;font-size:clamp(36px,4vw,56px);line-height:1.08;font-weight:500;letter-spacing:-.012em;text-wrap:balance}
.hero .lead{margin:22px 0 0;font-size:20px;line-height:1.55;color:var(--on-dark);max-width:44ch}
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px 24px;margin:34px 0 0;padding:0;list-style:none}
.badges li{display:flex;align-items:flex-start;gap:10px;font-size:17px;line-height:1.4}
.badges svg{flex-shrink:0;margin-top:1px}

/* ---------- formulaire */
.form-card{flex:0 1 400px;min-width:0;padding:30px;border:1px solid var(--card-border);border-radius:10px;background:var(--surface);color:var(--text)}
.form-card h2{margin:0;font-size:25px;line-height:1.2;font-weight:500;color:var(--heading)}
.form-card .sub{margin:8px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}
.form{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:14px}
.field{min-width:0}
.field label{display:block;margin:0 0 6px;font-size:15px;font-weight:500;color:var(--heading)}
.field input,.field select,.field textarea{display:block;width:100%;height:46px;padding:0 12px;border:1px solid var(--field-border);border-radius:6px;background:var(--field-bg);color:var(--text);font-family:inherit;font-size:16px}
.field select{padding:0 10px}
.field textarea{height:auto;padding:10px 12px;line-height:1.4;resize:vertical}
.field [aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
.err{margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--danger)}
.consent{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 10px}
.consent input{flex-shrink:0;width:20px;height:20px;margin:1px 0 0;accent-color:var(--brass)}
.consent label{flex:1 1 0;min-width:0;font-size:15px;line-height:1.45;color:var(--muted)}
.consent .err{flex:1 0 100%}
.submit{width:100%;min-height:50px;border:0;border-radius:999px;background:var(--brass);color:var(--ink);font-family:inherit;font-size:17px;font-weight:500;cursor:pointer}
.submit:hover{background:#C59A34}
.submit[disabled]{opacity:.6;cursor:progress}
.fine{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin:0;padding:12px 14px;border-radius:6px;font-size:16px;line-height:1.45}
.form-status:empty{display:none}
.form-status.ok{border:1px solid var(--ok-line);background:var(--ok-bg);color:var(--ok-text)}
.form-status.bad{border:1px solid var(--bad-line);background:var(--bad-bg);color:var(--bad-text)}
.form.sent>*:not(.form-status){display:none}

/* ---------- listes de services */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:48px 72px;align-items:start;margin-top:clamp(32px,4vw,52px)}
.svc-grid h3{margin:0 0 14px;font-size:26px;line-height:1.2;font-weight:500;color:var(--heading)}
.rows{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.rows li{border-top:1px solid var(--line)}
.rows a{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 24px;padding:15px 0;text-decoration:none}
.rows .n{flex:0 0 min(100%,250px);font-size:19px;line-height:1.3;font-weight:500;color:var(--heading)}
.rows .d{flex:1 1 260px;font-size:16.5px;line-height:1.5;color:var(--muted)}
.rows a:hover .n{color:var(--link-hover)}
.licence{margin:20px 0 0;font-size:15.5px;line-height:1.5;color:var(--muted)}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin:clamp(28px,3.5vw,44px) 0 0;padding:0 1px 1px 0;list-style:none}
.tiles li{margin:0 -1px -1px 0;border:1px solid var(--tile-border);background:var(--surface)}
.tiles a{display:flex;align-items:center;min-height:76px;padding:14px 20px;font-size:18px;line-height:1.3;font-weight:500;text-decoration:none}
.tiles a:hover{background:var(--petrol);color:var(--white)}

.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:32px 40px}
.rule-item{padding-top:22px;border-top:2px solid var(--rule)}
.rule-item h3{margin:0;font-size:23px;line-height:1.25;font-weight:500;color:var(--heading)}
.rule-item p{margin:12px 0 0;font-size:17.5px;line-height:1.55;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px 24px;margin-top:clamp(36px,4vw,56px)}
.stat .num{font-size:44px;line-height:1.1;font-weight:500;color:var(--heading)}
.stat .lab{margin-top:4px;font-size:17px;line-height:1.4;color:var(--muted)}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:40px 72px;align-items:center}
.split .big{margin:26px 0 0;font-size:19px;line-height:1.6;max-width:56ch}
.split p+p{margin-top:14px}
.photo{display:block;width:100%;border-radius:10px}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;margin-top:clamp(28px,3.5vw,44px)}
.quote{display:flex;flex-direction:column;justify-content:space-between;gap:18px;margin:0;padding:24px;border-top:2px solid var(--rule);background:var(--bg-alt)}
.quote blockquote{margin:0;font-size:18px;line-height:1.5;font-weight:500}
.quote figcaption{font-size:15.5px;color:var(--muted)}

.band{background:var(--brass);color:var(--ink)}
.band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.band .txt{flex:1 1 420px;min-width:0}
.band .h2{color:var(--ink)}
.band p{margin:12px 0 0;font-size:19px;line-height:1.5;max-width:52ch}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:32px 48px;margin:clamp(28px,3.5vw,44px) 0 0;padding:0;list-style:none}
.steps li{padding-top:20px;border-top:1px solid rgba(215,225,224,.35)}
.steps .num{font-size:56px;line-height:1;font-weight:500;color:var(--brass-light)}
.steps h3{margin:16px 0 0;font-size:24px;line-height:1.25;font-weight:500;color:var(--white)}
.steps p{margin:10px 0 0;font-size:17.5px;line-height:1.55;color:var(--on-dark)}

.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:28px 72px;align-items:start}
.faq{border-bottom:1px solid var(--line)}
.faq details{padding:6px 0;border-top:1px solid var(--line)}
.faq summary{padding:14px 0;font-size:20px;line-height:1.35;font-weight:500;color:var(--heading);cursor:pointer}
.faq summary:hover{color:var(--link-hover)}
.faq p{margin:0 0 16px;font-size:17.5px;line-height:1.6;color:var(--muted);max-width:70ch}

.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;margin-top:22px}

/* ---------- pages intérieures : héros avec photo */
.phero{position:relative;overflow:hidden;background:var(--petrol);color:var(--white)}
.phero-in{position:relative;z-index:2;padding-top:clamp(36px,4.5vw,64px);padding-bottom:clamp(44px,5.5vw,84px)}
.phero-text{max-width:600px}
.phero.has-img .phero-text{max-width:min(600px,46%)}
.crumbs{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 24px;padding:0;list-style:none;font-size:15px;line-height:1.4;color:var(--on-dark)}
.crumbs a{color:var(--on-dark)}
.crumbs a:hover{color:var(--white)}
.crumbs li+li::before{content:"›";margin-right:10px;color:var(--brass-light)}
.phero .lead{margin:20px 0 0;font-size:20px;line-height:1.55;color:var(--on-dark);max-width:46ch}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:30px}
.actions .alt{color:var(--on-dark);font-size:17px}
.actions .alt a{color:var(--white);font-weight:500}
.phero-img{position:absolute;top:0;right:0;z-index:0;width:52%;max-width:none;height:100%;object-fit:cover;object-position:72% center}
.phero.has-img::after{content:"";position:absolute;top:0;bottom:0;left:47.9%;z-index:1;width:20%;background:linear-gradient(90deg,var(--petrol) 0%,rgba(13,59,69,0) 100%)}
@media (min-width:900px){
  .phero.has-img .phero-in{display:flex;align-items:center;min-height:clamp(380px,32vw,470px)}
  .phero.has-img .phero-text{flex:1 1 auto}
}
@media (max-width:899px){
  .phero.has-img .phero-text{max-width:600px}
  .phero-img{position:static;display:block;width:100%;height:auto;aspect-ratio:16/9}
  .phero.has-img::after{display:none}
}

/* ---------- pages de service */
.incl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"intro list" "note list";gap:0 72px;align-items:start}
.incl-intro{grid-area:intro}
.incl .checks{grid-area:list}
.incl .note{grid-area:note}
.incl .body{margin:26px 0 0;font-size:19px;line-height:1.6;max-width:52ch}
@media (max-width:899px){
  .incl{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"intro" "list" "note"}
  .incl .checks{margin-top:28px}
}
.checks{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.checks li{display:flex;align-items:flex-start;gap:16px;padding:15px 0;border-top:1px solid var(--line);font-size:18px;line-height:1.45}
.checks li::before{content:"";flex:0 0 2px;align-self:stretch;min-height:1.45em;background:var(--brass)}
.note{margin:28px 0 0;padding:18px 22px;border-left:3px solid var(--brass);background:var(--note-bg);font-size:17px;line-height:1.55;max-width:60ch}
.note strong{display:block;margin-bottom:4px;font-weight:600;color:var(--heading)}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:44px 32px;margin:clamp(28px,3.5vw,44px) 0 0;padding:0;list-style:none}
.card a{display:block;text-decoration:none}
.card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.card h3{margin:16px 0 0;font-size:23px;line-height:1.25;font-weight:500;color:var(--heading)}
.card p{margin:8px 0 0;font-size:17px;line-height:1.5;color:var(--muted)}
.card a:hover h3{color:var(--link-hover)}

.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:40px 72px;align-items:start}
.contact .form-card{width:100%;max-width:560px;border:1px solid var(--line)}
.dl{margin:26px 0 0;padding:0;border-bottom:1px solid var(--line)}
.dl div{padding:13px 0;border-top:1px solid var(--line)}
.dl dt{font-size:15px;line-height:1.4;color:var(--muted)}
.dl dd{margin:2px 0 0;font-size:19px;line-height:1.4;font-weight:500;color:var(--heading)}
.dl dd a{text-decoration:none}

.prose{max-width:72ch}
.prose h2{margin:44px 0 0;font-size:26px;line-height:1.25;font-weight:500;color:var(--heading)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:18px;line-height:1.65}
.prose p{margin:14px 0 0}
.prose ul{margin:12px 0 0;padding-left:22px}
.prose .updated{color:var(--muted);font-size:16px}

/* ---------- pied de page */
.footer{background:var(--deep);color:var(--on-dark)}
.footer-in{padding-top:clamp(48px,6vw,72px);padding-bottom:28px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:40px 48px;align-items:start}
.footer-logo{display:block;width:min(100%,250px)}
.footer .tag{margin:20px 0 0;font-size:16px;line-height:1.5;max-width:30ch}
.footer-social{flex-wrap:wrap;gap:4px 20px;margin-top:14px}
.story{white-space:pre-line}
.footer h2{margin:0 0 8px;font-size:17px;line-height:1.3;font-weight:500;color:var(--white)}
.footer ul{margin:0;padding:0;list-style:none}
.footer a{display:inline-block;padding:7px 0;color:var(--on-dark);font-size:16px;line-height:1.35;text-decoration:none}
.footer a:hover{color:var(--white);text-decoration:underline}
.footer .coords li{padding:7px 0;font-size:16px;line-height:1.35;color:var(--on-dark)}
.footer .coords a{padding:0;color:var(--white);text-decoration:underline;text-decoration-color:rgba(215,225,224,.45);text-underline-offset:3px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 28px;margin-top:44px;padding-top:16px;border-top:1px solid rgba(215,225,224,.28);font-size:15px}
.footer-bottom span{padding:7px 0}
.footer-bottom .legal{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px}
.footer-bottom a{font-size:15px}
.footer-bottom a.lang{font-weight:500;color:var(--white)}

@media (prefers-reduced-motion:reduce){*{transition:none !important}}
@media print{.topbar,.nav,.band,.footer,.form-card{display:none}}
/* pages légales : le temps de savoir si un texte a été saisi dans le tableau de bord, puis vérification anti-robot du formulaire */
.prose.wait{visibility:hidden}
.ts-box:empty{display:none}
.ts-box iframe{margin-bottom:12px}
