:root{--red:#8f1521;--red2:#6f0f18;--black:#151515;--cream:#f6f3ef;--gray:#6f6f6f;--line:#dedede}
*{box-sizing:border-box}
body{font-family:Montserrat,sans-serif;color:var(--black);background:#fff}
h1,h2,h3,h4,.brand{font-family:Oswald,sans-serif;text-transform:uppercase}
.topbar{background:#fff;border-bottom:1px solid #eee}
.navbar-brand{font-weight:800;color:var(--black)!important;line-height:1}
.brand-mark{width:48px;height:48px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--black) 0 47%,#fff 47% 53%,var(--red) 53%);color:#fff;border-radius:6px;margin-right:.7rem;font-size:1.1rem;font-family:Oswald,sans-serif;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.16);border:2px solid #fff;outline:1px solid #d7d7d7}
.nav-link{font-weight:700;color:#222!important}
.nav-link:hover,.nav-link.active{color:var(--red)!important}
.call-chip{background:var(--red);color:#fff!important;padding:.75rem 1rem!important;border-radius:5px}
.brand-splash{position:relative;overflow:hidden;background:#fff;border-bottom:5px solid var(--black);padding:28px 0}
.brand-splash:after{content:"";position:absolute;right:-45px;top:-65px;width:190px;height:210px;background:var(--red);transform:rotate(16deg);z-index:0}
.brand-splash .container{position:relative;z-index:1}
.tot-lockup{display:flex;align-items:center;gap:22px}
.tot-symbol{position:relative;width:105px;height:105px;flex:0 0 105px}
.tot-symbol .q{position:absolute;width:47px;height:47px;border:8px solid var(--black)}
.tot-symbol .q:after{content:"";position:absolute;width:26px;height:8px;background:var(--black);top:11px;left:10px;transform:rotate(45deg);transform-origin:center}
.tot-symbol .q1{left:0;top:0;border-right-color:transparent;border-bottom-color:transparent}
.tot-symbol .q2{right:0;top:0;border-left-color:transparent;border-bottom-color:transparent}
.tot-symbol .q3{left:0;bottom:0;border-right-color:transparent;border-top-color:transparent}
.tot-symbol .q4{right:0;bottom:0;border-left-color:transparent;border-top-color:transparent}
.tot-symbol .q2,.tot-symbol .q3{border-color:var(--red)}
.tot-symbol .q2:after,.tot-symbol .q3:after{background:var(--red)}
.tot-name{font-family:Oswald,sans-serif;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:700;line-height:.82;letter-spacing:.01em;text-transform:uppercase;color:#111}
.tot-name .marketing{display:block;color:var(--red);font-size:.56em;letter-spacing:.18em;margin-top:.18em}
.tot-tag{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#555;margin-top:.7rem}
.tot-intro{max-width:320px;margin-left:auto;font-weight:700;color:#333}
.hero{position:relative;min-height:680px;background:linear-gradient(90deg,rgba(12,12,12,.9) 0%,rgba(12,12,12,.62) 46%,rgba(12,12,12,.2) 72%),url('https://images.unsplash.com/photo-1503736334956-4c8f8e92946d?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat;color:#fff}
.hero h1{font-size:clamp(3.2rem,7vw,6.5rem);line-height:.92;font-weight:700}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.hero-form,.contact-card,.trust-card{background:#fff;color:var(--black);border-radius:8px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.hero-form .head{background:var(--red);color:#fff;padding:1rem 1.25rem;border-radius:8px 8px 0 0}
.form-control,.form-select{border-radius:4px;border-color:#d2d2d2;padding:.78rem .9rem}
.btn-red{background:var(--red);border-color:var(--red);color:#fff;font-weight:800;text-transform:uppercase}
.btn-red:hover{background:var(--red2);border-color:var(--red2);color:#fff}
.service-icon{width:58px;height:58px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center}
.service-card{border:1px solid #ececec;border-radius:8px;background:#fff;overflow:hidden;height:100%;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.service-card img{width:100%;height:210px;object-fit:cover}
.service-card h3{font-size:1.25rem}
.section-title{font-size:clamp(2.35rem,5vw,4rem);font-weight:700}
.trust-band{background:linear-gradient(90deg,var(--red2),var(--red));color:#fff}
.area-box{background:#f7f7f7;border:1px solid #e7e7e7;border-radius:8px}
.language-strip{background:var(--black);color:#fff}
.language-pill{display:inline-block;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .8rem;margin:.25rem;font-size:.86rem;font-weight:700}
.partner-band{background:#f3eee8;border-top:1px solid #e2d8cc;border-bottom:1px solid #e2d8cc}
.partner-logo{display:inline-flex;align-items:center;gap:.65rem;font-weight:800;text-transform:uppercase}
.partner-mark{width:42px;height:42px;border-radius:6px;display:grid;place-items:center;background:#111;color:#fff;border:3px solid var(--red);font-family:Oswald,sans-serif;font-weight:700;letter-spacing:.03em}
.metric{font-family:Oswald,sans-serif;font-size:3rem;font-weight:700;color:var(--red)}
.floating-chat{position:fixed;right:18px;bottom:18px;width:320px;z-index:1040;background:#fff;border-radius:8px;box-shadow:0 14px 40px rgba(0,0,0,.25);overflow:hidden;border:1px solid #e5e5e5}
.chat-head{background:var(--red);color:#fff;padding:.85rem 1rem;font-weight:800}
.chat-body{padding:1rem}
.chat-bubble{background:#f1f1f1;padding:.65rem .8rem;border-radius:14px;margin-bottom:.6rem;font-size:.86rem}
.footer{background:#171717;color:#d0d0d0}
.footer a{color:#fff;text-decoration:none}
.page-hero{background:linear-gradient(90deg,var(--black),#2a2a2a);color:#fff;padding:120px 0 70px}
.page-hero h1{font-size:clamp(3rem,6vw,5.5rem)}
.reveal{opacity:0;transform:translateY(24px)}
.form-note{font-size:.8rem;color:#6c757d}
@media(max-width:991px){.brand-splash:after{right:-95px}.tot-lockup{align-items:flex-start}.tot-symbol{width:82px;height:82px;flex-basis:82px}.tot-symbol .q{width:36px;height:36px;border-width:6px}.tot-symbol .q:after{width:20px;height:6px;top:8px;left:7px}.tot-intro{display:none}.hero{padding:110px 0 70px}.floating-chat{display:none}.hero-form{margin-top:2rem}.call-chip{margin-top:.5rem}.service-card img{height:180px}}
@media(max-width:575px){.brand-splash{padding:20px 0}.tot-lockup{gap:14px}.tot-symbol{width:64px;height:64px;flex-basis:64px}.tot-symbol .q{width:28px;height:28px;border-width:5px}.tot-symbol .q:after{width:15px;height:5px;top:5px;left:5px}.tot-tag{font-size:.62rem;letter-spacing:.11em}}

.google-review-section{background:linear-gradient(180deg,#fff 0%,#f7f3ef 100%);border-top:1px solid #eee}
.google-review-card{max-width:920px;background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:3rem 2rem;box-shadow:0 18px 44px rgba(0,0,0,.08);position:relative;overflow:hidden}
.google-review-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,var(--red),#111,var(--red))}
.google-review-kicker{display:inline-block;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-size:.8rem;margin-bottom:.5rem}
.google-stars{font-size:2rem;letter-spacing:.12em;color:#f4b400;line-height:1;margin-bottom:1rem}
.btn-google-review{background:var(--red);border:2px solid var(--red);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.btn-google-review:hover{background:var(--red2);border-color:var(--red2);color:#fff}
.footer-review-link{display:inline-block;color:#fff!important;font-weight:700;text-decoration:none}
.footer-review-link:hover{text-decoration:underline}

/* Service area and locations */
.service-areas-home{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.location-card{display:flex;align-items:center;gap:.65rem;padding:1rem 1.1rem;border:1px solid #e5e5e5;border-left:5px solid var(--red);border-radius:8px;background:#f8f8f8;color:#171717;text-decoration:none;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.location-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08);border-color:#d5d5d5;color:var(--red)}
.location-card .material-symbols-outlined{color:var(--red)}
.location-detail-card{padding:2rem;border:1px solid #e7e7e7;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.location-detail-card h2{font-size:1.65rem;margin:.8rem 0}
.location-pin{font-size:2.6rem;color:var(--red)}
.location-link{font-weight:800;color:var(--red);text-decoration:none}
.location-link:hover{text-decoration:underline}
.area-note{background:#f4f0ec;border-left:6px solid var(--red);border-radius:10px}
@media(max-width:575px){.location-grid{grid-template-columns:1fr}}
