/* Camerata Virtuosa
   Orchestra-site canon, warm: real photography leads, logo palette (cream / olive / coral).
   Single light theme by choice: the brand ground is cream. Square edges everywhere; the coral disc is the only circle. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:300;font-display:swap;src:url(fontes/montserrat-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(fontes/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(fontes/montserrat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(fontes/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fontes/source-serif-4-latin-opsz-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(fontes/source-serif-4-latin-opsz-italic.woff2) format("woff2")}
:root{
  --papel:#EFE9D8;
  --papel-2:#E8E0CC;
  --branco:#FBF8F1;
  --tinta:#4A3B16; /* body ink one step darker than the logo olive, for contrast */
  --oliva:#5C4A1E;
  --tinta-2:#685A36;
  --coral:#E5896A;
  --coral-tinta:#A1472B;
  --oliva-noite:#2F2610;
  --linha:rgba(74,59,22,.18);

  --f-marca:"Montserrat","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-texto:"Source Serif 4","Iowan Old Style","Charter",Georgia,serif;

  --t-xs:.8125rem; --t-s:.9375rem; --t-m:1.0625rem; --t-l:1.25rem; --t-xl:clamp(1.5rem,2.6vw,2rem);
  --t-titulo:clamp(2rem,4.6vw,3.4rem);

  --gutter:clamp(16px,4.5vw,56px);
  --max:1240px;
  --sec:clamp(4.5rem,10vw,8.5rem);
  --ease:cubic-bezier(.23,1,.32,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--f-texto);font-size:var(--t-m);line-height:1.65;font-optical-sizing:auto;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:rgba(74,59,22,.45);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-color:var(--coral)}
::selection{background:var(--coral);color:var(--oliva-noite)}
:focus-visible{outline:2px solid var(--coral-tinta);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--f-marca);font-weight:300;line-height:1.12;text-wrap:balance;letter-spacing:.01em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.in{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.saltar{position:absolute;left:-999px;top:8px;z-index:100;background:var(--tinta);color:var(--branco);padding:.6rem 1rem;font-family:var(--f-marca)}
.saltar:focus{left:8px}

.titulo{font-size:var(--t-titulo);text-transform:uppercase;letter-spacing:.06em;font-weight:300}
.titulo--pequeno{font-size:var(--t-xl)}

/* Buttons: square, one shape everywhere */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;border-radius:0;font-family:var(--f-marca);font-size:var(--t-s);font-weight:500;letter-spacing:.04em;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:transform 160ms var(--ease),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn--claro{background:var(--branco);color:var(--tinta)}
.btn--claro:hover{background:var(--coral);color:var(--oliva-noite)}
.btn--linha{border-color:rgba(251,248,241,.75);color:var(--branco);background:transparent}
.btn--linha:hover{background:rgba(251,248,241,.14);border-color:var(--branco)}
.btn--escuro{background:var(--tinta);color:var(--branco)}
.btn--escuro:hover{background:var(--oliva-noite)}

/* Header */
.topo{position:fixed;inset:0 0 auto;z-index:20;padding-top:env(safe-area-inset-top,0px);transition:background-color 300ms ease,box-shadow 300ms ease,color 300ms ease;color:var(--branco)}
.topo.solido .marca{color:var(--oliva)}
.topo.solido{background:rgba(239,233,216,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linha);color:var(--tinta)}
.topo__in{max-width:1400px;margin-inline:auto;padding-inline:var(--gutter);height:68px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.marca{text-decoration:none}
.marca__txt{font-family:var(--f-marca);font-weight:400;font-size:1rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center}
.marca__o{display:inline-block;width:1.05em;height:1.05em;border-radius:50%;background:var(--coral);margin-inline:.06em}
.menu ul{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}
.menu a{font-family:var(--f-marca);font-size:var(--t-s);font-weight:500;letter-spacing:.03em;text-decoration:none;padding-block:.4rem;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size 250ms var(--ease)}
.menu a:hover{background-size:100% 1px}
.menu .menu__cta{padding:.55rem 1.1rem;border-radius:0;border:1.5px solid currentColor;background:none;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease)}
.menu .menu__cta:hover{background:var(--coral);border-color:var(--coral);color:var(--oliva-noite)}
.menu .menu__cta:active{transform:scale(.97)}
.menu-btn{display:none;align-items:center;gap:.6rem;background:none;border:0;color:inherit;font-family:var(--f-marca);font-size:var(--t-s);font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.6rem 0;cursor:pointer}
.menu-btn__linhas{width:22px;height:10px;border-block:1.5px solid currentColor;transition:transform 250ms var(--ease)}
@media (max-width:900px){
  .menu-btn{display:inline-flex}
  .menu{position:fixed;inset:calc(68px + env(safe-area-inset-top,0px)) 0 auto;background:var(--papel);color:var(--tinta);border-bottom:1px solid var(--linha);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 300ms var(--ease),visibility 0s 300ms}
  .menu.aberto{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 300ms var(--ease)}
  .menu ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gutter) 1.5rem}
  .menu li a{display:block;padding:1rem 0;font-size:1.1rem;border-bottom:1px solid var(--linha);background:none}
  .menu .menu__cta{margin-top:1rem;text-align:center;border-color:var(--tinta)}
  .topo.menu-aberto{background:var(--papel);color:var(--tinta)}
}

