:root{
  --navy:#10283d;
  --navy-2:#071b2b;
  --blue:#1769aa;
  --cyan:#27a7d8;
  --gold:#d6a74f;
  --cream:#f8f5ef;
  --text:#203040;
  --muted:#6b7885;
  --white:#ffffff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.6;
}
a{transition:.2s ease}
:focus-visible{outline:3px solid rgba(39,167,216,.55);outline-offset:3px;border-radius:10px}

.topbar{
  background:var(--navy-2);
  color:#dce8f1;
  font-size:.92rem;
  padding:.55rem 0;
}
.topbar-info{display:flex;flex-wrap:wrap;gap:1rem}
.topbar-info a{color:#dce8f1;text-decoration:none;font-weight:800}
.topbar-info a:hover{color:#fff;text-decoration:underline}
.lang-switch{display:flex;gap:.35rem}
.lang-pill{
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:999px;
  padding:.25rem .65rem;
  font-weight:900;
  font-size:.78rem;
}
.lang-pill.active{background:#fff;color:var(--navy)}

.navbar{
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(16,40,61,.08);
}
.navbar-brand{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:.7rem;
  font-weight:950;
  color:var(--navy);
  font-size:1.5rem;
}
.brand-mark{
  width:44px;height:44px;border-radius:50%;
  display:inline-grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:#fff;font-weight:950;
}
.nav-link{font-weight:800;color:var(--navy)}
.btn{font-weight:850}
.btn-primary{
  --bs-btn-bg:var(--blue);
  --bs-btn-border-color:var(--blue);
  --bs-btn-hover-bg:#0e548d;
  --bs-btn-hover-border-color:#0e548d;
  box-shadow:0 12px 25px rgba(23,105,170,.22);
}

.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  padding:115px 0 125px;
  background:
    linear-gradient(110deg,rgba(7,27,43,.96),rgba(16,40,61,.78)),
    radial-gradient(circle at 78% 12%,rgba(39,167,216,.45),transparent 34%),
    url('https://images.unsplash.com/photo-1597762470488-3877b1f538c6?auto=format&fit=crop&w=1800&q=80') center/cover;
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto -10% -35% auto;
  width:650px;height:650px;
  border-radius:50%;
  background:rgba(214,167,79,.16);
  filter:blur(20px);
  z-index:-1;
}
.hero h1{
  font-size:clamp(2.45rem,5vw,5.05rem);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.055em;
  max-width:930px;
}
.hero .lead{
  max-width:720px;
  font-size:1.25rem;
  color:#e8f3fb;
  margin:1.5rem 0 2rem;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#fff;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  padding:.42rem .85rem;
  font-size:.8rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:1.15rem;
}
.eyebrow.dark{
  background:rgba(23,105,170,.08);
  border-color:rgba(23,105,170,.12);
  color:var(--blue);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.5rem;
}
.hero-proof span{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:.4rem .7rem;
  font-weight:750;
  color:#eaf7ff;
}
.hero-card{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.25);
  border-radius:30px;
  padding:2rem;
  backdrop-filter:blur(18px);
  box-shadow:0 25px 70px rgba(0,0,0,.25);
}
.hero-card h3{font-weight:950}
.mini-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.9rem;
  margin:1.35rem 0;
}
.mini-stat-grid div{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  padding:1rem;
}
.mini-stat-grid strong{
  display:block;
  font-size:1.3rem;
  line-height:1;
}
.mini-stat-grid span{
  display:block;
  color:#e4f4ff;
  font-size:.88rem;
  margin-top:.3rem;
}
.hero-card small{color:#d8eaf7}

.problem-strip{
  margin-top:-58px;
  position:relative;
  z-index:3;
}
.problem-card{
  height:100%;
  background:#fff;
  border-radius:22px;
  padding:1.25rem;
  box-shadow:0 20px 45px rgba(16,40,61,.12);
}
.problem-card strong{display:block;color:var(--navy);font-size:1.05rem;margin-top:.25rem}
.problem-card span{display:block;color:var(--muted);font-weight:600;font-size:.92rem;margin-top:.25rem}

.section{padding:95px 0}
.section-title{
  text-align:center;
  max-width:820px;
  margin:0 auto 3rem;
}
.section-title h2,
.diagnostic h2,
.cta h2,
.independent h2{
  font-size:clamp(2rem,3.6vw,3.45rem);
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--navy);
  font-weight:950;
}
.section-title p,.diagnostic p{color:var(--muted);font-size:1.1rem}

