/* Shared presentation across desktop and mobile. */
.desktop-navigation{display:none}
@media(min-width:1025px){
 .header .nav,.header .cta-urgence{display:none!important}
 .header .header-inner{width:100%!important;max-width:none!important;display:flex!important;gap:24px!important;justify-content:space-between!important;padding:14px 24px!important}
 .header .logo-nav{flex-shrink:0}
 .header .desktop-navigation{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);margin-left:auto;font-family:Inter,Arial,sans-serif}
 .desktop-navigation > a,.desktop-navigation > details > summary{font-size:13px;color:#fff;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 0;cursor:pointer;list-style:none}
 .desktop-navigation summary::-webkit-details-marker{display:none}
 .desktop-navigation details[open] > summary > span{transform:rotate(180deg)}
 .desktop-navigation > details{position:relative}
 .desktop-navigation > details > .mobile-expertise-links{position:absolute;top:calc(100% + 14px);left:-24px;min-width:340px;width:390px;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;padding:18px 22px;background:#fff;color:#172435;border:1px solid #e4d9c6;border-radius:18px;box-shadow:0 18px 40px #07172b33}
 .desktop-navigation .mobile-domain > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
 .desktop-navigation .mobile-domain-links{border-left:2px solid #e6dac5;padding-left:16px;margin:4px 0 12px}
 .desktop-navigation .mobile-domain-links a{display:flex;align-items:center;min-height:44px;padding:9px 0;font-size:14px;line-height:1.5;color:#172435;text-decoration:none}
 .desktop-navigation .mobile-domain-links a:hover{color:#94702e}
 .desktop-navigation .mobile-urgency-label{color:#94702e;font-weight:700;font-size:14px;margin:12px 0 4px}
 .desktop-navigation .mobile-domain-links .mobile-domain-overview{color:#94702e;text-decoration:underline;font-size:13px}
 .desktop-navigation .mobile-menu-actions,.desktop-navigation .mobile-menu-contact{display:flex;align-items:center;gap:10px}
 .desktop-navigation .mobile-menu-actions a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 11px;border:1px solid #d8c8a977;border-radius:10px;color:#fff;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
 .desktop-navigation .mobile-menu-actions .mobile-menu-appointment{background:#f4cf50;color:#07172b;border-color:#f4cf50}
 .desktop-navigation a:focus-visible,.desktop-navigation summary:focus-visible{outline:2px solid #d8b070;outline-offset:4px}
 #domaines .domains{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
 #domaines .domain-link{display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px;min-height:160px;height:100%;padding:28px!important;border-radius:24px!important;border:1px solid #c0934766!important;background:linear-gradient(135deg,#142d48,#071c31)!important;text-decoration:none}
 #domaines .domain-icon{flex:0 0 58px;width:58px;height:58px;margin:0!important}
 #domaines .domain-link h3{font-size:clamp(21px,1.8vw,27px)!important;line-height:1.3;margin:0!important;flex:1;min-width:0}
 #domaines .domain-link::after{content:'›';position:static!important;display:block!important;flex:0 0 auto;color:#d8b070;font:42px/1 Arial,sans-serif;background:none!important;width:auto!important;height:auto!important;transform:none!important}
}
@media(min-width:1025px) and (max-width:1270px){
 .header .logo-text strong{font-size:19px!important}.header .logo-text span{display:none!important}.header .logo-image-mark{width:54px!important}
 .header .header-inner{gap:14px!important;padding:12px 18px!important}
 .header .desktop-navigation{gap:12px}.desktop-navigation > a,.desktop-navigation > details > summary{font-size:12px}
 .desktop-navigation .mobile-menu-actions a{font-size:11px;padding:9px 8px}
}
/* Review cards keep equal heights and the same arrow navigation at every width. */
@media(min-width:641px){
 #temoignages .testimonials{display:flex!important;gap:24px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;scroll-snap-type:x mandatory;align-items:stretch!important;height:390px}
 #temoignages .testimonials::-webkit-scrollbar{display:none}
 #temoignages .testimonials .testimonial{display:flex!important;flex:0 0 calc((100% - 48px)/3)!important;min-width:0!important;height:382px!important;min-height:0!important;padding:26px!important;border-radius:24px!important;border:1px solid #d9c9a9!important;scroll-snap-align:start;box-sizing:border-box;overflow:hidden;align-self:stretch!important}
 #temoignages .testimonial blockquote{flex:1 1 0!important;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;width:100%;font-size:15px!important;line-height:1.75!important;align-content:safe center}
 #temoignages .testimonial-rating,#temoignages .testimonial cite,#temoignages .testimonial-google-link{flex-shrink:0}
 #temoignages .testimonial-navigation{display:flex!important;align-items:center;justify-content:center;gap:16px;margin:22px auto 0}
 #temoignages .testimonial-dots{display:flex!important;gap:8px;align-items:center;justify-content:center;margin:0!important}
 #temoignages .testimonial-dot[hidden]{display:none!important}
 #temoignages .testimonials-show-all{display:none!important}
}
@media(min-width:641px) and (max-width:1024px){#temoignages .testimonials .testimonial{flex-basis:calc((100% - 24px)/2)!important}}

@media(min-width:641px){
 #temoignages .testimonial-dot{display:grid;place-items:center;width:18px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
 #temoignages .testimonial-dot::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#c4c9d0}
 #temoignages .testimonial-dot.is-active::before{width:7px;height:7px;background:#8e6a2c}
 #temoignages .testimonial-dot:focus-visible{outline:2px solid #9a732b;outline-offset:3px}
}
.header .mobile-domain-links a,.desktop-navigation .mobile-domain-links a{justify-content:space-between;gap:12px}
.header .mobile-domain-links a::after,.desktop-navigation .mobile-domain-links a::after{content:'›';color:#9a732b;font:22px/1 Arial,sans-serif;flex-shrink:0}

/* Balanced navigation and consistently sized contact actions. */
.header .mobile-expertise > summary > span{display:none!important}
@media(min-width:1025px){
 .header .header-inner{gap:18px!important;padding:14px 28px!important}
 .header .desktop-navigation{flex:1;justify-content:center;margin-left:0;gap:16px}
 .desktop-navigation .mobile-menu-actions{display:grid;grid-template-columns:repeat(3,136px);gap:8px;margin-left:8px}
 .desktop-navigation .mobile-menu-contact{display:contents}
 .desktop-navigation .mobile-menu-actions a{box-sizing:border-box;width:136px;height:42px;min-height:42px;padding:10px 8px;border-radius:11px;font:600 11.5px/1.25 Inter,Arial,sans-serif;text-align:center}
 .desktop-navigation .mobile-menu-actions .mobile-menu-appointment{background:transparent;color:#fff;border-color:#d8c8a977}
 .desktop-navigation .mobile-menu-actions a:hover{background:#f4cf50;border-color:#f4cf50;color:#07172b}
 .desktop-navigation > details[open] > summary{color:#f4cf50}
}
@media(min-width:1025px) and (max-width:1270px){
 .header .header-inner{gap:12px!important;padding:12px 20px!important}
 .header .desktop-navigation{gap:10px}
 .desktop-navigation > a,.desktop-navigation > details > summary{font-size:11.5px}
 .desktop-navigation .mobile-menu-actions{grid-template-columns:repeat(3,116px);gap:6px;margin-left:4px}
 .desktop-navigation .mobile-menu-actions a{width:116px;height:42px;font-size:10px;padding:10px 5px}
 .header .logo-text strong{font-size:16px!important}
}

@keyframes urgency-beacon-pulse{0%,100%{box-shadow:0 0 0 0 #b52b2540;opacity:1}50%{box-shadow:0 0 0 5px #b52b2500;opacity:.65}}
@media(min-width:1025px){
 .desktop-navigation .mobile-menu-actions .desktop-menu-urgency{background:#f4cf50;border-color:#f4cf50;color:#07172b}
 .desktop-menu-urgency{gap:8px}
 .desktop-menu-urgency .urgency-beacon{display:block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#b52b25;animation:urgency-beacon-pulse 1.8s ease-in-out infinite}
 .desktop-menu-urgency > span:not(.urgency-beacon){animation:none;opacity:1}
 .desktop-menu-urgency:hover .urgency-beacon,.desktop-menu-urgency:focus-visible .urgency-beacon{animation:none}
 .topbar .topbar-inner > span{display:none}
}
@media(prefers-reduced-motion:reduce){.desktop-menu-urgency .urgency-beacon{animation:none}}

.header{cursor:pointer}
.header .mobile-navigation,.desktop-navigation .mobile-expertise-links{cursor:auto}

@media(min-width:1025px){
 .desktop-navigation .mobile-menu-actions .desktop-menu-urgency{background:#fff;border-color:#fff;color:#172435;gap:6px;font-size:10.5px}
 .desktop-navigation .mobile-menu-actions .desktop-menu-urgency:hover{background:#f4f5f7;border-color:#f4f5f7;color:#172435}
 .desktop-menu-urgency .urgency-beacon{width:6px;height:6px;flex-basis:6px}
}
@media(min-width:1025px) and (max-width:1270px){.desktop-navigation .mobile-menu-actions .desktop-menu-urgency{font-size:9px;gap:4px}}

/* Preserve the original navy on light and dark sections. */
.header,.header.is-over-light,.header.is-over-dark{background:#07172b!important;border-color:rgba(216,176,112,.32)!important}

@media(min-width:1025px){
 .desktop-navigation .mobile-menu-actions a{height:56px;min-height:56px}
 .desktop-navigation .mobile-menu-actions .desktop-menu-urgency{flex-direction:column;gap:5px}
 .desktop-urgency-phone{font-size:12px;font-weight:700;letter-spacing:.025em;color:#172435;white-space:nowrap}
 .desktop-urgency-caption{display:flex;align-items:center;justify-content:center;gap:5px;color:#947021;white-space:nowrap;animation:none!important;opacity:1!important}
 .desktop-menu-urgency .urgency-beacon{animation:urgency-beacon-pulse 1.8s ease-in-out infinite}
 .desktop-menu-urgency:hover .urgency-beacon,.desktop-menu-urgency:focus-visible .urgency-beacon{animation:none}
}
@media(min-width:1025px) and (max-width:1270px){.desktop-urgency-phone{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.desktop-menu-urgency .urgency-beacon{animation:none}}

/* Keep the original compact bar; display the phone separately above it. */
.header-phone-above{display:none}
@media(min-width:1025px){
 .topbar{display:none!important}
 .desktop-navigation .mobile-menu-actions a{height:42px;min-height:42px}
 .desktop-navigation .mobile-menu-actions .desktop-menu-urgency{flex-direction:row;gap:6px}
 .header .header-phone-above{display:block;position:absolute;right:28px;bottom:calc(100% + 8px);color:#f4cf50;font:700 13px/1.3 Inter,Arial,sans-serif;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
 .header .header-phone-above:hover{text-decoration:underline}
}

@media(min-width:1025px){
 .header .header-phone-above{display:inline-flex;align-items:center;gap:8px;background:#07172b;color:#f4cf50;padding:5px 12px;border:1px solid #b99a5777;border-radius:20px;bottom:calc(100% + 5px);line-height:1.3;box-shadow:0 2px 8px #07172b24}
 .header-phone-above svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
}

/* Reserve room for the fixed header when following section links. */
@media (min-width:1025px){
 html:has(> body > .header){scroll-padding-top:136px}
}
@media (max-width:1024px){
 .page-scroll{scroll-padding-top:max(96px, calc(env(safe-area-inset-top, 0px) + 78px))}
}

@media (min-width:1025px){
 html:has(.desktop-navigation > .mobile-expertise[open]) #expertises{scroll-margin-top:190px}
}
