@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-600-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-600-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;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-700-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-700-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;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-800-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/bricolage-800-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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-400-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-400-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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-500-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-500-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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-700-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-700-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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jbmono-400-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jbmono-400-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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jbmono-500-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jbmono-500-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;
}
/* ============================================================
   SOKO — Pages Services · système de design partagé
   DA « Plein Jour » (alignée sur index.html, refonte 2026-08-19)
   Chargée par : services, site-vitrine, employe-ia,
                 site-ecommerce, visibilite-ia-seo
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  --ivory:#F4F1EA;
  --ivory-2:#ECE7DC;
  --ink:#17150F;
  --klein:#2438C9;
  --klein-deep:#1A2A99;
  --stone:#7C766A;
  --line:#DFD9CB;
  --sans:'Instrument Sans',system-ui,sans-serif;
  --disp:'Bricolage Grotesque','Instrument Sans',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--ivory);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
::selection{background:var(--klein);color:var(--ivory)}
:focus-visible{outline:2px solid var(--klein);outline-offset:3px;border-radius:2px}
.drench :focus-visible,footer :focus-visible{outline-color:var(--ivory)}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);line-height:1.05;font-weight:700;letter-spacing:-0.035em}
img,svg{max-width:100%}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--klein);color:var(--ivory);padding:10px 18px;z-index:999;font-family:var(--mono);font-size:13px;text-decoration:none}
.skip-link:focus{left:12px;top:12px}

.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.wrap-n{max-width:940px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.serif-i{font-family:var(--disp);font-style:normal;font-weight:800;letter-spacing:-0.03em}
.kl{color:var(--klein)}

/* ---------- BOUTONS ---------- */
.btn{
  display:inline-block;background:var(--klein);color:var(--ivory);
  padding:14px 30px;text-decoration:none;font-weight:700;font-size:15px;border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.14), 0 10px 26px -14px rgba(36,56,201,.55);
  transition:background .25s, transform .25s, box-shadow .25s;
}
.btn:hover{background:var(--klein-deep);transform:translateY(-2px)}
.btn-sm{padding:10px 20px;font-size:13px}
.btn-inv{background:var(--ivory);color:var(--klein);box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(23,21,15,.08), 0 10px 26px -14px rgba(10,16,60,.5)}
.btn-inv:hover{background:#fffdf6;color:var(--klein-deep)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn-ghost:hover{background:var(--ivory-2);color:var(--ink)}
.link-u{text-decoration:none;font-weight:500;font-size:15px;border-bottom:2px solid var(--klein);padding-bottom:2px;transition:color .25s}
.link-u:hover{color:var(--klein)}
.drench .link-u{border-color:var(--ivory);color:var(--ivory)}
.drench .link-u:hover{color:#fffdf6}

/* ---------- NAV (+ menu Services) ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:color-mix(in srgb, var(--ivory) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.nav .logo{display:inline-flex;align-items:center;text-decoration:none}
.nav .logo img{display:block;height:48px;width:auto}
.nav-links{display:flex;gap:clamp(14px,2.2vw,32px);align-items:center;list-style:none}
.nav-links>li>a{text-decoration:none;font-size:14px;font-weight:500;color:var(--ink);position:relative}
.nav-links>li>a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:100%;background:var(--klein);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links>li>a:not(.btn):hover::after,.nav-links>li>a[aria-current="page"]::after{transform:scaleX(1)}
@media(max-width:900px){.nav-links li.hide-m{display:none}}
@media(max-width:768px){.nav-links{gap:12px}}
/* mobile : la nav ne tient sur une ligne que si le CTA ne se coupe pas */
@media(max-width:600px){
  .nav-in{gap:10px}
  .nav .logo img{height:38px}
  .nav-links{gap:10px}
  .nav-links .btn{padding:9px 14px;font-size:12.5px;white-space:nowrap}
}

/* ---------- HERO ---------- */
.svc-hero{padding:clamp(126px,16vh,180px) 0 clamp(52px,7vh,88px)}
.svc-hero .kicker{display:inline-block;color:var(--stone);border:1px solid var(--line);padding:8px 18px;margin-bottom:26px;background:var(--ivory);border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.svc-hero .kicker b{color:var(--klein);font-weight:500}
.svc-hero h1{font-size:clamp(2.6rem,5.6vw,5rem);margin-bottom:26px;max-width:15em}
.svc-hero h1 .kl{font-size:.95em}
.svc-hero .lead{font-size:clamp(17px,1.4vw,20px);max-width:38em;margin-bottom:32px}
.svc-hero .lead b{font-weight:700}
.hero-ctas{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.micro{font-size:13.5px;color:var(--stone);max-width:38em}
.micro a{color:var(--klein)}
.cartel{margin-top:40px;border:1px solid var(--line);padding:18px 22px;display:flex;gap:clamp(14px,3vw,38px);flex-wrap:wrap;background:color-mix(in srgb, var(--ivory-2) 55%, var(--ivory));border-radius:18px}
.cartel span{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;position:relative;padding-left:16px}
.cartel span::before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;background:var(--klein)}

/* fil d'Ariane */
.crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);padding-top:clamp(96px,12vh,120px)}
.crumb a{color:var(--stone);text-decoration:none;border-bottom:1px solid var(--line)}
.crumb a:hover{color:var(--klein);border-color:var(--klein)}
.crumb+.svc-hero{padding-top:clamp(22px,3vh,34px)}

/* ---------- SECTIONS ---------- */
section{position:relative}
.sec{padding:clamp(64px,9vh,120px) 0}
.sec-alt{background:var(--ivory-2)}
.sec-head{margin-bottom:clamp(36px,5vh,64px)}
.sec-num{color:var(--stone);margin-bottom:14px;display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.sec-num i{font-style:normal;color:var(--klein)}
h2{font-size:clamp(2rem,4vw,3.6rem);max-width:15em}
.sec-sub{margin-top:18px;color:var(--stone);font-size:16.5px;max-width:44em}

/* ---------- CARTES ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:clamp(18px,2.4vw,30px)}
.card{background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column}
.sec-alt .card{background:var(--ivory)}
.card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--klein);margin-bottom:14px;display:block}
.card h3{font-size:21px;margin-bottom:10px;letter-spacing:-0.02em}
.card p{font-size:15px;color:var(--stone);flex:1}
.card .foot{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);border-top:1px solid var(--line);padding-top:12px}

/* carte service (hub) */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.2vw,28px)}
.svc-card{
  display:flex;flex-direction:column;text-decoration:none;background:var(--ivory);
  border:1px solid var(--line);border-radius:24px;padding:clamp(24px,2.8vw,38px);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s, border-color .3s;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(23,21,15,.3);border-color:var(--klein)}
