:root {
  --page: #f7f7f6;
  --tint: #ececea;
  --tone: #1b1c1d;
  --soft: #55585b;
  --lead: #2a2d30;
  --spot: #7a7f84;
  --anchor: #2a2d30;
  --on-lead: #f7f7f6;
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --fs-h1: clamp(35.2px, 1.055vw + 31.25px, 43.9px);
  --fs-h2: clamp(28.1px, 0.861vw + 24.87px, 35.2px);
  --fs-h3: clamp(22.5px, 0.679vw + 19.95px, 28.1px);
  --fs-h4: clamp(20.1px, 0.291vw + 19.01px, 22.5px);
  --rad: 8px;
  --bs-body-bg: var(--page);
  --bs-body-bg-rgb: 247, 247, 246;
  --bs-body-color: var(--tone);
  --bs-body-color-rgb: 27, 28, 29;
  --bs-body-font-family: var(--font-body);
  --bs-body-font-size: 1.125rem;
  --bs-body-line-height: 1.6;
  --bs-emphasis-color: var(--tone);
  --bs-emphasis-color-rgb: 27, 28, 29;
  --bs-heading-color: inherit;
  --bs-secondary-color: var(--soft);
  --bs-secondary-rgb: 85, 88, 91;
  --bs-tertiary-color: var(--soft);
  --bs-secondary-bg: var(--tint);
  --bs-secondary-bg-rgb: 236, 236, 234;
  --bs-tertiary-bg: var(--tint);
  --bs-tertiary-bg-rgb: 236, 236, 234;
  --bs-primary: var(--lead);
  --bs-primary-rgb: 42, 45, 48;
  --bs-link-color: var(--anchor);
  --bs-link-color-rgb: 42, 45, 48;
  --bs-link-hover-color: var(--tone);
  --bs-link-hover-color-rgb: 27, 28, 29;
  --bs-light-rgb: 236, 236, 234;
  --bs-dark-rgb: 27, 28, 29;
  --bs-border-color: color-mix(in srgb, var(--tone) 16%, var(--page));
  --bs-border-radius: var(--rad);
  --bs-border-radius-sm: calc(var(--rad) * .6);
  --bs-border-radius-lg: calc(var(--rad) * 1.4);
  --bs-border-radius-xl: calc(var(--rad) * 1.8);
  --bs-focus-ring-color: color-mix(in srgb, var(--lead) 40%, transparent);
}

html {
  color-scheme: light;
}

body {
  background: var(--page);
  color: var(--tone);
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.15;
  color: inherit;
}

h1, .h1 { font-size: var(--fs-h1); }
h2, .h2 { font-size: var(--fs-h2); }
h3, .h3 { font-size: var(--fs-h3); }
h4, .h4 { font-size: var(--fs-h4); }

