@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root {
  --brand:#6b857e;
  --brand-2:#8ca099;
  --accent:#dcab8b;
  --accent-2:#f4f2a2;
  --btn-verde:#3ca36c;
  --btn-verde-claro:#d1f2e1;
  --ink:#1d2220;
  --muted:#44514d;
  --bg:#ffffff;
  /* Global UI scale (desktop). 1 = 100%. */
  --ui-scale: 0.75;
  /* Scale for vw-based type on large screens */
  --type-vw-scale: 0.75;
}

* {
  box-sizing:border-box;
}

html,
body {
  margin:0;
  padding:0;
  color:var(--ink);
  font-family:"Poppins", system-ui, -apple-system, "Segoe UI", Inter, Helvetica, Arial, sans-serif;
  line-height:1.5;
  background:var(--bg);
}

/* Garantiza que cualquier elemento con [hidden] no se muestre, 
   incluso si tiene estilos inline (p.ej. display:grid) */
[hidden] { display: none !important; }

/* Make 100% zoom feel closer to 80% by reducing rem base
   (mobile unaffected via media query below) */
html { font-size: calc(16px * var(--ui-scale)); }

@media (max-width: 900px) {
  :root { --ui-scale: 1; }
  html { font-size: 16px; }
}

.visually-hidden {
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

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

a {
  color:inherit;
  text-decoration:none;
}

h2.section-title {
  font-size:clamp(1.6rem,3vw,2.4rem);
  color:var(--muted);
  margin:.25rem 0 1rem;
  font-weight:800;
}

/* Ajusta el offset de anclas según la altura real del header sticky */
html { scroll-padding-top: var(--header-h, 60px); }
