.internal-page {
    --home-ink: #122b2b;
    --home-ink-soft: #3b5856;
    --home-lake: #176b67;
    --home-lake-dark: #0f504d;
    --home-signal: #e95d3f;
    --home-paper: #f4f8f6;
    --home-skywash: #dcece8;
    --home-line: #c7d8d4;
    --home-white: #ffffff;
    min-width: 320px;
    background: var(--home-paper);
    color: var(--home-ink);
    font: 400 15px/1.55 'Onest', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.internal-page * { box-sizing: border-box; }
.internal-page a,
.internal-page button,
.internal-page input,
.internal-page textarea,
.internal-page select { font: inherit; }

.internal-page a:focus-visible,
.internal-page button:focus-visible,
.internal-page input:focus-visible,
.internal-page textarea:focus-visible,
.internal-page select:focus-visible {
    outline: 3px solid rgba(233, 93, 63, .4);
    outline-offset: 3px;
}

/* Shared site chrome */
.internal-page .home-header {
    height: auto;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--home-line);
    background: rgba(244, 248, 246, .97);
    position: relative;
    z-index: 20;
}

.internal-page .home-nav {
    float: none;
    display: flex;
    align-items: center;
    gap: 32px;
    margin-left: auto;
}

.internal-page .home-nav a {
    color: var(--home-ink-soft);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.internal-page .home-nav a:hover { color: var(--home-lake); }

.internal-page .home-footer {
    width: 100%;
    padding: 45px 0 28px;
    background: #0b2322;
    color: #9db3b0;
}

.internal-page .home-footer__nav {
    float: none;
    display: grid;
    gap: 8px;
}

.internal-page .home-footer__nav a {
    color: #d4e1df;
    text-decoration: none;
    font-size: 11px;
}

.internal-page .home-footer__nav a:hover { color: var(--home-white); }

/* Page frame and hierarchy */
.internal-main {
    min-height: 560px;
    padding: 0 0 64px;
}

.internal-page .wrapper {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.internal-page .wrapper.mainw {
    min-height: 520px;
    padding-top: 22px;
}

.internal-page .wrapper .wrapper {
    width: 100%;
    margin: 0;
}

.internal-page h1,
.internal-page h2,
.internal-page h3,
.internal-page .page_title,
.internal-page .gosuch_wrap_title {
    float: none !important;
    color: var(--home-ink);
    font-family: 'Unbounded', sans-serif;
    font-weight: 600;
    letter-spacing: -.045em;
    text-transform: none;
}

.internal-page h1,
.internal-page .page_title,
.internal-page .gosuch_wrap_title {
    margin: 0 0 24px !important;
    font-size: clamp(30px, 3.4vw, 46px);
    line-height: 1.13 !important;
    text-align: left;
}

.internal-page h2,
.internal-page .related_title {
    margin: 0 0 20px !important;
    font-size: 25px;
    line-height: 1.2;
}

.internal-page h3 { font-size: 19px; line-height: 1.3; }

.internal-page .breadcrumbs,
.internal-page .breadcrumbs1 {
    margin: 0 0 22px;
    padding: 0;
}

.internal-page .breadcrumb {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    background: transparent;
    color: #728784;
    font-size: 11px;
}

.internal-page .breadcrumb > li {
    display: inline-flex;
    align-items: center;
}

.internal-page .breadcrumb > li + li::before {
    padding: 0 7px 0 0;
    color: #9badab;
    content: '→';
}

.internal-page .breadcrumb a { color: var(--home-lake); text-decoration: none; }
.internal-page .breadcrumb a:hover { text-decoration: underline; }

.internal-page .banner_wrap {
    min-height: 0;
    margin: 12px 0 24px;
    overflow: hidden;
    border-radius: 10px;
}

.internal-page .banner_wrap:empty { display: none; }
.internal-page .banner_wrap:has(> [id^='yandex_rtb_']:empty) { display: none; }

.internal-page .clear,
.internal-page .clearfix::after { clear: both; }

/* Controls and forms */
.internal-page input[type='text'],
.internal-page input[type='email'],
.internal-page input[type='password'],
.internal-page input[type='search'],
.internal-page input[type='number'],
.internal-page input[type='url'],
.internal-page textarea,
.internal-page select,
.internal-page .form-control,
.internal-page .styler {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-white);
    color: var(--home-ink);
    box-shadow: none;
    outline: 0;
}

.internal-page textarea,
.internal-page textarea.form-control { min-height: 120px; resize: vertical; }

.internal-page input:focus,
.internal-page textarea:focus,
.internal-page select:focus,
.internal-page .form-control:focus {
    border-color: var(--home-lake);
    box-shadow: 0 0 0 3px rgba(23, 107, 103, .09);
}

.internal-page label,
.internal-page .control-label {
    margin-bottom: 6px;
    color: var(--home-ink-soft);
    font-size: 12px;
    font-weight: 600;
}

.internal-page .form-group { margin-bottom: 17px; }
.internal-page .help-block { margin: 5px 0 0; font-size: 11px; }

.internal-page .button,
.internal-page .btn,
.internal-page button[type='submit'],
.internal-page input[type='submit'] {
    min-height: 44px;
    padding: 0 19px;
    border: 0;
    border-radius: 9px;
    background: var(--home-lake);
    color: var(--home-white);
    font-weight: 700;
    line-height: 44px;
    text-decoration: none;
    text-shadow: none;
    box-shadow: none;
    transition: background 150ms ease, transform 150ms ease;
}

.internal-page .button:hover,
.internal-page .btn:hover,
.internal-page button[type='submit']:hover,
.internal-page input[type='submit']:hover {
    background: var(--home-lake-dark);
    color: var(--home-white);
    transform: translateY(-1px);
}

.internal-page .btn-danger { background: #b94632; }
.internal-page .btn-success { background: var(--home-lake); }
.internal-page .btn-primary { background: var(--home-lake); }

.internal-page .news-form,
.internal-page .update_form,
.internal-page .site-login,
.internal-page .site-signup,
.internal-page .site-contact,
.internal-page .site-about,
.internal-page .site-error {
    width: min(900px, calc(100% - 48px));
    margin: 38px auto;
    padding: 30px;
    border: 1px solid var(--home-line);
    border-radius: 14px;
    background: var(--home-white);
}

.internal-page .wrapper .news-form,
.internal-page .wrapper .update_form { width: 100%; margin: 0; }

.internal-page .form-horizontal .control-label { width: auto; float: none; text-align: left; }
.internal-page .form-horizontal [class*='col-lg-'] { width: 100%; float: none; margin-left: 0; padding: 0; }

.internal-page .alert,
.internal-page .alert-ok {
    margin: 0 0 20px;
    padding: 14px 16px;
    border: 1px solid #9cc9c1;
    border-radius: 9px;
    background: #e7f4f1;
    color: var(--home-lake-dark);
    font-size: 13px;
}

.internal-page .alert-danger {
    border-color: #e7b8ac;
    background: #fff0ec;
    color: #8f3827;
}

.internal-page .error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.internal-page .captcha-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.internal-page .captcha-row img { border-radius: 7px; }

.internal-page .support-page__intro {
    max-width: 760px;
    margin: 28px 0 30px;
}

.internal-page .support-page__intro > span {
    display: block;
    margin-bottom: 10px;
    color: var(--home-lake);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.internal-page .support-page__intro p {
    max-width: 680px;
    margin: 0;
    color: var(--home-ink-soft);
    font-size: 16px;
}

.internal-page .support-page__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.internal-page .support-page__grid section {
    min-height: 260px;
    padding: 28px;
    border: 1px solid var(--home-line);
    border-radius: 14px;
    background: var(--home-white);
}

.internal-page .support-page__grid section:last-child {
    background: var(--home-ink);
    color: #cfe0dd;
}

.internal-page .support-page__grid section > strong {
    color: var(--home-signal);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.internal-page .support-page__grid h2 { margin: 12px 0 !important; }
.internal-page .support-page__grid section:last-child h2 { color: var(--home-white); }
.internal-page .support-page__grid p { color: var(--home-ink-soft); font-size: 13px; }
.internal-page .support-page__grid section:last-child p { color: #aac0bd; }
.internal-page .support-page__grid ul { margin: 15px 0 0; display: grid; gap: 7px; }
.internal-page .support-page__grid li { position: relative; padding-left: 15px; font-size: 12px; }
.internal-page .support-page__grid li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--home-signal);
    position: absolute;
    left: 0;
    top: 7px;
}

.internal-page .support-page__grid a {
    min-height: 42px;
    margin-top: 18px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    border-radius: 99px;
    background: var(--home-lake);
    color: var(--home-white);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

/* Search, maps and institution lists */
.internal-page .search_gosuch {
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-white);
}

.internal-page .search_gosuch.inn { margin: 0 0 24px; padding: 18px; }

.internal-page .search_gosuch form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 12px;
    align-items: end;
}

.internal-page .search_gosuch .grid4,
.internal-page .search_gosuch .grid8,
.internal-page .search_gosuch .grid_out {
    width: auto;
    float: none;
    margin: 0;
}

.internal-page .search_gosuch .button { width: 100%; margin: 0; }

.internal-page .notmap_wrapper:has(> .notmap_grid),
.internal-page .notmap_wrapper:has(> .gosuch_wrap) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

/* Legacy clearfix pseudo-elements become empty grid rows otherwise. */
.internal-page .notmap_wrapper::before,
.internal-page .notmap_wrapper::after { display: none; content: none; }

.internal-page .notmap_wrapper:has(> .gosuch_wrap) > .clear_mob {
    display: none;
}

.internal-page .notmap_wrapper:has(> .gosuch_wrap) > .gosuch_wrap,
.internal-page .notmap_wrapper:has(> .gosuch_wrap) > .notmap_grid {
    min-width: 0;
    grid-row: 1;
}

.internal-page .notmap_grid,
.internal-page .gosuch_list,
.internal-page .gosuch_wrap {
    width: auto;
    float: none;
}

.internal-page .notmap_grid > .grid_out,
.internal-page .gosuch_list > .grid_out,
.internal-page .gosuch_wrap > .grid_out { margin: 0; }

.internal-page .notmap_grid { grid-column: 2; }
.internal-page .gosuch_list,
.internal-page .gosuch_wrap { grid-column: 1; grid-row: auto; }

.internal-page .notmap_wrapper:has(> .notmap_grid) > .page_title,
.internal-page .notmap_wrapper:has(> .notmap_grid) > .search_gosuch {
    grid-column: 1 / -1;
}

.internal-page .notmap_wrapper:has(> .notmap_grid) > .page_title { grid-row: 1; }
.internal-page .notmap_wrapper:has(> .search_gosuch) > .search_gosuch { grid-row: 2; }

.internal-page .notmap_wrapper:has(> .page_title) > .notmap_grid,
.internal-page .notmap_wrapper:has(> .page_title) > .gosuch_list {
    grid-row: 2;
}

.internal-page .notmap_wrapper:has(> .search_gosuch) > .notmap_grid,
.internal-page .notmap_wrapper:has(> .search_gosuch) > .gosuch_list {
    grid-row: 3;
}

.internal-page #map,
.internal-page .notmap {
    width: 100%;
    height: 440px;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-skywash);
}

.internal-page .map_scroll,
.internal-page .map_scroll.fixed_scroll {
    width: auto !important;
    margin: 0 !important;
    position: sticky !important;
    left: auto !important;
    top: 16px !important;
    z-index: 3;
}

.internal-page .gosuch_list > .grid_out {
    padding: 20px;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-white);
}

