/* servico-lp.css — gerado do handoff, sem regras do shell (nav/mega/footer). Shell = components.css compartilhado. */
html:not(.js) .reveal{opacity:1!important;transform:none!important;}
.reveal.in{opacity:1!important;transform:none!important;}
.prose{max-width:74ch;display:grid;gap:var(--space-4);font-size:var(--fs-md);line-height:1.72;color:var(--color-text);}
.prose strong{color:var(--color-heading);}
.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
.cmp-card{background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,2.2vw,40px);}
.cmp-card--alt{background:var(--color-navy-deep);border-color:transparent;}
.cmp-head{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-2);}
.cmp-card--alt .cmp-head{color:var(--color-lilac);}
.cmp-card ul li:last-child{border-bottom:0!important;}
@media (max-width:720px){.cmp-grid{grid-template-columns:1fr;}}
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-6);}
.jstep{background:var(--color-surface);padding:clamp(18px,2vw,34px);display:grid;gap:var(--space-2);align-content:start;}
.jstep .jnum{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;color:var(--color-text-soft);letter-spacing:.05em;}
.jstep h4{font-size:var(--fs-lg);color:var(--color-heading);}
.jstep p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.5;margin:0;}
.jstep--hot{background:var(--color-navy-deep);}
.jstep--hot .jnum{color:var(--color-lilac);}
.jstep--hot h4{color:#fff;}
.jstep--hot p{color:rgba(255,255,255,.66);}
.jflag{display:inline-flex;align-items:center;gap:.5em;margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-lilac);}
.jflag svg{width:1.1em;height:1.1em;}
@media (max-width:880px){.journey{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.journey{grid-template-columns:1fr;}}
.io-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,44px);margin-top:var(--space-6);}
.io-card{display:grid;gap:var(--space-2);align-content:start;}
.io-ico{width:clamp(40px,3.4vw,54px);height:clamp(40px,3.4vw,54px);border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--grad-soft);color:var(--color-violet);}
.io-ico svg{width:54%;height:54%;}
.io-card h4{font-size:var(--fs-md);color:var(--color-heading);}
.io-card p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.55;margin:0;}
@media (max-width:720px){.io-grid{grid-template-columns:1fr;gap:var(--space-5);}}
.case-split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);align-items:start;margin-bottom:var(--space-2);}
.case-evidence{display:grid;gap:var(--space-5);align-content:start;}
.case-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);}
.case-chips span{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:clamp(5px,.5vw,9px) clamp(11px,1vw,18px);}
.case-split .prose p{color:rgba(255,255,255,.72);}
.case-chart{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:clamp(18px,2vw,30px);}
.case-chart figcaption{margin-top:var(--space-3);font-size:var(--fs-sm);color:rgba(255,255,255,.6);}
.case-chart figcaption b{color:#fff;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:4px;}
.case-shot{margin:0;}
.case-shot .shot-frame{background:#15151b;border-radius:var(--radius-md);padding:11px;box-shadow:0 40px 80px -34px rgba(0,0,0,.7);}
.case-shot img{width:100%;border-radius:4px;display:block;}
.case-shot figcaption{margin-top:var(--space-3);font-size:var(--fs-sm);color:rgba(255,255,255,.6);}
.case-shot figcaption b{color:#fff;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:4px;}
@media (max-width:880px){.case-split{grid-template-columns:1fr;}}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
.obj-card{background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,2.4vw,40px);display:grid;gap:var(--space-4);}
.obj-myth{display:flex;gap:.6em;align-items:flex-start;font-family:var(--font-serif);font-style:italic;font-size:var(--fs-lg);color:var(--color-heading);line-height:1.3;}
.obj-myth .x{flex:none;width:1.5em;height:1.5em;border-radius:50%;background:#FBEAEA;color:#C0392B;display:grid;place-items:center;font-style:normal;font-size:.7em;font-family:var(--font-body);font-weight:700;}
.obj-real{display:flex;gap:.7em;align-items:flex-start;font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.62;}
.obj-real .c{flex:none;width:1.3em;height:1.3em;color:var(--color-accent);margin-top:.1em;}
@media (max-width:720px){.obj-grid{grid-template-columns:1fr;}}
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,40px);margin-bottom:var(--space-8);}
.founder{display:grid;grid-template-columns:clamp(96px,12vw,140px) 1fr;gap:var(--space-4);align-items:center;background:var(--color-bg-alt);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(16px,1.6vw,26px);}
.founder img{width:100%;height:auto;border-radius:var(--radius-md);display:block;}
.founder .fname{font-size:var(--fs-lg);font-weight:800;color:var(--color-heading);}
.founder .frole{font-size:var(--fs-xs);color:var(--color-accent);font-weight:600;margin-top:3px;}
.founder .fbio{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.55;margin-top:var(--space-2);}
@media (max-width:720px){.founder-grid{grid-template-columns:1fr;}}

.imgph{position:relative;background:repeating-linear-gradient(135deg,var(--color-bg-alt),var(--color-bg-alt) 11px,#EAEEF5 11px,#EAEEF5 12px);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;place-items:center;overflow:hidden;}
.imgph .imgph-tag{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);background:rgba(255,255,255,.8);border:1px dashed var(--line-strong);border-radius:var(--radius-pill);padding:8px 14px;}
.imgph.on-accent{background:repeating-linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 11px,rgba(255,255,255,.16) 11px,rgba(255,255,255,.16) 12px);border-color:rgba(255,255,255,.28);}
.imgph.on-accent .imgph-tag{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4);}

