/* Marle Clean · feuille de style principale */
@font-face{font-family:'Cabin';src:url('../fonts/cabin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat.woff2') format('woff2');font-weight:600 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Cinzel Logo';src:url('../fonts/cinzel-logo.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}

:root{
  --accent:#1e73d8;
  --accent-dark:#135bb3;
  --accent-soft:#eaf2fc;
  --dark:#0b1b33;
  --darker:#081426;
  --ink:#111c2e;
  --body:#4f5663;
  --muted:#6b7380;
  --line:#e2e5ea;
  --grey:#f4f5f7;
  --white:#ffffff;
  --sky:#7fb3f0;
  --maxw:1290px;
  --header-h:84px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;color-scheme:light;scroll-padding-top:calc(var(--header-h) + 16px);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--white);}
body{margin:0;background:var(--white);color:var(--body);font-family:'Cabin',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;color:var(--ink);line-height:1.25;margin:0;text-wrap:balance;}
p{margin:0 0 1em;}
.container{max-width:var(--maxw);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));}
.narrow{max-width:860px;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.ico{width:1em;height:1em;flex:none;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:10px 16px;font-weight:600;}
.skip:focus{top:12px;}
.prose a,.faq-a a,.svc-intro-text a,.about a:not(.btn):not(.link-arrow),.contact-card p a,.lead-dark a,.form a,.form-alert a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover,.faq-a a:hover,.svc-intro-text a:hover{color:var(--ink);}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 30px;border:0;border-radius:2px;cursor:pointer;
  font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:600;font-size:15px;line-height:1;text-transform:uppercase;letter-spacing:.03em;
  background:var(--accent);color:var(--white);transition:background .2s,color .2s,box-shadow .2s,transform .2s;}
.btn:hover{background:var(--ink);box-shadow:0 15px 25px -7px rgba(0,0,0,.18);}
.link-arrow{display:inline-flex;align-items:center;gap:10px;padding:10px 0;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);}
.link-arrow .ico{transition:transform .2s;}
.link-arrow:hover{color:var(--accent);}
.link-arrow:hover .ico{transform:translateX(4px);}

/* Barre supérieure */
.topbar{background:var(--dark);color:rgba(255,255,255,.86);font-size:14.5px;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;}
.topbar p{margin:0;}
.topbar-links{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.topbar-links a{display:inline-flex;align-items:center;gap:8px;color:var(--white);}
.topbar-links a:hover{color:var(--sky);}
.topbar-links .ico{color:var(--sky);}
@media (max-width:900px){.topbar p{display:none;}.topbar-inner{justify-content:center;}}
@media (max-width:767px){.topbar{display:none;}}

/* En-tête */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--white);box-shadow:0 1px 0 var(--line),0 6px 18px -12px rgba(11,27,51,.25);}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);gap:20px;}
.logo{display:block;line-height:0;flex:none;padding:6px 0;}
.logo-svg{height:62px;width:auto;aspect-ratio:422/110;display:block;overflow:visible;}
.nav-right{display:flex;align-items:stretch;align-self:stretch;gap:10px;}
.nav-right>nav{display:flex;}
.nav-links{display:flex;list-style:none;margin:0;padding:0;}
.nav-links>li{display:flex;align-items:center;}
.nav-links a{display:block;padding:10px 13px;font-weight:600;font-size:16.5px;color:var(--ink);}
.nav-links>li>a{position:relative;}
.nav-links>li>a.active::before{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--accent);}
.nav-links a:hover,.nav-links a.active{color:var(--accent);}
.nav-mobile-only{display:none!important;}
.nav-call{align-self:center;margin-left:14px;padding:15px 22px;font-size:14px;}
.nav-toggle{display:none;align-self:center;width:46px;height:46px;background:none;border:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.nav-toggle span{width:26px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* Méga-menu */
.sub-toggle{display:none;}
.has-sub>a::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:9px;}
.submenu{display:none;position:absolute;left:24px;right:24px;top:100%;z-index:80;background:var(--white);padding:34px 36px 0;box-shadow:0 22px 40px -14px rgba(11,27,51,.28);border-top:2px solid var(--accent);}
@media (min-width:1101px){.has-sub:hover .submenu,.has-sub:focus-within .submenu{display:block;}.nav-links.suppress .submenu{display:none;}}
.submenu-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-bottom:26px;}
.sub-title{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 12px;line-height:1.4;}
.submenu ul{list-style:none;margin:0;padding:0;}
.nav-links .submenu a{padding:7px 0;font-size:16px;font-weight:500;color:var(--ink);}
.nav-links .submenu a:hover,.nav-links .submenu a.active{color:var(--accent);}
.submenu-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin:0 -36px;padding:14px 36px;background:var(--grey);}
.nav-links .submenu-foot a{display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.02em;}

