/* ============================================================
   AIDA · Design System (CSS do site)
   Ordem: fonts · colors · typography · spacing · motifs ·
   components · atmospheres · motion.
   ============================================================ */

/* ================= FONTS ================= */
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-UltraLight.otf') format('opentype'); font-weight:200; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-Light.otf') format('opentype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-LightItalic.otf') format('opentype'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-RegularItalic.otf') format('opentype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-SemiBold.otf') format('opentype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-SemiBoldItalic.otf') format('opentype'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-Bold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-BoldItalic.otf') format('opentype'); font-weight:700; font-style:italic; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-ExtraBold.otf') format('opentype'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Trueno'; src:url('fonts/Trueno-Black.otf') format('opentype'); font-weight:900; font-style:normal; font-display:swap; }

/* ================= COLORS ================= */
:root {
  --aida-gold:#A88260; --aida-gold-soft:#C4A689; --aida-gold-deep:#8A6849; --aida-gold-mute:#5C4733;
  --aida-gold-bright:#D4AA78; --aida-grifo:rgba(212,170,120,0.5); --aida-gold-tint:#E9DAC4; --aida-gold-wash:#D7C0A1;
  --aida-black:#0E0E0E; --aida-ink-deep:#12100D; --aida-ink-surface:#181613; --aida-ink:#242019;
  --aida-charcoal:#2A2622; --aida-graphite:#3F3934;
  --aida-white:#FFFFFF; --aida-cream:#F4EFE7; --aida-paper:#FCFAF6; --aida-mist:#EDE7DD;
  --aida-stone:#D7CFC5; --aida-fog:#B5ADA4; --aida-line:#E0D9CD;
  --fg-1:var(--aida-black); --fg-2:#3A352F; --fg-3:#6B6259; --fg-muted:var(--aida-fog); --fg-accent:var(--aida-gold-deep);
  --fg-label:#6B5A45; --fg-on-gold:#6B4F35; --fg-on-dark-1:var(--aida-white); --fg-on-dark-2:#C9C2B9; --fg-on-dark-3:#8C857C;
  --fg-on-dark-label:#9B938A; --fg-on-dark-accent:var(--aida-gold);
  --bg-canvas:var(--aida-paper); --bg-card:var(--aida-white); --bg-raised:var(--aida-mist);
  --bg-canvas-dark:var(--aida-ink-surface); --bg-card-dark:var(--aida-ink); --bg-raised-dark:var(--aida-charcoal);
  --border-1:rgba(14,14,14,0.08); --border-2:rgba(14,14,14,0.16); --border-1-dark:rgba(255,255,255,0.08);
  --border-2-dark:rgba(255,255,255,0.16); --border-gold:rgba(168,130,96,0.40); --border-gold-bold:var(--aida-gold);
  --success:#4A7A4D; --warning:#B8893B; --danger:#A8423B; --info:#4A6A8A;
}