.internal-page .gosuch_list .title {
    margin: 0 0 14px;
    color: var(--home-ink-soft) !important;
    font-size: 12px;
}

.internal-page .gosuch_box {
    margin: 0;
    padding: 16px 0;
    border: 0;
    border-top: 1px solid var(--home-line);
    color: #617774;
    font-size: 12px;
    line-height: 1.55;
    transition: transform 150ms ease, background 150ms ease;
}

.internal-page .gosuch_box:first-of-type { border-top: 0; }
.internal-page .gosuch_box:hover { transform: translateX(4px); }

.internal-page .gosuch_box .name {
    margin: 0 0 5px;
    font-size: 15px;
    line-height: 1.35;
}

.internal-page .gosuch_box .name a { color: var(--home-ink); text-decoration: none; }
.internal-page .gosuch_box .name a:hover { color: var(--home-lake); text-decoration: none; }

.internal-page .gosuch_box .not,
.internal-page .gosuch_wrap .not {
    position: static;
    display: inline-flex;
    margin-top: 8px;
    padding: 3px 7px;
    border-radius: 4px;
    background: #fff0ec;
    color: #a33c28;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.4;
}

.internal-page .type_view {
    margin: 0 0 12px;
    padding: 8px;
    display: flex;
    gap: 7px;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-white);
}

.internal-page .type_view a,
.internal-page .type_view span {
    padding: 7px 10px;
    border-radius: 6px;
    color: var(--home-lake);
    font-size: 11px;
    text-decoration: none;
}

.internal-page .type_view span { background: var(--home-skywash); font-weight: 700; }

/* Region and city directories */
.internal-page .list-region,
.internal-page .list-palata {
    margin: 0;
    padding: 22px;
    column-count: 3;
    column-gap: 36px;
    border: 1px solid var(--home-line);
    border-radius: 14px;
    background: var(--home-white);
    font-size: 13px;
    line-height: 1.45;
}

.internal-page .list-region > li,
.internal-page .list-palata > li {
    margin: 0 0 10px;
    break-inside: avoid;
    list-style: none;
}

.internal-page .list-region > li::before {
    content: '';
    width: 5px;
    height: 5px;
    margin: 0 8px 2px 0;
    display: inline-block;
    border-radius: 50%;
    background: var(--home-signal);
}

.internal-page .list-region a,
.internal-page .list-palata a { color: var(--home-ink-soft); text-decoration: none; }
.internal-page .list-region a:hover,
.internal-page .list-palata a:hover { color: var(--home-lake); text-decoration: underline; }

.internal-page .list-region ul {
    margin: 8px 0 15px 15px;
    display: grid;
    gap: 5px;
}

/* Institution detail */
.internal-page .wrapper:has(> .content-wrap) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 30px;
    align-items: start;
}

.internal-page .wrapper:has(> .content-wrap) > .breadcrumbs1,
.internal-page .wrapper:has(> .content-wrap) > .breadcrumbs,
.internal-page .wrapper:has(> .content-wrap) > .banner_wrap,
.internal-page .wrapper:has(> .content-wrap) > .alert-ok {
    grid-column: 1 / -1;
}

.internal-page .content-wrap,
.internal-page .right-wrap {
    width: auto;
    float: none;
}

.internal-page .gosuch_wrap > .grid_out {
    padding: 25px;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-white);
}

