/* Shared, readable surfaces: light background always paired with dark copy. */
.gro-modern :is(.seo-service__start,.seo-service__summary,.city-landing__aside) { color:var(--gro-navy); }
.gro-modern :is(.seo-service__start-copy p,.seo-service__start-steps span,.seo-service__summary p,.city-landing__aside p,.city-landing__aside li) { color:var(--gro-muted); }
.gro-modern :is(.seo-service__start-copy h2,.seo-service__start-steps strong,.seo-service__summary h2,.city-landing__aside h2) { color:var(--gro-navy); }
.gro-modern :is(.seo-service__start-copy>span,.seo-service__start-phone,.seo-service__summary a:not(.btn),.city-landing__aside a:not(.btn)) { color:var(--gro-blue); }
.gro-modern .seo-service__start-steps li { background:#fff; border:1px solid var(--gro-line); border-radius:16px; padding-block:20px; }
.gro-modern .seo-service__start { padding:clamp(22px,3vw,38px); border:1px solid var(--gro-line); gap:30px; }
.gro-modern :is(.seo-service__section,.faq-group) { border-radius:22px; }
.gro-modern .seo-service__start-phone { white-space:nowrap; }
.gro-modern .faq-list { display:grid; gap:12px; max-width:none; }
.gro-modern .faq-item { margin:0; border:1px solid var(--gro-line); border-radius:16px; background:#fff; box-shadow:none; overflow:hidden; }
.gro-modern .faq-question { display:block; position:relative; margin:0; padding:22px 56px 22px 24px; min-height:66px; color:var(--gro-navy); font-size:1rem; line-height:1.5; font-weight:600; border:0; background:transparent; }
.gro-modern .faq-question::after { position:absolute; display:grid; place-items:center; width:24px; height:24px; margin:0; right:22px; top:22px; color:var(--gro-blue); }
.gro-modern .faq-item[open] .faq-question { background:#f5f9fd; }
.gro-modern .faq-answer { padding:4px 24px 24px; border:0; color:var(--gro-muted); background:#fff; }
.gro-modern .faq-answer p { margin:12px 0 0; line-height:1.65; color:var(--gro-muted); font-size:1rem; }
.gro-modern .faq-question:focus-visible { outline:2px solid var(--gro-blue); outline-offset:-5px; border-radius:16px; }
.gro-modern .faq-group { padding:28px; background:var(--gro-pale); margin-bottom:24px; }
.gro-modern .home-resources { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.gro-modern .home-resources .faq { border-radius:24px; }
.catalog-faq { margin-top:48px; padding:32px; background:var(--gro-pale); border:1px solid var(--gro-line); border-radius:24px; }
.catalog-faq h2 { margin-bottom:24px; }
.catalog-card { position:relative; }
.catalog-card a::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.catalog-card:focus-within { outline:2px solid var(--gro-blue); outline-offset:3px; }
.catalog-icon { width:36px; height:36px; flex-shrink:0; }
.contact-clouds { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:24px; margin-top:36px; }
.contact-cloud { padding:32px; border-radius:24px; border:1px solid var(--gro-line); background:#fff; min-width:0; }
.contact-cloud--links { background:var(--gro-pale); }
.gro-modern .contact-cloud h2 { margin:0 0 24px; color:var(--gro-navy); }
.contact-direct { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid #ccdce9; text-decoration:none; color:var(--gro-navy); }
.contact-direct>i { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:14px; background:#fff; color:var(--gro-blue); font-size:1.2rem; }
.contact-direct small { display:block; font-size:.875rem; color:var(--gro-muted); margin-bottom:4px; }
.contact-direct strong { font-size:clamp(1rem,1.8vw,1.3rem); white-space:nowrap; }
.contact-direct:hover strong { color:var(--gro-blue); text-decoration:underline; }
.contact-fact { margin:24px 0; }
.gro-modern .contact-fact h3 { font-size:1rem; margin:0 0 8px; }
.contact-fact p { font-size:1rem; color:var(--gro-muted); margin:0 0 8px; }
.requisites-table-wrap { overflow:hidden; border:1px solid var(--gro-line); border-radius:16px; background:#fff; }
.requisites-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:1rem; color:var(--gro-navy); }
.requisites-table th,.requisites-table td { padding:17px 20px; border-bottom:1px solid var(--gro-line); text-align:left; vertical-align:top; overflow-wrap:anywhere; line-height:1.5; }
.requisites-table th { width:36%; font-size:.875rem; font-weight:500; color:var(--gro-muted); background:#f6f9fc; }
.requisites-table tr:last-child>* { border-bottom:0; }
.requisites-table small { display:block; margin-top:4px; font-size:.875rem; color:var(--gro-muted); }
.contact-inline-request { margin-top:28px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; scroll-margin-top:100px; }
.contact-inline-request>div>p { color:var(--gro-muted); }
.contact-inline-request>div>a { color:var(--gro-blue); white-space:nowrap; font-weight:600; }
.request-overlay[hidden] { display:none; }
.request-overlay { position:fixed; inset:0; z-index:20000; display:flex; align-items:center; justify-content:center; background:rgba(9,30,52,.62); padding:20px; overflow:auto; overscroll-behavior:contain; }
.request-dialog { position:relative; width:100%; max-width:540px; max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; border-radius:24px; border:1px solid var(--gro-line); background:#fff; padding:32px; color:var(--gro-navy); box-shadow:0 24px 80px #102c4b40; }
.gro-modern .request-dialog h2 { font-size:1.8rem; padding-right:28px; margin:0 0 10px; line-height:1.2; }
.request-dialog>p:not(.section-eyebrow) { color:var(--gro-muted); font-size:1rem; margin:0 0 24px; }
.request-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--gro-line); border-radius:50%; background:#f3f7fb; color:var(--gro-navy); font-size:1.8rem; cursor:pointer; }
body.request-is-open { overflow:hidden; }
.request-form { display:grid; gap:16px; min-width:0; }
.request-form__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.request-field { display:grid; gap:7px; min-width:0; }
.request-field label { color:var(--gro-navy); font-size:.875rem; font-weight:600; }
.request-field input,.request-field textarea,.request-field select { box-sizing:border-box; width:100%; min-width:0; min-height:46px; border:1px solid #9aafc4; border-radius:10px; background:#fff; color:var(--gro-navy); padding:11px 12px; font:400 1rem/1.45 'Inter',sans-serif; }
.request-field textarea { resize:vertical; }
.request-field :is(input,textarea,select):focus-visible { outline:2px solid var(--gro-blue); outline-offset:2px; }
.request-field :is(input,textarea)::placeholder { color:#61738a; opacity:1; }
.request-details summary { cursor:pointer; color:var(--gro-blue); font-size:.875rem; padding:4px 0; }
.request-details[open] summary { margin-bottom:12px; }
.request-optional { color:var(--gro-muted); font-weight:400; }
.request-consent { display:flex; align-items:flex-start; gap:10px; font-size:.875rem; line-height:1.5; color:var(--gro-muted); cursor:pointer; }
.request-consent input { width:20px; height:20px; flex:0 0 20px; margin:1px 0 0; accent-color:var(--gro-blue); }
.request-consent a { color:var(--gro-blue); text-decoration:underline; }
.request-form .request-error { color:#a12527; font-size:.875rem; line-height:1.45; }
.request-error:empty,.request-status:empty { display:none; }
.request-status { padding:12px 14px; border-radius:10px; background:#edf4fa; color:var(--gro-navy); font-size:.9375rem; }
.request-status[data-state="error"] { color:#892329; background:#fff1f0; }
.request-status[data-state="success"] { color:#205438; background:#eef8f0; }
.request-form>.btn { width:100%; min-height:48px; }
.request-form>.btn:disabled { cursor:wait; opacity:.7; }
.request-captcha { min-height:100px; max-width:100%; }
@media(max-width:900px) {
 .contact-clouds,.contact-inline-request { grid-template-columns:1fr; gap:20px; }
 .gro-modern .home-resources { grid-template-columns:1fr; }
}
@media(max-width:760px) {
 .catalog-shortcuts { display:flex; flex-wrap:wrap; gap:8px; }
 .catalog-shortcuts a { padding:10px 13px; border:1px solid var(--gro-line); border-radius:12px; background:var(--gro-pale); text-decoration:none; font-size:.875rem; min-height:44px; }
 .catalog-shortcuts a span { display:none; }
 .catalog-faq,.contact-cloud,.gro-modern .faq-group { padding:22px 18px; border-radius:20px; }
 .gro-modern .faq-question { padding:18px 46px 18px 18px; }
 .gro-modern .faq-answer { padding:0 18px 20px; }
 .requisites-table th,.requisites-table td { padding:13px 12px; }
 .requisites-table th { width:35%; }
 .request-overlay { padding:12px; }
 .request-dialog { padding:26px 20px; border-radius:20px; max-height:calc(100dvh - 24px); }
 .request-dialog .section-eyebrow { padding-right:36px; }
}
@media(max-width:420px) {
 .request-form__row { grid-template-columns:1fr; }
 .requisites-table th,.requisites-table td { display:block; width:100%; box-sizing:border-box; }
 .requisites-table th { padding-bottom:6px; border-bottom:0; }
 .requisites-table td { padding-top:8px; }
 .request-dialog { padding:24px 16px; }
}


.request-dialog:focus { outline:none; }

.gro-modern .object-result-card :is(h2,h3,strong,span) { color:var(--gro-navy); }
.gro-modern .object-result-card p { color:var(--gro-muted); }
 
/* Let the rounded homepage slider breathe without full-width divider lines. */
.gro-modern .knowledge-article { padding:24px 0 64px; }
.gro-modern .knowledge-article__hero { padding:0 0 36px; background:transparent; border:0; }
.knowledge-article__meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-bottom:20px; }
.knowledge-article__back { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:var(--gro-blue); font-size:.9375rem; text-decoration:none; }
.knowledge-article__back:hover { text-decoration:underline; text-underline-offset:4px; }
.knowledge-article__meta .knowledge-card__topic { display:inline-block; padding:7px 12px; border-radius:30px; background:var(--gro-pale); color:var(--gro-blue); font-size:.8125rem; line-height:1.4; }
.gro-modern .knowledge-article__hero h1 { max-width:1000px; margin:0 0 20px; font-size:clamp(2rem,3.5vw,3rem); line-height:1.14; letter-spacing:-.03em; text-wrap:balance; }
.gro-modern .knowledge-article__hero p { max-width:920px; margin:0; color:var(--gro-muted); font-size:1.125rem; line-height:1.7; }
.gro-modern .knowledge-article__layout { gap:28px; }
.gro-modern .knowledge-article__content { gap:24px; min-width:0; }
.gro-modern .knowledge-article__section { padding:30px; border:1px solid var(--gro-line); border-radius:22px; box-shadow:none; }
.gro-modern .knowledge-article__section h2 { margin:0 0 18px; font-size:clamp(1.25rem,2vw,1.5rem); line-height:1.35; }
.gro-modern .knowledge-article__section ul { margin:0; padding:0; gap:14px; }
.gro-modern .knowledge-article__aside { gap:20px; }
.gro-modern .knowledge-article__aside .seo-service__aside-card { padding:26px; border-radius:22px; }
.gro-modern .knowledge-article__aside .seo-service__aside-card:first-child { background:var(--gro-pale); }
.gro-modern .knowledge-article__aside h2 { margin:0 0 16px; font-size:1.375rem; line-height:1.3; }
.gro-modern .knowledge-article__aside p { margin:0 0 22px; color:var(--gro-muted); line-height:1.65; }
.gro-modern .knowledge-article__aside .btn { justify-content:center; width:100%; }
.gro-modern .knowledge-article__aside .seo-service__related { margin:0; padding:0; }
.gro-modern .knowledge-article__aside .seo-service__related a { display:block; padding:12px 0; color:var(--gro-blue); line-height:1.5; }
@media(max-width:760px) {
 .gro-modern .knowledge-article { padding:16px 0 40px; }
 .gro-modern .knowledge-article__hero { padding-bottom:26px; }
 .knowledge-article__meta { gap:8px 16px; margin-bottom:16px; }
 .gro-modern .knowledge-article__hero p { font-size:1rem; line-height:1.65; }
 .gro-modern .knowledge-article__section,
 .gro-modern .knowledge-article__aside .seo-service__aside-card { padding:22px 20px; border-radius:18px; }
 .gro-modern .knowledge-article__layout,.gro-modern .knowledge-article__content { gap:20px; }
}

.gro-modern.home-redesign .site-header { border-bottom-color:transparent; }
.gro-modern.home-redesign>.modern-hero { margin-top:20px; }
.gro-modern.home-redesign>.modern-hero+section { border-top:0; }
@media(max-width:760px) {
 .gro-modern.home-redesign>.modern-hero { margin-top:12px; }
}