/* ================= TYPOGRAPHY ================= */
:root {
  --font-display:'Trueno','Inter',system-ui,-apple-system,sans-serif;
  --font-body:'Trueno','Inter',system-ui,-apple-system,sans-serif;
  --font-mono:ui-monospace,'SF Mono','Menlo','Consolas','Liberation Mono',monospace;
  --t-display-1:96px; --t-display-2:72px; --t-headline:84px; --t-h1:56px; --t-h2:40px; --t-h3:28px; --t-h4:22px; --t-h5:18px;
  --t-body-lg:18px; --t-body:16px; --t-body-sm:14px; --t-caption:12px; --t-eyebrow:11px;
  --lh-display:1.02; --lh-tight:1.05; --lh-snug:1.2; --lh-base:1.5; --lh-loose:1.65;
  --tr-display:-0.028em; --tr-tight:-0.02em; --tr-normal:0; --tr-wide:0.04em; --tr-eyebrow:0.18em;
}
html, body { font-family:var(--font-body); font-weight:400; font-size:var(--t-body); line-height:var(--lh-base); color:var(--fg-1); background:var(--bg-canvas); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:var(--fg-accent); text-decoration:none; }
a:hover { color:var(--aida-gold-mute); }
.aida-headline { font-family:var(--font-display); font-weight:400; font-size:var(--t-headline); line-height:var(--lh-display); letter-spacing:var(--tr-display); }
.aida-headline .accent { font-weight:700; }
.aida-headline--hero { font-size:var(--t-display-1); }
.display-1, h1.display, .t-display-1 { font-family:var(--font-display); font-weight:800; font-size:var(--t-display-1); line-height:var(--lh-tight); letter-spacing:var(--tr-tight); }
.display-2, .t-display-2 { font-family:var(--font-display); font-weight:800; font-size:var(--t-display-2); line-height:var(--lh-tight); letter-spacing:var(--tr-tight); }
.h1, h1 { font-family:var(--font-display); font-weight:700; font-size:var(--t-h1); line-height:var(--lh-snug); letter-spacing:var(--tr-tight); }
.h2, h2 { font-family:var(--font-display); font-weight:700; font-size:var(--t-h2); line-height:var(--lh-snug); letter-spacing:-0.01em; }
.h3, h3 { font-family:var(--font-display); font-weight:600; font-size:var(--t-h3); line-height:1.25; }
.h4, h4 { font-family:var(--font-display); font-weight:600; font-size:var(--t-h4); line-height:1.3; }
.h5, h5 { font-family:var(--font-display); font-weight:600; font-size:var(--t-h5); line-height:1.35; }
.body-lg, .lead { font-size:var(--t-body-lg); line-height:var(--lh-loose); font-weight:300; }
.body, p { font-size:var(--t-body); line-height:var(--lh-base); }
.body-sm, small { font-size:var(--t-body-sm); line-height:var(--lh-base); }
.caption { font-size:var(--t-caption); line-height:1.4; color:var(--fg-3); }
.mono, code { font-family:var(--font-mono); font-size:0.92em; }
.aida-wordmark { font-family:var(--font-display); font-weight:800; letter-spacing:0.01em; line-height:1; }
.aida-wordmark .ai { color:var(--aida-gold); }
.aida-wordmark .da { color:var(--aida-black); }
.aida-wordmark.on-dark .da { color:var(--aida-white); }

/* ================= SPACING / RADIUS / SHADOW / TIME ================= */
:root {
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px; --s-20:80px; --s-24:96px;
  --r-0:0px; --r-xs:2px; --r-sm:4px; --r-md:6px; --r-lg:10px; --r-xl:16px; --r-node:24px; --r-full:999px;
  --shadow-1:0 1px 2px rgba(14,14,14,0.04), 0 1px 1px rgba(14,14,14,0.03);
  --shadow-2:0 4px 12px rgba(14,14,14,0.06), 0 1px 3px rgba(14,14,14,0.04);
  --shadow-3:0 12px 32px rgba(14,14,14,0.10), 0 2px 8px rgba(14,14,14,0.05);
  --shadow-gold:0 8px 28px rgba(168,130,96,0.28);
  --shadow-inset-gold:inset 0 0 0 1px rgba(168,130,96,0.35);
  --ease-out:cubic-bezier(.2,.7,.2,1); --ease-in-out:cubic-bezier(.4,0,.2,1);
  --dur-fast:140ms; --dur-base:220ms; --dur-slow:420ms;
}

