/* ==========================================================================
   Sofia de Castro Fernandes · novo desenho (entrega de 16 Out 2026)

   Os valores desta folha são os dos seis ficheiros aprovados
   (Update/Site_Sofia_novo_desenho/*.html), copiados tal como estão: a Sofia
   aprovou o desenho «tal como está», por isso nada aqui é arredondado,
   harmonizado ou «melhorado». Onde uma página tem valores diferentes das
   outras (o h1 da página inicial é 80px, o da Agenda 72px, o das legais
   60px), a diferença fica, presa ao modelo da página:

     .pagina--inicio    página inicial, arquivo e edições da newsletter, 404
     .pagina--agenda    Agenda do Talento     (as duas são .pagina--interior)
     .pagina--percurso  Percurso
     .pagina--legal     as três páginas legais

   O que é do WordPress e não do desenho está assinalado. Duas peças repetem-se
   e convém conhecer antes de mexer:

   - `.accao` é o parágrafo que só existe para segurar um link. No desenho o
     <a> é filho direto da secção (ou item de uma fila flex); no editor de
     blocos um link tem de viver dentro de um parágrafo. No site o parágrafo
     passa a `display: contents` e o link volta a ocupar o lugar que tinha no
     desenho, sem um píxel a mais. O prefixo `.wp-site-blocks` mantém isto
     fora do editor, onde um parágrafo sem caixa não se deixava editar.
   - Os formulários são do Fluent Forms. A marcação é dele (fieldset, grupos,
     etiquetas em divs); as regras da secção «Formulários» é que a levam à
     aparência dos campos de sublinhado do desenho.

   A exceção são as duas últimas secções. «Site completo» (17 Out 2026): o
   João pediu um site com páginas próprias em vez da página única do desenho,
   menu em lista no telemóvel, fotografias maiores e ao centro, datas por
   extenso e formulários com cor e transição no foco. «Telemóvel e tablet»:
   o desenho só foi testado a 1440 e a 390 px, e o que lá está trata dos
   ecrãs pelo meio e do toque.
   ========================================================================== */

:root{
	--tinta:#1C1C1A;
	--tinta-suave:#3A3A37;
	--papel:#EEEAE3;
	--sol:#B8955A;
	--sol-escuro:#8A6D3B;
	--cinza:#6B6B66;
	--linha:#D8D2C8;
}

*{box-sizing:border-box;margin:0;padding:0}
html:has(.pagina--inicio),html:has(.pagina--agenda){scroll-behavior:smooth}
body{
	font-family:'Jost',system-ui,sans-serif;font-weight:300;
	background:var(--papel);color:var(--tinta);
	line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sol);outline-offset:3px}
::selection{background:rgba(184,149,90,.3);color:var(--tinta)}

/* WordPress: o que o core põe por omissão e o desenho não tem. Uma classe só
   em cada regra, de propósito: as regras do desenho que vêm a seguir (o
   `.retrato-pequeno{margin-left:11px}` do telemóvel, por exemplo) têm de lhes
   ganhar pela ordem. */
.wp-site-blocks .accao{display:contents}
.wp-site-blocks p:empty{display:none}
.wp-block-image,.wp-block-video,.wp-block-table{margin:0}
.wp-block-post-template{list-style:none;margin:0;padding:0}
.wp-block-post-content{display:block}

/* Os grupos do editor levam a classe `is-layout-flow`, e o core escreve para
   eles `:root :where(.is-layout-flow) > *{margin:0}` (uma classe de peso) e
   `… > :last-child{margin-block-end:0}` (DUAS classes). A primeira perde para
   qualquer regra de classe desta folha, que vem depois; a segunda ganha a
   todas as que têm uma classe só, e apagava as margens de baixo com que o
   desenho conta no último elemento de um bloco: os 10px do último parágrafo
   de cada etapa do Percurso, os 14px de cada ponto das páginas legais. São
   repostas aqui, com força para lhe ganhar. */
.etapa > p:last-child:not(.lista){margin-bottom:10px}
.pagina--legal .ponto > div > p:last-child{margin-bottom:14px}
.pagina--legal .ponto > div > ul.lista:last-child{margin-bottom:16px}
.pagina--legal .ponto > div > .tabela:last-child{margin-bottom:18px}
.pagina--legal .ponto > div > p.destaque:last-child{margin-bottom:18px}

/* --------------------------------------------------------------------------
   A página
   -------------------------------------------------------------------------- */
.pagina{max-width:960px;margin:0 auto;padding:0 24px 120px}
/* Antes, a Agenda tinha 880px e as legais 760px, e o cabeçalho mudava de
   sítio de página para página. Agora a página tem sempre 960px; nas legais
   é só o texto que fica nos 760px, encostado à esquerda como o logótipo. */
.pagina--legal main{max-width:760px}

/* --------------------------------------------------------------------------
   Barra superior (inicio.html)
   -------------------------------------------------------------------------- */
.barra{
	display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 28px;
	padding:28px 0 0;font-size:11px;font-weight:500;
	letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);
	position:relative;z-index:30;
}
.barra .marca{color:var(--tinta);text-decoration:none;display:inline-block;line-height:0;padding:4px 0}
.barra .logo{display:block;height:54px;width:auto}
@media (max-width:640px){.barra .logo{height:44px}}

/* O menu é o bloco de navegação do core: <nav><ul><li><a><span>. O desenho é
   uma fila de <a> soltos dentro do <nav>; as regras do core que mudavam isso
   (espaçamento, alinhamento, sublinhado) são repostas aqui. */
.barra nav{display:flex;flex-wrap:wrap;gap:8px 20px;letter-spacing:.14em}
.barra .wp-block-navigation{font-size:inherit;font-weight:inherit;--navigation-layout-wrap:wrap}
.barra .wp-block-navigation .wp-block-navigation__container{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;align-items:stretch}
.barra .wp-block-navigation .wp-block-navigation-item{display:block;font-size:inherit;letter-spacing:inherit}
.barra .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{display:block;padding:0;color:inherit;text-decoration:none;transition:color .15s}
.barra .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:var(--tinta)}
.barra .wp-block-navigation .destaque .wp-block-navigation-item__content.wp-block-navigation-item__content{color:var(--sol-escuro);border-bottom:1px solid var(--sol);padding-bottom:2px}

/* --------------------------------------------------------------------------
   Herói
   -------------------------------------------------------------------------- */
.heroi{padding:110px 0 70px;max-width:760px}
.olho{
	display:inline-flex;align-items:center;gap:10px;
	font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
	color:var(--sol-escuro);margin-bottom:28px;
}
.olho::before{content:"";width:28px;height:1px;background:var(--sol)}
.pagina h1{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(44px,8.4vw,80px);line-height:1.03;letter-spacing:-.015em;
	margin-bottom:28px;
}
.pagina h1 em{font-style:italic;color:var(--sol-escuro);font-weight:500}
.heroi .sub{font-size:19px;color:var(--tinta-suave);max-width:580px;margin-bottom:36px}
.accoes{display:flex;flex-wrap:wrap;gap:14px 34px}

.link{
	display:inline-block;text-decoration:none;
	font-size:14.5px;font-weight:500;letter-spacing:.03em;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);padding-bottom:2px;transition:opacity .15s;
}
.link:hover{opacity:.7}
.link.tinta{color:var(--tinta);border-color:var(--tinta)}

/* Retratos em círculo */
.topo{display:grid;grid-template-columns:1fr 260px;gap:48px;align-items:center}
.topo .heroi{padding-bottom:90px}
.retrato{margin:0;width:260px;height:260px;border-radius:50%;overflow:hidden;
	box-shadow:0 0 0 1px var(--linha),0 0 0 10px var(--papel),0 0 0 11px var(--sol)}
.retrato img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
@media (max-width:760px){
	.topo{grid-template-columns:1fr;gap:0}
	.topo .retrato{order:-1;width:clamp(200px,60vw,260px);height:clamp(200px,60vw,260px);margin:56px auto 0}
	.topo .heroi{padding-top:48px}
}

/* --------------------------------------------------------------------------
   Números
   -------------------------------------------------------------------------- */
.numeros{
	display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
	border-top:1px solid var(--linha);margin-top:0;padding-top:44px;
}
@media (max-width:640px){.numeros{grid-template-columns:repeat(2,1fr)}}
.numero-valor{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(32px,4.8vw,46px);line-height:1;color:var(--tinta);
}
.numero-valor em{font-style:italic;color:var(--sol-escuro);font-weight:500}
.numero-rotulo{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza);margin-top:8px}

/* --------------------------------------------------------------------------
   Secções
   -------------------------------------------------------------------------- */
.seccao{margin-top:140px}
.kicker{
	font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
	color:var(--sol-escuro);margin-bottom:14px;
}
.titulo-seccao{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(30px,4.8vw,44px);line-height:1.1;letter-spacing:-.01em;
	max-width:680px;margin-bottom:18px;
}
.titulo-seccao em{font-style:italic;color:var(--sol-escuro);font-weight:500}
.intro-seccao{font-size:16.5px;color:var(--tinta-suave);max-width:580px;margin-bottom:48px}

/* Dois percursos. (O `.item:first-of-type{border-top:none}` do ficheiro não
   está aqui de propósito: lá nunca chega a casar, porque o primeiro <div> de
   cada coluna é o `.para`. Aqui o `.para` é um <p> e a regra apanhava o
   primeiro item, tirando-lhe o filete que o desenho mostra.) */
.percursos{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media (max-width:760px){.percursos{grid-template-columns:1fr;gap:72px}}
.percurso .para{
	font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza);
	padding-bottom:14px;border-bottom:1px solid var(--tinta);margin-bottom:6px;
}
.percurso h3.lema{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:21px;line-height:1.35;margin:22px 0 10px;max-width:400px;
}
.item{border-top:1px solid var(--linha);padding:24px 0}
.item h4{
	font-family:'Playfair Display',serif;font-weight:600;font-size:20px;line-height:1.2;margin-bottom:6px;
}
.item p{font-size:15px;color:var(--tinta-suave)}
.item .mais{margin-top:10px}

