/* ===== RESET & BASE ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Poppins', sans-serif;
  background: #E7E9ED;
  color: #161C2D;
  min-height: 100vh;
}
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
img { max-width: 100%; display: block; }

/* ===== CSS VARIABLES ===== */
:root {
  --blue: #1252FA;
  --blue-secondary: #3569B3;
  --black: #161C2D;
  --gray: #E7E9ED;
  --white: #FFFFFF;
  --shadow-soft: 10px 10px 10px rgba(0,0,0,.25);
  --page-width: 1240px;
}

/* ===== PAGE WRAPPER ===== */
.page {
  max-width: var(--page-width);
  margin: 0 auto;
  padding-top: 192px;
  display: flex;
  flex-direction: column;
  gap: 90px;
}

/* ===== NAVBAR ===== */
.navbar {
  position: fixed;
  top: 68px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1150px;
  width: calc(100% - 40px);
  z-index: 1000;
  filter: drop-shadow(4px 4px 3.5px rgba(0,0,0,.25));
}
.nav-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 6px 33px;
  border-radius: 15px;
  border: 1px solid var(--gray);
  backdrop-filter: blur(2.5px);
  background: radial-gradient(ellipse at center, rgba(255,255,255,.4) 0%, rgba(255,255,255,1) 100%);
}
.nav-logo { flex-shrink: 0; width: 64px; display: flex; align-items: center; }
.nav-logo img { width: 43px; height: 42px; object-fit: contain; }
.nav-links {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  padding: 10px;
  overflow: hidden;
}
.nav-links a {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 19.6px;
  letter-spacing: -0.14px;
  color: var(--black);
  white-space: nowrap;
  padding: 7px 15px;
  border-radius: 15px;
  transition: background .2s;
}
.nav-links a:hover { background: rgba(0,0,0,.05); }
.nav-buttons { display: flex; gap: 16px; align-items: center; flex-shrink: 0; }
.btn-primary {
  background: var(--blue);
  color: var(--white);
  font-weight: 600;
  font-size: 15px;
  line-height: 28px;
  padding: 7px 16px;
  border-radius: 12px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-secondary {
  background: var(--gray);
  color: var(--black);
  font-weight: 500;
  font-size: 15px;
  line-height: 28px;
  padding: 7px 16px;
  border-radius: 12px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, background .2s ease;
}
.btn-primary:hover,
.btn-secondary:hover,
.demo-btn:hover,
.plan-btn:hover,
.footer-demo-link:hover {
  transform: translateY(-1px);
}
.hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.hamburger span { display: block; width: 24px; height: 2px; background: var(--black); border-radius: 2px; transition: .3s; }

/* ===== SLIDER / HERO ===== */
.slider {
  width: 100%;
  height: 630px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.slider-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 60.32%;
  top: 0;
  background: rgba(18, 82, 250, .86);
  border-radius: 0 12px 12px 0;
  clip-path: polygon(31% 0, 100% 0, 100% 100%, 17% 100%, 0 68%);
}
.slider-text {
  position: absolute;
  left: 887px;
  top: 415px;
  transform: translateY(-50%);
  width: 324px;
  font-family: 'Poppins', sans-serif;
  font-style: italic;
  font-weight: 500;
  font-size: 48px;
  color: var(--white);
  letter-spacing: -0.14px;
  line-height: normal;
  z-index: 2;
}

.section-marker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 156px;
  margin: -28px auto 0;
}
.section-marker span {
  display: block;
  border-radius: 999px;
  background: var(--blue);
}
.section-marker span:nth-child(1),
.section-marker span:nth-child(3) {
  width: 8px;
  height: 8px;
}
.section-marker span:nth-child(2) {
  width: 44px;
  height: 6px;
  background: rgba(18, 82, 250, .35);
}

/* ===== SOBRE NOSOTROS ===== */
.sobre-nosotros {
  display: flex;
  gap: 124px;
  width: 976px;
  height: 575px;
  margin: 0 auto;
  position: relative;
}
.sobre-foto {
  position: relative;
  width: 403.39px;
  height: 575px;
  flex-shrink: 0;
}
.oval {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(18,82,250,.18), rgba(18,82,250,.08) 65%, rgba(18,82,250,0) 66%);
}
.oval img { display: none; }
.oval-bottom { left: 0; top: 287px; width: 247.83px; height: 247.83px; }
.oval-top { left: 155px; top: 48px; width: 247.83px; height: 247.83px; }
.hombre-img {
  position: absolute;
  left: 29.39px;
  top: 0;
  width: 374px;
  height: 575px;
  object-fit: cover;
}
.sobre-contenido {
  display: flex;
  flex-direction: column;
  gap: 22.241px;
  width: 417px;
  padding-top: 29px;
  overflow: hidden;
}
.sobre-titulo {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 28.596px;
  line-height: 38.128px;
  letter-spacing: -0.9532px;
}
.sobre-texto {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 25.418px;
  letter-spacing: -0.1589px;
  opacity: 0.7;
}
.sobre-texto strong {
  font-weight: 600;
  opacity: 1;
}

