:root{
  --blue:#073494;
  --blue-dark:#042c87;
  --blue-soft:#dcedfa;
  --blue-pale:#edf7fd;
  --coral:#ff4f45;
  --text:#052c80;
  --muted:#5c7199;
  --line:#c7dceb;
  --page:#f6fbfe;
  --white:#ffffff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--text);
  background:var(--page);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.navbar,.btn{
  font-family:"Manrope",sans-serif;
}
a{text-decoration:none}
.page-shell{max-width:1280px}

.site-header{
  background:var(--page);
  position:relative;
  z-index:20;
}
.brand-logo{
  width:78px;
  max-height:42px;
  object-fit:contain;
}
.brand-fallback{
  color:var(--blue);
  font-weight:800;
  font-size:1.15rem;
}
.brand-fallback span{color:var(--coral)}
.nav-link{
  color:var(--text);
  font-size:.88rem;
  font-weight:500;
}
.nav-link:hover{color:var(--coral)}
.btn-primary-pill{
  color:#fff;
  background:var(--blue);
  border:1px solid var(--blue);
  border-radius:999px;
  padding:.8rem 1.4rem;
  font-size:.83rem;
  font-weight:700;
}
.btn-primary-pill:hover{
  color:#fff;
  background:var(--blue-dark);
  border-color:var(--blue-dark);
}

.hero-section{
  padding:90px 0 105px;
  background:var(--page);
}
.eyebrow-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem 1rem;
  border-radius:999px;
  background:#dfeffa;
  border:1px solid #bdd9ed;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}
.hero-title{
  font-size:clamp(3.2rem,5.2vw,5rem);
  line-height:.96;
  letter-spacing:-.055em;
  color:var(--blue);
  font-weight:600;
  margin-bottom:1.7rem;
}
.hero-title span{color:var(--coral)}
.hero-copy{
  max-width:600px;
  color:#415f91;
  font-size:1rem;
  line-height:1.75;
}
.link-button{
  color:var(--blue);
  font-size:.85rem;
  font-weight:700;
  padding:.75rem .25rem;
}
.hero-meta{
  border-top:1px solid #bfd4e5;
  max-width:610px;
  color:#5a739c;
  font-size:.78rem;
}
.hero-meta i{color:var(--coral);margin-right:.35rem}

.privacy-visual{
  position:relative;
  min-height:430px;
  max-width:560px;
}
.privacy-bg{
  position:absolute;
  width:78%;
  height:83%;
  right:0;
  top:7%;
  border-radius:44px;
  background:#cfeafa;
}
.privacy-card{
  position:absolute;
  width:72%;
  left:2%;
  top:15%;
  background:#fff;
  border:1px solid #c8dce9;
  border-radius:28px;
  padding:34px;
  box-shadow:0 18px 42px rgba(2,43,117,.08);
}
.icon-circle{
  width:44px;
  height:44px;
  border-radius:50%;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:#e5f3fc;
  color:#1260cf;
  font-size:1.1rem;
}
.safe-badge{
  background:#fff0ef;
  color:var(--coral);
  border-radius:999px;
  padding:.32rem .65rem;
  font-size:.7rem;
  font-weight:700;
}
.mini-label,.section-kicker{
  color:var(--coral);
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:.69rem;
  font-weight:800;
}
.privacy-card h2{
  font-size:1.65rem;
  line-height:1.2;
  font-weight:700;
  margin:0;
}
.privacy-points{
  display:grid;
  gap:.7rem;
}
.privacy-points div{
  background:#edf3f8;
  border-radius:14px;
  padding:.75rem 1rem;
  font-size:.79rem;
  font-weight:700;
}
.privacy-points i{color:var(--coral);margin-right:.5rem}
.human-badge{
  position:absolute;
  right:1%;
  bottom:10%;
  background:var(--blue);
  color:#fff;
  border-radius:18px;
  padding:.8rem 1rem;
  min-width:160px;
  box-shadow:0 15px 35px rgba(2,43,117,.18);
}
.human-badge small{
  display:block;
  font-size:.65rem;
  opacity:.7;
}
.human-badge strong{font-size:.86rem}

.services-section{
  background:#dff0fc;
  padding:95px 0 110px;
}
.section-title{
  font-size:clamp(2.3rem,4vw,3.45rem);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:650;
  color:var(--blue);
  margin-top:.8rem;
}
.section-intro{
  max-width:460px;
  color:#57709b;
  font-size:.92rem;
  line-height:1.7;
}
.service-card{
  background:#fff;
  border:1px solid #bad5e8;
  border-radius:26px;
  padding:30px;
  min-height:285px;
}
.card-tag{
  color:var(--coral);
  font-size:.67rem;
}
.service-card h3{
  font-size:1.08rem;
  font-weight:700;
  margin:2rem 0 .8rem;
}
.service-card p{
  color:#60769c;
  font-size:.82rem;
  line-height:1.65;
  min-height:80px;
}
.service-card a{
  color:var(--blue);
  font-size:.8rem;
  font-weight:700;
}

.pricing-section{
  padding:105px 0 70px;
  background:var(--page);
}
.pricing-grid{margin-top:1rem}
.price-card{
  border:1px solid #bcd5e7;
  border-radius:24px;
  padding:26px 24px 20px;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height:470px;
}
.price-card.featured{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
  box-shadow:0 15px 30px rgba(3,49,145,.14);
}
.popular-badge{
  position:absolute;
  top:-14px;
  left:20px;
  background:var(--coral);
  color:#fff;
  text-transform:uppercase;
  border-radius:999px;
  font-size:.64rem;
  font-weight:800;
  padding:.35rem .7rem;
  letter-spacing:.08em;
}
.price-name{
  text-transform:uppercase;
  color:var(--coral);
  letter-spacing:.17em;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:.85rem;
}
.price{
  display:flex;
  align-items:baseline;
  gap:.15rem;
  margin-bottom:.75rem;
}
.price span{
  font-size:1.8rem;
  line-height:1;
  font-weight:800;
}
.price small{
  font-size:.66rem;
  color:#58709a;
}
.price .from{
  font-size:.75rem;
  font-weight:700;
  color:var(--text);
}
.featured .price small{color:#dce7ff}
.featured .price .from{color:#fff}
.price-copy{
  color:#6a7d9c;
  font-size:.76rem;
  min-height:40px;
  line-height:1.5;
}
.featured .price-copy{color:#d8e4ff}
.price-card hr{
  border-color:#afcce1;
  opacity:1;
  margin:1rem 0 1.3rem;
}
.feature-list{
  list-style:none;
  padding:0;
  margin:0 0 1.2rem;
  display:grid;
  gap:.85rem;
  font-size:.75rem;
  color:#557097;
}
.feature-list li:before{
  content:"✓";
  color:var(--coral);
  font-weight:800;
  margin-right:.55rem;
}
.featured .feature-list{color:#fff}
.plan-button{
  margin-top:auto;
  background:#dff1fc;
  color:var(--blue);
  border:0;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
  padding:.72rem 1rem;
}
.plan-button:hover{
  background:#cceafa;
  color:var(--blue);
}
.featured-btn{
  background:var(--coral);
  color:#fff;
}
.featured-btn:hover{background:#ff6359;color:#fff}
.risk-note{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  background:#e3f2fc;
  border:1px solid #bdd9ea;
  border-radius:16px;
  padding:16px 20px;
  color:#345b94;
  font-size:.76rem;
  line-height:1.55;
}
.risk-note i{color:var(--coral);font-size:1rem;margin-top:.1rem}
.risk-note strong{color:var(--blue)}

.about-section{
  padding:95px 0 90px;
  background:var(--page);
}
.about-copy{
  color:#375a90;
  line-height:1.8;
  font-size:.95rem;
  max-width:800px;
}
.about-values{
  margin-top:1.7rem;
}
.about-values .col-md-4{
  border-top:1px solid #bbd2e3;
  padding-top:1rem;
}
.about-values span{
  font-size:.75rem;
  font-weight:700;
  color:var(--blue);
}

.cta-section{
  padding:0 0 65px;
  background:var(--page);
}
.cta-box{
  background:var(--blue);
  border-radius:28px;
  padding:48px 52px;
  color:#fff;
}
.light-kicker{color:var(--coral)}
.cta-box h2{
  margin:.8rem 0 0;
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:650;
}
.cta-button{
  background:var(--coral);
  color:#fff;
  border:0;
  border-radius:999px;
  padding:.86rem 1.35rem;
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap;
}
.cta-button:hover{background:#ff6359;color:#fff}

.site-footer{
  padding:0 0 32px;
  color:#7890ae;
  background:var(--page);
}
.site-footer small{font-size:.68rem}

@media (max-width: 1199.98px){
  .price-card{min-height:440px}
}
@media (max-width: 991.98px){
  .hero-section{padding-top:55px}
  .privacy-visual{margin-top:15px}
  .navbar-collapse{
    background:#fff;
    padding:1rem;
    border-radius:18px;
    margin-top:.75rem;
    border:1px solid #d5e3ed;
  }
  .services-section,.pricing-section,.about-section{padding-top:75px}
}
@media (max-width: 767.98px){
  .hero-title{font-size:3.2rem}
  .privacy-visual{min-height:380px}
  .privacy-card{
    width:82%;
    left:0;
    padding:26px;
  }
  .privacy-bg{width:82%}
  .human-badge{right:0}
  .cta-box{padding:36px 28px}
  .section-title{font-size:2.4rem}
}
@media (max-width: 575.98px){
  .hero-section{padding:42px 0 70px}
  .hero-title{font-size:2.8rem}
  .hero-actions .btn,
  .hero-actions .link-button{
    width:100%;
    text-align:center;
  }
  .privacy-visual{min-height:340px}
  .privacy-card{
    width:88%;
    padding:22px;
    border-radius:22px;
  }
  .privacy-card h2{font-size:1.3rem}
  .privacy-points div{font-size:.7rem;padding:.65rem .75rem}
  .human-badge{bottom:3%;min-width:145px}
  .services-section{padding:70px 0}
  .price-card{min-height:0}
  .cta-box{border-radius:22px}
}

.whatsapp {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  background: #25d366;
  color: #fff;
  border-radius: 999px;
  padding: .85rem 1.05rem;
  display: flex;
  gap: .55rem;
  align-items: center;
  font-weight: bold;
  box-shadow: 0 12px 28px #0003
}

.whatsapp i {
  font-size: 1.3rem
}

.whatsapp:hover {
  color: #fff;
  transform: translateY(-2px)
}

@media(max-width:767px) {
  .cta {
    flex-direction: column;
    align-items: flex-start
  }

  .whatsapp span {
    display: none
  }

  .whatsapp {
    width: 56px;
    height: 56px;
    padding: 0;
    justify-content: center
  }

  .hero-art {
    min-height: 360px
  }

  .info-card {
    width: 88%;
    left: 0
  }
}