/* Identity approved by the owner: royal blue, bright cyan and white. */
.service-card:first-child{border:2px solid #00b9ef}.submenu a:first-child{font-weight:800;background:#eaf7ff}.hero-bottom{flex-wrap:wrap;gap:18px}.submenu{min-width:310px;max-width:calc(100vw - 32px)}
.footer-logo{background:transparent!important}.logo img,.footer-logo img{background:transparent}
:root{--navy:#063775;--deep:#042b60;--blue:#00b9ef;--cyan:#22c4f4;--pale:#f1f7fd;--line:#d5e3f3;--text:#133657;--muted:#506781}
.header{background:#063775;border-bottom-color:#174782;color:#fff}.header nav a:hover,.header nav a[aria-current]{color:#43d4ff}.logo{width:220px}.logo img{width:220px;height:74px;object-fit:contain}.footer-logo{background:#063775;padding:0 8px}.footer-logo img{width:220px;height:78px}.topbar,.footer{background:#042b60}.home-hero{background:radial-gradient(ellipse at 72% 35%,#09559b 0,transparent 55%),#042b60}.home-hero:before{background-image:linear-gradient(90deg,transparent 49.7%,#19bcf1 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#19bcf1 50%,transparent 50.3%)}
.btn,.nav-cta{background:#16c3f4;color:#042b60;font-weight:750}.btn:hover{background:#69dfff;color:#042b60}.btn.light{background:#fff;color:#063775}.btn.outline{background:transparent;color:#063775;border-color:#a7c3df}.btn.outline:hover{background:#e4f5fd}.cta{background:#063775}.cta .eyebrow{color:#50d5fa}.eyebrow,.text-link,.phone-link,.email-link,.meta,.takeaway strong{color:#006a9b}.dark .eyebrow,.home-hero .eyebrow,.side-contact .eyebrow{color:#42d0fa}.submenu{color:#063775}.header .submenu a:hover{color:#063775;background:#e9f5fd}.float-card{border-left-color:#00b9ef}.hero-bottom{border-color:#315994;color:#c0d8ef}.about-photo:after{background:linear-gradient(90deg,transparent 20%,#042b60e6)}.page-banner:after{background:linear-gradient(90deg,#042b60 5%,#042b6090 70%)}.image-caption{background:#042b60cc}.location-panel{background:linear-gradient(135deg,#e4f4fd,#f0f6fc);border-color:#cfdfef}.brand-row span{color:#365b85}.footer h2,.footer .foot-phone{color:white}.foot-bottom{border-color:#254c7e}.nav-toggle{background:transparent;color:white;border-color:#4b75a6}.logo img,.footer-logo img{border-radius:4px}
@media(max-width:1100px){.logo,.logo img{width:175px}.logo img{height:64px}}
@media(max-width:900px){.header nav{background:#063775}.submenu{background:#fff}.header nav .submenu a{color:#063775}.header nav .submenu a:hover{background:#e9f5fd}}
@media(max-width:650px){.logo,.logo img{width:185px}.logo img{height:62px}.footer-logo img{width:220px;height:78px}}
/* Motion: calm reveal on scroll, header state, hero entrance */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}.reveal.in{opacity:1;transform:none}
.header{transition:box-shadow .3s,background .3s}.header.scrolled{box-shadow:0 10px 30px #00183a40}.nav-wrap{transition:min-height .3s,padding .3s}.header.scrolled .nav-wrap{min-height:72px;padding-top:6px;padding-bottom:6px}.logo img{transition:height .3s}.header.scrolled .logo img{height:58px}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.js .hero-copy>*,.js .page-banner .wrap>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.js .hero-copy>:nth-child(2),.js .page-banner .wrap>:nth-child(2){animation-delay:.1s}.js .hero-copy>:nth-child(3),.js .page-banner .wrap>:nth-child(3){animation-delay:.2s}.js .hero-copy>:nth-child(n+4){animation-delay:.3s}.js .hero-visual{animation:rise 1s .25s cubic-bezier(.2,.7,.2,1) both}
.service-card,.blog-card{transition:transform .3s,box-shadow .3s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #052d4914}.blog-card>a{overflow:hidden;display:block}.blog-card>a img{transition:transform .6s}.blog-card:hover>a img{transform:scale(1.04)}
/* Scroll-driven extras (progressive: ignored where unsupported) */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#22c4f4;transform-origin:0 50%;transform:scaleX(0);z-index:60}
@supports (animation-timeline:scroll()){
 @keyframes grow{to{transform:scaleX(1)}}.read-progress{animation:grow linear both;animation-timeline:scroll(root)}
 @keyframes drift{from{transform:translateY(-6%) scale(1.12)}to{transform:translateY(6%) scale(1.12)}}.banner-img,.about-photo>img{animation:drift linear both;animation-timeline:view()}
}
/* WhatsApp */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;align-items:center;gap:9px;background:#25d366;color:#fff;border-radius:40px;padding:12px 18px 12px 14px;font-weight:700;font-size:.92rem;box-shadow:0 10px 28px #0b3d2240;transition:transform .25s,box-shadow .25s;animation:rise .6s 1.2s both}.wa-float:hover{transform:translateY(-3px);box-shadow:0 14px 34px #0b3d2255}.wa-float svg{width:26px;height:26px}.wa-float:focus-visible{outline:3px solid #063775;outline-offset:3px}
.btn.wa-btn{background:#25d366;color:#07351b}.btn.wa-btn:hover{background:#4be382;color:#07351b}.form-actions{display:flex;gap:14px;flex-wrap:wrap}.form-actions svg{width:22px;height:22px}
@media(max-width:650px){.wa-float{padding:14px;right:16px;bottom:16px}.wa-float span{display:none}.foot-bottom{padding-bottom:90px}}
/* Communes (domicile) */
.communes{list-style:none;padding:0;margin:0 0 35px;display:flex;flex-wrap:wrap;gap:10px}.communes li{border:1px solid var(--line);background:var(--pale);border-radius:30px;padding:6px 14px;font-size:.88rem;color:var(--navy)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.read-progress{display:none}}
.contact-layout>div>.wa-btn{margin-bottom:28px;gap:10px}
.hero-rating{display:flex;align-items:center;gap:7px;color:#fff;font-weight:700}.hero-rating svg{width:18px;height:18px;color:#ffc83d}.hero-rating:hover{color:#43d4ff}
.review-cta{margin:22px 0 0;font-size:.92rem}.review-cta a{color:#006a9b;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.brand-row{justify-content:center;gap:22px 44px}
/* Live opening status */
.topbar .wrap{align-items:center;gap:18px}.topbar .wrap>a{margin-left:auto}
.open-status{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;color:#ffd0d0}.open-status:before{content:'';width:8px;height:8px;border-radius:50%;background:#ff6b6b}
.open-status.is-open{color:#b8f5cf}.open-status.is-open:before{background:#25d366;box-shadow:0 0 0 0 #25d36699;animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px #25d36600}100%{box-shadow:0 0 0 0 #25d36600}}
.hours .open-status{font-size:.95rem;margin:-6px 0 6px;padding:6px 12px;border-radius:30px;background:#fdecec;color:#a12828}.hours .open-status.is-open{background:#e3f8ea;color:#13753a}
@media(max-width:650px){.topbar .wrap{justify-content:space-between}.topbar .wrap>a{margin-left:0}}
@media(max-width:650px){.topbar .wrap>span.open-status{display:inline-flex}}
@media(max-width:650px){.topbar .tb-label{display:none!important}.topbar .wrap>a,.topbar .open-status{white-space:nowrap;font-size:.76rem}}
/* Footer v2 */
.footer{padding:70px 0 0}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px}
.footer h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#fff;margin-bottom:18px}
.foot-brand p{margin:0 0 20px;max-width:330px;line-height:1.65}
.foot-col a,.foot-contact a{display:block;font-size:.9rem;padding:5px 0;color:#c9dbe9}
.foot-contact .foot-phone{font-size:1.35rem;color:#fff;font-weight:700;padding:0 0 6px}.foot-address{line-height:1.55;margin-top:4px}.foot-hours{margin:14px 0 0;font-size:.86rem}
.foot-rating{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:#fff;font-weight:700;font-size:.92rem}.foot-rating svg{width:18px;height:18px;color:#ffc83d}
.foot-review{display:block;margin-top:4px;font-size:.85rem;color:#8fd9f5}
.foot-bottom{align-items:center;gap:10px 28px}.foot-bottom a{color:#c9dbe9}
/* Social icons */
.socials{display:flex;gap:10px;flex-wrap:wrap}.socials a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff17;color:#fff;transition:background .2s,color .2s,transform .2s}
.socials a:hover{background:#22c4f4;color:#042b60;transform:translateY(-2px)}.socials svg{width:19px;height:19px}
.tb-socials{gap:2px;margin-left:6px}.tb-socials a{width:28px;height:28px;background:transparent}.tb-socials svg{width:15px;height:15px}
.nav-socials{display:none}
.contact-socials{margin:-14px 0 28px}.contact-socials a{background:#e9f5fd;color:#063775}
/* Back to top */
.to-top{position:fixed;right:30px;bottom:92px;z-index:69;width:44px;height:44px;border-radius:50%;background:#063775;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #00183a40;border:1px solid #ffffff30;animation:rise .35s both}.to-top:hover{background:#0b4f9c}.to-top svg{width:20px;height:20px}
@media(max-width:900px){.tb-socials{display:none}.header nav .nav-socials{display:flex;padding:18px 0 8px;margin-top:10px;border-top:1px solid #ffffff26}.header nav .nav-socials a{padding:0}}
@media(max-width:650px){
 .footer{padding-top:46px}.footer-grid{gap:34px 18px}
 .foot-brand{text-align:center}.foot-brand p{margin:0 auto 18px}.foot-socials{justify-content:center}.foot-rating{justify-content:center}
 .foot-col a{font-size:.9rem;padding:7px 0}.foot-contact{border-top:1px solid #ffffff1f;padding-top:26px}
 .foot-bottom{flex-direction:column;text-align:center;gap:8px}
 .to-top{right:22px;bottom:84px;width:42px;height:42px}
}
/* Mobile polish: bigger tap areas (no layout shift), readable small text */
.topbar .wrap>a,.hero-secondary,.hero-rating,.foot-rating,.foot-review,.foot-bottom a,.email-link,.breadcrumbs a{padding-block:10px;margin-block:-10px}
.foot-review{padding-block:8px;margin-block:-4px 0}
.card-index{font-size:.75rem}.side-contact .eyebrow{font-size:.75rem}.float-card span{font-size:.78rem}
@media(max-width:900px){.hero-bottom{font-size:.75rem}}
@media(max-width:650px){.breadcrumbs{font-size:.8rem}}
@media(max-width:380px){.topbar .wrap{gap:10px}.topbar .wrap>a,.topbar .open-status{font-size:.7rem}.topbar .open-status{gap:5px}}
.tb-socials a{width:32px;height:32px;margin-block:-4px}.hero-bottom{font-size:.75rem}.image-caption{font-size:.75rem}
@media(max-width:380px){.topbar .wrap>a,.topbar .open-status{font-size:.75rem}.topbar .wrap{gap:8px}}
.nav-toggle{white-space:nowrap}@media(max-width:380px){.logo,.logo img{width:150px}.logo img{height:52px}.nav-toggle{padding:9px 12px}.nav-toggle span{margin-left:6px}.nav-wrap{gap:12px}}
@media(max-width:900px){.drop-label button{min-width:48px;min-height:44px;font-size:1.1rem}}@media(max-width:650px){.foot-bottom{padding-bottom:150px}}
@media(max-width:900px){.submenu{min-width:0;width:100%;max-width:100%}.drop-label button{line-height:1}}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px}.foot-brand,.foot-contact{grid-column:1/-1}}@media(max-width:650px){.footer-grid{gap:34px 18px}.foot-rating{margin-top:20px}}
.lire-avis{margin-left:18px}.legal-prose{max-width:790px}
