/* Compact disclosure anchored to its hamburger button, not the whole header. */
.mobile-navigation{position:relative;display:none;flex:0 0 auto}
@media(max-width:800px){.mobile-navigation{display:block}.site-header{padding-right:max(12px,env(safe-area-inset-right,0px))}}
#mobile-menu{position:absolute;inset:auto 0 auto auto;left:auto;right:0;top:calc(100% + 8px);width:min(232px,calc(100vw - 32px));max-width:none;height:auto;max-height:min(68svh,520px);margin:0;padding:10px 16px 14px;overflow-y:auto;overscroll-behavior:contain;background:#171717;border:1px solid #ffffff2a;border-radius:8px;box-shadow:0 14px 38px #0006;color:#fff}
#mobile-menu[hidden]{display:none}
#mobile-menu nav>a,#mobile-menu .mobile-services-menu>summary{display:block;padding:11px 4px;border-bottom:1px solid #ffffff18;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
#mobile-menu a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:5px}
#mobile-menu .mobile-services-menu>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}
#mobile-menu .mobile-services-menu>summary::-webkit-details-marker{display:none}
#mobile-menu .mobile-services-menu>summary::after{content:'+';font-size:18px;line-height:1}
#mobile-menu .mobile-services-menu[open]>summary::after{content:'−'}
#mobile-menu .mobile-services{padding:4px 0 8px 12px;border-left:1px solid #ffffff2a;margin:8px 0 0 4px}
#mobile-menu .mobile-services a{font-size:12px;line-height:1.5;padding:10px 8px;letter-spacing:0;text-transform:none}
#mobile-menu>.button{width:100%;min-height:44px;margin:14px 0 0;padding:12px;font-size:11px}
#mobile-menu :is(a,summary):focus-visible,.menu-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
.menu-toggle{min-width:44px;min-height:44px;cursor:pointer}
.menu-toggle span{transition:transform .18s ease,opacity .18s ease}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(min-width:801px){#mobile-menu{display:none}}
@media(min-width:801px) and (max-width:1150px){.desktop-nav{gap:15px;margin-left:10px;font-size:10px}.brand{flex-basis:155px;width:155px;padding-right:14px}.site-header>.button{min-width:132px;font-size:10px}.site-header{padding-left:20px;padding-right:20px}}
/* Small photo zoom on press, with immediate native navigation. */
.service-card.is-pressed,.service-card:active{transform:translateY(0) scale(.995)}
.service-card.is-pressed img,.service-card:active img{transform:scale(var(--service-image-hover));transition-duration:800ms}
.service-card.is-pressed::before{opacity:1}
@media(prefers-reduced-motion:reduce){
 .menu-toggle span{transition:none}
 .service-card,.service-card:is(.is-pressed,:hover,:active,:focus-visible){transform:none;transition:none}
 .service-card img,.service-card:is(.is-pressed,:hover,:active,:focus-visible) img{transform:scale(var(--service-image-rest));transition:none}
}

/* Owner-approved headline: intentional lines and room for the real photograph. */
.home-hero h1{font-size:clamp(38px,4.2vw,62px);line-height:1.08;letter-spacing:-.035em;max-width:750px;text-transform:none}
.home-hero h1>span{display:block}
.home-hero .hero-kicker{font-size:13px;letter-spacing:.16em;font-weight:600;margin-bottom:22px}
.home-hero .hero-description{max-width:440px;font-size:17px;line-height:1.65;margin-top:24px;text-wrap:pretty}
.home-hero .actions{margin-top:32px}
.home-hero .hero-content{padding-left:6%;padding-right:6%}
@media(max-width:1000px) and (min-width:768px){.home-hero h1{font-size:38px}.home-hero .hero-description{font-size:15px;max-width:400px}}
@media(max-width:767px){
 .home-hero{min-height:660px}
 .home-hero .hero-content{padding:122px 22px calc(86px + env(safe-area-inset-bottom,0px))}
 .home-hero .hero-kicker{font-size:11px;letter-spacing:.16em;margin-bottom:18px}
 .home-hero h1{font-size:clamp(27px,7.4vw,39px);line-height:1.12;letter-spacing:-.035em;max-width:100%}
 .home-hero .hero-description{max-width:340px;font-size:14px;line-height:1.6;margin-top:19px}
 .home-hero .actions{margin-top:auto;padding-top:30px;gap:12px}
 .home-hero .actions .button{max-width:100%;width:248px;min-height:52px;font-size:12px}
}
@media(max-width:359px){.home-hero .hero-content{padding-left:18px;padding-right:18px;padding-top:112px}.home-hero .hero-description{font-size:13px}.home-hero .actions{padding-top:24px}}

/* Refined image-only motion: a crisp center with soft outer edges. */
.service-card{--service-image-hover:1.085;--service-motion:320ms cubic-bezier(.18,.7,.25,1)}
.service-card[href="ceramic-coating.html"]{--service-image-hover:1.215}
.service-card img{transition:transform 800ms cubic-bezier(.2,.65,.3,1)}
.service-card h3{position:relative;z-index:2}
.service-card::before{z-index:1;border-color:#ffffff45;backdrop-filter:blur(2.4px);-webkit-backdrop-filter:blur(2.4px);mask-image:radial-gradient(ellipse at center,transparent 52%,#0007 78%,#000 100%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 52%,#0007 78%,#000 100%)}
.service-card.is-pressed img,.service-card:active img{transition-duration:800ms}
@media(prefers-reduced-motion:reduce){.service-card::before{backdrop-filter:none;-webkit-backdrop-filter:none}.service-card img{transition:none}.service-card:is(.is-pressed,:hover,:active,:focus-visible) img{transform:scale(var(--service-image-rest))}}
/* Sharper headline hierarchy, with balanced lines and a quieter supporting line. */
.home-hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.09;letter-spacing:-.045em;font-weight:800;text-shadow:0 2px 10px #0003}
.home-hero h1>span:first-child{font-weight:600}
.home-hero h1>span+span{margin-top:.06em;font-weight:800}
.home-hero .hero-kicker{font-size:12px;font-weight:700;letter-spacing:.2em;margin-bottom:20px}
.home-hero .hero-description{max-width:425px;font-size:16px;line-height:1.7;font-weight:400;color:#f0f0ee;margin-top:22px}
@media(max-width:1000px) and (min-width:768px){.home-hero h1{font-size:39px}.home-hero .hero-description{max-width:385px;font-size:15px}}
@media(max-width:767px){
 .home-hero .hero-content{padding-top:116px;padding-left:24px;padding-right:24px}
 .home-hero h1{font-size:clamp(27px,7.7vw,40px);line-height:1.12;letter-spacing:-.045em;max-width:100%}
 .home-hero .hero-kicker{font-size:10px;line-height:1.5;letter-spacing:.2em;margin-bottom:17px}
 .home-hero .hero-description{max-width:318px;font-size:13px;line-height:1.65;margin-top:18px}
}
@media(max-width:359px){.home-hero .hero-content{padding-top:108px;padding-left:18px;padding-right:18px}.home-hero .hero-description{font-size:12px;max-width:280px}}

@media(prefers-reduced-motion:reduce){.service-card img,.service-card.is-pressed img,.service-card:active img{transition:none}}

/* Gentle zoom-out reveal with a precise title underline. */
.service-card{--service-image-rest:1.06;--service-image-hover:1}
.service-card[href="ceramic-coating.html"]{--service-image-rest:1.19;--service-image-hover:1.13}
.service-card h3::after{content:"";position:absolute;left:50%;bottom:-10px;width:38px;max-width:100%;height:1px;background:#fff;transform:translateX(-50%) scaleX(0);transform-origin:center;opacity:0;transition:transform 800ms cubic-bezier(.2,.65,.3,1),opacity 500ms ease;pointer-events:none}
.service-card:hover:where(.is-pointer-hover) h3::after,.service-card:is(.is-pressed,:active,:focus-visible) h3::after{transform:translateX(-50%) scaleX(1);opacity:1}
@media(prefers-reduced-motion:reduce){.service-card h3::after{transition:none}.service-card:is(.is-pressed,:hover,:active,:focus-visible) img{transform:scale(var(--service-image-rest));transition:none}}
