/* Oceano de Ideias — design tokens: design-system/MASTER.md §2 */
:root {
  /* ---------- Cor: marca ---------- */
  --night:        #061018;  /* hero, faixas escuras */
  --night-2:      #0B1A24;  /* superfícies sobre o escuro (cartões no hero, visor) */
  --cyan:         #00D8F6;  /* fundo de CTA; acento SÓ sobre escuro */
  --cyan-hover:   #5EEAFB;  /* hover do CTA (texto --ink mantém 12.4:1) */
  --cyan-ink:     #327B83;  /* acento de TEXTO em fundo claro, links, focus ring em claro */
  --cyan-ink-2:   #27636A;  /* hover de links em claro (7.27:1) */
  --cyan-tint:    #ECFEFF;  /* fundo de pílulas/caixas de destaque em claro */
  --cyan-glow:    rgba(0, 216, 246, .10);  /* brilho de estado ativo */

  /* ---------- Cor: neutros ---------- */
  --ink:          #0F172A;  /* títulos; texto sobre --cyan */
  --text:         #475569;  /* texto corrido (7.58:1) */
  --muted:        #64748B;  /* meta, ajudas, bordas de input (4.76:1) */
  --on-night:     #E2E8F0;  /* texto principal sobre --night (15.6:1) */
  --on-night-2:   #94A3B8;  /* texto secundário sobre --night (7.48:1) */
  --surface:      #FFFFFF;
  --surface-2:    #F8FAFC;  /* secções alternadas */
  --line:         #E2E8F0;  /* bordas decorativas de cartões/separadores */
  --line-night:   rgba(255, 255, 255, .10);

  /* ---------- Cor: estados ---------- */
  --error:        #B91C1C;  /* 6.47:1 em branco */
  --error-bg:     #FEF2F2;
  --success:      #15803D;  /* 5.02:1 em branco */
  --success-bg:   #F0FDF4;

  /* ---------- Tipografia ---------- */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body:    "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;

  --fs-display: clamp(2.5rem, 1.6rem + 4.2vw, 4.75rem);  /* H1 hero: 40 → 76 */
  --fs-h2:      clamp(2rem, 1.5rem + 2.2vw, 3rem);        /* 32 → 48 */
  --fs-h3:      clamp(1.25rem, 1.1rem + .6vw, 1.5rem);    /* 20 → 24 */
  --fs-h4:      1.125rem;                                 /* 18 */
  --fs-lead:    clamp(1.0625rem, 1rem + .4vw, 1.25rem);   /* 17 → 20 */
  --fs-body:    1rem;                                     /* 16, mínimo absoluto p/ texto corrido */
  --fs-small:   .875rem;                                  /* 14, notas e meta */
  --fs-label:   .75rem;                                   /* 12, etiquetas mono — MÍNIMO */

  --lh-tight:   1.05;   /* display */
  --lh-heading: 1.15;
  --lh-body:    1.65;

  --tracking-display: -0.03em;
  --tracking-heading: -0.02em;
  --tracking-label:    0.12em;  /* mono em maiúsculas */

  /* ---------- Espaço (base 4/8) ---------- */
  --sp-1: .25rem;  --sp-2: .5rem;  --sp-3: .75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;  --sp-6: 2rem;   --sp-7: 3rem;    --sp-8: 4rem;
  --sp-9: 6rem;    --sp-10: 8rem;
  --section-y: clamp(4rem, 3rem + 5vw, 7rem);   /* padding vertical das secções */
  --gutter:    clamp(1rem, .5rem + 2.5vw, 2rem);

  /* ---------- Layout ---------- */
  --container:  75rem;   /* 1200px */
  --measure:    42rem;   /* ~70 caracteres para prosa */
  --header-h:   4.5rem;

  /* ---------- Forma ---------- */
  --radius-sm:  .5rem;   /* 8: botões, inputs */
  --radius:     1rem;    /* 16: cartões */
  --radius-pill: 999px;
  --shadow-1:   0 1px 2px rgba(15, 23, 42, .06), 0 1px 1px rgba(15, 23, 42, .04);
  --shadow-2:   0 8px 24px -8px rgba(15, 23, 42, .12);
  --shadow-glow: 0 0 0 1px var(--cyan-ink), 0 0 24px var(--cyan-glow);

  /* ---------- Movimento ---------- */
  --dur-fast:   150ms;
  --dur:        220ms;
  --dur-slow:   300ms;
  --ease-out:   cubic-bezier(.22, 1, .36, 1);
  --ease-in:    cubic-bezier(.4, 0, 1, 1);

  /* ---------- Camadas ---------- */
  --z-base: 0;  --z-raised: 10;  --z-sticky: 40;  --z-dropdown: 50;  --z-overlay: 90;  --z-skip: 100;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; --dur-slow: 0ms; }
  html { scroll-behavior: auto; }
}
/* ===== Fontes ===== */
@font-face{font-family:"Space Grotesk";src:url("../fonts/space-grotesk-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("../fonts/space-grotesk-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-500.woff2") format("woff2");font-weight:500;font-display:swap}

/* ===== Reset / base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;padding-bottom:5rem}
@media (min-width:64em){body{padding-bottom:0}}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--cyan-ink);text-underline-offset:3px}
a:hover{color:var(--cyan-ink-2)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:var(--lh-heading);letter-spacing:var(--tracking-heading);margin:0 0 var(--sp-4);font-weight:700}
h3{font-weight:600;font-size:var(--fs-h3)}
p{margin:0 0 var(--sp-4)}
:focus-visible{outline:2px solid var(--cyan-ink);outline-offset:3px;border-radius:var(--radius-sm)}
.on-night :focus-visible,.site-header--night:not(.is-solid) :focus-visible{outline-color:var(--cyan)}
main:focus{outline:none}
[id]{scroll-margin-top:calc(var(--header-h) + var(--sp-4))}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.icon{width:20px;height:20px;flex:none}
.phone{white-space:normal}
.phone__note{font-size:inherit;color:inherit} /* DL 59/2021: nota com legibilidade equivalente ao número */
.skip-link{position:absolute;left:var(--sp-4);top:-4rem;z-index:var(--z-skip);background:var(--ink);color:#fff;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);transition:top var(--dur-fast) var(--ease-out)}
.skip-link:focus{top:var(--sp-4);color:#fff}

/* ===== Layout ===== */
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--alt{background:var(--surface-2);border-top:1px solid var(--line)}
.on-night{background:var(--night);color:var(--on-night-2)}
.on-night h1,.on-night h2,.on-night h3{color:var(--on-night)}
.accent{color:var(--cyan-ink)}
.on-night .accent{color:var(--cyan)}
.bg-grid{position:relative;isolation:isolate}
.bg-grid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px);
  background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 40%,transparent 80%)}
.on-night.bg-grid::before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)}
.lead{font-size:var(--fs-lead);max-width:var(--measure)}

