/* Fontes servidas pelo próprio site (RF-20). Variáveis, subconjunto latin. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 600;font-display:swap;
  src:url("fontes/newsreader.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 600;font-display:swap;
  src:url("fontes/newsreader-italico.woff2") format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("fontes/schibsted-grotesk.woff2") format("woff2")}

/* Layout: grelha editorial assimétrica de 12 colunas. O céu desce do papel ao azul-noite,
   secção a secção; a serifa convida, a grotesca informa; o âmbar é a única luz. */
:root{
  --papel:#F3EDE1;
  --tinta:#0E1A2D;
  --claro:#F3EDE1;
  --luz:#F0B45A;
  --cobre:#7A4409;
  --bruma-dia:#465064;
  --bruma-noite:#AAB5C7;
  --erro-noite:#FFA796;
  --ceu-topo:#F3EDE1;

  --f-serifa:"Newsreader",Georgia,"Times New Roman",serif;
  --f-grot:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;

  --t-rotulo:.75rem;
  --t-nota:.875rem;
  --t-texto:1.0625rem;
  --t-lead:clamp(1.2rem,1.6vw,1.45rem);
  --t-h3:clamp(1.5rem,2.3vw,2rem);
  --t-h2:clamp(2.1rem,4.8vw,4.25rem);
  --t-h1:clamp(2.5rem,7.4vw,7.25rem);

  --d-curta:.2s;
  --d-media:.6s;
  --d-longa:1.4s;
  --e-saida:cubic-bezier(.16,1,.3,1);
  --e-luz:cubic-bezier(.4,0,.2,1);

  --g:clamp(20px,4vw,56px);
  --larg:1320px;
  --topo-h:60px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo-h) + 16px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papel);color:var(--tinta);
  font:400 var(--t-texto)/1.6 var(--f-grot);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--ceu-topo)}
::selection{background:var(--luz);color:var(--tinta)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--acc,var(--cobre));outline-offset:3px;border-radius:2px}

/* tom de cada troço do céu */
.dia{--fg:var(--tinta);--mut:var(--bruma-dia);--fio:rgba(14,26,45,.22);--acc:var(--cobre);
  --btn-bg:var(--tinta);--btn-fg:var(--papel);--btn-hover:var(--cobre);color:var(--fg)}
.noite{--fg:var(--claro);--mut:var(--bruma-noite);--fio:rgba(243,237,225,.2);--acc:var(--luz);
  --btn-bg:var(--luz);--btn-fg:var(--tinta);--btn-hover:var(--claro);color:var(--fg);color-scheme:dark}
.ceu{background:linear-gradient(var(--a),var(--b))}

.w{max-width:var(--larg);margin-inline:auto;
  padding-left:max(var(--g),env(safe-area-inset-left,0px));
  padding-right:max(var(--g),env(safe-area-inset-right,0px))}
.sec{padding-block:clamp(64px,10vw,150px)}
.grelha{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:clamp(28px,4vw,56px)}
.grelha > *{min-width:0}

.rotulo{font:600 var(--t-rotulo)/1.3 var(--f-grot);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.rotulo-fio{display:flex;align-items:center;gap:.9em}
.rotulo-fio::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.h2{font:400 var(--t-h2)/1.02 var(--f-serifa);letter-spacing:-.022em;text-wrap:balance}
.h2 em,.h1 em{font-style:italic;font-weight:300}
.lead{font:400 var(--t-lead)/1.45 var(--f-grot);text-wrap:pretty}
.corpo{max-width:62ch;text-wrap:pretty}
.mut{color:var(--mut)}
.num{font-variant-numeric:tabular-nums lining-nums}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75em;min-height:52px;padding:.8em 1.5em;
  font:600 1rem/1.1 var(--f-grot);text-decoration:none;cursor:pointer;
  background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bg);border-radius:2px;
  transition:background-color var(--d-curta) var(--e-luz),border-color var(--d-curta) var(--e-luz),color var(--d-curta) var(--e-luz)}
