/* ==========================================================================
   Koryfi Theme: elementy motywu ponad style.css projektu (tokeny z :root w style.css).
   Zawartość: tła sekcji, split 1/2+1/2, breadcrumbs, przerywnik CTA, hero podstrony, karty, galeria + lightbox,
   filtry realizacji, paginacja, wpis blogowy, treść klasyczna, formularz CF7, honeypot, baner cookies.
   ========================================================================== */

/* ---------- tła sekcji (standard: przerywniki z subtelnie innym tłem) ---------- */
.section--grey { background: var(--c-card); }
.section--dark { background: var(--c-ink); color: var(--c-bg-2); }
.section--dark .h2, .section--dark .h3, .section--dark .lead, .section--dark .eyebrow { color: inherit; }
.section--dark .eyebrow { color: var(--c-muted-2); }
.section--dark .dots li::before { background: var(--c-gold); }
.section--dark .link-arrow, .section--dark a:not(.btn) { color: inherit; }
.section--dark .btn:not(.btn--gold):not(.btn--light) { background: var(--c-bg-2); color: var(--c-ink); border-color: var(--c-bg-2); }
.section--dark .review { background: rgba(255,255,255,.06); }
.section--dark .faq details { border-color: rgba(255,255,255,.2); }
.section--dark .offer-card, .section--dark .price-card { background: rgba(255,255,255,.06); }
.section--gold { background: var(--c-gold); color: #fff; }
.section--gold .h2, .section--gold .lead { color: #fff; }
.section--gold .btn { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }

/* ---------- split: 1/2 tekst + 1/2 zdjęcie (tekst + zdjęcie, hero podstrony) ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 80px); align-items: center; }
.split--media-left .split__media { order: -1; }
.split--single { grid-template-columns: minmax(0, 760px); }
.split__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); }
.split__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tm__body { margin-top: 20px; }
.tm__body p + p { margin-top: 14px; }
.tm .dots { margin-top: 24px; }
.tm__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; }
.hero-page .lead { margin-top: 20px; }
.hero-page .hero__cta { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero__trust--dark { color: var(--c-muted); margin-top: 16px; font-size: var(--fs-small); }
@media (max-width: 900px) {
  .split { grid-template-columns: 1fr; }
  .split--media-left .split__media, .split .split__media { order: -1; }
  .split__media { aspect-ratio: 4 / 3; }
}

/* ---------- breadcrumbs ---------- */
.crumbs { padding: 20px 0 0; font-size: var(--fs-small); color: var(--c-muted); }
.crumbs__in { display: flex; flex-wrap: wrap; gap: 6px 0; list-style: none; margin: 0; padding: 0; }
.crumbs__in li + li::before { content: "/"; margin: 0 10px; color: var(--c-line-3); }
.crumbs a { color: var(--c-muted); text-decoration: none; }
.crumbs a:hover { color: var(--c-ink); }
.crumbs [aria-current] { color: var(--c-ink); }
.crumbs .breadcrumb_last { color: var(--c-ink); }
.crumbs + .section, .crumbs ~ .section:first-of-type { padding-top: var(--sec-y-sm); }

/* ---------- przerywnik CTA ---------- */
.ctabar__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px 60px; align-items: center; }
.ctabar .lead { margin-top: 12px; max-width: 56ch; }
.ctabar__act { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: flex-end; }
.ctabar__tel { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 500; color: inherit; }
.ctabar__tel .ico { width: 18px; height: 18px; }
.ctabar--center .ctabar__in { grid-template-columns: 1fr; text-align: center; }
.ctabar--center .lead { margin-inline: auto; }
.ctabar--center .ctabar__act { justify-content: center; }
@media (max-width: 900px) { .ctabar__in { grid-template-columns: 1fr; } .ctabar__act { justify-content: flex-start; } }

/* ---------- karty (layout cards) ---------- */
.cards-sec .offer-card { background: var(--c-card); padding: 24px; border-radius: var(--radius); display: grid; gap: 14px; align-content: start; }
.cards-sec .offer-card__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); }
.cards-sec .offer-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .grid-4 { grid-template-columns: 1fr; } }

