
:root{
  --bg:#0a0b0f;
  --bg2:#11131a;
  --panel:#171a22;
  --panel2:#1d212c;
  --line:rgba(255,255,255,.08);
  --text:#f5f7fb;
  --muted:#c8ced9;
  --red:#e10600;
  --red2:#ff3a32;
  --silver:#d8d8d8;
  --green:#25D366;
  --shadow:0 18px 40px rgba(0,0,0,.35);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(225,6,0,.18), transparent 28%),
    linear-gradient(180deg, #090a0d, #0f1218 45%, #0b0d12 100%);
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1140px, calc(100% - 28px)); margin:0 auto}
header{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(12px);
  background: rgba(10,11,15,.9);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand{display:flex; align-items:center; gap:12px; min-width:0}
.brand img{height:54px; width:auto}
.brand-copy{display:flex; flex-direction:column; line-height:1}
.brand-title{font-weight:900; font-size:1.65rem; letter-spacing:.02em}
.brand-sub{font-size:.72rem; letter-spacing:.25em; color:var(--silver); text-transform:uppercase}
nav{display:flex; gap:18px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
nav a{font-weight:700; color:#e7ebf1}
nav a:hover{color:#fff}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 18px; border-radius:999px; font-weight:800;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(180deg, var(--red2), var(--red));
  color:#fff; box-shadow:0 12px 24px rgba(225,6,0,.22);
}
.btn-secondary{
  background:linear-gradient(180deg, #222733, #161922);
  color:#fff;
}
.hero{padding:54px 0 30px}
.hero-grid,.split-grid,.contact-grid,.cta-grid,.pricing-grid,.services-grid{display:grid; gap:22px; align-items:center}
.hero-grid{grid-template-columns:1.1fr .9fr}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:9px 14px; border:1px solid var(--line); border-radius:999px;
  background:rgba(255,255,255,.03); text-transform:uppercase;
  letter-spacing:.14em; font-size:.76rem; font-weight:800;
}
.kicker:before{
  content:""; width:10px; height:10px; border-radius:50%;
  background:var(--red); box-shadow:0 0 0 4px rgba(225,6,0,.15);
}
h1,h2,h3{line-height:1.08; margin:0 0 14px}
h1{font-size:clamp(2.4rem, 6vw, 4.8rem)}
h2{font-size:clamp(1.8rem, 4vw, 3rem)}
h3{font-size:1.22rem}
p{margin:0 0 14px}
.lead{font-size:1.1rem; color:var(--muted); max-width:60ch}
.accent{color:#ff5d57}
.hero-card,.panel,.card,.contact-box,.coverage-box,.price-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{padding:28px; position:relative; overflow:hidden}
.hero-card:before{
  content:""; position:absolute; inset:auto -8% 25% auto; width:90%; height:2px;
  background:linear-gradient(90deg, transparent, rgba(225,6,0,.85), transparent);
}
.hero-card .shield{width:160px; margin-bottom:10px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 8px}
.points{list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px}
.points li{position:relative; padding-left:18px; color:var(--muted)}
.points li:before{
  content:""; position:absolute; left:0; top:.55em; width:8px; height:8px;
  background:var(--red); transform:rotate(45deg); border-radius:2px
}
.section{padding:38px 0}
.section-head{max-width:760px; margin-bottom:22px}
.services-grid{grid-template-columns:repeat(3, 1fr)}
.pricing-grid{grid-template-columns:repeat(4, 1fr)}
.card,.price-card,.coverage-box,.contact-box{padding:22px}
.icon{
  width:54px; height:54px; border-radius:16px; display:grid; place-items:center;
  margin-bottom:14px; background:linear-gradient(180deg, #281718, #171922);
  border:1px solid var(--line); color:#ff867f; font-weight:900;
}
.price{font-size:1.65rem; font-weight:900; color:#fff; margin:10px 0 4px}
.small{color:var(--muted); font-size:.96rem}
.split-grid{grid-template-columns:1fr 1fr}
.contact-grid{grid-template-columns:.9fr 1.1fr}
ul.clean{list-style:none; padding:0; margin:14px 0 0; display:grid; gap:10px}
ul.clean li{position:relative; padding-left:16px; color:var(--muted)}
ul.clean li:before{
  content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--red)
}
form{display:grid; gap:12px}
input, textarea{
  width:100%; background:#0f1218; color:#fff; border:1px solid var(--line);
  border-radius:16px; padding:14px 15px; font:inherit
}
textarea{min-height:130px; resize:vertical}
footer{padding:28px 0 34px; border-top:1px solid var(--line); background:#090b10; color:var(--muted)}
.whatsapp{
  position:fixed; right:16px; bottom:16px; z-index:40;
  background:var(--green); color:#fff; font-weight:900;
  padding:14px 18px; border-radius:999px; box-shadow:var(--shadow)
}
.page-hero{padding:44px 0 22px}
.badge{display:inline-block; padding:7px 12px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.03); font-weight:800; margin-bottom:12px}
@media (max-width: 1024px){
  .pricing-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 900px){
  .hero-grid,.split-grid,.contact-grid,.services-grid{grid-template-columns:1fr}
  .nav{flex-direction:column; align-items:flex-start; padding:12px 0}
  nav{justify-content:flex-start}
}
@media (max-width: 640px){
  .brand img{height:46px}
  .brand-title{font-size:1.25rem}
  .brand-sub{font-size:.62rem}
  .pricing-grid{grid-template-columns:1fr}
  h1{font-size:clamp(2rem, 12vw, 3.4rem)}
  .whatsapp{padding:12px 15px}
}


/* MOBILE PRICING FIX */
.pricing-grid{
  margin-top: 20px;
}

.price-card{
  margin-bottom: 16px;
}

/* FIX TEXT OVERLAP */
.price-card p{
  margin-top: 6px;
}

/* NAV BUTTON SPACING */
.nav .btn{
  margin-top: 10px;
}

/* HERO SPACING FIX */
.hero{
  padding-top: 70px;
}


/* REVIEWS SECTION */
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}
.review-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  padding:22px;
}
.review-stars{
  font-size:1.1rem;
  letter-spacing:.08em;
  margin-bottom:12px;
}
.review-name{
  font-weight:800;
  margin-top:14px;
}
.review-note{
  color:#c8ced9;
  font-size:.95rem;
}
@media (max-width:900px){
  .reviews-grid{grid-template-columns:1fr;}
}


/* FAQ SECTION */
.faq-grid{
  display:grid;
  gap:18px;
}
.faq-item{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
}
.faq-item h3{
  margin-bottom:8px;
}

.section-head h2{margin-bottom:10px}


/* BLOG EMBED POLISH */
#blog .coverage-box{
  overflow:hidden;
}
#blog iframe,
#blog .soro-embed,
#blog [data-soro]{
  width:100%;
  max-width:100%;
}

/* blog page mobile tweak */
#soro-blog{min-height:320px;}


/* Soro blog readability fix */
#blog .coverage-box,
.blog-page-box{
  background:#ffffff !important;
  color:#111111 !important;
}
#soro-blog,
#soro-blog *{
  color:#111111 !important;
}
#soro-blog a{
  color:#b30000 !important;
}
#soro-blog p,
#soro-blog div,
#soro-blog span,
#soro-blog li,
#soro-blog h1,
#soro-blog h2,
#soro-blog h3,
#soro-blog h4{
  color:#111111 !important;
}
#soro-blog img{
  border-radius:18px;
}