/* Palestras (lista numerada como na Agenda) */
.palestra{
	display:grid;grid-template-columns:72px 1fr;gap:12px;
	border-top:1px solid var(--linha);padding:38px 0;
}
@media (max-width:640px){.palestra{grid-template-columns:1fr}}
.palestra .num{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:20px;color:var(--sol);padding-top:4px;
}
.palestra h2,.palestra h3{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(22px,3.2vw,28px);line-height:1.15;letter-spacing:-.01em;margin-bottom:10px;
}
.palestra p{font-size:16px;color:var(--tinta-suave);max-width:640px}
.palestra .etiqueta{
	font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sol-escuro);margin-bottom:10px;
	max-width:none;
}
.formatos{
	border-top:1px solid var(--linha);padding-top:26px;
	font-size:13px;color:var(--cinza);display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;
}
.formatos strong{font-weight:500;color:var(--tinta-suave)}
.nota{font-size:13px;color:var(--cinza)}
.nota--palestras{margin-top:22px}

/* Coaching e mentoria (23 Out 2026): cada oferta com o seu pedido. A linha de
   duração e formato é a `.meta` dos cartões da Agenda, a lista leva um filete
   por linha como os factos do Sobre, e o pedido é o link do desenho. */
.palestra[id]{scroll-margin-top:24px}
.palestra p + p:not(.meta):not(.accao):not(.oferta-titulo){margin-top:12px}
.palestra .meta{font-size:13px;color:var(--cinza);margin-top:18px}
.palestra .meta strong{font-weight:500;color:var(--tinta-suave)}
.palestra .oferta-titulo{
	font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);
	margin:26px 0 8px;
}
.palestra .oferta{list-style:none;max-width:640px}
.palestra .oferta li{
	position:relative;font-size:15px;color:var(--tinta-suave);
	padding:11px 0 11px 22px;border-top:1px solid var(--linha);
}
.palestra .oferta li:last-child{border-bottom:1px solid var(--linha)}
.palestra .oferta li::before{content:"";position:absolute;left:0;top:23px;width:10px;height:1px;background:var(--sol)}
.palestra .link{margin-top:22px}

/* Fotografia e vídeo de palco */
.palco-grelha{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 56px}
@media (max-width:640px){.palco-grelha{grid-template-columns:1fr}}
.palco{margin:0}
.palco img,.palco video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 35%;background:var(--tinta)}
.palco figcaption{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin:12px 0 0}

/* Frase */
.statement{border-top:1px solid var(--linha);margin-top:140px;padding-top:64px}
.statement p:not(.kicker):not(.accao){
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:clamp(24px,3.8vw,34px);line-height:1.32;max-width:760px;
}
.statement p strong{font-style:normal;font-weight:600;color:var(--sol-escuro)}

/* Sobre */
.sobre{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:start}
.sobre img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--linha)}
.sobre .bio{font-size:16.5px;color:var(--tinta-suave);margin-bottom:28px}
.factos{list-style:none;margin-bottom:30px}
.factos li{
	font-size:13px;font-weight:400;letter-spacing:.06em;color:var(--tinta-suave);
	padding:11px 0;border-top:1px solid var(--linha);
}
.factos li:last-child{border-bottom:1px solid var(--linha)}
.retrato-pequeno{width:200px;height:200px}
.sobre .retrato-pequeno img{aspect-ratio:auto}
@media (max-width:760px){.sobre{grid-template-columns:1fr;gap:40px}.retrato-pequeno{width:clamp(200px,60vw,260px);height:clamp(200px,60vw,260px);margin:11px auto 0}}

/* Newsletter: as três últimas edições (bloco de consulta do core). No
   desenho cada linha é um <a class="edicao">; aqui é um <li> com a data, o
   título (o único link) e a seta, e o link estica-se à linha inteira. */
.lista-edicoes .wp-block-post{
	display:grid;grid-template-columns:172px 1fr 24px;gap:16px;align-items:baseline;
	border-top:1px solid var(--linha);padding:24px 0;position:relative;transition:color .15s;
}
.lista-edicoes .wp-block-post:last-child{border-bottom:1px solid var(--linha)}
@media (max-width:640px){
	.lista-edicoes .wp-block-post{grid-template-columns:1fr 24px}
	.lista-edicoes .data{grid-column:1 / -1}
}
.lista-edicoes .data{font-size:13.5px;font-weight:400;letter-spacing:.01em;color:var(--cinza)}
.lista-edicoes .titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(19px,2.6vw,23px);line-height:1.25;letter-spacing:normal}
/* `inline` e não o `inline-block` que o core dá ao link do título: um
   inline-block alinha pela ÚLTIMA linha, e com a grelha em align-items:baseline
   a data e a seta de um título de duas linhas desciam uma linha inteira. */
.lista-edicoes .titulo a{display:inline;text-decoration:none;color:inherit}
.lista-edicoes .titulo a::after{content:"";position:absolute;inset:0}
.lista-edicoes .titulo a:focus-visible{outline:none}
.lista-edicoes .wp-block-post:has(a:focus-visible){outline:2px solid var(--sol);outline-offset:3px}
.lista-edicoes .seta{color:var(--sol);font-size:18px;transition:transform .2s}
.lista-edicoes .wp-block-post:hover .titulo{color:var(--sol-escuro)}
.lista-edicoes .wp-block-post:hover .seta{transform:translateX(4px)}
.ver-arquivo{margin-top:28px}
.nota--newsletter{margin-bottom:56px}

/* Contacto */
.alternativa{font-size:15px;color:var(--tinta-suave);margin-top:26px}

/* --------------------------------------------------------------------------
   Formulários (Fluent Forms)
   O desenho: etiqueta pequena em maiúsculas, campo só com o filete de baixo,
   botão que é um link sublinhado a dourado. O Fluent Forms traz a aparência
   própria (a folha «default» vai desligada no functions.php) e a base dele
   ainda põe margens e uma linha de etiqueta; tudo isso volta ao desenho aqui.
   -------------------------------------------------------------------------- */
/* A folha do Fluent Forms chega DEPOIS desta (é posta na fila quando o
   formulário é desenhado), por isso a força tem de vir da especificidade: o
   `body .wp-site-blocks` à frente de cada regra ganha às dele, que são todas
   `.fluentform …`. */
.subscrever{max-width:560px;margin:8px 0 14px}
body .wp-site-blocks .subscrever fieldset{display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap}
body .wp-site-blocks .subscrever .ff-el-group{flex:1;min-width:220px}
body .wp-site-blocks .subscrever .ff_submit_btn_wrapper{display:contents}
/* O Fluent Forms põe um «clearfix» (::before e ::after em display:table) em
   cada grupo. Com o invólucro do botão em display:contents, os dois passavam
   a ser itens da fila e cada um somava um intervalo de 28px: o campo ficava
   56px mais estreito e, em telemóvel, o botão saltava de linha. */
body .wp-site-blocks .subscrever .ff_submit_btn_wrapper::before,
body .wp-site-blocks .subscrever .ff_submit_btn_wrapper::after{content:none;display:none}

.formulario{max-width:720px;margin-bottom:34px}
body .wp-site-blocks .formulario fieldset{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
@media (max-width:640px){body .wp-site-blocks .formulario fieldset{grid-template-columns:1fr}}
body .wp-site-blocks .formulario .inteiro,body .wp-site-blocks .formulario .ff_submit_btn_wrapper{grid-column:1 / -1}

body .wp-site-blocks .fluentform .ff-el-group{margin:0;padding:0}
body .wp-site-blocks .fluentform .ff-el-input--label{display:block;float:none;margin:0;padding:0;line-height:inherit;text-align:left}
body .wp-site-blocks .fluentform .ff-el-input--label label{
	display:block;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
	color:var(--cinza);margin:0 0 2px;line-height:1.6;transition:color .3s ease;
}
body .wp-site-blocks .fluentform .ff-el-group:focus-within .ff-el-input--label label{color:var(--sol-escuro)}
body .wp-site-blocks .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
body .wp-site-blocks .fluentform .ff-el-input--label.ff-el-is-required.asterisk-left label::before{content:none;display:none}
body .wp-site-blocks .fluentform .ff-el-input--content{margin:0;padding:0}
body .wp-site-blocks .fluentform .ff-el-form-control{
	display:inline-block;width:100%;height:auto;min-height:0;
	border:none;border-bottom:1px solid var(--linha);box-shadow:none;
	padding:10px 0;font-size:16px;font-family:inherit;font-weight:300;color:var(--tinta);line-height:normal;
	border-radius:0;appearance:none;-webkit-appearance:none;caret-color:var(--sol-escuro);
	background:linear-gradient(var(--sol),var(--sol)) no-repeat 0 100% / 0 2px transparent;
	transition:background-size .5s cubic-bezier(.2,.7,.2,1),border-color .3s ease;
}
/* No foco, um filete dourado de 2px corre da esquerda para a direita por cima
   do filete cinzento, e a etiqueta passa a dourado. */
body .wp-site-blocks .fluentform .ff-el-form-control:focus{outline:none;border-color:var(--sol);box-shadow:none;background-color:transparent;background-size:100% 2px}
body .wp-site-blocks .fluentform .ff-el-form-control::placeholder{color:#757575;opacity:1}
body .wp-site-blocks .fluentform .ff-btn-submit{
	display:inline-block;border:none;background:transparent;cursor:pointer;font-family:inherit;
	font-size:14.5px;font-weight:500;letter-spacing:.03em;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);border-radius:0;padding:0 0 2px;margin:0 0 10px;
	line-height:normal;box-shadow:none;transition:opacity .15s;opacity:1;min-height:0;height:auto;
	text-align:left;white-space:normal;
}
body .wp-site-blocks .fluentform .ff-btn-submit:hover{opacity:.7;background:transparent;color:var(--sol-escuro);box-shadow:none}
body .wp-site-blocks .fluentform .ff-btn-submit:focus-visible{outline:2px solid var(--sol);outline-offset:3px}
body .wp-site-blocks .fluentform .ff-btn-submit:disabled,
body .wp-site-blocks .fluentform .ff-btn.disabled{opacity:.45;cursor:progress}
body .wp-site-blocks .fluentform .ff-btn.ff-working::after{content:none}
/* Estados que o desenho não mostra, no mesmo registo: o erro é uma linha de
   texto por baixo do campo, a confirmação é uma frase, não uma caixa. */
body .wp-site-blocks .fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--sol-escuro)}
body .wp-site-blocks .fluentform .error,
body .wp-site-blocks .fluentform .ff-el-is-error .text-danger{font-size:12.5px;color:var(--sol-escuro);margin-top:6px;font-weight:400;position:static}
body .wp-site-blocks .ff-errors-in-stack{font-size:13px;color:var(--sol-escuro)}
body .wp-site-blocks .ff-errors-in-stack:empty{display:none}
body .wp-site-blocks .ff-message-success{
	font-size:16px;color:var(--tinta-suave);border:none;box-shadow:none;background:transparent;
	padding:6px 0 6px 18px;border-left:1px solid var(--sol);margin:0;max-width:560px;
}
/* A mensagem e o consentimento do pedido de proposta (23 Out 2026). A
   mensagem é um campo de sublinhado como os outros, só mais alto. A caixa é
   um quadrado de filete, sem o fundo branco do browser, que se enche de
   dourado escuro quando é assinalada; o texto tem o tamanho das notas. */