@media (max-width:1100px){
  :root{--header-h:72px;}
  .logo-svg{height:48px;}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--dark);padding:8px max(24px,env(safe-area-inset-left,0px)) 24px;display:none;max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow-y:auto;box-shadow:0 20px 30px -12px rgba(0,0,0,.4);}
  .nav-links.open{display:flex;}
  .nav-links>li{display:block;border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-links a{color:var(--white);padding:15px 0;font-size:19px;}
  .nav-links>li>a.active::before{display:none;}
  .nav-links a.active{color:var(--sky);}
  .nav-mobile-only{display:block!important;border-bottom:0!important;}
  .nav-mobile-only a{display:inline-flex;align-items:center;gap:10px;color:var(--sky);font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;}
  .nav-toggle{display:flex;}
  .nav-links>li.has-sub{display:flex;flex-wrap:wrap;align-items:center;}
  .has-sub>a{flex:1;}
  .has-sub>a::after{display:none;}
  .sub-toggle{display:block;position:relative;width:48px;height:48px;background:none;border:0;color:var(--white);cursor:pointer;}
  .sub-toggle::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s;}
  .has-sub.open .sub-toggle::before{transform:translate(-50%,-30%) rotate(225deg);}
  .submenu{position:static;flex-basis:100%;background:transparent;box-shadow:none;border:0;padding:0 0 12px 14px;}
  .has-sub.open .submenu{display:block;}
  .submenu-inner{grid-template-columns:1fr;gap:18px;padding-bottom:6px;}
  .submenu .sub-title{color:var(--sky);}
  .nav-links .submenu a{color:var(--white);font-size:17px;padding:8px 0;}
  .submenu-foot{display:none;}
}
@media (max-width:560px){.nav-call{display:none;}.logo-svg{height:42px;}}

/* Fil d'Ariane */
.crumbs{font-size:15px;margin-bottom:18px;color:rgba(255,255,255,.75);}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0;}
.crumbs li+li::before{content:"›";margin-right:8px;color:rgba(255,255,255,.5);}
.crumbs a{color:var(--white);text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;}
.crumbs a:hover{text-decoration-color:var(--white);}
.crumbs [aria-current]{color:var(--sky);}

/* Accueil : héros */
.hero{position:relative;overflow:hidden;background:var(--dark);color:var(--white);text-align:center;isolation:isolate;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2;}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,27,51,.82),rgba(11,27,51,.72) 55%,rgba(11,27,51,.88));}
.hero-inner{position:relative;max-width:940px;margin:0 auto;padding:140px 20px 110px;}
.hero-kicker{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:18px;}
.hero h1{color:var(--white);font-size:58px;line-height:1.15;margin-bottom:22px;}
.hero-lead{max-width:680px;margin:0 auto 38px;font-size:19.5px;color:rgba(255,255,255,.92);}
.hero-actions{display:flex;gap:26px;justify-content:center;align-items:center;flex-wrap:wrap;}
.hero-tel{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:18px;color:var(--white);}
.hero-tel .ico{color:var(--sky);}
.hero-tel:hover{color:var(--sky);}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;list-style:none;margin:48px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.16);font-size:16px;color:rgba(255,255,255,.92);}
.trust li{display:inline-flex;align-items:center;gap:9px;}
.trust .ico{color:var(--sky);width:18px;height:18px;}
@media (max-width:1024px){.hero h1{font-size:46px;}}
@media (max-width:767px){.hero-inner{padding:84px 20px 70px;}.hero h1{font-size:34px;}.hero-lead{font-size:17.5px;}.trust{justify-content:flex-start;text-align:left;flex-direction:column;align-items:flex-start;max-width:340px;margin-left:auto;margin-right:auto;}}