.btn-primary {
  --bs-btn-color: var(--on-lead);
  --bs-btn-bg: var(--lead);
  --bs-btn-border-color: var(--lead);
  --bs-btn-hover-color: var(--on-lead);
  --bs-btn-hover-bg: color-mix(in srgb, var(--lead) 88%, #000000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--lead) 88%, #000000);
  --bs-btn-active-color: var(--on-lead);
  --bs-btn-active-bg: color-mix(in srgb, var(--lead) 80%, #000000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--lead) 80%, #000000);
  --bs-btn-disabled-color: var(--on-lead);
  --bs-btn-disabled-bg: var(--lead);
  --bs-btn-disabled-border-color: var(--lead);
}

.btn-outline-primary {
  --bs-btn-color: var(--anchor);
  --bs-btn-border-color: var(--lead);
  --bs-btn-hover-color: var(--on-lead);
  --bs-btn-hover-bg: var(--lead);
  --bs-btn-hover-border-color: var(--lead);
  --bs-btn-active-color: var(--on-lead);
  --bs-btn-active-bg: var(--lead);
  --bs-btn-active-border-color: var(--lead);
}

/* Bootstrap красит .bg-* только фоном, а текст наследуется: на .bg-primary
   выходил основной текст (до 1.2:1), на тёмной основе .bg-light — светлый
   текст на светлом (1:1). Здесь у каждой заливки своя пара из гарантированных,
   и ссылки со вторичным текстом внутри .bg-primary тоже берут onPrimary */
.bg-primary {
  color: var(--on-lead);
  --bs-body-color-rgb: 247, 247, 246;
  --bs-emphasis-color-rgb: 247, 247, 246;
  --bs-secondary-color: var(--on-lead);
  --bs-secondary-rgb: 247, 247, 246;
  --bs-link-color: var(--on-lead);
  --bs-link-color-rgb: 247, 247, 246;
  --bs-link-hover-color: var(--on-lead);
  --bs-link-hover-color-rgb: 247, 247, 246;
}

.bg-primary .btn-outline-primary {
  --bs-btn-color: var(--on-lead);
  --bs-btn-border-color: var(--on-lead);
  --bs-btn-hover-color: var(--lead);
  --bs-btn-hover-bg: var(--on-lead);
  --bs-btn-hover-border-color: var(--on-lead);
  --bs-btn-active-color: var(--lead);
  --bs-btn-active-bg: var(--on-lead);
  --bs-btn-active-border-color: var(--on-lead);
}

/* «Светлая» заливка — панель на обеих основах: на тёмной --bs-light-rgb
   равен цвету текста (он нужен .text-light), и фон совпадал бы с текстом */
.bg-light {
  background-color: var(--tint) !important;
  color: var(--tone);
}

.bg-body {
  color: var(--tone);
}

.bg-dark {
  color: var(--page);
}

/* Панели и поля внутри заливки primary возвращают переменные корня: иначе
   ссылки и подсказки полей на белой карточке вышли бы цветом onPrimary */
.bg-primary :where(.bg-body, .bg-light, .card, .form-control, .form-select, .dropdown-menu, .list-group-item, .accordion-item) {
  --bs-body-color-rgb: 27, 28, 29;
  --bs-emphasis-color-rgb: 27, 28, 29;
  --bs-secondary-color: var(--soft);
  --bs-secondary-rgb: 85, 88, 91;
  --bs-link-color: var(--anchor);
  --bs-link-color-rgb: 42, 45, 48;
  --bs-link-hover-color: var(--tone);
  --bs-link-hover-color-rgb: 27, 28, 29;
}

:where(img[height][width]) { height: auto; }

.site-header{background:var(--page);color:var(--tone);border-bottom:1px solid var(--tint);font-family:var(--font-body)}
.site-header .navbar{padding-top:.75rem;padding-bottom:.75rem}
.site-header .brand{display:flex;align-items:center;gap:.6rem;color:var(--tone);text-decoration:none;font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin-right:.5rem}
.site-header .brand img{width:41px;height:41px;flex-shrink:0}
.site-header .nav-link{color:var(--soft);font-size:1rem;padding:.5rem .75rem;border-radius:var(--rad);transition:color .2s,background-color .2s}
.site-header .nav-link:hover{color:var(--tone);background:var(--tint)}
.site-header .nav-link:focus-visible,.site-header .brand:focus-visible,.site-header .navbar-toggler:focus-visible{outline:2px solid var(--lead);outline-offset:2px;box-shadow:none}
.site-header .navbar-toggler{border:1px solid var(--soft);border-radius:var(--rad);padding:.35rem .6rem;color:var(--tone)}
.site-header .navbar-toggler:focus{box-shadow:none}
.site-header .toggler-bars{display:block;width:22px;height:2px;background:var(--tone);position:relative}
.site-header .toggler-bars::before,.site-header .toggler-bars::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--tone)}
.site-header .toggler-bars::before{top:-7px}
.site-header .toggler-bars::after{top:7px}
@media (max-width:991.98px){.site-header .navbar-nav{padding-top:.5rem}.site-header .nav-link{padding:.6rem .5rem}}

