/* Victor Brito Advocacia — estilos */
:root {
  --navy: #0F1B2D;
  --navy-2: #172741;
  --paper: #F6F5F0;
  --white: #FFFFFF;
  --ink: #1C2536;
  --muted: #5B6475;
  --gold: #B8935A;
  --gold-text: #86652F;
  --line: #DDD8CC;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --wrap: 1120px;
  --read: 68ch;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--gold-text); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; z-index: 100; background: var(--white); padding: .5rem 1rem; }

.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }

h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.15; color: var(--navy); margin: 0 0 .6em; }
h1 { font-size: clamp(2.3rem, 5.2vw, 3.9rem); letter-spacing: -.01em; }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1.1em; }
.lead { font-size: 1.2rem; color: var(--muted); max-width: 58ch; }

/* Botões */
.btn {
  display: inline-flex; align-items: center; gap: .55rem;
  font: 600 1rem/1 var(--sans);
  padding: .95rem 1.4rem; border-radius: 4px;
  text-decoration: none; border: 1px solid transparent;
  transition: background .2s, color .2s, border-color .2s;
}
.btn-primary { background: var(--navy); color: var(--white); }
.btn-primary:hover { background: var(--navy-2); color: var(--white); }
.btn-gold { background: var(--gold); color: var(--navy); }
.btn-gold:hover { background: #C9A56C; color: var(--navy); }
.btn-ghost { border-color: var(--navy); color: var(--navy); }
.btn-ghost:hover { background: var(--navy); color: var(--white); }
.btn svg { width: 1.15em; height: 1.15em; flex: none; }

/* Cabeçalho */
.site-header { background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 76px; }
.brand { text-decoration: none; display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-family: var(--serif); font-size: 1.45rem; font-weight: 600; color: var(--navy); }
.brand-sub { font-size: .8rem; color: var(--muted); letter-spacing: .02em; }
.nav { display: flex; align-items: center; gap: 1.6rem; }
.nav a { text-decoration: none; color: var(--ink); font-size: .96rem; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--gold-text); }
.nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 8px; }
.nav .btn { padding: .7rem 1.1rem; font-size: .92rem; color: var(--white); }
.nav .btn:hover { color: var(--white); }
.menu-toggle { display: none; background: none; border: 1px solid var(--line); border-radius: 4px; padding: .5rem .7rem; font: 500 .95rem var(--sans); color: var(--navy); cursor: pointer; }

@media (max-width: 920px) {
  .menu-toggle { display: block; }
  .nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--paper); border-bottom: 1px solid var(--line); padding: .5rem 1.25rem 1.25rem; display: none; }
  .nav.open { display: flex; }
  .nav a { padding: .85rem 0; border-bottom: 1px solid var(--line); }
  .nav .btn { margin-top: 1rem; justify-content: center; border-bottom: 0; }
}