/* ================= MOTIFS ================= */
.aida-label { font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg-label); }
.aida-label.on-dark { color:var(--aida-gold-soft); }
.aida-label.on-gold { color:var(--fg-on-gold); }
.aida-strip { display:flex; flex-wrap:wrap; gap:12px 36px; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-accent); border-top:1px solid rgba(24,22,18,0.16); padding-top:16px; }
.aida-strip b { font-weight:700; }
.aida-strip .sep { opacity:0.5; }
.aida-strip.on-dark { border-top-color:rgba(255,255,255,0.16); color:var(--aida-gold-soft); }
.aida-rule-top { border-top:2px solid var(--aida-gold); padding-top:18px; }
.aida-rule-top--ink { border-top-color:var(--aida-ink-surface); }
.gold-rule { display:inline-block; width:2px; background:var(--aida-gold); align-self:stretch; }
.gold-bar { height:2px; background:var(--aida-gold); width:48px; display:block; }
.aida-node { background:var(--aida-white); border:1px solid rgba(168,130,96,0.22); border-radius:24px; box-shadow:0 16px 40px rgba(24,22,18,0.08); padding:32px 34px; }
.aida-node--ink { background:var(--aida-ink-surface); color:var(--aida-white); border-color:rgba(168,130,96,0.35); box-shadow:0 24px 54px rgba(24,22,18,0.26); }
.aida-mesh { position:absolute; inset:0; pointer-events:none; opacity:0.05; background-image:linear-gradient(currentColor 1px, transparent 1px), linear-gradient(90deg, currentColor 1px, transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 50%, #000 30%, transparent 90%); mask-image:radial-gradient(ellipse 100% 100% at 50% 50%, #000 30%, transparent 90%); }
.aida-glow-spot { position:absolute; pointer-events:none; width:520px; height:520px; border-radius:50%; filter:blur(140px); background:var(--aida-gold); opacity:0.3; }
:root { --fio-w:2px; --fio-color:var(--aida-gold); --fio-dot:var(--aida-gold-soft); }
.aida-fio { position:relative; height:var(--fio-w); background:var(--fio-color); }
.aida-fio::after { content:""; position:absolute; right:calc(var(--fio-w) * -1); top:50%; width:calc(var(--fio-w) * 4); height:calc(var(--fio-w) * 4); margin-top:calc(var(--fio-w) * -2); border-radius:50%; background:var(--fio-dot); }
.aida-fio--hub::before { content:""; position:absolute; left:calc(var(--fio-w) * -1); top:50%; width:calc(var(--fio-w) * 4); height:calc(var(--fio-w) * 4); margin-top:calc(var(--fio-w) * -2); box-sizing:border-box; border-radius:50%; border:var(--fio-w) solid var(--fio-color); background:transparent; }
.aida-cobertura { --cob-h:44px; --cob-bar:3px; --cob-gap:5px; --cob-off:var(--aida-stone); --cob-on:var(--aida-gold); display:flex; align-items:center; gap:var(--cob-gap); height:var(--cob-h); min-width:0; max-width:100%; overflow:hidden; }
.aida-cobertura > span { flex:0 0 var(--cob-bar); width:var(--cob-bar); height:62%; background:var(--cob-off); }
.aida-cobertura > span:nth-child(4n+1) { height:78%; }
.aida-cobertura > span:nth-child(4n+3) { height:52%; }
.aida-cobertura > span:nth-child(7n+2) { height:92%; }
.aida-cobertura > span:nth-child(9n+5) { height:40%; }
.aida-cobertura > span.on, .aida-cobertura.is-total > span { background:var(--cob-on); }
.aida-cobertura.on-dark { --cob-off:var(--aida-graphite); }
.aida-cobertura.on-gold { --cob-off:rgba(107,79,53,0.22); --cob-on:var(--fg-on-gold); }
.aida-evidencia { margin:0; border-left:2px solid var(--aida-gold); padding-left:26px; }
.aida-evidencia blockquote { margin:0; font-family:var(--font-display); font-weight:300; font-size:var(--t-h3); line-height:1.3; letter-spacing:-0.01em; color:var(--fg-1); }
.aida-evidencia blockquote::before { content:"\201C"; }
.aida-evidencia blockquote::after { content:"\201D"; }
.aida-evidencia figcaption { margin-top:14px; font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-label); }
.aida-evidencia figcaption span { font-weight:500; opacity:0.7; }
.aida-evidencia figcaption span::before { content:"\00B7 "; }
.aida-evidencia.on-dark blockquote { color:var(--fg-on-dark-1); }
.aida-evidencia.on-dark figcaption { color:var(--fg-on-dark-label); }
.aida-escada { display:flex; align-items:flex-end; gap:0; }
.aida-escada__degrau { flex:1; border-top:2px solid var(--aida-gold); padding:20px 26px 0 0; }
.aida-escada__degrau strong { display:block; font-family:var(--font-display); font-weight:700; font-size:var(--t-h4); margin-top:10px; }
.aida-escada__degrau.is-destino { border-top-color:var(--aida-ink-surface); padding-bottom:56px; margin-bottom:-56px; }
.aida-escada__fio { flex:0 0 64px; height:2px; background:var(--aida-gold); transform:rotate(-24deg); transform-origin:left center; margin-bottom:26px; }
.aida-escada.on-dark .aida-escada__degrau.is-destino { border-top-color:var(--aida-cream); }
.aida-grifo { background:linear-gradient(100deg, rgba(212,170,120,0) 0.5%, var(--aida-grifo) 3.5% 96%, rgba(212,170,120,0) 99.5%); box-decoration-break:clone; -webkit-box-decoration-break:clone; padding:0.04em 0.3em; margin:0 -0.12em; }
.aida-carimbo { display:inline-block; background:var(--aida-black); color:var(--aida-paper); font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; padding:7px 13px; line-height:1.2; }
.aida-carimbo--vazado { background:transparent; color:var(--fg-label); box-shadow:inset 0 0 0 1px currentColor; }
.aida-carimbo.on-dark { background:var(--aida-gold-bright); color:var(--aida-ink-deep); }
.aida-transcricao { position:relative; background:var(--aida-white); border:1px solid var(--aida-line); padding:30px 34px 24px; }
.aida-transcricao > .aida-carimbo { position:absolute; top:-13px; left:30px; }
.aida-transcricao p { margin:0; font-size:18px; line-height:1.65; color:var(--fg-2); }
.aida-transcricao .anota { display:block; margin-top:14px; font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:0.13em; text-transform:uppercase; color:var(--fg-accent); }
.aida-transcricao.on-dark { background:var(--aida-ink); border-color:var(--border-1-dark); }
.aida-transcricao.on-dark p { color:var(--fg-on-dark-2); }
.aida-voz { font-family:var(--font-display); font-weight:300; line-height:1.08; letter-spacing:-0.025em; }
.aida-voz b, .aida-voz strong { font-weight:700; }

/* ================= COMPONENTS ================= */
.aida-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; border-radius:0; font-family:var(--font-display); font-weight:600; font-size:15px; letter-spacing:0.01em; line-height:1; padding:16px 30px; cursor:pointer; text-decoration:none; transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.aida-btn:active { transform:translateY(1px); }
.aida-btn:disabled { opacity:0.45; cursor:not-allowed; }
.aida-btn:disabled:active { transform:none; }
.aida-btn--primary { background:var(--aida-ink-surface); color:var(--aida-cream); }
.aida-btn--primary:hover { background:var(--aida-charcoal); }
.aida-btn--primary.on-dark { background:var(--aida-gold); color:var(--aida-ink-surface); }
.aida-btn--primary.on-dark:hover { background:var(--aida-gold-soft); }
.aida-btn--ghost { background:transparent; border-color:var(--border-2); color:var(--fg-1); }
.aida-btn--ghost:hover { border-color:var(--fg-1); }
.aida-btn--ghost.on-dark { border-color:var(--border-2-dark); color:var(--fg-on-dark-1); }
.aida-btn--ghost.on-dark:hover { border-color:var(--aida-gold-soft); color:var(--aida-gold-soft); }
.aida-btn--sm { padding:11px 20px; font-size:13px; }
.aida-btn--lg { padding:20px 38px; font-size:16px; }
.aida-badge { display:inline-flex; align-items:center; gap:8px; border-radius:var(--r-full); font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:6px 14px; line-height:1.2; }
.aida-badge .dot { width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.aida-badge--gold { background:var(--aida-gold-tint); color:var(--fg-on-gold); }
.aida-badge--ink { background:var(--aida-ink-surface); color:var(--aida-cream); }
.aida-badge--outline { background:transparent; color:var(--fg-2); box-shadow:inset 0 0 0 1px var(--border-2); }
.aida-badge--outline.on-dark { color:var(--fg-on-dark-2); box-shadow:inset 0 0 0 1px var(--border-2-dark); }
.aida-badge--gold.on-dark { background:rgba(168,130,96,0.22); color:var(--aida-gold-soft); }
.aida-field { display:grid; gap:8px; }
.aida-field > label { font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-label); }
.aida-input { width:100%; box-sizing:border-box; border:1px solid var(--border-2); border-radius:0; background:var(--aida-white); color:var(--fg-1); font-family:var(--font-body); font-size:15px; line-height:1.4; padding:13px 15px; transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.aida-input::placeholder { color:var(--fg-muted); }
.aida-input:focus { outline:none; border-color:var(--border-gold-bold); box-shadow:var(--shadow-inset-gold); }
.aida-input:disabled { background:var(--aida-mist); opacity:0.7; cursor:not-allowed; }
.aida-field.on-dark > label { color:var(--fg-on-dark-label); }
.aida-field.on-dark .aida-input { background:var(--aida-ink); border-color:var(--border-2-dark); color:var(--fg-on-dark-1); }

/* ================= ATMOSPHERES ================= */
.aida-bg-tonal { background:radial-gradient(62% 70% at 72% 18%, rgba(255,250,242,0.70), transparent 60%), linear-gradient(150deg, var(--aida-gold-tint), var(--aida-gold-wash)); }
.aida-bg-claro { --atm-x:88%; --atm-y:-6%; background:radial-gradient(47% 48% at var(--atm-x) var(--atm-y), rgba(168,130,96,0.11), transparent 60%), var(--aida-paper); }
.aida-bg-creme { --atm-x:10%; --atm-y:-8%; background:radial-gradient(47% 48% at var(--atm-x) var(--atm-y), rgba(168,130,96,0.12), transparent 60%), var(--aida-cream); }
.aida-bg-esquema { background:radial-gradient(43% 48% at 50% 120%, rgba(168,130,96,0.14), transparent 60%), var(--aida-paper); }
.aida-bg-claro-onda { background:var(--aida-paper) url("assets/backgrounds/onda-clara.png") center / cover no-repeat; }
.aida-bg-ink { background:var(--aida-ink-surface); color:var(--aida-cream); }
.aida-bg-ink-glow { --atm-x:100%; --atm-y:0%; background:radial-gradient(30% 40% at var(--atm-x) var(--atm-y), rgba(168,130,96,0.34), transparent 68%), var(--aida-ink-surface); color:var(--aida-cream); }
.aida-bg-ink-onda { background:var(--aida-ink-surface) url("assets/backgrounds/onda-ink.png") center / cover no-repeat; color:var(--aida-cream); }
.aida-bg-ink-sonar { --sonar-x:76%; --sonar-y:36%; --sonar-k:1; background:radial-gradient(circle at var(--sonar-x) var(--sonar-y), rgba(196,166,137,0.55) 0 calc(5px * var(--sonar-k)), rgba(196,166,137,0.12) calc(6px * var(--sonar-k)) calc(16px * var(--sonar-k)), transparent calc(26px * var(--sonar-k))), radial-gradient(circle at var(--sonar-x) var(--sonar-y), transparent calc(49px * var(--sonar-k)), rgba(196,166,137,0.42) calc(50.5px * var(--sonar-k)), transparent calc(52.5px * var(--sonar-k))), radial-gradient(circle at var(--sonar-x) var(--sonar-y), transparent calc(84px * var(--sonar-k)), rgba(196,166,137,0.24) calc(85.5px * var(--sonar-k)), transparent calc(87.5px * var(--sonar-k))), radial-gradient(circle at var(--sonar-x) var(--sonar-y), transparent calc(122px * var(--sonar-k)), rgba(196,166,137,0.11) calc(123.5px * var(--sonar-k)), transparent calc(125.5px * var(--sonar-k))), var(--aida-ink-surface); color:var(--aida-cream); }

/* ================= MOTION ================= */
:root { --m-sonar:3s; --m-wave:9s; --m-eq:3s; --m-shimmer:3s; --m-reveal:640ms; --m-live:3s; --m-glow:3s; --m-think:3s; --m-in:560ms; }
.aida-sonar { --sonar-size:168px; --sonar-color:var(--aida-gold); --sonar-hub:24%; position:relative; width:var(--sonar-size); height:var(--sonar-size); display:grid; place-items:center; }
.aida-sonar > span { position:absolute; width:var(--sonar-hub); height:var(--sonar-hub); border-radius:50%; border:1.5px solid var(--sonar-color); opacity:0; transform:scale(1); animation:aida-sonar-ring var(--m-sonar) ease-out infinite; }
.aida-sonar > span:nth-child(2) { animation-delay:calc(var(--m-sonar) / 3); }
.aida-sonar > span:nth-child(3) { animation-delay:calc(var(--m-sonar) / 3 * 2); }
.aida-sonar__core { position:relative; z-index:1; width:var(--sonar-hub); height:var(--sonar-hub); border-radius:50%; background:var(--sonar-color); box-shadow:0 0 16px 1px color-mix(in srgb, var(--sonar-color) 45%, transparent); }
@keyframes aida-sonar-ring { 0% { transform:scale(1); opacity:.45; } 100% { transform:scale(3.3); opacity:0; } }
.aida-live { --live-size:10px; --live-color:var(--aida-gold); position:relative; display:inline-block; width:var(--live-size); height:var(--live-size); border-radius:50%; background:var(--live-color); vertical-align:middle; }
.aida-live::after { content:""; position:absolute; inset:0; border-radius:50%; background:var(--live-color); animation:aida-live-halo var(--m-live) var(--ease-out) infinite; }
@keyframes aida-live-halo { 0% { transform:scale(1); opacity:.55; } 70% { transform:scale(3); opacity:0; } 100% { transform:scale(3); opacity:0; } }
.aida-waveform { --wave-color:var(--aida-gold); --wave-accent:var(--aida-gold-soft); --wave-h:64px; --wave-bar:3px; --wave-gap:5px; display:flex; align-items:center; gap:var(--wave-gap); height:var(--wave-h); }
.aida-waveform > span { flex:0 0 var(--wave-bar); width:var(--wave-bar); height:70%; border-radius:999px; background:var(--wave-color); transform:scaleY(.16); transform-origin:center; animation:aida-eq var(--m-eq) var(--ease-in-out) infinite; }
.aida-waveform > span:nth-child(16n+5) { background:var(--wave-accent); }
.aida-waveform > span:nth-child(16n+10) { background:var(--wave-accent); }
.aida-waveform > span:nth-child(5n+1) { animation-duration:calc(var(--m-eq) * 0.92); animation-delay:-0.05s; }
.aida-waveform > span:nth-child(5n+2) { animation-duration:calc(var(--m-eq) * 1.18); animation-delay:-0.31s; }
.aida-waveform > span:nth-child(5n+3) { animation-duration:calc(var(--m-eq) * 1.04); animation-delay:-0.62s; }
.aida-waveform > span:nth-child(5n+4) { animation-duration:calc(var(--m-eq) * 0.84); animation-delay:-0.19s; }
.aida-waveform > span:nth-child(5n+5) { animation-duration:calc(var(--m-eq) * 1.30); animation-delay:-0.47s; }
.aida-waveform.is-idle > span { animation-play-state:paused; transform:scaleY(.16); }
@keyframes aida-eq { 0%, 100% { transform:scaleY(.16); } 50% { transform:scaleY(1); } }
.aida-waveform--eq { gap:6px; align-items:flex-end; }
.aida-waveform--eq > span { flex-basis:8px; width:8px; border-radius:2px; transform-origin:bottom; }
.aida-shimmer { border-radius:var(--r-sm, 4px); background:linear-gradient(100deg, var(--aida-mist) 30%, color-mix(in srgb, var(--aida-gold) 26%, var(--aida-mist)) 50%, var(--aida-mist) 70%); background-size:220% 100%; animation:aida-shimmer var(--m-shimmer) linear infinite; }
.aida-shimmer.on-dark { background:linear-gradient(100deg, var(--aida-charcoal) 30%, color-mix(in srgb, var(--aida-gold) 38%, var(--aida-charcoal)) 50%, var(--aida-charcoal) 70%); background-size:220% 100%; }
@keyframes aida-shimmer { 0% { background-position:120% 0; } 100% { background-position:-120% 0; } }
.aida-reveal { opacity:0; transform:translateY(16px); transition:opacity var(--m-reveal) var(--ease-out), transform var(--m-reveal) var(--ease-out); transition-delay:var(--reveal-delay, 0ms); will-change:opacity, transform; }
.aida-reveal.is-in { opacity:1; transform:none; }
.no-js .aida-reveal { opacity:1; transform:none; }
.aida-glow { --glow-color:var(--aida-gold); --glow-size:520px; position:absolute; width:var(--glow-size); height:var(--glow-size); border-radius:50%; background:radial-gradient(circle, var(--glow-color) 0%, transparent 68%); filter:blur(70px); opacity:.5; pointer-events:none; animation:aida-glow-breath var(--m-glow) var(--ease-in-out) infinite; }
@keyframes aida-glow-breath { 0%, 100% { opacity:.36; transform:scale(.94); } 50% { opacity:.60; transform:scale(1.08); } }
.aida-thinking { --dot-color:var(--aida-gold); --dot-size:7px; display:inline-flex; align-items:center; gap:6px; }
.aida-thinking > span { width:var(--dot-size); height:var(--dot-size); border-radius:50%; background:var(--dot-color); opacity:.22; animation:aida-think var(--m-think) var(--ease-in-out) infinite; }
.aida-thinking > span:nth-child(2) { animation-delay:calc(var(--m-think) / 6); }
.aida-thinking > span:nth-child(3) { animation-delay:calc(var(--m-think) / 3); }
@keyframes aida-think { 0%, 100% { opacity:.22; transform:translateY(0); } 40% { opacity:.9; transform:translateY(-3px); } }
@media (prefers-reduced-motion: reduce) {
  .aida-sonar > span, .aida-sonar__core, .aida-live::after, .aida-waveform > span, .aida-shimmer, .aida-glow, .aida-thinking > span { animation:none !important; }
  .aida-sonar > span { opacity:0; }
  .aida-waveform > span { transform:scaleY(.5); }
  .aida-thinking > span { opacity:.6; transform:none; }
  .aida-reveal { opacity:1; transform:none; transition:none; }
}
@media print { .aida-reveal { opacity:1 !important; transform:none !important; transition:none !important; } }

/* Fallback do vídeo do hero enquanto o AIDA-Demo.mp4 não é hospedado */
video[data-herovideo] { background: linear-gradient(135deg, #181613 0%, #242019 60%, #2A2622 100%); }

/* Hero: mantém a moldura original do design (borda dourada, cantos, sombra, inclinação) */

/* Evita faixa clara abaixo do rodapé em páginas curtas (o fundo do html acompanha o footer) */
html { background: var(--aida-ink-surface); }

/* ============================================================
   Responsivo (mobile ≤900): colapsa grids de conteúdo em 1 coluna.
   O v7 tinha media queries só para parte dos grids; isto cobre o
   resto (hero, cases, footer) sem mexer no sticky da home.
   ============================================================ */
@media (max-width: 900px) {
  [data-heroshell],
  [data-page] [style*="grid-template-columns"],
  footer [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [data-herovis] { max-width: 100% !important; justify-self: stretch !important; }
  [data-heroframe] { max-width: 520px; margin-left: auto; margin-right: auto; }
}

/* Aparecimento suave de blocos ao entrar na tela (reveal on scroll) */
.js-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s var(--ease-out, ease), transform .6s var(--ease-out, ease); will-change: opacity, transform; }
.js-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* Imagens nunca estouram o container (foto da matéria etc.) */
[data-page] img { max-width: 100%; }

/* #1 Virada: pina o conteúdo ABAIXO do menu fixo (título não fica tampado) */
#virada > div { top: 76px !important; height: calc(100vh - 76px) !important; }

/* #3 Escuro no mobile: sem rotação (sem sobreposição) e respiro na nuvem */
@media (max-width: 900px) {
  [data-qcloud] > div > div { transform: none !important; }
  #esc1-cloud { margin-top: 22px !important; }
}

/* #1 Virada: encolhe o texto pra caber no pin (titulo e botao 'Veja como' visiveis) */
#vir-r3 { font-size: clamp(26px, 3vw, 38px) !important; margin-top: 22px !important; }
#vir-r2 { margin-top: 18px !important; }
#vir-r4 { margin-top: 24px !important; }
@media (max-width: 900px) {
  #vir-r1 { font-size: clamp(23px, 6.2vw, 30px) !important; }
  #vir-r2 { font-size: 14px !important; line-height: 1.6 !important; }
  #vir-r3 { font-size: clamp(21px, 5.4vw, 28px) !important; margin-top: 18px !important; }
  #vir-r4 { margin-top: 20px !important; }
  #virada > div { padding-bottom: 16px; box-sizing: border-box; }
}

/* #3 Escuro no mobile: UM fundo unico com UM glow (titulo -> metade do texto); pin e texto transparentes por cima (sem emenda, sem linha) */
@media (max-width: 900px) {
  #escuro1 { height: auto !important; position: relative; background: radial-gradient(860px 1120px at 50% 38%, rgba(48,37,26,0.98) 0%, rgba(34,29,23,0.5) 40%, rgba(24,22,19,0) 74%), var(--aida-ink-surface) !important; }
  /* o "pin" vira bloco normal e transparente: deixa o glow unico do escuro1 aparecer por tras */
  #escuro1 [data-escpin] { position: relative !important; top: auto !important; height: 104vh !important; min-height: 0 !important; overflow: visible !important; padding: 0 !important; background: transparent !important; }
  #escuro1 [data-escwrap] { height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  #escuro1 [data-qcenter] { max-width: 320px !important; position: relative; z-index: 3; }
  #escuro1 #esc-t { font-size: clamp(34px, 9.6vw, 46px) !important; width: min(86vw, 320px) !important; }
  #esc1-cloud > div > div { transform: none !important; }
  /* perguntas menores, proporcionais ao titulo (a folha tinha 16.5px fixo) */
  #esc1-cloud [data-qc], #esc1-cloud [data-qc] * { font-size: 11.5px !important; line-height: 1.3 !important; }
  /* texto ABAIXO das perguntas, transparente (herda o glow unico do escuro1) */
  #esc-body-sec { padding: 8px 26px 104px !important; text-align: center; background: transparent; }
  #esc-body-sec #esc-mesa { font-size: 15px !important; line-height: 1.8 !important; }
  #esc-body-sec #esc-precot { font-size: 21px !important; }
}

/* Rodape mobile: empilha e joga o copyright para o fim (depois do Codigo de Conduta) */
@media (max-width: 900px) {
  footer [style*="border-top:1px solid var(--border-1-dark)"] { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
  footer [style*="border-top:1px solid var(--border-1-dark)"] > div:nth-child(1) { order: 3 !important; }
  footer [style*="border-top:1px solid var(--border-1-dark)"] > div:nth-child(2) { order: 2 !important; }
  footer [style*="border-top:1px solid var(--border-1-dark)"] > div:nth-child(3) { order: 1 !important; }
}