/* À propos */
.about{padding:100px 0;}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;}
.about h2,.about-grid h2{font-size:34px;margin:0 0 20px;}
.about-box{background:var(--dark);color:var(--white);padding:50px;}
.about-box h3{color:var(--white);font-size:26px;margin-bottom:24px;}
.about-box dl{margin:0 0 30px;}
.about-box dt{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:19px;color:var(--sky);}
.about-box dd{margin:2px 0 18px;color:rgba(255,255,255,.88);}
.about-box .btn{background:var(--white);color:var(--ink);}
.about-box .btn:hover{background:var(--accent);color:var(--white);}
.company-card{background:var(--grey);padding:40px;}
.company-card h3{font-size:22px;margin-bottom:20px;}
.company-card dl{margin:0;display:grid;gap:12px;}
.company-card dl div{display:grid;grid-template-columns:140px 1fr;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;}
.company-card dl div:last-child{border-bottom:0;padding-bottom:0;}
.company-card dt{font-weight:600;color:var(--ink);font-size:16px;}
.company-card dd{margin:0;font-size:16px;}
.company-card .btn{margin-top:24px;}
@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:44px;}}
@media (max-width:767px){.about{padding:56px 0;}.about-box,.company-card{padding:30px 22px;}.company-card dl div{grid-template-columns:1fr;gap:2px;}}

/* Titres de section */
.split-head{padding:80px 0 45px;}
.section-head{max-width:720px;margin:0 auto 50px;text-align:center;}
.section-head h2{font-size:40px;margin:0 0 14px;}
.section-head p{margin:0;}
@media (max-width:767px){.section-head h2{font-size:30px;}.section-head{margin-bottom:34px;}}

.grey{background:var(--grey);}
.section{padding:90px 0;}
@media (max-width:767px){.section{padding:56px 0;}}

/* Pourquoi nous choisir */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.why-grid.four{grid-template-columns:repeat(4,1fr);}
.why-box{background:var(--grey);padding:40px;display:flex;flex-direction:column;}
.grey .why-box{background:var(--white);}
.why-box h3{font-size:22px;margin-bottom:10px;}
.why-box p{flex:1;}
.why-box .link-arrow{align-self:flex-start;}
@media (max-width:1100px){.why-grid.four{grid-template-columns:repeat(2,1fr);}}
@media (max-width:1024px){.why-grid{grid-template-columns:1fr;}}
@media (max-width:767px){.why-box{padding:30px 24px;}.why-grid.four{grid-template-columns:1fr;}}

/* Capacités */
.capab{background:var(--dark);padding-bottom:90px;}
.capab .split-head{padding-top:70px;padding-bottom:45px;}
.capab .split-head h2{color:var(--white);font-size:50px;text-transform:lowercase;}
.capab-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.capab-intro p{color:rgba(255,255,255,.88);font-size:20px;max-width:480px;margin-bottom:30px;}
.capab-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.capab-list a{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:28px;color:var(--white);line-height:1.25;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.capab-list a:hover{color:var(--sky);border-color:var(--sky);}
.capab-box{background:var(--white);padding:50px 50px 44px;}
.capab-box h3{font-size:28px;line-height:1.3;margin-bottom:18px;}
.capab-box ul{list-style:none;padding:0;margin:0 0 26px;}
.capab-box li{display:flex;gap:10px;align-items:flex-start;padding:5px 0;color:var(--ink);}
.capab-box li .ico{color:var(--accent);margin-top:.3em;}
@media (max-width:1024px){.capab-row{grid-template-columns:1fr;gap:40px;}.capab-list a{font-size:22px;}.capab .split-head h2{font-size:36px;}}
@media (max-width:767px){.capab-box{padding:30px 22px;}.capab .split-head{padding-top:50px;padding-bottom:30px;}}

/* Services (accueil) */
.services{padding:90px 0;}
.services-head{max-width:680px;margin:0 auto 50px;text-align:center;}
.services-head h2{font-size:40px;margin:0 0 14px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.service{background:var(--white);padding:40px;border-top:3px solid var(--accent);}
.service h3{font-size:21px;margin-bottom:10px;}
.service>p{font-size:16.5px;}
.service ul{list-style:none;margin:0;padding:0;}
.service li a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);font-weight:600;}
.service li a::after{content:"→";color:var(--accent);transition:transform .2s;}
.service li a:hover{color:var(--accent);}
.service li a:hover::after{transform:translateX(4px);}
.services-more{text-align:center;margin-top:44px;}
@media (max-width:1024px){.services{padding:60px 0;}.services-grid{grid-template-columns:1fr;max-width:640px;margin:0 auto;}.services-head h2{font-size:32px;}}
@media (max-width:767px){.service{padding:30px 22px;}}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;padding:0;}
.step{background:var(--white);padding:40px;}
.step .num{display:block;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:800;font-size:44px;color:var(--accent);line-height:1;margin-bottom:18px;}
.step h3{font-size:21px;margin-bottom:10px;}
.step p{margin:0;}
@media (max-width:900px){.steps{grid-template-columns:1fr;}.step{padding:30px 24px;}}