.svc-card.wide{grid-column:1/-1;flex-direction:row;align-items:flex-start;gap:clamp(24px,4vw,60px)}
.svc-card.wide>div:first-child{flex:1.4}
.svc-card.wide>div:last-child{flex:1;border-left:1px solid var(--line);padding-left:clamp(20px,3vw,40px)}
.svc-card .num{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:16px}
.svc-card h3{font-size:clamp(1.5rem,2.4vw,2.1rem);margin-bottom:8px}
.svc-card .base{font-size:15px;color:var(--stone);margin-bottom:20px;max-width:32em}
.svc-card .prix{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-0.04em;line-height:1;color:var(--klein)}
.svc-card .delai{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin:8px 0 18px}
.svc-card ul{list-style:none;font-size:14.5px}
.svc-card li{padding:7px 0 7px 18px;border-top:1px solid var(--line);position:relative;color:var(--ink)}
.svc-card li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;background:var(--klein)}
.svc-card .go{margin-top:20px;font-weight:700;font-size:14.5px;color:var(--klein)}
.svc-card:hover .go{text-decoration:underline;text-underline-offset:4px}
@media(max-width:860px){.svc-grid{grid-template-columns:1fr}.svc-card.wide{flex-direction:column}.svc-card.wide>div:last-child{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:22px;width:100%}}

/* carte phare : drench Klein, comme la section Offres de l'accueil */
.svc-card.feature{background:var(--klein);color:var(--ivory);border-color:var(--klein)}
.svc-card.feature:hover{box-shadow:0 34px 56px -30px rgba(26,42,153,.55)}
.svc-card.feature h3{color:var(--ivory)}
.svc-card.feature h3 .kl{color:color-mix(in srgb, var(--ivory) 82%, var(--klein))}
.svc-card.feature .num{color:color-mix(in srgb, var(--ivory) 66%, var(--klein))}
.svc-card.feature .base{color:color-mix(in srgb, var(--ivory) 88%, var(--klein))}
.svc-card.feature .prix{color:var(--ivory)}
.svc-card.feature .delai{color:color-mix(in srgb, var(--ivory) 74%, var(--klein))}
.svc-card.feature li{color:var(--ivory);border-top-color:color-mix(in srgb, var(--ivory) 26%, transparent)}
.svc-card.feature li::before{background:color-mix(in srgb, var(--ivory) 70%, var(--klein))}
.svc-card.feature .go{color:var(--ivory)}
.svc-card.feature.wide>div:last-child{border-left-color:color-mix(in srgb, var(--ivory) 30%, transparent)}
@media(max-width:860px){.svc-card.feature.wide>div:last-child{border-top-color:color-mix(in srgb, var(--ivory) 30%, transparent)}}

