/* variaveis */
:root{
  --tinta:#212529;
  --papel:#ffffff;
  --realce:#8A2B22;
  --cinza:#565b60;
  --medida:36em;
}

/* reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta)}
img{display:block;max-width:100%}
svg{display:block}
ul,ol{margin:0;padding:0}
figure,blockquote,dl,dd{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0}
table{border-collapse:collapse}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--realce);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* tipos */
@font-face{
  font-family:"IBM Plex Sans";
  src:url("assets/fonts/plexsans-400.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"IBM Plex Mono";
  src:url("assets/fonts/plexmono-400.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"IBM Plex Mono";
  src:url("assets/fonts/plexmono-700.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body{
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  font-size:1.125rem;
  line-height:1.67;
  font-weight:400;
}
h1,h2,h3{
  font-family:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-weight:700;
  margin:0;
}
h1{font-size:clamp(2.25rem,5.6vw,3.5rem);line-height:1.2}
h2{font-size:clamp(1.5rem,3.4vw,1.875rem);line-height:1.25}
h3{font-size:1.5625rem;line-height:1.28}
p{margin:0}
a{color:var(--tinta)}
strong{font-weight:700}
.bt-limite{width:100%;max-width:1160px;margin:0 auto;padding-inline:clamp(20px,5vw,40px)}
.bt-medida{max-width:var(--medida)}
.bt-rubrica{
  font-family:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-size:.75rem;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;
  color:var(--cinza);margin-bottom:18px;
}
.bt-rubrica__numero{color:var(--realce);font-weight:700;margin-right:12px}
.bt-nota{font-size:.9375rem;line-height:1.6;color:var(--cinza)}
.bt-saltar{
  position:absolute;left:-9999px;top:0;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-size:.9375rem;
}
.bt-saltar:focus{
  position:fixed;left:16px;top:16px;z-index:70;
  background:var(--tinta);color:var(--papel);
  padding:14px 26px;border-radius:999px;text-decoration:none;
}

/* cabecalho */
.bt-cabecalho{padding-block:clamp(22px,3vw,34px) 10px}
.bt-cabecalho__interior{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px}
.bt-marca{
  font-family:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-weight:700;font-size:1.375rem;letter-spacing:.02em;
  color:var(--tinta);text-decoration:none;
  display:inline-flex;align-items:center;min-height:48px;
}
.bt-marca__realce{color:var(--realce)}
.bt-marca--rodape{font-size:1.25rem;min-height:0;margin-bottom:10px}
.bt-navegacao{flex:0 1 auto}
.bt-navegacao__lista{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px;list-style:none}
.bt-navegacao__ligacao{
  font-family:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-size:.9375rem;color:var(--tinta);text-decoration:none;
  display:inline-flex;align-items:center;min-height:48px;
  padding-inline:2px;border-bottom:2px solid transparent;
}
.bt-navegacao__ligacao:hover,.bt-navegacao__ligacao:focus-visible{border-bottom-color:var(--realce)}
.bt-navegacao__ligacao[aria-current="page"]{border-bottom-color:var(--realce)}
.bt-navegacao__botao{
  display:none;width:48px;height:48px;border-radius:999px;
  border:1px solid var(--tinta);align-items:center;justify-content:center;cursor:pointer;
}
.bt-navegacao__botao:hover{background:var(--tinta);color:var(--papel)}
@media (max-width:880px){
  .bt-navegacao__botao{display:inline-flex}
  .bt-navegacao{flex:1 0 100%;display:none}
  .bt-navegacao.esta-aberta{display:block}
  .bt-navegacao__lista{flex-direction:column;align-items:flex-start;gap:0;padding-block:8px 12px}
  .bt-navegacao__ligacao{width:100%}
}

/* rodape */
.bt-rodape{padding-block:clamp(40px,6vw,64px) clamp(36px,5vw,56px)}
.bt-rodape__interior{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,4vw,56px);align-items:start;
}
.bt-rodape__texto{font-size:.9375rem;line-height:1.6;color:var(--cinza);max-width:26em}
.bt-rodape__rotulo{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cinza);margin-bottom:10px;
}
.bt-rodape__ligacoes{display:flex;flex-direction:column;gap:8px}
.bt-rodape__ligacoes a,.bt-rodape__correio a{font-size:.9375rem;color:var(--tinta);text-decoration:none;border-bottom:1px solid rgba(33,37,41,.35);align-self:flex-start}
.bt-rodape__ligacoes a:hover,.bt-rodape__correio a:hover{color:var(--realce);border-bottom-color:var(--realce)}
.bt-rodape__correio a{word-break:break-word}
.bt-rodape__creditos{margin-top:clamp(32px,5vw,52px);font-size:.75rem;line-height:1.7;color:var(--cinza);font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace}
@media (max-width:760px){
  .bt-rodape__interior{grid-template-columns:1fr}
}

/* abertura */
.bt-abertura{padding-block:clamp(34px,5vw,64px) clamp(52px,8vw,92px);text-align:center}
.bt-abertura__interior{display:flex;flex-direction:column;align-items:center}
.bt-abertura__rotulo{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--realce);margin-bottom:22px;
}
.bt-abertura__marcador{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:clamp(1.125rem,2.6vw,1.5625rem);line-height:1.3;color:var(--realce);margin-bottom:16px;
}
.bt-abertura__titulo{max-width:14em}
.bt-abertura__lead{margin-top:24px;max-width:var(--medida);color:var(--tinta)}
.bt-abertura__montra{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:38px;list-style:none}
.bt-abertura__icone{width:60px;height:60px}
.bt-abertura__contagem{display:flex;align-items:baseline;justify-content:center;gap:16px;margin-top:36px}
.bt-abertura__numero{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:clamp(3rem,9vw,4.25rem);line-height:1;color:var(--realce);
}
.bt-abertura__legenda{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.9375rem;line-height:1.4;text-align:left;max-width:11em;
}
.bt-abertura__data{margin-top:12px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace}
.bt-abertura__accoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}