/* ===== Etiquetas ===== */
.label{font:500 var(--fs-label)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--cyan-ink);margin:0 0 var(--sp-3)}
.on-night .label{color:var(--cyan)}
.pill{display:inline-flex;align-items:center;gap:var(--sp-2);font:500 var(--fs-label)/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);
  padding:.375rem .75rem;border-radius:var(--radius-pill);background:var(--cyan-tint);border:1px solid rgba(50,123,131,.25);color:var(--cyan-ink)}
.on-night .pill{background:rgba(0,216,246,.08);border-color:rgba(0,216,246,.3);color:var(--cyan)}
.pill .icon{width:14px;height:14px}

/* ===== Botões ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:.75rem 1.25rem;border-radius:var(--radius-sm);
  font:600 .9375rem/1.2 var(--font-body);text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--cyan);color:var(--ink)}
.btn--primary:hover{background:var(--cyan-hover);color:var(--ink)}
.btn--secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--secondary:hover{background:var(--surface-2);color:var(--ink)}
.btn--secondary-night{background:transparent;border-color:var(--line-night);color:var(--on-night)}
.btn--secondary-night:hover{border-color:var(--cyan);color:var(--on-night)}
.btn--block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.link-arrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600;text-decoration:none;min-height:44px}
.link-arrow .icon{transition:transform var(--dur-fast) var(--ease-out)}
.link-arrow:hover .icon{transform:translateX(2px)}

/* ===== Cabeçalho ===== */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface);box-shadow:var(--shadow-1);transition:background-color var(--dur) var(--ease-out)}
.site-header--night{position:fixed;inset-inline:0;background:transparent;box-shadow:none;color:var(--on-night)}
.site-header--night.is-solid,.site-header--night.nav-open{background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink)}
.site-header__inner{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:var(--sp-3);font:700 1.0625rem/1 var(--font-display);color:inherit;text-decoration:none;min-height:44px}
.brand__logo{height:48px;width:auto}
.brand__logo--footer{height:72px}
/* Cabeçalho escuro (home): logótipo claro até o cabeçalho ficar sólido */
.site-header--night:not(.is-solid):not(.nav-open) .brand__logo--brand{display:none}
.site-header--night.is-solid .brand__logo--light,.site-header--night.nav-open .brand__logo--light{display:none}
html:not(.js) .site-header--night .brand__logo--brand{display:none}
html:not(.js) .site-header--night .brand__logo--light{display:block}
.site-header:not(.site-header--night) .brand,.site-header.is-solid .brand{color:var(--ink)}
.nav{display:none}
.nav__link{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-3);background:none;border:0;cursor:pointer;
  font:500 .9375rem/1 var(--font-body);color:inherit;text-decoration:none;border-bottom:2px solid transparent}
