/* NABAT | CORE — RESPONSIVO */
/* Responsivo da seção sobre */
@media (max-width: 980px) {
  .about-journal-section {
    min-height: auto;
    padding: 96px 24px;
  }
  .about-journal-content {
    width: 100%;
    max-width: 720px;
  }
  .about-journal-tags {
    grid-template-columns: 1fr 1fr;
  }
}


/* =========================================================
   RESPONSIVO (MOBILE E TABLET)
   ========================================================= */
@media (max-width: 960px) {
  /* Cursor */
  body { cursor: auto; } 
  .cursor, .mouse-light { display: none; }

  /* Hero */
  .ascension-hero { padding: 120px 18px 60px; min-height: auto; }
  .ascension-copy { width: 100%; max-width: 100%; padding-top: 0; }
  .ascension-copy h1 { font-size: clamp(3rem, 12vw, 4.2rem); }
  
  .nabat-system-map { 
    position: relative; 
    right: auto; 
    top: auto; 
    width: 100%; 
    transform: none; 
    display: grid; 
    gap: 12px; 
    margin-top: 40px; 
    height: auto; 
  }
  
  .system-node,
  .node-visao,
  .node-produtos,
  .node-processos,
  .node-gestao,
  .node-sistemas { 
    position: relative !important; 
    right: auto !important; 
    top: auto !important; 
    bottom: auto !important; 
    left: auto !important; 
    width: 100% !important; 
    min-height: auto !important; 
    padding: 16px; 
    border-radius: 16px; 
    transform: none !important;
  }
  
  .menu-nabat { 
    position: relative; 
    left: auto; 
    bottom: auto; 
    transform: none; 
    width: 100%; 
    grid-template-columns: 1fr; 
    margin-top: 30px; 
  }
  
  .menu-nabat a { 
    border-right: none; 
    border-bottom: 1px solid rgba(198,160,98,.10); 
  }

  /* Monitor (Sessão 02) */
  .monitor-presentation { padding: 36px 18px; }
  .monitor-shell { grid-template-columns: 1fr; gap: 28px; }
  .interface-services { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  /* Sobre */
  .about-journal-section { padding: 80px 18px; min-height: auto; }
  .about-journal-content { width: 100%; max-width: 100%; margin-top: 0; padding: 0; }
  .about-journal-content .editorial-title { font-size: clamp(2.8rem, 11vw, 4.2rem); }
  .about-journal-tags { grid-template-columns: 1fr 1fr; }

  /* Serviços */
  .horizontal-section { height: auto; }
  .sticky-wrap { position: relative; height: auto; overflow: visible; flex-direction: column; align-items: flex-start; padding: 80px 18px; }
  .section-title h2 { font-size: clamp(3.2rem, 12vw, 4.5rem); }
  .cards-track { width: 100%; display: grid; grid-template-columns: 1fr; gap: 24px; transform: none !important; }
  .case-card { width: 100%; min-height: 480px; padding: 24px; }
  .case-card > h3 { padding-top: 240px; font-size: clamp(2.4rem, 10vw, 3.5rem); }
  
  /* Contato (Garante o funcionamento que já estava ok) */
  .contact.contact-panel { grid-template-columns: 1fr; padding: 80px 18px; gap: 40px; }
  .contact-visual { min-height: 400px; }
}

@media (max-width: 560px) {
  .ascension-copy h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .about-journal-tags { grid-template-columns: 1fr; }
  .case-card { min-height: 420px; }
  .case-card > h3 { padding-top: 180px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}


@media (max-width: 560px) { .menu-nabat a { padding-inline: 5px; font-size: .5rem; letter-spacing: .05em; } }

@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  body, .nabat-form button { cursor: auto; }
  .cursor, .mouse-light { display: none; }
}
@media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } }


/* Regras adaptativas das janelas, materiais e redes sociais. */
/* CARDS */

/* ADSOMOS */
@media (max-width: 720px) { .systems-content { grid-template-columns: 1fr; } .adsomos-preview iframe { height: 260px; } .nabat-dialog { max-height: calc(100dvh - 24px); } }

/* JANELAS */
@media (max-width: 620px) { .project-list { grid-template-columns: 1fr; } }

/* REDES-SOCIAIS */
@media (max-width: 480px) { .social-contact .social-links { grid-template-columns: 1fr; } .social-contact .social-link { min-height: 72px; padding: 13px 16px; } .social-contact .social-link strong { display: block; font-size: .75rem; } }

@media (max-width: 960px) {
  .contact-visual { min-height: 0; }
  .monitor-interface, .contact-content, .adsomos-form, .adsomos-materials { min-width: 0; }
}
@media (max-width: 560px) {
  .case-card > h3 { font-size: clamp(1.75rem,7.5vw,2.5rem); }
  .nabat-dialog { width: calc(100% - 20px); padding: 20px 16px; }
  .dialog-heading { gap: 12px; }
  .system-downloads a { padding: 13px; }
  .rodape-nabat { padding: 16px 18px; }
}

/* Platina e pérola: moldura e transições proporcionais no celular. */
@media (max-width: 960px) {
  .surface-transition { height: 80px; }
}

/* Monitor compacto: três soluções visíveis, inclusive no celular. */
@media (max-width: 960px) {
  .monitor-shell { max-width: 680px; }
  .monitor-narrative h2 { font-size: clamp(2rem, 5vw, 2.8rem); }
}
@media (max-width: 560px) {
  .monitor-interface { padding: 10px 10px 0; border-radius: 16px; }
  .interface-services { padding: 9px; gap: 7px; }
  .service-module { min-height: 132px; padding: 14px 4px; }
  .service-module svg { width: 30px; height: 30px; }
  .service-module h3 { font-size: .8rem; margin: 11px 0 9px; }
  .service-module p { font-size: .48rem; letter-spacing: .07em; }
  .monitor-bezel { min-height: 30px; }
}

/* Botão alinhado ao número sem modificar o tamanho do card. */
@media (max-width: 960px) {
  .card-open > span { top: calc(24px + clamp(14px, 2vh, 24px)); right: 24px; }
}
