
:root{--black:#0f0f10;--red:#e31e24;--red-dark:#b31419;--gray:#f4f4f5;--charcoal:#232326}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#18181b;background:#fff}a{text-decoration:none}img{max-width:100%;display:block}
.container{max-width:1240px;margin:0 auto;padding-left:1rem;padding-right:1rem}.topbar{background:var(--black);color:#fff}.topbar a{color:#fff}.topbar a:hover{color:#fca5a5}
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #e4e4e7}.logo-link img{height:64px;width:auto}.desktop-nav{display:none;gap:1.5rem;align-items:center;font-family:Montserrat,Arial,sans-serif;font-weight:700}.desktop-nav>a,.mega-wrap>button{color:#111827;background:none;border:none;cursor:pointer;font:inherit}.desktop-nav>a:hover,.mega-wrap>button:hover{color:var(--red)}.desktop-cta{display:none;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.95rem 1.35rem;font-weight:700;font-family:Montserrat,Arial,sans-serif;transition:.2s}.btn-solid{background:var(--red);color:#fff}.btn-solid:hover{background:var(--red-dark)}.btn-outline{border:2px solid var(--red);color:var(--red)}.btn-outline:hover{background:var(--red);color:#fff}.mobile-toggle{border:1px solid #d4d4d8;border-radius:.8rem;background:#fff;font-size:1.4rem;padding:.55rem .9rem}.mobile-panel{display:none;border-top:1px solid #e4e4e7;background:#fff}.mobile-panel.open{display:block}.mobile-panel a{padding:.25rem 0;color:#111827;font-weight:600}.mega-wrap{position:relative}.mega-menu{position:absolute;left:50%;transform:translateX(-50%);top:100%;min-width:860px;background:#fff;border:1px solid #e4e4e7;border-radius:1.4rem;padding:1.5rem;display:none;box-shadow:0 20px 60px rgba(0,0,0,.12)}.mega-wrap:hover .mega-menu,.mega-wrap:focus-within .mega-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.mega-menu h3{font:800 1rem Montserrat,Arial,sans-serif;color:#111827;margin:0 0 .8rem}.mega-menu a{display:block;padding:.35rem 0;color:#3f3f46}.mega-menu a:hover{color:var(--red)}
.hero{position:relative;background:linear-gradient(135deg,rgba(15,15,16,.92),rgba(35,35,38,.8)),center/cover no-repeat;color:#fff}.hero-grid{display:grid;gap:2rem;align-items:center;padding:5rem 0}.eyebrow{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:.5rem .9rem;border-radius:999px;font:700 .8rem Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.hero h1{font:800 clamp(2.2rem,5vw,4.3rem)/1.05 Montserrat,Arial,sans-serif;margin:1rem 0 0}.hero p{font-size:1.1rem;color:#e4e4e7;max-width:52rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.hero-card{background:#fff;color:#111827;border-radius:1.5rem;padding:1.25rem;box-shadow:0 20px 50px rgba(0,0,0,.18)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stats div{background:var(--gray);padding:1rem;border-radius:1rem;text-align:center}.stats strong{display:block;font:800 1.25rem Montserrat,Arial,sans-serif;color:var(--red)}
.section{padding:4.5rem 0}.section-gray{background:var(--gray)}.section-dark{background:var(--black);color:#fff}.kicker{font:800 .82rem Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.7rem}.section h2{font:800 clamp(1.9rem,4vw,3rem)/1.1 Montserrat,Arial,sans-serif;margin:0 0 1rem;color:#111827}.section-dark h2{color:#fff}.lead{font-size:1.08rem;color:#52525b;line-height:1.9}.section-dark .lead{color:#d4d4d8}.grid-2{display:grid;gap:2rem}.service-cards,.gallery-grid,.review-grid,.city-grid,.link-grid{display:grid;gap:1.25rem}.card,.review,.link-panel{background:#fff;border:1px solid #e4e4e7;border-radius:1.4rem;padding:1.35rem;box-shadow:0 10px 30px rgba(0,0,0,.05)}.card h3,.review h3,.link-panel h3{font:800 1.2rem Montserrat,Arial,sans-serif;margin:.9rem 0 .55rem;color:#111827}.card p,.review p,.link-panel p{color:#52525b;line-height:1.8}.card img,.gallery-grid img{width:100%;height:250px;object-fit:cover;border-radius:1rem}.gallery-grid.compact img{height:210px}.review{background:#fff}.review .stars{color:var(--red);font-size:1.1rem;letter-spacing:.1em}.bullet-list{display:grid;gap:.8rem;padding:0;margin:1.5rem 0 0}.bullet-list li{list-style:none;position:relative;padding-left:1.25rem;line-height:1.8;color:#3f3f46}.bullet-list li:before{content:'•';position:absolute;left:0;color:var(--red);font-size:1.25rem;line-height:1}.content p{line-height:1.95;color:#3f3f46;margin:0 0 1rem}.content h3{font:800 1.35rem Montserrat,Arial,sans-serif;margin:1.5rem 0 .6rem}.checklist{display:grid;gap:.75rem;margin-top:1rem}.checklist div{background:#fff;border:1px solid #e4e4e7;border-radius:1rem;padding:1rem}.contact-box{background:#fff;border:1px solid #e4e4e7;border-radius:1.5rem;padding:1.4rem;box-shadow:0 20px 50px rgba(0,0,0,.06)}.contact-box input,.contact-box textarea{width:100%;padding:1rem;border:1px solid #d4d4d8;border-radius:.9rem;font:inherit}.contact-box textarea{min-height:160px;resize:vertical}.contact-box .row{display:grid;gap:1rem}.site-footer{background:var(--black);color:#fff}.site-footer h3{font:800 1rem Montserrat,Arial,sans-serif;margin:0 0 1rem}.site-footer a{display:block;color:#d4d4d8;margin:.35rem 0}.site-footer a:hover{color:#fff}.footer-logo{max-height:62px;background:#fff;padding:.2rem}.footer-btn{margin-top:1rem;display:inline-flex;padding:.85rem 1.2rem;border-radius:999px;background:var(--red);color:#fff!important;font-weight:700}.footer-bottom{border-top:1px solid rgba(255,255,255,.12)}
@media (min-width:900px){.desktop-nav,.desktop-cta{display:flex}.mobile-toggle{display:none}.hero-grid{grid-template-columns:1.15fr .85fr}.grid-2{grid-template-columns:1.08fr .92fr}.service-cards{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.review-grid{grid-template-columns:repeat(4,1fr)}.city-grid{grid-template-columns:repeat(4,1fr)}.link-grid{grid-template-columns:repeat(3,1fr)}.contact-box .row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:899px){.mega-menu{display:none!important;min-width:0}.stats{grid-template-columns:1fr}.logo-link img{height:54px}.section{padding:3.25rem 0}}
