@font-face{font-family:Anton;src:url('midia/anton.woff2') format('woff2'),url('midia/anton.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Montserrat;src:url('midia/montserrat-regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Montserrat;src:url('midia/montserrat-semibold.woff2') format('woff2');font-display:swap;font-weight:600 800}
:root{--ink:#0a0605;--orange:#fc7800;--gold:#e8b75c;--paper:#fff4e4;--muted:#cbbda8;--brown:#5d4430;--line:color-mix(in srgb,var(--ink) 20%,transparent);--gutter:clamp(24px,4vw,72px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:32px}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:400 16px/1.7 Montserrat,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--orange);color:var(--ink)}html{scrollbar-color:var(--gold) var(--ink)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:Anton,sans-serif;font-weight:400;line-height:1.12;letter-spacing:-.015em}h2{font-size:clamp(38px,4vw,62px)}h3{font-size:22px;line-height:1.35;font-weight:600}p{max-width:70ch}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.participate :focus-visible{outline-color:var(--ink)}[hidden]{display:none!important}.skip-link{position:absolute;left:24px;top:-100px;z-index:10;padding:12px 20px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:12px}.site-header{min-height:110px;padding:16px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid color-mix(in srgb,var(--gold) 25%,transparent)}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;flex-shrink:0}.brand img{width:74px;height:75px;object-fit:contain}.brand span{font-size:12px;letter-spacing:.13em;line-height:1.6;font-weight:600}.brand strong{display:block;font-size:20px;letter-spacing:.045em}.site-header nav{display:flex;align-items:center;gap:clamp(24px,3vw,48px)}nav a{text-decoration:none;padding:10px 0;font-size:15px}nav a:hover{text-decoration:underline;text-decoration-color:var(--gold)}nav a:last-child{color:var(--ink)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:16px 24px;border-radius:4px;background:var(--orange);color:var(--ink);font-weight:600;text-decoration:none;line-height:1.4;transition:background .2s,transform .25s var(--ease)}.button:hover{background:var(--gold);transform:translateY(-2px)}.light-section{background:var(--paper);color:var(--ink);color-scheme:light}.introduction{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding:76px var(--gutter)}.introduction>div{max-width:510px;align-self:center}.introduction p{font-size:18px}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:14px;text-decoration:none;min-height:44px;padding:8px 0;border-bottom:1px solid currentColor;line-height:1.5;transition:gap .2s var(--ease)}.text-link:hover{gap:20px}.introduction .text-link{margin-top:20px}.actions{padding:32px var(--gutter) 88px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:52px;border-top:1px solid var(--line)}.section-heading p{margin-top:18px;color:var(--brown)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:3px;min-height:46px;padding:9px 17px;font-size:13px;font-weight:600}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filters button:hover{border-color:var(--ink)}.filter-status{font-size:12px;color:var(--brown);margin-top:12px}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:24px}.action-record{min-width:0}.video-wrap{background:var(--ink);overflow:hidden;line-height:0}.video-wrap video{display:block;width:100%;height:100%;object-fit:contain}.portrait{aspect-ratio:4/5}.landscape{aspect-ratio:16/9}.record-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:20px 0 12px;font-size:11px;color:var(--brown);font-weight:600}.action-record h3{margin-bottom:14px}.action-record p{font-size:14px;line-height:1.85}.action-record .text-link{margin-top:18px;font-size:12px}.archive-note{margin-top:44px;font-size:13px;color:var(--brown)}.history{padding:88px var(--gutter) 100px}.history-opening{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.history-opening>p{color:var(--muted);max-width:44ch;font-size:17px}.history-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;margin-top:52px;align-items:start}.history-film{position:sticky;top:32px}.film-caption{font-size:12px;color:var(--muted);margin-top:16px}.history-film .text-link{margin-top:16px;color:var(--gold)}.history-chapters>div+div{margin-top:32px;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--gold) 25%,transparent)}.year{display:block;font-family:Anton,sans-serif;font-size:54px;color:var(--gold);line-height:1;margin-bottom:16px}.history-chapters h3{font-size:20px;margin-bottom:12px}.history-chapters p{font-size:14px;color:var(--muted)}.participate{background:var(--orange);color:var(--ink);padding:80px var(--gutter);display:grid;grid-template-columns:1.35fr 1fr;gap:72px;align-items:center}.participate p{margin-top:24px;max-width:49ch;font-size:17px}.participate .button{margin-top:28px}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--brown);color:var(--paper)}.participate-note{border-top:1px solid var(--ink);padding-top:22px;max-width:370px;justify-self:end}.participate-note p{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(24px,2.5vw,38px);line-height:1.4;margin:0}.participate-note span{display:block;margin-top:22px;font-size:13px}footer{padding:42px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:28px}footer .brand img{width:64px;height:65px}footer .brand strong{font-size:16px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}footer>a:last-child{padding:12px 0}.video-error{font-size:13px;line-height:1.6;background:var(--paper);color:var(--ink);padding:16px}
@media(max-width:1100px){.brand strong{font-size:17px}.brand{gap:12px}.site-header nav{gap:22px}.introduction{gap:40px}.history-layout{gap:40px}.history-opening{gap:40px}.action-grid{gap:24px}.participate{gap:40px}footer p{display:none}}
@media(max-width:800px){.site-header{flex-wrap:wrap;min-height:94px}.brand img{width:58px;height:59px}.brand strong{font-size:16px}.brand span{font-size:10px}.site-header nav{width:100%;justify-content:space-between;border-top:1px solid color-mix(in srgb,var(--gold) 25%,transparent);padding-top:10px}.js .menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;color:var(--ink);border:1px solid var(--line);padding:7px 12px;border-radius:3px;font-size:13px}.js .site-header nav:not(.is-open){display:none}.introduction{padding-top:54px;padding-bottom:54px;grid-template-columns:1fr;gap:26px}.introduction h2 br{display:none}.introduction p{font-size:16px}.actions{padding-bottom:58px}.section-heading{padding-top:30px;align-items:start}.section-heading>.text-link{max-width:150px;flex-shrink:0;font-size:12px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.history{padding-top:60px;padding-bottom:60px}.history-opening,.history-layout{grid-template-columns:1fr;gap:26px}.history-opening p{max-width:60ch}.history-layout{margin-top:34px;gap:40px}.history-film{position:static}.history-chapters{max-width:65ch}.participate{grid-template-columns:1fr;gap:42px;padding-top:56px;padding-bottom:56px}.participate-note{justify-self:start;max-width:none}.participate-note p br{display:none}footer{flex-wrap:wrap}}
@media(max-width:480px){.brand strong{font-size:13px;letter-spacing:.035em}.brand span{font-size:9px}.brand{gap:10px}.brand img{width:50px;height:51px}.site-header{gap:12px;padding-top:14px;padding-bottom:14px}.menu-toggle svg{width:18px}.js .menu-toggle{gap:6px;padding:7px 9px}.site-header nav{flex-direction:column;align-items:stretch;gap:0}.site-header nav a{min-height:48px;font-size:15px}.section-heading{display:block}.section-heading>.text-link{max-width:none;margin-top:18px}.section-heading p{font-size:14px}.filters{gap:8px;margin-top:24px}.filters button{font-size:11px;padding:9px 12px}.action-grid{grid-template-columns:1fr;gap:40px}.portrait{aspect-ratio:4/5}.record-meta{font-size:11px}.action-record p{font-size:14px}.archive-note{font-size:12px}.history h2{font-size:38px}.history-opening p{font-size:15px}.participate p{font-size:15px}.participate-note p{font-size:24px}.participate .button{font-size:14px;width:100%;justify-content:space-between}footer{gap:20px}footer .brand strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button,.text-link{transition:none}.button:hover{transform:none}}
.brand span{font-size:11px}
.record-meta{font-size:12px}
.filters button{font-size:12px}
nav a:last-child{display:inline-flex;align-items:center;gap:6px}nav a:last-child svg{width:18px;height:18px}
.video-wrap{position:relative}
.video-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center}
.video-cover>img{width:100%;height:100%;object-fit:contain}
.play-label{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 16px;background:var(--paper);color:var(--ink);border-radius:3px;font-size:13px;font-weight:600;line-height:1.4}
.video-cover:hover .play-label{background:var(--gold)}
.video-cover:focus-visible{outline:3px solid var(--orange);outline-offset:-5px}


/* The opening composition: one photo-led moment, in the group's own colors. */
.site-header{background:var(--paper);color:var(--ink);border-bottom:0;min-height:104px}
.site-header nav a:last-child{color:var(--ink)}
.hero{--spread:0;overflow:hidden;background:var(--paper);color:var(--ink);color-scheme:light;text-align:center;padding:26px var(--gutter) 52px}
.hero-copy h1{font-size:clamp(68px,7.1vw,96px);line-height:1.04;letter-spacing:-.02em}
.hero-copy h1 span{display:block;font-size:clamp(26px,2.5vw,34px);line-height:1.15;letter-spacing:.005em;margin-top:8px}
.hero-copy>p{font-size:16px;margin:18px auto 0;color:var(--brown)}
.hero-gallery{max-width:1100px;margin:30px auto 0}
.hero-photos{position:relative;aspect-ratio:2.65;isolation:isolate}
.hero-photo{position:absolute;top:0;left:50%;margin:0;overflow:hidden;box-shadow:0 14px 32px #5d443024}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.photo-delivery img{height:auto;aspect-ratio:1400/933}
.photo-delivery{width:53%;aspect-ratio:1400/933;z-index:2;transform:translateX(-50%) scale(calc(1 + var(--spread)*.12));transform-origin:center center}
.photo-registration,.photo-gathering{width:25%;height:82%;top:3%}
.photo-registration{transform:translateX(calc(-167% - var(--spread)*50px)) rotate(calc(-8deg - var(--spread)*2deg))}
.photo-registration img{object-position:50% 86%}
.photo-gathering{transform:translateX(calc(67% + var(--spread)*50px)) rotate(calc(8deg + var(--spread)*2deg))}
.photo-gathering img{object-position:50% 85%}
.hero-gallery figcaption{font-size:12px;line-height:1.6;color:var(--brown);margin-top:16px}
.hero-invitation{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:30px}
.hero-invitation p{font-size:14px;font-weight:600}
.introduction{border-top:1px solid var(--line)}
@media(max-width:1100px) and (min-width:801px){.hero-gallery{margin-top:28px}.hero{padding-bottom:44px}}
@media(max-width:800px){
 .site-header{min-height:88px}
 .hero{padding:24px var(--gutter) 32px}
 .hero-copy h1{font-size:clamp(52px,10.6vw,80px)}
 .hero-copy h1 span{font-size:clamp(24px,4.6vw,32px);margin-top:8px}
 .hero-copy>p{max-width:32ch;font-size:15px;margin-top:18px}
 .hero-gallery{max-width:460px;margin-top:24px}
 .hero-photos{height:auto;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;align-items:start}
 .hero-photo{position:relative;left:auto;top:auto;width:100%;height:auto;transform:none;box-shadow:none}
 .photo-delivery{grid-column:1/-1;grid-row:1;aspect-ratio:1400/933}
 .photo-registration,.photo-gathering{height:clamp(90px,17vw,126px);width:100%;transform:none}
 .photo-registration img{object-position:50% 76%}
 .photo-gathering img{object-position:50% 72%}
 .hero-gallery figcaption{margin-top:14px;font-size:12px}
 .hero-invitation{flex-direction:column;gap:12px;margin-top:20px}
 .hero-invitation .button{min-height:54px;font-size:14px}
}
@media(max-width:480px){.hero{padding-top:20px}.hero-copy h1{font-size:clamp(48px,13.6vw,64px)}.hero-copy h1 span{font-size:25px}.hero-invitation .button{width:100%;justify-content:space-between}.hero-photos{gap:12px}.hero-gallery{margin-top:20px}.hero-copy>p{margin-top:14px;font-size:14px}.hero-gallery figcaption{margin-top:12px}}

/* A circular contact sheet: quiet center, dimensional photographic orbit. */
.memory-orbit{padding:80px var(--gutter);display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.65fr);gap:36px;align-items:center;overflow:clip;background:var(--ink);color:var(--paper)}
.orbit-copy{max-width:430px}.orbit-copy h2{font-size:clamp(38px,4vw,58px)}.orbit-copy>p{color:var(--muted);margin-top:24px;font-size:15px}.orbit-copy .orbit-hint{font-size:12px;margin-top:18px;color:var(--gold)}
.orbit-caption{border-top:1px solid #e8b75c40;margin-top:36px;padding-top:24px;min-height:126px}.orbit-caption h3{font-size:20px}.orbit-caption p{font-size:12px;color:var(--muted);margin-top:10px}.orbit-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.orbit-links .text-link{font-size:12px;color:var(--gold)}.orbit-play{min-height:44px;padding:9px 14px;border:1px solid var(--muted);border-radius:3px;color:var(--paper);background:transparent;font-size:12px}.orbit-play:hover{background:var(--paper);color:var(--ink)}.orbit-message{font-size:12px;color:var(--gold);min-height:21px;margin-top:10px}
.orbit-scene{height:610px;position:relative;perspective:1000px;isolation:isolate;--tilt-x:0deg;--tilt-y:0deg}
.orbit-track{position:absolute;inset:11% 5%;border:1px solid #e8b75c40;border-radius:50%;transform:rotateX(22deg) rotateZ(-13deg);pointer-events:none}
.orbit-stage{position:absolute;width:42%;height:54%;left:29%;top:23%;background:#1e1510;border:1px solid #e8b75c50;box-shadow:0 30px 50px #0008;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .45s var(--ease);overflow:hidden;z-index:2}
.orbit-stage>img,.orbit-stage>video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.orbit-media-label{position:absolute;bottom:0;left:0;right:0;background:var(--ink);padding:9px 12px;color:var(--muted);font-size:12px;text-align:center;line-height:1.4}
.orbit-item{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:18%;height:23%;padding:0;border:2px solid transparent;background:#241a13;box-shadow:0 12px 24px #0007;transform:translate(-50%,-50%) rotateY(var(--ry)) rotateZ(var(--rz)) scale(var(--scale));transition:transform .5s var(--ease),border-color .2s;z-index:var(--depth);border-radius:3px;overflow:hidden}
.orbit-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.orbit-item[aria-pressed=true]{border-color:var(--orange);transform:translate(-50%,-50%) rotateY(0deg) rotateZ(0deg) scale(calc(var(--scale) + .09))}.orbit-item:hover{border-color:var(--gold)}.orbit-item:focus-visible{outline-color:var(--gold);outline-offset:5px}.orbit-item .orbit-kind{position:absolute;bottom:5px;right:5px;background:var(--ink);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;pointer-events:none}.orbit-kind svg{width:14px;height:14px}
@media(max-width:1100px){.memory-orbit{grid-template-columns:1fr 1.4fr;gap:20px}.orbit-scene{height:540px}.orbit-stage{height:50%;top:25%}.orbit-item{height:21%}}
@media(max-width:800px){.memory-orbit{grid-template-columns:1fr;padding-top:56px;padding-bottom:48px;gap:12px}.orbit-copy{max-width:none}.orbit-copy>p{max-width:48ch}.orbit-caption{margin-top:24px;min-height:100px}.orbit-scene{height:520px;max-width:620px;width:100%;margin:auto;grid-row:2}.orbit-copy{display:contents}.orbit-copy h2,.orbit-copy>p,.orbit-caption,.orbit-links,.orbit-message{grid-column:1}.orbit-scene{grid-row:auto}.orbit-copy h2{order:0}.orbit-copy>p{order:1;margin-top:0}.orbit-copy .orbit-hint{order:2}.orbit-scene{order:3}.orbit-caption{order:4}.orbit-links{order:5}.orbit-message{order:6}.orbit-stage{width:40%;left:30%}.orbit-item{width:18%}}
@media(max-width:480px){.memory-orbit{padding-inline:20px}.orbit-scene{height:370px}.orbit-stage{width:44%;left:28%;height:49%;top:25.5%}.orbit-item{width:20%;height:21%}.orbit-media-label{font-size:12px;padding:6px 3px}.orbit-caption h3{font-size:18px}.orbit-caption{min-height:92px}.orbit-item .orbit-kind{width:20px;height:20px;bottom:2px;right:2px}}
@media(prefers-reduced-motion:reduce){.orbit-stage,.orbit-item{transition:none}.orbit-stage{transform:none}.orbit-item{transform:translate(-50%,-50%)}.orbit-item[aria-pressed=true]{transform:translate(-50%,-50%)}}
/* Acervo "Por onde o bem passou": uma faixa por ação, mosaico de fotos originais + trecho sem som. */
.acervo{padding:clamp(72px,9vw,128px) var(--gutter)}
.acervo-abertura{display:grid;grid-template-columns:1fr minmax(0,34ch);gap:40px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.acervo-abertura p{color:var(--brown)}
.acervo-acao{padding-top:28px;border-top:1px solid var(--line);margin-bottom:clamp(56px,7vw,96px)}
.acervo-acao header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px}
.acervo-acao h3{font:400 clamp(28px,3vw,44px)/1.1 Anton,sans-serif}
.acervo-quando{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--brown);white-space:nowrap}
.acervo-mosaico{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(140px,15vw,230px);grid-auto-flow:dense;gap:10px}
.acervo-mosaico>*{border-radius:4px;overflow:hidden;background:#e9dcc6}
.acervo-clipe{grid-column:span 2;grid-row:span 2;width:100%;height:100%;object-fit:cover;display:block}
.acervo-foto{padding:0;border:0;cursor:zoom-in;display:block}
.acervo-foto img{width:100%;height:100%;object-fit:cover;transition:transform 225ms cubic-bezier(.85,0,.15,1)}
.acervo-foto:hover img{transform:scale(1.035)}
.acervo-foto:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.acervo-mosaico:not(:has(.acervo-clipe)) .acervo-foto:first-child{grid-column:span 2;grid-row:span 2}
.acervo-lightbox{border:0;padding:0;background:transparent;max-width:min(94vw,1600px);max-height:92vh}
.acervo-lightbox::backdrop{background:color-mix(in srgb,var(--ink) 92%,transparent)}
.acervo-lightbox img{max-width:100%;max-height:86vh;object-fit:contain;margin:auto}
.acervo-fechar{display:block;margin:14px auto 0;background:var(--paper);color:var(--ink);border:0;padding:10px 22px;border-radius:3px;font-size:14px;font-weight:600}
@media (max-width:800px){.acervo-abertura{grid-template-columns:1fr;gap:18px}.acervo-mosaico{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(120px,36vw,200px)}.acervo-acao header{flex-direction:column;gap:6px}}
@media (prefers-reduced-motion:reduce){.acervo-foto img{transition:none}}
.acervo-mosaico.is-poucas>*{grid-column:span 2!important;grid-row:span 2!important}
/* Hero em filme (ref. 21st.dev "Hero Carousel", crafterui): uma carta por ação; a ativa desdobra
   inteira, as vizinhas ficam presas à metade e o fundo assume a foto em foco. */
.hero-film{position:relative;isolation:isolate;background:var(--ink);color:var(--paper);color-scheme:dark;text-align:left;
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:center;
  min-height:min(88vh,860px);padding:clamp(40px,6vh,72px) var(--gutter) clamp(56px,8vh,88px);overflow:hidden}
.hero-bg{position:absolute;inset:-40px;z-index:-1}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(38px) saturate(1.15);opacity:.42;transform:scale(1.1);transition:opacity 420ms ease}
.hero-bg img.is-leaving{opacity:0}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 18%,color-mix(in srgb,var(--ink) 55%,transparent) 60%,color-mix(in srgb,var(--ink) 75%,transparent))}
.hero-film .hero-copy h1{font-size:clamp(60px,6.4vw,104px)}
.hero-film .hero-copy h1 span{color:var(--gold)}
.hero-film .hero-copy>p{margin:20px 0 0;color:var(--muted);font-size:17px}
.hero-film .hero-invitation{justify-content:flex-start;margin-top:36px;gap:24px}
.hero-film .hero-invitation p{color:var(--muted);font-size:13px}
.hero-film-strip{min-width:0}
.hero-film-strip ul{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:12px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.hero-film-strip ul::-webkit-scrollbar{display:none}
.hero-film-strip li{flex:0 0 auto;scroll-snap-align:center}
.film-card{position:relative;display:block;padding:0;border:0;border-radius:6px;overflow:hidden;background:#1a1210;color:var(--paper);
  width:clamp(96px,9vw,132px);height:clamp(230px,26vw,300px);clip-path:inset(0 0 50% 0 round 6px);opacity:.72;
  transition:width 420ms cubic-bezier(.85,0,.15,1),clip-path 420ms cubic-bezier(.85,0,.15,1),opacity 225ms}
.film-card:hover{opacity:1}
.film-card.is-active{width:clamp(220px,22vw,320px);height:clamp(420px,52vh,520px);clip-path:inset(0 0 0 0 round 6px);opacity:1}
.film-card img{width:100%;height:100%;object-fit:cover}
.film-label{position:absolute;inset:auto 0 0 0;padding:44px 16px 14px;background:linear-gradient(transparent,color-mix(in srgb,var(--ink) 85%,transparent));font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:left;opacity:0;transition:opacity 225ms 120ms}
.film-label strong{display:block;font:400 22px/1.15 Anton,sans-serif;letter-spacing:0;text-transform:none;margin-bottom:4px}
.film-card.is-active .film-label{opacity:1}
.film-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.hero-film-status{position:absolute;left:var(--gutter);bottom:24px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.hero-film-status a{text-decoration:none}.hero-film-status a:hover{color:var(--paper)}
@media (max-width:800px){.hero-film{grid-template-columns:1fr;min-height:0;text-align:left}
  .film-card{width:84px;height:200px}.film-card.is-active{width:220px;height:340px}
  .hero-film-status{position:static;margin-top:-8px}}
@media (prefers-reduced-motion:reduce){.film-card,.hero-bg img,.film-label{transition:none}}
/* Mosaico em movimento (ref. 21st.dev "Hero Gallery Scroll Animation"): o drone começa cobrindo a
   tela e recua para a grade conforme a rolagem; as outras ações entram em volta. */
.mosaico{position:relative;padding:clamp(72px,9vw,120px) var(--gutter);background:var(--ink)}
.mosaico-grade{display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1fr;grid-template-rows:repeat(2,clamp(170px,22vw,300px));gap:12px}
.mosaico-cel{border-radius:6px;overflow:hidden;background:#1a1210}
.mosaico-cel img,.mosaico-cel video{width:100%;height:100%;object-fit:cover;display:block}
.mosaico-centro{grid-column:2/4;grid-row:1/3}
.mosaico-texto{display:grid;grid-template-columns:1fr minmax(0,40ch);gap:32px;align-items:end;margin-top:40px}
.mosaico-texto p{color:var(--muted)}
.is-mosaico-vivo .mosaico{height:260vh;padding:0}
.is-mosaico-vivo .mosaico-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--gutter);overflow:hidden}
.is-mosaico-vivo .mosaico-grade{grid-template-rows:repeat(2,minmax(0,31vh))}
.is-mosaico-vivo .mosaico-centro{transform:scale(var(--s,1));z-index:1;will-change:transform}
.is-mosaico-vivo .mosaico-cel:not(.mosaico-centro){opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 40px))}
.is-mosaico-vivo .mosaico-texto{opacity:var(--t,1);transform:translateY(calc((1 - var(--t,1)) * 24px))}
@media (max-width:800px){.mosaico-grade{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:clamp(150px,44vw,240px)}
  .mosaico-centro{grid-column:1/3;grid-row:auto/span 2}.mosaico-texto{grid-template-columns:1fr;gap:14px}}
