/* Intelligence Capital — feuille de style unique.
   Valeurs issues du transfert de design approuvé (README « Jetons », « Sections », « Mouvement »). */

/* ── Polices auto-hébergées (Archivo : titres ; Manrope : texte). Licences SIL OFL 1.1 ── */
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(../fonts/archivo-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(../fonts/archivo-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;
  src:url(../fonts/manrope-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;
  src:url(../fonts/manrope-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --marine:#152B3A; --marine-prof:#0E1E29; --ivoire:#FAF1E3; --ivoire-prof:#F1E6D3; --champ:#FFFDF8;
  --encre:#141615; --charbon:#202321; --texte2:#3A3C39; --mention:#55524B;
  --sur-sombre:#E9E0D0; --etiquette-sombre:#C9C2B5;
  --cuivre:#B94A2C; --cuivre-survol:#9E3D22; --orange:#FF5A00;
  --filet:#8C877D; --filet2:#A9A396; --filet3:#C9C0AF; --filet4:#D9D0C0;
  --nav-h:86px;
  --f-titre:Archivo,"Helvetica Neue",Arial,sans-serif; --f-texte:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}
body{margin:0;background:var(--ivoire);color:var(--charbon);font-family:var(--f-texte);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,picture{display:block;max-width:100%}
a{color:var(--cuivre);text-decoration:none}
a:hover{color:var(--marine)}
input,textarea,button,select{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--cuivre);outline-offset:3px}
.on-dark :focus-visible,.site-header.is-dark :focus-visible{outline-color:var(--ivoire)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ivoire);color:var(--marine);padding:12px 18px;font-weight:700;border-radius:3px}
.skip:focus{top:12px}
[id]{scroll-margin-top:var(--nav-h)}

/* ── En-tête fixe ── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--nav-h);padding:0 40px 0 52px;
  background:var(--ivoire);box-shadow:0 1px 0 var(--filet4);color:var(--marine)}
.site-header .logo{display:flex;flex-shrink:0}
.site-header .logo img{height:62px;width:auto}
.site-header .logo .l-ivoire{display:none}
.site-nav{display:flex;align-items:center;gap:42px;font-size:18px;font-weight:500;letter-spacing:-.005em;white-space:nowrap}
.site-nav a{color:var(--marine);text-underline-offset:6px}
.site-nav a:hover{text-decoration:underline}
.site-nav a[aria-current=page]{text-decoration:underline}
.site-nav .nav-cta{display:flex;align-items:center;height:44px;padding:0 18px;border:2px solid var(--cuivre);border-radius:3px;background:var(--cuivre);color:var(--ivoire);font-weight:500;font-size:17px;text-underline-offset:5px}
.site-nav .nav-cta:hover{color:var(--ivoire);text-decoration:underline}
.menu-btn{display:none;align-items:center;height:44px;min-width:44px;padding:0 14px;background:transparent;border:2px solid var(--marine);border-radius:3px;color:var(--marine);font-size:16px;font-weight:600;cursor:pointer}
/* Transparent sur le hero : seulement si le JS peut le rendre opaque au défilement. */
html.js .site-header.is-over-hero{background:transparent;box-shadow:none;color:var(--ivoire)}
html.js .site-header.is-over-hero .site-nav a:not(.nav-cta){color:var(--ivoire)}
html.js .site-header.is-over-hero .nav-cta{background:transparent;border-color:var(--ivoire);color:var(--ivoire)}
html.js .site-header.is-over-hero .logo .l-marine{display:none}
html.js .site-header.is-over-hero .logo .l-ivoire{display:block}
html.js .site-header.is-over-hero .menu-btn{border-color:var(--ivoire);color:var(--ivoire)}
/* Menu ouvert */
html.js .site-header.menu-open{background:var(--marine);box-shadow:none}
html.js .site-header.menu-open .logo .l-marine{display:none}
html.js .site-header.menu-open .logo .l-ivoire{display:block}
html.js .site-header.menu-open .menu-btn{border-color:var(--ivoire);color:var(--ivoire)}
.menu-panel{display:none}
html.js .menu-panel[data-open=true]{display:flex;flex-direction:column;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:29;background:var(--marine);padding:12px 20px 32px;overflow-y:auto}
.menu-panel a{font-family:var(--f-titre);font-weight:800;font-size:32px;letter-spacing:-.03em;line-height:1.1;color:var(--ivoire);padding:18px 0;border-bottom:1px solid rgba(250,241,227,.22)}
.menu-panel a.panel-cta{margin-top:28px;border:0;display:flex;align-items:center;justify-content:center;height:56px;background:var(--cuivre);color:var(--ivoire);font-family:var(--f-texte);font-weight:700;font-size:19px;letter-spacing:0;border-radius:2px;padding:0}
@media (max-width:1099px){
  .site-nav{display:none}
  html.js .menu-btn{display:flex}
  html:not(.js) .site-header{position:static;height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
  html:not(.js) .site-nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:16px;white-space:normal}
}
@media (max-width:759px){
  :root{--nav-h:64px}
  .site-header{padding:0 16px 0 14px}
  .site-header .logo img{height:40px}
}

/* ── Boutons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--cuivre);color:var(--ivoire);font-weight:700;font-size:19px;height:52px;padding:0 28px;border:0;border-radius:2px;white-space:nowrap;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--cuivre-survol);color:var(--ivoire)}
.btn-lg{font-size:clamp(19px,1.43vw,26px);height:clamp(48px,3.4vw,60px)}
.link-line{display:inline-flex;align-items:center;min-height:44px;color:var(--ivoire);font-weight:600;font-size:clamp(18px,1.3vw,24px);border-bottom:2px solid var(--ivoire)}
.link-line:hover{color:var(--ivoire);border-bottom-color:var(--cuivre)}
.link-arrow{font-weight:700;color:var(--cuivre);text-decoration:underline;text-underline-offset:5px}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;background:var(--marine);color:var(--ivoire);min-height:clamp(700px,58vw,1000px);display:flex;flex-direction:column}
.hero-photo{position:absolute;left:0;right:0;top:-36px;bottom:0;will-change:transform}
.hero-photo picture,.solide .photo picture{display:block;width:100%;height:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:80% 72%}
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,27,38,.34) 0%,rgba(14,27,38,.12) 48%,rgba(14,27,38,0) 70%)}
.hero-sky{display:none}
.hero-body{position:relative;padding:max(84px,5.95vw) 72px clamp(56px,5.2vw,80px)}
.hero h1{font-family:var(--f-titre);font-weight:900;font-stretch:84%;text-transform:uppercase;font-style:normal;color:var(--ivoire);
  font-size:clamp(110px,14.92vw,300px);line-height:.705;letter-spacing:-.032em;margin-left:-.05em}
.hero-sub{font-weight:700;font-size:clamp(24px,2.13vw,40px);line-height:1.13;letter-spacing:-.012em;margin-top:max(14px,1.15vw);max-width:max(560px,55vw);color:var(--ivoire)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px;margin-top:max(18px,1.35vw)}
@media (max-width:759px){
  .hero{min-height:max(920px,100svh)}
  .hero-photo{top:350px}
  .hero-photo::after{content:"";position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(180deg,var(--marine),rgba(21,43,58,0))}
  .hero-photo img{object-position:90% 100%}
  .hero-sky{display:block;position:absolute;left:0;right:0;top:0;height:160px;background:linear-gradient(180deg,var(--marine),rgba(21,43,58,0))}
  .hero-body{padding:104px 20px 56px}
  .hero h1{font-size:min(25.5vw,128px);line-height:.8;letter-spacing:-.03em;margin-left:-.04em;font-stretch:87%}
  .hero-sub{font-size:22px;margin-top:22px;max-width:24ch}
  .hero-actions{gap:14px 28px;margin-top:24px}
  .btn-lg{height:54px}
}

/* ── Panneau ivoire (mouvement de chevauchement) ── */
.rest{position:relative;z-index:3;background:var(--ivoire);will-change:transform}

/* ── Du solide pour la suite ── */
.solide{display:flex;flex-direction:row;align-items:center;gap:28px;padding:16px 31px 18px 19px;background:var(--ivoire)}
.solide .photo{flex:0 0 30.15%;aspect-ratio:463/219;overflow:hidden;background:#2a2c2a}
.solide .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.solide h2{flex:1 1 auto;font-family:var(--f-titre);font-weight:800;font-stretch:100%;font-size:clamp(56px,6.05vw,116px);line-height:.9;letter-spacing:-.045em;color:var(--encre);white-space:nowrap}
.svc{flex:0 0 31.2%;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--filet);padding-left:33px}
.svc a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:8px;padding:14px 0 18px;color:var(--charbon);border-bottom:1px solid var(--filet2)}
.svc a:last-child{border-bottom:0}
.svc a:hover{color:var(--cuivre)}
.svc a:hover .svc-t{color:var(--cuivre)}
.svc-t{font-family:var(--f-titre);font-weight:800;font-size:clamp(22px,1.85vw,34px);letter-spacing:-.03em;line-height:1.05;color:var(--encre)}
.svc-arrow{font-size:26px;line-height:1;align-self:start;padding-top:2px}
.svc-d{grid-column:1/-1;font-size:clamp(16px,1.17vw,20px);line-height:1.32;text-wrap:pretty}
@media (max-width:1179px){
  .solide{flex-direction:column;align-items:stretch;gap:28px;padding:24px 40px 64px}
  .solide .photo{flex:none;aspect-ratio:21/9}
  .solide h2{font-size:10vw}
  .svc{flex:none;border-left:0;padding-left:0}
  .svc-t{font-size:28px}
}
@media (max-width:759px){
  .solide{padding:20px 20px 48px}
  .solide .photo{aspect-ratio:16/10}
  .solide h2{font-size:min(15.5vw,66px)}
  .svc-t{font-size:25px}
  .svc-d{font-size:17px}
}

/* ── Sections génériques ── */
.section{padding:112px 72px;background:var(--ivoire)}
.section.top-rule{border-top:1px solid var(--filet4)}
.h2{font-family:var(--f-titre);font-weight:800;font-size:clamp(52px,5vw,96px);line-height:.92;letter-spacing:-.04em;color:var(--encre)}
.lede{font-size:clamp(19px,1.35vw,23px);line-height:1.45;color:var(--texte2)}
.h3{font-family:var(--f-titre);font-weight:800;font-size:30px;letter-spacing:-.025em;line-height:1.05;color:var(--encre)}
.prose p,.prose li{font-size:18px;line-height:1.55;color:var(--texte2)}
@media (max-width:759px){
  .section{padding:64px 20px 72px}
  .h2{font-size:min(10vw,46px)}
  .lede{font-size:19px}
  .h3{font-size:26px}
}

/* ── Financement d'équipement (image collante + texte) ── */
.equip{display:flex;gap:clamp(40px,4.7vw,80px);align-items:flex-start}
.equip-media{flex:0 0 44%;position:sticky;top:166px;aspect-ratio:4/3;overflow:hidden;background:#2a2c2a}
.equip-media picture{display:block;width:100%;height:100%}
.equip-media img{width:100%;height:100%;object-fit:cover;object-position:46% 58%}
.equip-text{flex:1 1 0;min-width:0;max-width:760px}
.equip-text .lede{margin-top:20px}
.block{border-top:2px solid var(--encre);padding-top:28px;margin-top:64px}
.block:first-of-type{margin-top:56px}
.rows{margin-top:18px}
.rows{list-style:none;padding:0}
.rows>div,.rows>li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--filet3)}
.rows>div:first-child,.rows>li:first-child{border-top:1px solid var(--filet3)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px 72px;align-items:start}
.split-head .lede{margin-top:20px}
.split-body .rows,.split-body .square-list{margin-top:0}
@media (max-width:899px){.split{grid-template-columns:1fr}}
.rows dt,.rows .r-t{font-weight:700;font-size:19px;color:var(--encre)}
.rows dd,.rows .r-d{font-size:17px;color:var(--texte2)}
.inline-list{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:18px;font-family:var(--f-titre);font-weight:700;font-size:clamp(24px,1.85vw,32px);letter-spacing:-.02em;color:var(--encre)}
.note{margin-top:18px;font-size:17px;color:var(--texte2)}
.square-list{margin-top:18px}
.square-list li{display:flex;gap:14px;align-items:baseline;padding:9px 0;font-size:18px;line-height:1.45;color:var(--charbon)}
.square-list li::before{content:"";flex:none;width:10px;height:10px;background:var(--cuivre);transform:translateY(-1px)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}
.cta-row small{font-size:15px;color:var(--mention)}
@media (max-width:899px){
  .equip{flex-direction:column}
  .equip-media{position:relative;top:auto;flex:none;width:100%}
  .equip-text{max-width:none;width:100%}
  .inline-list{font-size:22px}
  .block{margin-top:56px}
}

