:root{
  /* Paleta institucional — NO cambiar sin aprobación */
  --color-green: #007A3D; /* Títulos, botones principales, enlaces */
  --color-orange: #F58220; /* Botones secundarios, íconos, destacados */
  --color-blue: #12A3E6; /* Elementos decorativos, hover, detalles */
  --color-yellow: #F4D24A; /* Fondos de secciones destacadas */

  /* Compatibilidad con nombres usados en estilos existentes */
  --primary: var(--color-green);
  --accent: var(--color-orange);
  --secondary: var(--color-blue);
  --light: #fdf6e9;
  --dark: #1b1b1d;
  --darker: #0f1720;
  --muted: #5f6368;
  --surface: #f7f7f7;

  /* Tipografía */
  --font-heading: 'Poppins', sans-serif;
  --font-body: 'Poppins', sans-serif;
  --body-font-size: 16px;
  --content-max-width: 1100px;
  --muted-strong: #586069;

  /* Espaciado */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 3rem;
  --space-xl: 4rem;

  /* Bordes y sombras */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 9999px;
  --shadow-sm: 0 2px 6px rgba(27,27,29,0.06);
  --shadow-md: 0 8px 20px rgba(27,27,29,0.08);
  --shadow-lg: 0 18px 40px rgba(27,27,29,0.12);
}

/* Reset básico y tipografía */
*, *::before, *::after { box-sizing: border-box; }
html,body{height:100%}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--dark);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}

/* Utilities pequeños para consistencia */
.shadow-soft{box-shadow:var(--shadow-lg)}
.rounded{border-radius:var(--radius-md)}

/* Contenedor y secciones */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}
.section{padding:var(--space-xl) 0;position:relative}

/* Branding */
.brand-logo{height:44px;display:inline-block;object-fit:contain}
.brand-text{font-weight:700;letter-spacing:0.4px;color:var(--primary)}

/* Buttons básicos aplicando paleta */
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-primary:hover{background:color-mix(in srgb, var(--primary) 85%, black 15%)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.bg-accent{background:var(--accent);color:#fff}

/* Visually hidden (accessibility) */
.visually-hidden, .sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

