/* Layout: single light institutional column; navy structure in header rule + footer band; bronze only as hairline detail. */
  :root{
    --paper:#FBF9F3;        /* page base, warm off-white */
    --off:#F1ECE0;          /* alternate section fill */
    --navy:#0B1F3A;         /* structure, headings accents */
    --graf:#1F2328;         /* body text */
    --cinza:#6D7C8D;        /* muted / labels */
    --bronze:#A88A55;       /* detail accent only */
    --line:#DED7C7;         /* hairline on paper */
    color-scheme:light;
    --serif:"EB Garamond", Georgia, "Times New Roman", serif;
    --sans:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--paper);color:var(--graf);
    font-family:var(--sans);font-size:17px;line-height:1.65;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

  .wrap{width:100%;max-width:1080px;margin:0 auto;
    padding-left:max(24px,env(safe-area-inset-left,0px));
    padding-right:max(24px,env(safe-area-inset-right,0px));}
  .narrow{max-width:760px}

  /* ---------- header ---------- */
  .site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;
    background:rgba(251,249,243,.92);backdrop-filter:saturate(1.1) blur(8px);
    border-bottom:1px solid var(--line);}
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);
    z-index:21;background:var(--paper)}
  .head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding-block:16px;}
  .logo-mark{height:26px;width:auto;display:block}
  @media(max-width:520px){.logo-mark{height:22px}}
  nav.links{display:flex;align-items:center;gap:28px}
  nav.links a{font-family:var(--sans);font-size:12.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--cinza);text-decoration:none;
    padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
  nav.links a:hover,nav.links a:focus-visible{color:var(--navy);border-color:var(--bronze)}
  nav.links a:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
  .oab-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
  @media(max-width:760px){nav.links{gap:18px}nav.links .nav-only{display:none}}
  @media(max-width:560px){nav.links a:not(.oab-tag){display:none}}

  /* ---------- hero ---------- */
  .hero{padding-top:92px;padding-bottom:84px}
  .eyebrow{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);
    margin:0 0 26px;font-weight:500}
  .hero h1{font-family:var(--serif);font-weight:500;color:var(--navy);
    font-size:clamp(2.4rem,6vw,4.1rem);line-height:1.08;letter-spacing:-.01em;
    text-wrap:balance;margin:0;max-width:16ch}
  .hero .lede{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.4rem);
    color:var(--graf);line-height:1.5;margin:30px 0 0;max-width:52ch;font-style:italic}
  .rule{height:1px;background:var(--bronze);width:84px;margin:40px 0 0;opacity:.85}

  /* ---------- section frame ---------- */
  section{padding-block:76px}
  .band{background:var(--off);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .sec-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza);
    margin:0 0 18px;display:flex;align-items:center;gap:14px}
  .sec-label::before{content:"";width:22px;height:1px;background:var(--bronze);display:inline-block}
  h2{font-family:var(--serif);font-weight:500;color:var(--navy);
    font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.01em;
    text-wrap:balance;margin:0 0 .6em}
  p{margin:0 0 1.1em}
  .sobre-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:56px;align-items:start}
  @media(max-width:820px){.sobre-grid{grid-template-columns:1fr;gap:40px}}
  .sobre-body p{color:var(--graf)}
  .sobre-body p:first-child{font-size:1.18rem;font-family:var(--serif);color:var(--navy);line-height:1.5}
  .portrait{margin:0;position:relative;max-width:420px;justify-self:end;width:100%}
  .portrait::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--bronze);opacity:.7;pointer-events:none}
  .portrait-panel{position:relative;aspect-ratio:3/4;max-width:100%;overflow:hidden;
    background:linear-gradient(170deg,#E9E7E1 0%,#D8DCE0 100%)}
  .portrait-panel img{position:absolute;inset:auto 0 0 0;width:100%;height:auto;display:block}
  @media(max-width:820px){.portrait{justify-self:start;max-width:360px;margin-right:14px}}
  .creds{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin:34px 0 0;padding-top:26px;border-top:1px solid var(--line)}
  @media(max-width:520px){.creds{grid-template-columns:1fr;gap:22px}}
  .creds dd{margin:0 0 12px}
  .creds dd:last-child{margin-bottom:0}
  .fact-k{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);margin:0 0 3px}
  .fact-v{font-family:var(--serif);font-size:1.15rem;color:var(--navy);margin:0;line-height:1.35}
  .fact-v small{display:block;font-family:var(--sans);font-size:.82rem;color:var(--cinza);letter-spacing:0;margin-top:3px;font-style:normal}

  /* ---------- atuação ---------- */
  .atua-intro{max-width:60ch;margin-bottom:46px}
  .fields{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line)}
  @media(max-width:640px){.fields{grid-template-columns:1fr}}
  .field{background:var(--off);padding:30px 30px 34px}
  .band .field{background:var(--paper)}
  .field h3{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.35rem;
    margin:0 0 10px;letter-spacing:-.005em}
  .field p{font-size:.97rem;color:var(--graf);margin:0;line-height:1.55}
  .field .fnum{font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:var(--bronze);
    display:block;margin-bottom:14px}

  /* ---------- publicações ---------- */
  .pub-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
  .pub{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:28px 0;
    border-bottom:1px solid var(--line)}
  @media(max-width:620px){.pub{grid-template-columns:1fr;gap:8px}}
  .pub .tag{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza);
    padding-top:5px}
  .pub h3{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.4rem;
    margin:0 0 8px;line-height:1.3;letter-spacing:-.005em}
  .pub p{font-size:1rem;color:var(--graf);margin:0}
  .pub .status{font-size:.82rem;color:var(--bronze);letter-spacing:.04em;margin-top:8px;display:inline-block}
  .pub-note{margin-top:30px;color:var(--cinza);font-size:.95rem;max-width:56ch}

  /* ---------- contato ---------- */
  .contato-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
  @media(max-width:760px){.contato-grid{grid-template-columns:1fr;gap:36px}}
  .contato-lede{font-family:var(--serif);font-size:1.3rem;color:var(--navy);line-height:1.5;max-width:30ch}
  .cfield{margin-bottom:26px}
  .cfield .fact-k{margin-bottom:6px}
  .copy-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .copy-row .val{font-family:var(--serif);font-size:1.2rem;color:var(--navy)}
  .copy-btn{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--cinza);background:transparent;border:1px solid var(--line);border-radius:2px;
    padding:4px 10px;cursor:pointer;transition:all .2s}
  .copy-btn:hover{color:var(--navy);border-color:var(--bronze)}
  .copy-btn:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
  .pending{font-size:.9rem;color:var(--cinza);font-style:italic}

  /* ---------- footer ---------- */
  .site-foot{background:var(--navy);color:var(--off);
    padding-block:52px;
    padding-left:max(24px,env(safe-area-inset-left,0px));
    padding-right:max(24px,env(safe-area-inset-right,0px));
    padding-bottom:max(52px,env(safe-area-inset-bottom,0px));}
  .foot-in{max-width:1032px;margin:0 auto;display:flex;justify-content:space-between;
    align-items:flex-end;gap:40px;flex-wrap:wrap}
  .logo-foot{height:30px;width:auto;margin-bottom:18px}
  .foot-left .meta{font-size:.9rem;color:#B9C2CE;line-height:1.7;margin:0}
  .foot-right{text-align:right;font-size:.82rem;letter-spacing:.08em;color:#8A96A6;line-height:1.9}
  @media(max-width:560px){.foot-in{flex-direction:column;align-items:flex-start}.foot-right{text-align:left}}
  .foot-hair{height:1px;background:rgba(168,138,85,.5);max-width:1032px;margin:0 auto 34px}
  a.inline-link{color:var(--bronze);text-decoration:none;border-bottom:1px solid transparent}
  a.inline-link:hover{border-color:var(--bronze)}

/* ---------- logos (SVG incluídos inline) ---------- */
.logo-link svg{height:26px;width:auto;display:block}
@media(max-width:520px){.logo-link svg{height:22px}}
.foot-left > svg{height:30px;width:auto;display:block;margin-bottom:18px}

/* ---------- listas de publicações ---------- */
.pub h3 a{color:inherit;text-decoration:none;background-image:linear-gradient(var(--bronze),var(--bronze));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s}
.pub h3 a:hover,.pub h3 a:focus-visible{background-size:100% 1px}
.pub h3 a:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.pub .status{font-variant-numeric:tabular-nums}
.pub-empty{padding:30px 0;margin:0;color:var(--cinza);font-family:var(--serif);font-style:italic;font-size:1.15rem;border-bottom:1px solid var(--line)}
.pub-more{margin:30px 0 0}
.more-link{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);text-decoration:none;
  border-bottom:1px solid var(--bronze);padding-bottom:3px}
.more-link:hover{color:var(--bronze)}
.hero-sm{padding-top:72px;padding-bottom:56px}
.hero-sm h1{max-width:none}
.hero .lede a{font-style:normal}
.list-sec{padding-top:0}

/* ---------- página de artigo ---------- */
.art-col{max-width:760px}
.art-head{padding-top:64px;padding-bottom:8px}
.back-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cinza);text-decoration:none;margin-bottom:44px}
.back-link::before{content:"";width:18px;height:1px;background:var(--bronze)}
.back-link:hover{color:var(--navy)}
.art-eyebrow{margin-bottom:18px}
.art-title{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:clamp(2.1rem,5vw,3.2rem);
  line-height:1.12;letter-spacing:-.01em;text-wrap:balance;margin:0}
