:root{
  --apa-bg:#ffffff;
  --apa-text:#0f172a;
  --apa-muted:#475569;
  --apa-primary:#0b1f2a;
  --apa-secondary:#123847;
  --apa-accent:#18c3b2;
  --apa-accent-2:#0ea5a4;
  --apa-soft:#f8fafc;
  --apa-border:#dbe6ef;
  --apa-radius:18px;
  --apa-shadow:0 10px 30px rgba(15,23,42,.06);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--apa-bg);
  color:var(--apa-text);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.6;
}

a{
  color:var(--apa-accent-2);
}

img{
  max-width:100%;
  height:auto;
}

.apa-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.apa-site-main{
  display:block;
}

/* Hero */

.apa-hero{
  padding:88px 0;
  background:linear-gradient(135deg,var(--apa-primary),var(--apa-secondary) 48%,#0f172a);
  color:#fff;
}

.apa-hero h1{
  font-size:56px;
  line-height:1.02;
  max-width:920px;
  margin:0 0 20px;
  font-weight:800;
  letter-spacing:-.03em;
}

.apa-badge{
  display:inline-block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:#73f6e2;
  margin-bottom:20px;
}

.apa-subtitle{
  font-size:20px;
  max-width:800px;
  color:rgba(255,255,255,.84);
  margin:0 0 28px;
}

.apa-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.apa-btn{
  display:inline-block;
  padding:14px 22px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  transition:.2s ease;
}

.apa-btn-primary{
  background:var(--apa-accent);
  color:#06252b;
}

.apa-btn-primary:hover,
.apa-btn-primary:focus-visible{
  background:#22d7c5;
  color:#06252b;
}

.apa-btn-secondary{
  border:1px solid rgba(255,255,255,.35);
  background:transparent;
  color:#fff;
}

.apa-btn-secondary:hover,
.apa-btn-secondary:focus-visible{
  border-color:#73f6e2;
  background:transparent;
  color:#73f6e2;
}

.apa-btn-dark{
  background:var(--apa-primary);
  color:#fff;
}

.apa-btn-dark:hover,
.apa-btn-dark:focus-visible{
  background:var(--apa-secondary);
  color:#fff;
}

.apa-btn-light{
  border-color:rgba(255,255,255,.35)!important;
  color:#fff;
}

.apa-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:34px;
}

.apa-stat{
  padding:18px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.apa-stat strong{
  display:block;
  color:#7ef1e0;
  font-size:22px;
  margin-bottom:4px;
}

/* Sections */

.apa-section{
  padding:76px 0;
}

.apa-section-soft{
  background:var(--apa-soft);
}

.apa-section-dark{
  background:var(--apa-primary);
  color:#fff;
}

.apa-section h2{
  font-size:38px;
  line-height:1.1;
  margin:0 0 14px;
  font-weight:800;
  letter-spacing:-.02em;
}

.apa-kicker{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--apa-accent);
  font-weight:800;
  margin-bottom:12px;
}

.apa-lead{
  max-width:850px;
  font-size:18px;
  color:var(--apa-muted);
  margin-bottom:0;
}

.apa-section-dark .apa-lead,
.lead-dark{
  color:rgba(255,255,255,.78);
}

.apa-grid{
  display:grid;
  gap:22px;
  margin-top:32px;
}

.apa-grid-3{
  grid-template-columns:repeat(3,1fr);
}

.apa-card{
  background:#fff;
  border:1px solid var(--apa-border);
  border-radius:var(--apa-radius);
  padding:26px;
  box-shadow:var(--apa-shadow);
}

.apa-card h3{
  margin:0 0 8px;
  font-size:22px;
}

.apa-card p{
  margin:0 0 8px;
  color:var(--apa-muted);
}

.apa-card a{
  font-weight:700;
  text-decoration:none;
}

.apa-card a:hover,
.apa-card a:focus-visible{
  text-decoration:underline;
}

/* Story */

.apa-story-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:28px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  margin-top:28px;
}

.apa-story-box h3{
  margin:0 0 8px;
}

.apa-story-box p{
  margin:0;
  color:rgba(255,255,255,.8);
  max-width:720px;
}

/* CTA */

.apa-cta-panel{
  padding:38px;
  border-radius:24px;
  background:linear-gradient(135deg,var(--apa-accent),var(--apa-accent-2));
  color:#06252b;
}

.apa-cta-panel h2{
  margin-bottom:12px;
}

.apa-cta-panel p{
  font-size:18px;
  max-width:760px;
  margin:0 0 18px;
}

/* Generic pages */

.apa-generic-page{
  padding:60px 0;
}

.apa-page-title{
  font-size:42px;
  line-height:1.1;
  margin:0 0 18px;
}

.apa-content{
  font-size:18px;
}

.apa-content h2,
.apa-content h3,
.apa-content h4{
  margin-top:28px;
}

/* Responsivo */

@media (max-width:960px){
  .apa-hero h1{
    font-size:40px;
  }

  .apa-stats,
  .apa-grid-3{
    grid-template-columns:1fr;
  }

  .apa-story-box{
    flex-direction:column;
    align-items:flex-start;
  }

  .apa-section h2{
    font-size:30px;
  }
}

@media (max-width:640px){
  .apa-container{
    padding:0 18px;
  }

  .apa-hero{
    padding:64px 0;
  }

  .apa-hero h1{
    font-size:34px;
  }

  .apa-subtitle{
    font-size:18px;
  }

  .apa-section{
    padding:56px 0;
  }

  .apa-cta-panel{
    padding:28px 22px;
  }

  .apa-btn{
    width:100%;
    text-align:center;
  }
}