.nav__link[aria-current="page"]{border-bottom-color:var(--cyan-ink)}
.site-header--night:not(.is-solid) .nav__link[aria-current="page"]{border-bottom-color:var(--cyan)}
.nav__link:hover{color:var(--cyan-ink)}
.site-header--night:not(.is-solid) .nav__link:hover{color:var(--cyan)}
.site-header__cta{display:none;margin-left:auto}
.nav-toggle{margin-left:auto;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);background:none;border:1px solid currentColor;color:inherit;cursor:pointer}
.nav-toggle__close,.nav-toggle[aria-expanded="true"] .nav-toggle__open{display:none}
.nav-toggle[aria-expanded="true"] .nav-toggle__close{display:block}
/* Mobile: painel aberto por JS; sem JS o nav mostra-se sempre em coluna */
html:not(.js) .nav{display:flex;flex-direction:column;width:100%}
html:not(.js) .nav-toggle{display:none}
html:not(.js) .site-header__inner{flex-wrap:wrap}
/* Sem JS: o cabeçalho sobre o hero deixa de ser fixo (senão o menu em coluna tapa o conteúdo) */
html:not(.js) .site-header--night{position:relative;background:var(--night)}
html:not(.js) .site-header--night+main .hero{padding-top:var(--sp-8)}
.nav.is-open{display:flex;flex-direction:column;position:fixed;inset:var(--header-h) 0 0;background:var(--surface);color:var(--ink);padding:var(--sp-5) var(--gutter);overflow-y:auto;z-index:var(--z-overlay)}
@media (min-width:64em){
  .nav,html:not(.js) .nav{display:flex;flex-direction:row;align-items:center;gap:var(--sp-2);width:auto;margin-left:auto}
  .nav.is-open{position:static;padding:0;background:none}
  .nav-toggle{display:none}
  .site-header__cta{display:inline-flex;margin-left:var(--sp-4)}
}

/* ===== Submenu Soluções ===== */
.submenu{position:relative}
.submenu__chevron{width:16px;height:16px;transition:transform var(--dur) var(--ease-out)}
.submenu__toggle[aria-expanded="true"] .submenu__chevron{transform:rotate(180deg)}
.submenu__panel{list-style:none;margin:0;padding:var(--sp-2);display:none}
.js .submenu__toggle[aria-expanded="true"]+.submenu__panel{display:block}
html:not(.js) .submenu:hover .submenu__panel,html:not(.js) .submenu:focus-within .submenu__panel{display:block}
.submenu__item{display:flex;align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none}
.submenu__item:hover{background:var(--surface-2);color:var(--ink)}
.submenu__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--cyan-tint);color:var(--cyan-ink);flex:none}
.submenu__text{display:flex;flex-direction:column;gap:2px}
.submenu__text small{font-size:var(--fs-small);color:var(--text)}
.submenu__ext{margin-left:auto;width:16px;height:16px;color:var(--muted)}
@media (min-width:64em){
  .submenu__panel{position:absolute;top:calc(100% + var(--sp-2));left:50%;translate:-50% 0;width:22rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);z-index:var(--z-dropdown)}
}

