/* Approved signatures: compact below 360 visible px; master at 384 box px. */
:root { --page: clamp(24px, 4.8vw, 82px); }
.site-header:not(.is-scrolled):not(.header-solid) { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-header .site-brand { display: flex; align-items: center; width: 171px; min-height: 44px; }
.site-header .header-logo { display: block; width: 100%; height: auto; }
.desktop-nav a { font-size: 12px; }
body[data-page="compania"] .page-hero h1 { font-size: clamp(48px, 6vw, 96px); line-height: 1.06; }
.menu-button { width: 44px; height: 44px; flex: none; }
.mobile-menu a[aria-current="page"] { color: var(--signal); }
.mobile-menu nav a { min-height: 44px; }
.site-footer { background: #090d0d; gap: 40px; }
.footer-brand, .footer-nav { min-width: 0; }
.footer-signature { display: block; width: 384px; }
.footer-signature img { display: block; width: 100%; height: auto; }
.footer-nav { gap: 8px 32px; }
.footer-nav a { font-size: 12px; min-height: 44px; }
.footer-contact a { min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.footer-bottom { font: 400 13px/1.6 var(--sans); letter-spacing: 0; text-transform: none; flex-wrap: wrap; gap: 16px 32px; }
.context-core { grid-template-columns: 1fr; justify-items: center; gap: 12px; }
.context-core .context-logo { width: 126px; height: auto; }
.context-core small { grid-column: 1; font: 400 12px/1.5 var(--sans); }
.integration-center img { display: block; width: 107px; height: auto; }
.integration-center span { font: 400 12px/1.5 var(--sans); letter-spacing: 0; }
.ecosystem-partners { width: min(100%, 600px); padding: 32px; display: grid; grid-template-columns: 1fr 48px 1fr; align-items: center; text-align: center; }
.ecosystem-partner { display: grid; justify-items: center; align-content: center; gap: 20px; min-height: 144px; }
.ecosystem-partner strong { font: 500 28px/1.2 var(--sans); letter-spacing: -.04em; }
.ecosystem-partner img { display: block; width: 126px; height: auto; }
.ecosystem-partner span, .ecosystem-partners p { font: 400 14px/1.5 var(--sans); color: var(--dark-muted); }
.ecosystem-partners p { grid-column: 1 / -1; margin-top: 32px; }
.ecosystem-axis { height: 1px; background: #5f6664; }
.logo-grid img { object-fit: contain; opacity: .85; }
.logo-cell img { max-width: 80%; }
.logo-cell::after { display: none; }
.logo-cell .logo-sector { font: 400 12px/1.4 var(--sans); text-transform: none; letter-spacing: 0; opacity: 1; }
body.has-gsap .m-step { opacity: 1; }
.field label { font-size: 12px; line-height: 1.5; }
.field input, .field select, .field textarea { min-width: 0; min-height: 48px; font-size: 16px; border-bottom-color: #5f6664; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--signal-on-paper); outline-offset: 4px; }
.form-row > *, .capability-panels, .capability-detail, .capability-explorer > * { min-width: 0; }
@media (max-width: 1100px) {
  .contact-intro { min-height: 0; gap: 48px; }
}
@media (max-width: 1000px) {
  .site-footer { grid-template-columns: minmax(0, 1fr); }
  .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 600px; width: 100%; }
}
@media (max-width: 760px) {
  .site-header { padding-inline: var(--page); }
  .site-header .site-brand { width: 126px; }
  .header-actions { gap: 8px; }
  .header-actions .button { padding-inline: 12px; font-size: 11px; min-height: 44px; }
  .home-hero h1 { font-size: clamp(48px, 16vw, 88px); line-height: .98; font-weight: 400; }
  .page-hero h1, body[data-page="compania"] .page-hero h1 { font-size: clamp(42px, 12vw, 76px); line-height: 1.04; font-weight: 400; }
  .section-heading h2, .large-heading { font-size: clamp(36px, 9vw, 58px); line-height: 1.08; }
  .hero-copy { gap: 32px; }
  .hero-status { font-size: 10px; }
  .sector-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sector-tabs a { min-height: 56px; font-size: 13px; }
  .sector-copy h3 { font-size: clamp(34px, 9vw, 48px); line-height: 1.08; }
  .source-nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .source-node { font: 400 11px/1.4 var(--sans); overflow-wrap: anywhere; min-width: 0; }
  .scene-caption, .scene-foot { font-size: 10px; line-height: 1.6; }
  .capability-detail { padding: 24px; }
  .capability-detail .text-link { font-size: 12px; }
  .capability-detail .visual-footline { gap: 12px; flex-wrap: wrap; }
  .enterprise-core img { width: 171px; }
  .enterprise-domains > span { font: 400 12px/1.5 var(--sans); }
  .enterprise-core p { font: 400 12px/1.7 var(--sans); letter-spacing: 0; }
  .contact-intro { padding-block: 48px; gap: 32px; }
  .contact-intro h1 { font-size: clamp(42px, 12vw, 64px); line-height: 1.04; font-weight: 400; }
  .contact-form-wrap { padding-block: 48px; }
  .contact-form-wrap h2 { margin-bottom: 32px; }
  .contact-actions .button { width: 100%; justify-content: space-between; }
  .method-scroll-hint { font: 400 12px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
}
@media (max-width: 760px) {
  /* En celular, cada etapa avanza con el scroll y la escena permanece a la vista. */
  .method-mobile-scroll .method-pin { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .method-mobile-scroll .method-left > .kicker { order: 1; }
  .method-mobile-scroll .method-left > h2 { order: 2; }
  .method-mobile-scroll .method-visual {
    order: 3;
    position: sticky;
    top: calc(var(--header-h) + 8px);
    z-index: 2;
    width: 100%;
    height: clamp(220px, 38svh, 320px);
    margin-top: 24px;
    background-color: #0b1112;
    box-shadow: 0 14px 24px #050606;
  }
  .method-mobile-scroll .method-stepper { order: 4; width: 100%; margin: 20px 0 24px; }
  .method-mobile-scroll .method-left > .button { order: 5; align-self: flex-start; }
  body.has-gsap .method-mobile-scroll .m-step {
    min-height: clamp(230px, 42svh, 340px);
    align-content: center;
    padding-block: 32px;
  }
}
@media (max-width: 600px) {
  .footer-signature { width: 171px; }
  .footer-brand p { margin-top: 24px; }
  .site-footer { gap: 32px; padding-block: 48px 32px; }
  .footer-bottom { padding-top: 24px; }
  .logo-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ecosystem-partners { grid-template-columns: 1fr; padding: 24px; }
  .ecosystem-axis { width: 1px; height: 40px; justify-self: center; }
  .ecosystem-partners p { margin-top: 24px; }
}
@media (max-width: 460px) {
  .capability-detail .growth-flow { grid-template-columns: 1fr; gap: 10px; width: 100%; }
  .capability-detail .growth-flow > div { grid-template-columns: 24px 1fr; gap: 4px 12px; padding-top: 12px; }
  .capability-detail .growth-flow span { grid-row: span 2; }
  .capability-detail .growth-flow strong { font-size: 16px; }
  .capability-detail .growth-flow small { grid-column: 2; font: 400 12px/1.5 var(--sans); }
  .capability-detail .growth-flow > i { justify-self: center; transform: rotate(90deg); }
  .capability-detail .growth-feedback { font: 400 12px/1.6 var(--sans); }
}
@media (max-width: 400px) {
  .header-actions .button span { display: none; }
  .header-actions .button { padding-inline: 10px; }
  .capability-detail { padding: 20px; }
  .capability-detail h3 { font-size: 28px; }
  .capability-detail .agent-task { gap: 10px; }
  .capability-detail .agent-task i { display: none; }
  .operation-scene { padding-inline: 12px; }
}
@media (max-height: 600px) and (max-width: 1100px) {
  .mobile-menu { padding-top: calc(var(--header-h) + 16px); }
  .mobile-menu nav a { font-size: 24px; padding-block: 12px; }
}

/* Menú móvil TENET: lectura contenida y flecha dibujada con el eje de la marca. */
.tenet-arrow { display: inline-block; width: 1em; height: 1em; flex: none; vertical-align: -.12em; }
.button .tenet-arrow { width: 14px; height: 14px; vertical-align: middle; }
.capability-choice-arrow .tenet-arrow { display: block; width: 20px; height: 20px; }
.footer-contact .tenet-arrow, .contact-email .tenet-arrow { width: .78em; height: .78em; margin-left: .18em; }
@media (max-width: 1100px) {
  .mobile-menu { color: var(--paper); overflow-y: auto; }
  .mobile-menu nav a {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding-block: 14px;
    font-size: clamp(22px, 2.7vw, 28px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.02em;
  }
  .mobile-menu .mobile-contact-link { justify-content: space-between; gap: 20px; }
  .tenet-nav-arrow { display: inline-flex; width: 24px; height: 24px; flex: none; color: var(--signal); transition: transform .18s var(--ease); }
  .tenet-nav-arrow svg { display: block; width: 100%; height: 100%; }
  .mobile-contact-link:hover .tenet-nav-arrow,
  .mobile-contact-link:focus-visible .tenet-nav-arrow { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: reduce) {
  .tenet-nav-arrow { transition: none; }
}
