/*
Theme Name: NBA Informatique
Theme URI: https://gitlab.com/otto-studio/nba-informatique
Author: Otto Studio
Author URI: https://insemestudio.com
Description: Thème sur mesure NBA Informatique (infogérance, cybersécurité et informatique médicale en Corse), fidèle à la maquette validée. Contenus éditables par sections (Secure Custom Fields).
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
License URI: https://gitlab.com/otto-studio/nba-informatique
Text Domain: nba
*/

/* Polices auto-hébergées (mêmes familles et graisses que la maquette : Manrope 400..800, Inter 400..600) */
@font-face{font-family:"Manrope";src:url("assets/fonts/manrope-var.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/fonts/inter-var.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}

/* ===== CSS de la maquette (repris tel quel) ===== */
:root{--paper:#F0F0F0;--white:#FFFFFF;--ink:#1C1C1C;--ink-2:rgba(28,28,28,.74);--ink-3:rgba(28,28,28,.55);--line:rgba(28,28,28,.14);--line-2:rgba(28,28,28,.26);--cobalt:#1D3FE0;--cobalt-h:#1735C4;--navy:#0A1A4F;--sky:#DCE4FF;--coral:#F2603C;--coral-h:#D84E2C;--sans:Inter,system-ui,sans-serif;--head:Manrope,Inter,system-ui,sans-serif;--w:1440px;--gutter:40px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#F0F0F0}}
:root[data-theme="dark"]{--paper:#F0F0F0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.inner{max-width:var(--w);margin:0 auto;padding:0 var(--gutter)}
.h{font-family:var(--head);font-weight:800;letter-spacing:-.045em;line-height:.95;margin:0}
.h2{font-size:clamp(40px,4.6vw,64px)}
.h3{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.04em;line-height:1.02}
mark{background:none;color:var(--cobalt)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid transparent;line-height:1;letter-spacing:-.005em;transition:background .15s,border-color .15s,color .15s;cursor:pointer;font-family:var(--sans)}
.btn-c{background:var(--coral);color:#fff}.btn-c:hover{background:var(--coral-h)}
.btn-k{border-color:var(--ink);color:var(--ink);background:transparent}.btn-k:hover{background:var(--ink);color:#fff}
.btn-w{border-color:rgba(255,255,255,.55);color:#fff}.btn-w:hover{border-color:#fff}
.btn-wh{background:#fff;color:var(--ink)}
.btn-b{background:var(--cobalt);color:#fff}.btn-b:hover{background:var(--cobalt-h)}
.btn + .btn{margin-left:10px}
.dot{width:9px;height:9px;border-radius:50%;background:#fff;display:inline-block;margin-right:9px}.dot-c{background:var(--coral)}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* header */
.nav{background:var(--white);color:var(--ink);border-bottom:2px solid var(--ink);position:relative;z-index:20}
.nav .inner{display:flex;justify-content:space-between;align-items:center;height:76px}
.logo{display:inline-flex;align-items:center;text-decoration:none}.logo img{height:44px;width:auto;display:block}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--ink-2)}
.nav ul a{text-decoration:none}.nav ul a:hover,.nav ul a.on{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.nav .tel{display:inline-flex;align-items:center;background:var(--coral);color:#fff;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.nav .tel:hover{background:var(--coral-h)}
.nav .burger{display:none;border:1.5px solid var(--ink);background:none;border-radius:999px;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer}

/* home hero */
.hero{padding:56px 0 48px}
.hero .top{display:grid;grid-template-columns:1.45fr .55fr;gap:56px;align-items:center}
.kicker{font-size:14px;font-weight:500;color:var(--ink-3);margin:0 0 18px}
.hero h1{font-size:clamp(48px,6.2vw,92px);max-width:15ch}
.photo{position:relative;overflow:hidden;background:var(--navy)}
.photo .cap{position:absolute;left:24px;bottom:20px;color:#fff;font-size:13.5px;line-height:1.3;opacity:.9;z-index:2}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(10,26,79,.7), rgba(10,26,79,0) 42%)}
.hero .video{position:relative;aspect-ratio:4/5;width:100%;margin-top:30px;border-radius:24px;overflow:visible;background:none}
.hero .video video{display:block;width:100%;height:100%;object-fit:contain;border-radius:24px}
@media (prefers-reduced-motion: reduce){.hero .video video{display:none}.hero .video .poster{display:block}}
.hero .video .poster{display:none;width:100%;height:100%;object-fit:contain;border-radius:24px}
.hero .sub{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-top:40px}
.lead{font-size:20px;color:var(--ink-2);max-width:52ch;margin:0 0 30px}
.reassure{margin:16px 0 0;font-size:13.5px;color:var(--ink-3)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.facts div{padding:14px 0 14px 20px;border-left:3px solid var(--cobalt);margin-bottom:12px}
.facts b{font-family:var(--head);font-weight:800;font-size:36px;display:block;line-height:1;letter-spacing:-.04em}
.facts span{font-size:13.5px;color:var(--ink-3)}

/* page hero (inner) */
.phero{padding:56px 0 40px;border-bottom:3px solid var(--ink)}
.phero .crumbs{font-size:13.5px;color:var(--ink-3);margin:0 0 20px}.phero .crumbs a{text-decoration:none}.phero .crumbs a:hover{color:var(--ink)}
.phero h1{font-size:clamp(44px,5.6vw,84px);max-width:16ch}
.phero .sub{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-top:36px}
.phero .facts{grid-template-columns:1fr 1fr}

/* partners */
.partners{padding:8px 0 0}
.partners .lbl{font-size:13px;color:var(--ink-3);text-align:center;margin:0 0 14px}
.partners .row{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partners a{display:flex;align-items:center;justify-content:center;height:104px;border-left:1px solid var(--line);text-decoration:none}
.partners a:first-child{border-left:0}
.partners img{height:30px;width:auto;max-width:170px;filter:brightness(0) opacity(.45);transition:filter .2s,transform .2s}
.partners img.mark{height:50px}.partners img.tall{height:56px}
.partners a:hover img{filter:none;transform:translateY(-1px)}

/* band */
.band{height:440px;margin-top:56px}
.band::before{background:linear-gradient(90deg, rgba(10,26,79,.92) 0%, rgba(10,26,79,.7) 38%, rgba(10,26,79,.05) 70%)}
.band img{object-position:right center}
.band .over{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);color:#fff;z-index:2}
.band .over .inner > div{max-width:38ch}
.band h2{font-size:clamp(40px,4.4vw,60px);color:#fff;margin-bottom:14px}
.band p{margin:0 0 24px;font-size:17px;opacity:.85}

/* services cards */
.section{padding:72px 0 80px}
.section.paper{background:var(--paper)}
.section .title{padding-bottom:22px;border-bottom:3px solid var(--ink);margin-bottom:28px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--white);border-radius:20px;padding:30px 28px;min-height:290px;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s}
.card:hover{transform:translateY(-2px)}
.card.big{grid-column:span 2}.card.coral{background:var(--coral);color:#fff}.card.cobalt{background:var(--cobalt);color:#fff}.card.dark{background:#2B2B2B;color:#fff}.card.sky{background:var(--sky)}.card.navy{background:var(--navy);color:#fff}
.card h3{font-family:var(--head);font-weight:800;font-size:28px;letter-spacing:-.04em;line-height:1;margin:0 0 12px}
.card p{margin:0 0 auto;font-size:15px;line-height:1.5;opacity:.86;max-width:46ch}
.card .more{margin-top:24px;font-weight:600;font-size:14.5px}
.card .foot{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.card .foot .more{margin-top:0}
.card .badge{height:20px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.card .tags{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 0}.card .tags span{font-size:12.5px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14)}
.card.mini{min-height:180px;padding:24px}.card.mini h3{font-size:22px}

/* section head (V2) */
.shead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:28px}
.shead p{margin:0;font-size:17px;color:var(--ink-2);max-width:48ch}

/* split: enjeux / réponses */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.split .sticky{position:sticky;top:24px}
.split .sticky p{color:var(--ink-2);font-size:17px;max-width:40ch;margin:18px 0 0}
.rows{border-top:3px solid var(--ink)}
.row{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;padding:26px 0;border-bottom:1px solid var(--line)}
.row .q{font-family:var(--head);font-weight:800;font-size:24px;letter-spacing:-.035em;line-height:1.05}
.row .q small{display:block;font-family:var(--sans);font-weight:500;font-size:12.5px;color:var(--coral);letter-spacing:0;margin-bottom:8px}
.row .a{font-size:15.5px;color:var(--ink-2)}
.row .a small{display:block;font-weight:500;font-size:12.5px;color:var(--cobalt);margin-bottom:8px}

/* included checklist */
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.check{background:var(--white);border-radius:20px;padding:26px 26px 26px 26px;display:flex;gap:16px;align-items:flex-start}
.check i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--cobalt);display:grid;place-items:center}
.check i::after{content:"";width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.check h3{font-family:var(--head);font-weight:800;font-size:20px;letter-spacing:-.03em;margin:2px 0 6px;line-height:1.05}
.check p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:3px solid var(--ink)}
.step{padding:28px 28px 28px 0;border-right:1px solid var(--line);margin-right:28px}
.step:last-child{border-right:0;margin-right:0}
.step b{font-family:var(--head);font-weight:800;font-size:56px;letter-spacing:-.05em;line-height:1;color:var(--cobalt);display:block;margin-bottom:14px}
.step h3{font-family:var(--head);font-weight:800;font-size:22px;letter-spacing:-.03em;margin:0 0 8px;line-height:1.05}
.step p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* stats band */
.stats{background:var(--navy);color:#fff}
.stats .inner{display:grid;grid-template-columns:repeat(4,1fr)}
.stats div{padding:34px 32px;border-left:1px solid rgba(255,255,255,.14)}
.stats div:first-child{border-left:0;padding-left:0}
.stats b{font-family:var(--head);font-weight:800;font-size:52px;display:block;line-height:1;margin-bottom:8px;letter-spacing:-.04em}
.stats span{font-size:14px;opacity:.75}

/* compare table */
.tbl{overflow-x:auto}
table.cmp{width:100%;border-collapse:collapse;font-size:15px}
table.cmp th{text-align:left;font-family:var(--head);font-weight:800;font-size:20px;letter-spacing:-.03em;padding:16px 18px 16px 0;border-bottom:3px solid var(--ink)}
table.cmp th.hi{color:var(--cobalt)}
table.cmp td{padding:16px 18px 16px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
table.cmp td:first-child{color:var(--ink);font-weight:500}
table.cmp td.hi{color:var(--ink);background:var(--sky);padding-left:18px}
table.cmp th.hi{background:var(--sky);padding-left:18px}

/* prose (editorial two col) */
.prose{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.prose .txt p{font-size:17px;color:var(--ink-2);margin:0 0 16px;max-width:64ch}
.prose .txt h3{font-family:var(--head);font-weight:800;font-size:24px;letter-spacing:-.035em;margin:28px 0 10px;line-height:1.05}
.prose .txt ul{margin:0 0 16px;padding-left:20px;color:var(--ink-2);font-size:16.5px}
.prose .txt li{margin-bottom:6px}

/* quote */
.quote{border-left:6px solid var(--coral);padding:8px 0 8px 32px;max-width:60ch}
.quote p{font-family:var(--head);font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;line-height:1.05;margin:0 0 18px}
.quote cite{font-style:normal;font-size:14.5px;color:var(--ink-2)}.quote cite b{display:block;color:var(--ink);font-weight:600}

/* cta band */
.ctab{background:var(--coral);color:#fff}
.ctab.blue{background:var(--cobalt)}
.ctab .inner{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:36px;padding-bottom:36px;flex-wrap:wrap}
.ctab h2{font-size:clamp(28px,3vw,40px);color:#fff}
.ctab p{margin:6px 0 0;opacity:.9;font-size:16px}

/* zones */
.zones{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.zone{background:var(--white);border-radius:20px;padding:24px;min-height:150px;display:flex;flex-direction:column}
.zone.hq{background:var(--ink);color:#fff}
.zone h3{font-family:var(--head);font-weight:800;font-size:24px;letter-spacing:-.035em;margin:0 0 6px;line-height:1}
.zone p{margin:0 0 auto;font-size:14px;opacity:.8}
.zone small{margin-top:14px;font-size:12.5px;font-weight:500;color:var(--cobalt)}.zone.hq small{color:#fff}

/* timeline & about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about p{color:var(--ink-2);max-width:52ch;margin:0 0 16px;font-size:17px}
.timeline{border-top:3px solid var(--ink)}
.timeline div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.timeline b{font-family:var(--head);font-weight:800;font-size:30px;letter-spacing:-.04em;line-height:1;color:var(--cobalt)}
.timeline span{font-size:15px;color:var(--ink-2)}
.portrait{display:grid;grid-template-columns:1fr;gap:16px}
.portrait .photo{aspect-ratio:4/3;height:auto;border-radius:24px}
.portrait .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* faq */
.faq .list{border-top:3px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:24px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-family:var(--head);font-weight:700;font-size:24px;letter-spacing:-.035em;margin:0;line-height:1.05}
.faq summary i{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:600;font-size:22px;line-height:1;transition:transform .2s;flex:none}
.faq details[open] summary i{transform:rotate(45deg)}
.faq .a{padding:0 0 26px;font-size:16px;color:var(--ink-2);max-width:72ch}.faq .a p{margin:0 0 10px}

/* contact */
.contact{padding:72px 0 80px;background:var(--white);border-top:3px solid var(--ink)}
.contact .inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact h2{font-size:clamp(44px,5vw,68px);margin-bottom:18px}
.contact p{margin:0 0 28px;font-size:18px;color:var(--ink-2);max-width:44ch}
.contact .big{font-family:var(--head);font-weight:800;font-size:40px;letter-spacing:-.04em;color:var(--cobalt);text-decoration:none;display:block;line-height:1}
.contact small{display:block;color:var(--ink-3);font-size:13.5px;margin-top:10px}
.form{display:grid;gap:10px;background:var(--paper);border-radius:20px;padding:24px}
.form input,.form select,.form textarea{width:100%;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);border-radius:12px;padding:14px 16px;font:inherit;font-size:15px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--cobalt);outline:none}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form .btn{margin-top:4px}.form .rgpd{font-size:12.5px;color:var(--ink-3);margin:0}
.infos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.info{background:var(--paper);border-radius:16px;padding:18px 20px;font-size:14.5px;color:var(--ink-2)}
.info b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}

/* footer */
.footer{background:var(--navy);color:#fff;padding:64px 0 28px}
.footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px}
.footer .logo{display:block;margin-bottom:18px}.footer .logo img{height:56px;width:auto}
.footer address{font-style:normal;font-size:15px;line-height:1.6;opacity:.85;margin:0 0 22px;max-width:32ch}
.footer h4{margin:0 0 14px;font-size:13.5px;font-weight:600;opacity:.6}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:15px}
.footer ul a{text-decoration:none;opacity:.9}.footer ul a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.footer .legal{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;opacity:.65}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.post{background:var(--white);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.post .ph{height:180px;background:var(--sky)}
.post .ph.n{background:var(--navy)}.post .ph.c{background:var(--cobalt)}
.post div{padding:22px 24px 24px}
.post small{font-size:12.5px;color:var(--coral);font-weight:600}
.post h3{font-family:var(--head);font-weight:800;font-size:22px;letter-spacing:-.035em;margin:8px 0 8px;line-height:1.05}
.post p{margin:0;font-size:14.5px;color:var(--ink-2)}
.article{max-width:76ch;margin:0 auto}
.article p{font-size:17.5px;color:var(--ink-2);margin:0 0 18px}
.article h2{font-size:clamp(28px,3vw,40px);margin:36px 0 12px;letter-spacing:-.04em}
.article ul{color:var(--ink-2);font-size:17px}
.legalp{max-width:76ch}.legalp p,.legalp li{font-size:15.5px;color:var(--ink-2)}.legalp h2{font-size:26px;margin:32px 0 10px}



@media (max-width:1000px){
  .hero .top,.hero .sub,.phero .sub,.shead,.contact .inner,.split,.prose,.about{grid-template-columns:1fr}
  .grid4{grid-template-columns:1fr 1fr}.grid3,.checks,.posts{grid-template-columns:1fr 1fr}.card.big{grid-column:span 2}
  .steps{grid-template-columns:1fr 1fr}.step{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}
  .stats .inner{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0;padding-left:0}
  .zones{grid-template-columns:1fr 1fr}
  .footer .cols{grid-template-columns:1fr}
  .nav ul{display:none}.nav .burger{display:inline-block}
  .nav ul.open{display:grid;position:absolute;left:0;right:0;top:76px;background:#fff;padding:20px var(--gutter) 24px;border-bottom:2px solid var(--ink);gap:14px;font-size:16px}
  .hero .video{max-width:420px}
  .partners .row{grid-template-columns:repeat(3,1fr)}.partners a:nth-child(4){border-left:0}
  .split .sticky{position:static}
  .row{grid-template-columns:1fr;gap:10px}
}
@media (max-width:640px){
  :root{--gutter:20px}
  .grid4,.grid3,.checks,.posts,.steps,.zones,.facts,.infos{grid-template-columns:1fr}.card.big{grid-column:auto}
  .btn + .btn{margin:10px 0 0}.form .two{grid-template-columns:1fr}
  .stats .inner{grid-template-columns:1fr}.stats div{border-left:0;padding-left:0}
  .band{height:360px}
}

/* ===== Compléments WordPress (aucune valeur de design modifiée) ===== */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:100;border-radius:0 0 12px 0;text-decoration:none;font-weight:600}
.skip:focus{left:0}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.nav nav{display:contents}
.nav .tools{display:flex;gap:10px;align-items:center}
.nav ul li{margin:0;padding:0}
.nav ul li.current-menu-item>a,.nav ul li.current-menu-ancestor>a,.nav ul li.nba-on>a{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.reassure b{color:var(--ink);font-weight:600}
.card .btn{margin-top:22px;align-self:flex-start}
.card .more a{text-decoration:none}
.about>div>h2{margin-bottom:22px}.about .timeline{margin-top:28px}
.footer address a{text-decoration:none}
.footer ul li{margin:0}
.cpage{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.cpage h2{margin-bottom:18px}
.cpage .big{font-family:var(--head);font-weight:800;font-size:40px;letter-spacing:-.04em;color:var(--cobalt);text-decoration:none;display:block;line-height:1}
.cpage small{display:block;color:var(--ink-3);font-size:13.5px;margin-top:10px}
.cpage .map{position:relative;height:300px;border-radius:24px;margin-top:28px;background:var(--sky);overflow:hidden}
.cpage .map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cpage .map a{position:absolute;right:12px;bottom:10px;font-size:12.5px;background:#fff;padding:5px 10px;border-radius:999px;text-decoration:none;color:var(--ink-2)}
.article h2,.legalp h2{font-family:var(--head);font-weight:800;letter-spacing:-.04em;line-height:.95}
.article h3{font-family:var(--head);font-weight:800;font-size:24px;letter-spacing:-.035em;line-height:1.05;margin:28px 0 10px}
.article ol{color:var(--ink-2);font-size:17px}
.article img{height:auto;border-radius:16px}.article figure{margin:24px 0}.article figcaption{font-size:13.5px;color:var(--ink-3)}
.article a,.legalp a{color:var(--cobalt)}
.article blockquote{border-left:6px solid var(--coral);margin:24px 0;padding:8px 0 8px 24px}
.article blockquote p{font-family:var(--head);font-weight:800;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.04em;line-height:1.05;color:var(--ink)}
.posts .ph img{width:100%;height:100%;object-fit:cover;display:block}
.pagination{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:10px 16px;border-radius:999px;border:1.5px solid var(--ink);text-decoration:none;font-weight:600;font-size:14.5px;line-height:1}
.pagination .page-numbers.current{background:var(--ink);color:#fff}
.empty{font-size:17px;color:var(--ink-2)}
/* Contact Form 7 (styles CF7 natifs désactivés, remplacés ici) */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important}
.form .wpcf7-form-control-wrap{display:grid}
.form .wpcf7-not-valid-tip{display:block;font-size:12.5px;color:var(--coral);margin-top:4px}
.form .wpcf7-not-valid{border-color:var(--coral)}
.form .wpcf7-response-output{margin:0;padding:12px 14px;border-radius:12px;font-size:14px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink)}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--cobalt);color:var(--cobalt)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:var(--coral);color:var(--coral-h)}
.wpcf7-spinner{display:none}
.wpcf7 form .hidden-fields-container{display:none}
.form button.btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:1000px){.cpage{grid-template-columns:1fr}}
@media (max-width:640px){.hero .video.has-mobile{aspect-ratio:9/16}}
/* Écrans étroits (≤ 480 px) : la maquette laisse le bouton « Appelez-nous » déborder à droite ; on resserre l'en-tête sans changer ses composants. */
@media (max-width:480px){.logo img{height:36px}.nav .tools{gap:8px}.nav .burger{padding:10px 12px}.nav .tel{padding:12px 13px}}

/* ===== Responsive : mobile et grands écrans ===== */

/* Bande partenaires : sous 1000 px, trois logos par ligne dans des colonnes plus étroites que les images
   elles-mêmes (128/125/133 px pour 350 px disponibles) poussaient la page à 426 px de large sur un écran
   de 390 px. Les logos s'adaptent maintenant à leur colonne : plus de défilement horizontal. */
.partners a{min-width:0}
.partners img{max-width:min(170px,100%)}

/* Vidéo du hero : centrée dans sa colonne dès qu'elle est plus étroite qu'elle (tablettes et mobiles). */
@media (max-width:1000px){.hero .video{margin-left:auto;margin-right:auto}}

/* Grands écrans : la colonne de contenu s'élargit par paliers au lieu de rester bloquée à 1440 px,
   et les titres reprennent leur progression en vw (aucune valeur ne change en dessous de 1600 px). */
@media (min-width:1600px){
  :root{--w:1560px;--gutter:56px}
  .hero h1{font-size:clamp(48px,6.2vw,104px)}
  .phero h1{font-size:clamp(44px,5.6vw,96px)}
  .h2{font-size:clamp(40px,4.6vw,72px)}
}
@media (min-width:1920px){:root{--w:1720px;--gutter:72px}}
@media (min-width:2400px){:root{--w:1880px;--gutter:88px}}
/* Bandeau photo : hauteur proportionnelle au-delà de 1440 px, inchangée en deçà. */
@media (min-width:1441px){.band{height:clamp(440px,30vw,620px)}}
