/* Subtle motion shared by the existing page layouts. */
.header-inner nav{gap:15px}.nav-group{gap:1px;align-items:center;line-height:1.2;flex-wrap:nowrap}.nav-group>a{display:flex;align-items:center;min-height:40px;white-space:nowrap}.nav-group>button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:40px;padding:0;flex:0 0 28px;line-height:1}.nav-group>button svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .72s cubic-bezier(.4,0,.2,1)}.nav-group.is-open>button svg{transform:rotate(180deg)}
.nav-group>.submenu{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:opacity .72s ease,transform .72s cubic-bezier(.4,0,.2,1),visibility 0s .72s;border-radius:0 0 8px 8px;padding:12px;z-index:30}.nav-group.is-open>.submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.nav-group>.submenu a{font:600 15px/1.4 Arial;text-transform:none;letter-spacing:0;padding:12px;border-radius:3px;transition:background .25s,color .25s}.nav-group-wide>.submenu{width:min(660px,85vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.external-label{display:block;font:10px/1.7 Arial;color:#9e1723;margin-top:3px}.certification-directory{grid-template-columns:repeat(4,minmax(0,1fr))}.certification-directory .area-route{font-size:22px;align-items:center}
.motion-ready{opacity:0;transform:translateY(52px);transition:opacity 1.5s ease,transform 1.6s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready.motion-visible{opacity:1;transform:translateY(0)}.motion-ready:focus-within{opacity:1;transform:none}.motion-image{transform:translateY(44px) scale(.96)}.motion-image.motion-visible{transform:translateY(0) scale(1)}
details>summary{transition:color .6s ease,background-color .6s ease}details>summary>span[aria-hidden]{transition:transform .75s ease}details[open]>summary>span[aria-hidden]{transform:rotate(45deg)}
@media(max-width:1250px){.header-inner{gap:16px}.header-inner .header-phone{display:none}.header-inner nav{gap:11px;font-size:15px}.header-inner .logo img{width:170px}}
@media(max-width:1080px){.header-inner{height:82px}.header-inner .menu-toggle{display:flex;gap:10px;align-items:center;background:none;border:0;color:#fff;order:3;padding:10px}.header-inner .header-estimate{margin-left:auto}.header-inner #navigation{display:none;position:absolute;left:0;right:0;top:82px;padding:20px;background:#1a1b1e;border-bottom:3px solid var(--red);max-height:calc(100vh - 100px);overflow:auto}.header-inner #navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav-group{flex-wrap:wrap;justify-content:space-between;gap:0}.nav-group>a{flex:1}.nav-group>button{width:44px;flex-basis:44px;height:44px}.nav-group>.submenu{position:static;width:100%;min-width:0;max-height:0;padding:0 12px;overflow:hidden;margin:0;border-width:0;transform:translateY(-5px);transition:opacity .75s ease,transform .75s ease,max-height .9s cubic-bezier(.4,0,.2,1),padding .9s ease,visibility 0s .9s}.nav-group.is-open>.submenu{max-height:1100px;padding:12px;visibility:visible;transform:none;transition-delay:0s}.nav-group-wide>.submenu{grid-template-columns:repeat(2,minmax(0,1fr))}.certification-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.certification-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.certification-directory .area-route{font-size:19px}.nav-group-wide>.submenu{grid-template-columns:1fr}.header-inner .logo img{width:145px}.header-inner .menu-toggle{font-size:0;padding:9px 0 9px 8px}.header-inner .menu-toggle span{font-size:22px}.header-inner #navigation{top:82px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready,.motion-image,.motion-ready.motion-visible{opacity:1;transform:none;transition:none}.nav-group>.submenu,.nav-group>button svg,details>summary,details>summary>span[aria-hidden]{transition:none!important}}
@media print{.motion-ready{opacity:1;transform:none}}
.nav-group-wide.is-open>.submenu{display:grid}.header-phone{white-space:nowrap;flex-shrink:0}@media(max-width:1400px){.header-inner .header-phone{display:none}}

/* Persistent location indicator, separate from hover and expanded-menu state. */
#navigation .nav-group.is-current-section > a,
#navigation > a[aria-current="page"] {
    color: #fff;
    background: #8b1e30;
    box-shadow: 0 0 0 6px #8b1e30;
    border-radius: 2px;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 7px;
}
#navigation .nav-group.is-current-section > button { color: #ffb3be; }
#navigation .submenu a[aria-current="page"],
#navigation .submenu a[aria-current="location"] {
    background: #8b1e30;
    color: #fff;
    box-shadow: inset 3px 0 0 #efb0b9;
    text-decoration: underline;
    text-underline-offset: 4px;
}
@media (max-width: 1080px) {
    #navigation .nav-group.is-current-section > a,
    #navigation > a[aria-current="page"] {
        box-shadow: none;
        padding: 10px 12px;
        border-radius: 3px;
    }
}

/* Shared, linked Google review graphics. */
.footer-google-reviews{display:flex;justify-content:center;gap:24px;padding-top:28px;padding-bottom:32px;border-top:1px solid #ffffff20}
.footer-google-reviews a{display:block;flex:0 1 420px;min-width:0;border:0;transition:transform .6s ease;line-height:0;border-radius:14px}
.footer-google-reviews img{display:block;width:100%;height:auto}
.footer-google-reviews a:hover{transform:translateY(-4px)}
.footer-google-reviews a:focus-visible{outline:3px solid #f4abb7;outline-offset:6px}
@media(max-width:650px){.footer-google-reviews{flex-direction:column;align-items:center;gap:16px}.footer-google-reviews a{flex:auto;width:100%;max-width:420px}}
@media(prefers-reduced-motion:reduce){.footer-google-reviews a{transition:none}.footer-google-reviews a:hover{transform:none}}

/* Static technical detailing keeps the service cards calm and readable. */
.reference-home .ref-service-card { border:1px solid #d9dce0; border-top:3px solid #ae1830; background-color:#fff; background-image:linear-gradient(90deg,#fff 30%,#ffffffa6 75%,#ffffff55),linear-gradient(#24374709 1px,transparent 1px),linear-gradient(90deg,#24374709 1px,transparent 1px); background-size:100% 100%,22px 22px,22px 22px; box-shadow:0 8px 14px #0003; }
.reference-home .ref-service-card::before { content:''; position:absolute; right:-14px; bottom:16px; width:88px; height:66px; border:1px solid #ae183022; border-radius:9px; transform:skewY(-30deg); box-shadow:-12px -12px 0 -1px #fff,-12px -12px 0 0 #ae183018; pointer-events:none; }
.reference-home .ref-service-card> * { position:relative; z-index:1; }
.reference-home .ref-service-card .ref-service-arrow { position:absolute; }
/* Keep every logo on a single rail without a visible scrollbar. */
.home-certification-band .certification-logos.card-row { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:clamp(10px,1.3vw,22px); max-width:100%; overflow-x:auto; scrollbar-width:none; padding:10px 0; }
.home-certification-band .certification-logos.card-row::-webkit-scrollbar { display:none; }
.home-certification-band .certification-logos.card-row>img { flex:1 0 44px; width:44px; min-width:44px; max-width:70px; height:50px; object-fit:contain; }
@media(max-width:700px) { .home-certification-band .certification-logos.card-row>img { flex:0 0 60px; width:60px; } }

/* Slow perimeter light on dark sections; footer intentionally excluded. */
.laser-positioned { position:relative; }
.section-laser { position:absolute; top:4px; left:4px; width:calc(100% - 8px); height:calc(100% - 8px); z-index:2; pointer-events:none; overflow:visible; }
.section-laser rect { fill:none; stroke:#e32343; stroke-width:2; stroke-dasharray:24 76; stroke-linecap:round; filter:drop-shadow(0 0 4px #ef2349); animation:dark-perimeter-travel 30s linear infinite; animation-play-state:paused; }
.laser-in-view>.section-laser rect { animation-play-state:running; }
@keyframes dark-perimeter-travel { from { stroke-dashoffset:0; } to { stroke-dashoffset:-100; } }
@media(prefers-reduced-motion:reduce) { .section-laser rect { animation:none; stroke-dasharray:none; opacity:.5; filter:none; } }

/* Keep navigation available while preserving its normal space in the layout. */
.site-header { position:sticky; top:0; z-index:100; }
html { scroll-padding-top:calc(var(--sticky-header-height,96px) + 16px); }
@media(max-width:1000px) { .site-header #navigation { max-height:calc(100dvh - var(--sticky-header-height,96px)); overflow-y:auto; } }

/* Quiet technical texture on light content bands; text and photographs stay clear. */
.experience-light,
.secondary-page .secondary-row:not(.story-dark),
.reference-home .ref-about,
.reference-home .ref-lower,
.homepage-faq,
.reference-home .home-detail-new>.home-detail-row.theme-light {
 background-image:linear-gradient(100deg,#f8f8f7f5 12%,#f8f8f7b8 55%,#f8f8f780),linear-gradient(135deg,transparent 72%,#a51d3007 72%,#a51d3007 73%,transparent 73%),linear-gradient(#2538480a 1px,transparent 1px),linear-gradient(90deg,#2538480a 1px,transparent 1px)!important;
 background-size:100% 100%,100% 100%,32px 32px,32px 32px;
 background-position:center;
}
.media-gallery .gallery-thumbnails {width:100%;flex-wrap:wrap;justify-content:center;overflow:visible;gap:10px;}
/* Menu controls use a quiet brand-colored keyboard marker, never a blue box. */
#navigation .nav-group>button:focus {outline:none;box-shadow:none;}
#navigation .nav-group>button:focus-visible {outline:none;box-shadow:inset 0 -2px 0 #ff8992;color:#ffb3be;}
/* Small-screen audit: keep navigation reachable and the award clear of copy. */
@media(max-width:380px){
 .header-inner .header-estimate{display:none;}
 .header-inner .menu-toggle{margin-left:auto;flex:0 0 44px;min-width:44px;justify-content:center;padding:8px;}
}
@media(max-width:600px){
 .reference-home .ref-stage>.ref-award{position:static;order:1;width:68px;margin:0 22px 24px;align-self:flex-start;}
 .reference-home .ref-hero-copy{padding-bottom:18px;}
}
/* Automotive bolt-head accents replace the decorative diamonds. */
.reference-home .ref-round-photo::before,.reference-home .ref-round-photo::after{
 transform:none;
 clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
 background:radial-gradient(circle,transparent 0 23%,var(--red) 25%);
}
/* Center the certification logo row; auto margins collapse when the rail overflows. */
.home-certification-band .certification-logos.card-row>img:first-child{margin-left:auto;}
.home-certification-band .certification-logos.card-row>img:last-child{margin-right:auto;}
/* Center the award over the video pane at intermediate widths, clear of all copy. */
@media(min-width:601px) and (max-width:1250px){
 .reference-home .ref-stage>.ref-award{left:78%;right:auto;top:clamp(245px,30vw,360px);transform:translateX(-50%);}
}

/* Repair-process symbols stay legible on both light and dark surfaces. */
.home-process-overview .repair-process-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:4px 0 18px;background:#fff;color:#a91d30;border:1px solid #e7b9c1;border-radius:12px;}
.home-process-overview .repair-process-icon svg{display:block;width:36px;height:36px;}
@media(max-width:600px){.home-process-overview .home-summary-grid{grid-template-columns:1fr;}.home-process-overview .home-summary-item{padding-bottom:8px;}}
