
  /* ---- Ópticas: chips condensados (sección Método, dark) ---- */
  section[data-tone="dark"] .subhead { color: #fff; }
  section[data-tone="dark"] .sublede { color: rgba(255,255,255,0.72); }

  /* ---- Ciclo: destacado What-If (negro sobre amarillo) ---- */
  .destacado {
    margin-top: clamp(28px, 4vw, 46px);
    background: var(--gi-black); color: #fff;
    border-radius: var(--gi-radius-xl); padding: clamp(28px, 3.4vw, 48px);
    display: grid; grid-template-columns: 56px 1fr; gap: clamp(18px, 2.4vw, 30px); align-items: start;
  }
  @media (max-width: 620px) { .destacado { grid-template-columns: 1fr; } }
  .destacado .ibub { width: 56px; height: 56px; background: rgba(248,177,51,0.18); color: var(--gi-yellow); }
  .destacado .ibub svg { width: 27px; height: 27px; }
  .destacado .dlab { display: block; font-family: var(--gi-font-body); font-weight: var(--gi-w-semi); font-size: var(--gi-text-2xs); letter-spacing: var(--gi-tracking-wide); text-transform: uppercase; color: var(--gi-yellow); margin-bottom: 12px; }
  .destacado p { font-family: var(--gi-font-display); font-weight: var(--gi-w-bold); font-size: clamp(20px, 2.3vw, 31px); line-height: 1.2; letter-spacing: -0.01em; color: #fff; text-wrap: balance; }
  .destacado p em { font-style: normal; color: var(--gi-yellow); }

  /* ---- Ciclo: tira de integración (una línea) ---- */
  .integ-strip {
    margin-top: clamp(26px, 3.2vw, 40px);
    display: grid; grid-template-columns: 24px 1fr; gap: 14px; align-items: start;
    border-top: 1px solid rgba(29,29,27,0.18); padding-top: 22px;
    font-family: var(--gi-font-body); font-size: var(--gi-text-md);
    color: rgba(29,29,27,0.82); line-height: var(--gi-leading-base); max-width: 92ch;
  }
  .integ-strip svg { width: 22px; height: 22px; color: var(--gi-black); flex: none; margin-top: 2px; }
  .integ-strip b { font-weight: var(--gi-w-semi); }

  /* ---- Cierre: bloque de próximo paso ---- */
  .next-step {
    margin-top: clamp(32px, 4vw, 52px);
    background: var(--gi-black); color: #fff;
    border-radius: var(--gi-radius-xl); padding: clamp(26px, 3vw, 42px);
    display: flex; align-items: center; gap: clamp(18px, 2.4vw, 30px); flex-wrap: wrap;
  }
  .next-step .ibub { width: 58px; height: 58px; background: rgba(248,177,51,0.18); color: var(--gi-yellow); flex: none; }
  .next-step .ibub svg { width: 28px; height: 28px; }
  .next-step .ns-body { flex: 1; min-width: 260px; }
  .next-step .ns-lab { display: block; font-family: var(--gi-font-body); font-weight: var(--gi-w-semi); font-size: var(--gi-text-2xs); letter-spacing: var(--gi-tracking-wide); text-transform: uppercase; color: var(--gi-yellow); margin-bottom: 8px; }
  .next-step p { font-family: var(--gi-font-display); font-weight: var(--gi-w-bold); font-size: clamp(19px, 2.1vw, 28px); line-height: 1.2; letter-spacing: -0.01em; color: #fff; text-wrap: balance; }

  /* ---- Formulario de contacto (footer) ---- */
  .cform { margin-top: clamp(30px, 4vw, 48px); max-width: 780px; }
  .cform-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
  @media (max-width: 620px) { .cform-grid { grid-template-columns: 1fr; } }
  .cform label {
    display: flex; flex-direction: column; gap: 8px;
    font-family: var(--gi-font-body); font-weight: var(--gi-w-semi);
    font-size: var(--gi-text-2xs); letter-spacing: var(--gi-tracking-wide);
    text-transform: uppercase; color: rgba(255,255,255,0.55);
  }
  .cform label .opt { text-transform: none; letter-spacing: 0; color: rgba(255,255,255,0.4); font-weight: var(--gi-w-regular); }
  .cform label.full { margin-top: 16px; }
  .cform input, .cform select, .cform textarea {
    font-family: var(--gi-font-body); font-size: var(--gi-text-md); font-weight: var(--gi-w-regular);
    color: #fff; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.16);
    border-radius: 14px; padding: 13px 16px; width: 100%;
    text-transform: none; letter-spacing: 0;
    transition: border-color var(--gi-dur-fast) var(--gi-ease-out), background var(--gi-dur-fast) var(--gi-ease-out);
  }
  .cform textarea { resize: vertical; min-height: 120px; line-height: var(--gi-leading-base); }
  .cform input::placeholder, .cform textarea::placeholder { color: rgba(255,255,255,0.32); }
  .cform input:focus, .cform select:focus, .cform textarea:focus { outline: none; border-color: var(--gi-yellow); background: rgba(255,255,255,0.08); }
  .cform select { appearance: none; -webkit-appearance: none; cursor: pointer; }
  .cform select option { color: #1d1d1b; }
  .cform-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; }
  .consent { flex-direction: row; align-items: flex-start; gap: 11px; max-width: 44ch;
    text-transform: none; letter-spacing: 0; font-weight: var(--gi-w-regular);
    font-size: var(--gi-text-sm); color: rgba(255,255,255,0.62); line-height: var(--gi-leading-snug); }
  .consent input { width: 18px; height: 18px; flex: none; margin-top: 2px; accent-color: var(--gi-yellow); border-radius: 4px; }
  .btn-submit {
    font-family: var(--gi-font-display); font-weight: var(--gi-w-semi); font-size: var(--gi-text-md);
    color: var(--gi-black); background: var(--gi-yellow); border: none; cursor: pointer;
    padding: 15px 32px; border-radius: 999px; display: inline-flex; align-items: center; gap: 10px;
    box-shadow: 0 12px 28px -10px rgba(248,177,51,0.55);
    transition: background var(--gi-dur-fast) var(--gi-ease-out), transform var(--gi-dur-fast) var(--gi-ease-out);
  }
  .btn-submit:hover { background: #ffbf45; }
  .btn-submit:active { transform: scale(0.97); }
  .btn-submit svg { width: 18px; height: 18px; }
  .cform-note { font-family: var(--gi-font-body); font-size: var(--gi-text-xs); color: rgba(255,255,255,0.42); margin-top: 18px; max-width: 64ch; line-height: var(--gi-leading-base); }
  .cform-note a { color: var(--gi-yellow); }
  .cform-ok { font-family: var(--gi-font-display); font-weight: var(--gi-w-semi); font-size: var(--gi-text-md); color: var(--gi-yellow); margin-top: 18px; display: none; align-items: center; gap: 10px; }
  .cform-ok svg { width: 20px; height: 20px; }
  .cform-ok.show { display: flex; }

  /* ---- Legal: enlaces de pie + modal ---- */
  .legal-links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
  .legal-links button {
    background: none; border: none; cursor: pointer; padding: 0;
    font-family: var(--gi-font-body); font-size: var(--gi-text-sm);
    color: rgba(255,255,255,0.6); transition: color var(--gi-dur-fast) var(--gi-ease-out);
  }
  .legal-links button:hover { color: var(--gi-yellow); }
  .legal-modal { position: fixed; inset: 0; z-index: 1000; display: none; }
  .legal-modal.open { display: block; }
  .legal-scrim { position: absolute; inset: 0; background: rgba(0,0,0,0.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
  .legal-panel {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: min(880px, calc(100vw - 32px)); max-height: min(88vh, 940px);
    background: var(--gi-white); color: var(--gi-fg); border-radius: var(--gi-radius-xl);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,0.55); display: flex; flex-direction: column; overflow: hidden;
  }
  .legal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px clamp(18px,2.6vw,32px); border-bottom: 1px solid var(--gi-border); }
  .legal-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
  .legal-tabs button {
    background: none; border: none; cursor: pointer; border-radius: 999px; padding: 8px 16px;
    font-family: var(--gi-font-body); font-weight: var(--gi-w-semi); font-size: var(--gi-text-sm);
    color: var(--gi-fg-muted); transition: background var(--gi-dur-fast) var(--gi-ease-out), color var(--gi-dur-fast);
  }
  .legal-tabs button:hover { background: var(--gi-surface); }
  .legal-tabs button.active { background: var(--gi-yellow); color: var(--gi-black); }
  .legal-close { background: var(--gi-surface); border: none; cursor: pointer; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--gi-fg); flex: none; }
  .legal-close:hover { background: #ececec; }
  .legal-close svg { width: 20px; height: 20px; }
  .legal-body { overflow-y: auto; padding: clamp(22px,3vw,40px); -webkit-overflow-scrolling: touch; }
  .legal-doc { display: none; }
  .legal-doc.active { display: block; }
  .legal-doc h3 { font-family: var(--gi-font-display); font-weight: var(--gi-w-extra); font-size: var(--gi-text-2xl); letter-spacing: -0.02em; }
  .legal-doc .upd { font-family: var(--gi-font-body); font-size: var(--gi-text-xs); color: var(--gi-fg-soft); margin: 6px 0 22px; }
  .legal-doc h4 { font-family: var(--gi-font-display); font-weight: var(--gi-w-bold); font-size: var(--gi-text-md); margin: 26px 0 8px; color: var(--gi-fg); }
  .legal-doc p, .legal-doc li { font-family: var(--gi-font-body); font-size: var(--gi-text-sm); color: var(--gi-fg-muted); line-height: var(--gi-leading-base); }
  .legal-doc p { margin-bottom: 12px; }
  .legal-doc ul { margin: 0 0 12px; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
  .legal-doc a { color: var(--gi-yellow-deep); }
  .legal-doc .ph { background: rgba(248,177,51,0.2); border-radius: 4px; padding: 0 5px; color: var(--gi-fg); font-weight: var(--gi-w-semi); }
  .legal-note { font-family: var(--gi-font-body); font-size: var(--gi-text-xs); color: var(--gi-fg-soft); border-top: 1px solid var(--gi-border); margin-top: 28px; padding-top: 16px; line-height: var(--gi-leading-base); }
  @media (max-width: 560px) { .legal-head { flex-wrap: wrap; } }

  /* Visión · frase de posicionamiento al doble de tamaño */
  #vision .lead-accent { font-size: clamp(40px, 4.4vw, 60px); }

  /* Cabecera: logo oficial (lockup con Powered by iseeyou®) */
  .brand .fp-mark { height: 64px; }
  @media (max-width: 560px) { .brand .fp-mark { height: 54px; } }

  /* Conmutador de idioma */
  .topbar nav .lang-btn {
    display: inline-flex; align-items: center; justify-content: center;
    background: none; border: 1px solid var(--gi-border); cursor: pointer;
    font-family: var(--gi-font-display); font-weight: var(--gi-w-semi); font-size: var(--gi-text-sm);
    color: var(--gi-fg); padding: 8px 13px; border-radius: 999px; line-height: 1; min-width: 46px; margin-left: 4px;
    transition: background var(--gi-dur-fast) var(--gi-ease-out), border-color var(--gi-dur-fast) var(--gi-ease-out);
  }
  .topbar nav .lang-btn:hover { background: var(--gi-surface); border-color: var(--gi-fg-soft); }
  .topbar nav .lang-btn:focus-visible { outline: 2px solid var(--gi-yellow); outline-offset: 3px; }

  /* keep the whole nav on one line */
  .topbar nav { flex-wrap: nowrap; gap: 2px; }
  .topbar nav a { padding: 8px 12px; white-space: nowrap; }
  .topbar nav a.cta { margin-left: 6px; }
  @media (max-width: 1040px) { .topbar nav a:not(.cta) { display: none; } }
