/* Seções — hero branco com letreiro translúcido, faixas escuras com barras empilhadas (Protexy) e layout do design system */
.page-wrapper{overflow:clip}
/* Linhas de grade verticais (Protexy line-block) */
.line-block{position:absolute;inset:0;z-index:0;display:flex;justify-content:space-between;width:100%;max-width:var(--_spacing---container-spacing--max-width);margin:0 auto;pointer-events:none}
.line{width:1px;background:linear-gradient(to bottom,transparent,var(--_color-pallet---white-shade--white-200) 18%,var(--_color-pallet---white-shade--white-200) 82%,transparent);opacity:.7}
.line-block.is-dark .line{background:linear-gradient(to bottom,transparent,var(--_color-pallet---dark-shade--black-400) 18%,var(--_color-pallet---dark-shade--black-400) 82%,transparent);opacity:1}
/* Barras empilhadas (Protexy top-line-block) */
.top-line-block{position:absolute;inset:0 0 auto;z-index:20;pointer-events:none}
.top-line-block.is-bottom{inset:auto 0 0}
.top-line-wrapper{display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:0 .9375rem}
.top-line-block.is-bottom .top-line-wrapper{flex-direction:column-reverse}
.top-line{height:.9375rem;border-radius:0 0 var(--_spacing---radius--radius-1x) var(--_spacing---radius--radius-1x);background:var(--brand--white);transform-origin:top}
.top-line-block.is-bottom .top-line{border-radius:var(--_spacing---radius--radius-1x) var(--_spacing---radius--radius-1x) 0 0;transform-origin:bottom}
.top-line._01{width:90vw}
.top-line._02{width:80vw;height:.75rem}
.top-line._03{width:70vw;height:.625rem}
.top-line.for-footer{background:var(--brand--caramel)}
.top-line._01.for-footer{width:100%}
.top-line._02.for-footer{width:95%}
.top-line._03.for-footer{width:89%}
/* Revelação em blocos (Protexy overlay-img) */
.overlay-img{position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(6,1fr);pointer-events:none}
.overlay-block{width:0;background:var(--brand--white)}
.overlay-img.is-dark .overlay-block{background:var(--brand--dark-blue)}
.w-mod-js .overlay-block{width:calc(100% + 1px)}
/* HERO */
.section_hero.hero-v1{position:relative;isolation:isolate;min-height:max(100svh,50rem);padding-top:7.5rem;background:var(--brand--white);overflow:clip}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-grain{position:absolute;inset:0;background:url("../images/textura-clara.webp") 50%/cover;opacity:.3;mix-blend-mode:multiply}
.hero-glow{position:absolute;inset:0;background:radial-gradient(42rem 30rem at 82% 18%,rgba(184,108,64,.16),transparent 70%),radial-gradient(36rem 26rem at 6% 96%,rgba(19,32,48,.08),transparent 70%)}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(19,32,48,.16) 1px,transparent 1.2px);background-size:1.75rem 1.75rem;-webkit-mask-image:radial-gradient(60% 55% at 28% 42%,#000,transparent 75%);mask-image:radial-gradient(60% 55% at 28% 42%,#000,transparent 75%)}
.hero-spotlight{position:absolute;inset:0;background:radial-gradient(28rem circle at var(--mx,70%) var(--my,30%),rgba(184,108,64,.13),transparent 65%);transition:opacity .6s}
.hero-grid{z-index:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:4.5rem;align-items:start}
.hero_content{position:relative;z-index:6;display:flex;flex-direction:column;gap:2.25rem;padding-top:3.25rem}
.hero_top{display:flex;flex-direction:column;gap:1.5rem}
.hero_content .text-7xl{font-size:4.375rem;line-height:.98;color:var(--brand--dark-blue)}
.hero-title-accent{position:relative;display:inline-block;white-space:nowrap}
.hero-swash{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.32em;color:var(--brand--caramel);overflow:visible}
.hero-swash path{stroke-dasharray:1;stroke-dashoffset:1}
.hero-para{max-width:30rem;font-size:1.125rem;line-height:1.6}
.hero_bottons-wrap{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-trust{display:flex;align-items:center;gap:1rem;padding-top:1.75rem;border-top:1px solid var(--border-color--border-primary);max-width:30rem}
.hero-trust-text{display:flex;flex-direction:column;gap:.125rem;font-size:.875rem;color:var(--text-color--text-secondary)}
.hero-trust-text strong{color:var(--brand--dark-blue);font-weight:600}
.section_hero-image-wrap{position:relative;z-index:3}
.section_hero-image{position:relative;height:min(80svh,48rem);border-radius:1.5rem;overflow:clip;box-shadow:var(--shadow-float);transform-origin:50% 100%}
.img-wrapper{position:absolute;inset:0;overflow:clip;border-radius:inherit}
.img-wrapper .img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.12)}
.section_hero-image::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(19,32,48,.45),transparent 38%),linear-gradient(120deg,rgba(184,108,64,.18),transparent 40%);pointer-events:none}
.hero-float{position:absolute;z-index:8}
.hero-float.is-status{top:2rem;left:-2.75rem}
.hero-float.is-value{top:42%;right:-1.75rem}
.hero-float.is-shield{z-index:7;left:-4rem;bottom:28%}
.hero-chip{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem;border:1px solid rgba(255,255,255,.7);border-radius:1.125rem;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:var(--shadow-float)}
.hero-chip.is-value{min-width:11.5rem}
.hero-chip-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--brand--dark-blue)}
.hero-chip .text-8xl{font-size:3rem}
.hero-chip .text-sm{color:var(--text-color--text-secondary)}
.hero-shield{width:7.5rem;filter:drop-shadow(0 18px 30px rgba(19,32,48,.35)) drop-shadow(0 0 28px rgba(184,108,64,.45));animation:float 6s ease-in-out infinite}
.section_hero-image .box-icon{width:4.5rem;height:4.5rem}
/* Letreiro gigante translúcido — reaproveita footer-big-text do Protexy */
.footer-big-text-wrap{position:relative;display:flex;justify-content:center;pointer-events:none}
.footer-big-text-wrap.is-hero{position:absolute;inset:auto 0 -1.2vw;z-index:5}
.footer-big-text{position:relative;font-family:var(--heading-font);font-weight:500;font-size:12vw;line-height:.8;letter-spacing:-.06em;white-space:nowrap;text-align:center}
.footer-big-text.is-hero{--lx:50%;--ly:50%;font-size:19.5vw;color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.96) 8%,rgba(255,255,255,.62) 52%,rgba(255,255,255,.08) 96%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(19,32,48,.16)}
.footer-big-text.is-hero::before,.footer-big-text.is-hero::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none}
.footer-big-text.is-hero::before{background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0;animation:glint 7s var(--ease-soft) infinite 2.5s}
.footer-big-text.is-hero::after{-webkit-text-stroke:1.5px var(--brand--caramel);filter:drop-shadow(0 0 .6rem rgba(184,108,64,.7));-webkit-mask-image:radial-gradient(16vw circle at var(--lx) var(--ly),#000 0,transparent 70%);mask-image:radial-gradient(16vw circle at var(--lx) var(--ly),#000 0,transparent 70%);opacity:var(--lo,0);transition:opacity .5s}
.footer-big-text.is-dark{color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(255,255,255,.14)}
/* Logos (Legalist logos marquee) */
.section_logos{position:relative;padding:2.5rem 0 5.5rem;background:var(--brand--white)}
.logos_head{display:flex;justify-content:center;margin-bottom:1.75rem;font-size:.875rem;color:var(--text-color--text-secondary)}
.logos_wrapper{position:relative;display:flex;overflow:clip}
.logos_grid{flex:none;display:grid;grid-template-columns:repeat(5,1fr);place-items:center;width:100%;min-width:52rem;animation:marquee 32s linear infinite}
@media (hover:hover) and (pointer:fine){.logos_wrapper:hover .logos_grid{animation-play-state:paused}}
.logos_image{width:9.5rem}
.logos_image .img{width:100%;filter:brightness(0) saturate(0);opacity:.4;transition:opacity .4s,filter .4s}
.logos_image:hover .img{opacity:.9}
.logos_shadow{position:absolute;inset:0 auto 0 0;z-index:2;width:12%;background:linear-gradient(90deg,var(--brand--white),rgba(255,255,255,0))}
.logos_shadow.is-right{inset:0 0 0 auto;background:linear-gradient(270deg,var(--brand--white),rgba(255,255,255,0))}
/* Estrutura do design system */
.ds-section{position:relative;padding:7rem 0;border-top:1px solid var(--border-color--border-primary)}
.ds-section.is-page{background:var(--brand--page)}
.ds-head{display:grid;grid-template-columns:8rem 1fr minmax(0,24rem);gap:2rem;align-items:end;margin-bottom:3.5rem}
.ds-index{font-family:var(--serif-font);font-style:italic;font-size:1.25rem;color:var(--brand--caramel)}
.ds-desc{font-size:.9375rem;color:var(--text-color--text-secondary)}
.ds-subtitle{margin:3rem 0 1.25rem;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-color--text-secondary)}
.ds-grid{display:grid;gap:1.25rem}
.ds-grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ds-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ds-grid.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ds-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.ds-panel{position:relative;padding:2.5rem;border:1px solid var(--border-color--border-primary);border-radius:var(--_spacing---radius--card);background:var(--brand--white)}
.ds-panel.is-dark{background:var(--brand--dark-blue);border-color:transparent;color:var(--brand--white)}
.ds-caption{display:block;margin-top:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--text-color--text-secondary)}
.ds-panel.is-dark .ds-caption{color:rgba(255,255,255,.55)}
.swatch{display:flex;flex-direction:column;overflow:clip;border:1px solid var(--border-color--border-primary);border-radius:1rem;background:var(--brand--white);transition:transform .5s var(--ease-expo),box-shadow .5s}
.swatch:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-soft)}
.swatch-color{height:7.5rem}
.swatch-info{display:flex;flex-direction:column;gap:.125rem;padding:.875rem 1rem;font-size:.875rem}
.swatch-info strong{font-weight:600;color:var(--brand--dark-blue)}
.swatch-info span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--text-color--text-secondary)}
.type-row{display:grid;grid-template-columns:10rem 1fr;gap:2rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--border-color--border-primary)}
.type-meta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--text-color--text-secondary)}
.type-sample{color:var(--brand--dark-blue)}
.font-card{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;min-height:15rem;padding:2rem;border-radius:var(--_spacing---radius--card);background:var(--brand--page)}
.font-card .aa{font-size:5.5rem;line-height:1;color:var(--brand--dark-blue)}
.font-card.is-dark{background:var(--brand--dark-blue);color:var(--brand--white)}
.font-card.is-dark .aa{color:var(--brand--white)}
.radius-demo{display:grid;place-items:center;height:6rem;border:1px dashed var(--brand--caramel);background:rgba(184,108,64,.06);font-size:.75rem;color:var(--brand--caramel)}
/* Seção escura (Protexy bg-dark) */
.section.bg-dark{padding:13rem 0 8rem;background:var(--brand--dark-blue);color:var(--brand--white)}
.bg-dark-texture{position:absolute;inset:0;background:url("../images/textura-escura.webp") 50%/cover;opacity:.35;mix-blend-mode:luminosity;pointer-events:none}
.bg-dark-pattern{position:absolute;left:50%;bottom:0;width:min(81rem,100%);transform:translateX(-50%);opacity:.3;pointer-events:none}
.sub-holder{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:4rem}
.sub-holder.middle{flex-direction:column;align-items:center;text-align:center}
.sub-wrapper{display:flex;flex-direction:column;gap:1.25rem;max-width:44rem}
.sub-holder.middle .sub-wrapper{align-items:center}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:5rem}
.stat-card{display:flex;flex-direction:column;gap:1.25rem;padding:2rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--_spacing---radius--card);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.01));transition:border-color .5s,background-color .5s}
.stat-card:hover{border-color:rgba(184,108,64,.55)}
.stat-card.is-accent{background:linear-gradient(160deg,var(--brand--caramel),var(--brand--caramel-dark));border-color:transparent}
/* Especialidades */
.expertise_grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.expertise_content{display:flex;flex-direction:column;gap:2.5rem}
.expertise_image{position:relative;aspect-ratio:1064/1200;border-radius:var(--_spacing---radius--card);overflow:clip}
.expertise_image .img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
/* Depoimentos */
.testimonials_track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(19rem,1fr);gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem}
.testimonials_track::-webkit-scrollbar{display:none}
.testimonials_track>*{scroll-snap-align:start}
.slider-arrows{display:flex;gap:.5rem}
.arrow{display:grid;place-items:center;width:3.25rem;height:3.25rem;border:1px solid var(--border-color--border-secondary);border-radius:50%;background:var(--brand--white);color:var(--brand--dark-blue);cursor:pointer;transition:background-color .4s,color .4s,border-color .4s,transform .4s var(--ease-expo)}
.arrow:hover{background:var(--brand--dark-blue);border-color:var(--brand--dark-blue);color:var(--brand--white);transform:scale(1.06)}
.arrow svg{width:1.5rem}
/* Contato */
.contact_grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.contact_image{position:relative;aspect-ratio:974/913;margin-top:2.5rem;border-radius:var(--_spacing---radius--card);overflow:clip}
.contact_image .img{width:100%;height:100%;object-fit:cover}
.contact_form-wrapper{padding:2.5rem;border:1px solid var(--border-color--border-primary);border-radius:var(--_spacing---radius--card);background:var(--brand--white);box-shadow:var(--shadow-soft)}
/* CTA (Protexy cta) */
.cta{position:relative;padding:0 0 7rem}
.cta-wrapper{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:5rem 2rem;border-radius:1.5rem;background:radial-gradient(40rem 20rem at 50% 120%,rgba(184,108,64,.45),transparent 70%),var(--brand--dark-blue);overflow:clip}
.cta-content{display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:38rem;text-align:center}
.cta-icon{width:100%;max-width:11rem;opacity:.75}
.cta-left-icon-wrap{justify-self:start}
.cta-right-icon-wrap{justify-self:end}
.cta-button-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
/* Footer */
.footer{position:relative;background:var(--_color-pallet---dark-shade--black);color:var(--brand--white);overflow:clip}
.footer .container.v2{border-left:1px solid var(--_color-pallet---border-color--border-200);border-right:1px solid var(--_color-pallet---border-color--border-200)}
.footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:4rem;padding:9rem 2.5rem 4rem;border-bottom:1px solid var(--_color-pallet---border-color--border-200)}
.footer-left{display:flex;flex-direction:column;gap:1.75rem;max-width:24rem}
.footer .brand-logo-text{color:var(--brand--white);font-size:1.75rem}
.footer-right{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-menu{display:flex;flex-direction:column;gap:.875rem;color:rgba(255,255,255,.65)}
.footer-menu-title{margin-bottom:.5rem;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand--caramel-light)}
.footer-menu .footer_link:hover{color:var(--brand--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2.5rem;font-size:.875rem;color:rgba(255,255,255,.55)}
.footer .footer-big-text-wrap{padding:2rem 0 0;margin-bottom:-3vw}
.footer .footer-big-text{font-size:19vw}
@media (max-width:991px){.hero-grid{grid-template-columns:1fr;gap:3rem}.hero_content{padding-top:1.5rem}.section_hero-image{height:36rem}.hero-float.is-status{left:1rem}.hero-float.is-value{right:1rem}.hero-float.is-shield{left:auto;right:1rem;bottom:auto;top:-2.5rem}.hero-shield{width:5.5rem}.section_hero.hero-v1{padding-bottom:14vw}.ds-head{grid-template-columns:1fr}.ds-grid.is-4{grid-template-columns:repeat(2,1fr)}.ds-grid.is-3,.process-grid,.stats-row{grid-template-columns:1fr 1fr}.expertise_grid,.contact_grid,.footer-top{grid-template-columns:1fr}.cta-wrapper{grid-template-columns:1fr}.cta-left-icon-wrap,.cta-right-icon-wrap{display:none}}
@media (max-width:767px){.hero_content .text-7xl{font-size:3rem}.section_hero-image{height:28rem}.ds-grid.is-2,.ds-grid.is-3,.ds-grid.is-4,.process-grid,.stats-row,.values-wrapper,.contact_form,.footer-right{grid-template-columns:1fr}.type-row{grid-template-columns:1fr;gap:.5rem}.ds-section{padding:4.5rem 0}.section.bg-dark{padding:8rem 0 5rem}.sub-holder{flex-direction:column;align-items:flex-start}.footer-top,.footer-bottom{padding-left:1rem;padding-right:1rem}.footer-bottom{flex-direction:column;align-items:flex-start}.hero-float.is-value{display:none}.ds-panel{padding:1.5rem}}