.btn .seta{display:inline-block;transition:transform var(--d-media) var(--e-saida)}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.btn:hover .seta{transform:translateX(5px)}
.dia .btn:hover{color:var(--papel)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-p{min-height:44px;padding:.6em 1.05em;font-size:.9rem;gap:0;white-space:nowrap}
@media (max-width:400px){.btn-p{padding:.6em .8em}.topo .w{gap:10px}}
.lig{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;
  text-decoration-color:var(--acc);transition:text-decoration-color var(--d-curta) var(--e-luz),color var(--d-curta) var(--e-luz)}
.lig:hover{color:var(--acc)}

/* cabeçalho */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ceu-topo)}
.topo .w{display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:var(--topo-h)}
.topo::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--fio)}
.marca{font:500 clamp(1.05rem,1.5vw,1.3rem)/1 var(--f-serifa);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;margin-right:auto}
.marca em{font-weight:300}
.relogio{display:flex;align-items:baseline;gap:.6em;font:600 var(--t-rotulo)/1 var(--f-grot);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.relogio b{font:500 1.05rem/1 var(--f-serifa);letter-spacing:0;text-transform:none;color:var(--acc);min-width:3.1em;font-variant-numeric:tabular-nums lining-nums}
.relogio .dp{display:inline-block;padding:0 .04em;animation:dois-pontos 1s step-end infinite}
@keyframes dois-pontos{50%{opacity:.15}}
@media (max-width:520px){.relogio > span{display:none}.relogio b{min-width:0}}

/* 1. convite */
.convite{padding-block:clamp(18px,3vw,40px) clamp(48px,7vw,100px)}
.data-linha{display:flex;flex-wrap:wrap;gap:.2em 1.6em;padding-bottom:clamp(14px,1.6vw,22px);border-bottom:1px solid var(--fio);
  font:600 var(--t-rotulo)/1.5 var(--f-grot);letter-spacing:.12em;text-transform:uppercase}
.data-linha span:last-child{margin-left:auto;color:var(--mut)}
.h1{font:400 var(--t-h1)/.96 var(--f-serifa);letter-spacing:-.03em;text-wrap:balance;
  margin-top:clamp(20px,4vw,64px);max-width:13.5em}
.convite-baixo{margin-top:clamp(16px,3.4vw,52px);align-items:end}
.convite-texto{grid-column:6 / span 6;display:grid;gap:clamp(18px,2vw,28px);justify-items:start}
.convite-aval{grid-column:1 / span 4;grid-row:1;display:grid;gap:.9rem;align-content:end}
.aval-linha{display:flex;align-items:center;gap:.6rem;font:600 var(--t-rotulo)/1.3 var(--f-grot);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}

.factos{margin-top:clamp(40px,6vw,88px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--fg)}
.factos > div{padding:clamp(14px,1.6vw,22px) clamp(12px,1.6vw,24px) 0 0;display:grid;gap:.35rem;align-content:start}
.factos > div + div{padding-left:clamp(12px,1.6vw,24px);border-left:1px solid var(--fio)}
.factos dt{font:600 var(--t-rotulo)/1.3 var(--f-grot);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.factos dd{font:400 clamp(1.25rem,2.2vw,2rem)/1.1 var(--f-serifa);letter-spacing:-.01em}
.factos small{display:block;margin-top:.4rem;font:400 var(--t-nota)/1.35 var(--f-grot);letter-spacing:0;color:var(--mut)}

/* cabeça de secção comum */
.cab{grid-column:1 / span 4;display:grid;gap:1.1rem;align-content:start}
.miolo{grid-column:6 / span 7}

/* 2. problema */
.problema .h2{grid-column:1 / span 10}
.tres{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--fg)}
.tres > li{padding:clamp(18px,2vw,28px) clamp(16px,2.4vw,36px) 0 0;display:grid;gap:.6rem;align-content:start}
.tres > li + li{padding-left:clamp(16px,2.4vw,36px);border-left:1px solid var(--fio)}
.tres h3{font:400 var(--t-h3)/1.1 var(--f-serifa);letter-spacing:-.012em}
.remate{grid-column:6 / span 7;font:300 italic clamp(1.5rem,2.8vw,2.5rem)/1.15 var(--f-serifa);letter-spacing:-.012em;text-wrap:balance}

/* 3. como funciona */
.linhas{border-top:1px solid var(--fg)}
.linhas > div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:.4rem clamp(16px,2vw,32px);
  padding-block:clamp(16px,1.8vw,24px);border-bottom:1px solid var(--fio);align-items:baseline}
