/* Final visual pass: type, navigation and existing card interactions only. */
.desktop-nav{gap:24px;min-height:60px}
.desktop-nav a{font-size:15px;line-height:1.5;white-space:nowrap;flex-shrink:0;min-height:58px;padding-top:0;gap:6px}
.topline,.topline .container{font-size:13px}
.wordmark small{font-size:10px;letter-spacing:.05em;line-height:1.4}
.header-note{font-size:14px}
.header-phone small{font-size:12px;line-height:1.5}
.footer p,.footer-grid a:not(.wordmark),.footer h3,.legal{font-size:13px;line-height:1.65}
.footer-grid a:not(.wordmark){padding-block:3px;overflow-wrap:anywhere}
.legal{gap:20px}
table{font-size:15px;line-height:1.5}
thead th{font-size:13px;line-height:1.5;padding:16px 20px}
tbody th,td{font-size:15px;line-height:1.5;padding:17px 20px}
.table-note{font-size:14px;line-height:1.65}
.eyebrow,.hero-copy .eyebrow{font-size:11px}
.hero-caption{font-size:14px;line-height:1.6}
.hero-actions .button{font-size:14px}
.art-label{font-size:11px}
.art-bottom,.guarantee-number small{font-size:13px}
.facts-grid span{font-size:14px;line-height:1.55;max-width:210px}
.section-heading>p,.contact-band p,.contact-band .eyebrow{font-size:14px}
.category{min-height:250px}
.category-index{font-size:11px;line-height:1.5;letter-spacing:.04em}
.category-cta{display:block;margin-top:24px;font-size:14px;line-height:1.5;color:#62676b;text-decoration:underline;text-underline-offset:4px}
.steps p,.service-list p,.notice p,.faq p,.hours{font-size:14px;line-height:1.65}
.breadcrumb{font-size:13px;line-height:1.6}
.service-links>a,.brand-links>a{font-size:15px;line-height:1.5}
.brand-directory summary{font-size:16px;line-height:1.5}
@media(max-width:900px){
 .desktop-nav{display:none}
 .header-note{display:none}
 .header-main{flex-wrap:wrap;row-gap:0;padding-top:22px}
 .mobile-menu{display:block;width:100%;border-top:1px solid #4b4f52;margin-top:18px}
 .mobile-menu summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 0;list-style:none;font-size:16px;line-height:1.5;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary span{font-size:22px}
 .mobile-menu nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;padding:6px 0 22px}
 .mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:10px 0;font-size:16px;line-height:1.5;text-decoration:none;overflow-wrap:normal}
 .mobile-menu nav a[aria-current]{color:#ff9eaa}
}
@media(max-width:800px){
 .mobile-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts-grid span{max-width:220px}
}
@media(max-width:600px){
 .header-main{padding-top:18px;column-gap:12px}
 .wordmark small{font-size:9px;letter-spacing:.035em}
 .header-phone small{font-size:11px;line-height:1.4;max-width:none;white-space:nowrap}
 .mobile-menu{margin-top:16px}
 .mobile-menu nav{column-gap:16px}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .button{flex:1 1 210px;font-size:14px;min-height:52px;padding:13px 16px}
 .hero-caption{font-size:13px}
 .art-label{font-size:10px}
 .art-bottom,.guarantee-number small{font-size:13px}
 .facts-grid>div{gap:18px}
 .facts-grid strong{flex-basis:115px}
 .facts-grid span{font-size:13px;max-width:190px}
 .category{min-height:260px}
 .category-index{font-size:11px;min-height:34px;margin-bottom:22px}
 .category-cta{font-size:14px}
 thead th{font-size:12px;padding:14px 12px}
 tbody th,td{font-size:14px;padding:14px 12px;line-height:1.5}
 .table-note{font-size:14px}
 .service-links>a,.brand-links>a{font-size:14px}
 .breadcrumb{font-size:13px}
 .contact-band .button,.page-hero .button{font-size:14px}
 .section-heading>p{font-size:14px}
}
@media(max-width:359px){
 .split>div,.price-layout>div,.service-grid>div,.contact-layout>div{min-width:0}
 .split h2{font-size:29px;overflow-wrap:break-word}
 .header-phone{flex-basis:100%;margin:14px 0 0;font-size:16px}
 .header-phone small{max-width:none}
 .category{padding:20px 12px;min-height:280px}
 .category-index{font-size:10px;letter-spacing:0}
 .hero-actions .button{font-size:14px}
 tbody th,td{font-size:14px;padding:14px 10px}
}
@media print{.mobile-menu{display:none}}

/* Shared header navigation; native details works with pointer, touch and keyboard. */
.desktop-nav{justify-content:flex-start;gap:clamp(22px,3vw,42px)}
.desktop-nav>a{margin-left:0}
.nav-dropdown{min-width:0}
.nav-dropdown>summary{list-style:none;cursor:pointer}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-chevron{width:15px;height:15px;flex:none;transition:transform .15s}
.nav-dropdown[open]>.nav-dropdown-summary .nav-chevron,.nav-dropdown[open]>summary .nav-chevron{transform:rotate(180deg)}
.desktop-nav>.nav-dropdown{position:relative;align-self:stretch}
.desktop-nav>.nav-dropdown>summary{display:flex;align-items:center;gap:7px;min-height:58px;font-size:15px;line-height:1.5;white-space:nowrap;border-bottom:3px solid transparent}
.desktop-nav>.nav-dropdown[open]>summary,.desktop-nav>.nav-dropdown>summary:hover{border-color:#ef4555}
.desktop-nav .nav-submenu{position:absolute;top:100%;left:0;z-index:20;width:300px;max-width:calc(100vw - 48px);padding:8px;background:#25292c;border:1px solid #555a5c;border-radius:0 0 5px 5px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.desktop-nav .nav-submenu a{min-height:0;padding:10px 12px;border:0;border-radius:3px;white-space:normal;font-size:14px;line-height:1.4}
.desktop-nav .nav-submenu a:hover,.desktop-nav .nav-submenu a[aria-current]{background:#3b3f42;color:#fff}
.header summary:focus-visible,.header a:focus-visible{outline:2px solid #ff9eaa;outline-offset:2px}
@media(min-width:901px) and (max-width:1100px){.header-main{min-height:93px}}
@media(max-width:900px){
 .mobile-menu nav{display:flex;flex-direction:column;gap:0;padding:4px 0 18px}
 .mobile-menu nav>a{min-height:44px;padding:9px 0}
 .mobile-menu .nav-dropdown>summary{justify-content:flex-start;gap:8px;min-height:44px;padding:9px 0;font-size:16px}
 .mobile-menu .nav-submenu{padding:0 0 5px 16px;border-left:1px solid #555a5c}
 .mobile-menu .nav-submenu a{min-height:42px;padding:8px 0;line-height:1.45}
}