#services-section{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;line-height:1.7;padding:56px 0}
#services-section .sv-col{max-width:780px;margin:0 auto;padding:0 20px}
#services-section h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.25;color:var(--tone);margin-bottom:20px}
#services-section h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.3;color:var(--tone);margin:48px 0 16px}
#services-section h3{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.35;color:var(--tone);margin:0}
#services-section .sv-intro{color:var(--soft)}
#services-section .sv-list{margin:32px 0 0;border-top:1px solid rgba(0,0,0,.12)}
#services-section .sv-row{padding:24px 0;border-bottom:1px solid rgba(0,0,0,.12)}
#services-section .sv-row p{margin:0;color:var(--tone)}
#services-section .sv-row .sv-inc{color:var(--soft);margin-top:8px}
#services-section .table{font-size:18px;color:var(--tone);margin:0}
#services-section .table th,#services-section .table td{background:transparent;color:var(--tone);padding:12px 10px;vertical-align:top}
#services-section .table thead th{font-family:var(--font-display);border-bottom:2px solid var(--spot)}
#services-section .sv-note{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:24px;margin-top:24px}
#services-section .sv-note p{color:var(--soft);margin:0}
#services-section a:not(.btn){color:var(--anchor)}
#services-section .btn-primary{background:var(--lead);border-color:var(--lead);color:var(--on-lead);border-radius:var(--rad);padding:12px 26px;font-size:18px}
#services-section .btn-primary:focus-visible{outline:3px solid var(--anchor);outline-offset:3px}
#services-section .sv-cta{margin-top:48px}
#services-section .sv-cta p{color:var(--soft)}
@media(min-width:768px){#services-section h3{padding-right:16px}}

.site-footer{background:var(--tint);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:52px 0 72px;margin-top:48px}
.site-footer .fcol{max-width:760px}
.site-footer h2{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--tone);margin-bottom:.75rem}
.site-footer h3{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone);margin-bottom:.5rem}
.site-footer p{color:var(--soft);line-height:1.65;margin-bottom:1rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.4rem}
.site-footer a{color:var(--anchor);text-decoration:underline;text-underline-offset:3px}
.site-footer a:focus-visible,#privacyNotice a:focus-visible,#privacyNotice button:focus-visible{outline:2px solid var(--lead);outline-offset:2px}
.site-footer .frule{border-top:1px solid var(--soft);opacity:.35;margin:1.5rem 0}
.site-footer .copy{color:var(--soft);margin:0}
#privacyNotice{position:fixed;left:0;right:0;bottom:0;z-index:1080;background:var(--page);color:var(--tone);border-top:2px solid var(--lead);font-family:var(--font-body);box-shadow:0 -4px 18px rgba(0,0,0,.12);max-height:60vh;overflow-y:auto}
#privacyNotice .pn-title{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone);margin:0 0 .35rem}
#privacyNotice p,#privacyNotice li{font-size:18px;line-height:1.45;color:var(--soft);margin:0}
#privacyNotice ul{padding-left:1.1rem;margin:.4rem 0 .6rem}
#privacyNotice strong{color:var(--tone)}
#privacyNotice a{color:var(--anchor)}
#privacyNotice .btn{background:var(--page);color:var(--lead);border:1px solid var(--lead);border-radius:var(--rad);min-width:0}
#privacyNotice .btn:hover{background:var(--lead);color:var(--on-lead)}