.art-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--cinza);margin:22px 0 0;letter-spacing:.02em}
.art-lede{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2.3vw,1.35rem);line-height:1.5;color:var(--graf);margin:26px 0 0}
.art-head .rule{margin-top:34px}

.prose{font-family:var(--serif);font-size:1.25rem;line-height:1.7;color:var(--graf);padding-block:40px 20px}
.prose > *:first-child{margin-top:0}
.prose p{margin:0 0 1.15em}
.prose h2{font-size:1.75rem;margin:1.8em 0 .55em;line-height:1.2}
.prose h3{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.35rem;margin:1.6em 0 .5em;line-height:1.3}
.prose a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--bronze);text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--bronze)}
.prose strong{font-weight:500;color:var(--navy)}
.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.15em}
.prose li{margin-bottom:.4em}
.prose li::marker{color:var(--bronze)}
/* citação de lei, ementa ou doutrina: texto alheio em fonte de apoio, recuado */
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 26px;border-left:1px solid var(--bronze);
  font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--graf)}
.prose blockquote p{margin-bottom:.8em}
.prose blockquote p:last-child{margin-bottom:0}
.prose hr{border:0;height:1px;width:84px;background:var(--bronze);margin:2.4em 0}
.prose img{max-width:100%;height:auto;display:block;margin:1.8em 0}
.prose code{font-size:.85em;background:var(--off);padding:1px 5px;border-radius:2px}
.prose table{border-collapse:collapse;font-family:var(--sans);font-size:.95rem;margin:1.6em 0;display:block;overflow-x:auto}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px 14px 8px 0;text-align:left}

.author{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding:34px 0 80px;margin-top:30px}
.author-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;
  background:linear-gradient(170deg,#E9E7E1 0%,#D8DCE0 100%);flex:none}
.author-name{font-family:var(--serif);font-size:1.3rem;color:var(--navy);margin:0 0 2px}
.author-role{font-size:.88rem;color:var(--cinza);margin:0 0 12px;line-height:1.5}
.more-pubs{padding-block:64px}
