.publication-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.publication-card { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.publication-card h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.6px; margin-bottom: 18px; overflow-wrap: anywhere; }
.publication-card h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.publication-date { font-size: 12px; color: var(--muted); margin-bottom: 16px; }
.publication-description { font-size: 14px; line-height: 1.8; color: var(--muted); margin-bottom: 24px; }
.publication-description * { font: inherit !important; color: inherit !important; text-align: left !important; margin: 0; }
.publication-card .text-link { margin-top: auto; }
.editorial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 5vw, 100px); align-items: start; }
.editorial-reading { grid-column: 1; grid-row: 1; max-width: 82ch; min-width: 0; }
.editorial-aside { grid-column: 2; grid-row: 1; display: grid; gap: 24px; min-width: 0; font-size: 14px; line-height: 1.7; }
.editorial-aside > img { width: 100%; height: auto; max-height: 420px; object-fit: contain; border-radius: 18px; }
.editorial-aside > br, .editorial-aside > ._clear { display: none; }
.editorial-aside .highlights, .editorial-aside .gob_wrapper, .editorial-aside .vote_wrapper { background: var(--surface); border: 1px solid var(--line); padding: 24px; border-radius: 18px; }
.editorial-aside h4, .editorial-aside h6 { font-size: 24px; font-weight: 400; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 18px; }
.editorial-aside .highlights h2 { display: none; }
.editorial-aside .highlights table { display: block; overflow: auto; max-width: 100%; border: 0; border-collapse: collapse; font-size: 13px; }
.editorial-aside .highlights td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); }
.editorial-aside .highlights td:first-child { display: none; }
.editorial-aside .highlights span { font-size: inherit !important; }
.editorial-aside .gob_in_wrapper { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.editorial-aside .gob p { color: var(--muted); }
.project-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; row-gap: 36px; }
.project-card { min-width: 0; }
.project-card-image { display: block; overflow: hidden; border-radius: 20px; background: var(--soft); aspect-ratio: 1.4; margin-bottom: 20px; }
.project-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.project-card-image:hover img { transform: scale(1.025); }
.project-card h2 { font-size: 27px; line-height: 1.3; letter-spacing: -.7px; margin-bottom: 12px; }
.project-card p { font-size: 14px; color: var(--muted); line-height: 1.8; }
.project-story { display: block; max-width: 88ch; margin-bottom: 28px; padding-block: 0; }
.project-story p { font-size: 17px; max-width: none; }
.project-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.project-gallery li:first-child { grid-column: span 2; grid-row: span 2; }
.project-gallery li:first-child a, .project-gallery li:first-child img { height: 100%; }
.project-gallery li:first-child img { aspect-ratio: auto; min-height: 320px; }
.reviews-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 60px; align-items: start; }
.reviews-full-list > ul { list-style: none; margin: 0; padding: 0; }
.reviews-full-list > ul > li { display: flow-root; padding: 28px 0; border-top: 1px solid var(--line); }
.reviews-full-list > ul > li:first-child { padding-top: 0; border-top: 0; }
.reviews-full-list .name { font-size: 26px; line-height: 1.4; letter-spacing: -.6px; margin-bottom: 20px; }
.reviews-full-list .descr { font-size: 17px; }
.reviews-full-list .ans { margin-top: 20px; padding-left: 20px; border-left: 2px solid var(--line); color: var(--muted); font-size: 15px; }
.reviews-full-list .image { float: right; width: 144px; height: 199px; margin: 0 0 20px 24px; border-radius: 12px; background-size: cover !important; }
.reviews-form { border-radius: 20px; background: var(--soft); padding: 26px; }
.reviews-form h3, .reviews-form > p { font-size: 26px; margin-bottom: 24px; }
.offers-list > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.offers-list img { width: 100%; height: auto; border-radius: 18px; }
.company-page > .section { padding: 0; }
.company-page ._about { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 40px; }
.company-page ._about > ._left { grid-column: 2; grid-row: 1; }
.company-page ._about > ._center { grid-column: 1; grid-row: 1 / span 2; max-width: 85ch; }
.company-page ._about > ._right { grid-column: 2; }
.company-page ._right { font-size: 15px; padding-top: 20px; border-top: 1px solid var(--line); }
.company-page ._right b { display: block; font-size: 44px; line-height: 1.3; letter-spacing: -2px; color: var(--ink); font-weight: 400; }
.company-page .title_cert { display: block; margin-top: 32px; font-size: 30px !important; font-weight: 400 !important; line-height: 1.3; letter-spacing: -.8px; }
.company-page .cert_smart table, .company-page .cert_smart tbody, .company-page .cert_smart tr { display: contents; }
.company-page .cert_smart { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.company-page .cert_smart td { display: flex; align-items: center; justify-content: center; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.company-page .cert_smart img { width: auto; height: auto; max-height: 300px; margin: 0; border-radius: 0; }
.contacts-page .contacts { display: grid; grid-template-columns: 1.1fr .9fr; gap: 32px 60px; }
.contacts__address { grid-column: 1 / -1; font-size: clamp(25px, 2.4vw, 38px); line-height: 1.4; letter-spacing: -.7px; max-width: 40ch; }
.contacts__image { width: 100%; max-height: 520px; object-fit: cover; border-radius: 20px; }
.contacts__details { display: grid; gap: 32px; align-content: start; }
.contacts__block h3 { font-size: 28px; margin-bottom: 20px; }
.contacts__block p, .contacts__block a { display: block; font-size: 18px; color: var(--muted); line-height: 1.9; }
.contacts__block a { text-decoration: underline; text-underline-offset: 5px; }
.contacts-page > .feedback { border: 1px solid var(--line); border-radius: 20px; padding: 32px; margin-top: 32px; max-width: 720px; background: var(--surface); }
.contacts-page .form_title { font-size: 30px; margin-bottom: 26px; }
.service-page .modern-pager { display: flex; gap: 12px; align-items: center; justify-content: center; padding-top: 32px; }
@media (max-width: 1100px) {
    .publication-list, .project-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .editorial-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 30px; }
    .reviews-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 30px; }
    .company-page .cert_smart { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 767px) {
    .publication-list, .project-list, .editorial-layout, .reviews-layout, .contacts-page .contacts { grid-template-columns: 1fr; gap: 24px; }
    .publication-card { padding: 22px; border-radius: 18px; }
    .publication-card h2 { font-size: 24px; }
    .editorial-reading, .editorial-aside { grid-column: auto; grid-row: auto; }
    .editorial-reading { order: 0; }
    .editorial-aside { order: 1; }
    .editorial-aside > img { width: auto; max-height: 320px; margin-inline: auto; }
    .project-card h2 { font-size: 25px; }
    .project-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .project-gallery li:first-child { grid-column: 1 / -1; grid-row: auto; }
    .project-gallery li:first-child img { min-height: 0; aspect-ratio: 1.4; }
    .reviews-full-list .image { width: 105px; height: 145px; margin-left: 16px; }
    .offers-list > ul { grid-template-columns: 1fr; }
    .offers-list img { max-width: 420px; margin-inline: auto; }
    .company-page ._about { grid-template-columns: 1fr; gap: 24px; }
    .company-page ._about > ._left, .company-page ._about > ._center, .company-page ._about > ._right { grid-column: auto; grid-row: auto; }
    .company-page ._about > ._left { display: none; }
    .company-page .cert_smart { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .company-page .cert_smart td { padding: 12px; min-width: 0; }
    .company-page .cert_smart img { max-height: 230px; }
    .contacts-page > .feedback { padding: 22px; }
}
