/* Shared header, mobile navigation and footer. */
.site-header{padding:12px 28px}
.header-inner{min-height:52px}
.site-header .logo{width:168px}
.site-header .logo img{width:100%;height:auto}
.mobile-drawer{padding:0;border:0}
.mobile-drawer:not([open]){display:none}
.drawer-open{overflow:hidden}
.mobile-drawer[open]{position:fixed;inset:0 0 0 auto;margin:0;width:min(400px,calc(100% - 24px));max-width:none;height:100dvh;max-height:none;background:#fff;display:flex;flex-direction:column;border-radius:24px 0 0 24px;box-shadow:-20px 0 80px #12151f30;color:var(--ink);animation:drawer-in .28s cubic-bezier(.22,1,.36,1)}
.mobile-drawer::backdrop{background:#12151f70;backdrop-filter:blur(5px);animation:drawer-shade .22s ease}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 25px 22px;border-bottom:1px solid #eeedf0;flex-shrink:0}
.drawer-logo{display:block;width:142px}
.drawer-logo img{width:100%;height:auto}
.drawer-head .drawer-close{width:44px;height:44px;background:#f4f4f6;border:1px solid #eeedf0;border-radius:50%}
.drawer-close svg{width:20px;height:20px}
.drawer-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:26px 25px 20px;min-height:0}
.drawer-kicker{font-size:10px;letter-spacing:1.4px;font-weight:600;color:#94939c}
.drawer-nav{display:flex;flex-direction:column;margin-top:15px}
.drawer-nav>a,.drawer-services>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:53px;padding:14px 0;border-bottom:1px solid #efedf0;font-size:16px;line-height:1.5;font-weight:500}
.drawer-nav>a[aria-current=page]{color:var(--red)}
.drawer-nav>a>svg,.drawer-services>summary>svg{width:16px;height:16px;color:#8e8e98;flex-shrink:0}
.drawer-services>summary{list-style:none;cursor:pointer}
.drawer-services>summary::-webkit-details-marker{display:none}
.drawer-services[open]>summary{color:var(--red)}
.drawer-services[open]>summary>svg{transform:rotate(180deg)}
.drawer-services>div{padding:7px 13px;background:#f8f7f9;border-radius:12px;margin:9px 0}
.drawer-services>div>a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;line-height:1.8;padding:10px 0;border-bottom:1px solid #eae8ec}
.drawer-services>div>a>svg{width:14px;height:14px;flex-shrink:0;color:#a5a0a9}
.drawer-services>div>.drawer-all-services{color:var(--red);font-weight:600;border-bottom:0}
.drawer-location{display:flex;align-items:flex-start;gap:11px;margin-top:27px;color:#6a6873}
.drawer-location>svg{width:19px;height:19px;margin-top:3px;color:var(--red);flex-shrink:0}
.drawer-location strong{display:block;font-size:13px;font-weight:500;color:#3f3b46}
.drawer-location span{display:block;font-size:10px;margin-top:5px;line-height:1.8}
.drawer-actions{padding:20px 25px max(20px,env(safe-area-inset-bottom));border-top:1px solid #eeedf0;background:#faf9fb;flex-shrink:0}
.drawer-actions>.btn{width:100%;min-height:48px;border-radius:12px;font-size:13px;gap:10px;justify-content:center}
.drawer-actions>.btn>svg{width:18px;height:18px}
.drawer-actions>.btn>svg:last-child{margin-left:auto}
.drawer-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.drawer-actions>div>a{display:flex;align-items:center;justify-content:center;min-height:45px;border:1px solid #e3e1e6;background:white;gap:9px;font-size:12px;border-radius:11px;font-weight:500}
.drawer-actions>div>a>svg{width:18px;height:18px}
.drawer-actions .drawer-whatsapp{color:#087d51;border-color:#cfe7dc;background:#f3fbf7}
.drawer-actions>p{font-size:10px;text-align:center;color:#85808d;line-height:1.8;margin:13px 0 0}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes drawer-shade{from{opacity:0}to{opacity:1}}

.contact-dock{display:none}
@media(max-width:1100px){
 .site-header .main-nav{display:none}
 .site-header .mobile-toggle{display:inline-flex;width:44px;height:44px;border-radius:12px}
 .site-header .mobile-toggle>svg{width:21px;height:21px}
 .site-header .logo{width:152px}
}
@media(max-width:720px){
 body{padding-bottom:90px}
 .site-header{padding:10px 18px}
 .site-header .header-inner{min-height:44px;gap:12px}
 .site-header .logo{width:128px}
 .site-header .header-actions{gap:9px}
 .site-header .header-actions>.whatsapp,.site-header .header-actions>.call{display:none}
 .site-header .header-actions .btn-small{font-size:10px;min-height:40px;padding:10px 13px;border-radius:11px}
 .contact-dock{display:grid;grid-template-columns:1fr 1fr;gap:0;position:fixed;inset:auto 12px max(10px,env(safe-area-inset-bottom));padding:8px;background:#ffffffed;backdrop-filter:blur(20px);border:1px solid #e6e2e8;border-radius:19px;box-shadow:0 6px 35px #19122326;z-index:35}
 .contact-dock>a{display:flex;align-items:center;gap:10px;min-height:49px;padding:4px 10px}
 .contact-dock .dock-call{border-right:1px solid #e8e4eb}
 .dock-icon{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;background:#f0eef3;color:#403647}
 .dock-icon>svg{width:19px;height:19px}
 .dock-whatsapp .dock-icon{background:#e6f7ee;color:#078b55}
 .dock-copy strong{display:block;font-size:12px;font-weight:600;line-height:1.8;white-space:nowrap;color:#28232e}
 .dock-copy small{display:block;font-size:8px;font-weight:400;line-height:1.8;white-space:nowrap;color:#8a8292}
 .dock-whatsapp>svg{width:13px;height:13px;margin-left:auto;color:#668274}
}
@media(max-width:370px){
 .site-header{padding:10px 14px}
 .site-header .logo{width:120px}
 .site-header .header-actions{gap:7px}
 .site-header .header-actions .btn-small{font-size:9px;padding:10px}
 .contact-dock{left:9px;right:9px;padding:6px}
 .contact-dock>a{padding:4px 7px;gap:8px}
 .dock-icon{width:33px;height:36px;border-radius:11px}
 .dock-copy strong{font-size:11px}
 .dock-copy small{font-size:7px}
 .dock-whatsapp>svg{display:none}
 .drawer-head{padding:21px 20px}
 .drawer-scroll{padding:22px 20px 17px}
 .drawer-actions{padding:17px 20px max(18px,env(safe-area-inset-bottom))}
 .drawer-nav>a,.drawer-services>summary{font-size:15px;min-height:48px;padding:12px 0}
 .drawer-actions>p{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.mobile-drawer[open],.mobile-drawer::backdrop{animation:none}}

/* Desktop mega menus share the header boundary to keep pointer travel stable. */
.site-header .nav-dropdown{position:static;padding-inline:4px;margin-inline:-4px}
.site-header .desktop-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(1400px,calc(100vw - 48px));background:#fff;border:1px solid #e7e2e9;border-radius:0 0 20px 20px;box-shadow:0 24px 50px #25132916;animation:menu-in .18s ease-out;max-height:calc(100dvh - 155px);overflow-y:auto;overscroll-behavior:contain;color:#332c3c;font-weight:400}
.desktop-mega-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 28px;border-bottom:1px solid #eeebf1;background:#fdfcfd}
.desktop-mega-heading>div>span{display:block;font-size:9px;font-weight:600;letter-spacing:1.3px;color:#aa6477;margin-bottom:7px}
.desktop-mega-heading strong{display:block;font-size:18px;font-weight:500;line-height:1.5;letter-spacing:-.35px}
.desktop-mega-heading>a{display:flex;align-items:center;gap:13px;font-size:12px;color:#a32641;flex-shrink:0}
.desktop-mega-heading>a>svg{width:16px;height:16px}
.service-menu-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:23px 27px 25px;gap:26px}
.service-menu-group{min-width:0}
.service-menu-group h3{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#5a455e;margin:0 0 15px;line-height:1.6}
.service-menu-group h3>svg{width:19px;height:19px;flex-shrink:0;color:#b12b45;stroke-width:1.5}
.service-menu-group ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.service-menu-group li>a{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;line-height:1.7;color:#8a7b92;border-radius:9px;padding:10px;min-height:40px;margin-left:-10px;transition:color .2s,background .2s}
.service-menu-group li>a>svg{width:12px;height:12px;flex-shrink:0;color:#baa8bd}
.service-menu-group li>a:hover{color:#a11b3a;background:#fbf3f6}
.desktop-mega-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:16px 28px;border-top:1px solid #eeebf1;background:#fcfafc;font-size:10px;line-height:1.8;color:#9f90a6}
.desktop-mega-bottom>span,.desktop-mega-bottom>a{display:flex;align-items:center;gap:8px}
.desktop-mega-bottom svg{width:14px;height:14px}
.desktop-mega-bottom>a{color:#9f4760}
.site-header .brand-mega{display:grid;grid-template-columns:230px 1fr;padding:23px;gap:27px}
.brand-menu-intro{background:linear-gradient(145deg,#faf1f4,#f8f6f9);border:1px solid #eee4ed;border-radius:14px;padding:23px;display:flex;flex-direction:column;align-items:flex-start}
.brand-menu-intro>.menu-kicker{font-size:8px;letter-spacing:1px;font-weight:600;color:#ad7b8c}
.brand-menu-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ead7e1;border-radius:13px;color:#a52a45;margin:23px 0 19px}
.brand-menu-symbol>svg{width:23px;height:23px}
.brand-menu-intro h3{font-size:21px;line-height:1.5;letter-spacing:-.4px;font-weight:500;color:#5d3b50;margin:0 0 14px}
.brand-menu-intro p{font-size:12px;line-height:1.95;color:#9d8297;margin:0 0 25px}
.brand-menu-intro>a{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;border-top:1px solid #e8d8e3;padding-top:16px;margin-top:auto;font-size:11px;color:#a1516c;font-weight:500}
.brand-menu-intro>a>svg{width:15px;height:15px}
.brand-menu-content{min-width:0}
.brand-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:3px 0 18px}
.brand-menu-heading strong{font-size:14px;font-weight:500;color:#67516e}
.brand-menu-heading>span{font-size:10px;color:#ad9db5}
.brand-menu-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}
.brand-menu-grid>a{border:1px solid #ece8ef;border-radius:11px;padding:11px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:78px;text-align:center;transition:background .2s,border-color .2s}
.brand-menu-grid>a:hover{border-color:#d4a7bb;background:#fcf5f8}
.brand-menu-grid img{width:49px;height:29px;object-fit:contain}
.brand-menu-grid span{font-size:10px;line-height:1.5;color:#8b7495;overflow-wrap:anywhere}
.drawer-services>.drawer-brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:8px}
.drawer-services>.drawer-brand-grid>a{flex-direction:column;justify-content:center;gap:7px;border:1px solid #e7dfe9;background:white;border-radius:9px;padding:10px 5px;min-width:0}
.drawer-brand-grid img{width:38px;height:26px;object-fit:contain}
.drawer-brand-grid span{font-size:9px;line-height:1.5;text-align:center;color:#89718f}
.drawer-services>.drawer-brand-grid>.drawer-brand-all{grid-column:1/-1;flex-direction:row;justify-content:space-between;font-size:11px;color:#a2415e;border:0;background:transparent;padding:9px 0 0}
@media(min-width:1101px) and (max-width:1250px){.site-header .main-nav{font-size:12px;gap:18px}.site-header .brand-mega{grid-template-columns:190px 1fr;gap:20px}.brand-menu-intro{padding:20px}.brand-menu-grid{gap:7px}.brand-menu-grid span{font-size:9px}.service-menu-columns{gap:20px}.service-menu-group li>a{font-size:11px}.service-menu-group h3{font-size:12px}}
@media(max-width:1100px){.site-header .desktop-mega{display:none}}
@media(prefers-reduced-motion:reduce){.site-header .desktop-mega{animation:none}}

.service-list-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 27px 21px}
.service-list-top>div>span{display:block;color:#b28a9a;font-size:9px;letter-spacing:1.3px;font-weight:600;margin-bottom:7px}
.service-list-top h3{font-size:21px;font-weight:500;line-height:1.5;letter-spacing:-.45px;margin:0;color:#514157}
.service-list-top>a{display:flex;align-items:center;gap:12px;font-size:11px;color:#aa5575}
.service-list-top>a>svg{width:14px;height:14px}
.service-lists-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 25px 24px}
.service-list-group{min-width:0;background:linear-gradient(150deg,#faf6f9,#fdfcfd);border:1px solid #eee6ee;border-radius:14px;padding:16px 15px 13px}
.service-list-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eae0eb;padding:0 0 14px;margin-bottom:6px;min-height:49px}
.service-list-heading>span{display:grid;place-items:center;width:34px;height:35px;flex-shrink:0;background:#f3e4ed;border:1px solid #ebd9e6;border-radius:10px;color:#ae527a}
.service-list-heading svg{width:19px;height:19px;stroke-width:1.6}
.service-list-heading h3{font-size:12px;line-height:1.6;font-weight:600;color:#705071;margin:0}
.service-list-heading>small{margin-left:auto;font-size:9px;color:#bea5c0;font-weight:500}
.service-list-group ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.service-list-group li>a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f0e9f1;min-height:34px;transition:color .18s;color:#7d6688;font-size:12px;line-height:1.8}
.service-list-group li:last-child>a{border-bottom:0}
.service-list-group li>a>svg{width:12px;height:12px;flex-shrink:0;color:#c4a9c7;transition:transform .18s}
.service-list-group li>a:hover{color:#b32f62}
.service-list-group li>a:hover>svg{transform:translate(2px,-2px);color:#b32f62}
.service-list-link-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;min-height:20px;flex-shrink:0;color:#b18ba9}
.service-list-link-icon>svg{width:16px;height:16px;stroke-width:1.55}
.service-list-link-label{min-width:0}
.service-list-group li>a>svg{margin-left:auto}
.service-list-group li>a:hover .service-list-link-icon{color:#b32f62}
.list-tone-1{background:linear-gradient(150deg,#f8f7fb,#fdfcfd)}
.list-tone-1 .service-list-heading>span{background:#ece8f5;border-color:#e5deef;color:#8f77b2}
.list-tone-2{background:linear-gradient(150deg,#f7faf9,#fdfcfd)}
.list-tone-2 .service-list-heading>span{background:#e9f2ef;border-color:#deebe7;color:#82a397}
.list-tone-3{background:linear-gradient(150deg,#fdf6f7,#fdfcfd)}
.list-tone-3 .service-list-heading>span{background:#f6e4e9;border-color:#eed9e1;color:#b5798e}
.mega-appointment-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 27px;background:radial-gradient(circle,#ffffff15 1px,transparent 1px) 0 0/14px 14px,linear-gradient(100deg,#5d181f,#2c262e 62%,#25262b);color:#fff;border-top:1px solid #392331;position:sticky;bottom:0}
.mega-appointment-strip>div{display:flex;align-items:center;gap:13px}
.mega-appointment-icon{display:grid;place-items:center;width:39px;height:40px;border:1px solid #ffffff30;background:#ffffff09;border-radius:11px;color:#edbdc9;flex-shrink:0}
.mega-appointment-icon>svg{width:22px;height:22px}
.mega-appointment-strip strong{display:block;font-size:14px;font-weight:500;line-height:1.7}
.mega-appointment-strip small{display:block;font-size:10px;color:#c7aab8;margin-top:2px;line-height:1.7}
.mega-appointment-strip>a{display:flex;align-items:center;gap:10px;background:#ffffff11;border:1px solid #ffffff30;border-radius:11px;color:#fff;min-height:43px;padding:10px 15px;font-size:11px;font-weight:500;flex-shrink:0;transition:background .2s}
.mega-appointment-strip>a:hover{background:#ffffff20}
.mega-appointment-strip>a>svg:first-child{width:20px;height:20px;color:#80dbb0}
.mega-appointment-strip>a>svg:last-child{width:14px;height:14px;margin-left:7px}
@media(min-width:1101px) and (max-width:1250px){.service-lists-grid{gap:10px;padding-inline:20px}.service-list-group{padding:14px 11px 10px}.service-list-heading{gap:8px}.service-list-heading h3{font-size:11px}.service-list-heading>small{display:none}.service-list-group li>a{font-size:10px}.service-list-top{padding-inline:22px}.mega-appointment-strip{padding-inline:22px}.mega-appointment-strip strong{font-size:13px}}


/* Direct access to the fault-code guide; maintenance links share one catalog. */
.site-header .main-nav>.nav-code-link{display:inline-flex;align-items:center;gap:7px;color:#bd1732;padding:10px 12px;border:1px solid #d7193b20;border-radius:10px;background:linear-gradient(115deg,#fff0f3,#f5f8fc);font-size:12px;font-weight:600}
.nav-code-link>svg{width:17px;height:17px;flex-shrink:0}
.drawer-nav>.drawer-code-link{color:#bd1732;background:linear-gradient(115deg,#fff0f3,#f4f8fc);padding:13px 14px;border:1px solid #d7193b20;border-radius:11px;margin:9px 0;font-size:14px}
.drawer-nav>.drawer-code-link>svg{color:#bd1732;width:19px;height:19px}
.drawer-service-heading{display:block;font-size:10px;letter-spacing:.5px;font-weight:600;color:#7b6171;padding:17px 0 6px}
.drawer-service-label{display:flex;align-items:center;gap:9px;min-width:0}
.drawer-service-label>svg{width:16px;height:16px;color:#9b7689;flex-shrink:0}
@media(min-width:1251px) and (max-width:1500px){.site-header .main-nav{gap:16px;font-size:12px}.site-header .header-inner{gap:18px}.site-header .main-nav>.nav-code-link{font-size:11px;padding:10px}.site-header .header-actions .btn-small{font-size:12px}}
@media(min-width:1101px) and (max-width:1250px){.site-header .main-nav{display:none}.site-header .mobile-toggle{display:inline-flex;width:44px;height:44px}.site-header .mobile-toggle>svg{width:21px;height:21px}}