.statband{background:var(--color-accent);border-radius:var(--radius-lg);padding:clamp(26px,3.4vw,56px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,3.6vw,56px);align-items:center;}
.statband .sb-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:var(--space-3);}
.statband h2{color:#fff;margin-bottom:var(--space-5);}
.sb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);border-top:1px solid rgba(255,255,255,.24);padding-top:var(--space-5);}
.sb-stats .n{font-size:clamp(26px,3.4vw,46px);font-weight:800;color:#fff;line-height:1;letter-spacing:-.025em;}
.sb-stats .l{font-size:var(--fs-sm);color:rgba(255,255,255,.84);margin-top:8px;line-height:1.4;}
@media(max-width:820px){.statband{grid-template-columns:1fr;}}
@media(max-width:520px){.sb-stats{grid-template-columns:1fr;gap:var(--space-3);}}

.tl{position:relative;margin-top:var(--space-6);}
.tl-line{position:absolute;left:8px;right:8px;top:8px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 7px,transparent 7px 15px);}
.tl-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,46px);position:relative;}
.tl-item{display:grid;gap:8px;align-content:start;padding-right:var(--space-3);}
.tl-dot{width:18px;height:18px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px rgba(0,114,206,.22);margin-bottom:var(--space-3);}
.tl-year{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.06em;color:var(--color-lilac);}
.tl-item h4{color:#fff;font-size:var(--fs-md);font-weight:700;}
.tl-item p{color:rgba(255,255,255,.62);font-size:var(--fs-sm);line-height:1.55;margin:0;}
@media(max-width:760px){.tl-row{grid-template-columns:1fr;gap:var(--space-5);}.tl-line{display:none;}}

.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-6);}
.gal-card{display:grid;gap:var(--space-3);}
.gal-card .imgph{aspect-ratio:4/3;}
.gal-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);}
.gal-meta h4{font-size:var(--fs-md);font-weight:700;color:var(--color-heading);}
.gal-sub{font-size:var(--fs-sm);color:var(--color-text-soft);margin-top:4px;}
.gal-arrow{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--color-accent);}
.gal-arrow svg{width:16px;height:16px;}
.dg-lead{font-size:var(--fs-lg);line-height:1.55;color:var(--color-text);margin:var(--space-5) 0 var(--space-7);}
.dg{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-6) 0;margin-bottom:var(--space-7);}
.dg-rail{position:relative;margin-bottom:var(--space-6);}
.dg-line{position:absolute;left:0;right:0;top:19px;height:2px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 6px,transparent 6px 13px);}
.dg-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);}
.dg-step{display:flex;align-items:center;gap:12px;}
.dg-dot{width:40px;height:40px;flex:none;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--color-surface);display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--color-text-soft);}
.dg-step.is-active .dg-dot{background:var(--color-navy-deep);border-color:var(--color-accent);color:#fff;box-shadow:0 0 0 5px rgba(0,114,206,.14);}
.dg-lbl{font-size:var(--fs-md);font-weight:700;color:var(--color-heading);}
.dg-step:not(.is-active) .dg-lbl{color:var(--color-text-soft);}
.dg-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);}
.dg-cap{display:flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin:0 0 var(--space-3);}
.dg-out--neg .dg-cap{color:var(--color-text-soft);}
.dg-out--pos .dg-cap{color:var(--color-accent);}
.dg-out p:not(.dg-cap){font-size:var(--fs-base);line-height:1.7;margin:0;}
.dg-out--neg p:not(.dg-cap){color:var(--color-text-soft);}
.dg-out--pos p:not(.dg-cap){color:var(--color-text);}
.dg-resolve{background:linear-gradient(90deg, rgba(0,16,55,.5) 0%, rgba(0,16,55,.15) 52%, rgba(0,16,55,.4) 100%), url("/_preview/assets-lp/topo-lp.jpg") center/cover no-repeat, #001037;border-radius:var(--radius-lg);padding:clamp(30px,4vw,68px);margin-top:var(--space-8);display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,4.5vw,72px);align-items:center;overflow:hidden;}
.infg{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,68px) clamp(28px,5vw,80px);align-items:center;}
.infg-intro .eyebrow{margin-bottom:var(--space-3);}
.infg-intro .h2{margin:0 0 var(--space-4);}
.infg-lead{font-size:var(--fs-md);line-height:1.7;color:var(--color-text);margin:0;max-width:42ch;}
.infg-core{position:relative;display:grid;place-items:center;min-height:clamp(230px,24vw,330px);}
.infg-img{width:100%;max-width:clamp(280px,30vw,420px);height:auto;display:block;}
.infg-disc{position:relative;width:clamp(152px,15vw,214px);aspect-ratio:1;border-radius:50%;background:radial-gradient(120% 120% at 50% 16%, #0A2E66, #00102F);display:grid;place-items:center;align-content:center;gap:9px;text-align:center;padding:0 8px;box-shadow:0 26px 54px -26px rgba(0,16,55,.6);}
.infg-disc-ico{width:clamp(30px,3vw,42px);height:clamp(30px,3vw,42px);color:#fff;}
.infg-disc-ico svg{width:100%;height:100%;}
.infg-disc-t{font-size:var(--fs-base);font-weight:600;color:#fff;max-width:13ch;line-height:1.25;}
.infg-list{grid-column:1 / -1;margin-top:clamp(30px,3.6vw,60px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,32px);position:relative;}
.infg-list::before{content:"";position:absolute;left:16.6%;right:16.6%;top:clamp(20px,1.9vw,27px);border-top:2px dashed var(--line-strong);}
.infg-item{position:relative;display:flex;flex-direction:column;gap:clamp(14px,1.6vw,22px);}
.infg-tx{flex:1;background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,2vw,30px);box-shadow:0 18px 42px -28px rgba(4,22,64,.24);transition:transform .4s cubic-bezier(.22,.7,.25,1),box-shadow .4s;}
@media(max-width:760px){.infg-list{grid-template-columns:1fr;gap:var(--space-5);}.infg-list::before{display:none;}}
.infg-item:hover .infg-tx{transform:translateY(-4px);box-shadow:0 26px 54px -28px rgba(4,22,64,.32);}
.infg-ico{position:relative;z-index:1;width:clamp(38px,3.8vw,54px);height:clamp(38px,3.8vw,54px);flex:none;align-self:center;border-radius:50%;background:var(--color-navy-deep);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 6px var(--color-bg,#fff);}
.infg-ico svg{width:46%;height:46%;}
.infg-h{font-size:var(--fs-lg);font-weight:700;color:var(--color-heading);line-height:1.28;margin:0 0 var(--space-2);letter-spacing:-.01em;}
.infg-h .tnr{box-shadow:none;background:none;}
.infg-item p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.6;margin:0;max-width:48ch;}
@media(max-width:980px){.infg{grid-template-columns:1fr;gap:var(--space-7);}.infg-core{min-height:0;}}
@media(max-width:880px){.dg-resolve{grid-template-columns:1fr;gap:var(--space-6);}}
.ed{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:clamp(32px,5.5vw,96px);align-items:start;}
.ed-aside{position:sticky;top:clamp(88px,8vw,124px);}
.ed-title{font-family:var(--font-display,inherit);font-size:clamp(27px,3.1vw,46px);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:#0E2A6B;margin:var(--space-3) 0 0;text-wrap:balance;}
.ed-title .serifx{color:#0E2A6B;}
.ed-flow{position:relative;padding-left:clamp(26px,2.6vw,44px);border-left:2px solid var(--line);display:grid;gap:clamp(30px,3.4vw,52px);}
.ed-flow.reveal{opacity:1!important;transform:none!important;}
.ed-flow::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:100%;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform 1.2s cubic-bezier(.4,0,.2,1);}
.ed-flow.in::before{transform:scaleY(1);}
.ed-block{position:relative;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.7,.25,1);}
.ed-flow.in .ed-block{opacity:1;transform:none;}
.ed-flow.in .ed-block:nth-child(1){transition-delay:.12s;}
.ed-flow.in .ed-block:nth-child(2){transition-delay:.36s;}
.ed-flow.in .ed-block:nth-child(3){transition-delay:.60s;}
.ed-flow.in .ed-block:nth-child(4){transition-delay:.84s;}
html:not(.js) .ed-block{opacity:1!important;transform:none!important;}
html:not(.js) .ed-flow::before{transform:scaleY(1);}
@media(prefers-reduced-motion:reduce){.ed-block{opacity:1!important;transform:none!important;}.ed-flow::before{transform:scaleY(1)!important;}}
.ed-block::before{content:"";position:absolute;left:calc(-1 * clamp(26px,2.6vw,44px));top:.5em;width:13px;height:13px;border-radius:50%;background:var(--color-accent);transform:translateX(-50%);box-shadow:0 0 0 4px var(--color-bg, #fff);}
.ed-kicker{font-size:var(--fs-xl);font-weight:700;color:var(--color-heading);line-height:1.28;letter-spacing:-.015em;margin:0 0 var(--space-2);}
.ed-kicker .tnr{box-shadow:none;background:none;}
.ed-block p{font-size:var(--fs-md);line-height:1.74;color:var(--color-text);margin:0;max-width:64ch;}
@media(max-width:880px){.ed{grid-template-columns:1fr;gap:var(--space-6);}.ed-aside{position:static;}.ed-flow{padding-left:clamp(22px,5vw,32px);}.ed-block::before{left:calc(-1 * clamp(22px,5vw,32px));}}
.dgc{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.5vw,24px);}
.dgc-card{position:relative;overflow:hidden;border-radius:clamp(16px,1.6vw,28px);padding:clamp(26px,3vw,52px);min-height:clamp(210px,21vw,290px);display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.7);transition:transform .45s cubic-bezier(.22,.7,.25,1),box-shadow .45s,background .55s ease;}
.dgc-card:hover{transform:translateY(-5px);box-shadow:0 26px 54px -26px rgba(4,22,64,.3);}
.dgc-num{position:absolute;top:clamp(20px,2.1vw,32px);left:clamp(26px,3vw,52px);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.14em;color:var(--color-accent);opacity:.6;}
.dgc-body{position:relative;z-index:1;}
.dgc-kicker{font-size:var(--fs-lg);font-weight:700;color:var(--color-heading);line-height:1.3;letter-spacing:-.01em;margin:0 0 var(--space-2);max-width:34ch;}
.dgc-body p{font-size:var(--fs-base);line-height:1.66;color:var(--color-text);margin:0;max-width:50ch;}
.dgc-c1{background:radial-gradient(125% 125% at 88% 4%, #D8E6FA 0%, #F1F6FD 46%, #FBFCFE 100%);}
.dgc-c1:hover{background:radial-gradient(125% 125% at 88% 4%, #C6DAF6 0%, #E6F0FC 46%, #F3F8FE 100%);}
.dgc-c2{background:radial-gradient(125% 125% at 12% 6%, #DCEAF7 0%, #EEF4FD 50%, #FBFCFE 100%);}
.dgc-c2:hover{background:radial-gradient(125% 125% at 12% 6%, #C9DEF3 0%, #E4EFFB 50%, #F3F8FE 100%);}
.dgc-c3{background:radial-gradient(130% 135% at 14% 100%, #DEE9F8 0%, #EFF3FD 52%, #FBFCFE 100%);}
.dgc-c3:hover{background:radial-gradient(130% 135% at 14% 100%, #CBDDF4 0%, #E5EEFB 52%, #F3F8FE 100%);}
.dgc-c4{background:radial-gradient(135% 135% at 92% 100%, #D2E2FA 0%, #EAF1FC 50%, #FBFCFE 100%);}
.dgc-c4:hover{background:radial-gradient(135% 135% at 92% 100%, #BFD6F5 0%, #E0ECFB 50%, #F2F7FE 100%);}
.dgc-hub{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%);box-shadow:0 0 0 6px var(--color-bg,#fff),0 0 0 8px rgba(0,114,206,.22);z-index:3;}
@media(max-width:760px){.dgc{grid-template-columns:1fr;}.dgc-hub{display:none;}.dgc-card{min-height:0;}}
.svc-scroller{position:relative;}
.svc-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*clamp(16px,1.8vw,28px))/3.5);gap:clamp(16px,1.8vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:clamp(8px,1vw,14px);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;}
.svc-grid::-webkit-scrollbar{height:7px;}
.svc-grid::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;}
.svc-card{scroll-snap-align:start;}
.svc-nav{position:absolute;right:clamp(-6px,-0.4vw,0px);top:42%;transform:translateY(-50%);width:clamp(42px,3.6vw,56px);height:clamp(42px,3.6vw,56px);border:none;border-radius:50%;background:var(--color-navy);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 16px 34px -16px rgba(0,30,98,.6);z-index:6;transition:background .25s,transform .25s;}
.svc-nav:hover{background:var(--color-accent);transform:translateY(-50%) scale(1.06);}
.svc-nav svg{width:42%;height:42%;}
.svc-nav .ic-prev{display:none;}
.svc-scroller.at-end .ic-next{display:none;}
.svc-scroller.at-end .ic-prev{display:block;}
.svc-card{background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(15px,1.3vw,20px);display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.22,.7,.25,1),box-shadow .4s;}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -26px rgba(4,22,64,.26);}
.svc-thumb{aspect-ratio:16/11;border-radius:var(--radius-md);margin-bottom:var(--space-4);width:100%;object-fit:cover;display:block;background:var(--color-bg-alt);}
.svc-card h3{font-size:var(--fs-lg);font-weight:700;color:var(--color-heading);margin:0 0 var(--space-2);}
.svc-card>p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.6;margin:0 0 var(--space-5);flex:1;}
.svc-foot{display:flex;align-items:center;justify-content:flex-start;}
.svc-btn{display:inline-flex;align-items:center;gap:.5em;padding:clamp(9px,.8vw,13px) clamp(16px,1.4vw,22px);border-radius:var(--radius-pill);background:var(--color-navy);color:#fff;font-size:var(--fs-sm);font-weight:600;text-decoration:none;transition:background .25s,gap .25s;}
.svc-btn svg{width:1.05em;height:1.05em;}
.svc-btn:hover{background:var(--color-accent);gap:.8em;}
[id="soluções"] .svc-card>p{flex:none;margin:0;font-size:var(--fs-sm);line-height:1.6;}
[id="soluções"] .svc-card .svc-tag{font-weight:600;color:var(--color-accent);line-height:1.4;margin-bottom:var(--space-2);}
[id="soluções"] .svc-card .svc-desc{color:var(--color-text-soft);margin-bottom:var(--space-4);}
[id="soluções"] .svc-card .svc-inc{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);}
[id="soluções"] .svc-list{display:grid;gap:7px;margin:0 0 var(--space-4);}
[id="soluções"] .svc-list li{position:relative;padding-left:1.4em;font-size:var(--fs-sm);color:var(--color-text);line-height:1.45;}
[id="soluções"] .svc-list li::before{content:"";position:absolute;left:.15em;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-accent);}
[id="soluções"] .svc-foot{margin-top:auto;padding-top:var(--space-2);}
@media(max-width:980px){.svc-grid{grid-auto-columns:calc((100% - 2*clamp(16px,1.8vw,28px))/3);}}
@media(max-width:760px){.svc-grid{grid-auto-columns:calc((100% - clamp(16px,1.8vw,28px))/2);}}
@media(max-width:520px){.svc-grid{grid-auto-columns:84%;}.svc-nav{display:none;}}
.objz{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.obc{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:0;margin-left:-1px;background:var(--color-surface);padding:clamp(22px,2vw,34px);min-height:clamp(300px,30vw,400px);display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.22,.7,.25,1),box-shadow .45s;}
.obc:first-child{margin-left:0;border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg);}
.obc:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);}
.obc:first-child{background:radial-gradient(120% 100% at 50% 0%,#0A2E66,#001037);border-color:transparent;}
.obc:first-child .obc-q{color:#fff;}
.obc:first-child .obc-a{color:rgba(255,255,255,.78);}
.objz:hover .obc:first-child:not(:hover){background:var(--color-surface);border-color:var(--line);}
.objz:hover .obc:first-child:not(:hover) .obc-q{color:var(--color-heading);}
.objz:hover .obc:first-child:not(:hover) .obc-a{color:var(--color-text-soft);}
.obc:hover{transform:translateY(-10px);box-shadow:0 34px 64px -28px rgba(0,30,98,.45);z-index:2;}
.obc-face{display:flex;flex-direction:column;gap:var(--space-3);height:100%;transition:opacity .3s ease;}
.obc:hover .obc-face{opacity:0;}
.obc-q{font-family:var(--font-serif);font-style:italic;font-size:clamp(19px,1.9vw,27px);line-height:1.25;letter-spacing:-.01em;color:var(--color-heading);margin:0;}
.obc-tag{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent);}
.obc-a{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.6;margin:0;}
.obc-hover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:clamp(20px,2vw,32px);background:radial-gradient(120% 100% at 50% 4%,#0A2E66,#001037);opacity:0;transition:opacity .4s ease;}
.obc:hover .obc-hover{opacity:1;}
.obc-hover img{width:clamp(120px,12vw,180px);height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));}
.obc-cta{display:inline-flex;align-items:center;gap:.45em;font-size:var(--fs-base);font-weight:700;color:#fff;letter-spacing:-.01em;background:var(--color-accent);padding:clamp(10px,1vw,14px) clamp(18px,1.6vw,28px);border-radius:var(--radius-pill);text-decoration:none;box-shadow:0 14px 28px -12px rgba(0,114,206,.6);transition:background .2s,transform .2s,gap .2s;}
.obc-cta:hover{background:#fff;color:var(--color-navy);transform:translateY(-2px);gap:.7em;}
.obc-cta svg{width:1em;height:1em;}
.mt3-section{background:radial-gradient(80% 70% at 88% 0%,#EAF1FB 0%,rgba(234,241,251,0) 55%),linear-gradient(#FFFFFF,#F4F6FB);}
.mt3-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,5vw,80px);align-items:start;}
.mt3-left{display:flex;flex-direction:column;align-items:flex-start;}
.mt3-title{margin:var(--space-3) 0 clamp(22px,2.6vw,38px);font-size:clamp(21px,2.3vw,32px);line-height:1.22;max-width:20ch;}
.mt3-left .mt3-cta{margin-top:clamp(6px,1.4vw,18px);}
.mt3-aside{width:100%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 42%,#E7EFFB,#EEF1F8);border-radius:var(--radius-lg);padding:clamp(18px,2.4vw,40px);}
.mt3-mascote{width:100%;max-width:clamp(200px,22vw,320px);height:auto;display:block;filter:drop-shadow(0 24px 38px rgba(0,30,98,.24));}
.mt3-list{position:relative;display:grid;gap:clamp(12px,1.4vw,18px);}
.mt3-list::before{display:none;}
.mt3-item{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,1.6vw,24px);align-items:center;padding:clamp(13px,1.4vw,20px) clamp(16px,1.7vw,26px);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--line);transition:background .3s,box-shadow .3s,transform .3s;}
.mt3-item:hover{box-shadow:0 20px 44px -26px rgba(4,22,64,.22);transform:translateY(-2px);}
.mt3-ico{position:relative;z-index:1;width:clamp(38px,3.4vw,50px);height:clamp(38px,3.4vw,50px);flex:none;border-radius:50%;background:#fff;border:1.5px solid var(--line-strong);color:var(--color-text-soft);display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,box-shadow .3s;}
.mt3-ico svg{width:46%;height:46%;}
.mt3-item:first-child{box-shadow:0 24px 50px -26px rgba(4,22,64,.28);}
.mt3-item:first-child .mt3-ico,.mt3-item:hover .mt3-ico{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 10px 22px -8px rgba(0,114,206,.55);}
.mt3-lbl{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0 0 6px;}
.mt3-item h4{font-size:var(--fs-lg);font-weight:700;color:var(--color-heading);margin:0 0 var(--space-2);line-height:1.26;}
.mt3-item p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.55;margin:0;max-width:56ch;}
.mt3-foot{text-align:center;margin-top:clamp(34px,4vw,64px);}
.mt3-cta{display:inline-flex;align-items:center;gap:.5em;padding:clamp(13px,1.2vw,17px) clamp(24px,2.2vw,36px);border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;font-size:var(--fs-sm);font-weight:700;text-decoration:none;transition:background .25s,gap .25s,transform .25s;}
.mt3-cta svg{width:1.05em;height:1.05em;}
.mt3-cta:hover{background:var(--color-navy);gap:.8em;transform:translateY(-2px);}
.team3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,40px);background:radial-gradient(70% 80% at 50% -8%,#0A2E66,#001037);border-radius:var(--radius-lg);padding:clamp(28px,3.4vw,56px);margin-top:var(--space-6);}
.tm-ph{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:radial-gradient(circle at 50% 34%,#1E5BC8,#3A1E6E);margin-bottom:var(--space-4);}
.tm-ph img{width:100%;height:100%;object-fit:contain;display:block;}
.tm-name{font-size:var(--fs-lg);font-weight:800;color:#fff;margin:0 0 4px;}
.tm-role{font-size:var(--fs-xs);font-weight:600;color:var(--color-lilac);margin:0 0 var(--space-3);}
.tm-bio{font-size:var(--fs-sm);color:rgba(255,255,255,.7);line-height:1.6;margin:0;}
@media(max-width:760px){.team3{grid-template-columns:1fr;}}
.dif-rule{border:0;height:2px;background:#7A57C9;margin:clamp(26px,3.2vw,48px) 0;border-radius:2px;}
.dif-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,4vw,64px);align-items:center;}
.dif-stat{text-align:left;}
.dif-num{font-size:clamp(44px,6.5vw,88px);font-weight:800;letter-spacing:-.04em;line-height:.95;color:var(--color-heading);margin:0;}
.dif-num-lbl{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.5;margin:var(--space-2) 0 0;max-width:30ch;}
@media(max-width:760px){.dif-grid{grid-template-columns:1fr;gap:var(--space-5);}}
@media(max-width:880px){.mt3-grid{grid-template-columns:1fr;gap:var(--space-6);}.mt3-title{max-width:none;}.mt3-aside{max-width:360px;}}
@media(max-width:980px){.objz{grid-template-columns:1fr 1fr;}.obc{margin-left:-1px;margin-top:-1px;border-radius:0;}.obc:nth-child(1){border-top-left-radius:var(--radius-lg);}.obc:nth-child(2){border-top-right-radius:var(--radius-lg);}.obc:nth-child(3){border-bottom-left-radius:var(--radius-lg);}.obc:nth-child(4){border-bottom-right-radius:var(--radius-lg);}}
@media(max-width:560px){.objz{grid-template-columns:1fr;}.obc{min-height:0;margin-left:0;}}
.objz-row{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,72px);align-items:center;}
.objz-row:nth-child(even) .objz-media{order:2;}
.objz-row:nth-child(even) .objz-text{order:1;}
.objz-media{aspect-ratio:4/3;border-radius:var(--radius-lg);width:100%;}
.objz-num{display:block;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.14em;color:var(--color-accent);margin-bottom:var(--space-3);}
.objz-q{font-family:var(--font-serif);font-style:italic;font-size:clamp(22px,2.7vw,40px);line-height:1.2;letter-spacing:-.015em;color:var(--color-heading);margin:0 0 var(--space-4);text-wrap:balance;}
.objz-tag{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent);}
.objz-a{font-size:var(--fs-md);line-height:1.72;color:var(--color-text);margin:var(--space-2) 0 0;max-width:56ch;}
@media(max-width:760px){.objz-row{grid-template-columns:1fr;gap:var(--space-4);}.objz-row:nth-child(even) .objz-media{order:0;}.objz-row:nth-child(even) .objz-text{order:0;}}
.dg-bridge{max-width:42ch;font-size:var(--fs-lg);font-weight:600;color:#fff;line-height:1.5;margin:0;}
.dg-cta{display:inline-flex;align-items:center;gap:.5em;margin-top:clamp(20px,2.4vw,34px);padding:clamp(12px,1.1vw,16px) clamp(20px,1.8vw,30px);border-radius:var(--radius-pill);background:#fff;color:var(--color-navy);font-size:var(--fs-sm);font-weight:700;text-decoration:none;transition:background .25s,color .25s,gap .25s;}
.dg-cta svg{width:1.05em;height:1.05em;}
.dg-cta:hover{background:var(--color-accent);color:#fff;gap:.8em;}
.dg-benefits{display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:clamp(13px,1.3vw,18px);}
.dg-benefit{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:clamp(14px,1.4vw,20px);row-gap:3px;align-items:center;background:var(--color-surface);border-radius:var(--radius-md);padding:clamp(16px,1.7vw,24px) clamp(20px,2vw,30px);box-shadow:0 20px 44px -26px rgba(0,0,0,.55);}
.dg-bico{width:clamp(38px,3vw,48px);height:clamp(38px,3vw,48px);flex:none;grid-row:1 / span 2;align-self:center;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--color-accent-tint);color:var(--color-accent);}
.dg-bico svg{width:54%;height:54%;}
.dg-benefit h4{font-size:var(--fs-md);font-weight:700;color:var(--color-heading);align-self:end;margin:0;}
.dg-benefit h4 .tnr{box-shadow:none;background:none;}
.dg-benefit p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.5;align-self:start;margin:0;}
@media(max-width:760px){.dg-steps{grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-4);}.dg-line{display:none;}.dg-outcomes{grid-template-columns:1fr;gap:var(--space-5);}.dg-benefits{grid-template-columns:1fr;gap:var(--space-5);}}
@media(max-width:420px){.dg-steps{grid-template-columns:1fr;}}
.tnr{box-shadow:inset 0 -2px 0 rgba(214,160,0,.7);border-radius:1px;}


.bp-journey{position:relative;margin:var(--space-7) 0;}
.bp-line{position:absolute;left:22px;right:22px;top:22px;height:2px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 7px,transparent 7px 15px);z-index:0;}
.bp-nodes{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.bp-node{display:grid;gap:10px;justify-items:start;align-content:start;}
.bp-dot{width:44px;height:44px;border-radius:50%;background:var(--color-surface);border:2px solid var(--line-strong);display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;color:var(--color-text-soft);}
.bp-node--hot .bp-dot{background:var(--color-navy-deep);border-color:var(--color-accent);color:#fff;box-shadow:0 0 0 6px rgba(0,114,206,.12);}
.bp-label{font-size:var(--fs-md);font-weight:700;color:var(--color-heading);letter-spacing:-.01em;}
.bp-sub{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.5;}
.bp-flag{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);display:inline-flex;align-items:center;gap:.45em;}
.bp-flag b{font-size:1.1em;line-height:0;}
@media(max-width:760px){.bp-nodes{grid-template-columns:1fr 1fr;gap:var(--space-5);}.bp-line{display:none;}}
@media(max-width:460px){.bp-nodes{grid-template-columns:1fr;}}

.payoff{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--space-6);}
.payoff>div{background:var(--color-navy-deep);padding:clamp(22px,2.4vw,38px);display:grid;gap:10px;align-content:start;}
.payoff .pf-i{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;color:var(--color-lilac);letter-spacing:.06em;}
.payoff h4{color:#fff;font-size:var(--fs-md);}
.payoff p{color:rgba(255,255,255,.7);font-size:var(--fs-sm);line-height:1.55;margin:0;}
@media(max-width:760px){.payoff{grid-template-columns:1fr;}}

.obj-rows{margin-top:var(--space-6);border-top:1px solid var(--line);}
.obj-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(20px,4vw,72px);padding:clamp(26px,3.2vw,52px) 0;border-bottom:1px solid var(--line);align-items:start;}
.obj-code{display:block;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-3);}
.obj-q{font-family:var(--font-serif);font-style:italic;font-size:clamp(21px,2.1vw,31px);line-height:1.22;color:var(--color-heading);letter-spacing:-.01em;margin:0;}
.obj-a .tag{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3);}
.obj-a p{font-size:var(--fs-base);color:var(--color-text);line-height:1.7;margin:0;}
@media(max-width:760px){.obj-row{grid-template-columns:1fr;gap:var(--space-3);}}

.flow{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(6px,.8vw,14px);margin:var(--space-3) 0 var(--space-8);}
.flow .step{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;color:var(--color-heading);background:var(--color-bg-alt);border:1px solid var(--line);border-radius:var(--radius-pill);padding:clamp(8px,.8vw,12px) clamp(14px,1.4vw,22px);}
.flow .step--end{background:var(--color-accent);color:#fff;border-color:transparent;}
.flow .arr{color:var(--color-accent);font-weight:700;display:inline-flex;}
.dl-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-label);margin-bottom:var(--space-3);}
.deliv{border-top:1px solid var(--line);}
.deliv-item{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2vw,34px);padding:clamp(16px,1.9vw,30px) 0;border-bottom:1px solid var(--line);align-items:baseline;}
.deliv-idx{font-family:var(--font-serif);font-style:italic;font-size:clamp(26px,2.6vw,42px);color:var(--color-accent);line-height:1;}
.deliv-item p{font-size:var(--fs-md);color:var(--color-text);line-height:1.6;margin:0;}
.deliv-item strong{color:var(--color-heading);font-weight:700;}

.cmp-card{position:relative;overflow:hidden;}
.cmp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(135deg,var(--line-strong) 0 6px,transparent 6px 12px);}
.cmp-card--alt::before{background:var(--color-accent);}

.cmp-card{padding-top:clamp(24px,2.4vw,42px);}
.cmp-list{display:grid;gap:0;margin-top:var(--space-3);}
.cmp-list li{display:flex;align-items:center;gap:.75em;padding:clamp(12px,1.2vw,18px) 0;border-bottom:1px solid var(--line);font-size:var(--fs-base);font-weight:600;line-height:1.3;color:var(--color-heading);}
.cmp-card--alt .cmp-list li{border-bottom-color:rgba(255,255,255,.13);color:#fff;}
.cmp-ico{width:clamp(20px,1.9vw,26px);height:clamp(20px,1.9vw,26px);flex:none;border-radius:50%;display:grid;place-items:center;}
.cmp-list--neg .cmp-ico{border:1.5px solid var(--line-strong);color:var(--color-text-soft);}
.cmp-list--pos .cmp-ico{background:var(--color-accent);color:#fff;}
.cmp-ico svg{width:58%;height:58%;}


.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
.ba{border-radius:var(--radius-lg);padding:clamp(22px,2.4vw,38px);}
.ba-x{background:var(--color-bg-alt);border:1px solid var(--line);border-left:3px solid var(--line-strong);}
.ba-v{background:var(--color-navy-deep);border-left:3px solid var(--color-accent);}
.ba-cap{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:var(--space-3);}
.ba-x .ba-cap{color:var(--color-text-soft);}
.ba-v .ba-cap{color:var(--color-lilac);}
.ba-x p{color:var(--color-text);font-size:var(--fs-base);line-height:1.66;margin:0;}
.ba-v p{color:rgba(255,255,255,.84);font-size:var(--fs-base);line-height:1.66;margin:0;}
@media(max-width:760px){.ba-grid{grid-template-columns:1fr;}}
.diag-bridge{max-width:62ch;margin:var(--space-7) 0 0;font-size:var(--fs-md);color:var(--color-heading);font-weight:600;line-height:1.5;}

.report{margin-top:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden;max-width:960px;}
.report-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:clamp(13px,1.3vw,18px) clamp(18px,2vw,28px);background:var(--color-navy-deep);}
.report-bar .rb-l{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.74);display:inline-flex;gap:.6em;align-items:center;}
.report-bar .rb-dot{width:9px;height:9px;border-radius:50%;background:var(--color-lilac);box-shadow:0 0 0 3px rgba(167,208,240,.22);}
.report-bar .rb-r{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;color:var(--color-lilac);}
.report-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);padding:clamp(18px,2vw,28px) clamp(18px,2.2vw,32px);border-top:1px solid var(--line);align-items:center;}
.report-ico{width:clamp(40px,3.4vw,52px);height:clamp(40px,3.4vw,52px);border-radius:var(--radius-sm);background:var(--grad-soft);color:var(--color-violet);display:grid;place-items:center;}
.report-ico svg{width:52%;height:52%;}
.report-row p{margin:0;font-size:var(--fs-md);color:var(--color-text);line-height:1.55;}
.report-row strong{color:var(--color-heading);}

.qs-lead{font-size:var(--fs-lg);line-height:1.5;color:var(--color-heading);font-weight:500;margin-bottom:var(--space-6);}
.qs-cols{columns:2;column-gap:clamp(28px,4vw,64px);margin-bottom:var(--space-7);}
.qs-cols p{break-inside:avoid;margin:0 0 var(--space-4);font-size:var(--fs-base);color:var(--color-text);line-height:1.7;}
@media(max-width:720px){.qs-cols{columns:1;}}
.qs-name{margin:0 0 var(--space-7);border-left:3px solid var(--color-accent);padding-left:clamp(18px,2vw,30px);}
.qs-name p{font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,2.2vw,31px);line-height:1.3;color:var(--color-heading);margin:0;max-width:48ch;}
.qs-foundernote{margin:0 0 var(--space-7);font-size:var(--fs-base);color:var(--color-text-soft);line-height:1.7;max-width:74ch;}
.qs-name strong{font-weight:600;}
.qs-foundernote{font-size:var(--fs-base);color:var(--color-text);line-height:1.6;margin-bottom:var(--space-5);}

.qs-grid{display:block;}
.qs-head{display:grid;gap:var(--space-3);align-content:start;}
#quem-somos .qs-head{margin:0;}
#quem-somos .qs-grid{margin-top:var(--space-8);}
.qs-body{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.8vw,56px);margin-top:var(--space-6);}
.qs-body>*{margin:0;}
.qs-body .qs-para{font-size:var(--fs-base);color:var(--color-text-soft);line-height:1.72;padding-top:var(--space-4);position:relative;}
.qs-body .qs-para::before{content:"";position:absolute;top:0;left:0;width:clamp(24px,2.4vw,36px);height:2px;background:var(--color-accent);}
.qs-statement{margin:0;font-size:clamp(22px,2.7vw,40px);font-weight:700;line-height:1.24;letter-spacing:-.022em;color:var(--color-heading);max-width:none;text-wrap:balance;}
.qs-accent{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--color-violet);letter-spacing:-.005em;}
.qs-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(18px,2.6vw,52px);align-items:start;margin-top:var(--space-8);}
.qs-vs-head{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-2);}
.qs-vs-col--neg .qs-vs-head{text-align:right;}
.qs-vs-col--pos .qs-vs-head{color:var(--color-accent);}
.qs-vs-list{display:grid;}
.qs-vs-list li{display:flex;align-items:center;gap:.85em;padding:clamp(14px,1.5vw,22px) 0;border-bottom:1px solid var(--line);font-size:var(--fs-md);line-height:1.3;}
.qs-vs-col--neg li{text-align:right;color:var(--color-text-soft);font-weight:500;}
.qs-vs-col--pos li{color:var(--color-heading);font-weight:600;border-bottom-color:rgba(0,114,206,.30);}
.qs-vs-col--neg li span,.qs-vs-col--pos li span{flex:1;}
.qs-vs-ic{flex:none;width:clamp(20px,1.9vw,26px);height:clamp(20px,1.9vw,26px);border-radius:50%;display:grid;place-items:center;}
.qs-vs-col--neg .qs-vs-ic{border:1.5px solid var(--line-strong);color:var(--color-text-soft);}
.qs-vs-col--pos .qs-vs-ic{background:var(--color-accent);color:#fff;box-shadow:0 6px 14px -6px rgba(0,114,206,.55);}
.qs-vs-ic svg{width:56%;height:56%;}
.qs-vs-div{position:relative;align-self:stretch;display:grid;place-items:center;min-width:clamp(26px,3vw,48px);}
.qs-vs-div::before{content:"";position:absolute;top:clamp(22px,2.4vw,40px);bottom:8px;left:50%;border-left:1px dashed var(--line-strong);}
.qs-vs-div span{position:relative;z-index:1;background:var(--color-bg);padding:8px 2px;font-family:var(--font-serif);font-style:italic;font-size:clamp(15px,1.5vw,22px);color:var(--color-accent);}
#quem-somos .qs-foundernote{margin:var(--space-6) 0 var(--space-4);font-size:var(--fs-md);color:var(--color-text);line-height:1.6;max-width:72ch;}
.qs-team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px);margin-top:0;}
.qs-mem{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(125% 78% at 50% 0%,#0A2E66 0%,#001037 62%);box-shadow:0 26px 54px -30px rgba(0,16,55,.55);}
.qs-mem-ph{aspect-ratio:576/660;overflow:hidden;line-height:0;}
.qs-mem-ph img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.qs-mem-info{padding:clamp(12px,1.3vw,18px) clamp(18px,1.8vw,28px) clamp(20px,2.1vw,32px);}
.qs-mem .name{font-size:var(--fs-lg);font-weight:800;color:#fff;letter-spacing:-.02em;}
.qs-mem .role{font-size:var(--fs-xs);font-weight:600;color:var(--color-lilac);margin-top:5px;}
.qs-mem .bio{font-size:var(--fs-sm);color:rgba(255,255,255,.66);line-height:1.55;margin-top:var(--space-3);}
@media(max-width:880px){.qs-body{grid-template-columns:1fr 1fr;gap:var(--space-5);}}
@media(max-width:620px){.qs-body{grid-template-columns:1fr;}}

.svc6-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px);margin-top:var(--space-6);}
.svc6-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,2.2vw,34px);transition:transform .4s var(--ease),box-shadow .4s;}
.svc6-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -26px rgba(4,22,64,.26);}
.svc6-ico{width:clamp(42px,3.6vw,56px);height:clamp(42px,3.6vw,56px);border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--grad-soft);color:var(--color-violet);margin-bottom:var(--space-4);}
.svc6-ico svg{width:52%;height:52%;}
.svc6-h{font-size:var(--fs-lg);font-weight:700;color:var(--color-heading);letter-spacing:-.01em;margin-bottom:6px;}
.svc6-tag{font-size:var(--fs-sm);font-weight:600;color:var(--color-accent);line-height:1.4;margin-bottom:var(--space-3);}
.svc6-desc{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.6;margin-bottom:var(--space-4);}
.svc6-inc{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);}
.svc6-list{display:grid;gap:9px;margin-top:auto;}
.svc6-list li{position:relative;padding-left:1.5em;font-size:var(--fs-sm);color:var(--color-text);line-height:1.45;}
.svc6-list li::before{content:"";position:absolute;left:.15em;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--color-accent);}
.svc6-close{margin-top:var(--space-7);font-size:var(--fs-md);color:var(--color-heading);line-height:1.62;max-width:82ch;font-weight:500;}
@media(max-width:980px){.svc6-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.svc6-grid{grid-template-columns:1fr;}}

