/*
  Aryva · site em seções — cabeçalho, seções, rodapé, indicador 01–05 e widget de conversa.
  Usa somente os tokens declarados no topo de portal.css (carregado antes deste arquivo).
*/

/* ───────────────────────── Estrutura ───────────────────────── */
body.paged-site{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:var(--header-h) minmax(0,1fr) var(--footer-h)}

.paged-site .header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;max-width:none;margin:0;padding:var(--space-3) var(--gutter);border-bottom:1px solid var(--border)}
.paged-site .brand{display:flex;align-items:center;flex-shrink:0;gap:var(--space-3);min-height:var(--tap);font-size:1.3125rem;font-weight:700;letter-spacing:.18em}
.paged-site .brand img{width:40px;height:40px;object-fit:contain;filter:var(--glow-logo);animation:levitate 9s ease-in-out infinite}
.paged-site .header nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0;max-width:100%}
.paged-site .header nav button{font-size:var(--fs-xs);white-space:nowrap}
.paged-site .header nav>button:not(.primary):not(.theme-toggle){padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-nav);transition:background-color .2s,color .2s}
.paged-site .header nav>button:not(.primary):not(.theme-toggle):hover{background:var(--hover-bg);color:var(--hover-text)}
.paged-site .header nav>.primary{padding:0 var(--space-3);font-size:var(--fs-xs)}

.paged-site #main{width:100%;max-width:none;margin:0;padding:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;scroll-snap-type:y mandatory}
.story-panel{display:grid;align-items:center;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:calc(var(--space-6) + var(--space-2)) calc(var(--gutter) + var(--space-6) + var(--space-2)) calc(var(--dock-h) + var(--space-4) + var(--space-1)) calc(var(--gutter) + var(--space-4))}
.stage{width:100%;max-width:1120px;margin:auto}

/* ───────────────────────── Tipografia das seções ───────────────────────── */
.stage h1,.stage h2,.stage h3{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:-.035em;text-wrap:balance}
.stage h1{max-width:780px;font-size:var(--fs-h1);line-height:1.15}
.stage h1 span{color:var(--accent-text)}
.stage h2{max-width:850px;font-size:var(--fs-h2);line-height:1.18}
.stage h3{font-size:var(--fs-h3);line-height:1.4}
.stage .eyebrow{justify-content:flex-start;margin:0 0 var(--space-4);font-size:var(--fs-micro);letter-spacing:.17em;color:var(--accent-text)}
.stage .lead{max-width:720px;margin:var(--space-5) 0;font-size:var(--fs-lead);line-height:1.7;color:var(--text-muted)}
.stage .soft-note{margin:var(--space-5) 0 0;font-size:var(--fs-xs);color:var(--text-faint)}
.paged-site aryva-avatar{display:inline-block;width:var(--avatar-size,160px);aspect-ratio:1}

/* Ações: botões e links na mesma linha, com o mesmo espaçamento em todas as seções. */
.stage .actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:calc(var(--space-5) + var(--space-1))}
.stage .soft-note+.quiet{margin-top:var(--space-2);padding-inline-start:0}
.paged-site .primary.large{min-height:52px;padding:0 calc(var(--space-4) + var(--space-1));font-size:var(--fs-reading);border-radius:var(--radius-lg)}
.paged-site .quiet{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);background:none}
.stage button img,.stage a img{width:18px;height:18px}

/* ───────────────────────── Primeira dobra ───────────────────────── */
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:var(--space-6);align-items:center}
.brand-visual{position:relative;perspective:950px;padding:var(--space-5) 0}
.brand-visual img{display:block;width:100%;max-width:360px;margin:auto;filter:var(--glow-symbol);animation:levitate 9s ease-in-out infinite}
.brand-visual p{margin:var(--space-4) 0;text-align:center;font-size:var(--fs-caption);letter-spacing:.12em;color:var(--text-muted)}

/* ───────────────────────── Seções 02 a 05 ───────────────────────── */
.process-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-6)}
.process-grid article,.feature-grid article{padding:var(--space-5);border:1px solid color-mix(in srgb,var(--accent-text) 25%,transparent);border-radius:var(--radius-xl);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent-text)),var(--surface));box-shadow:var(--shadow-card)}
.process-grid article p,.feature-grid article p{margin:var(--space-3) 0 0;line-height:1.7;color:var(--text-muted)}
.process-grid .step-number{display:block;margin-bottom:var(--space-5);font:var(--fs-reading) var(--font-display);letter-spacing:normal;color:var(--accent-text)}
.feature-grid img{display:block;box-sizing:content-box;width:28px;height:28px;margin-bottom:var(--space-5);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--icon-tile)}
.connections{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted)}
.connections span{flex-basis:100%}
.connections strong{font-weight:500}