/* ===== CTA fixo mobile ===== */
.cta-bar{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-sticky);padding:var(--sp-3) var(--gutter) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
@media (min-width:64em){.cta-bar{display:none}}

/* ===== Rodapé ===== */
.site-footer{background:var(--surface-2);border-top:1px solid var(--line);padding-top:var(--sp-8)}
.site-footer__grid{display:grid;gap:var(--sp-6)}
@media (min-width:48em){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64em){.site-footer__grid{grid-template-columns:2fr 1fr 1fr 1.4fr}}
.site-footer__brand .brand{color:var(--ink);margin-bottom:var(--sp-3)}
.site-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.site-footer__list a{color:var(--text);text-decoration:none;display:inline-block;min-height:32px}
.site-footer__list a:hover{color:var(--cyan-ink)}
.site-footer small{color:var(--muted);font-size:var(--fs-small)}
.legal-strip{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);align-items:center;justify-content:space-between;margin-top:var(--sp-7);padding-block:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--muted)}
.legal-strip p{margin:0}
.legal-strip__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}
.legal-strip a{color:var(--muted)}
.legal-strip a:hover{color:var(--cyan-ink)}
.legal-strip__lre{font-weight:600}

/* ===== Revelação (ativada por JS; sem JS tudo visível) ===== */
.js-reveal [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.js-reveal [data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal]{opacity:1;transform:none}}
/* ===== Home ===== */
.section-head{margin-bottom:var(--sp-7)}
.section-head--center{text-align:center}
.section-head--center .lead{margin-inline:auto}
.section-head h2{font-size:var(--fs-h2)}

.hero{padding-top:calc(var(--header-h) + var(--sp-8));padding-bottom:var(--sp-8);min-height:min(52rem,100dvh);display:flex;align-items:center;
  background-image:radial-gradient(60rem 30rem at 85% 0%,rgba(0,216,246,.06),transparent 70%)}
.hero__grid{display:grid;gap:var(--sp-7);align-items:center;width:100%}
@media (min-width:64em){.hero__grid{grid-template-columns:7fr 5fr}}
.hero__pills{list-style:none;margin:0 0 var(--sp-5);padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hero__title{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tracking-display);margin-bottom:var(--sp-5)}
.hero__brand{display:block}
.hero__claim{display:block;margin-top:var(--sp-3);font-size:clamp(1.75rem,1.2rem + 2.4vw,3.25rem);line-height:1.12;color:var(--on-night);max-width:18ch}
.hero__lead{font-size:var(--fs-lead);color:var(--on-night-2);max-width:var(--measure)}
.stats{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin:var(--sp-6) 0}
.stats div{display:flex;flex-direction:column-reverse}
.stats dd{margin:0;font:700 2rem/1 var(--font-display);color:var(--on-night);font-variant-numeric:tabular-nums}
.stats dt{font:500 var(--fs-label)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--on-night-2);margin-top:var(--sp-2)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--sp-3)}