/* Hero */
.hero { padding: clamp(3.5rem, 8vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem); }
.hero h1 { max-width: 21ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-meta { margin-top: 2.2rem; font-size: .92rem; color: var(--muted); }

/* A peça central: as perguntas que levam a cada área */
.questions { border-top: 1px solid var(--navy); }
.question {
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: baseline;
  padding: 2.2rem 0; border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit; position: relative;
}
.question-text { font-family: var(--serif); font-size: clamp(1.45rem, 2.8vw, 2.1rem); line-height: 1.2; color: var(--navy); }
.question-area { display: block; font-weight: 600; color: var(--gold-text); margin-bottom: .35rem; }
.question-desc { color: var(--muted); font-size: 1rem; margin: 0; }
.question::after {
  content: ""; position: absolute; left: 0; bottom: -1px; height: 2px; width: 0;
  background: var(--gold); transition: width .35s ease;
}
.question:hover::after, .question:focus-visible::after { width: 100%; }
.question:hover .question-text { color: var(--navy-2); }
@media (max-width: 720px) { .question { grid-template-columns: 1fr; gap: .8rem; } }

/* Seções */
.section { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.section-dark { background: var(--navy); color: #D9DEE8; }
.section-dark h2, .section-dark h3 { color: var(--white); }
.section-dark a { color: var(--white); }
.section-white { background: var(--white); }
.section-head { max-width: 60ch; margin-bottom: 2.5rem; }
.section-head p { color: var(--muted); }
.section-dark .section-head p { color: #B9C1D1; }

/* Passo a passo (é sequência de verdade) */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; counter-reset: step; }
.steps li { counter-increment: step; border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.2rem; }
.steps li::before { content: counter(step); display: block; font-family: var(--serif); font-size: 2.4rem; color: var(--gold); line-height: 1; margin-bottom: .8rem; }
.steps h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.steps p { font-size: .97rem; margin: 0; }
@media (max-width: 900px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }

/* Sobre */
.about { display: grid; grid-template-columns: 1fr 1.4fr; gap: 3.5rem; align-items: start; }
.about-card { background: var(--navy); color: var(--white); padding: 2rem; border-radius: 4px; }
.about-card .name { font-family: var(--serif); font-size: 1.6rem; margin: 0 0 .3rem; }
.about-card .oab { color: var(--gold); margin: 0 0 1.4rem; }
.about-card dl { margin: 0; font-size: .95rem; }
.about-card dt { color: #9FA9BC; font-size: .85rem; margin-top: .9rem; }
.about-card dd { margin: .1rem 0 0; }
@media (max-width: 820px) { .about { grid-template-columns: 1fr; gap: 2rem; } }

/* Páginas de área */
.page-hero { padding: clamp(3rem, 7vw, 5rem) 0 clamp(2.5rem, 5vw, 3.5rem); border-bottom: 1px solid var(--line); }
.breadcrumb { font-size: .88rem; color: var(--muted); margin-bottom: 1.5rem; }
.breadcrumb a { color: var(--muted); }
.breadcrumb span[aria-hidden] { margin: 0 .4rem; }

.situations { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 3rem; list-style: none; padding: 0; margin: 0; }
.situations li { padding: 1.3rem 0; border-top: 1px solid var(--line); }
.situations h3 { font-size: 1.15rem; margin-bottom: .3rem; }
.situations p { margin: 0; color: var(--muted); font-size: .98rem; }
@media (max-width: 720px) { .situations { grid-template-columns: 1fr; } }

.callout { border-left: 3px solid var(--gold); background: var(--white); padding: 1.4rem 1.6rem; margin: 2rem 0; }
.callout p:last-child { margin-bottom: 0; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
@media (max-width: 820px) { .two-col { grid-template-columns: 1fr; gap: 1.5rem; } }
.checklist { padding-left: 1.2rem; margin: 0; }
.checklist li { margin-bottom: .5rem; }
.checklist li::marker { color: var(--gold); }

/* FAQ */
.faq { max-width: var(--read); }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; padding: 1.2rem 2rem 1.2rem 0; font-weight: 600; color: var(--navy); position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 1rem; font-size: 1.5rem; font-weight: 400; color: var(--gold-text); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div { padding: 0 0 1.2rem; color: var(--ink); }

/* CTA final */
.cta-band { background: var(--navy); color: #D9DEE8; padding: clamp(3rem, 6vw, 4.5rem) 0; }
.cta-band .wrap { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.cta-band h2 { color: var(--white); margin-bottom: .3em; }
.cta-band p { margin: 0; max-width: 52ch; }

/* Blog */
.post-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--navy); }
.post-item { padding: 1.8rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 11rem 1fr; gap: 2rem; }
.post-item .post-area { font-size: .9rem; font-weight: 600; color: var(--gold-text); }
.post-item time { display: block; font-size: .88rem; color: var(--muted); }
.post-item h2, .post-item h3 { font-size: 1.45rem; margin-bottom: .4rem; }
.post-item h2 a, .post-item h3 a { text-decoration: none; }
.post-item p { margin: 0; color: var(--muted); }
@media (max-width: 640px) { .post-item { grid-template-columns: 1fr; gap: .5rem; } }

.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.filters button { font: 500 .92rem var(--sans); padding: .5rem 1rem; border: 1px solid var(--line); background: var(--white); color: var(--ink); border-radius: 100px; cursor: pointer; }
.filters button[aria-pressed="true"] { background: var(--navy); color: var(--white); border-color: var(--navy); }

/* Artigo */
.article-hero { padding: clamp(3rem, 7vw, 4.5rem) 0 2rem; }
.article-hero h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); max-width: 22ch; }
.article-meta { color: var(--muted); font-size: .93rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, var(--read)) 16rem; gap: 4rem; justify-content: space-between; padding-bottom: 4rem; }
.prose { font-size: 1.1rem; }
.prose h2 { font-size: 1.75rem; margin-top: 2.2em; }
.prose h3 { margin-top: 1.6em; }
.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li { margin-bottom: .45rem; }
.prose li::marker { color: var(--gold-text); }
.prose table { width: 100%; border-collapse: collapse; font-size: .98rem; margin: 1.5rem 0; }
.prose th, .prose td { text-align: left; padding: .8rem .9rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose th { background: var(--navy); color: var(--white); font-weight: 600; }
.table-scroll { overflow-x: auto; }
.toc { position: sticky; top: 100px; font-size: .93rem; }
.toc p { font-weight: 600; color: var(--navy); margin-bottom: .6rem; }
.toc ol { padding-left: 1.1rem; margin: 0 0 2rem; }
.toc li { margin-bottom: .45rem; }
.toc a { color: var(--muted); text-decoration: none; }
.toc a:hover { color: var(--gold-text); }
.author { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: center; background: var(--white); border: 1px solid var(--line); padding: 1.5rem; border-radius: 4px; margin-top: 3rem; }
.author-mark { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--navy); color: var(--gold); display: grid; place-items: center; font-family: var(--serif); font-size: 1.3rem; }
.author p { margin: 0; font-size: .96rem; color: var(--muted); }
.author strong { color: var(--navy); }
.disclaimer { font-size: .9rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 1.2rem; margin-top: 2.5rem; }
@media (max-width: 960px) { .article-layout { grid-template-columns: 1fr; } .toc { position: static; order: -1; } }

/* Rodapé */
.site-footer { background: #0B1422; color: #A7B0C2; padding: 3.5rem 0 2rem; font-size: .93rem; }
.site-footer a { color: #D9DEE8; text-decoration: none; }
.site-footer a:hover { color: var(--gold); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2.5rem; }
.footer-grid h2 { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--white); margin-bottom: .9rem; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { margin-bottom: .5rem; }
.footer-brand { font-family: var(--serif); font-size: 1.4rem; color: var(--white); margin-bottom: .4rem; }
.footer-legal { border-top: 1px solid rgba(255,255,255,.12); margin-top: 2.5rem; padding-top: 1.5rem; font-size: .85rem; }
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr; } }

/* Botão flutuante de WhatsApp (só no celular) */
.wa-float { display: none; }
@media (max-width: 720px) {
  .wa-float { display: flex; position: fixed; right: 1rem; bottom: 1rem; z-index: 60; width: 3.6rem; height: 3.6rem; border-radius: 50%; background: #1FA855; color: #fff; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(11,20,34,.3); }
  .wa-float svg { width: 1.8rem; height: 1.8rem; }
}

/* Entrada do hero: um único momento de movimento */
@media (prefers-reduced-motion: no-preference) {
  .hero h1, .hero .lead, .hero-actions { animation: rise .7s ease both; }
  .hero .lead { animation-delay: .12s; }
  .hero-actions { animation-delay: .24s; }
  @keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .question::after { transition: none; } }
.toc .btn { color: var(--white); margin-top: .5rem; } .toc .btn:hover { color: var(--white); }

/* ===== Ticket 1: home institucional ===== */
.hero-inst { background: var(--navy); color: #D3D9E4; padding: clamp(4.5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6.5rem); position: relative; overflow: hidden; }
.hero-inst::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--gold); }
.hero-kicker { font-family: var(--serif); font-size: 1.15rem; color: var(--gold); margin-bottom: 1.4rem; }
.hero-inst h1 { color: var(--white); max-width: 22ch; font-size: clamp(2.5rem, 6vw, 4.6rem); line-height: 1.08; }
.hero-sub { font-size: 1.18rem; max-width: 60ch; color: #C3CBD9; }
.btn-outline-light { border-color: rgba(255,255,255,.45); color: var(--white); }
.btn-outline-light:hover { background: var(--white); color: var(--navy); }
@media (prefers-reduced-motion: no-preference) {
  .hero-inst h1, .hero-inst .hero-sub, .hero-inst .hero-actions { animation: rise .7s ease both; }
  .hero-inst .hero-sub { animation-delay: .12s; } .hero-inst .hero-actions { animation-delay: .24s; }
}

.areas { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--navy); }
.area { display: block; padding: 2.2rem 2.2rem 2.2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; position: relative; }
.area:nth-child(even) { padding: 2.2rem 0 2.2rem 2.2rem; border-left: 1px solid var(--line); }
.area-for { display: block; font-size: .92rem; font-weight: 600; color: var(--gold-text); margin-bottom: .5rem; }
.area h3 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin-bottom: .5rem; }
.area p { color: var(--muted); margin-bottom: 1.1rem; max-width: 46ch; }
.area-link { font-weight: 600; color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.area:hover h3, .area:hover .area-link { color: var(--gold-text); }
@media (max-width: 760px) { .areas { grid-template-columns: 1fr; } .area, .area:nth-child(even) { padding: 1.8rem 0; border-left: 0; } }

.regions { display: grid; grid-template-columns: 1fr 1.15fr; gap: 4rem; align-items: center; }
.br-map { width: 100%; max-width: 480px; height: auto; }
.br-map path { stroke: var(--paper); stroke-width: 1; transition: fill .2s; }
.br-map .lo { fill: #D6D2C6; }
.br-map .hi { fill: var(--navy); }
.br-map .hi.active { fill: var(--gold); }
.ufs { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--navy); }
.uf { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1.4rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid var(--line); cursor: default; }
.uf h3 { margin-bottom: .2rem; font-size: 1.3rem; }
.uf p { margin: 0; color: var(--muted); font-size: .97rem; }
.uf-shape { width: 100%; height: auto; }
.uf-shape path { fill: var(--navy); }
.uf:hover .uf-shape path, .uf.active .uf-shape path { fill: var(--gold); }
@media (max-width: 860px) { .regions { grid-template-columns: 1fr; gap: 2rem; } .regions-map { max-width: 360px; } }

.about-office { display: grid; grid-template-columns: 1fr 1.15fr; gap: 4rem; align-items: start; }
.photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.photo-slot { margin: 0; aspect-ratio: 1 / 1; border: 2px dashed #BDB7A8; border-radius: 4px; background: var(--paper); display: grid; place-items: center; text-align: center; color: var(--muted); font-size: .95rem; overflow: hidden; }
.photo-slot small { font-size: .8rem; }
.photo-slot img { width: 100%; height: 100%; object-fit: cover; }
.photo-slot:has(img) { border: 0; }
.photo-main { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
.office-facts { margin: 2rem 0 0; border-top: 1px solid var(--line); }
.office-facts div { display: grid; grid-template-columns: 12rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.office-facts dt { color: var(--muted); font-size: .93rem; }
.office-facts dd { margin: 0; font-weight: 500; }
@media (max-width: 860px) { .about-office { grid-template-columns: 1fr; gap: 2.5rem; } .photos { max-width: 480px; } .office-facts div { grid-template-columns: 1fr; gap: .1rem; } }

.footer-grid { grid-template-columns: 1.4fr 1.2fr .8fr 1fr; }
.footer-grid li { color: #A7B0C2; }
@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }

/* Ilustrações das áreas e pins do mapa */
.area-media { margin-bottom: 1.4rem; border-radius: 4px; overflow: hidden; }
.area-illus { display: block; width: 100%; height: auto; }
.area:hover .area-illus rect:first-child { fill: #1B2B48; }
.br-map .pin path { filter: drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.br-map .pin { transition: transform .2s; }


/* Logo e foto do sócio */
.brand { flex-direction: row; align-items: center; gap: .75rem; }
.brand-logo { width: 46px; height: auto; }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.footer-brand { display: flex; align-items: center; gap: .7rem; }
.footer-brand img { width: 40px; height: auto; }
.photo-main { position: relative; border: 0; }
.photo-main figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 1.3rem 1.1rem; background: linear-gradient(transparent, rgba(11,20,34,.88)); color: var(--white); text-align: left; display: flex; flex-direction: column; gap: .15rem; }
.photo-main figcaption strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 600; }
.photo-main figcaption span { color: var(--gold); font-size: .92rem; }

/* Lista de estados com setas */
.ufs-box { position: relative; }
.ufs { max-height: 22rem; overflow-y: auto; scroll-snap-type: y mandatory; scrollbar-width: none; overscroll-behavior: contain; }
.ufs::-webkit-scrollbar { display: none; }
.uf { scroll-snap-align: start; }
.ufs-nav { display: flex; align-items: center; justify-content: center; width: 100%; height: 2.4rem; background: var(--white); border: 1px solid var(--line); color: var(--navy); cursor: pointer; transition: background .2s, color .2s; }
.ufs-up { border-radius: 4px 4px 0 0; margin-bottom: -1px; }
.ufs-down { border-radius: 0 0 4px 4px; margin-top: -1px; }
.ufs-nav:hover:not(:disabled) { background: var(--navy); color: var(--white); }
.ufs-nav:disabled { color: #C4BFB2; cursor: default; }
.ufs-nav svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.br-map .hi, .br-map .pin { cursor: pointer; }

/* Menu suspenso das áreas */
.nav-drop { position: relative; }
.nav-drop-btn { display: inline-flex; align-items: center; gap: .3rem; background: none; border: 0; padding: 0; font: inherit; font-size: .96rem; color: var(--ink); cursor: pointer; }
.nav-drop-btn:hover, .nav-drop-btn[aria-expanded="true"] { color: var(--gold-text); }
.nav-drop-btn svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.nav-drop-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-drop-menu { position: absolute; top: calc(100% + 1.1rem); left: 50%; transform: translate(-50%, -6px); width: 20rem; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 0 0 4px 4px; box-shadow: 0 14px 30px rgba(15,27,45,.14); padding: .4rem 0; opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; z-index: 70; }
.nav-drop.open .nav-drop-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav .nav-drop-menu a { display: flex; flex-direction: column; padding: .75rem 1.2rem; text-decoration: none; border-bottom: 0; }
.nav-drop-menu a strong { font-weight: 600; color: var(--navy); font-size: .95rem; }
.nav-drop-menu a span { font-size: .83rem; color: var(--muted); }
.nav-drop-menu a:hover { background: var(--paper); }
.nav-drop-menu a:hover strong { color: var(--gold-text); }
@media (max-width: 920px) {
  .nav-drop { border-bottom: 1px solid var(--line); }
  .nav-drop-btn { width: 100%; justify-content: space-between; padding: .85rem 0; }
  .nav-drop-menu { position: static; transform: none; width: auto; box-shadow: none; border: 0; border-left: 2px solid var(--gold); border-radius: 0; margin: 0 0 .8rem; padding: 0; display: none; opacity: 1; visibility: visible; }
  .nav-drop.open .nav-drop-menu { display: block; transform: none; }
  .nav .nav-drop-menu a { padding: .6rem 1rem; }
}

/* Setas da lista de estados mais suaves */
.ufs-nav { background: transparent; border-color: var(--line); color: var(--muted); }
.ufs-nav:hover:not(:disabled) { background: #ECE9E0; color: var(--navy); }
.ufs-nav:disabled { color: #D2CDC1; }
.nav-drop-menu { width: 22rem; }
.nav-drop-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -1.4rem; height: 1.4rem; }
@media (max-width: 920px) { .nav-drop-menu { width: auto; } .nav-drop-menu::before { display: none; } }

/* ===== Chat de atendimento (WhatsApp) ===== */
.wa-float { display: none !important; }
.chat { position: fixed; right: 1.25rem; bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)); z-index: 80; display: flex; flex-direction: column; align-items: flex-end; gap: .8rem; }
.chat-fab { position: relative; width: 3.8rem; height: 3.8rem; border-radius: 50%; border: 0; background: #1FA855; color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 8px 22px rgba(11,20,34,.28); transition: transform .2s; }
.chat-fab:hover { transform: scale(1.06); }
.chat-fab svg { width: 1.9rem; height: 1.9rem; }
.chat-badge { position: absolute; top: -2px; right: -2px; min-width: 1.35rem; height: 1.35rem; border-radius: 99px; background: #D93025; color: #fff; font: 600 .78rem/1.35rem var(--sans); text-align: center; border: 2px solid #fff; }
.chat-panel { width: min(22rem, calc(100vw - 2.5rem)); background: var(--white); border-radius: 12px; box-shadow: 0 18px 44px rgba(11,20,34,.28); overflow: hidden; display: flex; flex-direction: column; transform-origin: bottom right; }
.chat-panel:not([hidden]) { animation: chatIn .28s cubic-bezier(.2,.9,.3,1.2) both; }
@keyframes chatIn { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
.chat-head { display: flex; align-items: center; gap: .75rem; background: var(--navy); color: #fff; padding: .9rem 1rem; }
.chat-head img { width: 34px; height: auto; }
.chat-head div { display: flex; flex-direction: column; line-height: 1.25; flex: 1; }
.chat-head strong { font-family: var(--serif); font-weight: 600; font-size: 1.02rem; }
.chat-head span { font-size: .8rem; color: #B9C1D1; display: flex; align-items: center; gap: .35rem; }
.chat-head span::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: #3DD27A; }
.chat-close { background: none; border: 0; color: #C3CBD9; cursor: pointer; padding: .3rem; border-radius: 4px; }
.chat-close:hover { color: #fff; background: rgba(255,255,255,.08); }
.chat-close svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.chat-body { background: #EFEAE0; padding: 1rem; display: flex; flex-direction: column; gap: .55rem; min-height: 7rem; max-height: 17rem; overflow-y: auto; }
.msg { max-width: 85%; padding: .6rem .8rem; border-radius: 10px; font-size: .94rem; line-height: 1.45; box-shadow: 0 1px 1px rgba(0,0,0,.06); animation: msgIn .2s ease both; }
.msg-bot { background: #fff; color: var(--ink); align-self: flex-start; border-top-left-radius: 2px; }
.msg-user { background: #D9FDD3; color: var(--ink); align-self: flex-end; border-top-right-radius: 2px; white-space: pre-wrap; word-break: break-word; }
@keyframes msgIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.typing { display: inline-flex; gap: 4px; padding: .75rem .9rem; }
.typing i { width: 6px; height: 6px; border-radius: 50%; background: #9AA3B2; animation: dot 1s infinite; }
.typing i:nth-child(2) { animation-delay: .15s; } .typing i:nth-child(3) { animation-delay: .3s; }
@keyframes dot { 0%, 60%, 100% { opacity: .35; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.chat-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .7rem 1rem 0; background: #fff; }
.chat-chips[hidden] { display: none; }
.chat-chips button { font: 500 .8rem var(--sans); color: var(--navy); background: var(--paper); border: 1px solid var(--line); border-radius: 99px; padding: .4rem .7rem; cursor: pointer; }
.chat-chips button:hover { border-color: var(--gold); color: var(--gold-text); }
.chat-form { display: flex; align-items: flex-end; gap: .5rem; padding: .7rem 1rem 1rem; background: #fff; }
.chat-form textarea { flex: 1; resize: none; font: 400 .95rem/1.4 var(--sans); color: var(--ink); border: 1px solid var(--line); border-radius: 20px; padding: .6rem .9rem; max-height: 6.5rem; background: #fff; }
.chat-form textarea:focus { outline: none; border-color: var(--navy); }
.chat-form button { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 0; background: #1FA855; color: #fff; display: grid; place-items: center; cursor: pointer; }
.chat-form button:disabled { background: #B8C6BD; cursor: default; }
.chat-form button svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
@media (prefers-reduced-motion: reduce) { .chat-panel:not([hidden]), .msg, .typing i { animation: none; } }
@media (max-width: 480px) { .chat { right: .9rem; bottom: calc(.9rem + env(safe-area-inset-bottom, 0px)); } .chat-body { max-height: 40vh; } }
.area-media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.chat-panel[hidden] { display: none !important; }
.chat-teaser { display: flex; align-items: flex-start; gap: .3rem; max-width: min(17rem, calc(100vw - 2rem)); background: #fff; border-radius: 12px 12px 2px 12px; box-shadow: 0 10px 28px rgba(11,20,34,.25); padding: .75rem .6rem .75rem .95rem; animation: chatIn .28s cubic-bezier(.2,.9,.3,1.2) both; }
.chat-teaser[hidden] { display: none; }
.chat-teaser-open { background: none; border: 0; padding: 0; text-align: left; font: 400 .92rem/1.4 var(--sans); color: var(--ink); cursor: pointer; }
.chat-teaser-open strong { display: block; font-size: .78rem; color: var(--gold-text); margin-bottom: .15rem; }
.chat-teaser-x { flex: none; background: none; border: 0; color: #9AA3B2; padding: .15rem; cursor: pointer; border-radius: 4px; }
.chat-teaser-x svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

/* ===== Ticket 2: página central da área ===== */
.area-hero { position: relative; color: #D3D9E4; padding: clamp(3.5rem, 8vw, 6rem) 0 clamp(3.5rem, 7vw, 5rem); background: linear-gradient(100deg, rgba(15,27,45,.97) 0%, rgba(15,27,45,.9) 45%, rgba(15,27,45,.55) 100%), var(--bg) center / cover no-repeat, var(--navy); }
.area-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--gold); }
.area-hero .breadcrumb, .area-hero .breadcrumb a, .topic-hero .breadcrumb, .topic-hero .breadcrumb a { color: #AEB8CA; }
.area-hero-for { color: var(--gold); font-weight: 600; margin-bottom: .6rem; }
.area-hero h1 { color: var(--white); max-width: 18ch; }
.area-hero-lead { font-size: 1.15rem; max-width: 58ch; color: #C9D0DC; }
.area-intro p { font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 1.55rem); line-height: 1.5; color: var(--navy); max-width: 62ch; margin: 0; }

.topics { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 1rem; }
.topic { display: flex; flex-direction: column; height: 100%; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--navy); border-radius: 0 0 4px 4px; padding: 1.4rem 1.4rem 1.2rem; text-decoration: none; color: inherit; transition: border-color .2s, transform .2s; }
.topic h3 { font-size: 1.2rem; margin-bottom: .4rem; }
.topic p { color: var(--muted); font-size: .95rem; margin: 0 0 1rem; flex: 1; }
.topic-go { font-weight: 600; font-size: .92rem; color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
a.topic:hover { border-top-color: var(--gold); transform: translateY(-2px); }
a.topic:hover .topic-go, a.topic:hover h3 { color: var(--gold-text); }
.topic-soon { border-top-color: var(--line); background: transparent; }
.topic-soon h3 { color: var(--muted); }
.topic-soon .topic-go { color: #A39C8B; text-decoration: none; font-weight: 500; }
.other-areas { margin-top: 2.5rem; color: var(--muted); font-size: .95rem; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.other-areas a { color: var(--navy); }

/* ===== Ticket 2: subpágina de assunto ===== */
.topic-hero { background: var(--navy); color: #C9D0DC; padding: clamp(3rem, 7vw, 4.5rem) 0 clamp(2.5rem, 5vw, 3.5rem); position: relative; margin-bottom: 3rem; }
.topic-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--gold); }
.topic-hero h1 { color: var(--white); font-size: clamp(2rem, 4.4vw, 3rem); max-width: 24ch; }
.topic-hero-lead { font-size: 1.12rem; max-width: 62ch; }
.topic-hero .article-meta { color: #9FA9BC; margin: 1.5rem 0 0; }
.topic-aside { display: flex; flex-direction: column; gap: 2rem; }
.topic-aside .toc { position: static; }
.aside-cta { position: sticky; top: 100px; background: var(--navy); color: #C9D0DC; border-radius: 4px; padding: 1.4rem; font-size: .95rem; }
.aside-cta-title { font-family: var(--serif); font-size: 1.3rem; color: var(--white); margin-bottom: .4rem; }
.aside-cta .btn { width: 100%; justify-content: center; margin-top: .4rem; font-size: .92rem; }
.author { grid-template-columns: auto 1fr; }
.author-photo { width: 72px; height: 90px; object-fit: cover; border-radius: 4px; }
.related { list-style: none; margin: 0; padding: 0; columns: 2 18rem; column-gap: 3rem; }
.related li { break-inside: avoid; padding: .8rem 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1rem; }
.related a { font-weight: 500; }
.related span { color: var(--muted); }
.related small { color: #A39C8B; }
@media (max-width: 960px) { .aside-cta { position: static; } }
.section-white .callout { background: var(--paper); } .topic-hero h1 { max-width: 30ch; }

/* ===== Avaliações do Google ===== */
.reviews { background: var(--white); padding: clamp(2.5rem, 5vw, 3.5rem) 0; border-bottom: 1px solid var(--line); }
.reviews-head { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.6rem; }
.reviews-score { display: flex; align-items: center; gap: 1rem; }
.reviews-note { font-family: var(--serif); font-size: 3rem; line-height: 1; color: var(--navy); font-weight: 600; }
.reviews-score p { margin: .3rem 0 0; font-weight: 600; color: var(--navy); }
.reviews-score p span { font-weight: 400; color: var(--muted); }
.stars { display: flex; gap: 2px; }
.stars svg { width: 1rem; height: 1rem; fill: #F4B400; }
.stars-lg svg { width: 1.3rem; height: 1.3rem; }
.reviews-nav { display: flex; align-items: center; gap: .5rem; }
.reviews-nav button { width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--navy); display: grid; place-items: center; cursor: pointer; transition: background .2s; }
.reviews-nav button:hover:not(:disabled) { background: #ECE9E0; }
.reviews-nav button:disabled { color: #D2CDC1; cursor: default; }
.reviews-nav svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.reviews-link { margin-left: .5rem; font-weight: 600; font-size: .95rem; }
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.reviews-track { list-style: none; margin: 0; padding: .3rem 0; display: flex; gap: 1rem; width: max-content; }
.marquee.run .reviews-track { animation: marquee linear infinite; }
.marquee.run:hover .reviews-track, .marquee.run:focus-within .reviews-track { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--shift))); } }
.marquee.static { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.review { width: 22rem; flex: none; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1.3rem 1.3rem 1.1rem; display: flex; flex-direction: column; gap: .7rem; }
.review-top { display: flex; align-items: center; gap: .7rem; }
.review-top div { display: flex; flex-direction: column; line-height: 1.25; }
.review-top strong { color: var(--navy); font-size: .96rem; }
.review-top span { color: var(--muted); font-size: .82rem; }
.review-avatar { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--navy); color: var(--gold); display: grid; place-items: center; font: 600 .85rem var(--sans); flex: none; }
.review p { margin: 0; font-size: .95rem; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 600px) { .review { width: 17rem; } }

/* Sobre o escritório nas páginas de área */
.office-teaser { display: grid; grid-template-columns: 15rem 1fr; gap: 2.5rem; align-items: center; text-decoration: none; color: inherit; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1.5rem; transition: border-color .2s; }
.office-teaser img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; }
.office-teaser h2 { margin-bottom: .5em; }
.office-teaser p { color: var(--muted); max-width: 60ch; }
.office-teaser-who { font-size: .95rem; }
.office-teaser-who strong { color: var(--navy); }
.office-teaser-go { font-weight: 600; color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.office-teaser:hover { border-color: var(--gold); }
.office-teaser:hover .office-teaser-go, .office-teaser:hover h2 { color: var(--gold-text); }
@media (max-width: 700px) { .office-teaser { grid-template-columns: 1fr; gap: 1.5rem; } .office-teaser img { max-width: 14rem; } }
.callout-valor { border-left-color: var(--navy); background: #EEF1F6 !important; } .callout-valor strong:first-child { display: block; font-family: var(--serif); font-size: 1.15rem; color: var(--navy); margin-bottom: .3rem; }

/* ======================================================
   Ajuste de proporção (menos denso) + celular
   ====================================================== */
/* Computador: mais respiro entre blocos e textos mais leves */
.section { padding: clamp(3.5rem, 8vw, 6.5rem) 0; }
.section-head { margin-bottom: 3rem; }
.area-intro p { font-size: clamp(1.15rem, 1.8vw, 1.35rem); }
.area { padding-top: 2.6rem; padding-bottom: 2.6rem; }
.area p { font-size: .98rem; }
.topics { gap: 1.25rem; }
.steps { gap: 2.5rem; }
.reviews { padding: clamp(2.5rem, 5vw, 4rem) 0; }

@media (max-width: 720px) {
  body { font-size: 1rem; line-height: 1.6; }
  .wrap { width: min(100% - 2.5rem, var(--wrap)); }
  h2 { font-size: 1.6rem; }
  .section { padding: 3.25rem 0; }
  .section-head { margin-bottom: 1.75rem; }
  .section-head p { font-size: .95rem; }

  /* Topo */
  .hero-inst { padding: 3.25rem 0 3rem; }
  .hero-kicker { font-size: 1rem; margin-bottom: .9rem; }
  .hero-inst h1 { font-size: 2.15rem; }
  .hero-sub { font-size: 1rem; }
  .area-hero { padding: 2.5rem 0 2.75rem; background: linear-gradient(180deg, rgba(15,27,45,.88), rgba(15,27,45,.96)), var(--bg) center / cover no-repeat, var(--navy); }
  .area-hero h1 { font-size: 2.1rem; }
  .area-hero-lead { font-size: 1rem; }
  .breadcrumb { font-size: .8rem; margin-bottom: 1rem; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  /* Avaliações */
  .reviews { padding: 2.25rem 0 2rem; }
  .reviews-head { flex-direction: column; align-items: flex-start; gap: .6rem; margin-bottom: 1.2rem; }
  .reviews-note { font-size: 2.4rem; }
  .reviews-score p { font-size: .95rem; }
  .reviews-score p span { display: block; font-size: .85rem; }
  .reviews-link { font-size: .88rem; }
  .review { width: 15.5rem; padding: 1rem; }
  .review p { font-size: .9rem; -webkit-line-clamp: 5; }

  /* Áreas da home: carrossel deslizante em vez de lista longa */
  .areas { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; border-top: 0; margin: 0 -1.25rem; padding: 0 1.25rem .5rem; scrollbar-width: none; }
  .areas::-webkit-scrollbar { display: none; }
  .area, .area:nth-child(even) { flex: 0 0 82%; scroll-snap-align: start; border: 1px solid var(--line); border-radius: 6px; padding: 0 0 1.2rem; background: var(--white); overflow: hidden; }
  .area-media { border-radius: 0; margin-bottom: 1rem; }
  .area-for, .area h3, .area p, .area-link { margin-left: 1.1rem; margin-right: 1.1rem; }
  .area h3 { font-size: 1.25rem; }
  .area p { font-size: .9rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: .9rem; }
  .area-link { display: inline-block; font-size: .92rem; }
  .areas-hint { display: block; }

  /* Regiões */
  .regions-map { max-width: 270px; margin: 0 auto; }
  .uf { grid-template-columns: 3.6rem 1fr; gap: 1rem; padding: .9rem 0; }
  .uf h3 { font-size: 1.1rem; }
  .uf p { font-size: .88rem; }

  /* Sobre (home): só o retrato; espaços vazios de foto somem */
  .about-office { gap: 1.75rem; }
  .photos { grid-template-columns: 1fr; max-width: 100%; }
  .photo-slot:not(:has(img)) { display: none; }
  .photo-main { aspect-ratio: 4 / 4.4; }
  .about-office p { font-size: .97rem; }
  .office-facts { margin-top: 1.25rem; }

  /* Página da área */
  .area-intro p { font-size: 1.05rem; }
  .topics { gap: .75rem; }
  .topic { padding: 1rem 1.1rem; }
  .topic h3 { font-size: 1.08rem; margin-bottom: .25rem; }
  .topic p { font-size: .88rem; margin-bottom: .6rem; }
  .topic-go { font-size: .85rem; }
  .steps { gap: 0; }
  .steps li { display: grid; grid-template-columns: 2.2rem 1fr; column-gap: .6rem; padding: 1rem 0; }
  .steps li::before { font-size: 1.6rem; margin: 0; grid-row: span 2; }
  .steps h3 { font-size: 1.02rem; margin-bottom: .2rem; }
  .steps p { font-size: .9rem; }
  .two-col { gap: 1.25rem; }
  .callout { padding: 1.1rem 1.2rem; margin: 1rem 0; }
  .office-teaser { grid-template-columns: 5.5rem 1fr; gap: 1rem; padding: 1rem; align-items: start; }
  .office-teaser img { max-width: none; }
  .office-teaser h2 { font-size: 1.25rem; margin-bottom: .3rem; }
  .office-teaser p { font-size: .88rem; margin-bottom: .6rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .office-teaser-who { display: none !important; }
  .office-teaser-go { font-size: .9rem; }
  .faq summary { font-size: .97rem; padding: 1rem 2rem 1rem 0; }
  .other-areas { font-size: .88rem; flex-direction: column; }

  /* Subpágina */
  .topic-hero { padding: 2.5rem 0 2.25rem; margin-bottom: 2rem; }
  .topic-hero h1 { font-size: 1.75rem; }
  .topic-hero-lead { font-size: .98rem; }
  .prose { font-size: 1.02rem; }
  .prose h2 { font-size: 1.4rem; }
  .prose th, .prose td { padding: .6rem .7rem; font-size: .9rem; }
  .toc { display: none; }
  .related { columns: 1; }

  /* CTA e rodapé */
  .cta-band { padding: 2.75rem 0; }
  .cta-band h2 { font-size: 1.5rem; }
  .cta-band .btn { width: 100%; justify-content: center; }
  .site-footer { padding: 2.75rem 0 6rem; font-size: .88rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-legal { margin-top: 1.75rem; }
}
.areas-hint { display: none; font-size: .85rem; color: var(--muted); margin-top: .8rem; }
@media (max-width: 720px) { .areas-hint { display: block; } .regions-map { order: 2; margin-top: .5rem; } .regions > div:last-child { order: 1; } }

/* Assuntos da área em formato de lista de artigos */
.art-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--navy); max-width: 62rem; }
.art-item { display: grid; grid-template-columns: 11rem 1fr; gap: 2rem; padding: 1.8rem 0; border-bottom: 1px solid var(--line); }
.art-meta { display: flex; flex-direction: column; gap: .2rem; font-size: .88rem; color: var(--muted); padding-top: .3rem; }
.art-meta time { color: var(--gold-text); font-weight: 600; }
.art-item h3 { font-size: 1.4rem; line-height: 1.25; margin-bottom: .45rem; }
.art-item h3 a { text-decoration: none; color: var(--navy); }
.art-item h3 a:hover { color: var(--gold-text); text-decoration: underline; text-decoration-color: var(--gold); }
.art-item p { margin: 0; color: var(--muted); max-width: 64ch; }
.art-soon h3 { color: #8D95A3; font-size: 1.2rem; }
.art-soon p { color: #A2A8B3; font-size: .95rem; }
.art-badge { display: inline-block; align-self: flex-start; font-size: .78rem; font-weight: 600; color: #8D95A3; border: 1px solid var(--line); border-radius: 99px; padding: .15rem .6rem; }
@media (max-width: 720px) {
  .art-item { grid-template-columns: 1fr; gap: .4rem; padding: 1.2rem 0; }
  .art-meta { flex-direction: row; gap: .8rem; padding-top: 0; font-size: .8rem; }
  .art-item h3 { font-size: 1.15rem; }
  .art-soon h3 { font-size: 1.05rem; }
  .art-item p { font-size: .9rem; }
}

/* ===== Artigos em formato de portal de notícias ===== */
.news { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 0 2.75rem; align-items: start; }
.news-kicker { display: block; font-size: .8rem; font-weight: 600; color: var(--muted); margin-bottom: .35rem; }
.news-feat h2 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); line-height: 1.1; letter-spacing: -.01em; margin-bottom: .6rem; }
.news a { text-decoration: none; }
.news-feat h2 a, .news-side-item h3 a, .news-card h3 a { color: var(--navy); }
.news-feat h2 a:hover, .news-side-item h3 a:hover, .news-card h3 a:hover { color: var(--gold-text); }
.news-lead { color: var(--muted); font-size: .98rem; margin-bottom: .7rem; }
.news-rel { list-style: none; margin: 0 0 1.2rem; padding: 0; font-size: .88rem; font-weight: 600; }
.news-rel li { display: flex; gap: .5rem; margin-bottom: .25rem; }
.news-rel li::before { content: ""; width: .35rem; height: .35rem; background: var(--navy); margin-top: .55rem; flex: none; }
.news-rel a { color: var(--ink); }
.news-rel a:hover { color: var(--gold-text); }
.news-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.news-side { border-left: 1px solid var(--line); padding-left: 2.75rem; margin-left: -1.375rem; }
.news-side-item { padding: 0 0 1.4rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.news-side-item:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.news-side-item h3, .news-card h3 { font-size: 1.22rem; line-height: 1.22; margin-bottom: .4rem; }
.news-side-item p, .news-card p { font-size: .9rem; color: var(--muted); margin: 0; }
.news-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem 2rem; margin-top: 2.5rem; }
.news-card { border-top: 1px solid var(--line); padding-top: 1.1rem; }
.news-section + .news-section { margin-top: 3.5rem; }
.news-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border-bottom: 2px solid var(--navy); padding-bottom: .6rem; }
.news-section-head h2 { font-size: 1.5rem; margin: 0; }
.news-section-head a { font-size: .9rem; font-weight: 600; }
.news-section .news-more { margin-top: 1.4rem; }
.news-soon { margin-top: 3rem; border-top: 1px solid var(--line); padding-top: 1.4rem; }
.news-soon h3 { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--muted); margin-bottom: .8rem; }
.news-soon ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 2rem; }
.news-soon li { display: flex; flex-direction: column; font-size: .9rem; }
.news-soon strong { color: #7E8696; font-weight: 600; }
.news-soon span { color: #A2A8B3; font-size: .85rem; }
@media (max-width: 900px) {
  .news { grid-template-columns: 1fr; }
  .news-side { border-left: 0; padding-left: 0; margin: 2rem 0 0; border-top: 1px solid var(--line); padding-top: 1.4rem; }
  .news-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .news-feat h2 { font-size: 1.65rem; }
  .news-side-item h3, .news-card h3 { font-size: 1.1rem; }
  .news-more, .news-soon ul { grid-template-columns: 1fr; }
  .news-feat { display: flex; flex-direction: column; }
  .news-img { order: -1; margin: 0 -1.25rem 1.1rem; }
}
.news-card h3 a { text-decoration: none; }

/* ======================================================
   Proporção e leitura (v2) — mais respiro, tipografia maior
   ====================================================== */
:root { --wrap: 1200px; --read: 70ch; }
body { font-size: 1.125rem; line-height: 1.72; }
.wrap { width: min(100% - 4rem, var(--wrap)); }
p { margin-bottom: 1.25em; }
h1, h2, h3 { margin-bottom: .7em; }
h2 { font-size: clamp(1.9rem, 3.2vw, 2.6rem); }
h3 { font-size: 1.35rem; }
.lead { font-size: 1.25rem; }

/* Seções */
.section { padding: clamp(5rem, 9vw, 8rem) 0; }
.section-head { margin-bottom: 3.5rem; max-width: 62ch; }
.section-head p { font-size: 1.1rem; }

/* Cabeçalho */
.site-header .wrap { min-height: 84px; }
.nav { gap: 2rem; }
.nav a, .nav-drop-btn { font-size: 1rem; }

/* Topo */
.hero-inst { padding: clamp(5.5rem, 11vw, 9.5rem) 0 clamp(5rem, 9vw, 8rem); }
.hero-kicker { margin-bottom: 1.8rem; }
.hero-inst h1 { font-size: clamp(2.6rem, 5.6vw, 4.6rem); margin-bottom: .55em; }
.hero-sub { font-size: 1.28rem; line-height: 1.65; max-width: 56ch; }
.hero-actions { margin-top: 2.6rem; }
.btn { padding: 1.05rem 1.6rem; font-size: 1.02rem; }
.area-hero { padding: clamp(4.5rem, 9vw, 7rem) 0 clamp(4.5rem, 8vw, 6rem); }
.area-hero-for { margin-bottom: 1rem; }
.area-hero-lead { font-size: 1.22rem; line-height: 1.65; }
.page-hero { padding: clamp(4rem, 8vw, 6rem) 0 clamp(3rem, 6vw, 4.5rem); }

/* Avaliações */
.reviews { padding: clamp(3.5rem, 6vw, 5rem) 0; }
.reviews-head { margin-bottom: 2.2rem; }
.review { width: 24rem; padding: 1.7rem; gap: .9rem; }
.review p { font-size: 1rem; line-height: 1.65; }
.reviews-track { gap: 1.4rem; }

/* Áreas (home) */
.area { padding: 3.2rem 3rem 3.2rem 0; }
.area:nth-child(even) { padding: 3.2rem 0 3.2rem 3rem; }
.area-media { margin-bottom: 1.8rem; }
.area-for { margin-bottom: .7rem; }
.area h3 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); margin-bottom: .7rem; }
.area p { font-size: 1.05rem; line-height: 1.65; margin-bottom: 1.4rem; }

/* Regiões */
.regions { gap: 5.5rem; }
.uf { padding: 1.6rem 0; gap: 1.8rem; }
.uf h3 { font-size: 1.35rem; margin-bottom: .35rem; }
.uf p { font-size: 1rem; }

/* Sobre */
.about-office { gap: 5.5rem; }
.photos { gap: 1.2rem; }
.about-office p { font-size: 1.1rem; line-height: 1.75; }
.office-facts { margin-top: 2.6rem; }
.office-facts div { padding: 1.15rem 0; }

/* Páginas de área */
.area-intro p { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.6; max-width: 60ch; }
.steps { gap: 3rem; }
.steps li { padding-top: 1.6rem; }
.steps li::before { margin-bottom: 1.1rem; }
.steps h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.steps p { font-size: 1rem; line-height: 1.65; }
.two-col { gap: 5rem; }
.callout { padding: 2rem 2.2rem; margin: 2.4rem 0; }
.checklist li { margin-bottom: .75rem; }
.office-teaser { gap: 3.5rem; padding: 2.4rem; grid-template-columns: 16rem 1fr; }
.office-teaser p { font-size: 1.05rem; }
.faq { max-width: 74ch; }
.faq summary { padding: 1.55rem 2.5rem 1.55rem 0; font-size: 1.08rem; }
.faq summary::after { top: 1.35rem; }
.faq details > div { padding-bottom: 1.6rem; line-height: 1.75; }
.other-areas { margin-top: 3.5rem; }

/* Portal de artigos */
.news { gap: 0 4rem; }
.news-side { padding-left: 4rem; margin-left: -2rem; }
.news-kicker { font-size: .85rem; margin-bottom: .55rem; }
.news-feat h2 { margin-bottom: 1rem; }
.news-lead { font-size: 1.1rem; line-height: 1.65; margin-bottom: 1.2rem; }
.news-img { display: block; margin-top: 1.6rem; }
.news-side-item { padding-bottom: 2rem; margin-bottom: 2rem; }
.news-side-item h3, .news-card h3 { font-size: 1.32rem; margin-bottom: .6rem; }
.news-side-item p, .news-card p { font-size: .98rem; line-height: 1.6; }
.news-more { gap: 2.4rem 3rem; margin-top: 3.5rem; }
.news-card { padding-top: 1.5rem; }
.news-section + .news-section { margin-top: 5rem; }
.news-section .news-more { margin-top: 2rem; }
.news-soon { margin-top: 4rem; padding-top: 2rem; }
.news-soon ul { gap: 1rem 3rem; }

/* Artigo */
.topic-hero { padding: clamp(4.5rem, 9vw, 6.5rem) 0 clamp(3.5rem, 6vw, 4.5rem); margin-bottom: 4.5rem; }
.topic-hero h1 { margin-bottom: .6em; }
.topic-hero-lead { font-size: 1.22rem; line-height: 1.65; }
.topic-hero .article-meta { margin-top: 2rem; }
.article-layout { gap: 6rem; grid-template-columns: minmax(0, var(--read)) 17.5rem; padding-bottom: 6rem; }
.prose { font-size: 1.15rem; line-height: 1.8; }
.prose p { margin-bottom: 1.45em; }
.prose h2 { font-size: 1.85rem; margin-top: 2.6em; margin-bottom: .75em; }
.prose ul, .prose ol { margin: 0 0 1.6em; }
.prose li { margin-bottom: .75rem; }
.prose table { margin: 2.2rem 0; }
.prose th, .prose td { padding: 1rem 1.1rem; }
.callout-valor { margin: 2.6rem 0 !important; }
.topic-aside { gap: 2.6rem; }
.toc li { margin-bottom: .65rem; }
.aside-cta { padding: 1.8rem; }
.author { margin-top: 4rem; padding: 2rem; gap: 1.6rem; }
.related li { padding: 1.1rem 0; }

/* CTA e rodapé */
.cta-band { padding: clamp(4.5rem, 8vw, 6.5rem) 0; }
.cta-band h2 { margin-bottom: .45em; }
.cta-band p { font-size: 1.1rem; }
.site-footer { padding: 5rem 0 2.5rem; font-size: .98rem; }
.footer-grid { gap: 3.5rem; }
.footer-grid h2 { margin-bottom: 1.2rem; }
.footer-grid li { margin-bottom: .75rem; }
.footer-legal { margin-top: 3.5rem; padding-top: 2rem; }

/* Notebook e tablet */
@media (max-width: 1100px) {
  .wrap { width: min(100% - 3rem, var(--wrap)); }
  .article-layout { gap: 3.5rem; }
  .regions, .about-office { gap: 3.5rem; }
}
@media (max-width: 960px) {
  .article-layout { grid-template-columns: 1fr; }
}

/* Celular: leitura confortável sem apertar */
@media (max-width: 720px) {
  body { font-size: 1.0625rem; line-height: 1.7; }
  .wrap { width: min(100% - 3rem, var(--wrap)); }
  h2 { font-size: 1.75rem; }
  h3 { font-size: 1.2rem; }
  .section { padding: 4.25rem 0; }
  .section-head { margin-bottom: 2.25rem; }
  .section-head p { font-size: 1rem; }
  .site-header .wrap { min-height: 70px; }

  .hero-inst { padding: 4.25rem 0 4rem; }
  .hero-kicker { margin-bottom: 1.2rem; }
  .hero-inst h1 { font-size: 2.3rem; line-height: 1.12; }
  .hero-sub { font-size: 1.06rem; }
  .hero-actions { margin-top: 2rem; }
  .area-hero { padding: 3.25rem 0 3.5rem; }
  .area-hero h1 { font-size: 2.2rem; }
  .area-hero-lead { font-size: 1.04rem; }
  .page-hero { padding: 3.25rem 0 2.75rem; }

  .reviews { padding: 3rem 0 2.75rem; }
  .reviews-head { margin-bottom: 1.6rem; }
  .review { width: 17rem; padding: 1.25rem; }
  .review p { font-size: .97rem; }

  .areas { gap: 1.1rem; margin: 0 -1.5rem; padding: 0 1.5rem .75rem; }
  .area, .area:nth-child(even) { padding: 0 0 1.5rem; }
  .area-media { margin-bottom: 1.2rem; }
  .area-for, .area h3, .area p, .area-link { margin-left: 1.25rem; margin-right: 1.25rem; }
  .area h3 { font-size: 1.32rem; margin-bottom: .45rem; }
  .area p { font-size: .98rem; margin-bottom: 1rem; }

  .regions { gap: 2rem; }
  .uf { padding: 1.15rem 0; gap: 1.1rem; }
  .uf h3 { font-size: 1.15rem; }
  .uf p { font-size: .95rem; }

  .about-office { gap: 2.25rem; }
  .about-office p { font-size: 1.02rem; }

  .area-intro p { font-size: 1.12rem; }
  .steps li { padding: 1.25rem 0; }
  .steps h3 { font-size: 1.1rem; }
  .steps p { font-size: .97rem; }
  .two-col { gap: 1.75rem; }
  .callout { padding: 1.4rem 1.5rem; margin: 1.5rem 0; }
  .office-teaser { grid-template-columns: 6rem 1fr; gap: 1.2rem; padding: 1.25rem; }
  .office-teaser p { font-size: .95rem; }
  .faq summary { padding: 1.2rem 2.2rem 1.2rem 0; font-size: 1.02rem; }
  .faq summary::after { top: 1rem; }

  .news-kicker { font-size: .8rem; }
  .news-feat h2 { font-size: 1.8rem; }
  .news-lead { font-size: 1.02rem; }
  .news-img { margin: 0 -1.5rem 1.4rem; }
  .news-side { margin-top: 2.5rem; padding-top: 2rem; }
  .news-side-item { padding-bottom: 1.6rem; margin-bottom: 1.6rem; }
  .news-side-item h3, .news-card h3 { font-size: 1.2rem; }
  .news-side-item p, .news-card p { font-size: .95rem; }
  .news-more { gap: 1.8rem; margin-top: 2.5rem; }

  .topic-hero { padding: 3.25rem 0 2.75rem; margin-bottom: 2.75rem; }
  .topic-hero h1 { font-size: 1.95rem; }
  .topic-hero-lead { font-size: 1.04rem; }
  .prose { font-size: 1.08rem; line-height: 1.78; }
  .prose h2 { font-size: 1.5rem; margin-top: 2.2em; }
  .prose th, .prose td { padding: .75rem .8rem; font-size: .95rem; }
  .article-layout { gap: 2.5rem; padding-bottom: 4rem; }
  .author { margin-top: 3rem; padding: 1.4rem; }

  .cta-band { padding: 3.75rem 0; }
  .cta-band h2 { font-size: 1.65rem; }
  .cta-band p { font-size: 1rem; margin-bottom: 1.4rem; }
  .site-footer { padding: 3.5rem 0 6.5rem; font-size: .95rem; }
  .footer-grid { gap: 2.25rem 1.5rem; }
  .footer-legal { margin-top: 2.25rem; }
}

/* Landing da área: serviços */
.services { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 4rem; border-top: 1px solid var(--navy); }
.services li { display: grid; grid-template-columns: 2.4rem 1fr; gap: 1.1rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.svc-ico { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--navy); display: grid; place-items: center; }
.svc-ico svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: var(--gold); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.services h3 { font-size: 1.25rem; margin: .15rem 0 .35rem; }
.services p { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.services-cta { margin-top: 3rem; }
@media (max-width: 760px) {
  .services { grid-template-columns: 1fr; }
  .services li { grid-template-columns: 2rem 1fr; gap: .9rem; padding: 1.2rem 0; }
  .svc-ico { width: 2rem; height: 2rem; }
  .services h3 { font-size: 1.1rem; }
  .services p { font-size: .95rem; }
  .services-cta { margin-top: 2rem; }
  .services-cta .btn { width: 100%; justify-content: center; }
}
/* Avaliações também nos artigos */
.topic-hero { margin-bottom: 0; }
.topic-hero + .reviews + .article-layout { padding-top: clamp(3rem, 6vw, 4.5rem); }
.page-hero + .reviews { border-top: 0; }
.review-avatar { width: 2.75rem; height: 2.75rem; color: #fff; font: 600 1rem var(--sans); }
.review-photo { object-fit: cover; border-radius: 50%; display: block; background: var(--line); }

/* ======================================================
   Página principal mais compacta
   ====================================================== */
.hero-inst { padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(3.25rem, 6vw, 5rem); }
.hero-inst .hero-kicker { font-size: 1rem; margin-bottom: 1.1rem; }
.hero-inst h1 { font-size: clamp(2.1rem, 4vw, 3.3rem); max-width: 20ch; }
.hero-inst .hero-sub { font-size: 1.1rem; max-width: 52ch; }
.hero-inst .hero-actions { margin-top: 1.8rem; }
.hero-inst + .reviews { padding: 2.5rem 0 2.25rem; }
.hero-inst + .reviews .reviews-head { margin-bottom: 1.4rem; }
.hero-inst + .reviews .reviews-note { font-size: 2.4rem; }
.hero-inst + .reviews .review { width: 20rem; padding: 1.2rem 1.3rem; gap: .6rem; }
.hero-inst + .reviews .review p { font-size: .94rem; }

#areas, #regioes, #sobre { padding: clamp(3.5rem, 6vw, 5rem) 0; }
#areas .section-head, #regioes .section-head { margin-bottom: 2rem; }
#areas h2, #regioes h2, #sobre h2 { font-size: clamp(1.7rem, 2.6vw, 2.15rem); }
#areas .section-head p, #regioes .section-head p { font-size: 1rem; }

/* Áreas: quatro colunas no computador */
@media (min-width: 1000px) {
  #areas .areas { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 1.75rem; border-top: 0; }
  #areas .area, #areas .area:nth-child(even) { padding: 0; border: 0; border-left: 0; }
  #areas .area-media { margin-bottom: 1rem; }
  #areas .area-for { font-size: .8rem; margin-bottom: .35rem; }
  #areas .area h3 { font-size: 1.2rem; margin-bottom: .4rem; }
  #areas .area p { font-size: .9rem; line-height: 1.55; margin-bottom: .8rem; }
  #areas .area-link { font-size: .9rem; }
}

/* Regiões */
#regioes .regions { grid-template-columns: .85fr 1.15fr; gap: 3.5rem; }
#regioes .br-map { max-width: 360px; }
#regioes .uf { grid-template-columns: 4rem 1fr; padding: 1rem 0; gap: 1.2rem; }
#regioes .uf h3 { font-size: 1.12rem; margin-bottom: .15rem; }
#regioes .uf p { font-size: .92rem; }

/* Sobre o escritório */
#sobre .about-office { grid-template-columns: minmax(0, 22rem) 1fr; gap: 3.5rem; align-items: center; }
#sobre .photos { gap: .75rem; }
#sobre .about-office p { font-size: 1rem; line-height: 1.7; }
#sobre .office-facts { margin-top: 1.6rem; }
#sobre .office-facts div { padding: .8rem 0; }

@media (max-width: 860px) {
  #regioes .regions, #sobre .about-office { grid-template-columns: 1fr; gap: 2rem; }
  #sobre .photos { max-width: 22rem; }
}
@media (max-width: 720px) {
  .hero-inst { padding: 3.25rem 0 3rem; }
  .hero-inst h1 { font-size: 2rem; }
  .hero-inst .hero-sub { font-size: 1rem; }
  .hero-inst + .reviews { padding: 2rem 0 1.75rem; }
  .hero-inst + .reviews .reviews-note { font-size: 2rem; }
  .hero-inst + .reviews .review { width: 15.5rem; padding: 1rem 1.1rem; }
  #areas, #regioes, #sobre { padding: 3rem 0; }
  #areas h2, #regioes h2, #sobre h2 { font-size: 1.55rem; }
  #regioes .br-map { max-width: 250px; }
  #regioes .uf { grid-template-columns: 3.4rem 1fr; padding: .85rem 0; }
  #regioes .uf h3 { font-size: 1.05rem; }
  #regioes .uf p { font-size: .9rem; }
  #sobre .photos { max-width: 17rem; }
  #sobre .about-office p { font-size: .97rem; }
}

/* Landing: menos espaço entre avaliações e atuação */
.reviews + #atuacao { padding-top: clamp(2.5rem, 4vw, 3.5rem); }

/* Serviços em cartões visuais (empresarial) */
.svc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.svc-card { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 1.7rem 1.6rem 1.6rem; transition: border-color .2s, transform .2s, box-shadow .2s; }
.svc-card:hover { border-color: var(--gold); transform: translateY(-3px); box-shadow: 0 12px 26px rgba(15,27,45,.08); }
.svc-card-ico { width: 3rem; height: 3rem; border-radius: 10px; background: var(--navy); display: grid; place-items: center; margin-bottom: 1.1rem; }
.svc-card-ico svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: var(--gold); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svc-card h3 { font-size: 1.2rem; margin-bottom: .45rem; }
.svc-card p { margin: 0; font-size: .96rem; color: var(--muted); line-height: 1.6; }

/* Onboarding + painel de exemplo */
.onb-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 3.5rem; align-items: start; }
.onb-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.onb-steps li { position: relative; padding: 0 0 1.9rem 2.2rem; }
.onb-steps li::before { content: ""; position: absolute; left: 0; top: .45rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(184,147,90,.2); }
.onb-steps li::after { content: ""; position: absolute; left: .37rem; top: 1.5rem; bottom: .2rem; width: 1px; background: rgba(255,255,255,.18); }
.onb-steps li:last-child::after { display: none; }
.onb-when { display: block; font-size: .8rem; font-weight: 600; color: var(--gold); margin-bottom: .2rem; }
.onb-steps h3 { color: var(--white); font-size: 1.15rem; margin-bottom: .3rem; }
.onb-steps p { margin: 0; font-size: .96rem; color: #B9C1D1; }
.dash { margin: 0; background: var(--white); color: var(--ink); border-radius: 10px; padding: 1.5rem; box-shadow: 0 20px 44px rgba(0,0,0,.28); }
.dash-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.dash-head strong { display: block; font-family: var(--serif); font-size: 1.15rem; color: var(--navy); }
.dash-head div span { font-size: .8rem; color: var(--muted); }
.dash-tag { font-size: .72rem; font-weight: 600; color: var(--gold-text); background: #F6EFE3; border-radius: 99px; padding: .2rem .6rem; }
.dash-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 1.1rem 0; }
.dash-kpis div { background: var(--paper); border-radius: 6px; padding: .8rem .85rem; }
.dash-kpis span, .dash-label { display: block; font-size: .74rem; color: var(--muted); }
.dash-kpis strong { font-family: var(--serif); font-size: 1.35rem; color: var(--navy); }
.dash-bar { display: flex; height: .7rem; border-radius: 99px; overflow: hidden; margin: .45rem 0 .5rem; }
.dash-bar i { display: block; height: 100%; }
.r1 { background: #C0392B; } .r2 { background: var(--gold); } .r3 { background: #3E7C59; }
.dash-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .78rem; color: var(--muted); }
.dash-legend b { display: inline-block; width: .55rem; height: .55rem; border-radius: 2px; margin-right: .3rem; }
.dash-list { margin-top: 1.1rem; }
.dash-list ul { list-style: none; margin: .4rem 0 0; padding: 0; }
.dash-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--line); font-size: .88rem; }
.dash-list em { font-style: normal; font-weight: 600; color: var(--navy); }
.dash figcaption { margin-top: 1rem; font-size: .74rem; color: var(--muted); }
@media (max-width: 960px) { .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .onb-grid { grid-template-columns: 1fr; gap: 2.5rem; } }
@media (max-width: 600px) {
  .svc-grid { grid-template-columns: 1fr; gap: .9rem; }
  .svc-card { padding: 1.25rem; display: grid; grid-template-columns: 2.6rem 1fr; column-gap: 1rem; }
  .svc-card-ico { width: 2.6rem; height: 2.6rem; margin: 0; grid-row: span 2; }
  .svc-card h3 { font-size: 1.08rem; }
  .svc-card p { font-size: .93rem; }
  .dash { padding: 1.1rem; }
  .dash-kpis { gap: .5rem; }
  .dash-kpis strong { font-size: 1.05rem; }
  .reviews + #atuacao { padding-top: 2.25rem; }
}
/* Carrossel arrastável */
.marquee.drag { cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.marquee.drag.dragging { cursor: grabbing; }
.marquee.drag .reviews-track { animation: none !important; will-change: transform; }
.marquee.drag img { pointer-events: none; }
.review p { -webkit-line-clamp: 7; }

/* ===== Onboarding em linha + painel interativo ===== */
.onb-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-bottom: 3rem; }
.onb-row li { padding: 1.4rem 0 0; border-top: 1px solid rgba(255,255,255,.18); }
.onb-row li::before { top: -.45rem; left: 0; }
.onb-row li::after { display: none; }
.onb-row h3 { margin-top: .5rem; }

.pnl { background: #F4F6F9; color: var(--ink); border-radius: 12px; padding: clamp(1.1rem, 2.5vw, 2rem); box-shadow: 0 24px 50px rgba(0,0,0,.3); --b1: #1F4E79; }
.pnl-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.2rem; }
.pnl-badge { display: inline-block; font-size: .74rem; font-weight: 600; color: #8A5A12; background: #FDF0DA; border: 1px solid #F1D7A6; border-radius: 99px; padding: .2rem .7rem; margin-bottom: .6rem; }
.pnl-top h3 { font-family: var(--sans); font-size: 1.45rem; font-weight: 700; color: var(--b1); margin: 0 0 .2rem; }
.pnl-top p { margin: 0; font-size: .9rem; color: var(--muted); }
.pnl-clear { font: 600 .85rem var(--sans); color: var(--b1); background: #fff; border: 1px solid #C9D3E0; border-radius: 6px; padding: .5rem .9rem; cursor: pointer; white-space: nowrap; }
.pnl-clear:hover { background: #E8EEF6; }
.pnl-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin-bottom: 1rem; }
.pnl-kpis div { background: #EAF0F7; border: 1px solid #D3DEEB; border-radius: 8px; padding: .9rem 1rem; }
.pnl-kpis div:last-child { background: #FFF4E5; border-color: #F3D9B1; }
.pnl-kpis span { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .02em; color: #5B6B80; text-transform: uppercase; }
.pnl-kpis strong { display: block; font-family: var(--sans); font-size: 1.55rem; font-weight: 700; color: var(--b1); margin-top: .2rem; }
.pnl-kpis div:last-child strong { color: #A0620F; }
.pnl-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1rem; margin-bottom: 1rem; }
.pnl-side { display: flex; flex-direction: column; gap: 1rem; }
.pnl-card { background: #fff; border: 1px solid #DCE3EC; border-radius: 8px; padding: 1rem 1.1rem; }
.pnl-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; margin-bottom: .8rem; }
.pnl-card-head strong { font-size: .95rem; color: var(--b1); }
.pnl-card-head span { font-size: .78rem; color: var(--muted); }
.dmap { width: 100%; max-width: 420px; display: block; margin: 0 auto; }
.dmap .st { fill: #E6EAF0; stroke: #fff; stroke-width: 1; transition: fill .15s, opacity .15s; }
.dmap .st.has { cursor: pointer; }
.dmap .st.has:hover { stroke: var(--b1); stroke-width: 1.6; }
.dmap .st.sel { stroke: #A0620F; stroke-width: 2.4; }
.pnl.filtered .dmap .st.has:not(.sel) { opacity: .45; }
.pnl-scale { display: flex; align-items: center; justify-content: center; gap: .5rem; font-size: .72rem; color: var(--muted); margin-top: .5rem; }
.pnl-scale i { width: 7rem; height: .5rem; border-radius: 99px; background: linear-gradient(90deg, #BFD3EA, #1F4E79); }
.pnl-bars { list-style: none; margin: 0; padding: 0; }
.pnl-bars li { display: grid; grid-template-columns: 2.4rem 1fr 4.6rem; align-items: center; gap: .6rem; padding: .28rem .3rem; border-radius: 4px; font-size: .82rem; cursor: pointer; }
.pnl-bars li:hover { background: #F1F5FA; }
.pnl-bars li.sel { background: #FFF4E5; }
.pnl-bars b { font-weight: 600; color: #34465C; }
.pnl-bars .bar { height: .6rem; background: #EEF1F5; border-radius: 99px; overflow: hidden; }
.pnl-bars .bar i { display: block; height: 100%; background: var(--b1); border-radius: 99px; transition: width .3s; }
.pnl-bars em { font-style: normal; text-align: right; color: var(--muted); }
.pnl-bars em strong { color: var(--ink); }
.pnl-risk { display: flex; height: .8rem; border-radius: 99px; overflow: hidden; background: #EEF1F5; margin-bottom: .7rem; }
.pnl-risk i { display: block; height: 100%; transition: width .3s; }
.pnl-risk-leg { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.pnl-risk-leg li { font-size: .78rem; color: var(--muted); }
.pnl-risk-leg b { display: inline-block; width: .6rem; height: .6rem; border-radius: 2px; margin-right: .35rem; }
.pnl-risk-leg strong { display: block; font-size: 1rem; color: var(--ink); }
.k-prov { background: #C0392B; } .k-poss { background: #D9A441; } .k-rem { background: #3E7C59; }
.pnl-filters { flex-wrap: wrap; align-items: center; }
.pnl-filters > div { display: flex; flex-wrap: wrap; gap: .6rem; }
.pnl-filters label { display: flex; align-items: center; gap: .35rem; font-size: .78rem; color: var(--muted); }
.pnl-filters select { font: 500 .85rem var(--sans); color: var(--ink); border: 1px solid #C9D3E0; border-radius: 6px; padding: .4rem .5rem; background: #fff; }
.pnl-table-wrap { overflow-x: auto; max-height: 26rem; overflow-y: auto; border: 1px solid #E3E8EF; border-radius: 6px; }
.pnl-table { width: 100%; border-collapse: collapse; font-size: .83rem; min-width: 760px; }
.pnl-table th { position: sticky; top: 0; background: var(--b1); color: #fff; font-weight: 600; text-align: left; padding: .6rem .7rem; white-space: nowrap; }
.pnl-table td { padding: .55rem .7rem; border-bottom: 1px solid #EEF1F5; white-space: nowrap; }
.pnl-table tbody tr:nth-child(even) td { background: #FAFBFD; }
.pnl-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.tag { display: inline-block; font-size: .72rem; font-weight: 600; border-radius: 99px; padding: .1rem .55rem; }
.tag-Provável { background: #FBE4E1; color: #A1281C; } .tag-Possível { background: #FBF0D9; color: #8A5A12; } .tag-Remota { background: #E2F0E7; color: #2C6343; }
.pnl-note { margin: .8rem 0 0; font-size: .75rem; color: var(--muted); }

@media (max-width: 960px) { .onb-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pnl-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .onb-row { grid-template-columns: 1fr; gap: 0; margin-bottom: 2rem; }
  .onb-row li { padding: 1rem 0 1.1rem; }
  .pnl { padding: .9rem; margin: 0 -.5rem; border-radius: 10px; }
  .pnl-top { flex-direction: column; }
  .pnl-top h3 { font-size: 1.2rem; }
  .pnl-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .pnl-kpis div { padding: .7rem; }
  .pnl-kpis strong { font-size: 1.15rem; }
  .pnl-card { padding: .85rem; }
  .dmap { max-width: 300px; }
  .pnl-filters > div { width: 100%; }
  .pnl-filters label { flex: 1 1 30%; flex-direction: column; align-items: stretch; gap: .2rem; }
  .pnl-table-wrap { max-height: 22rem; }
}
.pnl-swipe { display: none; font-size: .75rem; color: var(--muted); margin: 0 0 .5rem; } @media (max-width: 600px) { .pnl-swipe { display: block; } }

/* ======================================================
   Espaçamento entre seções reduzido (site mais curto)
   ====================================================== */
.section, #areas, #regioes, #sobre { padding: clamp(2.75rem, 4.5vw, 4rem) 0; }
.reviews + #atuacao { padding-top: clamp(2rem, 3vw, 2.75rem); }
.section-head { margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem); }
.reviews, .hero-inst + .reviews { padding: clamp(1.75rem, 3vw, 2.5rem) 0; }
.reviews-head { margin-bottom: 1.25rem; }
.hero-inst { padding: clamp(3rem, 6vw, 4.75rem) 0 clamp(2.75rem, 5vw, 4.25rem); }
.area-hero { padding: clamp(3rem, 6vw, 4.75rem) 0 clamp(3rem, 5vw, 4.25rem); }
.page-hero { padding: clamp(2.75rem, 5vw, 4rem) 0 clamp(2.25rem, 4vw, 3rem); }
.topic-hero { padding: clamp(3rem, 6vw, 4.5rem) 0 clamp(2.5rem, 4vw, 3.25rem); }
.topic-hero + .reviews + .article-layout { padding-top: clamp(2.25rem, 4vw, 3rem); }
.article-layout { padding-bottom: 3.5rem; }
.cta-band { padding: clamp(2.75rem, 5vw, 3.75rem) 0; }
.site-footer { padding-top: 3.25rem; }
.footer-legal { margin-top: 2.25rem; }
.services-cta { margin-top: 2rem; }
.news-more { margin-top: 2.25rem; }
.news-section + .news-section { margin-top: 3.25rem; }
.news-soon { margin-top: 2.5rem; }
.onb-row { margin-bottom: 2.25rem; }
.other-areas { margin-top: 2.25rem; }
@media (max-width: 720px) {
  .section, #areas, #regioes, #sobre { padding: 2.5rem 0; }
  .section-head { margin-bottom: 1.4rem; }
  .reviews, .hero-inst + .reviews { padding: 1.75rem 0 1.5rem; }
  .hero-inst { padding: 2.75rem 0 2.5rem; }
  .area-hero { padding: 2.5rem 0 2.75rem; }
  .page-hero, .topic-hero { padding: 2.5rem 0 2.25rem; }
  .topic-hero + .reviews + .article-layout { padding-top: 2rem; }
  .cta-band { padding: 2.5rem 0; }
  .site-footer { padding-top: 2.5rem; }
}

/* ==========================================================
   IDENTIDADE v3 — mais escura, sofisticada e com autoridade
   ========================================================== */
:root {
  --navy: #0F1B2D; --navy-2: #172741; --ink: #141A22; --muted: #5E6672;
  --paper: #F1EDE6; --paper-2: #E8E2D7; --sand: #E2D5BC;
  --gold: #B89A6A; --gold-text: #87693D; --line: #DCD4C7;
  --serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --hh: 84px;
}
body { font-family: var(--sans); font-size: 1.04rem; line-height: 1.72; background: var(--paper); color: var(--ink); }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.005em; }
h2 { font-size: clamp(2.2rem, 4vw, 3.3rem); line-height: 1.06; }
h3 { font-size: 1.5rem; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--gold-text); }
.section-dark h2 em, .hero-x h1 em, .area-hero h1 em, .page-hero h1 em, .topic-hero h1 em, .cta-band em { color: var(--gold); }
.kick { display: inline-flex; align-items: center; gap: .9rem; font: 600 .7rem/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.3rem; }
.kick::before { content: ""; width: 2.2rem; height: 1px; background: currentColor; flex: none; }
.kick-dark { color: var(--gold-text); }
.arr { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Botões */
.btn { border-radius: 2px; font-family: var(--sans); font-weight: 600; letter-spacing: .01em; }
.btn-gold { background: var(--sand); color: var(--navy); }
.btn-gold:hover { background: var(--gold); color: var(--navy); }
.btn-primary { background: var(--navy); }
.btn-primary:hover { background: var(--navy-2); }

/* Cabeçalho sobre a imagem do topo */
.site-header { position: fixed; top: 0; left: 0; right: 0; background: transparent; border-bottom: 1px solid rgba(255,255,255,.14); transition: background .3s, box-shadow .3s, border-color .3s; }
.site-header.solid { background: rgba(11,20,34,.96); border-bottom-color: transparent; box-shadow: 0 8px 24px rgba(0,0,0,.25); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.site-header .wrap { min-height: var(--hh); }
.brand-logo { width: 42px; }
.brand-name { font-family: var(--serif); font-size: 1.6rem; font-weight: 500; color: #fff; letter-spacing: .01em; }
.brand-sub { font-size: .6rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.nav a, .nav-drop-btn { color: rgba(255,255,255,.85); font-size: .92rem; }
.nav a:hover, .nav-drop-btn:hover, .nav-drop-btn[aria-expanded="true"], .nav a[aria-current="page"] { color: var(--gold); }
.nav .nav-drop-menu a { color: var(--ink); }
.btn-nav { border: 1px solid rgba(255,255,255,.4); color: #fff !important; background: transparent; padding: .65rem 1.1rem; font-size: .88rem; }
.btn-nav:hover { background: var(--sand); color: var(--navy) !important; border-color: var(--sand); }
.menu-toggle { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
@media (max-width: 920px) {
  .nav { background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.1); }
  .nav a { border-bottom-color: rgba(255,255,255,.1); }
  .nav-drop { border-bottom-color: rgba(255,255,255,.1); }
  .nav-drop-menu { background: transparent; }
  .nav .nav-drop-menu a, .nav-drop-menu a strong { color: #fff; }
  .nav-drop-menu a span { color: rgba(255,255,255,.55); }
  .nav-drop-menu a:hover { background: rgba(255,255,255,.05); }
  .btn-nav { justify-content: center; margin-top: 1rem; }
}

/* Topo da página principal */
.hero-x { position: relative; min-height: min(100vh, 860px); display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  background: linear-gradient(90deg, rgba(9,16,28,.94) 0%, rgba(9,16,28,.78) 42%, rgba(9,16,28,.38) 100%), linear-gradient(0deg, rgba(9,16,28,.85), transparent 45%), var(--bg) center / cover no-repeat, var(--navy); }
.hero-x-in { padding: calc(var(--hh) + clamp(3rem, 8vw, 6rem)) 0 clamp(2.5rem, 5vw, 4rem); }
.hero-x h1 { color: #fff; font-weight: 400; font-size: clamp(2.8rem, 6.2vw, 5.4rem); line-height: 1.02; max-width: 15ch; margin-bottom: .45em; }
.hero-x-sub { color: rgba(255,255,255,.78); font-size: 1.08rem; max-width: 50ch; }
.hero-x .hero-actions { margin-top: 2rem; }
.hero-x-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; border-top: 1px solid rgba(255,255,255,.16); padding: 1.6rem 0 2rem; }
.hero-x-pillars div { display: grid; grid-template-columns: auto 1fr; column-gap: .8rem; }
.hero-x-pillars span { font-size: .75rem; color: var(--gold); grid-row: span 2; padding-top: .15rem; }
.hero-x-pillars strong { font-weight: 600; font-size: .95rem; color: #fff; }
.hero-x-pillars p { margin: 0; font-size: .85rem; color: rgba(255,255,255,.6); }
.values-band { background: var(--paper-2); border-bottom: 1px solid var(--line); }
.values-band .wrap { display: flex; justify-content: space-between; padding: 1.05rem 0; }
.values-band span { font-size: .68rem; letter-spacing: .4em; text-transform: uppercase; color: #8E8676; }

/* Essência */
.essence-head { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.essence-head h2 { margin: 0; }
.essence-lead { font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.75rem); line-height: 1.35; color: var(--ink); margin-bottom: .8rem; }
.essence-head p:last-child { color: var(--muted); font-size: .95rem; margin: 0; }
.office-wide { aspect-ratio: 21 / 9; margin: clamp(2rem, 4vw, 3rem) 0 clamp(1.8rem, 3vw, 2.5rem); border-radius: 2px; background: var(--paper-2); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.principles div { border-top: 1px solid var(--line); padding-top: 1.1rem; position: relative; }
.principles span { position: absolute; right: 0; top: 1.1rem; font-size: .75rem; color: #A39C8B; }
.principles h3 { font-family: var(--sans); font-size: 1rem; font-weight: 600; margin-bottom: .35rem; }
.principles p { font-size: .9rem; color: var(--muted); margin: 0; max-width: 34ch; }

/* Seções escuras */
.section-dark { background: var(--navy); color: #C3CAD5; }
.section-dark h2, .section-dark h3 { color: #fff; }
.split-head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3rem; align-items: end; margin-bottom: clamp(2rem, 3.5vw, 2.75rem); }
.split-head h2 { margin: 0; }
.split-head p { margin: 0; font-size: .92rem; color: #9AA3B2; max-width: 44ch; justify-self: end; }

/* Áreas (home) */
.areas-x { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ax { display: flex; flex-direction: column; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); text-decoration: none; color: inherit; transition: border-color .25s, background .25s, transform .25s; }
.ax:hover { border-color: rgba(184,154,106,.7); background: rgba(255,255,255,.05); transform: translateY(-3px); }
.ax-media img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; display: block; filter: saturate(.85); }
.ax-body { position: relative; padding: 1.3rem 1.3rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.ax-num { position: absolute; top: 1rem; right: 1.2rem; font-family: var(--serif); font-size: 1.7rem; color: rgba(255,255,255,.22); }
.ax-for { font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.ax h3 { font-size: 1.6rem; line-height: 1.12; margin: .55rem 0 .6rem; color: #fff; padding-right: 2rem; }
.ax p { font-size: .84rem; color: #97A0AF; margin: 0 0 1.2rem; flex: 1; }
.ax-go { display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; color: #fff; }
.ax-go .arr { color: var(--gold); transition: transform .2s; }
.ax:hover .ax-go .arr { transform: translate(2px, -2px); }

/* Avaliações e regiões no novo tom */
.reviews { background: #FBF9F5; border-bottom: 1px solid var(--line); }
.review { background: #fff; border-color: var(--line); border-radius: 2px; }
.reviews-note { font-family: var(--serif); font-weight: 500; }
.br-map .hi { fill: var(--navy); }
.br-map .lo { fill: #D8D1C3; }
.uf-shape path { fill: var(--navy); }

/* Sobre (escuro) */
#sobre .about-office p { color: #B7BFCB; }
#sobre .office-facts { border-top-color: rgba(255,255,255,.12); }
#sobre .office-facts div { border-bottom-color: rgba(255,255,255,.12); }
#sobre .office-facts dt { color: #8D96A5; }
#sobre .office-facts dd { color: #fff; }
#sobre .photo-main { outline: 1px solid rgba(255,255,255,.14); outline-offset: .6rem; }

/* Topo das páginas internas (cabeçalho sobre a imagem) */
.area-hero { padding: calc(var(--hh) + clamp(3rem, 6vw, 5rem)) 0 clamp(3rem, 5vw, 4.5rem);
  background: linear-gradient(90deg, rgba(9,16,28,.95) 0%, rgba(9,16,28,.82) 45%, rgba(9,16,28,.45) 100%), var(--bg) center / cover no-repeat, var(--navy); }
.area-hero h1 { font-weight: 400; font-size: clamp(2.6rem, 5.2vw, 4.4rem); line-height: 1.04; }
.area-hero::after, .topic-hero::after { height: 1px; background: rgba(184,154,106,.6); }
.topic-hero { padding: calc(var(--hh) + clamp(2.75rem, 5vw, 4rem)) 0 clamp(2.5rem, 4vw, 3.25rem);
  background: linear-gradient(90deg, rgba(9,16,28,.96) 0%, rgba(9,16,28,.88) 50%, rgba(9,16,28,.6) 100%), var(--bg) center / cover no-repeat, var(--navy); }
.topic-hero h1 { font-weight: 500; font-size: clamp(2.2rem, 4.4vw, 3.4rem); line-height: 1.08; }
.page-hero { background: linear-gradient(90deg, rgba(9,16,28,.95), rgba(9,16,28,.7)), url('/img/area-empresarial-trabalhista.jpg') center / cover no-repeat, var(--navy); color: #C3CAD5; border-bottom: 0;
  padding: calc(var(--hh) + clamp(2.75rem, 5vw, 4rem)) 0 clamp(2.5rem, 4vw, 3.25rem); }
.page-hero h1 { color: #fff; font-weight: 400; }
.page-hero .lead { color: rgba(255,255,255,.75); }
.page-hero .breadcrumb, .page-hero .breadcrumb a { color: #AEB8CA; }
.page-hero .hero-actions .btn-ghost { color: #fff; border-color: rgba(255,255,255,.4); }

/* Chamada final "Vamos conversar." */
.cta-band { background: linear-gradient(115deg, #CDB68E 0%, #B39770 60%, #A3865D 100%); color: var(--navy); padding: clamp(2.75rem, 5vw, 3.75rem) 0; }
.cta-link { display: flex; justify-content: space-between; align-items: center; gap: 2rem; text-decoration: none; color: inherit; }
.cta-band .kick { color: rgba(15,27,45,.7); margin-bottom: .8rem; }
.cta-band h2 { color: var(--navy); font-weight: 400; font-size: clamp(2.8rem, 6.5vw, 5rem); line-height: 1; margin: 0 0 .5rem; }
.cta-band p { color: rgba(15,27,45,.75); margin: 0; max-width: 52ch; }
.cta-arrow svg { width: clamp(2.6rem, 5vw, 3.6rem); height: auto; fill: none; stroke: var(--navy); stroke-width: 1.2; transition: transform .25s; }
.cta-link:hover .cta-arrow svg { transform: translate(6px, -6px); }

/* Rodapé */
.site-footer { background: #0B1422; }
.footer-brand { font-family: var(--serif); font-size: 1.5rem; }

/* Componentes já existentes no novo tom */
.svc-card, .office-teaser, .callout, .author { border-radius: 2px; }
.svc-card-ico { border-radius: 2px; }
.news-feat h2, .news-side-item h3, .news-card h3, .art-item h3 { font-weight: 500; }
.steps li::before { font-family: var(--serif); }

/* Responsivo */
@media (max-width: 1100px) { .areas-x { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .essence-head, .split-head { grid-template-columns: 1fr; gap: 1.25rem; }
  .split-head p { justify-self: start; }
  .principles { grid-template-columns: 1fr; gap: 1.25rem; }
}
@media (max-width: 720px) {
  :root { --hh: 70px; }
  .brand-name { font-size: 1.35rem; }
  .brand-logo { width: 36px; }
  .hero-x { min-height: auto; }
  .hero-x-in { padding: calc(var(--hh) + 3rem) 0 2.25rem; }
  .hero-x h1 { font-size: 2.6rem; }
  .hero-x-sub { font-size: 1rem; }
  .hero-x-pillars { grid-template-columns: 1fr; gap: .9rem; padding: 1.25rem 0 1.6rem; }
  .values-band .wrap { padding: .85rem 0; }
  .values-band span { font-size: .58rem; letter-spacing: .22em; }
  h2 { font-size: 2.05rem; }
  .areas-x { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem; margin: 0 -1.5rem; padding: 0 1.5rem .5rem; scrollbar-width: none; }
  .areas-x::-webkit-scrollbar { display: none; }
  .ax { flex: 0 0 80%; scroll-snap-align: start; }
  .ax h3 { font-size: 1.45rem; }
  .office-wide { aspect-ratio: 16 / 10; }
  .area-hero { padding: calc(var(--hh) + 2.5rem) 0 2.75rem; background: linear-gradient(180deg, rgba(9,16,28,.86), rgba(9,16,28,.95)), var(--bg) center / cover no-repeat, var(--navy); }
  .area-hero h1 { font-size: 2.4rem; }
  .topic-hero, .page-hero { padding: calc(var(--hh) + 2.25rem) 0 2.25rem; }
  .topic-hero h1 { font-size: 2rem; }
  .cta-link { align-items: flex-end; }
  .cta-band h2 { font-size: 3rem; }
  #sobre .photo-main { outline-offset: .4rem; }
}
.hero-x h1 { max-width: 19ch; }

:root { box-sizing: border-box; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
html { scroll-padding-top: calc(80px + env(safe-area-inset-top, 0px)); }
.site-header { top: env(safe-area-inset-top, 0px); }
.wa-float { padding-bottom: env(safe-area-inset-bottom, 0px); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --paper:#F6F5F0; } }
:root[data-theme="dark"] { --paper:#F6F5F0; }

/* ===== Ajustes 09/10: topo, essência, mapa, selo ===== */
/* Topo: título menor e conteúdo mais alto, pilares visíveis no notebook */
.hero-x { min-height: min(100vh, 780px); }
@supports (height: 100dvh) { .hero-x { min-height: min(100dvh, 780px); } }
.hero-x-in { padding: calc(var(--hh) + clamp(1.75rem, 4vw, 3rem)) 0 clamp(1.75rem, 3vw, 2.5rem); }
.hero-x h1 { font-size: clamp(2.3rem, 4.1vw, 3.5rem); line-height: 1.06; max-width: 26ch; margin-bottom: .5em; }
.hero-x .hero-actions { margin-top: 1.6rem; align-items: center; gap: 1.4rem; }
.hero-x-pillars { padding: 1.3rem 0 1.6rem; }
@media (max-height: 760px) and (min-width: 721px) {
  .hero-x-in { padding: calc(var(--hh) + 1.5rem) 0 1.5rem; }
  .hero-x .kick { margin-bottom: 1rem; }
  .hero-x h1 { font-size: clamp(2.1rem, 3.6vw, 3rem); }
  .hero-x-sub { font-size: 1rem; margin-bottom: 0; }
  .hero-x .hero-actions { margin-top: 1.3rem; }
  .hero-x-pillars { padding: 1.1rem 0 1.3rem; }
}
/* Selo do Google ao lado do botão */
.hero-rating { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: rgba(255,255,255,.82); font-size: .88rem; }
.hero-rating .stars svg { width: .95rem; height: .95rem; fill: #F4B400; }
.hero-rating strong { color: #fff; font-weight: 700; }
.hero-rating:hover { color: #fff; }
.hero-rating:hover .hero-rating-txt { text-decoration: underline; text-underline-offset: 4px; }

/* Ajuste sutil de identidade: marcador do kicker em losango e numeração dos pilares */
.kick::before { width: .42rem; height: .42rem; background: none; border: 1px solid currentColor; transform: rotate(45deg); }
.hero-x-pillars span { font-family: var(--serif); font-size: 1rem; font-style: italic; padding-top: 0; }

/* Essência: foto do Victor ao lado do texto */
.essence-grid { display: grid; grid-template-columns: minmax(0, 19rem) 1fr; gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center; margin-bottom: clamp(2.5rem, 4vw, 3.25rem); }
.essence-photo { position: relative; margin: 0; }
.essence-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.essence-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem 1.1rem .95rem; background: linear-gradient(transparent, rgba(11,20,34,.88)); color: #fff; display: flex; flex-direction: column; gap: .1rem; border-radius: 0 0 2px 2px; }
.essence-photo figcaption strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 500; }
.essence-photo figcaption span { color: var(--gold); font-size: .82rem; }
.essence-text h2 { margin: 0 0 1.4rem; }
.essence-text p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.essence-text p:last-child { color: var(--muted); font-size: .95rem; margin: 0; }
@media (max-width: 860px) {
  .essence-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .essence-photo { max-width: 16rem; }
}

/* Sobre: espaço reservado para a foto do escritório */
#sobre .photo-office { border: 1px dashed rgba(255,255,255,.3); background: rgba(255,255,255,.03); color: #8D96A5; }
@media (max-width: 720px) { #sobre .photo-office { display: grid; } }

/* Mapa mais à direita, perto do texto */
#regioes .regions { grid-template-columns: 1fr 1.15fr; gap: 2.5rem; }
#regioes .regions-map { display: flex; justify-content: center; }
@media (max-width: 860px) { #regioes .regions-map { justify-content: center; } }

/* Sobre: texto justificado e espaços das fotos do escritório visíveis */
#sobre .about-office > div:last-child > p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
#sobre .photo-office { aspect-ratio: 1 / 1; font-size: .85rem; line-height: 1.4; padding: .8rem; }
#sobre .photo-office span { color: #9AA3B2; }
@media (max-width: 720px) { #sobre .photos { grid-template-columns: 1fr 1fr; } #sobre .photo-office { display: grid; } }

/* Topo: bloco do título centralizado na altura, sem vão grande abaixo do menu */
.hero-x-in { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--hh) + 1.5rem) 0 2rem; }
@media (max-height: 760px) and (min-width: 721px) { .hero-x-in { padding: calc(var(--hh) + 1rem) 0 1.25rem; } }
@media (max-width: 720px) { .hero-x-in { padding: calc(var(--hh) + 2.25rem) 0 2rem; } }

/* Páginas de área: selo do Google e pilares no topo, como na home */
.area-hero { padding-bottom: 0; }
.area-hero .hero-actions { align-items: center; gap: 1.4rem; }
.area-pillars { margin-top: clamp(2.25rem, 4vw, 3.25rem); padding: 1.3rem 0 1.6rem; }
@media (max-width: 720px) { .area-hero { padding-bottom: 0; } .area-pillars { margin-top: 2rem; } }

/* Topo das áreas cabendo na tela do notebook, com os pilares visíveis */
.area-hero { padding-top: calc(var(--hh) + clamp(1.75rem, 4vw, 3rem)); }
.area-hero h1 { font-size: clamp(2.3rem, 4.1vw, 3.5rem); line-height: 1.06; margin-bottom: .45em; }
.area-hero .breadcrumb { margin-bottom: 1rem; }
.area-hero .kick { margin-bottom: 1rem; }
.area-hero .hero-actions { margin-top: 1.5rem; }
.area-pillars { margin-top: clamp(1.75rem, 3vw, 2.5rem); }
@media (max-height: 760px) and (min-width: 721px) {
  .area-hero { padding-top: calc(var(--hh) + 1.25rem); }
  .area-hero h1 { font-size: clamp(2.1rem, 3.6vw, 3rem); }
  .area-hero-lead { font-size: 1rem; margin-bottom: 0; }
  .area-hero .hero-actions { margin-top: 1.2rem; }
  .area-pillars { margin-top: 1.5rem; padding: 1.1rem 0 1.3rem; }
}

/* Vídeo (VSL) no topo da página da área */
.hero-vsl-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.vsl { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .7rem; }
.vsl-frame { position: relative; height: clamp(20rem, calc(100vh - 18rem), 32rem); aspect-ratio: 9 / 16; border-radius: 10px; overflow: hidden; background: var(--navy-2); outline: 1px solid rgba(184,154,106,.55); outline-offset: .5rem; }
.vsl-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vsl-sound { position: absolute; inset: 0; border: 0; padding: 0; background: linear-gradient(180deg, rgba(9,16,28,.35), transparent 22%, transparent 75%, rgba(9,16,28,.55)); cursor: pointer; }
.vsl-sound[hidden] { display: none; }
.vsl-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 4.2rem; height: 4.2rem; border-radius: 50%; background: var(--sand); display: grid; place-items: center; opacity: .92; transition: transform .2s, opacity .2s; }
.vsl-play svg { width: 1.7rem; height: 1.7rem; fill: var(--navy); margin-left: .2rem; }
.vsl-sound:hover .vsl-play { transform: translate(-50%, -50%) scale(1.07); opacity: 1; }
.vsl-mute { position: absolute; top: .8rem; left: .8rem; right: .8rem; text-align: left; font: 500 .72rem/1.2 var(--sans); color: #fff; }
.vsl-mute::before { content: ""; display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; background: #E5484D; margin-right: .4rem; vertical-align: 1px; }
.vsl-time { position: absolute; left: 1rem; bottom: .9rem; font: 500 .72rem var(--sans); color: rgba(255,255,255,.85); }
.vsl figcaption { font-size: .82rem; color: #AEB8CA; }
@media (max-width: 860px) {
  .hero-vsl-grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .vsl-frame { height: auto; width: min(17rem, 78vw); }
}

/* Vídeo: no computador maior e menos alto (corta um pouco em cima e embaixo), mais para a esquerda */
@media (min-width: 861px) {
  .hero-vsl-grid { grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 4vw, 3.5rem); }
  .vsl { margin-right: clamp(0rem, 5vw, 5rem); }
  .vsl-frame { aspect-ratio: 4 / 5; height: clamp(20rem, calc(100vh - 16rem), 34rem); }
  .vsl-frame video { object-position: 50% 45%; }
}
/* Celular: título e texto, depois o vídeo, depois o botão */
@media (max-width: 860px) {
  .hero-vsl-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .hero-vsl-text { display: contents; }
  .vsl { order: 1; margin: 1.75rem 0 .25rem; }
  .hero-vsl-text .hero-actions { order: 2; margin-top: 1.5rem; }
}

/* ===== Ajustes de celular (09/10) ===== */
@media (max-width: 860px) {
  /* Regiões: uma coluna, mapa centralizado e maior */
  #regioes .regions { grid-template-columns: 1fr; gap: 1.75rem; }
  #regioes .regions-map { justify-content: center; max-width: none; margin: 0; }
  #regioes .br-map { width: 100%; max-width: 290px; }
  /* Sobre: foto ocupando a largura toda */
  #sobre .photos { max-width: none; grid-template-columns: 1fr 1fr; }
  #sobre .photo-main { aspect-ratio: 4 / 5; }
}
@media (max-width: 720px) {
  /* Áreas da home: lista vertical, sem precisar arrastar */
  .areas-x { display: grid; grid-template-columns: 1fr; gap: .8rem; overflow: visible; margin: 0; padding: 0; }
  .ax { flex: none; display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); }
  .ax-media { height: 100%; }
  .ax-media img { height: 100%; aspect-ratio: auto; }
  .ax-body { padding: .9rem 1rem 1rem; }
  .ax-num { top: .7rem; right: .8rem; font-size: 1.2rem; }
  .ax-for { font-size: .6rem; letter-spacing: .12em; padding-right: 1.6rem; }
  .ax h3 { font-size: 1.2rem; margin: .35rem 0 .35rem; padding-right: 0; }
  .ax p { font-size: .78rem; margin-bottom: .6rem; }
  .ax-go { font-size: .8rem; }
  .areas-hint { display: none !important; }

  /* Pilares: três colunas compactas */
  .hero-x-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding: 1rem 0 1.25rem; }
  .hero-x-pillars div { grid-template-columns: 1fr; text-align: center; row-gap: .15rem; }
  .hero-x-pillars span { grid-row: auto; font-size: .85rem; }
  .hero-x-pillars strong { font-size: .78rem; line-height: 1.25; }
  .hero-x-pillars p { display: none; }

  /* Topo das áreas: título e texto centralizados, vídeo mais para cima */
  .area-hero { padding-top: calc(var(--hh) + 1.75rem); text-align: center; }
  .area-hero .breadcrumb { display: none; }
  .area-hero .kick { justify-content: center; margin-bottom: .8rem; }
  .area-hero h1 { font-size: 2.1rem; margin-left: auto; margin-right: auto; margin-bottom: .4em; }
  .area-hero-lead { font-size: .97rem; line-height: 1.6; margin-left: auto; margin-right: auto; margin-bottom: 0; }
  .area-hero .hero-actions { justify-content: center; }
  .area-hero .hero-rating { justify-content: center; }
  .vsl { margin: 1.4rem 0 .25rem; }
  .area-pillars { margin-top: 1.75rem; }

  /* Tabela larga da página empresarial: barra de rolagem visível */
  .pnl-table-wrap { scrollbar-width: thin; }
  .pnl-table-wrap::-webkit-scrollbar { display: block; height: 6px; }
  .pnl-table-wrap::-webkit-scrollbar-thumb { background: rgba(184,154,106,.6); border-radius: 3px; }
}

/* Vídeo novo (com faixa de título no topo): corte 3:4 mostra o título e a legenda; aviso de som no canto direito */
@media (min-width: 861px) {
  .vsl-frame { aspect-ratio: 3 / 4; }
  .vsl-frame video { object-position: 50% 30%; }
}
.vsl-mute { left: auto; right: .6rem; top: .6rem; background: rgba(9,16,28,.7); padding: .3rem .55rem; border-radius: 99px; }
.vsl-time { display: none; }

/* Selo do Google no topo: só informativo, sem clique */
.hero-rating { cursor: default; }
.hero-rating:hover { color: rgba(255,255,255,.82); }
.hero-rating:hover .hero-rating-txt { text-decoration: none; }

/* Tela cheia do vídeo: mostra o vídeo inteiro, sem o corte usado no quadro da página */
.vsl-frame video:fullscreen { object-fit: contain; object-position: center; background: #000; }
.vsl-frame video:-webkit-full-screen { object-fit: contain; object-position: center; background: #000; }

/* Avaliações: cada card com a altura do próprio texto (curtos ficam mais baixos) */
.reviews-track { align-items: flex-start; }

/* Fotos do topo mais apagadas, com o azul-marinho do site mais forte (19/10) */
.hero-x { background: linear-gradient(90deg, rgba(15,27,45,.96) 0%, rgba(15,27,45,.86) 42%, rgba(15,27,45,.62) 100%), linear-gradient(0deg, rgba(15,27,45,.9), transparent 45%), var(--bg) center / cover no-repeat, var(--navy); }
.area-hero { background: linear-gradient(90deg, rgba(15,27,45,.96) 0%, rgba(15,27,45,.88) 45%, rgba(15,27,45,.64) 100%), var(--bg) center / cover no-repeat, var(--navy); }
.topic-hero { background: linear-gradient(90deg, rgba(15,27,45,.97) 0%, rgba(15,27,45,.9) 50%, rgba(15,27,45,.7) 100%), var(--bg) center / cover no-repeat, var(--navy); }
@media (max-width: 720px) {
  .area-hero { background: linear-gradient(180deg, rgba(15,27,45,.9), rgba(15,27,45,.97)), var(--bg) center / cover no-repeat, var(--navy); }
}

/* Azul do topo ainda mais forte e mais azulado (19/10, 2º ajuste) */
.hero-x { background: linear-gradient(90deg, rgba(13,30,58,.97) 0%, rgba(13,30,58,.91) 42%, rgba(13,30,58,.78) 100%), linear-gradient(0deg, rgba(13,30,58,.92), transparent 45%), var(--bg) center / cover no-repeat, var(--navy); }
.area-hero { background: linear-gradient(90deg, rgba(13,30,58,.97) 0%, rgba(13,30,58,.92) 45%, rgba(13,30,58,.8) 100%), var(--bg) center / cover no-repeat, var(--navy); }
.topic-hero { background: linear-gradient(90deg, rgba(13,30,58,.98) 0%, rgba(13,30,58,.93) 50%, rgba(13,30,58,.82) 100%), var(--bg) center / cover no-repeat, var(--navy); }
@media (max-width: 720px) {
  .area-hero { background: linear-gradient(180deg, rgba(13,30,58,.92), rgba(13,30,58,.98)), var(--bg) center / cover no-repeat, var(--navy); }
}

/* Azul do topo mais escuro, puxando para o preto (19/10, 3º ajuste) */
.hero-x { background: linear-gradient(90deg, rgba(7,13,24,.97) 0%, rgba(7,13,24,.9) 42%, rgba(7,13,24,.78) 100%), linear-gradient(0deg, rgba(7,13,24,.92), transparent 45%), var(--bg) center / cover no-repeat, #070D18; }
.area-hero { background: linear-gradient(90deg, rgba(7,13,24,.97) 0%, rgba(7,13,24,.91) 45%, rgba(7,13,24,.8) 100%), var(--bg) center / cover no-repeat, #070D18; }
.topic-hero { background: linear-gradient(90deg, rgba(7,13,24,.98) 0%, rgba(7,13,24,.93) 50%, rgba(7,13,24,.82) 100%), var(--bg) center / cover no-repeat, #070D18; }
@media (max-width: 720px) {
  .area-hero { background: linear-gradient(180deg, rgba(7,13,24,.92), rgba(7,13,24,.98)), var(--bg) center / cover no-repeat, #070D18; }
}

/* Serviço da área com artigo publicado: link para o artigo */
.services h3 a { color: inherit; text-decoration: none; }
.services h3 a:hover { color: var(--gold-text); }
.svc-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .5rem; font-size: .88rem; font-weight: 600; color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.svc-link:hover { color: var(--gold-text); }
.section-dark .svc-link { color: #fff; }

/* Artigos: respiro abaixo do topo, subtítulos fortes, texto justificado e tabelas mais compactas (20/10) */
.article-layout { padding-top: clamp(2.75rem, 5vw, 4rem); }
.prose p, .prose li, .prose .callout p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.prose h3 { font-family: var(--sans); font-weight: 700; font-size: 1.32rem; line-height: 1.3; color: var(--navy); letter-spacing: 0; margin: 2.4rem 0 .7rem; padding-top: 1.3rem; border-top: 1px solid var(--line); }
.prose h2 + h3, .prose h2 + p + h3 { border-top: 0; padding-top: 0; }
.prose table { font-size: .9rem; margin: 1.2rem 0 1.6rem; }
.prose th, .prose td { padding: .42rem .6rem; line-height: 1.35; border-bottom: .5px solid rgba(15,27,45,.16); }
.prose th { font-size: .82rem; letter-spacing: .01em; }
.prose tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 720px) {
  .prose h3 { font-size: 1.15rem; margin-top: 2rem; padding-top: 1.1rem; }
  .prose th, .prose td { padding: .38rem .5rem; font-size: .82rem; }
  .article-layout { padding-top: 2.25rem; }
}

/* Quadro de autor no fim do artigo: foto maior */
.author { gap: 1.5rem; padding: 1.6rem; align-items: center; }
.author-photo { width: 130px; height: 162px; object-fit: cover; object-position: 50% 20%; border-radius: 4px; }
.author p { font-size: 1rem; line-height: 1.6; }
@media (max-width: 720px) {
  .author { grid-template-columns: 96px 1fr; gap: 1rem; padding: 1.1rem; }
  .author-photo { width: 96px; height: 120px; }
  .author p { font-size: .92rem; }
}

.prose .author p, .prose .disclaimer { text-align: left; hyphens: manual; }

/* Mapa "Onde já atuamos" nas páginas de área */
.uf-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.6rem 0 0; padding: 0; }
.uf-chips li { padding: .5rem 1.05rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--navy); font-size: .95rem; cursor: default; transition: background .2s, color .2s, border-color .2s; }
.uf-chips li:hover, .uf-chips li.active { background: var(--navy); border-color: var(--navy); color: var(--white); }
.area-map .br-map { max-width: 400px; }
@media (max-width: 860px) { .area-map .regions-map { max-width: 300px; margin: 0 auto; } }

/* Artigo no celular: a coluna não pode passar da largura da tela; tabelas rolam de lado */
@media (max-width: 960px) {
  .article-layout { grid-template-columns: minmax(0, 1fr); }
  .prose { min-width: 0; overflow-wrap: break-word; }
  .prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 600px) { .prose p, .prose li { text-align: left; hyphens: auto; } }