.linhas dt{font:400 var(--t-h3)/1.1 var(--f-serifa);letter-spacing:-.012em}
.linhas dd{color:var(--mut)}
.ritmo{margin-top:clamp(20px,2.4vw,32px);max-width:54ch}

/* 4. programa */
.programa .cab{grid-column:1 / span 7}
.noites{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);gap:1.1rem clamp(20px,3vw,48px)}
.noite-c{display:grid;grid-row:span 4;grid-template-rows:subgrid;border-top:2px solid var(--fg);padding-top:clamp(14px,1.6vw,20px)}
.noite-c .quando{display:flex;justify-content:space-between;gap:1rem;font:600 var(--t-rotulo)/1.3 var(--f-grot);letter-spacing:.14em;text-transform:uppercase}
.noite-c .quando span:last-child{color:var(--mut)}
.noite-c h3{font:400 var(--t-h3)/1.08 var(--f-serifa);letter-spacing:-.014em;text-wrap:balance}
.noite-c ul{display:grid;align-content:start}
.noite-c li{padding-block:.7rem;border-top:1px solid var(--fio);font-size:1rem;line-height:1.45}
.exerc{border-top:1px solid var(--fg);padding-top:.9rem;display:grid;gap:.35rem;align-content:start}
.exerc p:last-child{font:400 italic 1.3rem/1.25 var(--f-serifa)}

/* 5. o que leva */
.leva-2{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);border-top:1px solid var(--fg);padding-top:clamp(20px,2.4vw,32px)}
.leva-2 h3{font:400 clamp(2rem,4.2vw,3.75rem)/1 var(--f-serifa);letter-spacing:-.024em;text-wrap:balance}
.leva-2 p{margin-top:1rem;max-width:36ch}
.leva-4{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--fio)}
.leva-4 li{padding:clamp(14px,1.6vw,20px) clamp(12px,1.6vw,24px) 0 0;display:grid;gap:.3rem;align-content:start}
.leva-4 li + li{padding-left:clamp(12px,1.6vw,24px);border-left:1px solid var(--fio)}
.leva-4 b{font:400 1.3rem/1.15 var(--f-serifa)}
.leva-4 span{font-size:var(--t-nota);line-height:1.4;color:var(--mut)}

/* 6. para quem é: o entardecer e a mesa */
.quem-dia{padding-block:clamp(64px,10vw,150px) clamp(40px,6vw,80px)}
.elegiveis{display:flex;flex-wrap:wrap;gap:.5rem .55rem;margin-top:1.4rem}
.elegiveis li{padding:.42em .85em;border:1px solid var(--fg);border-radius:999px;font-size:.95rem;line-height:1.3}
.quem-notas{display:grid;gap:.8rem;margin-top:1.6rem;max-width:56ch}
.anoitece{position:relative}
.anoitece > div{height:clamp(110px,17vh,190px)}
.anoitece p{position:absolute;inset:auto 0 clamp(18px,3vw,40px);text-align:center;color:var(--claro);
  font:300 italic clamp(1.6rem,3.6vw,3rem)/1 var(--f-serifa);letter-spacing:-.01em;margin:0;padding-inline:20px}
.sala{padding-block:clamp(28px,5vw,72px) clamp(72px,10vw,150px)}
.mesa{display:grid;grid-template-columns:auto repeat(var(--lado,7),minmax(0,1fr)) auto;gap:clamp(14px,1.6vw,22px) 6px;align-items:center}
.lugar{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;
  font:400 clamp(.82rem,1.15vw,1rem)/1.2 var(--f-grot);color:var(--fg);
  transition:opacity var(--d-longa) var(--e-luz);transition-delay:calc(var(--k,0) * 90ms)}
