@font-face{font-family:"Noto Serif";src:url("../fonts/noto-serif-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}
@font-face{font-family:"Manrope";src:url("../fonts/manrope-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:"Manrope";src:url("../fonts/manrope-600.woff2") format("woff2");font-weight:600;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:"Serif Escora";src:local("Georgia"),local("Times New Roman");size-adjust:111%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Grotesca Escora";src:local("Helvetica Neue"),local("Arial");size-adjust:104%;ascent-override:103%;descent-override:29%;line-gap-override:0%}

:root{
  --td-papel:#ffffff;
  --td-areia:#f5f7fa;
  --td-tinta:#0d0d12;
  --td-tinta-branda:#565d6b;
  --td-acento:#1f5fd6;
  --td-acento-fundo:#17489f;
  --td-fio:#dde3ec;
  --td-larg:1140px;
  --td-margem:clamp(20px,5vw,44px);
  --td-capsula:999px;
  --td-serif:"Noto Serif","Serif Escora",Georgia,serif;
  --td-grot:"Manrope","Grotesca Escora","Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--td-papel);color:var(--td-tinta);font-family:var(--td-grot);font-size:17px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none !important}
a{color:var(--td-acento)}
:focus-visible{outline:2px solid var(--td-acento);outline-offset:3px;border-radius:2px}
.td-envolve{width:100%;max-width:var(--td-larg);margin-inline:auto;padding-inline:var(--td-margem)}
.td-oculto{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.td-saltar{position:absolute;left:-9999px;top:8px;z-index:60;background:var(--td-acento);color:#fff;padding:12px 22px;border-radius:var(--td-capsula);font-weight:600}
.td-saltar:focus{left:16px}

h1,h2,h3{font-family:var(--td-serif);font-weight:700;color:var(--td-tinta);letter-spacing:-0.018em;margin:0}
h1{font-size:clamp(2.35rem,1.5rem + 3.4vw,4rem);line-height:1.08}
h2{font-size:clamp(1.75rem,1.3rem + 1.7vw,2.6rem);line-height:1.16}
h3{font-size:1.16rem;line-height:1.35;letter-spacing:-0.008em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
.td-lede{font-size:clamp(1.06rem,1rem + .35vw,1.28rem);line-height:1.6;color:var(--td-tinta-branda)}
.td-etiqueta{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--td-acento);margin:0 0 18px}
.td-texto-brando{color:var(--td-tinta-branda)}

.td-acao{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 30px;border-radius:var(--td-capsula);border:2px solid transparent;font-family:var(--td-grot);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;background:none;color:var(--td-acento);transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.td-acao--cheia{background:var(--td-acento);border-color:var(--td-acento);color:#fff}
.td-acao--cheia:hover{background:var(--td-acento-fundo);border-color:var(--td-acento-fundo);transform:translateY(-1px)}
.td-acao--contorno{border-color:var(--td-acento);color:var(--td-acento)}
.td-acao--contorno:hover{background:var(--td-acento);color:#fff;transform:translateY(-1px)}
.td-acao--letra{min-height:auto;padding:6px 2px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.td-acao--letra:hover{color:var(--td-acento-fundo);text-decoration-thickness:2px}
.td-acao:active{transform:translateY(1px)}

.td-topo{position:sticky;top:0;z-index:40;background:var(--td-papel)}
.td-topo[data-td-sombra="1"]{box-shadow:0 6px 26px rgba(13,13,18,.08)}
.td-topo__barra{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.td-marca{font-family:var(--td-serif);font-size:1.42rem;letter-spacing:-0.02em;color:var(--td-tinta);text-decoration:none;padding:8px 0}
.td-marca__eco{color:var(--td-acento)}
.td-topo__gatilho{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:10px 20px;border:2px solid var(--td-fio);border-radius:var(--td-capsula);background:var(--td-papel);color:var(--td-tinta);font-family:var(--td-grot);font-size:.95rem;font-weight:600;cursor:pointer}
.td-topo__gatilho svg{width:16px;height:16px}
.td-topo__lista{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.td-topo__ponte{display:inline-flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:var(--td-capsula);color:var(--td-tinta);font-size:.97rem;font-weight:600;text-decoration:none}
.td-topo__ponte:hover{background:var(--td-areia);color:var(--td-acento)}

.td-tile{display:flex;flex-direction:column;gap:14px;background:var(--td-papel)}
.td-tile__cabeca{display:flex;align-items:center;gap:14px}
.td-tile__selo{width:56px;height:56px;border-radius:14px;flex:none}
.td-tile__nome{font-size:1.18rem}
.td-tile__autor{display:block;margin-top:3px;font-size:.87rem;font-weight:400;color:var(--td-tinta-branda);font-family:var(--td-grot);letter-spacing:0}
.td-tile__medida{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--td-tinta-branda);margin:0}
.td-tile__medida strong{color:var(--td-tinta);font-size:1.02rem}
.td-tile__medida svg{width:17px;height:17px;flex:none;color:var(--td-acento)}
.td-tile__genero{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--td-acento);margin:0}
.td-tile__cena{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;background:var(--td-areia)}
.td-tile__corpo{margin:0;color:var(--td-tinta-branda)}
.td-tile__corpo strong{color:var(--td-tinta);font-weight:600}

.td-quadro__rolo{overflow-x:auto;padding-bottom:6px}
.td-quadro__rolo:focus-visible{outline:2px solid var(--td-acento);outline-offset:4px}
table{width:100%;min-width:720px;border-collapse:collapse;font-size:.96rem;text-align:left}
caption{text-align:left;font-size:.95rem;color:var(--td-tinta-branda);padding-bottom:16px}
thead th{font-family:var(--td-grot);font-size:.79rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--td-tinta);padding:0 16px 12px 0;border-bottom:1px solid var(--td-fio);vertical-align:bottom}
tbody th{font-family:var(--td-serif);font-size:1.02rem;font-weight:700;letter-spacing:-0.01em;padding:16px 20px 16px 14px;vertical-align:top;width:23%}
tbody td{padding:16px 16px 16px 0;color:var(--td-tinta-branda);vertical-align:top}
tbody tr:nth-child(odd){background:var(--td-areia)}
tbody th:first-child{border-radius:12px 0 0 12px}
tbody td:last-child{border-radius:0 12px 12px 0;padding-right:14px}
.td-sinal{display:inline-flex;align-items:center;gap:7px}
.td-sinal svg{width:15px;height:15px;flex:none;color:var(--td-acento)}

.td-perguntas__fila{border-radius:18px;background:var(--td-areia);margin-bottom:10px;overflow:hidden}
.td-perguntas__gatilho{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:62px;padding:18px 22px;border:0;background:none;color:var(--td-tinta);font-family:var(--td-serif);font-size:1.08rem;font-weight:700;letter-spacing:-0.01em;line-height:1.35;text-align:left;cursor:pointer}
.td-perguntas__gatilho svg{width:18px;height:18px;flex:none;color:var(--td-acento);transition:transform .22s ease}
.td-perguntas__gatilho[aria-expanded="true"] svg{transform:rotate(45deg)}
.td-perguntas__resposta{padding:0 22px 22px;color:var(--td-tinta-branda)}
.td-perguntas__resposta p{max-width:72em}

.td-aviso{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:660px;margin-inline:auto;padding:20px 22px;border-radius:20px;background:var(--td-papel);box-shadow:0 16px 48px rgba(13,13,18,.16)}
.td-aviso__texto{font-size:.93rem;color:var(--td-tinta-branda);margin:0 0 14px;max-width:40em}
.td-aviso__botoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.td-aviso .td-acao{min-height:46px;padding:10px 24px;font-size:.93rem}

.td-subir{position:fixed;right:18px;bottom:18px;z-index:45;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:var(--td-capsula);background:var(--td-acento);color:#fff;cursor:pointer;box-shadow:0 10px 26px rgba(31,95,214,.32)}
.td-subir svg{width:20px;height:20px}
.td-subir:hover{background:var(--td-acento-fundo);transform:translateY(-1px)}

.td-rodape{background:var(--td-papel);padding:0 0 46px}
.td-rodape__contacto{background:var(--td-areia);border-radius:26px;padding:clamp(28px,4vw,52px);margin-bottom:54px}
.td-rodape__contacto h2{margin-bottom:14px}
.td-rodape__linha{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.td-rodape__correio{font-family:var(--td-serif);font-size:clamp(1.15rem,1rem + .7vw,1.6rem);color:var(--td-acento);text-decoration:none;text-underline-offset:6px}
.td-rodape__correio:hover{text-decoration:underline}
.td-rodape__grelha{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.td-rodape__titulo{font-family:var(--td-grot);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--td-tinta-branda);margin:0 0 14px}
.td-rodape__lista{list-style:none;margin:0;padding:0}
.td-rodape__lista li{margin-bottom:4px}
.td-rodape__lista a{display:inline-flex;align-items:center;min-height:44px;color:var(--td-tinta);text-decoration:none;font-size:.97rem}
.td-rodape__lista a:hover{color:var(--td-acento);text-decoration:underline;text-underline-offset:4px}
.td-rodape__morada{font-size:.93rem;color:var(--td-tinta-branda);font-style:normal}
.td-rodape__morada--par{margin-top:22px}
.td-rodape__creditos{margin:46px 0 0;font-size:.88rem;color:var(--td-tinta-branda)}

.td-stage{padding:clamp(56px,9vw,112px) 0 clamp(48px,7vw,84px);text-align:center}
.td-stage__titulo{max-width:9em;margin-inline:auto}
.td-stage__lede{margin:26px auto 0;max-width:60ch}
.td-stage__accoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px}
.td-stage__rodape{margin-top:30px;font-size:.87rem;letter-spacing:.06em;text-transform:uppercase;color:var(--td-tinta-branda)}

.td-metodo{padding:clamp(52px,8vw,104px) 0}
.td-metodo__par{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:start}
.td-metodo__cabeca p{max-width:34em}
.td-metodo__lede{margin-top:20px}
.td-metodo__extra{margin-top:26px;font-size:.96rem;color:var(--td-tinta-branda)}
.td-metodo__lista{list-style:none;margin:0;padding:0;display:grid;gap:34px}
.td-metodo__item{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start}
.td-metodo__numero{font-family:var(--td-serif);font-size:1.5rem;color:var(--td-acento);line-height:1.1}
.td-metodo__item p{margin:9px 0 0;color:var(--td-tinta-branda)}

.td-catalogo{padding:clamp(46px,6vw,76px) 0;background:var(--td-areia)}
.td-catalogo__intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}
.td-catalogo__intro p{max-width:46ch;margin:0;color:var(--td-tinta-branda)}
.td-catalogo__grelha{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 24px;align-items:start}
.td-catalogo__grelha .td-tile{padding:24px;border-radius:22px}
/* a primeira ficha ocupa duas linhas para quebrar o alinhamento de grelha */
.td-tile--proa{grid-area:1/1/3/2}
.td-tile--proa .td-tile__cena{margin-top:4px}
.td-tile--b{grid-area:1/2/2/3}
.td-tile--c{grid-area:1/3/2/4}
.td-tile--d{grid-area:2/2/3/3}
.td-tile--e{grid-area:2/3/3/4}

.td-quadro{padding:clamp(52px,8vw,104px) 0}
.td-quadro__cabeca{margin-bottom:38px}
.td-quadro__cabeca p{margin-top:18px;max-width:54ch;color:var(--td-tinta-branda)}
.td-quadro__nota{margin-top:26px;font-size:.92rem;color:var(--td-tinta-branda);max-width:78ch}

.td-perguntas{padding:0 0 clamp(56px,8vw,104px)}
.td-perguntas__cabeca{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin-bottom:34px}
.td-perguntas__cabeca p{margin:0;color:var(--td-tinta-branda)}

.td-legal{padding:clamp(40px,6vw,76px) 0 clamp(56px,8vw,96px)}
.td-legal__lede{margin-top:22px;max-width:62ch}
.td-legal__data{margin-top:22px;font-size:.92rem;color:var(--td-tinta-branda)}
.td-legal__corpo{margin-top:42px}
.td-legal__corpo h2{font-size:clamp(1.28rem,1.1rem + .7vw,1.6rem);margin:44px 0 14px}
.td-legal__corpo h3{margin:28px 0 10px}
.td-legal__corpo p,.td-legal__corpo li{color:var(--td-tinta-branda);max-width:74ch}
.td-legal__corpo ul,.td-legal__corpo ol{padding-left:22px;margin:0 0 1.05em}
.td-legal__corpo li{margin-bottom:8px}
.td-legal__corpo table{min-width:640px;font-size:.92rem}
.td-legal__corpo thead th{padding-bottom:10px}
.td-legal__corpo tbody th{font-family:var(--td-grot);font-size:.93rem;width:auto}
.td-legal__voltar{margin-top:44px}
.td-perdido{padding:clamp(70px,12vw,150px) 0;text-align:center}
.td-perdido p{margin:24px auto 0;max-width:52ch}
.td-perdido__accoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px}

[data-td-mov="1"] .td-revela{opacity:0;transform:translateY(20px)}
[data-td-mov="1"] .td-revela.esta-visivel{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
[data-td-mov="1"] .td-catalogo__grelha .td-tile:nth-child(2).esta-visivel,[data-td-mov="1"] .td-metodo__item:nth-child(2).esta-visivel{transition-delay:.08s}
[data-td-mov="1"] .td-catalogo__grelha .td-tile:nth-child(3).esta-visivel,[data-td-mov="1"] .td-metodo__item:nth-child(3).esta-visivel{transition-delay:.16s}
[data-td-mov="1"] .td-catalogo__grelha .td-tile:nth-child(4).esta-visivel,[data-td-mov="1"] .td-metodo__item:nth-child(4).esta-visivel{transition-delay:.22s}

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){
  [data-td-mov="1"] .td-revela{opacity:1;transform:none}
  .td-acao,.td-subir,.td-perguntas__gatilho svg{transition:none}
}

@media (max-width:1040px){
  .td-metodo__par{grid-template-columns:1fr;gap:38px}
  .td-catalogo__grelha{grid-template-columns:repeat(2,1fr)}
  .td-tile--proa,.td-tile--b,.td-tile--c,.td-tile--d,.td-tile--e{grid-area:auto}
  .td-rodape__grelha{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:820px){
  .td-topo__gatilho{display:inline-flex}
  .td-topo__nav{display:none;width:100%;order:3;padding-bottom:16px}
  .td-topo__nav.esta-aberta{display:block}
  .td-topo__barra{flex-wrap:wrap}
  .td-topo__lista{flex-direction:column;align-items:stretch;gap:2px}
  .td-topo__ponte{padding:14px 12px}
  .td-perguntas__cabeca{grid-template-columns:1fr;gap:16px}
}
@media (min-width:821px){
  .td-topo__gatilho{display:none}
  .td-topo__nav{display:block}
}
@media (max-width:640px){
  body{font-size:16px}
  .td-catalogo__grelha{grid-template-columns:1fr}
  .td-rodape__grelha{grid-template-columns:1fr;gap:22px}
  .td-stage__accoes .td-acao,.td-perdido__accoes .td-acao{width:100%}
  /* o banner fica com largura total para nao roubar area de leitura no telemovel */
  .td-aviso{left:10px;right:10px;bottom:10px;padding:18px}
  .td-subir{right:12px;bottom:86px}
}