/* ---------- LISTES INCLUS / NON INCLUS ---------- */
.incl{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(24px,3.4vw,56px);align-items:start}
.incl ul{list-style:none}
.incl-in li{position:relative;padding:13px 0 13px 34px;border-top:1px solid var(--line);font-size:16px}
.incl-in li:last-child{border-bottom:1px solid var(--line)}
.incl-in li svg{position:absolute;left:0;top:15px;stroke:var(--klein)}
.incl-in li b{font-weight:700}
.incl-out{background:var(--ivory-2);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,2.6vw,30px)}
.sec-alt .incl-out{background:var(--ivory)}
.incl-out h3{font-size:17px;margin-bottom:6px}
.incl-out p{font-size:14px;color:var(--stone);margin-bottom:16px}
.incl-out li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--stone)}
.incl-out li::before{content:"—";position:absolute;left:0;top:9px;color:var(--stone)}
@media(max-width:860px){.incl{grid-template-columns:1fr}}

/* ---------- BLOC PRIX (drench Klein) ---------- */
.drench{background:var(--klein);color:var(--ivory)}
.drench ::selection{background:var(--ivory);color:var(--klein)}
.drench h2,.drench h3{color:var(--ivory)}
.drench .sec-num{color:color-mix(in srgb, var(--ivory) 60%, var(--klein))}
.drench .sec-num i{color:var(--ivory)}
.price-grid{display:grid;grid-template-columns:1fr .95fr;gap:clamp(28px,4vw,72px);align-items:center}
.price-big{font-family:var(--disp);font-weight:800;letter-spacing:-0.045em;line-height:.95;font-size:clamp(4rem,9vw,7.6rem)}
.price-unit{font-size:.42em;letter-spacing:-0.02em}
.price-delai{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--ivory) 74%, var(--klein));margin-top:14px}
.price-note{font-size:15.5px;color:color-mix(in srgb, var(--ivory) 88%, var(--klein));margin-top:22px;max-width:30em}
.pay{border:1px solid color-mix(in srgb, var(--ivory) 45%, transparent);border-radius:22px;padding:clamp(22px,2.6vw,32px);background:color-mix(in srgb, var(--ivory) 6%, transparent)}
.pay h3{font-size:19px;margin-bottom:16px}
.pay-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid color-mix(in srgb, var(--ivory) 22%, transparent);font-size:15px}
.pay-row b{font-weight:700;white-space:nowrap}
.pay .btn{margin-top:20px;width:100%;text-align:center}
.pay .alt{display:block;margin-top:12px;font-size:13.5px;color:color-mix(in srgb, var(--ivory) 85%, var(--klein));text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--ivory) 45%, transparent);padding-bottom:2px}
.pay .alt:hover{color:#fffdf6}
.modalites{margin-top:clamp(44px,6vh,74px);border:1px solid color-mix(in srgb, var(--ivory) 45%, transparent);border-radius:16px;padding:18px 24px;display:flex;flex-wrap:wrap;gap:10px 32px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--ivory) 85%, var(--klein))}
@media(max-width:860px){.price-grid{grid-template-columns:1fr}}

/* ---------- PROCESSUS ---------- */
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,64px);align-items:baseline;padding:clamp(24px,3.4vh,40px) 0;border-bottom:1px solid var(--line)}
.step-n{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.step h3{font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:-0.03em}
.step p{font-size:15.5px;color:var(--stone);max-width:40em;margin-top:8px}
@media(max-width:640px){.step{grid-template-columns:1fr;gap:6px}}

/* ---------- TABLE ADDONS ---------- */
.tbl-wrap{background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;min-width:520px}
.tbl td{padding:15px 20px;border-bottom:1px solid var(--line);font-size:15px;vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .p{font-family:var(--disp);font-weight:700;white-space:nowrap;letter-spacing:-0.02em}
.tbl .a{text-align:right;width:150px;white-space:nowrap}
.tbl .buy{display:inline-block;background:var(--klein);color:var(--ivory);border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .25s,transform .25s}
.tbl .buy:hover{background:var(--klein-deep);transform:translateY(-2px)}
.tbl .quote{font-size:.85rem;color:var(--stone);text-decoration:none;border-bottom:1px solid var(--line)}
.tbl .quote:hover{color:var(--klein)}

/* ---------- FAQ (natif details/summary) ---------- */
.faq{max-width:880px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--disp);font-weight:700;font-size:clamp(1.02rem,1.5vw,1.3rem);letter-spacing:-0.02em;
  padding:22px 4px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:999px;background:var(--ivory);
  background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));
  background-size:13px 2px,2px 13px;background-position:center,center;background-repeat:no-repeat;
  transition:transform .35s, background-color .25s, border-color .25s;
}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--klein);border-color:var(--klein);background-image:linear-gradient(var(--ivory),var(--ivory)),linear-gradient(var(--ivory),var(--ivory))}
.faq .ans{padding:0 4px 26px;color:var(--stone);font-size:15.5px;max-width:46em}
.faq .ans a{color:var(--klein)}
.faq .ans p+p{margin-top:12px}

