
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-grotesk-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Literata";src:url(../fonts/literata-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata";src:url(../fonts/literata-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Literata";src:url(../fonts/literata-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Mrs Saint Delafield";src:url(../fonts/mrs-saint-delafield-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}

/* Duas vozes: as pessoas falam em Literata, grande; a empresa fala em Hanken Grotesk, calma.
   Ritmo de luz: abertura em vídeo, voz em cal, primeiro filme em tinta, caminhos em vídeo, a Maria na noite, conversa em vídeo. */
:root{
  color-scheme:light;
  --cal:#F4F4F1; --cal-2:#E9E8E3; --tinta:#22201D; --tinta-suave:#5C5852;
  --pedra:#CFCBC3; --grena:#6E1C17; --grena-escuro:#521410; --oliveira:#56604A;
  --noite:#161514; --luz:#ECE9E2; --luz-suave:#B9B4AB;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --voz:"Literata",Georgia,serif;
  --assinatura:"Mrs Saint Delafield",cursive;
  --gutter:clamp(16px,4vw,48px);
  --max:1360px;
  --sai:cubic-bezier(0.23,1,0.32,1);
  --move:cubic-bezier(0.77,0,0.175,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--cal);color:var(--tinta);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%}
a{color:var(--grena);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:var(--grena-escuro)}
:focus-visible{outline:2px solid var(--grena);outline-offset:3px;border-radius:2px}
.hero :focus-visible,.escuro :focus-visible,.paineis :focus-visible,.maria :focus-visible,.conversa :focus-visible{outline-color:var(--luz)}
h1,h2,h3{font-weight:500;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.salto{position:absolute;left:var(--gutter);top:-60px;background:var(--cal);color:var(--tinta);padding:10px 14px;z-index:50;border-radius:4px}
.salto:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:4px;border:1px solid transparent;font:500 .9375rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s var(--sai),color .2s var(--sai),border-color .2s var(--sai)}
.btn-grena{background:var(--grena);color:var(--cal)}
.btn-grena:hover{background:var(--grena-escuro);color:var(--cal)}
.btn-claro{background:var(--luz);color:var(--tinta)}
.btn-claro:hover{background:#fff;color:var(--tinta)}
.btn-linha{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn-linha:hover{background:var(--tinta);color:var(--cal)}

/* cabeçalho */
.topo{position:fixed;inset:0 0 auto 0;z-index:20;color:var(--luz);transition:background-color .35s var(--sai),color .35s var(--sai),box-shadow .35s var(--sai)}
.topo.solido{background:var(--cal);color:var(--tinta);box-shadow:0 1px 0 var(--pedra)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding-top:env(safe-area-inset-top,0px)}
.marca{display:block;box-sizing:content-box;padding-block:8px;width:clamp(128px,11vw,156px);aspect-ratio:11064/2544;color:inherit;background:currentColor;-webkit-mask:url(logo.svg) center/contain no-repeat;mask:url(logo.svg) center/contain no-repeat;-webkit-mask-origin:content-box;mask-origin:content-box;-webkit-mask-clip:content-box;mask-clip:content-box}
.marca:hover{color:inherit}
.menu{display:flex;align-items:center;gap:28px;font-size:.9375rem}
.menu a{color:inherit;text-decoration:none}
.menu a:hover{text-decoration:underline}
.menu a.btn{padding:10px 18px;min-height:44px}
.menu a.lingua{font-size:.8125rem;font-weight:500;letter-spacing:.06em;padding:6px 8px;border:1px solid currentColor;border-radius:4px;opacity:.85}
.menu a.lingua:hover{opacity:1;text-decoration:none}
.menu a.lingua .longo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.menu a.btn-grena,.menu a.btn-grena:hover{color:var(--cal);text-decoration:none}
.topo:not(.solido):not(.aberto) .menu a.btn-grena{background:var(--luz);color:var(--tinta)}
.abrir-menu{display:none;background:none;border:0;color:inherit;font:500 .9375rem var(--sans);min-height:44px;padding:0 4px;cursor:pointer}
@media (max-width:900px){
  .abrir-menu{display:inline-flex;align-items:center}
  .menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;padding:12px var(--gutter) 24px;background:var(--cal);color:var(--tinta);box-shadow:0 1px 0 var(--pedra);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s var(--sai),transform .2s var(--sai),visibility 0s .2s}
  .menu a{padding:10px 0;font-size:1.0625rem}
  .menu a.btn{margin-top:8px;padding:10px 18px}
  .menu a.lingua{margin-top:6px;padding:10px 14px}
  .menu a.lingua .curto{display:none}
  .menu a.lingua .longo{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .topo.aberto .menu{visibility:visible;opacity:1;transform:none;transition:opacity .2s var(--sai),transform .2s var(--sai)}
  .topo.aberto{background:var(--cal);color:var(--tinta)}
}

/* 1. abertura */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--tinta);color:var(--luz);display:flex;align-items:flex-end;overflow:hidden}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero video{opacity:0;transition:opacity 1.4s var(--sai)}
.hero video.pronto{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,16,.5) 0,rgba(20,18,16,0) 22%),linear-gradient(to top,rgba(20,18,16,.75) 0%,rgba(20,18,16,.2) 50%,rgba(20,18,16,0) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(40px,9vh,96px)}
.hero h1{font-size:clamp(1.75rem,1.1rem + 2.4vw,2.875rem);line-height:1.15;letter-spacing:-.012em;max-width:24ch}
.hero h1 span{display:block}
.hero .sub{margin-top:18px;font-size:.9375rem;color:#DAD6CE;max-width:46ch}
.entra{animation:entra .9s var(--sai) both}
@keyframes entra{from{opacity:.01;transform:translateY(14px)}}
.entra.d1{animation-delay:.15s}.entra.d2{animation-delay:.3s}.entra.d3{animation-delay:.5s}

/* 2. uma voz: o plano largo, e a frase por cima dele */
.voz{padding-block:clamp(80px,12vw,168px) clamp(72px,10vw,136px)}
.voz .plano{position:relative;aspect-ratio:1.85/1;overflow:hidden;background:var(--cal-2)}
/* imagens e vídeos que enchem a moldura */
.voz .plano img,.voz .plano video,.primeiro .filme video,.primeiro .filme img,.conversa > video,.conversa > .poster,.tres .quadro img,.tres .quadro video,.fecho > video,.fecho > .poster,.faixa .quadro img,.faixa .quadro video,.verticais .quadro img,.verticais .quadro video,.cena img,.contacto-pagina > video,.contacto-pagina > .poster,.ato .movel img,.ato .movel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.voz .plano video{opacity:0;transition:opacity .6s var(--sai)}
.voz.a-tocar .plano video{opacity:1}
.voz .texto{position:relative;margin-top:calc(-1 * clamp(56px,9vw,150px));background:var(--cal);padding:clamp(24px,3.5vw,48px) clamp(24px,3.5vw,56px) 0 0;max-width:min(1040px,88%)}
.voz blockquote{margin:0}
.voz blockquote p{font-family:var(--voz);font-size:clamp(2.25rem,1rem + 4.6vw,5.75rem);line-height:1.06;letter-spacing:-.02em;text-wrap:balance}
.voz cite{display:block;margin-top:22px;font-style:normal;font-size:.9375rem;color:var(--tinta-suave);max-width:52ch}
.voz .controlo{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}
.voz .ouvir{display:grid;gap:12px;min-width:min(320px,100%)}
.barra{height:2px;background:var(--pedra);overflow:hidden}
.barra i{display:block;height:100%;background:var(--grena);transform-origin:left;transform:scaleX(0)}
.ligacao-filme{background:none;border:0;padding:0;font:500 .9375rem var(--sans);color:var(--grena);text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px;cursor:pointer;min-height:44px}
.ligacao-filme:hover{color:var(--grena-escuro)}
.palavra{display:inline-block}
.movimento .voz .palavra{opacity:.12;transform:translateY(.12em);transition:opacity .7s var(--sai),transform .7s var(--sai);transition-delay:calc(var(--i) * 70ms)}
.movimento .voz.visivel .palavra{opacity:1;transform:none}

/* 3. o primeiro filme */
.escuro{background:var(--tinta);color:var(--luz)}
.escuro a{color:var(--luz)}
.primeiro{padding-block:clamp(80px,10vw,144px)}
.primeiro .wrap{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:center}
.primeiro .filme{position:relative;aspect-ratio:4/3;background:#2B2925;overflow:hidden}
.primeiro .legenda,.verticais figcaption{margin-top:10px;font-size:.8125rem;color:#B8B3AA}
.primeiro h2{font-size:clamp(1.625rem,1.1rem + 1.6vw,2.5rem);line-height:1.15;letter-spacing:-.01em;margin-bottom:20px}
.primeiro p{color:#E2DFD8;max-width:42ch}
.primeiro p + p{margin-top:14px}
.primeiro .ligacao{display:inline-block;margin-top:28px;font-weight:500}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .primeiro .filme{animation:projetar linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    @keyframes projetar{from{transform:scale(.86);filter:brightness(.55)}to{transform:none;filter:none}}
  }
}

/* 4. os caminhos: três painéis de cinema, o escolhido abre */
.caminhos{background:var(--tinta);color:var(--luz);padding-top:clamp(64px,8vw,112px)}
.caminhos .cabeca{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;margin-bottom:clamp(24px,3vw,40px)}
.caminhos h2{font-size:clamp(1.625rem,1.1rem + 1.6vw,2.5rem);letter-spacing:-.01em}
.caminhos .cabeca p{color:var(--luz-suave);font-size:.9375rem}
.paineis{display:flex;gap:2px;height:clamp(520px,84vh,880px);background:var(--tinta)}
.painel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:var(--luz);text-decoration:none;transition:flex-grow .9s var(--move)}
.painel:hover,.painel:focus-visible{color:var(--luz)}
.painel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.62);transform:scale(1.04);transition:filter .9s var(--move),transform 1.4s var(--move)}
.painel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,16,14,.78) 0%,rgba(18,16,14,0) 55%);pointer-events:none}
.painel .rotulo{position:absolute;left:clamp(20px,2.5vw,40px);right:clamp(20px,2.5vw,40px);bottom:clamp(24px,3vw,48px);z-index:1}
.painel h3{font-size:clamp(2rem,1.2rem + 2.6vw,3.75rem);line-height:1;letter-spacing:-.02em}
.painel p{margin-top:14px;max-width:30ch;color:#E2DFD8;opacity:0;transform:translateY(10px);transition:opacity .5s var(--sai),transform .5s var(--sai)}
.painel .ir{display:inline-block;margin-top:14px;font-weight:500;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px;opacity:0;transition:opacity .5s var(--sai) .1s}
@media (hover:hover) and (min-width:901px){
  .paineis:hover .painel,.paineis:focus-within .painel{flex-grow:.7}
  .paineis .painel:hover,.paineis .painel:focus-visible{flex-grow:2.4}
  .painel:hover video,.painel:focus-visible video{filter:none;transform:scale(1)}
  .painel:hover p,.painel:focus-visible p,.painel:hover .ir,.painel:focus-visible .ir{opacity:1;transform:none}
}
@media (hover:none),(max-width:900px){
  .painel p,.painel .ir{opacity:1;transform:none}
  .painel video{filter:saturate(.85) brightness(.8)}
}
@media (max-width:900px){
  .paineis{flex-direction:column;height:auto}
  .painel{flex:none;height:72svh;min-height:420px}
}

/* 5. a maria: o rosto sai da noite */
.maria{position:relative;background:var(--noite);color:var(--luz);overflow:hidden}
.maria .palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(100svh,980px)}
.maria .rosto{position:relative;min-height:560px}
.maria .rosto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0% 38%;-webkit-mask-image:linear-gradient(to right,#000 55%,transparent 100%);mask-image:linear-gradient(to right,#000 55%,transparent 100%);transform-origin:20% 40%}
.movimento .maria .rosto img{clip-path:inset(0 100% 0 0);transform:scale(1.08);transition:clip-path 2.2s var(--move),transform 9s var(--sai)}
.movimento .maria.visivel .rosto img{clip-path:inset(0 0 0 0);transform:scale(1)}
.maria .historia{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,8vw,128px) var(--gutter) clamp(64px,8vw,128px) clamp(8px,2vw,32px);max-width:640px}
.assinatura{font-family:var(--assinatura);font-size:clamp(3.25rem,2rem + 4.5vw,7rem);line-height:1;color:var(--luz);margin-bottom:clamp(16px,2vw,28px);margin-left:-.06em}
.maria h2{font-family:var(--voz);font-weight:400;font-size:clamp(1.875rem,1.1rem + 2.4vw,3.5rem);line-height:1.1;letter-spacing:-.015em}
.maria .historia > p{margin-top:24px;max-width:42ch;color:#D9D5CD}
.maria .historia > a{display:inline-block;margin-top:28px;font-weight:500;color:var(--luz)}
.memorias{display:grid;grid-template-columns:1.1fr .8fr 1fr .9fr;gap:12px;align-items:end;margin-top:clamp(40px,5vw,72px)}
.memorias figure{margin:0;overflow:hidden;background:#211F1D}
.memorias figure:nth-child(1){aspect-ratio:4/5}
.memorias figure:nth-child(2){aspect-ratio:3/4;margin-bottom:28px}
.memorias figure:nth-child(3){aspect-ratio:1/1}
.memorias figure:nth-child(4){aspect-ratio:3/4;margin-bottom:14px}
.memorias img{width:100%;height:100%;object-fit:cover;filter:brightness(.92);transition:transform 1.2s var(--sai),filter .6s var(--sai)}
.memorias figure:hover img{transform:scale(1.06);filter:none}
.movimento .memorias figure{opacity:0;transform:translateY(18px);transition:opacity 1s var(--sai),transform 1s var(--sai);transition-delay:calc(1.1s + var(--i) * 150ms)}
.movimento .maria.visivel .memorias figure{opacity:1;transform:none}
.maria .nota{margin-top:14px;font-size:.8125rem;color:#9C978F}
@media (max-width:900px){
  .maria .palco{grid-template-columns:1fr}
  .maria .rosto{min-height:0;height:62svh}
  .maria .rosto img{-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
  .movimento .maria .rosto img{clip-path:inset(0 0 100% 0)}
  .maria .historia{padding:0 var(--gutter) 72px;margin-top:-48px;position:relative;max-width:none}
}
@media (max-width:600px){
  .memorias{grid-template-columns:1fr 1fr;gap:10px}
  .memorias figure:nth-child(n){aspect-ratio:4/5;margin-bottom:0}
  .memorias figure:nth-child(2),.memorias figure:nth-child(4){margin-top:24px}
  .memorias img{filter:none}
}

/* 6. a conversa: a pessoa escreve a frase dela */
.conversa{position:relative;overflow:hidden;color:var(--luz);background:var(--tinta)}
.conversa::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(22,21,20,.55),rgba(22,21,20,.8));z-index:1}
.conversa .wrap{position:relative;z-index:2;padding-block:clamp(96px,14vw,200px)}
.conversa h2{font-size:clamp(2.5rem,1rem + 6.5vw,7.25rem);line-height:.98;letter-spacing:-.035em;max-width:12ch}
.frase{margin-top:clamp(40px,5vw,72px);max-width:1100px}
.frase p{font-family:var(--voz);font-size:clamp(1.5rem,1rem + 1.9vw,2.5rem);line-height:1.7;color:var(--luz)}
.frase input{font:inherit;color:var(--luz);background:transparent;border:0;border-bottom:1px solid #8E8980;border-radius:0;padding:0 4px;margin:0 2px;width:12ch;max-width:100%;line-height:1.2}
.frase input.largo{width:18ch}
.conversa .convite{margin-top:clamp(20px,2.4vw,32px);max-width:44ch;font-size:clamp(1.0625rem,.9rem + .5vw,1.3125rem);line-height:1.55;color:#D9D5CD}
/* a história escreve-se em pauta, como numa carta */
.frase textarea{display:block;width:100%;margin:6px 0 18px;padding:0 4px;font:inherit;font-family:var(--voz);font-size:clamp(1.5rem,1rem + 1.9vw,2.5rem);line-height:1.7;color:var(--luz);background:transparent;border:0;border-radius:0;resize:none;overflow:hidden;min-height:3.4em;
  background-image:linear-gradient(to bottom,transparent calc(1.7em - 1px),#8E8980 calc(1.7em - 1px));background-size:100% 1.7em;background-attachment:local;field-sizing:content}
.frase textarea::placeholder{color:#8E8980;font-style:italic}
.frase textarea:focus,.frase textarea:focus-visible{outline:none;background-image:linear-gradient(to bottom,transparent calc(1.7em - 2px),var(--luz) calc(1.7em - 2px))}
.frase input::placeholder{color:#8E8980;font-style:italic}
.frase input:focus{outline:none;border-bottom-color:var(--luz)}
.frase input:focus-visible{outline:2px solid var(--luz);outline-offset:4px}
.frase .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px;font-family:var(--sans)}
.frase .estado{font-family:var(--sans);font-size:.9375rem;line-height:1.5;color:#D9D5CD;min-height:1.5em}
.conversa .rodape{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:clamp(48px,6vw,88px);font-size:.9375rem;color:#C9C5BC}
.conversa .rodape a{color:var(--luz)}

footer{background:var(--cal);padding-block:36px;font-size:.875rem;color:var(--tinta-suave)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px}
footer sup{font-size:.62em;margin-left:1px;vertical-align:.55em;line-height:0}
footer .contactos,footer .legal{display:flex;flex-wrap:wrap;gap:4px 24px}
footer .legal{flex-basis:100%;font-size:.8125rem}
footer .legal a{color:var(--tinta-suave)}
footer a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--pedra);text-underline-offset:3px;padding-block:10px;font-variant-numeric:tabular-nums}
footer a:hover{text-decoration-color:currentColor}
@media (max-width:600px){
  footer{padding-block:28px 32px}
  footer .wrap{flex-direction:column;align-items:flex-start;gap:6px}
  footer .contactos,footer .legal{flex-direction:column;gap:0;margin-top:4px}
  footer a{font-size:1rem;padding-block:10px}
}

dialog{border:0;padding:0;background:#0F0E0D;color:var(--luz);width:min(1200px,96vw);max-height:92vh}
dialog::backdrop{background:rgba(15,14,13,.88)}
dialog video,dialog iframe{display:block;width:100%;height:auto;max-height:calc(92vh - 64px);background:#000;border:0}
dialog iframe{aspect-ratio:16/9}
dialog [hidden]{display:none}
dialog .barra-dialogo{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;min-height:56px;font-size:.9375rem}
dialog button{background:none;border:1px solid #6B665F;color:var(--luz);border-radius:4px;min-height:40px;padding:6px 14px;font:500 .9375rem var(--sans);cursor:pointer}
dialog button:hover{border-color:var(--luz)}


@media (max-width:900px){
  .primeiro .wrap{grid-template-columns:1fr}
  .voz .texto{max-width:none;margin-top:-28px;padding-right:0}
}
/* telemóvel: alvos de toque com pelo menos 44px e sem buracos entre secções escuras */
@media (max-width:600px){
  .primeiro{padding-bottom:40px}
  .caminhos{padding-top:48px}
  .primeiro .ligacao,.maria .historia a,.conversa .rodape a,.ligacao-filme{display:inline-block;padding-block:12px;margin-block:-12px}
  .primeiro .ligacao,.maria .historia a{margin-top:16px}
  .frase input{padding-block:7px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
  .entra{animation:none}
  .hero video{opacity:1}
}

/* ================= partilhado pelas páginas interiores ================= */

/* passagem entre páginas: a página nova sobe devagar; o vídeo escolhido cresce até à abertura seguinte */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.3s var(--sai) both vt-sai}
::view-transition-new(root){animation:.6s var(--sai) both vt-entra}
::view-transition-group(*){animation-duration:.9s;animation-timing-function:var(--move)}
@keyframes vt-sai{to{opacity:0}}
@keyframes vt-entra{from{opacity:0;transform:translateY(16px)}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

.fecho a{color:var(--luz)}
.fecho :focus-visible,.contacto-pagina :focus-visible,.filme-inteiro :focus-visible{outline-color:var(--luz)}
.menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:.3em}

/* abertura das páginas */
.hero.pagina h1{font-size:clamp(2.125rem,1.1rem + 4vw,4.75rem);line-height:1.04;letter-spacing:-.025em;max-width:20ch}
.hero.pagina::after{background:linear-gradient(to bottom,rgba(20,18,16,.62) 0,rgba(20,18,16,0) 26%),linear-gradient(to top,rgba(20,18,16,.8) 0%,rgba(20,18,16,.25) 50%,rgba(20,18,16,0) 100%)}
.hero .sobre{margin-bottom:clamp(14px,2vh,22px);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#CFCAC1}
.hero.pagina .sub{font-size:clamp(1rem,.9rem + .35vw,1.1875rem);max-width:48ch;margin-top:22px}
.hero .canto{position:absolute;right:var(--gutter);bottom:clamp(40px,9vh,96px);z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:.8125rem;color:#CFCAC1}
.som{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border:1px solid rgba(236,233,226,.5);border-radius:4px;background:rgba(20,18,16,.25);color:var(--luz);font:500 .875rem var(--sans);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.som:hover{border-color:var(--luz)}
.som i{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
.som i b{width:2px;height:4px;background:currentColor;transition:height .3s var(--sai)}
.som[aria-pressed="true"] i b{animation:barras 1s var(--sai) infinite alternate}
.som[aria-pressed="true"] i b:nth-child(2){animation-delay:.2s}.som[aria-pressed="true"] i b:nth-child(3){animation-delay:.4s}
@keyframes barras{from{height:3px}to{height:12px}}

/* secções */
.seccao{padding-block:clamp(80px,11vw,168px)}
.titulo-sec{font-size:clamp(1.75rem,1.1rem + 1.9vw,2.875rem);line-height:1.12;letter-spacing:-.015em;max-width:22ch}
.intro{max-width:50ch;margin-top:18px;color:var(--tinta-suave);font-size:1.0625rem}
.escuro .intro{color:#D2CEC6}
.cabeca-sec{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 64px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.cabeca-sec .intro{margin-top:0}
@media (max-width:900px){.cabeca-sec{grid-template-columns:1fr}}

/* revelar ao entrar no ecrã */
.movimento [data-revela].sobe,.movimento [data-revela] .sobe{opacity:0;transform:translateY(22px);transition:opacity 1s var(--sai),transform 1s var(--sai);transition-delay:calc(var(--i,0) * 120ms)}
.movimento [data-revela].visivel.sobe,.movimento [data-revela].visivel .sobe{opacity:1;transform:none}
.movimento [data-palavras] .palavra{opacity:.12;transform:translateY(.12em);transition:opacity .7s var(--sai),transform .7s var(--sai);transition-delay:calc(var(--i) * 65ms)}
.movimento .visivel [data-palavras] .palavra,.movimento [data-palavras].visivel .palavra{opacity:1;transform:none}

/* três coisas, em vídeo 4:5 */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,28px)}
.tres figure{margin:0}
.tres .quadro{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cal-2)}
.tres .quadro video{transition:transform 1.4s var(--sai)}
.tres figure:hover .quadro video{transform:scale(1.04)}
.tres figcaption{margin-top:18px}
.tres h3{font-size:1.375rem;letter-spacing:-.01em}
.tres p{margin-top:6px;color:var(--tinta-suave);max-width:34ch}
.tres .fonte{margin-top:10px;font-size:.8125rem;color:var(--tinta-suave)}
@media (max-width:900px){
  .tres{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;scroll-padding-inline:var(--gutter)}
  .tres::-webkit-scrollbar{display:none}
  .tres figure{scroll-snap-align:start}
}

/* a frase grande: o que as pessoas nos dizem */
.grande-frase .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px}
.grande-frase blockquote{grid-column:1 / span 11;margin:0}
.grande-frase blockquote p{font-family:var(--voz);font-size:clamp(2.5rem,1rem + 5.4vw,7rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.grande-frase cite{display:block;margin-top:24px;font-style:normal;font-size:.9375rem;color:var(--tinta-suave)}
.grande-frase.escuro cite{color:#B8B3AA}
.grande-frase .resposta{grid-column:6 / span 6;margin-top:clamp(40px,5vw,72px);font-size:clamp(1.125rem,1rem + .45vw,1.375rem);line-height:1.55;max-width:40ch}
@media (max-width:900px){.grande-frase blockquote,.grande-frase .resposta{grid-column:1 / -1}}

/* passos com uma linha que se desenha */
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:40px clamp(24px,3vw,48px)}
.passos li{position:relative;padding-top:24px}
.passos li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.3}
.movimento .passos li::before{transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--move);transition-delay:calc(var(--i,0) * 160ms)}
.movimento .visivel .passos li::before,.movimento .passos.visivel li::before{transform:none}
.passos h3{font-size:1.375rem;letter-spacing:-.01em}
.passos p{margin-top:10px;color:var(--tinta-suave);max-width:36ch}
.escuro .passos p{color:#D2CEC6}
.nota-passos{margin-top:clamp(36px,4vw,56px);font-size:1.0625rem;max-width:52ch}
@media (max-width:900px){.passos{grid-template-columns:1fr;gap:32px}}

/* lista de formatos ou entregas */
.lista{border-bottom:1px solid var(--pedra)}
.lista > div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 48px;padding:clamp(22px,2.4vw,34px) 0;border-top:1px solid var(--pedra)}
.lista h3{font-size:clamp(1.375rem,1.1rem + .9vw,2rem);letter-spacing:-.015em;line-height:1.15;transition:transform .6s var(--sai)}
.lista p{color:var(--tinta-suave);max-width:46ch;align-self:center}
.lista > div:hover h3{transform:translateX(10px)}
.escuro .lista,.escuro .lista > div{border-color:#46423C}
.escuro .lista p{color:#D2CEC6}
@media (max-width:700px){.lista > div{grid-template-columns:1fr}.lista > div:hover h3{transform:none}}

/* um filme inteiro para ver */
.filme-inteiro .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px clamp(32px,5vw,80px);align-items:end}
.filme-inteiro h2{font-size:clamp(1.75rem,1.1rem + 1.9vw,2.875rem);line-height:1.12;letter-spacing:-.015em}
.filme-inteiro .texto p{margin-top:16px;color:#D2CEC6;max-width:36ch}
.filme-inteiro .texto a{display:inline-block;margin-top:24px;font-weight:500}
.filme-capa{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#0F0E0D;cursor:pointer;overflow:hidden;color:var(--luz);text-align:left}
.filme-capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--sai),filter .8s var(--sai);filter:brightness(.82)}
.filme-capa::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,13,.7),rgba(15,14,13,0) 50%)}
.filme-capa:hover img{transform:scale(1.035);filter:brightness(.95)}
.filme-capa .rotulo{position:absolute;left:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:.9375rem}
.filme-capa .rotulo .btn{pointer-events:none}
@media (max-width:900px){.filme-inteiro .wrap{grid-template-columns:1fr}}

/* perguntas */
.perguntas{border-bottom:1px solid var(--pedra)}
.perguntas details{border-top:1px solid var(--pedra)}
.perguntas summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(20px,2.2vw,30px) 0;font-family:var(--voz);font-size:clamp(1.375rem,1.1rem + 1vw,2.125rem);line-height:1.2;letter-spacing:-.01em}
.perguntas summary::-webkit-details-marker{display:none}
.perguntas summary::after{content:"";flex:none;width:18px;height:18px;background:linear-gradient(currentColor,currentColor) center/18px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 18px no-repeat;transition:transform .4s var(--sai)}
.perguntas details[open] summary::after{transform:rotate(45deg)}
.perguntas details p{padding:0 0 28px;max-width:56ch;color:var(--tinta-suave);font-size:1.0625rem}
.perguntas details[open] p{animation:abre .5s var(--sai)}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}}

/* o fecho de cada página */
.fecho{position:relative;overflow:hidden;background:var(--tinta);color:var(--luz)}
.fecho::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(22,21,20,.6),rgba(22,21,20,.85));z-index:1}
.fecho .wrap{position:relative;z-index:2;padding-block:clamp(104px,15vw,216px)}
.fecho h2{font-size:clamp(2.5rem,1rem + 6vw,6.75rem);line-height:.98;letter-spacing:-.035em;max-width:13ch}
.fecho p{margin-top:24px;max-width:46ch;font-size:clamp(1.0625rem,.9rem + .5vw,1.3125rem);line-height:1.55;color:#D9D5CD}
.fecho .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:40px}
.fecho .acoes a:not(.btn){font-weight:500;padding-block:10px}
.fecho .acoes .btn-claro{color:var(--tinta)}

/* uma fila de verticais (casamentos e redes) */
.faixa{overflow:hidden}
.faixa-janela{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter)}
.faixa-janela::-webkit-scrollbar{display:none}
.faixa-pista{display:flex;gap:clamp(10px,1.2vw,18px);width:max-content;padding-inline:var(--gutter)}
.faixa figure{margin:0;width:clamp(200px,21vw,340px);scroll-snap-align:start}
.faixa .quadro,.verticais .quadro{position:relative;aspect-ratio:9/16;overflow:hidden;background:#2B2925}
.faixa figcaption{margin-top:12px;font-size:.875rem;color:#B8B3AA}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline: view()){
    .faixa{view-timeline:--faixa block}
    .faixa-janela{overflow:visible}
    .faixa-pista{animation:deslizar linear both;animation-timeline:--faixa;animation-range:entry 20% exit 80%}
    @keyframes deslizar{from{transform:translateX(12vw)}to{transform:translateX(calc(-100% + 88vw))}}
  }
}

/* redes: quatro verticais */
.verticais{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,22px)}
.verticais figure{margin:0}
.movimento .verticais.sobe-fila figure{opacity:0;transform:translateY(40px);transition:opacity 1s var(--sai),transform 1.2s var(--sai);transition-delay:calc(var(--i) * 130ms)}
.movimento .visivel .verticais.sobe-fila figure{opacity:1;transform:none}
.movimento .visivel .verticais.sobe-fila figure:nth-child(even){transform:translateY(clamp(0px,4vw,56px))}
@media (max-width:700px){.verticais{grid-template-columns:repeat(2,minmax(0,1fr))}.movimento .visivel .verticais.sobe-fila figure:nth-child(even){transform:translateY(28px)}}

@media (max-width:600px){
  .fecho .acoes{flex-direction:column;align-items:flex-start;gap:8px}
  .filme-inteiro .texto a{padding-block:12px;margin-block:-12px 0;margin-top:12px}
}

/* formulário: campo-armadilha para robôs e nota sobre os dados */
.armadilha{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.frase .aviso-dados{margin-top:14px;font-family:var(--sans);font-size:.8125rem;line-height:1.5;color:#B8B3AA}
.frase .aviso-dados a{color:var(--luz)}
.frase button[disabled]{opacity:.6;cursor:progress}