body .wp-site-blocks .fluentform textarea.ff-el-form-control{min-height:104px;line-height:1.6;resize:vertical}
body .wp-site-blocks .fluentform .ff-el-tc .ff_tc_label{display:flex;gap:12px;align-items:flex-start;margin:0;padding:0;font-weight:300;cursor:pointer}
body .wp-site-blocks .fluentform .ff_tc_checkbox{flex:none;line-height:0;padding-top:2px}
body .wp-site-blocks .fluentform .ff-el-tc input[type="checkbox"]{
	position:static;width:17px;height:17px;margin:0;cursor:pointer;
	appearance:none;-webkit-appearance:none;border:1px solid var(--cinza);border-radius:0;background:transparent;
	transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body .wp-site-blocks .fluentform .ff-el-tc input[type="checkbox"]:hover{border-color:var(--sol-escuro)}
body .wp-site-blocks .fluentform .ff-el-tc input[type="checkbox"]:checked{border-color:var(--sol-escuro);background:var(--sol-escuro);box-shadow:inset 0 0 0 3px var(--papel)}
body .wp-site-blocks .fluentform .ff-el-tc input[type="checkbox"]:active{border-color:var(--sol)}
body .wp-site-blocks .fluentform .ff-el-is-error .ff-el-tc input[type="checkbox"]{border-color:var(--sol-escuro)}
body .wp-site-blocks .fluentform .ff_t_c{font-size:13.5px;line-height:1.55;color:var(--tinta-suave);max-width:560px;margin:0;padding:0}
body .wp-site-blocks .fluentform .ff_t_c a{color:var(--sol-escuro);text-decoration:none;border-bottom:1px solid var(--sol);transition:opacity .15s}
body .wp-site-blocks .fluentform .ff_t_c a:hover{opacity:.7}
body .wp-site-blocks .fluentform .ff_t_c a:active{opacity:.55}

/* --------------------------------------------------------------------------
   Rodapé da página inicial
   -------------------------------------------------------------------------- */
.rodape{
	margin-top:140px;padding-top:40px;border-top:1px solid var(--linha);
	display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;
}
.rodape .assinatura{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;margin-bottom:8px}
.rodape p{font-size:13.5px;color:var(--tinta-suave);max-width:280px}
.rodape h5{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-bottom:12px;font-family:inherit;line-height:inherit}
.rodape ul{list-style:none}
.rodape li{margin-bottom:7px}
.rodape li a{font-size:13.5px;text-decoration:none;color:var(--tinta-suave);transition:color .15s}
.rodape li a:hover{color:var(--sol-escuro)}
.rodape .logo-rodape{display:block;width:240px;max-width:100%;height:auto;margin-bottom:6px}
.legal{
	grid-column:1 / -1;border-top:1px solid var(--linha);padding-top:22px;margin-top:10px;
	font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);
	display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;
}
.rodape .legal p{font-size:inherit;color:inherit;max-width:none}
.legal a{text-decoration:none}
.legal a:hover{color:var(--sol-escuro)}

/* ==========================================================================
   Agenda do Talento e Percurso (agenda-do-talento.html, percurso.html)
   ========================================================================== */
.pagina--interior .heroi{padding:110px 0 90px;max-width:720px}
.pagina--interior h1{font-size:clamp(44px,8vw,72px);line-height:1.04;margin-bottom:26px}
.pagina--interior .heroi .sub{max-width:560px;margin-bottom:0}
.pagina--interior .titulo-seccao{font-size:clamp(28px,4.5vw,40px);line-height:1.12;max-width:640px}
.pagina--interior .intro-seccao{max-width:560px;margin-bottom:44px}
.pagina--interior .intro-seccao.intro-curta{margin-bottom:6px}
.pagina--interior .numeros{border-top:none;padding-top:0;max-width:720px;margin-bottom:36px}
.pagina--interior .numero-valor{font-size:clamp(30px,4.5vw,42px)}

/* Pesquisa e temas */
.filtro{margin-bottom:64px}
.pesquisa{position:relative;max-width:460px;margin-bottom:34px}
.pesquisa svg{position:absolute;left:0;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--cinza);fill:none;stroke-width:1.6;pointer-events:none}
.pesquisa input{
	width:100%;border:none;border-bottom:1px solid var(--linha);background:transparent;
	padding:12px 34px 12px 30px;font-size:16px;font-family:inherit;font-weight:300;color:var(--tinta);
	border-radius:0;
	background:linear-gradient(var(--sol),var(--sol)) no-repeat 0 100% / 0 2px transparent;
	transition:background-size .5s cubic-bezier(.2,.7,.2,1),border-color .3s ease;
}
.pesquisa input:focus{outline:none;border-color:var(--sol);background-size:100% 2px}
.pesquisa svg{transition:stroke .3s ease}
.pesquisa:focus-within svg{stroke:var(--sol-escuro)}
.pesquisa input::placeholder{color:var(--cinza)}
/* O Chrome desenha o seu próprio «x» azul num campo de pesquisa com texto, ao
   lado do «×» do desenho; no ficheiro aprovado saíam os dois. Fica só o do
   desenho. */
.pesquisa input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.pesquisa .limpar{
	position:absolute;right:0;top:50%;transform:translateY(-50%);
	border:none;background:transparent;font-size:20px;line-height:1;color:var(--cinza);
	cursor:pointer;padding:6px;display:none;
}
.pesquisa .limpar:focus-visible,.chip:focus-visible,.saber:focus-visible,.ver:focus-visible,.caderno-link:focus-visible,.contacto:focus-visible{outline:2px solid var(--sol);outline-offset:3px}
.chips{display:flex;flex-wrap:wrap;gap:6px 26px}
.chip{
	border:none;background:transparent;cursor:pointer;font-family:inherit;
	font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--cinza);
	padding:6px 0;border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s;
}
.chip:hover{color:var(--tinta)}
.chip[aria-pressed="true"]{color:var(--tinta);font-weight:500;border-bottom-color:var(--sol)}
.contagem{font-size:13px;color:var(--cinza);margin-top:22px}

/* Lista de programas */
.programa{
	display:grid;grid-template-columns:72px 1fr;gap:12px;
	border-top:1px solid var(--linha);padding:44px 0;
}
@media (max-width:640px){.programa{grid-template-columns:1fr}}
.programa .num{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:20px;color:var(--sol);padding-top:6px;
}
.programa h2{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(23px,3.4vw,30px);line-height:1.15;letter-spacing:-.01em;
	margin-bottom:6px;
}
.programa .etiquetas{
	font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
	color:var(--cinza);margin-bottom:16px;
}
.programa .etiquetas .ativa{color:var(--sol-escuro)}
.programa .descricao{font-size:16px;color:var(--tinta-suave);max-width:620px;margin-bottom:18px}
.programa .meta{font-size:13px;color:var(--cinza);margin-bottom:6px}
.programa .meta strong{font-weight:500;color:var(--tinta-suave)}
.programa .base{font-size:13px;color:var(--sol-escuro);margin-bottom:18px}
.programa .base strong{font-weight:500}
.programa .sem-base{height:12px}
.saber{
	display:inline-block;text-decoration:none;
	font-size:14px;font-weight:500;letter-spacing:.03em;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);padding-bottom:2px;transition:opacity .15s;
}
.saber:hover{opacity:.7}
.vazio{
	border-top:1px solid var(--linha);padding:72px 0;color:var(--cinza);font-size:16px;
}
.vazio a{color:var(--sol-escuro)}

/* Feito à medida */
.medida{border-top:1px solid var(--linha);padding:56px 0 8px}
.medida .frase-medida{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:clamp(20px,3vw,25px);line-height:1.35;color:var(--tinta);
	max-width:640px;
}
.medida .frase-medida strong{font-style:normal;font-weight:600;color:var(--sol-escuro)}
.video-programa{margin:40px 0 0;max-width:640px}
.video-programa video{display:block;width:100%;aspect-ratio:16/9;background:var(--tinta)}
.video-programa figcaption{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin:12px 0 0}

/* Recursos */
.recursos{margin-top:130px}
.recursos-grelha{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
@media (max-width:760px){.recursos-grelha{grid-template-columns:1fr;gap:0}}
.recurso{border-top:1px solid var(--linha);padding:34px 0 44px}
.recurso .tipo{
	font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
	color:var(--sol-escuro);margin-bottom:12px;
}
.recurso h3{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:21px;line-height:1.2;margin-bottom:4px;
}
.recurso .autor{font-size:13px;color:var(--cinza);margin-bottom:14px}
.recurso .frase{font-size:14.5px;color:var(--tinta-suave);margin-bottom:14px}
.recurso .pergunta{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:16px;line-height:1.4;color:var(--tinta);
	border-left:2px solid var(--sol);padding-left:14px;margin-bottom:18px;
}
.ver{
	display:inline-block;text-decoration:none;
	font-size:13.5px;font-weight:500;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);padding-bottom:2px;transition:opacity .15s;
}
.ver:hover{opacity:.7}
.caderno{margin-top:26px;padding-top:20px;border-top:1px dashed var(--linha)}
.caderno .rotulo-caderno{
	font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
	color:var(--sol-escuro);margin-bottom:6px;
}
.caderno .titulo-caderno{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:600;
	font-size:18px;margin-bottom:5px;
}
.caderno p{font-size:13.5px;color:var(--tinta-suave);margin-bottom:12px}
/* No ficheiro o título do caderno é um <div> e o `.caderno p` não lhe chega;
   aqui é um <p>, e a cor tem de voltar à da tinta. */