.start-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:calc(var(--space-7) + var(--space-3));align-items:center}
.stage .journey{display:block;margin:0;padding:0;border:0;background:none;list-style:none}
.stage .journey li{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-5) 0;border:0;border-bottom:1px solid var(--border);background:none}
.stage .journey li>span{flex:0 0 var(--space-6);font-family:var(--font-display);color:var(--accent-text)}
.stage .journey p{margin:var(--space-3) 0 0;font-size:var(--fs-sm);line-height:1.7;color:var(--text-muted)}

.conversation-stage{display:grid;grid-template-columns:.8fr 1.4fr;gap:calc(var(--space-7) + var(--space-5));align-items:center;max-width:940px}
.agent-showcase{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}
.agent-showcase aryva-avatar{--avatar-size:210px;filter:var(--glow-agent)}
.agent-showcase>span{font-size:var(--fs-xs);text-align:center;color:var(--text-muted)}

/* ───────────────────────── Indicador 01–05 ───────────────────────── */
.page-rail{position:fixed;right:var(--space-3);top:40%;z-index:var(--z-sticky);display:flex;flex-direction:column;gap:var(--space-2)}
.paged-site nav.page-rail button{width:var(--control-h-sm);min-width:var(--control-h-sm);min-height:var(--control-h-sm);padding:0;border:1px solid transparent;border-radius:50%;background:none;color:var(--text-faint);font-size:var(--fs-micro)}
.paged-site nav.page-rail button[aria-current]{border-color:var(--accent-text);background:var(--surface);color:var(--text)}

/* ───────────────────────── Barra inferior ───────────────────────── */
.paged-site .story-footer{z-index:var(--z-sticky);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:var(--space-4);width:100%;max-width:none;margin:0;padding:var(--space-2) calc(var(--gutter) - var(--space-2)) var(--space-2) var(--gutter);border-top:1px solid var(--border);background:var(--bg);font-size:var(--fs-xs);color:var(--text-faint)}
.story-footer>div{display:flex;align-items:center;gap:var(--space-3)}
.story-footer>div:last-child{justify-content:flex-end}
.story-footer button{min-height:var(--control-h);padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--text-footer);transition:background-color .2s,color .2s}
.story-footer button:hover:not(:disabled){background:var(--hover-bg);color:var(--hover-text)}
.story-footer button:disabled{color:var(--text-faint)}
#page-count{min-width:5ch;text-align:center;font-variant-numeric:tabular-nums}

/* ───────────────────────── Widget de conversa ───────────────────────── */
.agent-dock{position:fixed;right:var(--dock-right);bottom:var(--dock-bottom);z-index:var(--z-dropdown)}
#agent-launcher{display:flex;align-items:center;gap:var(--space-3);min-height:var(--dock-h);padding:0;border:0;border-radius:var(--radius-xl);background:none;text-align:right}
#agent-launcher aryva-avatar{--avatar-size:var(--dock-h);flex:none;filter:var(--glow-launcher)}
.agent-label{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--accent-text) 45%,transparent);border-radius:var(--radius-lg) var(--radius-lg) var(--space-1) var(--radius-lg);background:var(--surface);line-height:1.5}
.agent-label strong{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text)}
.agent-label>span{display:block;font-size:var(--fs-xs);color:var(--text-muted)}

