/* ============================================================
   ALPHATAURI — estilos globais
   Cores/fontes da marca: variáveis em #at-root (via paletas
   em assets/js/content.js). Layout fino vive inline no app.js,
   fiel ao design de referência.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0}
/* NÃO usar scroll-behavior:smooth aqui: toda rolagem do site passa por AT_MOTION.scrollTo (ou pelo
   fallback com behavior:'smooth'), e um 'smooth' global ignora quem pediu movimento reduzido. */
html{scroll-behavior:auto}
body{background:#f3efe4}
::selection{background:#b08d4f;color:#fff}
a{text-decoration:none;color:inherit}
input{font-family:'IBM Plex Sans',sans-serif}
input:focus{outline:none}
input::placeholder{color:#9a9486}

#at-root{
  --dark:#2c352a;--darker:#232b20;--darkline:#3e4838;
  --cream:#f3efe4;--cream2:#ece6d8;
  --gold:#b08d4f;--gold2:#cdb079;--goldd:#9b7e44;--goldd2:#a8884a;--goldhi:#dcc592;
  --dmute:#aeb09a;--dmute2:#8d9079;
  font-family:'IBM Plex Sans',sans-serif;color:#2b2c24;background:var(--cream);
  min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  /* clip (não hidden): hidden faz do #at-root um scroll container e quebra position:sticky da jornada */
  overflow-x:hidden;overflow-x:clip;
  /* refino tipográfico clássico: kerning + ligaturas reais da Cormorant, sem swashes */
  text-rendering:optimizeLegibility;font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
}
/* números financeiros tabulares em serifa (colunas alinhadas, sem "pular" ao animar) */
.at-heroB-h1,#at-fv,#at-pat,#at-invested,#at-interest,[data-count]{font-variant-numeric:lining-nums tabular-nums}

/* ---- animações ---- */
@keyframes atrise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes atviewin{from{opacity:0}to{opacity:1}}
@keyframes atken{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes atbob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes atglow{0%,100%{opacity:.10}50%{opacity:.24}}
@keyframes attwk{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes atdraw{to{stroke-dashoffset:0}}
@keyframes atserv{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes atdonut{from{opacity:0;transform:rotate(-42deg) scale(.82)}to{opacity:1;transform:none}}
@keyframes atintroglyph{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes atintroword{from{opacity:0;letter-spacing:.85em}to{opacity:1;letter-spacing:.5em}}
@keyframes atintrorule{from{width:0}to{width:34px}}
@keyframes atintroout{0%,52%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-26px);visibility:hidden}}
#at-intro{animation:atintroout 2.05s cubic-bezier(.7,0,.25,1) forwards}
#at-progress{transform:scaleX(0);transform-origin:left;transition:transform .12s linear}
@keyframes atmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.at-ticker-track{display:inline-flex;animation:atmarquee 38s linear infinite}
#at-tickerbar:hover .at-ticker-track{animation-play-state:paused}
.at-viewin{animation:atviewin .5s ease both}

/* ---- camada tecnológica (v2) ---- */
@keyframes atsheen{from{transform:translateX(-140%) skewX(-18deg)}to{transform:translateX(320%) skewX(-18deg)}}
@keyframes atword{from{opacity:0;transform:translateY(.42em);filter:blur(9px)}to{opacity:1;transform:none;filter:none}}
.at-word{display:inline-block;animation:atword 1.05s cubic-bezier(.16,1,.3,1) both}
@keyframes atcue{0%{transform:translateY(-100%)}58%{transform:translateY(100%)}100%{transform:translateY(100%)}}
.at-cue-line{display:block;overflow:hidden;position:relative}
.at-cue-line>span{display:block;width:1px;height:100%;background:var(--gold2);animation:atcue 2.3s cubic-bezier(.65,0,.35,1) infinite}
.at-glow{position:absolute;width:640px;height:640px;border-radius:50%;pointer-events:none;top:0;left:0;background:radial-gradient(circle,color-mix(in srgb,var(--gold2) 8.5%,transparent),color-mix(in srgb,var(--gold2) 3%,transparent) 42%,transparent 68%);transform:translate(-9999px,-9999px);will-change:transform;opacity:0;transition:opacity .6s ease}
.at-mw{transition:opacity .55s ease}
#at-tickerbar{position:relative}
#at-tickerbar::before,#at-tickerbar::after{content:"";position:absolute;top:0;bottom:0;width:88px;z-index:2;pointer-events:none}
#at-tickerbar::before{left:0;background:linear-gradient(90deg,var(--darker),transparent)}
#at-tickerbar::after{right:0;background:linear-gradient(270deg,var(--darker),transparent)}
#at-fv,#at-pat,[data-count],.at-qv,.at-qchg{font-variant-numeric:tabular-nums lining-nums}
.at-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
.at-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.07)}
.at-servarrow{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.at-serv:hover .at-servarrow{transform:translateX(7px)}
.at-rulecol{position:relative}
.at-rulecol::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--goldd2);transition:width .65s cubic-bezier(.16,1,.3,1)}
.at-rulecol:hover::before{width:100%}
@media (max-height:940px){.at-scrollcue{display:none !important}}

/* ---- camada de movimento (assets/js/motion.js) ---- */
/* herói: fundo gerado (dado/nebulosa) + véu que garante contraste do título */
#at-herobg{position:absolute;inset:0;overflow:hidden;background:var(--dark);will-change:transform,opacity}
#at-herobg canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.at-hero-veil{position:absolute;inset:0;pointer-events:none}
.at-hero-veil[data-hero="dado"]{background:radial-gradient(120% 100% at 50% 45%,rgba(20,24,18,0) 0%,rgba(20,24,18,.18) 55%,rgba(16,19,14,.62) 100%)}
.at-hero-veil[data-hero="nebulosa"]{background:radial-gradient(120% 100% at 50% 42%,rgba(20,24,18,.18),rgba(20,24,18,.62) 70%,rgba(16,19,14,.88))}
/* #at-herobg é ID: o fallback precisa da mesma especificidade para vencer o `background:var(--dark)` */
#at-herobg.at-nebulosa-fallback,.at-nebulosa-fallback{background:radial-gradient(120% 120% at 30% 60%,color-mix(in srgb,var(--goldd) 22%,var(--dark)),var(--darker) 70%)}
.at-mc-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.at-mc-halo{position:absolute;display:block;border-radius:50%;pointer-events:none;will-change:transform,opacity;background:radial-gradient(circle,color-mix(in srgb,var(--goldhi) 90%,transparent) 0%,color-mix(in srgb,var(--gold2) 35%,transparent) 35%,transparent 70%)}
@media (max-width:760px){.at-hero-datalabel{max-width:70vw!important;left:22px!important}}
/* SplitText: máscara por linha (o plugin cria .at-sl com overflow hidden); nada a fazer, só garantir herança */
.at-sl{display:block}
/* fio que se estende no topo das colunas (filosofia/escritórios) */
.at-rulecol-fio{border-top-color:transparent!important}
.at-fio{position:absolute;top:-1px;left:0;width:100%;height:1px;background:#2b2c24;display:block;pointer-events:none;z-index:0}
.at-rulecol-fio::before{z-index:1}
/* ícones Tabler (subset em assets/img/icons.svg) — traço fino para casar com a serifa */
.at-ico{display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.4;flex-shrink:0}
.at-serv:hover .at-servarrow{transform:translate(5px,-5px)}

/* visível para leitor de tela, fora da tela para os olhos (padrão sem clip-path depreciado) */
.at-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Ao receber foco de teclado o bloco vira um PAINEL de verdade: absoluto DENTRO do palco (que é
   sticky, logo já está colado na janela) e acima das cenas
   (que são position:absolute com z-index 2/3), com fundo próprio e rolagem interna.
   A versão anterior usava position:static + z-index (inerte em elemento não posicionado):
   o texto caía por baixo das cenas e era recortado no celular. */
.at-sr-only:focus-within{position:absolute;top:0;left:0;right:0;width:auto;height:auto;max-height:100vh;
  margin:0;padding:26px 6vw 30px;overflow:auto;clip-path:none;white-space:normal;z-index:300;
  background:var(--darker);border-bottom:1px solid var(--gold);color:var(--dmute);
  font-family:'IBM Plex Sans',sans-serif;font-size:14px;line-height:1.7}
.at-sr-only:focus-within h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;color:#f1ecdd;margin:18px 0 6px;line-height:1.15}
.at-sr-only:focus-within p{max-width:70ch;margin-bottom:6px}
.at-sr-only:focus-within ul{margin:6px 0 6px 20px}
.at-sr-only:focus-within button{display:inline-block;margin:0 12px 8px 0;padding:10px 16px;cursor:pointer;
  background:none;border:1px solid var(--gold);color:var(--gold2);
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase}

/* ---- PÁGINAS (pedido do Eduardo 19/08, na segunda tentativa — a primeira, empilhar telas por
   cima, foi rejeitada: "você inventou o modo"): cada seção abaixo da jornada é uma PÁGINA de tela
   cheia com o conteúdo centrado, e um gesto de rolagem CENTRALIZA a próxima página — o snap fica
   no motion.js (Lenis). Aqui é só o layout de página; sem JS nada quebra, vira rolagem normal. */
.at-cine-on{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.at-cine-on>*{width:100%}

/* ---- A JORNADA (cenas dirigidas pelo scroll) ---- */
.at-journey{position:relative;background:var(--darker);color:#e9e4d5}
.at-j-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:
  radial-gradient(120% 90% at 72% 40%,rgba(54,66,47,.45),rgba(20,24,18,0) 60%),var(--darker)}
.at-j-video{position:absolute;inset:0;overflow:hidden}
.at-j-video video{width:100%;height:100%;object-fit:cover;display:block;opacity:.55;filter:saturate(.7) contrast(1.05)}
.at-j-coord{display:block;color:var(--gold2);margin-bottom:6px;letter-spacing:.22em}
.at-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.at-hero-veil[data-hero="video"]{background:radial-gradient(120% 100% at 50% 42%,rgba(20,24,18,.35),rgba(20,24,18,.75) 70%,rgba(16,19,14,.9))}
.at-j-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,24,18,.5) 0%,rgba(20,24,18,0) 18%,rgba(20,24,18,0) 82%,rgba(20,24,18,.6) 100%)}
.at-j-scene{position:absolute;inset:0;display:grid;grid-template-columns:minmax(300px,460px) 1fr;align-items:center;gap:40px;padding:0 6vw;opacity:0;visibility:hidden;pointer-events:none}
.at-j-copy{order:1}.at-j-visual{order:2}
.at-j-scene.on{pointer-events:auto}
/* a 1ª cena nasce visível: se o timeline nunca renderizar (sem rAF), a seção não fica em branco */
.at-j-scene[data-i="0"]{opacity:1;visibility:visible}
.at-j-copy{position:relative;z-index:3;max-width:480px}
.at-j-eyebrow{font-size:9.5px;letter-spacing:.34em;color:var(--gold);margin-bottom:22px}
.at-j-h2{font-weight:500;font-size:clamp(38px,4.6vw,66px);line-height:1;color:#f1ecdd;margin-bottom:22px;letter-spacing:-.01em}
.at-j-p{font-weight:300;font-size:15px;line-height:1.8;color:var(--dmute);max-width:440px}
.at-j-cities{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;font-size:9px;letter-spacing:.24em;color:var(--dmute)}
.at-j-city{position:relative;padding-left:12px;transition:color .4s}
.at-j-city::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:currentColor;opacity:.5}
.at-j-city.lit,.at-j-city-home{color:var(--gold2)}
.at-j-cta{background:none;border:none;cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-top:18px;padding:10px 0}
.at-j-visual{position:relative;z-index:2;height:100%;min-height:0}
.at-j-visual-globe{height:100vh;height:100svh}
.at-j-globe{position:absolute;inset:0;width:100%;height:100%;display:block}
.at-j-legend{position:absolute;right:0;bottom:64px;font-size:8.5px;letter-spacing:.24em;color:var(--dmute);text-align:right;max-width:380px;line-height:1.8}
.at-j-visual-edu{display:flex;flex-direction:column;justify-content:flex-end;height:72vh;position:relative}
.at-j-edu{width:100%;height:auto;display:block;overflow:visible}
.at-j-edu-base{stroke:rgba(205,176,121,.18);stroke-width:1;fill:none}
.at-j-edu-area{fill:var(--gold2);fill-opacity:.07}
.at-j-edu-line{stroke:var(--gold2);stroke-width:2.2;fill:none}
.at-j-ms circle{fill:var(--darker);stroke:var(--gold2);stroke-width:1.2;opacity:.35;transition:opacity .4s}
.at-j-ms .at-j-ms-halo{fill:var(--gold2);stroke:none;opacity:0}
.at-j-ms text{font-family:'IBM Plex Mono',monospace;fill:var(--dmute);opacity:.62;transition:opacity .4s}
.at-j-ms .at-j-ms-y{font-size:9px;letter-spacing:.28em}
.at-j-ms .at-j-ms-t{font-family:'Cormorant Garamond',serif;font-size:19px;fill:#e9e4d5;letter-spacing:0}
.at-j-ms.lit circle{opacity:1;fill:var(--gold2)}
.at-j-ms.lit .at-j-ms-halo{opacity:.16}
.at-j-ms.lit text{opacity:1}
.at-j-card{position:absolute;right:0;top:6vh;width:260px;padding:20px 22px;border:1px solid rgba(205,176,121,.22);background:rgba(20,24,18,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.at-j-card-bar{height:2px;background:rgba(220,210,180,.12);margin-top:14px;overflow:hidden}
.at-j-card-bar i{display:block;height:100%;background:var(--gold2);transform-origin:0 50%}
/* dispositivos com o painel (mock do portal demo) */
.at-j-visual-devices{height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;perspective:1600px}
.at-lap{position:relative;width:min(62vw,760px);transform-style:preserve-3d;will-change:transform}
.at-lap-screen{aspect-ratio:16/10;background:#0e120d;border:1px solid rgba(220,210,180,.22);border-radius:10px 10px 0 0;padding:10px 10px 0;box-shadow:0 40px 90px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.6);overflow:hidden}
.at-lap-base{height:14px;margin:0 -3%;background:linear-gradient(180deg,#3a3f35,#1c201a);border-radius:0 0 12px 12px;border-top:1px solid rgba(220,210,180,.25)}
.at-phone{position:absolute;left:-2%;bottom:9vh;width:min(17vw,220px);will-change:transform}
.at-phone-screen{aspect-ratio:9/19;background:#0e120d;border:1px solid rgba(220,210,180,.25);border-radius:26px;padding:10px 8px;box-shadow:0 30px 70px rgba(0,0,0,.55);overflow:hidden}
.at-mock{height:100%;display:flex;flex-direction:column;gap:8px;background:var(--dark);border-radius:4px;padding:10px 12px;font-family:'IBM Plex Sans',sans-serif;color:#e9e4d5;font-size:10px;overflow:hidden;position:relative}
.at-mock i{font-family:'IBM Plex Mono',monospace;font-style:normal;font-size:7px;letter-spacing:.24em;color:var(--dmute);display:block}
.at-mock b{font-weight:400}
.at-mock-bar{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--darkline)}
.at-mock-brand{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:7px;letter-spacing:.3em;color:#e9e4d5}
.at-mock-label{font-family:'IBM Plex Mono',monospace;font-size:7px;letter-spacing:.22em;color:var(--dmute);margin-left:auto}
.at-mock-demo{font-family:'IBM Plex Mono',monospace;font-size:6.5px;letter-spacing:.2em;color:var(--gold2);border:1px solid rgba(205,176,121,.4);padding:2px 6px;white-space:nowrap}
/* no celular do mock não cabe tudo: o selo de ficção é o que NÃO pode ser cortado */
.at-mock-compact .at-mock-bar{flex-wrap:wrap;gap:6px}
.at-mock-compact .at-mock-label{display:none}
.at-mock-compact .at-mock-demo{flex:1 0 100%;text-align:center;margin-left:0}
.at-mock-kpis{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:10px}
.at-mock-compact .at-mock-kpis{grid-template-columns:1fr 1fr}
.at-mock-kpis b{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;margin-top:4px;line-height:1;font-variant-numeric:tabular-nums lining-nums}
.at-mock-kpis .at-mock-big{font-size:24px;color:#f5f1e6}
.at-mock-chart{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}
.at-mock-chart svg{flex:1;width:100%;min-height:0;display:block}
.at-mock-area{fill:var(--gold2);fill-opacity:.1}
.at-mock-nav{fill:none;stroke:var(--gold2);stroke-width:1.4}
.at-mock-cdi{fill:none;stroke:var(--dmute2);stroke-width:.9}
.at-mock-dot{fill:var(--gold2)}
.at-mock-leg{display:flex;gap:14px;font-family:'IBM Plex Mono',monospace;font-size:6.5px;letter-spacing:.2em;color:var(--dmute)}
.at-mock-leg em{display:inline-block;width:10px;height:1px;vertical-align:middle;margin-right:5px}
.at-mock-row{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}
.at-mock-bars{display:flex;height:4px;gap:1px;margin-top:6px;overflow:hidden}
.at-mock-bars b{display:block;height:100%}
.at-mock-goal{display:grid;grid-template-columns:1fr 70px 28px;align-items:center;gap:8px;font-size:8.5px;color:#d8d3c4;margin-top:5px}
.at-mock-track{display:block;height:2px;background:rgba(220,210,180,.12)}
.at-mock-track b{display:block;height:100%;background:var(--gold2)}
.at-mock-foot{font-family:'IBM Plex Mono',monospace;font-size:6px;letter-spacing:.22em;color:var(--dmute);border-top:1px solid var(--darkline);padding-top:6px;margin-top:auto}
/* HUD */
.at-j-hud{position:absolute;left:6vw;right:6vw;bottom:26px;z-index:4;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.at-j-idx{display:flex;gap:18px;font-size:8.5px;letter-spacing:.3em;color:var(--dmute)}
.at-j-dot{display:flex;align-items:center;gap:8px;transition:color .4s}
.at-j-dot i{display:block;width:18px;height:1px;background:currentColor;opacity:.5;transition:width .4s,opacity .4s}
.at-j-dot.on{color:var(--gold2)}
.at-j-dot.on i{width:34px;opacity:1}
.at-j-hint{font-size:8.5px;letter-spacing:.34em;color:var(--dmute);transition:opacity .5s}
.at-journey.at-j-end .at-j-hint{opacity:0}
/* estático (sem motion ou movimento reduzido): as cenas empilham e tudo fica visível */
.at-j-static{height:auto!important}
.at-j-static .at-j-stage{position:relative;height:auto;overflow:visible}
.at-j-static .at-j-scene{position:relative;opacity:1;visibility:visible;pointer-events:auto;min-height:80vh;padding:70px 6vw}
.at-j-static .at-j-visual-globe,.at-j-static .at-j-visual-devices{height:70vh}
.at-j-static .at-j-ms circle,.at-j-static .at-j-ms text,.at-j-static .at-j-city{opacity:1}
.at-j-static .at-j-hud{display:none}
@media (max-width:1024px){
  .at-j-scene{grid-template-columns:1fr;align-content:center;gap:14px;padding:0 22px}
  .at-j-copy{max-width:560px}
  .at-j-h2{font-size:clamp(34px,8vw,52px)}
  .at-j-visual-globe{height:52vh;height:52svh}
  .at-j-visual-edu{height:40vh}
  .at-j-card{display:none}
  .at-j-visual-devices{height:46vh;height:46svh}
  .at-lap{width:min(88vw,640px)}
  .at-phone{display:none}
  .at-j-legend{display:none}
  .at-j-hud{left:22px;right:22px}
  .at-mock-kpis{grid-template-columns:1fr 1fr}
  .at-mock-row{display:none}
}

/* ---- hovers / focus (equivalentes aos style-hover do design) ---- */
.at-navlink{position:relative}
.at-navlink::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold2);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.16,1,.3,1)}
.at-navlink:hover{color:#f1ecdd !important}
.at-navlink:hover::after{transform:scaleX(1)}
.at-langbtn:hover{border-color:var(--gold2) !important}
.at-btn-gold{position:relative;overflow:hidden;transition:background .3s,transform .45s cubic-bezier(.16,1,.3,1)}
.at-btn-gold::after{content:"";position:absolute;top:0;bottom:0;left:0;width:46%;background:linear-gradient(105deg,transparent,color-mix(in srgb,var(--goldhi) 55%,transparent),transparent);transform:translateX(-140%) skewX(-18deg);pointer-events:none}
.at-btn-gold:hover{background:var(--goldhi) !important}
.at-btn-gold:hover::after{animation:atsheen .85s cubic-bezier(.4,0,.2,1)}
.at-menulink:hover{color:var(--gold2) !important}
.at-ghostlink:hover{color:#f1ecdd !important}
.at-offlink{transition:color .3s,border-color .3s}
.at-offlink:hover{color:var(--goldd2) !important;border-color:var(--goldd2) !important}
.at-rulecol{transition:border-color .35s}
.at-rulecol:hover{border-top-color:var(--goldd2) !important}
.at-serv{transition:background .3s,padding .3s}
.at-serv:hover{background:var(--cream);padding-left:10px !important;padding-right:10px !important}
.at-famcard{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.at-famcard:hover{transform:translateY(-4px)}
.at-yeartab:hover{color:var(--goldhi) !important}
.at-in-dark:focus{border-bottom-color:var(--gold2) !important}
.at-in-cream:focus{border-bottom-color:var(--goldd2) !important}
.at-btn-dark:hover{opacity:.9}
.at-btn-line:hover{border-color:var(--gold2) !important}
.at-logout:hover{color:var(--gold2) !important}
.at-eqrow-h:hover{background:var(--cream)}
.at-doclink:hover{background:var(--cream)}
.at-newsitem{transition:border-color .3s}
.at-newsitem:hover{border-top-color:var(--gold2) !important}
.at-railrow:hover{background:rgba(255,255,255,.04)}
.at-chapa .at-chaplabel{opacity:0;transition:opacity .3s}
.at-chapa:hover .at-chaplabel,.at-chapa.on .at-chaplabel{opacity:1}
.at-chapbar{transition:width .3s,background .3s}
#essencia .at-aporte:focus-within{border-color:var(--gold2) !important}

/* acessibilidade: foco visível no teclado */
#at-root a:focus-visible,#at-root button:focus-visible,#at-root input:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:1px}
/* sobre superfície clara o anel dourado some — usa verde-escuro (>=9:1 sobre creme) */
#at-root .at-in-cream:focus-visible,#at-root [data-act="cat"]:focus-visible,#at-root .at-doclink:focus-visible{outline-color:var(--dark)}

/* respeita usuários com movimento reduzido */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto !important}
  #at-root *,#at-intro,#at-progress{animation-duration:.001ms !important;animation-delay:0s !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .at-glow,.at-scrollcue{display:none !important}
  .at-mw{opacity:1 !important}
}

/* ---- responsivo ---- */
@media (max-width:1024px){
  .at-navlinks{display:none !important}
  .at-navtoggle{display:flex !important}
  .at-heroB-h1{font-size:84px !important}
  .at-2col{grid-template-columns:1fr !important}
  .at-grid-portal{grid-template-columns:1fr !important}
  .at-grid-news{grid-template-columns:1fr !important}
  .at-newsrail{position:static !important;margin-top:28px}
  .at-earn2{grid-template-columns:1fr !important}
  .at-chapidx{display:none !important}
  .at-calc-in{padding-right:0 !important;padding-bottom:30px !important}
  .at-calc-res{border-left:none !important;padding-left:0 !important;border-top:1px solid rgba(205,176,121,.22) !important;padding-top:28px !important}
  .at-estrela-grid{grid-template-columns:1fr !important}
}
@media (max-width:760px){
  .at-heroB-h1{font-size:64px !important}
  .at-grid4{grid-template-columns:1fr 1fr !important}
  .at-grid3{grid-template-columns:1fr 1fr !important}
  .at-officewrap{min-width:0 !important}
  .at-serv{grid-template-columns:1fr !important;gap:8px !important;padding:26px 4px !important}
  .at-servname{font-size:21px !important}
  .at-servbody{display:none !important}
  .at-eqrow{grid-template-columns:64px 1fr 78px !important}
  .at-eqhide{display:none !important}
  .at-sec{padding-left:22px !important;padding-right:22px !important}
  .at-manifesto-p{font-size:34px !important}
  .at-news-h1{font-size:46px !important}
  .at-loginwrap{flex-direction:column !important}
}
@media (max-width:460px){
  .at-heroB-h1{font-size:15vw !important}
  .at-grid4{grid-template-columns:1fr !important}
  .at-grid3{grid-template-columns:1fr !important}
}