.caderno .titulo-caderno{color:var(--tinta)}
.caderno-link{
	display:inline-block;text-decoration:none;
	font-size:13.5px;font-weight:500;color:var(--tinta);
	border-bottom:1px solid var(--tinta);padding-bottom:2px;transition:color .15s,border-color .15s;
}
.caderno-link:hover{color:var(--sol-escuro);border-color:var(--sol)}

/* Quem está na sala */
.quem{margin-top:130px;border-top:1px solid var(--linha);padding-top:64px}
.quem .bio{font-size:16.5px;color:var(--tinta-suave);max-width:620px;margin-bottom:40px}
.credenciais{font-size:11.5px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--sol-escuro)}
.credenciais--agenda{margin-bottom:26px}

/* Contacto da Agenda */
.contacto-seccao{margin-top:130px;border-top:1px solid var(--linha);padding-top:64px}
.contacto{
	display:inline-block;text-decoration:none;margin-top:8px;
	font-size:17px;font-weight:500;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);padding-bottom:3px;transition:opacity .15s;
}
.contacto:hover{opacity:.7}


/* Linha temporal (Percurso) */
.cronologia{position:relative;max-width:680px;margin-left:8px}
.cronologia::before{
	content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--linha);
}
.etapa{position:relative;padding:0 0 64px 44px}
.etapa:last-child{padding-bottom:0}
.etapa::before{
	content:"";position:absolute;left:-4.5px;top:7px;
	width:10px;height:10px;border-radius:50%;
	background:var(--papel);border:1.5px solid var(--sol);
}
.etapa .quando{
	font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
	color:var(--sol-escuro);margin-bottom:10px;
}
.etapa h2,.etapa h3{
	font-family:'Playfair Display',serif;font-weight:600;
	font-size:clamp(23px,3.4vw,29px);line-height:1.18;letter-spacing:-.01em;
	margin-bottom:12px;
}
.etapa h2 em,.etapa h3 em{font-style:italic;color:var(--sol-escuro);font-weight:500}
.etapa p{font-size:16px;color:var(--tinta-suave);margin-bottom:10px}
.etapa .lista{font-size:13px;color:var(--cinza);letter-spacing:.04em;margin-bottom:0}
.etapa .lista strong{font-weight:500;color:var(--tinta-suave)}
.seccao--percurso + .numeros{margin:120px 0 0;border-top:1px solid var(--linha);padding-top:56px;max-width:none}
.visao{margin-top:120px;border-top:1px solid var(--linha);padding-top:64px;max-width:680px}
.visao .frase{
	font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
	font-size:clamp(22px,3.6vw,30px);line-height:1.35;color:var(--tinta);
}
.visao .legenda{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);margin-top:18px}
.accoes--sobre{margin-top:64px}

/* ==========================================================================
   Páginas legais (politica-de-privacidade.html, termos-e-condicoes.html,
   aviso-legal.html). Nos ficheiros as regras são de elemento (`h2`, `p, li`,
   `strong`); aqui vão presas ao modelo (`.pagina--legal p`), que é o mínimo
   para ganharem ao `> *{margin:0}` do core. Onde isso as põe acima de uma
   classe do desenho (`.olho`, `.sub`, `.data`, `.num`, a barra e o rodapé),
   a classe é repetida mais abaixo com o modelo à frente.
   ========================================================================== */
.pagina--legal main{line-height:1.7}
.pagina--legal main a{color:var(--sol-escuro)}
.pagina--legal .heroi{padding:96px 0 56px;max-width:none}
.pagina--legal .olho{margin-bottom:24px}
.pagina--legal h1{font-size:clamp(38px,7vw,60px);line-height:1.06;margin-bottom:22px}
.pagina--legal .sub{font-size:18px;color:var(--tinta-suave);max-width:600px;margin-bottom:14px}
.pagina--legal .data{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);margin-top:22px}
.indice{border-top:1px solid var(--linha);padding:22px 0 30px;margin-bottom:0;columns:2;column-gap:40px;list-style:none;counter-reset:i}
@media (max-width:640px){.indice{columns:1}}
.pagina--legal .indice li{counter-increment:i;font-size:14px;padding:3px 0;break-inside:avoid}
.indice li::before{content:counter(i,decimal-leading-zero);font-family:'Playfair Display',serif;font-style:italic;color:var(--sol);margin-right:10px}
.indice a{text-decoration:none;color:var(--tinta-suave)}
.indice a:hover{color:var(--sol-escuro)}
.ponto{border-top:1px solid var(--linha);padding:40px 0 8px;display:grid;grid-template-columns:56px 1fr;gap:8px}
@media (max-width:640px){.ponto{grid-template-columns:1fr}}
.ponto .num{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:19px;color:var(--sol);padding-top:4px;margin:0}
.pagina--legal main h2{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(22px,3.2vw,27px);line-height:1.2;letter-spacing:-.01em;margin-bottom:14px}
.pagina--legal main h3{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sol-escuro);margin:22px 0 8px}
.pagina--legal main p,.pagina--legal main li{font-size:16px;color:var(--tinta-suave)}
.pagina--legal main p{margin-bottom:14px}
.pagina--legal .ponto .num{font-size:19px;color:var(--sol);margin:0}
.pagina--legal .olho{font-size:11px;color:var(--sol-escuro)}
.pagina--legal .data{margin-bottom:14px}
ul.lista{margin:0 0 16px 0;list-style:none}
ul.lista li{padding:8px 0 8px 18px;border-top:1px solid var(--linha);position:relative}
ul.lista li:last-child{border-bottom:1px solid var(--linha)}
ul.lista li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:1px;background:var(--sol)}
.pagina--legal main strong{font-weight:500;color:var(--tinta)}
.tabela{margin:6px 0 18px;overflow:visible}
.tabela table{width:100%;border-collapse:collapse;font-size:14.5px;table-layout:auto}
.tabela thead{border:0}
.tabela th{text-align:left;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);padding:0 12px 10px 0;border:0;border-bottom:1px solid var(--tinta)}
.tabela td{vertical-align:top;padding:12px 12px 12px 0;border:0;border-bottom:1px solid var(--linha);color:var(--tinta-suave)}
.tabela td:first-child{font-weight:500;color:var(--tinta)}
@media (max-width:640px){.tabela thead{display:none}.tabela tr{display:block;border-bottom:1px solid var(--linha);padding:10px 0}.tabela td{display:block;border:none;padding:2px 0}}
.pagina--legal p.destaque{border-left:2px solid var(--sol);padding:4px 0 4px 18px;margin:8px 0 18px;font-family:'Playfair Display',serif;font-style:italic;font-size:17.5px;line-height:1.5;color:var(--tinta)}
.legal a.atual{color:var(--sol-escuro)}

/* ==========================================================================
   Para lá dos seis ficheiros: arquivo e edições da newsletter, páginas novas,
   404. Não estão no desenho; usam só as peças dele (barra, herói, linhas de
   edição, kicker, link sublinhado) e a mesma escala.
   ========================================================================== */
.heroi--arquivo{padding-bottom:56px}
.heroi--arquivo .sub{margin-bottom:0}
.arquivo-subscrever{margin-bottom:64px}
.paginacao{margin-top:44px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;font-size:13px;color:var(--cinza)}
.paginacao a{text-decoration:none;color:var(--sol-escuro);border-bottom:1px solid var(--sol);padding-bottom:2px;font-weight:500;letter-spacing:.03em;transition:opacity .15s}
.paginacao a:hover{opacity:.7}
.paginacao .page-numbers.current{color:var(--tinta);font-weight:500}
.paginacao .wp-block-query-pagination-numbers{display:flex;gap:14px}
.paginacao .wp-block-query-pagination-numbers a{border:0}
.sem-resultados{border-top:1px solid var(--linha);padding:44px 0;color:var(--cinza)}

/* Uma edição (e um artigo antigo) */
.leitura{max-width:680px;padding-top:96px}
.voltar-arquivo{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)}
.voltar-arquivo a{text-decoration:none;transition:color .15s}
.voltar-arquivo a:hover{color:var(--sol-escuro)}
.leitura .meta-edicao{margin:56px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13.5px;font-weight:400;letter-spacing:.01em;color:var(--cinza)}
.leitura .meta-edicao > *{margin:0}
.leitura .meta-edicao > :first-child{color:var(--sol-escuro)}
.leitura .meta-edicao > :empty{display:none}
.leitura .meta-edicao > * + ::before{content:"·";margin-right:10px;color:var(--sol)}
.leitura h1.titulo-leitura{font-size:clamp(32px,5.2vw,48px);line-height:1.12;letter-spacing:-.015em;margin:20px 0 0}
.leitura .filete{border:0;height:1px;background:var(--linha);margin:44px 0 0}
.navegacao-edicoes{margin-top:88px;display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--linha);padding-top:28px}
@media (max-width:640px){.navegacao-edicoes{grid-template-columns:1fr}}
.navegacao-edicoes .post-navigation-link-next{text-align:right}
@media (max-width:640px){.navegacao-edicoes .post-navigation-link-next{text-align:left}}
.navegacao-edicoes a{display:block;text-decoration:none;font-family:'Playfair Display',serif;font-weight:600;font-size:19px;line-height:1.3;transition:color .15s}
.navegacao-edicoes a:hover{color:var(--sol-escuro)}
.navegacao-edicoes .post-navigation-link__label{display:block;font-family:'Jost',system-ui,sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-bottom:8px}
.subscrever-fim{margin-top:120px;border-top:1px solid var(--linha);padding-top:64px}

/* O texto das edições e dos artigos. As classes .ed-* vêm do conteúdo
   importado (tools/build-seed.mjs) e vivem na base de dados: mudam de
   aparência aqui, nunca no conteúdo. */