.cta-final{display:grid;justify-items:center;text-align:center;gap:var(--space-4);max-width:70ch;margin-inline:auto;}
.cta-final .h2{color:#fff;}
.cta-final-sub{font-size:var(--fs-md);color:rgba(255,255,255,.72);line-height:1.62;max-width:56ch;}main .cta-final .btn{margin-top:var(--space-2);}
@media(max-width:760px){.qs-vs{grid-template-columns:1fr;gap:var(--space-4);}.qs-vs-col--neg .qs-vs-head{text-align:left;}.qs-vs-col--neg li{text-align:left;}.qs-vs-div{display:none;}.qs-team{grid-template-columns:1fr;max-width:420px;margin-inline:auto;}}

.contrast{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:0;}
.c-cap{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:var(--space-3);}
.c-cap.neg{color:var(--color-text-soft);}
.c-cap.pos{color:var(--color-accent);}
.c-side p{font-size:var(--fs-base);line-height:1.66;margin:0;}
.c-side.neg p{color:var(--color-text-soft);}
.c-side.neg{padding-left:clamp(20px,2.2vw,34px);border-left:2px solid var(--line-strong);}
.c-side.pos{padding-left:clamp(20px,2.2vw,34px);border-left:2px solid var(--color-accent);}
.c-side.pos p{color:var(--color-text);}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px);margin-top:var(--space-6);}
.benefit{display:grid;gap:10px;align-content:start;}
.benefit .b-ico{width:clamp(40px,3.4vw,52px);height:clamp(40px,3.4vw,52px);border-radius:var(--radius-sm);background:var(--grad-soft);color:var(--color-violet);display:grid;place-items:center;}
.benefit .b-ico svg{width:52%;height:52%;}
.benefit h4{font-size:var(--fs-md);color:var(--color-heading);}
.benefit p{font-size:var(--fs-sm);color:var(--color-text-soft);line-height:1.55;margin:0;}
@media(max-width:760px){.contrast{grid-template-columns:1fr;gap:var(--space-5);}.c-side.neg{border-left:0;padding-left:0;padding-bottom:var(--space-4);border-bottom:2px solid var(--line-strong);}.c-side.pos{border-left:0;padding-left:0;padding-top:var(--space-4);border-top:2px solid var(--color-accent);}.benefits{grid-template-columns:1fr;gap:var(--space-5);}}




:root {
  --color-brasil-green:#009C3B;--color-brasil-green-deep:#006B2E;

    
    --font-display: "Gantari", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-body: "Gantari", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-serif: "Newsreader", Georgia, "Times New Roman", serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    
    --color-navy: #001E62;
    --color-navy-deep: #001037;
    --color-navy-mid: #0A2E7A;
    --color-purple: #4DA3E3;        
    --color-violet: #0072CE;        
    --color-blue: #0072CE;
    --color-lilac: #A7D0F0;         

    
    --color-accent: #0072CE;        
    --color-accent-tint: #E5F0FA;   
    --color-label: #0058A0;         
    --color-lilac-soft: #A7C5E8;    

    
    --color-bg: #FCFCFD;
    --color-surface: #FFFFFF;
    --color-bg-alt: #F1F3F8;
    --color-text: #3C4A66;
    --color-text-soft: #727F97;
    --color-heading: #041640;

    
    --line: rgba(4, 22, 64, 0.10);
    --line-strong: rgba(4, 22, 64, 0.16);
    --line-dark: rgba(255, 255, 255, 0.12);

    
    --grad-moment: linear-gradient(115deg, #4DA3E3 0%, #0072CE 50%, #005FA8 100%);
    --grad: var(--color-accent);
    --grad-soft: var(--color-accent-tint);

    
    --shadow-sm: 0 1px 2px rgba(4, 22, 64, 0.04), 0 4px 16px rgba(4, 22, 64, 0.05);
    --shadow-md: 0 2px 4px rgba(4, 22, 64, 0.05), 0 18px 48px -12px rgba(4, 22, 64, 0.14);
    --shadow-lg: 0 4px 8px rgba(4, 22, 64, 0.05), 0 30px 60px -22px rgba(4, 22, 64, 0.30);

    
    --container-max: clamp(825px, 86vw, 1640px);
    --pad-x: clamp(15px, 5vw, 56px);

    
    --radius-sm: clamp(4.5px, 0.5vw, 10px);
    --radius-md: clamp(7.5px, 0.9vw, 16px);
    --radius-lg: clamp(10.5px, 1.2vw, 22px);
    --radius-pill: 999px;

    
    --space-1: clamp(3px, 0.4vw, 8px);
    --space-2: clamp(6px, 0.6vw, 12px);
    --space-3: clamp(9px, 0.9vw, 18px);
    --space-4: clamp(12px, 1.2vw, 24px);
    --space-5: clamp(15px, 1.6vw, 32px);
    --space-6: clamp(21px, 2.4vw, 44px);
    --space-7: clamp(30px, 3.5vw, 64px);
    --space-8: clamp(39px, 4.66vw, 82px);
    --space-9: clamp(50.3px, 6.52vw, 112px);
    --space-10: clamp(72px, 10vw, 160px);

    
    --fs-mono: clamp(7.5px, 0.7vw, 13px);
    --fs-eyebrow: clamp(7.5px, 0.7vw, 12px);
    --fs-xs: clamp(8.3px, 0.77vw, 14px);
    --fs-sm: clamp(9px, 0.83vw, 14px);
    --fs-base: clamp(10.5px, 0.95vw, 16px);
    --fs-md: clamp(10.5px, 1.04vw, 18px);
    --fs-lg: clamp(12px, 1.22vw, 22px);
    --fs-xl: clamp(13.5px, 1.4vw, 25px);
    --fs-2xl: clamp(15px, 1.53vw, 29px);
    --fs-h3: clamp(13.5px, 1.4vw, 25px);
    --fs-h2: clamp(21.8px, 3.42vw, 50px);
    --fs-display: clamp(27px, 4.86vw, 79px);

    
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --t-fast: 220ms;
    --t-med: 360ms;
    --t-slow: 560ms;

    
    --z-nav: 100;
    --z-mega: 50;
    --z-wa: 90;
    --z-modal: 200;

}


@media (max-width: 640px) {
    :root {
        
        --fs-mono: clamp(10px, 2.8vw, 13px);
        --fs-eyebrow: clamp(10px, 2.8vw, 12px);
        --fs-xs: clamp(11px, 3vw, 14px);
        --fs-sm: clamp(12px, 3.3vw, 14px);
        --fs-base: clamp(13px, 3.4vw, 14.5px);
        --fs-md: clamp(13.5px, 3.6vw, 16px);
        --fs-lg: clamp(17px, 4.5vw, 22px);
        --fs-xl: clamp(19px, 4.8vw, 25px);
        --fs-2xl: clamp(21px, 5.2vw, 29px);
        --fs-h3: clamp(18px, 4.6vw, 25px);
        --fs-h2: clamp(26px, 7vw, 50px);
        --fs-display: clamp(34px, 9vw, 79px);

        
        --space-3: clamp(12px, 3vw, 18px);
        --space-4: clamp(15px, 3.6vw, 24px);
        --space-5: clamp(18px, 4.5vw, 32px);
        --space-6: clamp(24px, 6vw, 44px);
        --space-7: clamp(32px, 8vw, 64px);
    }
}




*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    text-size-adjust: 100%;
    overflow-x: clip;
}

