:root {
  --navy: #102E4E;
  --accent: #235E9A;
  --text: #152C46;
  --muted: #526476;
  --surface: #F4F7FA;
  --line: #DEE5EC;
  --white: #FFFFFF;
  --on-dark: #FFFFFF;
  --muted-on-dark: #D0DEED;
  --link-on-dark: #C0DCFA;
  --line-on-dark: #496681;
  --focus: #235E9A;
  --focus-on-dark: #B8DFFF;
  --field-border: #7A8B9D;
  --danger: #A12B32;
  --scroll-thumb: #7A8B9D;
  --scroll-hover: #526476;
  --scroll-active: #102E4E;
  --scroll-track: #F4F7FA;
  --font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --h1: 3.75rem;
  --h2: 2.25rem;
  --h3: 1.375rem;
  --body: 1rem;
  --small: .875rem;
  --s8: .5rem;
  --s12: .75rem;
  --s16: 1rem;
  --s24: 1.5rem;
  --s32: 2rem;
  --s48: 3rem;
  --s64: 4rem;
  --s80: 5rem;
  --radius: 4px;
  --container: 1200px;
  --gutter: 48px;
  --section-space: 80px;
  --column-gap: 64px;
}
* { box-sizing: border-box; scrollbar-width: thin; scrollbar-color: var(--scroll-thumb) var(--scroll-track); }
html { scrollbar-gutter: stable; scroll-padding-top: 24px; }
body { margin: 0; color: var(--text); background: var(--white); font: var(--body)/1.65 var(--font); -webkit-font-smoothing: antialiased; }
::selection { color: var(--white); background: var(--accent); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: var(--scroll-track); }
*::-webkit-scrollbar-thumb { background: var(--scroll-thumb); border: 2px solid var(--scroll-track); border-radius: var(--radius); }
*::-webkit-scrollbar-thumb:hover { background: var(--scroll-hover); }
*::-webkit-scrollbar-thumb:active { background: var(--scroll-active); }
a { color: var(--accent); text-decoration: none; }
a, button, summary { cursor: pointer; touch-action: manipulation; }
a:hover { text-decoration: underline; text-underline-offset: .22em; }
a:active { color: var(--navy); }
button, input, textarea { font: inherit; }
button { color: inherit; }
:where(a, button, input, textarea, summary):focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
h1, h2, h3, p, ul, ol, dl { margin-top: 0; }
h1, h2, h3 { color: var(--text); font-family: var(--font); font-weight: 600; text-wrap: pretty; }
h1 { font-size: var(--h1); line-height: 1.1; letter-spacing: -.025em; margin-bottom: var(--s24); }
h2 { font-size: var(--h2); line-height: 1.16; letter-spacing: -.02em; margin-bottom: var(--s24); }
h3 { font-size: var(--h3); line-height: 1.3; letter-spacing: -.01em; margin-bottom: var(--s12); }
p { margin-bottom: var(--s16); }
p:last-child { margin-bottom: 0; }
address { font-style: normal; }
svg { display: block; }
.line-icon { width: 32px; height: 32px; color: var(--accent); flex-shrink: 0; }
.container { width: min(var(--container), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.section { padding-block: var(--section-space); }
.section-tinted { background: var(--surface); }
.section-after-intro { padding-top: var(--s48); }
.eyebrow { color: var(--accent); font-size: var(--small); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 var(--s16); line-height: 1.5; }
.lead { max-width: 44rem; color: var(--muted); font-size: 1.0625rem; line-height: 1.65; }
.muted { color: var(--muted); }
.text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--s12); min-height: 44px; line-height: 1.5; font-size: var(--body); font-weight: 600; }
.text-link > span { flex-shrink: 0; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--s24); min-height: 54px; padding: var(--s12) var(--s24); border: 1px solid var(--navy); border-radius: var(--radius); background: var(--navy); color: var(--white); font-size: var(--body); font-weight: 600; line-height: 1.5; text-decoration: none; }
.button:hover { color: var(--white); background: var(--accent); border-color: var(--accent); text-decoration: none; }
.button:active { color: var(--white); background: var(--text); border-color: var(--text); }
.button:disabled { cursor: not-allowed; color: var(--muted); background: var(--line); border-color: var(--line); }
.button-light { color: var(--navy); background: var(--white); border-color: var(--white); }
.button-light:hover { color: var(--navy); background: var(--surface); border-color: var(--surface); }
.button-light:active { color: var(--navy); background: var(--line); border-color: var(--line); }
.skip-link { position: absolute; top: -120px; left: var(--s16); z-index: 100; padding: var(--s12) var(--s16); background: var(--white); color: var(--navy); }
.skip-link:focus { top: var(--s12); }
.site-header { background: var(--white); border-bottom: 1px solid var(--line); }
.header-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s12) var(--s32); padding-block: var(--s16); }
.brand { color: var(--navy); font-size: 1.25rem; line-height: 1.25; font-weight: 750; letter-spacing: .005em; white-space: nowrap; }
.brand:hover { color: var(--accent); text-decoration: none; }
.brand span { display: block; color: var(--muted); font-size: .8125rem; line-height: 1.5; letter-spacing: 0; font-weight: 400; margin-top: var(--s8); white-space: normal; }
.site-navigation { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: var(--s24); }
.site-navigation > a:not(.button) { color: var(--muted); min-height: 44px; display: flex; align-items: center; font-size: .875rem; line-height: 1.5; border-bottom: 2px solid transparent; padding-block: var(--s8); }
.site-navigation > a:not(.button):hover { color: var(--accent); text-decoration: none; border-color: var(--line); }
.site-navigation > a[aria-current="page"]:not(.button) { color: var(--accent); border-color: var(--accent); }
.site-navigation .button { margin-left: auto; font-size: .875rem; min-height: 52px; padding-inline: var(--s16); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: var(--s12) var(--s8); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); flex-shrink: 0; }
.menu-toggle:hover { border-color: var(--accent); background: var(--surface); }
.menu-toggle:active { background: var(--line); }
.menu-toggle span { display: block; height: 2px; background: var(--navy); margin-block: 5px; }
.hero { --focus: var(--focus-on-dark); color: var(--on-dark); background: var(--navy); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: var(--column-gap); padding-block: 72px; align-items: start; }
.hero h1 { max-width: 16ch; color: var(--on-dark); font-size: clamp(2.125rem, 4.2vw, var(--h1)); }
.hero .lead { color: var(--muted-on-dark); max-width: 30rem; margin-bottom: var(--s32); }
.hero .eyebrow { color: var(--link-on-dark); }
.hero-services { min-width: 0; }
.hero-services h2 { font-size: var(--small); font-weight: 600; letter-spacing: .06em; line-height: 1.5; }
.hero-service-list { border-top: 1px solid var(--line-on-dark); }
.hero-service-list a { display: flex; justify-content: space-between; align-items: center; gap: var(--s24); min-height: 54px; padding-block: var(--s16); color: var(--on-dark); border-bottom: 1px solid var(--line-on-dark); font-size: 1rem; line-height: 1.5; }
.hero-service-list a:hover { color: var(--link-on-dark); text-decoration: none; }
.hero-service-list a:active { color: var(--white); }
.hero-service-list a > span:last-child { color: var(--link-on-dark); flex-shrink: 0; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s32); margin-bottom: var(--s32); }
.section-heading h2 { max-width: 28ch; margin-bottom: 0; }
.section-heading .text-link { flex-shrink: 0; }
.specializations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--s32); list-style: none; padding: 0; margin: 0; }
.specializations li { border-bottom: 1px solid var(--line); padding-block: var(--s16); line-height: 1.5; min-width: 0; }
.split-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--column-gap); }
.section-copy { max-width: 44ch; color: var(--muted); margin-bottom: var(--s16); }
.workflow-list { margin: 0; }
.workflow-list > div { border-bottom: 1px solid var(--line); padding-block: var(--s24); }
.workflow-list > div:first-child { padding-top: 0; }
.workflow-list > div:last-child { border: 0; padding-bottom: 0; }
.workflow-list dt { font-size: var(--h3); line-height: 1.3; font-weight: 600; margin-bottom: var(--s8); }
.workflow-list dd { margin: 0; color: var(--muted); }
.contact-column { border-top: 1px solid var(--line); padding-top: var(--s24); display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.contact-column > p { max-width: 44ch; }
.contact-column address { max-width: 34ch; margin-block: var(--s16); }
.column-action { margin-top: auto; padding-top: var(--s16); min-height: 70px; display: flex; align-items: center; }
.page-intro { background: var(--surface); padding-block: 64px; }
.page-intro h1 { max-width: 22ch; font-size: 3.5rem; }
.page-intro .lead { margin-bottom: 0; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s24); align-items: stretch; }
.service-card { position: relative; padding: var(--s24); border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 24px; }
.anchor-alias { position: absolute; top: 0; scroll-margin-top: 24px; }
.service-heading { display: flex; align-items: flex-start; gap: var(--s16); margin-bottom: var(--s24); }
.service-heading .line-icon { width: 28px; height: 28px; margin-top: 3px; }
.service-heading h2 { font-size: 1.25rem; line-height: 1.3; letter-spacing: -.01em; margin-bottom: 0; }
.service-content p { color: var(--muted); }
.service-bottom { margin-top: auto; padding-top: var(--s24); }
.service-result { padding-top: var(--s16); border-top: 1px solid var(--line); margin-bottom: var(--s12); }
.service-result > span { color: var(--muted); font-size: var(--small); display: block; margin-bottom: var(--s8); }
.service-result strong { display: block; font-size: var(--body); line-height: 1.5; font-weight: 600; }
.service-card .text-link { font-size: var(--small); }
.service-card-wide { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--column-gap); }
.service-card-wide .service-bottom { margin-top: 0; padding-top: 0; }
.service-card-wide .service-result { padding-top: 0; border-top: 0; }
.document-types { display: flex; flex-wrap: wrap; gap: var(--s8) var(--s24); color: var(--muted); list-style: none; margin: var(--s24) 0 0; padding: 0; font-size: var(--small); }
.company-description { max-width: 48rem; font-size: 1.0625rem; color: var(--muted); margin-bottom: var(--s48); }
.company-specialization { scroll-margin-top: 24px; }
.category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--column-gap); padding: 0; margin: 0; list-style: none; }
.category-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--s16); padding-block: var(--s24); border-bottom: 1px solid var(--line); min-width: 0; }
.category-icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--accent); background: var(--surface); border-radius: var(--radius); }
.category-icon .line-icon { width: 28px; height: 28px; }
.category-item h3 { font-size: 1.125rem; line-height: 1.35; margin: 0 0 var(--s8); letter-spacing: 0; }
.category-item p { color: var(--muted); margin: 0; font-size: var(--body); line-height: 1.6; }
.steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s32); padding: 0; margin: var(--s32) 0 0; }
.steps li { border-top: 1px solid var(--line); padding-top: var(--s24); }
.step-number { display: block; color: var(--accent); font-size: var(--small); font-weight: 600; margin-bottom: var(--s16); }
.steps h3 { font-size: 1.25rem; }
.steps p { color: var(--muted); }
.request-strip { display: flex; align-items: center; justify-content: space-between; gap: var(--s48); }
.request-strip h2 { margin-bottom: var(--s16); }
.request-strip p { max-width: 48rem; color: var(--muted); margin: 0; }
.request-strip .button { flex-shrink: 0; }
.guides { max-width: 54rem; }
.guide { border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.guide:first-child { border-top: 1px solid var(--line); }
.guide summary, .requisites summary { display: flex; justify-content: space-between; align-items: center; gap: var(--s24); list-style: none; min-height: 54px; }
.guide summary { padding-block: var(--s24); font-size: 1.25rem; line-height: 1.35; font-weight: 600; }
.guide summary::-webkit-details-marker, .requisites summary::-webkit-details-marker { display: none; }
.guide summary:hover, .requisites summary:hover { color: var(--accent); }
.guide summary:active, .requisites summary:active { color: var(--navy); }
.guide summary small { display: block; color: var(--muted); font-size: var(--small); line-height: 1.5; font-weight: 400; margin-bottom: var(--s8); }
.disclosure-symbol { width: 20px; height: 20px; flex-shrink: 0; position: relative; color: var(--accent); }
.disclosure-symbol::before, .disclosure-symbol::after { content: ''; position: absolute; background: currentColor; top: 9px; left: 2px; width: 16px; height: 2px; }
.disclosure-symbol::after { transform: rotate(90deg); }
[open] > summary .disclosure-symbol::after { display: none; }
.guide-body { max-width: 70ch; padding-bottom: var(--s24); color: var(--muted); }
.guide-body ul { margin-bottom: var(--s16); padding-left: var(--s24); }
.guide-body li { margin-bottom: var(--s8); }
.contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--column-gap); align-items: start; }
.contact-information { min-width: 0; }
.contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s8); }
.contact-details > h2, .contact-details > a { font: var(--body)/1.65 var(--font); letter-spacing: 0; margin: 0; overflow-wrap: anywhere; }
.contact-details > a { display: inline-flex; align-items: center; min-height: 44px; }
.contact-information address { max-width: 34ch; margin-block: var(--s24) var(--s32); }
.contact-documents { padding-top: var(--s24); border-top: 1px solid var(--line); margin-top: var(--s24); }
.contact-documents p { color: var(--muted); }
.requisites { margin-top: var(--s24); border-block: 1px solid var(--line); scroll-margin-top: 24px; }
.requisites summary { font-size: var(--body); font-weight: 600; color: var(--accent); padding-block: var(--s16); }
.requisites-list { margin: 0; padding-bottom: var(--s24); }
.requisites-list dt { color: var(--muted); font-size: var(--small); margin-top: var(--s16); }
.requisites-list dd { margin: var(--s8) 0 0; overflow-wrap: anywhere; }
.form-panel { background: var(--surface); border-radius: var(--radius); padding: var(--s32); min-width: 0; }
.form-panel h2 { font-size: 1.75rem; line-height: 1.25; letter-spacing: -.015em; margin-bottom: var(--s16); }
.form-intro { color: var(--muted); font-size: var(--small); margin-bottom: var(--s32); }
.field { min-width: 0; margin-bottom: var(--s12); }
.field label { display: block; font-size: var(--body); font-weight: 600; line-height: 1.5; margin-bottom: var(--s8); }
.optional { font-size: var(--small); font-weight: 400; color: var(--muted); }
.required { color: var(--accent); }
input, textarea { display: block; width: 100%; min-width: 0; padding: var(--s12) var(--s16); color: var(--text); background: var(--white); border: 1px solid var(--field-border); border-radius: var(--radius); font-size: 1rem; line-height: 1.5; }
input { min-height: 50px; }
textarea, .resize-none { resize: none; min-height: 144px; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input:hover, textarea:hover { border-color: var(--accent); }
input:focus, textarea:focus { border-color: var(--accent); }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--danger); }
.field-error { color: var(--danger); font-size: .8125rem; line-height: 1.5; min-height: 1.5em; margin: var(--s8) 0 0; }
.field-help { color: var(--muted); font-size: var(--small); margin: var(--s8) 0 0; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s16); }
.legal-links, .form-help { font-size: var(--small); color: var(--muted); line-height: 1.6; }
.legal-links { border-top: 1px solid var(--line); padding-top: var(--s24); margin-top: var(--s8); margin-bottom: var(--s24); }
.form-help { margin: var(--s16) 0 0; }
.form-result { color: var(--text); margin: var(--s16) 0 0; min-height: 3.3em; font-size: var(--small); }
.form-result:empty { margin-top: 0; }
.site-footer { border-top: 1px solid var(--line); padding-block: var(--s32); }
.footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s24) var(--s32); }
.footer-inner .brand { font-size: 1.125rem; }
.footer-inner .brand span, .footer-location, .footer-email, .footer-inner .text-link { font-size: .8125rem; }
.footer-email { color: var(--accent); min-height: 44px; display: flex; align-items: center; overflow-wrap: anywhere; }
.footer-location { color: var(--muted); }