/* ---------- CTA FINAL ---------- */
.cta-final{padding:clamp(84px,12vh,150px) 0;text-align:center}
.cta-final h2{font-size:clamp(2.4rem,6vw,5rem);max-width:none;margin:0 auto 24px}
.cta-final p{font-size:16.5px;color:var(--stone);max-width:34em;margin:0 auto 32px}
.cta-final p b{color:var(--ink)}
.cta-final .hero-ctas{justify-content:center}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:var(--ivory);padding:clamp(52px,7vh,86px) 0 40px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px;margin-bottom:44px}
footer .logo img{display:block;height:76px;width:auto}
.foot-log{margin-top:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#A39C8C;border:1px solid #3A362C;display:inline-block;padding:10px 16px}
.foot-log b{color:var(--ivory);font-weight:500}
footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7C766A;margin-bottom:18px;font-weight:500}
footer ul{list-style:none}
footer li{margin-bottom:10px}
footer a{color:var(--ivory);text-decoration:none;font-size:15px}
footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.foot-seo{border-top:1px solid #3A362C;padding-top:26px;margin-bottom:26px}
.foot-seo h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7C766A;margin-bottom:12px;font-weight:500}
.foot-seo-row{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px}
.foot-seo-row a{color:#A39C8C}
.foot-seo-row a:hover{color:var(--ivory)}
.colophon{border-top:1px solid #3A362C;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:#7C766A}
@media(max-width:768px){.foot-grid{grid-template-columns:1fr}}

/* ---------- BARRE CTA MOBILE ---------- */
.mobile-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:94;display:none;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--ivory) 94%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.mobile-cta-bar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.mcb-primary{background:var(--klein);color:var(--ivory);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.mcb-ghost{background:var(--ivory);border:1px solid var(--line);color:var(--ink)}
@media(max-width:768px){.mobile-cta-bar{display:flex}body{padding-bottom:76px}}

/* ---------- REVEALS ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.svc-hero .rv{opacity:1;transform:none;animation:svcUp .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes svcUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1 !important;transform:none !important;transition:none !important}
  *,*::before,*::after{transition-duration:.001s !important;animation:none !important}
}
/* ---------- MENU SERVICES (nav) — autonome, préfixe .nsv ---------- */
.nsv{position:relative}
/* pages SEO (cities.css) : la barre est un flex space-between — sans ça le
   menu resterait collé au logo, loin des autres liens. */
.site-header .nav>.nsv{margin-left:auto}
.nsv>summary{
  list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  font-family:'Instrument Sans',system-ui,sans-serif;font-size:14px;font-weight:500;color:#17150F;
  padding:6px 0;-webkit-tap-highlight-color:transparent;
}
.nsv>summary::-webkit-details-marker{display:none}
.nsv>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s}
.nsv[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.nsv>summary:hover{color:#2438C9}
.nsv-menu{
  position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);
  width:min(320px,calc(100vw - 28px));background:#F4F1EA;border:1px solid #DFD9CB;border-radius:20px;
  padding:10px;box-shadow:0 40px 70px -34px rgba(23,21,15,.42);z-index:60;
}
.nsv[open] .nsv-menu{animation:nsvIn .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes nsvIn{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%)}}
.nsv-menu a{
  display:block;text-decoration:none;color:#17150F;padding:11px 14px;border-radius:14px;
  font-size:14.5px;font-weight:600;line-height:1.35;transition:background .2s,color .2s;
}
.nsv-menu a small{display:block;font-weight:400;font-size:12.5px;color:#7C766A;margin-top:2px;transition:color .2s}
.nsv-menu a:hover,.nsv-menu a:focus-visible{background:#2438C9;color:#F4F1EA}
.nsv-menu a:hover small,.nsv-menu a:focus-visible small{color:rgba(244,241,234,.82)}
.nsv-menu a::after{content:none}
.nsv-all{
  margin-top:6px;border-top:1px solid #DFD9CB;padding-top:8px;
}
.nsv-all a{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#2438C9;font-weight:500}
/* Le menu prend de la place dans la barre : sur mobile, le CTA voisin des
   pages historiques (.nav-cta / .btn-cta-nav) doit rester sur une ligne. */
@media(max-width:600px){
  .nsv>summary{font-size:13.5px}
  .nav-cta,.btn-cta-nav{white-space:nowrap;padding-left:14px;padding-right:14px;font-size:12.5px}
}
@media(max-width:560px){
  .nsv-menu{position:fixed;top:76px;left:14px;right:14px;transform:none;width:auto}
  .nsv[open] .nsv-menu{animation:nsvInM .28s cubic-bezier(.2,.8,.2,1) both}
  @keyframes nsvInM{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.nsv[open] .nsv-menu{animation:none}}
