
:root{
  --red:#d71920; --red-dark:#b91016; --black:#141414; --char:#222;
  --white:#fff; --soft:#f5f5f5; --line:#e4e4e4; --muted:#666;
  --shadow:0 12px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#171717;line-height:1.55;background:#fff}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1200px;margin:auto;padding:0 24px}
.topbar{background:var(--red);color:#fff;font-size:13px}
.topbar .wrap{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px}
header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}
.mark{background:var(--red);color:#fff;font-weight:900;font-size:28px;letter-spacing:1px;padding:8px 12px}
.brand-name{font-size:27px;font-weight:900;line-height:1}
.brand-name small{display:block;color:#777;font-size:9px;letter-spacing:2px;margin-top:5px}
.navlinks{display:flex;align-items:center;gap:21px}
.navlinks a{font-size:13px;font-weight:800}
.navlinks a:hover{color:var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff!important;padding:14px 20px;font-weight:900;border:0;cursor:pointer;text-align:center}
.btn:hover{background:var(--red-dark)}
.btn.dark{background:#252525}
.hero{background:var(--black);color:#fff}
.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;min-height:570px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 48px 68px max(24px,calc((100vw - 1200px)/2))}
.hero-copy h1{font-size:59px;line-height:1.02;letter-spacing:-1px;margin:12px 0 20px}
.hero-copy h1 span{color:#ef272e}
.eyebrow{color:#ef4248;text-transform:uppercase;font-weight:900;letter-spacing:1.5px;font-size:13px}
.hero-copy p{font-size:19px;color:#ddd;max-width:640px}
.hero-image{position:relative;overflow:hidden;background:#262626}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.trustgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px;font-size:12px;color:#ccc}
.trustgrid strong{color:#fff;display:block}
.redbar{background:var(--red);color:#fff}
.redbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.redbar .item{text-align:center;padding:19px 13px;border-right:1px solid rgba(255,255,255,.28)}
.redbar .item:last-child{border:0}
.redbar strong{display:block;font-size:14px}
.redbar span{font-size:12px}
section{padding:76px 0}
.section-head{text-align:center;max-width:820px;margin:auto}
.section-head h2{font-size:40px;line-height:1.12;margin:8px 0 12px}
.section-head p{color:var(--muted)}
.rule{width:56px;height:5px;background:var(--red);margin:17px auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.card{display:block;border:1px solid var(--line);border-top:4px solid var(--red);padding:28px;background:#fff;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card p{color:var(--muted)}
.learn{display:inline-block;color:var(--red);font-weight:900;margin-top:10px}
.alt{background:var(--soft)}
.split{display:grid;grid-template-columns:.86fr 1.14fr;gap:48px;align-items:center}
.split h2{font-size:40px;line-height:1.12}
.factgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fact{background:#fff;border-left:5px solid var(--red);padding:22px}
.fact strong{display:block;color:var(--red);font-size:20px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
.gallery-card{position:relative;height:430px;overflow:hidden;background:#ddd}
.gallery-card img{width:100%;height:100%;object-fit:cover}
.gallery-label{position:absolute;left:16px;bottom:16px;background:#111;color:#fff;padding:9px 12px;font-weight:900;font-size:12px}
.locations{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.locations a,.locations span{padding:18px;text-align:center;border:1px solid var(--line);background:#fff;font-weight:900}
.locations a:hover{border-color:var(--red);color:var(--red)}
.cta-band{background:#171717;color:#fff;padding:34px 0}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
.cta-band h3{font-size:27px;margin:0}
.cta-band p{color:#ccc;margin:4px 0 0}
.pagehero{background:#171717;color:#fff;padding:68px 0 74px;min-height:330px;display:flex;align-items:center}
.pagehero .wrap{width:100%;max-width:980px}
.pagehero h1{font-size:48px;line-height:1.08;margin:12px 0 16px}
.pagehero p{font-size:18px;color:#ddd;max-width:760px}
.breadcrumb{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:#aaa}
.breadcrumb a{color:#ddd}
.content{max-width:940px;margin:auto}
.content h2{font-size:34px;line-height:1.18}
.content p,.content li{color:#555}
.backlink{display:inline-block;color:var(--red);font-weight:900;margin-bottom:18px}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.step{border:1px solid var(--line);padding:22px;background:#fff;cursor:pointer;position:relative;transition:.2s}
.step:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.step:after{content:"+";position:absolute;right:18px;top:16px;color:var(--red);font-size:22px;font-weight:900}
.step.open:after{content:"–"}
.step b{color:var(--red)}
.step-detail{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:#555}
.step.open .step-detail{display:block}
.step-hint{text-align:center;color:#777;font-size:13px;margin-top:14px}
.faq{max-width:900px;margin:30px auto 0}
.faq-item{border-top:1px solid var(--line);padding:17px 0}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{font-weight:900;cursor:pointer;position:relative;padding-right:30px}
.faq-q:after{content:"+";position:absolute;right:0;color:var(--red)}
.faq-item.open .faq-q:after{content:"–"}
.faq-a{display:none;color:#555;margin-top:10px}
.faq-item.open .faq-a{display:block}
.formsec{background:#151515;color:#fff}
.formsec .section-head p{color:#ccc}
form{max-width:830px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}
input,select,textarea{width:100%;padding:15px;border:1px solid #ccc;font:inherit;background:#fff}
textarea{grid-column:1/-1;min-height:130px}
form button{grid-column:1/-1;font-size:16px}
.success{padding:100px 0;text-align:center}
.success h1{font-size:48px}
.mobile-cta{display:none}
footer{background:#090909;color:#aaa;padding:34px 0}
.footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}
.footer strong{color:#fff}
.footer a{display:block;color:#bbb;margin:5px 0}
.footer-copy{border-top:1px solid #292929;margin-top:24px;padding-top:18px;font-size:12px}
@media(max-width:900px){
  html{scroll-padding-top:82px}
  .topbar{display:none}
  .nav{height:72px}
  .brand-name{font-size:20px}.mark{font-size:22px}
  .navlinks a:not(.btn){display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:52px 24px}
  .hero-copy h1{font-size:43px}
  .hero-image{height:390px}
  .redbar .wrap,.cards,.split,.gallery,.locations,.process,.footer,form{grid-template-columns:1fr}
  .redbar .item{border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}
  .factgrid{grid-template-columns:1fr}
  .gallery-card{height:350px}
  textarea,form button{grid-column:auto}
  .cta-band .wrap{display:block}.cta-band .btn{margin-top:18px}
  .pagehero{padding:52px 0;min-height:280px}.pagehero h1{font-size:40px}
  .mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:60;box-shadow:0 -4px 18px rgba(0,0,0,.15)}
  .mobile-cta a{padding:14px 10px;text-align:center;color:#fff;font-weight:900}
  .mobile-cta a:first-child{background:#222}.mobile-cta a:last-child{background:var(--red)}
  body{padding-bottom:52px}
}

.review-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:stretch;margin-top:34px}
.rating-card{background:#171717;color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:center}
.rating-number{font-size:62px;font-weight:900;line-height:1;color:#fff}
.stars{font-size:28px;letter-spacing:3px;color:#f1b500;margin:10px 0}
.rating-card p{color:#ccc;margin:7px 0}
.rating-note{font-size:11px;color:#999!important;margin-top:14px!important}
.review-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-theme{border:1px solid var(--line);background:#fff;padding:23px}
.review-theme h3{margin-top:0}
.review-theme p{color:#606060}
.social-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.social-link{border:1px solid #ddd;background:#fff;padding:11px 15px;font-weight:900}
.social-link:hover{border-color:var(--red);color:var(--red)}
.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.seo-copy{max-width:980px;margin:34px auto 0;color:#555}
.seo-copy h3{color:#1b1b1b}
.location-intro{max-width:900px;margin:auto}
.location-services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.location-service{border:1px solid var(--line);padding:22px;background:#fff}
.location-service p{color:#666}
.review-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.review-source{border:1px solid var(--line);padding:24px;background:#fff}
.review-source h3{margin-top:0}
.review-source p{color:#606060}
@media(max-width:900px){
 .review-wrap,.review-themes,.location-services,.review-page-grid{grid-template-columns:1fr}
}