body {
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;   
    overflow-x: clip;     
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
    color: inherit;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

input,
textarea,
select {
    font: inherit;
    color: inherit;
}

ul,
ol {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

[hidden] {
    display: none !important;
}

::selection {
    background: var(--color-navy);
    color: #fff;
}




body {
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: 1.65;
    color: var(--color-text);
    background: var(--color-bg);
}


h1, h2, h3, h4, h5, h6 {
    color: var(--color-heading);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.025em;
    text-wrap: balance;
}


h1, .display {
    font-size: clamp(16px, 2.92vw, 47px);
    font-weight: 800;
    line-height: 1.0;
    letter-spacing: -0.035em;
}


h2, .h2 {
    font-size: clamp(15px, 2.31vw, 34px);
    letter-spacing: -0.028em;
    line-height: 1.06;
}

h3, .h3 {
    font-size: clamp(9px, 0.94vw, 17px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.18;
}

h4 {
    font-size: clamp(7.2px, 0.7vw, 12px);
    font-weight: 700;
    letter-spacing: -0.015em;
}


p {
    text-wrap: pretty;
}

.lead {
    font-size: var(--fs-lg);
    line-height: 1.55;
    color: var(--color-text);
    font-weight: 400;
}

.muted {
    color: var(--color-text-soft);
}

.balance {
    text-wrap: balance;
}

strong, b {
    font-weight: 700;
    color: var(--color-heading);
}


.grad-text {
    color: var(--color-accent);
    -webkit-text-fill-color: currentColor;
    background: none;
}


.serifx {
    font-family: var(--font-serif);
    font-weight: 500;
    font-style: italic;
    letter-spacing: -0.01em;
    color: var(--color-heading);
}
.on-dark .serifx { color: var(--color-lilac-soft); }


.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.7em;
    font-family: var(--font-body);
    font-size: var(--fs-eyebrow);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-label);
}

.eyebrow::before {
    content: "";
    width: clamp(15px, 1.6vw, 28px);
    height: 2px;
    flex: none;
    background: var(--color-label);
    border-radius: 0;
}

.eyebrow.center {
    justify-content: center;
}

.on-dark .eyebrow {
    color: var(--color-lilac-soft);
}

.on-dark .eyebrow::before {
    background: var(--color-lilac-soft);
}


.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);
    transition-delay: var(--d, 0ms);
}

.reveal.in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    * {
        animation-duration: 0.001ms !important;
        scroll-behavior: auto;
    }
}


@media (max-width: 640px) {
    
    h1, .display {
        font-size: clamp(28px, 8vw, 47px);
        line-height: 1.05;
    }
    h2, .h2 {
        font-size: clamp(22px, 6vw, 34px);
        line-height: 1.1;
    }
    h3, .h3 {
        font-size: clamp(17px, 4.6vw, 22px);
        line-height: 1.22;
    }
    h4 {
        font-size: clamp(14px, 3.8vw, 17px);
        line-height: 1.25;
    }
    .lead {
        font-size: clamp(13.5px, 3.6vw, 18px);
        line-height: 1.55;
    }
    .eyebrow {
        font-size: clamp(11px, 3vw, 13px);
    }

    
    .pos-statement          { font-size: clamp(15px, 4vw, 23px); }
    .hero-badge .t          { font-size: clamp(11px, 3vw, 14px); }
    .proof-slot figcaption  { font-size: clamp(11px, 3vw, 13px); }
    .seal-name              { font-size: clamp(13px, 3.6vw, 20px); }main .btn{ font-size: clamp(14px, 3.8vw, 16px); }

    
    .hero-meta .num         { font-size: clamp(32px, 9vw, 38px); line-height: 1; letter-spacing: -0.035em; }
    .stat .n                { font-size: clamp(32px, 8.5vw, 58px); line-height: 1; }
    .res-callout .n         { font-size: clamp(28px, 7.5vw, 43px); }

    
    .hero-meta .lbl         { font-size: clamp(13px, 3.6vw, 16px); margin-top: 8px; line-height: 1.35; }
    .stat .l                { font-size: clamp(13px, 3.6vw, 16px); line-height: 1.4; }

    
    .trust-statement .sct   { font-size: clamp(18px, 5vw, 34px); }
    .trust-statement .arr   { font-size: clamp(13px, 3.6vw, 18px); }

    
    .rl-name                { font-size: clamp(17px, 4.4vw, 19px); line-height: 1.18; }
    .rl-arrow svg           { width: clamp(18px, 4.6vw, 22px); height: clamp(18px, 4.6vw, 22px); }
}main .container{
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--pad-x);
}


.section {
    padding-block: var(--space-9);
}

.section-sm {
    padding-block: var(--space-7);
}

.section-head {
    max-width: clamp(390px, 78vw, 1180px);
    margin-bottom: var(--space-7);
    display: grid;
    gap: var(--space-3);
}

.section-head.center {
    margin-inline: auto;
    text-align: center;
}


.on-dark {
    background:
      radial-gradient(72% 88% at 82% 4%, rgba(46,124,232,0.34) 0%, rgba(46,124,232,0) 56%),
      radial-gradient(55% 75% at 6% 98%, rgba(20,84,184,0.22) 0%, rgba(20,84,184,0) 55%),
      linear-gradient(158deg, #0A2E66 0%, #051A4E 48%, #00102F 100%);
    color: rgba(255, 255, 255, 0.74);
}

.on-dark h1,
.on-dark h2,
.on-dark h3,
.on-dark h4 {
    color: #fff;
}

.on-dark .muted {
    color: rgba(255, 255, 255, 0.55);
}
.section-head .muted, .section-head > p:not(.eyebrow) {
    max-width: 64ch;
}

.bg-alt {
    background: var(--color-bg-alt);
}

.center {
    text-align: center;
}main .btn{
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: var(--fs-base);
    padding: 0.85em 1.4em;
    border-radius: var(--radius-md);
    transition: all var(--t-med) var(--ease);
    white-space: nowrap;
    letter-spacing: -0.01em;
    line-height: 1.1;
    cursor: pointer;
}main .btn svg{
    width: 1.05em;
    height: 1.05em;
    transition: transform var(--t-med) var(--ease);
}

.btn-primary {
    background: var(--color-navy);
    color: #fff;
}

.btn-primary:hover {
    background: var(--color-navy-mid);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -8px rgba(0, 30, 98, 0.5);
}

.btn-primary:hover svg {
    transform: translate(3px, -3px);
}

.btn-grad {
    background: var(--color-blue);
    color: #fff;
}

.btn-grad:hover {
    background: #005FA8;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -10px rgba(0, 114, 206, 0.5);
}

.on-dark .btn-grad {
    background: #fff;
    color: var(--color-navy-deep);
}

.on-dark .btn-grad:hover {
    background: #fff;
    color: var(--color-navy-deep);
    box-shadow: 0 14px 30px -10px rgba(0, 0, 0, 0.5);
}

.btn-grad:hover svg {
    transform: translate(3px, -3px);
}

.btn-ghost {
    border: 1.5px solid var(--line-strong);
    color: var(--color-heading);
}

.btn-ghost:hover {
    border-color: var(--color-navy);
    background: var(--color-navy);
    color: #fff;
    transform: translateY(-2px);
}

.on-dark .btn-ghost {
    border-color: rgba(255, 255, 255, 0.28);
    color: #fff;
}

.on-dark .btn-ghost:hover {
    background: #fff;
    color: var(--color-navy);
    border-color: #fff;
}


.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    font-weight: 600;
    color: var(--color-blue);
    transition: gap var(--t-fast) var(--ease);
}

.link-arrow svg {
    width: 1.05em;
    height: 1.05em;
    transition: transform var(--t-fast) var(--ease);
}

.link-arrow:hover {
    gap: 0.8em;
}

.link-arrow:hover svg {
    transform: translateX(3px);
}


.ph {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    background:
        repeating-linear-gradient(135deg, #E7EAF1 0 2px, transparent 2px 11px),
        var(--color-bg-alt);
    border: 1px solid var(--line);
    display: grid;
    align-items: end;
    color: var(--color-text-soft);
}

.ph::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--grad-soft);
    opacity: 0.5;
}

.ph-tag {
    position: relative;
    margin: var(--space-3);
    font-family: var(--font-mono);
    font-size: var(--fs-mono);
    letter-spacing: 0.02em;
    color: var(--color-navy);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--line);
    padding: clamp(3px, 0.4vw, 7px) clamp(6px, 0.7vw, 12px);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.ph.dark {
    background:
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 2px, transparent 2px 11px),
        #0A1F55;
    border-color: var(--line-dark);
}

.ph.dark .ph-tag {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--line-dark);
}


@media (max-width: 1023px) {
    #p2-widget-fab,
    #p2-widget-fab.p2-widget-fab { display: none !important; }
}



.hero {
    position: relative;
    padding-top: clamp(90px, 12vw, 180px);
    padding-bottom: var(--space-8);
    overflow: hidden;
}

.hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: clamp(17.3px, 3.6vw, 63px);
    align-items: center;
}

.hero-text {
    display: grid;
    gap: clamp(10px, 1.35vw, 22px);
    align-content: start;
}

.hero-text h1 {
    margin: 0;
}

.hero .lead {
    max-width: 87%;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.hero-meta {
    margin-top: var(--space-3);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
    padding-top: var(--space-3);
    border-top: 1px solid var(--line);
}

.hero-meta .num {
    font-size: clamp(15px, 1.84vw, 32px);
    font-weight: 800;
    color: var(--color-heading);
    letter-spacing: -0.03em;
    line-height: 1;
}

.hero-meta .lbl {
    font-size: clamp(9px, 0.85vw, 15px);
    color: var(--color-text-soft);
    margin-top: 6px;
    max-width: 22ch;
}


.hero-visual {
    position: relative;
    aspect-ratio: 5 / 5;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    border-radius: var(--radius-md);
}

.hero-visual > .hero-ph {
    width: 80%;
    height: 85%;
    max-width: 85%;
    max-height: 94%;
    margin-left: 7.5%;
    margin-top: 5%;
}

.hero-visual > .ph,
.hero-visual > .hero-ph {
    position: relative;
    z-index: 1;
}

.hero-visual > .hero-badge {
    z-index: 3;
}

.hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translate(22px, 22px);
    z-index: 0;
    border-radius: 18px;
    padding: 1.5px;
    background: var(--grad);
    opacity: 0.85;
    pointer-events: none;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
}

.hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translate(22px, 22px);
    z-index: 0;
    border-radius: 18px;
    background: var(--grad-soft);
    opacity: 0.5;
    pointer-events: none;
}


body[data-screen-label^="Home"] .hero-badge {
    border-top: 2px solid var(--color-brasil-green-deep, #006B2E);
}

body[data-screen-label^="Home"] .hero-visual::before {
    background: var(--color-brasil-green, #009C3B);
    transform: translate(14px, 14px);
}

body[data-screen-label^="Home"] .hero-visual::after {
    
    background: var(--color-brasil-green-deep, #006B2E);
    opacity: 0.9;
    transform: translate(28px, 28px);
    padding: 1.5px;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
}

@media (max-width: 880px) {
    body[data-screen-label^="Home"] .hero-visual::before { transform: translate(8px, 8px); }
    body[data-screen-label^="Home"] .hero-visual::after { transform: translate(18px, 18px); }
}


body[data-screen-label^="Home"] .hero-visual::before,
body[data-screen-label^="Home"] .hero-visual::after {
    display: none !important;
}

.hero-ph {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    background: transparent;
    display: block;
}

.hero-badge {
    position: absolute;
    left: clamp(-30px, -1.6vw, -16px);
    bottom: clamp(18px, 2.8vw, 44px);
    background: var(--color-surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    box-shadow: var(--shadow-md);
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-3);
    max-width: clamp(165px, 20vw, 280px);
}

.hero-badge .dot {
    width: clamp(27px, 3vw, 46px);
    height: clamp(27px, 3vw, 46px);
    border-radius: var(--radius-sm);
    background: var(--grad);
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800;
}

.hero-badge .t {
    font-size: var(--fs-xs);
    line-height: 1.35;
}

.hero-badge .t b {
    display: block;
    color: var(--color-heading);
}



.trust {
    padding-block: var(--space-8);
    border-block: 1px solid var(--line);
    background: var(--color-bg-alt);
}

.trust .eyebrow {
    margin-bottom: var(--space-5);
}

.trust-statement {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(9px, 1.6vw, 28px);
    max-width: 1100px;
}

.trust-statement .sct {
    font-size: clamp(11px, 2.48vw, 34px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1;
    color: var(--color-heading);
    transition: background var(--t-med) var(--ease);
    cursor: default;
}

.trust-statement .sct:hover {
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.trust-statement .arr {
    font-style: normal;
    font-size: clamp(7px, 0.92vw, 15px);
    line-height: 1;
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    transform: translateY(-0.08em);
    opacity: 0.9;
}

.trust-note {
    margin-top: var(--space-5);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-family: var(--font-mono);
    font-size: var(--fs-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-soft);
}

.trust-note .ln {
    height: 1px;
    width: clamp(24px, 3vw, 56px);
    background: var(--color-accent);
}



.pos-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(27px, 6vw, 96px);
    align-items: start;
}

.pos-statement {
    font-size: clamp(9px, 1.44vw, 23px);
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.02em;
    color: var(--color-heading);
    margin-top: var(--space-5);
}

.pos-body {
    font-size: var(--fs-base);
    display: grid;
    gap: var(--space-3);
}

.stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(15px, 3vw, 48px);
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--line);
}

.stat .n {
    font-size: clamp(18.8px, 4.05vw, 58px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--color-heading);
}

.stat .n .grad-text {
    display: inline;
}

.stat .l {
    margin-top: var(--space-2);
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.4;
}



.prob-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.prob {
    background: var(--color-surface);
    padding: clamp(16.5px, 2vw, 40px);
    transition: background var(--t-med) var(--ease);
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.prob:hover {
    background: #fff;
}

.prob-ico {
    width: clamp(30px, 3.2vw, 54px);
    height: clamp(30px, 3.2vw, 54px);
    border-radius: var(--radius-sm);
    display: grid;
    place-items: center;
    background: var(--grad-soft);
    color: var(--color-violet);
    transition: background var(--t-med) var(--ease), color var(--t-med) var(--ease), transform var(--t-med) var(--ease);
}

.prob-ico svg {
    width: clamp(15px, 1.6vw, 26px);
    height: clamp(15px, 1.6vw, 26px);
}

.prob:hover .prob-ico {
    background: var(--grad);
    color: #fff;
    transform: translateY(-3px);
}

.prob h3 {
    font-size: var(--fs-md);
    font-weight: 700;
    line-height: 1.28;
    color: var(--color-heading);
}

.prob p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
}



.method-layout {
    display: grid;
    grid-template-columns: clamp(210px, 26vw, 380px) 1fr;
    gap: clamp(21px, 4vw, 72px);
    align-items: start;
}

.method-tabs {
    display: grid;
    gap: var(--space-2);
}

.m-tab {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-4);
    text-align: left;
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    border: 1px solid var(--line-dark);
    background: rgba(255, 255, 255, 0.03);
    transition: background var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
    color: rgba(255, 255, 255, 0.6);
}

.m-tab:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
}

.m-tab.active {
    background: var(--grad);
    border-color: transparent;
}

.method-panel {
    position: relative;
    min-height: clamp(240px, 28vw, 480px);
}

.m-pane {
    display: none;
    animation: fadeUp var(--t-slow) var(--ease);
}

.m-pane.active {
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.m-pane .pi {
    font-family: var(--font-mono);
    font-size: var(--fs-mono);
    color: var(--color-lilac);
    letter-spacing: 0.04em;
}

.m-pane h3 {
    font-size: var(--fs-2xl);
    color: #fff;
    letter-spacing: -0.025em;
}

.m-pane p {
    color: rgba(255, 255, 255, 0.7);
    max-width: 60ch;
}

.m-list {
    margin-top: var(--space-4);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3) var(--space-5);
}

