.page.cases-page .case-overlay { container-type:inline-size; }
.page.contact-page { isolation:isolate; }
.contact-symbol { position:absolute; right:var(--portfolio-x); bottom:var(--portfolio-y); width:clamp(220px,28vw,480px); aspect-ratio:518 / 382; overflow:hidden; opacity:.13; pointer-events:none; z-index:-1; }
.contact-symbol img { position:absolute; width:370.657%; max-width:none; height:auto; left:-21.043%; top:-91.361%; }
.page.contact-page > .eyebrow,.page.contact-page > h2,.page.contact-page > .buttons { position:relative; z-index:2; }
@media(max-width:900px) { .contact-symbol { width:clamp(180px,55vw,320px); } }
.page.cases-page .case-overlay h3 { white-space:nowrap; font-size:clamp(20px,8cqw,58px); }
.page.cases-page .case-anniversary { font-size:.65em; }
.page.cases-page .section-header { display:block; }
.page.cases-page .section-header .eyebrow { margin:0 0 18px; }
.page.cases-page .section-header h2 { white-space:nowrap; font-size:clamp(36px,4.4vw,72px); }
.page.cases-page .case-overlay { padding:28px 28px 14px; }
.page.cases-page .case-overlay h3 { margin-bottom:0; }
.page.cases-page .section-header { padding-bottom:6px; }
.page.cases-page .section-header .eyebrow { margin-bottom:14px; }
.page.cases-page .section-header h2 { font-size:clamp(34px,3.5vw,58px); letter-spacing:-.045em; }
.page.cases-page .cases-grid { gap:24px; }
.page.cases-page .case-side { gap:24px; }
.page.cases-page .case-card { transform:none; border-color:rgba(201,154,64,.28); border-radius:0 42px 0 0; overflow:hidden; }
.page.cases-page .case-card:hover { transform:translateY(-3px); box-shadow:0 12px 35px rgba(201,154,64,.08); }
.page.cases-page .case-card img { filter:none; }
.page.cases-page .case-card:hover img { filter:none; transform:scale(1.035); }
.page.cases-page .case-overlay { padding:24px 26px 20px; background:linear-gradient(to top,rgba(0,0,0,.87),rgba(0,0,0,.12) 48%,transparent 72%); }
.page.cases-page .case-overlay .eyebrow { margin-bottom:12px; }
.page.cases-page .case-overlay h3 { font-style:normal; font-weight:600; font-size:clamp(22px,7cqw,48px); }
.page.cases-page::before { background:radial-gradient(ellipse at 98% 4%,transparent 0 220px,rgba(201,154,64,.45) 221px,transparent 222px),linear-gradient(115deg,transparent 42%,rgba(201,154,64,.3) 42.06%,transparent 42.12%); opacity:.16; animation:cases-lines-flow 24s ease-in-out infinite alternate; }
.page.cases-page::after { background:radial-gradient(ellipse at 12% 100%,transparent 0 270px,rgba(201,154,64,.4) 271px,transparent 272px); opacity:.14; animation:cases-lines-flow 32s ease-in-out infinite alternate-reverse; }
@keyframes cases-lines-flow { from { transform:translate(-12px,-8px) rotate(-1deg); } to { transform:translate(14px,10px) rotate(1deg); } }
@media(prefers-reduced-motion:reduce) { .page.cases-page::before,.page.cases-page::after { animation:none; } }

/* Fluxo Festival: frame matches the original 1920 × 1080 video. */
.page.comoceb-page { display:flex; align-items:center; isolation:isolate; background:#050505; }
.page.comoceb-page .comoceb-photo { position:absolute; inset:0 0 0 32%; z-index:0; background:none; opacity:.9; pointer-events:none; overflow:hidden; }
.comoceb-photo::before { content:''; position:absolute; inset:0; background:url('images/case-02.jpg') center center / cover no-repeat; transform-origin:50% 50%; animation:comoceb-centered-zoom 60s ease-in-out infinite alternate; }
.comoceb-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.82) 8%,rgba(5,5,5,.25) 22%,transparent 38%),linear-gradient(180deg,rgba(5,5,5,.2),transparent 28%,transparent 70%,rgba(5,5,5,.55)); }
.page.comoceb-page .comoceb-copy { position:relative; z-index:2; width:100%; container-type:inline-size; }
.comoceb-copy .eyebrow { margin-bottom:24px; }
.comoceb-copy h2 { white-space:nowrap; font-size:clamp(44px,7vw,110px); line-height:1.1; letter-spacing:-.045em; }
.comoceb-anniversary { display:inline-block; font-size:.58em; vertical-align:top; margin-top:-.12em; }
@keyframes comoceb-centered-zoom { from { transform:scale(1); } to { transform:scale(1.055); } }
@media(max-width:900px) {
 .page.comoceb-page .comoceb-photo { inset:0; opacity:.65; }
 .comoceb-photo::after { background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.45) 60%,rgba(5,5,5,.2)),linear-gradient(180deg,rgba(5,5,5,.2),transparent 30%,rgba(5,5,5,.8)); }
 .comoceb-copy h2 { font-size:clamp(28px,10cqw,60px); }
}
@media(prefers-reduced-motion:reduce) { .page.comoceb-page .comoceb-photo::before { animation:none; } }
.page.case-detail-page:is(:nth-child(8),:nth-child(10)) .case-detail-grid { grid-template-columns:1.35fr .85fr; }
.page.case-detail-page:is(:nth-child(8),:nth-child(10)) .case-detail-media { position:relative; height:auto; min-height:0; aspect-ratio:16 / 9; align-self:center; }
.page.case-detail-page:is(:nth-child(8),:nth-child(10)) .case-detail-video { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:900px) {
 .page.case-detail-page:is(:nth-child(8),:nth-child(10)) .case-detail-grid { grid-template-columns:1fr; }
 .page.case-detail-page:is(:nth-child(8),:nth-child(10)) .case-detail-media { height:auto; min-height:0; }
}
@media(max-width:900px) {
 .page.cases-page .case-overlay h3 { font-size:clamp(18px,8cqw,36px); }
 .page.cases-page .section-header h2 { font-size:clamp(20px,5.7vw,46px); }
 .page.cases-page .case-overlay { padding:22px 22px 12px; }
}