.prosa{margin-top:44px;font-size:17px;line-height:1.75;color:var(--tinta-suave)}
.prosa > * + *{margin-top:1.15em}
.prosa p{margin:0}
.prosa > p + p{margin-top:1.15em}
.prosa h2,.prosa h3{font-family:'Playfair Display',serif;font-weight:600;color:var(--tinta);letter-spacing:-.01em;line-height:1.2;margin:1.9em 0 .55em}
.prosa h2{font-size:27px}
.prosa h3{font-size:21px}
.prosa h4{font-family:'Playfair Display',serif;font-weight:600;color:var(--tinta);font-size:18px;line-height:1.25;margin:1.6em 0 .4em}
.prosa a{color:var(--sol-escuro);text-decoration:underline;text-decoration-color:var(--sol);text-underline-offset:3px}
.prosa a:hover{text-decoration-color:var(--sol-escuro)}
.prosa strong{font-weight:500;color:var(--tinta)}
.prosa em{font-style:italic}
.prosa img{max-width:100%;height:auto;display:block;margin:1.6em 0}
.prosa figure{margin:1.6em 0}
.prosa figcaption{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-top:12px}
.prosa ul,.prosa ol{padding-left:1.4em;margin:1.15em 0}
.prosa ul{list-style:disc}
.prosa ol{list-style:decimal}
.prosa li{margin:.4em 0}
.prosa li::marker{color:var(--sol)}
.prosa blockquote{border-left:2px solid var(--sol);padding:4px 0 4px 18px;margin:1.6em 0;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:19px;line-height:1.5;color:var(--tinta)}
.prosa blockquote p{margin:0}
.prosa hr,.prosa .wp-block-separator{border:0;height:1px;background:var(--linha);margin:2.6em 0}
.prosa table{width:100%;border-collapse:collapse;font-size:15px}
.prosa td,.prosa th{border:0;border-bottom:1px solid var(--linha);padding:10px 12px 10px 0;text-align:left;vertical-align:top}

.prosa .ed-eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--sol-escuro);margin:0 0 .6em;line-height:1.6;hyphens:manual}
.prosa .ed-eyebrow + .ed-eyebrow{margin-top:2.25rem}
.prosa .ed-rule{border:0;height:1px;background:var(--linha);margin:3.5rem 0 2.5rem}
.prosa .ed-section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--cinza);margin:0 0 1.5rem;line-height:1.6;padding-bottom:14px;border-bottom:1px solid var(--tinta)}
.prosa .ed-callout{border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta);padding:24px 0;margin:2rem 0}
.prosa .ed-callout p{font-size:16px;line-height:1.7;color:var(--tinta-suave)}
.prosa .ed-callout p + p{margin-top:.8em}
.prosa .ed-callout p:last-child{font-size:12.5px;color:var(--cinza)}
.prosa .ed-offer{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:28px 0;margin:2.2rem 0}
.prosa .ed-offer p + p{margin-top:.8em}
.prosa .ed-offer-title{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:23px;line-height:1.3;color:var(--tinta);margin:0 0 .8em}
.prosa .ed-offer-label{font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--sol-escuro);margin:1.6rem 0 .3em}
.prosa .ed-schedule{margin:.5rem 0 1.5rem}
.prosa .ed-schedule table{width:100%;border-collapse:collapse}
.prosa .ed-schedule td{border:0;border-top:1px solid var(--linha);padding:.6rem .875rem .6rem 0;vertical-align:top;font-size:15px;line-height:1.6;color:var(--tinta-suave)}
.prosa .ed-schedule td:first-child{white-space:nowrap;font-weight:500;font-size:12.5px;letter-spacing:.06em;color:var(--sol-escuro);padding-top:.7rem}
.prosa .ed-ud-title{font-size:23px;margin:0 0 .5em}
.prosa .ed-picks > *,.prosa .ed-stats > *,.prosa .ed-steps > *,.prosa .ed-step > *,.prosa .ed-agenda-item > *{margin-left:0 !important;margin-right:0 !important;max-width:none}
.prosa .ed-picks{display:grid;gap:0 28px;grid-template-columns:1fr}
@media (min-width:640px){.prosa .ed-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.prosa .ed-pick{border-top:1px solid var(--linha);padding:24px 0;margin:0}
.prosa .ed-pick p,.prosa .ed-pick h4{margin:0}
.prosa .ed-pick-iconwrap{font-size:20px;line-height:1;margin-bottom:12px !important}
.prosa .ed-pick-cat{font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--sol-escuro);margin-bottom:.5em !important}
.prosa .ed-pick-name{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;line-height:1.25;color:var(--tinta);margin:0 0 .2em !important}
.prosa .ed-pick-author{font-size:13px;color:var(--cinza);margin-bottom:.8em !important}
.prosa .ed-pick-desc{font-size:15px;line-height:1.65}
.prosa .ed-agenda-group + .ed-agenda-group{margin-top:1.75rem}
.prosa .ed-agenda-month{font-family:'Playfair Display',serif;font-weight:600;font-size:19px;color:var(--tinta);margin:0 0 .5em !important}
.prosa .ed-agenda-item{display:grid;grid-template-columns:5.5rem 1fr;gap:0 1rem;padding:.8rem 0;border-top:1px solid var(--linha)}
.prosa .ed-agenda-item p{margin:0}
.prosa .ed-agenda-date{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--sol-escuro);padding-top:.3rem}
.prosa .ed-agenda-what{font-size:15px;color:var(--tinta)}
.prosa .ed-agenda-sub{grid-column:2;font-size:13px;color:var(--cinza);margin-top:.15rem !important}
.prosa .ed-stats{display:grid;gap:28px;grid-template-columns:1fr;margin:2rem 0;border-top:1px solid var(--linha);padding-top:28px}
@media (min-width:640px){.prosa .ed-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.prosa .ed-stat{margin:0}
.prosa .ed-stat p{margin:0}
.prosa .ed-stat-num{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(30px,4.5vw,42px);line-height:1;color:var(--tinta);margin-bottom:10px !important}
.prosa .ed-stat-desc{font-size:14.5px;line-height:1.55;color:var(--tinta-suave);margin-bottom:8px !important}
.prosa .ed-stat-source{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--cinza)}
.prosa .ed-steps{margin:2rem 0}
.prosa .ed-step{display:grid;grid-template-columns:2.5rem 1fr;gap:0 1rem;padding:1rem 0;border-top:1px solid var(--linha);margin:0}
.prosa .ed-step:not(:has(.ed-step-marker)){grid-template-columns:1fr}
.prosa .ed-step p{margin:0}
.prosa .ed-step-marker{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:20px;line-height:1.3;color:var(--sol)}
.prosa .ed-step-title{font-weight:500;color:var(--tinta);margin-bottom:.35em !important}
.prosa .ed-step-body{grid-column:2;font-size:15px;line-height:1.7;color:var(--tinta-suave)}
.prosa .ed-step:not(:has(.ed-step-marker)) .ed-step-body{grid-column:1}
.prosa .ed-quiz{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:24px 0;margin:2rem 0}
.prosa .ed-quiz > :first-child{margin-top:0}
.prosa .ed-quiz ul{margin-top:.5em}
.prosa .ed-quiz li{font-size:15px;color:var(--tinta-suave)}
.prosa .ed-quiz-q{font-weight:500;color:var(--tinta);margin:1.5em 0 0 !important}
.prosa .ed-person .ed-pick-iconwrap .ed-pick-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 1px var(--sol);color:var(--sol-escuro);font-size:14px;font-weight:500;letter-spacing:.06em}
.prosa .ed-numeros{margin:2.5rem 0}
.prosa .ed-numeros .ed-eyebrow{margin-bottom:.875rem}
.prosa .ed-numeros .ed-stats{margin:0}
.prosa .ed-numeros .ed-stat-source{margin:.875rem 0 0}
.prosa .ed-frase{border-left:2px solid var(--sol);padding:4px 0 4px 18px;margin:2.5rem 0}
.prosa .ed-frase p{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:20px;line-height:1.45;color:var(--tinta)}
.prosa .ed-frase p + p{margin-top:.75em}
.prosa .ed-frase strong{font-style:normal;font-weight:600;color:var(--sol-escuro)}
.prosa .ed-pausa{margin:3rem 0 !important;padding:1.75rem 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:var(--cinza)}
.prosa .ed-termos{margin:0}
.prosa .ed-termos .ed-step{padding:.875rem 0}
.prosa .ed-termos .ed-step:first-child{border-top:0;padding-top:.5rem}
.prosa .ed-termos .ed-step:last-child{padding-bottom:0}
.prosa .ed-termos .ed-step-title{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:19px;line-height:1.35;color:var(--tinta);margin-bottom:.3em !important;hyphens:manual}

/* Uma página nova feita pela Sofia no modelo por omissão */
.prosa--pagina{margin-top:0}

/* ==========================================================================
   Site completo (17 Out 2026)
   O desenho era uma página só, com o menu a levar a secções. O João pediu
   um site com páginas próprias (Palestras, Coaching, Sobre, Equipa, Media,
   Artigos, Contacto), o menu em lista no telemóvel, as fotografias da Sofia
   maiores e ao centro, datas por extenso e formulários com cor e transição
   no foco. Tudo com as peças e a escala do desenho.
   ========================================================================== */

.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* --------------------------------------------------------------------------
   Cabeçalho: submenus no computador
   «Sobre» e «Newsletter» abrem uma lista com as páginas de cada um. O core
   mostra e esconde (rato por cima, ou o botão da seta); aqui fica só o
   aspeto, no papel e com o filete do desenho.
   -------------------------------------------------------------------------- */