.m-list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-3);
    align-items: start;
    font-size: var(--fs-sm);
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.45;
}

.m-list li svg {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    color: var(--color-lilac);
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
}



.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(27px, 6vw, 96px);
    align-items: center;
}

.split-text {
    display: grid;
    gap: var(--space-4);
    align-content: start;
}

.auth-points {
    display: grid;
    gap: var(--space-5);
    margin-top: var(--space-4);
}

.auth-point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-4);
    align-items: start;
}

.auth-point .ap-i {
    width: clamp(27px, 2.8vw, 48px);
    height: clamp(27px, 2.8vw, 48px);
    border-radius: var(--radius-sm);
    background: var(--grad-soft);
    color: var(--color-violet);
    display: grid;
    place-items: center;
}

.auth-point .ap-i svg {
    width: clamp(13.5px, 1.4vw, 22px);
    height: clamp(13.5px, 1.4vw, 22px);
}

.auth-point h4 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    margin-bottom: 5px;
}

.auth-point p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
}


.graph-card {
    position: relative;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: radial-gradient(125% 120% at 50% 0%, #fff 0%, var(--color-bg-alt) 100%);
    aspect-ratio: 5 / 4;
}

.graph-card svg.graph {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.graph-card .gtag {
    position: absolute;
    left: var(--space-3);
    bottom: var(--space-3);
    z-index: 2;
    font-family: var(--font-mono);
    font-size: var(--fs-mono);
    letter-spacing: 0.04em;
    color: var(--color-navy);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--line);
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    backdrop-filter: blur(4px);
}

.g-edge {
    fill: none;
    stroke: var(--line-strong);
    stroke-width: 1.4;
}

.g-edge.grad {
    stroke: url(#gEdge);
    stroke-width: 2.2;
}

.g-node {
    fill: #fff;
    stroke: var(--color-violet);
    stroke-width: 1.6;
}

.g-hub { fill: url(#gHub); stroke: none; }
.g-sec { fill: var(--color-violet); }

.g-lbl {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    fill: var(--color-heading);
}

.g-orbit {
    fill: none;
    stroke: rgba(0, 114, 206, 0.26);
    stroke-width: 1;
    stroke-dasharray: 2 7;
}


.g-ghost-edge {
    fill: none;
    stroke: rgba(0, 114, 206, 0.28);
    stroke-width: 1.2;
    stroke-dasharray: 3 5;
}

.g-ghost-node {
    fill: rgba(255, 255, 255, 0.7);
    stroke: rgba(0, 114, 206, 0.45);
    stroke-width: 1.2;
}

.g-ghost-sec {
    fill: rgba(0, 114, 206, 0.35);
}

.g-hub-lbl {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    fill: #fff;
}

@media (prefers-reduced-motion: no-preference) {
    .graph-card .g-edge {
        stroke-dasharray: 1;
        stroke-dashoffset: 1;
        transition: stroke-dashoffset 1s var(--ease) var(--gd, 0s);
    }
    .graph-card .g-node,
    .graph-card .g-sec,
    .graph-card .g-lbl,
    .graph-card .g-hub,
    .graph-card .g-hub-lbl,
    .graph-card .g-orbit,
    .graph-card .g-ghost-node,
    .graph-card .g-ghost-sec,
    .graph-card .g-ghost-edge {
        opacity: 0;
        transform: scale(0.5);
        transform-box: fill-box;
        transform-origin: center;
        transition:
            opacity var(--t-slow) var(--ease) var(--gd, 0s),
            transform var(--t-slow) var(--ease) var(--gd, 0s);
    }
    .graph-card.in .g-edge { stroke-dashoffset: 0; }
    .graph-card.in .g-node,
    .graph-card.in .g-sec,
    .graph-card.in .g-lbl,
    .graph-card.in .g-hub,
    .graph-card.in .g-hub-lbl,
    .graph-card.in .g-orbit { opacity: 1; transform: none; }
    .graph-card.in .g-ghost-edge { opacity: 0.55; transform: none; }
    .graph-card.in .g-ghost-node { opacity: 0.75; transform: none; }
    .graph-card.in .g-ghost-sec { opacity: 0.6; transform: none; }
}



.results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(27px, 6vw, 88px);
    align-items: center;
}

.res-ph {
    aspect-ratio: 16 / 11;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: var(--radius-md);
    display: block;
}

.res-text {
    display: grid;
    gap: var(--space-4);
    align-content: start;
}

.res-callouts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
    margin-top: var(--space-4);
}

.res-callout .n {
    font-size: clamp(16.5px, 3.15vw, 43px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #fff;
}

.res-callout .l {
    margin-top: var(--space-2);
    font-size: var(--fs-sm);
    color: rgba(255, 255, 255, 0.6);
}


.trend {
    position: relative;
    margin-top: var(--space-4);
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-3) var(--space-2);
    background: rgba(255, 255, 255, 0.03);
}

.trend svg {
    width: 100%;
    height: clamp(60px, 8vw, 130px);
    display: block;
    overflow: visible;
}

.trend .t-tag {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
    font-family: var(--font-mono);
    font-size: var(--fs-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(233, 237, 247, 0.55);
}

.trend .t-tag b {
    color: #fff;
    font-weight: 600;
}

.t-grid { stroke: rgba(255, 255, 255, 0.07); stroke-width: 1; }
.t-area { fill: url(#gArea); }
.t-line { fill: none; stroke: url(#gLine); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.t-dot { fill: #0A1F55; stroke: var(--color-lilac); stroke-width: 2; }

@media (prefers-reduced-motion: no-preference) {
    .t-line {
        stroke-dasharray: 1;
        stroke-dashoffset: 1;
        transition: stroke-dashoffset 1.5s var(--ease);
    }
    .t-area, .t-dot {
        opacity: 0;
        transition: opacity 0.8s var(--ease) 0.5s;
    }
    .trend.in .t-line { stroke-dashoffset: 0; }
    .trend.in .t-area, .trend.in .t-dot { opacity: 1; }
}



.serv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.serv {
    background: var(--color-surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: clamp(16.5px, 2vw, 40px);
    transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
    position: relative;
    overflow: hidden;
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.serv::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 3px;
    width: 0;
    background: var(--grad);
    transition: width var(--t-slow) var(--ease);
}

.serv:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: transparent;
}

.serv:hover::after {
    width: 100%;
}

.serv-ico {
    width: clamp(31.5px, 3.2vw, 56px);
    height: clamp(31.5px, 3.2vw, 56px);
    border-radius: var(--radius-sm);
    display: grid;
    place-items: center;
    background: var(--grad-soft);
    color: var(--color-violet);
    transition: background var(--t-med) var(--ease), color var(--t-med) var(--ease);
}

.serv-ico svg {
    width: clamp(16.5px, 1.7vw, 28px);
    height: clamp(16.5px, 1.7vw, 28px);
}

.serv:hover .serv-ico {
    background: var(--grad);
    color: #fff;
}

.serv h3 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
}

.serv p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
}



.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(15px, 2.2vw, 36px);
}

.member {
    display: grid;
    gap: var(--space-4);
    align-content: start;
}

.member-ph {
    aspect-ratio: 4 / 5;
    border-radius: var(--radius-md);
    overflow: hidden;
    margin: 0;
}

.member-ph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.member .name {
    font-size: var(--fs-lg);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.02em;
}

.member .role {
    font-size: var(--fs-xs);
    color: var(--color-accent);
    margin-top: 4px;
    font-weight: 500;
}

.member .bio {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.55;
    margin-top: var(--space-3);
}


.section.on-dark .member .name { color: #fff; }
.section.on-dark .member .role { color: var(--color-lilac); }
.section.on-dark .member .bio { color: rgba(255, 255, 255, 0.62); }



.faq-layout {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: clamp(21px, 5vw, 80px);
    align-items: start;
}

.faq-intro {
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.faq-list {
    border-top: 1px solid var(--line);
}

.faq-item {
    border-bottom: 1px solid var(--line);
}

.faq-q {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-4);
    text-align: left;
    padding: var(--space-5) 0;
    font-family: var(--font-body);
    font-size: var(--fs-md);
    font-weight: 600;
    color: var(--color-heading);
    transition: color var(--t-fast);
    list-style: none;
    cursor: pointer;
}

.faq-q::-webkit-details-marker {
    display: none;
}

.faq-q::marker {
    content: "";
}

.faq-q:hover {
    color: var(--color-violet);
}

.faq-ic {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    position: relative;
    display: inline-block;
}

.faq-ic::before,
.faq-ic::after {
    content: "";
    position: absolute;
    background: var(--color-violet);
    border-radius: 2px;
    transition: transform var(--t-med) var(--ease);
}

.faq-ic::before {
    top: 50%;
    left: 3px;
    right: 3px;
    height: 2px;
    transform: translateY(-50%);
}

.faq-ic::after {
    left: 50%;
    top: 3px;
    bottom: 3px;
    width: 2px;
    transform: translateX(-40%);
}

.faq-item[open] .faq-ic::after {
    transform: translateX(-40%) scaleY(0);
}

.faq-a {
    padding-bottom: var(--space-5);
    color: var(--color-text-soft);
    font-size: var(--fs-sm);
    line-height: 1.6;
    max-width: 62ch;
}



.cta {
    position: relative;
    overflow: hidden;
}

.cta-glow {
    position: absolute;
    width: clamp(390px, 60vw, 880px);
    height: clamp(390px, 60vw, 880px);
    border-radius: 50%;
    background: var(--grad);
    filter: blur(150px);
    opacity: 0.32;
    bottom: clamp(-440px, -30vw, -260px);
    left: 50%;
    transform: translateX(-40%);
    pointer-events: none;
}

.cta-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: clamp(420px, 60vw, 840px);
    margin-inline: auto;
    display: grid;
    gap: var(--space-4);
    justify-items: center;
}

.cta h2 {
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

.cta p {
    max-width: 50ch;
    color: rgba(255, 255, 255, 0.7);
    font-size: var(--fs-md);
}

.cta-actions {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    flex-wrap: wrap;
}




@media (max-width: 1023px) {
    .hero-grid { grid-template-columns: 1fr; gap: var(--space-7); }
    .hero-visual { max-width: 520px; }
    .hero-ph { aspect-ratio: 16 / 11; }
    .pos-grid { grid-template-columns: 1fr; gap: var(--space-5); }
    .stats { grid-template-columns: repeat(2, 1fr); gap: var(--space-6) var(--space-4); }
    .prob-grid { grid-template-columns: repeat(2, 1fr); }
    .method-layout { grid-template-columns: 1fr; gap: var(--space-5); }
    .method-tabs {
        grid-auto-flow: column;
        grid-auto-columns: minmax(200px, 1fr);
        overflow-x: auto;
        padding-bottom: 6px;
        scrollbar-width: none;
    }
    .method-tabs::-webkit-scrollbar { display: none; }
    .split, .results-grid, .faq-layout { grid-template-columns: 1fr; gap: var(--space-5); }
    .serv-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid { grid-template-columns: 1fr; gap: var(--space-7); max-width: 460px; margin-inline: auto; }
    .member { grid-template-columns: clamp(105px, 18vw, 200px) 1fr; gap: var(--space-4); align-items: center; }
    .member-ph { aspect-ratio: 1 / 1; }
}


@media (max-width: 1023px) {
    .hero { padding-top: clamp(30px, 12vw, 80px); }
    body { padding-bottom: calc(170px + env(safe-area-inset-bottom, 0px)); }
}


@media (max-width: 640px) {
    body { font-size: 16px; }
    .m-list { grid-template-columns: 1fr; }
    .prob-grid { grid-template-columns: 1fr; }
    .stats { grid-template-columns: 1fr 1fr; }
    .serv-grid { grid-template-columns: 1fr; }
    .res-callouts { grid-template-columns: 1fr 1fr; }
    .hero-meta { grid-template-columns: 1fr; gap: var(--space-3); }
    .hero-badge { left: 0; }
    .member { grid-template-columns: 1fr; max-width: 320px; }
    .hero-visual::before, .hero-visual::after { transform: translate(14px, 14px); }
}


@media (min-width: 2200px) {
    :root {
        --container-max: 1840px;
    }
}





.hero-visual { display: block; }

.hero-badge {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: none;
    margin: 0;
    border: none;
    border-top: 2px solid var(--color-accent);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: none;
    padding: clamp(9px, 1.1vw, 20px) clamp(12px, 1.5vw, 26px);
    gap: clamp(7.5px, 0.9vw, 16px);
    z-index: 3;
}

.hero-badge .dot {
    width: auto;
    height: auto;
    background: none;
    color: var(--color-accent);
    border-radius: 0;
    font-size: clamp(12px, 1.17vw, 22px);
    font-weight: 700;
    flex: none;
}

.hero-badge .t {
    font-size: clamp(8.3px, 0.77vw, 14px);
}

.hero-badge .t b {
    color: var(--color-heading);
}


.prob-grid { counter-reset: prob; }

.prob {
    counter-increment: prob;
    padding-top: clamp(16.5px, 2vw, 36px);
}

.prob-ico { display: none; }

.prob::before {
    content: counter(prob, decimal-leading-zero);
    display: block;
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(18.8px, 2.34vw, 40px);
    line-height: 1;
    color: var(--color-heading);
    margin-bottom: clamp(9px, 1.2vw, 22px);
    letter-spacing: -0.02em;
}

.prob::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 3px;
    background: var(--color-accent);
    transition: width var(--t-med) var(--ease);
}

.prob:hover::after { width: 100%; }



.serv-ico {
    width: auto;
    height: auto;
    background: none !important;
    border-radius: 0;
    color: var(--color-heading) !important;
    margin-bottom: clamp(9px, 1.2vw, 22px);
    transform: none !important;
}

.serv-ico svg {
    width: clamp(16.5px, 1.7vw, 30px);
    height: clamp(16.5px, 1.7vw, 30px);
    stroke-width: 1.6;
}

.serv:hover .serv-ico { color: var(--color-accent) !important; }

.serv::after { background: var(--color-accent); }
.serv:hover { border-color: var(--color-accent); }



.auth-points { counter-reset: auth; }
.auth-point { counter-increment: auth; }

.auth-point .ap-i {
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    color: var(--color-heading);
}

.auth-point .ap-i svg { display: none; }

.auth-point .ap-i::before {
    content: counter(auth, decimal-leading-zero);
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(13.5px, 1.53vw, 27px);
    line-height: 1;
    color: var(--color-accent);
}

.m-tab.active {
    background: var(--color-accent);
    border-color: transparent;
}

.m-pane .pi {
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs-eyebrow);
    color: var(--color-lilac-soft);
}



.trust-note {
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.1em;
}

.trust-note .ln { background: var(--color-accent); }

.trust-statement .sct:hover {
    color: var(--color-accent);
    -webkit-text-fill-color: var(--color-accent);
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
}

.trust-statement .arr {
    color: var(--color-accent);
    -webkit-text-fill-color: var(--color-accent);
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
}



.trend .t-tag {
    font-family: var(--font-body);
    font-weight: 500;
    letter-spacing: 0.06em;
}

.gtag {
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.04em;
}



.g-hub { fill: var(--color-accent); }
.g-edge.grad { stroke: var(--color-accent); }
.g-node { stroke: var(--color-accent); }
.g-sec { fill: var(--color-accent); }
.g-orbit { stroke: rgba(0, 114, 206, 0.3); }



.t-line { stroke: var(--color-accent); }
.t-area { fill: rgba(0, 114, 206, 0.16); }
.t-dot { stroke: var(--color-lilac-soft); }



.faq-q:hover { color: var(--color-accent); }
.faq-ic::before,
.faq-ic::after { background: var(--color-accent); }

.link-arrow { color: var(--color-accent); }



.stat .n { color: var(--color-heading); }



.cta-glow { background: var(--grad-moment); }



::selection {
    background: var(--color-accent);
    color: #fff;
}



.section-tools {
    padding-block: var(--space-9) var(--space-8);
    overflow-x: clip;
}


.tools-layout {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    gap: clamp(24px, 3vw, 56px);
    align-items: center;
}

.tools-layout .section-head { max-width: 100%; }

.tools-marquee {
    overflow: hidden;
    padding-block: var(--space-3);
    
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.tools-track {
    display: flex;
    gap: var(--space-4);
    width: max-content;
    list-style: none;
    padding: 0;
    margin: 0;
    animation: tools-scroll 60s linear infinite;
    will-change: transform;
}

.tools-track:hover {
    animation-play-state: paused;
}

@keyframes tools-scroll {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .tools-track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
    }
}

.tool {
    flex: 0 0 clamp(195px, 22vw, 360px);
    background: var(--color-surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: clamp(15px, 1.6vw, 32px);
    transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
    display: grid;
    gap: var(--space-2);
    align-content: start;
    position: relative;
    overflow: hidden;
}

.tool::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 3px;
    width: 0;
    background: var(--color-accent);
    transition: width var(--t-slow) var(--ease);
}

.tool:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: transparent;
}

.tool:hover::after {
    width: 100%;
}

.tool h3 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.01em;
}

.tool p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 1023px) {
    
    .tools-layout {
        grid-template-columns: 1fr;
        gap: var(--space-5);
        align-items: stretch;
    }
    .tools-layout .tools-marquee {
        
        margin-inline: calc(-1 * var(--pad-x));
        width: auto;
        transform: none;
    }
}