/* REAL REVIEWS SECTION */
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.review-card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  padding:24px;
}
.review-stars{
  color:#ffd34d;
  letter-spacing:.08em;
  font-size:1.1rem;
  margin-bottom:14px;
}
.review-name{
  font-weight:900;
  margin-top:16px;
}
.review-note{
  color:#c8ced9;
  font-size:.95rem;
}
.review-cta{
  margin-top:24px;
  padding:24px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(225,6,0,.16), rgba(255,255,255,.025));
  border:1px solid rgba(225,6,0,.28);
}
@media (max-width:900px){
  .reviews-grid{grid-template-columns:1fr;}
}


.rating-badge{
max-width:420px;
margin:20px auto 10px;
padding:14px 20px;
border-radius:18px;
text-align:center;
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(225,6,0,.18));
border:1px solid rgba(255,255,255,.12);
box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.rating-badge .score{
font-size:2rem;
font-weight:900;
margin-right:8px;
}
.rating-badge .stars{
color:#ffd34d;
font-size:1.3rem;
display:block;
letter-spacing:.08em;
}
.rating-badge .count{
display:block;
margin-top:6px;
color:#d6dbe5;
font-size:.95rem;
}


/* FINAL PRODUCTS SECTION */
.product-category{margin-top:28px;}
.product-category h3{font-size:1.45rem;margin-bottom:16px;color:#fff;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.product-card{display:flex;flex-direction:column;gap:12px;min-height:260px;padding:24px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px rgba(0,0,0,.35);}
.product-card h4{margin:0;font-size:1.15rem;}
.product-card p{color:#c8ced9;margin:0;flex:1;}
.product-card strong{display:block;font-size:1.25rem;color:#fff;}
.product-card .btn{align-self:flex-start;}
@media (max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.product-grid{grid-template-columns:1fr;}.product-card{min-height:auto;}}
