:root{
  --blue:#1f4b7f;
  --blue-dark:#0b2445;
  --blue-light:#0ea5e9;
  --red:#e6351f;
  --text:#263445;
  --muted:#667085;
  --bg:#ffffff;
  --soft:#f3f7fb;
  --line:#dbe7f3;
  --shadow:0 18px 45px rgba(15,35,65,.12);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Roboto', Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1120px, calc(100% - 32px)); margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand img{width:260px;height:auto}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{
  padding:10px 12px;
  color:var(--blue);
  font-weight:700;
  font-size:.93rem;
  border-radius:999px;
  transition:.2s ease;
}
.nav-links a:hover{background:var(--soft);color:var(--blue-dark)}

.hero{
  padding:64px 0 44px;
  background:
    radial-gradient(circle at 15% 10%, rgba(14,165,233,.16), transparent 28%),
    linear-gradient(180deg,#fff 0%,#f5f9fd 100%);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns: .92fr 1.08fr; gap:36px; align-items:center}
.eyebrow,.section-label{
  display:inline-flex;
  color:var(--red);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  margin-bottom:12px;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(2.2rem, 5vw, 4.4rem);
  line-height:1.02;
  color:var(--blue-dark);
  margin-bottom:18px;
  letter-spacing:-.04em;
}
.hero-copy p{font-size:1.14rem;color:var(--muted);max-width:620px;margin-bottom:28px}
.hero-actions,.social-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  transition:.2s ease;
}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(31,75,127,.24)}
.btn-whatsapp{
  background:#25d366;
  color:#fff;
  box-shadow:0 10px 24px rgba(37,211,102,.28);
}

.btn-whatsapp:hover{
  background:#1ebe5d;
  transform:translateY(-1px);
}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--blue);border:1px solid var(--line)}
.btn-secondary:hover{background:var(--soft);transform:translateY(-1px)}
.hero-image{
  padding:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  transform:rotate(.4deg);
}
.hero-image img{border-radius:20px;width:100%;aspect-ratio:3/2;object-fit:cover}

.summary-bar{padding:18px 0;background:var(--blue-dark);color:#fff}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.summary-grid div{padding:14px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.15)}
.summary-grid div:last-child{border-right:0}
.summary-grid strong{display:block;font-size:1rem}
.summary-grid span{display:block;color:#cfe4ff;font-size:.92rem;margin-top:2px}

.section{padding:86px 0}
.section-muted{background:var(--soft)}
.two-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
h2{font-size:clamp(1.85rem, 3.2vw, 3rem);line-height:1.12;color:var(--blue-dark);letter-spacing:-.03em;margin-bottom:18px}
h3{color:var(--blue-dark);font-size:1.32rem;line-height:1.2;margin-bottom:10px}
.text-card,.service-card,.contact-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.text-card{padding:30px}
.check-list, .service-card ul{padding:0;margin:18px 0 0;list-style:none}
.check-list li,.service-card li{position:relative;padding-left:28px;margin:10px 0;color:var(--muted)}
.check-list li::before,.service-card li::before{
  content:"";
  width:9px;height:9px;border-radius:50%;background:var(--blue-light);
  position:absolute;left:4px;top:.72em;box-shadow:0 0 0 5px rgba(14,165,233,.13)
}
.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.section-heading p{color:var(--muted);font-size:1.05rem}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{padding:28px;min-height:100%}
.card-icon{
  width:54px;height:54px;
  border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(14,165,233,.15), rgba(31,75,127,.12));
  font-size:1.55rem;
  margin-bottom:18px;
}
.service-card p{color:var(--muted)}

.feature-block{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.feature-block.reverse{grid-template-columns:.95fr 1.05fr}
.feature-copy p{color:var(--muted);font-size:1.05rem}
.feature-panel{
  min-height:320px;
  border-radius:32px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(135deg,rgba(31,75,127,.9),rgba(14,165,233,.65)),
    radial-gradient(circle at 25% 15%,rgba(255,255,255,.35),transparent 35%);
  color:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}
.feature-panel::before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(120deg,rgba(255,255,255,.14) 0 1px,transparent 1px 36px);
  opacity:.35;
}
.feature-panel.dark{background:linear-gradient(135deg,#071a33,#1f4b7f 55%,#0ea5e9)}
.feature-panel strong,.feature-panel span{position:relative;z-index:1}
.feature-panel strong{font-size:2.3rem;line-height:1;font-weight:900;margin-bottom:12px}
.feature-panel span{font-size:1.08rem;color:#eaf6ff;max-width:360px}

.contact-section{padding:86px 0;background:linear-gradient(180deg,#fff,var(--soft))}
.contact-card{padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.contact-card p{color:var(--muted)}
.contact-info{background:var(--soft);border-radius:20px;padding:24px}
.contact-info a{color:var(--blue);font-weight:900}
.footer{background:var(--blue-dark);color:#d8e7f8;text-align:center;padding:26px 0;font-size:.95rem}
.footer p{margin:0}

.floating-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  background:#25d366;
  color:#fff;
  font-weight:900;
  padding:13px 18px;
  border-radius:999px;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}

@media (max-width: 900px){
  .nav{flex-direction:column;padding:16px 0;gap:12px}
  .brand img{width:min(320px, 82vw)}
  .nav-links{justify-content:center}
  .hero{padding:42px 0 32px}
  .hero-grid,.two-columns,.feature-block,.feature-block.reverse,.contact-card{grid-template-columns:1fr}
  .hero-copy{text-align:center}
  .hero-copy p{margin-left:auto;margin-right:auto}
  .hero-actions,.social-actions{justify-content:center}
  .summary-grid,.cards-grid{grid-template-columns:1fr}
  .summary-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .summary-grid div:last-child{border-bottom:0}
  .section{padding:58px 0}
  .section-heading{text-align:left}
}

@media (max-width: 560px){
  .container{width:min(100% - 22px, 1120px)}
  .nav-links a{font-size:.86rem;padding:8px 9px}
  .hero-image{border-radius:18px;padding:6px;transform:none}
  .hero-image img{border-radius:13px}
  .text-card,.service-card,.contact-card{border-radius:18px;padding:22px}
  .feature-panel{min-height:240px;border-radius:22px;padding:26px}
  .feature-panel strong{font-size:1.8rem}
  .floating-whatsapp{left:14px;right:14px;text-align:center}
}