@media (max-width: 640px) {
    .tool { flex-basis: clamp(165px, 70vw, 280px); }
    .tools-track { animation-duration: 45s; }
}



.section-quem {
    padding-block: clamp(48px, 5.5vw, 100px);
}

.quem-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(24px, 3.5vw, 64px);
    margin-bottom: clamp(28px, 3.5vw, 56px);
}

@media (max-width: 880px) {
    .quem-top { grid-template-columns: 1fr; }
}

.quem-head .h2 {
    margin-block: clamp(8px, 1vw, 16px) 0;
}

.quem-head .h2 em {
    font-family: var(--font-serif);
    font-style: italic;
    color: var(--color-accent);
    font-weight: 500;
}

.quem-intro {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2vw, 32px);
    align-items: flex-start;
    justify-content: center;
    padding-top: clamp(8px, 1vw, 18px);
}

.quem-intro p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(14px, 1.15vw, 18px);
    line-height: 1.6;
}


.quem-btn {
    display: inline-flex;
    align-items: center;
    gap: clamp(8px, 0.8vw, 12px);
    background: var(--color-navy);
    color: #fff;
    padding: clamp(12px, 1.3vw, 18px) clamp(20px, 2vw, 32px);
    border-radius: var(--radius-md);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(13px, 1.1vw, 16px);
    text-decoration: none;
    transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}

.quem-btn:hover {
    background: var(--color-accent);
    transform: translateY(-2px);
}

.quem-btn svg {
    width: clamp(14px, 1.1vw, 18px);
    height: clamp(14px, 1.1vw, 18px);
}


.quem-cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(16px, 2vw, 32px);
    margin-bottom: clamp(32px, 4vw, 60px);
}

@media (max-width: 880px) {
    .quem-cards { grid-template-columns: 1fr; }
}

.quem-card {
    border-radius: var(--radius-lg);
    padding: clamp(20px, 2.4vw, 36px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(16px, 2vw, 28px);
    overflow: hidden;
    position: relative;
    min-height: clamp(380px, 36vw, 520px);
}


.quem-card--light {
    background:
        repeating-linear-gradient(135deg, var(--line) 0 1px, transparent 1px 14px),
        var(--color-bg-alt);
    border: 1px solid var(--line);
}

.quem-card--dark {
    background: var(--color-navy);
    border: 1px solid var(--color-navy);
    color: rgba(255, 255, 255, 0.8);
    justify-content: flex-start;
    padding: clamp(24px, 2.8vw, 40px);
}


.quem-tag {
    display: inline-flex;
    align-items: center;
    gap: clamp(6px, 0.6vw, 10px);
    align-self: flex-start;
    background: var(--color-surface);
    color: var(--color-heading);
    border: 1px solid var(--line-strong);
    padding: clamp(6px, 0.7vw, 10px) clamp(12px, 1.2vw, 18px);
    border-radius: var(--radius-md);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(12px, 1vw, 15px);
    letter-spacing: -0.005em;
}

.quem-tag svg {
    width: clamp(14px, 1.1vw, 17px);
    height: clamp(14px, 1.1vw, 17px);
    color: var(--color-accent);
}


.quem-card-img {
    margin: 0;
    flex: 1;
    display: grid;
    place-items: center;
    min-height: clamp(160px, 20vw, 280px);
}

.quem-card-img .ph-tag {
    font-family: var(--font-mono);
    color: var(--color-text-soft);
    font-size: clamp(11px, 0.95vw, 14px);
    background: rgba(255, 255, 255, 0.65);
    padding: clamp(4px, 0.4vw, 6px) clamp(10px, 1vw, 14px);
    border-radius: var(--radius-sm);
    border: 1px solid var(--line);
}


.quem-stat {
    display: inline-flex;
    align-items: center;
    gap: clamp(8px, 0.8vw, 12px);
    align-self: flex-start;
    background: var(--color-surface);
    border: 1px solid var(--line-strong);
    padding: clamp(8px, 0.9vw, 14px) clamp(14px, 1.4vw, 22px);
    border-radius: var(--radius-md);
    font-family: var(--font-display);
    font-size: clamp(13px, 1.05vw, 16px);
    color: var(--color-heading);
}

.quem-stat strong {
    font-weight: 800;
    color: var(--color-accent);
    font-size: clamp(15px, 1.25vw, 19px);
}


.quem-block {
    display: grid;
    gap: clamp(10px, 1.2vw, 16px);
    align-content: start;
}

.quem-block-icon {
    display: inline-grid;
    place-items: center;
    width: clamp(40px, 3.4vw, 56px);
    height: clamp(40px, 3.4vw, 56px);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-md);
    color: var(--color-lilac);
}

.quem-block-icon svg {
    width: 55%;
    height: 55%;
}

.quem-block h3 {
    font-family: var(--font-display);
    font-weight: 700;
    color: #fff;
    font-size: clamp(18px, 1.7vw, 26px);
    margin: 0;
    letter-spacing: -0.01em;
}

.quem-block p {
    margin: 0;
    font-size: clamp(13px, 1.1vw, 16px);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
}

.quem-divider {
    height: 1px;
    background: var(--line-dark);
    margin-block: clamp(4px, 0.8vw, 14px);
}

.quem-fechamento {
    margin: clamp(36px, 4.5vw, 72px) 0 clamp(40px, 5vw, 80px);
    color: var(--color-text-soft);
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.85;
    max-width: clamp(640px, 70vw, 920px);
}

.quem-fechamento strong {
    color: var(--color-heading);
    font-weight: 700;
}



.section-sectors {
    background:
      radial-gradient(60% 92% at 12% 0%, rgba(46,124,232,0.30) 0%, rgba(46,124,232,0) 52%),
      linear-gradient(160deg, #0A2E6E 0%, #021445 100%);
    color: var(--color-lilac);
    padding-block: clamp(36px, 4vw, 72px) !important;
}

.sectors-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 64px);
    align-items: end;
    margin-bottom: clamp(28px, 3.5vw, 56px);
}

@media (max-width: 880px) {
    .sectors-top { grid-template-columns: 1fr; }
}

.sectors-head .eyebrow {
    color: var(--color-lilac);
}

.sectors-head .h2 {
    color: #fff;
    margin-block: clamp(8px, 1vw, 16px) clamp(16px, 1.8vw, 24px);
}

.sectors-head .h2 em {
    font-family: var(--font-serif);
    font-style: italic;
    color: var(--color-lilac);
    font-weight: 500;
}


.section-sectors .sector-tags li {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--line-dark);
    color: #fff;
}

.section-sectors .sector-tags li:hover {
    background: #fff;
    color: var(--color-navy);
    border-color: #fff;
}

.sectors-note {
    max-width: clamp(280px, 36vw, 520px);
    padding-bottom: clamp(8px, 1vw, 14px);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 880px) {
    .sectors-note { max-width: 100%; padding-bottom: 0; }
}

.sectors-logos {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(20px, 2.5vw, 44px);
    align-items: center;
    padding-top: clamp(20px, 2.4vw, 36px);
    border-top: 1px solid var(--line-dark);
}

@media (max-width: 700px) {
    .sectors-logos {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
}

.sectors-logos-label {
    font-family: var(--font-mono);
    font-size: clamp(10px, 0.85vw, 12px);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--color-lilac);
    margin: 0;
    white-space: nowrap;
    font-weight: 600;
}


.section-sectors .logos-marquee {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.section-sectors .logo-name {
    color: rgba(255, 255, 255, 0.45);
}

.section-sectors .logo-name:hover {
    color: #fff;
    opacity: 1;
}


.sector-tags {
    list-style: none;
    padding: 0;
    margin: var(--space-3) 0;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(6px, 0.7vw, 10px);
}

.sector-tags li {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(13px, 1.05vw, 17px);
    color: var(--color-heading);
    background: var(--color-surface);
    border: 1px solid var(--line-strong);
    padding: clamp(5px, 0.5vw, 8px) clamp(11px, 1vw, 18px);
    border-radius: var(--radius-md);
    letter-spacing: -0.005em;
    transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}

.sector-tags li:hover {
    background: var(--color-navy);
    color: var(--color-surface);
    border-color: var(--color-navy);
}


.logos-marquee {
    overflow: hidden;
    padding-block: var(--space-3);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.logos-track {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.6vw, 32px);
    width: max-content;
    list-style: none;
    padding: 0;
    margin: 0;
    animation: logos-scroll 50s linear infinite;
    will-change: transform;
}

.logos-track:hover {
    animation-play-state: paused;
}


@keyframes logos-scroll {
    from { transform: translate3d(-50%, 0, 0); }
    to   { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .logos-track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
    }
}


.logo-name {
    flex: 0 0 auto;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(18px, 1.7vw, 28px);
    letter-spacing: -0.01em;
    color: var(--color-text-soft);
    opacity: 0.6;
    transition: opacity var(--t-med) var(--ease), color var(--t-med) var(--ease);
    cursor: default;
    user-select: none;
}

.logo-name:hover {
    opacity: 1;
    color: var(--color-navy);
}


.logo-img {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(170px, 16vw, 250px);
    height: clamp(100px, 9vw, 140px);
}

.logo-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    
    filter: brightness(0) invert(1);
    opacity: 0.55;
    transition: opacity var(--t-med) var(--ease);
}

.logo-img:hover img {
    opacity: 1;
}


.section-sectors .logos-marquee {
    padding-block: clamp(8px, 1vw, 18px);
}

@media (max-width: 640px) {
    .logos-track { animation-duration: 38s; gap: clamp(10px, 3vw, 20px); }
    .logo-img { width: clamp(110px, 32vw, 170px); height: clamp(60px, 16vw, 90px); }
}



.m-subblocks {
    margin-top: var(--space-5);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4) var(--space-5);
}

.m-subblock h4 {
    font-size: var(--fs-md);
    color: #fff;
    font-weight: 700;
    margin: 0 0 var(--space-2) 0;
    line-height: 1.25;
}

.m-subblock p {
    font-size: var(--fs-sm);
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 1023px) {
    .m-subblocks { grid-template-columns: 1fr; }
}

.method-closer {
    margin-top: var(--space-7);
    text-align: center;
    font-size: clamp(13.5px, 1.8vw, 29px);
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    letter-spacing: -0.02em;
    max-width: 720px;
    margin-inline: auto;
}

.method-closer .serifx {
    color: var(--color-lilac-soft);
}



.section-values {
    padding-block: var(--space-9);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(15px, 2vw, 36px);
}

.value {
    background: var(--color-surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: clamp(18px, 2.2vw, 44px);
    display: grid;
    gap: var(--space-3);
    align-content: start;
    position: relative;
}

.value-tag {
    font-family: var(--font-serif);
    font-weight: 500;
    font-style: italic;
    font-size: clamp(16.5px, 2.16vw, 36px);
    line-height: 1;
    color: var(--color-accent);
    margin: 0;
    letter-spacing: -0.02em;
}

.value h3 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    margin: 0;
    line-height: 1.2;
}

.value p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 1023px) {
    .values-grid { grid-template-columns: 1fr; gap: var(--space-3); }
}



.tempo-block {
    padding-block: clamp(21px, 2.6vw, 56px);
    border-bottom: 1px solid var(--line);
}

.tempo-block:first-of-type {
    border-top: 1px solid var(--line);
}

.tempo-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(15px, 2vw, 36px);
    align-items: start;
    margin-bottom: var(--space-5);
}

.tempo-mark {
    font-family: var(--font-serif);
    font-weight: 500;
    font-style: italic;
    font-size: clamp(27px, 4.05vw, 72px);
    line-height: 1;
    color: var(--color-accent);
    margin: 0;
    letter-spacing: -0.03em;
}

.tempo-title-wrap {
    display: grid;
    gap: var(--space-2);
}

.tempo-title-wrap .eyebrow {
    margin: 0;
}

.h3-tempo {
    font-size: clamp(15px, 1.98vw, 34px);
    font-weight: 800;
    color: var(--color-heading);
    line-height: 1.15;
    letter-spacing: -0.025em;
    margin: 0;
}

.tempo-desc {
    font-size: var(--fs-md);
    color: var(--color-text);
    line-height: 1.55;
    margin: 0;
    max-width: 70ch;
}

.tempo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4) var(--space-5);
    margin-left: clamp(0px, 3vw, 60px);
}

.tempo-entrega h4 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    margin: 0 0 var(--space-2) 0;
    line-height: 1.25;
}

.tempo-entrega p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 1023px) {
    .tempo-head { grid-template-columns: 1fr; gap: var(--space-3); }
    .tempo-grid { grid-template-columns: 1fr; margin-left: 0; }
}





.svc-top {
    padding-top: clamp(116px, 15vh, 168px);
}

.svc-crumb {
    display: flex;
    align-items: center;
    gap: clamp(5.3px, 0.6vw, 12px);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--color-text-soft);
    margin-bottom: clamp(15px, 2vw, 32px);
    flex-wrap: wrap;
}

.svc-crumb a {
    color: var(--color-text-soft);
    transition: color var(--t-fast) var(--ease);
}

.svc-crumb a:hover { color: var(--color-accent); }
.svc-crumb .sep { opacity: 0.45; }
.svc-crumb .cur { color: var(--color-heading); }


.sectors {
    margin-top: 8px;
    border-top: 1px solid var(--line-strong);
}

.sector {
    position: relative;
    display: grid;
    grid-template-columns: clamp(40.5px, 6vw, 100px) minmax(190px, 1.05fr) 1.55fr;
    gap: clamp(12px, 3vw, 46px);
    padding: clamp(19.5px, 3.4vw, 44px) 0;
    border-bottom: 1px solid var(--line);
    transition: background var(--t-med) var(--ease);
}

.sector::before {
    content: "";
    position: absolute;
    inset: 0 clamp(-28px, -1.8vw, -16px);
    z-index: 0;
    border-radius: var(--radius-sm);
    background: var(--color-accent-tint);
    opacity: 0;
    transition: opacity var(--t-med) var(--ease);
    pointer-events: none;
}

.sector:hover::before { opacity: 0.5; }
.sector > * { position: relative; z-index: 1; }

.sec-idx {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.02em;
    font-size: clamp(24px, 4.5vw, 63px);
    line-height: 0.82;
    color: var(--color-heading);
    transition: color var(--t-med) var(--ease);
}

.sector:hover .sec-idx { color: var(--color-accent); }

.sec-label { align-self: start; }

.sec-foco {
    display: block;
    font-size: var(--fs-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-label);
    margin-bottom: clamp(4.5px, 0.6vw, 12px);
}

.sec-foco::before { content: "Foco \2192 "; opacity: 0.5; }

.sec-name {
    font-size: clamp(13.5px, 1.89vw, 27px);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin: 0;
}

.sec-body {
    align-self: start;
    border-left: 1px solid var(--line);
    padding-left: clamp(12px, 2.5vw, 40px);
}

.sec-desc {
    font-size: var(--fs-base);
    color: var(--color-text);
    line-height: 1.55;
    margin: 0;
}

.sec-tags {
    margin-top: clamp(9px, 1.2vw, 20px);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.7;
}

.sec-tags .tg { white-space: nowrap; }
.sec-tags .tg:not(:last-child)::after {
    content: "\00b7";
    margin: 0 0.6em;
    color: var(--color-accent);
    font-weight: 700;
}


.setores-intro {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(24px, 5vw, 72px);
    align-items: center;
    margin-bottom: clamp(33px, 5vw, 68px);
}

.sectors-img {
    aspect-ratio: 4 / 5;
    border-radius: var(--radius-md);
}


.proofs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(10.5px, 1.4vw, 26px);
    margin-bottom: clamp(21px, 3vw, 48px);
}

.proof-slot {
    display: grid;
    gap: clamp(7.5px, 0.8vw, 14px);
    margin: 0;
}