.menu-botao{display:none}
.barra .wp-block-navigation .has-child{display:flex;align-items:center;gap:7px;position:relative}
.barra .wp-block-navigation .wp-block-navigation__submenu-icon{
	display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;margin:0;padding:0;
	background:none;border:0;color:inherit;cursor:pointer;
}
.barra .wp-block-navigation .wp-block-navigation__submenu-icon svg{width:9px;height:9px;margin:0;stroke:currentColor;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.barra .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-icon svg,
.barra .wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.barra .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
	background:var(--papel);color:var(--tinta-suave);border:1px solid var(--linha);
	top:calc(100% + 12px);left:-20px;min-width:210px;padding:10px 0;z-index:40;
	box-shadow:0 22px 44px -22px rgba(28,28,26,.28),0 3px 10px -6px rgba(28,28,26,.14);
	transform:translateY(-4px);transition:opacity .2s ease-out,transform .2s ease-out;
}
/* Ponte invisível por cima da lista: o rato atravessa os 12px até ela sem a
   fechar. */
.barra .wp-block-navigation .has-child .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:0;right:0;top:-13px;height:13px}
.barra .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.barra .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container{transform:none}
.barra .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.barra .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content{padding:9px 20px;white-space:nowrap;transition:color .15s,background-color .15s}
.barra .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:var(--tinta);background:rgba(184,149,90,.08)}

/* A página em que se está (classe `atual`, posta no functions.php): a tinta,
   com o filete por baixo; dentro de uma lista, a dourado. */
.barra .wp-block-navigation .atual > .wp-block-navigation-item__content.wp-block-navigation-item__content{color:var(--tinta)}
.barra .wp-block-navigation .wp-block-navigation__container > .atual > .wp-block-navigation-item__content.wp-block-navigation-item__content{border-bottom:1px solid var(--tinta);padding-bottom:2px}
.barra .wp-block-navigation .wp-block-navigation__submenu-container .atual > .wp-block-navigation-item__content.wp-block-navigation-item__content{color:var(--sol-escuro)}

/* --------------------------------------------------------------------------
   Cabeçalho no telemóvel: o menu em lista
   Até aos 760 px o menu passa para trás do botão das riscas e abre por baixo da
   barra, a toda a largura. Só com JavaScript (classe `js`, escrita no
   <head>): sem ele, o menu fica à vista como no desenho.
   -------------------------------------------------------------------------- */
@keyframes menu-entra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:760px){
	.js .barra{flex-wrap:nowrap;justify-content:space-between}
	/* Só as duas riscas, num alvo de 44 px; a margem negativa deixa a ponta
	   direita das riscas onde estava. */
	.js .menu-botao{
		position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0 -14px 0 0;
		background:none;border:0;cursor:pointer;color:var(--tinta);
	}
	/* A palavra saiu da vista (João, 21 Out 2026). Fica para os leitores de
	   ecrã, que continuam a ouvir «Menu» e «Fechar» (o site.js troca-as). */
	.menu-botao__texto{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
	.menu-botao__icone{position:relative;display:block;width:20px;height:10px}
	.menu-botao__icone::before,.menu-botao__icone::after{
		content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;
		transition:transform .3s cubic-bezier(.2,.7,.2,1),top .3s cubic-bezier(.2,.7,.2,1);
	}
	.menu-botao__icone::before{top:0}
	.menu-botao__icone::after{top:8.5px}
	.menu-aberto .menu-botao__icone::before{top:4.25px;transform:rotate(45deg)}
	.menu-aberto .menu-botao__icone::after{top:4.25px;transform:rotate(-45deg)}
	.js .menu-botao:active{opacity:.6}

	/* > : a lista interna do core também tem a classe wp-block-navigation. */
	.js .barra > .wp-block-navigation{display:none}
	.js .barra.menu-aberto > .wp-block-navigation{
		display:block;position:absolute;top:100%;left:-24px;right:-24px;margin-top:14px;
		background:var(--papel);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
		padding:4px 24px 16px;box-shadow:0 30px 40px -32px rgba(28,28,26,.4);
		animation:menu-entra .24s cubic-bezier(.2,.7,.2,1);
	}
	.js .barra .wp-block-navigation .wp-block-navigation__container{flex-direction:column;flex-wrap:nowrap;gap:0;align-items:stretch}
	.js .barra .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item{border-bottom:1px solid var(--linha)}
	.js .barra .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child{border-bottom:0}
	.js .barra .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{padding:15px 0;font-size:12px;letter-spacing:.16em}
	.js .barra .wp-block-navigation .destaque .wp-block-navigation-item__content.wp-block-navigation-item__content,
	.js .barra .wp-block-navigation .wp-block-navigation__container > .atual > .wp-block-navigation-item__content.wp-block-navigation-item__content{border-bottom:0;padding-bottom:15px}
	.js .barra .wp-block-navigation .wp-block-navigation__container > .atual > .wp-block-navigation-item__content::before{
		content:"";display:inline-block;width:16px;height:1px;background:var(--sol);vertical-align:middle;margin:-2px 10px 0 0;
	}
	/* Os submenus ficam abertos, recolhidos para dentro, sem a seta. O
	   primeiro item de cada um repete o pai («Sobre», «Newsletter») e sai. */
	.js .barra .wp-block-navigation .has-child{display:block}
	.js .barra .wp-block-navigation .wp-block-navigation__submenu-icon{display:none}
	.js .barra .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
		position:static;visibility:visible;opacity:1;width:auto;height:auto;min-width:0;overflow:visible;
		transform:none;border:0;box-shadow:none;background:none;padding:0 0 10px 18px;
	}
	.js .barra .wp-block-navigation .has-child .wp-block-navigation__submenu-container::before{display:none}
	.js .barra .wp-block-navigation .wp-block-navigation__submenu-container > li:first-child{display:none}
	.js .barra .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content{padding:10px 0;font-size:11px;color:var(--cinza)}
	.js .barra .wp-block-navigation .wp-block-navigation__submenu-container .atual > .wp-block-navigation-item__content.wp-block-navigation-item__content{color:var(--sol-escuro)}
}

/* --------------------------------------------------------------------------
   Peças das páginas novas
   -------------------------------------------------------------------------- */
/* Uma página que abre com uma secção logo a seguir ao título não leva os
   140px de uma secção nova: o título já fez esse intervalo. */
.heroi + .seccao,.topo + .seccao{margin-top:56px}
.heroi--arquivo .sub:not(:last-child){margin-bottom:28px}

/* O convite ao contacto que fecha as páginas */
.fecho{border-top:1px solid var(--linha);padding-top:64px}
.fecho .intro-seccao{margin-bottom:30px}
.statement .accoes{margin-top:32px}

/* Contacto */
.contacto-pagina .alternativa + .alternativa{margin-top:10px}

/* Sobre: os factos por baixo da apresentação, a linha temporal numa secção */
.topo .factos{margin:34px 0 0;max-width:580px}
.seccao--percurso .intro-seccao{margin-bottom:56px}

/* Equipa */
.equipa{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.membro-foto{margin:0 0 26px}
.membro-foto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;background:var(--linha)}
.membro .funcao{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sol-escuro);margin-bottom:10px}
.membro h2{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(24px,3.2vw,30px);line-height:1.15;letter-spacing:-.01em;margin-bottom:12px}
.membro p{font-size:16px;color:var(--tinta-suave)}

/* Férias: a página que o plugin scf-ativar-ferias põe à frente do site. É o
   herói da página inicial (texto e retrato) num ecrã só, com o logótipo onde
   a barra o teria e o rodapé por baixo (leva o Livro de Reclamações). */
.ferias{min-height:calc(100svh - 40px);display:flex;flex-direction:column}
.ferias-marca{margin:0;padding:32px 0 0}
.ferias-marca img{display:block;height:54px;width:auto}
.ferias .topo{flex:1;align-content:center;padding:72px 0}
.pagina--ferias .topo .heroi{padding:0}
.pagina--ferias .heroi .sub{font-size:21px;margin-bottom:36px}
@media (max-width:760px){
	.ferias .topo{padding:16px 0 56px}
	.pagina--ferias .topo .heroi{padding-top:40px}
}
@media (max-width:640px){.ferias-marca img{height:44px}}

/* Media: os três vídeos (shortcode [scf_media_destaques] do plugin scf-media).
   A capa é uma ligação para o YouTube; nada carrega do YouTube antes do clique. */
.seccao--videos .intro-seccao{margin-bottom:40px}
.yt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.yt-facade{margin:0}
.yt-play{display:block;position:relative;overflow:hidden;background:var(--tinta);text-decoration:none}
.yt-play img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.yt-badge{
	position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;
	background:rgba(238,234,227,.94);color:var(--tinta);display:flex;align-items:center;justify-content:center;
	box-shadow:0 12px 26px -12px rgba(28,28,26,.6);transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.yt-badge svg{width:22px;height:22px;margin-left:3px}
.yt-play:focus-visible{outline:2px solid var(--sol);outline-offset:3px}
.yt-play:active .yt-badge{transform:scale(.94)}
@media (hover:hover){
	.yt-play:hover img{transform:scale(1.03);opacity:.88}
	.yt-play:hover .yt-badge{transform:scale(1.08)}
}
.yt-legenda{margin-top:16px}
.yt-legenda > span{display:block}
.yt-legenda .eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-bottom:8px}
.yt-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;line-height:1.25;color:var(--tinta);margin-bottom:6px}
.yt-descricao{font-size:14.5px;color:var(--tinta-suave)}

/* Media: o Star Talks */
.star-talks{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start;border-top:1px solid var(--linha);padding-top:44px}
.selo-linha{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.selo{margin:0;flex:none}
.selo img{display:block;width:64px;height:auto}
.star-talks .funcao{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sol-escuro)}
.star-talks h3{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(26px,3.6vw,34px);line-height:1.1;letter-spacing:-.01em;margin-bottom:16px}
.star-talks-texto p:not(.funcao):not(.accao){font-size:16px;color:var(--tinta-suave);margin-bottom:14px}
.star-talks .accoes{margin-top:24px}
.star-talks-foto{margin:0}
.star-talks-foto img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--linha)}
.citacao{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:19px;line-height:1.45;color:var(--tinta);border-left:2px solid var(--sol);padding:2px 0 2px 16px;margin-top:28px}