/* ── Fonds de roulement ── */
.fonds{background:var(--marine);color:var(--sur-sombre)}
.fonds-in{padding:96px 72px 112px}
.fonds-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px 72px}
.fonds-intro .lede{margin-top:20px;max-width:30em}
.fonds-photo{aspect-ratio:7/5;overflow:hidden;background:#0E1E29}
.fonds-photo picture{display:block;width:100%;height:100%}
.fonds-photo img{width:100%;height:100%;object-fit:cover;object-position:42% 50%}
@media (max-width:899px){.fonds-head{grid-template-columns:1fr}}
.fonds .h2{color:var(--ivoire)}
.fonds .lede{color:var(--sur-sombre)}
.cols{display:flex;flex-wrap:wrap;gap:48px 0;margin-top:64px}
.cols>div{flex:1 1 300px;padding:0 36px}
.cols>div:first-child{padding-left:0}
.cols h3{font-family:var(--f-titre);font-weight:800;font-size:26px;letter-spacing:-.025em;color:var(--ivoire);margin-bottom:16px;line-height:1.1}
.cols p,.cols li{font-size:18px;line-height:1.5;color:var(--sur-sombre)}
.cols p+p{margin-top:14px}
.cols li{padding:8px 0;border-bottom:1px solid rgba(250,241,227,.2)}
@media (min-width:1100px){.cols>div+div{border-left:1px solid rgba(250,241,227,.35)}}
@media (max-width:1099px){.cols>div{padding:0}}
.fonds .cta-row{margin-top:48px}
@media (max-width:759px){
  .fonds-in{padding:56px 20px 64px}
}

/* ── Secteurs ── */
.secteurs{background:var(--ivoire);padding:112px 72px 104px}
.sect-head .lede{margin-top:20px}
.sect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 40px;margin-top:64px;align-items:start}
.sect-pic{overflow:hidden;background:#2a2c2a}
.sect-pic{aspect-ratio:3/2}
.sect-pic picture{display:block;width:100%;height:100%}
.sect-pic img{width:100%;height:100%;object-fit:cover}
.sect-a .sect-pic img{object-position:50% 40%}
.sect-b .sect-pic img{object-position:62% 50%}
.sect-c .sect-pic img{object-position:58% 55%}
.s-t{display:block;font-family:var(--f-titre);font-weight:800;font-size:clamp(28px,2.2vw,38px);letter-spacing:-.035em;line-height:1.05;color:var(--encre)}
.sect-card .s-t{margin-top:22px}
.s-d{margin-top:10px;font-size:17px;line-height:1.5;color:var(--texte2)}
.sect-more{margin-top:72px;padding-top:28px;border-top:2px solid var(--encre);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 40px;align-items:baseline}
.sect-more .s-d{margin-top:0}
@media (max-width:899px){
  .secteurs{padding:72px 72px 72px}
  .sect-grid{grid-template-columns:1fr 1fr;gap:44px 28px;margin-top:44px}
  .sect-c{grid-column:1/-1;max-width:calc(50% - 14px)}
  .sect-more{grid-template-columns:1fr;margin-top:52px}
}
@media (max-width:759px){
  .secteurs{padding:64px 20px 64px}
  .sect-grid{grid-template-columns:1fr;gap:44px;margin-top:40px}
  .sect-c{max-width:none}
}

/* ── Accompagnement ── */
.accomp{background:var(--ivoire-prof)}
.accomp .lede{margin-top:20px;max-width:34em}
.steps{display:flex;flex-wrap:wrap;gap:40px 32px;margin-top:64px}
.steps li{flex:1 1 200px;border-top:3px solid var(--charbon);padding-top:18px}
.steps li.s-ic{border-top-color:var(--cuivre)}
.steps li.s-pr{border-top-color:var(--marine)}
.steps .who{display:block;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--charbon)}
.steps .s-ic .who{color:var(--cuivre)}
.steps .s-pr .who{color:var(--marine)}
.steps .t{display:block;margin-top:10px;font-family:var(--f-titre);font-weight:800;font-size:24px;letter-spacing:-.025em;line-height:1.1;color:var(--encre)}
.steps .d{display:block;margin-top:10px;font-size:16px;line-height:1.5;color:var(--texte2)}
.duo{display:flex;flex-wrap:wrap;gap:0;margin-top:64px}
.duo>div{flex:1 1 360px;padding:32px 36px}
.duo .courtier{background:var(--ivoire);border-top:4px solid var(--cuivre)}
.duo .preteur{background:var(--marine);color:var(--sur-sombre)}
.duo h3{font-family:var(--f-titre);font-weight:800;font-size:28px;letter-spacing:-.025em;color:var(--encre)}
.duo .preteur h3{color:var(--ivoire)}
.duo li{padding:9px 0;font-size:18px;border-bottom:1px solid var(--filet3)}
.duo .preteur li{border-bottom-color:rgba(250,241,227,.2);color:var(--sur-sombre)}
.duo ul{margin-top:14px}
@media (max-width:759px){.duo>div{padding:28px 22px}}