/* ===== SECTION HEADERS ===== */
.section-header { display: flex; flex-direction: column; gap: 13px; }
.section-header.center { align-items: center; }
.section-header.white .copete span,
.section-header.white h2 { color: var(--white); }
.copete {
  display: flex;
  gap: 12px;
  align-items: center;
}
.logo-icon { width: 21px; height: 20px; flex-shrink: 0; object-fit: contain; display: block; }
.copete span {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 19.6px;
  letter-spacing: -0.14px;
  color: var(--black);
}
.section-header h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 52.8px;
  letter-spacing: -1.32px;
  color: var(--black);
}

/* ===== PROPUESTA DE VALOR ===== */
.propuesta-valor {
  background: var(--blue);
  border-radius: 12px;
  padding: 60px 59px;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 35px;
  overflow: hidden;
}
.benefits-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}
.benefit-card {
  background: var(--white);
  border-radius: 12.06px;
  padding: 28.944px 28.944px 40px;
  width: 361px;
  display: flex;
  flex-direction: column;
}
.benefit-card h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.3859px;
  line-height: 101.22%;
  color: var(--black);
  height: 50.653px;
  display: flex;
  align-items: center;
}
.benefit-line {
  width: 117.386px;
  height: 3px;
  margin: 20px 0;
}
.benefit-line img { width: 100%; height: 100%; object-fit: contain; }
.benefit-card p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: -0.2251px;
  line-height: normal;
  color: var(--black);
}

/* ===== CÓMO FUNCIONA ===== */
.como-funciona {
  display: flex;
  flex-direction: column;
  gap: 45px;
}
.steps-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  justify-content: center;
  width: 100%;
}
.step-card {
  background: var(--white);
  border-radius: 10.636px;
  padding: 24px;
  width: 471.545px;
  min-height: 211.091px;
  box-shadow: 11.523px -11.523px 0px 0px var(--blue);
  display: flex;
  flex-direction: column;
  gap: 19.5px;
}
.step-number {
  background: var(--blue-secondary);
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 14.182px;
  line-height: 17.018px;
  border-radius: 88.636px;
  padding: 6.205px 7.091px 7.091px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
}
.step-card h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.4255px;
  line-height: 27.655px;
  color: var(--black);
}
.step-card p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: normal;
  color: var(--black);
}

/* ===== DEMO CTA ===== */
.demo-cta {
  background: var(--blue);
  border-radius: 12px;
  padding: 60px 59px;
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
  min-height: 460px;
}
.demo-content {
  position: relative;
  z-index: 2;
  max-width: 480px;
}
.demo-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 55px;
  line-height: 52.8px;
  letter-spacing: -1.32px;
  color: var(--white);
  margin-bottom: 20px;
}
.demo-subtitle {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 21.6px;
  line-height: 31.2px;
  letter-spacing: -0.48px;
  color: var(--white);
}
.demo-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  color: var(--blue);
  padding: 8.793px 20.099px;
  border-radius: 12px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 18.84px;
  line-height: 35.173px;
  box-shadow: 0px 5.025px 4.397px rgba(0,0,0,.25);
  margin-top: 80px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.demo-arrow { width: 28.892px; height: 28.892px; }
.demo-visual {
  position: absolute;
  right: 59px;
  top: 50%;
  width: min(641px, 51.7%);
  aspect-ratio: 641 / 427;
  transform: translateY(-50%);
}
.demo-circle {
  position: absolute;
  left: 15.78%;
  top: 5.85%;
  width: 61.17%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--white);
  box-shadow: 0 10px 16px rgba(0,0,0,.18);
}
.demo-macbook {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  z-index: 2;
}

/* ===== FUNCIONALIDADES ===== */
.funcionalidades {
  display: flex;
  flex-direction: column;
  gap: 35px;
}
.features-wrap {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.features-row {
  display: flex;
  gap: 19px;
  justify-content: center;
  min-height: 235px;
}
.feature-card {
  background: var(--white);
  border-radius: 12px;
  padding: 22px 25px;
  box-shadow: 4px 4px 3.5px rgba(0,0,0,.25);
  display: flex;
  flex-direction: column;
  gap: 21px;
  flex: 1;
  min-width: 0;
}
.feature-icon-wrap {
  width: 48.057px;
  height: 48.057px;
  background: var(--gray);
  border-radius: 40.047px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.feature-icon-wrap img { width: 26px; height: 26px; }
.feature-text { width: 159px; }
.feature-text h4 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16.619px;
  letter-spacing: -0.4198px;
  line-height: 27.29px;
  color: var(--black);
  margin-bottom: 4px;
}
.feature-text p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: -0.28px;
  color: var(--black);
}