/* ===== Hero: animação "rede de dados" (decorativa; pausa com botão, fora do ecrã e com reduced-motion) ===== */
.hero-visual{position:relative;display:none;max-width:30rem;width:100%;margin-inline:auto}
@media (min-width:48em){.hero-visual{display:block}}
.hero-anim{display:block;width:100%;height:auto;overflow:visible}
.ha-ring{fill:none;stroke:rgba(255,255,255,.07);stroke-width:1}
.ha-ring--dash{stroke:rgba(0,216,246,.35);stroke-dasharray:2 9;transform-origin:240px 240px;animation:ha-spin 48s linear infinite}
.ha-ring--rev{animation-duration:30s;animation-direction:reverse}
.ha-sweep{transform-origin:240px 240px;animation:ha-spin 7s linear infinite}
.ha-scan{animation:ha-scan 5.5s cubic-bezier(.45,0,.55,1) infinite}
.ha-link{stroke:rgba(0,216,246,.22);stroke-width:1}
.ha-link--faint{stroke:rgba(255,255,255,.08)}
.ha-pulse{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:4 96;stroke-dashoffset:100;animation:ha-flow 2.8s linear infinite}
.ha-pulse--slow{stroke-width:1.6;opacity:.7;animation-duration:4.6s}
.ha-node{fill:var(--night-2);stroke:var(--cyan);stroke-width:1.5}
.ha-node--small{stroke-opacity:.6}
.ha-node-core{fill:var(--cyan);animation:ha-blink 2.6s ease-in-out infinite}
.ha-hub{fill:var(--cyan)}
.ha-hub-ring{fill:none;stroke:var(--cyan);stroke-opacity:.55;stroke-width:1.5}
.ha-ripple{fill:none;stroke:var(--cyan);stroke-width:1;transform-origin:240px 240px;opacity:0;animation:ha-ripple 3.6s ease-out infinite}
.ha-ripple--late{animation-delay:1.8s}
.ha-label{font:500 14px var(--font-mono);letter-spacing:.14em;fill:var(--on-night-2)}
.ha-d1{animation-delay:0s}.ha-d2{animation-delay:.45s}.ha-d3{animation-delay:.9s}
.ha-d4{animation-delay:1.35s}.ha-d5{animation-delay:1.8s}.ha-d6{animation-delay:2.25s}
@keyframes ha-spin{to{transform:rotate(360deg)}}
@keyframes ha-flow{to{stroke-dashoffset:0}}
@keyframes ha-blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes ha-ripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(3.2);opacity:0}}
@keyframes ha-scan{0%{transform:translateY(0)}100%{transform:translateY(520px)}}
.hero-anim.is-paused *,.hero-anim.is-offscreen *{animation-play-state:paused}
.hero-visual__pause{display:none;margin:var(--sp-2) 0 0 auto;min-height:44px;padding:.5rem .875rem;border-radius:var(--radius-pill);
  background:rgba(6,16,24,.7);border:1px solid var(--line-night);color:var(--on-night-2);cursor:pointer;
  font:500 var(--fs-label)/1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label)}
.js .hero-visual__pause{display:flex;align-items:center}
.hero-visual__pause:hover{border-color:var(--cyan);color:var(--on-night)}
@media (prefers-reduced-motion:reduce){
  /* Reduzir, não eliminar: corta deslocação, escala e rotação rápida; mantém opacidade, fluxo nas linhas e rotação lenta */
  .ha-sweep{animation:none}
  .ha-ripple,.ha-scan{display:none}
}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-6);position:relative}
@media (min-width:48em){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{position:relative;padding-top:var(--sp-5);border-top:1px solid var(--line)}
.steps li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--cyan-ink)}
.steps__num{font:500 var(--fs-label)/1 var(--font-mono);color:var(--cyan-ink);letter-spacing:var(--tracking-label)}
.steps h3{margin-top:var(--sp-2)}

.grid-areas{display:grid;gap:var(--sp-5)}
@media (min-width:48em){.grid-areas{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64em){.grid-areas{grid-template-columns:repeat(3,1fr)}}
.card-area{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6);
  transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
.card-area:hover,.card-area:focus-within{box-shadow:var(--shadow-glow);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.card-area:hover,.card-area:focus-within{transform:none}}
.card-area__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--cyan-tint);color:var(--cyan-ink);margin-bottom:var(--sp-4)}
.card-area .pill{align-self:flex-start;margin-bottom:var(--sp-3)}
.card-area h3{margin-bottom:var(--sp-1)}
.card-area__subtitle{font:500 var(--fs-label)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}
.card-area hr{border:0;border-top:1px solid var(--line);width:100%;margin:var(--sp-3) 0 var(--sp-4)}
.dot-list{list-style:none;margin:0 0 var(--sp-5);padding:0;display:grid;gap:var(--sp-2)}
.dot-list li{position:relative;padding-left:var(--sp-5)}
.dot-list li::before{content:"";position:absolute;left:4px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--cyan-ink)}
.card-area__extra a{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-small);min-height:44px}
.card-area__extra .icon{width:16px;height:16px}
.card-area__cta{margin-top:auto}

