
:root{--navy:#06345f;--navy2:#0b4775;--teal:#08a7b7;--blue:#0878c9;--muted:#617d91;--line:#d9e8f0;--soft:#f5f9fc;--white:#fff;--shadow:0 18px 50px rgba(6,52,95,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--navy);background:#fff}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1240px,calc(100% - 32px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;z-index:99;background:#fff;padding:10px}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #edf2f5;backdrop-filter:blur(10px)}.header-row{height:76px;display:flex;align-items:center;gap:30px}.brand img{width:150px}.nav{margin:auto;display:flex;gap:30px}.nav a,.mobile-nav a{text-decoration:none;font-weight:800;font-size:14px}.nav a.active{color:var(--teal)}.phone{background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff;text-decoration:none;border-radius:999px;padding:13px 20px;font-weight:900}.menu-button{display:none;width:44px;border:0;background:none}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px}.mobile-nav{display:none;flex-direction:column;gap:15px;padding:12px 22px 20px}
.hero{min-height:570px;position:relative;overflow:hidden;background:#fff}.hero-photo{position:absolute;right:0;top:0;width:64%;height:100%;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 35%,rgba(255,255,255,.93) 45%,rgba(255,255,255,.36) 64%,rgba(255,255,255,0) 79%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:55% 45%;min-height:570px;align-items:center}.hero-content{max-width:610px;padding:48px 0}.eyebrow{display:inline-flex;border:1.5px solid var(--teal);color:#057d98;background:#f7ffff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:900;letter-spacing:.04em}.hero h1{font-size:clamp(46px,5.4vw,70px);line-height:1.02;letter-spacing:-.04em;margin:18px 0}.hero p{font-size:18px;line-height:1.65;color:#4e6f87;max-width:570px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.hero-points{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.hero-points span{font-size:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#315873}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:950;border-radius:12px;padding:16px 22px;border:0;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;box-shadow:0 10px 25px rgba(8,119,200,.18)}.btn.outline,.btn.secondary{background:#fff;color:var(--navy);border:1px solid #a9c2d3}.btn.full{width:100%}
.section{padding:78px 0}.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:start}.contact-copy h2,.form-head h2,.zones-grid h2{font-size:clamp(34px,4vw,50px);line-height:1.08;margin:14px 0}.contact-copy>p,.form-head p,.zones-grid p{color:#58768b;line-height:1.65}.contact-cards{display:grid;gap:12px;margin-top:28px}.contact-card{display:flex;gap:16px;align-items:center;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 25px rgba(6,52,95,.05)}.contact-card>b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e8f9fa;color:var(--teal);font-size:21px}.contact-card strong,.contact-card span,.contact-card small{display:block}.contact-card span{font-weight:850;margin-top:2px}.contact-card small{color:#71899a;margin-top:3px}.hours-card{margin-top:22px;background:linear-gradient(135deg,#f2fbfc,#f5f9fd);border:1px solid var(--line);border-radius:18px;padding:22px}.hours-card h3{margin-top:0}.hours-card>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #dceaf0}.hours-card p{color:#627c90;font-size:13px;line-height:1.6;margin-bottom:0}.contact-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.fields{display:grid;gap:14px}.fields.two{grid-template-columns:1fr 1fr}label{display:grid;gap:7px;font-size:13px;font-weight:850;margin-bottom:15px}input,select,textarea{width:100%;border:1px solid #d7e4ec;border-radius:11px;padding:14px 13px;color:var(--navy);font:inherit;background:#fff;outline:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,167,183,.12)}.form-actions{display:grid;gap:10px;margin-top:6px}.form-note{font-size:12px!important;color:#6d8292!important;margin-bottom:0}.soft{background:var(--soft)}.zones-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.city-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.city-list span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;text-align:center;font-weight:800;font-size:13px;color:#315873}.final-cta{background:linear-gradient(100deg,#0397a7,#0873c8);color:#fff}.cta-row{min-height:160px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-row span{font-size:29px;font-weight:950}.cta-row p{margin:6px 0 0;color:#def3f8}.cta-button{background:#fff;color:var(--navy);box-shadow:0 12px 28px rgba(6,52,95,.18);min-width:260px}footer{background:#052f5a;color:#fff;padding:45px 0 16px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.footer-grid img{width:165px;filter:brightness(0) invert(1)}.footer-grid p{color:#c7d9e5;line-height:1.6}.footer-grid strong,.footer-grid a,.footer-grid span{display:block}.footer-grid strong{margin-bottom:12px}.footer-grid a,.footer-grid span{color:#d8e6ef;text-decoration:none;margin:8px 0;font-size:13px}.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:14px;margin-top:28px;color:#c7d8e4;font-size:12px}
@media(max-width:950px){.nav{display:none}.menu-button{display:block;margin-left:auto}.mobile-nav.open{display:flex}.hero{min-height:auto}.hero-photo{position:relative;width:100%;height:420px}.hero-fade{display:none}.hero-grid{display:block;min-height:0}.hero-content{padding:38px 0}.contact-grid,.zones-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:min(100% - 20px,1240px)}.header-row{height:66px}.brand img{width:125px}.phone{padding:10px 12px;font-size:0}.phone:after{content:'☎';font-size:20px}.hero-photo{height:310px}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.section{padding:55px 0}.fields.two{grid-template-columns:1fr}.city-list{grid-template-columns:1fr 1fr}.contact-form{padding:20px 15px}.cta-row{display:block;padding:30px 0}.cta-button{width:100%;margin-top:22px}.footer-grid{grid-template-columns:1fr}}


.cta-visible{min-width:260px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:900;letter-spacing:.01em}
.final-cta .cta-visible{background:#fff!important;color:#06345f!important;border:1px solid rgba(255,255,255,.92)!important;box-shadow:0 12px 28px rgba(6,52,95,.18)!important;padding:18px 28px!important;border-radius:16px!important}
.final-cta .cta-visible:hover{opacity:.97}

/* V33 logo normalization */
.header .brand{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.header .brand img,.brand img{width:150px!important;height:auto!important;max-height:64px!important;object-fit:contain!important}
@media(max-width:620px){.header .brand img,.brand img{width:132px!important;max-height:58px!important}}


/* V34 - correction definitive logo header/footer */
.header{min-height:82px;overflow:visible!important}
.header-row{height:82px!important;min-height:82px!important;align-items:center!important}
.header .brand,.brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;height:82px!important;overflow:visible!important}
.header .brand img,.brand img{display:block!important;width:180px!important;max-width:180px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important;filter:none!important;transform:none!important;background:transparent!important;padding:0!important;border-radius:0!important}
footer .footer-brand img,footer .footer-grid img,.footer .footer-grid img,.footer img{width:170px!important;max-width:170px!important;height:auto!important;max-height:64px!important;object-fit:contain!important;object-position:left center!important;filter:none!important;background:#fff!important;border-radius:12px!important;padding:7px!important;box-sizing:border-box!important}
@media(max-width:760px){.header{min-height:68px}.header-row{height:68px!important;min-height:68px!important}.header .brand,.brand{width:155px!important;min-width:155px!important;max-width:155px!important;flex:0 0 155px!important;height:68px!important}.header .brand img,.brand img{width:138px!important;max-width:138px!important;max-height:50px!important}}


/* V35 correction globale : logo header/footer et boutons CTA visibles */
body > header .brand, .header .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  flex:0 0 190px!important;
  height:76px!important;
  overflow:hidden!important;
}
body > header .brand img, .header .brand img, a.brand > img{
  display:block!important;
  width:170px!important;
  max-width:170px!important;
  height:auto!important;
  max-height:54px!important;
  object-fit:contain!important;
  object-position:left center!important;
  aspect-ratio:540/150!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
.cta-band .btn,
.cta-band a.btn,
.cta-band .btn.outline,
.cta-band a.btn.outline,
.cta-row .btn,
.final-cta .btn{
  color:#06345f!important;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.88)!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.cta-band .btn:hover,
.cta-row .btn:hover,
.final-cta .btn:hover{filter:brightness(.98)}
@media(max-width:760px){
  body > header .brand, .header .brand{width:155px!important;min-width:155px!important;max-width:155px!important;flex-basis:155px!important;height:68px!important;}
  body > header .brand img, .header .brand img, a.brand > img{width:138px!important;max-width:138px!important;max-height:48px!important;}
}