/* Zone (accueil) */
.zone-band-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;}
.zone-band h2{font-size:34px;margin-bottom:18px;}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.chips li{background:var(--grey);color:var(--ink);padding:9px 16px;border-radius:999px;font-size:15px;font-weight:500;}
.chips-lg li{background:var(--accent-soft);color:var(--accent-dark);font-weight:600;font-size:15.5px;}
@media (max-width:1024px){.zone-band-grid{grid-template-columns:1fr;gap:30px;}.zone-band h2{font-size:28px;}}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start;}
.faq-head h2{font-size:34px;margin-bottom:16px;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;list-style:none;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:18px;color:var(--ink);}
.faq-q::-webkit-details-marker{display:none;}
.faq-q:hover{color:var(--accent);}
.faq-q .plus{flex:none;width:16px;height:16px;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%);}
.faq-q .plus::before{width:16px;height:2px;}
.faq-q .plus::after{width:2px;height:16px;transition:transform .2s,opacity .2s;}
.faq-item[open] .faq-q{color:var(--accent);}
.faq-item[open] .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq-a p{margin:0 0 22px;max-width:70ch;}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:24px;}.faq-head h2{font-size:28px;}.faq-q{font-size:17px;}}

/* Bandeau d'appel */
.cta{background:var(--accent);text-align:center;color:var(--white);}
.cta-inner{max-width:760px;margin:0 auto;padding:90px 24px;}
.cta-title{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:32px;line-height:1.3;color:var(--white);margin-bottom:16px;text-wrap:balance;}
.cta p{color:rgba(255,255,255,.92);}
.cta-actions{display:flex;gap:26px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px;}
.cta .hero-tel .ico{color:var(--white);}
.cta .hero-tel:hover{color:var(--ink);}
.cta .btn{background:var(--white);color:var(--ink);}
.cta .btn:hover{background:var(--ink);color:var(--white);}
@media (max-width:767px){.cta-inner{padding:60px 20px;}.cta-title{font-size:25px;}}

/* Pied de page */
.site-footer{background:var(--dark);color:rgba(255,255,255,.82);font-size:16px;
  --logo-ink:#ffffff;--logo-blue:#5ea4ef;--logo-light:rgba(255,255,255,.55);}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:48px;padding-top:70px;padding-bottom:56px;}
.footer-logo{display:inline-block;line-height:0;margin-bottom:22px;}
.footer-logo .logo-svg{height:62px;}
.f-brand p{max-width:360px;}
.f-title{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin:0 0 16px;}
.f-title-2{margin-top:30px;}
.f-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.f-col a{color:rgba(255,255,255,.82);}
.f-col a:hover,.f-contact a:hover,.fb-inner a:hover{color:var(--sky);}
.f-zone{margin:0;}
.f-contact{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;}
.f-contact li{display:flex;gap:12px;align-items:flex-start;}
.f-contact .ico{color:var(--sky);width:18px;height:18px;margin-top:.25em;}
.f-contact a{color:var(--white);font-weight:600;}
.f-contact.dark a{color:var(--ink);}
.f-contact.dark .ico{color:var(--accent);}
.footer-bottom{background:var(--darker);font-size:14.5px;}
.fb-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 28px;padding-top:18px;padding-bottom:18px;}
.fb-inner p{margin:0;}
.f-legal{display:flex;flex-wrap:wrap;gap:6px 24px;list-style:none;margin:0;padding:0;}
.f-legal a,.f-credit a{color:var(--white);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;}
@media (max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px;}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr;gap:34px;padding-top:50px;padding-bottom:40px;}.fb-inner{flex-direction:column;align-items:flex-start;}}

/* Barre d'action mobile */
.mbar{display:none;}
@media (max-width:767px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:65;background:var(--white);box-shadow:0 -6px 20px -8px rgba(11,27,51,.3);padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));gap:8px;}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.02em;}
  .mbar-call{background:var(--dark);color:var(--white);}
  .mbar-devis{background:var(--accent);color:var(--white);}
}

/* Héros de page */
.page-hero{background:var(--dark);color:var(--white);}
.page-hero .container{padding-top:90px;padding-bottom:80px;}
.page-hero h1{color:var(--white);font-size:50px;margin-bottom:16px;max-width:900px;}
.page-hero p{margin:0;max-width:680px;color:rgba(255,255,255,.9);font-size:19px;}
@media (max-width:767px){.page-hero .container{padding-top:50px;padding-bottom:50px;}.page-hero h1{font-size:32px;}.page-hero p{font-size:17.5px;}}

