/* Componentes — botões com texto rolante (Protexy) + estética jurídica (Legalist) */
.button-wrap{display:inline-flex}
.button{--btn-bg:var(--brand--caramel);--btn-fg:var(--brand--white);--btn-fill:var(--brand--caramel-dark);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.25rem;padding:.75rem 1.75rem;border:1px solid transparent;border-radius:var(--_spacing---radius--radius-2x);background:linear-gradient(var(--btn-fill),var(--btn-fill)) no-repeat 50% 100%/100% 0%,var(--btn-bg);color:var(--btn-fg);font-family:var(--ui-font);font-size:1rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;overflow:hidden;transition:background-size .5s var(--ease-expo),color .35s var(--ease-soft),border-color .35s var(--ease-soft),box-shadow .5s var(--ease-soft),transform .35s var(--ease-out)}
.button::before{content:"";position:absolute;inset:-2px auto -2px -60%;width:45%;z-index:1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .9s var(--ease-expo)}
.button:hover{background-size:100% 100%,auto;box-shadow:0 10px 30px -10px var(--brand--caramel-glow),0 0 0 6px rgba(184,108,64,.08)}
.button:hover::before{left:120%}
.button:active{transform:scale(.975)}
.button-text-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;height:1.5rem;overflow:clip}
.button-text{display:block;line-height:1.5rem;transition:transform .55s var(--ease-expo)}
.button:hover .button-text,.nav-link:hover .nav-text{transform:translateY(-100%)}
.button-icon{position:relative;z-index:2;display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-right:-.9rem;border-radius:50%;background:rgba(255,255,255,.18);transition:transform .55s var(--ease-expo),background-color .35s}
.button-icon svg{width:1rem;height:1rem}
.button:hover .button-icon{transform:rotate(-45deg);background:rgba(255,255,255,.28)}
.button.is-outline{--btn-bg:transparent;--btn-fg:var(--brand--dark-blue);--btn-fill:var(--brand--dark-blue);border-color:rgba(19,32,48,.22)}
.button.is-outline:hover{--btn-fg:var(--brand--white);border-color:var(--brand--dark-blue);box-shadow:0 10px 30px -12px rgba(19,32,48,.45)}
.button.is-outline .button-icon{background:rgba(19,32,48,.08)}
.button.is-dark{--btn-bg:var(--_color-pallet---dark-shade--black);--btn-fill:var(--brand--caramel);border-color:var(--_color-pallet---dark-shade--black-300)}
.button.is-light{--btn-bg:var(--brand--white);--btn-fg:var(--brand--dark-blue);--btn-fill:var(--brand--caramel)}
.button.is-light:hover{--btn-fg:var(--brand--white)}
.button.is-outline-white{--btn-bg:transparent;--btn-fill:var(--brand--white);border-color:rgba(255,255,255,.4)}
.button.is-outline-white:hover{--btn-fg:var(--brand--caramel)}
.button.is-nav-button{min-height:2.75rem;padding:.5rem 1.25rem;font-size:.9375rem}
.link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand--dark-blue);font-weight:600}
.link .icon-1x1-base{transition:transform .45s var(--ease-expo)}
.link:hover .icon-1x1-base{transform:translateX(.35rem)}
.icon-1x1-base{flex:none;width:1.5rem;height:1.5rem}
.link-underline{position:absolute;inset:auto 0 1px;height:1px;background:currentColor;transform:translate(-110%);transition:transform .5s var(--ease-expo)}
.footer_link{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:2px 0;overflow:clip;transition:color .3s}
.footer_link:hover .link-underline{transform:translate(0)}
/* Rótulos, tags e pílulas */
.label{display:inline-flex;align-items:center;gap:.75rem}
.label::before{content:"";width:1.75rem;height:1px;background:var(--brand--caramel)}
.label-text{font-size:1.0625rem;line-height:1.4;color:var(--brand--caramel)}
.label.is-light .label-text{color:var(--brand--caramel-light)}
.label.is-caps .label-text{text-transform:uppercase;font-size:.8125rem;letter-spacing:.14em;font-weight:600}
.tag-wrap{display:inline-flex;align-items:center;gap:.625rem}
.tag-icon{width:1.25rem;height:1.25rem}
.tag-text{font-weight:500;color:var(--_color-pallet---dark-shade--black)}
.tag-text.white{color:var(--brand--white)}
.case-category{display:inline-flex;align-items:center;padding:.375rem .875rem;border:1px solid var(--border-color--border-secondary);border-radius:var(--_spacing---radius--radius-2x);background:var(--brand--white)}
.case-category-text{font-size:.875rem;font-weight:500;color:var(--brand--dark-blue)}
.text-moving-holder{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1.125rem;border-radius:var(--_spacing---radius--radius-2x);background:var(--_color-pallet---theme-color--light-green)}
.text-move-wrap{display:flex;flex-direction:column;align-items:flex-start;height:1.5rem;overflow:clip}
.move-text{line-height:1.5rem;font-weight:500;color:var(--_color-pallet---theme-color--deep-green)}
.predict-dot{position:relative;width:.5rem;height:.5rem;border-radius:50%;background:var(--_color-pallet---theme-color--deep-green)}
.predict-dot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:ping 1.8s var(--ease-out) infinite}
.box-icon{position:absolute;inset:0 0 auto auto;width:3.75rem;height:3.75rem;z-index:3}
.line-horizontal{height:1px;background:var(--brand--caramel);transform-origin:left}
/* Navbar */
.navbar{position:absolute;inset:0 0 auto;z-index:100;padding:1.25rem 0;transition:padding .5s var(--ease-expo)}
.navbar_content{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.625rem .625rem .625rem 1.25rem;border:1px solid transparent;border-radius:var(--_spacing---radius--radius-2x);transition:background-color .5s var(--ease-soft),border-color .5s,box-shadow .5s,backdrop-filter .5s}
.navbar.is-scrolled{position:fixed;padding:.75rem 0}
.navbar.is-scrolled .navbar_content{background:rgba(255,255,255,.86);border-color:rgba(19,32,48,.08);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.navbar_logo-link{display:inline-flex;align-items:center;gap:.75rem}
.brand-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--brand--dark-blue);color:var(--brand--white);font-family:var(--serif-font);font-style:italic;font-size:1.25rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 6px 18px -6px rgba(19,32,48,.5)}
.brand-logo-text{font-family:var(--heading-font);font-size:1.375rem;letter-spacing:-.03em;color:var(--brand--dark-blue)}
.brand-logo-text em{font-family:var(--serif-font);color:var(--brand--caramel)}
.navbar_list{display:flex;align-items:center;gap:2rem}
.nav-link{display:flex;flex-direction:column;height:1.5rem;overflow:clip;color:var(--brand--dark-blue);font-weight:500;opacity:.85;transition:opacity .3s}
.nav-link:hover{opacity:1}
.nav-link.w--current{color:var(--brand--caramel)}
.nav-text{line-height:1.5rem;white-space:nowrap;transition:transform .55s var(--ease-expo)}
.nav_buttons-wrap{display:flex;align-items:center;gap:.75rem}
.menu-button{display:none;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:var(--brand--dark-blue);cursor:pointer;place-items:center}
.nav-button_component{display:flex;flex-direction:column;gap:.3rem;width:1.125rem}
.nav-button_line{height:1.5px;background:var(--brand--white);transition:transform .45s var(--ease-expo),opacity .3s}
.navbar.is-open .nav-button_line.is-first{transform:translateY(.39rem) rotate(45deg)}
.navbar.is-open .nav-button_line.is-second{opacity:0}
.navbar.is-open .nav-button_line.is-third{transform:translateY(-.39rem) rotate(-45deg)}
@media (max-width:991px){.menu-button{display:grid}.navbar_list{position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem;border-radius:var(--_spacing---radius--card);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-float);opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:all .4s var(--ease-expo)}.navbar.is-open .navbar_list{opacity:1;visibility:visible;transform:none}}
/* Valores / contadores (Legalist values + Protexy count-num) */
.values-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.values-card{display:flex;flex-direction:column;gap:1.5rem}
.values-wrap{display:flex;flex-direction:column;gap:.5rem}
.values-wrap .text-8xl{font-family:var(--heading-font);font-weight:400}
.values-wrap .text-6xl{font-family:var(--serif-font);font-style:italic}
.count-num{display:flex;align-items:flex-start;height:1em;overflow:clip;font-family:var(--heading-font);font-size:4.5rem;line-height:1;letter-spacing:-.04em}
.count-forward,.count-reverse{display:flex;flex-direction:column}
.count-title{height:1em;line-height:1}
.count-title.is-accent{color:var(--brand--caramel-light);font-family:var(--serif-font);font-style:italic}
/* Cards de serviço (Protexy service-card-v1) */
.service-card-v1{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:23rem;padding:1.75rem;border-radius:var(--_spacing---radius--common);border:1px solid var(--border-color--border-primary);background:linear-gradient(rgba(246,245,242,.9),rgba(246,245,242,.9)),url("../images/textura-card.webp") 50%/cover;overflow:clip;transition:color .45s var(--ease-soft)}
.service-bg-hover{position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,var(--brand--caramel),var(--brand--caramel-dark));clip-path:inset(100% 0 0 0);transition:clip-path .65s var(--ease-expo)}
.service-card-v1:hover .service-bg-hover{clip-path:inset(0 0 0 0)}
.service-icon-wrap{position:relative;width:4rem;height:4rem;overflow:clip}
.service-icon{position:absolute;inset:0;width:100%;height:100%;transition:transform .65s var(--ease-expo)}
.service-icon.bottom{transform:translateY(110%)}
.service-card-v1:hover .service-icon.top{transform:translateY(-110%)}
.service-card-v1:hover .service-icon.bottom{transform:translateY(0)}
.service-category-wrap{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.service-category-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--brand--caramel)}
.service-card-v1 .body-text,.service-card-v1 .h6{transition:color .45s var(--ease-soft)}
.service-card-v1:hover .body-text,.service-card-v1:hover .h6{color:var(--brand--white)}
.service-card-v1:hover .service-category-dot{background:var(--brand--white)}
.service-card-v1 .box-icon{transition:transform .65s var(--ease-expo)}
.service-card-v1:hover .box-icon{transform:translate(100%,-100%)}
/* Cards de processo (fundo escuro) */
.process-card-v1{display:flex;flex-direction:column;gap:1.5rem}
.process-card-img-wrap{position:relative;border-radius:var(--_spacing---radius--common);overflow:clip;aspect-ratio:407/397}
.process-card-img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-expo)}
.process-card-v1:hover .process-card-img{transform:scale(1.06)}
.process-card-content{display:flex;flex-direction:column;gap:.75rem}
/* Advogados (Legalist lawyers_card) */
.lawyers_card{display:flex;flex-direction:column;gap:1rem}
.lawyers_card-image{position:relative;aspect-ratio:546/700;border-radius:var(--_spacing---radius--card);overflow:clip}
.lawyers_card-image .img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.02);transition:filter .8s var(--ease-soft),transform 1.2s var(--ease-expo)}
.lawyers_card:hover .img{filter:grayscale(0);transform:scale(1.07)}
.lawyers_card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(19,32,48,.55),transparent 45%);opacity:.8;transition:opacity .6s}
.lawyers_card:hover .lawyers_card-image::after{opacity:.35}
.lawyers_card-content{display:flex;flex-direction:column;gap:.25rem}
/* Locais (Legalist location_card) */
.location_card{display:flex;flex-direction:column;gap:2rem;padding:1.75rem;border:1px solid transparent;border-radius:var(--_spacing---radius--card);background:var(--brand--gray-lighter);transition:transform .6s var(--ease-expo),box-shadow .6s,border-color .6s,background-color .6s}
.location_card:hover{transform:translateY(-.375rem);background:var(--brand--white);border-color:var(--border-color--border-primary);box-shadow:var(--shadow-float)}
.location_card-icon{width:3rem;height:3rem;color:var(--brand--dark-blue);transition:color .4s}
.location_card:hover .location_card-icon{color:var(--brand--caramel)}
.location_card-content{display:flex;flex-direction:column;gap:1.5rem}
/* Depoimentos (Legalist testimonials_card) */
.testimonials_card{position:relative;display:flex;align-items:flex-end;min-height:26rem;padding:1.25rem;border-radius:var(--_spacing---radius--card);background:50% 0/cover no-repeat;color:var(--brand--white);overflow:clip}
.testimonials_card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(19,32,48,.85),rgba(19,32,48,0) 60%)}
.testimonials_card-content{position:relative;display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.testimonials_card-header{display:flex;justify-content:space-between;gap:1rem}
.star-wrapper{display:flex;gap:.25rem}
.star-icon{width:1rem;height:1rem}
.author-wrap{display:flex;align-items:center;gap:.75rem}
.author-img{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--brand--white)}
.author-img+.author-img{margin-left:-1.25rem}
/* Links de especialidade (Legalist expertise_link) */
.expertise_links-wrapper{display:flex;flex-direction:column}
.expertise_link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 0;border-bottom:1px solid rgba(184,108,64,.35);overflow:clip}
.expertise_link::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--brand--caramel);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-expo)}
.expertise_link:hover::after{transform:scaleX(1)}
.expertise_link .text-base{font-family:var(--serif-font);font-size:1.375rem;color:var(--brand--dark-blue);transition:transform .6s var(--ease-expo),color .4s}
.expertise_link:hover .text-base{transform:translateX(.75rem);color:var(--brand--caramel)}
.expertise_link img{width:1.5rem;transition:transform .6s var(--ease-expo)}
.expertise_link:hover img{transform:translateX(-.25rem) rotate(-45deg)}
/* Formulários */
.contact_form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.contact_input-wrapper{display:flex;flex-direction:column;gap:.5rem}
.contact_input-wrapper.is-full{grid-column:1/-1}
.contact_input-wrapper label{font-size:.875rem;font-weight:500;color:var(--brand--dark-blue)}
.contact_input{width:100%;min-height:3.25rem;padding:.75rem 1rem;border:1px solid var(--border-color--border-secondary);border-radius:.75rem;background:var(--brand--white);font:inherit;color:inherit;transition:border-color .3s,box-shadow .3s}
.contact_input:focus{outline:0;border-color:var(--brand--caramel);box-shadow:0 0 0 4px rgba(184,108,64,.14)}
.contact_input.is-textarea{min-height:8rem;resize:vertical}
.footer-field-wrap{display:flex;align-items:center;gap:.5rem;padding:.375rem .375rem .375rem 1.25rem;border:1px solid var(--_color-pallet---border-color--border-200);border-radius:var(--_spacing---radius--radius-2x)}
.footer-field{flex:1;min-width:0;border:0;background:transparent;color:var(--brand--white);font:inherit}
.footer-field:focus{outline:0}
.footer-field::placeholder{color:#8a8a8a}
.newsletter-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:var(--brand--caramel);color:var(--brand--white);cursor:pointer;transition:transform .5s var(--ease-expo),background-color .3s}
.newsletter-button:hover{transform:rotate(-45deg);background:var(--brand--caramel-light)}
.newsletter-button svg{width:1.25rem}
