.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(4, minmax(0, 1fr)); gap: 38px 14px; }
.portfolio-card a { display: block; }
.portfolio-card img { display: block; width: 100%; height: clamp(220px, 16vw, 280px); object-fit: cover; object-position: center; border-radius: var(--radius); transition: transform .35s ease; }
.portfolio-card .eyebrow { margin: 14px 0 6px; font-size: 10px; }
.portfolio-card h2 { margin-bottom: 8px; font-family: var(--font-body); font-size: clamp(17px, 1.35vw, 21px); font-weight: 500; line-height: 1.25; }
.portfolio-card span { font-size: 12px; border-bottom: 1px solid currentColor; }
.portfolio-card a:hover img { transform: scale(.985); }
.ideas-hub-grid .portfolio-card > a > p:not(.eyebrow) { min-height: 4.6em; margin: 0 0 12px; color: var(--color-muted); font-size: 13px; line-height: 1.55; }
body:has(.portfolio-grid) .listing-hero { padding-top: clamp(42px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 68px); }
body:has(.portfolio-grid) .listing-hero .breadcrumbs { padding-bottom: 28px; }
body:has(.portfolio-grid) .listing-hero h1 { max-width: 900px; margin-bottom: 18px; }
body:has(.portfolio-grid) .listing-hero + .section { padding-top: clamp(42px, 5vw, 72px); }
.collection-hero + .section { padding-top: clamp(52px, 6vw, 86px); }
.collection-hero .service-hero-image { object-position: center 42%; }
.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; }
.contact-social-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
.contact-social-links a { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 11px; padding: 15px 16px; color: var(--color-on-dark); border: 1px solid rgb(255 255 255 / 24%); border-radius: var(--radius); transition: background-color .25s ease, border-color .25s ease; }
.contact-social-links a:hover { background: rgb(255 255 255 / 8%); border-color: rgb(255 255 255 / 58%); }
.social-icon { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.social-icon-telegram { padding: 2px; fill: currentColor; stroke-width: 1.1; }
.social-icon-dot { fill: currentColor; stroke: none; }
.contact-social-links a:hover .social-icon { transform: scale(1.08); }
.social-link-copy { display: grid; gap: 4px; min-width: 0; }
.social-link-copy > span { color: #d6e1da; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.contact-social-links strong { font-size: 15px; font-weight: 600; }
@media (max-width: 1080px) { .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap-inline: 18px; } .portfolio-card img { height: 300px; } }
@media (max-width: 680px) { .portfolio-grid, .contact-page-grid { grid-template-columns: 1fr; } .portfolio-grid { gap-block: 34px; } .portfolio-card img { height: 260px; } .contact-social-links { grid-template-columns: 1fr; } }