/* ===== INTEGRACIONES ===== */
.integraciones {
  display: flex;
  flex-direction: column;
  gap: 69px;
  align-items: center;
  padding: 0 42px;
}
.logos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 41px 77.433px;
  justify-content: center;
  max-width: 766px;
  align-items: center;
}
.integ-logo { object-fit: contain; }

/* ===== PLANES ===== */
.planes {
  background: var(--blue);
  border-radius: 12px;
  padding: 57px 59px;
  box-shadow: 10px 10px 10px rgba(0,0,0,.25);
  display: flex;
  flex-direction: column;
  gap: 35px;
  overflow: hidden;
}
.plans-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  justify-content: center;
  max-width: 888px;
  margin: 0 auto;
}
.plan-card {
  width: 230px;
  height: 331px;
  border-radius: 9.018px;
  background: var(--white);
  border: 0.751px solid var(--gray);
  box-shadow: 3.006px 3.006px 1.503px rgba(0,0,0,.25);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plan-badge {
  margin-top: 21.6px;
  background: rgba(18,82,250,.15);
  padding: 4.079px 20.397px;
  border-radius: 33.929px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 13.26px;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: 2.2054px;
  text-align: center;
  white-space: nowrap;
}
.plan-price {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 36.07px;
  line-height: 43.585px;
  letter-spacing: -1.3526px;
  color: var(--black);
  text-align: center;
  margin-top: 20px;
}
.plan-price-text {
  font-size: 36.07px;
}
.plan-asterisk {
  font-weight: 400;
  font-size: 23.265px;
}
.plan-asterisk-light {
  font-weight: 300;
  font-size: 23.22px;
}
.plan-desc {
  text-align: center;
  padding: 0 50px;
  margin-top: 20px;
}
.plan-desc p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 21.792px;
  letter-spacing: -0.1503px;
  color: var(--black);
}
.plan-desc strong { font-weight: 700; }
.plan-usd {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 21.792px;
  letter-spacing: -0.1503px;
  color: var(--black);
  text-align: center;
  margin-top: 15px;
}
.plan-btn {
  position: absolute;
  bottom: 15px;
  left: 14.97px;
  width: 200px;
  height: 41px;
  background: rgba(18,82,250,.5);
  border-radius: 9.018px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 24.047px;
  letter-spacing: -0.4509px;
  color: var(--white);
  text-align: center;
  transition: background .2s;
}
.plan-btn:hover { background: rgba(18,82,250,.7); }

/* ===== FAQS ===== */
.faqs {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
}
.faqs-columns {
  display: flex;
  gap: 19.394px;
  justify-content: center;
  width: 1002px;
  margin: 0 auto;
}
.faqs-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.faq-item {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  transition: background .2s, border-color .2s, box-shadow .2s;
}
.faq-item:hover { background: #f5f5f7; }
.faq-item.active {
  border-color: var(--blue);
  box-shadow: 0 8px 18px rgba(18,82,250,.12);
}
.faq-question {
  width: 100%;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  text-align: left;
  color: inherit;
}
.faq-question span:first-child {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 28px;
  color: var(--black);
  flex: 1;
}
.faq-icon {
  font-size: 24px;
  color: var(--black);
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 300;
  transition: transform .25s ease, color .25s ease;
}
.faq-item.active .faq-icon { color: var(--blue); }
.faq-item.active .faq-icon { transform: rotate(45deg); }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease, padding .25s ease;
  padding: 0 30px;
}
.faq-answer p {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: #4a4e57;
  margin: 0;
}
.faq-item.active .faq-answer {
  max-height: 180px;
  padding: 0 30px 24px;
}

