.topbar.is-scrolled{border-top-color:var(--charcoal);border-bottom-color:var(--charcoal)}
.topbar{transition:border-top-color .18s ease,border-bottom-color .18s ease}
.service-card{overflow:hidden}
.service-card img{transform:scale(1);transition:transform .45s cubic-bezier(.2,.7,.25,1)}
.service-card:hover img,.service-card:focus-visible img{transform:scale(1.08)}
.process-copy h2{font-size:36px}
.social-icons>a,.social-icons>span{width:52px;height:52px;font-size:30px}
.social-icons>span:nth-child(4){font-size:36px}.social-icons>span:nth-child(5){font-size:22px}.social-icons>span:nth-child(6){font-size:24px}.social-icons>span:nth-child(7){font-size:26px}
.overview-photo{align-self:center;min-width:0}
.overview-photo img{display:block;width:100%;height:590px;object-fit:cover;box-shadow:0 8px 18px #0002}
.overview-photo-cta{font-size:clamp(17px,1.28vw,24px);line-height:1.5;color:#444;margin:28px 0 0}
.overview-photo-cta a{color:#173fc4;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.gallery-image{display:block;overflow:hidden}
.flooring-gallery img{transform:scale(1);transition:transform .45s cubic-bezier(.2,.7,.25,1)}
.gallery-image:hover img,.gallery-image:focus-within img{transform:scale(1.08)}
.home-hero .hero-copy h1,.home-hero .hero-copy .location,.home-hero .hero-copy .coverage{animation:hero-slide-in .8s cubic-bezier(.2,.7,.25,1) both}
.home-hero .hero-copy .location{animation-delay:.12s}.home-hero .hero-copy .coverage{animation-delay:.24s}
@keyframes hero-slide-in{from{opacity:0;transform:translateX(-44px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:850px){.overview-photo img{height:420px}}
@media(max-width:600px){.overview-photo img{height:310px}.social-icons>a,.social-icons>span{width:42px;height:42px;font-size:24px}.social-icons>span:nth-child(4){font-size:30px}.social-icons>span:nth-child(5){font-size:18px}.social-icons>span:nth-child(6){font-size:20px}.social-icons>span:nth-child(7){font-size:22px}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-copy h1,.home-hero .hero-copy .location,.home-hero .hero-copy .coverage{animation:none}}


/* Match the source site's typography and compact, scroll-shrinking header. */
body{font-family:Spartan,Montserrat,Arial,sans-serif}
p,.intro-copy p,.intro-section .intro-copy p,.home-lower p,.section-heading p,.cta p,.estimate-close p,.feature p,.contact-details p,.footer-brand p,.footer-contact p{font-family:Spartan,Montserrat,Arial,sans-serif;font-size:18px}
.intro-section .form-panel>p{font-size:16px}
.topbar{border-top:4px solid #dedbd1;border-right:2px solid #dedbd1;border-bottom:8px solid #dedbd1;border-left:2px solid #dedbd1;transition:border-color .18s ease,border-width .18s ease}
.topbar-inner{grid-template-columns:190px 1fr auto;min-height:136px;padding:16px 26px;transition:min-height .2s ease,padding .2s ease}
.brand{margin-left:clamp(90px,6vw,125px)}
.brand img{width:130px;transition:width .2s ease}
.header-phone{font-family:Spartan,Montserrat,Arial,sans-serif;font-size:38px;line-height:1.1}
.nav{font-family:Spartan,Montserrat,Arial,sans-serif;font-size:18px}
.topbar.is-scrolled{border-top-width:8px;border-right-width:2px;border-bottom-width:8px;border-left-width:2px;border-color:var(--charcoal)}
.topbar.is-scrolled .topbar-inner{min-height:104px;padding-top:6px;padding-bottom:6px}
.topbar.is-scrolled .brand{margin-left:clamp(90px,6vw,125px)}
.topbar.is-scrolled .brand img{width:110px}
.topbar.is-scrolled .header-phone{font-size:34px}
.intro-section .intro-grid{grid-template-columns:1.3fr 1fr;gap:36px;align-items:start}
.intro-section .intro-copy p{font-size:18px;line-height:1.5}
.intro-section .form-panel{width:100%;max-width:100%}
.home-hero .hero-copy h1{width:auto;max-width:100%;white-space:normal}
@media(max-width:850px){.topbar-inner{grid-template-columns:130px 1fr;min-height:0;padding:12px 20px}.brand{margin-left:0}.topbar.is-scrolled .topbar-inner{min-height:0;padding-top:8px;padding-bottom:8px}.topbar.is-scrolled .brand{margin-left:0}.brand img{width:120px}.topbar.is-scrolled .brand img{width:100px}.header-phone{font-size:30px}.topbar.is-scrolled .header-phone{font-size:27px}.intro-section .intro-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:540px){.topbar-inner{grid-template-columns:1fr;justify-items:center;padding:14px}.brand{margin-left:0}.header-phone{grid-column:auto;grid-row:auto;font-size:28px}.topbar.is-scrolled .header-phone{font-size:25px}}
@media(prefers-reduced-motion:reduce){.topbar,.topbar-inner,.brand img{transition:none}}