.lugar.cima{grid-row:1;grid-column:calc(var(--n) + 1);justify-content:flex-end;align-self:end}
.lugar.baixo{grid-row:3;grid-column:calc(var(--n) + 1);flex-direction:column-reverse;justify-content:flex-end;align-self:start}
.lugar.anfitriao{grid-row:2;grid-column:1;padding-right:clamp(6px,1vw,14px);max-width:7.5em}
.lugar.seu{grid-row:2;grid-column:calc(var(--lado,7) + 2);padding-left:clamp(6px,1vw,14px)}
.ponto{width:13px;height:13px;border-radius:50%;flex:none;background:var(--claro);
  box-shadow:0 0 0 5px rgba(243,237,225,.08),0 0 20px 3px rgba(243,237,225,.26);
  transition:box-shadow var(--d-longa) var(--e-luz),background-color var(--d-longa) var(--e-luz);transition-delay:inherit}
.anfitriao .ponto{background:transparent;border:1.5px solid var(--claro);box-shadow:none}
.anfitriao small{display:block;color:var(--mut);font-size:.78rem;margin-top:.1rem}
.seu a{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;color:var(--luz);font-weight:700;
  padding:10px 6px;min-width:44px;min-height:44px}
.seu .ponto{width:19px;height:19px;background:var(--luz);
  box-shadow:0 0 0 7px rgba(240,180,90,.16),0 0 34px 9px rgba(240,180,90,.5)}
.seu a span:last-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.seu a:hover .ponto{box-shadow:0 0 0 10px rgba(240,180,90,.2),0 0 46px 14px rgba(240,180,90,.62)}
.tampo{grid-row:2;grid-column:2 / span var(--lado,7);height:clamp(110px,13vw,170px);border:1px solid var(--fio);border-radius:clamp(55px,6.5vw,85px);
  background:radial-gradient(ellipse 60% 90% at 50% 50%,rgba(240,180,90,.17),rgba(240,180,90,0) 72%);
  display:grid;place-items:center;text-align:center;font:300 italic clamp(1.1rem,2vw,1.6rem)/1.2 var(--f-serifa);color:var(--mut)}
.lugar > button{all:unset;box-sizing:border-box;display:flex;flex-direction:inherit;align-items:center;justify-content:inherit;gap:.6rem;
  text-align:inherit;cursor:pointer;min-height:44px;padding:4px 6px;border-radius:2px}
.lugar > button:focus-visible{outline:2px solid var(--luz);outline-offset:3px}
.lugar > button:hover .ponto,.lugar > button[aria-pressed="true"] .ponto{box-shadow:0 0 0 7px rgba(243,237,225,.14),0 0 28px 7px rgba(243,237,225,.42)}
.lugar > button[aria-pressed="true"] span:first-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em}
.exemplo{margin:clamp(24px,3.4vw,44px) auto 0;max-width:30em;min-height:2.5em;text-align:center;text-wrap:balance;
  font:300 italic clamp(1.25rem,2.3vw,1.9rem)/1.22 var(--f-serifa);letter-spacing:-.008em}
.mesa.apagada .lugar{opacity:.2}
.mesa.apagada .ponto{box-shadow:none}
.legenda{margin-top:clamp(16px,2vw,24px);max-width:60ch;font-size:var(--t-nota);color:var(--mut);margin-inline:auto;text-align:center}

/* 7. formador */
.formador{padding-block:clamp(40px,6vw,90px) clamp(64px,10vw,150px)}
.formador-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(28px,5vw,80px);align-items:center}
.formador-t{display:grid;gap:1.3rem;align-content:center;
  padding-left:max(var(--g),env(safe-area-inset-left,0px),calc((100vw - var(--larg)) / 2 + var(--g)))}
.formador-t .h2{font-size:clamp(2rem,3.9vw,3.5rem)}
.foto{position:relative}
.foto img{width:100%;height:auto;aspect-ratio:1228 / 819;object-fit:cover;object-position:60% 40%;filter:sepia(.1) saturate(.94)}
.foto::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(14,26,45,.38),rgba(14,26,45,0) 26%),linear-gradient(0deg,rgba(14,26,45,.3),rgba(14,26,45,0) 30%)}

@media (min-width:900px){.foto img{aspect-ratio:5 / 4;object-position:20% 50%}}