/* Cartes de service */
.cat-head{max-width:760px;margin-bottom:40px;}
.cat-head h2{font-size:36px;margin-bottom:12px;}
.cat-head p{margin:0;}
.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.svc-cards.three{grid-template-columns:repeat(3,1fr);}
.svc-card{display:flex;flex-direction:column;background:var(--grey);padding:36px;border-bottom:3px solid transparent;transition:border-color .2s,box-shadow .2s,transform .2s;}
.grey .svc-card{background:var(--white);}
.svc-card:hover{border-color:var(--accent);box-shadow:0 18px 30px -18px rgba(11,27,51,.35);transform:translateY(-2px);}
.svc-card h3{font-size:22px;margin-bottom:10px;}
.svc-card p{flex:1;}
.svc-card:hover .link-arrow{color:var(--accent);}
.svc-card:hover .link-arrow .ico{transform:translateX(4px);}
@media (max-width:1024px){.svc-cards.three{grid-template-columns:1fr;}}
@media (max-width:767px){.svc-cards{grid-template-columns:1fr;}.cat-head h2{font-size:28px;}.svc-card{padding:28px 24px;}}
.svc-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;}
.svc-links a{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;}
.svc-links a::after{content:"→";color:var(--accent);}
.svc-links a:hover{color:var(--accent);}
@media (max-width:1024px){.svc-links{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.svc-links{grid-template-columns:1fr;}}
.small-h2{font-size:26px;margin:40px 0 16px;}

/* Page service */
.svc-hero{background:var(--dark);color:var(--white);}
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px;align-items:center;padding-top:70px;padding-bottom:70px;}
.eyebrow-cat{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:12px;}
.svc-hero h1{color:var(--white);font-size:46px;line-height:1.15;margin-bottom:18px;}
.svc-hero .lead{font-size:20px;color:rgba(255,255,255,.9);max-width:580px;margin-bottom:32px;}
.hero-actions.left{justify-content:flex-start;}
.svc-photo{aspect-ratio:4/3;overflow:hidden;background:#1a2a44;}
.svc-photo img{width:100%;height:100%;object-fit:cover;}
.facts{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);padding:34px 36px;}
.facts-title{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:16px;}
.facts dl,.facts-strip dl{margin:0;display:grid;gap:0;}
.facts dl div{padding:14px 0;border-top:1px solid rgba(255,255,255,.12);}
.facts dt,.facts-strip dt{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:2px;}
.facts dd,.facts-strip dd{margin:0;color:var(--white);font-weight:600;font-size:17px;line-height:1.4;}
.facts-strip{border-top:1px solid rgba(255,255,255,.14);padding:26px 0 34px;}
.facts-strip dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
@media (max-width:1024px){.svc-hero-grid{grid-template-columns:1fr;gap:40px;padding-top:50px;padding-bottom:50px;}.facts-strip dl{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:767px){.svc-hero h1{font-size:32px;}.svc-hero .lead{font-size:17.5px;}.facts{padding:26px 22px;}.svc-hero .hero-actions{gap:18px;}}
@media (max-width:480px){.facts-strip dl{grid-template-columns:1fr;gap:14px;}}

.svc-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:70px;align-items:start;}
.svc-intro h2{font-size:34px;margin-bottom:20px;}
.svc-intro-text p{max-width:66ch;}
.mini-title{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:30px 0 14px;}
.steps-card{background:var(--grey);padding:40px;position:sticky;top:calc(var(--header-h) + 24px);}
.steps-card-title{font-size:22px;margin-bottom:22px;}
.steps-list{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;gap:20px;}
.steps-list li{counter-increment:st;position:relative;padding-left:52px;}
.steps-list li::before{content:counter(st);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--white);display:grid;place-items:center;font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:16px;}
.steps-list h3{font-size:17.5px;margin:5px 0 4px;}
.steps-list p{margin:0;font-size:16.5px;}
@media (max-width:1024px){.svc-intro{grid-template-columns:1fr;gap:40px;}.steps-card{position:static;}}
@media (max-width:767px){.svc-intro h2{font-size:28px;}.steps-card{padding:30px 22px;}}