/* ── FAQ (details/summary natifs : contenu dans le HTML initial) ── */
.faq{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:flex-start}
.faq-title{flex:1 1 360px}
.faq-list{flex:1.6 1 520px;border-top:2px solid var(--encre)}
.faq details{border-bottom:1px solid var(--filet3)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--f-titre);font-weight:800;font-size:clamp(20px,1.6vw,26px);letter-spacing:-.02em;line-height:1.15;color:var(--encre)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--f-texte);font-weight:500;font-size:28px;line-height:1;color:var(--cuivre)}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 0 24px;max-width:40em;font-size:17px;line-height:1.55;color:var(--texte2)}
.faq .ans p+p{margin-top:12px}
.faq-more{margin-top:28px}

/* ── Contact ── */
.contact{background:var(--marine);color:var(--sur-sombre);display:flex;flex-wrap:wrap;gap:56px 72px;padding:112px 72px}
.contact .c-left{flex:1 1 360px}
.contact .h2{color:var(--ivoire)}
.contact .lede{margin-top:20px;color:var(--sur-sombre)}
.coords{margin-top:40px;border-top:1px solid rgba(250,241,227,.3)}
.coords>div{display:flex;flex-wrap:wrap;gap:4px 24px;padding:16px 0;border-bottom:1px solid rgba(250,241,227,.3)}
.coords dt{flex:0 0 130px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--etiquette-sombre);padding-top:4px}
.coords dd{font-size:19px;color:var(--ivoire)}
.coords a{color:var(--ivoire);text-decoration:underline;text-underline-offset:4px}
.form-card{flex:1.2 1 460px;background:var(--ivoire);color:var(--charbon);padding:40px}
.form-card .row{display:flex;flex-wrap:wrap;gap:20px}
.form-card .row>label{flex:1 1 220px}
.form-card label,.form-card legend{display:block;font-weight:700;font-size:16px;color:var(--encre);margin-top:20px}
.form-card .row>label{margin-top:0}
.form-card .row+.row,.form-card .row+fieldset{margin-top:20px}
.form-card label small,.form-card legend small{font-weight:500;color:var(--mention)}
.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card textarea{display:block;width:100%;margin-top:8px;height:50px;padding:0 14px;background:var(--champ);border:1px solid var(--filet);border-radius:2px;font-size:17px;font-weight:400}
.form-card textarea{height:auto;padding:12px 14px;min-height:120px;resize:vertical}
.form-card input:focus-visible,.form-card textarea:focus-visible{outline:3px solid var(--cuivre);outline-offset:1px;border-color:var(--cuivre)}
.form-card fieldset{border:0;padding:0;margin:0}
.form-card legend{padding:0;margin-top:0}
.needs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.needs label{margin:0;position:relative;flex:1 1 150px}
.needs input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.needs span{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 14px;border:1px solid var(--filet);border-radius:2px;background:var(--champ);font-weight:600;font-size:16px;text-align:center;color:var(--charbon)}
.needs input:checked+span{background:var(--marine);border-color:var(--marine);color:var(--ivoire)}
.needs input:focus-visible+span{outline:3px solid var(--cuivre);outline-offset:2px}
.form-card .legal{margin-top:20px;font-size:14px;line-height:1.5;color:var(--mention)}
.form-card .legal a{text-decoration:underline}
.form-card .btn{width:100%;height:54px;margin-top:24px}
.form-card .btn[disabled]{opacity:.6;cursor:progress}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{margin-top:20px;font-size:17px;font-weight:600}
.form-msg.err{color:#9A2B12;padding:14px 16px;border:1px solid #9A2B12;background:#fff4ef}
.form-ok h3{font-family:var(--f-titre);font-weight:800;font-size:32px;letter-spacing:-.03em;color:var(--encre)}
.form-ok p{margin-top:12px}
.form-ok button{margin-top:20px;background:none;border:0;padding:0;color:var(--cuivre);font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:17px}
@media (max-width:759px){
  .contact{padding:64px 20px;gap:40px}
  .form-card{padding:24px 20px}
}

/* ── Tête de page (pages internes) ── */
.page-head{background:var(--marine);color:var(--ivoire);padding:calc(var(--nav-h) + 72px) 72px 80px}
.page-head .crumbs{font-size:15px;color:var(--etiquette-sombre);margin-bottom:28px}
.page-head .crumbs a{color:var(--sur-sombre);text-decoration:underline;text-underline-offset:3px}
.page-head h1{font-family:var(--f-titre);font-weight:900;font-stretch:90%;font-size:clamp(46px,6.4vw,118px);line-height:.92;letter-spacing:-.035em;color:var(--ivoire);max-width:14em;text-wrap:balance}
.page-head .lede{margin-top:28px;max-width:40em;color:var(--sur-sombre);font-weight:500}
.page-head .cta-row{margin-top:36px}
@media (max-width:759px){.page-head{padding:calc(var(--nav-h) + 40px) 20px 52px}.page-head h1{font-size:min(13vw,56px)}}
.doc{max-width:860px;margin:0 auto}
.doc h2{font-family:var(--f-titre);font-weight:800;font-size:clamp(28px,2.4vw,40px);letter-spacing:-.03em;line-height:1.05;color:var(--encre);margin-top:56px}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{font-size:18px;line-height:1.6;color:var(--texte2);margin-top:14px}
.doc ul{margin-top:10px}
.doc li{position:relative;padding-left:22px;margin-top:8px}
.doc li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--cuivre)}
.doc .meta{font-size:15px;color:var(--mention)}
.todo-box{margin-top:20px;padding:20px 22px;border:2px dashed var(--cuivre);background:#fff4ef;color:var(--encre);font-size:17px}
.two-col{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:flex-start}
.two-col>*{flex:1 1 380px}
.related{display:flex;flex-wrap:wrap;gap:0;border-top:2px solid var(--encre);margin-top:56px}
.related a{flex:1 1 300px;display:block;padding:24px 32px 24px 0;color:var(--encre);border-bottom:1px solid var(--filet3)}
.related a:hover{color:var(--cuivre)}
.related .r-t{display:block;font-family:var(--f-titre);font-weight:800;font-size:26px;letter-spacing:-.03em;line-height:1.05}
.related .r-d{display:block;margin-top:8px;font-size:17px;color:var(--texte2)}

/* ── Pied de page ── */
.site-footer{background:var(--marine-prof);color:var(--sur-sombre);padding:64px 72px 36px}
.foot-top{display:flex;flex-wrap:wrap;gap:40px 72px;justify-content:space-between}
.foot-top img{height:48px;width:auto}
.foot-cols{display:flex;flex-wrap:wrap;gap:32px 72px}
.foot-cols h2{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--etiquette-sombre);margin-bottom:14px}
.foot-cols a{display:block;padding:5px 0;color:var(--ivoire);font-size:17px}
.foot-cols a:hover{text-decoration:underline;color:var(--ivoire)}
.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(250,241,227,.2);display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;font-size:15px;line-height:1.5;color:var(--etiquette-sombre)}
.foot-bottom p{max-width:46em}
.foot-bottom a{color:var(--sur-sombre);text-decoration:underline;text-underline-offset:3px}
@media (max-width:759px){.site-footer{padding:48px 20px 32px}}