.solutions{display:grid;gap:var(--sp-5)}
@media (min-width:48em){.solutions{grid-template-columns:repeat(2,1fr)}} /* lista (sem JS / <1024) em 2 colunas */
.solution{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);background:var(--surface)}
.solution__head{display:flex;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-4)}
.solution__title{margin:0;font-size:1.125rem}
.solution__desc{margin:0;font-size:var(--fs-small);color:var(--text)}
.solution__body img{border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:var(--sp-4);aspect-ratio:16/10;object-fit:cover;object-position:top}
/* Modo tabs (≥1024 + JS), ver Task 13 */
.solutions.is-tabs{grid-template-columns:5fr 7fr;align-items:start}
.solutions__tablist{display:grid;gap:var(--sp-3)}
.solutions__tab{display:flex;gap:var(--sp-3);align-items:center;text-align:left;width:100%;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;font:inherit;color:var(--ink);min-height:44px;
  transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.solutions__tab[aria-selected="true"]{border-color:var(--cyan-ink);background:var(--cyan-tint);box-shadow:var(--shadow-glow)}
.solutions.is-tabs .solution{border:0;padding:0}
.solutions.is-tabs .solution__head{display:none}

/* ===== Serviços de transformação digital ===== */
.services{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-5)}
@media (min-width:40em){.services{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64em){.services{grid-template-columns:repeat(3,1fr)}}
@media (min-width:80em){.services{grid-template-columns:repeat(5,1fr)}}
.service{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5)}
.service h3{font-size:1.0625rem;margin:0 0 var(--sp-2)}
.service p{margin:0;color:var(--muted);font-size:var(--fs-small)}
.services__cta{text-align:center;margin:var(--sp-6) 0 0}

.highlights{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-5)}
@media (min-width:48em){.highlights{grid-template-columns:repeat(3,1fr)}}
.highlights li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6)}
.highlights .icon{width:24px;height:24px;color:var(--cyan-ink);margin-bottom:var(--sp-4)}

.cta-band{border-radius:var(--radius);padding:clamp(2rem,5vw,4rem);text-align:center}
.cta-band h2{font-size:var(--fs-h2)}
.cta-band .lead{margin:0 auto var(--sp-6);color:var(--on-night-2)}

.contact-grid{display:grid;gap:var(--sp-7)}
@media (min-width:64em){.contact-grid{grid-template-columns:5fr 7fr}}
.contact-list{list-style:none;margin:0 0 var(--sp-4);padding:0;display:grid;gap:var(--sp-3)}
.contact-card{display:flex;gap:var(--sp-4);align-items:center;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;min-height:44px;transition:box-shadow var(--dur-fast) var(--ease-out)}
a.contact-card:hover{box-shadow:var(--shadow-2);color:var(--ink)}
.contact-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--surface-2);color:var(--cyan-ink);flex:none}
.contact-card .label{display:block;margin:0 0 2px}
.contact-card strong{display:block;font:600 1.0625rem/1.3 var(--font-display);word-break:break-word}
.contact-card .phone__note{display:block;font-size:var(--fs-body);color:var(--text)}
.note-privacy{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);background:var(--cyan-tint);border:1px solid rgba(50,123,131,.25);border-radius:var(--radius);font-size:var(--fs-small);color:var(--ink)}
.note-privacy .icon{color:var(--cyan-ink);margin-top:2px}
.note-privacy p{margin:0}
/* ===== Formulário / página de orçamento ===== */
.quote__grid{display:grid;gap:var(--sp-7)}
.quote .form-card{order:-1}
@media (min-width:64em){.quote__grid{grid-template-columns:5fr 7fr;align-items:start}.quote .form-card{order:0}}
.quote__title{font-size:var(--fs-h2)}
.h4{font-size:var(--fs-h4);margin:var(--sp-1) 0 0}
.steps--vertical{grid-template-columns:1fr!important;margin:var(--sp-6) 0}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:clamp(1.5rem,4vw,2.5rem);display:grid;gap:var(--sp-5)}
.form-card__note{margin:0;font-size:var(--fs-small);color:var(--muted)}
.field{display:grid;gap:var(--sp-2);min-width:0}
.field-row{display:grid;gap:var(--sp-5)}
@media (min-width:40em){.field-row{grid-template-columns:1fr 1fr}}
.field label,.field legend{font:600 var(--fs-small)/1.4 var(--font-body);color:var(--ink)}
.field legend small,.field label small{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{
  width:100%;min-height:48px;padding:.75rem .875rem;font:400 1rem/1.4 var(--font-body);color:var(--ink);background:var(--surface);
  border:1px solid var(--muted);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--cyan-ink);box-shadow:0 0 0 3px var(--cyan-glow),0 0 0 1px var(--cyan-ink)}
