/* Migration Pravo — layouts from new/design. Images exclusively from new/img. */
:root {
  --navy: #071e4a; --blue: #174b80; --link: #1255a0; --pale: #eaf2fc;
  --line: #dce5ef; --muted: #64748b; --ink: #263b5c; --soft: #f2f5f8;
  --bg: #fff; --surface: #fff; --surface-soft: #f5f8fc; --surface-sunk: #eef3f9;
  --text: #263b5c; --accent: #174b80; --accent-strong: #1255a0; --accent-soft: #eaf2fc;
  --accent-hover-soft: #deebfa; --accent-ink: #fff; --positive: #258645; --negative: #d52c45;
  --warn: #99620f; --warn-soft: #fff8e7; --positive-soft: #eaf5ed; --negative-soft: #fff1f2;
  --app-em: 1rem; --hair: 1px; --control-h: 42px; --r-xs: 3px; --r-sm: 4px;
  --r-md: 4px; --r-lg: 5px; --r-xl: 8px; --r-pill: 999px;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-7: 28px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
  --fs-meta: 12px; --fs-sm: 13px; --fs-ui: 14px; --fs-body: 15px; --fs-lead: 17px;
  --fs-h1: 40px; --fs-h2: 25px; --fs-h3: 19px; --fs-h4: 17px;
  --shadow: 0 5px 24px #071e4a12; --shadow-menu: 0 12px 35px #071e4a26;
  --shadow-modal: 0 15px 60px #071e4a35; --star: #b58a34; --star-off: #cdd7e3;
  --code-bg: #f5f8fc; --code-border: #dce5ef; --code-ink: #263b5c;
  --image-brightness: 1; --image-contrast: 1; --image-saturate: 1;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; font: 14px/1.5 Arial, Helvetica, sans-serif; color: var(--ink); background: #fff; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #5a92ce; outline-offset: 4px; }
[hidden] { display: none !important; }
h1, h2, h3, h4 { color: var(--navy); font-family: 'Times New Roman', Georgia, serif; line-height: 1.15; }
h1 { font-size: 44px; margin: 12px 0 18px; }
h2 { font-size: 25px; margin: 0 0 16px; }
h3 { font-size: 19px; margin: 0 0 10px; }
p { margin: 0 0 12px; }
blockquote, figure { margin: 0; }
ul, ol { padding-left: 20px; }
small { font-size: 11px; }
.container { width: min(100%, 1280px); padding-inline: 48px; margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; z-index: 2000; top: -100px; left: 20px; background: #fff; color: var(--navy); padding: 12px; }
.skip-link:focus { top: 10px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; padding: 11px 22px; border: 1px solid #0b3668; border-radius: 4px; color: #fff; background: linear-gradient(110deg, #0e4380, #1b527e); font-size: 13px; font-weight: 700; text-align: center; line-height: 1.25; box-shadow: inset 0 1px 1px #ffffff24; }
.button:hover { background: #0c386b; text-decoration: none; }
.button-white { background: #fff; color: var(--blue); border-color: #cedbe9; }
.button-white:hover { color: #fff; }
.button-outline { background: transparent; color: var(--blue); border-color: var(--blue); }
.button-outline:hover { color: #fff; }
.button-outline-light { background: transparent; border-color: #d4e2f1; color: #fff; font-weight: 400; }
.button-soft { background: var(--pale); border-color: #d3e3f7; color: var(--link); width: 100%; }
.button-soft:hover { color: #fff; }
.muted { color: var(--muted); font-weight: 400; }
.read-link { display: inline-block; color: var(--link); font-size: 12px; font-weight: 700; }
.read-link span { padding-left: 10px; font-size: 18px; line-height: 1; }
.utility { background: linear-gradient(100deg, #f3f6f9, #eaf0f5, #f7f9fb); border-bottom: 1px solid #edf0f4; }
.utility-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; }
.utility-item { display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--navy); }
.utility-item b { font-size: 11px; }
.utility-item small { display: block; color: var(--muted); font-size: 9px; line-height: 1.3; }
.mini-icon { font-size: 22px; color: var(--blue); line-height: 1; font-weight: 400; }
.user-menu { position: relative; z-index: 50; }
.user-menu summary { cursor: pointer; list-style: none; }
.user-menu summary::-webkit-details-marker { display: none; }
.user-panel { position: absolute; right: 0; top: 38px; width: 280px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 4px; box-shadow: var(--shadow-menu); }
.user-panel a { display: block; margin-top: 10px; }
.user-panel .form-label { margin-top: 10px; }
.user-panel .button { margin-top: 16px; width: 100%; }
.site-header { position: relative; z-index: 20; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 2px 7px #071e4a04; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 76px; }
.brand { flex-shrink: 0; display: block; width: 300px; }
.brand img { width: 100%; }
.primary-nav { display: flex; align-items: center; gap: 18px; }
.primary-nav a { color: var(--navy); font-size: 11px; font-weight: 700; white-space: nowrap; }
.header-cta { min-width: 186px; font-size: 12px; padding-inline: 16px; }
.search-toggle { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: #fff; display: grid; place-items: center; flex-shrink: 0; }
.search-icon { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--blue); border-radius: 50%; position: relative; flex-shrink: 0; }
.search-icon::after { content: ''; width: 6px; height: 2px; background: var(--blue); position: absolute; right: -5px; bottom: -3px; transform: rotate(45deg); }
.menu-toggle { display: none; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 10px; color: var(--blue); }
.header-search { padding-block: 16px; }
.hero { background: linear-gradient(90deg, #fffffffa 0%, #ffffffc9 40%, #ffffff00 70%), #f4f8fc url('../images/hero.webp') center right / cover no-repeat; border-bottom: 1px solid var(--line); overflow: hidden; }
.hero-inner { position: relative; min-height: 402px; padding-block: 28px 30px; }
.hero-copy { position: relative; z-index: 2; width: 57%; max-width: 680px; }
.eyebrow { color: #7385a0; text-transform: uppercase; letter-spacing: 1.3px; font-size: 13px; margin: 0 0 5px; }
.hero h1 { font-size: 45px; line-height: 1.07; letter-spacing: -.4px; margin: 0 0 16px; }
.hero-description { font-size: 15px; line-height: 1.5; max-width: 540px; color: #46536b; margin-bottom: 20px; }
.search-form { display: flex; align-items: stretch; gap: 6px; margin: 0; }
.search-field { display: flex; align-items: center; min-width: 0; flex: 1; gap: 14px; padding-left: 16px; border: 1px solid #c9d5e5; border-radius: 4px; background: #ffffffed; box-shadow: inset 0 1px 3px #071e4a08; }
.search-field input[type=search] { width: 100%; min-width: 0; border: 0; outline-offset: -4px; background: transparent; padding: 10px 8px; min-height: 41px; font-size: 12px; color: var(--ink); box-shadow: none; }
.search-form .button { min-width: 92px; }
.popular-queries { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 10px; margin-top: 10px; }
.popular-queries b { margin-right: 5px; font-size: 10px; }
.popular-queries a, .tag { background: #e2edf9; color: var(--blue); border-radius: 4px; font-size: 10px; padding: 3px 10px; }
.hero-stats { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 32px; }
.hero-stats > div { display: flex; align-items: center; gap: 15px; padding-right: 16px; border-right: 1px solid #dce6f0; font-size: 12px; line-height: 1.4; }
.hero-stats > div:last-child { border: 0; padding-right: 0; }
.hero-stats img { width: 32px; height: 32px; object-fit: contain; }
.hero-stats strong { font-size: 13px; color: var(--navy); }
.hero-stats > div:first-child strong { font-size: 19px; }
.hero-stats small { display: block; color: #65728a; font-size: 10px; }
.stat-symbol { font-size: 35px; color: var(--blue); line-height: 1; }
.hero-quote { position: absolute; right: 13%; top: 47px; color: var(--navy); border: 0; padding: 0; background: transparent; }
.hero-quote::before { content: '“'; position: absolute; left: -36px; top: -28px; font: 60px Georgia, serif; color: #273c56; }
.hero-quote p { font: italic 20px/1.15 Georgia, serif; }
.hero-quote cite { font-style: normal; font-size: 11px; }
.hero-seal { position: absolute; right: 48px; bottom: 70px; padding: 20px; width: 162px; background: #ffffffc9; border: 1px solid #6f819b; border-radius: 5px; color: var(--navy); backdrop-filter: blur(3px); }
.hero-seal img { margin-inline: auto; width: 44px; height: 44px; object-fit: contain; margin-bottom: 10px; }
.hero-seal p { font: 17px/1.12 Georgia, serif; margin-bottom: 0; }
.section-heading { display: flex; align-items: center; gap: 24px; margin: 0 0 14px; }
.section-heading h2 { margin: 0; }
.section-heading > a { margin-left: auto; flex-shrink: 0; font-size: 12px; font-weight: 700; }
.section-heading > a span { margin-left: 10px; font-size: 18px; }
.topics-section { padding-top: 20px; }
.topics-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.topic-card { padding: 17px 17px 20px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: linear-gradient(#fff, #fcfdff); }
.topic-card:hover { border-color: #719cc8; text-decoration: none; }
.topic-card img { width: 34px; height: 34px; object-fit: contain; margin-bottom: 15px; }
.topic-card h3 { font-size: 15px; margin-bottom: 7px; }
.topic-card p { margin: 0; color: #5b6880; font-size: 10px; line-height: 1.45; }
.page-content { padding-block: 22px 28px; }
.tabs { display: flex; align-items: stretch; gap: 6px; }
.tabs button { background: transparent; color: var(--ink); border: 0; border-bottom: 2px solid transparent; min-height: 36px; font-size: 11px; padding: 10px 23px; border-radius: 4px 4px 0 0; }
.tabs button[aria-selected=true] { background: #eaf2fd; border-bottom-color: #175ea5; color: #084a90; }
.cards-grid, .page-listing .content-feed { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.content-feed > #dle-content { display: contents; }
.article-card { min-width: 0; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.card-media { display: block; position: relative; height: 124px; overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform .2s ease; }
.article-card:hover .card-media img { transform: scale(1.025); }
.card-badge { position: absolute; top: 13px; left: 14px; background: #e7f1fced; border-radius: 12px; padding: 3px 12px; color: #16497f; font-size: 10px; }
.card-body { display: flex; flex: 1; flex-direction: column; padding: 12px 15px 15px; }
.card-meta { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; color: #6e7a8c; font-size: 9px; line-height: 1.4; margin-bottom: 9px; }
.card-body h3 { font-size: 18px; line-height: 1.2; margin-bottom: 11px; }
.card-body h3 a { color: var(--navy); }
.card-body p { font: 14px/1.4 Georgia, serif; color: #707c8f; margin-bottom: 10px; }
.card-body .read-link { margin-top: auto; }
.instructions { margin-block: 28px 26px; }
.instruction-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; counter-reset: instruction; }
.instruction-grid li { counter-increment: instruction; padding: 12px 15px 14px; border: 1px solid var(--line); border-radius: 4px; }
.instruction-grid li::before { content: counter(instruction, decimal-leading-zero); font: 30px/1 Georgia, serif; color: #3773b0; text-shadow: 2px 2px #d9e5f0; display: block; margin-bottom: 8px; }
.instruction-grid a { display: block; color: var(--navy); font-size: 11px; }
.instruction-grid strong { display: block; margin-bottom: 5px; }
.instruction-grid span { color: #788494; font-size: 10px; line-height: 1.5; display: block; }
.expert-band { background: linear-gradient(115deg, #f0f3f7, #e9eef3, #f2f4f7); display: grid; grid-template-columns: 160px 1.35fr 1fr 1.1fr; gap: 28px; align-items: center; padding: 20px 24px 0 0; }
.expert-portrait { display: flex; align-self: stretch; align-items: flex-end; justify-content: center; min-height: 160px; }
.portrait-photo { display: grid; place-items: center; width: 128px; height: 154px; background: linear-gradient(150deg, #dce7f1, #96aec7); font: 46px Georgia, serif; color: #fff; border-radius: 55% 55% 5% 5%; flex-shrink: 0; }
.expert-biography { padding-bottom: 20px; }
.expert-biography h2 { font-size: 18px; margin-bottom: 15px; }
.expert-biography strong { font-size: 12px; color: var(--navy); }
.expert-biography p { color: #6f7a8c; font-size: 11px; line-height: 1.5; margin-top: 5px; }
.expert-band blockquote { position: relative; font: italic 17px/1.3 Georgia, serif; color: #53617b; padding: 0 0 20px 20px; border: 0; background: transparent; }
.expert-band blockquote::before { content: '“'; position: absolute; left: -15px; top: -20px; font: 72px Georgia, serif; color: #d0d9e3; }
.icon-list, .check-list { list-style: none; padding: 0; margin: 12px 0 16px; font-size: 12px; }
.icon-list li, .check-list li { position: relative; padding-left: 28px; margin: 10px 0; }
.icon-list li::before { content: ''; position: absolute; top: 2px; left: 0; width: 18px; height: 18px; background: url('../images/icon-service-verified.webp') center / contain no-repeat; }
.check-list li::before { content: '✓'; position: absolute; top: 1px; left: 0; color: #fff; background: #29914c; width: 14px; height: 14px; font-size: 10px; border-radius: 50%; text-align: center; line-height: 14px; }
.trust-section { margin-block: 24px 26px; }
.trust-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.trust-grid > a { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 4px; color: var(--navy); }
.trust-grid img { width: 28px; height: 28px; object-fit: contain; }
.trust-grid strong { display: block; font-size: 11px; margin-bottom: 5px; }
.trust-grid small { font-size: 10px; color: #728096; line-height: 1.5; }
.home-bottom-grid { display: grid; grid-template-columns: 1fr 1.06fr; gap: 26px; }
.faq details { border: 1px solid var(--line); border-bottom-width: 0; }
.faq details:first-of-type { border-radius: 4px 4px 0 0; }
.faq details:last-of-type { border-bottom-width: 1px; border-radius: 0 0 4px 4px; }
.faq summary { cursor: pointer; position: relative; color: var(--navy); font-size: 12px; font-weight: 700; list-style: none; padding: 10px 36px 10px 16px; line-height: 1.35; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '⌄'; position: absolute; right: 16px; top: 6px; font-size: 18px; color: var(--blue); }
.faq details[open] summary::after { content: '⌃'; }
.faq details[open] { background: linear-gradient(110deg, #f1f5fa, #fff); }
.faq details p { padding: 0 16px 12px; margin: 0; font-size: 11px; color: #727f91; }
.faq-more { margin-top: 10px; }
.service-region-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10px; }
.tab-label { background: var(--pale); border-bottom: 2px solid var(--blue); display: inline-block; padding: 10px 25px; margin: 0 0 10px; font-size: 11px; }
.services-list { border: 1px solid var(--line); border-radius: 4px; }
.services-list > a { display: flex; gap: 12px; align-items: center; padding: 12px; border-bottom: 1px solid var(--line); color: var(--navy); }
.services-list > a:last-child { border-bottom: 0; }
.services-list > a > span:last-child { margin-left: auto; }
.services-list img { width: 25px; height: 25px; object-fit: contain; }
.services-list strong { font-size: 11px; display: block; }
.services-list small { font-size: 9px; color: var(--muted); display: block; }
.region-card { color: var(--ink); padding: 16px; border: 1px solid var(--line); border-radius: 4px; align-self: end; }
.region-card h3 { font: 700 12px/1.35 Arial, sans-serif; margin-bottom: 8px; }
.region-card p { font-size: 10px; color: #768396; }
.region-card img { width: 100%; height: 145px; object-fit: contain; margin-top: 18px; }
.consultation-band { background: #174b80 url('../images/consultation.webp') center / cover no-repeat; color: #fff; }
.consultation-inner { display: grid; grid-template-columns: 1.5fr 1.15fr .75fr; gap: 32px; align-items: center; min-height: 122px; padding-block: 22px; padding-left: 164px; }
.consultation-inner h2 { font-size: 21px; color: #fff; margin-bottom: 8px; }
.consultation-inner p { font-size: 12px; line-height: 1.45; margin: 0; color: #e5effb; }
.consultation-actions { display: flex; align-items: center; gap: 22px; }
.consultation-actions .button { padding-inline: 20px; font-size: 11px; white-space: nowrap; }
.consultation-inner ul { padding-left: 24px; margin: 0; list-style: '♧   '; font-size: 10px; }
.consultation-inner li + li { margin-top: 10px; }
.consultation-inner li strong { display: block; font-weight: 400; }
.consultation-inner li span { font-size: 9px; display: block; color: #e2ebf8; }
.site-footer { background: linear-gradient(#f8fafd, #fff); }
.footer-grid { display: grid; grid-template-columns: 1.7fr .8fr 1.3fr .8fr 1.1fr; gap: 28px; padding-block: 20px 24px; }
.footer-brand .brand { width: 285px; max-width: 100%; }
.footer-brand p { font-size: 10px; line-height: 1.5; margin-top: 34px; color: #66758b; }
.footer-grid h2 { font: 700 12px/1.4 Arial, sans-serif; margin: 0 0 8px; }
.footer-grid nav a { display: block; color: #697587; font-size: 11px; line-height: 1.65; }
.footer-topic-links { display: flex; justify-content: space-between; gap: 12px; }
.footer-grid address { font-style: normal; font-size: 11px; line-height: 1.4; }
.footer-grid address a { display: block; color: var(--ink); }
.footer-grid address small { display: block; color: var(--muted); font-size: 9px; margin-left: 20px; }
.footer-grid address > a { margin-top: 10px; }
.footer-grid address p { margin-top: 10px; }
.social-links { display: flex; gap: 10px; margin-top: 12px; }
.social-links a { width: 28px; height: 28px; border: 1px solid var(--line); display: grid !important; place-items: center; border-radius: 50%; font-size: 10px; font-weight: 700; }
.footer-bottom { border-top: 1px solid var(--line); padding-block: 14px 22px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 10px; color: #67758b; }
.footer-bottom > div { display: flex; gap: 28px; }
.footer-bottom a { color: #67758b; }
.footer-bottom p { margin: 0; display: flex; align-items: center; gap: 12px; }
.tricolor { width: 64px; height: 7px; display: inline-block; background: linear-gradient(to bottom, #fff 0 33%, #1676d2 33% 66%, #e5384b 66%); }
.breadcrumbs { font-size: 11px; color: #778ba5; margin-bottom: 22px; }
.breadcrumbs a { color: #778ba5; }
.category-hero .hero-inner { min-height: 410px; }
.category-hero .hero-copy { width: 55%; }
.category-hero .hero-description { font-size: 14px; color: #3d5680; }
.category-hero h1 { font-size: 43px; margin-bottom: 15px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-list a { display: inline-block; padding: 5px 11px; border: 1px solid #cddff6; border-radius: 9px; background: #eaf2ff; color: #134c8f; font-size: 11px; }
.category-hero .hero-stats { gap: 16px; margin-top: 30px; }
.category-hero .hero-stats > div { gap: 12px; font-size: 11px; }
.category-document { position: absolute; bottom: -65px; right: 220px; width: 290px; height: 330px; object-fit: cover; object-position: center 62%; transform: rotate(-9deg); border-radius: 5px; box-shadow: 0 15px 30px #071e4a25; }
.hero-help { position: absolute; right: 48px; bottom: 72px; width: 235px; padding: 18px; border: 1px solid #819abb; border-radius: 5px; background: #ffffffe5; z-index: 3; }
.hero-help h2 { font-size: 19px; margin-bottom: 12px; }
.hero-help p { font-size: 12px; }
.hero-help .button { width: 100%; font-size: 11px; padding-inline: 8px; }
.catalog-layout { display: grid; grid-template-columns: minmax(0, 2.7fr) minmax(240px, 1fr); gap: 26px; }
.page-category .page-content { padding-top: 18px; }
.catalog-search { margin-bottom: 24px; }
.catalog-tools { display: flex; gap: 10px; margin-top: 10px; }
.catalog-tools > a, .sort-control { display: flex; justify-content: space-between; flex: 1; padding: 7px 12px; border: 1px solid #ccd9eb; border-radius: 3px; color: var(--ink); font-size: 11px; min-width: 0; }
.sort-control { display: block; padding: 0; }
.sort-control select { min-height: 33px; font-size: 11px; }
.recommended { margin-bottom: 24px; }
.recommended h2 { font-size: 22px; }
.pin { font: 24px Arial, sans-serif; color: var(--link); }
.featured-card { display: flex; position: relative; border: 1px solid var(--line); border-radius: 5px; overflow: hidden; min-height: 210px; color: var(--ink); background: #f6f9fc; }
.featured-card > div:first-child { position: relative; z-index: 2; width: 65%; padding: 18px 24px; background: linear-gradient(to right, #f9fbfd 80%, #f9fbfd00); }
.featured-card h3 { font-size: 24px; margin: 10px 0; }
.featured-card p { font-size: 12px; color: #6d7e96; }
.featured-card .card-meta { margin: 15px 0 0; justify-content: flex-start; gap: 24px; }
.featured-image { position: absolute; inset: 0 0 0 55%; }
.featured-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.round-arrow { position: absolute; top: 42%; right: 16px; background: #fff; border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; color: var(--link); z-index: 3; font-size: 20px; }
.catalog-heading { font-size: 24px; }
.page-category .content-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.page-category .card-media { height: 115px; }
.page-category .card-body h3 { font-size: 18px; }
.page-category .card-body p { font: 13px/1.4 Arial, sans-serif; }
.page-category .card-body { padding: 12px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-block: 25px 0; grid-column: 1 / -1; }
.pagination-pages { display: flex; align-items: center; gap: 8px; }
.pagination a, .pagination-pages > span { min-width: 35px; min-height: 35px; padding: 7px; text-align: center; border: 1px solid var(--line); border-radius: 4px; color: var(--navy); font-weight: 700; font-size: 13px; }
.pagination-pages > span { background: var(--blue); color: #fff; border-color: var(--blue); }
.pagination a:hover { background: var(--pale); text-decoration: none; }
.catalog-bottom { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; margin-top: 28px; }
.catalog-bottom h2 { font-size: 22px; }
.catalog-bottom .instructions { margin: 0; }
.catalog-bottom .instructions .section-heading > a { display: none; }
.catalog-bottom .instruction-grid { display: block; }
.catalog-bottom .instruction-grid li { display: flex; gap: 14px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 9px; }
.catalog-bottom .instruction-grid li::before { font-size: 24px; margin: 0; }
.catalog-bottom .instruction-grid span { display: none; }
.catalog-bottom .instructions > .button { margin-top: 12px; }
.sidebar-box { padding: 16px; border: 1px solid var(--line); border-radius: 5px; margin-bottom: 16px; background: #fff; }
.sidebar-box h2, .popular-articles h2 { font-size: 21px; margin-bottom: 14px; }
.sidebar-box p { font-size: 12px; }
.sidebar-box .button { width: 100%; padding-inline: 10px; font-size: 12px; }
.sidebar-box .check-list { margin-bottom: 12px; font-size: 11px; }
.expert-card-profile { display: flex; gap: 14px; align-items: center; }
.expert-card-profile > div { min-width: 0; overflow-wrap: anywhere; }
.expert-card-profile .portrait-photo { width: 104px; height: 128px; font-size: 32px; border-radius: 5px; }
.expert-card-profile h3 { font-size: 17px; margin-bottom: 8px; }
.expert-card-profile p { font-size: 11px; color: var(--muted); }
.catalog-sidebar .services-list { border: 0; margin: 0 -4px 12px; }
.catalog-sidebar .services-list > a { padding: 12px 0; }
.catalog-sidebar .services-list small { display: none; }
.document-list { list-style: none; padding: 0; margin: 0 0 14px; }
.document-list a { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; margin-bottom: 13px; }
.document-list small { color: var(--muted); display: block; font-size: 10px; }
.document-icon { display: inline-grid; place-items: center; border: 1px solid #ff7c84; border-radius: 3px; color: #ec4c5e; width: 25px; height: 32px; font-size: 8px; font-weight: 700; background: #fff2f3; flex-shrink: 0; }
.document-icon.blue { border-color: #83b5f1; color: #2674c5; background: #eef6ff; }
.catalog-sidebar .tag-list { gap: 8px; }
.catalog-sidebar .tag-list a { font-size: 10px; border-radius: 4px; padding: 5px 10px; }
.page-article .page-content { padding-top: 16px; }
.article-header { display: grid; grid-template-columns: 1.12fr 1fr; gap: 45px; align-items: start; margin-bottom: 26px; }
.full-article > .breadcrumbs { margin-bottom: 17px; }
.article-category { margin-bottom: 8px; }
.article-category a { padding: 3px 9px; border-radius: 3px; font-size: 10px; text-transform: uppercase; }
.article-heading h1 { font-size: 43px; margin: 0 0 15px; line-height: 1.08; }
.article-lead { color: #5b7090; font-size: 14px; line-height: 1.55; }
.article-byline { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 26px; }
.byline-person { display: flex; gap: 10px; align-items: center; }
.portrait-photo.small { width: 47px; height: 47px; border-radius: 50%; font: 17px Georgia, serif; border: 1px solid #d5dfe9; }
.portrait-photo.reviewer { background: linear-gradient(160deg, #ddd4c9, #aca5a0); }
.byline-person small, .byline-date small, .byline-reading small { display: block; color: #8190a6; font-size: 8px; }
.byline-person b { color: var(--navy); display: block; font-size: 10px; }
.byline-person span:not(.portrait-photo) { display: block; font-size: 8px; color: #647898; line-height: 1.5; }
.byline-date, .byline-reading { text-align: center; font-size: 9px; white-space: nowrap; }
.byline-date .mini-icon, .byline-reading .mini-icon { font-size: 24px; display: block; margin-bottom: 6px; }
.byline-date time { font-size: 9px; font-weight: 700; color: var(--navy); }
.article-cover { margin-top: -36px; }
.article-cover img { width: 100%; height: 296px; object-fit: cover; object-position: center 54%; border-radius: 4px; }
.article-cover figcaption { font-size: 9px; color: #7287a4; margin-top: 7px; }
.article-columns { display: grid; grid-template-columns: minmax(195px, .92fr) minmax(0, 1.97fr) minmax(200px, .92fr); gap: 20px; }
.article-columns h2 { font-size: 23px; }
.article-left h2, .article-right h2 { font-size: 21px; }
.toc { background: #f5f7fa; border-color: #f1f4f8; }
.toc ol { margin: 0; padding-left: 17px; font-size: 11px; }
.toc li { padding-left: 4px; margin-bottom: 10px; line-height: 1.45; }
.memo-link { display: flex; gap: 15px; margin-top: 22px; border-top: 1px solid var(--line); padding: 18px 0 0; font-size: 12px; font-weight: 700; }
.memo-link .document-icon { width: 44px; height: 49px; font-size: 12px; }
.memo-link small { display: block; font-size: 10px; font-weight: 400; }
.legal-list { list-style: none; padding: 0; margin-bottom: 20px; }
.legal-list a { display: flex; align-items: flex-start; gap: 12px; font-size: 12px; margin-bottom: 20px; }
.legal-list img { width: 26px; height: 30px; object-fit: contain; }
.legal-list small { display: block; color: #6980a1; margin-top: 5px; line-height: 1.4; font-size: 10px; }
.soft { background: linear-gradient(120deg, #f1f5fa, #eef2f6); border-color: transparent; }
.article-left .soft p { font-size: 13px; color: var(--navy); }
.article-right .soft > small { display: block; color: #5d769a; font-size: 9px; margin-top: 10px; }
.article-prose { font-size: 13px; line-height: 1.6; color: #2d456c; overflow-wrap: anywhere; }
.article-prose h2 { margin: 24px 0 10px; font-size: 24px; scroll-margin-top: 25px; }
.article-prose h3 { font-size: 18px; margin: 20px 0 10px; }
.article-prose p { margin-bottom: 12px; }
.article-prose li { margin-bottom: 3px; }
.article-prose img { width: 100%; max-height: 450px; object-fit: cover; border-radius: 4px; }
.article-prose figure { margin: 18px 0; }
.article-prose figure img { height: 125px; object-fit: cover; object-position: center 50%; }
.article-prose figcaption { font-size: 9px; color: #7186a6; margin-top: 8px; }
.article-prose table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 12px; }
.article-prose td, .article-prose th { padding: 8px 13px; text-align: left; border: 1px solid #cfdfef; }
.article-prose th { background: #deecfa; color: var(--navy); }
.article-prose tr:nth-child(even) { background: #f5f8fc; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.article-prose .info-box, .article-prose .benefits { background: linear-gradient(120deg, #eaf5ff, #edf4fc); padding: 16px 20px; border-radius: 4px; margin: 0 0 18px; }
.article-prose .info-box { padding-left: 64px; position: relative; }
.article-prose .info-box::before { content: 'i'; position: absolute; left: 20px; top: 18px; background: #367cc6; color: #fff; border-radius: 50%; width: 25px; height: 25px; text-align: center; font: 700 20px Georgia, serif; }
.article-prose .info-box p:last-child { margin: 0; }
.article-prose .benefits h3 { margin: 0 0 10px; font: 700 13px Arial, sans-serif; }
.article-prose .benefits .check-list { margin: 0; }
.article-prose .warning { background: #fff3f4; border: 1px solid #ef8c9a; border-radius: 4px; padding: 14px 18px 14px 60px; margin: 16px 0; position: relative; }
.article-prose .warning::before { content: '⚠'; color: #ed405c; font-size: 26px; position: absolute; left: 17px; top: 10px; }
.article-prose .warning strong { color: #e92f4a; }
.article-prose .warning p { font-size: 11px; margin: 5px 0 0; }
.compact-card { display: flex; gap: 12px; border: 1px solid var(--line); border-radius: 4px; padding: 0; margin-bottom: 10px; overflow: hidden; }
.compact-card > a { width: 78px; flex-shrink: 0; }
.compact-card img { width: 100%; height: 84px; object-fit: cover; }
.compact-card > div { padding: 7px 7px 7px 0; }
.compact-card h3 { font: 700 12px/1.3 Arial, sans-serif; margin-bottom: 5px; }
.compact-card h3 a { color: var(--navy); }
.compact-card time { font-size: 9px; color: #7c8ca5; }
.interest-list { padding-left: 20px; margin: 0; font-size: 11px; }
.interest-list li { margin-bottom: 10px; }
.article-bottom { display: grid; grid-template-columns: 2fr 1fr; gap: 30px; margin-top: 22px; }
.article-faq summary { font-size: 11px; padding-block: 8px; }
.article-bottom .newsletter h2 { font-size: 19px; }
.newsletter form { display: flex; gap: 7px; margin: 12px 0 8px; }
.newsletter label { flex: 1; min-width: 0; }
.newsletter input { min-height: 37px; font-size: 11px; }
.newsletter .button { min-height: 37px; padding: 8px 16px; width: auto; font-size: 11px; }
.newsletter small { font-size: 10px; color: #6881a1; }
.related-section { margin-top: 20px; }
.related-card .card-media { height: 75px; }
.related-card .card-body h3 { font: 700 13px/1.3 Arial, sans-serif; margin-bottom: 8px; }
.related-card .card-body { padding: 9px 12px; }
.related-card .card-meta { margin-bottom: 5px; }
.article-tags { margin: 20px 0; }
.static-page { max-width: 900px; margin: 0 auto; }
.offline { max-width: 700px; margin: 10vh auto; padding: 30px; text-align: center; }
.offline img { margin: 0 auto 25px; }
.static-page .article-prose { font-size: 16px; }
.notice { padding: 18px; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 4px; margin-bottom: 20px; background: #f5f8fc; }
.notice:empty { display: none; }
.panel, .discussion { border: 1px solid var(--line); border-radius: 5px; padding: 24px; margin-block: 20px; }
.panel h1, .discussion h1 { font-size: 32px; }
.panel .section-heading p { color: var(--muted); }
.form-row { margin-bottom: 16px; }
.form-label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 5px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.primary-button, .secondary-button { min-height: 42px; border-radius: 4px; border: 1px solid var(--blue); padding: 10px 18px; background: var(--blue); color: #fff; font-weight: 700; }
.secondary-button { background: #fff; color: var(--blue); }
.form-actions { display: flex; gap: 10px; margin-top: 20px; }
.form-req { color: #d52c45; margin-left: 5px; }
.native-icon { display: inline-block; vertical-align: middle; width: 20px; height: 20px; background: url('../images/icon-service-question.webp') center / contain no-repeat; }
.thread__item, .search-result { border-bottom: 1px solid var(--line); padding: 20px 0; }
.search-result h2 { font-size: 25px; }
.search-result time { font-size: 12px; color: var(--muted); }
.search-result p { margin-top: 12px; }
.error-hero { background-image: url('../images/error-hero.webp'); }
.error-hero .hero-inner { min-height: 545px; padding-top: 24px; }
.error-hero .hero-copy { width: 54%; }
.error-number { font: 700 185px/.85 Georgia, serif; color: var(--navy); letter-spacing: -5px; margin-bottom: 8px; }
.error-hero h1 { font-size: 46px; margin-top: 8px; }
.error-hero .hero-description { font-size: 17px; }
.error-actions { display: flex; gap: 22px; margin-top: 20px; }
.error-actions .button { min-width: 220px; }
.page-error .hero-quote { right: 10%; max-width: 265px; top: 65px; }
.page-error .topics-section { padding-top: 25px; }
.page-error .topics-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.page-error .topics-grid .topic-card:first-child { display: none; }
.page-error .topic-card { padding: 22px; }
.page-error .topic-card h3 { font-size: 18px; }
.page-error .topic-card p { font-size: 12px; }
.page-error .home-feed { margin-block: 28px; }
.error-expert { margin-block: 30px; }
.error-expert .expert-band { grid-template-columns: 160px 1.6fr 1fr; min-height: 205px; }
.error-expert .expert-biography h2 { font-size: 24px; }
.error-expert .expert-biography p { font-size: 16px; }
.error-expert .consultation-actions { margin: 14px 0 12px; }
.error-bottom { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; margin-block: 24px 8px; }
.error-help { padding: 24px; background: #f5faff url('../images/kremlin-outline.webp') right bottom / auto 100% no-repeat; border-radius: 5px; }
.error-help h2 { font-size: 22px; }
.error-help p { max-width: 70%; color: #6c819f; }
.error-help > img { width: 34px; height: 34px; object-fit: contain; margin-bottom: 12px; }
@media (min-width: 1400px) { .header-inner { gap: 22px; } .primary-nav { gap: 19px; } }
@media (max-width: 1250px) {
  .container { padding-inline: 32px; }
  .brand { width: 260px; }
  .header-inner { gap: 14px; }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: 10px; }
  .header-cta { min-width: 165px; font-size: 11px; }
  .hero-seal, .hero-help { right: 32px; }
  .consultation-inner { padding-left: 140px; gap: 20px; }
  .consultation-actions { gap: 12px; }
  .consultation-actions .button { padding-inline: 15px; }
  .article-header { gap: 28px; }
  .article-columns { grid-template-columns: minmax(185px, .9fr) minmax(0, 2fr) minmax(190px, .9fr); gap: 18px; }
  .article-byline { flex-wrap: wrap; row-gap: 16px; }
  .article-heading h1 { font-size: 39px; }
  .expert-band { gap: 20px; }
}
@media (max-width: 1080px) {
  .header-inner { flex-wrap: wrap; padding-block: 12px; }
  .brand { width: 270px; margin-right: auto; }
  .menu-toggle { display: block; order: 2; }
  .primary-nav { display: none; order: 5; width: 100%; flex-wrap: wrap; gap: 22px; padding: 15px 0 5px; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { font-size: 13px; }
  .search-toggle { order: 3; }
  .header-cta { order: 4; }
  .utility-update { display: none; }
  .hero-copy { width: 65%; }
  .hero h1 { font-size: 39px; }
  .hero-quote { right: 5%; top: 35px; }
  .hero-quote p { font-size: 17px; }
  .hero-seal { width: 145px; bottom: 38px; }
  .hero-description { max-width: 460px; }
  .topics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .topics-grid .topic-card { padding: 15px; }
  .cards-grid { gap: 12px; }
  .card-body h3 { font-size: 17px; }
  .card-body p { font-size: 12px; }
  .tabs button { padding-inline: 15px; }
  .instruction-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .expert-band { grid-template-columns: 120px 1.4fr 1fr; }
  .expert-band > .icon-list { display: none; }
  .expert-band .portrait-photo { width: 100px; height: 140px; }
  .trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-bottom-grid { gap: 20px; }
  .service-region-grid { grid-template-columns: 1fr; }
  .region-card { display: none; }
  .consultation-inner { grid-template-columns: 1fr 1fr; padding-left: 100px; }
  .consultation-inner ul { display: none; }
  .consultation-inner h2 { font-size: 19px; }
  .consultation-actions { justify-content: flex-end; }
  .footer-grid { gap: 18px; grid-template-columns: 1.5fr 1fr 1.3fr 1fr; }
  .footer-grid address { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
  .footer-grid address > * { margin: 0; }
  .footer-bottom { flex-wrap: wrap; }
  .category-hero .hero-copy { width: 66%; }
  .category-document { right: 130px; width: 235px; }
  .hero-help { right: 32px; width: 210px; bottom: 35px; }
  .category-hero .hero-stats { gap: 12px; flex-wrap: wrap; justify-content: flex-start; }
  .category-hero .hero-stats > div { padding-right: 10px; }
  .catalog-layout { grid-template-columns: minmax(0, 2.4fr) minmax(225px, 1fr); gap: 20px; }
  .page-category .content-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-bottom { grid-template-columns: 1fr; }
  .featured-card > div:first-child { padding: 16px; }
  .featured-card h3 { font-size: 21px; }
  .article-columns { grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr); }
  .article-right { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 20px; margin-top: 15px; }
  .article-right .popular-articles .compact-card:nth-of-type(n+4) { display: none; }
  .article-header { gap: 20px; }
  .article-cover img { height: 290px; }
  .article-heading h1 { font-size: 34px; }
  .page-error .topics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .error-actions .button { min-width: 0; }
}
@media (max-width: 760px) {
  .container { padding-inline: 20px; }
  .utility-inner { min-height: 38px; gap: 10px; }
  .utility-item:first-child, .utility-item:nth-child(3) { display: none; }
  .utility-item b { font-size: 10px; }
  .utility-item small { font-size: 8px; }
  .utility-item .mini-icon { font-size: 18px; }
  .header-inner { gap: 12px; }
  .brand { width: 230px; }
  .header-cta { display: none; }
  .menu-toggle { order: 3; font-size: 11px; }
  .search-toggle { order: 2; width: 34px; height: 34px; }
  .hero { background-size: auto 100%; background-position: 62% center; }
  .hero-inner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #ffffffef 0 40%, #ffffffa8); }
  .hero-inner { padding-block: 26px; min-height: auto; }
  .hero-copy, .category-hero .hero-copy { width: 100%; max-width: none; }
  .hero h1, .category-hero h1 { font-size: 35px; }
  .hero-description { font-size: 14px; max-width: 560px; }
  .eyebrow { font-size: 10px; }
  .hero-quote, .hero-seal, .category-document, .hero-help { display: none; }
  .hero-stats { margin-top: 22px; gap: 12px; }
  .hero-stats > div { gap: 8px; padding-right: 10px; font-size: 10px; }
  .hero-stats strong { font-size: 10px; }
  .hero-stats > div:first-child strong { font-size: 16px; }
  .hero-stats small { font-size: 8px; }
  .hero-stats img { width: 25px; height: 25px; }
  .stat-symbol { font-size: 28px; }
  .popular-queries { font-size: 9px; }
  .search-form .button { padding-inline: 17px; min-width: 70px; }
  .search-field { padding-left: 12px; gap: 10px; }
  .search-field input[type=search] { font-size: 11px; }
  .topics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .topic-card h3 { font-size: 14px; }
  .topic-card p { font-size: 9px; }
  h2, .section-heading h2 { font-size: 23px; }
  .section-heading { flex-wrap: wrap; gap: 10px; }
  .section-heading > a { font-size: 10px; }
  .section-heading .tabs { order: 3; width: 100%; }
  .tabs button { font-size: 11px; padding-inline: 20px; }
  .cards-grid, .page-listing .content-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-media { height: 135px; }
  .card-body h3 { font-size: 19px; }
  .card-body p { font-size: 13px; }
  .instruction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expert-band { grid-template-columns: 100px 1fr; gap: 16px; padding: 18px 15px 0 0; }
  .expert-band blockquote { display: none; }
  .expert-biography h2 { font-size: 17px; }
  .expert-biography p { font-size: 10px; }
  .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-grid > a { padding: 12px; gap: 10px; }
  .trust-grid > a:last-child { grid-column: 1 / -1; }
  .home-bottom-grid { grid-template-columns: 1fr; gap: 26px; }
  .service-region-grid { grid-template-columns: 1.1fr 1fr; }
  .region-card { display: block; }
  .consultation-inner { grid-template-columns: 1fr; padding: 24px 20px 24px 90px; gap: 20px; }
  .consultation-inner h2 { font-size: 23px; }
  .consultation-inner p br { display: none; }
  .consultation-actions { justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { margin-top: 15px; }
  .footer-grid address { display: block; }
  .footer-grid address > * { margin-top: 10px; }
  .footer-bottom > div { gap: 15px; flex-wrap: wrap; }
  .footer-bottom p { font-size: 9px; }
  .breadcrumbs { margin-bottom: 16px; font-size: 10px; }
  .category-hero .hero-inner { min-height: 0; }
  .catalog-layout { display: block; }
  .catalog-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 26px; }
  .catalog-sidebar .sidebar-box { margin: 0; }
  .catalog-bottom { grid-template-columns: 1fr 1fr; gap: 16px; }
  .catalog-tools { flex-wrap: wrap; }
  .catalog-tools > a { min-width: 45%; }
  .sort-control { min-width: 100%; }
  .featured-card h3 { font-size: 23px; }
  .article-header { display: flex; flex-direction: column; gap: 24px; margin-bottom: 24px; }
  .article-heading { width: 100%; }
  .article-heading h1 { font-size: 35px; }
  .article-cover { margin: 0; width: 100%; }
  .article-cover img { height: 280px; }
  .article-byline { justify-content: flex-start; gap: 20px; }
  .byline-person b { font-size: 12px; }
  .byline-person small, .byline-person span:not(.portrait-photo) { font-size: 10px; }
  .byline-date, .byline-reading { text-align: left; }
  .byline-date .mini-icon, .byline-reading .mini-icon { display: none; }
  .article-columns { display: flex; flex-direction: column; gap: 22px; }
  .article-left { display: contents; }
  .article-left > .sidebar-box:not(.toc) { display: none; }
  .toc { margin: 0; }
  .toc ol { columns: 2; }
  .toc li { break-inside: avoid; }
  .article-prose { font-size: 15px; }
  .article-prose h2 { font-size: 26px; }
  .article-right { grid-template-columns: 1fr 1fr; margin-top: 0; }
  .article-right .interest-list { font-size: 12px; }
  .article-right > section:last-child { grid-column: 1 / -1; }
  .article-bottom { grid-template-columns: 1fr; gap: 20px; }
  .article-bottom .newsletter { margin: 0; }
  .related-card .card-media { height: 100px; }
  .error-hero .hero-inner { min-height: 0; }
  .error-hero .hero-copy { width: 100%; }
  .error-number { font-size: 135px; position: relative; z-index: 1; }
  .error-hero h1 { font-size: 34px; }
  .error-hero .hero-description { font-size: 15px; }
  .error-actions { gap: 12px; }
  .error-actions .button { font-size: 11px; padding-inline: 16px; }
  .error-expert .expert-band { grid-template-columns: 100px 1fr; }
  .error-expert .expert-band > .icon-list { display: none; }
  .error-expert .expert-biography h2 { font-size: 20px; }
  .error-expert .expert-biography p { font-size: 13px; }
  .error-bottom { grid-template-columns: 1fr; }
  .page-error .topic-card { padding: 15px; }
  .page-error .topic-card h3 { font-size: 15px; }
  .page-error .topic-card p { font-size: 10px; }
}
@media (max-width: 430px) {
  .container { padding-inline: 16px; }
  .brand { width: 200px; }
  .header-inner { gap: 8px; }
  .menu-toggle { font-size: 0; padding: 9px; }
  .menu-toggle span { font-size: 15px; }
  .hero h1, .category-hero h1 { font-size: 31px; }
  .hero-stats { flex-wrap: wrap; row-gap: 14px; }
  .hero-stats > div { flex: 1; padding: 0; border: 0; }
  .hero-stats > div:nth-child(3) { flex-basis: 100%; }
  .category-hero .hero-stats > div:nth-child(3) { flex-basis: auto; }
  .topics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-card:last-child { grid-column: 1 / -1; }
  .card-media, .page-category .card-media { height: 110px; }
  .card-badge { top: 8px; left: 8px; font-size: 9px; padding: 3px 8px; }
  .card-body { padding: 10px; }
  .card-body h3, .page-category .card-body h3 { font-size: 17px; }
  .card-meta { font-size: 8px; }
  .card-body p { font-size: 12px; }
  .trust-grid { grid-template-columns: 1fr; }
  .service-region-grid { grid-template-columns: 1fr; }
  .region-card img { max-height: 170px; object-fit: contain; }
  .consultation-inner { padding-left: 70px; }
  .consultation-inner h2 { font-size: 21px; }
  .consultation-actions .button { font-size: 10px; }
  .footer-topic-links { flex-direction: column; gap: 0; }
  .catalog-sidebar { grid-template-columns: 1fr; }
  .catalog-bottom { grid-template-columns: 1fr; }
  .featured-card > div:first-child { width: 75%; }
  .featured-card h3 { font-size: 20px; }
  .featured-card p { font-size: 11px; }
  .article-heading h1 { font-size: 31px; }
  .article-byline { gap: 14px; }
  .byline-person { flex: 1 1 100%; }
  .byline-date, .byline-reading { min-width: 40%; }
  .article-cover img { height: 245px; }
  .article-right { grid-template-columns: 1fr; gap: 10px; }
  .toc ol { columns: 1; }
  .article-prose .info-box { padding: 15px 15px 15px 50px; }
  .article-prose .info-box::before { left: 15px; }
  .form-grid { grid-template-columns: 1fr; }
  .newsletter form { flex-wrap: wrap; }
  .newsletter label { min-width: 150px; }
  .page-error .topics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-error .topic-card:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Grav-specific fields; visual proportions follow the supplied reference. */
.portrait-photo { object-fit: cover; object-position: center top; background: transparent; border-radius: 0; }
.portrait-slot { display: block; width: 128px; height: 154px; flex-shrink: 0; }
.portrait-photo.small, .portrait-slot.small { width: 48px; height: 48px; border-radius: 50%; }
.expert-card-profile .portrait-slot { width: 100px; height: 140px; }
.expert-portrait .portrait-photo { width: 150px; height: 170px; object-fit: contain; object-position: center bottom; }
.sort-control select { width: 100%; border: 0; background: white; color: var(--ink); padding: 6px 12px; }
input[type=email], input[type=text], textarea { width: 100%; border: 1px solid var(--line); border-radius: 4px; padding: 10px; background: white; color: var(--ink); }
.search-count { margin: 20px 0; }
.home-hero, .category-hero { background-size: 100% 100%; }
.error-hero { background-size: 100% 100%; }
.brand img { width: 100%; height: auto; }
.expert-portrait .portrait-photo { object-fit: cover; object-position: center top; }
.consultation-band { position: relative; background: linear-gradient(105deg, #1c5082, #123c6b); }
.consultation-band::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 150px; background: linear-gradient(90deg, #174b8000 65%, #1c5082), url('../images/hero.webp') 57% 58% / auto 400px no-repeat; }
.consultation-inner { position: relative; }
.card-body h3 { font-size: 17px; }
.card-media img { object-position: center 40%; }
.category-document { bottom: -30px; height: 330px; }
.page-error .page-content > .topics-section { padding-top: 0; }
.article-prose table { line-height: 1.25; }
.article-prose td, .article-prose th { padding-block: 7px; }
.expert-band { margin-inline: calc(-1 * (100vw - 100%) / 2); padding-inline: max(20px, calc((100vw - 1184px) / 2)); }
.error-expert .expert-band { margin-inline: calc(-1 * (100vw - 100%) / 2); }
.home-service-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.home-service-tabs .tab-label { margin: 0; }
.home-service-tabs .tab-label + .tab-label { background: #f5f7fa; border-color: transparent; color: #53617b; }
@media(max-width:760px){ .expert-band { padding-inline: 20px; } .expert-portrait .portrait-photo { width:100px; height:140px; } }
/* Imported editorial content: use the existing article palette and spacing. */
.migration-byline { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; color:var(--muted,#667287); font-size:12px; line-height:1.6; }
.article-prose .migration-notice,.article-prose .migration-source,.article-prose .migration-consultation { padding:20px; margin:24px 0; border:1px solid #dfe7ef; border-radius:12px; background:#f3f7fb; }
.article-prose .migration-source { background:#fafbfc; border-left:3px solid #174b80; }
.article-prose .migration-notice > strong,.article-prose .migration-source > strong { display:block; margin-bottom:8px; }
.article-prose .migration-related { display:block; padding:18px; margin:16px 0; border:1px solid #dfe7ef; border-radius:12px; text-decoration:none; color:inherit; }
.article-prose .migration-related small,.article-prose .migration-related strong,.article-prose .migration-related span { display:block; }
.article-prose .migration-related small { color:#667287; margin-bottom:6px; }
.article-prose .migration-related span { color:#174b80; font-weight:600; }
.article-prose .migration-related p { margin:8px 0; }
.article-prose .migration-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.article-prose .migration-link-grid .migration-related { margin:0; }
.article-prose .migration-consultation h3 { margin-top:0; }
.article-prose .migration-consultation .button { color:#fff; text-decoration:none; }
.migrated-faq details p { margin:12px 0 0; }
@media(max-width:760px) { .article-prose .migration-link-grid { grid-template-columns:1fr; } }