/* Media: os palcos e o media kit */
.evento{display:grid;grid-template-columns:210px 1fr;gap:12px 24px;border-top:1px solid var(--linha);padding:30px 0}
.evento:last-child{border-bottom:1px solid var(--linha)}
.evento .quando{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sol-escuro);padding-top:7px}
.evento h3{font-family:'Playfair Display',serif;font-weight:600;font-size:22px;line-height:1.2;margin-bottom:6px}
.evento p:not(.quando){font-size:15.5px;color:var(--tinta-suave)}
.media-kit{margin-top:140px;border-top:1px solid var(--linha);padding-top:64px}
.media-kit .intro-seccao{margin-bottom:28px}

/* Media: os números da abertura e o arquivo das aparições (20 Out 2026).
   Os números são os da página inicial, com o filete por cima, dentro do
   herói. O arquivo usa a linha das edições da newsletter (data, título que
   liga a linha inteira, seta); cada tipo é um <details> do core, e o resumo
   leva o nome e o número que o inc/media.php conta a cada pedido. A divisa do
   resumo é a das listas de escolha dos formulários. */
.pagina--interior .heroi .numeros--media{margin:48px 0 0;padding-top:32px;border-top:1px solid var(--linha);max-width:none}
.seccao--arquivo .intro-seccao{margin-bottom:40px}
.arquivo-grupo{border-top:1px solid var(--linha)}
.arquivo-grupo:last-of-type{border-bottom:1px solid var(--linha)}
.arquivo-grupo > summary{
	display:flex;align-items:baseline;gap:14px;position:relative;
	padding:26px 44px 26px 0;cursor:pointer;list-style:none;
}
.arquivo-grupo > summary::-webkit-details-marker{display:none}
.arquivo-nome{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(22px,3vw,26px);line-height:1.2;letter-spacing:-.01em;transition:color .15s}
.arquivo-conta{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:19px;line-height:1;color:var(--sol)}
.arquivo-grupo > summary::after{
	content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;margin-top:-8px;
	border-right:1.5px solid var(--sol-escuro);border-bottom:1.5px solid var(--sol-escuro);
	transform:rotate(45deg);transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.arquivo-grupo[open] > summary::after{transform:translateY(5px) rotate(-135deg)}
.arquivo-grupo > summary:hover .arquivo-nome,.arquivo-grupo > summary:active .arquivo-nome{color:var(--sol-escuro)}
.arquivo-grupo > summary:focus-visible{outline:2px solid var(--sol);outline-offset:3px}
.arquivo-lista{padding-bottom:34px}
.arquivo-grupo[open] > .arquivo-lista{animation:menu-entra .3s cubic-bezier(.2,.7,.2,1)}

/* Cada coluna é dita, não deduzida: uma aparição sem data nem plataforma tem
   a primeira linha vazia (o `p:empty` esconde-a), e o título não pode
   escorregar para o lugar dela. */
.arquivo-itens .wp-block-post{
	display:grid;grid-template-columns:172px 1fr 24px;gap:6px 16px;align-items:baseline;
	border-top:1px solid var(--linha);padding:22px 0;position:relative;
}
.aparicao-meta{grid-column:1;font-size:13.5px;font-weight:400;letter-spacing:.01em;color:var(--cinza)}
.aparicao-texto{grid-column:2;min-width:0}
.aparicao-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(18px,2.3vw,21px);line-height:1.3;letter-spacing:normal;transition:color .15s}
.aparicao-titulo a{display:inline;text-decoration:none;color:inherit}
.aparicao-titulo a::after{content:"";position:absolute;inset:0}
.aparicao-titulo a:focus-visible{outline:none}
.arquivo-itens .wp-block-post:has(.aparicao-titulo a:focus-visible){outline:2px solid var(--sol);outline-offset:3px}
.aparicao-resumo{margin-top:4px}
.aparicao-resumo p{font-size:14.5px;line-height:1.6;color:var(--tinta-suave)}
.arquivo-itens .seta{grid-column:3;color:var(--sol);font-size:17px;line-height:1;transition:transform .2s}
.arquivo-itens .wp-block-post:not(:has(.aparicao-titulo a)) .seta{visibility:hidden}
.arquivo-itens .wp-block-post:has(.aparicao-titulo a):hover .aparicao-titulo{color:var(--sol-escuro)}
.arquivo-itens .wp-block-post:has(.aparicao-titulo a):hover .seta{transform:translate(3px,-3px)}
.arquivo-itens .wp-block-post:has(.aparicao-titulo a):active .aparicao-titulo{color:var(--sol-escuro)}
/* O mesmo episódio em duas plataformas: o plugin troca a seta por um link
   com o nome de cada uma (scf_media_botoes_plataformas). Ficam por baixo do
   título e por cima da ligação que estica a linha. */
.aparicao-card-plataformas{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:4px}
.aparicao-plataforma{
	position:relative;z-index:1;display:inline-block;text-decoration:none;
	font-size:13.5px;font-weight:500;letter-spacing:.03em;color:var(--sol-escuro);
	border-bottom:1px solid var(--sol);padding-bottom:2px;transition:opacity .15s;
}
.aparicao-plataforma:hover{opacity:.7}
.aparicao-plataforma:active{opacity:.55}

/* --------------------------------------------------------------------------
   Listas de escolha dos formulários
   O site.js troca o <select> do Fluent Forms por um botão e uma lista com o
   aspeto da página (o <select> continua lá, escondido, e é ele que segue no
   envio). Sem JavaScript fica o <select> do browser, com uma seta.
   -------------------------------------------------------------------------- */