.field [aria-invalid="true"]{border-color:var(--error)}
.field__help{margin:0;font-size:var(--fs-small);color:var(--muted)}
.field__error{display:flex;gap:var(--sp-2);align-items:flex-start;margin:0;font-size:var(--fs-small);color:var(--error)}
.field__error .icon{width:16px;height:16px;margin-top:2px}
.field--group{border:0;margin:0;padding:0}
.field--group legend{padding:0;margin-bottom:var(--sp-3)}
.choice-grid{display:grid;gap:var(--sp-2)}
@media (min-width:40em){.choice-grid{grid-template-columns:1fr 1fr}}
.choice{display:flex;gap:var(--sp-3);align-items:flex-start;min-height:48px;padding:.75rem .875rem;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;font-weight:400!important;
  transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.choice input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--cyan-ink);flex:none}
.choice:has(input:checked){border-color:var(--cyan-ink);background:var(--cyan-tint)}
.choice:has(input:focus-visible){outline:2px solid var(--cyan-ink);outline-offset:2px}
.choice--consent{border:0;padding:0;font-size:var(--fs-small);color:var(--text)}
.choice--consent:has(input:checked){background:none}
#area-outro-wrap{margin-top:var(--sp-3)}
.js #area-outro-wrap[hidden]{display:none}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.alert{padding:var(--sp-4);border-radius:var(--radius-sm);font-size:var(--fs-small)}
.alert p{margin:0 0 var(--sp-2)}
.alert ul{margin:0;padding-left:var(--sp-5)}
.alert--error{background:var(--error-bg);border:1px solid var(--error);color:var(--ink)}
.alert--error a{color:var(--error)}
.btn[data-submit][aria-busy="true"]{opacity:.7;cursor:progress}
.result{max-width:var(--measure);text-align:center;margin-inline:auto}
.result .lead{margin-inline:auto}
.result__icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:var(--sp-5)}
.result__icon--ok{background:var(--success-bg);color:var(--success)}
.result__icon .icon{width:32px;height:32px}
/* ===== Páginas legais ===== */
.legal__inner{max-width:48rem}
.legal h1{font-size:var(--fs-h2)}
.legal h2{font-size:var(--fs-h3);margin-top:var(--sp-7)}
.legal__updated{color:var(--muted);font-size:var(--fs-small)}
.legal__toc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);margin:var(--sp-6) 0}
.legal__toc ol{margin:0;padding-left:0;list-style:none;display:grid;gap:var(--sp-2)} /* os títulos já trazem o número */
.legal__toc .label{font:500 var(--fs-label)/1.4 var(--font-mono);letter-spacing:var(--tracking-label);margin:0 0 var(--sp-3)}
.legal ul{padding-left:var(--sp-5)}
.legal li{margin-bottom:var(--sp-2)}
.legal__placeholder{color:var(--muted);font-style:italic}
.legal__facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-7)}
.legal__facts dt{font-weight:600;color:var(--ink)}
.legal__facts dd{margin:0}
.alert--info{background:var(--cyan-tint);border:1px solid rgba(50,123,131,.25);color:var(--ink)}

/* ===== Redes sociais (rodapé) e sinais de confiança ===== */
.social{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:flex;gap:var(--sp-4)}
.social a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-weight:600}
.social a:hover{color:var(--cyan-ink)}
.trust{list-style:none;margin:var(--sp-7) 0 0;padding:var(--sp-5) 0 0;border-top:1px solid var(--line);display:grid;gap:var(--sp-4)}
@media (min-width:48em){.trust{grid-template-columns:repeat(2,1fr)}}
.trust li{display:flex;gap:var(--sp-3);align-items:flex-start;color:var(--ink);font-size:var(--fs-body)}
.trust .icon{color:var(--cyan-ink);margin-top:3px}

/* ===== Tabela nas páginas legais ===== */
.table-wrap{overflow-x:auto;margin:var(--sp-4) 0}
.legal-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:var(--sp-3);border-bottom:1px solid var(--line)}
.legal-table th{font:500 var(--fs-label)/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--cyan-ink)}