#agent-chat:not([open]){display:none}
#agent-chat[open]{position:fixed;inset:auto var(--dock-right) var(--chat-bottom) auto;z-index:var(--z-overlay);display:flex;flex-direction:column;width:var(--chat-w);max-width:calc(100vw - 80px);height:min(620px,calc(100dvh - var(--header-h) - var(--chat-bottom) - var(--space-4)));min-height:0;max-height:none;margin:0;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-text) 65%,transparent);border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);transform-origin:bottom right;animation:chat-arrive 220ms cubic-bezier(.23,1,.32,1)}
@keyframes chat-arrive{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
#agent-chat #public-agent-avatar{--avatar-size:46px}
#agent-chat .conversation-live{display:none}
#agent-chat .chat-reading{scrollbar-width:thin}
#agent-chat #commercial-panel{max-height:none}
body[data-input=keyboard] #agent-chat{animation:none}

/* ───────────────────────── Responsivo ───────────────────────── */
@media(max-width:1100px){
  .paged-site .header{gap:var(--space-3);padding-inline:calc(var(--gutter) - var(--space-5) + var(--space-1))}
  .paged-site .header nav{gap:var(--space-2)}
  .story-panel{padding-left:calc(var(--gutter) - var(--space-3));padding-right:calc(var(--gutter) + var(--space-4) + var(--space-1))}
  .hero{grid-template-columns:1.5fr 1fr}
  .hero h1{font-size:2.375rem}
  .brand-visual img{max-width:280px}
  .start-grid,.conversation-stage{gap:var(--space-6)}
  .agent-label{display:none}
}
@media(max-height:740px){
  .hero h1{font-size:2.5rem}
  .stage .lead{margin:var(--space-4) 0;font-size:var(--fs-reading)}
  .story-panel{padding-top:var(--space-5);padding-bottom:calc(var(--dock-h) + var(--space-5) + var(--space-1))}
  .brand-visual img{max-width:280px}
  .process-grid article,.feature-grid article{padding:var(--space-4)}
  .stage h2{font-size:2rem}
  .agent-showcase aryva-avatar{--avatar-size:160px}
  .process-grid,.feature-grid{margin-top:22px}
}
@media(max-width:740px){
  :root{--header-h:68px;--footer-h:96px;--dock-h:58px;--dock-right:var(--space-4);--gutter:var(--space-4)}
  .paged-site .header{padding:var(--space-2) var(--space-4)}
  .paged-site .brand{font-size:1.125rem}
  .paged-site .header nav>[data-page]{display:none}
  .paged-site .header nav>.primary{width:var(--tap);padding:0;font-size:0;gap:0}
  .paged-site .header nav>.primary span{font-size:var(--fs-lg)}
  .story-panel{padding:var(--space-5) calc(var(--tap) + var(--space-4)) calc(var(--dock-h) + var(--space-5)) var(--space-5)}
  .hero{grid-template-columns:1fr}
  .brand-visual{display:none}
  .hero h1{font-size:2.25rem}
  .stage h2{font-size:var(--fs-h2)}
  .process-grid,.feature-grid{grid-template-columns:1fr;gap:var(--space-3)}
  .process-grid article,.feature-grid article{padding:var(--space-4)}
  .feature-grid img{display:none}
  .process-grid .step-number{margin-bottom:var(--space-2)}
  .start-grid,.conversation-stage{grid-template-columns:1fr;gap:var(--space-5)}
  .agent-showcase aryva-avatar{--avatar-size:100px}
  .agent-showcase>span{display:none}
  .stage .actions{gap:var(--space-2)}
  .page-rail{right:var(--space-2)}
  .paged-site nav.page-rail button{width:var(--tap);min-width:var(--tap);min-height:var(--tap)}

  /* Rodapé em duas linhas: ferramentas em cima, paginação embaixo. */
  .paged-site .story-footer{grid-template-columns:1fr;grid-template-rows:1fr 1fr;row-gap:0;padding:0 var(--space-3)}
  .story-footer>#page-name,.story-footer #motion{display:none}
  .story-footer>div{width:100%}
  .story-footer .footer-tools{justify-content:center}
  .story-footer>div:last-child{justify-content:space-between}
  .story-footer button{min-height:var(--tap);padding:0 var(--space-3)}

  #agent-chat[open]{inset:calc(var(--header-h) + var(--space-3)) var(--space-3) var(--chat-bottom);width:calc(100vw - var(--space-5));max-width:none;height:auto}
}
@media(max-width:740px) and (max-height:760px){
  .paged-site nav.page-rail button{width:var(--control-h-sm);min-width:var(--control-h-sm);min-height:var(--control-h-sm)}
}
@media(prefers-reduced-motion:reduce){.brand-visual img,.paged-site .brand img,#agent-chat[open]{animation:none!important}.paged-site #main{scroll-behavior:auto}}
@media(forced-colors:active){#agent-chat[open],.agent-label,.process-grid article,.feature-grid article,.paged-site .primary{border-color:ButtonText}.page-rail button[aria-current]{border-color:Highlight}}