/* 8. investimento */
.preco{grid-column:1 / span 7;display:grid;gap:1rem;align-content:start}
.preco-n{margin-top:clamp(8px,1.4vw,20px);font:400 clamp(5.5rem,17vw,14rem)/.92 var(--f-serifa);letter-spacing:-.045em;display:flex;align-items:flex-start;gap:.08em;flex-wrap:wrap}
.preco-n sup{font:600 clamp(.9rem,1.5vw,1.25rem)/1 var(--f-grot);letter-spacing:.12em;color:var(--luz);margin-top:.9em;text-transform:uppercase}
.passos{grid-column:9 / span 4;display:grid;align-content:start;border-top:1px solid var(--fg);counter-reset:p}
.passos li{counter-increment:p;display:grid;grid-template-columns:2.2em minmax(0,1fr);padding-block:1rem;border-bottom:1px solid var(--fio)}
.passos li::before{content:counter(p);font:400 1.5rem/1.1 var(--f-serifa);color:var(--luz)}
.passos b{display:block;font:400 1.3rem/1.2 var(--f-serifa)}
.passos span{color:var(--mut);font-size:.98rem;line-height:1.45}
.garantia{grid-column:3 / span 9;border-top:1px solid var(--fio);padding-top:clamp(24px,3vw,44px);display:grid;gap:1rem}
.garantia blockquote{margin:0;font:300 italic clamp(1.7rem,3.5vw,3.1rem)/1.12 var(--f-serifa);letter-spacing:-.016em;text-wrap:balance}

/* 9. perguntas */
.faq{border-top:1px solid var(--fg)}
.faq details{border-bottom:1px solid var(--fio)}
.faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;cursor:pointer;list-style:none;
  padding-block:1.1rem;font:400 clamp(1.2rem,1.8vw,1.5rem)/1.25 var(--f-serifa);transition:color var(--d-curta) var(--e-luz)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 1.6rem/1 var(--f-grot);color:var(--luz);flex:none;transition:transform var(--d-media) var(--e-saida)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--luz)}
.faq details p{padding-bottom:1.3rem;max-width:60ch;color:var(--mut)}

/* 10. candidatura */
.candidatura{position:relative}
.candidatura::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(240,180,90,.2),rgba(240,180,90,0) 70%)}
.candidatura .w{position:relative}
.candidatura .cab{grid-column:1 / span 5}
.candidatura .h2 b{font-weight:400;color:var(--luz)}
.form{grid-column:7 / span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem clamp(16px,2vw,28px)}
.campo{display:grid;gap:.45rem;align-content:start;min-width:0}
.campo.todo{grid-column:1 / -1}
.campo label,.campo .leg{font:600 var(--t-rotulo)/1.35 var(--f-grot);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.campo .leg-q{font:400 1.25rem/1.25 var(--f-serifa);letter-spacing:0;text-transform:none;color:var(--fg)}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:.75rem .8rem;font:400 1.05rem/1.4 var(--f-grot);color:var(--fg);
  background:rgba(243,237,225,.05);border:0;border-bottom:1px solid rgba(243,237,225,.45);border-radius:2px 2px 0 0;
  transition:background-color var(--d-curta) var(--e-luz),border-color var(--d-curta) var(--e-luz)}
.campo textarea{min-height:128px;resize:vertical}
.campo input:hover,.campo select:hover,.campo textarea:hover{background:rgba(243,237,225,.09)}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:2px solid var(--luz);outline-offset:2px;border-bottom-color:var(--luz)}
.campo [aria-invalid="true"]{border-bottom-color:var(--erro-noite)}
.erro{font-size:var(--t-nota);line-height:1.35;color:var(--erro-noite)}
.ajuda{font-size:var(--t-nota);line-height:1.35;color:var(--mut)}
.caixa{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .8rem;align-items:start;font-size:.98rem;line-height:1.45}
.caixa input{width:22px;height:22px;margin:.15rem 0 0;accent-color:var(--luz)}
.caixa .erro{grid-column:2}
.envio{grid-column:1 / -1;display:grid;gap:1rem;justify-items:start;margin-top:.4rem}
.envio .btn{min-width:min(100%,280px)}
.envio .notas{display:grid;gap:.25rem}
.envio > .erro{max-width:56ch}
/* campo-isca contra submissões automáticas: fora do ecrã, nunca type=hidden */
.isca{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.feito:focus{outline:none}
.feito .codigo b{font-weight:600;color:var(--fg);letter-spacing:.04em}
.feito{grid-column:7 / span 6;display:grid;gap:1.1rem;align-content:start;border-top:1px solid var(--luz);padding-top:clamp(20px,2.4vw,32px)}
.feito h3{font:400 var(--t-h2)/1.02 var(--f-serifa);letter-spacing:-.022em}
.feito ul{display:grid;gap:.6rem;max-width:56ch}
.feito li{padding-left:1.3em;position:relative}
.feito li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--luz)}

