/* Base e identidade */
:root{--navy:#071c3d;--navy-2:#0b2e5f;--blue:#164c82;--accent:#2571b8;--ink:#101828;--muted:#667085;--light:#f5f7fa;--line:#e1e7ee;--white:#fff;--blue-soft:#F2F6FA;--blue-pale:#EAF0F6;--gray-soft:#F3F5F8;--container:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:contain}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--navy);line-height:1.18;letter-spacing:-.04em}p{color:var(--muted)}h2{font-size:clamp(30px,3.1vw,42px);font-weight:650}h3{font-size:25px;font-weight:650}ul{padding:0;margin:0;list-style:none}.container{width:calc(100% - 96px);max-width:var(--container);margin-inline:auto}.section{padding:70px 0}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:650;letter-spacing:.16em;color:var(--blue);margin-bottom:22px}.eyebrow:before{content:'';display:block;width:20px;height:3px;background:var(--accent);transform:skew(-35deg)}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:52px;padding:13px 23px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:6px;font-size:13px;font-weight:550;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px);box-shadow:0 6px 16px #071c3d12}.button .icon{width:18px;height:18px}.button-outline{background:transparent;color:var(--navy);border-color:#cbd4df}.button-outline:hover{background:#eaf0f6;color:var(--navy);border-color:#a7b6c9}.button-white{background:white;color:var(--navy);border-color:white}.button-white:hover{background:#e2ebf5;border-color:#e2ebf5}.button-small{min-height:44px;padding:11px 16px;font-size:12px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:18px;color:var(--navy);font-size:14px;font-weight:650;padding:8px 0;border-bottom:1px solid #a5b8cd;transition:color .2s,border-color .2s}.text-link .icon{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link:hover .icon{transform:translateX(6px)}:focus-visible{outline:3px solid #2571b8;outline-offset:5px}.skip-link{position:fixed;left:20px;top:-80px;background:var(--navy);color:white;padding:12px 20px;z-index:200}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Cabeçalho */
.site-header{position:sticky;top:0;z-index:100;background:white;border-bottom:1px solid #edf0f4;transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 3px 16px #071c3d09}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--navy)}.brand img{width:252px;height:auto;object-fit:contain;border-radius:0}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav>a:not(.button){font-size:12px;font-weight:500;padding-block:10px;transition:color .2s}.site-header nav>a:not(.button):hover{color:var(--accent)}.menu-toggle{display:none}
/* Hero: composição de produto em HTML e SVG */
.hero{background:var(--blue-soft);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:46px;min-height:652px;padding-top:5px;padding-bottom:5px}.hero .eyebrow{font-size:10px;letter-spacing:.15em}.hero .eyebrow>span{display:none}.hero h1{font-size:clamp(40px,4.05vw,57px);font-weight:650;line-height:1.12;letter-spacing:-.05em;max-width:580px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-description{font-size:15px;line-height:1.85;max-width:495px;margin:25px 0 30px}.hero-note{display:flex;gap:12px;align-items:flex-start;font-size:11px;max-width:390px;line-height:1.7;margin-top:30px}.small-line{width:22px;height:1px;background:#8496ad;margin-top:9px;flex-shrink:0}.hero-art{height:465px;position:relative;isolation:isolate;background:#eef2f7;border:1px solid #e5ebf2;border-radius:5px;}.art-topline{position:absolute;left:25px;right:25px;top:21px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#5f7390;font-weight:600}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.system-window{position:absolute;left:-22px;right:34px;top:88px;background:white;border:1px solid #dce4ef;border-radius:7px;box-shadow:0 22px 40px #071c3d12;overflow:hidden;transform:rotate(-2deg)}.window-top{height:40px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:#fcfdff;border-bottom:1px solid var(--line);font-size:9px;color:#63718a}.window-dots{color:#aebacc;font-size:9px;letter-spacing:3px}.window-top .icon{width:14px;height:14px}.system-body{padding:22px}.system-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;color:var(--navy)}.pill{font-size:7px;letter-spacing:.08em;padding:4px 7px;color:var(--blue);background:#ecf2f8;border-radius:3px;white-space:nowrap}.system-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.system-modules>div{background:#f5f7fa;border:1px solid #eaf0f6;border-radius:4px;padding:13px 12px}.system-modules .icon{color:var(--accent);width:20px;height:20px;margin-bottom:8px}.system-modules strong,.system-modules small{display:block}.system-modules strong{font-size:12px;color:var(--navy);font-weight:600}.system-modules small{font-size:8px;color:var(--muted);margin-top:3px}.chart-heading{display:flex;justify-content:space-between;margin-top:19px;font-size:9px;color:var(--navy)}.chart-heading span:last-child{font-size:8px;color:var(--muted)}.hero-chart{height:80px;position:relative;margin-top:12px}.hero-chart svg{width:100%;height:100%;position:relative}.chart-lines{position:absolute;inset:0;border-top:1px solid #e5ebf2;border-bottom:1px solid #e5ebf2}.chart-caption{display:flex;justify-content:space-between;font-size:8px;color:#6f7e93;margin-top:6px}.connected-label{position:absolute;bottom:30px;right:15px;background:white;padding:15px 21px;display:flex;align-items:center;gap:12px;border:1px solid #e1e7ee;border-radius:5px;box-shadow:0 10px 25px #071c3d09}.connected-label strong{display:block;font-size:12px;color:var(--navy);font-weight:600}.connected-label small{display:block;font-size:9px;color:var(--muted)}.connected-icon{display:grid;place-items:center;width:32px;height:32px;background:#edf3f9;color:var(--blue);border-radius:4px}.art-caption{position:absolute;bottom:10px;left:18px;font-size:6px;letter-spacing:.12em;color:#60718b}
/* PNG original da marca, com a proporção e as margens transparentes preservadas. */
.site-header .brand{margin-left:-15px}
.hero-brand-symbol{position:absolute;right:-15px;top:-40px;width:340px;height:auto;object-fit:contain;opacity:.05;pointer-events:none;z-index:-1}
/* Faixa institucional: todos os itens seguem o mesmo eixo e espaçamento. */
.expertise-strip{background:var(--navy);color:var(--white);border-block:1px solid #ffffff14}
.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:32px}
.expertise-grid>*{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:12px;min-height:64px;height:100%;font-size:13px;font-weight:500;color:var(--white);line-height:1.6}
.expertise-grid .icon{width:23px;height:23px;color:#a8cbed}
.expertise-grid :is(label,h3,p,span){max-width:100%;text-align:center;color:inherit}
.chart-lines:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #e5ebf2}
/* Serviços editoriais */
.section-heading{margin-bottom:50px}.heading-split{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:end}.heading-split p{font-size:14px;line-height:1.9}.service{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:54px 0;border-bottom:1px solid var(--line)}.service:last-child{border:0;padding-bottom:0}.service.reverse .service-copy{order:2}.service.reverse .service-visual{order:1}.service-number{font-size:26px;font-weight:500;color:var(--accent);display:flex;align-items:center;gap:17px;margin-bottom:20px;line-height:1}.service-number>span{font-size:9px;letter-spacing:.13em;color:#718096;font-weight:550}.service h3{font-size:32px;line-height:1.22;margin-bottom:19px}.service h3>span{color:var(--accent)}.service-copy>p{font-size:14px;line-height:1.9}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px;margin:24px 0;font-size:12px;color:#526176}.benefits li{position:relative;padding-left:19px;line-height:1.65}.benefits li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-size:12px}.service-visual{height:335px;background:var(--light);border:1px solid #e8edf3;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;padding:30px}.visual-label{position:absolute;top:24px;left:25px;font-size:8px;letter-spacing:.14em;color:#61758f;font-weight:500}.visual-foot{position:absolute;bottom:22px;font-size:7px;letter-spacing:.12em;color:#61758f}.erp-map{width:100%;max-width:345px;height:225px;position:relative;margin-top:13px}.erp-map:before{content:'';position:absolute;left:50%;top:15px;bottom:15px;border-left:1px dashed #b7c6d9}.erp-map:after{content:'';position:absolute;top:50%;left:25px;right:25px;border-top:1px dashed #b7c6d9}.erp-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:117px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--navy);color:white;border-radius:5px;z-index:1;box-shadow:0 8px 25px #071c3d15}.erp-core strong{font-size:23px;letter-spacing:.05em;margin-top:5px}.erp-core small{font-size:8px;color:#b8cce4}.erp-core .icon{width:22px;height:22px;color:#9fc6ef}.erp-node{position:absolute;border:1px solid #dfe6ef;background:white;border-radius:4px;font-size:10px;padding:9px 15px;z-index:2;min-width:76px;text-align:center;color:#425571}.node-top{top:0;left:50%;transform:translateX(-50%)}.node-bottom{bottom:0;left:50%;transform:translateX(-50%)}.node-left{left:0;top:50%;transform:translateY(-50%)}.node-right{right:0;top:50%;transform:translateY(-50%)}.routine-panel{width:100%;max-width:355px;background:white;border:1px solid var(--line);border-radius:5px;padding:20px 22px;box-shadow:0 10px 25px #071c3d06;margin-top:25px}.routine-title{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:12px;margin-bottom:12px}.routine-title .pill{margin-left:auto;font-size:6px}.routine-title .icon{color:var(--accent);width:19px}.routine-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eef1f5}.routine-row strong{font-size:10px;display:block;color:#344764;font-weight:550}.routine-row small{font-size:8px;display:block;color:#7b8697}.routine-row>span:last-child{margin-left:auto;font-size:8px;color:#98a4b3}.routine-check{color:var(--blue);background:#edf3f8;padding:2px 7px;border-radius:3px;font-size:11px}.mini-browser{width:100%;border:1px solid #dbe3ee;background:white;border-radius:5px;overflow:hidden;box-shadow:0 12px 30px #071c3d0c;margin-top:20px}.browser-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;font-size:7px;color:#8591a3;background:#fcfdff;border-bottom:1px solid var(--line)}.browser-bar>span:first-child{font-size:6px;letter-spacing:2px}.mini-site{padding:17px 19px}.mini-nav{display:flex;justify-content:space-between;align-items:center;font-size:7px;color:var(--navy)}.mini-nav>span{font-size:6px;color:#758297}.mini-hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:10px;padding:22px 0}.mini-hero small{font-size:5px;letter-spacing:.07em;color:var(--accent)}.mini-hero strong{display:block;font-size:20px;line-height:1.2;font-weight:650;letter-spacing:-.04em;color:var(--navy);margin:7px 0 12px}.mini-button{display:inline-block;background:var(--navy);color:white;padding:6px 9px;font-size:6px;border-radius:2px}.mini-geometry{height:120px;background:#e3eaf3;position:relative;overflow:hidden}.mini-geometry:before,.mini-geometry:after{content:'';position:absolute;width:100px;height:160px;background:#a9bfd8;transform:rotate(38deg);top:-60px;left:60px}.mini-geometry:after{background:var(--navy-2);left:10px;top:55px}.mini-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;color:#6b7e95;font-size:7px}.site-structure{width:100%;max-width:355px;margin-top:22px}.structure-top{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:12px;margin-bottom:23px}.structure-top>span{margin-left:auto;color:var(--accent)}.structure-home{text-align:center;background:white;border:1px solid #d6e1ee;padding:13px;border-radius:4px;color:var(--navy);font-size:13px;font-weight:600}.structure-home small{display:block;color:#7d8a9c;font-size:8px;font-weight:400}.structure-branches{display:flex;justify-content:space-between;gap:12px;margin-top:30px;position:relative}.structure-branches:before{content:'';position:absolute;top:-15px;left:15%;right:15%;border-top:1px solid #c6d3e2}.structure-branches span{position:relative;background:white;border:1px solid #d6e1ee;border-radius:3px;font-size:10px;padding:10px;flex:1;text-align:center;color:#425571}.structure-branches span:before{content:'';position:absolute;top:-16px;left:50%;height:15px;border-left:1px solid #c6d3e2}.structure-tags{display:flex;justify-content:center;gap:18px;font-size:8px;color:#7a8ba1;margin-top:22px}
/* Sewfy */
.sewfy{background:var(--navy);color:white;position:relative;overflow:hidden}.sewfy-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center}.sewfy .eyebrow{color:#a5c2e4;font-size:9px}.sewfy h2{color:white;font-size:65px;letter-spacing:-.065em;margin-bottom:18px}.sewfy h2>span{font-size:14px;vertical-align:top;display:inline-block;padding-top:10px;margin-left:7px}.sewfy h3{font-size:26px;line-height:1.4;color:white;letter-spacing:-.025em;max-width:420px;margin-bottom:18px}.sewfy-copy>p:not(.eyebrow){color:#b4c2d6;font-size:13px;line-height:1.9}.sewfy .button{margin-top:8px}
/* Captura real: moldura externa, sem cortes, filtros ou elementos sobre a tela. */
.sewfy-screen{min-width:0;width:100%;margin:0;background:white;border:1px solid #dce4ee;border-radius:8px;overflow:hidden;box-shadow:0 12px 28px #00000014}
.sewfy-window-bar{display:flex;align-items:center;gap:18px;min-height:38px;padding:10px 14px;border-bottom:1px solid #e1e7ee;background:#f5f7fa;color:#667085;font-size:10px;line-height:1.5}
.sewfy-window-controls{display:flex;gap:5px;flex-shrink:0}
.sewfy-window-controls i{width:6px;height:6px;border-radius:50%;background:#b8c4d3}
.sewfy-screen>img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.sewfy-screen figcaption{padding:10px 14px;font-size:11px;line-height:1.5;text-align:center;color:#667085;border-top:1px solid #e1e7ee}
/* Sewfy: benefícios editoriais e integrações, mantendo a captura como foco. */
.sewfy-copy>.button{margin-top:26px}
.sewfy-product{min-width:0}
.sewfy-integrations{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.sewfy-integrations>div>span{display:block;font-size:8px;font-weight:600;letter-spacing:.12em;color:#a8cbed}
.sewfy-integrations p{font-size:11px;color:#c7d3e4;margin-top:5px;line-height:1.6}
.marketplace-logos{display:flex;gap:10px;flex-shrink:0}
.marketplace-logos>span{display:flex;align-items:center;justify-content:center;width:116px;height:52px;padding:10px 13px;background:white;border-radius:5px}
.marketplace-logos img{width:100%;height:100%;object-fit:contain}
.sewfy-features{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:28px;margin-top:8px}
.sewfy-features>li{display:flex;align-items:flex-start;gap:14px;border-top:1px solid #ffffff24;padding-top:24px;min-width:0}
.sewfy-features .icon{width:22px;height:22px;color:#8bb9e7;margin-top:2px}
.sewfy .sewfy-features h3{font-size:16px;line-height:1.45;letter-spacing:-.02em;color:white;margin:0 0 9px}
.sewfy .sewfy-features p{font-size:12px;line-height:1.85;color:#bacbdf}
/* Institucional */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-intro .lead{font-size:18px;color:#334660;line-height:1.7;margin-bottom:17px}.about-intro p:not(.lead):not(.eyebrow){font-size:14px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:62px}.pillars article{padding-top:25px;border-top:1px solid #cfd9e5}.pillars article>span{font-size:11px;letter-spacing:.06em;color:var(--accent)}.pillars h3{margin:16px 0 12px;font-size:24px}.pillars p{font-size:14px;max-width:310px}.clients{padding:66px 0 30px;text-align:center;background:#EEF3F8;border-block:1px solid var(--line)}.clients .eyebrow{justify-content:center;font-size:9px}.clients h2{font-size:28px;letter-spacing:-.035em}.clients p:not(.eyebrow){font-size:13px;margin-top:15px}.difference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.difference-grid article>.icon{color:var(--blue);width:28px;height:28px;margin-bottom:22px}.difference-grid h3{font-size:18px;letter-spacing:-.025em;margin-bottom:14px}.difference-grid p{font-size:13px;line-height:1.9}.web-section{background:var(--light);overflow:hidden}.web-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:center}.web-layout .eyebrow{font-size:9px}.web-layout h2{font-size:38px;line-height:1.22}.web-layout p:not(.eyebrow){margin:23px 0 29px;font-size:14px;line-height:1.9}.devices{height:375px;position:relative}.desktop-device{width:88%;position:absolute;top:15px;right:0;background:#14263f;border:1px solid #14263f;border-radius:8px;padding:13px 9px 19px;box-shadow:0 16px 30px #071c3d12}.device-camera{position:absolute;width:3px;height:3px;background:#708199;border-radius:50%;left:50%;top:5px}.device-screen{background:white;overflow:hidden}.screen-nav{display:flex;justify-content:space-between;padding:13px 15px;font-size:7px;font-weight:700;color:var(--navy)}.screen-nav>span{font-size:5px;font-weight:400}.screen-hero{padding:23px;background:#e9eff6;position:relative;isolation:isolate;overflow:hidden}.screen-hero:after{content:'';position:absolute;width:140px;right:-18px;top:0;bottom:0;background:#cad9e9;clip-path:polygon(100% 0,30% 50%,100% 100%,65% 100%,0 50%,65% 0);z-index:-1}.screen-hero small{font-size:5px;letter-spacing:.1em;color:var(--blue)}.screen-hero strong{display:block;font-size:23px;line-height:1.15;letter-spacing:-.04em;color:var(--navy);margin:8px 0 14px}.screen-hero>span{display:inline-block;padding:6px 9px;font-size:5px;color:white;background:var(--navy)}.screen-blocks{display:flex;gap:10px;padding:16px 20px}.screen-blocks i{flex:1;height:18px;background:#edf1f6}.desktop-stand{position:absolute;bottom:-44px;left:40%;width:25%;height:43px;background:#c6d0dd;clip-path:polygon(20% 0,80% 0,90% 83%,100% 89%,100% 100%,0 100%,0 89%,10% 83%);z-index:-1}.tablet-device{width:44%;position:absolute;bottom:15px;left:0;border:7px solid #25364e;border-radius:9px;background:#25364e;box-shadow:0 12px 24px #071c3d1a}.tablet-device .screen-nav{font-size:5px;padding:9px}.tablet-device .screen-hero{padding:15px 12px}.tablet-device .screen-hero strong{font-size:16px}.tablet-device .screen-hero small{font-size:4px}.tablet-device .screen-hero>span{font-size:4px}.tablet-device .screen-hero:after{width:65px}.tablet-device .screen-blocks{padding:10px}.phone-device{width:20%;position:absolute;right:9px;bottom:0;border:5px solid #14263f;border-radius:13px;background:#14263f;padding-top:6px;box-shadow:0 12px 24px #071c3d15}.phone-speaker{position:absolute;top:0;left:35%;height:3px;width:30%;border-radius:4px;background:#52637b}.phone-device .device-screen{border-radius:4px}.phone-device .screen-nav{padding:10px 6px;font-size:4px}.phone-device .screen-nav>span{font-size:5px}.phone-device .screen-hero{padding:12px 8px}.phone-device .screen-hero small{font-size:3px}.phone-device .screen-hero strong{font-size:13px}.phone-device .screen-hero>span{font-size:3px;padding:5px}.phone-device .screen-hero:after{width:32px}.phone-device .screen-blocks{padding:9px}.devices-caption{position:absolute;bottom:-26px;left:45%;font-size:7px;letter-spacing:.12em;color:#697f9b;white-space:nowrap}
/* Suportes preservam os arquivos e equilibram o peso das marcas. */

/* Containers idênticos; somente os limites da imagem equilibram cada marca. */
.client-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;justify-items:center;align-items:center;margin:40px 0 24px}
.client-logo-card{display:flex;align-items:center;justify-content:center;width:100%;max-width:240px;height:150px;padding:22px 28px;background:var(--navy);border-radius:10px}
.client-logo-card img{width:auto;height:auto;max-width:min(160px,100%);max-height:76px;object-fit:contain}
.client-logo-card img[alt="Decanter"]{max-width:min(128px,100%);max-height:104px}
.about{background:var(--gray-soft)}
.why{background:var(--blue-pale)}
.difference-grid article>.icon{box-sizing:content-box;padding:12px;background:#dae6f2;border-radius:6px;color:var(--blue)}
.web-section{border-top:1px solid #dce6f1}

/* Sem JavaScript a faixa fica alinhada ao container; com JavaScript ocupa a largura toda e gira. */
.client-viewport{width:calc(100% - 96px);max-width:var(--container);margin:40px auto 24px}
.client-viewport .client-logos{margin:0}
/* Processo, contato e rodapé */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;position:relative}.process-grid:before{content:'';position:absolute;left:15px;right:calc(25% - 8px);top:22px;height:1px;background:#cfd9e5}.process-grid article{position:relative}.process-grid article>span{display:grid;place-items:center;width:44px;height:44px;background:white;border:1px solid #cad6e5;border-radius:3px;color:var(--blue);font-size:12px;font-weight:600;position:relative}.process-grid h3{font-size:19px;margin:25px 0 13px;letter-spacing:-.025em}.process-grid p{font-size:13px;max-width:240px}.contact{background:var(--navy);border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:120px;align-items:center}.contact h2{font-size:42px}.contact-layout>div>p:not(.eyebrow){font-size:14px;margin:22px 0 27px;max-width:450px}.final-cta{background:var(--navy-2);padding:65px 0;position:relative;overflow:hidden}.final-cta:after{content:'';position:absolute;right:40px;top:-70px;width:260px;height:420px;border-left:1px solid #ffffff10;border-right:1px solid #ffffff10;transform:rotate(40deg);pointer-events:none}.final-cta>.container{display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;z-index:1}.final-cta h2{color:white;font-size:36px}.final-cta .eyebrow{color:#b3cce8;font-size:8px}.final-cta p:not(.eyebrow){color:#b8c9df;font-size:13px;margin-top:18px;max-width:590px}.final-cta .button{flex-shrink:0}.site-footer{background:#041226;color:#b1bdd0;padding:58px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:70px;padding-bottom:45px}.footer-brand{color:white}.footer-brand img{width:200px;max-width:100%;height:auto;object-fit:contain;margin:-42px 0 -32px}.footer-grid>div>p{font-size:12px;color:#92a4bd;line-height:1.9;margin-top:20px}.footer-grid h2{font-size:12px;letter-spacing:0;color:white;font-weight:550;margin:10px 0 22px}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:12px}.footer-grid address{display:flex;flex-direction:column;gap:10px;font-size:12px;line-height:1.9;font-style:normal}.footer-grid a:not(.brand):hover{color:white}.footer-bottom{border-top:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;color:#8498b3;font-size:10px}.footer-bottom>span:last-child{font-size:8px;letter-spacing:.12em}.floating-whatsapp{position:fixed;right:25px;bottom:24px;width:52px;height:52px;border-radius:50%;background:#16734c;color:white;display:grid;place-items:center;z-index:90;box-shadow:0 5px 18px #071c3d25;transition:background .2s,transform .2s;border:1px solid #ffffff50}.floating-whatsapp>.icon{width:25px;height:25px;stroke-width:1.5}.floating-whatsapp>span{position:absolute;right:64px;white-space:nowrap;background:var(--navy);padding:8px 13px;border-radius:4px;font-size:11px;opacity:0;visibility:hidden;transition:opacity .2s}.floating-whatsapp:hover,.floating-whatsapp:focus-visible{background:#115b3c;transform:translateY(-2px)}.floating-whatsapp:hover>span,.floating-whatsapp:focus-visible>span{opacity:1;visibility:visible}

/* Contraste dos componentes sobre os fundos institucionais. */
.process-grid article>span{background:var(--blue-pale);border-color:#b9cde2;color:var(--blue)}
.contact h2{color:var(--white)}
.contact-layout>div>p:not(.eyebrow){color:#c0cddd}
.contact .eyebrow{color:#a8cbed}
.contact :focus-visible{outline-color:#a8cbed}

/* Movimento e microinterações: anima-se apenas transform (translate/scale) e opacity. */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
/* Deslocamentos laterais das revelações não podem gerar rolagem horizontal. */
main{overflow-x:clip}

/* Header de vidro fosco, progresso de leitura e seção atual no menu. */
.site-header{transition:box-shadow .3s,background-color .3s}
.site-header.is-scrolled{background:#ffffffc7;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom-color:#071c3d14}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header.is-scrolled{background:#fff}}
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,#164c82,#2571b8,#6bade8);transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-header nav>a:not(.button){position:relative}
.site-header nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-header nav>a:not(.button):hover:after,.site-header nav>a.is-active:after{transform:scaleX(1)}
.site-header nav>a.is-active{color:var(--accent)}

/* Hero: luzes azuis em movimento lento, palavra-chave em gradiente e entrada escalonada. */
.hero,.erp-hero{position:relative;isolation:isolate}
.hero-glow{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-glow span{position:absolute;width:clamp(320px,46vw,700px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#2571b847,#2571b800 68%)}
.hero-glow span:nth-child(1){top:-30%;left:-14%}
.hero-glow span:nth-child(2){top:10%;right:-16%;background:radial-gradient(circle,#6bade852,#6bade800 68%)}
.hero-glow span:nth-child(3){bottom:-45%;left:32%;width:clamp(260px,36vw,560px);background:radial-gradient(circle,#164c8233,#164c8200 68%)}
.text-gradient{background:linear-gradient(100deg,#164c82 0%,#2571b8 45%,#4f9be0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media(forced-colors:active){.text-gradient{background:none;-webkit-text-fill-color:currentColor;color:CanvasText}}
@keyframes rise-in{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
@keyframes art-in{from{opacity:0;translate:0 32px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes blob-a{to{transform:translate3d(9vw,7vh,0) scale(1.15)}}
@keyframes blob-b{to{transform:translate3d(-11vw,-5vh,0) scale(.9)}}
@keyframes blob-c{to{transform:translate3d(-7vw,-9vh,0) scale(1.2)}}
@keyframes float-y{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes ping{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(1.8);opacity:0}}
@keyframes core-ping{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.3);opacity:0}}
@keyframes client-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Revelação ao rolar: direção por data-reveal e sequência nos grids. */
.reveal{opacity:0;translate:var(--reveal-from,0 28px);transition:opacity .8s var(--ease),translate .8s var(--ease),scale .9s var(--ease)}
.reveal[data-reveal=left]{--reveal-from:-48px 0}
.reveal[data-reveal=right]{--reveal-from:48px 0}
.reveal[data-reveal=zoom]{--reveal-from:0 0;scale:.94}
.reveal.is-visible{opacity:1;translate:0 0;scale:1}
.reveal[data-reveal=stagger]{opacity:1;translate:none}
.reveal[data-reveal=stagger]>*{opacity:0;translate:0 26px;transition:opacity .7s var(--ease) var(--reveal-delay,0ms),translate .7s var(--ease) var(--reveal-delay,0ms),transform .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s}
.reveal[data-reveal=stagger].is-visible>*{opacity:1;translate:0 0}
.service.reveal{opacity:1;translate:none}
.service.reveal>*{opacity:0;translate:var(--reveal-from,0 0);transition:opacity .8s var(--ease),translate .8s var(--ease),transform .35s var(--ease),box-shadow .35s,border-color .35s}
.service.reveal>.service-copy{--reveal-from:-40px 0}
.service.reveal>.service-visual{--reveal-from:40px 0;transition-delay:.12s,.12s,0s,0s,0s}
.service.reverse.reveal>.service-copy{--reveal-from:40px 0}
.service.reverse.reveal>.service-visual{--reveal-from:-40px 0}
.service.reveal.is-visible>*{opacity:1;translate:0 0}
.process-grid.reveal:before{transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .25s}
.process-grid.reveal.is-visible:before{transform:scaleX(1)}
.service.reveal .erp-map:before{transform:scaleY(0);transition:transform 1s var(--ease) .45s}
.service.reveal .erp-map:after{transform:scaleX(0);transition:transform 1s var(--ease) .3s}
.service.reveal.is-visible .erp-map:before{transform:scaleY(1)}
.service.reveal.is-visible .erp-map:after{transform:scaleX(1)}
.service.reveal .structure-branches:before{transform:scaleX(0);transition:transform .9s var(--ease) .4s}
.service.reveal.is-visible .structure-branches:before{transform:scaleX(1)}

/* Botões: brilho que atravessa e seta deslizando. */
.button{position:relative;overflow:hidden;isolation:isolate}
.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 35%,#ffffff47 50%,transparent 65%);transform:translateX(-110%);transition:transform .75s var(--ease);pointer-events:none}
.button-white:after,.button-outline:after{background:linear-gradient(115deg,transparent 35%,#2571b82e 50%,transparent 65%)}
.button:hover:after,.button:focus-visible:after{transform:translateX(110%)}
.button .icon{transition:transform .3s var(--ease)}
.button:hover .icon{transform:translateX(4px)}

/* Cards: elevação, borda iluminada e spotlight/tilt no desktop (js/effects.js). */
.difference-grid article{position:relative;padding:28px 24px;background:#ffffff8c;border:1px solid #d3e0ee;border-radius:14px;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s}
.difference-grid article:hover{transform:translateY(-6px);background:#fff;border-color:#8fbbe6;box-shadow:0 18px 40px #071c3d1a,0 0 0 4px #2571b814}
.service-visual{transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.service-visual:hover{border-color:#a9c7e6;box-shadow:0 18px 40px #071c3d14,0 0 0 4px #2571b80f}
.sewfy-features .icon{transition:transform .35s var(--ease)}
.sewfy-features>li:hover .icon{transform:translateY(-3px) scale(1.12)}
.process-grid article>span{transition:transform .35s var(--ease)}
.process-grid article:hover>span{transform:translateY(-3px) scale(1.06)}
.fx-card{position:relative;overflow:hidden;isolation:isolate}
.fx-spotlight{position:absolute;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,#2571b829,#2571b800 65%);transform:translate(var(--mx,50%),var(--my,50%));opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}
.contact .fx-spotlight,.dark .fx-spotlight{background:radial-gradient(circle,#89bff033,#89bff000 65%)}
.fx-card.is-hovered .fx-spotlight{opacity:1}
.fx-ready .fx-card.is-hovered{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.fx-ready .service-visual.fx-card.is-hovered{transform:perspective(1200px) rotateX(calc(var(--rx,0deg)/2)) rotateY(calc(var(--ry,0deg)/2)) translateY(-4px)}

/* Botão flutuante com pulso suave e pontos de status "vivos". */
.floating-whatsapp:before{content:'';position:absolute;inset:-1px;border-radius:50%;background:#25a36b;opacity:0;z-index:-1;pointer-events:none}
.status-dot{position:relative}
.status-dot:after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--accent);opacity:0}
.erp-core:after{content:'';position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:5px;opacity:0;pointer-events:none}

/* Contato: canais como cards clicáveis. */
.contact-cards{display:grid;gap:16px;font-style:normal}
.contact-card{position:relative;display:flex;align-items:center;gap:18px;padding:22px 24px;border:1px solid #ffffff29;border-radius:16px;background:#ffffff0d;color:#fff;transition:transform .35s var(--ease),border-color .35s,background-color .35s,box-shadow .35s}
.contact-card:hover{transform:translateY(-4px);border-color:#a8cbed99;background:#ffffff17;box-shadow:0 18px 40px #00000040}
.contact-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#a8cbed24;color:#a8cbed;flex-shrink:0;transition:transform .35s var(--ease)}
.contact-card-icon .icon{width:24px;height:24px}
.contact-card-whatsapp .contact-card-icon{background:#16734c;color:#fff}
.contact-card:hover .contact-card-icon{transform:scale(1.08) rotate(-4deg)}
.contact-card-body{display:flex;flex-direction:column;min-width:0}
.contact-card-label{font-size:9px;font-weight:600;letter-spacing:.14em;color:#b9c9df}
.contact-card strong{font-size:18px;font-weight:600;line-height:1.45;color:#fff;overflow-wrap:anywhere}
.contact-card small{font-size:12px;color:#a9bed7}
.contact-card-arrow{margin-left:auto;color:#a8cbed;transition:transform .3s var(--ease)}
.contact-card:hover .contact-card-arrow{transform:translateX(5px)}
.contact-address{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;color:#c0cddd}
.contact-address .icon{width:20px;height:20px;color:#a8cbed;margin-top:2px}
.service-contact{margin-top:14px;font-size:12px;color:#526176}
.service-contact a{color:var(--blue);font-weight:550;border-bottom:1px solid #a5b8cd;transition:color .2s,border-color .2s}
.service-contact a:hover{color:var(--accent);border-color:var(--accent)}

/* Clientes: trilho contínuo em todas as larguras; o JS dimensiona as cópias para telas largas. */
.clients{--client-card:240px;overflow:hidden}
.clients-ready .client-viewport{width:100%;max-width:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.clients-ready .client-logos{display:flex;gap:20px;width:max-content;padding-right:20px;margin:0;animation:client-ribbon var(--client-duration,40s) linear infinite}
.clients-ready .client-logo-card{flex:0 0 var(--client-card);width:var(--client-card);max-width:none}
.clients-ready.is-outside .client-logos,.clients-ready.is-background .client-logos{animation-play-state:paused}

@media(prefers-reduced-motion:no-preference){
  .hero-glow span:nth-child(1){animation:blob-a 18s ease-in-out infinite alternate}
  .hero-glow span:nth-child(2){animation:blob-b 22s ease-in-out infinite alternate}
  .hero-glow span:nth-child(3){animation:blob-c 26s ease-in-out infinite alternate}
  .hero-copy>*,.hero-copy-new>*{animation:rise-in .8s var(--ease) both}
  .hero-copy>:nth-child(2),.hero-copy-new>:nth-child(2){animation-delay:.12s}
  .hero-copy>:nth-child(3),.hero-copy-new>:nth-child(3){animation-delay:.24s}
  .hero-copy>:nth-child(4),.hero-copy-new>:nth-child(4){animation-delay:.36s}
  .hero-copy>:nth-child(5){animation-delay:.48s}
  .hero-art{animation:art-in 1s var(--ease) .3s both}
  .system-window{animation:float-y 7s ease-in-out 1.2s infinite}
  .connected-label{animation:float-y 6s ease-in-out 2s infinite}
  .status-dot:after{animation:ping 2.2s ease-out infinite}
  .erp-core:after{animation:core-ping 2.8s ease-out infinite}
  .erp-node{animation:float-y 5.5s ease-in-out infinite}
  .node-right{animation-delay:1.1s}.node-bottom{animation-delay:2.2s}.node-left{animation-delay:3.3s}
  .routine-panel,.mini-browser,.site-structure{animation:float-y 7s ease-in-out infinite}
  .sewfy-screen{animation:float-y 8s ease-in-out infinite}
  .desktop-device{animation:float-y 7s ease-in-out infinite}
  .tablet-device{animation:float-y 6s ease-in-out .8s infinite}
  .phone-device{animation:float-y 5s ease-in-out 1.6s infinite}
  .floating-whatsapp:before{animation:ping 2.6s ease-out infinite}
}
@media(max-width:1100px){
  .site-header nav>a:not(.button):after{left:9px;right:auto;width:28px;bottom:6px}
}
@media(max-width:600px){
  .reveal[data-reveal=left]{--reveal-from:-24px 0}
  .reveal[data-reveal=right]{--reveal-from:24px 0}
  .service.reveal>.service-copy,.service.reverse.reveal>.service-copy,.service.reveal>.service-visual,.service.reverse.reveal>.service-visual{--reveal-from:0 24px}
  .process-grid.reveal:before{transform:scaleY(0);transform-origin:top}
  .process-grid.reveal.is-visible:before{transform:scaleY(1)}
  .clients{--client-card:190px}
  .clients-ready .client-logo-card{height:120px;padding:18px 22px}
  .contact-card{gap:14px;padding:18px}
  .contact-card-icon{width:44px;height:44px;border-radius:12px}
  .contact-card strong{font-size:15px}
}
@media(max-width:480px){
  .why .difference-grid{grid-template-columns:1fr}
  .contact-card-arrow{display:none}
}