/* ---------- galeria + lightbox ---------- */
.gallery { display: grid; gap: var(--col-gap); }
.gallery--grid { grid-template-columns: repeat(4, 1fr); }
.gallery--grid2 { grid-template-columns: repeat(2, 1fr); }
.gallery--masonry { columns: 3; column-gap: var(--col-gap); display: block; }
.gallery--masonry .gallery__item { display: block; break-inside: avoid; margin-bottom: var(--col-gap); aspect-ratio: auto; }
.gallery__item { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); background: var(--c-card); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.gallery__item:hover img { transform: scale(1.04); }
@media (max-width: 1000px) { .gallery--grid { grid-template-columns: repeat(2, 1fr); } .gallery--masonry { columns: 2; } }
@media (max-width: 600px) { .gallery--grid, .gallery--grid2 { grid-template-columns: 1fr; } .gallery--masonry { columns: 1; } }
.work[role="button"] { cursor: pointer; }

.lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(4,7,7,.94); display: grid; place-items: center; padding: 56px 16px; }
.lightbox[hidden] { display: none; }
.lightbox__fig { margin: 0; max-width: min(1400px, 100%); max-height: 100%; display: grid; gap: 12px; justify-items: center; }
.lightbox__fig img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; border-radius: var(--radius); }
.lightbox__fig figcaption { color: var(--c-bg-2); font-size: var(--fs-small); min-height: 1.2em; }
.lightbox__close, .lightbox__nav { position: absolute; background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.lightbox__close { top: 16px; right: 16px; }
.lightbox__nav { top: 50%; transform: translateY(-50%); }
.lightbox__nav--prev { left: 16px; }
.lightbox__nav--next { right: 16px; }
.lightbox__close svg, .lightbox__nav svg { width: 18px; height: 18px; }
.lightbox__close:hover, .lightbox__nav:hover { background: rgba(255,255,255,.12); }
body.lightbox-open { overflow: hidden; }

/* ---------- filtry realizacji + paginacja ---------- */
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.filters a { display: inline-block; padding: 8px 16px; border: 1px solid var(--c-line); border-radius: 999px; text-decoration: none; color: var(--c-ink); font-size: var(--fs-small); transition: background .2s, border-color .2s; }
.filters a:hover { border-color: var(--c-ink); }
.filters a[aria-current] { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.filters--sub a { padding: 5px 12px; background: var(--c-chip); border-color: var(--c-chip); }
.filters--sub { margin-bottom: 40px; }
.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pagination .page-numbers { display: inline-block; min-width: 44px; padding: 10px 14px; text-align: center; border: 1px solid var(--c-line); border-radius: var(--radius); text-decoration: none; color: var(--c-ink); }
.pagination .page-numbers.current { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.pagination .page-numbers.dots { border: 0; }

/* ---------- wpis blogowy, case study, treść klasyczna ---------- */
.plain__in, .post-single__head, .post-single__body, .case__body { max-width: 760px; }
.post-single__meta { margin-top: 16px; }
.post-single__img { margin: 40px 0; max-width: 1000px; }
.post-single__img img { width: 100%; height: auto; border-radius: var(--radius); }
.post-single__body { margin-top: 32px; }
.case__meta { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 12px; }
.case__meta span + span::before { content: "·"; margin: 0 10px; }
.case .gallery { margin-bottom: 48px; }
.review--inline { max-width: 760px; margin: 40px 0 0; padding: 28px; background: var(--c-card); border-radius: var(--radius); display: grid; gap: 12px; }
.review--inline .review__text { display: block; -webkit-line-clamp: unset; }
.entry-content > * + * { margin-top: 1em; }
.entry-content h2 { font-size: var(--fs-h2); font-weight: 400; line-height: var(--lh-tight, 1.15); letter-spacing: -.01em; margin-top: 1.6em; margin-bottom: .5em; }
.entry-content h3 { font-size: var(--fs-h3); font-weight: 500; line-height: 1.25; margin-top: 1.4em; margin-bottom: .4em; }
.entry-content h4 { font-size: var(--fs-h4); font-weight: 500; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: .4em; }
.entry-content a { color: var(--c-ink); text-decoration: underline; text-underline-offset: 3px; }
.entry-content img { max-width: 100%; height: auto; border-radius: var(--radius); }
.entry-content blockquote { border-left: 3px solid var(--c-gold); padding-left: 20px; color: var(--c-muted); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.entry-content th, .entry-content td { border: 1px solid var(--c-line); padding: 10px 12px; text-align: left; }
.entry-content .wp-block-image figcaption { font-size: var(--fs-small); color: var(--c-muted); margin-top: 8px; }

/* ---------- formularz Contact Form 7 (te same klasy, co w prototypie: .field, .check, .fieldset) ---------- */
.wpcf7 .form { display: grid; gap: 12px; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 .field input, .wpcf7 .field textarea { width: 100%; }
.wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 12px; color: #b32d2e; }
.wpcf7-response-output { margin: 8px 0 0 !important; padding: 12px 16px !important; border: 1px solid var(--c-line) !important; border-radius: var(--radius); font-size: var(--fs-small); }
.wpcf7-form.sent .wpcf7-response-output { border-color: #1a7f37 !important; color: #1a7f37; }
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output, .wpcf7-form.spam .wpcf7-response-output { border-color: #b32d2e !important; color: #b32d2e; }
.wpcf7-spinner { margin: 0 12px; }
.wpcf7-list-item { display: block; margin: 0 0 6px; }
.wpcf7-list-item label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7 .cf-turnstile { margin-top: 8px; }
.koryfi-hp, .wpcf7 .koryfi-hp { display: none !important; }
/* CF7 bez własnego CSS: chowamy puste kontenery komunikatów (CF7 pokazuje je klasą stanu na <form>) */
.wpcf7 .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; margin: 0; padding: 0; border: 0; }
.wpcf7-form:not(.sent):not(.invalid):not(.failed):not(.spam):not(.aborted):not(.unaccepted) .wpcf7-response-output { display: none; }
.wpcf7-form .hidden-fields-container { display: none; }

/* ---------- baner cookies (Consent Mode v2) ---------- */
.consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 900; display: flex; justify-content: center; }
.consent[hidden] { display: none; }
.consent__box { width: min(100%, 720px); background: var(--c-bg-2); color: var(--c-ink); border: 1px solid var(--c-line); border-radius: var(--radius); box-shadow: 0 12px 40px rgba(0,0,0,.18); padding: 24px; display: grid; gap: 14px; }
.consent__title { font-family: var(--f-tight); font-size: var(--fs-h3); font-weight: 500; }
.consent__text { font-size: var(--fs-small); color: var(--c-muted); }
.consent__text a { color: var(--c-ink); }
.consent__opts { display: grid; gap: 8px; font-size: var(--fs-small); padding: 12px; background: var(--c-card); border-radius: var(--radius); }
.consent__opts[hidden] { display: none; }
.consent__opts label { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.consent__btns { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.consent__btns .btn { min-height: 44px; padding-block: 10px; }
.consent__btns .btn--light { border-color: var(--c-line); }
.consent__link { background: none; border: 0; padding: 8px; font: inherit; font-size: var(--fs-small); color: var(--c-muted); text-decoration: underline; cursor: pointer; margin-left: auto; }
@media (max-width: 600px) { .consent { left: 8px; right: 8px; bottom: 8px; } .consent__btns .btn { width: 100%; } .consent__link { margin-left: 0; } }

/* ---------- drobne ---------- */
.logo__text { font-family: var(--f-tight); font-weight: 500; font-size: 1.5rem; letter-spacing: .02em; }
.footer__addr { margin-top: 6px; }
.offer__wrap--noimg { grid-template-columns: 1fr; }
.problem--left .problem__wrap { grid-template-columns: minmax(0, 37.5%) minmax(0, 1fr); }
.problem--left .problem__img { order: -1; }
@media (min-width: 1101px) { .problem--left .problem__img { margin-right: 0; margin-left: calc((100vw - var(--container)) / -2); } }
@media (max-width: 1100px) { .problem--left .problem__wrap { grid-template-columns: 1fr; } }
.section--grey .review, .section--grey .offer-card, .section--grey .price-card { background: var(--c-bg-2); }
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }

/* ---------- poprawki stabilności layoutu (WP: inne wysokości tekstu niż w prototypie) ---------- */
/* Zdjęcie 1/2 w gridzie ze stretch: bez aspect-ratio, żeby figura nie rozszerzała się poza kolumnę, gdy tekst jest wyższy. */
@media (min-width: 1101px) { .offer__img, .problem__img { aspect-ratio: auto; height: 100%; } }
/* Ikona strzałki w linku "Zobacz" w trust flow. */
.trust__label a .ico { width: 20px; height: 10px; }

/* ---------- wpis blogowy: sidebar, boks autora, CTA w treści ---------- */
.post-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 4vw, 80px); align-items: start; }
.post-main { min-width: 0; }
.post-side { position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: 20px; }
.post-side__box { background: var(--c-card); border-radius: var(--radius); padding: 24px; }
.post-side__box ul { list-style: none; margin: 0; padding: 0; }
.post-side__box li + li { margin-top: 10px; }
.post-side__box a { color: var(--c-ink); text-decoration: none; }
.post-side__box a:hover { text-decoration: underline; text-underline-offset: 3px; }
.post-side__cta { background: var(--c-ink); color: var(--c-bg-2); }
.post-side__cta .h3 { color: #fff; margin-bottom: 8px; }
.post-side__cta .small { color: var(--c-muted-2); margin-bottom: 16px; }
.post-side__tel { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: #fff !important; font-weight: 500; }
.post-side__tel .ico { width: 16px; height: 16px; }
.post-side__list a { font-size: var(--fs-small); }
.author-box { margin-top: 48px; padding: 28px; background: var(--c-card); border-radius: var(--radius); display: grid; grid-template-columns: 96px 1fr; gap: 24px; align-items: start; max-width: 760px; }
.author-box__img { width: 96px; height: 96px; border-radius: 50%; object-fit: contain; background: var(--c-ink); padding: 14px; }
.author-box__initial { width: 96px; height: 96px; border-radius: 50%; background: var(--c-ink); color: #fff; display: grid; place-items: center; font-size: 2rem; font-family: var(--f-tight); }
.author-box__name { font-weight: 600; margin-bottom: 8px; }
.post-cta { margin: 40px 0; padding: 28px; background: var(--c-ink); color: var(--c-bg-2); border-radius: var(--radius); }
.post-cta__title { font-family: var(--f-tight); font-size: var(--fs-h3); font-weight: 500; color: #fff; margin-bottom: 8px; }
.post-cta p + p { margin-top: 12px; }
.post-cta .btn { background: var(--c-gold); border-color: var(--c-gold); color: #fff; }
.post-cta .btn:hover { background: var(--c-gold-dark); }
.entry-content table { margin: 8px 0; }
.entry-content thead th { background: var(--c-card); }
.entry-content figure.wp-block-image { margin: 32px 0; }
@media (max-width: 1000px) { .post-layout { grid-template-columns: 1fr; } .post-side { position: static; } }
@media (max-width: 600px) { .author-box { grid-template-columns: 1fr; } }

/* R4 zientara: ikona Facebook w topbarze i stopce, ikona telefonu w nagłówku mobile */
.topbar .topbar__social { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.12); color: var(--c-white); transition: background .2s, color .2s; }
.topbar .topbar__social:hover { background: var(--c-white); color: var(--c-navy-2); }
.topbar .topbar__social svg { width: 15px; height: 15px; }
.footer .footer__social { margin-top: 20px; }
@media (max-width: 1024px) {
  .header .header__phone { width: 46px; height: 46px; box-shadow: 0 0 0 4px rgba(87,180,226,.22); transition: transform .2s; }
  .header .header__phone:active { transform: scale(.94); }
  .header .header__phone .ico, .header .header__phone svg { width: 22px; height: 22px; }
}

/* R4 zientara: cennik (karty z ceną) i zasięg lokalny w stylu projektu */
.pricing .price-card { background: var(--c-white); border: 1px solid var(--c-line-2); border-radius: 16px; padding: 28px 28px 24px; }
.section--grey .pricing .price-card, .pricing.section--grey .price-card { background: var(--c-white); }
.pricing .price-card .h3 { font-family: var(--f-alt); font-size: 1.125rem; font-weight: 600; color: var(--c-navy); margin-bottom: 10px; }
.pricing .price-card__range { font-family: var(--f-main); font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.25rem); font-weight: 600; line-height: 1.15; color: var(--c-navy-3); margin-bottom: 14px; }
.pricing .price-card__desc { color: var(--c-muted-2); line-height: 1.55; }
.pricing .pricing__factors .h3 { font-weight: 500; color: var(--c-navy); }
.pricing .pricing__factors ul.dots li { margin-bottom: 6px; }
.pricing .pricing__note { background: var(--c-strip); border-radius: 16px; padding: 28px; }
.area .area__lists h3 { color: var(--c-navy); font-family: var(--f-alt); }
.area .area__lists ul { gap: 8px; font-size: .9375rem; }
.area .area__lists li + li::before { content: none; }
.area .area__lists li { padding: 6px 14px; border-radius: 999px; background: var(--c-chip); color: var(--c-navy); }
.area .area__map img { border-radius: 16px; border: 1px solid var(--c-line-2); }
.trust .trust__num { color: var(--c-navy); }
@media (max-width: 600px) { .section .gallery.gallery--grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } .section .gallery--grid .gallery__item:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; } }
.faq details summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; } .faq__wrap > * { min-width: 0; }
.faq details summary::after { width: 1em; text-align: center; transform-origin: 50% 50%; } .faq details { overflow: clip; }

/* R4 poprawki Pawła: aktywna pozycja menu (desktop podkreślenie niebieskie), menu mobile: 1 przycisk telefonu + Nawiguj + adres */
.nav .nav__link.is-current { color: var(--c-white); }
.nav .nav__link.is-current::after { transform: scaleX(1); background: var(--c-accent); }
.nav .nav__link.nav__link--hl.is-current::after { background: var(--c-yellow); }
.nav__navi { display: none; }
@media (max-width: 1024px) {
  .nav .nav__navi { display: inline-flex; justify-content: center; gap: 10px; margin-top: -16px; }
  .nav .nav__cta { justify-content: center; }
  .nav .nav__link.is-current { color: var(--c-accent); }
  .nav .nav__addr { color: var(--c-on-dark); }
}
/* text_media: kolaż 2 zdjęć (pole image2) */
.split .split__media--duo { display: grid; grid-template-rows: auto auto; gap: var(--col-gap, 20px); align-self: stretch; }
.split__media--duo figure { margin: 0; border-radius: var(--radius, 12px); overflow: hidden; }
.split__media--duo figure:first-child { aspect-ratio: 16 / 10; }
.split__media--duo figure:last-child { aspect-ratio: 16 / 9; }
.split__media--duo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.split .split__media.split__media--duo { aspect-ratio: auto; overflow: visible; border-radius: 0; }
/* zasięg lokalny: nazwy miejscowości jako tekst (nie przyciski), dopóki nie ma podstron lokalnych */
.area .area__lists ul { gap: 6px 0; }
.area .area__lists li { padding: 0; background: none; border-radius: 0; color: var(--c-ink); }
.area .area__lists li + li::before { content: "·"; margin: 0 10px; color: var(--c-muted); }
.area .area__lists a { color: var(--c-accent-dark); text-decoration: underline; }
.footer .footer__grid.footer__grid--5 { grid-template-columns: auto minmax(0, 1fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, .8fr); }
@media (max-width: 1024px) { .footer .footer__grid.footer__grid--5 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .footer .footer__grid.footer__grid--5 { grid-template-columns: 1fr; } }
/* Galeria z 3 zdjęciami: 3 kolumny na desktopie zamiast pustego czwartego pola */
@media (min-width: 1001px) { .gallery--grid:has(> .gallery__item:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); } }
/* Galeria w treści wpisu (import {{img:...}} z klasą gallery-img): 3 kolumny, lightbox z main.js */
.entry-content .gallery { margin: 32px 0; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.entry-content .gallery__item { text-decoration: none; }
.entry-content .gallery__item img { height: 100%; border-radius: 0; }
@media (max-width: 600px) { .entry-content .gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }
.entry-content .gallery > p { display: contents; }
.entry-content .gallery br { display: none; }
/* Hero: kolaż z 2 zdjęciami (główne + 1 miniatura) = dwa poziome zdjęcia jedno pod drugim */
.hero-collage:has(> figure:nth-child(2):last-child) { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; aspect-ratio: 4 / 5; }
.hero-collage:has(> figure:nth-child(2):last-child) .hero-collage__main { grid-row: auto; }
@media (max-width: 900px) { .hero-collage:has(> figure:nth-child(2):last-child) { aspect-ratio: 1 / 1; } }