.internal-page .gosuch_wrap_title {
    max-width: 18ch;
    font-size: clamp(27px, 2.35vw, 34px);
    overflow-wrap: anywhere;
}
.internal-page .gosuch_wrap_shortdesc { margin: -12px 0 18px; color: #6f8582; font-size: 13px; }

.internal-page .organization-status {
    width: fit-content;
    min-height: 30px;
    margin: 0 0 16px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 9px;
    background: #dcece8;
    color: #0f504d;
    font-size: 12px;
    font-weight: 700;
}
.internal-page .organization-status span { font-weight: 500; }
.internal-page .organization-status--temporarily_closed { background: #fff2d9; color: #7b5200; }
.internal-page .organization-status--closed { background: #fbe4df; color: #8f3828; }

.internal-page .organization-actions {
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.internal-page .organization-action,
.internal-page .organization-phone-summary {
    min-height: 44px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-white);
    color: var(--home-lake-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
}
.internal-page .organization-action--phone { border-color: var(--home-lake); background: var(--home-lake); color: #fff; }
.internal-page .organization-action:hover,
.internal-page .organization-phone-summary:hover { border-color: var(--home-lake); background: var(--home-skywash); color: var(--home-lake-dark); text-decoration: none; }
.internal-page .organization-action--phone:hover { background: var(--home-lake-dark); color: #fff; }
.internal-page .organization-action:focus-visible,
.internal-page .organization-phone-summary:focus-visible { outline: 3px solid rgba(23, 107, 103, .24); outline-offset: 2px; }
.internal-page .organization-phone-summary { min-height: 36px; padding: 5px 9px; }
.internal-page .organization-data-note { margin-top: 8px; display: block; color: var(--home-ink-soft); line-height: 1.45; }
.internal-page .organization-empty { color: var(--home-ink-soft); }
.internal-page .organization-site-text { overflow-wrap: anywhere; color: var(--home-ink); }

.internal-page .rating_gosuch {
    margin: 0 0 20px;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--home-paper);
    color: var(--home-ink-soft);
    font-size: 11px;
}

.internal-page .not_contact_middle {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.internal-page .not_contact {
    width: auto;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-white);
    color: var(--home-ink);
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.internal-page .not_contact.w100 { grid-column: 1 / -1; width: auto; }

.internal-page .not_contact_name,
.internal-page .not_contact_name.address,
.internal-page .not_contact_name.time,
.internal-page .not_contact_name.email,
.internal-page .not_contact_name.phone,
.internal-page .not_contact_name.metroi {
    width: auto;
    margin: 0 0 6px;
    padding: 0;
    float: none;
    color: #6b817e;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.internal-page .not_contact_name::after { display: none !important; }
.internal-page .not_contact_name .fa { margin-right: 5px; color: var(--home-lake); }

.internal-page .not_contact table {
    width: 100%;
    margin-top: 8px;
    border-collapse: collapse;
}

.internal-page .not_contact td {
    padding: 7px 9px;
    border-bottom: 1px solid var(--home-line);
    font-size: 11px;
}

.internal-page #error_s_a {
    width: fit-content;
    min-height: 44px;
    margin-top: 16px;
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-paper);
    color: var(--home-lake-dark);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.internal-page #error_s_a .fa { color: var(--home-signal); font-size: 15px; }
.internal-page #error_s_a:hover {
    border-color: var(--home-lake);
    background: var(--home-skywash);
    color: var(--home-lake-dark);
    text-decoration: none;
}

.internal-page #error_s_a:focus-visible {
    outline: 3px solid rgba(23, 107, 103, .24);
    outline-offset: 2px;
}

.internal-page .organization-share {
    width: 100%;
    margin-top: 12px;
    padding: 14px;
    display: grid;
    gap: 10px;
    border: 1px solid var(--home-line);
    border-radius: 10px;
    background: var(--home-white);
}

.internal-page .organization-share__label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--home-ink-soft);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.internal-page .organization-share__label .fa { color: var(--home-lake); font-size: 13px; }
.internal-page .organization-share .ya-share2 { min-height: 36px; }
.internal-page .organization-share .ya-share2__list { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.internal-page .organization-share .ya-share2__item { margin: 0 !important; }
.internal-page .organization-share .ya-share2__link {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.internal-page .relatedwrap {
    margin: 34px 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.internal-page .relatedwrap .related_title { grid-column: 1 / -1; border: 0; }

.internal-page .relatedbox,
.internal-page .relatedbox.first,
.internal-page .relatedbox.third {
    width: auto;
    min-height: 130px;
    margin: 0;
    padding: 15px;
    float: none;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-white);
    color: #687d7a;
    font-size: 11px;
    line-height: 1.5;
}

.internal-page .related_name { margin-bottom: 7px; }
.internal-page .related_name a { color: var(--home-ink); text-decoration: none; font-size: 12px; }

.internal-page .reviews_container { margin: 30px 0; }
.internal-page .reviews_container .related_title,
.internal-page .reviews_container .page_title { margin-bottom: 18px !important; }

.internal-page .reviewbox { width: 50%; }
.internal-page .reviews_container.onegrid .reviewbox { width: 100%; }

.internal-page .reviewbox .grid_out {
    min-height: 0;
    margin: 0 8px 16px;
    padding: 17px;
    border: 1px solid var(--home-line);
    border-radius: 10px;
    background: var(--home-white);
}

.internal-page .reviewbox .grid_out::before,
.internal-page .reviewbox .grid_out::after { display: none; }
.internal-page .rev_name { font-size: 14px; font-weight: 700; }
.internal-page .rev_date { color: #718683; font-size: 10px; }
.internal-page .rev_date .time::before { display: none; }
.internal-page .rev_meta { margin: 0 0 10px; font-size: 11px; }
.internal-page .rev_meta a { color: var(--home-lake); }
.internal-page .rev_txt { height: auto; color: var(--home-ink-soft); font-size: 12px; line-height: 1.6; }

.internal-page .reviews_form {
    margin: 28px 0;
    padding: 24px;
}

.internal-page .reviews_form .sn_title {
    position: static;
    margin: 0 0 20px;
    text-align: left;
}

.internal-page .reviews_form .sn_title span {
    padding: 0;
    background: transparent;
    color: var(--home-ink);
    font-family: 'Unbounded', sans-serif;
    font-size: 18px;
    line-height: 1.35;
}

.internal-page .reviews_form .sn_title small {
    display: block;
    max-width: 68ch;
    margin-top: 7px;
    color: var(--home-ink-soft);
    font-family: 'Onest', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}

.internal-page .reviews_form .organization-review-form {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px 20px;
    align-items: start;
}

.internal-page .reviews_form .organization-review-form > .form-group {
    min-width: 0;
    margin: 0;
}

.internal-page .reviews_form .field-otz-name { grid-column: 1 / 7; }
.internal-page .reviews_form .field-otz-email { grid-column: 7 / -1; }
.internal-page .reviews_form .field-otz-text { grid-column: 1 / 9; }
.internal-page .reviews_form .field-otz-rating { grid-column: 9 / -1; }
.internal-page .reviews_form .field-otz-recaptcha { grid-column: 1 / 9; }
.internal-page .reviews_form .organization-review-form > .form-group:last-child {
    grid-column: 9 / -1;
    align-self: end;
}

.internal-page .reviews_form .control-label {
    display: block;
    width: auto;
    margin: 0 0 7px;
    padding: 0;
    float: none;
    color: var(--home-ink-soft);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
}

.internal-page .reviews_form .form-control {
    width: 100%;
    margin: 0;
}

.internal-page .reviews_form textarea.form-control {
    min-height: 154px;
    resize: vertical;
}

.internal-page .reviews_form .field-otz-rating {
    min-height: 154px;
    padding: 14px;
    border: 1px solid var(--home-line);
    border-radius: 10px;
    background: var(--home-paper);
}

.internal-page .reviews_form .field-otz-rating .rating-container {
    white-space: nowrap;
}

.internal-page .reviews_form .field-otz-rating .caption {
    display: block;
    margin: 10px 0 0;
}

.internal-page .reviews_form .help-block {
    min-height: 0;
    margin: 6px 0 0;
    color: #a33c28;
    font-size: 11px;
    line-height: 1.4;
}

.internal-page .reviews_form .btn {
    width: 100%;
    min-height: 46px;
    margin: 0;
}

.internal-page .right-wrap .news_container,
.internal-page .right-wrap .newsbox { width: 100%; float: none; }

.internal-page .right-wrap .news_container {
    padding: 18px;
    border: 1px solid var(--home-line);
    border-radius: 11px;
    background: var(--home-white);
}

.internal-page .right-wrap .page_title {
    margin-bottom: 16px !important;
    font-family: 'Onest', sans-serif;
    font-size: 16px;
    letter-spacing: 0;
}

.internal-page .right-wrap .newsbox > .grid_out {
    margin: 0;
    padding: 0 0 22px;
    border-bottom: 1px solid var(--home-line);
    background: transparent;
}

.internal-page .right-wrap .newsbox + .newsbox { margin-top: 22px; }

.internal-page .right-wrap .newsbox .img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    margin: 0 0 13px;
    border-radius: 7px;
    background: var(--home-skywash);
}

.internal-page .right-wrap .newsbox .img img { display: block; }

.internal-page .right-wrap .newsbox .rev_date {
    margin: 0 0 11px;
    color: var(--home-ink-soft);
    font-size: 10px;
}

.internal-page .right-wrap .newsbox .name {
    height: auto;
    margin: 0 0 10px;
    overflow: visible;
    font-size: 17px;
    line-height: 1.22;
    overflow-wrap: anywhere;
}

.internal-page .right-wrap .newsbox .name a { color: var(--home-ink); }

.internal-page .right-wrap .newsbox .txt {
    height: auto;
    margin: 0 0 13px;
    overflow: visible;
    color: var(--home-ink-soft);
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.internal-page .right-wrap .newsbox .more {
    min-height: 32px;
    margin: 0;
    padding: 0;
    float: none;
    display: inline-flex;
    align-items: center;
    color: var(--home-lake-dark);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: underline;
    text-decoration-color: rgba(23, 107, 103, .35);
    text-underline-offset: 4px;
}

.internal-page .right-wrap .newsbox .more:hover {
    color: var(--home-signal);
    text-decoration-color: currentColor;
}

.internal-page .right-wrap .newsbox .more:focus-visible {
    outline: 3px solid rgba(23, 107, 103, .24);
    outline-offset: 3px;
}

.internal-page #modal1 .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--home-white);
    box-shadow: 0 18px 50px rgba(18, 43, 43, .18);
}

.internal-page #modal1 .modal-header {
    padding: 20px 22px;
    border-bottom: 1px solid var(--home-line);
}

.internal-page #modal1 .title-modal {
    padding-right: 34px;
    color: var(--home-ink);
    font-family: 'Unbounded', sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.35;
}

.internal-page #modal1 .modal-body { padding: 22px; }
.internal-page #modal1 textarea.form-control { min-height: 170px; resize: vertical; }
.internal-page #modal1 .btn { min-width: 150px; min-height: 44px; }
.internal-page #modal1 .close {
    width: 44px;
    height: 44px;
    margin: -10px -10px 0 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* News and editorial content */
.internal-page .news_cat {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.internal-page .news_cat .newsbox {
    width: auto;
    float: none;
}

.internal-page .news_cat .newsbox > .grid_out {
    height: 100%;
    margin: 0;
    padding: 0 0 16px;
    display: grid;
    grid-template-columns: 180px 1fr;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 11px;
    background: var(--home-white);
}

.internal-page .news_cat .img {
    width: 180px;
    height: 100%;
    min-height: 190px;
    margin: 0;
    grid-row: 1 / 5;
    overflow: hidden;
    background: var(--home-skywash);
}

.internal-page .news_cat .img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.internal-page .news_cat .rev_date { margin: 15px 16px 7px; }
.internal-page .news_cat .name {
    height: auto;
    margin: 0 16px 8px;
    color: var(--home-ink);
    font-size: 15px;
    line-height: 1.35;
}

.internal-page .news_cat a { text-decoration: none; }

.internal-page .news_cat .txt {
    height: 64px;
    margin: 0 16px;
    color: #627875;
    font-size: 11px;
    line-height: 1.5;
}

.internal-page .category_in_l {
    margin: 8px 16px 0;
    color: var(--home-signal);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.internal-page .news_item {
    max-width: 860px;
    margin-inline: auto;
}

.internal-page .news_item .newsbox,
.internal-page .news_item .newsbox > .grid_out { width: 100%; }

.internal-page .news_item .newsbox > .grid_out {
    margin: 0;
    padding: 30px;
    border: 1px solid var(--home-line);
    border-radius: 14px;
    background: var(--home-white);
}

.internal-page .news_item .img {
    width: min(330px, 45%);
    height: auto;
    aspect-ratio: 4 / 3;
    margin: 0 24px 16px 0;
    float: left;
    overflow: hidden;
    border-radius: 9px;
}

.internal-page .news_item .img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.internal-page .news_item .rev_date { padding: 0; margin: 0 0 10px; }
.internal-page .news_item .name {
    height: auto;
    margin: 0 0 12px;
    color: var(--home-ink);
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(25px, 3vw, 39px);
    line-height: 1.18;
    letter-spacing: -.045em;
}

.internal-page .news_item .txt {
    height: auto;
    margin: 20px 0 0;
    color: var(--home-ink-soft);
    font: 400 15px/1.75 'Onest', sans-serif;
}

.internal-page .news_item .txt p { margin: 0 0 16px; }
.internal-page .news_item .txt img { max-width: 100%; height: auto; border-radius: 8px; }
.internal-page .news_item .txt ul,
.internal-page .news_item .txt ol { margin: 14px 0; padding-left: 22px; }
.internal-page .news_item .txt li { margin-bottom: 7px; list-style: disc; }

.internal-page .news_container {
    margin: 0;
    background: transparent;
}

.internal-page .news_container .newsbox > .grid_out {
    margin: 0 0 14px;
    background: var(--home-white);
}

.internal-page .news_container .img img { width: 100%; height: 100%; object-fit: cover; }
.internal-page .news_container .views { display: none; }

.internal-page .allnews {
    float: none;
    width: 100%;
    margin-top: 10px;
    text-align: left;
    font-size: 11px;
    text-transform: none;
}

.internal-page .allnews::before { display: none; }
.internal-page .allnews a {
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--home-ink);
    border-radius: 99px;
    background: transparent;
    color: var(--home-ink);
    font-weight: 700;
    text-decoration: none;
}

/* Pagination */
.internal-page .city-directory {
    padding-top: 22px;
}

.internal-page .city-directory__header {
    height: auto !important;
    margin-bottom: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: end;
}

.internal-page .city-directory__header h1 {
    max-width: 820px;
    margin-bottom: 14px !important;
}

.internal-page .city-directory__header p {
    max-width: 72ch;
    margin: 0;
    color: var(--home-ink-soft);
    font-size: 15px;
}

.internal-page .city-directory__summary {
    margin: 0;
    display: flex;
    gap: 26px;
}

.internal-page .city-directory__summary div {
    min-width: 96px;
}

.internal-page .city-directory__summary dt {
    color: var(--home-lake-dark);
    font-family: 'Unbounded', sans-serif;
    font-size: 25px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.03em;
    line-height: 1;
}

.internal-page .city-directory__summary dd {
    margin: 7px 0 0;
    color: var(--home-ink-soft);
    font-size: 11px;
}

.internal-page .city-type-filter {
    width: 100%;
    margin: 0 0 24px;
    padding: 8px;
    float: none;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: var(--home-white);
    scrollbar-color: var(--home-line) transparent;
    scrollbar-width: thin;
}

.internal-page .city-type-filter a {
    min-height: 40px;
    padding: 0 13px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    color: var(--home-ink-soft);
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

.internal-page .city-type-filter a:hover {
    background: var(--home-paper);
    color: var(--home-lake-dark);
}

.internal-page .city-type-filter a[aria-current='page'] {
    background: var(--home-lake-dark);
    color: var(--home-white);
}

.internal-page .city-type-filter span {
    min-width: 23px;
    padding: 2px 6px;
    border-radius: 99px;
    background: var(--home-skywash);
    color: var(--home-lake-dark);
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.internal-page .city-type-filter a[aria-current='page'] span {
    background: rgba(255, 255, 255, .16);
    color: var(--home-white);
}

.internal-page .city-directory__body {
    width: 100%;
    clear: both;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 43%);
    gap: 24px;
    align-items: start;
}

.internal-page .city-results,
.internal-page .city-map-panel {
    min-width: 0;
}

.internal-page .city-results__heading,
.internal-page .city-map-panel__heading {
    margin: 0 0 14px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.internal-page .city-results__heading h2,
.internal-page .city-map-panel__heading h2 {
    margin: 0 !important;
    font-size: 20px;
}

.internal-page .city-results__heading span,
.internal-page .city-map-panel__heading p {
    margin: 0;
    color: var(--home-ink-soft);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.internal-page .city-institution-list {
    border: 1px solid var(--home-line);
    border-radius: 13px;
    background: var(--home-white);
}

.internal-page .city-institution {
    min-height: 150px;
    padding: 20px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px;
    gap: 22px;
    border-bottom: 1px solid var(--home-line);
}

.internal-page .city-institution:last-child {
    border-bottom: 0;
}

.internal-page .city-institution__type {
    display: block;
    margin-bottom: 7px;
    color: var(--home-lake);
    font-size: 10px;
    font-weight: 700;
}

.internal-page .city-institution h3 {
    margin: 0 0 9px;
    font-family: 'Onest', sans-serif;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.35;
}

.internal-page .city-institution h3 a {
    color: var(--home-ink);
    text-decoration: none;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.internal-page .city-institution h3 a:hover {
    color: var(--home-lake-dark);
    text-decoration: underline;
    text-decoration-color: rgba(23, 107, 103, .35);
}

.internal-page .city-institution address,
.internal-page .city-institution__schedule {
    margin: 0;
    color: var(--home-ink-soft);
    font-size: 12px;
    font-style: normal;
    line-height: 1.5;
}

.internal-page .city-institution__schedule {
    margin-top: 7px;
}

.internal-page .city-institution__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 9px;
}

.internal-page .city-institution__actions a,
.internal-page .city-institution__actions button {
    min-height: 42px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.internal-page .city-institution__phone {
    width: 100%;
    appearance: none;
    border: 1px solid var(--home-line);
    background: var(--home-white);
    color: var(--home-lake-dark);
    cursor: pointer;
    gap: 7px;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
}

.internal-page .city-institution__phone small {
    min-width: 24px;
    padding: 2px 6px;
    border-radius: 5px;
    background: var(--home-skywash);
    color: var(--home-ink-soft);
    font-size: 9px;
}

.internal-page .city-institution__phone:hover {
    border-color: var(--home-lake);
    background: var(--home-paper);
}

.internal-page .city-institution__details {
    background: var(--home-lake);
    color: var(--home-white);
}

.internal-page .city-institution__details:hover {
    background: var(--home-lake-dark);
    color: var(--home-white);
}

body.phone-dialog-open { overflow: hidden; }

.phone-dialog[hidden] { display: none !important; }

.phone-dialog {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 24px;
}

.phone-dialog__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 37, 44, .56);
    opacity: 0;
    transition: opacity .16s ease;
}

.phone-dialog__panel {
    position: relative;
    width: min(100%, 540px);
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    padding: 30px;
    border: 1px solid var(--home-line);
    border-radius: 15px;
    background: var(--home-white);
    box-shadow: 0 24px 70px rgba(15, 37, 44, .22);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .16s ease, transform .16s ease;
}

.phone-dialog.is-open .phone-dialog__backdrop,
.phone-dialog.is-open .phone-dialog__panel { opacity: 1; }
.phone-dialog.is-open .phone-dialog__panel { transform: translateY(0); }

.phone-dialog__panel h2 {
    margin: 0 52px 6px 0;
    color: var(--home-ink);
    font-size: 25px;
    line-height: 1.2;
}

.phone-dialog__close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--home-line);
    border-radius: 9px;
    background: var(--home-paper);
    color: var(--home-ink);
    cursor: pointer;
}

.phone-dialog__close:hover { border-color: var(--home-lake); }
.phone-dialog__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.phone-dialog__organization {
    margin: 0 52px 22px 0;
    color: var(--home-ink-soft);
    font-size: 13px;
    line-height: 1.5;
}

.phone-dialog__numbers { display: grid; gap: 10px; }

.phone-dialog__number {
    min-width: 0;
    padding: 12px 12px 12px 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--home-line);
    border-radius: 10px;
    background: var(--home-paper);
}

.phone-dialog__number span {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--home-ink);
    font-size: 17px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.phone-dialog__number a {
    min-height: 42px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--home-lake);
    color: var(--home-white);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.phone-dialog__number a:hover { background: var(--home-lake-dark); color: var(--home-white); }

.phone-dialog__feedback {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid var(--home-line);
}

.phone-dialog__feedback h3 { margin: 0 0 5px; color: var(--home-ink); font-size: 17px; }
.phone-dialog__feedback > p { margin: 0 0 14px; color: var(--home-ink-soft); font-size: 12px; line-height: 1.5; }
.phone-dialog__outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.phone-dialog__outcomes button {
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--home-line);
    border-radius: 8px;
    background: var(--home-white);
    color: var(--home-ink);
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
}

.phone-dialog__outcomes button:first-child { border-color: var(--home-lake); color: var(--home-lake-dark); }
.phone-dialog__outcomes button:hover { border-color: var(--home-lake); background: var(--home-skywash); }
.phone-dialog__outcomes button:disabled { cursor: wait; opacity: .55; }

.phone-dialog__status {
    min-height: 20px;
    margin: 14px 0 0;
    color: var(--home-ink-soft);
    font-size: 12px;
    line-height: 1.45;
}

.phone-dialog__status.is-success { color: var(--home-lake-dark); }
.phone-dialog__status.is-error { color: #a63b32; }

.phone-dialog button:focus-visible,
.phone-dialog a:focus-visible,
.internal-page .city-institution__phone:focus-visible {
    outline: 3px solid rgba(23, 107, 103, .28);
    outline-offset: 2px;
}

.internal-page .city-map-panel {
    position: sticky;
    top: 16px;
}

.internal-page .city-directory__map,
.internal-page .city-map-panel__empty {
    width: 100%;
    height: 560px;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 13px;
    background: var(--home-skywash);
}

.internal-page .city-map-panel__empty {
    height: auto;
    min-height: 220px;
    padding: 28px;
    display: grid;
    place-items: center;
    color: var(--home-ink-soft);
    text-align: center;
}

.internal-page .city-map-panel__hint {
    margin: 10px 0 0;
    color: var(--home-ink-soft);
    font-size: 10px;
}

.internal-page .region-directory-sections {
    display: grid;
    gap: 30px;
}

.internal-page .region-directory-sections__heading {
    margin-bottom: 12px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
}

.internal-page .region-directory-sections__heading h2 {
    margin: 0 !important;
    font-size: 20px;
}

.internal-page .region-directory-sections__heading span {
    color: var(--home-ink-soft);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

/* Region hub */
.internal-page .region-hub { display: grid; gap: 34px; }
.internal-page .type-directory { display: grid; gap: 34px; }
.internal-page .type-directory__hero { height: auto; min-height: 0; padding: 34px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; border: 1px solid var(--home-line); border-radius: 18px; background: linear-gradient(135deg, #fff 0%, var(--home-skywash) 100%); }
.internal-page .type-directory__eyebrow { display: block; margin-bottom: 10px; color: var(--home-lake); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.internal-page .type-directory__hero h1 { max-width: 760px; margin: 0 0 12px; overflow-wrap: normal; word-break: normal; hyphens: none; font-size: clamp(28px, 4vw, 46px); line-height: 1.08; }
.internal-page .type-directory__hero p { max-width: 720px; margin: 0; color: var(--home-ink-soft); }
.internal-page .type-directory__hero dl { margin: 0; display: flex; gap: 24px; }
.internal-page .type-directory__hero dt { color: var(--home-lake); font-size: 30px; font-weight: 700; }
.internal-page .type-directory__hero dd { margin: 4px 0 0; color: var(--home-ink-soft); font-size: 11px; }
.internal-page .type-directory__heading { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.internal-page .type-directory__heading h2, .internal-page .type-directory__map-panel h2 { margin: 0 !important; font-size: 24px; }
.internal-page .type-directory__heading span { color: var(--home-ink-soft); font-size: 11px; }
.internal-page .type-region-grid, .internal-page .type-city-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.internal-page .type-region-grid a, .internal-page .type-city-grid a { min-height: 70px; padding: 14px 16px; display: grid; align-content: center; border: 1px solid var(--home-line); border-radius: 10px; background: #fff; color: var(--home-ink); text-decoration: none; }
.internal-page .type-region-grid a { grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.internal-page .type-region-grid span, .internal-page .type-city-grid span { color: var(--home-lake); font-size: 11px; }
.internal-page .type-city-grid small { color: var(--home-ink-soft); }
.internal-page .type-directory__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); gap: 24px; align-items: start; }
.internal-page .type-organization-list { display: grid; gap: 10px; }
.internal-page .type-organization-list article { padding: 18px; border: 1px solid var(--home-line); border-radius: 12px; background: #fff; }
.internal-page .type-organization-list h3 { margin: 0 0 8px; font-size: 17px; }
.internal-page .type-organization-list address, .internal-page .type-organization-list p { margin: 0 0 8px; color: var(--home-ink-soft); font-style: normal; }
.internal-page .type-organization-list__details { display: inline-flex; min-height: 44px; align-items: center; font-weight: 650; }
.internal-page .type-directory__map-panel { position: sticky; top: 90px; padding: 18px; border: 1px solid var(--home-line); border-radius: 14px; background: #fff; }
.internal-page #type-directory-map { height: 520px; margin-top: 14px; border-radius: 10px; overflow: hidden; background: var(--home-skywash); }
.internal-page .region-hub__hero { height: auto; min-height: 0; padding: 34px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; border: 1px solid var(--home-line); border-radius: 18px; background: linear-gradient(135deg, #fff 0%, var(--home-skywash) 100%); }
.internal-page .region-hub__hero h1 { max-width: 760px; margin: 0 0 12px; overflow-wrap: normal; word-break: normal; hyphens: none; font-size: clamp(28px, 4vw, 46px); line-height: 1.08; }
.internal-page .region-hub__hero p:last-child { max-width: 720px; margin: 0; color: var(--home-ink-soft); }
.internal-page .region-hub__summary { margin: 0; display: flex; gap: 22px; }
.internal-page .region-hub__summary div { min-width: 90px; }
.internal-page .region-hub__summary dt { color: var(--home-lake); font-size: 30px; font-weight: 700; line-height: 1; }
.internal-page .region-hub__summary dd { margin: 7px 0 0; color: var(--home-ink-soft); font-size: 10px; }
.internal-page .region-hub__search { padding: 24px; border-radius: 14px; background: #0f504d; color: #fff; }
.internal-page .region-hub__search label { display: block; margin-bottom: 10px; color: #fff; font-weight: 650; }
.internal-page .region-hub__search > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.internal-page .region-hub__search input { min-width: 0; min-height: 48px; padding: 0 16px; border: 0; border-radius: 8px; }
.internal-page .region-hub__search button { min-height: 48px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: var(--home-signal); color: #fff; font-weight: 650; line-height: 1; appearance: none; cursor: pointer; }
.internal-page .region-hub__search p { margin: 8px 0 0; color: #cfe0dd; font-size: 10px; }
.internal-page .region-hub__section { min-width: 0; }
.internal-page .region-hub__heading { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.internal-page .region-hub__heading h2 { margin: 0 !important; font-size: 24px; }
.internal-page .region-hub__heading > span { color: var(--home-ink-soft); font-size: 11px; }
.internal-page .region-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--home-line); }
.internal-page .region-type-grid article { min-height: 116px; padding: 18px 22px 18px 0; display: flex; align-items: start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--home-line); }
.internal-page .region-type-grid article:nth-child(odd) { margin-right: 24px; }
.internal-page .region-type-grid article > strong { color: var(--home-lake); font-size: 22px; font-variant-numeric: tabular-nums; }
.internal-page .region-type-grid h3 { margin: 0 0 7px; font-size: 17px; }
.internal-page .region-type-grid p { margin: 0; color: var(--home-ink-soft); font-size: 11px; }
.internal-page .region-popular-cities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.internal-page .region-popular-cities a { min-height: 94px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--home-line); border-radius: 12px; background: #fff; color: var(--home-ink); text-decoration: none; }
.internal-page .region-popular-cities a:hover { border-color: var(--home-lake); transform: translateY(-1px); }
.internal-page .region-popular-cities span { color: var(--home-ink-soft); font-size: 10px; }
.internal-page .region-alphabet { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.internal-page .region-alphabet button { min-width: 44px; min-height: 44px; border: 1px solid var(--home-line); border-radius: 7px; background: #fff; color: var(--home-ink); cursor: pointer; }
.internal-page .region-alphabet button.is-active, .internal-page .region-alphabet button:hover { border-color: var(--home-lake); background: var(--home-lake); color: #fff; }
.internal-page .region-city-list, .internal-page .region-district-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 18px; list-style: none; }
.internal-page .region-city-list a, .internal-page .region-district-list a { min-height: 44px; padding: 9px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--home-line); color: var(--home-ink); text-decoration: none; }
.internal-page .region-city-list a:hover, .internal-page .region-district-list a:hover { color: var(--home-lake); }
.internal-page .region-city-list small, .internal-page .region-district-list small { color: var(--home-ink-soft); white-space: nowrap; }
.internal-page .region-hub__map { height: 470px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 14px; background: var(--home-skywash); }
.internal-page .region-hub__map-empty { min-height: 220px; padding: 30px; display: grid; place-items: center; border-radius: 14px; background: var(--home-skywash); color: var(--home-ink-soft); text-align: center; }

@media (max-width: 980px) {
    .internal-page .region-hub__hero { grid-template-columns: 1fr; }
    .internal-page .region-popular-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .internal-page .region-city-list, .internal-page .region-district-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .internal-page .region-hub { gap: 18px; }
    .internal-page .region-hub__hero { padding: 22px; gap: 24px; }
    .internal-page .region-hub__summary { width: 100%; gap: 10px; }
    .internal-page .region-hub__summary div { min-width: 0; flex: 1; }
    .internal-page .region-hub__summary dt { font-size: 24px; }
    .internal-page .region-hub__search > div { grid-template-columns: 1fr; }
    .internal-page .region-hub__search button { width: 100%; }
    .internal-page .region-type-grid, .internal-page .region-popular-cities, .internal-page .region-city-list, .internal-page .region-district-list { grid-template-columns: 1fr; }
    .internal-page .region-type-grid article { min-height: 0; padding-right: 0; }
    .internal-page .region-type-grid article:nth-child(odd) { margin-right: 0; }
    .internal-page .region-hub__map { height: 340px; }
}

.internal-page .pagination {
    grid-column: 1 / -1;
    margin: 20px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.internal-page .pagination > li > a,
.internal-page .pagination > li > span,
.internal-page .pagination a,
.internal-page .pagination span {
    min-width: 36px;
    min-height: 36px;
    margin: 0;
    padding: 8px 10px;
    display: grid;
    place-items: center;
    border: 1px solid var(--home-line);
    border-radius: 7px;
    background: var(--home-white);
    color: var(--home-ink-soft);
    text-decoration: none;
}

.internal-page .pagination .active a,
.internal-page .pagination .active span,
.internal-page .pagination a:hover {
    border-color: var(--home-lake);
    background: var(--home-lake);
    color: var(--home-white);
}

/* Admin edit layout */
.internal-page .phone-quality { display: grid; gap: 24px; }
.internal-page .phone-quality__header { display: flex; justify-content: space-between; gap: 28px; align-items: end; }
.internal-page .phone-quality__header h1 { margin: 3px 0 8px; }
.internal-page .phone-quality__header p { max-width: 720px; margin: 0; color: var(--home-ink-soft); }
.internal-page .phone-quality__eyebrow { color: var(--home-lake) !important; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.internal-page .phone-quality__periods { display: flex; gap: 6px; padding: 5px; border: 1px solid var(--home-line); border-radius: 10px; background: var(--home-white); }
.internal-page .phone-quality__periods a { min-height: 38px; padding: 9px 13px; border-radius: 7px; color: var(--home-ink-soft); text-decoration: none; white-space: nowrap; }
.internal-page .phone-quality__periods a.is-active { background: var(--home-lake); color: var(--home-white); }
.internal-page .phone-quality__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.internal-page .phone-quality__metrics article { padding: 18px; border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-white); }
.internal-page .phone-quality__metrics article.is-warning { border-color: #e9b9a9; background: #fff7f3; }
.internal-page .phone-quality__metrics span { display: block; margin-bottom: 7px; color: var(--home-ink-soft); font-size: 12px; }
.internal-page .phone-quality__metrics strong { color: var(--home-ink); font-family: 'Unbounded', sans-serif; font-size: 25px; font-weight: 600; }
.internal-page .phone-quality__distribution,
.internal-page .phone-quality__queue { padding: 22px; border: 1px solid var(--home-line); border-radius: 14px; background: var(--home-white); }
.internal-page .phone-quality__distribution h2,
.internal-page .phone-quality__queue h2 { margin: 0 0 14px; font-size: 20px; }
.internal-page .phone-quality__distribution > div { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.internal-page .phone-quality__distribution span { display: flex; gap: 8px; align-items: center; color: var(--home-ink-soft); }
.internal-page .phone-quality__distribution strong { color: var(--home-ink); }
.internal-page .phone-quality__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--home-lake); }
.internal-page .phone-quality__dot--unavailable,
.internal-page .phone-quality__dot--wrong_number { background: var(--home-signal); }
.internal-page .phone-quality__section-heading p { margin: -8px 0 18px; color: var(--home-ink-soft); font-size: 13px; }
.internal-page .phone-quality__table-wrap { overflow-x: auto; }
.internal-page .phone-quality__table { width: 100%; min-width: 980px; border-collapse: collapse; }
.internal-page .phone-quality__table th { padding: 11px 10px; border-bottom: 1px solid var(--home-line); color: var(--home-ink-soft); font-size: 11px; font-weight: 700; text-align: left; }
.internal-page .phone-quality__table td { padding: 13px 10px; border-bottom: 1px solid var(--home-line); vertical-align: top; font-variant-numeric: tabular-nums; }
.internal-page .phone-quality__table tr.needs-review td { background: #fffaf7; }
.internal-page .phone-quality__table td:first-child { max-width: 290px; }
.internal-page .phone-quality__table td:first-child a { display: block; color: var(--home-ink); font-weight: 700; }
.internal-page .phone-quality__table td span,
.internal-page .phone-quality__table td small { display: block; margin-top: 4px; color: var(--home-ink-soft); font-size: 11px; }
.internal-page .phone-quality__badge { display: inline-block; padding: 5px 8px; border-radius: 999px; background: var(--home-skywash); color: var(--home-lake-dark); font-size: 10px; text-transform: uppercase; }
.internal-page .phone-quality__badge--warning { background: #fde3d9; color: #9a371f; }
.internal-page .phone-quality__empty { padding: 34px; border: 1px dashed var(--home-line); border-radius: 10px; color: var(--home-ink-soft); text-align: center; }

.internal-page .news-update {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 24px;
    align-items: start;
}

.internal-page .news-update > h1 { grid-column: 1 / -1; }
.internal-page .update_map { position: sticky; top: 16px; }
.internal-page .update_map #map { height: 520px; }

@media (max-width: 1020px) {
    .internal-page .home-nav { display: none; }
    .internal-page .wrapper:has(> .content-wrap) { grid-template-columns: 1fr; }
    .internal-page .right-wrap { display: none; }
    .internal-page .relatedwrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .internal-page .news_cat { grid-template-columns: 1fr; }
    .internal-page .news-update { grid-template-columns: 1fr; }
    .internal-page .news-update > h1 { grid-column: auto; }
    .internal-page .update_map { position: static; }
    .internal-page .city-directory__header { grid-template-columns: 1fr; gap: 20px; }
    .internal-page .city-directory__body { grid-template-columns: 1fr; }
    .internal-page .city-map-panel { position: static; }
    .internal-page .city-directory__map { height: 430px; }
}

@media (max-width: 760px) {
    .internal-page { font-size: 16px; line-height: 1.5; }
    .internal-page .wrapper:has(> .content-wrap) { gap: 16px; }
    .internal-page .wrapper:has(> .content-wrap) > .breadcrumbs1,
    .internal-page .wrapper:has(> .content-wrap) > .breadcrumbs,
    .internal-page .region-hub > .breadcrumbs1 { margin-bottom: 0; }
    .internal-page .type-directory { gap: 26px; }
    .internal-page .type-directory__hero, .internal-page .type-directory__body { grid-template-columns: 1fr; }
    .internal-page .type-directory__hero { padding: 22px; gap: 20px; }
    .internal-page .type-directory__hero h1,
    .internal-page .region-hub__hero h1 { font-size: clamp(22px, 6.8vw, 30px); line-height: 1.12; }
    .internal-page .type-directory__hero p,
    .internal-page .region-hub__hero p:last-child { font-size: 16px; }
    .internal-page .type-directory__hero dd,
    .internal-page .type-directory__heading span,
    .internal-page .region-hub__summary dd,
    .internal-page .region-hub__heading > span,
    .internal-page .region-type-grid p,
    .internal-page .region-popular-cities span { font-size: 12px; line-height: 1.45; }
    .internal-page .type-directory__eyebrow,
    .internal-page .breadcrumb,
    .internal-page .region-hub__search p { font-size: 12px; line-height: 1.45; }
    .internal-page .region-hub__search label,
    .internal-page .region-hub__search input,
    .internal-page .region-hub__search button { font-size: 16px; }
    .internal-page .type-region-grid, .internal-page .type-city-grid { grid-template-columns: 1fr; }
    .internal-page .type-directory__map-panel { position: static; }
    .internal-page #type-directory-map { height: 340px; }
    .internal-page .wrapper,
    .internal-page .news-form,
    .internal-page .update_form,
    .internal-page .site-login,
    .internal-page .site-signup,
    .internal-page .site-contact,
    .internal-page .site-about,
    .internal-page .site-error { width: calc(100% - 32px); }

    .internal-main { padding-bottom: 44px; }
    .internal-page .wrapper.mainw { padding-top: 16px; }
    .internal-page .home-header__inner { width: calc(100% - 32px); }
    .internal-page h1,
    .internal-page .page_title,
    .internal-page .gosuch_wrap_title { font-size: 30px; }

    .internal-page .notmap_wrapper:has(> .notmap_grid),
    .internal-page .notmap_wrapper:has(> .gosuch_wrap) { grid-template-columns: 1fr; }
    .internal-page .notmap_grid,
    .internal-page .gosuch_list,
    .internal-page .gosuch_wrap { grid-column: 1; grid-row: auto; }
    .internal-page .notmap_wrapper:has(> .gosuch_wrap) > .gosuch_wrap,
    .internal-page .notmap_wrapper:has(> .gosuch_wrap) > .notmap_grid {
        grid-column: 1;
        grid-row: auto;
    }
    .internal-page .notmap_wrapper:has(> .gosuch_wrap) > .gosuch_wrap { order: 1; }
    .internal-page .notmap_wrapper:has(> .gosuch_wrap) > .notmap_grid { order: 2; }
    .internal-page .notmap_grid { order: 2; }
    .internal-page #map,
    .internal-page .notmap { height: 340px; }
    .internal-page .map_scroll,
    .internal-page .map_scroll.fixed_scroll { position: static !important; }

    .internal-page .search_gosuch form { grid-template-columns: 1fr; }
    .internal-page .list-region,
    .internal-page .list-palata { column-count: 2; }
    .internal-page .home-sidebar { grid-template-columns: 1fr; }
    .internal-page .news_item .img { width: 100%; margin: 0 0 18px; float: none; }
    .internal-page .not_contact_middle { grid-template-columns: 1fr; }
    .internal-page .not_contact.w100 { grid-column: auto; }
    .internal-page .reviewbox { width: 100%; float: none; }
    .internal-page .reviews_form { padding: 20px; }
    .internal-page .reviews_form .organization-review-form { grid-template-columns: 1fr; gap: 16px; }
    .internal-page .reviews_form .field-otz-name,
    .internal-page .reviews_form .field-otz-email,
    .internal-page .reviews_form .field-otz-text,
    .internal-page .reviews_form .field-otz-rating,
    .internal-page .reviews_form .field-otz-recaptcha,
    .internal-page .reviews_form .organization-review-form > .form-group:last-child {
        grid-column: 1;
    }
    .internal-page .reviews_form .field-otz-rating { min-height: 0; }
    .internal-page .reviews_form .organization-review-form > .form-group:last-child { align-self: auto; }
    .internal-page .home-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px; }
    .internal-page .home-footer__legal { grid-column: 1 / -1; }
    .internal-page .support-page__grid { grid-template-columns: 1fr; }
    .internal-page .phone-quality__header { align-items: stretch; flex-direction: column; }
    .internal-page .phone-quality__periods { align-self: flex-start; }
    .internal-page .phone-quality__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .internal-page .city-directory__summary { gap: 18px; }
    .internal-page .city-institution { grid-template-columns: 1fr; min-height: 0; }
    .internal-page .city-institution__actions { flex-direction: row; }
    .internal-page .city-institution__actions a,
    .internal-page .city-institution__actions button { flex: 1 1 0; }
}

@media (max-width: 520px) {
    .internal-page .home-header__search { min-height: 38px; padding: 0 12px; gap: 0; font-size: 0; }
    .internal-page .home-header__search span { font-size: 0; }
    .internal-page .list-region,
    .internal-page .list-palata { column-count: 1; padding: 18px; }
    .internal-page .news_cat .newsbox > .grid_out { grid-template-columns: 110px 1fr; }
    .internal-page .news_cat .img { width: 110px; min-height: 170px; }
    .internal-page .relatedwrap { grid-template-columns: 1fr; }
    .internal-page .news_item .newsbox > .grid_out,
    .internal-page .gosuch_wrap > .grid_out,
    .internal-page .gosuch_list > .grid_out,
    .internal-page .news-form,
    .internal-page .site-login,
    .internal-page .site-error { padding: 20px; }
    .internal-page .reviews_form { padding: 18px; }
    .internal-page .reviews_form .sn_title span { font-size: 16px; }
    .internal-page .reviews_form textarea.form-control { min-height: 132px; }
    .internal-page #error_s_a { width: 100%; justify-content: center; }
    .internal-page .organization-share { padding: 12px; }
    .internal-page #modal1 .modal-header,
    .internal-page #modal1 .modal-body { padding: 18px; }
    .internal-page #modal1 .title-modal { font-size: 16px; }
    .internal-page .home-footer__grid { grid-template-columns: 1fr; }
    .internal-page .home-footer__legal { grid-column: auto; }
    .internal-page .city-directory__header p { font-size: 14px; }
    .internal-page .city-directory__summary { width: 100%; }
    .internal-page .city-directory__summary div { min-width: 0; flex: 1 1 0; }
    .internal-page .city-institution { padding: 17px; }
    .internal-page .city-institution__actions { flex-direction: column; }
    .internal-page .city-directory__map { height: 340px; }
    .internal-page .phone-quality__metrics { grid-template-columns: 1fr; }
    .internal-page .phone-quality__distribution,
    .internal-page .phone-quality__queue { padding: 18px; }
    .internal-page .city-results__heading,
    .internal-page .city-map-panel__heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .phone-dialog { align-items: end; padding: 0; }
    .phone-dialog__panel {
        width: 100%;
        max-height: 92dvh;
        padding: 24px 18px calc(20px + env(safe-area-inset-bottom));
        border-width: 1px 0 0;
        border-radius: 15px 15px 0 0;
        transform: translateY(20px);
    }
    .phone-dialog__panel h2 { font-size: 22px; }
    .phone-dialog__organization { margin-bottom: 18px; }
    .phone-dialog__number { grid-template-columns: 1fr; gap: 9px; }
    .phone-dialog__number a { width: 100%; }
    .phone-dialog__outcomes { grid-template-columns: 1fr; }
}

@media (max-width: 340px) {
    .internal-page .reviews_form .field-otz-recaptcha > div:not(.help-block) {
        width: 304px;
        transform: scale(.78);
        transform-origin: left top;
    }

    .internal-page .reviews_form .field-otz-recaptcha {
        min-height: 70px;
        overflow: hidden;
    }
}

@media (prefers-reduced-motion: reduce) {
    .internal-page *,
    .internal-page *::before,
    .internal-page *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Articles and instructions */
.internal-page .article-directory,
.internal-page .article-page { padding-bottom: 48px; }
.article-directory__hero,
.article-page__header { max-width: 850px; padding: 32px; margin-bottom: 24px; border: 1px solid var(--line, #c7d8d4); border-radius: 14px; background: #fff; }
.article-directory__hero > span,
.article-page__eyebrow { color: #176b67; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.article-directory__hero h1,
.article-page__header h1 { margin: 10px 0 12px; font-family: Unbounded, sans-serif; font-size: clamp(28px, 4vw, 46px); line-height: 1.08; }
.article-directory__hero p,
.article-page__lead { max-width: 720px; margin: 0; color: #3b5856; font-size: 18px; line-height: 1.55; }
.article-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.article-categories a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border: 1px solid #c7d8d4; border-radius: 9px; background: #fff; color: #176b67; font-weight: 600; }
.article-categories a.is-active { border-color: #176b67; background: #176b67; color: #fff; }
.article-categories small { margin-left: 7px; opacity: .72; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.article-card { display: flex; min-width: 0; flex-direction: column; padding: 22px; border: 1px solid #c7d8d4; border-radius: 12px; background: #fff; }
.article-card__meta { display: flex; flex-wrap: wrap; gap: 6px; color: #3b5856; font-size: 12px; }
.article-card__meta span + span::before { content: '•'; margin-right: 6px; }
.article-card h2 { margin: 13px 0 9px; font-size: 20px; line-height: 1.25; }
.article-card h2 a { color: #122b2b; }
.article-card p { flex: 1; color: #3b5856; line-height: 1.55; }
.article-card footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 18px; font-size: 12px; }
.article-card footer a { color: #176b67; font-size: 14px; font-weight: 700; }
.article-page > article { max-width: 850px; }
.article-page__dates { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 20px; color: #3b5856; font-size: 13px; }
.article-page__body,
.article-sources,
.article-next-step { padding: 28px 32px; border: 1px solid #c7d8d4; border-radius: 12px; background: #fff; }
.article-page__body { font-size: 17px; line-height: 1.72; }
.article-page__body h2 { margin: 32px 0 12px; font-family: Unbounded, sans-serif; font-size: 23px; }
.article-sources,
.article-next-step { margin-top: 16px; }
.article-sources h2,
.article-next-step h2 { margin-top: 0; font-size: 22px; }
.article-sources li { margin: 10px 0; }
.article-sources small { color: #3b5856; }
.article-next-step div { display: flex; flex-wrap: wrap; gap: 8px; }
.article-next-step a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border-radius: 9px; background: #176b67; color: #fff; font-weight: 700; }
.organization-articles { padding: 20px; border: 1px solid #c7d8d4; border-radius: 12px; background: #fff; }
.organization-articles__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.organization-articles__heading h2 { margin: 0; font-size: 20px; }
.organization-articles__list article { padding: 15px 0; border-top: 1px solid #dce8e5; }
.organization-articles__list h3 { margin: 0 0 6px; font-size: 16px; }
.organization-articles__list p { margin: 0 0 8px; color: #3b5856; }
.organization-articles__list time { color: #58716f; font-size: 12px; }
@media (max-width: 1020px) { .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
    .article-grid { grid-template-columns: 1fr; }
    .article-directory__hero, .article-page__header, .article-page__body, .article-sources, .article-next-step { padding: 20px; }
    .article-card footer { align-items: flex-start; flex-direction: column; }
}

/* Organization page: wide, task-first layout */
.internal-page .organization-page.wrapper {
    width: min(1440px, calc(100% - 64px));
}

.internal-page .organization-page:has(> .content-wrap) {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
}

.internal-page .organization-page > .content-wrap,
.internal-page .organization-page > .right-wrap {
    grid-column: 1;
}

.internal-page .organization-page .notmap_wrapper:has(> .gosuch_wrap) {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 28px;
}

.internal-page .organization-page .gosuch_wrap > .grid_out {
    padding: clamp(24px, 3vw, 42px);
    border-radius: 16px;
}

.internal-page .organization-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.internal-page .organization-page .gosuch_wrap_title {
    max-width: 22ch;
    margin: 0 0 14px;
    font-size: clamp(30px, 3.2vw, 48px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.internal-page .organization-page .gosuch_wrap_shortdesc {
    max-width: 72ch;
    margin: 0 0 22px;
    color: var(--home-ink-soft);
    font-size: 15px;
    line-height: 1.55;
}

.internal-page .organization-page .organization-status {
    flex: 0 0 auto;
    margin: 2px 0 0;
    white-space: nowrap;
}

.internal-page .organization-page .organization-actions {
    margin-bottom: 28px;
}

.internal-page .organization-page .organization-action {
    padding-inline: 17px;
    font-size: 14px;
}

.internal-page .organization-page .not_contact_middle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    float: none;
    border-top: 1px solid var(--home-line);
}

.internal-page .organization-page .not_contact {
    min-width: 0;
    padding: 18px 18px 18px 0;
    border: 0;
    border-bottom: 1px solid var(--home-line);
    border-radius: 0;
    background: transparent;
    font-size: 14px;
    line-height: 1.55;
}

.internal-page .organization-page .not_contact:nth-child(even):not(.w100) {
    padding-inline: 18px 0;
}

.internal-page .organization-page .not_contact.w100 {
    padding-right: 0;
}

.internal-page .organization-page .not_contact_name,
.internal-page .organization-page .organization-share__label {
    margin-bottom: 7px;
    color: #58716f;
    font-size: 11px;
    letter-spacing: .055em;
}

.internal-page .organization-page .organization-phone-summary {
    min-height: 40px;
    padding: 7px 11px;
    background: var(--home-paper);
    font-size: 13px;
}

.internal-page .organization-page #error_s_a {
    margin-top: 22px;
}

.internal-page .organization-page .notmap_grid {
    position: sticky;
    top: 18px;
}

.internal-page .organization-page #map {
    height: min(58vh, 620px);
    min-height: 500px;
    border-radius: 16px;
}

.internal-page .organization-page .organization-map-empty {
    min-height: 500px;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    border: 1px dashed var(--home-line);
    border-radius: 16px;
    background: var(--home-skywash);
    color: var(--home-ink-soft);
    text-align: center;
}
.internal-page .organization-page .organization-map-empty strong { color: var(--home-ink); font-size: 18px; }

.internal-page .organization-page .organization-share {
    margin-top: 14px;
    padding: 13px 16px;
    grid-template-columns: auto 1fr;
    align-items: center;
    border-radius: 12px;
}

.internal-page .organization-page .organization-share__label { margin: 0; }

.internal-page .organization-page .relatedwrap,
.internal-page .organization-page .reviews_container,
.internal-page .organization-page .reviews_form,
.internal-page .organization-page > .right-wrap {
    margin-top: 48px;
}

.internal-page .organization-page .organization-section-heading {
    grid-column: 1 / -1;
    margin-bottom: 6px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}

.internal-page .organization-page .organization-section-heading .related_title {
    margin: 0;
    font-size: clamp(22px, 2.4vw, 30px);
}

.internal-page .organization-page .organization-section-heading p {
    margin: 0;
    color: var(--home-ink-soft);
    font-size: 13px;
}

.internal-page .organization-page .relatedwrap {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.internal-page .organization-page .relatedbox,
.internal-page .organization-page .relatedbox.first,
.internal-page .organization-page .relatedbox.third {
    min-height: 150px;
    padding: 20px;
    border-radius: 12px;
    font-size: 13px;
}

.internal-page .organization-page .related_name a {
    font-size: 15px;
    line-height: 1.4;
}

.internal-page .organization-page .relatedbox address {
    margin-top: 10px;
    color: var(--home-ink-soft);
    font-style: normal;
    line-height: 1.55;
}

.internal-page .organization-page .organization-reviews-empty {
    padding: 24px;
    border: 1px dashed var(--home-line);
    border-radius: 12px;
    color: var(--home-ink-soft);
    font-size: 14px;
}

.internal-page .organization-page .reviews_form {
    border-radius: 16px;
}

.internal-page .organization-page .reviews_form .organization-review-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.internal-page .organization-page .reviews_form .field-otz-name { grid-column: 1; }
.internal-page .organization-page .reviews_form .field-otz-email { grid-column: 2; }
.internal-page .organization-page .reviews_form .field-otz-text,
.internal-page .organization-page .reviews_form .field-otz-rating { grid-column: 1 / -1; }
.internal-page .organization-page .reviews_form .field-otz-rating { min-height: 0; }
.internal-page .organization-page .reviews_form .field-otz-recaptcha { grid-column: 1; }
.internal-page .organization-page .reviews_form .organization-review-form > .form-group:last-child {
    grid-column: 2;
    align-self: end;
}
.internal-page .organization-page .reviews_form .hint-block {
    margin-top: 6px;
    color: var(--home-ink-soft);
    font-size: 12px;
    line-height: 1.45;
}

.internal-page .organization-page > .right-wrap .organization-articles {
    border-radius: 16px;
}

@media (max-width: 1120px) {
    .internal-page .organization-page .notmap_wrapper:has(> .gosuch_wrap) {
        grid-template-columns: minmax(360px, .92fr) minmax(440px, 1.08fr);
        gap: 20px;
    }
    .internal-page .organization-page .relatedwrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    .internal-page .organization-page.wrapper { width: calc(100% - 40px); }
    .internal-page .organization-page .notmap_wrapper:has(> .gosuch_wrap) { grid-template-columns: 1fr; }
    .internal-page .organization-page .notmap_wrapper:has(> .gosuch_wrap) > .gosuch_wrap,
    .internal-page .organization-page .notmap_wrapper:has(> .gosuch_wrap) > .notmap_grid {
        grid-column: 1;
        grid-row: auto;
    }
    .internal-page .organization-page .notmap_grid { position: static; }
    .internal-page .organization-page #map { min-height: 400px; height: 52vh; }
    .internal-page .organization-page > .right-wrap { display: block; }
}

@media (max-width: 560px) {
    .internal-page .organization-page.wrapper { width: calc(100% - 24px); }
    .internal-page .organization-page .gosuch_wrap > .grid_out { padding: 22px 18px; }
    .internal-page .organization-heading { display: block; }
    .internal-page .organization-page .gosuch_wrap_title { font-size: clamp(27px, 8.5vw, 36px); }
    .internal-page .organization-page .organization-status { margin: 0 0 14px; white-space: normal; }
    .internal-page .organization-page .organization-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .internal-page .organization-page .organization-action { width: 100%; }
    .internal-page .organization-page .organization-action--booking:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .internal-page .organization-page .not_contact_middle { grid-template-columns: 1fr; }
    .internal-page .organization-page .not_contact,
    .internal-page .organization-page .not_contact:nth-child(even):not(.w100) { padding: 16px 0; }
    .internal-page .organization-page .not_contact { font-size: 15px; }
    .internal-page .organization-page #map { min-height: 330px; height: 44vh; }
    .internal-page .organization-page .organization-share { grid-template-columns: 1fr; }
    .internal-page .organization-page .organization-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .internal-page .organization-page .relatedwrap { grid-template-columns: 1fr; }
    .internal-page .organization-page .reviews_form .organization-review-form { grid-template-columns: 1fr; }
    .internal-page .organization-page .reviews_form .field-otz-name,
    .internal-page .organization-page .reviews_form .field-otz-email,
    .internal-page .organization-page .reviews_form .field-otz-text,
    .internal-page .organization-page .reviews_form .field-otz-rating,
    .internal-page .organization-page .reviews_form .field-otz-recaptcha,
    .internal-page .organization-page .reviews_form .organization-review-form > .form-group:last-child { grid-column: 1; }
}