/* 11. para a equipa */
.equipa .cab{grid-column:1 / span 5}
.equipa .h2{font-size:clamp(1.9rem,3.6vw,3.1rem)}
.equipa .form,.equipa .feito{grid-column:7 / span 6}

/* rodapé */
.rodape{padding-block:clamp(48px,7vw,96px) clamp(28px,4vw,48px)}
.rodape-marca{font:400 clamp(3rem,11.5vw,11rem)/.9 var(--f-serifa);letter-spacing:-.04em;text-wrap:balance}
.rodape-marca em{font-weight:300}
.rodape-g{margin-top:clamp(32px,5vw,72px);padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--fio);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);font-size:.95rem;line-height:1.5}
.rodape-g > div{display:grid;gap:.5rem;align-content:start}
.rodape-g .mut a{text-decoration-color:var(--fio)}
.selec{user-select:all}

/* estado da turma */
/* O valor vem do servidor, em <html data-turma>. Um texto comum a "cheia" e "fechada" leva as duas classes. */
.so-cheia,.so-fechada{display:none}
[data-turma="cheia"] .so-cheia,[data-turma="fechada"] .so-fechada{display:revert}
[data-turma="cheia"] .so-aberta,[data-turma="fechada"] .so-aberta{display:none}
.aviso-turma{color:var(--acc)}

/* aviso de cookies */
.cookies{position:fixed;z-index:40;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));
  width:min(430px,calc(100% - 32px));padding:18px 20px 20px;display:grid;gap:14px;
  background:#0A1322;color:var(--claro);border:1px solid rgba(243,237,225,.22);border-radius:3px;
  box-shadow:0 18px 50px rgba(7,13,24,.38);font-size:.95rem;line-height:1.45}
.cookies p{color:var(--bruma-noite)}
.cookies b{display:block;font:400 1.3rem/1.2 var(--f-serifa);color:var(--claro);margin-bottom:.3rem}
.cookies .par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cookies .btn{min-height:46px;padding:.6em 1em;background:transparent;color:var(--claro);border-color:rgba(243,237,225,.6)}
.cookies .btn:hover{background:var(--claro);color:var(--tinta);border-color:var(--claro)}
@media (max-width:560px){.cookies{left:0;bottom:0;width:100%;border-width:1px 0 0;border-radius:0;
  padding:14px max(16px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));font-size:.9rem;gap:10px}
  .cookies b{display:inline;font:600 .9rem/1.45 var(--f-grot);margin:0}
  .cookies b::after{content:" "}
  .cookies .longo{display:none}
  .cookies .btn{min-height:44px}}

.lig-b{all:unset;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:var(--fio)}
.lig-b:hover{color:var(--luz)}
.lig-b:focus-visible{outline:2px solid var(--luz);outline-offset:3px}

