/* ---- Base tipográfica ----
   O projeto do Design traz a fonte em cada elemento, via estilo inline,
   e nunca declarou nada na raiz. Enquanto tudo era código convertido isso
   não aparecia; qualquer elemento novo (chat, painel, ERP) herdava a fonte
   padrão do navegador. Declarar aqui resolve na origem. */
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input, textarea, select, button { font-family: inherit; }
code, kbd, pre, samp { font-family: "Spline Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* O painel do chat nasce escondido, sem esperar o JavaScript.
   Sem isso ele pisca na tela a cada carregamento de página. */
[data-chat][hidden] { display: none !important; }


  :root {
    --bg: #06070C; --bg2: #090B11;
    --fg: #E8ECF2; --fg2: #DCE3EC; --fg3: #C3CCD8; --fg4: #B5BFCC; --fg5: #A6B0BF;
    --muted: #97A1B2; --muted2: #8C97A7;
    --dim: #7E8A9D; --dim2: #7C889A; --dim3: #7E8A9D; --dim4: #7C8899; --dim5: #8B97A8;
    --line: rgba(255,255,255,.07); --line2: rgba(255,255,255,.10); --line3: rgba(255,255,255,.05); --line4: rgba(255,255,255,.14);
    --glass: linear-gradient(168deg, rgba(255,255,255,.055), rgba(255,255,255,.012));
    --glassHi: inset 0 1px 0 rgba(255,255,255,.10);
    --cell: rgba(255,255,255,.034); --cellHi: rgba(255,255,255,.07);
    --tint: linear-gradient(160deg, rgba(72,104,255,.18), rgba(255,255,255,.022));
    --tintLine: rgba(122,155,255,.22);
    --accent: #3B5BFF; --accentHi: #5B78FF; --accent2: #8AB0FF; --brand-cyan: #00B6C9;
    --sb: rgba(122,155,255,.30); --sbHi: rgba(122,155,255,.52);
    --duoA: #0A1230; --duoAop: .58; --duoB: #4E77FF; --duoBop: .30; --duoGrain: .14;
    --slotBg: rgba(255,255,255,.022);
    --inputBg: #06070C;
    --ok: #4FD08A; --warn: #E7B84F; --bad: #F2705F;
    --display: linear-gradient(176deg, #FFFFFF 20%, #C6D2E8 58%, #8896B2 100%);
    --logoFilter: brightness(0) invert(1);
    --brandFilter: brightness(1.55) saturate(1.08);
    --headerBg: rgba(6,7,12,.74);
    --chatBg: linear-gradient(180deg, rgba(20,24,38,.97), rgba(7,8,14,.98));
    --chatBot: #161C2A;
    --shine: rgba(255,255,255,.62);
    --stripe: rgba(126,158,255,.42);
    --auroraFilter: blur(13px) opacity(74%) saturate(120%);
    --heroImgOpacity: .46; --heroImgFilter: none; --heroBlend: screen; --heroGrad: .6;
    --heroScrim: radial-gradient(ellipse 58% 50% at 50% 45%, rgba(6,7,12,.82), rgba(6,7,12,.42) 60%, transparent 84%);
    --grain: .085;
    --auroraBlend: difference;
    --vignette: radial-gradient(150% 95% at 50% 26%, transparent 34%, rgba(6,7,12,.55) 68%, #06070C 100%);
    --shadow: 0 16px 44px rgba(0,0,0,.55);
    --shadowCta: 0 12px 34px rgba(59,91,255,.42);
    --stripes: repeating-linear-gradient(100deg, var(--stripe) 0%, var(--stripe) 7%, transparent 10%, transparent 12%, var(--stripe) 16%);
    --rays: repeating-linear-gradient(100deg, #0A1650 10%, #3B5BFF 15%, #7DA0FF 19%, #14226E 24%, #3B5BFF 30%);
  }
  html[data-kt="light"] {
    --bg: linear-gradient(180deg, #FFFFFF 0%, #F5F8FF 52%, #E8EFFF 100%); --bg2: linear-gradient(180deg, #F7FAFF, #EDF3FF);
    --fg: #0C1424; --fg2: #16233A; --fg3: #2C3A54; --fg4: #374560; --fg5: #4A5872;
    --muted: #54627C; --muted2: #5E6C84;
    --dim: #6B7789; --dim2: #5F6C82; --dim3: #6B7789; --dim4: #68758A; --dim5: #64718A;
    --line: rgba(20,42,110,.10); --line2: rgba(20,42,110,.14); --line3: rgba(20,42,110,.07); --line4: rgba(20,42,110,.18);
    --glass: linear-gradient(168deg, rgba(255,255,255,.94), rgba(236,243,255,.62));
    --glassHi: inset 0 1px 0 rgba(255,255,255,.9);
    --cell: rgba(255,255,255,.72); --cellHi: rgba(255,255,255,.96);
    --tint: linear-gradient(160deg, rgba(59,91,255,.11), rgba(255,255,255,.74));
    --tintLine: rgba(59,91,255,.24);
    --accent: #3B5BFF; --accentHi: #2A47E0; --accent2: #2C48C8; --brand-cyan: #0097A8;
    --sb: rgba(20,42,110,.22); --sbHi: rgba(20,42,110,.40);
    --duoA: #0E1A46; --duoAop: .34; --duoB: #6E92FF; --duoBop: .22; --duoGrain: .07;
    --slotBg: rgba(20,42,110,.03);
    --inputBg: #FFFFFF;
    --ok: #1B8A52; --warn: #8A5F00; --bad: #C23A29;
    --display: linear-gradient(176deg, #0B1224 18%, #27365A 58%, #4C5E85 100%);
    --logoFilter: brightness(0);
    --headerBg: rgba(255,255,255,.80);
    --chatBg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,245,255,.99));
    --chatBot: #F1F5FF;
    --shine: rgba(255,255,255,.80);
    --stripe: rgba(59,91,255,.20);
    --brandFilter: brightness(0);
    --auroraFilter: blur(20px) opacity(26%) saturate(120%);
    --heroImgOpacity: .3; --heroImgFilter: invert(1) hue-rotate(186deg) saturate(.7) brightness(1.08); --heroBlend: normal; --heroGrad: .34;
    --heroScrim: radial-gradient(ellipse 58% 50% at 50% 45%, rgba(255,255,255,.82), rgba(255,255,255,.45) 60%, transparent 84%);
    --grain: .05;
    --auroraBlend: normal;
    --vignette: radial-gradient(150% 95% at 50% 26%, transparent 30%, rgba(255,255,255,.62) 66%, #FFFFFF 100%);
    --shadow: 0 16px 44px rgba(20,42,110,.14);
    --shadowCta: 0 12px 30px rgba(59,91,255,.28);
  }
  html, body { margin: 0; padding: 0; background: #06070C; }
  html[data-kt="light"], html[data-kt="light"] body { background: #FFFFFF; }
  * { box-sizing: border-box; }
  a { color: var(--accent2); text-decoration: none; }
  a:hover { color: var(--accent); }
  ::selection { background: var(--accent); color: #FFFFFF; }
  html { scrollbar-width: thin; scrollbar-color: var(--sb) transparent; }
  ::-webkit-scrollbar { width: 11px; height: 11px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: var(--sb); background-clip: content-box; border: 3px solid transparent; border-radius: 999px; }
  ::-webkit-scrollbar-thumb:hover { background: var(--sbHi); background-clip: content-box; }
  ::-webkit-scrollbar-corner { background: transparent; }
  main { animation: kinarPageIn .21s cubic-bezier(.22,.61,.36,1) both; }
  @keyframes kinarPageIn { from { opacity: 0; transform: translate3d(0,16px,0); } to { opacity: 1; transform: none; } }
  @keyframes kinarFlowH { 0% { transform: translateX(0); opacity: 0; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { transform: translateX(100%); opacity: 0; } }
  @keyframes kinarFlowV { 0% { transform: translateY(0); opacity: 0; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { transform: translateY(100%); opacity: 0; } }
  [data-a4wrap]:hover [data-star="1"] { transform: translate3d(-20px,-18px,0) rotate(-14deg) scale(1.12); }
  [data-a4wrap]:hover [data-star="2"] { transform: translate3d(22px,12px,0) rotate(16deg) scale(1.14); }
  [data-a4wrap]:hover [data-star="3"] { transform: translate3d(-16px,18px,0) rotate(-20deg) scale(1.1); }
  [data-a4wrap]:hover [data-a4] { transform: rotate(0deg) translateY(-6px); filter: drop-shadow(0 28px 54px rgba(59,91,255,.4)); }
  @keyframes kinarLupaIn { 0% { opacity: 0; transform: translateY(24px) scale(.9); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
  @keyframes kinarLupaFloat { 0%, 100% { transform: translateY(0) rotate(-1.6deg); } 50% { transform: translateY(-11px) rotate(1.6deg); } }
  @keyframes kinarLupaGlow { 0%, 100% { opacity: .5; transform: translate(-50%,-50%) scale(1); } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1.14); } }
  @keyframes kinarStarA { 0%, 100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(-5px,-11px,0) rotate(-10deg); } }
  @keyframes kinarStarB { 0%, 100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(8px,7px,0) rotate(12deg); } }
  @keyframes kinarStarC { 0%, 100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(-6px,9px,0) rotate(-13deg); } }
  [data-lupawrap] { animation: kinarLupaIn .85s cubic-bezier(.22,.61,.36,1) both; }
  [data-lupafloat] { animation: kinarLupaFloat 7s ease-in-out infinite; }
  [data-lupaglow] { animation: kinarLupaGlow 5.6s ease-in-out infinite; }
  [data-starw="1"] { animation: kinarStarA 6.4s ease-in-out infinite; }
  [data-starw="2"] { animation: kinarStarB 7.6s ease-in-out .6s infinite; }
  [data-starw="3"] { animation: kinarStarC 8.4s ease-in-out 1.1s infinite; }
  [data-lupawrap]:hover [data-starw="1"] img { transform: translate3d(-24px,-22px,0) rotate(-16deg) scale(1.16); }
  [data-lupawrap]:hover [data-starw="2"] img { transform: translate3d(26px,16px,0) rotate(18deg) scale(1.18); }
  [data-lupawrap]:hover [data-starw="3"] img { transform: translate3d(-20px,22px,0) rotate(-22deg) scale(1.14); }
  [data-lupawrap]:hover [data-lupa] { transform: scale(1.05) rotate(-2.5deg); filter: drop-shadow(0 30px 56px rgba(78,110,255,.45)); }
  @keyframes kinarTitleCycle { 0% { opacity: 0; transform: translateY(12px); } 7% { opacity: 1; transform: translateY(0); } 90% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-12px); } }
  [data-titlecycle] { animation: kinarTitleCycle 6s ease-in-out infinite; }
  @keyframes kinarCookieIn { 0% { opacity: 0; transform: translateY(22px) scale(.97); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
  [data-cookie] { animation: kinarCookieIn .5s cubic-bezier(.22,.61,.36,1) both; }
  html[data-kt="light"] [data-lupaplate] { opacity: 1 !important; }
  @media (max-width: 860px) {
    [data-footlink] { padding: 9px 0 !important; }
    [data-r="titlecycle"] { min-height: 3.4em !important; }
    [data-themebtn] { padding: 8px 9px 8px 11px !important; }
    [data-menubtn] { height: 40px !important; }
  }
  @keyframes kinarFlowDie { 0% { transform: translateX(0); opacity: 0; } 10% { opacity: 1; } 40% { transform: translateX(10%); opacity: 1; } 56% { transform: translateX(10%); opacity: 0; } 100% { transform: translateX(10%); opacity: 0; } }
  @keyframes kinarFlowDieV { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 40% { transform: translateY(10%); opacity: 1; } 56% { transform: translateY(10%); opacity: 0; } 100% { transform: translateY(10%); opacity: 0; } }
  [data-flow="vaza"] [data-diagpulse] { animation: kinarFlowDie 4.6s ease-out infinite; }
  [data-flow="vaza"] [data-diagpulsev] { animation: kinarFlowDieV 4.6s ease-out infinite; }
  [data-flow] [data-diagfix], [data-flow] [data-diagleak], [data-flow] [data-diagmarkup], [data-flow] [data-diagmarkdown], [data-flow] [data-diagtick], [data-flow] [data-diagnode] { transition: opacity .32s ease; }
  [data-flow] [data-diagnode] > div { transition: transform .2s cubic-bezier(.34,1.4,.64,1), border-color .2s ease, background .2s ease, box-shadow .2s ease; }
  [data-flow] [data-diagnode]:hover > div { border-color: var(--tintLine); background: var(--cellHi); transform: translateY(-3px); }
  [data-flow="vaza"] [data-diagfix], [data-flow="vaza"] [data-diagmarkup], [data-flow="vaza"] [data-diagtick="up"] { opacity: 0; }
  [data-flow="vaza"] [data-mn="3"] > div, [data-flow="vaza"] [data-mn="4"] > div, [data-flow="vaza"] [data-mn="5"] > div, [data-flow="vaza"] [data-mn="6"] > div { opacity: .34; }
  [data-flow] [data-diagnode] > div { transition: transform .2s cubic-bezier(.34,1.4,.64,1), border-color .2s ease, background .2s ease, box-shadow .2s ease, opacity .32s ease; }
  [data-flow="kinar"] [data-diagleak], [data-flow="kinar"] [data-diagmarkdown], [data-flow="kinar"] [data-diagtick="down"] { opacity: 0; }
  [data-flow="kinar"] [data-diaglh], [data-flow="kinar"] [data-diaglv] { background: var(--tintLine) !important; }
  @keyframes kinarLit {
    0%, 100% { box-shadow: var(--glassHi), 0 0 0 0 rgba(59,91,255,0), inset 0 0 0 0 rgba(59,91,255,0); }
    4% { box-shadow: var(--glassHi), 0 0 30px 3px rgba(59,91,255,.45), inset 0 0 26px 0 rgba(59,91,255,.20); }
    16% { box-shadow: var(--glassHi), 0 0 0 0 rgba(59,91,255,0), inset 0 0 0 0 rgba(59,91,255,0); }
  }
  [data-diagnode] > div { animation: kinarLit 6.6s linear infinite; }
  [data-mn="1"] > div { animation-delay: .1s; }
  [data-mn="2"] > div { animation-delay: 1.32s; }
  [data-mn="3"] > div { animation-delay: 2.64s; }
  [data-mn="4"] > div { animation-delay: 3.96s; }
  [data-mn="5"] > div { animation-delay: 5.28s; }
  [data-mn="6"] > div { animation-delay: 6.14s; }
  [data-flow="vaza"] [data-diagnode] > div { animation: none; }
  [data-flow="vaza"] [data-mn="1"] > div { animation: kinarLit 4.6s linear infinite; animation-delay: .18s; }
  @keyframes kinarModalIn { from { opacity: 0; transform: translate3d(0,18px,0) scale(.985); } to { opacity: 1; transform: none; } }
  @keyframes kinarCtaPulse { 0%, 100% { box-shadow: var(--shadowCta), 0 0 0 0 rgba(59,91,255,.5); } 50% { box-shadow: var(--shadowCta), 0 0 0 10px rgba(59,91,255,0); } }
  [data-modal] { animation: kinarModalIn .28s cubic-bezier(.22,.61,.36,1) both; }
  [data-ctapulse] { animation: kinarCtaPulse 2.4s ease-out infinite; }
  [data-blur="1"] { filter: blur(9px) saturate(.75); opacity: .55 !important; pointer-events: none; user-select: none; }
  [data-diagpulse] { animation: kinarFlowH 6.6s linear infinite; }
  [data-diagpulsev] { animation: kinarFlowV 6.6s linear infinite; }
  @keyframes kinarDrift { from { transform: scale(1.05) translate3d(-1.8%, .9%, 0); } to { transform: scale(1.12) translate3d(1.8%, -1.4%, 0); } }
  @keyframes kinarGradSlide { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
  @keyframes kinarAurora { from { background-position: 50% 50%, 50% 50%; } to { background-position: 350% 50%, 350% 50%; } }
  @keyframes kinarSweep { 0% { background-position: 230% 0; opacity: 0; } 8% { opacity: 1; } 42% { background-position: -130% 0; opacity: 0; } 100% { background-position: -130% 0; opacity: 0; } }
  @keyframes kinarMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes kinarMarqueeRev { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  [data-marquee] > div { will-change: transform; }
  [data-marquee]:hover > div { animation-play-state: paused; }
  [data-marquee] [data-logo]:hover img { opacity: 1 !important; transform: scale(1.06); }
  @keyframes kinarFloat { 0%,100% { transform: translateY(-9px); } 50% { transform: translateY(9px); } }
  @keyframes kinarOrb { 0%,100% { transform: translate3d(0,-6px,0) rotate(-2.2deg); } 50% { transform: translate3d(0,6px,0) rotate(2.2deg); } }
  @keyframes kinarOrbGlow { 0%,100% { opacity: .3; transform: scale(.92); } 50% { opacity: .58; transform: scale(1.06); } }
  [data-orb] { animation: kinarOrb 9s ease-in-out infinite; }
  [data-orbglow] { animation: kinarOrbGlow 9s ease-in-out infinite; }
  [data-r="grid4"] > *:nth-child(2) [data-orb], [data-r="grid4"] > *:nth-child(2) [data-orbglow] { animation-delay: -2.25s; }
  [data-r="grid4"] > *:nth-child(3) [data-orb], [data-r="grid4"] > *:nth-child(3) [data-orbglow] { animation-delay: -4.5s; }
  [data-r="grid4"] > *:nth-child(4) [data-orb], [data-r="grid4"] > *:nth-child(4) [data-orbglow] { animation-delay: -6.75s; }
  [data-btn] { position: relative; overflow: hidden; isolation: isolate; transition: transform .2s cubic-bezier(.34,1.4,.64,1), background .18s, border-color .18s; }
  [data-btn]:hover { transform: scale(1.015); }
  [data-btn]:active { transform: scale(.97); }
  [data-btn]::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-image: linear-gradient(105deg, transparent 38%, var(--shine) 50%, transparent 62%); background-size: 260% 100%; background-repeat: no-repeat; animation: kinarSweep 2.6s linear infinite; }
  [data-btn]::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit; padding: 1px; background-image: linear-gradient(105deg, transparent 30%, var(--shine) 50%, transparent 70%); background-size: 240% 100%; background-repeat: no-repeat; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; animation: kinarSweep 2.6s linear infinite; }
  [data-btn="2"]::before, [data-btn="2"]::after { animation: none; opacity: 0; }
  [data-btn="2"]:hover::before, [data-btn="2"]:hover::after { animation: kinarSweep 1.6s linear 1 forwards; }
  [data-kmap] .kinar-uf { transition: fill .2s ease, stroke .2s ease; }
  [data-kmap] .kinar-sig { font-family: 'Spline Sans Mono', ui-monospace, monospace; font-size: 12.5px; font-weight: 500; letter-spacing: .1em; paint-order: stroke; pointer-events: none; }
  [data-btn] > span { position: relative; z-index: 2; }
  [data-reveal] { opacity: 0; transform: translate3d(0,14px,0); transition: opacity .5s cubic-bezier(.22,.61,.36,1), transform .5s cubic-bezier(.22,.61,.36,1); }
  [data-reveal].is-in { opacity: 1; transform: none; }
  @keyframes kinarPulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
  [data-logo]:hover img { opacity: 1 !important; }
  [data-logo]:hover [data-cap] { opacity: 1 !important; transform: none !important; }
  [data-logo]:hover { background: var(--cellHi) !important; }
  @keyframes kinarBlobA { 0% { transform: translate3d(0,0,0) scale(1); } 25% { transform: translate3d(13%, 9%, 0) scale(1.1); } 50% { transform: translate3d(21%, -5%, 0) scale(1.18); } 75% { transform: translate3d(7%, -12%, 0) scale(1.06); } 100% { transform: translate3d(0,0,0) scale(1); } }
  @keyframes kinarBlobB { 0% { transform: translate3d(0,0,0) scale(1.08); } 25% { transform: translate3d(-12%, 8%, 0) scale(.96); } 50% { transform: translate3d(-19%, -8%, 0) scale(1.14); } 75% { transform: translate3d(-6%, -14%, 0) scale(1); } 100% { transform: translate3d(0,0,0) scale(1.08); } }
  @keyframes kinarBlobC { 0% { transform: translate3d(0,0,0) scale(1); } 25% { transform: translate3d(-10%, -11%, 0) scale(1.12); } 50% { transform: translate3d(6%, -19%, 0) scale(1.22); } 75% { transform: translate3d(11%, -6%, 0) scale(1.08); } 100% { transform: translate3d(0,0,0) scale(1); } }
  @keyframes kinarBlobD { 0% { transform: translate3d(0,0,0) scale(.94); opacity: .55; } 25% { transform: translate3d(-13%, 11%, 0) scale(1.12); opacity: .85; } 50% { transform: translate3d(-23%, 19%, 0) scale(1.26); opacity: 1; } 75% { transform: translate3d(-9%, 8%, 0) scale(1.08); opacity: .8; } 100% { transform: translate3d(0,0,0) scale(.94); opacity: .55; } }
  @media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
    [data-float], [data-aurora], [data-btn]::before, [data-btn]::after, [data-diagpulse], [data-diagpulsev], [data-diagnode] > div, [data-ctapulse], main { animation: none !important; }
    [data-flow] [data-diagnode] > div, [data-flow] [data-diagfix], [data-flow] [data-diagleak] { transition: none !important; }
    [data-a4], [data-star] { transition: none !important; }
    [data-lupawrap], [data-lupafloat], [data-lupaglow], [data-starw] { animation: none !important; }
    [data-lupa], [data-starw] img { transition: none !important; }
    [data-lupawrap]:hover [data-starw] img, [data-lupawrap]:hover [data-lupa] { transform: none !important; }
    [data-titlecycle], [data-cookie] { animation: none !important; }
    [data-a4wrap]:hover [data-star="1"], [data-a4wrap]:hover [data-star="2"], [data-a4wrap]:hover [data-star="3"] { transform: none !important; }
  }
  @media (max-width: 1080px) {
    [data-r="dashrow"], [data-r="dashrow2"] { grid-template-columns: 1fr !important; }
  }
  @media (max-width: 700px) {
    [data-r="funnelwrap"] { grid-template-columns: 1fr !important; }
    [data-r="leadgrid"] { grid-template-columns: 1fr !important; }
    [data-r="vagarow"] { grid-template-columns: 1fr !important; gap: 6px !important; }
  }
  @media (max-width: 1080px) {
    [data-r="grid4"] { grid-template-columns: repeat(2, 1fr) !important; }
    [data-r="grid5"] { grid-template-columns: repeat(3, 1fr) !important; }
    [data-r="ctacell"] { grid-column: 1 / -1 !important; min-height: 104px !important; }
    [data-r="hero"], [data-r="split"] { grid-template-columns: 1fr !important; gap: 40px !important; }
    [data-r="mapa"] { width: 100%; max-width: 620px; justify-self: center; }
    [data-r="sobreHead"] { display: flex !important; }
    [data-r="sobrePhoto"], [data-r="sobreSign"] { display: none !important; }
  }
  [data-menubtn] { display: none; }
  @media (max-width: 1000px) {
    [data-r="depo"] { grid-template-columns: 1fr !important; }
    [data-r="herov2"] { grid-template-columns: 1fr !important; gap: 34px !important; text-align: center; justify-items: center; }
    [data-r="herov2"] [data-r="v2col"] { align-items: center !important; }
    [data-r="herov2mark"] { order: -1; width: min(58vw, 300px) !important; justify-self: center !important; }
  }
  @media (max-width: 1060px) {
    [data-r="nav"] { display: none !important; }
    [data-menubtn] { display: flex !important; }
  }
  @media (max-width: 860px) {
    [data-r="herostats"] { grid-template-columns: 1fr 1fr !important; }
    [data-r="hero"] { min-height: 84vh !important; padding-top: 96px !important; }
    [data-r="grid2"], [data-r="grid3"], [data-r="row3"], [data-r="depo"] { grid-template-columns: 1fr !important; }
    [data-r="steps"] { grid-template-columns: 1fr !important; }
    [data-r="stepsrail"] { display: none !important; }
    [data-r="grid5"] { grid-template-columns: repeat(2, 1fr) !important; }
    [data-r="ctacell"] { grid-column: auto !important; min-height: 168px !important; }
    [data-r="pracas"], [data-r="foot"] { grid-template-columns: 1fr 1fr !important; }
    [data-r="foot"] { gap: 32px !important; }
    [data-r="nav"] { display: none !important; }
    [data-r="hbar"] { gap: 16px !important; }
  }
  @media (max-width: 960px) {
    [data-diagrow] { flex-direction: column !important; min-height: 0 !important; }
    [data-diagnode] { width: auto !important; }
    [data-diagconn] { height: 40px !important; min-width: 0 !important; flex: none !important; }
    [data-diagconn]:has([data-diagfix]) { height: 104px !important; }
    [data-diagpwv] { top: 26px !important; bottom: 26px !important; }
    [data-diagrow] > [data-diagnode] > div { padding: 13px 10px !important; }
    [data-diaglh], [data-diagtick], [data-diagpw] { display: none !important; }
    [data-diaglv], [data-diagpwv] { display: block !important; }
    [data-diagmark] { left: 24px !important; }
    [data-diagfix], [data-diagleak] { left: 46px !important; right: 0 !important; width: auto !important; text-align: left !important; transform: none !important; }
    [data-diagfix] { top: 14px !important; bottom: auto !important; }
    [data-diagleak] { bottom: 14px !important; top: auto !important; }
    [data-r="tlwrap"] { grid-template-columns: 1fr !important; }
    [data-r="photostrip"] { grid-template-columns: 1fr 1fr !important; }
  }
  @media (max-width: 760px) {
    [data-carousel] { display: flex !important; grid-template-columns: none !important; flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 12px !important; padding-bottom: 4px; margin-left: calc(clamp(18px, 4vw, 32px) * -1); margin-right: calc(clamp(18px, 4vw, 32px) * -1); padding-left: clamp(18px, 4vw, 32px); padding-right: clamp(18px, 4vw, 32px); }
    [data-carousel]::-webkit-scrollbar { display: none; }
    [data-carousel] > * { flex: 0 0 84%; }
    [data-r="kpigrid"][data-carousel] > * { flex: 0 0 68%; }
  }
  @media (max-width: 620px) {
    [data-r="a4"] { width: 138px !important; }
    [data-r="photostrip"] { grid-template-columns: 1fr !important; }
    [data-r="herostats"] { gap: 18px !important; }
    [data-r="hbar"] { height: 56px !important; padding-right: 8px !important; }
    [data-r="hcta"] { display: none !important; }
    [data-r="grid4"], [data-r="pracas"], [data-r="foot"] { grid-template-columns: 1fr !important; }
  }
/* Estados de hover e foco, gerados na conversão do projeto de design */
[data-kh="kh1"]:hover { background: var(--cellHi) !important; color: var(--fg) !important; }
[data-kh="kh2"]:hover { border-color: var(--tintLine) !important; }
[data-kh="kh3"]:hover { border-color: var(--tintLine) !important; color: var(--fg) !important; }
[data-kh="kh4"]:hover { background: var(--accentHi) !important; }
[data-kh="kh5"]:hover { color: var(--fg) !important; }
[data-kh="kh6"]:hover { border-color: var(--tintLine) !important; background: var(--cellHi) !important; }
[data-kh="kh7"]:hover { background: var(--cellHi) !important; }
[data-kh="kh8"]:hover { border-color: var(--tintLine) !important; transform: translateY(-3px) !important; box-shadow: var(--shadow) !important; }
[data-kh="kh9"]:hover { border-color: var(--tintLine) !important; background: var(--tint) !important; }
[data-kh="kh10"]:hover { background: var(--tint) !important; color: var(--fg) !important; }
[data-kh="kh11"]:hover { border-color: var(--tintLine) !important; transform: translateY(-3px) !important; }
[data-kh="kh12"]:hover { background: var(--cellHi) !important; border-color: var(--line4) !important; }
[data-kh="kh13"]:focus { border-color: var(--accent2) !important; outline: none !important; }
[data-kh="kh14"]:hover { border-color: var(--accent2) !important; color: var(--fg3) !important; }
[data-kh="kh15"]:hover { color: var(--fg2) !important; }

/* ---- Corpo dos artigos ---- */
[data-artigo] h2 { font-size: clamp(24px,2.6vw,32px); line-height:1.18; letter-spacing:-.03em; font-weight:500; color:var(--fg); margin:44px 0 14px; }
[data-artigo] h3 { font-size: clamp(19px,2vw,23px); line-height:1.25; letter-spacing:-.02em; font-weight:600; color:var(--fg2); margin:34px 0 10px; }
[data-artigo] p { margin:0 0 20px; }
[data-artigo] ul, [data-artigo] ol { margin:0 0 22px; padding-left:22px; }
[data-artigo] li { margin-bottom:9px; }
[data-artigo] a { color:var(--accent2); }
[data-artigo] strong { color:var(--fg); font-weight:600; }
[data-artigo] blockquote { margin:26px 0; padding:2px 0 2px 20px; border-left:2px solid var(--tintLine); color:var(--fg2); }
[data-artigo] img { max-width:100%; height:auto; border-radius:12px; margin:26px 0; }
[data-artigo] code { font-family:'Spline Sans Mono',monospace; font-size:.92em; background:var(--cell); padding:2px 6px; border-radius:5px; }

/* ---- Seleção e barra de rolagem ---- */
::selection { background: var(--accent); color: #FFFFFF; }
* { scrollbar-width: thin; scrollbar-color: var(--sb) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--sb); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: var(--sbHi); }
*::-webkit-scrollbar-track { background: transparent; }

/* ---- Menu: itens do nav como links ---- */
header nav a { text-decoration: none; display: inline-block; }

/* ---- Tooltip do mapa ---- */
[data-mapa-tip] { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0;
  transform: translate(-50%, -160%); background: var(--chatBg); border: 1px solid var(--tintLine);
  border-radius: 8px; padding: 9px 12px; white-space: nowrap; transition: opacity .14s ease;
  backdrop-filter: blur(6px); box-shadow: var(--shadow); z-index: 5; }
[data-mapa-tip] b { display: block; font-size: 13.5px; font-weight: 600; color: var(--fg); }
[data-mapa-tip] span { display: block; font-family: 'Spline Sans Mono', monospace; font-size: 10.5px;
  letter-spacing: .12em; color: var(--accent2); margin-top: 3px; }
[data-mapa] svg path { transition: fill .18s ease, opacity .18s ease; }

/* ============================================================
   Chat de agendamento — comportamento de toque e celular

   O painel e desenhado com estilo em linha, que vence CSS comum.
   Por isso as regras daqui usam !important: e a unica forma de
   sobrescrever no celular sem reescrever o HTML.
   ============================================================ */

/* A rolagem do chat nao pode vazar para a pagina de tras. */
[data-chat-mensagens],
[data-chat-barra] {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Enquanto o chat esta aberto no celular, a pagina de tras trava. */
body.kinar-chat-aberto {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden !important;
}

@media (max-width: 680px) {
  /* Tela cheia: no celular, painel flutuante deixa alvos pequenos
     e areas de toque ambiguas nas bordas. */
  [data-chat] {
    inset: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    /* 100dvh acompanha a barra do navegador. O ajuste fino quando o
       teclado sobe e feito por JavaScript, medindo a area visivel. */
    height: 100dvh !important;
    max-height: 100dvh !important;
    transform-origin: top left;
    border: 0 !important;
    border-radius: 0 !important;
  }

  /* Alvo de toque de 44px, o minimo confortavel para o dedo. */
  [data-chat-fechar] {
    width: 44px !important;
    height: 44px !important;
    font-size: 28px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin-right: -8px;
  }

  [data-chat-mensagens] { padding: 16px 14px !important; }
  [data-chat-barra] {
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
  }

  /* Botoes e campos maiores, para nao errar o toque. */
  [data-chat-barra] button,
  [data-chat-barra] a { min-height: 46px; }
  [data-chat-barra] input { min-height: 48px; font-size: 16px !important; }

  [data-chat-abrir] {
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    padding: 14px 20px !important;
  }
}

/* ============================================================
   Pagina individual da vaga (/trabalhe-conosco/<slug>)
   Veio no pacote do Design como responsivo.css.
   Sem isto o hero e as secoes divididas nao empilham no celular
   e o cadeado do selo 'Vaga aberta' fica parado.
   ============================================================ */
@media (max-width: 1080px) {
  [data-r="vagahero"], [data-r="vagasplit"] { grid-template-columns: 1fr !important; gap: 34px !important; }
}
@media (max-width: 700px) {
  [data-r="vagarow"] { grid-template-columns: 1fr !important; gap: 6px !important; }
  [data-r="vagagrid"] { grid-template-columns: 1fr !important; }
}

@keyframes kinarLock { 0%, 22% { transform: none; } 40%, 74% { transform: translateY(-1px) rotate(-40deg); } 92%, 100% { transform: none; } }
@keyframes kinarLockSpark { 0%, 30% { opacity: 0; } 44%, 70% { opacity: 1; } 82%, 100% { opacity: 0; } }
[data-lock] { animation: kinarLock 3s ease-in-out infinite; transform-origin: 8px 11px; transform-box: view-box; }
[data-lockspark] { animation: kinarLockSpark 3s ease-in-out infinite; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  [data-lock], [data-lockspark] { animation: none !important; }
}