#contact-page{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:56px 0}
#contact-page .cp-col{max-width:760px;margin:0 auto;padding:0 20px}
#contact-page h1,#contact-page h2{font-family:var(--font-display);color:var(--tone);line-height:1.3}
#contact-page h1{font-size:var(--fs-h1);margin-bottom:20px}
#contact-page h2{font-size:var(--fs-h3);margin:40px 0 14px}
#contact-page p,#contact-page li{line-height:1.7;color:var(--tone)}
#contact-page .cp-soft{color:var(--soft)}
#contact-page a{color:var(--anchor)}
#contact-page .cp-list{padding-left:1.2rem}
#contact-page .cp-form{background:var(--tint);border-radius:var(--rad);padding:28px 24px;margin-top:12px}
#contact-page .form-label{font-weight:500;color:var(--tone)}
#contact-page .form-control{font-size:18px;border-radius:var(--rad);background:var(--page);color:var(--tone)}
#contact-page .form-control:focus,#contact-page .btn:focus-visible,#contact-page a:focus-visible{outline:3px solid var(--lead);outline-offset:2px;box-shadow:none}
#contact-page .btn-primary{background:var(--lead);border-color:var(--lead);color:var(--on-lead);border-radius:var(--rad);font-size:18px;padding:10px 26px}
#contact-page .cp-cta{margin-top:40px;padding-top:24px;border-top:1px solid var(--spot)}

#about-section{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:52px 0}
#about-section .ab-col{max-width:760px;margin:0 auto;padding:0 20px}
#about-section h1,#about-section h2,#about-section h3{font-family:var(--font-display);color:var(--tone);line-height:1.3}
#about-section h1{font-size:var(--fs-h1);margin-bottom:24px}
#about-section h2{font-size:var(--fs-h2);margin:48px 0 16px}
#about-section h3{font-size:var(--fs-h3);margin:28px 0 10px}
#about-section p,#about-section li{line-height:1.7;font-size:18px}
#about-section .ab-lead{color:var(--soft);font-size:var(--fs-h4);line-height:1.6}
#about-section .ab-fig{margin:36px 0}
#about-section .ab-fig img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;border-radius:var(--rad);display:block}
#about-section .ab-fig figcaption{color:var(--soft);font-size:18px;margin-top:10px;line-height:1.5}
#about-section .ab-panel{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:24px 26px;margin:28px 0}
#about-section .ab-panel ul{margin:0;padding-left:20px}
#about-section a{color:var(--anchor)}
#about-section a:focus-visible,#about-section .btn:focus-visible,#about-section summary:focus-visible{outline:3px solid var(--lead);outline-offset:3px}
#about-section details{border-bottom:1px solid var(--tint);padding:14px 0}
#about-section summary{cursor:pointer;font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone)}
#about-section details p{color:var(--soft);margin:10px 0 0}
#about-section .ab-cta{margin-top:48px;padding-top:32px;border-top:1px solid var(--tint)}
#about-section .ab-cta .btn{background:var(--lead);color:var(--on-lead);border-color:var(--lead);border-radius:var(--rad);padding:12px 26px;font-size:18px}
@media (max-width:576px){#about-section{padding:48px 0}#about-section .ab-panel{padding:20px 18px}}

#faq-main{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:56px 0}
#faq-main .faq-col{max-width:760px;margin:0 auto;padding:0 20px}
#faq-main h1,#faq-main h2{font-family:var(--font-display);color:var(--tone);line-height:1.3}
#faq-main h1{font-size:var(--fs-h1);margin-bottom:1rem}
#faq-main h2{font-size:var(--fs-h2);margin:48px 0 .75rem}
#faq-main .faq-intro,#faq-main .faq-group-lead{color:var(--soft);line-height:1.7}
#faq-main a{color:var(--anchor)}
#faq-main .accordion{--bs-accordion-bg:var(--page);--bs-accordion-color:var(--tone);--bs-accordion-border-color:var(--tint);--bs-accordion-border-radius:var(--rad);--bs-accordion-inner-border-radius:var(--rad);--bs-accordion-active-bg:var(--tint);--bs-accordion-active-color:var(--tone);--bs-accordion-btn-focus-box-shadow:0 0 0 3px rgba(0,0,0,.2)}
#faq-main .accordion-button{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--tone);background:var(--page)}
#faq-main .accordion-button:not(.collapsed){background:var(--tint);color:var(--tone)}
#faq-main .accordion-body{line-height:1.7;color:var(--tone);font-size:18px}
#faq-main .faq-cta{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:28px;margin-top:48px}
#faq-main .faq-cta p{color:var(--soft);margin-bottom:1rem}
#faq-main .faq-cta .btn{background:var(--lead);color:var(--on-lead);border-color:var(--lead);border-radius:var(--rad);padding:.6rem 1.4rem}
#faq-main .faq-cta .btn:focus-visible{outline:3px solid var(--tone);outline-offset:2px}

.ty-section{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:4rem 0}
.ty-wrap{max-width:38rem}
.ty-icon{width:3rem;height:3rem;color:var(--lead);margin-bottom:1.5rem}
.ty-section h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.25;color:var(--tone);margin-bottom:1.25rem}
.ty-section p{line-height:1.7;margin-bottom:1rem}
.ty-section .ty-note{color:var(--soft)}
.ty-section .btn-primary{border-radius:var(--rad);font-size:18px;padding:.75rem 1.5rem;margin-top:1rem}
.ty-section .btn-primary:focus-visible{outline:3px solid var(--tone);outline-offset:3px}
@media (max-width:575.98px){.ty-section{padding:2.5rem 0}}