.header-contacts { display: flex; align-items: center; gap: var(--s16); }
.header-phone { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy); font-size: var(--body); font-weight: 600; white-space: nowrap; }
.mail-button { position: relative; display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; color: var(--accent); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.mail-button svg { width: 22px; height: 22px; }
.mail-button:hover { color: var(--navy); background: var(--surface); border-color: var(--accent); }
.mail-button:active { background: var(--line); }
.mail-tooltip { position: absolute; right: 0; top: calc(100% + var(--s8)); z-index: 30; padding: var(--s8) var(--s12); background: var(--navy); color: var(--white); border-radius: var(--radius); font-size: var(--small); white-space: nowrap; visibility: hidden; pointer-events: none; }
.mail-button:hover .mail-tooltip, .mail-button:focus-visible .mail-tooltip { visibility: visible; }
.direct-contact { gap: var(--s8); }
.direct-contact h3, .direct-contact p, .direct-contact > a { font-size: var(--body); line-height: 1.65; margin: 0; }
.direct-contact h3 { font-weight: 600; }
.direct-contact > a { display: flex; align-items: center; min-height: 44px; font-weight: 400; }
.direct-contact .column-action { padding-top: var(--s16); }
.footer-legal { display: flex; flex-wrap: wrap; gap: var(--s8) var(--s24); border-top: 1px solid var(--line); margin-top: var(--s24); padding-top: var(--s16); }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--small); line-height: 1.5; }
.legal-links a, .legal-document a:not(.button), .cookie-notice p a { text-decoration: underline; text-underline-offset: .2em; }
.legal-intro h1 { font-size: clamp(2.125rem, 4vw, 3rem); max-width: 28ch; overflow-wrap: anywhere; }
.legal-document { max-width: 76ch; }
.legal-document h2 { font-size: var(--h3); line-height: 1.3; letter-spacing: 0; margin-top: var(--s32); margin-bottom: var(--s16); }
.legal-document p, .legal-document li, .legal-document dd { overflow-wrap: anywhere; }
.legal-document ul { padding-left: var(--s24); }
.legal-document li { margin-bottom: var(--s12); }
.consent-draft { padding-left: var(--s24); border-left: 1px solid var(--line); }
.storage-description { margin-block: var(--s24); }
.storage-description dt { font-weight: 600; margin-bottom: var(--s8); }
.storage-description dd { margin: 0 0 var(--s16); color: var(--muted); }
.cookie-notice { background: var(--surface); border-top: 1px solid var(--line); padding-block: var(--s24); }
.cookie-notice-inner { display: flex; align-items: center; gap: var(--s32); justify-content: space-between; }
.cookie-notice h2 { font-size: var(--body); line-height: 1.5; letter-spacing: 0; margin-bottom: var(--s8); }
.cookie-notice h2:focus { outline: 3px solid var(--focus); outline-offset: 4px; }
.cookie-notice p { max-width: 80ch; color: var(--muted); font-size: var(--small); margin: 0; }
.cookie-notice .button { flex-shrink: 0; }
.button-outline { background: var(--white); color: var(--navy); border-color: var(--field-border); }
.button-outline:hover { background: var(--surface); color: var(--accent); border-color: var(--accent); }
.button-outline:active { background: var(--line); color: var(--navy); }
.cookie-status { margin-top: var(--s16); min-height: 3.3em; font-size: var(--small); }
[hidden] { display: none !important; }
.document-meta { color: var(--muted); font-size: var(--small); padding-bottom: var(--s24); border-bottom: 1px solid var(--line); }
@media (max-width: 1200px) {
  :root { --column-gap: 48px; }
}
@media (max-width: 1100px) {
  :root { --gutter: 32px; }
  .header-inner { gap: var(--s12) var(--s16); }
  .header-contacts { grid-column: 1 / -1; justify-content: flex-start; }
  .menu-toggle { grid-column: 2; grid-row: 1; }
  .site-navigation { width: 100%; justify-content: flex-start; }
  .js-ready .menu-toggle { display: block; }
  .js-ready .site-navigation { display: none; position: absolute; inset: 100% 0 auto; width: 100%; z-index: 20; padding: var(--s24); background: var(--white); border: 1px solid var(--line); max-height: 70vh; max-height: calc(100dvh - 128px); overflow-y: auto; }
  .js-ready .site-navigation.is-open { display: flex; flex-direction: column; align-items: stretch; gap: var(--s8); }
  .site-navigation > a:not(.button) { min-height: 44px; padding-block: var(--s12); }
  .site-navigation .button { align-self: flex-start; margin-left: 0; margin-top: var(--s8); }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s32); }
}
@media (max-width: 900px) {
  :root { --gutter: 24px; --column-gap: 32px; --section-space: 72px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); padding-block: 64px; gap: var(--s48); }
  .hero h1 { max-width: 21ch; font-size: 3rem; }
  .hero .lead { max-width: 38rem; }
  .specializations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-heading { align-items: flex-start; flex-direction: column; gap: var(--s16); }
  .category-grid { column-gap: var(--s32); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .request-strip { align-items: flex-start; flex-direction: column; gap: var(--s24); }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: var(--s48); }
  .contact-information { max-width: 44rem; }
  .contact-information .requisites { max-width: 38rem; }
}
@media (max-width: 700px) {
  .split-grid, .category-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s32); }
  .category-grid { gap: 0; }
  .contact-home-grid { gap: var(--s32); }
}
@media (max-width: 600px) {
  :root { --gutter: 20px; --section-space: 48px; --h1: 2.25rem; --h2: 1.8125rem; --h3: 1.25rem; }
  .header-inner { padding-block: var(--s16); }
  .brand { font-size: 1.125rem; white-space: normal; max-width: calc(100% - 64px); }
  .brand span { font-size: .8125rem; }
    .hero-grid { padding-block: 48px; gap: var(--s32); }
  .hero h1 { font-size: var(--h1); max-width: 19ch; letter-spacing: -.02em; }
  .hero .lead { font-size: var(--body); margin-bottom: var(--s24); }
  .hero-service-list a { padding-block: var(--s12); min-height: 48px; font-size: var(--body); gap: var(--s16); }
  .hero-services h2 { font-size: var(--small); }
  .section-after-intro { padding-top: var(--s32); }
  .page-intro { padding-block: var(--s48); }
  .page-intro h1 { font-size: var(--h1); }
  .page-intro .lead { font-size: var(--body); }
  .section-heading { margin-bottom: var(--s24); }
  .specializations, .service-grid, .steps, .form-row { grid-template-columns: minmax(0, 1fr); }
  .specializations { column-gap: 0; }
  .service-card-wide { display: flex; gap: 0; }
  .service-card-wide .service-bottom { margin-top: auto; padding-top: var(--s24); }
  .service-card-wide .service-result { padding-top: var(--s16); border-top: 1px solid var(--line); }
  .service-heading h2 { font-size: 1.25rem; }
  .workflow-list dt { font-size: var(--h3); }
  .workflow-list > div { padding-block: var(--s16); }
  .category-item { grid-template-columns: 44px minmax(0, 1fr); gap: var(--s16); }
  .category-icon { width: 44px; height: 44px; }
  .steps { gap: var(--s24); }
  .steps h3 { font-size: var(--h3); }
  .guide summary { font-size: 1.125rem; gap: var(--s16); }
  .form-panel { padding: var(--s24); }
  .form-panel h2 { font-size: 1.5rem; }
  .form-row { gap: 0; }
  .field label { font-size: var(--body); }
  .optional { display: block; }
  input, textarea { font-size: 1rem; }
  .cookie-notice-inner { flex-direction: column; align-items: flex-start; gap: var(--s16); }
  .footer-legal { flex-direction: column; gap: var(--s8); }
  .footer-inner { align-items: flex-start; flex-direction: column; gap: var(--s16); }
  .footer-inner .brand { max-width: 100%; }
  .footer-inner .brand span { font-size: .8125rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  * { scrollbar-color: auto; }
  .button, .menu-toggle, .service-card, input, textarea { border: 1px solid ButtonText; }
  a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible { outline-color: Highlight; }
}

/* Server-backed request form; same shared palette and controls. */
.consent-field { margin-block: var(--s16); }
.consent-label { display: flex; align-items: flex-start; gap: var(--s12); font-weight: 400; }
.consent-label input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 4px 0 0; accent-color: var(--accent); }
.consent-label span { min-width: 0; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#new-request { margin-top: var(--s16); }