/* ── Mouvement : dévoilement des photos (une seule fois, hors écran au chargement) ── */
@media (prefers-reduced-motion:no-preference){
  [data-reveal][data-rv=pending]{clip-path:inset(0 0 100% 0)}
  [data-reveal][data-rv=pending] img{transform:scale(1.06)}
  [data-reveal][data-rv=done]{transition:clip-path .8s cubic-bezier(.2,.7,.2,1)}
  [data-reveal][data-rv=done] img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
}
@media (max-width:759px) and (prefers-reduced-motion:no-preference){
  [data-reveal][data-rv=pending]{clip-path:none;opacity:0}
  [data-reveal][data-rv=pending] img{transform:none}
  [data-reveal][data-rv=done]{transition:opacity .45s ease-out}
}
/* Apparition des titres et blocs : seulement si le JS les a marqués (contenu visible sans JS) */
@media (prefers-reduced-motion:no-preference){
  html.js .rise[data-rv=pending]{opacity:0;transform:translateY(20px)}
  html.js .rise[data-rv=done]{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--rd,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--rd,0ms)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-photo,.rest{transform:none!important}
  .rise{opacity:1!important;transform:none!important}
}
@media print{.site-header,.menu-panel{display:none}}

/* ── Tableau de comparaison ── */
.table-wrap{overflow-x:auto;margin-top:32px;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:620px;border-collapse:collapse;text-align:left}
.cmp th,.cmp td{padding:16px 20px 16px 0;border-bottom:1px solid var(--filet3);vertical-align:top;font-size:17px;line-height:1.5;color:var(--texte2)}
.cmp thead th{font-family:var(--f-titre);font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--encre);border-bottom:2px solid var(--encre)}
.cmp tbody th{font-weight:700;color:var(--encre);width:22%}