/* ===== Avatar Virtual (/avatar-virtual…) ===== */
.hero--page{min-height:0}
.av-media{border-radius:var(--radius);overflow:hidden;background:var(--night-2);border:1px solid var(--line-night);box-shadow:var(--shadow-2)}
.av-media video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.av-media img{display:block;width:100%;height:auto;background:var(--surface)}
.hero--page>.container{width:100%}
.av-tabs{margin-bottom:var(--sp-7)}
.av-tabs__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
@media (min-width:48em){.av-tabs__list{grid-template-columns:repeat(3,1fr)}}
/* Inativo: cartão escuro com contorno visível, ícone e seta — lê-se como botão sem depender da cor. */
.av-tabs__link{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--sp-3);height:100%;min-height:56px;padding:var(--sp-3) var(--sp-4);
  border-radius:var(--radius);background:var(--night-2);border:1px solid rgba(255,255,255,.18);color:var(--on-night);text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 8px 20px -12px rgba(0,0,0,.6);
  transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)} /* transform: só o GSAP mexe */
.av-tabs__icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);color:var(--on-night)}
.av-tabs__icon .icon{width:20px;height:20px}
.av-tabs__text{display:flex;flex-direction:column;min-width:0}
.av-tabs__text strong{font-weight:600;line-height:1.25}
.av-tabs__text small{font-size:var(--fs-small);line-height:1.35;color:var(--on-night-2)}
.av-tabs__go{flex:none;margin-left:auto;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:var(--on-night)}
.av-tabs__go .icon{width:16px;height:16px}
.av-tabs__link:hover,.av-tabs__link:focus-visible{border-color:var(--cyan);background:#10232F}
.av-tabs__link:hover .av-tabs__go{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
/* Ativo: superfície clara (contraste com o fundo escuro e com o ciano do resto do hero). */
.av-tabs__link[aria-current="page"]{background:var(--on-night);border-color:var(--on-night);color:var(--ink);box-shadow:0 10px 30px -12px rgba(0,216,246,.45)}
.av-tabs__link[aria-current="page"] .av-tabs__icon{background:var(--ink);color:var(--cyan)}
.av-tabs__link[aria-current="page"] small{color:var(--text)}
.av-tabs__link[aria-current="page"] .av-tabs__go{background:var(--ink);border-color:var(--ink);color:var(--cyan)}
.av-tabs__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cyan-ink);transform-origin:left center}
@media (max-width:47.99em){.av-tabs__text small{display:none}.av-tabs__link{padding-block:var(--sp-2)}}
/* Hero destas páginas: menos ciano — só o nome do produto e o botão principal. */
.hero--page .hero__brand{color:var(--on-night)}
.hero--page .pill{background:rgba(255,255,255,.05);border-color:var(--line-night);color:var(--on-night-2)}
.av-split{display:grid;gap:var(--sp-7);align-items:center}
@media (min-width:64em){.av-split{grid-template-columns:7fr 5fr}}
.av-prose{max-width:var(--measure)}
.av-figure{margin:0;max-width:30rem;justify-self:center}
.av-figure img{display:block;width:100%;height:auto}
.dot-list--cols{gap:var(--sp-3) var(--sp-6)}
@media (min-width:48em){.dot-list--cols{grid-template-columns:repeat(2,1fr)}}
.av-groups{display:grid;gap:var(--sp-5)}
@media (min-width:48em){.av-groups{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}}
.av-groups .service h3{font-size:var(--fs-h4);margin-bottom:var(--sp-4)}
.av-groups .dot-list{margin:0;color:var(--text)}
.av-videos{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-5)}
@media (min-width:64em){.av-videos{grid-template-columns:repeat(3,1fr)}}
.av-videos__label{margin:var(--sp-3) 0 0;font-weight:600;color:var(--ink)}
.av-meios{margin-top:var(--sp-6)}
@media (min-width:48em){.av-meios{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}
.av-meios li{padding:var(--sp-5)}
.av-meios p{margin:0;color:var(--ink)}
.av-meios__more{margin:var(--sp-5) 0 0;color:var(--muted)}
.av-partner{margin:var(--sp-6) auto 0;max-width:var(--measure);font-size:var(--fs-small);color:var(--on-night-2)}
.av-partner a{color:var(--cyan)}