/* Hero */
.hero{position:relative;min-height:min(86dvh,820px);display:grid;align-items:end;color:var(--branco);background:var(--oliva-noite);overflow:hidden}
.hero__foto,.hero__foto img{position:absolute;inset:0;width:100%;height:100%}
.hero__foto{overflow:hidden}
.hero__foto img{object-fit:cover;object-position:var(--pos,50% 40%);opacity:0;transition:opacity 1400ms ease}
.hero__foto img.ativa{opacity:1}
.hero__controlo{position:absolute;z-index:2;right:var(--gutter);top:calc(68px + env(safe-area-inset-top,0px) + 1rem);display:flex;align-items:center;gap:.75rem;color:var(--branco)}
.hero__legenda{font-family:var(--f-marca);font-size:var(--t-xs);font-weight:500;letter-spacing:.04em;background:rgba(28,22,8,.5);padding:.35rem .6rem}
.hero__pausa{width:36px;height:36px;display:grid;place-items:center;background:rgba(28,22,8,.35);border:1.5px solid rgba(251,248,241,.6);color:inherit;cursor:pointer;transition:background-color 200ms ease,transform 160ms var(--ease)}
.hero__pausa:hover{background:var(--coral);border-color:var(--coral);color:var(--oliva-noite)}
.hero__pausa:active{transform:scale(.95)}
.hero__pausa svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero__pausa .i-play{display:none;fill:currentColor;stroke:none}
.hero__pausa[aria-pressed="true"] .i-pausa{display:none}
.hero__pausa[aria-pressed="true"] .i-play{display:block}
.hero__veu{position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,28,10,.92) 0%,rgba(35,28,10,.72) 26%,rgba(35,28,10,.15) 52%,rgba(35,28,10,0) 66%),linear-gradient(180deg,rgba(35,28,10,.45) 0%,rgba(35,28,10,0) 16%)}
.hero__in{position:relative;width:100%;max-width:1400px;margin-inline:auto;padding:calc(68px + 4rem) var(--gutter) clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem clamp(2rem,6vw,6rem);align-items:end;justify-items:start}
.hero__lado{display:grid;gap:1.4rem;justify-self:end;max-width:30rem}
.logo{font-family:var(--f-marca);font-weight:300;text-transform:uppercase;line-height:.96;letter-spacing:.015em;font-size:clamp(2.6rem,6vw,5rem);display:grid}
.logo__l1,.logo__l2{white-space:nowrap}
.logo__l2{letter-spacing:.041em;margin-right:-.026em} /* widened so VIRTUOSA matches CAMERATA */
.logo__o{display:inline-block;width:1.04em;height:1.04em;border-radius:50%;background:var(--coral);vertical-align:-.17em;margin-inline:.06em;margin-block:-.1em}
.logo__jovem{justify-self:end;font-size:.2em;font-weight:500;letter-spacing:.05em;color:var(--coral);margin-top:.55em}
.hero__frase{font-family:var(--f-marca);font-weight:400;font-size:var(--t-l);line-height:1.45;max-width:30ch}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.75rem}

