/* Shared foundations. All pages use the same spacing, typography and controls. */
:root{--paper:oklch(.974 .008 78);--soft:oklch(.938 .012 76);--ink:oklch(.275 .022 53);--muted:oklch(.48 .017 55);--bronze:oklch(.51 .055 65);--line:oklch(.83 .018 70);--dark:oklch(.253 .025 52);--cream:#f5f0e8;--light-muted:#ded4ca;--hero-brown:#2e1e18;--contact-brown:#382b24;--gutter:64px;--section-space:clamp(72px,7.5vw,112px);--ease:cubic-bezier(.22,1,.36,1);font-family:Helvetica,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}img{display:block;width:100%;object-fit:cover}figure{margin:0}p{font-size:1.0625rem;line-height:1.7;color:var(--muted);max-width:65ch;margin:0 0 20px}p:last-child{margin-bottom:0}h1,h2,h3,h4{font-family:inherit;font-weight:700;margin:0;text-wrap:balance;letter-spacing:-.025em}h1{font-size:clamp(2.55rem,4.1vw,4.25rem);line-height:1.08}h2{font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.14}h3,h4{font-size:1.55rem;line-height:1.25}::selection{background:#d8c3a8;color:var(--ink)}:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}
.wrap{width:min(1320px,calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section-space)}.soft{background:var(--soft)}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end;margin-bottom:48px}.section-head>p{max-width:440px;margin:0}.section-label,.eyebrow{display:block;font-size:.875rem;line-height:1.5;color:var(--bronze);margin:0 0 24px}.eyebrow{letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;z-index:40;padding:16px;background:var(--paper)}.skip:focus{top:12px}
/* Navigation */
.header{display:flex;position:relative;align-items:center;justify-content:space-between;gap:32px;min-height:108px;border-bottom:1px solid var(--line);z-index:10}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand strong{display:block;font-size:.9375rem;font-weight:600;line-height:1.4}.brand small{display:block;font-size:.6875rem;letter-spacing:.1em;margin-top:5px}.nav{display:flex;align-items:center;gap:24px;font-size:.875rem}.nav a:not(.nav-contact){position:relative;padding:15px 0}.nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.menu{display:none;background:none;color:var(--ink);border:0;border-bottom:1px solid currentColor;min-height:44px;padding:10px 0;cursor:pointer}
/* Filled buttons invert to outline; outline buttons invert to filled. */
.button,.text-link,.nav .nav-contact{--button-ink:var(--ink);--button-paper:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:13px 23px;border:1px solid var(--button-ink);border-radius:999px;font-size:.9375rem;line-height:1.35;cursor:pointer;transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s var(--ease);max-width:100%}
.button{background:var(--button-ink);color:var(--button-paper)}.text-link,.nav .nav-contact{background:transparent;color:var(--button-ink)}.arrow-icon{display:block;width:22px;height:22px;flex-shrink:0;transition:transform .35s var(--ease)}.button:active,.text-link:active{transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button:focus-visible:not(:disabled){background:transparent;color:var(--button-ink)}.text-link:focus-visible,.nav .nav-contact:focus-visible{background:var(--button-ink);color:var(--button-paper)}
@media(hover:hover){.button:hover:not(:disabled){background:transparent;color:var(--button-ink)}.text-link:hover,.nav .nav-contact:hover{background:var(--button-ink);color:var(--button-paper)}:is(.button,.text-link,.nav-contact):hover .arrow-icon{transform:translateX(4px)}}
:is(.hero,.internal-hero,.councils,.contact) :is(.button,.text-link){--button-ink:var(--cream);--button-paper:var(--contact-brown)}:is(.hero,.internal-hero,.councils,.contact) :focus-visible{outline-color:var(--cream)}
/* Main portrait: use the original landscape composition and leave the face clear. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(560px,42.42vw,700px);padding:64px 0 82px;background:var(--hero-brown);color:var(--cream);overflow:hidden}.hero:before{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:url('assets/grain.svg');opacity:.035}.hero-copy{position:relative;z-index:2;width:53%;max-width:660px}.hero h1{max-width:620px}.hero-copy>p{color:var(--light-muted);max-width:450px;margin:26px 0}.hero .eyebrow{color:#d8c3a8}.hero-note{display:block;font-size:.875rem;line-height:1.6;color:var(--light-muted);margin-top:22px;max-width:350px}.actions{display:flex;align-items:center;gap:24px}.hero-photo{position:absolute;inset:0;z-index:0}.hero-photo img{height:100%;object-position:center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,22,17,.32) 0%,rgba(35,22,17,.16) 32%,rgba(35,22,17,0) 62%),linear-gradient(0deg,rgba(35,22,17,.7),rgba(35,22,17,0) 24%);pointer-events:none}.photo-caption{position:absolute;z-index:2;right:max(var(--gutter),calc((100vw - 1320px)/2));bottom:28px;width:30%;font-size:.9375rem;line-height:1.5}.photo-caption small{display:block;color:#d8c3a8;font-size:.75rem}.photo-caption strong{display:block;font-weight:500;font-size:1rem;margin:4px 0 6px}
/* Experience: common baseline, common caption spacing. */
.experience-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;padding-block:52px 0;align-items:start}.experience-heading h2{font-size:1.6rem;line-height:1.2;margin-top:5px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{display:flex;flex-direction:column;gap:18px;padding-inline:30px;border-left:1px solid var(--line)}.stat:first-child{padding-left:0;border:0}.stat:last-child{padding-right:0}.stat strong{display:flex;align-items:baseline;gap:.25em;white-space:nowrap;font-size:2.65rem;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat em{font-style:normal;font-size:.55em}.stat>span{color:var(--muted);font-size:.9375rem;line-height:1.55}
/* Practice areas */
#areas>.wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}#areas .section-head{display:block;position:sticky;top:40px;margin:0}#areas h2{font-size:2.5rem}#areas .section-head>p{margin-top:24px;font-size:1rem}.practice-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.practice-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1.1fr);gap:24px;padding:40px 0;border-bottom:1px solid var(--line);align-items:start}.practice-number,.service-number{font-size:.875rem;line-height:1.6;color:var(--bronze);padding-top:3px;font-variant-numeric:tabular-nums}.practice-row h3{font-size:1.5rem;line-height:1.3}.practice-row h3 a{transition:color .25s}.practice-row h3 a:hover{color:var(--bronze)}.practice-description p{font-size:1rem;margin-bottom:20px}.practice-description .text-link{font-size:.875rem;padding:11px 17px;gap:18px}
/* Shared photographic treatment: image on the left dissolving into readable copy. */
.councils,.internal-hero{color:var(--cream);background:var(--dark)}.council-intro,.internal-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:620px}.council-photo,.internal-photo{position:absolute;z-index:-2;inset:0;margin:0;overflow:hidden}.council-photo img,.internal-photo img{height:100%;object-position:35% 50%;filter:saturate(.55)}.council-intro:after,.internal-hero:after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,oklch(.253 .025 52 / .08),oklch(.253 .025 52 / .45) 35%,oklch(.253 .025 52 / .97) 59%,var(--dark) 77%),linear-gradient(0deg,var(--dark),transparent 25%)}.council-copy{width:50%;margin-left:auto;padding:76px max(var(--gutter),calc((100vw - 1320px)/2)) 76px 24px}.council-copy h2{font-size:clamp(2rem,3.1vw,3.3rem);line-height:1.16;margin-bottom:28px}.councils p,.internal-hero p{color:var(--light-muted)}.councils .section-label,.internal-hero .eyebrow{color:#d8c3a8}.council-copy .text-link{margin-top:12px}.council-services{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-block:48px 72px}.council-services h3{font-size:1.55rem;margin-bottom:18px}.council-services p{font-size:1rem;max-width:360px}.council-services ul{list-style:none;padding:0;margin:0}.council-services li{padding:15px 0;border-bottom:1px solid oklch(.43 .025 52);font-size:1rem;line-height:1.6}.council-services li:first-child{padding-top:0}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.875rem;padding-block:24px;margin:0}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.breadcrumb span{color:var(--bronze)}.internal-copy{padding-block:72px}.internal-copy>div{width:49%;margin-left:auto}.internal-hero h1{font-size:clamp(2.4rem,3.55vw,3.7rem);max-width:630px}.internal-hero p{margin-block:26px;max-width:510px}.internal-hero .hero-note{margin-top:22px}.internal-photo{width:76%}.internal-photo img{object-position:50% 52%}.internal-hero--direito-trabalhista .internal-photo img{object-position:30% 50%}.internal-hero--direito-do-consumidor .internal-photo{width:100%}.internal-hero--direito-do-consumidor .internal-photo img{object-position:40% 50%}.experience-band{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:56px;padding-block:40px 0}.experience-band strong{font-size:2.8rem;font-weight:700;line-height:1.1;white-space:nowrap}.experience-band p{max-width:780px;margin:0;font-size:1rem}
.service-grid{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:40px minmax(0,.85fr) minmax(0,1.25fr);gap:32px;padding:36px 0;border-bottom:1px solid var(--line);align-items:start}.service h3,.service h4{font-size:1.5rem;line-height:1.3}.service p{font-size:1rem;margin:0;max-width:62ch}.service-group+.service-group{margin-top:80px}.service-group-title{font-size:clamp(1.7rem,2.5vw,2.3rem);margin-bottom:28px}
/* Firm and appointment flow */
#sobre{background:var(--soft)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:96px}.director-label{font-size:.875rem;margin:34px 0 10px}.name-signature{font-size:1.45rem;font-weight:700;line-height:1.4;max-width:440px}.oab{color:var(--bronze);font-size:.875rem;margin-top:10px}.about-copy>p:first-child{font-size:1.55rem;color:var(--ink);line-height:1.5;margin-bottom:28px}.principles{margin-top:28px}#atendimento{background:var(--paper)}#atendimento h2{font-size:clamp(2rem,2.7vw,2.8rem)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;border-top:1px solid var(--line);padding-top:32px}.step-number{display:block;color:var(--bronze);font-size:.8125rem;letter-spacing:.04em;margin-bottom:24px}.steps h3{font-size:1.35rem;margin-bottom:16px}.steps p{font-size:1rem}
/* FAQ: native details without JavaScript; enhanced grid transition with JavaScript. */
#duvidas{border-top:1px solid var(--line);padding-block:clamp(64px,6vw,88px)}.faq-grid{max-width:920px}.faq-grid>div:first-child{margin-bottom:32px}.faq-grid h2{font-size:clamp(1.9rem,2.5vw,2.4rem)}details{border-bottom:1px solid var(--line)}summary{position:relative;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:28px;cursor:pointer;padding:24px 0;font-size:1.0625rem;line-height:1.55;transition:color .2s}summary::-webkit-details-marker{display:none}summary:after{content:'+';flex:none;font-weight:400;font-size:1.6rem;line-height:1;width:22px;text-align:center;color:var(--bronze);transition:transform .4s var(--ease)}details[open]:not(.faq-enhanced) summary:after,details[data-expanded='true'] summary:after{transform:rotate(45deg)}summary:hover{color:var(--bronze)}.faq-answer>div{min-height:0;overflow:hidden}.faq-answer p{font-size:1rem;margin:0;padding:0 48px 26px 0;max-width:76ch}.faq-enhanced .faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s var(--ease),opacity .32s ease}.faq-enhanced[data-expanded='true'] .faq-answer{grid-template-rows:1fr;opacity:1}
/* Contact: form and supporting information share one column. No negative offsets. */
.contact{background:var(--contact-brown);color:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact h2{max-width:450px;font-size:clamp(2.2rem,3.3vw,3.6rem);margin-bottom:24px}.contact p,.contact-info span,.consent{color:var(--light-muted)}.contact-info{display:grid;gap:24px;margin-top:36px}.contact-info span{display:block;font-size:.875rem;margin-bottom:8px}.contact-info a{display:inline-flex;align-items:center;gap:20px;font-size:1.125rem;min-height:44px}.contact-info a:hover{text-decoration:underline;text-underline-offset:5px}.contact-form-column{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}.field{display:flex;flex-direction:column;gap:8px;font-size:.9375rem;line-height:1.4;min-width:0}.field.full,.consent,.form-submit,.form-status{grid-column:1/-1}input,textarea,select{width:100%;min-width:0;min-height:48px;border:0;border-bottom:1px solid #a18c79;border-radius:0;background:transparent;color:var(--cream);padding:12px 0;transition:border-color .25s}input::placeholder,textarea::placeholder{color:#c7b9ac;opacity:1}input:focus,textarea:focus,select:focus{border-bottom-color:var(--cream)}select option{background:var(--contact-brown);color:var(--cream)}textarea{min-height:120px;resize:vertical}.consent{display:flex;align-items:flex-start;gap:12px;font-size:.8125rem;line-height:1.65}.consent input{width:18px;min-height:18px;flex-shrink:0;margin-top:3px;accent-color:#d8c3a8}.form-submit{justify-self:start}.form-status{font-size:.875rem;line-height:1.55;margin:0}.form-status:empty{display:none}.contact-after-form{border-top:1px solid #756151;padding-top:26px;margin-top:36px}.contact-after-form h3{font-size:1.125rem;line-height:1.4}.contact-after-form p{font-size:1rem;margin:10px 0 0}.contact-after-form .contact-note{font-size:.9375rem;margin-top:12px;max-width:55ch}
/* Footer and legal */
.footer{padding:48px 0 26px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px}.footer-links{display:flex;flex-wrap:wrap;gap:28px;font-size:.9375rem}.footer-links a{padding-block:12px}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:36px;font-size:.8125rem;line-height:1.6;color:var(--muted)}.legal{max-width:860px;padding-block:var(--section-space)}.legal h1{font-size:clamp(2.4rem,4vw,3.8rem);margin-bottom:32px}.legal h2{font-size:1.8rem;margin:40px 0 18px}
/* Prepare offscreen sections before revealing; never reposition already visible text. */
.motion-ready .hero-entrance{animation:hero-copy-arrive .8s cubic-bezier(.25,.46,.45,.94) both}
.motion-ready .motion-block{transition:opacity .85s cubic-bezier(.25,.46,.45,.94),transform .85s cubic-bezier(.22,.61,.36,1)}
.motion-ready .motion-block.motion-pending{opacity:0;transform:translateY(14px)}
.motion-ready .motion-block.is-revealed{opacity:1;transform:none}
.motion-ready .reveal-image.is-revealed{animation:photo-arrive 1.4s ease-out both}
.motion-ready .hero-photo .reveal-image.is-revealed{animation:hero-arrive 1.1s ease-out both}
.motion-ready .hero-entrance:focus-within{animation:none}
.motion-ready .motion-block:focus-within{opacity:1;transform:none;transition:none}
@keyframes hero-copy-arrive{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes photo-arrive{from{opacity:.8;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@keyframes hero-arrive{from{opacity:.7}to{opacity:1}}
@media(max-width:700px){.motion-ready .motion-block.motion-pending{transform:translateY(10px)}.motion-ready .motion-block:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-block.motion-pending{opacity:1;transform:none}}
@media print{.motion-ready .motion-block.motion-pending{opacity:1;transform:none}}
/* Tablet */
@media(max-width:1150px){:root{--gutter:40px}.nav{gap:16px}.nav .nav-contact{padding:11px 16px;gap:12px}.header{gap:24px}.experience-section{grid-template-columns:1fr;gap:28px}.experience-heading h2{margin:0}.stat strong{font-size:2.5rem}#areas>.wrap{grid-template-columns:220px minmax(0,1fr);gap:44px}.practice-row{grid-template-columns:26px minmax(0,1fr);gap:14px 22px}.practice-description{grid-column:2}.council-copy{width:53%}.internal-copy>div{width:51%}.about-grid{gap:56px}.steps{gap:32px}.contact-grid{gap:56px}}
@media(max-width:1000px){.menu{display:block}.nav{display:none;position:absolute;top:calc(100% - 1px);left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));padding:20px var(--gutter) 28px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.nav .nav-contact{align-self:flex-start;margin-top:12px}.header{min-height:96px}.service{grid-template-columns:30px minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.contact-grid{grid-template-columns:1fr;gap:44px}.contact-grid>div:first-child{max-width:650px}.form-grid{gap:28px 24px}.contact-after-form{margin-top:32px}}
@media(max-width:850px){:root{--section-space:72px}#areas>.wrap{display:block}#areas .section-head{position:static;margin-bottom:36px}#areas .section-head>p{max-width:560px}.about-grid{grid-template-columns:1fr;gap:36px}.about-copy{max-width:720px}.section-head{gap:32px}.council-intro,.internal-hero{min-height:590px}.council-copy{width:58%;padding-left:24px}.internal-copy>div{width:57%}.internal-hero h1{font-size:2.7rem}.council-copy h2{font-size:2.5rem}.council-intro:after,.internal-hero:after{background:linear-gradient(90deg,oklch(.253 .025 52 / .15),oklch(.253 .025 52 / .9) 44%,var(--dark) 78%),linear-gradient(0deg,var(--dark),transparent 30%)}.council-services{gap:40px}.experience-band{grid-template-columns:170px minmax(0,1fr);gap:36px}.service{grid-template-columns:30px 1fr;gap:12px 24px}.service p{grid-column:2}.footer-top{align-items:start;flex-direction:column}.footer-bottom{align-items:start}.hero-copy{width:55%}.hero h1{font-size:2.7rem}.hero-copy>p{font-size:1rem}.hero .eyebrow{font-size:.8125rem}.photo-caption{font-size:.875rem}}
/* Mobile: photographs keep their own visible space above the copy. */
@media(max-width:700px){
 :root{--gutter:24px;--section-space:64px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:40px 0 0}.hero-copy{width:100%;max-width:540px;padding-bottom:28px}.hero h1{font-size:clamp(2.4rem,8vw,3rem)}.hero-photo{position:relative;inset:auto;align-self:stretch;width:calc(100% + var(--gutter)*2);height:320px;margin-inline:calc(-1*var(--gutter));flex:none;overflow:hidden}.hero-photo img{object-position:100% center}.hero-photo:after{background:linear-gradient(180deg,var(--hero-brown),transparent 22%),linear-gradient(0deg,rgba(35,22,17,.9),transparent 38%)}.photo-caption{width:auto;left:var(--gutter);right:var(--gutter);bottom:22px}.hero .hero-note{max-width:100%}
 .council-intro,.internal-hero{display:block;min-height:0;padding-top:240px}.council-photo,.internal-photo,.internal-hero--direito-do-consumidor .internal-photo{inset:0 0 auto;height:360px;width:100%}.council-photo img{object-position:50% 48%}.internal-photo img{object-position:50% 56%}.internal-hero--direito-trabalhista .internal-photo img{object-position:50% 42%}.council-intro:after,.internal-hero:after{height:360px;bottom:auto;background:linear-gradient(0deg,var(--dark),oklch(.253 .025 52 / .85) 23%,transparent 76%)}.council-copy{width:auto;margin:0;padding:30px var(--gutter) 36px}.internal-copy{padding-block:30px 48px}.internal-copy>div{width:100%;margin:0}.council-copy h2,.internal-hero h1{font-size:clamp(2.15rem,7vw,2.8rem)}.internal-hero .eyebrow{margin-bottom:20px}.internal-hero p{margin-block:22px}.council-services{grid-template-columns:1fr;gap:28px;padding-block:20px 56px}.council-services p{max-width:100%}
 .section-head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}#areas h2{font-size:2.15rem}.practice-row{padding-block:32px}.practice-row h3{font-size:1.55rem}.steps{grid-template-columns:1fr;gap:0;padding-top:0}.steps>div{padding:28px 0;border-bottom:1px solid var(--line)}.step-number{margin-bottom:14px}.steps h3{margin-bottom:12px}.about-copy>p:first-child{font-size:1.35rem}.director-label{margin-top:28px}.service-group+.service-group{margin-top:56px}.service-group-title{margin-bottom:24px}.service h3,.service h4{font-size:1.4rem}.experience-band{grid-template-columns:1fr;gap:18px;padding-block:32px 0}.experience-band strong{font-size:2.5rem}.faq-grid>div:first-child{margin-bottom:24px}summary{padding-block:22px;font-size:1rem;gap:20px}.faq-answer p{padding-right:32px}.footer-bottom{flex-direction:column;gap:14px}.footer-links{gap:24px}.footer{padding-top:36px}.brand strong{font-size:.875rem}.brand small{font-size:.625rem}.header{min-height:88px;gap:16px}.brand{gap:12px}
}
@media(max-width:600px){:root{--gutter:20px}.stats{grid-template-columns:1fr}.experience-section{gap:14px;padding-block:36px 0}.stat,.stat:first-child,.stat:last-child{display:grid;grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr);gap:24px;align-items:center;padding:25px 0;border-left:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0;padding-bottom:0}.stat strong{font-size:2.2rem}.stat>span{font-size:.875rem}.form-grid{grid-template-columns:1fr;gap:24px}.field{grid-column:1/-1}.button,.text-link{gap:20px}.hero-photo{height:310px}}
@media(max-width:370px){.brand strong{font-size:.75rem}.brand small{font-size:.58rem}.brand{gap:9px}.menu{font-size:.875rem}.hero h1{font-size:2.2rem}.button,.text-link{font-size:.875rem;padding-inline:17px}.practice-row{gap:14px}.contact-info a{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{*,*:before,*:after{animation:none!important;transition:none!important}.menu,.form-grid{display:none}.hero,.council-intro,.internal-hero{print-color-adjust:exact}}
/* Keep the gradient on a stationary layer spanning the entire photographic area. */
.council-photo,.internal-photo{z-index:0;isolation:isolate}
.council-copy,.internal-copy{position:relative;z-index:2}
.council-intro:after,.internal-hero:after{display:none}
.council-photo:after,.internal-photo:after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,oklch(.253 .025 52 / .08),oklch(.253 .025 52 / .45) 35%,oklch(.253 .025 52 / .97) 59%,var(--dark) 77%),linear-gradient(0deg,var(--dark) 0%,transparent 30%)}
.internal-photo{width:100%}.internal-photo img{width:76%}.internal-hero--direito-do-consumidor .internal-photo img{width:100%}
@media(max-width:850px){.council-photo:after,.internal-photo:after{background:linear-gradient(90deg,oklch(.253 .025 52 / .15),oklch(.253 .025 52 / .9) 44%,var(--dark) 78%),linear-gradient(0deg,var(--dark),transparent 30%)}}
@media(max-width:700px){.internal-photo img{width:100%}.council-photo:after,.internal-photo:after{background:linear-gradient(0deg,var(--dark) 0%,oklch(.253 .025 52 / .85) 23%,transparent 76%)}}

.hero-layout{display:flex;align-items:center}
@media(max-width:700px){.hero-layout{flex-direction:column;align-items:stretch}}
/* Long-form legal content uses the same typography with clear reading rhythm. */
.legal-updated{font-size:.875rem;color:var(--muted);margin-top:-12px;margin-bottom:32px}
.legal ul{padding-left:22px;margin:0 0 24px;max-width:72ch}
.legal li{font-size:1.0625rem;line-height:1.7;color:var(--muted);margin-bottom:12px}
.legal a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.legal-links{display:flex;flex-wrap:wrap;gap:20px 32px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px;font-size:.9375rem}
.footer-top{align-items:flex-start}.footer-links{justify-content:flex-end}
@media(max-width:850px){.footer-links{justify-content:flex-start}}

/* Reading pauses at section changes, not between every animated paragraph. */
#areas{padding-bottom:calc(var(--section-space) + 16px)}
.services-section .section-head{margin-bottom:56px}
.service-group-title{padding-top:4px}
@media(max-width:700px){#areas{padding-bottom:var(--section-space)}.services-section .section-head{margin-bottom:36px}.service{padding-block:30px}}

/* Client-supplied transparent identity; original bitmap preserved. */
.brand-logo{width:70px;height:70px;flex:0 0 70px;object-fit:contain;filter:sepia(.45)}
.footer .brand-logo{width:78px;height:78px;flex-basis:78px}
#sobre{position:relative;isolation:isolate;overflow:hidden}
#sobre:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:clamp(360px,43vw,640px);aspect-ratio:1;left:max(-70px,calc((100% - 1420px)/2));top:50%;transform:translateY(-50%);background:url('assets/marca-escritorio.png') center/contain no-repeat;filter:brightness(0) saturate(100%) invert(49%) sepia(22%) saturate(630%) hue-rotate(352deg) brightness(88%) contrast(87%);opacity:.085}
@media(max-width:1150px){.brand-logo{width:60px;height:60px;flex-basis:60px}.header{gap:20px}.brand{gap:12px}}
@media(max-width:850px){#sobre:before{width:420px;top:36px;left:-80px;transform:none;opacity:.06}}
@media(max-width:700px){.brand-logo{width:52px;height:52px;flex-basis:52px}.footer .brand-logo{width:64px;height:64px;flex-basis:64px}}
@media(max-width:370px){.brand-logo{width:44px;height:44px;flex-basis:44px}.brand{gap:9px}}
/* Smaller desktop portrait; keep the copy and mobile composition unchanged. */
@media(min-width:1001px){
 .hero-photo img{position:absolute;right:0;bottom:0;width:auto;height:84%;max-width:none;object-fit:contain;object-position:right bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 0px,black 12px);mask-image:linear-gradient(to bottom,transparent 0px,black 12px)}
 .hero-photo:after{inset:0;background:linear-gradient(90deg,var(--hero-brown) 0%,rgba(46,30,24,.65) 30%,rgba(46,30,24,0) 62%),linear-gradient(0deg,rgba(35,22,17,.65),rgba(35,22,17,0) 22%)}
}
/* Subtle brand watermark behind the contact introduction, clear of form controls. */
#contato{position:relative;isolation:isolate;overflow:hidden}
#contato:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:clamp(340px,42vw,620px);aspect-ratio:1;left:max(-60px,calc((100% - 1420px)/2));bottom:-70px;background:url('assets/marca-escritorio.png') center/contain no-repeat;filter:brightness(0) saturate(100%) invert(49%) sepia(22%) saturate(630%) hue-rotate(352deg) brightness(88%) contrast(87%);opacity:.12}
@media(max-width:1000px){#contato:before{width:400px;left:auto;right:-85px;top:25px;bottom:auto;opacity:.09}}
@media(max-width:600px){#contato:before{width:320px;right:-100px;top:32px;opacity:.07}}