.grao{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* entrada do convite */
/* Parte de .01 e não de 0: um elemento que nasce totalmente transparente não conta como "maior elemento visível" (LCP). */
@keyframes acender{from{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:none}}
.convite .data-linha,.convite .h1,.convite-baixo,.factos{animation:acender var(--d-longa) var(--e-saida) both}
.convite .h1{animation-delay:.08s}
.convite-baixo{animation-delay:.22s}
.factos{animation-delay:.36s}

/* telemóvel e tablet */
@media (max-width:899px){
  :root{--topo-h:56px}
  .cab,.miolo,.problema .h2,.remate,.programa .cab,.preco,.passos,.garantia,
  .candidatura .cab,.form,.feito,.equipa .cab,.equipa .form,.equipa .feito,
  .convite-texto,.convite-aval{grid-column:1 / -1}
  .convite-aval{grid-row:auto}
  .data-linha span:last-child{margin-left:0}
  .factos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .factos > div{padding-bottom:16px}
  .factos > div:nth-child(3){padding-left:0;border-left:0}
  .factos > div:nth-child(n+3){border-top:1px solid var(--fio)}
  .tres,.noites,.leva-2{grid-template-columns:minmax(0,1fr)}
  .noites{grid-template-rows:none;gap:clamp(32px,6vw,48px)}
  .noite-c{grid-row:auto;grid-template-rows:none;gap:1.1rem}
  .tres > li{padding:18px 0 22px}
  .tres > li + li{padding-left:0;border-left:0;border-top:1px solid var(--fio)}
  .linhas > div{grid-template-columns:minmax(0,1fr)}
  .leva-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .leva-4 li{padding-bottom:16px}
  .leva-4 li:nth-child(3){padding-left:0;border-left:0}
  .leva-4 li:nth-child(n+3){border-top:1px solid var(--fio)}
  .formador-g{grid-template-columns:minmax(0,1fr)}
  .formador-t{padding-right:max(var(--g),env(safe-area-inset-right,0px));padding-left:max(var(--g),env(safe-area-inset-left,0px));order:2}
  .rodape-g{grid-template-columns:repeat(2,minmax(0,1fr))}

  .mesa{grid-template-columns:minmax(0,1fr) clamp(64px,22vw,110px) minmax(0,1fr);gap:0 12px;max-width:440px;margin-inline:auto}
  .lugar{min-height:46px;font-size:.95rem}
  .lugar.cima,.lugar.baixo{align-self:center}
  .lugar.cima{grid-column:1;grid-row:calc(var(--n) + 1);flex-direction:row;justify-content:flex-end;text-align:right}
  .lugar.baixo{grid-column:3;grid-row:calc(var(--n) + 1);flex-direction:row-reverse;justify-content:flex-end;text-align:left}
  .lugar.anfitriao{grid-column:1 / -1;grid-row:1;max-width:none;padding:0 0 14px}
  .lugar.seu{grid-column:1 / -1;grid-row:calc(var(--lado,7) + 2);padding:8px 0 0}
  .tampo{grid-column:2;grid-row:2 / span var(--lado,7);height:100%;border-radius:55px;writing-mode:vertical-rl;font-size:1.15rem}
}
@media (max-width:560px){
  .form{grid-template-columns:minmax(0,1fr)}
  .rodape-g{grid-template-columns:minmax(0,1fr)}
  .btn-p .longo{display:none}
  .convite .btn{width:100%}
  .data-linha .so-aberta{display:none}
  .convite .h1{margin-top:14px}
  .convite .lead{font-size:1.0625rem;line-height:1.5}
  .convite-baixo{margin-top:12px}
  .convite-texto{gap:16px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .relogio .dp{animation:none}
  *,*::before,*::after{animation-duration:.01ms !important;animation-delay:0s !important;transition-duration:.01ms !important;transition-delay:0s !important}
}
/* Telemóvel: os rótulos da mesa quebram dentro da sua coluna, sem alargar a página (RNF-04). */
@media (max-width:899px){.lugar,.lugar > button{min-width:0;max-width:100%}.lugar > button span:first-child{min-width:0;overflow-wrap:anywhere;white-space:normal}}
/* Nos estados cheia e fechada o botão do cabeçalho leva o texto inteiro, em duas linhas se for preciso (RF-18, RF-28). */
@media (max-width:560px){.topo .btn-p .so-cheia,.topo .btn-p .so-fechada{font-size:.78rem;line-height:1.15;max-width:9.5em;white-space:normal;text-align:center}}
/* Estados cheia e fechada em ecrã estreito: o aviso da turma ocupa mais uma linha; o convite compensa
   para o botão não ficar por baixo do aviso de cookies (RF-02). */
@media (max-width:560px){
  [data-turma="cheia"] .convite .lead,[data-turma="fechada"] .convite .lead{font-size:1rem;line-height:1.45}
  [data-turma="cheia"] .convite .h1,[data-turma="fechada"] .convite .h1{margin-top:10px}
  [data-turma="cheia"] .convite-texto,[data-turma="fechada"] .convite-texto{gap:12px}
}