/* Hero entrance: one orchestrated moment, visible by default */
@media (prefers-reduced-motion:no-preference){
  .hero__foto img.ativa{animation:aproxima 7s ease-out both}
  .hero__in>*{animation:sobe 900ms var(--ease) both}
  .hero__in>:nth-child(2){animation-delay:120ms}
  .hero__in>:nth-child(3){animation-delay:220ms}
  @keyframes aproxima{from{transform:scale(1.05)}to{transform:scale(1)}}
  @keyframes sobe{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* Sobre */
.sobre{padding-block:clamp(3.5rem,6vw,5rem) 0}
.sobre__grelha{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.sobre__texto{display:grid;gap:2rem}
.destaque{font-family:var(--f-marca);font-weight:300;font-size:var(--t-xl);line-height:1.4;max-width:34ch}
.prosa{display:grid;gap:1.1em;max-width:62ch;color:var(--tinta-2)}
.sobre__foto{margin:0;position:sticky;top:96px}
.sobre__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 42%}
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);padding-block:clamp(4rem,8vw,6.5rem) var(--sec);margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--linha)}
.mvv__bloco{display:grid;gap:1rem;align-content:start}
.mvv h3{font-size:var(--t-l);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.mvv p{color:var(--tinta-2);max-width:36ch}
.valores{display:grid}
.valores li{font-family:var(--f-marca);font-size:var(--t-m);font-weight:400;padding-block:.55rem;border-bottom:1px solid var(--linha)}
.valores li:first-child{border-top:1px solid var(--linha)}

@media (max-width:860px){
  .sobre__grelha{grid-template-columns:1fr}
  .sobre__foto{position:static}
  .sobre__foto img{aspect-ratio:3/2}
  .mvv{grid-template-columns:1fr}
}

/* Concertos */
.concertos{background:var(--branco);padding-block:var(--sec)}
.concertos .in:first-child{display:grid;gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.intro{max-width:56ch;color:var(--tinta-2);font-size:var(--t-l);line-height:1.55}
.percurso{display:grid}
.concerto{display:grid;grid-template-columns:minmax(10rem,2fr) minmax(0,4fr) minmax(0,6fr);gap:clamp(1.25rem,3vw,3rem);padding-block:clamp(2rem,4vw,3rem);border-top:1px solid var(--linha);align-items:start}
.concerto:last-child{border-bottom:1px solid var(--linha)}
.concerto__data{font-family:var(--f-marca);display:grid;gap:.15rem;font-variant-numeric:tabular-nums;position:relative}
.concerto__data::before{content:"";position:absolute;left:-1.25rem;top:.95rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--coral)}
.concerto__dia{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:300;line-height:1}
.concerto__mes{font-size:var(--t-s);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.concerto__info{display:grid;gap:.6rem;align-content:start}
.concerto__info h3{font-size:var(--t-xl);font-weight:400}
.concerto__info p{color:var(--tinta-2);max-width:40ch}
.concerto__ver{justify-self:start;margin-top:.4rem;font-family:var(--f-marca);font-size:var(--t-s);font-weight:500;background:none;border:0;padding:.3rem 0;color:var(--tinta);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(74,59,22,.45);text-underline-offset:.3em;text-decoration-thickness:1.5px}
.concerto__ver:hover{text-decoration-color:var(--coral)}
.concerto__fotos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.concerto__fotos button{padding:0;border:0;background:var(--papel-2);cursor:zoom-in;overflow:hidden;aspect-ratio:3/4}
.concerto__fotos button:first-child{aspect-ratio:auto}
.concerto__fotos--2{grid-template-columns:1fr 1fr}
.concerto__fotos--2 button,.concerto__fotos--2 button:first-child{aspect-ratio:4/5}
.concerto__fotos img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}
@media (hover:hover) and (pointer:fine){.concerto__fotos button:hover img{transform:scale(1.04)}}
@media (max-width:980px){
  .concerto{grid-template-columns:auto minmax(0,1fr)}
  .concerto__fotos{grid-column:1/-1}
}
@media (max-width:520px){
  .concerto{grid-template-columns:1fr;gap:1rem}
  .concerto__data{display:flex;align-items:baseline;gap:.6rem}
  .concerto__data::before{top:50%;translate:0 -50%;left:-.95rem;width:.5rem;height:.5rem}
  .concerto__fotos{grid-template-columns:2fr 1fr}
  .concerto__fotos button:nth-child(3){display:none}
}

/* Solidariedade: the one full coral field */
.solidario{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--coral);color:var(--oliva-noite)}
.solidario__foto img{width:100%;height:100%;min-height:420px;object-fit:cover}
.solidario__texto{padding:clamp(3rem,7vw,7rem) var(--gutter);display:grid;gap:1.75rem;align-content:center;max-width:44rem}
.solidario__texto p{font-size:var(--t-l);line-height:1.6;max-width:44ch}
@media (max-width:860px){.solidario{grid-template-columns:1fr}.solidario__foto img{min-height:0;aspect-ratio:3/2}}

