:root{

    /* ---------- Color: base ---------- */
    --color-black:        #0a0a0c;
    --color-black-soft:   #121214;
    --color-surface:      #17171a;
    --color-surface-alt:  #1e1e22;
    --color-border:       rgba(255,255,255,0.10);
    --color-border-strong:rgba(255,255,255,0.20);
    
    --color-white:        #ffffff;
    --color-text:         #f2f2f4;
    --color-text-muted:   #a6a6ae;
    --color-text-faint:   #707078;
    
    /* ---------- Color: marca (celeste + naranja) ---------- */
    --color-cyan:         #4fb0e0;
    --color-link:         #4fe0c5;
    --color-cyan-soft:    rgba(79,176,224,0.12);
    --color-cyan-border:  rgba(79,176,224,0.35);
    
    --color-orange:       #e08a3e;
    --color-orange-hover: #c97930;
    --color-orange-soft:  rgba(224,138,62,0.12);
    --color-orange-border:rgba(224,138,62,0.4);
    
    /* Color sobre superficie naranja (texto oscuro por contraste) */
    --color-on-orange:    #1a1206;
    
    /* ---------- Tipografía ---------- */
    --font-base: 'Inter', -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    
    --fw-regular:  400;
    --fw-medium:   500;
    --fw-semibold: 600;
    --fw-bold:     700;
    --fw-black:    800;
    
    /* Escala fluida (clamp) */
    --fs-xs:  clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
    --fs-sm:  clamp(0.875rem, 0.84rem + 0.2vw, 0.9375rem);
    --fs-base:clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
    --fs-md:  clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem);
    --fs-lg:  clamp(1.375rem, 1.25rem + 0.6vw, 1.8rem);
    --fs-xl:  clamp(1.75rem, 1.5rem + 1.2vw, 2.25rem);
    --fs-2xl: clamp(2.25rem, 1.8rem + 2.2vw, 3.25rem);
    --fs-3xl: clamp(2.75rem, 2rem + 3.6vw, 5rem);
    
    --lh-tight:   1.15;
    --lh-snug:    1.35;
    --lh-normal:  1.55;
    --lh-relaxed: 1.75;
    
    /* ---------- Espaciado ---------- */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 2.5rem;
    --space-8: 3rem;
    --space-9: 4rem;
    --space-10: 5rem;
    --space-11: 6.5rem;
    --space-12: 8rem;
    
    /* ---------- Layout ---------- */
    --container-max: 1400px;
    --container-pad: clamp(1.25rem, 4vw, 3rem);
    --header-height: 4.75rem;
    
    /* ---------- Forma ---------- */
    --radius-sm:   0.5rem;
    --radius-md:   0.875rem;
    --radius-lg:   1.25rem;
    --radius-full: 999px;
    --border-w:    1px;
    
    /* ---------- Sombra ---------- */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
    --shadow-md: 0 12px 32px -16px rgba(0,0,0,0.55);
    --shadow-lg: 0 24px 60px -24px rgba(0,0,0,0.65);
    
    /* ---------- Movimiento ---------- */
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --transition-fast:  0.18s var(--ease);
    --transition-base:  0.3s var(--ease);
    --transition-slow:  0.5s var(--ease);
    
    /* ---------- Componentes recurrentes ---------- */
    --btn-height:    3.25rem;
    --btn-height-sm: 2.75rem;
    --icon-size:     2.75rem;
    }
    *, *::before, *::after{ box-sizing: border-box; }
  
  html{
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  }
  
  body{
  margin: 0;
  background: var(--color-black);
  color: var(--color-text);
  font-family: var(--font-base);
  font-weight: var(--fw-regular);
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  -webkit-font-smoothing: antialiased;
  }
  
  h1, h2, h3{
  font-family: var(--font-base);
  color: var(--color-white);
  line-height: var(--lh-tight);
  margin: 0;
  }
  
  p{ margin: 0; }
  
  a{ 
    color: inherit;
  text-decoration: none;
  }
  .link{
    color: var(--color-link);
    font-style: italic;
  }
  ul, ol{ margin: 0; padding: 0; list-style: none; }
  
  img, svg{ max-width: 100%; display: block; }
  
  button{ font-family: inherit; }
  
  /* Estado de foco accesible y consistente en toda la interfaz */
  :focus-visible{
  outline: 2px solid var(--color-cyan);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
  }
  
  @media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  }
  
  /* Enlace "saltar al contenido" — visible solo con foco de teclado */
  .skip-link{
  position: absolute;
  top: -100%;
  left: var(--space-4);
  background: var(--color-orange);
  color: var(--color-on-orange);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  z-index: 100;
  transition: top var(--transition-fast);
  }
  
  .skip-link:focus{ top: var(--space-4); }
  
  /* ---------- Contenedor global ---------- */
  .container{
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  }
  .eyebrow{
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-orange);
    }
    
    .eyebrow::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--color-orange);
    }
    
    .section-heading{
    max-width: 42rem;
    margin-bottom: var(--space-9);
    }
    
    .section-heading h2{
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    letter-spacing: -0.02em;
    margin-block: var(--space-4) var(--space-4);
    }
    
    .section-heading p{
    color: var(--color-text-muted);
    font-size: var(--fs-md);
    line-height: var(--lh-relaxed);
    }
    
    /* ---------- Botones reutilizables ---------- */
    .btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    height: var(--btn-height);
    padding-inline: var(--space-6);
    border-radius: var(--radius-md);
    font-weight: var(--fw-semibold);
    font-size: var(--fs-base);
    text-decoration: none;
    border: var(--border-w) solid transparent;
    cursor: pointer;
    transition: background var(--transition-base), border-color var(--transition-base), transform var(--transition-fast), color var(--transition-base);
    }
    
    .btn:active{ transform: translateY(1px); }
    
    .btn--primary{
    background: var(--color-orange);
    color: var(--color-on-orange);
    }
    
    .btn--primary:hover{ background: var(--color-orange-hover); }
    
    .btn--secondary{
    background: transparent;
    border-color: var(--color-border-strong);
    color: var(--color-text);
    }
    
    .btn--secondary:hover{
    border-color: var(--color-cyan-border);
    background: var(--color-cyan-soft);
    }
    
    .btn--sm{ height: var(--btn-height-sm); padding-inline: var(--space-5); font-size: var(--fs-sm); }
  /* ============================================================
   3. ENCABEZADO
   ============================================================ */
   .site-header{
    position: sticky;
    top: 0;
    z-index: 50;
    height: var(--header-height);
    display: flex;
    align-items: center;
    background: rgba(10,10,12,0.85);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: var(--border-w) solid var(--color-border);
    }
    
    .site-header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    width: 100%;
    }
    
    .brand{
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    text-decoration: none;
    }
    
    .brand-name{
    font-size: var(--fs-md);
    font-weight: var(--fw-bold);
    letter-spacing: -0.01em;
    color: var(--color-white);
    }
    
    .brand-name span{ color: var(--color-orange); }
    
    .brand-tagline{
    font-size: var(--fs-xs);
    color: var(--color-text-muted);
    display: none;
    padding-top: 4px;
    }
    
    @media (min-width: 720px){
    .brand-tagline{ display: block; }
    }
  
  
  
  
  
  
  
  
    
  
  /* Navegación de escritorio */
  .main-nav ul {
    display: flex;
    align-items: center;
    gap: var(--space-7);
  }
  
  /* Botón hamburguesa oculto en escritorio */
  .nav-toggle {
    display: none;
  }
  
  /* Navegación para celulares y tablets */
  @media (max-width: 1039px) {
  
    .site-header .container {
      gap: 0.75rem;
    }
  
    .nav-toggle {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      width: 44px;
      height: 44px;
      flex-shrink: 0;
      margin-left: auto;
      padding: 0;
      border: 1px solid var(--color-border-strong);
      border-radius: var(--radius-sm);
      background: var(--color-surface);
      cursor: pointer;
    }
  
    .nav-toggle span {
      width: 20px;
      height: 2px;
      background: var(--color-white);
      border-radius: 2px;
    }
  
    .main-nav {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      padding: 1rem var(--container-pad);
      background: var(--color-black-soft);
      border-bottom: 1px solid var(--color-border);
      box-shadow: var(--shadow-md);
    }
  
    .main-nav.is-open {
      display: block;
    }
  
    .main-nav ul {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
    }
  
    .main-nav li {
      display: block;
    }
  
    .main-nav a {
      display: block;
      padding: 0.9rem 0.5rem;
      font-size: var(--fs-base);
      border-bottom: 1px solid var(--color-border);
    }
  
    .header-actions {
      flex-shrink: 0;
    }
  
    .header-actions .btn {
      padding-inline: 0.75rem;
      font-size: 0.75rem;
    }
  
    .brand-tagline {
      display: none;
    }
  }
  
  @media (max-width: 380px) {
    .header-actions .btn {
      display: none;
    }
  }
    .main-nav a{
    font-size: var(--fs-xs);
    font-weight: var(--fw-medium);
    text-decoration: none;
    color: var(--color-text-muted);
    transition: color var(--transition-fast);
    }
    
    .main-nav a:hover{ color: var(--color-white); }
    
    .header-actions{
    display: flex;
    align-items: center;
    gap: var(--space-3);
    }
    