:root {
  --ink: #171716;
  --graphite: #242423;
  --slate: #5B676B;
  --sage: #7B8B84;
  --ivory: #F5F0E6;
  --porcelain: #FBFAF7;
  --taupe: #A99D8D;
  --serif: "Noto Serif Display", "Times New Roman", serif;
  --sans: "Lato", Arial, sans-serif;
  --content: min(88vw, 980px);
}
* { box-sizing: border-box; }
html { background: var(--porcelain); scroll-behavior: smooth; }
body { margin: 0; background: var(--porcelain); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
.legal-header { border-bottom: 1px solid rgba(36,36,35,.12); }
.legal-header-inner { width: min(91vw, 1240px); min-height: 94px; margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.legal-brand { width: min(58vw, 345px); display:inline-flex; }
.legal-brand img { display:block; width:100%; height:auto; }
.legal-back { font-size:11px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:#5b5a55; border-bottom:1px solid rgba(91,103,107,.35); padding:8px 0 6px; }
.legal-back:hover,.legal-back:focus-visible { color:var(--slate); border-color:var(--slate); }
.legal-main { width: var(--content); margin: 0 auto; padding: clamp(68px,8vw,112px) 0 clamp(78px,9vw,126px); }
.legal-kicker { margin:0 0 18px; color:var(--slate); font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; }
h1 { margin:0; font-family:var(--serif); font-size:clamp(48px,6vw,76px); font-weight:300; line-height:1.06; letter-spacing:.01em; }
.legal-intro { margin:28px 0 0; max-width:760px; color:#555550; font-size:18px; line-height:1.75; }
.legal-rule { width:220px; margin:35px 0 54px; display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; }
.legal-rule span { height:1px; background:rgba(169,157,141,.55); }
.legal-rule i { width:7px; height:7px; background:var(--sage); transform:rotate(45deg); }
.legal-content { display:grid; gap:38px; }
.legal-content section { padding-top:34px; border-top:1px solid rgba(36,36,35,.12); }
.legal-content h2 { margin:0 0 14px; font-family:var(--serif); font-size:clamp(27px,3vw,36px); font-weight:300; line-height:1.2; }
.legal-content p,.legal-content li { color:#555550; font-size:15.5px; line-height:1.78; }
.legal-content p { margin:0; }
.legal-content p + p { margin-top:14px; }
.legal-content ul { margin:12px 0 0; padding-left:22px; }
.legal-content strong { color:var(--ink); font-weight:500; }
.legal-contact { display:inline-flex; margin-top:18px; padding:13px 17px; border:1px solid rgba(169,157,141,.72); text-decoration:none; color:#675d50; font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.legal-contact:hover,.legal-contact:focus-visible { color:var(--porcelain); background:var(--graphite); border-color:var(--graphite); }
.legal-footer { background:var(--graphite); color:var(--porcelain); }
.legal-footer-inner { width:min(91vw,1240px); min-height:100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.legal-footer p { margin:0; color:rgba(251,250,247,.62); font-size:10px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.legal-footer nav { display:flex; gap:18px; flex-wrap:wrap; }
.legal-footer a { color:rgba(251,250,247,.72); font-size:10px; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.legal-footer a:hover,.legal-footer a:focus-visible { color:#fff; }
:focus-visible { outline:2px solid var(--sage); outline-offset:4px; }
@media (max-width:600px) {
  .legal-header-inner { min-height:80px; gap:18px; }
  .legal-brand { width:min(64vw,275px); }
  .legal-back { font-size:9px; }
  .legal-main { width:min(88vw,980px); padding-top:58px; }
  .legal-intro { font-size:16px; }
  .legal-content p,.legal-content li { font-size:14.5px; }
  .legal-footer-inner { padding:25px 0; min-height:0; align-items:flex-start; flex-direction:column; }
}

/* Identidade Elegância da Defesa */
:root {
  --ink: #381016;
  --wine: #381016;
  --wine-deep: #2D0E14;
  --champagne: #AD8654;
  --ivory: #E5D8D0;
  --porcelain: #EEE3DC;
  --line: rgba(76,11,19,.14);
  --serif: "EB Garamond", Georgia, serif;
  --sans: "Lato", Arial, sans-serif;
}
html, body { background: var(--ivory); color: var(--ink); }
a { color: var(--wine); }
.legal-header { border-bottom-color: rgba(56,16,22,.14); }
.legal-back { color:#6E4B3D; border-color:rgba(173,134,84,.55); }
.legal-back:hover,.legal-back:focus-visible { color:var(--wine); border-color:var(--champagne); }
.legal-kicker { color:#8E6640; }
h1,.legal-content h2 { color:var(--wine); font-weight:400; }
.legal-intro,.legal-content p,.legal-content li { color:#5B4D47; }
.legal-rule span { background:rgba(173,134,84,.55); }
.legal-rule i { background:var(--champagne); }
.legal-content section { border-top-color:rgba(56,16,22,.13); }
.legal-contact { border-color:rgba(173,134,84,.72); color:#765430; }
.legal-contact:hover,.legal-contact:focus-visible { color:#F5EAE3; background:var(--wine); border-color:var(--wine); }
.legal-footer { background:linear-gradient(180deg,#3B181F 0%,#2D0E14 100%); }
:focus-visible { outline-color:var(--champagne); }

/* Mobile audit V10: safe areas, touch targets e viewports edge-to-edge. */
:root {
  --legal-safe-top: env(safe-area-inset-top, 0px);
  --legal-safe-right: env(safe-area-inset-right, 0px);
  --legal-safe-bottom: env(safe-area-inset-bottom, 0px);
  --legal-safe-left: env(safe-area-inset-left, 0px);
  --legal-safe-bottom-max: env(safe-area-max-inset-bottom, env(safe-area-inset-bottom, 0px));
  color-scheme: light;
}

html,
body {
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  min-height: 100svh;
  overscroll-behavior-x: none;
}

.legal-back,
.legal-contact,
.legal-footer a,
.legal-brand {
  touch-action: manipulation;
}

@media (max-width: 1024px) {
  .legal-header-inner {
    width: 100%;
    padding-top: var(--legal-safe-top);
    padding-left: max(24px, var(--legal-safe-left));
    padding-right: max(24px, var(--legal-safe-right));
    min-height: calc(94px + var(--legal-safe-top));
  }

  .legal-main {
    width: auto;
    margin-left: max(6vw, var(--legal-safe-left));
    margin-right: max(6vw, var(--legal-safe-right));
  }

  .legal-footer-inner {
    width: 100%;
    padding-left: max(24px, var(--legal-safe-left));
    padding-right: max(24px, var(--legal-safe-right));
    padding-bottom: var(--legal-safe-bottom-max);
  }

  .legal-back,
  .legal-contact,
  .legal-footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 600px) {
  .legal-header-inner {
    min-height: calc(80px + var(--legal-safe-top));
    padding-left: max(18px, var(--legal-safe-left));
    padding-right: max(18px, var(--legal-safe-right));
  }

  .legal-brand {
    width: min(64vw, 252px);
    max-width: calc(100vw - max(18px, var(--legal-safe-left)) - max(18px, var(--legal-safe-right)) - 112px);
  }

  .legal-back {
    min-width: 92px;
    justify-content: flex-end;
    font-size: 10px;
    padding: 10px 0 8px;
  }

  .legal-main {
    margin-left: max(18px, var(--legal-safe-left));
    margin-right: max(18px, var(--legal-safe-right));
    padding-top: 52px;
    padding-bottom: calc(82px + var(--legal-safe-bottom-max));
  }

  h1 {
    font-size: clamp(42px, 13vw, 58px);
    overflow-wrap: anywhere;
  }

  .legal-intro {
    font-size: 16px;
    line-height: 1.68;
  }

  .legal-rule {
    width: min(220px, 72vw);
    margin-bottom: 46px;
  }

  .legal-content {
    gap: 34px;
  }

  .legal-content section {
    padding-top: 30px;
  }

  .legal-content h2 {
    font-size: clamp(27px, 8vw, 34px);
  }

  .legal-content p,
  .legal-content li {
    font-size: 15px;
    line-height: 1.72;
  }

  .legal-contact {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    text-align: center;
    font-size: 11px;
    line-height: 1.35;
  }

  .legal-footer-inner {
    padding-top: 25px;
    padding-left: max(18px, var(--legal-safe-left));
    padding-right: max(18px, var(--legal-safe-right));
    padding-bottom: calc(25px + var(--legal-safe-bottom-max));
    gap: 12px;
  }

  .legal-footer p {
    font-size: 10px;
  }

  .legal-footer nav {
    gap: 8px 18px;
  }

  .legal-footer a {
    min-height: 44px;
    font-size: 10px;
  }
}

@media (hover: none) and (pointer: coarse) and (orientation: landscape) and (max-height: 600px) and (max-width: 1024px) {
  .legal-header-inner {
    min-height: calc(66px + var(--legal-safe-top));
    padding-left: max(20px, var(--legal-safe-left));
    padding-right: max(20px, var(--legal-safe-right));
  }

  .legal-brand {
    width: min(38vw, 250px);
  }

  .legal-main {
    margin-left: max(28px, var(--legal-safe-left));
    margin-right: max(28px, var(--legal-safe-right));
    padding-top: 42px;
  }

  .legal-footer-inner {
    padding-left: max(28px, var(--legal-safe-left));
    padding-right: max(28px, var(--legal-safe-right));
  }
}

/* V12 — mesma matriz HD oficial nas paginas juridicas. */
.legal-brand {
  aspect-ratio: 750 / 164;
  overflow: hidden;
}
.legal-brand img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}

/* V13 — logo com fundo transparente integrado a superficie legal */
.legal-brand { background: transparent; overflow: visible; }
.legal-brand img { width: 100%; height: auto; object-fit: contain; background: transparent; }