.service-card,
.price-card,
.accordion-item{
  background:#fff;
  border-radius:28px;
  padding:2rem;
  box-shadow:0 18px 45px rgba(16,40,61,.08);
  border:1px solid rgba(16,40,61,.06);
}
.service-card{
  height:100%;
  transition:.25s ease;
}
.service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 70px rgba(16,40,61,.14);
}
.service-card.featured{
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:#fff;
}
.icon{
  width:62px;height:62px;border-radius:20px;
  display:grid;place-items:center;
  font-size:1.8rem;
  background:rgba(39,167,216,.12);
  margin-bottom:1.3rem;
}
.service-card h3{font-weight:950;color:var(--navy)}
.service-card.featured h3{color:#fff}
.service-card p{color:var(--muted);margin-bottom:0}
.service-card.featured p{color:#e6f2fb}

.diagnostic{background:#fff}
.check-list{list-style:none;padding:0;margin:1.5rem 0}
.check-list li{
  margin:.7rem 0;
  padding-left:2rem;
  position:relative;
  font-weight:750;
}
.check-list li:before{
  content:"✓";
  position:absolute;left:0;
  color:var(--blue);
  font-weight:950;
}
.price-card{
  max-width:430px;
  margin-inline:auto;
  text-align:center;
  border:2px solid rgba(214,167,79,.35);
}
.price-card span{
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.8rem;
  font-weight:950;
  color:var(--gold);
}
.price-card strong{
  display:block;
  font-size:5rem;
  letter-spacing:-.06em;
  color:var(--navy);
  line-height:1;
}
.price-card small{display:block;color:var(--muted);margin-top:1rem}

.independent{
  background:linear-gradient(135deg,var(--navy-2),var(--navy));
  color:#fff;
  padding:80px 0;
}
.independent-box{
  max-width:1000px;
  margin:auto;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:34px;
  padding:3rem;
}
.independent h2{color:#fff}
.independent p{font-size:1.1rem;color:#ddecf6;margin-bottom:0}

.zones{background:var(--cream)}
.zone-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
}
.zone-grid span{
  background:#fff;
  border-radius:999px;
  padding:.75rem 1rem;
  font-weight:900;
  box-shadow:0 10px 25px rgba(16,40,61,.08);
}

.faq{background:#fff}
.accordion{max-width:900px;margin:auto}
.accordion-item{
  padding:0;
  overflow:hidden;
  margin-bottom:1rem;
}
.accordion-button{
  font-weight:900;
  color:var(--navy);
  padding:1.25rem 1.5rem;
}
.accordion-body{color:var(--muted);padding:0 1.5rem 1.5rem}

.cta{
  padding:85px 0;
  background:var(--navy);
}
.cta-box{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  border-radius:34px;
  padding:3rem;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.cta h2{color:#fff}
.cta p{font-size:1.1rem;max-width:720px;margin-bottom:0;color:#eaf7ff}
.cta-actions{display:flex;flex-wrap:wrap;gap:1rem}

footer{
  background:#091b2a;
  color:#d6e4ed;
  padding:70px 0 30px;
}
footer h3,footer h4{color:#fff;font-weight:950}
footer a{display:block;color:#d6e4ed;text-decoration:none;margin:.35rem 0}
footer a:hover{color:#fff;text-decoration:underline}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:3rem;
  padding-top:1.5rem;
  color:#9fb4c5;
}

.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:130px;
  height:52px;
  padding:0 1.1rem;
  border-radius:999px;
  color:#fff;
  background:#23c063;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 18px 35px rgba(0,0,0,.22);
}
.whatsapp-float:hover{transform:translateY(-3px);color:#fff}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}
.delay-1{transition-delay:.12s}

@media(max-width:768px){
  .hero{padding:80px 0 100px}
  .topbar-info{gap:.45rem;font-size:.85rem}
  .cta-box,.independent-box{padding:2rem}
  .mini-stat-grid{grid-template-columns:1fr}
  .price-card strong{font-size:4rem}
  .whatsapp-float{right:12px;bottom:12px;min-width:112px}
}


@media(max-width:576px){
  .hero h1{font-size:2.35rem;letter-spacing:-.045em}
  .hero .lead{font-size:1.08rem}
  .section{padding:72px 0}
  .hero-actions .btn,.cta-actions .btn{width:100%}
  .cta-actions{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
