/* APIcultura DS v2 — base: reset, tipografia, layout, fundos (aurora/favo) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg) url(/assets/noise.png);color:var(--text);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;min-height:100vh}
img,svg,video{max-width:100%;display:block}
a{color:var(--accent-strong);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-ui);color:var(--ink);font-weight:500;margin:0;line-height:1.1}
h1{font-size:clamp(38px,7vw,76px);letter-spacing:-.04em}
h2{font-size:clamp(30px,4.6vw,50px);letter-spacing:-.035em}
h3{font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;line-height:1.25}
h4{font-size:16px;letter-spacing:-.01em}
p{margin:0}
.lead{font-size:clamp(16px,1.6vw,19px);color:var(--text-soft);line-height:1.6;max-width:60ch}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong)}
.eyebrow::before{content:"";width:9px;height:10px;background:var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.grad-text{background:linear-gradient(100deg,var(--accent-strong),var(--accent) 45%,var(--accent-strong));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%}
.mono{font-family:var(--f-mono)}
.muted{color:var(--text-mute)}
::selection{background:var(--accent);color:#2A1A00}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.section{padding:clamp(72px,10vw,140px) 0;position:relative}
.section-head{max-width:760px;margin:0 auto clamp(36px,5vw,64px);text-align:center;display:grid;gap:16px;justify-items:center}
.section-head .lead{margin-inline:auto}
.stack>*+*{margin-top:var(--s,16px)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
.i{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.i-fill{fill:currentColor;stroke:none}

/* ===== fundos ===== */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.9}
.aurora.mid i{animation:none!important}
.aurora i:nth-child(1){width:55vw;height:55vw;left:-12vw;top:-24vw;background:radial-gradient(closest-side,var(--aur-1),transparent 70%);animation:aur-a 18s var(--ease-soft) infinite alternate}
.aurora i:nth-child(2){width:48vw;height:48vw;right:-14vw;top:-14vw;background:radial-gradient(closest-side,var(--aur-2),transparent 70%);animation:aur-b 22s var(--ease-soft) infinite alternate}
.aurora i:nth-child(3){width:60vw;height:40vw;left:20vw;top:6vw;background:radial-gradient(closest-side,var(--aur-3),transparent 72%);animation:aur-c 26s var(--ease-soft) infinite alternate}
.arcs{position:absolute;left:50%;top:0;width:min(1500px,170vw);aspect-ratio:2/1;transform:translateX(-50%);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(#000,transparent 92%);mask-image:linear-gradient(#000,transparent 92%)}
.arcs svg{width:100%;height:100%;overflow:visible}
.arcs path{fill:none;stroke:url(#arcg);stroke-width:1.2;stroke-linecap:round}
.arcs path:nth-child(2){opacity:.6}.arcs path:nth-child(3){opacity:.35}
.hexbg{position:absolute;inset:0;pointer-events:none;z-index:0;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 75%)}
.hexbg i{position:absolute;inset:0;-webkit-mask-image:url(/assets/art/hex-tile.svg);mask-image:url(/assets/art/hex-tile.svg);-webkit-mask-size:65.8px 114px;mask-size:65.8px 114px}
.hexbg .hx-base{background:var(--hex-line);opacity:.35}
.hexbg .hx-wave{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:url(/assets/art/hex-tile-solid.svg);mask-image:url(/assets/art/hex-tile-solid.svg);-webkit-mask-size:65.8px 114px;mask-size:65.8px 114px}
.hexbg .ring{--sz:min(1800px,170vw);position:absolute;left:var(--ox);top:var(--oy);width:var(--sz);height:var(--sz);margin:calc(var(--sz) / -2) 0 0 calc(var(--sz) / -2);border-radius:50%;background:radial-gradient(closest-side,transparent 15%,var(--accent-glow) 78%,var(--accent-glow) 98%,transparent 100%);opacity:0;transform:scale(.04);animation:hxwave 12.6s linear infinite;animation-delay:var(--dl)}
@keyframes hxwave{0%{opacity:0;transform:scale(.04)}1%{opacity:1}11.5%{opacity:1}12.5%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
.rm-hexfill{display:none}
.divider-hex{height:14px;background:radial-gradient(circle at 7px 7px,var(--accent) 2px,transparent 3px) 0 0/28px 14px;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.pattern-comb{background-image:url("/assets/art/pattern-comb.svg");background-size:84px 144px}
.night{background:var(--night);color:var(--on-night);--ink:#FFF4DB;--text:#F3E6C4;--text-soft:#C5B48C;--text-mute:#9C8C68;--line:#3A2D12;--glass:rgba(255,230,160,.06);--glass-line:rgba(255,220,140,.14);--accent:#FFB524;--accent-strong:#FFC95C}
/* ===== desempenho: secoes abaixo da dobra so renderizam perto da viewport ===== */
.cv{content-visibility:auto;contain-intrinsic-size:auto var(--cvh,800px)}
/* pausa de animacoes fora da tela / aba oculta (classe aplicada por motion.js) */
html.tab-hidden *,html.tab-hidden *::before,html.tab-hidden *::after{animation-play-state:paused!important}
/* troca de tema instantanea: transicoes desligadas por 1 quadro */
html.no-transition *,html.no-transition *::before,html.no-transition *::after{transition:none!important}
[id]{scroll-margin-top:92px}
/* alturas medidas (desktop / mobile) para contain-intrinsic-size */
#agente{--cvh:1199px}#teste{--cvh:1025px}#como{--cvh:626px}#catalogo{--cvh:1003px}#segwrap{--cvh:842px}#workflows{--cvh:906px}#precos{--cvh:908px}#faq{--cvh:791px}.section.cv:not([id]){--cvh:602px}.footer.cv{--cvh:344px}
@media(max-width:760px){#agente{--cvh:1811px}#teste{--cvh:984px}#como{--cvh:1124px}#catalogo{--cvh:2089px}#segwrap{--cvh:1399px}#workflows{--cvh:1442px}#precos{--cvh:1513px}#faq{--cvh:646px}.section.cv:not([id]){--cvh:548px}.footer.cv{--cvh:645px}}