.proof-slot img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: top center;
    border: 1px solid var(--line);
    border-radius: clamp(9px, 1vw, 18px);
    box-shadow: 0 20px 50px -32px rgba(4, 22, 64, 0.22);
    
    background-color: var(--color-surface);
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='130' viewBox='0 0 200 130'%3E%3Crect width='200' height='26' fill='%23001E620D'/%3E%3Ccircle cx='16' cy='13' r='3.2' fill='%235151EB66'/%3E%3Ccircle cx='28' cy='13' r='3.2' fill='%23001E621F'/%3E%3Ccircle cx='40' cy='13' r='3.2' fill='%23001E621F'/%3E%3Crect x='22' y='46' width='156' height='15' rx='7.5' stroke='%23001E621F' stroke-width='1' fill='none'/%3E%3Crect x='22' y='78' width='130' height='5' rx='2.5' fill='%23001E6214'/%3E%3Crect x='22' y='92' width='110' height='4' rx='2' fill='%23001E6210'/%3E%3Crect x='22' y='104' width='88' height='4' rx='2' fill='%23001E6210'/%3E%3C/svg%3E"),
        linear-gradient(165deg, var(--color-bg-alt) 0%, var(--color-surface) 100%);
    background-repeat: no-repeat;
    background-position: center 18%, center;
    background-size: 78% auto, 100% 100%;
    
    color: transparent;
    font-size: 0;
    text-indent: 100%;
    overflow: hidden;
}

.proof-slot figcaption {
    font-family: var(--font-mono);
    font-size: clamp(6.8px, 0.65vw, 11px);
    color: var(--color-text-soft);
    letter-spacing: 0.04em;
    text-align: center;
}

@media (max-width: 1000px) {
    .proofs-grid { grid-template-columns: 1fr; gap: clamp(9px, 2vw, 18px); }
}



.tempos5 { border-top: 1px solid var(--line-strong); }

.tempo-row {
    display: grid;
    grid-template-columns: minmax(248px, 330px) 1fr;
    gap: clamp(19.5px, 4vw, 68px);
    padding: clamp(27px, 4.6vw, 64px) 0;
    border-bottom: 1px solid var(--line);
}

.tm-eyebrow {
    display: inline-block;
    font-size: var(--fs-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-label);
    margin-bottom: clamp(7.5px, 1vw, 16px);
}

.tm-glyph {
    display: block;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.03em;
    font-size: clamp(36.8px, 5.85vw, 90px);
    line-height: 0.8;
    color: var(--color-heading);
    margin-bottom: clamp(10.5px, 1.4vw, 22px);
}

.tm-glyph sup {
    font-size: 0.46em;
    font-weight: 500;
    margin-left: 0.02em;
}

.tempo-mark h3 {
    font-family: var(--font-body);
    font-style: normal;
    font-size: clamp(13.5px, 1.71vw, 25px);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.025em;
    line-height: 1.16;
    margin: 0 0 clamp(7.5px, 1vw, 15px) 0;
}

.tm-desc {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: var(--fs-base);
    color: var(--color-text-soft);
    line-height: 1.55;
    max-width: 40ch;
    margin: 0;
    letter-spacing: 0.01em;
    word-spacing: 0.04em;
}

.tempo-deliv {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(16.5px, 2.6vw, 38px) clamp(18px, 3vw, 44px);
    align-content: start;
}

.deliv {
    padding-top: clamp(9.8px, 1.2vw, 20px);
    border-top: 2px solid var(--color-accent);
}

.deliv h4 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin: 0 0 clamp(5.3px, 0.7vw, 11px) 0;
}

.deliv p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.55;
    margin: 0;
}



.icp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(13.5px, 2.5vw, 28px);
    margin-top: 8px;
}

.icp-card {
    border: 1px solid var(--line-strong);
    border-radius: clamp(10.5px, 1.2vw, 22px);
    padding: clamp(19.5px, 3vw, 44px);
    background: var(--color-surface);
}

.icp-card.yes {
    border-color: var(--color-accent);
    box-shadow: 0 24px 60px -34px rgba(0, 114, 206, 0.5);
}

.icp-head {
    display: flex;
    align-items: center;
    gap: clamp(7.5px, 1vw, 16px);
    padding-bottom: clamp(10.5px, 1.4vw, 22px);
    margin-bottom: 6px;
    border-bottom: 1px solid var(--line);
}

.icp-badge {
    width: clamp(24px, 2.8vw, 42px);
    height: clamp(24px, 2.8vw, 42px);
    border-radius: clamp(5.3px, 0.7vw, 12px);
    display: grid;
    place-items: center;
    flex: none;
}

.icp-card.yes .icp-badge { background: var(--color-accent); color: #fff; }
.icp-card.no .icp-badge { background: var(--color-bg-alt); color: var(--color-text-soft); }

.icp-badge svg {
    width: clamp(12.8px, 1.4vw, 22px);
    height: clamp(12.8px, 1.4vw, 22px);
}

.icp-head h3 {
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-heading);
    margin: 0;
}

.icp-card.no .icp-head h3 { color: var(--color-text-soft); }

.icp-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.icp-list li {
    display: flex;
    gap: clamp(7.5px, 1vw, 16px);
    align-items: flex-start;
    padding: clamp(9px, 1.2vw, 18px) 0;
    border-top: 1px solid var(--line);
    font-size: var(--fs-base);
    line-height: 1.45;
}

.icp-list li:first-child { border-top: none; }

.icp-list .ic {
    width: clamp(13.5px, 1.5vw, 22px);
    height: clamp(13.5px, 1.5vw, 22px);
    flex: none;
    margin-top: 2px;
    display: grid;
    place-items: center;
}

.icp-list .ic svg { width: 100%; height: 100%; }

.icp-card.yes .icp-list li { color: var(--color-text); }
.icp-card.yes .ic { color: var(--color-accent); }
.icp-card.no .icp-list li { color: var(--color-text-soft); }
.icp-card.no .ic { color: var(--color-text-soft); opacity: 0.65; }



.glossary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 clamp(30px, 5vw, 80px);
    border-top: 1px solid var(--line-strong);
    margin-top: 8px;
}

.gloss {
    padding: clamp(12px, 2vw, 26px) 0;
    border-bottom: 1px solid var(--line);
}

.gloss-term {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(12px, 1.35vw, 22px);
    color: var(--color-heading);
    letter-spacing: -0.01em;
    margin: 0 0 clamp(3.8px, 0.5vw, 9px) 0;
}

.gloss-def {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
    margin: 0;
}



.tool-marquee {
    position: relative;
    margin: 0 0 clamp(21px, 4vw, 52px);
    overflow: hidden;
    border-block: 1px solid var(--line-dark);
    padding-block: clamp(10.5px, 1.2vw, 22px);
    -webkit-mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.tool-track {
    display: flex;
    width: max-content;
    animation: tmarq 42s linear infinite;
}

.tool-marquee:hover .tool-track { animation-play-state: paused; }

.tool-track .tm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: clamp(36px, 4vw, 68px);
    min-width: clamp(105px, 14vw, 200px);
    margin: 0 clamp(5.3px, 0.7vw, 12px);
    padding: 0 clamp(13.5px, 1.8vw, 30px);
    border: 1px solid var(--line-dark);
    border-radius: clamp(6px, 0.85vw, 14px);
    background: rgba(255, 255, 255, 0.03);
    font-size: clamp(9.8px, 0.99vw, 16px);
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.01em;
    white-space: nowrap;
    transition: border-color var(--t-fast) var(--ease);
}

.tool-marquee:hover .tm { border-color: rgba(255, 255, 255, 0.22); }

@keyframes tmarq { to { transform: translateX(-40%); } }

.stack {
    border-top: 1px solid var(--line-dark);
}

.stack-row {
    display: grid;
    grid-template-columns: minmax(clamp(120px, 16vw, 240px), clamp(135px, 18vw, 280px)) 1fr;
    gap: clamp(12px, 2.5vw, 44px);
    align-items: start;
    padding: clamp(15px, 2.6vw, 36px) 0;
    border-bottom: 1px solid var(--line-dark);
}

.stack-label {
    display: flex;
    align-items: baseline;
    gap: clamp(7.5px, 1vw, 16px);
    font-size: var(--fs-md);
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.stack-label .stk-n {
    flex: none;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    color: var(--color-lilac-soft);
    font-size: var(--fs-md);
}

.stack-chips {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(5.3px, 0.7vw, 11px);
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: clamp(4.5px, 0.6vw, 10px);
    font-size: var(--fs-sm);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--line-dark);
    padding: clamp(5.3px, 0.65vw, 11px) clamp(8.3px, 1vw, 18px);
    border-radius: clamp(5.3px, 0.6vw, 10px);
    transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}

.chip::before {
    content: "";
    width: clamp(3px, 0.4vw, 6px);
    height: clamp(3px, 0.4vw, 6px);
    border-radius: 50%;
    background: var(--color-lilac-soft);
    opacity: 0.7;
    transition: opacity var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}

.chip.soft { font-weight: 500; color: rgba(255, 255, 255, 0.55); }
.chip:hover { border-color: var(--color-accent); background: rgba(0, 114, 206, 0.18); color: #fff; }
.chip:hover::before { background: #fff; opacity: 1; }



.rm { margin-top: clamp(9px, 1.2vw, 24px); }

.rm-chart {
    position: relative;
    border-bottom: 1px solid var(--line);
    padding-bottom: clamp(7.5px, 1vw, 18px);
}

.rm-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.rm-base { stroke: var(--line-strong); stroke-width: 1.5; }
.rm-grid-h { stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 6; opacity: 0.65; }
.rm-grid-v { stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 7; opacity: 0.5; }
.rm-area { fill: var(--color-accent); opacity: 0.09; }
.rm-line {
    fill: none;
    stroke: var(--color-accent);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.rm-line.future { stroke-width: 2.5; stroke-dasharray: 3 7; opacity: 0.55; }
.rm-node { fill: var(--color-bg); stroke: var(--color-accent); stroke-width: 3; }
.rm-node.future { stroke-width: 2; opacity: 0.65; }
.rm-mk {
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 700;
    fill: var(--color-heading);
    letter-spacing: -0.02em;
}
.rm-mk.future {
    font-size: 14px;
    font-weight: 600;
    fill: var(--color-text-soft);
}
.rm-cap {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    fill: var(--color-text-soft);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.rm-y {
    font-family: var(--font-mono);
    font-size: 11.5px;
    font-weight: 500;
    fill: var(--color-text-soft);
    letter-spacing: 0.02em;
}
.rm-note {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 400;
    fill: var(--color-text-soft);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rm-phases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16.5px, 3vw, 48px);
    margin-top: clamp(16.5px, 2.6vw, 36px);
}


.rm-phases:has(> .phase:nth-child(4):nth-last-child(1)) {
    grid-template-columns: repeat(2, 1fr);
}



.phase { position: relative; }

@media (prefers-reduced-motion: no-preference) {
    .rm-chart .rm-line:not(.future) {
        stroke-dasharray: 1;
        stroke-dashoffset: 1;
        transition: stroke-dashoffset 1.6s var(--ease) 0.15s;
    }
    .rm-chart .rm-area,
    .rm-chart .rm-node,
    .rm-chart .rm-mk {
        opacity: 0;
        transition: opacity 0.7s var(--ease) 0.55s;
    }
    .rm-chart .rm-line.future {
        opacity: 0;
        transition: opacity 0.7s var(--ease) 0.9s;
    }
    .rm.in .rm-chart .rm-line:not(.future) { stroke-dashoffset: 0; }
    .rm.in .rm-chart .rm-area { opacity: 0.09; }
    .rm.in .rm-chart .rm-node,
    .rm.in .rm-chart .rm-mk { opacity: 1; }
    .rm.in .rm-chart .rm-line.future { opacity: 0.55; }
}

.ph-head {
    display: flex;
    gap: clamp(7.5px, 1.1vw, 18px);
    align-items: flex-start;
}

.ph-idx {
    flex: none;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.02em;
    font-size: clamp(24px, 3.06vw, 50px);
    line-height: 0.8;
    color: var(--color-accent);
}

.ph-kicker {
    font-size: var(--fs-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-text-soft);
}

.ph-foco {
    font-size: clamp(12px, 1.44vw, 23px);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-top: 4px;
}

.ph-list {
    margin-top: clamp(13.5px, 1.8vw, 28px);
    display: flex;
    flex-direction: column;
    gap: clamp(7.5px, 1vw, 16px);
    list-style: none;
    padding: 0;
}

.ph-list li {
    display: flex;
    gap: clamp(6.8px, 0.9vw, 14px);
    align-items: flex-start;
    font-size: var(--fs-sm);
    color: var(--color-text);
    line-height: 1.45;
}

.ph-list li svg {
    width: clamp(11.3px, 1.3vw, 20px);
    height: clamp(11.3px, 1.3vw, 20px);
    flex: none;
    margin-top: 3px;
    color: var(--color-accent);
}



.ledger {
    border-top: 1px solid var(--line-dark);
    margin-top: 6px;
}

.led-row {
    display: grid;
    grid-template-columns: clamp(31.5px, 5vw, 80px) minmax(clamp(142.5px, 18vw, 240px), 1fr) 1.2fr;
    gap: clamp(12px, 3vw, 52px);
    align-items: center;
    padding: clamp(19.5px, 3.4vw, 52px) 0;
    border-bottom: 1px solid var(--line-dark);
}

.led-idx {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.02em;
    font-size: clamp(17.3px, 2.34vw, 40px);
    line-height: 1;
    color: var(--color-lilac-soft);
}

.led-tag {
    display: block;
    font-size: var(--fs-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-lilac-soft);
    margin-bottom: clamp(6px, 0.8vw, 14px);
}

.led-fig-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: clamp(3px, 0.4vw, 8px) clamp(7.5px, 1vw, 16px);
}

.led-big {
    font-size: clamp(18.8px, 3.6vw, 50px);
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1;
}

.led-sub {
    font-size: var(--fs-base);
    font-weight: 500;
    color: var(--color-lilac-soft);
    letter-spacing: -0.01em;
}

.led-desc {
    font-size: var(--fs-sm);
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.55;
    max-width: 50ch;
}



.seals {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-surface);
    margin-top: 4px;
}

.seal {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(4.5px, 0.6vw, 12px);
    text-align: center;
    padding: clamp(21px, 3vw, 50px) clamp(13.5px, 1.6vw, 30px);
    border-left: 1px solid var(--line);
}

.seal:first-child { border-left: none; }

.seal-name {
    font-size: clamp(10.5px, 1.17vw, 20px);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.01em;
}

.seal-status {
    font-size: var(--fs-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-label);
}

.seals-note {
    margin-top: clamp(10.5px, 1.4vw, 24px);
    text-align: center;
    font-size: var(--fs-mono);
    letter-spacing: 0.04em;
    color: var(--color-text-soft);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}



.rel-list {
    border-top: 1px solid var(--line-strong);
    margin-top: 6px;
}

.rel-link {
    position: relative;
    display: grid;
    grid-template-columns: minmax(clamp(120px, 18vw, 280px), clamp(135px, 20vw, 300px)) 1fr auto;
    gap: clamp(9px, 2.5vw, 44px);
    align-items: center;
    padding: clamp(15px, 2.6vw, 36px) clamp(10.5px, 1.4vw, 24px);
    border-bottom: 1px solid var(--line);
    transition: background var(--t-fast) var(--ease);
}

.rel-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-accent-tint);
    opacity: 0;
    transition: opacity var(--t-fast) var(--ease);
    pointer-events: none;
}

.rel-link:hover::before { opacity: 0.6; }
.rel-link > * { position: relative; z-index: 1; }

.rl-name {
    font-size: clamp(12px, 1.53vw, 25px);
    font-weight: 700;
    color: var(--color-heading);
    letter-spacing: -0.02em;
    line-height: 1.12;
    transition: color var(--t-fast) var(--ease);
}

.rel-link:hover .rl-name { color: var(--color-accent); }

.rl-desc {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.5;
    max-width: 62ch;
}

.rl-arrow {
    display: grid;
    place-items: center;
    color: var(--color-accent);
    transition: transform var(--t-fast) var(--ease);
}

.rl-arrow svg {
    width: clamp(13.5px, 1.6vw, 26px);
    height: clamp(13.5px, 1.6vw, 26px);
}

.rel-link:hover .rl-arrow { transform: translateX(6px); }



@media (max-width: 1000px) {
    .icp-grid { grid-template-columns: 1fr; gap: clamp(10.5px, 1.8vw, 22px); }
}