.svc-items{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;}
.svc-item{grid-column:span 4;background:var(--white);padding:30px;}
.svc-items.n7 .svc-item:nth-child(-n+4){grid-column:span 3;}
.svc-items.n5 .svc-item:nth-child(n+4){grid-column:span 6;}
.svc-items.n4 .svc-item{grid-column:span 6;}
.svc-item h3{font-size:19px;line-height:1.35;margin-bottom:10px;}
.svc-item p{margin:0;font-size:16.5px;}
.svc-note{margin-top:30px;background:var(--accent-soft);padding:24px 28px;border-left:4px solid var(--accent);}
.svc-note strong{display:block;font-family:'Montserrat',system-ui,Arial,sans-serif;color:var(--accent-dark);margin-bottom:6px;}
.svc-note p{margin:0;color:var(--ink);}
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.benefit{border-top:3px solid var(--accent);padding-top:22px;}
.benefit h3{font-size:23px;color:var(--ink);margin-bottom:10px;}
.benefit p{margin:0;}
@media (max-width:1024px){.svc-items .svc-item,.svc-items.n7 .svc-item:nth-child(-n+4),.svc-items.n5 .svc-item:nth-child(n+4){grid-column:span 6;}.svc-items.n7 .svc-item:last-child,.svc-items.n5 .svc-item:last-child{grid-column:span 12;}}
@media (max-width:767px){.benefits{grid-template-columns:1fr;gap:28px;}.svc-items .svc-item,.svc-items.n7 .svc-item:nth-child(-n+4),.svc-items.n5 .svc-item:nth-child(n+4),.svc-items.n7 .svc-item:last-child,.svc-items.n5 .svc-item:last-child{grid-column:span 12;}.svc-item{padding:26px 22px;}}

/* Zones */
.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.zone-card{background:var(--white);padding:34px;}
.zone-card h3{font-size:21px;margin-bottom:10px;}
.zone-card p{font-size:16.5px;}
.city-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.city-list li{background:var(--grey);color:var(--ink);font-size:14.5px;font-weight:500;padding:6px 12px;border-radius:999px;}
@media (max-width:1024px){.zone-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:700px){.zone-grid{grid-template-columns:1fr;}.zone-card{padding:28px 22px;}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start;}
.contact-side{display:grid;gap:18px;}
.contact-card{background:var(--grey);padding:28px 30px;}
.cc-label{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px;}
.contact-card>a{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700;font-size:21px;color:var(--ink);overflow-wrap:anywhere;}
.contact-card>a:hover{color:var(--accent);}
.contact-card p{margin:6px 0 0;font-size:16px;}
.contact-card .cc-strong{font-weight:600;color:var(--ink);font-size:17px;}
.form-title{font-size:28px;margin-bottom:24px;}
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form .full{grid-column:1/-1;}
.form label{display:block;font-weight:600;color:var(--ink);font-size:16px;margin-bottom:8px;}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid #c5ccd6;border-radius:2px;background:var(--white);font:inherit;font-size:16px;color:var(--ink);}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);}
.form textarea{min-height:170px;resize:vertical;}
.form .check{display:flex;gap:12px;align-items:flex-start;}
.form .check input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--accent);}
.form .check label{font-weight:400;font-size:15px;color:var(--body);margin:0;}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
.form-note{font-size:14.5px;color:var(--muted);margin:0;}
.form-alert{background:#fdecea;color:#8a1c12;border-left:4px solid #c0392b;padding:14px 18px;margin-bottom:22px;font-size:16px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}.form{grid-template-columns:1fr;}}
@media (max-width:480px){.contact-card>a{font-size:18px;}}

/* Pages légales */
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;align-items:start;}
.legal-toc{position:sticky;top:calc(var(--header-h) + 24px);}
.legal-toc .f-title{color:var(--muted);}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:2px solid var(--line);}
.legal-toc a{display:block;padding:6px 14px;font-size:15.5px;color:var(--ink);}
.legal-toc a:hover{color:var(--accent);}
.prose{max-width:760px;}
.prose section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--line);}
.prose section:last-child{border-bottom:0;}
.prose h2{font-size:26px;margin-bottom:16px;}
.prose ul{padding-left:22px;margin:0 0 1em;}
.prose li{margin-bottom:6px;}
.updated{font-size:15px;color:var(--muted);}
.kv{margin:0 0 1em;display:grid;gap:0;}
.kv div{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);}
.kv dt{font-weight:600;color:var(--ink);}
.kv dd{margin:0;}
@media (max-width:900px){.legal{grid-template-columns:1fr;gap:30px;}.legal-toc{position:static;}}
@media (max-width:600px){.kv div{grid-template-columns:1fr;gap:2px;}}
.lead-dark{font-size:19px;color:var(--ink);}
