.sc-commune { background: var(--sc-white); }
.sc-commune__hero {
    background: var(--sc-blue);
    color: var(--sc-white);
    border-bottom: 7px solid var(--sc-black);
}
.sc-commune__hero-inner { display: grid; gap: 26px; padding-block: 34px 30px; }
.sc-commune__title { font-size: clamp(3.4rem, 16vw, 7.2rem); overflow-wrap: anywhere; }
.sc-commune__intro { max-width: 680px; margin: 18px 0 0; font-size: 1.08rem; font-weight: 700; }
.sc-commune__hero-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 2px solid var(--sc-white); background: var(--sc-white); color: var(--sc-black); }
.sc-commune__hero-facts > div { min-width: 0; padding: 13px; background: var(--sc-blue); color: var(--sc-white); }
.sc-commune__hero-facts dt { font-family: var(--sc-font-display); font-size: .7rem; font-weight: 950; letter-spacing: .05em; text-transform: uppercase; }
.sc-commune__hero-facts dd { margin: 3px 0 0; font-family: var(--sc-font-display); font-size: 1.55rem; font-weight: 950; line-height: 1; }

.sc-commune__layout { display: grid; gap: 42px; padding-block: 34px 64px; }
.sc-commune__main-column { min-width: 0; }
.sc-commune__section { margin-bottom: 44px; padding-bottom: 44px; border-bottom: 5px solid var(--sc-black); }
.sc-commune__section:last-child { margin-bottom: 0; }
.sc-commune__section-heading { margin-bottom: 22px; }
.sc-commune__section-heading h2,
.sc-commune__content-group > h3,
.sc-commune__side-block h2 {
    margin: 0;
    font-family: var(--sc-font-display);
    font-weight: 950;
    line-height: .96;
    letter-spacing: -.035em;
}
.sc-commune__section-heading h2 { font-size: clamp(2.2rem, 8vw, 3.9rem); }

.sc-commune__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 2px solid var(--sc-black); }
.sc-commune__metric { min-width: 0; min-height: 128px; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border-right: 1px solid var(--sc-black); border-bottom: 1px solid var(--sc-black); }
.sc-commune__metric:nth-child(2n) { border-right: 0; }
.sc-commune__metric:nth-last-child(-n+2) { border-bottom: 0; }
.sc-commune__metric strong { font-family: var(--sc-font-display); font-size: clamp(2.5rem, 11vw, 4.4rem); font-weight: 950; line-height: .85; letter-spacing: -.05em; }
.sc-commune__metric span { margin-top: 14px; font-size: .78rem; font-weight: 900; line-height: 1.05; text-transform: uppercase; }
.sc-commune__method,
.sc-commune__selection-note { max-width: 760px; margin: 14px 0 0; color: var(--sc-gray-600); font-size: .8rem; line-height: 1.45; }

.sc-commune__sectors { border-top: 2px solid var(--sc-black); }
.sc-commune__sector { padding: 15px 0; border-bottom: 1px solid var(--sc-black); }
.sc-commune__sector-line { display: flex; justify-content: space-between; gap: 18px; align-items: end; }
.sc-commune__sector-line > div { min-width: 0; display: grid; gap: 2px; }
.sc-commune__sector-line strong { font-family: var(--sc-font-display); font-size: 1.16rem; font-weight: 950; line-height: 1; }
.sc-commune__sector-line span { color: var(--sc-gray-600); font-size: .72rem; font-weight: 800; }
.sc-commune__sector-line b { flex: none; font-family: var(--sc-font-display); font-size: 1.45rem; }
.sc-commune__sector-track { height: 8px; margin-top: 10px; background: var(--sc-gray-100); }
.sc-commune__sector-track span { display: block; height: 100%; background: var(--sc-blue); }

.sc-commune__companies { display: grid; border-top: 2px solid var(--sc-black); }
.sc-commune__company { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; min-height: 106px; padding: 15px 0; border-bottom: 1px solid var(--sc-black); text-decoration: none; }
.sc-commune__company:hover strong { color: var(--sc-blue); }
.sc-commune__company > strong { grid-column: 1; font-family: var(--sc-font-display); font-size: 1.35rem; font-weight: 950; line-height: 1; }
.sc-commune__company-activity { grid-column: 1; color: var(--sc-gray-600); font-size: .78rem; line-height: 1.3; }
.sc-commune__company > b { grid-column: 2; grid-row: 1 / span 3; align-self: center; font-size: 1.4rem; }
.sc-commune__company-status { grid-column: 1; justify-self: start; padding: 3px 6px; border: 1px solid var(--sc-black); font-size: .65rem; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.sc-commune__company-status.is-active { background: var(--sc-black); color: var(--sc-white); }
.sc-commune__company-status.is-closed { background: var(--sc-white); color: var(--sc-gray-600); border-color: var(--sc-gray-300); }

.sc-commune__content-group { margin-top: 30px; }
.sc-commune__content-group > h3 { margin-bottom: 8px; font-size: 1.8rem; }
.sc-commune__content-list { border-top: 2px solid var(--sc-black); }
.sc-commune__content-item { display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; padding: 15px 0; border-bottom: 1px solid var(--sc-black); text-decoration: none; }
.sc-commune__content-item:hover strong { color: var(--sc-blue); }
.sc-commune__content-item > span { grid-column: 1; color: var(--sc-gray-600); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.sc-commune__content-item > strong { grid-column: 1; font-family: var(--sc-font-display); font-size: 1.22rem; line-height: 1.05; }
.sc-commune__content-item > b { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 1.35rem; }
.sc-commune__empty-content { max-width: 650px; }

.sc-commune__sidebar { display: grid; align-content: start; gap: 24px; }
.sc-commune__side-block { padding: 18px; border: 2px solid var(--sc-black); }
.sc-commune__side-block h2 { margin-bottom: 14px; font-size: 1.8rem; }
.sc-commune__side-block dl { margin: 0; }
.sc-commune__side-block dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-top: 1px solid var(--sc-gray-300); }
.sc-commune__side-block dt { font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.sc-commune__side-block dd { margin: 0; font-weight: 850; text-align: right; }
.sc-commune__source { background: var(--sc-gray-050); }
.sc-commune__source p { margin: 0 0 12px; font-size: .9rem; }
.sc-commune__source a { display: inline-block; margin-bottom: 18px; font-weight: 900; }

@media (min-width: 700px) {
    .sc-commune__hero-inner { grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); align-items: end; padding-block: 48px 42px; }
    .sc-commune__metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sc-commune__metric { min-height: 148px; border-bottom: 0; }
    .sc-commune__metric:nth-child(2n) { border-right: 1px solid var(--sc-black); }
    .sc-commune__metric:last-child { border-right: 0; }
    .sc-commune__companies { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--sc-black); border-right: 1px solid var(--sc-black); }
    .sc-commune__company { padding: 16px; border-right: 1px solid var(--sc-black); }
    .sc-commune__company:nth-child(2n) { border-right: 0; }
}

@media (min-width: 1024px) {
    .sc-commune__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; padding-block: 48px 84px; }
    .sc-commune__sidebar { position: sticky; top: 24px; }
    .sc-commune__section { margin-bottom: 52px; padding-bottom: 52px; }
}
