/* ==========================================================================
   WAC — sistema Gabarito
   Display: Anybody expandida · Texto: Archivo · Corpo justificado
   ========================================================================== */

:root{
  --paper:#f4f2ee;
  --paper-2:#eceae5;
  --ink:#0d1b2d;
  --ink-2:#16283d;
  --moss:#33463c;
  --moss-soft:rgba(51,70,60,.32);
  --text:#28323f;
  --muted:#5b6778;
  --mesh:rgba(13,27,45,.055);
  --line:rgba(13,27,45,.16);
  --line-soft:rgba(13,27,45,.09);
  --line-dark:rgba(244,242,238,.18);

  --container:1280px;
  --gut:clamp(20px,5vw,96px);

  --disp:"Anybody","Archivo","Segoe UI",Helvetica,Arial,sans-serif;
  --sans:"Archivo","Segoe UI",Helvetica,Arial,sans-serif;

  --fs-display:clamp(2rem,4.6vw,3.9rem);
  --fs-title:clamp(1.7rem,3.4vw,2.8rem);
  --fs-h2:clamp(1.25rem,2.1vw,1.7rem);
  --fs-h3:clamp(1.02rem,1.3vw,1.15rem);
  --fs-body:1rem;
  --fs-small:.93rem;
  --fs-label:.68rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;height:auto}
a{color:inherit}
p{margin:0}

h1,h2,h3,h4{
  margin:0;font-family:var(--disp);
  font-variation-settings:"wdth" 125;
  font-weight:500;line-height:1.1;letter-spacing:-.025em;
  text-wrap:balance;color:var(--ink);
}
h3,h4{font-variation-settings:"wdth" 112;letter-spacing:-.015em}

:focus-visible{outline:2px solid var(--moss);outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
}

/* --------------------------------------------------------------- malha -- */

.mesh{position:fixed;inset:0;z-index:0;pointer-events:none;display:flex;justify-content:center}
.mesh > div{
  width:100%;max-width:var(--container);padding-inline:var(--gut);
  height:100%;display:grid;grid-template-columns:repeat(12,1fr);
}
.mesh span{border-left:1px solid var(--mesh)}
.mesh span:last-child{border-right:1px solid var(--mesh)}
@media (max-width:820px){.mesh span:nth-child(n+5){display:none}}

body > header,body > main,body > footer{position:relative;z-index:1}

/* -------------------------------------------------------------- layout -- */

.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gut)}

