:root{
  --page-bg:
    radial-gradient(circle at top right, rgba(21,97,170,.12), transparent 24%),
    linear-gradient(180deg,#f8fbfe 0%,#f4f8fb 45%,#eef5fa 100%);
  --surface:#ffffff;
  --surface-soft:#f7fafd;
  --surface-muted:#f7fafd;
  --text-color:#11324b;
  --text-soft:#59748b;
  --line-color:#d7e2ec;
  --line-strong:#bfd1e3;
  --accent:#1561AA;
  --accent-soft:#ebf4fb;
  --success:#4AB859;
  --success-soft:#ecf8ef;
  --danger:#D45836;
  --danger-soft:#fff1ea;
  --warning-soft:#fff7e8;
  --announcement-bg:linear-gradient(90deg,#0a2441,#0d2e53);
  --topbar-bg:linear-gradient(90deg,#0d2e53,#103e6d);
  --topbar-text:#ffffff;
  --topbar-muted:rgba(255,255,255,.76);
  --shadow-lg:0 24px 64px rgba(13,46,83,.12);
  --shadow-md:0 14px 28px rgba(13,46,83,.09);
}

html,body{
  background:var(--page-bg);
}

.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg,#0a2441,#1561AA 56%,#0082A4);
  color:#fff;
  border-radius:24px;
  padding:34px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  margin-bottom:24px;
  box-shadow:var(--shadow-md);
}

.hero::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-120px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.hero-content,
.hero-visual{
  position:relative;
  z-index:1;
}

.hero .lead{
  color:rgba(255,255,255,.86);
}

.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.hero-proof{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.proof-chip{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  color:rgba(255,255,255,.88);
}

.hero-visual{
  display:grid;
  gap:14px;
}

.hero-box{
  min-height:220px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px dashed rgba(255,255,255,.32);
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  color:rgba(255,255,255,.82);
  line-height:1.6;
  font-size:13px;
}

.hero-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.hero-mini-card{
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  padding:14px;
}

.hero-mini-card strong{
  display:block;
  font-size:18px;
  margin-bottom:4px;
}

.hero-mini-card span{
  font-size:12px;
  color:rgba(255,255,255,.8);
  line-height:1.5;
}

.problem-card{
  position:relative;
  padding-top:52px;
}

.problem-number{
  position:absolute;
  top:18px;
  left:18px;
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:var(--warning-soft);
  color:#9b6b18;
  font-size:12px;
  font-weight:700;
}

.feature-card{
  background:linear-gradient(180deg,#fff,#fbfdff);
}

.feature-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.feature-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  font-weight:700;
}

.package-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.package-card{
  position:relative;
  min-height:100%;
}

.package-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  margin-bottom:12px;
  background:var(--accent-soft);
  color:var(--accent);
}

.package-price{
  font-size:24px;
  line-height:1.2;
  font-weight:700;
  color:#0d2e53;
  margin:12px 0 14px;
}

.package-meta{
  color:var(--text-soft);
  font-size:13px;
  line-height:1.6;
}

.package-card.featured{
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  border:1px solid #b9d7ee;
  box-shadow:0 16px 30px rgba(21,97,170,.12);
}

.package-card.featured .package-badge{
  background:var(--success-soft);
  color:#236c36;
}

.package-features{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.package-feature{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.55;
}

.package-feature::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  margin-top:5px;
  flex:0 0 auto;
  background:var(--success);
}

.contact-card{
  background:linear-gradient(180deg,#fff,#f8fbfe);
}

@media (max-width: 1080px){
  .hero,
  .package-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  .hero{
    padding:24px 18px;
  }

  .hero-mini-grid{
    grid-template-columns:1fr;
  }

  .footer-bar{
    padding-bottom:92px;
  }

  .mobile-cta{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 560px){
  .mobile-cta{
    grid-template-columns:1fr;
  }
}