@media (max-width: 860px) {
    .sector { grid-template-columns: auto 1fr; gap: 8px 22px; }
    .sec-idx { grid-row: 1 / 2; font-size: clamp(21.8px, 7.2vw, 40px); }
    .sec-label { grid-column: 2 / 3; }
    .sec-body { grid-column: 1 / 3; border-left: none; padding-left: 0; margin-top: 6px; }
    .tempo-row { grid-template-columns: 1fr; gap: clamp(13.5px, 3vw, 28px); }
    .tempo-deliv { grid-template-columns: 1fr; }
    .stack-row { grid-template-columns: 1fr; gap: 14px; }
    .sectors-img { aspect-ratio: 16 / 10; }
    .setores-intro { grid-template-columns: 1fr; gap: clamp(16.5px, 3vw, 32px); margin-bottom: clamp(24px, 5vw, 48px); }
    .rm-chart { display: none; }
    .rm-phases {
        grid-template-columns: 1fr;
        gap: 0;
        position: relative;
        margin-top: clamp(6px, 1vw, 16px);
    }
    .rm-phases::before {
        content: "";
        position: absolute;
        top: 8px;
        bottom: 30px;
        left: 7px;
        width: 2px;
        background: linear-gradient(180deg, var(--color-accent), var(--color-accent) 70%, var(--line-strong));
    }
    .phase { padding: 0 0 36px 38px; }
    .phase:last-child { padding-bottom: 0; }
    .phase::before {
        content: "";
        position: absolute;
        left: 0;
        top: 8px;
        width: clamp(10.5px, 1.2vw, 18px);
        height: clamp(10.5px, 1.2vw, 18px);
        border-radius: 50%;
        background: var(--color-bg);
        border: 3px solid var(--color-accent);
        box-shadow: 0 0 0 5px var(--color-bg);
    }
    .led-row { grid-template-columns: 1fr; gap: 8px; }
    .led-idx { font-size: clamp(16.5px, 5.4vw, 29px); }
    .glossary { grid-template-columns: 1fr; }
    .rel-link { grid-template-columns: 1fr auto; row-gap: 7px; }
    .rl-arrow { grid-row: 1 / 3; }
}

@media (max-width: 560px) {
    .seals { flex-direction: column; }
    .seal { border-left: none; border-top: 1px solid var(--line); }
    .seal:first-child { border-top: none; }
}



.section-related {
    padding-block: var(--space-9);
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(15px, 2vw, 36px);
}

.related-card {
    background: var(--color-surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: clamp(16.5px, 2vw, 36px);
    display: grid;
    gap: var(--space-3);
    align-content: start;
    transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
}

.related-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: transparent;
}

.related-card h3 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--color-heading);
    margin: 0;
    line-height: 1.2;
}

.related-card p {
    font-size: var(--fs-sm);
    color: var(--color-text-soft);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 1023px) {
    .related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .related-grid { grid-template-columns: 1fr; }
}



.section-origem {
    padding-block: var(--space-8) var(--space-9);
}

.origem-card {
    max-width: clamp(465px, 60vw, 900px);
    margin-inline: auto;
    text-align: center;
    display: grid;
    justify-items: center;
    gap: var(--space-4);
}

.origem-title {
    line-height: 1.12;
}

.origem-text {
    max-width: 56ch;
    font-size: var(--fs-md);
    color: var(--color-text);
    line-height: 1.55;
}



@media (max-width: 640px) {
    
    .hero-meta .num,
    .stat .n                { font-size: clamp(22px, 6.3vw, 27px); line-height: 1; letter-spacing: -0.035em; }
    .res-callout .n         { font-size: clamp(22px, 6.3vw, 27px); line-height: 1; letter-spacing: -0.035em; }

    
    .hero-meta .lbl         { font-size: clamp(13px, 3.6vw, 16px); margin-top: 8px; line-height: 1.35; }
    .stat .l                { font-size: clamp(13px, 3.6vw, 16px); line-height: 1.4; }

    
    .trust-statement .sct   { font-size: clamp(18px, 5vw, 34px); }
    .trust-statement .arr   { font-size: clamp(13px, 3.6vw, 18px); }

    
    .rl-name                { font-size: clamp(17px, 4.4vw, 19px); line-height: 1.18; }
}

.dif-section{background:radial-gradient(72% 88% at 88% 4%, rgba(46,124,232,0.30) 0%, rgba(46,124,232,0) 56%),radial-gradient(55% 75% at 4% 98%, rgba(20,84,184,0.20) 0%, rgba(20,84,184,0) 55%),linear-gradient(158deg,#0A2E66 0%,#051A4E 48%,#00102F 100%);}
.dif-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,84px);align-items:center;}
.dif-section .h2{color:#fff;}
.dif-section .eyebrow{color:var(--color-lilac-soft);}
.dif-muted{color:rgba(255,255,255,.72);font-size:var(--fs-md);line-height:1.6;margin:var(--space-3) 0 var(--space-4);max-width:52ch;}
.dif-para{color:rgba(255,255,255,.78);font-size:var(--fs-base);line-height:1.7;margin:0 0 var(--space-5);max-width:54ch;}
.dif-flow{display:flex;align-items:center;gap:.55em;flex-wrap:wrap;margin-bottom:var(--space-6);color:rgba(255,255,255,.9);font-family:var(--font-mono);font-size:var(--fs-mono);}
.dif-flow .dstep{padding:.45em .9em;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);}
.dif-flow .dstep--end{background:var(--color-accent);border-color:var(--color-accent);color:#fff;}
.dif-flow svg{width:1.05em;height:1.05em;color:var(--color-lilac);}
.dif-points{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);}
.dif-points li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;}
.dp-ico{width:clamp(34px,2.6vw,42px);height:clamp(34px,2.6vw,42px);flex:none;border-radius:var(--radius-sm);background:rgba(255,255,255,.08);color:var(--color-lilac);display:grid;place-items:center;}
.dp-ico svg{width:52%;height:52%;}
.dif-points p{margin:0;color:rgba(255,255,255,.74);font-size:var(--fs-sm);line-height:1.55;}
.dif-points strong{color:#fff;font-weight:700;}
.dif-carousel{display:flex;flex-direction:column;gap:var(--space-4);}
.dif-carousel .dif-flow{margin-bottom:0;}
.dcar-viewport{overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 30px 70px -34px rgba(0,0,0,.6);}
.dcar-track{display:flex;transition:transform .55s cubic-bezier(.6,.04,.2,1);}
.dcar-slide{flex:0 0 100%;}
.dcar-slide img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top center;display:block;background:#fff;}
.dcar-ph{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);display:block;padding:clamp(16px,2vw,28px);background:linear-gradient(135deg,#EAF0F8,#D5E1F0);}
.dcar-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5em;align-self:center;padding:clamp(13px,1.2vw,17px) clamp(24px,2.2vw,38px);border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;font-size:var(--fs-base);font-weight:700;text-decoration:none;transition:background .2s,gap .2s,transform .2s;}
.dcar-cta:hover{background:#fff;color:var(--color-navy);gap:.8em;transform:translateY(-2px);}
.dcar-cta svg{width:1.05em;height:1.05em;}
.dcar-stat{position:absolute;left:clamp(20px,2.2vw,34px);bottom:clamp(20px,2.2vw,34px);display:grid;gap:5px;z-index:1;}
.dcar-num{font-size:clamp(32px,4.2vw,58px);font-weight:800;letter-spacing:-.03em;color:var(--color-accent);line-height:1;}
.dcar-cap{font-size:var(--fs-sm);color:var(--color-text-soft);}
.dcar-ctrl{display:flex;align-items:center;justify-content:center;gap:var(--space-3);}
.dcar-dots{display:flex;gap:8px;}
.dcar-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.3);cursor:pointer;padding:0;transition:width .25s,background .25s,border-radius .25s;}
.dcar-dot.is-active{background:#fff;width:26px;border-radius:5px;}
.dcar-nav{display:flex;gap:10px;}
.dcar-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,transform .2s;}
.dcar-btn:hover{background:#fff;color:var(--color-navy);transform:translateY(-2px);}
.dcar-btn svg{width:20px;height:20px;}
@media(max-width:880px){.dif-wrap{grid-template-columns:1fr;gap:var(--space-6);}}
.insight-sec{background:#000;padding-block:clamp(24px,3.2vw,48px);}
.insight-card{position:relative;overflow:hidden;background:#000;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:clamp(28px,5vw,72px);flex-wrap:wrap;padding:clamp(14px,1.8vw,26px) clamp(28px,4vw,72px);}
.insight-bg{position:absolute;right:clamp(8px,2vw,48px);bottom:0;top:auto;height:90%;width:auto;max-width:42%;object-fit:contain;object-position:right bottom;--px:0px;--sc:1;transform:translateX(var(--px)) scale(var(--sc));transform-origin:bottom right;transition:transform .4s ease-out;pointer-events:none;}
.insight-card:hover .insight-bg{--px:-14px;--sc:1.03;}
.insight-body{position:relative;z-index:1;max-width:62ch;padding:0;text-align:left;}
.insight-quote{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(24px,3vw,40px);line-height:1.16;letter-spacing:-.02em;color:#fff;margin:var(--space-4) 0 0;}
.insight-em{color:var(--color-lilac-soft);}
.insight-sub{color:rgba(255,255,255,.72);font-size:var(--fs-md);max-width:50ch;margin:var(--space-4) 0 0;line-height:1.6;}
.insight-cta{flex:none;align-self:center;}
@media(max-width:760px){.insight-cta{align-self:flex-start;}}

.vs-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(14px,2vw,36px);align-items:start;margin-top:var(--space-3);}
.vs-head{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);margin:0 0 var(--space-4);text-align:right;min-height:2.6em;}
.vs-head--b{text-align:left;color:var(--color-accent);}
.vs-bars{display:flex;flex-direction:column;gap:var(--space-3);}
.vs-bar{display:flex;align-items:center;gap:.65em;width:100%;padding:clamp(13px,1.4vw,18px) clamp(16px,1.8vw,26px);font-size:var(--fs-base);font-weight:600;line-height:1.25;}
.vs-bar svg{width:18px;height:18px;flex:none;}
.vs-col--a .vs-bar{flex-direction:row-reverse;text-align:right;background:var(--color-bg-alt);color:var(--color-heading);border:1px solid var(--line);border-right:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);}
.vs-col--a .vs-bar span{flex:1;}
.vs-col--a .vs-bar svg{color:var(--color-text-soft);}
.vs-col--b .vs-bar{background:linear-gradient(90deg,var(--color-accent),var(--color-blue));color:#fff;border-radius:0 var(--radius-pill) var(--radius-pill) 0;box-shadow:0 14px 28px -16px rgba(0,114,206,.55);}
.vs-col--b .vs-bar svg{color:#fff;}
.vs-mid{display:flex;flex-direction:column;align-items:center;align-self:stretch;gap:var(--space-3);padding-top:calc(2.6em - .4em);}
.vs-badge{width:clamp(48px,4vw,64px);height:clamp(48px,4vw,64px);border-radius:50%;background:var(--color-navy-deep);color:#fff;font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,1.8vw,25px);display:grid;place-items:center;flex:none;box-shadow:0 16px 32px -12px rgba(4,22,64,.55);}
.vs-line{flex:1;width:2px;background:repeating-linear-gradient(var(--line-strong) 0 6px,transparent 6px 12px);}
@media(max-width:760px){.vs-compare{grid-template-columns:1fr;gap:var(--space-4);}.vs-head,.vs-head--b{text-align:left;min-height:0;}.vs-mid{flex-direction:row;padding-top:0;justify-content:center;}.vs-line{display:none;}.vs-col--a .vs-bar{flex-direction:row;text-align:left;border-right:1px solid var(--line);border-radius:var(--radius-pill);}.vs-col--a .vs-bar span{flex:0 1 auto;}.vs-col--b .vs-bar{border-radius:var(--radius-pill);}}

#quem-somos .section-head{margin-bottom:var(--space-4);}
#quem-somos .qs-lead{margin-top:0;}
.tw{color:#fff;}
.tw.tw-on{border-right:2px solid rgba(255,255,255,.75);animation:twcaret .7s step-end infinite;padding-right:2px;}
@keyframes twcaret{50%{border-right-color:transparent;}}


.hero-visual::before,.hero-visual::after{display:none !important;}
.hero-visual{border-radius:0 !important;background:transparent !important;aspect-ratio:auto !important;}
.hero-visual > .hero-ph{width:100% !important;height:auto !important;aspect-ratio:auto !important;max-width:100% !important;max-height:none !important;margin:0 !important;object-fit:contain;object-position:center;display:block;border-radius:var(--radius-lg) !important;}

@media (max-width:1023px){.hero-text > .hero-visual{width:90% !important;max-width:none !important;margin-inline:0 !important;transform:none !important;margin-block:clamp(4px,1vw,12px);}}
@media (max-width:1023px){.hero-badge{padding:clamp(10px,3vw,16px) clamp(12px,3.5vw,20px) !important;}.hero-badge .t{font-size:clamp(12px,3.3vw,15px) !important;line-height:1.4 !important;}.hero-badge .t b{font-size:clamp(13px,3.8vw,16px) !important;}.hero-badge .dot{font-size:clamp(15px,4vw,20px) !important;}}
@media (max-width:760px){.infg-ico{align-self:flex-start !important;margin-left:clamp(20px,2vw,30px) !important;}}
@media (max-width:760px){.dg-resolve{padding:clamp(17.6px,4.4vw,31px) clamp(13px,3.4vw,18px) !important;}.dg-benefit{padding:clamp(12px,3vw,15px) clamp(13px,3.4vw,16px) !important;}}
.svc-grid{scrollbar-width:none !important;-ms-overflow-style:none !important;}
.svc-grid::-webkit-scrollbar{display:none !important;height:0 !important;width:0 !important;}
.svc-nav{right:clamp(-48px,-3.5vw,-32px) !important;}
.svc-nav-prev{right:auto !important;left:clamp(-48px,-3.5vw,-32px) !important;}
.svc-nav-prev .ic-next{display:none !important;}.svc-nav-prev .ic-prev{display:block !important;}
.svc-nav-next .ic-prev{display:none !important;}.svc-nav-next .ic-next{display:block !important;}
.svc-nav.svc-nav-off{opacity:0 !important;pointer-events:none !important;visibility:hidden !important;}
.mt3-title{font-size:var(--fs-lg) !important;font-weight:600 !important;line-height:1.5 !important;max-width:42ch !important;}
.hero{padding-top:clamp(14px,2.4vw,36px) !important;}
.mt3-list .mt3-cta{margin-top:clamp(20px,2.4vw,36px) !important;margin-bottom:0 !important;justify-self:start;align-self:start;}
@media (min-width:1024px){.section,.section-values,.section-related,.section-tools{padding-block:clamp(38px,3.8vw,60px) !important;}.section-sm{padding-block:clamp(26px,2.4vw,42px) !important;}.trust,.section-origem{padding-block:clamp(30px,3.2vw,50px) !important;}.section-sectors{padding-block:clamp(28px,2.8vw,46px) !important;}.section-quem{padding-block:clamp(32px,3.4vw,56px) !important;}.insight-sec{padding-block:clamp(20px,2.4vw,38px) !important;}.tempo-block{padding-block:clamp(16px,2vw,38px) !important;}.quem-fechamento{margin-block:clamp(14px,1.4vw,22px) !important;}.dg-resolve{margin-top:clamp(24px,2.6vw,44px) !important;}}
@media (min-width:981px){.infg{align-items:start !important;}.infg-core{min-height:0 !important;}.infg-img{max-height:clamp(230px,22vw,320px) !important;width:auto !important;max-width:100% !important;}}

/* diagnostico: cards viraram texto corrido; espaco entre paragrafos do .infg-intro */
.infg-lead + .infg-lead{margin-top:clamp(12px,1.4vw,20px) !important;}

/* infg: coluna esquerda mais larga + texto preenchendo (texto corrido) */
@media (min-width:981px){.infg{grid-template-columns:1.7fr 0.9fr !important;}}
.infg-lead{max-width:66ch !important;}

/* infg: disco maior e centralizado verticalmente na direita */
@media (min-width:981px){.infg{grid-template-columns:1.5fr 1.1fr !important;}.infg-core{align-self:center !important;}.infg-img{max-height:clamp(272px,30.6vw,374px) !important;max-width:85% !important;}}

/* ===== MacBook mockup (case-shots com screenshot plano: GEO/AEO) ===== */
.case-shot.macbook .shot-frame{background:#0b0b0f;border-radius:clamp(10px,1.1vw,16px) clamp(10px,1.1vw,16px) 0 0;padding:clamp(9px,0.95vw,14px);box-shadow:0 clamp(30px,4vw,70px) clamp(50px,7vw,90px) calc(-1 * clamp(28px,3.6vw,40px)) rgba(0,0,0,.7);}
.case-shot.macbook .shot-frame img{border-radius:clamp(2px,0.3vw,5px);}
.case-shot.macbook .mb-base{height:clamp(10px,1.1vw,15px);margin:0 -4%;background:linear-gradient(180deg,#e6e9ee 0%,#c2c7cf 42%,#a2a8b1 100%);border-radius:0 0 clamp(7px,0.9vw,13px) clamp(7px,0.9vw,13px);box-shadow:0 clamp(16px,2.2vw,32px) clamp(18px,2.8vw,38px) calc(-1 * clamp(18px,2.4vw,28px)) rgba(0,0,0,.5);position:relative;}
.case-shot.macbook .mb-base::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:clamp(56px,13%,150px);height:clamp(4px,0.5vw,7px);background:#8b9199;border-radius:0 0 clamp(5px,0.7vw,10px) clamp(5px,0.7vw,10px);}
