:root{
  --blue:#0077b6; --cobalt:#155eef; --ink:#000; --white:#fff; --gray:#cbd5e0;
  --navy:#192c47; --lavender:#f6f6ff; --indigo:#757bbd; --red:#e93d3d;
  --font-body:'Open Sans',sans-serif; --font-head:'Poppins',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:110px;font-family:Times,'Times New Roman',serif;font-size:16px;color:#000;background:#fff}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:99;height:110px;padding:5px 0;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.1)}
.header-row{height:100px;display:flex;align-items:center;padding:0 15px}
.logo{display:block;flex:none;width:140px;padding:0 10px}
.logo img{display:block;width:120px;height:100px}
.main-nav{flex:1;min-width:0;display:flex;justify-content:space-between;font-family:Montserrat,sans-serif;font-size:16px;line-height:20.8px;color:var(--blue)}
.main-nav::before{content:'';flex:none;width:50px}
.main-nav ul{display:flex;flex-wrap:wrap;align-items:center;margin-right:44px}
.main-nav li{display:flex;align-items:center;white-space:nowrap}
.main-nav a{display:flex;align-items:center;padding:5px 20px;font-weight:500;color:var(--blue);text-decoration:none;transition:all .3s ease}
.main-nav li:hover a{color:var(--cobalt);background:#fff}
.nav-toggle{display:none}
.main-nav li.has-dd{position:relative}
.main-nav .dd{display:none;position:absolute;top:100%;left:0;z-index:5;width:160px;padding:9px 6px;flex-direction:column;align-items:stretch;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.1)}
.main-nav li.has-dd:hover>.dd,.main-nav li.has-dd:focus-within>.dd{display:flex}
.main-nav .dd a{padding:10px;font-size:14px;font-weight:400;color:#000;background:#fff}
.main-nav .dd li:hover a{color:#000}

/* ---------- hero ---------- */
.hero{position:relative;padding:298px 10px 20px;overflow:hidden;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero h1{position:relative;font:500 60px/78px Poppins,sans-serif;text-shadow:2px 2px 12px #0d0d0d;margin:0}

/* ---------- service tiles ---------- */
.tiles{padding:40px 5px;background:#fff}
.tiles h1{font-family:Poppins,sans-serif;font-weight:400;padding-left:20px}
.tiles-title{font-size:36px;line-height:46.8px;color:var(--blue)}
.tiles-sub{font-size:27px;line-height:35.1px;color:var(--red)}
.tiles-sub .k{color:#000}.tiles-sub .v{color:var(--indigo)}
.tile-row{display:flex;padding:10px 5px}
.tile-col{flex:1 1 0;min-width:0;padding:10px 5px}
.service-card{width:100%;border-radius:28px;overflow:hidden;display:block;text-decoration:none;position:relative;background:#7c1631;color:#fff}
.service-image img{width:100%;height:520px;object-fit:cover;display:block}
.service-footer{position:absolute;bottom:16px;left:16px;right:16px;background:rgba(0,0,0,.55);color:#fff;border-radius:18px;padding:10px 5px;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.service-text{font-size:17px;font-weight:600;line-height:1.2;font-family:Poppins,sans-serif;letter-spacing:.5px;width:160px}
.service-icon{width:38px;height:38px;background:#5b5bff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.service-card:hover .service-icon{transform:translateX(4px);transition:.3s ease}

/* ---------- divider ---------- */
.divider-wrap{padding:10px 15px;background:#fff}
.divider-dark{border:0;border-top:1px solid #333;padding-bottom:5px;margin:0;height:0;width:100%}

/* ---------- how it works ---------- */
.how-bg{padding:30px 20px 25px;background:#fff url(/assets/bg.webp) center/cover}
.how-hrt-works{background:rgba(248,250,252,.58);padding:40px 20px;font-family:Arial,sans-serif}
.container_wrap{max-width:1140px;margin:0 auto;text-align:center}
.section-title{font-size:36px;font-weight:500;color:#0b5ed7;margin:0 0 10px}
.section-subtitle{font-size:16px;color:#6b7280;margin:0 0 50px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step-card{background:#fff;border-radius:16px;padding:40px 30px;position:relative;box-shadow:0 10px 25px rgba(0,0,0,.06);transition:transform .3s ease,box-shadow .3s ease}
.step-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px rgba(0,0,0,.1)}
.step-card.highlighted{background:#eef9ff;border:1px solid #cceeff}
.step-number{position:absolute;top:20px;right:25px;font-size:14px;font-weight:700;color:#9ca3af}
.icon-circle{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:#eaf3ff;display:flex;align-items:center;justify-content:center;font-size:32px}
.step-card h3{font-size:20px;font-weight:500;margin:0 0 12px;color:#111827}
.step-card p{font-size:15px;line-height:1.6;color:#4b5563}
.trust-line{margin-top:40px;font-size:14px;color:#6b7280}

/* ---------- reviews + badges ---------- */
.reviews-bg{background:var(--lavender) url(/assets/bg.webp) center/cover}
.reviews-row{display:flex;background:#fff;padding:40px 5px}
.reviews-col{flex:1 1 50%;min-width:0;padding:10px 5px}
.reviews-title{padding:10px 0 10px 20px;font:500 32px/42px Poppins,sans-serif;color:var(--blue)}
.testimonial{position:relative;padding:0 20px 20px;background:#fff;border-radius:8px}
.car-viewport{overflow:hidden}
.car-track{display:flex;transition:transform .5s ease}
.review{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 100%;min-width:0;height:381px;margin:20px 0;padding:20px;background:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden}
.stars{margin:0 0 16px;color:#fbbf24;font-size:20px;line-height:22px}
.stars span{margin-right:2px}.stars span:last-child{margin-right:0}
.review-body{margin:0 0 24px;text-align:center;font-family:Poppins,sans-serif;color:#4b5563}
.review-body p{line-height:25.6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.review.open{height:auto;min-height:381px}
.review.open .review-body p{-webkit-line-clamp:unset;display:block}
.read-more{display:inline-block;margin:8px 0 0;padding:0;border:0;background:none;color:#4b5563;font:700 14.4px Poppins,sans-serif;cursor:pointer}
.author{display:flex;flex-direction:column;align-items:center;margin-top:16px;height:130px;justify-content:flex-start;font-family:'Open Sans',sans-serif;font-size:14px}
.author-top{display:flex;flex-direction:column;align-items:center}
.author img{width:60px;height:60px;border-radius:50%;margin-bottom:8px}
.author-title{font-weight:600;color:#1f2937;margin-bottom:4px;text-align:center}
.author-name{color:#6b7280;margin-bottom:4px}
.car-btn{position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:3;width:32px;height:32px;padding:0;border:0;background:none;color:#000;cursor:pointer}
.car-btn.prev{left:20px}.car-btn.next{right:20px}

.reviews-gap{height:120px}
.badges{padding:30px 20px;text-align:center}
.badges img{display:block;margin:0 auto;max-width:100%;height:auto}

/* ---------- footer ---------- */
.site-footer{padding:21px 30px 20px;background:var(--navy);border-radius:40px 40px 0 0;color:#fff;font-family:Poppins,sans-serif}
.footer-grid{display:grid;grid-template-columns:498fr 313fr 208fr;padding:40px 10px 0}
.f-col{padding:0 15px;min-width:0}
.f-title{font:500 26px/34px Roboto,sans-serif;letter-spacing:1px;padding-bottom:15px;min-height:49px}
.f-col{padding-top:10px;padding-bottom:10px}
.f-about{padding-left:20px;padding-right:20px}
.f-reach{padding-left:20px}
.f-text{font-size:16px;line-height:20.8px;overflow-wrap:anywhere}
.f-text p{padding-bottom:15px}
.f-text a{text-decoration:none;color:#fff}
.f-text .q{margin:20px 0}
.f-text .call{margin-bottom:20px}
.f-text .addr{padding-bottom:0}
.f-text .hours{padding-bottom:0}
.f-text .hours~p{padding-bottom:0}
.f-text .hours~p:last-child{padding-bottom:36px}
.f-big{font-size:17px;font-weight:500;line-height:22.1px;padding:10px 0;min-height:197px}
.f-big p{padding:0}
.social{display:flex;gap:10px;padding:20px 0;margin-top:-1px}
.f-end{height:39px;margin-bottom:15px}
.soc{display:block;width:121px;height:40px;padding:10px;background:#fff;text-align:center}
.soc img{width:20px;height:20px;display:inline-block;vertical-align:top}
.divider-light{margin:10px 10px;border:0;border-top:1px solid var(--gray);padding:5px 0;height:0}
.copyright{padding:0 0 10px 10px;font-size:18px;font-weight:500;line-height:32px}

/* ---------- tablet / mobile ---------- */
@media (min-width:768px) and (max-width:1024px){
  .site-footer{padding:21px 15px 20px}
  .footer-grid{margin:0 7.375px}
  .social{flex-direction:column;align-items:flex-start;gap:0;margin-top:-1px}
  .soc{width:30px;height:38px;overflow:hidden;padding:10px 0 10px 10px}
  .soc+.soc{width:20px;margin-left:10px;padding:10px 0}
  .reviews-col:first-child{flex:1 1 auto}
  .reviews-embed{flex:0 0 106px}
}
@media (max-width:900px){
  .steps{grid-template-columns:1fr}
}
@media (max-width:767px){
  .header-row{padding:0 10px}
  .logo{width:140px}
  .main-nav{position:static}
  .nav-toggle{margin-right:43px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:3px;width:44px;height:38px;padding:7px 12px 6px;border:0;border-radius:4px;background:#0177b6;cursor:pointer}
  .nav-toggle span{display:block;height:3px;background:#fff;border-radius:1px}
  .main-nav ul{display:none;position:absolute;top:110px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;box-shadow:0 8px 12px rgba(0,0,0,.1)}
  .main-nav.open ul{display:flex}
  .main-nav li{border-top:1px solid #eee}
  .main-nav .dd{display:flex;position:static;width:auto;padding:0 0 0 20px;box-shadow:none}
  .main-nav li.has-dd{flex-wrap:wrap}
  .main-nav li.has-dd>a{flex:1}
  .main-nav .dd li{border-top:0;width:100%}
  .hero{padding-top:182px}
  .hero h1{font-size:32px;line-height:41.6px}
  .tiles{padding:40px 10px}
  .tiles h1{padding-left:20px}
  .tiles-title{font-size:28px;line-height:36.4px}
  .tiles-sub{font-size:20px;line-height:26px}
  .tile-row{flex-direction:column;padding:10px}
  .tile-col{padding:10px 0}
  .how-bg{padding:30px 10px 25px}
  .reviews-row{flex-direction:column}
  .review{margin-bottom:39px}
  .reviews-title{line-height:41.6px}
  .car-btn,.car-btn svg{width:28px;height:28px}
  .reviews-row{padding:40px 10px}
  .reviews-col{padding:10px 0}
  .footer-grid{grid-template-columns:1fr;padding:40px 10px 0}
  .f-col{padding:10px 0 25px}
  .f-about,.f-reach{padding-left:0;padding-right:0}
  .f-about{padding-bottom:10px}
  .reviews-gap{height:121px}
  .social{padding-left:10px}
  .soc{width:170px}
  .divider-light{margin:10px 10px}
  .site-footer{padding:20px 0}
}