/* catalogo */
.bt-catalogo{padding-block:clamp(40px,6vw,72px) clamp(56px,8vw,96px)}
.bt-catalogo__intro{margin-top:22px;max-width:var(--medida);color:var(--cinza)}
.bt-catalogo__grelha{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(44px,6vw,80px) clamp(28px,4vw,56px);margin-top:clamp(40px,6vw,68px);
}
.bt-ficha{display:flex;flex-direction:column}
.bt-ficha--destaque{grid-column:1 / -1}
.bt-ficha__numero{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:2.5rem;line-height:1;color:var(--realce);margin-bottom:16px;
}
.bt-ficha--destaque .bt-ficha__numero{font-size:3.25rem}
.bt-ficha__cabeca{display:flex;align-items:center;gap:18px}
.bt-ficha__icone{width:64px;height:64px;flex:0 0 auto}
.bt-ficha--destaque .bt-ficha__icone{width:76px;height:76px}
.bt-ficha__titulo{font-size:1.25rem;line-height:1.3}
.bt-ficha--destaque .bt-ficha__titulo{font-size:1.5625rem}
.bt-ficha__autor{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cinza);margin-top:8px;
}
.bt-ficha__moldura{margin-top:22px;overflow:hidden;aspect-ratio:3 / 2}
.bt-ficha__moldura img{width:100%;height:100%;object-fit:cover;object-position:center}
.bt-ficha__moldura--larga{aspect-ratio:16 / 9}
.bt-ficha__corpo{margin-top:22px}
.bt-ficha--destaque .bt-ficha__corpo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,60px)}
.bt-ficha__texto{font-size:1rem;line-height:1.7}
.bt-ficha__texto--nota{margin-top:16px;font-size:.9375rem;color:var(--cinza)}
.bt-ficha__factos{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.bt-ficha--destaque .bt-ficha__factos{margin-top:0;grid-template-columns:1fr;gap:12px}
.bt-facto dt{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cinza);
}
.bt-facto dd{font-size:.9375rem;line-height:1.5;margin-top:3px}
.bt-citacao{
  margin-top:clamp(48px,7vw,84px);max-width:30em;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:clamp(1.125rem,2.4vw,1.5625rem);line-height:1.45;
}
.bt-citacao__autor{
  display:block;margin-top:18px;font-style:normal;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--realce);
}
@media (max-width:880px){
  .bt-catalogo__grelha{grid-template-columns:1fr}
  .bt-ficha--destaque .bt-ficha__corpo{grid-template-columns:1fr}
}

