:root{
  --navy:#010934;--navy-2:#16265A;--navy-3:#0B1745;--blue:#0072FF;--blue-hover:#005BCC;--blue-tint:#E6F1FF;--blue-soft:#8CC0FF;--blue-light:#4D9BFF;
  --white:#FFFFFF;--light:#F3F5F9;--tint:#E9EEF7;--line:#DCE2EC;--gray-500:#8B93A3;--gray-700:#4A5160;--text:#3F4757;--muted:#5B6270;
  --display:'Space Grotesk',system-ui,sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  --r-btn:0.5rem;--r-fab:0.625rem;--r-card:1rem;--r-panel:2rem;
  --inset:clamp(0.625rem,1.4vw,1.125rem);--ease:cubic-bezier(.2,.7,.2,1);--ease-io:cubic-bezier(.76,0,.24,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--light)}
/* Telas maiores que 1440px: o site inteiro cresce na mesma proporção da tela (o layout fica idêntico ao de 1440px) */
@media (min-width:1441px){html{font-size:max(100%,min(calc(100vw / 90),calc(100vh / 50.625)))}}
html,body{margin:0}
body{font-family:var(--display);font-size:1rem;line-height:1.65;color:var(--text);background:var(--light);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img,video{max-width:100%;height:auto;display:block}
button{font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance}
.wrap{width:min(75rem,calc(100% - 4rem));margin:0 auto}
.narrow{width:min(57.5rem,calc(100% - 4rem));margin:0 auto}
.i{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.center{text-align:center}
.just{text-align:justify;-webkit-hyphens:auto;hyphens:auto}

/* ---------- Tipografia ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:0.625rem;font:500 0.71875rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-hover);margin:0 0 1rem}
.eyebrow::before{content:"";width:0.4375rem;height:0.4375rem;background:var(--blue);flex:0 0 auto}
.on-dark .eyebrow{color:var(--blue-soft)}
.h2{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.035em;color:var(--navy);margin:0 0 1rem}
.on-dark .h2{color:#fff}
.acc{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.1em;line-height:1;color:var(--blue);padding-right:.04em}
.on-dark .acc{color:var(--blue-light)}
.lead{font-size:1.03125rem;line-height:1.7;color:var(--text);margin:0 0 0.875rem;max-width:35rem}
.on-dark .lead{color:#C3CBE3}
.mono{font-family:var(--mono)}

/* ---------- Cabeçalho de vidro flutuante ---------- */
.site-header{position:fixed;top:0.875rem;left:0;right:0;z-index:50;pointer-events:none;transition:transform .55s var(--ease)}
.site-header .bar{pointer-events:auto;width:min(77.5rem,calc(100% - 1.75rem));margin:0 auto;height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 0.75rem 0 1.125rem;border-radius:1.125rem;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(1.125rem) saturate(1.6);backdrop-filter:blur(1.125rem) saturate(1.6);border:1px solid rgba(255,255,255,.65);box-shadow:0 0.75rem 2.5rem rgba(1,9,52,.14);transition:height .4s var(--ease),background .4s,box-shadow .4s}
.site-header.is-scrolled .bar{height:3.875rem;background:rgba(255,255,255,.84);box-shadow:0 0.625rem 2.125rem rgba(1,9,52,.12)}
.site-header.is-hidden{transform:translateY(calc(-100% - 1.5rem))}
.logo img{height:3.375rem;width:auto;transition:height .4s var(--ease)}
.site-header.is-scrolled .logo img{height:2.75rem}
.nav{display:flex;gap:2px}
.nav-item{display:inline-flex;align-items:center;height:2.375rem;padding:0 0.875rem;border-radius:62.4375rem;font:500 0.71875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-700);white-space:nowrap;transition:background .25s,color .25s}
.nav-item:hover{background:#E9EEF6;color:var(--navy)}
.nav-item.is-active{background:var(--navy);color:#fff}
.h-social{display:flex;gap:0.25rem}
.icon-btn{width:2.375rem;height:2.375rem;border-radius:0.625rem;display:inline-flex;align-items:center;justify-content:center;color:var(--navy);transition:background .25s,color .25s}
.icon-btn:hover{background:#E9EEF6;color:var(--blue)}
.burger{display:none;width:2.75rem;height:2.75rem;border-radius:0.625rem;background:rgba(1,9,52,.06);color:var(--navy);border:0;align-items:center;justify-content:center;cursor:pointer}

/* ---------- Botões ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;height:3.25rem;padding:0 1.625rem;border-radius:var(--r-btn);font:600 0.90625rem var(--display);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;border:0;overflow:hidden;transition:background .25s,color .25s,box-shadow .25s,border-color .25s,transform .35s var(--ease)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 0.625rem 1.5rem rgba(0,114,255,.26)}
.btn-primary:hover{background:var(--blue-hover);box-shadow:0 0.875rem 1.875rem rgba(0,114,255,.34)}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn-primary:hover::after{left:130%}
.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-outline-light{background:rgba(255,255,255,.04);color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.btn-outline-light:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn .i{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(0.1875rem)}
.link{position:relative;display:inline-flex;align-items:center;gap:0.5rem;font:600 0.90625rem var(--display);color:var(--blue-hover)}
.link::after{content:"";position:absolute;left:0;right:0;bottom:-0.25rem;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.link:hover::after{transform:scaleX(1);transform-origin:left}
.text-link{position:relative;display:inline-flex;align-items:center;gap:0.625rem;font:500 0.8125rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);transition:color .3s}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:-0.375rem;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .5s var(--ease)}
.text-link:hover{color:var(--blue)}
.text-link:hover::after{transform:scaleX(1)}
.text-link .i{transition:transform .3s var(--ease)}
.text-link:hover .i{transform:translateX(0.25rem)}

/* ---------- Botão flutuante ---------- */
.fab{position:fixed;right:1.5rem;bottom:1.5rem;z-index:60;display:inline-flex;align-items:center;gap:0.5rem;height:2.75rem;padding:0 1rem;border-radius:var(--r-fab);background:var(--blue);color:#fff;font:600 0.84375rem var(--display);box-shadow:0 0.75rem 1.75rem rgba(0,114,255,.38);transition:background .25s,transform .35s var(--ease),opacity .4s;opacity:0;transform:translateY(1rem)}
.is-ready .fab{opacity:1;transform:none}
.fab:hover{background:var(--blue-hover);transform:translateY(-2px)}

/* ---------- Painéis (substituem o fade) ---------- */
.panel{position:relative;margin:0 var(--inset);border-radius:var(--r-panel);overflow:hidden;transform:scale(calc(.955 + var(--in,1) * .045));transform-origin:50% 0;will-change:transform}
.panel-dark{background:radial-gradient(70% 55% at 88% 0%,rgba(0,114,255,.22),transparent 60%),radial-gradient(60% 60% at 0% 100%,rgba(22,38,90,.95),transparent 70%),linear-gradient(180deg,var(--navy-3),var(--navy));color:#fff}
.panel-tint{background:linear-gradient(180deg,#EBF0F9,#E4EBF6)}
.sec{position:relative;padding:6.5rem 0}
.sec-sm{padding:5rem 0}
.gap-y{height:clamp(0.75rem,1.4vw,1.125rem)}
.grid-bg{position:relative}
.grid-bg::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(1,9,52,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(1,9,52,.045) 1px,transparent 1px);background-size:4rem 4rem;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.grid-bg > *{position:relative}
.panel-dark .grid-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:4rem 4rem;-webkit-mask-image:radial-gradient(60% 70% at 80% 20%,#000,transparent);mask-image:radial-gradient(60% 70% at 80% 20%,#000,transparent)}

/* ---------- Mídia ---------- */
.aurora{position:absolute;inset:0;background:radial-gradient(55% 60% at 78% 38%,rgba(0,114,255,.32),transparent 62%),radial-gradient(45% 55% at 92% 85%,rgba(22,38,90,.95),transparent 70%),radial-gradient(60% 70% at 20% 90%,rgba(10,20,64,.9),transparent 70%),var(--navy);background-size:160% 160%;animation:aurora 22s ease-in-out infinite alternate}
@keyframes aurora{0%{background-position:0% 0%}50%{background-position:60% 30%}100%{background-position:100% 70%}}
.media-chip{position:absolute;z-index:6;display:inline-flex;align-items:center;padding:0.4375rem 0.75rem;border-radius:0.375rem;border:1px dashed rgba(255,255,255,.45);background:rgba(1,9,52,.45);-webkit-backdrop-filter:blur(0.375rem);backdrop-filter:blur(0.375rem);color:#fff;font:500 0.65625rem var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:opacity .4s}
.has-media .media-chip,.has-media .aurora{opacity:0}
.has-media .aurora{animation-play-state:paused}
.bg-video,.bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.has-media .bg-video,.has-media .bg-img{opacity:1}
.frame-lines{position:absolute;inset:0;pointer-events:none}
.frame-lines path{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1}
.is-ready .frame-lines path{animation:draw 2.4s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- Hero da página inicial (TARTARUGA + cartão do MODELO 2) ---------- */
.hero-x{position:relative;margin:var(--inset) var(--inset) 0;border-radius:1.75rem;min-height:max(40rem,calc(100svh - var(--inset) * 2));display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.hero-x .bg{position:absolute;inset:0;transform:scale(calc(1 + var(--hp,0) * .08));transform-origin:60% 40%;will-change:transform}
.hero-x .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,9,52,.9) 0%,rgba(1,9,52,.66) 42%,rgba(1,9,52,.18) 100%),linear-gradient(180deg,rgba(1,9,52,.35) 0%,transparent 25%,transparent 70%,rgba(1,9,52,.55) 100%)}
.hero-x .wrap{position:relative;z-index:2;padding:8.125rem 0 9.375rem;transform:translateY(calc(var(--hp,0) * -3.75rem));opacity:calc(1 - var(--hp,0) * 1.1)}
.hero-x .media-chip{bottom:5.75rem;right:1.75rem}
.pill-dark{display:inline-flex;align-items:center;gap:0.625rem;padding:0.5625rem 1rem;border-radius:62.4375rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem);font:500 0.6875rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.pill-dark .dot{width:0.375rem;height:0.375rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 0.25rem rgba(0,114,255,.25)}
.display{margin:1.625rem 0 0;font-family:var(--display);font-weight:500;font-size:clamp(2.8rem,6vw,5.3rem);line-height:.98;letter-spacing:-.045em}
.display span{display:block}
.display .acc{font-size:1.12em;line-height:1;color:var(--blue-light)}
.hero-h1{margin:1.625rem 0 0;font-family:var(--display);font-weight:400;font-size:clamp(1.12rem,1.6vw,1.35rem);line-height:1.5;color:rgba(255,255,255,.86);max-width:32.5rem;letter-spacing:-.01em}
.hero-h1 strong{font-weight:600;color:#fff}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.875rem;margin-top:2.125rem}
.hx{opacity:0}
.is-ready .hx{animation:fadeUp .9s var(--ease) forwards}
.is-ready .hx.blur{animation:fadeUpBlur 1.1s var(--ease) forwards}
.hx.d1{animation-delay:.2s!important}.hx.d2{animation-delay:.4s!important}.hx.d3{animation-delay:.6s!important}.hx.d4{animation-delay:.8s!important}.hx.d5{animation-delay:1s!important}
@keyframes fadeUp{from{opacity:0;transform:translateY(1.875rem)}to{opacity:1;transform:none}}
@keyframes fadeUpBlur{from{opacity:0;transform:translateY(1.875rem);filter:blur(0.75rem)}to{opacity:1;transform:none;filter:blur(0)}}

/* ---------- Hero das páginas internas ---------- */
.page-hero{position:relative;margin:var(--inset) var(--inset) 0;border-radius:1.75rem;overflow:hidden;background:var(--navy);color:#fff}
.page-hero .bg{position:absolute;inset:0}
.page-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,9,52,.92),rgba(1,9,52,.5))}
.page-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3.5rem;align-items:center;min-height:min(37.5rem,74svh);padding:8rem 0 4rem}
.page-hero h1{margin:1.375rem 0 0;font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.02;letter-spacing:-.045em}
.page-hero .sub{margin:1.25rem 0 0;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.6;color:rgba(255,255,255,.78);max-width:32.5rem}
.hero-visual{position:relative;justify-self:end;width:100%;max-width:26.25rem}
.hv-photo{border-radius:1.375rem;overflow:hidden;box-shadow:0 1.875rem 3.75rem rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.14)}
.hv-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;max-height:27.5rem}
.hv-logo{position:relative;aspect-ratio:1/1;border-radius:1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem);display:grid;place-items:center;overflow:hidden}
.hv-logo img{width:46%;animation:breathe 6s ease-in-out infinite}
.hv-logo svg{position:absolute;inset:14%;width:72%;height:72%}
.hv-logo svg path{fill:none;stroke:rgba(140,192,255,.55);stroke-width:.6;stroke-dasharray:1;stroke-dashoffset:1}
.is-ready .hv-logo svg path{animation:draw 2.2s .4s var(--ease) forwards}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.04);opacity:1}}
.hv-stack{position:relative;height:22.5rem}
.hv-card{position:absolute;border-radius:1.125rem;background:rgba(255,255,255,.95);color:var(--navy);box-shadow:0 1.5rem 3.125rem rgba(0,0,0,.35);padding:1.125rem}
.hv-card.c1{width:14.375rem;height:14.375rem;right:0.625rem;top:0;transform:rotate(6deg);background:linear-gradient(135deg,#0072FF,#16265A);color:#fff;animation:floatA 7s ease-in-out infinite}
.hv-card.c2{width:16.25rem;left:0;top:5.625rem;transform:rotate(-5deg);animation:floatB 8s ease-in-out infinite}
.hv-card.c3{width:13.125rem;right:2.5rem;bottom:0;transform:rotate(3deg);background:#E9EEF7;animation:floatA 9s ease-in-out infinite reverse}
.hv-line{height:0.5rem;border-radius:0.25rem;background:#D5DCE8;margin-top:0.625rem}
.hv-card.c1 .hv-line{background:rgba(255,255,255,.3)}
@keyframes floatA{0%,100%{translate:0 0}50%{translate:0 -0.625rem}}
@keyframes floatB{0%,100%{translate:0 0}50%{translate:0 0.5rem}}
.chat{display:flex;flex-direction:column;gap:0.875rem;max-width:22.5rem;margin-left:auto}
.bubble{max-width:82%;padding:0.875rem 1rem;border-radius:1rem;font-size:0.90625rem;line-height:1.45;opacity:0;transform:translateY(0.75rem)}
.is-ready .bubble{animation:fadeUp .7s var(--ease) forwards}
.bubble.in{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;border-bottom-left-radius:0.25rem}
.bubble.out{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:0.25rem;width:74%}
.bubble.out .hv-line{background:rgba(255,255,255,.35);margin-top:0}
.bubble.out .hv-line + .hv-line{margin-top:0.5rem;width:70%}
.is-ready .bubble.b1{animation-delay:.6s}.is-ready .bubble.b2{animation-delay:1.4s}.is-ready .typing{animation:fadeUp .6s 2.1s var(--ease) forwards}
.typing{display:inline-flex;gap:0.3125rem;padding:0.875rem 1rem;border-radius:1rem;border-bottom-left-radius:0.25rem;background:rgba(255,255,255,.1);width:max-content;opacity:0}
.typing span{width:0.4375rem;height:0.4375rem;border-radius:50%;background:rgba(255,255,255,.7);animation:dot 1.2s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-0.25rem);opacity:1}}

/* ---------- Faixa de diferenciais ---------- */
.after-hero{display:flow-root}
.strip{position:relative;z-index:3;margin-top:-4rem;background:#fff;border-radius:1.25rem;box-shadow:0 1.5rem 3.75rem rgba(1,9,52,.14);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.75rem 0.5rem}
.diff{display:flex;gap:0.875rem;align-items:flex-start;padding:0.25rem 1.375rem}
.diff + .diff{border-left:1px solid #E6E9EF}
.diff-icon{width:2.75rem;height:2.75rem;border-radius:0.75rem;background:var(--blue-tint);color:var(--blue-hover);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.diff h3{margin:0 0 0.25rem;font-weight:600;font-size:0.9375rem;letter-spacing:-.01em;color:var(--navy)}
.diff p{margin:0;font-size:0.84375rem;line-height:1.5;color:var(--muted)}

/* ---------- Sócios (início) ---------- */
.partners{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:4.5rem;align-items:center}
.mask{position:relative;border-radius:1.5rem;overflow:hidden;clip-path:inset(calc((1 - var(--p,1)) * 18%) calc((1 - var(--p,1)) * 12%) round 1.5rem);box-shadow:0 1.75rem 3.75rem rgba(1,9,52,.18)}
.mask img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;transform:scale(calc(1.18 - var(--p,1) * .18))}
.caption{margin-top:1rem;text-align:center;font:500 0.75rem var(--mono);letter-spacing:.06em;color:var(--gray-500)}
.person{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.125rem 0;border-bottom:1px solid var(--line)}
.person:first-of-type{border-top:1px solid var(--line)}
.person-name{font-weight:500;font-size:1.5rem;letter-spacing:-.03em;color:var(--navy)}
.person-oab{font:500 0.6875rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);margin-top:0.25rem}
.person-area{font-size:0.875rem;line-height:1.5;color:var(--muted);text-align:right;max-width:16.25rem}

/* ---------- Duas frentes: painéis que expandem (naocodei JS #23) ---------- */
.info-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:4rem;align-items:start;margin-bottom:3.5rem}
.fill-text{margin:0;font-weight:400;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.4;letter-spacing:-.02em;color:var(--navy)}
.fill-text .fw{color:rgba(1,9,52,.14);transition:color .35s}
.fill-text .fw.on{color:var(--navy)}
.fronts{display:flex;gap:0.875rem;height:27.5rem}
.front{position:relative;flex:1 1 0;min-width:0;border-radius:1.375rem;overflow:hidden;cursor:pointer;background:var(--navy);color:#fff;transition:flex-grow .85s var(--ease),box-shadow .5s;outline:none}
.front:focus-visible{box-shadow:0 0 0 0.1875rem var(--blue)}
.front.is-active{flex-grow:2.3}
.front .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,9,52,.2) 0%,rgba(1,9,52,.3) 40%,rgba(1,9,52,.9) 100%)}
.front-inner{position:absolute;inset:0;z-index:2;padding:1.625rem 1.75rem;display:flex;flex-direction:column;justify-content:space-between}
.front-top{display:flex;justify-content:space-between;align-items:center;font:500 0.6875rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.front-plus{width:2.125rem;height:2.125rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;transition:transform .6s var(--ease),background .4s}
.front.is-active .front-plus{transform:rotate(45deg);background:rgba(255,255,255,.12)}
.front h3{margin:0;font-weight:500;font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.12;letter-spacing:-.03em;white-space:pre-line;max-width:26.25rem}
.front .desc{margin:0.75rem 0 0;font-size:0.9375rem;line-height:1.6;color:rgba(255,255,255,.78);max-width:26.25rem;opacity:0;transform:translateY(0.875rem);transition:opacity .5s,transform .6s var(--ease);max-height:0}
.front.is-active .desc{opacity:1;transform:none;transition-delay:.3s;max-height:12.5rem}
.front-bg{position:absolute;inset:0}
.fb-you{background:radial-gradient(70% 70% at 80% 20%,rgba(0,114,255,.45),transparent 60%),linear-gradient(160deg,#16265A,#010934)}
.fb-you svg{position:absolute;right:-8%;top:8%;width:78%;height:auto;opacity:.55}
.fb-you rect{fill:none;stroke:rgba(140,192,255,.7);stroke-width:1;transform-box:fill-box;transform-origin:50% 50%;animation:frames 14s linear infinite}
.fb-you rect:nth-child(2){animation-duration:18s;animation-direction:reverse}
.fb-you rect:nth-child(3){animation-duration:24s}
@keyframes frames{to{transform:rotate(360deg)}}
.fb-both{background:radial-gradient(60% 60% at 50% 30%,rgba(0,114,255,.3),transparent 65%),linear-gradient(160deg,#0B1745,#010934)}
.venn{position:absolute;left:50%;top:32%;width:78%;max-width:20rem;transform:translate(-50%,-50%)}
.venn circle{fill:rgba(0,114,255,.14);stroke:rgba(140,192,255,.8);stroke-width:1.2;transition:transform 1s var(--ease)}
.venn .va{transform:translateX(-2.375rem)}.venn .vb{transform:translateX(2.375rem)}
.front.is-active .venn .va{transform:translateX(-0.75rem)}.front.is-active .venn .vb{transform:translateX(0.75rem)}
.venn text{font:500 0.5625rem var(--mono);letter-spacing:.14em;fill:#fff;text-anchor:middle;transition:transform 1s var(--ease)}
.venn .ta{transform:translateX(-2.375rem)}.venn .tb{transform:translateX(2.375rem)}
.front.is-active .venn .ta{transform:translateX(-1.375rem)}.front.is-active .venn .tb{transform:translateX(1.375rem)}
.venn .core{fill:var(--blue);opacity:0;transition:opacity .8s .4s}
.front.is-active .venn .core{opacity:.9;animation:pulse 2.4s 1s ease-in-out infinite}
@keyframes pulse{0%,100%{r:5}50%{r:8}}

/* ---------- Onde atuamos ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.375rem}
.area{position:relative;display:flex;gap:1.125rem;align-items:flex-start;padding:1.625rem 1.5rem 1.5rem 1.875rem;background:#fff;border-radius:var(--r-card);box-shadow:0 0.625rem 1.875rem rgba(0,0,0,.18);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.area::after{content:"";position:absolute;inset:0;background:radial-gradient(16.25rem circle at var(--mx,-12.5rem) var(--my,-12.5rem),rgba(0,114,255,.10),transparent 60%);pointer-events:none}
.area:hover{transform:translateY(-0.25rem);box-shadow:0 1.375rem 3rem rgba(0,0,0,.30)}
.area-bar{position:absolute;left:0;top:0;bottom:0;width:0.25rem;background:var(--blue)}
.area-icon{width:3.625rem;height:3.625rem;border-radius:0.875rem;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .3s}
.area:hover .area-icon{background:var(--blue)}
.area h3{font:500 0.75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin:0.3125rem 0 0.5rem}
.area p{font-size:0.90625rem;line-height:1.55;color:var(--muted);margin:0 0 0.875rem}
.area-link{display:inline-flex;align-items:center;gap:0.375rem;font-weight:600;font-size:0.84375rem;color:var(--blue-hover)}
.area-link .i{transition:transform .25s}
.area:hover .area-link .i{transform:translateX(0.1875rem)}
.area-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);box-shadow:none}
.area-ghost:hover{background:rgba(255,255,255,.1);box-shadow:none}
.area-ghost::after{background:radial-gradient(16.25rem circle at var(--mx,-12.5rem) var(--my,-12.5rem),rgba(255,255,255,.08),transparent 60%)}
.area-ghost .area-icon{background:rgba(255,255,255,.12)}
.area-ghost h3{color:#fff}
.area-ghost p{color:#C3CBE3}
.area-ghost .area-link{color:var(--blue-soft)}

/* ---------- Faixa contínua de setores ---------- */
.sectors{position:relative;padding:4rem 0 3.75rem;background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.sectors-label{margin:0 0 1.875rem;text-align:center;font:500 0.75rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gray-700)}
.sectors .h2{margin-bottom:1.875rem}
.pill-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pill-marquee + .pill-marquee{margin-top:0.875rem}
.pill-track{display:flex;gap:0.875rem;width:max-content;animation:marquee 46s linear infinite;padding:0.25rem 0}
.pill-marquee.rev .pill-track{animation-direction:reverse;animation-duration:54s}
.pill-marquee:hover .pill-track{animation-play-state:paused}
.pill{display:inline-flex;align-items:center;gap:0.625rem;height:3.125rem;padding:0 1.375rem 0 1rem;border-radius:62.4375rem;background:#fff;border:1px solid var(--line);font-weight:500;font-size:1rem;letter-spacing:-.01em;color:var(--navy);white-space:nowrap;box-shadow:0 0.375rem 1.125rem rgba(1,9,52,.06)}
.pill .i{color:var(--blue)}
.pill-marquee.rev .pill{background:var(--navy);border-color:var(--navy);color:#fff}
.pill-marquee.rev .pill .i{color:var(--blue-soft)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Método: cartões que se abrem em leque (naocodei JS #01) ---------- */
.method{position:relative;height:230vh}
.fan-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.fan-sticky .wrap{padding-top:2.5rem}
.fan-stage{position:relative;height:20.625rem;margin-top:2.5rem}
.fan-line{position:absolute;left:10%;right:10%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:scaleX(var(--f,0));transform-origin:50% 50%;opacity:.6}
.fan-card{position:absolute;left:50%;top:0;width:21.25rem;height:20rem;margin-left:-10.625rem;padding:1.625rem;border-radius:1.25rem;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem);border:1px solid var(--line);box-shadow:0 1.5rem 3.125rem rgba(1,9,52,.12);display:flex;flex-direction:column;will-change:transform}
.fan-card::before,.fan-card::after{content:"";position:absolute;width:1.125rem;height:1.125rem;border:1.5px solid var(--blue);opacity:.55}
.fan-card::before{top:0.625rem;left:0.625rem;border-right:0;border-bottom:0}
.fan-card::after{bottom:0.625rem;right:0.625rem;border-left:0;border-top:0}
.fan-card.dark{background:linear-gradient(160deg,#16265A,#010934);border-color:#16265A;color:#fff}
.fan-top{display:flex;justify-content:space-between;align-items:center;font:500 0.6875rem var(--mono);letter-spacing:.14em;color:var(--gray-500)}
.fan-card.dark .fan-top{color:rgba(255,255,255,.6)}
.fan-ico{width:2.75rem;height:2.75rem;border-radius:0.75rem;background:var(--blue-tint);color:var(--blue-hover);display:grid;place-items:center}
.fan-card.dark .fan-ico{background:rgba(255,255,255,.1);color:#fff}
.fan-card h3{margin:auto 0 0.625rem;font-weight:500;font-size:2rem;letter-spacing:-.04em;color:var(--navy)}
.fan-card.dark h3{color:#fff}
.fan-card p{margin:0;font-size:0.90625rem;line-height:1.6;color:var(--muted)}
.fan-card.dark p{color:#C3CBE3}

/* ---------- Soluções (início) ---------- */
.sol{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:3.5rem;align-items:center}
.tabs{display:flex;flex-direction:column;margin-top:1.875rem;border-top:1px solid rgba(255,255,255,.12)}
.tab{display:flex;align-items:center;gap:1rem;padding:1.125rem 0.25rem;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);text-align:left;cursor:pointer;font-weight:500;font-size:1.25rem;letter-spacing:-.02em;transition:color .3s,padding .4s var(--ease)}
.tab .n{font:500 0.6875rem var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.35);transition:color .3s}
.tab:hover{color:rgba(255,255,255,.8)}
.tab[aria-selected="true"]{color:#fff;padding-left:0.875rem}
.tab[aria-selected="true"] .n{color:var(--blue-soft)}
.sol-card{position:relative;min-height:37.5rem;border-radius:1.5rem;overflow:hidden;display:flex;align-items:flex-end;border:1px solid rgba(255,255,255,.14);box-shadow:0 1.875rem 5rem rgba(0,0,0,.35)}
.sol-card .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,9,52,.05) 0%,rgba(1,9,52,.35) 40%,rgba(1,9,52,.94) 100%)}
.sol-card .media-chip{top:1.375rem;right:1.375rem}
.sol-panels{position:relative;z-index:2;width:100%;padding:2.5rem}
.sol-panel{display:none}
.sol-panel.is-active{display:block;animation:panelIn .7s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}
.sol-panel h3{margin:0 0 0.75rem;font-weight:500;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;letter-spacing:-.035em;color:#fff}
.sol-panel p{margin:0 0 1.375rem;font-size:0.96875rem;line-height:1.65;color:#D0D7EA}
.sol-panel .note{font:400 0.75rem/1.5 var(--mono);color:rgba(255,255,255,.55);margin-top:-0.625rem}

/* ---------- Instagram ---------- */
.ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.875rem;max-width:47.5rem;margin-left:auto;margin-right:auto}
.ig-widget{max-width:47.5rem;margin-left:auto;margin-right:auto}
.ig-head,.ribbon{max-width:47.5rem;margin-left:auto;margin-right:auto}
.ig-post{position:relative;aspect-ratio:1/1;border-radius:0.875rem;overflow:hidden;background:repeating-linear-gradient(45deg,#EEF1F6,#EEF1F6 0.75rem,#E6EAF1 0.75rem,#E6EAF1 1.5rem);border:1.5px dashed #C3CAD6;display:flex;align-items:center;justify-content:center;color:var(--gray-500);font:500 0.65625rem var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:0.625rem}
.ig-post.is-live{border:0;background:#DDE3EC;padding:0}
.ig-post img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ig-post.is-live::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(1,9,52,.55));opacity:0;transition:opacity .4s}
.ig-post.is-live:hover img{transform:scale(1.05)}
.ig-post.is-live:hover::after{opacity:1}
.ribbon{display:block;margin-top:2.125rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);color:var(--navy);transition:color .3s,background .3s}
.ribbon-track{display:flex;width:max-content;animation:marquee 26s linear infinite}
.ribbon span{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.375rem;font:500 0.78125rem var(--mono);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.ribbon span::after{content:"";width:0.375rem;height:0.375rem;background:var(--blue);transform:rotate(45deg)}
.ribbon:hover{color:var(--blue);background:rgba(0,114,255,.04)}
.ribbon:hover .ribbon-track{animation-duration:12s}
.ig-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.875rem}
.social-link{display:inline-flex;align-items:center;gap:0.75rem;font:500 0.75rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.social-link .icon-btn{border:1px solid var(--line);background:#fff}

/* ---------- Chamada final ---------- */
.cta2{padding:7.5rem 0}
.cta2 h2{margin:0 auto 1.875rem;font-weight:500;font-size:clamp(2rem,4vw,3.2rem);line-height:1.06;letter-spacing:-.045em;color:var(--navy);max-width:47.5rem}

/* ---------- Rodapé ---------- */
.footer{margin:0 var(--inset) var(--inset);border-radius:var(--r-panel);overflow:hidden;background:radial-gradient(60% 80% at 100% 0%,rgba(0,114,255,.16),transparent 60%),linear-gradient(180deg,var(--navy-3),var(--navy));color:#AEB7D3;padding:4rem 0 1.875rem}
.footer-top{display:grid;grid-template-columns:1.25fr .8fr 1.3fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.f-brand img{width:13.125rem;max-width:100%;height:auto}
.footer h4{margin:0 0 0.875rem;font:500 0.6875rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5625rem;font-size:0.875rem;line-height:1.5}
.footer ul a{transition:color .2s}
.footer ul a:hover{color:#fff}
.f-stack{display:flex;flex-direction:column;gap:1.75rem}
.f-socials{display:flex;gap:0.625rem}
.f-socials a{width:2.625rem;height:2.625rem;border-radius:0.625rem;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#fff;transition:background .25s,border-color .25s,transform .3s var(--ease)}
.f-socials a:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.footer-bottom{padding-top:1.375rem;font:400 0.71875rem/1.6 var(--mono);letter-spacing:.02em;color:#7F8AAE}

/* ---------- Quem somos ---------- */
.story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4.5rem;align-items:start}
.story-sticky{position:sticky;top:7.5rem}
.story p:not(.eyebrow){font-size:1.03125rem;line-height:1.75;color:var(--text);margin:0 0 1.125rem}
.brand-tile{position:relative;margin-top:1.875rem;border-radius:1.5rem;aspect-ratio:16/8;overflow:hidden;display:grid;place-items:center}
.brand-tile img{position:relative;width:min(58%,22.5rem);z-index:2}
.brand-tile .frame-lines path{stroke:rgba(140,192,255,.45)}
.brand-tile.is-in .frame-lines path{animation:draw 2.4s var(--ease) forwards}
.purpose{max-width:68.75rem;margin-left:auto;margin-right:auto}
.purpose .wrap{max-width:51.25rem}
.orb{position:absolute;border-radius:50%;filter:blur(2.5rem);opacity:.55;pointer-events:none}
.orb.o1{width:20rem;height:20rem;background:rgba(0,114,255,.35);left:-5rem;top:-3.75rem;animation:drift 14s ease-in-out infinite alternate}
.orb.o2{width:16.25rem;height:16.25rem;background:rgba(77,155,255,.22);right:-3.75rem;bottom:-5rem;animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(3.75rem,2.5rem)}}
.loader{margin:0.625rem auto 2.125rem;max-width:42.5rem}
.loader-words{display:grid;grid-template-columns:repeat(3,1fr);font:500 clamp(.95rem,1.8vw,1.35rem) var(--mono);letter-spacing:.18em;text-transform:uppercase}
.loader-words span{color:rgba(255,255,255,.32);transition:color .4s,text-shadow .4s}
.loader-words span.on{color:#fff;text-shadow:0 0 1.375rem rgba(77,155,255,.6)}
.loader-track{position:relative;height:0.375rem;margin-top:1.125rem;border-radius:62.4375rem;background:rgba(255,255,255,.12);overflow:hidden}
.loader-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:62.4375rem;background:linear-gradient(90deg,var(--blue),var(--blue-light));box-shadow:0 0 1.125rem rgba(0,114,255,.7)}
.loader-meta{display:flex;justify-content:space-between;margin-top:0.75rem;font:500 0.6875rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.org{position:relative;width:100%;max-width:65rem;margin:1.875rem auto 0;aspect-ratio:1000/580}
.org-lines{position:absolute;inset:0;width:100%;height:100%}
.org-lines path{fill:none;stroke:#C5CFDF;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;transition:stroke .3s}
.org.is-in .org-lines path{animation:draw 1.2s var(--ease) forwards}
.org.is-in .org-lines path:nth-child(2){animation-delay:.15s}.org.is-in .org-lines path:nth-child(3){animation-delay:.3s}.org.is-in .org-lines path:nth-child(4){animation-delay:.45s}.org.is-in .org-lines path:nth-child(5){animation-delay:.6s}
.org-lines path.hl{stroke:var(--blue)}
.org-center{position:absolute;left:50%;top:50%;width:8.25rem;height:8.25rem;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 1.125rem 2.5rem rgba(1,9,52,.12);display:grid;place-items:center}
.org-center img{width:4rem}
.org-center::after{content:"";position:absolute;inset:-0.625rem;border-radius:50%;border:1px dashed rgba(0,114,255,.35);animation:frames 30s linear infinite}
.org-node{position:absolute;left:var(--x);top:var(--y);width:14.375rem;transform:translate(-50%,-50%) scale(.9);opacity:0;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem 1.125rem;text-align:center;box-shadow:0 0.75rem 1.875rem rgba(1,9,52,.08);transition:opacity .7s var(--ease) var(--dl,0s),transform .7s var(--ease) var(--dl,0s),border-color .3s,box-shadow .3s}
.org.is-in .org-node{opacity:1;transform:translate(-50%,-50%)}
.org-node:hover{border-color:var(--blue);box-shadow:0 1.125rem 2.5rem rgba(0,114,255,.14)}
.org-node .n{font:500 0.65625rem var(--mono);letter-spacing:.16em;color:var(--blue-hover)}
.org-node h3{margin:0.375rem 0 0.25rem;font-weight:500;font-size:1.1875rem;letter-spacing:-.03em;color:var(--navy)}
.org-node p{margin:0;font-size:0.84375rem;line-height:1.5;color:var(--muted)}
.profile{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:4.5rem;align-items:center}
.profile + .profile{margin-top:6.875rem}
.profile.rev .mask-col{order:2}
.profile h3{margin:0;font-weight:500;font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-.045em;color:var(--navy);line-height:1.05}
.profile .oab{font:500 0.71875rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500);margin:0.625rem 0 1.375rem}
.profile p:not(.eyebrow){font-size:1rem;line-height:1.72;color:var(--text);margin:0 0 0.875rem}
.profile .kv{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.profile .kv b{display:block;font:500 0.6875rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:0.375rem}
.profile .kv p{font-size:0.90625rem!important;color:var(--muted)!important}

/* ---------- O que fazemos ---------- */
.anchors{position:sticky;top:6.125rem;z-index:40;display:flex;justify-content:center;margin-top:-1.625rem;pointer-events:none;transition:top .55s var(--ease)}
.header-hidden .anchors{top:0.875rem}
.anchors .bar{pointer-events:auto;display:flex;gap:2px;padding:0.375rem;max-width:calc(100% - 1.75rem);overflow-x:auto;scrollbar-width:none;border-radius:62.4375rem;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(1rem) saturate(1.5);backdrop-filter:blur(1rem) saturate(1.5);border:1px solid rgba(1,9,52,.08);box-shadow:0 0.875rem 2.5rem rgba(1,9,52,.16)}
.anchors .bar::-webkit-scrollbar{display:none}
.anchor{flex:0 0 auto;display:inline-flex;align-items:center;height:2.25rem;padding:0 0.9375rem;border-radius:62.4375rem;font:500 0.6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-700);transition:background .25s,color .25s}
.anchor:hover{background:#E9EEF6;color:var(--navy)}
.anchor.is-active{background:var(--navy);color:#fff}
.practice{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.5rem;align-items:start;padding:4.75rem 0}
.p-head{display:flex;gap:1.375rem;align-items:flex-start}
.p-icon{width:5rem;height:5rem;border-radius:1.25rem;background:var(--navy);color:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 0.875rem 1.875rem rgba(1,9,52,.2)}
.p-num{font:500 0.6875rem var(--mono);letter-spacing:.16em;color:var(--blue-hover);margin:0.25rem 0 0.5rem}
.practice .h2{font-size:clamp(1.6rem,2.3vw,2.1rem);margin-bottom:0.75rem}
.practice .lead{font-size:0.96875rem;max-width:none}
.p-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.25rem 1.75rem}
.p-item{padding:1rem 0 0.875rem;border-top:1px solid var(--line)}
.panel-tint .p-item{border-top-color:#D3DBE9}
.p-item .k{font:500 0.65625rem var(--mono);letter-spacing:.14em;color:var(--gray-500)}
.p-item h3{margin:0.375rem 0 0.25rem;font-weight:600;font-size:1.03125rem;letter-spacing:-.02em;color:var(--navy)}
.p-item p{margin:0;font-size:0.875rem;line-height:1.55;color:var(--muted)}
.prof-line{position:relative;margin-top:2.75rem;aspect-ratio:1000/330}
.prof-line svg{position:absolute;inset:0;width:100%;height:100%}
.prof-line .track{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.5;vector-effect:non-scaling-stroke}
.prof-line .draw{fill:none;stroke:var(--blue-light);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p,0));vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 0.375rem rgba(77,155,255,.6))}
.pnode{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-0.5625rem);display:flex;flex-direction:column;align-items:center;gap:0.75rem;width:10.625rem;text-align:center}
.pnode i{width:1.125rem;height:1.125rem;border-radius:50%;background:var(--navy);border:2px solid rgba(255,255,255,.3);transition:background .4s,border-color .4s,box-shadow .4s}
.pnode span{font-size:0.90625rem;line-height:1.35;font-weight:500;color:rgba(255,255,255,.55);transition:color .4s}
.pnode.on i{background:var(--blue);border-color:var(--blue-light);box-shadow:0 0 0 0.375rem rgba(0,114,255,.2)}
.pnode.on span{color:#fff}
.pnode.more span{font-family:var(--serif);font-style:italic;font-size:1.1875rem}
.pnode.more i{border-style:dashed}
.orbit{--r:15rem;position:relative;width:min(40rem,100%);aspect-ratio:1/1;margin:1.25rem auto 0}
.orbit-ring{position:absolute;inset:13%;border-radius:50%;border:1px dashed #BFCBDD;animation:frames 60s linear infinite}
.orbit-ring.r2{inset:30%;border-style:solid;border-color:#DCE3EE;animation-duration:90s;animation-direction:reverse}
.orbit-center{position:absolute;left:50%;top:50%;width:11.875rem;height:11.875rem;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(160deg,#16265A,#010934);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.375rem;box-shadow:0 1.5rem 3.125rem rgba(1,9,52,.25)}
.orbit-center .plus{width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;margin-bottom:0.625rem}
.orbit-center b{font-weight:500;font-size:0.9375rem;line-height:1.3;letter-spacing:-.01em}
.sat{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1))}
.sat-in{position:absolute;left:0;top:0;width:11.875rem;transform:translate(-50%,-50%);text-align:center;animation:bob 6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.sat-dot{width:3.25rem;height:3.25rem;margin:0 auto 0.625rem;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 0.625rem 1.5rem rgba(1,9,52,.1);display:grid;place-items:center;color:var(--blue-hover)}
.sat h3{margin:0 0 0.25rem;font-weight:600;font-size:0.96875rem;letter-spacing:-.02em;color:var(--navy)}
.sat p{margin:0;font-size:0.8125rem;line-height:1.45;color:var(--muted)}
@keyframes bob{to{translate:0 -0.5rem}}
.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:52.5rem;margin:2.25rem auto 0}
.mode{border-radius:1.375rem;padding:1.75rem 1.75rem 1.875rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);text-align:center}
.mode svg{width:100%;max-width:16.25rem;height:auto;margin:0 auto 1.125rem;display:block;overflow:visible}
.mode h3{margin:0 0 0.5rem;font-weight:500;font-size:1.375rem;letter-spacing:-.03em;color:#fff}
.mode p{margin:0;font-size:0.90625rem;line-height:1.6;color:#C3CBE3}
.mode .lbl{font:500 0.5rem var(--mono);letter-spacing:.14em;fill:rgba(255,255,255,.45)}
.mode .trk{stroke:rgba(255,255,255,.2);stroke-width:1.5;fill:none}
.runner{fill:var(--blue-light);animation:run 4.2s var(--ease-io) infinite}
@keyframes run{0%,8%{transform:translateX(0)}58%,100%{transform:translateX(12.5rem)}}
.goal{fill:transparent;stroke:var(--blue-light);stroke-width:1.5;animation:goal 4.2s infinite}
@keyframes goal{0%,54%{fill:transparent}60%,92%{fill:var(--blue)}100%{fill:transparent}}
.spin{transform-origin:8.125rem 2.5rem;animation:frames 3.6s linear infinite}
.tick{fill:rgba(255,255,255,.35);animation:tick 3.6s infinite}
@keyframes tick{0%,20%{fill:var(--blue-light)}30%,100%{fill:rgba(255,255,255,.35)}}
.solutions{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.375rem;margin-top:2.75rem}
.flow{position:absolute;left:16%;right:16%;top:2.125rem;height:2px;background:linear-gradient(90deg,var(--line),var(--line));overflow:hidden;border-radius:2px}
.flow::after{content:"";position:absolute;top:0;left:-20%;width:20%;height:100%;background:linear-gradient(90deg,transparent,var(--blue),transparent);animation:flow 6s linear infinite}
@keyframes flow{to{left:120%}}
.solution{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:1.625rem 1.75rem 1.875rem;animation:glow 6s infinite}
.solution:nth-child(3){animation-delay:2s}.solution:nth-child(4){animation-delay:4s}
@keyframes glow{0%,100%{box-shadow:0 0.625rem 1.875rem rgba(1,9,52,.06);border-color:var(--line)}14%{box-shadow:0 1.125rem 2.75rem rgba(0,114,255,.18);border-color:rgba(0,114,255,.5)}32%{box-shadow:0 0.625rem 1.875rem rgba(1,9,52,.06);border-color:var(--line)}}
.sol-badge{position:relative;z-index:2;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:500 0.75rem var(--mono);margin:-0.25rem auto 1.25rem;box-shadow:0 0 0 0.375rem var(--light)}
.solution h3{margin:0 0 0.75rem;font-weight:500;font-size:1.4375rem;line-height:1.15;letter-spacing:-.035em;color:var(--navy);text-align:center}
.solution p{margin:0 0 0.625rem;font-size:0.90625rem;line-height:1.65;color:var(--muted)}
.solution .small{font:400 0.71875rem/1.5 var(--mono);color:var(--gray-500);margin-top:auto}

/* ---------- Conteúdo ---------- */
.blog-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.75rem}
.filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}
.filter{height:2.25rem;padding:0 0.9375rem;border-radius:62.4375rem;border:1px solid #CAD4E4;background:#fff;font:500 0.6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-700);cursor:pointer;transition:all .25s}
.filter[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.125rem}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:1.125rem;padding:1.5rem;min-height:13.75rem;transition:transform .4s var(--ease),box-shadow .4s}
.post-card:hover{transform:translateY(-0.25rem);box-shadow:0 1.25rem 2.75rem rgba(1,9,52,.1)}
.post-meta{display:flex;justify-content:space-between;font:500 0.65625rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-hover)}
.post-card h3{margin:0.875rem 0 0.5rem;font-weight:500;font-size:1.3125rem;line-height:1.2;letter-spacing:-.03em;color:var(--navy)}
.post-card p{margin:0 0 1rem;font-size:0.90625rem;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.skeleton{background:#fff;border:1px solid var(--line);border-radius:1.125rem;padding:1.5rem;min-height:13.75rem}
.sk{border-radius:0.375rem;background:linear-gradient(90deg,#E7ECF4 0%,#F4F7FB 50%,#E7ECF4 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
.soon{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-top:1.375rem;font:500 0.75rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.soon i{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--blue);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.2}}

.prose{max-width:45rem;margin:0 auto}
.prose p{margin:0 0 1.25rem;font-size:1.0625rem;line-height:1.8;color:var(--text);text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.prose h2{margin:2.75rem 0 0.875rem;font-weight:500;font-size:clamp(1.5rem,2.2vw,1.9rem);letter-spacing:-.035em;color:var(--navy)}
.prose ul{margin:0 0 1.25rem;padding-left:1.375rem;font-size:1.0625rem;line-height:1.8}
.prose blockquote{margin:1.875rem 0;padding:0.375rem 0 0.375rem 1.375rem;border-left:2px solid var(--blue);font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.4;color:var(--navy)}
.page-hero.compact .wrap{min-height:0;padding-bottom:3.5rem}
.legal .updated{font:500 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);text-align:left}
.legal li{margin-bottom:.5rem}
.legal p{text-align:left}
.legal a.link{display:inline;font-size:inherit}
.legal .cookie-prefs{text-align:left}
/* Aviso de cookies: só aparece quando houver ferramenta de estatística/anúncio configurada */
.cookie-bar{position:fixed;left:1.5rem;bottom:1.5rem;z-index:70;width:min(26rem,calc(100% - 3rem));background:#fff;color:var(--text);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1.25rem 3rem rgba(1,9,52,.22);padding:1.25rem 1.375rem}
.cookie-bar p{margin:0 0 1rem;font-size:.875rem;line-height:1.55}
.cookie-bar .row{display:flex;gap:.625rem;flex-wrap:wrap}
.cookie-bar .btn{height:2.75rem;padding:0 1.125rem;font-size:.875rem}
.article-cta{margin:3.5rem auto 0;max-width:45rem;padding:2rem;border-radius:1.375rem;text-align:center;background:linear-gradient(170deg,#16265A,#010934);color:#fff}
.article-cta h2{margin:0 0 1.125rem;font-weight:500;font-size:1.625rem;letter-spacing:-.03em}

/* ---------- Contato ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.75rem;align-items:start}
.attend{position:relative;border-radius:1.375rem;padding:2rem;color:#fff;overflow:hidden;background:radial-gradient(80% 60% at 100% 0%,rgba(0,114,255,.3),transparent 60%),linear-gradient(170deg,#16265A,#010934);box-shadow:0 1.5rem 3.125rem rgba(1,9,52,.2)}
.attend::before{content:"";position:absolute;inset:0;border-radius:1.375rem;padding:1px;pointer-events:none;background:conic-gradient(from var(--ang,0deg),rgba(140,192,255,.0),rgba(140,192,255,.7),rgba(140,192,255,0) 30%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAng 6s linear infinite}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spinAng{to{--ang:360deg}}
.attend h2{margin:0 0 0.625rem;font-weight:500;font-size:1.75rem;letter-spacing:-.035em}
.status{display:inline-flex;align-items:center;gap:0.625rem;padding:0.5rem 0.875rem;border-radius:62.4375rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font:500 0.6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.125rem}
.status i{width:0.5rem;height:0.5rem;border-radius:50%;background:#8B93A3}
.status.open i{background:#35D07F;box-shadow:0 0 0 0.25rem rgba(53,208,127,.2);animation:blink 1.6s infinite}
.a-cta{width:100%}
.a-note{margin:0.625rem 0 1.25rem;font:400 0.75rem/1.5 var(--mono);letter-spacing:.02em;color:rgba(255,255,255,.6);text-align:center}
.a-row{display:flex;gap:0.875rem;align-items:flex-start;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1)}
.a-row .diff-icon{width:2.5rem;height:2.5rem;background:rgba(255,255,255,.1);color:#fff}
.a-row b{display:block;font:500 0.65625rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-soft);margin-bottom:0.1875rem}
.a-row span{font-size:0.9375rem;color:#E4E9F5}
.form-card{background:#fff;border:1px solid var(--line);border-radius:1.375rem;padding:2rem;box-shadow:0 1.25rem 3.125rem rgba(1,9,52,.06)}
.form-card h2{margin:0 0 1.25rem;font-weight:500;font-size:1.75rem;letter-spacing:-.035em;color:var(--navy)}
.field{display:flex;flex-direction:column;gap:0.4375rem;margin-bottom:1rem}
.field label,.field legend{font:500 0.6875rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#374151}
.field input,.field textarea{height:3.125rem;border:1.5px solid #D8DBE1;border-radius:var(--r-btn);padding:0 0.875rem;font:400 0.9375rem var(--display);color:var(--navy);background:#fff;transition:border-color .2s,box-shadow .2s}
.field textarea{height:7.5rem;padding:0.75rem 0.875rem;resize:vertical}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 0.1875rem var(--blue-tint)}
.field.invalid input,.field.invalid textarea{border-color:#D92D20;box-shadow:0 0 0 0.1875rem #FEE4E2}
.field .err{font-size:0.78125rem;color:#B42318;min-height:0}
fieldset.field{border:0;padding:0;margin:0 0 1rem}
.choice{display:flex;gap:0.625rem;flex-wrap:wrap}
.choice label{position:relative;cursor:pointer;text-transform:none;letter-spacing:0;font:inherit}
.choice input{position:absolute;opacity:0}
.choice span{display:inline-flex;align-items:center;height:2.625rem;padding:0 1.125rem;border-radius:var(--r-btn);border:1.5px solid #D8DBE1;font-weight:500;font-size:0.90625rem;color:var(--gray-700);transition:all .2s}
.choice input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.choice input:focus-visible + span{box-shadow:0 0 0 0.1875rem var(--blue-tint)}
.check{display:flex;gap:0.625rem;align-items:flex-start;font-size:0.8125rem;line-height:1.5;color:var(--muted);margin:0.375rem 0 1.25rem}
.check input{margin-top:0.1875rem;accent-color:var(--blue);width:1rem;height:1rem}

/* ---------- Revelações ---------- */
[data-reveal]{opacity:0;transform:translateY(1.875rem);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal="scale"]{transform:translateY(1.25rem) scale(.96)}
[data-reveal].is-in{opacity:1;transform:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .1em .24em 0;margin:0 -.1em -.24em 0}
.split .wi{display:inline-block;transform:translateY(108%);transition:transform 1s var(--ease)}
.split.is-in .wi{transform:none}

/* ---------- Cortina entre páginas ---------- */
.curtain{position:fixed;inset:0;z-index:200;background:var(--navy);display:flex;align-items:center;justify-content:center;transform:translateY(100%);pointer-events:none}
.curtain-inner{position:relative;width:8.25rem;height:8.25rem;display:flex;align-items:center;justify-content:center}
.curtain svg{position:absolute;inset:0;width:100%;height:100%}
.curtain svg path{fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1}
.curtain img{width:4.875rem;opacity:0;transform:scale(.92);transition:opacity .5s .15s,transform .6s .15s var(--ease)}
.curtain-label{position:absolute;bottom:2.75rem;left:0;right:0;text-align:center;font:500 0.6875rem var(--mono);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.5);opacity:0;transition:opacity .4s .2s}
html.is-leaving .curtain{transform:translateY(0);transition:transform .75s var(--ease-io);pointer-events:auto}
html.is-leaving .curtain svg path{animation:draw .9s .25s var(--ease) forwards}
html.is-leaving .curtain img,html.is-leaving .curtain-label{opacity:1;transform:none}
html.is-arriving .curtain{transform:translateY(0);pointer-events:auto}
html.is-arriving .curtain svg path{stroke-dashoffset:0}
html.is-arriving .curtain img,html.is-arriving .curtain-label{opacity:1;transform:none}
html.is-arriving.is-lifting .curtain{transform:translateY(-100%);transition:transform .9s var(--ease-io)}
html.is-arriving.is-lifting .curtain img{opacity:0;transition:opacity .3s}

/* ---------- Menu mobile ---------- */
.mmenu{position:fixed;inset:0;z-index:100;background:var(--navy);padding:0 1.25rem 1.75rem;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;overflow-y:auto}
.mmenu.is-open{opacity:1;visibility:visible}
.mmenu-top{height:4.875rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);margin:0 -1.25rem;padding:0 1.25rem}
.mmenu-top img{height:3rem;width:auto}
.mclose{width:2.75rem;height:2.75rem;border-radius:0.625rem;background:rgba(255,255,255,.1);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mnav{display:flex;flex-direction:column;gap:0.375rem;margin-top:1.625rem}
.m-item{display:flex;align-items:center;justify-content:space-between;height:3.625rem;padding:0 1.25rem;border-radius:62.4375rem;color:#fff;font-weight:500;font-size:1.625rem;letter-spacing:-.035em;transition:background .2s,color .2s}
.m-item:hover,.m-item:active{background:rgba(255,255,255,.09)}
.m-item .i{opacity:.45}
.m-item.is-active{background:#fff;color:var(--navy)}
.m-item.is-active .i{opacity:1;color:var(--blue)}
.mmenu hr{border:0;height:1px;background:rgba(255,255,255,.1);margin:1.625rem 0}
.mctas .btn{width:100%;height:3.375rem;font-size:0.9375rem}
.minfo{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.625rem;font:400 0.75rem var(--mono);letter-spacing:.04em;color:#AEB7D3}
.minfo .row{display:flex;align-items:center;gap:0.625rem}
.minfo .f-socials{margin-top:0.375rem}
.mmenu .st{opacity:0;transform:translateY(1.25rem);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.mmenu.is-open .st{opacity:1;transform:none}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .h-social{display:none}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.375rem}
  .diff:nth-child(3){border-left:0}
  .footer-top{grid-template-columns:1fr 1fr}
  .sol,.partners,.story,.profile,.practice{gap:2.75rem}
  .solutions{grid-template-columns:1fr}
  .flow{display:none}
}
@media (max-width:900px){
  .nav{display:none}
  .burger{display:flex}
  .site-header{top:0.625rem}
  .site-header .bar{height:4rem;padding:0 0.625rem 0 0.875rem}
  .logo img{height:2.75rem}
  .wrap,.narrow{width:calc(100% - 2.5rem)}
  .fab{right:0.875rem;bottom:0.875rem;height:2.625rem;padding:0 0.875rem}
  .sec{padding:4.75rem 0}
  .hero-x .wrap{padding:6.875rem 0 7.5rem}
  .hero-x .media-chip{bottom:auto;top:5.25rem;right:0.875rem}
  .display{font-size:clamp(2.6rem,13vw,3.6rem)}
  .btn{max-width:100%;white-space:normal;text-align:center;height:auto;min-height:3.25rem;padding-top:.75rem;padding-bottom:.75rem;line-height:1.3}
 .cta-row{flex-direction:column;align-items:stretch}
  .cta-row .btn{width:100%;height:3.375rem}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.375rem 1rem;padding:1.375rem 1.125rem;border-radius:1.125rem}
  .diff{display:block;padding:0}
  .diff + .diff{border-left:0}
  .diff-icon{width:2.5rem;height:2.5rem;margin-bottom:0.625rem}
  .page-hero .wrap{grid-template-columns:1fr;min-height:0;padding:6.5rem 0 3rem;gap:2.25rem}
  .hero-visual{justify-self:start;max-width:20rem}
  .hv-stack{height:18.75rem}
  .info-top,.sol,.partners,.story,.profile,.practice,.contact{grid-template-columns:1fr}
  .fronts{flex-direction:column;height:auto}
  .front{flex:none;height:8.125rem;transition:height .8s var(--ease)}
  .front.is-active{height:23.75rem}
  .grid3{grid-template-columns:1fr;gap:0.875rem}
  .area{gap:1rem;padding:1.25rem 1.125rem 1.25rem 1.375rem}
  .area-icon{width:3.25rem;height:3.25rem}
  .method{height:auto}
  .fan-sticky{position:static;height:auto;display:block;padding:4.75rem 0}
  .fan-stage{height:auto;display:grid;gap:0.875rem}
  .fan-card{position:relative;left:auto;margin:0;width:auto;height:auto;min-height:15.625rem;transform:none!important}
  .fan-line{display:none}
  .sol-card{min-height:33.75rem}
  .sol-panels{padding:1.625rem}
  .person{flex-direction:column;align-items:flex-start}
  .person-area{text-align:left}
  .ig-head,.blog-head{flex-direction:column;align-items:flex-start}
  .ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:1fr;gap:1.875rem}
  .story-sticky{position:static}
  .profile.rev .mask-col{order:0}
  .profile + .profile{margin-top:4.5rem}
  .p-items{grid-template-columns:1fr}
  .p-icon{width:4rem;height:4rem}
  .org{aspect-ratio:auto;display:flex;flex-direction:column;gap:0.875rem}
  .org-lines{display:none}
  .org-center{position:relative;left:auto;top:auto;transform:none;margin:0 auto 0.625rem}
  .org-node{position:relative;left:auto;top:auto;width:auto;transform:none;opacity:1}
  .org.is-in .org-node{transform:none}
  .prof-line{aspect-ratio:auto;display:flex;flex-direction:column;gap:1.125rem;padding-left:1.75rem;border-left:2px solid rgba(77,155,255,.5)}
  .prof-line svg{display:none}
  .pnode{position:relative;left:auto;top:auto;transform:none;flex-direction:row;width:auto;text-align:left;gap:0.875rem}
  .pnode i{margin-left:-2.375rem}
  .pnode span{color:#fff}
  .orbit{aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;gap:1.125rem;width:100%}
  .orbit-ring{display:none}
  .orbit-center{position:relative;left:auto;top:auto;transform:none}
  .sat{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto}
  .sat-in{position:relative;transform:none;width:100%;animation:none;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.125rem}
  .modes,.posts{grid-template-columns:1fr}
  .form-card,.attend{padding:1.5rem}
 .cookie-bar{left:.875rem;right:.875rem;bottom:4.5rem;width:auto}
}

@media (max-width:600px){.just,.prose p{text-align:left}}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .hx,[data-reveal],.split .wi,.mmenu .st,.bubble,.typing{opacity:1!important;transform:none!important;filter:none!important}
  .fill-text .fw{color:var(--navy)}
  .panel{transform:none}
}
html:not(.js) .hx,html:not(.js) [data-reveal],html:not(.js) .split .wi,html:not(.js) .bubble{opacity:1;transform:none}
