*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#151515;background:#fff;line-height:1.6}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:#111;border-bottom:2px solid #d71920}.nav{min-height:78px;display:flex;align-items:center;gap:22px}.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:#111;line-height:1;flex:0 0 auto}.logo img{display:block;width:175px;height:auto}.logo-mark{font-size:42px;color:#d71920;font-weight:900}.logo b{color:#d71920;font-size:21px;letter-spacing:-1px}.logo strong{font-size:21px}.logo small{display:block;font-size:8px;letter-spacing:3px;margin-top:4px}.nav nav{display:flex;gap:18px;margin-left:auto;min-width:0;white-space:nowrap}.nav nav a{color:#111;text-decoration:none;font-weight:600;font-size:14px}.nav nav a:hover{color:#d71920}.nav-actions{display:flex;gap:10px;flex:0 0 auto;align-items:center}.nav-actions .btn{white-space:nowrap;padding:11px 14px;min-width:max-content;font-size:14px;line-height:1.2}.nav-actions .btn-outline{border-color:#fff;color:#fff;background:transparent}.nav-actions .btn-outline:hover{background:#fff;color:#111}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:7px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;font-family:inherit}.btn-red{background:#d71920;color:#fff}.btn-red:hover{background:#b91117}.btn-outline{border-color:#888;color:#111}.btn-light{background:#fff;color:#111}.btn-large{padding:15px 25px;font-size:16px}.menu{display:none;border:0;background:none;font-size:28px}.hero{min-height:600px;display:flex;align-items:center;position:relative;background:url('hero.jpg') center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.45),rgba(0,0,0,.2))}.hero-content{position:relative;color:#fff;padding:90px 0;max-width:850px;margin-left:max(4%,calc((100% - 1180px)/2))}.eyebrow{color:#d71920;font-weight:900;letter-spacing:4px;font-size:12px;margin:0 0 8px}.eyebrow.light{color:#fff}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.02;margin:10px 0 22px;letter-spacing:-2px;text-transform:uppercase}.hero h1 span{display:block}.lead{font-size:20px;max-width:700px}.hero-buttons{display:flex;gap:14px;margin:30px 0}.trust-row{display:flex;gap:25px;font-weight:600}.section{padding:85px 0}.section h2,.about h2,.contact h2{font-size:44px;line-height:1.1;margin:0 0 12px;letter-spacing:-1.5px}.section-intro{color:#666;margin-top:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;margin-top:45px}.services-grid article{background:#fff;padding:35px 25px;min-height:205px}.icon{font-size:35px}.services-grid h3{margin:10px 0 5px}.services-grid p{color:#666;margin:0}.about{background:#f4f4f4;padding:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.about-photo img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}.about-copy{padding:75px 8%}.about-copy p{color:#555}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0;font-weight:700}.text-link{color:#d71920;font-weight:800;text-decoration:none}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}.reviews{background:#f6f6f6}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.review-grid blockquote{background:#fff;margin:0;padding:30px;border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,.06);color:#f2a900;font-size:20px}.review-grid p{color:#333;font-size:15px}.review-grid cite{color:#666;font-size:13px;font-style:normal}.contact{background:#181818;color:#fff;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:50px}.contact-grid>div>p:not(.eyebrow){color:#ccc}.contact-buttons{display:flex;gap:12px;margin:30px 0}.contact-detail{margin:8px 0!important}.contact form{background:#fff;padding:28px;border-radius:8px}.contact input,.contact textarea{width:100%;padding:14px;margin-bottom:12px;border:1px solid #ddd;border-radius:5px;font:inherit}.contact form small{display:block;color:#777;margin-top:10px}footer{background:#0d0d0d;color:#bbb;padding:35px 0 20px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-grid a{color:#fff;text-decoration:none}.footer-logo{color:#fff}.copyright{border-top:1px solid #333;margin-top:25px;padding-top:18px;font-size:12px}.copyright span{float:right}@media(max-width:950px){.nav nav{display:none}.nav nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;box-shadow:0 10px 20px #0001}.menu{display:block;margin-left:auto}.nav-actions{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.review-grid{grid-template-columns:1fr}.about-copy{padding:55px 5%}}@media(max-width:600px){.hero{min-height:650px}.hero-content{padding:70px 0;margin-left:auto}.hero h1{font-size:42px}.lead{font-size:17px}.hero-buttons,.contact-buttons{flex-direction:column;align-items:stretch}.trust-row{flex-wrap:wrap;gap:12px}.section{padding:60px 0}.section h2,.about h2{font-size:36px}.services-grid{grid-template-columns:1fr}.ticks{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.photo-placeholder{height:190px}.contact h2{font-size:40px}.footer-grid{flex-direction:column;align-items:flex-start}.copyright span{float:none;display:block;margin-top:8px}}
.service-note{border-left:4px solid #d71920;background:#fff;padding:14px 16px;margin:24px 0;color:#333}.service-note b{color:#111}

.logo img{display:block;width:235px;height:auto;max-height:62px;object-fit:contain}
.site-header .nav nav a{color:#fff}
.site-header .nav nav a:hover{color:#d71920}
.footer-logo img{width:205px;max-height:55px}
@media(max-width:950px){.site-header nav.open{background:#111}.site-header nav.open a{color:#fff}}

.services-grid{grid-template-columns:repeat(4,1fr)}
.service-card{background:#fff;padding:28px 22px;min-height:190px;border:1px solid #eee;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.08)}
.service-icon{font-size:32px;line-height:1;margin-bottom:16px}
.service-card h3{font-size:17px;margin:0 0 7px;line-height:1.25}
.service-card p{color:#666;margin:0;font-size:14px;line-height:1.5}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr}}

.work-card{margin:0;background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.work-card a{display:block;overflow:hidden}
.work-card img{display:block;width:100%;height:250px;object-fit:cover;transition:transform .35s}
.work-card:hover img{transform:scale(1.04)}
.work-card figcaption{padding:13px 15px;font-weight:700;font-size:14px}
@media(max-width:1100px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gallery{grid-template-columns:1fr}.work-card img{height:230px}}
.stars{color:#f2a900;font-size:20px;letter-spacing:2px}.review-link{text-align:center;margin-top:30px}
/* Hero photo slideshow */
.hero.slideshow{min-height:600px;overflow:hidden;background:#111}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity .8s ease}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero.slideshow .hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42),rgba(0,0,0,.15))}
.hero.slideshow .hero-content{z-index:2}
.slide-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:62px;border:0;border-radius:6px;background:rgba(0,0,0,.45);color:#fff;font-size:44px;line-height:1;cursor:pointer}
.slide-arrow:hover{background:rgba(215,25,32,.9)}
.slide-arrow.prev{left:22px}.slide-arrow.next{right:22px}
.slide-dots{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px}
.slide-dots button{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.slide-dots button.active{background:#d71920;border-color:#d71920}
@media(max-width:600px){.hero.slideshow{min-height:650px}.slide-arrow{width:38px;height:50px;font-size:34px}.slide-arrow.prev{left:10px}.slide-arrow.next{right:10px}.hero.slideshow .hero-slide img{object-position:center}}


/* Local SEO content */
.local-seo{background:#fff}.local-seo p:not(.eyebrow){max-width:900px;color:#555}.local-seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.local-seo-grid>div{border:1px solid #e5e5e5;border-top:4px solid #d71920;padding:22px;border-radius:7px;background:#fff}.local-seo-grid strong{display:block;font-size:17px;margin-bottom:6px}.local-seo-grid span{display:block;color:#666;font-size:14px;line-height:1.55}@media(max-width:800px){.local-seo-grid{grid-template-columns:1fr}}


/* Insurance section */
.insurance-section{background:#f4f4f4}.insurance-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:55px;align-items:center}.insurance-section h2{font-size:44px;line-height:1.1;margin:0 0 14px;letter-spacing:-1.5px}.insurance-section p:not(.eyebrow){color:#555;max-width:800px}.insurance-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.insurance-details>div{background:#fff;border:1px solid #e2e2e2;border-top:4px solid #d71920;border-radius:7px;padding:18px}.insurance-details strong{display:block;margin-bottom:5px}.insurance-details span{display:block;color:#666;font-size:14px;line-height:1.45}.insurance-note{font-size:13px!important;color:#777!important}.insurance-card{background:#181818;color:#fff;border-radius:10px;padding:42px 30px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.12)}.insurance-card h3{font-size:27px;margin:14px 0 8px}.insurance-card p{color:#ccc!important;margin-bottom:24px}.insurance-shield{font-size:52px}.insurance-badge{display:inline-block;background:#d71920;padding:8px 18px;border-radius:20px;font-size:12px;font-weight:900;letter-spacing:2px}@media(max-width:800px){.insurance-grid{grid-template-columns:1fr}.insurance-details{grid-template-columns:1fr}.insurance-section h2{font-size:36px}}