/* ── En-tête de page avec visuel ── */
.page-head.has-visual{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px 72px;align-items:end}
.page-head.has-visual h1{font-size:clamp(42px,5vw,92px)}
.ph-img{aspect-ratio:3/2;overflow:hidden;background:#0E1E29}
.ph-img picture{display:block;width:100%;height:100%}
.ph-img img{width:100%;height:100%;object-fit:cover}
.ph-img.fonds img{object-position:42% 50%}
.ph-img.equip img{object-position:42% 50%}
@media (max-width:1099px){.page-head.has-visual{grid-template-columns:1fr}}

/* ── Accessibilité : contrastes mesurés (axe-core, 4 nov. 2026) ── */
.steps .s-ic .who{color:var(--cuivre-survol)} /* cuivre légèrement plus foncé : 4,17 → 5,41 sur le fond beige */
.cmp a,.prose p a,.note a{text-decoration:underline;text-underline-offset:3px}
.table-wrap:focus-visible{outline:3px solid var(--cuivre);outline-offset:2px}
.square-list a{text-decoration:underline;text-underline-offset:3px}
.h2+.lede{margin-top:20px}
.h2+.lede+.table-wrap,.h2+.lede+.rows,.h2+.lede+.square-list{margin-top:28px}

/* ── Figure complémentaire dans une page de service ── */
.fig{margin:40px 0 0;max-width:640px}
.fig-pic{aspect-ratio:3/2;overflow:hidden;background:#2a2c2a}
.fig-pic picture{display:block;width:100%;height:100%}
.fig-pic img{width:100%;height:100%;object-fit:cover}
.fig-wide{max-width:none;margin-top:56px}
.fig-wide .fig-pic{aspect-ratio:17/5}
.fig-wide .fig-pic img{object-position:50% 30%}
.fig-wide figcaption{max-width:760px}
@media (max-width:759px){.fig-wide{margin-top:40px}.fig-wide .fig-pic{aspect-ratio:3/2}}
.fig figcaption{margin-top:14px;font-size:16px;line-height:1.5;color:var(--texte2)}
.ph-img.fonds{aspect-ratio:7/5}
.rows a{text-decoration:underline;text-underline-offset:3px}
