/**
 * V16 · MOBILE EXPERIENCE — Conhecimento/Vivo
 * Exclusivamente viewport <= 760px. Desktop original não sofre alterações.
 * Experiência horizontal de swipe para o método; layouts legíveis para Android.
 * Este arquivo é partilhado pelas landing pages PT/EN e pelos dois diagnósticos.
 */
@media (max-width: 760px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:64px; }
  body { max-width:100%; overflow-x:clip; }
  .nav, .topbar { box-sizing:border-box; width:100%; }
  /* Navegação segura para 360–430 CSS px; menu existente é preservado. */
  .nav {
    display:grid; grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center; gap:8px; padding:16px 5%;
  }
  .nav .mark { min-width:0; font-size:clamp(15px,4.1vw,19px); letter-spacing:-.055em; white-space:nowrap; }
  .nav .locale-switch { margin:0; padding:3px; }
  .nav .locale-switch a { min-width:30px; min-height:34px; }
  .nav .hamburger { min-width:42px; min-height:42px; display:grid;place-items:center; }
  .navlinks { top:100%; left:0;right:0; box-shadow:0 15px 40px #0005; }
  .navlinks a { min-height:44px; display:flex;align-items:center; }

  /* Hero mobile é editorial: sem grafo decorativo, uma primeira dobra mais curta. */
  .hero {
    display:flex; flex-direction:column; align-items:stretch;
    height:auto; min-height:0;
    padding-bottom:48px;
    overflow:hidden;
  }
  .hero-content {
    width:100%;max-width:none; padding:clamp(102px,13svh,128px) 6% 8px;
    position:relative;z-index:3;
  }
  .hero h1 {
    max-width:100%; font-size:clamp(36px,9.1vw,59px);
    line-height:1.06; letter-spacing:-.065em; margin:25px 0 21px;
    overflow-wrap:break-word;
  }
  .hero-copy {font-size:clamp(14px,3.9vw,17px);line-height:1.58;max-width:58ch;}
  .hero-actions {display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:25px}
  .hero-actions .primary {max-width:100%;min-height:46px}
  /* Apenas o grafo ilustrativo do hero é ocultado.
     O mapa interativo da seção seguinte permanece disponível. */
  .hero > .art-graph {display:none}
  .hero-footer {position:relative;left:auto;right:auto;bottom:auto;margin:28px 6% 0;font-size:10px}
  .hero-graph:not(.detail-graph-stage .hero-graph) {pointer-events:none}

  /* V19 — A segunda cena inteira é exclusiva do desktop.
     Esconder a section elimina também seu espaço de rolagem e o trilho sticky. */
  .decision-story {display:none}
  /* O menu mobile não deve oferecer navegação para um quadro oculto. */
  .navlinks > a[href="#ideia"] {display:none}

  /* Cena do problema: controles legíveis, menos área desperdiçada. */
  .decision-stage { min-height:100svh; height:auto; padding:83px 5% 32px; gap:18px; overflow:visible; }
  .decision-copy { min-width:0; }
  .decision-copy h2 { font-size:clamp(30px,8.25vw,47px);line-height:1.04;overflow-wrap:break-word; }
  .decision-copy>p {font-size:13px;line-height:1.55}
  .scene-tabs {min-width:0}
  .scene-tab {min-height:41px;line-height:1.3;white-space:normal;font-size:10px;padding:8px 5px}
  /* A janela cresce com a cena ativa; nenhuma mensagem fica cortada. */
  .decision-screen {width:100%;min-width:0;height:auto;min-height:0;overflow:hidden}
  .screen-head {min-width:0;min-height:39px}
  .screen-head>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .split-stage {min-width:0;display:flex;flex-direction:column;height:auto}
  .split-messages,.split-knowledge {min-width:0;padding:13px 14px}
  .split-messages {display:flex;gap:9px;border-right:0}
  .split-messages .story-message {display:none;padding:11px 13px;min-width:0}
  .decision-story[data-scene="0"] .split-messages .from-person,
  .decision-story[data-scene="1"] .split-messages .from-document,
  .decision-story[data-scene="2"] .split-messages .from-team {display:block}
  .split-messages .story-message p {font-size:clamp(12px,3.3vw,14px);line-height:1.47;overflow-wrap:normal;margin:8px 0}
  .split-messages .story-message span,.split-messages .story-message small {font-size:10px;line-height:1.45}
  .split-knowledge {border-top:1px solid #335a4b;gap:10px}
  /* Chips de conhecimento substituem círculos com palavras quebradas. */
  .knowledge-constellation {
    flex:none;min-height:0;display:flex;flex-wrap:wrap;
    justify-content:center;align-items:center;gap:8px;padding:7px 0;
  }
  .knowledge-constellation svg {display:none}
  .decision-story .knowledge-constellation .knowledge-satellite {
    position:static;left:auto;top:auto;transform:none;
    display:none;align-items:center;justify-content:center;
    width:auto;height:auto;min-height:34px;max-width:100%;
    border-radius:999px;white-space:nowrap;overflow-wrap:normal;
    font-size:10px;line-height:1.2;padding:8px 11px;
    opacity:1;
  }
  /* Revelação cumulativa por cena: 1 → 3 → 5 conhecimentos. */
  .decision-story[data-scene="0"] .knowledge-constellation .knowledge-satellite[data-reveal="0"],
  .decision-story[data-scene="1"] .knowledge-constellation .knowledge-satellite[data-reveal="0"],
  .decision-story[data-scene="1"] .knowledge-constellation .knowledge-satellite[data-reveal="1"],
  .decision-story[data-scene="2"] .knowledge-constellation .knowledge-satellite {
    display:inline-flex;transform:none;
  }
  .knowledge-note {font-size:11px;line-height:1.42;padding-top:8px}
  .knowledge-constellation .knowledge-agent {display:none}
  .decision-status {margin-bottom:10px}

  /* O grafo interativo mantém a lógica de coordenadas; ampliamos o espaço útil. */
  /* Layout radial calculado em JS só no mobile; núcleo ao centro e sete capacidades em órbita. */
  .detail-graph-stage {
    width:100%;height:clamp(580px,79svh,660px);min-width:0;
    margin-top:25px;overflow:hidden;
  }
  .detail-graph-stage .hero-graph {inset:0;pointer-events:auto}
  .detail-graph-stage .graph-core {width:82px;height:82px;font-size:12px}
  .detail-graph-stage .graph-major {
    max-width:39%;white-space:normal;text-align:center;line-height:1.16;
    font-size:clamp(10px,2.85vw,12px);padding:7px 8px;
  }
  .detail-graph-stage .graph-minor {display:none}
  .detail-graph-stage .graph-info {
    left:3%;right:3%;bottom:2%;width:94%;max-width:none;
    min-height:0;max-height:142px;overflow-y:auto;padding:12px;
  }
  .graph-info .detail-pills {flex-wrap:wrap}
  .graph-info .detail-pills span {font-size:10px;white-space:normal}

  /*
   * MÉTODO: carrossel TOUCH REAL.
   * O layout linear do CSS anterior é substituído apenas no mobile.
   * O JS original passa a usar scrollLeft e os cinco botões de navegação.
   */
  .journey, .journey.is-static {height:auto}
  .journey-sticky,.journey.is-static .journey-sticky {
    position:relative;height:auto;min-height:0;overflow:visible;
    padding:60px 5% 32px;
  }
  .journey-head h2 {font-size:clamp(30px,8vw,44px);line-height:1.08;overflow-wrap:break-word}
  .journey-navigation {
    position:sticky;top:0;z-index:12;padding:9px 0 12px;
    background:#081115;box-shadow:0 8px 20px #081115bb;margin:0;
  }
  .journey-steps {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-width:0}
  .journey-step {min-height:44px;padding:10px 1px}
  .journey-step b {font-size:12px}
  .journey-step.is-active {background:#18382a;border-color:#b9ffcf}
  .journey-viewport,.journey.is-static .journey-viewport {
    flex:none;height:auto;min-height:0;
    overflow-x:auto;overflow-y:hidden;
    width:100%;max-width:100%;
    scroll-snap-type:x mandatory;scroll-padding-inline:0;
    overscroll-behavior-inline:contain;overscroll-behavior-block:auto;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
    border-top:1px solid #375f4b;border-bottom:1px solid #375f4b;
    touch-action:pan-x pan-y;
  }
  .journey-viewport::-webkit-scrollbar {display:none}
  .journey-track,.journey.is-static .journey-track {
    display:flex;flex-direction:row;align-items:stretch;
    width:100%;height:auto;min-width:0;gap:0;
    transform:none;will-change:auto;
  }
  .journey-card,.journey.is-static .journey-card {
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,auto);
    gap:22px;
    flex:0 0 100%;width:100%;min-width:0;max-width:100%;
    height:auto;min-height:0;padding:24px 5px 34px;
    scroll-snap-align:start;scroll-snap-stop:always;
    border-top:0;border-bottom:0;
    opacity:.84;transition:opacity .26s ease;
  }
  .journey-card.is-current {opacity:1}
  .journey-progress span {transition:width .19s ease-out}
  .journey-copy {min-width:0}
  .journey-copy h3 {font-size:clamp(39px,10.6vw,61px);line-height:1.02;margin:12px 0 14px;overflow-wrap:break-word}
  .journey-claim {font-size:clamp(19px,5vw,25px);line-height:1.24}
  .journey-copy>p:not(.journey-claim) {font-size:14px;line-height:1.58}
  .journey-number {font-size:10px;line-height:1.45;white-space:normal}
  .journey-output {min-width:0;padding:14px 12px;overflow-wrap:break-word}
  .journey-output strong {font-size:clamp(14px,3.9vw,19px);line-height:1.3}
  .journey-output small {font-size:12px;line-height:1.45}
  .journey-visual {height:clamp(230px,66vw,295px);min-height:230px;min-width:0;overflow:hidden}
  .mock-window {height:100%;min-height:0;min-width:0;max-width:100%;overflow:hidden}
  /* Mockups mobile mostram apenas o conceito principal, não dashboards miniaturizados. */
  .mock-top small,.mock-discover .discover-flow,.mock-list>div:nth-child(n+2),
  .mock-files .file-tree,.mock-agent .agent-interaction,.mock-evals .eval-table,
  .mock-roadmap .cycle-diagram {display:none}
  .mock-discover .discover-upper {padding:16px 14px 9px}
  .mock-discover .mock-list {padding:10px 14px 4px}
  .mock-files .files-layout {display:block;flex:1;overflow:hidden}
  .mock-files .file-editor {padding:14px 15px;gap:7px}
  .mock-files .file-editor p {margin:4px 0}
  .mock-agent .agent-topology {grid-template-columns:42% 58%;gap:8px;padding:14px 10px}
  .mock-agent .topology-core {min-height:115px;aspect-ratio:1}
  .mock-evals .evals-stats {gap:5px;padding:10px}
  .mock-evals .evals-stats > div {min-width:0}
  .mock-roadmap .roadmap-line {gap:5px;padding:10px}
  .mock-roadmap .roadmap-line strong {font-size:10px}
  .mock-foot {margin-top:auto}
  .mock-top {min-height:36px}
  .mock-top b {font-size:clamp(9px,2.45vw,11px);overflow-wrap:anywhere}
  .mock-foot {min-height:32px}
  .mock-foot strong {max-width:100%;overflow-wrap:anywhere}
  /* Tentar legibilidade no mockup antes de simplesmente diminuí-lo em escala. */
  .mock-list>div,.file-editor div,.agent-interaction,
  .eval-table>div,.roadmap-line small {font-size:clamp(10px,2.7vw,12px);line-height:1.35}
  .file-tree>div {text-overflow:ellipsis;white-space:nowrap}
  .journey-bottom {justify-content:space-between;padding-top:15px;gap:10px;align-items:center}
  .journey-bottom::after {
    content:"← DESLIZE OU USE OS BOTÕES →";
    font:10px/1.4 var(--mono);color:#b9e2c5;letter-spacing:.035em;
  }
  html[lang="en-GB"] .journey-bottom::after {content:"← SWIPE OR USE THE CONTROLS →"}

  /* Organograma mobile como árvore, não uma sequência de cartões. */
  .org-chart {max-width:100%;min-width:0;padding:22px 12px}
  .org-card,.org-team {min-width:0;overflow-wrap:normal}
  .org-lead {min-width:0;width:min(100%,360px);padding:17px 12px}
  .org-lead strong {font-size:clamp(15px,4vw,19px)}
  .org-lead small {font-size:10px}
  .org-stem {height:25px}
  .org-managers {width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .org-managers .org-card {width:100%;min-width:0;padding:13px 9px;gap:7px}
  .org-managers .org-card span {font-size:9px}
  .org-managers .org-card strong {font-size:clamp(11px,3.05vw,14px);line-height:1.2}
  /* Preservar descrição completa para leitores de tela. */
  .org-managers .org-card small,
  .org-team small,.org-team p {
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
  }
  .org-team {min-height:0;padding:14px 8px;gap:9px;align-items:center;text-align:center}
  .org-team strong {font-size:clamp(10px,2.8vw,13px);line-height:1.22}
  .org-team>span {font-size:9px}
  .org-avatar-line {gap:3px}
  .org-avatar-line i {width:20px;height:20px;font-size:10px}
  .org-avatar-line i.ai {font-size:13px}
  .org-foot {margin-top:20px}

  /* Diagnóstico: espaço de toque, leitura e resultados sem cortar texto. */
  .topbar {gap:10px}
  .topbar .brand {font-size:clamp(14px,4vw,18px)}
  .topbar-right {gap:8px}
  .topbar-right .locale-switch a {min-height:36px}
  .start-feature>div {min-width:0}
  .question-list,.report-body {min-width:0}
  .option {min-height:50px;align-items:center}
  .option span {font-size:clamp(13px,3.6vw,15px);line-height:1.5}
  .question h3 {font-size:clamp(23px,6.4vw,30px);overflow-wrap:break-word}
  .report-body .radar-wrap {min-width:0;max-width:100%}
  .focus-select button {min-height:52px}
  /* No convite, a pergunta e a ação vêm antes da escala de maturidade. */
  .maturity-preview {display:flex;flex-direction:column;align-items:stretch;gap:0}
  .maturity-preview-label {order:0}
  .maturity-preview > h3 {order:1;margin:18px 0 10px;font-size:clamp(24px,6.5vw,33px);line-height:1.14}
  .maturity-preview > p {order:2;font-size:14px;line-height:1.55}
  .maturity-preview > .maturity-link {order:3;margin:16px 0 0;min-width:0;width:100%;min-height:52px}
  .maturity-preview > small {order:4;margin-top:13px}
  .maturity-preview > .maturity-divider {order:5;margin:24px 0 13px}
  .maturity-preview > .maturity-track-header {order:6;margin-top:0}
  .maturity-preview > .maturity-ladder {order:7;margin:10px 0 3px}
  .teams-section,.governance-v8,.maturity-section {padding-top:clamp(48px,8svh,75px);padding-bottom:clamp(50px,8svh,80px)}
  .maturity-layout {gap:22px}
  .results-header h2 {overflow-wrap:break-word}
  /* Fechamento editorial: linhas intencionais com escala confortável. */
  .closing {min-height:0;padding:88px 6% 96px}
  .closing .big {
    max-width:100%;margin:0;
    font-size:clamp(27px,7.15vw,43px);
    line-height:1.12;letter-spacing:-.052em;
    overflow-wrap:normal;word-break:normal;text-wrap:balance;
  }
  .closing .big i {font-size:.97em;line-height:1.14}
  .closing p {font-size:clamp(14px,3.85vw,17px);line-height:1.6;margin:28px 0 32px}
}
@media (max-width:520px){
  .hero h1 {font-size:clamp(35px,9.3vw,47px)}
  .decision-copy h2 {font-size:clamp(30px,8.2vw,40px)}
  .screen-workspace {grid-template-columns:1fr}
  .workspace-side {display:none}
  .workspace-content {padding:11px}
  .workspace-heading strong {font-size:17px}
  .workspace-heading small {font-size:10px}
  .mini-heading {font-size:10px}
  /* Três equipes sob dois gestores, mantendo o diagrama e conectores. */
  .org-managers::before,.org-managers::after {display:block}
  .org-fork {width:calc(66.6667% + 6px);max-width:none;height:40px;border:0;border-bottom:1px solid #5f9674;background:none}
  .org-fork::before {display:block;top:0;height:100%}
  .org-teams {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:22px}
  .org-teams::before {display:none}
  .org-teams .org-team::before {display:block;height:22px;top:-22px}
  /* Cinco degraus verticais no celular — não são cinco colunas de letras de 7px. */
  .maturity-ladder {display:grid;grid-template-columns:1fr;max-width:none;min-height:0;gap:8px;align-items:stretch}
  .maturity-ladder>div {height:auto!important;min-height:44px;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;padding:10px 12px}
  .maturity-ladder b {font-size:14px}
  .maturity-ladder span {font-size:11px;line-height:1.35;letter-spacing:0;word-break:normal}
}
@media (max-width:390px){
  .nav {gap:5px}
  .nav .mark {font-size:14px}
  .nav .locale-switch a {min-width:25px;padding:6px 4px}
  .hero h1 {font-size:clamp(33px,9.1vw,38px)}
  .hero-copy {font-size:14px}
  .journey-visual {height:240px;min-height:240px}
  .mock-top b {font-size:9px}
  .journey-copy h3 {font-size:clamp(38px,10.3vw,48px)}
  .journey-output strong {font-size:14px}
  .closing .big {font-size:clamp(26px,7.5vw,31px)}
}

/*
 * Cena do método vinculada à rolagem: somente telas mobile altas.
 * Telas baixas e usuários que preferem reduzir movimento mantêm o swipe V16.
 * Sticky utiliza o mesmo track/controles e não duplica nenhum slide.
 */
@media (max-width:760px) and (min-height:741px) and (prefers-reduced-motion:no-preference){
  html.mobile-scroll-ready .journey {height:500svh;position:relative}
  html.mobile-scroll-ready .journey-sticky {
    position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;
    padding:clamp(15px,2svh,22px) 5% 12px;
  }
  html.mobile-scroll-ready .journey-head {flex:none;padding-bottom:5px}
  html.mobile-scroll-ready .journey-head h2 {font-size:clamp(27px,6.7vw,35px);line-height:1.04;margin:0;text-wrap:balance}
  html.mobile-scroll-ready .journey-navigation {position:relative;top:auto;flex:none;margin:0;padding:8px 0}
  html.mobile-scroll-ready .journey-viewport {
    flex:1;min-height:0;height:auto;overflow:hidden;
    scroll-snap-type:none;touch-action:pan-y;
  }
  html.mobile-scroll-ready .journey-track {
    height:100%;
    /* CSS móvel legado usa transform:none!important: só esta regra isolada vence. */
    transform:translate3d(var(--mobile-track-x,0px),0,0)!important;
    will-change:transform;
  }
  html.mobile-scroll-ready .journey-card {
    height:100%;min-height:0;max-height:100%;
    grid-template-rows:minmax(0,1fr) auto;
    align-content:stretch;gap:7px;
    padding:12px 5px 10px;
    opacity:1;overflow:hidden;
  }
  html.mobile-scroll-ready .journey-copy {min-height:0;justify-content:flex-start;padding-right:0;overflow:hidden}
  html.mobile-scroll-ready .journey-copy h3 {font-size:clamp(31px,8.2vw,41px);margin:3px 0 7px}
  html.mobile-scroll-ready .journey-number {font-size:9px}
  html.mobile-scroll-ready .journey-claim {font-size:clamp(15px,4vw,18px);line-height:1.24;margin:0 0 5px}
  html.mobile-scroll-ready .journey-copy>p:not(.journey-claim){
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
    overflow:hidden;font-size:12px;line-height:1.35;margin:0 0 7px;
  }
  html.mobile-scroll-ready .journey-output {margin-top:auto;padding-top:6px;gap:3px}
  html.mobile-scroll-ready .journey-output > span {font-size:9px}
  html.mobile-scroll-ready .journey-output strong {font-size:clamp(12px,3.55vw,15px);line-height:1.18}
  html.mobile-scroll-ready .journey-output small {font-size:10px;line-height:1.28}
  html.mobile-scroll-ready .journey-visual {height:clamp(150px,25svh,218px);min-height:0;max-height:34svh}
  html.mobile-scroll-ready .mock-top {min-height:29px}
  html.mobile-scroll-ready .mock-foot {min-height:26px}
  html.mobile-scroll-ready .journey-bottom {flex:none;padding-top:7px;font-size:9px}
  html.mobile-scroll-ready .journey-bottom::after {content:"↓ ROLE PARA VER AS ETAPAS · DESLIZE PARA TROCAR"}
  html.mobile-scroll-ready[lang="en-GB"] .journey-bottom::after {content:"↓ SCROLL THROUGH THE STAGES · SWIPE TO CHANGE"}
}
@media (max-width:760px) and (max-height:690px){
  .decision-stage {position:relative;min-height:0;overflow:visible}
  .decision-story .scene-scroll-track {display:none}
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  /* Light depth cue as slides settle; no 3D dependency or scroll hijacking. */
  .journey-card .journey-visual {
    opacity:.76;transform:translate3d(11px,0,0) scale(.988);
    transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .45s ease;
  }
  .journey-card.is-current .journey-visual {opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .journey-viewport {scroll-behavior:auto;scroll-snap-type:x proximity}
  .journey-card {opacity:1;transition:none}
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
  .decision-story .knowledge-constellation .knowledge-satellite {animation:mobile-knowledge-enter .4s ease-out both}
  @keyframes mobile-knowledge-enter {
    from {opacity:0;translate:0 7px;filter:blur(3px)}
    to {opacity:1;translate:0 0;filter:none}
  }
}