/* quadro */
.bt-quadro{padding-block:clamp(32px,5vw,60px) clamp(60px,9vw,112px)}
.bt-quadro__intro{margin-top:22px;max-width:var(--medida);color:var(--cinza)}
.bt-quadro__rolo{margin-top:clamp(30px,4vw,48px);overflow-x:auto}
.bt-quadro__rolo:focus-visible{outline:2px solid var(--realce);outline-offset:4px}
.bt-quadro__tabela{width:100%;min-width:880px;table-layout:fixed;font-size:.9375rem}
.bt-quadro__legenda{
  caption-side:top;text-align:left;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.1em;
  color:var(--cinza);padding-bottom:16px;max-width:52em;
}
.bt-quadro__tabela thead th{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:.6875rem;text-transform:uppercase;letter-spacing:.09em;
  text-align:left;vertical-align:bottom;padding:0 12px 12px;
  border-bottom:1px solid var(--tinta);
}
.bt-quadro__tabela tbody th,.bt-quadro__tabela tbody td{padding:14px 12px;text-align:left;vertical-align:top;line-height:1.45}
.bt-quadro__tabela tbody th{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:.8125rem;
}
.bt-quadro__tabela col:nth-child(1){width:14%}
.bt-quadro__tabela col:nth-child(2){width:11%}
.bt-quadro__tabela col:nth-child(3){width:11%}
.bt-quadro__tabela col:nth-child(4){width:7%}
.bt-quadro__tabela col:nth-child(5){width:7%}
.bt-quadro__tabela col:nth-child(6){width:10%}
.bt-quadro__tabela col:nth-child(7){width:10%}
.bt-quadro__tabela col:nth-child(8){width:8%}
.bt-quadro__tabela col:nth-child(9){width:7%}
.bt-quadro__tabela col:nth-child(10){width:7%}
.bt-quadro__tabela col:nth-child(11){width:8%}
.bt-quadro__tabela tbody tr:nth-child(even){background:#f5f4f2}
.bt-quadro__linha--realce > *{border-block:1px solid var(--realce)}
.bt-quadro__linha--realce > *:first-child{border-left:1px solid var(--realce)}
.bt-quadro__linha--realce > *:last-child{border-right:1px solid var(--realce)}
.bt-quadro__linha--realce + .bt-quadro__linha--realce > *{border-top:0}
.bt-quadro__linha--realce:has(+ .bt-quadro__linha--realce) > *{border-bottom:0}
.bt-sinal{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.bt-quadro__tabela td{overflow-wrap:normal;hyphens:none}
.bt-sinal--sim{color:var(--tinta)}
.bt-sinal--nao{color:var(--cinza)}
.bt-quadro__nota{margin-top:22px;max-width:46em;font-size:.875rem;line-height:1.65;color:var(--cinza)}
.bt-quadro__metodo{margin-top:clamp(34px,5vw,56px);max-width:44em;list-style:none;counter-reset:passo}
.bt-quadro__passo{counter-increment:passo;position:relative;padding-left:56px;margin-top:20px;font-size:1rem;line-height:1.65}
.bt-quadro__passo::before{
  content:counter(passo,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:1rem;color:var(--realce);
}
.bt-quadro__titulo-metodo{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:1.125rem;margin-top:clamp(34px,5vw,56px);
}

/* duvidas */
.bt-duvidas{padding-block:0 clamp(56px,8vw,96px)}
.bt-duvidas__lista{margin-top:clamp(30px,4vw,46px);display:flex;flex-direction:column;gap:12px}
.bt-duvidas__cabeca{margin:0;font-size:inherit;line-height:inherit;font-family:inherit;font-weight:400}
.bt-duvidas__pergunta{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;
  text-align:left;cursor:pointer;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:1rem;line-height:1.4;
  min-height:64px;padding:14px 26px;border:1px solid var(--tinta);border-radius:999px;
  transition:background-color .18s ease,color .18s ease;
}
.bt-duvidas__pergunta:hover{background:var(--tinta);color:var(--papel)}
.bt-duvidas__sinal{flex:0 0 auto}
.bt-duvidas__pergunta[aria-expanded="true"]{background:var(--tinta);color:var(--papel)}
.bt-duvidas__pergunta[aria-expanded="true"] .bt-duvidas__haste{opacity:0}
.bt-duvidas__resposta{padding:16px 26px 12px;max-width:44em}
.bt-duvidas__resposta p{font-size:1rem;line-height:1.7}

/* contacto */
.bt-contacto{padding-block:clamp(44px,6vw,76px) clamp(70px,10vw,118px)}
.bt-contacto__texto{margin-top:22px;max-width:var(--medida)}
.bt-contacto__endereco{
  margin-top:28px;
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:clamp(1.125rem,3vw,1.5625rem);
}
.bt-contacto__endereco a{color:var(--realce);text-decoration:none;border-bottom:1px solid var(--realce);word-break:break-word}
.bt-contacto__endereco a:hover{color:var(--tinta);border-bottom-color:var(--tinta)}
.bt-contacto__nota{margin-top:30px;max-width:44em;font-size:.9375rem;line-height:1.65;color:var(--cinza)}

/* legal */
.bt-legal{padding-block:clamp(28px,4vw,52px) clamp(60px,9vw,104px)}
.bt-legal__data{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cinza);margin-top:20px;
}
.bt-legal__corpo{max-width:44em}
.bt-legal__corpo h2{margin-top:clamp(38px,5vw,58px);font-size:1.375rem}
.bt-legal__corpo h3{margin-top:30px;font-size:1.0625rem}
.bt-legal__corpo p{margin-top:16px;font-size:1rem;line-height:1.75}
.bt-legal__corpo ul{margin-top:16px;list-style:none}
.bt-legal__corpo li{position:relative;padding-left:26px;margin-top:12px;font-size:1rem;line-height:1.7}
.bt-legal__corpo li::before{content:"";position:absolute;left:2px;top:.72em;width:9px;height:1px;background:var(--realce)}
.bt-legal__corpo a{color:var(--realce)}
.bt-erro{padding-block:clamp(48px,8vw,96px) clamp(72px,11vw,132px)}
.bt-erro__codigo{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-weight:700;
  font-size:clamp(3.5rem,12vw,5.5rem);line-height:1;color:var(--realce);
}
.bt-erro__texto{margin-top:24px;max-width:var(--medida)}
.bt-erro__accoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* aviso */
.bt-aviso{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--papel);
  border-top:1px solid var(--tinta);
  padding:18px clamp(20px,5vw,40px);
}
.bt-aviso__interior{
  max-width:1160px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;
}
.bt-aviso__texto{font-size:.875rem;line-height:1.6;max-width:44em}
@media (max-width:620px){
  .bt-aviso{padding-block:14px}
  .bt-aviso__texto{font-size:.8125rem;line-height:1.5}
  .bt-aviso__accoes{gap:10px}
}
.bt-aviso__accoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.bt-aviso__ligacao{
  font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-size:.8125rem;
  color:var(--tinta);display:inline-flex;align-items:center;gap:8px;min-height:48px;
  text-decoration:none;border-bottom:1px solid rgba(33,37,41,.35);
}
.bt-aviso__ligacao:hover{color:var(--realce);border-bottom-color:var(--realce)}

/* accoes */
.bt-accao{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:12px 28px;
  border:1px solid var(--tinta);border-radius:999px;
  font-family:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-size:.9375rem;line-height:1.2;text-decoration:none;color:var(--tinta);
  background:transparent;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.bt-accao:hover{background:var(--tinta);color:var(--papel)}
.bt-accao--tinta{background:var(--tinta);color:var(--papel)}
.bt-accao--tinta:hover{background:var(--realce);border-color:var(--realce);color:var(--papel)}
.bt-topo{
  position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(88px,14vw,132px);z-index:40;
  width:52px;height:52px;border-radius:999px;
  border:1px solid var(--tinta);background:var(--papel);color:var(--tinta);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}
.bt-topo:hover{background:var(--tinta);color:var(--papel)}