.section{padding-block:clamp(24px,2.9vw,42px);border-top:1px solid var(--line-soft)}
.section--tight{padding-block:clamp(20px,2.4vw,32px)}
.section--ink{background:var(--ink);color:#d7dbe2;border-top:0}
.section--ink h1,.section--ink h2,.section--ink h3{color:#fff}

.label{
  display:block;font-size:var(--fs-label);font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--moss);
  margin-bottom:1.5rem;font-variant-numeric:tabular-nums;
}
.section--ink .label{color:#93a2ae}

.lede{
  font-size:clamp(1rem,1.35vw,1.1rem);line-height:1.66;color:var(--muted);
  max-width:none;text-align:justify;hyphens:auto;-webkit-hyphens:auto;
}
.section--ink .lede{color:#b9c2cc}

.prose{max-width:none;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.prose p{color:var(--text);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.section--ink .prose p{color:#c3ccd5}

@media (max-width:700px){
  .lede,.prose p,.article p,.col p,.just{text-align:left;hyphens:manual}
}

.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start}
/* ------------------------------------------------------------- gabarito --
   Trilho único em todas as seções: rótulo nas colunas 1 a 3,
   conteúdo das colunas 4 a 12, sempre até a margem direita.        */
.section > .wrap,.page-head > .wrap{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start;
}
.section > .wrap > *,.page-head > .wrap > *{grid-column:5/13;min-width:0}
.section > .wrap > .label,.page-head > .wrap > .crumb{
  grid-column:1/5;grid-row:1;padding-right:1.2rem;margin-bottom:0;
}
.split > :first-child{
  grid-column:1/5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;
}
.split > :first-child > *{grid-column:1/5;padding-right:1.2rem}
.split > :first-child > .mark{grid-column:1/4;padding-right:0}
.split > :nth-child(n+2){grid-column:5/13;min-width:0}
@media (min-width:901px){
  .section > .wrap > .label,.page-head > .wrap > .crumb,.split > :first-child{position:sticky;top:112px}
}
@media (max-width:900px){
  .section > .wrap,.page-head > .wrap,.split{display:block}
  .section > .wrap > .label,.page-head > .wrap > .crumb,.split > :first-child{
    position:static;padding-right:0;margin-bottom:1.1rem;
  }
}

.rule{height:1px;background:var(--line-soft);border:0;margin:0}
.mt-2{margin-top:1.3rem}
.mt-3{margin-top:1.8rem}

/* --------------------------------------------------------------- links -- */

.btn{
  display:inline-flex;align-items:center;gap:.7em;
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;padding:1.05em 2em;
  border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.btn:hover{background:var(--moss);border-color:var(--moss)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--light{background:transparent;color:#fff;border-color:rgba(244,242,238,.45)}
.btn--light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

.txt-link{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--ink);transition:gap .2s ease;
}
.txt-link::after{content:"\2192";line-height:1}
.txt-link:hover{gap:.95em}
.section--ink .txt-link{color:#fff}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.2rem}

/* -------------------------------------------------------------- header -- */

.site-header{
  background:var(--paper);border-bottom:1px solid var(--line-soft);
  position:sticky;top:0;z-index:60;transition:border-color .25s ease,box-shadow .25s ease;
}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 24px -22px rgba(13,27,45,.55)}
.site-header.is-scrolled .wrap{min-height:80px}
.site-header .wrap{transition:min-height .25s ease}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:102px;position:relative}
.brand{display:flex;align-items:center;text-decoration:none;padding-block:14px}
.brand img{width:clamp(164px,16vw,212px)}

.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav a{
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;padding-block:4px;opacity:.7;
  border-bottom:1px solid transparent;white-space:nowrap;
  transition:opacity .2s ease,border-color .2s ease;
}
.nav a:hover{opacity:1}
.nav a[aria-current="page"],.nav a.is-current{opacity:1;border-bottom-color:var(--moss)}
body.spy .nav a[aria-current="page"]:not(.is-current){opacity:.7;border-bottom-color:transparent}

.nav-toggle{
  display:none;background:none;border:1px solid var(--line);color:var(--ink);
  padding:.6em .9em;font-family:var(--sans);font-size:.7rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
}
@media (max-width:980px){
  .nav-toggle{display:block}
  .nav{
    display:none;position:absolute;left:calc(var(--gut) * -1);right:calc(var(--gut) * -1);top:100%;
    background:var(--paper);flex-direction:column;align-items:stretch;gap:0;
    padding:2px var(--gut) 18px;border-bottom:1px solid var(--line);
  }
  .nav.is-open{display:flex}
  .nav a{padding-block:14px;border-bottom:1px solid var(--line-soft);opacity:1}
}

/* ------------------------------------------------- abertura e cabeçalho -- */

.opener{padding-block:clamp(38px,4.8vw,78px) clamp(22px,2.6vw,38px)}
.opener .wrap{display:block}
.opener h1{font-size:var(--fs-display);max-width:19ch}
.opener-foot{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;
  align-items:start;margin-top:clamp(22px,2.6vw,38px);
}
.opener-foot .label{grid-column:1/5;margin:0;padding-top:.5rem;padding-right:1.2rem}
.opener-foot .lede{grid-column:5/13;max-width:none;margin:0}
@media (max-width:900px){
  .opener-foot{display:block}
  .opener-foot .label{margin-bottom:.9rem;padding-top:0}
}
/* ----------------------------------------------------------- monograma --
   O símbolo entra uma única vez, no trilho da seção das três dimensões:
   três letras desenhadas como uma peça só, ao lado do argumento de que
   tributário, societário e patrimonial também não se separam.          */
.mark{margin:1.8rem 0 0;padding:0;display:block}
.mark img{width:100%;height:auto;opacity:.92}

@media (max-width:900px){
  .split > :first-child{display:block}
  .mark{margin-top:1.8rem;max-width:210px}
}

.page-head{padding-block:clamp(32px,4vw,62px) clamp(20px,2.4vw,34px)}
.page-head .crumb{
  font-size:var(--fs-label);font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.4rem;
}
.page-head .crumb a{
  color:var(--moss);text-decoration:none;
  border-bottom:1px solid var(--moss);padding-bottom:1px;
}
.page-head .crumb a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.page-head h1{font-size:var(--fs-title);max-width:20ch}
.page-head .lede{margin-top:1.5rem}

/* ---------------------------------------------------------- índice/rows -- */

.index-list{border-top:1px solid var(--line)}
.index-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr) auto;
  gap:clamp(14px,2.4vw,34px);align-items:baseline;
  padding-block:clamp(18px,2.2vw,26px);border-bottom:1px solid var(--line-soft);
  text-decoration:none;color:inherit;
  transition:padding-inline .25s ease,background .25s ease;
}
.index-row:hover{background:var(--paper-2);padding-inline:clamp(8px,1.4vw,20px)}
.index-row h3{font-size:var(--fs-h2)}
.index-row p{color:var(--muted);font-size:var(--fs-small);text-align:justify;hyphens:auto}
.index-row .go{font-size:1.15rem;line-height:1;color:var(--muted)}
.index-row:hover .go{color:var(--moss)}
.index-row .meta{
  font-size:var(--fs-label);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--moss);line-height:1.5;
}
@media (max-width:860px){
  .index-row{grid-template-columns:1fr;gap:10px}
  .index-row .go{display:none}
  .index-row p{text-align:left;hyphens:manual}
}
.section--ink .index-list,.section--ink .index-row{border-color:var(--line-dark)}
.section--ink .index-row:hover{background:rgba(244,242,238,.06)}
.section--ink .index-row p{color:#b9c2cc}
.section--ink .index-row .meta,.section--ink .index-row .go{color:#93a2ae}

/* ------------------------------------------------------------- colunas -- */

.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(22px,3vw,44px);row-gap:clamp(22px,2.4vw,34px)}
.cols--4{grid-template-columns:repeat(4,1fr)}
.cols--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1120px){.cols--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.cols,.cols--4,.cols--2{grid-template-columns:1fr}}
.col{border-top:1px solid var(--line);padding-top:1.2rem;display:flex;flex-direction:column;gap:.7rem}
.col h3{font-size:var(--fs-h3)}
.col p{font-size:var(--fs-small);color:var(--muted);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.section--ink .col{border-color:var(--line-dark)}
.section--ink .col p{color:#b9c2cc}

/* --------------------------------------------------------------- listas -- */

.list-plain{list-style:none;margin:0;padding:0;display:grid}
.list-plain li{
  color:var(--muted);font-size:var(--fs-small);
  padding-block:.68rem;border-bottom:1px solid var(--line-soft);
}
.list-plain li:first-child{border-top:1px solid var(--line-soft)}
.list-plain li b{display:block;color:var(--ink);font-weight:600;font-size:.98rem;margin-bottom:.1rem}

.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 clamp(18px,2.6vw,40px)}
.terms li{list-style:none;font-size:var(--fs-small);color:var(--text);padding-block:.72rem;border-bottom:1px solid var(--line-soft)}

/* ------------------------------------------------------------ situações -- */

.sit{border-top:1px solid var(--line)}
.sit > div{
  display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,2.1fr);
  gap:clamp(14px,3.5vw,52px);padding-block:clamp(22px,2.9vw,34px);
  border-bottom:1px solid var(--line-soft);align-items:start;
}
@media (max-width:860px){.sit > div{grid-template-columns:1fr;gap:8px}}
.sit h3{font-size:var(--fs-h3)}
.sit p{font-size:var(--fs-small);color:var(--muted);text-align:justify;hyphens:auto}
@media (max-width:700px){.sit p{text-align:left;hyphens:manual}}

/* ---------------------------------------------------------- área/bloco -- */

.area-block{
  display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);
  gap:clamp(20px,4.5vw,72px);padding-block:clamp(32px,4.2vw,56px);
  border-top:1px solid var(--line);align-items:start;
}
.area-block:first-of-type{border-top:0;padding-top:0}
@media (max-width:900px){.area-block{grid-template-columns:1fr;gap:18px}}
.area-block h2{font-size:var(--fs-h2)}
.area-block .lede{font-size:.97rem;margin-top:.9rem}

/* --------------------------------------------------------------- equipe -- */

.team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.6vw,56px)}
@media (max-width:1120px){.team{grid-template-columns:1fr;max-width:440px}}
.person{
  display:grid;grid-template-rows:auto auto 1fr auto auto;gap:1rem;
  align-items:start;justify-items:start;height:100%;
}
@media (max-width:1120px){.person{height:auto}}
.person img{width:100%;max-width:208px;filter:grayscale(1) contrast(1.03)}
.person h3{font-size:var(--fs-h3)}
.person .role{font-size:clamp(.62rem,.72vw,.7rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-top:.4rem;line-height:1.55}
.person .bio{font-size:var(--fs-small);color:var(--muted);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.person .formacao{font-size:var(--fs-small);color:var(--muted)}
@media (max-width:700px){.person .bio{text-align:left;hyphens:manual}}
.person .lines{font-size:var(--fs-small);color:var(--muted);display:grid;gap:.12rem}
.person .lines a{text-decoration:none;border-bottom:1px solid var(--line-soft)}
.person .lines a:hover{border-color:var(--ink)}

/* subgrade: foto, nome, biografia, formação e contatos alinham nas três colunas */
@supports (grid-template-rows: subgrid){
  @media (min-width:1121px){
    .team{grid-template-rows:repeat(5,auto)}
    .person{grid-row:span 5;grid-template-rows:subgrid;height:auto}
  }
}

/* --------------------------------------------------------------- artigo -- */

.article{max-width:none;display:flex;flex-direction:column;gap:1.1em}
.article h2{font-size:var(--fs-h2);margin-top:1.2em}
.article p{color:var(--text);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.article ul{margin:0;padding-left:1.1rem;color:var(--muted);display:grid;gap:.5rem;font-size:var(--fs-small)}
.article blockquote{
  margin:.4em 0;padding-left:1.3rem;border-left:2px solid var(--moss);
  font-family:var(--disp);font-variation-settings:"wdth" 112;font-weight:500;
  font-size:1.16rem;line-height:1.36;letter-spacing:-.02em;color:var(--ink);
}
.article .meta{font-size:var(--fs-label);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}

/* --------------------------------------------------------------- tabela -- */

.table-wrap{overflow-x:auto;border-top:1px solid var(--line)}
.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-small);min-width:620px}
.data-table th{
  text-align:left;font-weight:600;font-size:var(--fs-label);letter-spacing:.16em;
  text-transform:uppercase;color:var(--moss);padding:.85rem 1.2rem .85rem 0;
  border-bottom:1px solid var(--line);vertical-align:bottom;
}
.data-table td{padding:.9rem 1.2rem .9rem 0;border-bottom:1px solid var(--line-soft);color:var(--muted);vertical-align:top}
.data-table td:first-child{color:var(--ink)}
.data-table tbody tr:hover{background:var(--paper-2)}

/* ------------------------------------------------------------- contato -- */

.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.8vw,40px)}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.contact-item{border-top:1px solid var(--line);padding-top:1.2rem}
.contact-item h3{font-size:var(--fs-h3);margin-bottom:.5rem}
.contact-item p,.contact-item a{font-size:var(--fs-small);color:var(--muted);text-decoration:none}
.contact-item a:hover{color:var(--ink)}