body .wp-site-blocks .fluentform select.ff-el-form-control,
body .wp-site-blocks .fluentform select.ff-el-form-control:focus{
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A6D3B' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 2px center / 12px 8px;
	padding-right:26px;
}
.escolha{position:relative}
body .wp-site-blocks .fluentform .escolha-nativa{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
body .wp-site-blocks .fluentform .escolha-botao{
	display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;
	padding:10px 0;border:0;border-bottom:1px solid var(--linha);border-radius:0;box-shadow:none;
	font-family:inherit;font-size:16px;font-weight:300;line-height:normal;letter-spacing:normal;text-transform:none;
	color:var(--tinta);text-align:left;cursor:pointer;
	background:linear-gradient(var(--sol),var(--sol)) no-repeat 0 100% / 0 2px transparent;
	transition:background-size .5s cubic-bezier(.2,.7,.2,1),border-color .3s ease;
}
body .wp-site-blocks .fluentform .escolha-botao::after{
	content:"";flex:none;width:8px;height:8px;margin-right:4px;
	border-right:1.5px solid var(--sol-escuro);border-bottom:1.5px solid var(--sol-escuro);
	transform:translateY(-3px) rotate(45deg);transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
body .wp-site-blocks .fluentform .escolha.aberta .escolha-botao::after{transform:translateY(2px) rotate(-135deg)}
body .wp-site-blocks .fluentform .escolha-botao:focus{outline:none}
body .wp-site-blocks .fluentform .escolha-botao:focus,
body .wp-site-blocks .fluentform .escolha.aberta .escolha-botao{border-color:var(--sol);background-size:100% 2px}
body .wp-site-blocks .fluentform .escolha-lista{
	position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;list-style:none;margin:0;padding:8px 0;
	background:var(--papel);border:1px solid var(--linha);max-height:290px;overflow:auto;
	box-shadow:0 22px 44px -22px rgba(28,28,26,.3),0 3px 10px -6px rgba(28,28,26,.14);
	animation:menu-entra .2s cubic-bezier(.2,.7,.2,1);
}
body .wp-site-blocks .fluentform .escolha-lista[hidden]{display:none}
body .wp-site-blocks .fluentform .escolha-lista:focus{outline:none}
body .wp-site-blocks .fluentform .escolha-lista [role="option"]{
	position:relative;padding:12px 16px 12px 20px;margin:0;font-size:15.5px;line-height:1.4;color:var(--tinta-suave);
	cursor:pointer;transition:background-color .15s,color .15s;
}
body .wp-site-blocks .fluentform .escolha-lista [role="option"].ativa{background:rgba(184,149,90,.12);color:var(--tinta)}
body .wp-site-blocks .fluentform .escolha-lista [role="option"][aria-selected="true"]{color:var(--tinta);font-weight:400}
body .wp-site-blocks .fluentform .escolha-lista [role="option"][aria-selected="true"]::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;background:var(--sol)}
body .wp-site-blocks .fluentform .ff-el-is-error .escolha-botao{border-color:var(--sol-escuro)}

/* ==========================================================================
   Telemóvel e tablet
   O desenho foi testado a 1440 e a 390 px (LEIA-ME). Esta secção trata do
   resto: os tablets, onde a grelha do computador chegava apertada, e o toque
   no telemóvel. As regras de toque vivem em (pointer:coarse).
   ========================================================================== */

/* Títulos sem palavras sozinhas na última linha, parágrafos sem órfãs. Fica
   abaixo dos 1024 px: no computador, as quebras são as do desenho. */
@media (max-width:1023px){
	:where(.pagina) p,:where(.pagina) li{text-wrap:pretty}
	.pagina h1,.pagina h2,.pagina h3,.pagina h4,.olho,.kicker,.lema,.statement p:not(.kicker),.frase-medida,.visao .frase,.pergunta{text-wrap:balance}
	/* A linha do fundo da página separa-se por « · », e o ponto vai colado ao
	   que vem antes (&nbsp; na parte). O `pretty` empurrava-o para o início
	   da linha seguinte; aqui a quebra é a normal. */
	.legal p{text-wrap:wrap}
	.legal a{white-space:nowrap}
}
/* «desenvolvimento» (o título da linha temporal) não cabia abaixo dos 364 px
   e empurrava a página para o lado. O mínimo encolhe com o ecrã; dos 380 px
   para cima fica tudo igual. */
.pagina--interior h1{font-size:clamp(min(44px,11.6vw),8vw,72px)}
.pagina h1,.pagina h2,.pagina h3,.prosa{overflow-wrap:break-word}

/* Tablet. O anel dourado dos retratos sai 11px para fora da fotografia; no
   computador cai na margem larga, mas abaixo dos 1030 px encostava à beira
   do ecrã. Fica dentro da margem, e entre 761 e 899 px o retrato de cima
   encolhe para o título ter onde respirar. */
@media (min-width:761px) and (max-width:1029px){
	.topo{grid-template-columns:1fr 271px}
	.topo .retrato{margin-right:11px}
	.sobre{grid-template-columns:211px 1fr;column-gap:45px}
	.sobre .retrato-pequeno{margin-left:11px}
}
@media (min-width:761px) and (max-width:899px){
	.topo{grid-template-columns:1fr 231px;gap:40px}
	.topo .retrato{width:220px;height:220px}
}
/* Os recursos da Agenda em três colunas ficavam com 210px a 768: linhas de
   25 caracteres. Entre 700 e 959 px vão a duas. */
@media (min-width:700px) and (max-width:959px){
	.recursos-grelha{grid-template-columns:repeat(2,1fr);gap:0 40px}
}
@media (max-width:760px){
	.yt-grid{grid-template-columns:1fr;gap:44px}
	.star-talks{grid-template-columns:1fr;gap:44px}
}
/* Rodapé: até aos 960 px a assinatura ocupa a linha toda e os quatro grupos
   de links vêm por baixo (dois a dois no telemóvel). */
@media (max-width:960px){
	.rodape{grid-template-columns:repeat(4,1fr)}
	.rodape > :first-child{grid-column:1 / -1}
}
@media (max-width:640px){
	.rodape{grid-template-columns:1fr 1fr}
	.equipa{grid-template-columns:1fr;gap:72px}
	.membro-foto{max-width:420px;margin-left:auto;margin-right:auto}
	.evento{grid-template-columns:1fr;gap:8px}
	.arquivo-grupo > summary{padding:22px 36px 22px 0}
	.arquivo-itens .wp-block-post{grid-template-columns:1fr 24px;padding:20px 0}
	.aparicao-meta{grid-column:1 / -1}
	.aparicao-texto,.aparicao-card-plataformas{grid-column:1}
	.arquivo-itens .seta{grid-column:2}
}

/* Telemóvel. Os intervalos de 110 a 140px entre secções eram um sexto do
   ecrã em branco; descem cerca de um quarto, sem mudar a ordem nem o ritmo. */
@media (max-width:640px){
	.pagina{padding-bottom:72px}
	.seccao,.statement,.rodape,.media-kit{margin-top:104px}
	.recursos,.quem,.contacto-seccao{margin-top:96px}
	.visao,.subscrever-fim,.seccao--percurso + .numeros{margin-top:88px}
	.statement,.quem,.contacto-seccao,.visao,.subscrever-fim,.fecho,.media-kit{padding-top:48px}
	.seccao--percurso + .numeros{padding-top:44px}
	.star-talks{padding-top:32px}
	.medida{padding-top:44px}
	.heroi{padding-top:72px}
	.pagina--interior .heroi{padding:72px 0 64px}
	.pagina--legal .heroi{padding:64px 0 44px}
	.leitura{padding-top:64px}
	.navegacao-edicoes{margin-top:64px}
	.etapa{padding-bottom:48px}
	.accoes--sobre{margin-top:48px}
}
@media (max-width:480px){
	.etapa{padding-left:30px}
}
/* Sem JavaScript o menu fica à vista. A 360 px (o Android mais comum) o
   «Contacto» ficava sozinho numa terceira linha; com um pouco menos de
   espaço entre letras e entre links, volta às duas. */
@media (max-width:400px){
	.barra nav{letter-spacing:.12em}
	.barra .wp-block-navigation .wp-block-navigation__container{column-gap:16px}
}

/* Toque. Os links do desenho são texto de 11 a 15px: a área que o dedo
   acerta cresce com um ::after invisível, sem mexer em nada do que se vê.
   Onde os links estão empilhados, o intervalo entre eles cresce um pouco
   para as áreas não se sobreporem. */
@media (pointer:coarse){
	.barra .wp-block-navigation .wp-block-navigation__container{row-gap:14px}
	.chips{row-gap:10px}
	.rodape li{margin-bottom:13px}
	.legal{line-height:2.3}
	.pagina--legal .indice li{padding:8px 0}
	.paginacao .wp-block-query-pagination-numbers{gap:22px}

	.link,.saber,.ver,.caderno-link,.contacto,.voltar-arquivo a,
	.chip,.rodape li a,.legal a,.indice a,.paginacao a{position:relative}

	.link::after,.saber::after,.ver::after,.caderno-link::after,.contacto::after,.voltar-arquivo a::after,
	.chip::after,.rodape li a::after,.legal a::after,.indice a::after,.paginacao a::after,.aparicao-plataforma::after{content:"";position:absolute}

	.link::after,.saber::after,.ver::after,.caderno-link::after,.contacto::after,.aparicao-plataforma::after{inset:-9px -6px}
	.voltar-arquivo a::after{inset:-13px -6px}
	.chip::after{inset:-5px -13px}
	.rodape li a::after{inset:-6px -4px}
	.legal a::after{inset:-4px -3px}
	.indice a::after{inset:-8px -6px}
	.paginacao a::after{inset:-10px -11px}

	body .wp-site-blocks .fluentform .ff-btn-submit{position:relative}
	body .wp-site-blocks .fluentform .ff-btn-submit::before{content:"";position:absolute;inset:-10px -6px}
	.pesquisa .limpar::before{content:"";position:absolute;inset:-6px}
}
/* Menu à vista (tablet com toque): cada link, e a seta dos submenus, com
   área de toque maior. */
@media (pointer:coarse) and (min-width:761px){
	.barra .wp-block-navigation .wp-block-navigation-item__content{position:relative}
	.barra .wp-block-navigation .wp-block-navigation__container > li > .wp-block-navigation-item__content::after{content:"";position:absolute;inset:-7px -8px}
	.barra .wp-block-navigation .wp-block-navigation__submenu-icon{position:relative}
	.barra .wp-block-navigation .wp-block-navigation__submenu-icon::after{content:"";position:absolute;inset:-14px -10px}
}

/* No toque não há rato a passar por cima: o :hover fica preso depois do
   toque. Em troca, cada link responde enquanto o dedo carrega (:active,
   para todos). */
@media (hover:none){
	.link:hover,.saber:hover,.ver:hover,.contacto:hover,.paginacao a:hover{opacity:1}
	body .wp-site-blocks .fluentform .ff-btn-submit:hover{opacity:1}
	.barra .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:inherit}
	.barra .wp-block-navigation .destaque .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:var(--sol-escuro)}
	.lista-edicoes .wp-block-post:hover .titulo{color:inherit}
	.lista-edicoes .wp-block-post:hover .seta{transform:none}
	.arquivo-grupo > summary:hover .arquivo-nome{color:inherit}
	.arquivo-itens .wp-block-post:has(.aparicao-titulo a):hover .aparicao-titulo{color:inherit}
	.arquivo-itens .wp-block-post:has(.aparicao-titulo a):hover .seta{transform:none}
	.aparicao-plataforma:hover{opacity:1}
}
html{-webkit-tap-highlight-color:rgba(184,149,90,.18)}
.link:active,.saber:active,.ver:active,.contacto:active,.paginacao a:active{opacity:.55}
body .wp-site-blocks .fluentform .ff-btn-submit:active{opacity:.55}
.caderno-link:active{color:var(--sol-escuro);border-color:var(--sol)}
.chip:active{color:var(--tinta)}
.barra .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:active{color:var(--tinta)}
.rodape li a:active,.legal a:active,.indice a:active,.voltar-arquivo a:active,.navegacao-edicoes a:active{color:var(--sol-escuro)}
.lista-edicoes .wp-block-post:active .titulo{color:var(--sol-escuro)}

/* ==========================================================================
   Aviso de cookies (31 Out 2026; assets/js/consentimento.js)

   Não vem do desenho, fala a língua dele: papel, filete de tinta, título em
   Playfair e ações em texto sublinhado, porque o site não tem botões cheios.
   Aceitar e Recusar têm de pesar exatamente o mesmo, por isso partilham a
   mesma regra. A tinta no lugar do --sol-escuro é pelo contraste: o latão fica
   nos 3,9:1 sobre o papel e aqui é o único caminho para decidir.
   ========================================================================== */
.consentimento{
	position:fixed;left:0;right:0;bottom:0;z-index:50;
	background:var(--papel);border-top:1px solid var(--tinta);
	box-shadow:0 -12px 32px rgba(28,28,26,.08);
	animation:consentimento-entra .5s cubic-bezier(.16,1,.3,1);
}
@keyframes consentimento-entra{from{transform:translateY(100%)}}
html:has(.consentimento){scroll-padding-bottom:190px}
.consentimento__caixa{
	max-width:960px;margin:0 auto;padding:20px 24px calc(20px + env(safe-area-inset-bottom));
	display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 56px;align-items:center;
}
.consentimento p{font-size:14.5px;line-height:1.55;color:var(--tinta-suave);max-width:62ch}
.consentimento .consentimento__titulo{font-family:'Playfair Display',serif;font-weight:500;font-size:21px;line-height:1.25;color:var(--tinta);margin-bottom:5px}
.consentimento .consentimento__estado{font-size:13px;color:var(--cinza);margin-top:5px}
.consentimento a{text-decoration-color:var(--sol);text-underline-offset:3px;white-space:nowrap}
.consentimento a:hover,.consentimento a:active{color:var(--sol-escuro)}
.consentimento__accoes{display:flex;gap:30px}
.consentimento button{
	appearance:none;background:none;border:0;cursor:pointer;font:inherit;
	font-size:14.5px;font-weight:500;letter-spacing:.03em;color:var(--tinta);
	min-height:44px;padding:0;transition:opacity .15s;
	text-decoration:underline;text-decoration-color:var(--sol);text-decoration-thickness:1px;text-underline-offset:5px;
}
.consentimento button:hover{opacity:.7}
.consentimento button:active{opacity:.55}
.pagina--legal .ponto .accao .saber{margin:4px 0 22px}
@media (max-width:640px){
	.consentimento__caixa{grid-template-columns:1fr;padding-top:18px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
	.consentimento .consentimento__titulo{font-size:19px}
	.consentimento p{font-size:14px}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto!important}.arquivo-grupo[open] > .arquivo-lista{animation:none}.consentimento{animation:none}}
@media print{.pagina--legal .barra,.pagina--legal .rodape,.indice,.consentimento{display:none}}