.hero-fl{background:var(--page);color:var(--tone);padding:56px 0 48px;font-family:var(--font-body)}
.hero-fl .col-read{max-width:760px}
.hero-fl h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.2;color:var(--tone);margin:0 0 20px}
.hero-fl .rule{border:0;border-top:1px solid var(--spot);opacity:1;width:100%;margin:0 0 24px}
.hero-fl h2{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.4;color:var(--soft);font-weight:400;margin:0 0 16px}
.hero-fl p{font-size:18px;line-height:1.7;color:var(--tone);margin:0 0 28px}
.hero-fl .btn-main{background:var(--lead);color:var(--on-lead);border:1px solid var(--lead);border-radius:var(--rad);padding:12px 24px;font-size:18px;font-family:var(--font-body);transition:opacity .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:10px}
.hero-fl .btn-main:hover{opacity:.88;color:var(--on-lead);transform:translateY(-1px)}
.hero-fl .btn-main:focus-visible{outline:3px solid var(--anchor);outline-offset:3px}

#company{padding:52px 0;background:var(--page);color:var(--tone);font-family:var(--font-body)}
#company .col-read{max-width:760px;margin:0 auto;padding:0 16px}
#company h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:20px}
#company p{font-size:18px;line-height:1.7;color:var(--tone);margin-bottom:16px}
#company .note{color:var(--soft)}
#company figure{margin:0}
#company img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;border-radius:var(--rad);display:block}
#company figcaption{font-size:18px;color:var(--soft);margin-top:8px;line-height:1.5}
#company a.more{color:var(--anchor);text-decoration:underline;text-underline-offset:3px}
#company a.more:focus-visible{outline:2px solid var(--lead);outline-offset:3px;border-radius:4px}

