.ravvi .case-page{overflow:hidden}.ravvi .case-hero{grid-template-columns:1fr .95fr;align-items:center;gap:80px;padding-top:72px;padding-bottom:112px;display:grid}.ravvi .case-hero__copy{max-width:650px}.ravvi .case-eyebrow,.ravvi .case-kicker{color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:12px;font-weight:560;display:inline-flex}.ravvi .case-eyebrow__dot{background:var(--ravvi-spark);border-radius:50%;width:8px;height:8px}.ravvi .case-hero h1{letter-spacing:-.055em;margin-top:26px;font-size:clamp(48px,5.7vw,84px);font-weight:520;line-height:.98}.ravvi .case-hero__lead{max-width:44ch;color:var(--fg-2);margin:30px 0 28px;font-size:clamp(18px,1.6vw,22px);line-height:1.45}.ravvi .case-hero__note{color:var(--fg-3);margin-top:12px;font-size:13px}.ravvi .case-hero__art{aspect-ratio:4/5;background:var(--ravvi-mist-soft);border-radius:28px;position:relative;overflow:hidden}.ravvi .case-hero__art img,.ravvi .case-card__image img,.ravvi .case-source__image img{object-fit:cover;width:100%;height:100%;display:block}.ravvi .case-hero__art-label{background:var(--ravvi-paper);color:var(--fg-1);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:520;position:absolute;bottom:16px;right:16px}.ravvi .case-source{border-top:1px solid var(--border-hair);border-bottom:1px solid var(--border-hair);background:#fff;padding:84px 0}.ravvi .case-source__inner{grid-template-columns:1fr 1fr;align-items:center;gap:96px;display:grid}.ravvi .case-source h2,.ravvi .case-gallery h2,.ravvi .case-finale h2{letter-spacing:-.035em;margin-top:12px;font-size:clamp(36px,3.4vw,54px);font-weight:520;line-height:1.05}.ravvi .case-source p,.ravvi .case-section-heading p,.ravvi .case-finale p{color:var(--fg-2);margin-top:20px;font-size:17px;line-height:1.55}.ravvi .case-text-link{text-underline-offset:4px;margin-top:24px;font-size:14px;text-decoration:underline;display:inline-block}.ravvi .case-source__image{border:1px solid var(--border-hair);border-radius:20px;margin:0;overflow:hidden}.ravvi .case-source__image img{aspect-ratio:4/3}.ravvi .case-source__image figcaption{border-top:1px solid var(--border-hair);color:var(--fg-3);padding:10px 16px;font-size:12px}.ravvi .case-gallery{padding-top:116px;padding-bottom:124px}.ravvi .case-section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px;display:flex}.ravvi .case-section-heading p{max-width:30ch;margin:0}.ravvi .case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 20px;display:grid}.ravvi .case-card{min-width:0;margin:0}.ravvi .case-card__image{aspect-ratio:4/5;border:1px solid var(--border-hair);background:var(--ravvi-mist-soft);border-radius:12px;overflow:hidden}.ravvi .case-card__caption{grid-template-columns:36px 1fr;gap:8px;padding:18px 2px 0;display:grid}.ravvi .case-card__number,.ravvi .case-card__direction{color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:520}.ravvi .case-card h3{letter-spacing:-.02em;margin-top:7px;font-size:21px;font-weight:520}.ravvi .case-card p{color:var(--fg-2);margin-top:8px;font-size:14px;line-height:1.5}.ravvi .case-finale{background:var(--ravvi-ink);padding:96px 0}.ravvi .case-finale__inner{justify-content:space-between;align-items:end;gap:40px;display:flex}.ravvi .case-finale h2{color:var(--ravvi-paper)}.ravvi .case-finale p,.ravvi .case-finale .case-kicker{color:var(--ravvi-mist-deep)}.ravvi .case-disclaimer{color:var(--fg-3);padding-top:24px;padding-bottom:24px;font-size:12px}@media (width<=900px){.ravvi .case-hero,.ravvi .case-source__inner{gap:40px}.ravvi .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.ravvi .case-hero,.ravvi .case-source__inner{grid-template-columns:1fr}.ravvi .case-hero{padding-top:48px;padding-bottom:72px}.ravvi .case-hero h1{font-size:clamp(40px,11vw,44px)}.ravvi .case-source,.ravvi .case-finale{padding-top:72px;padding-bottom:72px}.ravvi .case-gallery{padding-top:80px;padding-bottom:88px}.ravvi .case-section-heading,.ravvi .case-finale__inner{display:block}.ravvi .case-section-heading p{margin-top:16px}.ravvi .case-grid{gap:32px 12px}.ravvi .case-card__caption{grid-template-columns:1fr}.ravvi .case-card h3{font-size:18px}.ravvi .case-card p{font-size:13px}.ravvi .case-finale .btn{margin-top:30px}}
