.listing-hero { padding-top: clamp(80px, 10vw, 150px); background: var(--color-background); }
.listing-hero .breadcrumbs, .contact-page .breadcrumbs { padding: 0 0 48px; color: var(--color-muted); }
.listing-hero h1 { max-width: 1000px; margin-bottom: 28px; }
.listing-lead { max-width: 760px; color: var(--color-muted); font-size: clamp(17px, 1.6vw, 22px); }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 64px 20px; }
.portfolio-card a { display: block; }
.portfolio-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); transition: transform .35s ease; }
.portfolio-card .eyebrow { margin: 22px 0 8px; }
.portfolio-card h2 { margin-bottom: 12px; font-size: clamp(32px, 3.4vw, 50px); }
.portfolio-card span { font-size: 13px; border-bottom: 1px solid currentColor; }
.portfolio-card a:hover img { transform: scale(.985); }
.contact-page { padding-top: clamp(70px, 9vw, 130px); background: var(--color-background); }
.contact-page-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 8vw, 120px); align-items: stretch; }
.contact-page h1 { max-width: 680px; margin-bottom: 30px; }
.contact-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 6vw, 80px); color: var(--color-on-dark); background: var(--color-green); border-radius: var(--radius); }
.contact-big { width: fit-content; margin-bottom: 22px; font-family: var(--font-heading); font-size: clamp(27px, 3vw, 44px); border-bottom: 1px solid rgb(255 255 255 / 35%); }
.contact-panel > p:last-child { max-width: 500px; margin-top: 22px; color: #d6e1da; }
@media (max-width: 800px) { .portfolio-grid, .contact-page-grid { grid-template-columns: 1fr; } .portfolio-grid { gap-block: 44px; } }