/* Vídeos: one dark screening band */
.videos{background:var(--oliva-noite);color:var(--papel);padding-block:var(--sec)}
.videos .titulo{color:var(--papel)}
.videos__grelha{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);margin-top:clamp(2rem,4vw,3rem);align-items:stretch}
.video{margin:0;display:grid;grid-template-rows:1fr auto;gap:1rem;min-width:0}
.video__capa{position:relative;display:block;width:100%;padding:0;border:0;background:#1c1608;cursor:pointer;overflow:hidden;color:var(--branco)}
.video--yt .video__capa{aspect-ratio:16/9}
.video__capa img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease),opacity 300ms ease;opacity:.92}
.video__play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:76px;height:76px;border-radius:50%;background:var(--coral);color:var(--oliva-noite);display:grid;place-items:center;transition:transform 200ms var(--ease)}
.video__play svg{width:30px;height:30px;fill:currentColor;margin-left:4px}
.video--ig .video__play{width:60px;height:60px}
.video--ig .video__play svg{width:24px;height:24px}
@media (hover:hover) and (pointer:fine){.video__capa:hover img{transform:scale(1.03);opacity:1}.video__capa:hover .video__play{transform:scale(1.06)}}
.video__capa:active .video__play{transform:scale(.95)}
.video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.video figcaption{display:grid;gap:.2rem;font-family:var(--f-marca)}
.video__titulo{font-size:var(--t-l);font-weight:400}
.video__info{font-size:var(--t-s);opacity:.8}
.video__link{justify-self:start;margin-top:.4rem;font-size:var(--t-s);font-weight:500;text-decoration-color:rgba(239,233,216,.4)}
.video__link:hover{text-decoration-color:var(--coral)}
@media (max-width:760px){
  .videos__grelha{grid-template-columns:1fr}
  .video--ig .video__capa{aspect-ratio:4/5}
}

/* Convidados */
.convidados{padding-block:var(--sec)}
.convidados .titulo{max-width:16ch}
.convidados__grelha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,6rem);margin-top:clamp(2.5rem,5vw,4rem)}
.grupo{display:grid;gap:1rem;align-content:start}
.grupo h3{font-size:var(--t-s);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.pessoas{display:grid}
.pessoas li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:1rem;border-bottom:1px solid var(--linha)}
.pessoa{font-family:var(--f-marca);font-weight:300;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2}
.papel{font-style:italic;color:var(--tinta-2);white-space:nowrap}
.nota{color:var(--tinta-2);max-width:46ch;margin-top:.5rem}
@media (max-width:760px){.convidados__grelha{grid-template-columns:1fr}}

/* Galeria */
.galeria{background:var(--branco);padding-block:var(--sec)}
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:clamp(1.75rem,3vw,2.5rem)}
.filtro{font-family:var(--f-marca);font-size:var(--t-s);font-weight:500;padding:.6rem 1.1rem;min-height:44px;border-radius:0;border:1.5px solid var(--linha);display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--tinta);cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease,transform 160ms var(--ease)}
.filtro:hover{border-color:var(--tinta)}
.filtro:active{transform:scale(.97)}
.filtro[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--branco)}
.filtro[aria-pressed="true"]::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--coral)}
.filtro small{font-size:.8em;font-weight:400;opacity:.75;margin-left:.3em;font-variant-numeric:tabular-nums}
.mosaico{columns:4 240px;column-gap:10px}
@media (max-width:640px){.mosaico{columns:2;column-gap:8px}.mosaico li{margin-bottom:8px}}
.mosaico li{break-inside:avoid;margin-bottom:10px}
.mosaico button{display:block;width:100%;padding:0;border:0;background:var(--papel-2);cursor:zoom-in;overflow:hidden}
.mosaico img{width:100%;height:auto;transition:transform 600ms var(--ease),opacity 400ms ease}
@media (hover:hover) and (pointer:fine){.mosaico button:hover img{transform:scale(1.03)}}
.mais{margin:2.5rem auto 0;display:flex}
.mais[hidden]{display:none}

/* Parceiros */
.parceiros{padding-block:clamp(3.5rem,7vw,5.5rem);border-bottom:1px solid var(--linha)}
.parceiros__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem;align-items:center}
.parceiros__lista{display:flex;flex-wrap:wrap;gap:clamp(2rem,6vw,5rem)}
.parceiros__lista a,.parceiros__lista span{font-family:var(--f-marca);font-size:var(--t-l);font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;text-decoration:none;display:block}
.parceiros__lista a:hover{color:var(--coral-tinta)}
@media (max-width:760px){.parceiros__in{grid-template-columns:1fr}}

