/* aquisicao.css: página /aquisicao. Só tokens do site (ver shell.css) e a cor de acento. */
:root{--mute-soft:#e1dfdd73}
main{display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
em{font-style:normal;color:var(--mute)}
h1,h2,h3{font-weight:600}
.eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--line-soft);font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:0}
.eyebrow i{display:block;width:16px;height:8px;background:var(--accent)}
h1{font-size:clamp(42px,5.6vw,80px);line-height:.9;letter-spacing:-.04em;margin:22px 0 24px}
h2{font-size:clamp(34px,4.45vw,64px);line-height:1;letter-spacing:-.04em}
h3{letter-spacing:-.04em}
.lead,.sub{font-size:18px;line-height:1.4;color:var(--mute)}
.btn .arr{font-size:14px}
.tlink{font-size:16px;text-transform:uppercase;letter-spacing:0;border-bottom:1px solid var(--line);padding-bottom:2px}
.tlink:hover{color:var(--accent);border-color:var(--accent)}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;max-width:1392px;margin:0 auto;padding:150px 24px 90px}
.hero .sub{max-width:560px}
.hero-cta{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.feed{background:var(--panel);border:1px solid var(--line);padding:20px}
.feed-list{list-style:none;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;height:calc(5*56px + 4*8px)}
.note{display:none;align-items:center;gap:14px;min-height:56px;padding:0 18px;border:1px solid var(--line-soft);background:var(--bg);font-size:16px}
.note.shown{display:flex}
.note .dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--mute-soft);transition:background-color .3s var(--ease)}
.note .dot.on{background:var(--accent)}
.note .txt{flex:1;min-width:0}
.note .time,.count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.note .time{color:var(--mute);font-size:14px}
.fine{margin-top:12px;font-size:12px;color:var(--mute);text-align:center}
@media(max-width:480px){.feed-list{height:calc(5*68px + 4*8px)}.note{min-height:68px;font-size:15px;padding:0 14px}}
/* secções */
.sec{max-width:1120px;margin:0 auto;padding:100px 24px 0}
.head{text-align:center;max-width:920px;margin:0 auto}
.head .lead{max-width:640px;margin:24px auto 0}
.head .btn{margin-top:32px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:64px}
.stat{text-align:center}
.stat h3{font-size:clamp(24px,2.4vw,32px);line-height:1;letter-spacing:-.04em;color:var(--accent);margin-bottom:14px}
.stat p{color:var(--mute);font-size:16px;line-height:1.4}
.grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.fcard{border:1px solid var(--line);background:var(--panel);padding:32px;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.fcard svg{width:44px;height:44px;margin-bottom:56px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.fcard h3{font-size:24px;line-height:1;margin-bottom:12px}
.fcard p{color:var(--mute);font-size:16px;line-height:1.4}
.note-small{max-width:720px;margin:32px auto 0;text-align:center;font-size:14px;color:var(--mute)}
/* ícones: micro-animações no hover (250 ms) */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .fcard:hover,.fcard[data-reveal].in:hover{transform:translateY(-3px);border-color:var(--mute-soft)}
 .ic-filter .bars path{transition:transform .25s var(--ease);transform-box:fill-box;transform-origin:center}
 .ic-filter:hover .bars path{transform:scaleX(.8)}
 .ic-chat:hover .d1{animation:pulse .25s var(--ease) 0s 1}
 .ic-chat:hover .d2{animation:pulse .25s var(--ease) .06s 1}
 .ic-chat:hover .d3{animation:pulse .25s var(--ease) .12s 1}
 .ic-chat circle{fill:var(--accent);stroke:none;transform-box:fill-box;transform-origin:center}
 .ic-nodes .ln{stroke-dasharray:16;stroke-dashoffset:0}
 .ic-nodes:hover .ln{animation:draw .25s var(--ease) 1}
 .ic-cycle svg{transition:transform .25s var(--ease);transform-origin:50% 50%}
 .ic-cycle:hover svg{transform:rotate(180deg)}
 .ic-cal .sq{fill:none;transition:fill .25s var(--ease)}
 .ic-cal:hover .sq.lit{fill:var(--accent)}
 .ic-chart rect{fill:var(--accent);stroke:none;transform-box:fill-box;transform-origin:bottom}
 .ic-chart:hover .b1{animation:grow .25s var(--ease) 0s 1}
 .ic-chart:hover .b2{animation:grow .25s var(--ease) .04s 1}
 .ic-chart:hover .b3{animation:grow .25s var(--ease) .08s 1}
}
.ic-chat circle,.ic-chart rect{fill:var(--accent);stroke:none}
.ic-cal .sq{fill:none}
@keyframes pulse{50%{transform:scale(1.7)}}
@keyframes draw{from{stroke-dashoffset:16}to{stroke-dashoffset:0}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* pipeline */
.pl{position:relative;list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:72px}
.pl-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pl-svg line{stroke-width:1;stroke-linecap:round}
.pl-svg .base{stroke:var(--line)}
.pl-svg .prog{stroke:var(--accent);stroke-width:1.5}
.pl-dot{position:absolute;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px 3px var(--accent);opacity:0;transition:opacity .3s var(--ease);will-change:transform;pointer-events:none}
.pl-dot.on{opacity:1}
.pl-step{position:relative;z-index:1;display:block}
.pl-n{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);font-family:"Disket Mono",monospace;font-size:13px;color:var(--mute);margin-bottom:22px;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.pl-step h3{font-size:20px;line-height:1.1;margin-bottom:8px;color:var(--mute);transition:color .3s var(--ease)}
.pl-step p{font-size:15px;line-height:1.4;color:var(--mute)}
.js .pl-step p{opacity:0;transition:opacity .3s var(--ease)}
.pl-step.active .pl-n{background:var(--accent);border-color:var(--accent);color:#fff}
.pl-step.active h3{color:var(--ink)}
.js .pl-step.active p{opacity:1}
@media(max-width:900px){
 .pl{grid-template-columns:1fr;gap:34px;margin-top:56px}
 .pl-step{display:flex;gap:20px}.pl-n{flex:none;margin-bottom:0}
}
/* hub */
.hub{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 clamp(60px,12vw,150px);margin-top:64px}
.hub-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hub-svg path{fill:none;stroke-linecap:round}
.hub-svg .base{stroke:var(--line);stroke-width:1}
.hub-svg .flow{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:2 10;opacity:0;transition:opacity .6s var(--ease);animation:flow 4s linear infinite;animation-play-state:paused}
.hub.flowing .flow{opacity:.45;animation-play-state:running}
.hub.paused .flow{animation-play-state:paused}
@keyframes flow{to{stroke-dashoffset:-120}}
.hub-col{list-style:none;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.hub-in{align-items:flex-end}.hub-out{align-items:flex-start}
.chip{display:inline-block;padding:12px 18px;border:1px solid var(--line);background:var(--panel);font-size:16px;line-height:1.2;white-space:nowrap}
.hub-node{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:132px;height:132px;border:1px solid var(--accent);background:var(--bg)}
.hub-node img{width:72px;height:auto}
.js [data-side]{opacity:0;transition:opacity .55s var(--ease),transform .55s var(--ease)}
.js [data-side=l]{transform:translateX(-28px)}.js [data-side=r]{transform:translateX(28px)}
.js .hub.in [data-side]{opacity:1;transform:none}
.js .hub-node{opacity:0}
.js .hub.in .hub-node{opacity:1;animation:nodepulse .6s var(--ease) 1}
@keyframes nodepulse{0%{transform:scale(.95)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
@media(max-width:760px){
 .hub{grid-template-columns:1fr;gap:64px 0;justify-items:center}
 .hub-col{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}
 .hub-in,.hub-out{align-items:center}
 .js [data-side=l]{transform:translateY(-20px)}.js [data-side=r]{transform:translateY(20px)}
 .chip{padding:10px 14px;font-size:15px}
}
/* comparação */
.cmp{position:relative;display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;margin-top:64px;border-top:1px solid var(--line)}
.cmp-row{display:contents}
.cmp .cell{grid-row:calc(var(--r,0) + 1)}
.cmp .cell:nth-child(1){grid-column:1}.cmp .cell:nth-child(2){grid-column:2}.cmp .cell:nth-child(3){grid-column:3}.cmp .cell:nth-child(4){grid-column:4}
.cell{position:relative;z-index:1;padding:22px 24px;border-bottom:1px solid var(--line-soft);font-size:16px;line-height:1.35;color:var(--mute)}
.cell.rl{color:var(--ink)}
.cmp-row.head .cell{font-size:12px;text-transform:uppercase;color:var(--mute);padding-top:20px;padding-bottom:20px}
.cell.oslo{color:var(--ink)}
.cmp-row.head .cell.oslo{color:var(--accent)}
.col-hl{grid-column:4;grid-row:1 / span 6;background:#f154361a;border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-top:2px solid var(--accent);transform-origin:top;transition:transform .7s var(--ease) .2s;margin-top:-1px}
.js .cmp:not(.in) .col-hl{transform:scaleY(0)}
.js .cmp:not(.in) .cell{opacity:0;transform:translateY(20px)}
.cell{transition:opacity .55s var(--ease),transform .55s var(--ease);transition-delay:calc(var(--r,0)*60ms)}
.cmp-row.head .cell{transition-delay:0s}
@media(max-width:760px){
 .cmp{display:block;border-top:0}
 .col-hl{display:none}
 .cmp-row.head{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .cmp-row:not(.head){display:block;border:1px solid var(--line);background:var(--panel);margin-bottom:14px;padding:6px 0 0}
 .cell{display:block;padding:12px 20px;border-bottom:0}
 .cell.rl{font-family:inherit;font-size:20px;font-weight:600;letter-spacing:-.04em;padding-top:16px}
 .cell[data-label]::before{content:attr(data-label);display:block;font-size:12px;text-transform:uppercase;color:var(--mute-soft);margin-bottom:2px}
 .cell.oslo{background:#f154361a;margin-top:6px;padding-top:14px;padding-bottom:16px;overflow:hidden;border-top:2px solid var(--accent)}
 .cell.oslo::before{color:var(--accent)}
 .js .cmp:not(.in) .cell{opacity:1;transform:none}
 .js .cmp-row:not(.head):not(.in) .cell{opacity:0;transform:translateY(20px)}
 .cell{transition-delay:0s}
}
/* passos */
.steps{list-style:none;max-width:920px;margin:64px auto 0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:32px 0;border-bottom:1px solid var(--line)}
.num{font-size:32px;line-height:1;letter-spacing:-.04em;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}
.step h3{font-size:24px;line-height:1;margin-bottom:12px}
.step p{color:var(--mute);max-width:640px}
@media(max-width:560px){.step{grid-template-columns:1fr}}
/* para quem é */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px}
.fit-box{border:1px solid var(--line);background:var(--panel);padding:36px}
.fit-box h3{font-size:24px;line-height:1;margin-bottom:26px}
.fit-box ul{list-style:none;display:flex;flex-direction:column;gap:18px}
.fit-box li{color:var(--mute)}
@media(max-width:760px){.fit{grid-template-columns:1fr}.fit-box{padding:28px 24px}}
/* faq */
.faq{max-width:920px;margin:64px auto 0;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:28px 0;cursor:pointer;font-size:clamp(19px,2vw,24px);font-weight:600;letter-spacing:-.04em;line-height:1.1;color:var(--ink)}
.faq button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.faq button:hover{color:var(--accent)}
.faq i{position:relative;flex:none;width:18px;height:18px;transition:transform .3s var(--ease)}
.faq i::before,.faq i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor}
.faq i::after{transform:rotate(90deg)}
.faq button[aria-expanded=true] i{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.faq-a>div{overflow:hidden;visibility:hidden;transition:visibility 0s .3s}
.faq-a p{padding:0 48px 28px 0;color:var(--mute);max-width:760px}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a>div{visibility:visible;transition-delay:0s}
/* cta e logótipos */
.cta-sec{padding-bottom:0}
.logos-sec{text-align:center;padding-top:110px}
.good{color:var(--mute);font-size:16px;margin-bottom:34px}
.logos{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 56px}
.logos img{display:block;width:30px;height:30px}
.final-cta{padding-top:110px;padding-bottom:120px}
.final-cta h2{max-width:760px;margin:0 auto}
/* revelar em cascata */
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.js [data-reveal].in{opacity:1;transform:none}
.js .fcard[data-reveal].done{transition:transform .25s var(--ease),border-color .25s var(--ease);transition-delay:0s}
/* hero: entrada no carregamento */
.js [data-load]{opacity:0;animation:fadeup .6s var(--ease) forwards;animation-delay:calc(var(--k,0)*80ms)}
.js .feed{opacity:0;animation:feedin .6s var(--ease) .44s forwards}
.js .fine{opacity:0;animation:feedin .6s var(--ease) .6s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes feedin{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
/* responsivo */
@media(max-width:1000px){
 .hero{grid-template-columns:1fr;gap:44px;padding-top:120px}
 .stats{grid-template-columns:1fr;gap:40px}
 .grid6{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .sec{padding-top:72px}
 .hero{padding:104px 24px 56px}
 .grid6{grid-template-columns:1fr}
 .fcard svg{margin-bottom:36px}
 .logos-sec{padding-top:80px}.final-cta{padding-top:80px;padding-bottom:80px}
}
/* movimento reduzido: tudo no estado final */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js [data-reveal],.js [data-load],.js .feed,.js .fine,.js [data-side],.js .hub-node,.js .cmp:not(.in) .cell,.js .cmp-row:not(.head):not(.in) .cell{opacity:1!important;transform:none!important}
 .js .pl-step p{opacity:1}
 .js .cmp:not(.in) .col-hl{transform:none}
 .hub .flow,.pl-dot{display:none}
}
#como-funciona,#features,#problema,#integracoes,#comparacao,#processo,#para-quem,#faq{scroll-margin-top:24px}
.hub.measure [data-side],.hub.measure .hub-node{transform:none!important;transition:none!important;animation:none!important}
h1,h2,.lead,.sub{text-wrap:balance}
