/* Editorial regional pilot. Opt-in only; other city layouts are unchanged. */
.city-regional-page { background:#fff; }
.city-regional-page main { display:block; }
.city-regional-page .main-banner { min-height:540px; padding:56px 24px; }
.city-regional-page .main-banner__content { max-width:760px; padding:36px; margin:0; background:rgba(255,255,255,.96); }
.city-regional-page .main-banner__content h1 { font-size:clamp(27px,3.2vw,44px); line-height:1.14; }
.city-regional-page .main-banner__content p { font-size:18px; line-height:1.6; margin-bottom:20px; }
.regional-kicker { color:#5d4900; font-size:12px!important; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.regional-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.regional-actions a,.regional-actions button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; max-width:100%; padding:12px 20px; border-radius:10px; font:700 15px/1.4 'Segoe UI',Arial,sans-serif; text-align:center; cursor:pointer; }
.regional-actions .regional-secondary { background:#fff; color:#222; border:1px solid #d5d1c6; }
.regional-actions .regional-secondary:hover { background:#fff7d3; }
.regional-facts { display:flex; gap:10px 24px; flex-wrap:wrap; margin-top:22px; font-size:13px; color:#57544b; }
.regional-facts span { display:flex; align-items:center; gap:8px; }
.regional-facts span:before { content:''; width:6px; height:6px; border-radius:50%; background:#cda000; flex-shrink:0; }
.regional-anchor-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 auto; width:min(1200px,92%); padding:20px 0; }
.regional-anchor-nav a { border:1px solid #e6e1d7; border-radius:30px; padding:9px 15px; font-size:14px; color:#4b463a; }
.regional-anchor-nav a:hover { background:#fff4bf; border-color:#d0ac2b; }
.city-regional-page section[id] { scroll-margin-top:24px; }
.regional-section { padding:64px 0; background:#fff; }
.regional-section--soft { background:#f8f7f3; }
.regional-wrap { width:min(1200px,92%); margin:0 auto; }
.regional-heading { display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:32px; margin-bottom:28px; }
.regional-heading h2,.regional-wrap>h2 { font-size:clamp(25px,2.7vw,36px); line-height:1.22; letter-spacing:-.025em; color:#191919; }
.regional-heading p { color:#59564e; font-size:16px; line-height:1.7; }
.regional-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.regional-card { padding:28px; border:1px solid #e8e2d5; border-radius:18px; background:#fff; min-width:0; }
.regional-card h3 { font-size:21px; line-height:1.3; margin:8px 0 12px; }
.regional-card p { color:#504e47; font-size:16px; line-height:1.7; margin-bottom:14px; }
.regional-card ul { padding-left:19px; color:#504e47; margin-bottom:18px; }
.regional-card li { margin:7px 0; list-style:disc; line-height:1.65; }
.regional-card a { color:#493900; text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.regional-card__number { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.1em; color:#655000; background:#fff1b3; padding:6px 10px; border-radius:7px; }
.regional-card__result { padding-top:14px; border-top:1px solid #eee7d9; }
.regional-geo { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }
.regional-geo p { margin:12px 0; line-height:1.75; color:#514d43; }
.regional-districts { display:flex; flex-wrap:wrap; gap:8px; padding:8px 0; list-style:none; }
.regional-districts li { list-style:none; margin:0; padding:7px 12px; border-radius:8px; background:#fff4c6; color:#534517; font-size:14px; }
.regional-source { font-size:13px!important; }
.regional-source a,.regional-note a { text-decoration:underline; text-underline-offset:3px; color:#514019; }
.regional-note { padding:18px 22px; background:#fff5cd; border-left:3px solid #dbac00; border-radius:0 12px 12px 0; color:#514b3b; font-size:14px; line-height:1.7; margin-top:24px; }
.regional-checklist { padding-left:21px; margin:20px 0; }
.regional-checklist li { padding-left:5px; margin:12px 0; line-height:1.7; }
.regional-table-scroll { overflow-x:auto; border:1px solid #e6e0d2; border-radius:14px; margin-top:28px; }
.regional-table { width:100%; border-collapse:collapse; font-size:15px; text-align:left; }
.regional-table th,.regional-table td { padding:18px 20px; border-bottom:1px solid #e6e0d2; vertical-align:top; line-height:1.65; }
.regional-table th { background:#fff1b5; color:#39311d; font-weight:800; }
.regional-table td:first-child { font-weight:700; width:28%; }
.regional-table tr:last-child td { border-bottom:0; }
.regional-table td { min-width:170px; }
.regional-brief-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:32px; margin-top:26px; align-items:start; }
.regional-brief { padding:28px; border:1px solid #e5deca; border-radius:18px; background:#fff; min-width:0; }
.regional-origin { display:flex; align-items:center; gap:12px; padding:14px; background:#fff6d9; border:1px solid #f1dfaa; border-radius:12px; }
.regional-origin__pin { display:flex; flex:0 0 36px; align-items:center; justify-content:center; color:#6a5100; }
.regional-origin svg { width:26px; height:26px; }
.regional-origin small { display:block; color:#685b35; font-size:12px; line-height:1.5; }
.regional-origin strong { display:block; color:#393120; font-size:14px; line-height:1.6; }
.regional-origin__help { margin:10px 0 22px; }
.regional-brief__fields { display:grid; gap:16px; }
.regional-brief label { display:block; font-weight:700; font-size:14px; color:#353127; }
.regional-brief input,.regional-brief select,.regional-brief textarea { display:block; width:100%; min-width:0; border:1px solid #d7d0c0; border-radius:9px; padding:12px 14px; margin-top:7px; background:#fff; color:#27251f; font:16px/1.6 'Segoe UI',Arial,sans-serif; }
.regional-brief textarea { min-height:240px; resize:vertical; }
.regional-brief label[for=regional-message] { margin-top:22px; }
.regional-brief__fields .regional-actions { margin-top:4px; }
.regional-brief .regional-actions { margin-top:16px; }
.regional-brief button { border:0; background:#ffc400; color:#202018; }
.regional-brief button:hover { background:#ffdb53; }
.regional-brief__help { font-size:13px; line-height:1.65; color:#625c50; margin-top:12px; }
.regional-brief__status { min-height:27px; margin-top:12px; color:#4f4117; font-size:14px; line-height:1.6; }
.regional-messengers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.regional-messenger { display:flex; align-items:center; gap:12px; min-width:0; min-height:98px; padding:16px; border:1px solid #e7dec6; border-radius:12px; background:#fffaf0; color:#28251e; text-decoration:none; transition:background .15s,border-color .15s; }
.regional-messenger:hover { background:#fff2c2; border-color:#caa533; }
.regional-messenger:focus-visible { outline:3px solid #8b6b00; outline-offset:3px; }
.regional-messenger[aria-disabled=true] { opacity:.65; cursor:wait; }
.regional-messenger__icon { display:flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px; height:40px; border-radius:11px; }
.regional-messenger__icon svg { width:26px; height:26px; }
.regional-messenger--max .regional-messenger__icon { color:#5731ae; background:#eee7fc; }
.regional-messenger--telegram .regional-messenger__icon { color:#086a9a; background:#e2f3fd; }
.regional-messenger>span:nth-child(2) { min-width:0; }
.regional-messenger strong { display:block; font-size:15px; line-height:1.4; }
.regional-messenger small { display:block; margin-top:5px; color:#645e50; font-size:12px; line-height:1.5; }
.regional-messenger__arrow { margin-left:auto; color:#766743; font-size:19px; }
.city-regional-page .contacts-simple__btn.regional-contact-max { background:#ede6fb; color:#4c2b95; border-color:#cbbbe9; }
.no-js .regional-brief__fields,.no-js #regional-copy { display:none; }
.city-regional-page .services-list__subtitle { font-weight:400; max-width:760px; margin:12px auto 28px; line-height:1.7; }
.city-regional-page .stats__num { font-size:clamp(26px,3.2vw,42px); line-height:1.2; overflow-wrap:anywhere; color:#45370a; }
.city-regional-page .projects__more { color:#5b4600; }
.city-regional-page .regional-portfolio-note { max-width:800px; margin:14px auto 24px; text-align:center; color:#615d53; line-height:1.7; }
.city-regional-page .reviews-note { color:#605c52!important; }
.city-regional-page .regional-thanks { padding:56px 0; background:#f8f7f3; }
.city-regional-page .regional-thanks .reviews__container { width:min(1200px,92%); max-width:1200px; margin:0 auto; }
.regional-thanks__intro { max-width:680px; margin:14px auto 30px; text-align:center; color:#615d53; font-size:15px; line-height:1.7; }
.city-regional-page .regional-thanks .reviews__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.city-regional-page .regional-thanks .reviews__item { width:auto; max-width:none; min-width:0; padding:14px; margin:0; border:1px solid #e6e1d5; border-radius:14px; background:#fff; box-shadow:none; display:flex; flex-direction:column; }
.regional-thanks__preview { display:block; border-radius:7px; overflow:hidden; background:#f4f3ee; }
.city-regional-page .regional-thanks .reviews__item img { display:block; width:100%; height:auto; aspect-ratio:1858/2560; object-fit:contain; padding:6px; }
.regional-thanks__caption { padding:18px 6px 7px; text-align:left; }
.regional-thanks__caption p { margin:0 0 5px; color:#625d52; font-size:14px; line-height:1.6; }
.regional-thanks__caption .regional-thanks__name { color:#29261f; font-size:17px; font-weight:700; }
.regional-thanks__caption a { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:5px; color:#5a4500; text-decoration:underline; text-underline-offset:4px; font-size:14px; font-weight:700; }
.regional-thanks a:focus-visible { outline:3px solid #8b6b00; outline-offset:3px; }
.city-regional-page .cookie-banner { background:#f8f7f3; color:#514d43; border:1px solid #e0dccf; box-shadow:0 4px 18px rgba(70,59,31,.08); border-radius:12px; padding:16px 18px; align-items:center; gap:16px; }
.city-regional-page .cookie-banner__text { font-size:13px; line-height:1.6; }
.city-regional-page .cookie-banner__text a,.city-regional-page .cookie-banner__more { color:#594a24; opacity:1; }
.city-regional-page .cookie-banner__btn { background:#fff0bc; color:#3e341b; border:1px solid #e5d199; min-height:44px; padding:10px 16px; }
.city-regional-page .cookie-banner__btn:hover { background:#ffe7a0; }
.city-regional-page .cookie-banner__btn:focus,.city-regional-page .cookie-banner a:focus-visible { outline:2px solid #8b6b00; outline-offset:3px; }
.city-regional-page .faq__column { background:#fff2bf; border-radius:14px; flex:1 1 0; }
.city-regional-page .faq__question { font-weight:700; }
.city-regional-page .faq__answer { line-height:1.7; }
.city-regional-page .faq__question:after { width:18px; height:18px; background:none; content:'+'; font-size:23px; line-height:18px; color:#554100; }
.city-regional-page .faq__item.open .faq__question:after { transform:none; content:'−'; }
.city-regional-page .contacts-simple__container { max-width:700px; }
.city-regional-page .contacts-simple__intro { margin:0 0 20px; color:#555147; line-height:1.7; }
.regional-content-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; padding:12px 0; }
.regional-content-nav a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:950px) {
  .regional-heading,.regional-geo,.regional-brief-layout { grid-template-columns:1fr; gap:22px; }
  .regional-section { padding:44px 0; }
  .city-regional-page .main-banner { padding:36px 20px; }
  .city-regional-page .regional-thanks .reviews__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media(max-width:650px) {
  .regional-grid { grid-template-columns:1fr; }
  .regional-card,.regional-brief { padding:20px; }
  .regional-section { padding:34px 0; }
  .city-regional-page .main-banner { padding:26px 12px; min-height:0; }
  .city-regional-page .main-banner__content { padding:24px 18px; align-items:flex-start; text-align:left; width:100%; }
  .city-regional-page .main-banner__content h1 { font-size:clamp(25px,6.5vw,33px); }
  .city-regional-page .main-banner__content p { font-size:16px; }
  .regional-actions { width:100%; }
  .regional-actions a,.regional-actions button { flex:1 1 100%; padding:12px 14px; }
  .regional-facts { gap:8px 16px; font-size:12px; }
  .regional-heading { gap:14px; }
  .regional-heading h2,.regional-wrap>h2 { font-size:25px; }
  .regional-card h3 { font-size:20px; }
  .regional-table th,.regional-table td { padding:14px; }
  .regional-brief textarea { min-height:280px; }
  .city-regional-page .regional-thanks { padding:36px 0; }
  .city-regional-page .regional-thanks .reviews__grid { grid-template-columns:1fr; gap:20px; }
  .regional-thanks__intro { font-size:14px; margin-bottom:22px; }
}
@media(max-width:560px) {
  .city-regional-page .cookie-banner { align-items:stretch; padding:14px; gap:10px; }
}
@media(max-width:480px) {
  .regional-messengers { grid-template-columns:1fr; }
  .regional-messenger { min-height:86px; }
}
@media(prefers-reduced-motion:reduce) {
  .regional-messenger { transition:none; }
}