.form{display:grid;gap:20px;width:100%}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:680px){.form .row{grid-template-columns:1fr}}
.form label{
  display:block;font-size:var(--fs-label);font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--moss);margin-bottom:.45rem;
}
.form input,.form textarea,.form select{
  width:100%;padding:.8em .9em;border:1px solid var(--line);
  background:#fff;font-family:var(--sans);font-size:var(--fs-small);
  color:var(--ink);border-radius:0;transition:border-color .18s ease,box-shadow .18s ease;
}
.form input::placeholder,.form textarea::placeholder{color:#9aa3ad}
.form input:hover,.form textarea:hover,.form select:hover{border-color:var(--mesh)}
.form input:focus,.form textarea:focus,.form select:focus{
  border-color:var(--moss);outline:none;box-shadow:0 0 0 2px rgba(51,70,60,.14);
}
.form .req{
  float:right;font-size:calc(var(--fs-label) * .95);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}
.form textarea{min-height:128px;resize:vertical}
.form .consent{font-size:.82rem;color:var(--muted);line-height:1.55}
.form .consent input{width:auto;margin-right:.5em;padding:0;border:1px solid var(--line);accent-color:var(--moss)}
.form .disclaimer{font-size:.8rem;color:var(--muted);line-height:1.6;border-left:2px solid var(--moss);padding-left:1rem;text-align:justify;hyphens:auto}

/* --------------------------------------------------------------- footer -- */

.site-footer{background:var(--ink);color:#b9c2cc;padding-block:clamp(46px,5.5vw,78px)}
.site-footer a{color:#b9c2cc;text-decoration:none}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(28px,3.6vw,60px)}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.site-footer img.f-logo{width:clamp(180px,17vw,236px);margin-bottom:1.6rem}
.site-footer h4{font-size:var(--fs-label);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;font-size:var(--fs-small)}
.site-footer p{font-size:var(--fs-small);line-height:1.7}
.footer-bottom{
  margin-top:clamp(32px,4vw,54px);padding-top:24px;border-top:1px solid var(--line-dark);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.76rem;color:#7b8794;
}

/* ------------------------------------------------------------ marcações -- */

.todo{background:rgba(51,70,60,.12);border-bottom:1px dashed var(--moss);color:var(--moss);padding:0 .3em}
.site-footer .todo,.section--ink .todo{background:rgba(244,242,238,.12);color:#c3ccd5;border-color:#7b8794}

.notice{
  border-left:2px solid var(--moss);padding:.2rem 0 .2rem 1.2rem;
  font-size:var(--fs-small);color:var(--muted);max-width:none;
  text-align:justify;hyphens:auto;
}
@media (max-width:700px){.notice,.form .disclaimer{text-align:left;hyphens:manual}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ------------------------------------------------------- página legal -- */

.legal-intro{display:flex;flex-direction:column;gap:1rem;margin-bottom:clamp(30px,4vw,48px)}
.legal-intro p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;color:var(--text)}

.legal-toc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:1.6rem;margin-bottom:clamp(30px,4vw,52px)}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem 2.4rem}
@media (max-width:700px){.legal-toc ol{grid-template-columns:1fr}}
.legal-toc a{display:flex;gap:.9rem;text-decoration:none;font-size:var(--fs-small);color:var(--muted);padding-block:.35rem}
.legal-toc a:hover{color:var(--ink)}
.legal-toc .n{color:var(--moss);font-variant-numeric:tabular-nums;font-size:.76rem;padding-top:.15rem}

.legal-sec{padding-block:clamp(22px,3vw,34px);border-top:1px solid var(--line-soft);scroll-margin-top:110px}
.legal-sec:first-of-type{border-top:0}
.legal-sec h2{font-size:var(--fs-h3);display:flex;gap:.9rem;align-items:baseline;margin-bottom:1rem}
.legal-sec h2 .n{color:var(--moss);font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.legal-sec p{font-size:var(--fs-small);color:var(--text);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.legal-sec p + p,.legal-sec p + ol,.legal-sec ol + p{margin-top:.85rem}
.legal-sec .endereco{
  text-align:left;hyphens:manual;color:var(--ink);line-height:1.8;
  border-left:2px solid var(--moss);padding-left:1.1rem;
}
.legal-sec .endereco a{text-decoration:none;border-bottom:1px solid var(--line)}
ol.alfa{list-style:lower-alpha;margin:0;padding-left:1.5rem;display:grid;gap:.55rem}
ol.alfa li{font-size:var(--fs-small);color:var(--muted);text-align:justify;hyphens:auto;padding-left:.2rem}
@media (max-width:700px){
  .legal-intro p,.legal-sec p,ol.alfa li{text-align:left;hyphens:manual}
}

/* --------------------------------------------------- cookies: aviso e painel --
   Banner discreto na base e painel de preferências com a relação de cookies.
   Nenhum cookie não essencial é gravado antes da escolha do visitante.       */
.link-btn{
  background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;
  cursor:pointer;text-align:left;
}
.site-footer .link-btn{color:#b9c2cc;transition:color .2s ease}
.site-footer .link-btn:hover{color:#fff}

.ck[hidden],.ck-modal[hidden]{display:none}
.ck{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--paper);border-top:1px solid var(--ink);
  box-shadow:0 -18px 40px -34px rgba(13,27,45,.8);
  padding-block:clamp(14px,1.8vw,22px);
  padding-bottom:calc(clamp(14px,1.8vw,22px) + env(safe-area-inset-bottom,0px));
}
.ck-bar{display:flex;align-items:center;gap:clamp(16px,3vw,44px);flex-wrap:wrap}
.ck-bar p{font-size:var(--fs-small);color:var(--text);flex:1 1 34ch;min-width:0;
  text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ck-acoes{display:flex;gap:.6rem;flex-wrap:wrap}

.btn--sm{padding:.85em 1.4em;font-size:.7rem;letter-spacing:.14em}
.ck .btn:not(.btn--solid),.ck-foot .btn:not(.btn--solid){background:transparent;color:var(--ink)}
.ck .btn:not(.btn--solid):hover,.ck-foot .btn:not(.btn--solid):hover{background:var(--ink);color:var(--paper)}

.ck-modal{
  position:fixed;inset:0;z-index:70;background:rgba(13,27,45,.45);
  display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);
}
.ck-box{
  background:var(--paper);border:1px solid var(--ink);width:min(100%,820px);
  max-height:min(88vh,860px);display:flex;flex-direction:column;
}
.ck-head{position:relative;padding:clamp(20px,2.6vw,30px) clamp(20px,3vw,40px) clamp(14px,1.8vw,20px);
  border-bottom:1px solid var(--line)}
.ck-head .label{margin-bottom:.7rem}
.ck-head h2{font-size:var(--fs-h3)}
.ck-fechar{
  position:absolute;top:clamp(12px,1.6vw,18px);right:clamp(12px,1.8vw,22px);
  background:none;border:0;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:.2rem .4rem;
}
.ck-fechar:hover{color:var(--ink)}
.ck-corpo{padding:clamp(16px,2.2vw,26px) clamp(20px,3vw,40px);overflow-y:auto}
.ck-corpo > p{font-size:var(--fs-small);color:var(--muted);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ck-cat{border-top:1px solid var(--line-soft);margin-top:clamp(16px,2vw,24px);padding-top:clamp(14px,1.8vw,20px)}
.ck-cat p{font-size:var(--fs-small);color:var(--muted);margin-top:.6rem;
  text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ck-cat-head{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}
.ck-cat-head h3{font-size:1rem}
.ck-fixo{font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}

.ck-sw{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;
  font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ck-sw input{position:absolute;opacity:0;width:1px;height:1px}
.ck-sw-box{position:relative;width:42px;height:20px;border:1px solid var(--ink);background:transparent;flex:none}
.ck-sw-box::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;
  background:var(--ink);transition:transform .18s ease}
.ck-sw input:checked + .ck-sw-box{border-color:var(--moss);background:rgba(51,70,60,.12)}
.ck-sw input:checked + .ck-sw-box::after{transform:translateX(22px);background:var(--moss)}
.ck-sw input:focus-visible + .ck-sw-box{outline:2px solid var(--moss);outline-offset:2px}
.ck-sw input:checked ~ .ck-sw-txt{color:var(--moss)}

.ck-tab{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.82rem}
.ck-tab th{
  text-align:left;font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);padding:.5rem .8rem .5rem 0;border-bottom:1px solid var(--line-soft);
}
.ck-tab td{padding:.7rem .8rem .7rem 0;border-bottom:1px solid var(--line-soft);color:var(--muted);vertical-align:top}
.ck-nota{margin-top:clamp(16px,2vw,24px);font-size:var(--fs-small);color:var(--muted)}
.ck-foot{
  display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;
  padding:clamp(14px,1.8vw,20px) clamp(20px,3vw,40px);border-top:1px solid var(--line);
}
@media (max-width:720px){
  .ck-bar p{text-align:left;hyphens:manual}
  .ck-acoes,.ck-foot{width:100%}
  .ck-acoes .btn,.ck-foot .btn{flex:1 1 auto;justify-content:center}
  .ck-tab,.ck-tab thead,.ck-tab tbody,.ck-tab tr,.ck-tab th,.ck-tab td{display:block}
  .ck-tab thead{display:none}
  .ck-tab td{border-bottom:0;padding:.15rem 0}
  .ck-tab tr{border-bottom:1px solid var(--line-soft);padding-block:.7rem}
}

.form-lista{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.6rem}
.form-lista li{font-size:var(--fs-small);padding-left:1rem;position:relative;line-height:1.45}
.form-lista li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:1px;background:var(--moss)}
.form-lista b{display:block;font-weight:600;color:var(--ink)}
.form-lista span{display:block;color:var(--muted)}

/* ------------------------------------------------------------------ mapa --
   O iframe do Google Maps só entra na página depois do clique. Antes disso
   fica uma moldura com o aviso, e nada é pedido a terceiros.              */
.mapa{
  margin-top:clamp(20px,2.6vw,32px);width:100%;aspect-ratio:4/3;
  border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;
}
.mapa-aviso{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  gap:.9rem;padding:clamp(16px,2vw,26px);
}
.mapa-aviso .label{margin-bottom:0}
.mapa-aviso p{font-size:var(--fs-small);color:var(--muted);line-height:1.55}
.mapa-aviso .btn{align-self:flex-start}
.mapa iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) contrast(1.02)}
.mapa.is-carregado{background:var(--paper-2)}
@media (max-width:900px){.mapa{aspect-ratio:3/2}}
