:root{
    --navy:#1a1f3c;
    --red:#e01e2b;
    --red-dark:#bf1623;
    --ink:#23263a;
    --slate:#5c6270;
    --bg:#ffffff;
    --bg-soft:#f7f7f9;
    --line:#e7e8ee;
    --radius:14px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
  h1,h2,h3{font-family:'Poppins',sans-serif;color:var(--navy);line-height:1.25}
  img{max-width:100%}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
  .eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
  .btn{display:inline-block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;padding:14px 30px;border-radius:999px;text-decoration:none;transition:background .2s,transform .15s}
  .btn:focus-visible{outline:3px solid var(--red);outline-offset:3px}
  .btn-red{background:var(--red);color:#fff}
  .btn-red:hover{background:var(--red-dark);transform:translateY(-1px)}
  .btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff}
  .btn-ghost:hover{border-color:#fff}

  /* ---------- Top bar ---------- */
  .topbar{background:#fff;border-bottom:1px solid var(--line)}
  .topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
  .topbar img{height:56px;width:auto;display:block}
  .topbar .btn{padding:10px 22px;font-size:.88rem}

  /* ---------- Hero ---------- */
  .hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;right:-140px;top:-140px;width:480px;height:480px;border-radius:50%;
    background:radial-gradient(circle,rgba(224,30,43,.32),transparent 65%);pointer-events:none}
  .hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:88px 0}
  .hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3rem);font-weight:700;margin-bottom:18px}
  .hero h1 span{color:#ff9aa2}
  .hero p{color:#c9cbe0;max-width:46ch;margin-bottom:30px}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
  .hero-points{list-style:none;display:grid;gap:14px}
  .hero-points li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius);padding:16px 20px;display:flex;gap:14px;align-items:center;font-size:.95rem}
  .hero-points svg{flex:none}

  /* ---------- Services grid ---------- */
  .section{padding:84px 0}
  .section-soft{background:var(--bg-soft)}
  .section-head{max-width:640px;margin-bottom:46px}
  .section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}
  .section-head p{color:var(--slate)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;
    position:relative;transition:box-shadow .2s,transform .2s}
  .svc::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;border-radius:var(--radius) var(--radius) 0 0;
    background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
  .svc:hover{box-shadow:0 14px 34px rgba(26,31,60,.10);transform:translateY(-3px)}
  .svc:hover::before{transform:scaleX(1)}
  .svc-icon{width:54px;height:54px;border-radius:12px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .svc h3{font-size:1.12rem;margin-bottom:10px}
  .svc p{color:var(--slate);font-size:.93rem;margin-bottom:16px}
  .svc-meta{font-size:.85rem;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:8px}
  .svc-meta::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}

  /* ---------- Steps ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .step{padding:30px 26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
  .step-num{font-family:'Poppins',sans-serif;font-weight:700;font-size:.85rem;color:#fff;background:var(--navy);
    width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
  .step h3{font-size:1.05rem;margin-bottom:8px}
  .step p{color:var(--slate);font-size:.92rem}

  /* ---------- Trust band ---------- */
  .trust{background:var(--navy);color:#fff;border-radius:18px;padding:46px 50px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
  .trust h3{color:#fff;font-size:1.05rem;margin:12px 0 6px}
  .trust p{color:#c9cbe0;font-size:.9rem}

  /* ---------- Locations ---------- */
  .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .loc{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff}
  .loc h3{font-size:1.1rem;margin-bottom:8px}
  .loc p{color:var(--slate);font-size:.95rem;margin-bottom:6px}
  .loc a{color:var(--red);font-weight:600;text-decoration:none}
  .loc a:hover{text-decoration:underline}
  .loc-tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    color:var(--navy);background:var(--bg-soft);border-radius:999px;padding:4px 12px;margin-bottom:14px}

  /* ---------- CTA ---------- */
  .cta{background:linear-gradient(120deg,var(--red) 0%,var(--red-dark) 100%);border-radius:18px;color:#fff;
    padding:54px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
  .cta h2{color:#fff;font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:6px}
  .cta p{color:#ffd9dc}
  .cta .btn{background:#fff;color:var(--red)}
  .cta .btn:hover{background:#f3f3f3}

  /* ---------- FAQ ---------- */
  .faq{max-width:780px}
  .faq details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px;overflow:hidden}
  .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
    padding:18px 22px;font-family:'Poppins',sans-serif;font-weight:600;font-size:1rem;color:var(--navy);transition:color .15s}
  .faq summary:hover{color:var(--red)}
  .faq details[open] summary{color:var(--red)}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";font-size:1.3rem;color:var(--red);flex:none;line-height:1}
  .faq details[open] summary::after{content:"–"}
  .faq details p{padding:0 22px 20px;color:var(--slate);font-size:.95rem}

  footer{padding:34px 0;color:var(--slate);font-size:.85rem;text-align:center}

  @media (max-width:1024px){
    .hero-inner{grid-template-columns:1fr;padding:64px 28px;gap:40px}
  }
  @media (max-width:920px){
    .svc-grid,.steps,.trust{grid-template-columns:1fr 1fr}
  }
  @media (max-width:920px){
    .shop-card{grid-template-columns:1fr!important;padding:36px 28px!important}
  }
  @media (max-width:620px){
    .hero-inner{padding:48px 12px}
    .svc-grid,.steps,.trust,.loc-grid{grid-template-columns:1fr}
    .trust{padding:36px 28px}
    .cta{padding:38px 28px}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;animation:none!important}
    html{scroll-behavior:auto}
  }

/* ---------- Request form ---------- */
.req-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.req-points{list-style:none;display:grid;gap:14px;padding:0}
.req-points li{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:.95rem}
.req-points svg{flex:none}
.req-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 14px 34px rgba(26,31,60,.07)}
.req-form label{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;color:var(--navy);margin-bottom:16px}
.req-form input,.req-form select,.req-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;
  font-family:'Inter',system-ui,sans-serif;font-size:.95rem;color:var(--ink);
  background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}
.req-form input:focus,.req-form select:focus,.req-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,31,60,.12);background:#fff}
.req-form textarea{resize:vertical}
.req-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-ok,.form-err{border-radius:10px;padding:14px 16px;font-size:.92rem;margin-bottom:18px}
.form-ok{background:#e8f6ee;border:1px solid #bfe5cf;color:#1d6b3c}
.form-err{background:#fdeaec;border:1px solid #f5c2c7;color:#9c1c28}
#form-status:empty{display:none}
@media (max-width:920px){
  .req-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .req-row{grid-template-columns:1fr}
  .req-form{padding:26px 20px}
}