/* ===== FOOTER ===== */
.footer {
  background: var(--blue);
  border-radius: 12px 12px 0 0;
  max-width: var(--page-width);
  margin: 90px auto 0;
  padding: 64px 66px;
}
.footer-inner {
  display: flex;
  gap: 130px;
}
.footer-empresa {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex-shrink: 0;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
}
.footer-logo-mark {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.footer-logo-text {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--white);
}
.footer-copy {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray);
  width: 350px;
}
.footer-social { display: flex; gap: 16px; align-items: center; }
.social-icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.2);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: background .2s ease, transform .2s ease;
}
.social-icon:hover { background: rgba(255,255,255,.24); }
.footer-links {
  display: flex;
  gap: 30px;
  flex: 1;
}
.footer-col { display: flex; flex-direction: column; gap: 24px; }
.footer-col h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  color: var(--white);
}
.footer-link-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 346px;
}
.footer-link-grid a {
  width: 160px;
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: var(--white);
  transition: opacity .2s;
}
.footer-link-grid a:hover { opacity: .7; }
.footer-input-wrap {
  position: relative;
  width: 255px;
  height: 40px;
  display: block;
}
.footer-input {
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,.2);
  border-radius: 8px;
  padding: 0 44px 0 12px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray);
  display: flex;
  align-items: center;
}
.footer-send {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  padding: 0;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-send img { width: 100%; height: 100%; }
.footer-demo-link { transition: transform .2s ease; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1280px) {
  .page { max-width: 100%; padding-left: 20px; padding-right: 20px; }
  .footer { max-width: 100%; margin-left: 20px; margin-right: 20px; }
  .slider-text { left: auto; right: 40px; font-size: 40px; width: 280px; }
  .sobre-nosotros { width: 100%; gap: 60px; }
  .faqs-columns { width: 100%; }
  .benefit-card { width: calc(33.333% - 10px); min-width: 280px; }
  .step-card { width: calc(50% - 17px); }
}

@media (max-width: 1024px) {
  .nav-links { display: none; }
  .nav-links.active {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--white);
    border-radius: 0 0 15px 15px;
    padding: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,.1);
    gap: 10px;
  }
  .hamburger { display: flex; }
  .nav-inner { justify-content: space-between; }
  .nav-buttons { margin-left: auto; }
  .demo-cta { min-height: auto; }
  .features-row { flex-wrap: wrap; }
  .feature-card { min-width: calc(25% - 15px); }
  .faqs-columns { flex-direction: column; width: 100%; }
}

@media (max-width: 900px) {
  .navbar { top: 20px; }
  .page { padding-top: 120px; gap: 60px; }
  .slider { height: 400px; }
  .slider-overlay { left: 56%; }
  .slider-text { font-size: 32px; width: 210px; top: auto; right: 12px; bottom: 46px; transform: none; text-align: left; }
  .sobre-nosotros { flex-direction: column; height: auto; align-items: center; gap: 40px; }
  .sobre-foto { width: 300px; height: 430px; }
  .hombre-img { width: 280px; height: 430px; left: 10px; }
  .oval-bottom { width: 180px; height: 180px; top: 220px; }
  .oval-top { width: 180px; height: 180px; left: 120px; top: 30px; }
  .sobre-contenido { width: 100%; max-width: 500px; padding-top: 0; }
  .benefit-card { width: calc(50% - 8px); }
  .step-card { width: 100%; }
  .footer { margin-left: 0; margin-right: 0; border-radius: 0; }
  .footer-inner { flex-direction: column; gap: 40px; }
  .footer-copy { width: auto; }
  .footer-links { width: 100%; justify-content: space-between; }
  .plans-grid { max-width: 100%; }
  .plan-card { width: calc(33.333% - 15px); min-width: 180px; }
  .demo-visual {
    position: relative;
    right: auto;
    top: auto;
    width: min(100%, 560px);
    margin: 32px auto 0;
    transform: none;
  }
}

@media (max-width: 768px) {
  .propuesta-valor, .planes { padding: 40px 24px; }
  .demo-cta { padding: 40px 24px; }
  .benefit-card { width: 100%; }
  .features-row { gap: 12px; }
  .feature-card { min-width: calc(50% - 6px); }
  .plan-card { width: calc(50% - 11px); }
  .nav-buttons .btn-secondary { display: none; }
  .logos-grid { gap: 24px 40px; }
  .footer-links { flex-direction: column; }
  .footer-input-wrap { width: 100%; max-width: 255px; }
}

@media (max-width: 480px) {
  .navbar { top: 10px; width: calc(100% - 20px); }
  .nav-inner { padding: 7px 18px; gap: 12px; }
  .nav-logo { width: 76px; }
  .nav-buttons { gap: 0; }
  .nav-buttons .btn-primary { font-size: 14px; line-height: 24px; padding: 8px 18px; border-radius: 12px; }
  .hamburger { padding: 8px 4px 8px 10px; gap: 6px; }
  .hamburger span { width: 28px; height: 2.5px; }
  .page { padding-top: 90px; gap: 40px; }
  .slider { height: 300px; }
  .slider-overlay { left: 49%; }
  .slider-text { font-size: 27px; line-height: 1.45; width: 145px; right: -4px; bottom: 41px; }
  .section-marker { margin-top: -16px; }
  .sobre-foto { width: 250px; height: 370px; }
  .hombre-img { width: 230px; height: 370px; }
  .feature-card { min-width: 100%; }
  .plan-card { width: 100%; height: auto; min-height: 280px; }
  .plan-btn { position: relative; bottom: auto; left: auto; width: 80%; margin: 10px auto 15px; }
  .footer { padding: 40px 24px; }
  .footer-brand { gap: 10px; }
  .footer-logo-mark { width: 36px; height: 36px; }
  .footer-logo-text { font-size: 28px; }
  .footer-link-grid { width: 100%; }
  .footer-link-grid a { width: 100%; }
}