/* Contactos */
.contactos{padding-block:var(--sec)}
.contactos__in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.contactos__texto{display:grid;gap:1.5rem}
.contactos__texto p{font-size:var(--t-l);line-height:1.55;max-width:44ch;color:var(--tinta-2)}
.contactos__dados{margin:0;display:grid;gap:1.25rem}
.contactos__dados div{display:grid;gap:.2rem;padding-bottom:1.1rem;border-bottom:1px solid var(--linha)}
.contactos__dados dt{font-family:var(--f-marca);font-size:var(--t-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2)}
.contactos__dados dd{margin:0;font-family:var(--f-marca);font-size:var(--t-l);font-weight:400;overflow-wrap:anywhere;display:grid;gap:.15rem}
.nota-chamada{font-family:var(--f-texto);font-size:var(--t-xs);color:var(--tinta-2)}
.contactos__acoes{margin-top:.5rem}
.rodape a{text-decoration-color:rgba(239,233,216,.4)}
.rodape a:hover{text-decoration-color:var(--coral)}
@media (max-width:860px){.contactos__in{grid-template-columns:1fr}}

/* Footer */
.rodape{background:var(--oliva-noite);color:var(--papel);padding-block:2.75rem calc(2.75rem + env(safe-area-inset-bottom,0px))}
.rodape__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.rodape p{font-family:var(--f-marca);font-size:var(--t-s);opacity:.8}

/* Lightbox */
.caixa{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:rgba(28,22,8,.94);color:var(--papel)}
.caixa::backdrop{background:transparent}
.caixa[open]{display:grid;place-items:center}
.caixa__fig{margin:0;display:grid;gap:.9rem;justify-items:center;padding:4.5rem 4.5rem 2rem}
.caixa__fig img{max-width:min(92vw,1600px);max-height:calc(100dvh - 9rem);width:auto;height:auto;object-fit:contain}
.caixa__fig figcaption{font-family:var(--f-marca);font-size:var(--t-s);letter-spacing:.03em;opacity:.85;font-variant-numeric:tabular-nums}
.caixa__btn{position:absolute;width:52px;height:52px;border-radius:0;border:1.5px solid rgba(242,237,224,.35);background:rgba(28,22,8,.4);color:var(--papel);display:grid;place-items:center;cursor:pointer;transition:background-color 200ms ease,transform 160ms var(--ease)}
.caixa__btn:hover{background:var(--coral);border-color:var(--coral);color:var(--oliva-noite)}
.caixa__btn:active{transform:scale(.95)}
.caixa__btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.caixa__fechar{top:calc(1rem + env(safe-area-inset-top,0px));right:1rem}
.caixa__ant{left:1rem;top:50%;translate:0 -50%}
.caixa__seg{right:1rem;top:50%;translate:0 -50%}
.caixa__ant:active,.caixa__seg:active{transform:scale(.95)}
@media (max-width:640px){.caixa__fig{padding:4.5rem .75rem 6rem}.caixa__ant,.caixa__seg{top:auto;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));translate:none}.caixa__ant{left:calc(50% - 64px)}.caixa__seg{right:calc(50% - 64px)}}
@media (prefers-reduced-motion:no-preference){
  .caixa[open] .caixa__fig img{animation:entra 260ms var(--ease) both}
  @keyframes entra{from{opacity:.001;transform:scale(.97)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:1ms!important}}

@media (max-width:900px){
  .hero__in{grid-template-columns:1fr}
  .hero__lado{justify-self:start}
}
@media (max-width:640px){
  /* Phone hero: tall full-bleed photo under the header, logo rides its lower edge */
  .hero{display:block;min-height:0;background:var(--oliva-noite)}
  .hero__foto{position:relative;display:block;height:max(300px,56svh)}
  .hero__foto img{position:absolute;inset:0;object-position:var(--pos-m,50% 50%)}
  .hero__veu{inset:0 0 auto 0;height:max(300px,56svh);background:linear-gradient(0deg,rgba(47,38,16,1) 0%,rgba(47,38,16,.75) 18%,rgba(47,38,16,0) 48%),linear-gradient(180deg,rgba(28,22,8,.7) 0%,rgba(28,22,8,0) 26%)}
  .hero__controlo{top:calc(68px + env(safe-area-inset-top,0px) + .5rem);right:var(--gutter);gap:.5rem}
  .hero__pausa{width:40px;height:40px}
  .hero__in{position:relative;margin-top:-5.25rem;padding:0 var(--gutter) 2rem;gap:1.1rem}
  .logo{font-size:min(15.2vw,4.2rem)}
  .logo__jovem{font-size:.21em}
  .hero__lado{gap:1.25rem;max-width:none;width:100%}
  .hero__frase{font-size:1.0625rem;max-width:34ch}
  .hero__acoes{display:grid;grid-template-columns:1fr;gap:.6rem}
  .hero__acoes .btn{width:100%}
  .topo:not(.solido):not(.menu-aberto){background:transparent}
  .sobre{padding-top:2rem}
}
