/* Заполняемый шаблон «О компании»: отдельно от перегенерируемых assets/css. */
.ab { color:#17313d; font-family:Inter,Arial,sans-serif; background:#fff; }
.ab * { box-sizing:border-box; }
.ab :is(h1,h2,h3) { color:#17313d; font-family:Lora,Georgia,serif; font-weight:600; letter-spacing:-.03em; overflow-wrap:anywhere; }
.ab :is(p,li,dd) { overflow-wrap:break-word; }
.ab a:focus-visible,.ab summary:focus-visible { outline:3px solid #1b5f7a; outline-offset:3px; }
.ab section[id] { scroll-margin-top:125px; }
.ab-hero { padding:30px 0 42px; background:#e8f1ef; }
.ab-hero .lp-crumb { margin-bottom:27px; }
.ab-hero__grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:clamp(25px,5vw,70px); align-items:end; }
.ab-kicker { margin:0 0 12px; color:#805820; font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.about-page .ab h1 { max-width:830px; margin:0; font-size:clamp(32px,3.8vw,52px); line-height:1.14; text-wrap:balance; }
.ab-lead { max-width:720px; margin:17px 0 0; color:#455e66; font-size:clamp(16px,1.4vw,19px); line-height:1.55; }
.ab-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px 24px; margin-top:24px; }
.ab-button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:46px; padding:12px 20px; border-radius:9px; background:#17475a; color:#fff!important; font-size:14px; font-weight:700; text-decoration:none; }
.ab-button:hover { background:#0e3444; }
.ab-button--light { background:#fff; color:#17475a!important; }
.ab-button--light:hover { background:#edf4f3; }
.ab-text-link { display:inline-flex; align-items:center; min-height:42px; color:#1a5870; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.ab-hero__note { display:grid; gap:0; padding:22px; border:1px solid #c9dcd7; border-radius:14px; background:#fff; }
.ab-hero__note > span { margin-bottom:9px; color:#815b24; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ab-hero__note a { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid #e7edeb; color:#1a4a5b; font-size:14px; font-weight:700; text-decoration:none; }
.ab-hero__note a:hover { text-decoration:underline; }
.ab-hero__note p { margin:12px 0 0; color:#5c7075; font-size:12px; line-height:1.5; }
.ab-section { padding:clamp(38px,5vw,60px) 0; }
.ab-section--white { background:#fff; }
.ab-section--sage { background:#e7f0e9; }
.ab-section--blue { background:#dcecf1; }
.ab-section--dark { background:#173744; color:#e6efec; }
.ab-section--dark :is(h2,h3) { color:#fff; }
.ab-section--dark .ab-kicker { color:#e0ba78; }
.about-page main.ab h2 { margin:0; font-size:clamp(28px,2.65vw,36px); line-height:1.22; letter-spacing:-.025em; text-wrap:balance; }
.about-page .ab h3 { font-size:clamp(18px,1.5vw,20px); line-height:1.35; letter-spacing:-.015em; text-wrap:pretty; }
.ab h3 { margin:0; }
.ab-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,390px); align-items:end; gap:25px; margin-bottom:23px; }
.ab-head > p { margin:0; color:#536971; font-size:14px; line-height:1.55; }
.ab-section--dark .ab-head > p { color:#d0e0e2; }
.ab-intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(25px,6vw,80px); }
.ab-intro p { margin:0 0 12px; color:#4b6269; font-size:15px; line-height:1.65; }
.ab-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.ab-facts > div { display:grid; align-content:start; min-width:0; padding:19px; border:1px solid #dbe6e3; border-radius:12px; background:#f7faf8; }
.ab-facts strong { color:#1b4d5d; font:600 clamp(20px,1.8vw,24px)/1.3 Lora,Georgia,serif; }
.ab-facts span { margin-top:5px; font-size:14px; font-weight:700; }
.ab-facts small { margin-top:8px; color:#526c72; font-size:13px; line-height:1.55; }
.ab-facts small a { color:#1a5870; }
.ab-placeholder { color:#7e5b25; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ab-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.ab-person { min-width:0; overflow:hidden; border:1px solid #d5e3d9; border-radius:12px; background:#fff; }
.ab-person__photo { display:block; aspect-ratio:3/1.8; overflow:hidden; background:#e3eee6; }
.ab-person__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ab-person > div:last-child { padding:15px; }
.ab-person h3 { margin:0 0 6px; }
.ab-person h3 a { color:inherit; text-decoration:none; }
.ab-person h3 a:hover { text-decoration:underline; }
.ab-person p { margin:0; color:#536971; font-size:13px; line-height:1.5; }
.ab-person p.ab-person__role { margin-bottom:9px; color:#825d27; font-weight:700; }
.ab-after-grid { margin-top:13px; }
.ab-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin:0; padding:0; list-style:none; }
.ab-steps li { display:flex; gap:15px; padding:16px 0; border-top:1px solid #e0e9e6; }
.ab-steps li > span { flex:none; color:#a3783d; font:600 24px/1 Lora,Georgia,serif; }
.ab-steps p { margin:5px 0 0; color:#536971; font-size:13px; line-height:1.55; }
.ab-after { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(25px,6vw,70px); }
.ab-after > div > p:not(.ab-kicker) { margin:13px 0 8px; color:#45626b; line-height:1.55; }
.ab-after ol { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.ab-after li { display:flex; gap:12px; padding:12px 15px; border:1px solid #c7dfe5; border-radius:10px; background:#fff; color:#3e5962; font-size:13px; line-height:1.5; }
.ab-after li b { color:#94692c; }
.ab-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ab-trust-grid article { min-width:0; padding:17px 19px; border:1px solid #e0e9e6; border-radius:12px; background:#f9fbfa; }
.ab-trust-grid article > span { color:#956e35; font-size:11px; font-weight:800; }
.ab-trust-grid h3 { margin:7px 0 5px; }
.ab-trust-grid p { margin:0; color:#556971; font-size:13px; line-height:1.5; }
.ab-trust-grid a { display:inline-block; margin-top:9px; color:#1a5870; font-size:12px; font-weight:700; }
.ab-price-note { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:13px; padding:18px 21px; border-radius:12px; background:#19495b; color:#e6f0f1; }
.ab-price-note h3 { color:#fff; }
.ab-price-note p { max-width:800px; margin:6px 0 0; font-size:13px; line-height:1.5; }
.ab-doc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ab-doc-grid > div { min-width:0; padding:16px; border:1px dashed #afc5ba; border-radius:11px; background:#f8fbf8; }
.ab-doc-grid span { color:#875e26; font-size:10px; font-weight:800; letter-spacing:.1em; }
.ab-doc-grid h3 { margin:7px 0 5px; }
.ab-doc-grid p,.ab-doc-grid small { display:block; margin:0; color:#596c71; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.ab-doc-grid small { margin-top:7px; color:#856c48; }
.ab-muted { margin:15px 0 0; color:#526a6f; font-size:12px; line-height:1.5; }
.ab-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ab-case-grid article { min-width:0; overflow:hidden; border:1px solid #dce6e3; border-radius:12px; background:#fff; }
.ab-case-photo { display:block; aspect-ratio:16/7; overflow:hidden; background:#e6eeea; }
.ab-case-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ab-case-body { padding:18px; }
.ab-case-body h3 { margin:7px 0 13px; }
.ab-case-body h3 a { color:inherit; text-decoration:none; }
.ab-case-body h3 a:hover { text-decoration:underline; }
.ab-case-meta { color:#805820; font-size:11px; font-weight:800; letter-spacing:.04em; }
.ab-case-body dl { display:grid; gap:7px; margin:0; }
.ab-case-body dl div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:7px; font-size:12px; line-height:1.45; }
.ab-case-body dt { color:#7d5c29; font-weight:700; }
.ab-case-body dd { margin:0; color:#536971; }
.ab-case-body > .ab-text-link { margin-top:12px; }
.ab-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.ab-review-grid article { min-width:0; padding:18px; border:1px dashed #b1cbd4; border-radius:12px; background:#f7fbfc; }
.ab-review-grid p { margin:13px 0 17px; color:#34525e; font-size:15px; line-height:1.5; }
.ab-review-grid small { display:block; color:#627a83; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.ab-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(25px,6vw,70px); }
.ab-split > div > p:not(.ab-kicker) { color:#50676d; line-height:1.55; }
.ab-location { padding:20px; border:1px solid #dce6e3; border-radius:12px; background:#f8faf9; }
.ab-location > strong { font-size:13px; }
.ab-location > div { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.ab-location > div span { padding:6px 9px; border-radius:6px; background:#e7efed; color:#60717a; font-size:12px; }
.ab-location p { margin:12px 0; color:#60717a; font-size:12px; line-height:1.5; }
.ab-guarantee-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ab-guarantee-grid > div { min-width:0; padding:20px; border:1px solid #45606b; border-radius:12px; background:#204653; }
.ab-guarantee-grid h3 { margin-bottom:10px; }
.ab-guarantee-grid ul { margin:0 0 12px; padding-left:19px; }
.ab-guarantee-grid li,.ab-guarantee-grid p { margin:0 0 10px; color:#d9e8e9; font-size:13px; line-height:1.55; }
.ab-guarantee-grid small { color:#e4bd78; font-size:11px; }
.ab-guarantee-grid a { color:#e9c382; font-size:13px; font-weight:700; }
.about-page .ab #faq { background:#f2f6f4; }
.ab-faq-layout { display:grid; grid-template-columns:minmax(0,.42fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start; }
.ab-faq-layout > div:first-child { min-width:0; }
.ab-faq-layout > div:first-child > p:last-child { margin:14px 0 0; color:#4c656d; font-size:15px; line-height:1.65; }
.ab-faq { display:grid; gap:16px; min-width:0; }
.ab-faq details { min-width:0; border:1px solid #d2dfda; border-radius:14px; background:#fff; box-shadow:0 3px 12px #17374406; }
.ab-faq details[open] { border-color:#90b2a8; box-shadow:0 5px 18px #1737440a; }
.ab-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:20px 24px; border-radius:13px; cursor:pointer; color:#1d3f4b; font-size:16px; line-height:1.5; font-weight:650; list-style:none; }
.ab-faq summary:hover { background:#f7faf8; }
.ab-faq summary:focus-visible { outline-offset:4px; }
.ab-faq summary::-webkit-details-marker { display:none; }
.ab-faq summary span { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid #d5e1dc; border-radius:50%; background:#f0f5f2; color:#245363; font:400 23px/1 Arial,sans-serif; }
.ab-faq details[open] summary span { transform:rotate(45deg); background:#245363; border-color:#245363; color:#fff; }
.about-page .ab .ab-faq details p { margin:0 24px 24px; padding-top:16px; border-top:1px solid #e1eae5; color:#415f69; font-size:15px; line-height:1.7; }
.ab-cta { padding:34px 0 42px; background:#e8f1ef; }
.ab-cta > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 35px; }
.ab-cta p:not(.ab-kicker) { max-width:590px; margin:7px 0 0; color:#4d666d; font-size:14px; line-height:1.55; }
.ab-cta .ab-actions { margin:0; }
@media (max-width:1050px) {
  .ab-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ab-trust-grid,.ab-doc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .ab-hero { padding:23px 0 31px; }
  .ab-hero .lp-crumb { margin-bottom:22px; }
  .ab-hero__grid,.ab-intro,.ab-head,.ab-after,.ab-split,.ab-faq-layout { grid-template-columns:1fr; gap:17px; }
  .ab-hero__note { padding:17px; }
  .ab-section { padding:36px 0; }
  .ab-head { margin-bottom:18px; }
  .ab-facts { grid-template-columns:1fr; }
  .ab-guarantee-grid,.ab-case-grid { grid-template-columns:1fr; }
  .ab-steps { grid-template-columns:1fr; }
  .ab-steps li { padding:13px 0; }
  .ab-trust-grid,.ab-doc-grid { grid-template-columns:1fr; }
  .ab-review-grid { grid-template-columns:1fr; }
  .ab-price-note { align-items:flex-start; flex-direction:column; }
  .ab-case-body dl div { grid-template-columns:76px minmax(0,1fr); }
  .ab-cta .ab-actions { width:100%; }
  .ab-faq { gap:12px; }
  .ab-faq summary { min-height:72px; gap:14px; padding:18px; font-size:15px; }
  .about-page .ab .ab-faq details p { margin:0 18px 20px; padding-top:14px; font-size:14px; }
}
@media (max-width:390px) {
  .ab-team-grid { grid-template-columns:1fr; }
  .ab-facts > div { padding:14px; }
  .ab-hero__note { display:none; }
}
