/* Grafismos originais, retrato amplo e evidências profissionais — v03. */
.with-arc{position:relative;isolation:isolate;overflow:hidden}
.with-arc>:not(.identity-arc){position:relative;z-index:1}
.identity-arc{position:absolute;display:block;width:clamp(210px,24vw,360px);height:auto;max-width:none;z-index:2;pointer-events:none;user-select:none}
.identity-arc--top{top:-24px;right:-40px;transform:rotate(66.9778deg)}
.identity-arc--bottom{right:-12px;bottom:-12px}
.portrait-frame{aspect-ratio:1113/2148;overflow:hidden;border-radius:3px}
.portrait-frame img{width:100%;height:auto;object-fit:initial;object-position:initial;display:block}
.award{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;background:#eee8df}
.award-copy{max-width:600px}
.award h2{font-size:clamp(36px,3.6vw,55px);margin-bottom:28px}
.award-category{font-size:11px;letter-spacing:.15em;color:#685d4e;margin-bottom:25px}
.award .lead{font-size:28px;line-height:1.4}
.award-copy>p:not(.eyebrow):not(.lead):not(.award-category){font-size:15px;color:#251e15cf}
.award-image{margin:0;width:100%;max-width:450px;justify-self:end}
.award-image a{display:block}
.award-image img{display:block;width:100%;height:auto}
.award-image figcaption{font-size:10px;color:#685d4e;margin-top:14px}
.recognitions{background:#f5f1e8}
.recognition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.recognition-grid article{min-width:0}
.recognition-visual{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;padding:12px;background:white;border:1px solid var(--line)}
.recognition-visual img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.recognition-year{font-size:11px;letter-spacing:.1em;color:#685d4e;margin:22px 0 12px}
.recognition-grid h3{font-family:var(--serif);font-size:25px;line-height:1.25;margin-bottom:14px}
.recognition-grid article>p:not(.recognition-year){font-size:13px;line-height:1.7;min-height:45px;color:#251e15cf}
.recognition-grid .text-link{font-size:11px;gap:20px}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 6vw}
.testimonial-grid figure{border-top:1px solid var(--line);padding-top:26px;margin:0}
.testimonial-grid blockquote{margin:0 0 28px}
.testimonial-grid blockquote p{font-family:var(--serif);font-size:25px;line-height:1.5;letter-spacing:-.01em;margin:0}
.testimonial-grid cite{font-style:normal;font-size:13px;font-weight:600;display:block}
.testimonial-grid figcaption span{display:block;font-size:11px;color:#685d4e;line-height:1.7;margin-top:7px;max-width:400px}
.testimonial-source{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:50px}
.testimonial-source p{font-size:11px;max-width:420px;color:#685d4e;margin:0}
.testimonial-source .text-link{font-size:11px;flex-shrink:0}
@media(max-width:1100px) and (min-width:761px){nav{gap:16px}.nav-contact{margin-left:0}.award{gap:5vw}.award .lead{font-size:25px}.recognition-grid{gap:26px}.recognition-grid h3{font-size:23px}}
@media(max-width:760px){.identity-arc{width:220px}.identity-arc--top{top:-17px;right:-40px}.identity-arc--bottom{bottom:-10px;right:-20px}.portrait-frame{aspect-ratio:1113/2148}.portrait-frame img{height:auto}.award{grid-template-columns:1fr;gap:36px}.award h2{font-size:38px}.award .lead{font-size:25px}.award-image{justify-self:center;max-width:430px}.award-copy>p:not(.eyebrow):not(.lead):not(.award-category){font-size:14px}.recognition-grid{grid-template-columns:1fr;gap:45px;max-width:430px;margin:auto}.recognition-grid article>p:not(.recognition-year){min-height:0}.recognition-grid h3{font-size:27px}.recognition-year{margin-top:20px}.recognition-visual{aspect-ratio:4/5}.testimonial-grid{grid-template-columns:1fr;gap:36px}.testimonial-grid blockquote p{font-size:24px}.testimonial-source{display:block;margin-top:40px}.testimonial-source p{margin-bottom:22px}}

/* Prancha da identidade no celular — v04: imagem recortada na parte fotográfica e texto em HTML legível. */
.brand-panel-text{display:none}
@media(max-width:760px){
.brand-panel{position:relative;overflow:hidden}
.brand-panel img{width:190.5%;max-width:none;height:auto}
.brand-panel:before{content:'';display:block;aspect-ratio:1050/1125}
.brand-panel img{position:absolute;top:0;left:0}
.brand-panel-text{display:block;background:#322a1f;color:#f8efe8;padding:36px 24px 52px}
.brand-panel-rule{display:block;width:56px;height:1px;background:#ad9c82;margin-bottom:26px}
.brand-panel-title{font-family:var(--serif);font-size:clamp(34px,9vw,46px);line-height:1.12;letter-spacing:-.03em;margin:0 0 30px}
.brand-panel-text ul{list-style:none;margin:0;padding:0;color:#b4a592;font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:2.3}
}

/* Selos: moldura em tons da paleta, sem fundo branco — v05. */
.recognition-visual{background:linear-gradient(160deg,#e9e1d4,#ddd1bf);border:1px solid #c9bba7;box-shadow:inset 0 0 0 6px #efe8dd,inset 0 0 0 7px #d3c6b3;padding:16px}

/* Selos com o mesmo tamanho e textos alinhados — v05. Proporção comum 0,86; a arte Regional, mais alta, perde só a parte inferior (blusa), sem textos nem selo. */
.recognition-visual{aspect-ratio:auto;height:auto}
.recognition-visual img{width:100%;height:auto;aspect-ratio:43/50;object-fit:cover;object-position:center top}
.recognition-grid article{display:flex;flex-direction:column}
.recognition-grid article>.text-link{margin-top:auto;align-self:flex-start}

/* Meias-luas — v05.
   Junção Sobre → Prêmio: a arte superior original é girada sobre o centro do mesmo círculo da arte inferior de "Sobre" (raio 1228 px no arquivo), continuando a curva exatamente na divisa. No celular a continuação cruzaria o título, então só o trecho de "Sobre" aparece. */
.identity-arc--junction{--w:clamp(210px,24vw,360px);width:var(--w);right:auto;left:calc(100% + 12px + var(--w) * .6932);top:calc(12px + var(--w) * 2.2254);transform-origin:-34.73% -177.46%;transform:rotate(172deg)}
.testimonials .identity-arc--bottom{width:clamp(170px,17vw,250px);right:-48px;bottom:-14px}
@media(max-width:760px){.identity-arc--junction{display:none}.experience .identity-arc--bottom{width:160px;right:-34px;bottom:-12px}}

/* Profissionalismo — v06: faixa de credibilidade, "Como começamos" e confidencialidade. */
.credentials{background:#2b241b;color:var(--ivory);padding:34px max(6.25vw,24px);border-top:1px solid #eee8df1f}
.credentials ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1575px}
.credentials li{padding:4px 28px;border-left:1px solid #ad9c8266;display:flex;flex-direction:column;gap:8px}
.credentials li:first-child{border-left:0;padding-left:0}
.credentials strong{font-family:var(--serif);font-weight:400;font-size:clamp(19px,1.55vw,24px);line-height:1.25;letter-spacing:-.01em}
.credentials span{font-size:11px;line-height:1.6;letter-spacing:.03em;color:#eee8dfb3}
.engage{background:#f5f1e8}
.engage-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.engage-steps li{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column}
.engage .step-number{color:#988b79}
.engage-steps h3{font-family:var(--serif);font-size:27px;line-height:1.2;margin:22px 0 16px}
.engage-steps li>p{font-size:14px;line-height:1.75;color:#251e15cf}
.engage-delivery{margin:auto 0 0;padding-top:18px;border-top:1px solid #988b7933;font-size:13px!important}
.engage-delivery span{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#685d4e;margin-bottom:6px}
.engage-footer{display:flex;justify-content:space-between;align-items:center;gap:6vw;margin-top:64px;padding:34px 38px;background:linear-gradient(160deg,#ebe3d6,#e2d7c6);border:1px solid #c9bba7;box-shadow:inset 0 0 0 6px #efe8dd,inset 0 0 0 7px #d3c6b3}
.engage-trust{max-width:720px}
.engage-trust h3{font-family:var(--serif);font-size:23px;margin:0 0 10px}
.engage-trust p{font-size:13px;line-height:1.75;margin:0;color:#251e15cf}
.button-dark{color:var(--ivory);background:var(--dark);flex-shrink:0}
.button-dark:hover{background:transparent;border-color:var(--dark);color:var(--ink)}
@media(max-width:1100px) and (min-width:761px){.credentials li{padding:4px 18px}.engage-steps{gap:26px}.engage-steps h3{font-size:24px}}
@media(max-width:760px){
.credentials{padding:30px 24px}
.credentials ul{grid-template-columns:1fr 1fr;gap:26px 0}
.credentials li{padding:0 0 0 16px}
.credentials li:nth-child(odd){border-left:0;padding-left:0;padding-right:12px}
.credentials strong{font-size:18px}
.engage-steps{grid-template-columns:1fr;gap:36px}
.engage-footer{display:block;padding:28px 24px;margin-top:44px}
.engage-footer .button{margin-top:24px;width:100%}
}
/* Alinhamento por linhas entre colunas — v06. */
@supports(grid-template-rows:subgrid){
.credentials ul{grid-auto-rows:auto;row-gap:8px}
.credentials li{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:8px;align-content:start}
.engage-steps{grid-auto-rows:auto;row-gap:0}
.engage-steps li{display:grid;grid-row:span 4;grid-template-rows:subgrid;align-content:start}
.engage-steps h3{align-self:start}
.engage-delivery{margin-top:0}
}
@media(max-width:760px){@supports(grid-template-rows:subgrid){.credentials ul{row-gap:6px}.credentials li:nth-child(n+3){margin-top:20px}.engage-steps li{display:flex;grid-row:auto}}}

/* Fontes — v06: Opção C escolhida pela usuária (Playfair Display + Montserrat). */
:root{--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'Montserrat',Arial,Helvetica,sans-serif}
.hero h1 em{font-weight:500}

/* Carregamento — v07: fundo no tom de cada imagem enquanto ela carrega. */
.concept-image{background:#b9ab98}
.portrait-frame{background:#8a7764}
.recognition-visual img,.award-image img{background:#d9cdbb}
.brand-panel{background:#30281c}

/* Cabeçalho fixo — v07. Fica compacto ao rolar. */
.site-header{position:sticky;top:0;z-index:40;transition:box-shadow .3s}
.site-header .header-inner{transition:min-height .3s,padding .3s}
.site-header .header-logo{transition:transform .3s;transform-origin:left center}
.site-header.is-compact{box-shadow:0 1px 0 #eee8df1f,0 8px 24px #0000002e}
.site-header.is-compact .header-inner{min-height:76px;padding-top:6px;padding-bottom:6px}
.site-header.is-compact .header-logo{transform:scale(.74)}
.nav-contact{border:1px solid #eee8df59;padding:10px 16px}
.nav-contact:hover{background:var(--ivory);color:var(--ink)}
section[id],aside[id]{scroll-margin-top:96px}
@media(max-width:760px){nav{top:100%}.site-header.is-compact .header-inner{min-height:70px}.site-header.is-compact .header-logo{transform:scale(.8)}.nav-contact{border:0;padding:15px 0}section[id],aside[id]{scroll-margin-top:80px}}

/* WhatsApp flutuante — v07. */
.wa-float{position:fixed;z-index:45;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:10px;padding:13px 18px;background:#2b241b;color:var(--ivory);border:1px solid #ad9c8299;font-size:12px;letter-spacing:.06em;text-decoration:none;box-shadow:0 10px 28px #0000003d;transition:transform .25s,opacity .25s,background .2s}
.wa-float:hover{background:#42382a}
.wa-float.is-hidden{opacity:0;transform:translateY(12px);pointer-events:none}
@media(max-width:760px){.wa-float{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px;padding:0;justify-content:center;border-radius:50%}.wa-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}footer{padding-bottom:90px}}

/* Faixa da autoavaliação — v07. */
.assess-band{background:#211d17;color:var(--ivory);padding:84px max(6.25vw,24px)}
.assess-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;max-width:1575px;margin:0 auto}
.assess-band h2{font-size:clamp(34px,3.6vw,54px);margin:0}
.assess-copy p{font-size:15px;line-height:1.75;color:#eee8dfcf;max-width:520px}
.assess-copy .button{margin-top:6px}
.assess-copy .assess-note{font-size:11px;letter-spacing:.04em;color:#eee8df8c;margin:16px 0 0}
.case-link{margin-top:28px}
.award-case-link{margin-left:28px}
@media(max-width:760px){.assess-band{padding:64px 24px}.assess-inner{grid-template-columns:1fr;gap:24px}.award-case-link{margin:18px 0 0;display:flex;width:max-content}}

/* Animações discretas ao rolar — v07. Só para conteúdo abaixo da primeira tela; respeita "reduzir movimento". */
.rv-on .rv{opacity:0;transform:translateY(16px)}
.rv-on .rv.rv-in{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.rv-on .rv{opacity:1;transform:none}}
/* Menu com "Autoavaliação" — v07: compacto em telas médias, sem quebrar o botão. */
nav a{white-space:nowrap}
@media(max-width:1000px) and (min-width:761px){.header-inner{gap:16px}nav{gap:14px!important;font-size:11px}.nav-contact{padding:8px 11px;gap:10px!important}.home-link .header-logo{width:140px;height:84px}.header-logo img{width:356px;left:-203px;top:-56px}}
@media(max-width:880px) and (min-width:761px){.nav-contact{display:none!important}}
/* Identificação OAB, como no portfólio — v07. */
footer p.footer-oab{margin-top:6px;font-size:10px;letter-spacing:.04em;color:#eee8df8c}
.contact-oab{font-size:11px;letter-spacing:.04em;color:#eee8df99;margin:10px 0 0}

/* v08 — Existing quotations, one readable slide at a time. Portraits and original branding unchanged. */
.testimonial-carousel{position:relative;max-width:1000px;margin:0 auto}
.carousel-ready .testimonial-grid{display:block;min-height:270px}
.carousel-ready .testimonial-grid figure{padding:30px 0 0}
.carousel-ready .testimonial-grid figure[hidden]{display:none!important}
.carousel-controls{display:flex;align-items:center;gap:18px;margin-top:28px}
.carousel-controls button{font:inherit;font-size:13px;border:1px solid #988b7980;background:transparent;color:var(--ink);padding:10px 16px;min-height:42px;cursor:pointer}
.carousel-controls button:hover,.carousel-controls button:focus-visible{background:#e4dbcd}
.carousel-position{font-size:12px;min-width:44px;text-align:center}
.carousel-controls [data-carousel="pause"]{margin-left:auto}
.carousel-dots{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.carousel-dots button{width:24px;height:24px;padding:6px;border:0;background:transparent;cursor:pointer}
.carousel-dots button:before{content:'';display:block;width:10px;height:10px;border:1px solid #685d4e;border-radius:50%}
.carousel-dots button[aria-current="true"]:before{background:#685d4e}
.carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.partner-portrait{width:52px;height:68px;object-fit:contain;border:1px solid #c9bba7;border-radius:3px;flex-shrink:0}
/* Keep the longer, user-selected contact wording within existing navigation. */
.operation-contact{font-size:11px;gap:12px}
@media(max-width:760px){.carousel-ready .testimonial-grid{min-height:340px}.carousel-controls{gap:10px}.carousel-controls button{padding:10px 13px}.partner-info{flex-wrap:wrap;justify-content:flex-start}.partner-portrait{width:44px;height:59px}}
@media(max-width:760px){.carousel-controls{padding-right:54px;flex-wrap:wrap}.carousel-controls [data-carousel="pause"]{margin-left:0}}

/* v09: Only the floating contact becomes a circle, on every screen. */
.wa-float{width:54px;height:54px;box-sizing:border-box;border-radius:50%;padding:0;justify-content:center;gap:0}
.wa-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hero .eyebrow{line-height:1.8}
@media(max-width:760px){.wa-float{width:52px;height:52px}}
.hero .eyebrow strong{display:block;font-size:16px;font-weight:500;letter-spacing:.025em;line-height:1.5;margin-bottom:6px;text-transform:none}