#services{background:var(--page);color:var(--tone);font-family:var(--font-body);font-size:18px;padding:52px 0}
#services .col-read{max-width:760px;margin:0 auto}
#services h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:16px}
#services .intro{color:var(--soft);line-height:1.7;margin-bottom:32px}
#services .ledger{margin:0 0 32px;padding:0;list-style:none}
#services .ledger li{display:flex;align-items:baseline;gap:8px;padding:6px 0}
#services .ledger a{color:var(--tone);text-decoration:none;font-family:var(--font-display)}
#services .ledger a:hover,#services .ledger a:focus-visible{color:var(--anchor);text-decoration:underline}
#services .ledger .dots{flex:1;border-bottom:2px dotted var(--spot);transform:translateY(-4px);min-width:24px}
#services .ledger .num{font-variant-numeric:tabular-nums;color:var(--soft)}
#services dl{margin:0}
#services .svc{padding:20px 0;border-top:1px solid var(--tint)}
#services dt{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:600;color:var(--tone);line-height:1.4}
#services dt .num{display:block;font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--soft);font-weight:400;font-size:18px}
#services dd{margin:8px 0 0;line-height:1.7;color:var(--tone)}
#services .note{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:20px 24px;margin-top:28px;line-height:1.7}
#services .btn-primary{color:var(--on-lead);border-radius:var(--rad);padding:10px 22px;margin-top:12px}
#services a:focus-visible{outline:2px solid var(--anchor);outline-offset:3px}
@media(min-width:768px){#services dd{margin-top:0}}

#help{background:var(--page);color:var(--tone);padding:52px 0;font-family:var(--font-body);font-size:18px}
#help .faq-col{max-width:760px;margin:0 auto}
#help h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:12px}
#help .intro{color:var(--soft);line-height:1.7;margin-bottom:28px}
#help .accordion{--bs-accordion-bg:var(--page);--bs-accordion-color:var(--tone);--bs-accordion-border-color:var(--tint);--bs-accordion-border-radius:var(--rad);--bs-accordion-inner-border-radius:var(--rad);--bs-accordion-btn-color:var(--tone);--bs-accordion-active-color:var(--tone);--bs-accordion-active-bg:var(--tint);--bs-accordion-btn-focus-box-shadow:0 0 0 3px var(--lead)}
#help .accordion-button{font-family:var(--font-display);font-size:var(--fs-h4);line-height:1.4;padding:18px 20px;background:var(--page);color:var(--tone)}
#help .accordion-button:not(.collapsed){background:var(--tint);color:var(--tone);box-shadow:none}
#help .accordion-body{line-height:1.75;color:var(--tone);padding:6px 20px 22px;background:var(--tint)}
#help .accordion-body p{margin-bottom:12px}
#help .accordion-body p:last-child{margin-bottom:0}
#help a{color:var(--anchor)}
#help .btn-primary{background:var(--lead);border-color:var(--lead);color:var(--on-lead);border-radius:var(--rad);padding:12px 24px;font-size:18px}
#help .btn-primary:focus-visible{outline:3px solid var(--tone);outline-offset:2px}
#help .after{margin-top:28px;color:var(--soft);line-height:1.7}

#why-us{background:var(--page);color:var(--tone);padding:52px 0;font-family:var(--font-body);font-size:18px}
#why-us .wu-col{max-width:760px;margin:0 auto;padding:0 1rem}
#why-us h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:.75rem}
#why-us .wu-intro{color:var(--soft);line-height:1.7;margin-bottom:2rem}
#why-us .wu-card{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:1.4rem 1.4rem 1.2rem;height:100%;border:1px solid transparent;transition:border-color .2s ease,background-color .2s ease}
#why-us .wu-card:hover,#why-us .wu-card:focus-within{border-color:var(--lead);background:var(--page)}
#why-us .wu-card i{font-size:1.5rem;color:var(--lead);display:block;margin-bottom:.6rem}
#why-us h3{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone);line-height:1.35;margin-bottom:.5rem}
#why-us .wu-card p{color:var(--soft);line-height:1.65;margin:0;font-size:18px}
#why-us .wu-wide{grid-column:1/-1}
#why-us .wu-foot{margin-top:2rem;color:var(--soft);line-height:1.7}
#why-us .btn-primary{background:var(--lead);border-color:var(--lead);color:var(--on-lead);border-radius:var(--rad);padding:.6rem 1.3rem;font-size:18px}
#why-us .btn-primary:focus-visible{outline:3px solid var(--anchor);outline-offset:3px}

#how-we-work{background:var(--page);color:var(--tone);padding:52px 0;font-family:var(--font-body);font-size:18px}
#how-we-work .hw-col{max-width:760px;margin:0 auto;padding:0 16px}
#how-we-work h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:12px}
#how-we-work .hw-intro{color:var(--soft);line-height:1.7;margin-bottom:28px}
#how-we-work .hw-card{height:100%;border:1px solid rgba(0,0,0,.12);border-radius:var(--rad);padding:18px;background:var(--page);transition:transform .2s ease,box-shadow .2s ease}
#how-we-work .hw-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.06)}
#how-we-work .hw-card i{font-size:1.3rem;color:var(--lead);display:block;margin-bottom:8px}
#how-we-work h3{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone);margin-bottom:6px}
#how-we-work .hw-card p{color:var(--soft);line-height:1.65;margin:0;font-size:18px}
#how-we-work .hw-link{color:var(--anchor)}
#how-we-work .hw-link:focus-visible{outline:2px solid var(--lead);outline-offset:3px}

#contacts{background:var(--page);color:var(--tone);padding:52px 0;font-family:var(--font-body);font-size:18px}
#contacts .col-read{max-width:760px;margin:0 auto;padding:0 20px}
#contacts h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin-bottom:16px}
#contacts h3{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--tone);line-height:1.35;margin:28px 0 10px}
#contacts p,#contacts li{line-height:1.7;color:var(--tone)}
#contacts .soft{color:var(--soft)}
#contacts ul{padding-left:1.2rem;margin-bottom:0}
#contacts a.mail{color:var(--anchor);text-underline-offset:3px}
#contacts .form-panel{background:var(--tint);color:var(--tone);border-radius:var(--rad);padding:28px 24px;margin-top:28px;position:relative}
#contacts label{font-size:18px;color:var(--tone);margin-bottom:6px}
#contacts .form-control{font-size:18px;font-family:var(--font-body);color:var(--tone);background:var(--page);border-radius:var(--rad)}
#contacts .form-control::placeholder{color:var(--soft)}
#contacts .form-control:focus{border-color:var(--lead);box-shadow:0 0 0 3px rgba(0,0,0,.12)}
#contacts .btn-primary{background:var(--lead);border-color:var(--lead);color:var(--on-lead);font-size:18px;border-radius:var(--rad);padding:10px 26px}
#contacts .btn-primary:focus-visible{outline:3px solid var(--tone);outline-offset:3px}
@media(max-width:576px){#contacts .form-panel{padding:22px 16px}}

#legal{background:var(--tint);color:var(--tone);padding:52px 0;font-family:var(--font-body)}
#legal .legal-col{max-width:740px;margin:0 auto;padding:0 20px}
#legal h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--tone);line-height:1.3;margin:0 0 20px;display:flex;align-items:center;gap:12px}
#legal .bi{color:var(--lead);font-size:var(--fs-h3);flex-shrink:0}
#legal p{font-size:18px;line-height:1.7;color:var(--tone);margin:0}
#legal .legal-box{background:var(--page);border-left:3px solid var(--lead);border-radius:var(--rad);padding:24px}
@media (max-width:575px){#legal .legal-box{padding:18px}}

/* Цвет текста кнопок закреплён: правило блока вида «#about a { color: … }»
   по специфичности перебивало .btn-primary, и кнопка выходила светлым
   текстом на светлой заливке */
a.btn-primary, .btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  color: var(--on-lead) !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--lead);
  outline-offset: 2px;
}

footer a {
  text-decoration: underline;
  text-underline-offset: .2em;
}

/* Название в шапке набрано заголовочным шрифтом; крупное, оно выталкивает
   кнопку меню на вторую строку телефона */
@media (max-width: 575.98px) {
  .navbar-brand, .navbar-brand * {
    font-size: 1.25rem !important;
    line-height: 1.2;
  }
  .navbar-brand {
    min-width: 0;
    max-width: calc(100% - 64px);
    white-space: normal;
  }
}

footer small, footer .small {
  font-size: max(.875rem, 14px);
}

@keyframes intro-74 {
  from { opacity: 0; transform: translateX(-16px); }
  to { opacity: 1; transform: none; }
}

.top-block-57 > * {
  animation: intro-74 520ms cubic-bezier(.2, .7, .2, 1) both;
}

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