/* CLOUD BOX — legal-docs. Canonical scoped stylesheet, TEST18. */
/* Desktop defaults; bridge, compact, and small-screen layers are non-legacy responsive rules. */
.legal-doc { --cb-ink: #0b121d; --cb-body: #667384; --cb-line: #cbd6e1; --cb-light: #eaf0f4; --cb-blue: #2f80ed; --cb-gold: #ffb000; --cb-dark: #07111b; background: #fff; color: var(--cb-ink); font-family: "Montserrat",sans-serif; overflow-x: clip; }
.legal-doc,.legal-doc * { box-sizing: border-box; }
.legal-doc h1,.legal-doc h2,.legal-doc h3,.legal-doc p,.legal-doc ol,.legal-doc ul { margin: 0; }
.legal-doc a { color: inherit; text-decoration: none; }
.legal-doc__container { width: min(1560px,calc(100% - 64px)); margin-inline: auto; }
.legal-doc__hero { background: var(--cb-light); height: 297px; }
.legal-doc__hero-inner { position: relative; height: 297px; }
.legal-doc__eyebrow { position: absolute; left: 0; top: 62px; color: var(--cb-blue); font: 700 14px/18px "Montserrat",sans-serif; width: 100%; }
.legal-doc__hero h1 { position: absolute; left: 0; top: 98px; width: 1560px; color: #08111c; font: 700 43px/56px "Montserrat",sans-serif; }
.legal-doc__hero-meta { display: contents; }
.legal-doc__revision-card { position: absolute; left: 0; height: 63px; padding: 9px 18px; border: 1px solid #c9d3dd; border-radius: 14px; background: #fff; display: flex; flex-direction: column; justify-content: center; top: 172px; width: 350px; }
.legal-doc__revision-card strong { color: #ffb000; font: 700 10px/18px "Montserrat",sans-serif; }
.legal-doc__revision-card span { color: #111824; font: 600 12px/21px "Montserrat",sans-serif; }
.legal-doc__intro { position: absolute; color: var(--cb-body); font: 400 16px/26px "Montserrat",sans-serif; left: 380px; top: 177.5px; width: 1180px; }
.legal-doc__document-grid { display: grid; grid-template-columns: 350px minmax(0,1fr); gap: 72px; padding: 30px 0; }
.legal-doc__toc--desktop { position: sticky; top: 100px; align-self: start; padding: 20px; border: 1px solid var(--cb-line); border-radius: 14px; background: #f7f9fb; }
.legal-doc__toc strong { display: block; color: var(--cb-blue); font: 700 10px/18px "Montserrat",sans-serif; }
.legal-doc__toc ol { margin-top: 8px; padding: 0; list-style: none; }
.legal-doc__toc li { margin: 0; }
.legal-doc__toc a { display: grid; grid-template-columns: 24px 13px 1fr; gap: 5px; color: #172231; font: 400 10px/18px "Montserrat",sans-serif; }
.legal-doc__toc a span { color: #667384; font-weight: 600; }
.legal-doc__toc a b { font-weight: 500; }
.legal-doc__toc small { display: block; margin-top: 8px; padding-top: 8px; border-top: 1px solid #d9e0e7; color: #667384; font: 400 9px/16px "Montserrat",sans-serif; }
.legal-doc__content { min-width: 0; }
.legal-doc__part-title { height: 68px; padding-top: 28px; color: var(--cb-blue); font: 600 16px/28px "Montserrat",sans-serif; }
.legal-doc__section { scroll-margin-top: 96px; display: flex; flex-direction: column; gap: 18px; padding: 18px 0 0; border-bottom: 0; }
.legal-doc__section-head { gap: 20px; align-items: flex-start; position: relative; display: block; width: 100%; }
.legal-doc__section-head>span { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 9px; background: var(--cb-dark); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 11px/16px "Montserrat",sans-serif; position: absolute; left: 0; top: 0; }
.legal-doc__section h3 { flex: 1; color: var(--cb-ink); font: 600 22px/28px "Montserrat",sans-serif; margin-left: 52px; width: calc(100% - 52px); }
.legal-doc__section-body { padding-left: 76px; color: var(--cb-body); font: 400 16px/26px "Montserrat",sans-serif; }
.legal-doc__section-body p,.legal-doc__section-body li { font: inherit; }
.legal-doc__section-body p+p { margin-top: 10px; }
.legal-doc__section-body ul { margin: 0; padding: 0; list-style: none; }
.legal-doc__section-body p+ul { margin-top: 0; }
.legal-doc__section-body ul+p { margin-top: 10px; }
.legal-doc__section-body li { position: relative; padding-left: 10px; }
.legal-doc__section-body li::before { content: "•"; position: absolute; left: 0; }
.legal-doc__section--highlight { border: 1px solid #ffb000; border-radius: 14px; background: #fff7d9; padding: 18px 20px 0; }
.legal-doc__section--highlight .legal-doc__section-head { gap: 16px; }
.legal-doc__section--highlight .legal-doc__section-head>span { background: #ffb000; color: #07111b; }
.legal-doc__section--highlight .legal-doc__section-body { padding-left: 56px; }
.legal-doc__basis-wrap { margin-top: 14px; border: 1px solid #cbd6e1; border-radius: 14px; overflow: hidden; background: #fff; }
.legal-doc__basis-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: #0b121d; }
.legal-doc__basis-table th { padding: 11px 16px; background: #f4f7fa; color: #667384; font: 600 12px/17px "Montserrat",sans-serif; text-align: left; border-bottom: 1px solid #dce4ec; }
.legal-doc__basis-table th:first-child,.legal-doc__basis-table td:first-child { width: 63%; }
.legal-doc__basis-table th:last-child,.legal-doc__basis-table td:last-child { width: 37%; }
.legal-doc__basis-table td { padding: 13px 16px; border-bottom: 1px solid #e4eaf0; vertical-align: top; font: 400 14.5px/21px "Montserrat",sans-serif; }
.legal-doc__basis-table td+td { font-weight: 600; }
.legal-doc__basis-table tr:last-child td { border-bottom: 0; }
.legal-doc__note { position: relative; margin-top: 14px; border: 1px solid #c9ddf5; border-radius: 12px; background: #f3f8fe; color: #44566c; font: 400 14px/21px "Montserrat",sans-serif; height: 60px; min-height: 60px; padding: 19.5px 14px 19.5px 28px; }
.legal-doc__note::before { content: ""; position: absolute; left: 14px; width: 4px; border-radius: 2px; background: #2f80ed; top: 19.5px; height: 21px; }
.legal-doc__section-body strong { font-weight: inherit; color: inherit; }
.legal-doc__basis-table td+td strong { font-weight: 600; color: inherit; }
.legal-doc__section-body p:empty { display: none; }
.legal-doc__section--highlight h3 { margin-left: 48px; width: calc(100% - 48px); }

/* BRIDGE */
@media (min-width:1367px) and (max-width:1623.98px) {
  .legal-doc__hero h1 { width: 100%; font-size: clamp(36px,2.9vw,43px); }
  .legal-doc__intro { width: calc(100% - 380px); }
}

/* COMPACT */
@media (min-width:1024px) and (max-width:1366.98px) {
  .legal-doc__container { width: 1080px; max-width: calc(100% - 64px); }
  .legal-doc__eyebrow { top: 54px; font-size: 12px; }
  .legal-doc__hero h1 { top: 90px; font: 700 33px/56px "Montserrat",sans-serif; white-space: nowrap; width: 100%; font-size: clamp(29px,calc(17.02px + 1.17vw),33px); }
  .legal-doc__intro { font: 400 14px/22px "Montserrat",sans-serif; top: 162.5px; width: calc(100% - 380px); }
  .legal-doc__document-grid { grid-template-columns: 270px minmax(0,1fr); gap: 44px; }
  .legal-doc__part-title { font: 600 16px/22px "Montserrat",sans-serif; }
  .legal-doc__section-head>span { width: 31px; height: 31px; flex-basis: 31px; }
  .legal-doc__section h3 { font: 600 16px/22px "Montserrat",sans-serif; margin-left: 51px; width: calc(100% - 51px); }
  .legal-doc__section-body { padding-left: 60px; font: 400 14px/22px "Montserrat",sans-serif; }
  .legal-doc__section-body p+p,.legal-doc__section-body ul+p { margin-top: 8px; }
  .legal-doc__basis-table th { font-size: 11px; }
  .legal-doc__basis-table td { font-size: 13px; line-height: 20px; }
  .legal-doc__note { font-size: 13px; line-height: 20px; padding: 20px 14px 20px 28px; }
  .legal-doc__hero { height: 281px; }
  .legal-doc__hero-inner { height: 281px; }
  .legal-doc__revision-card { top: 164px; }
  .legal-doc__section--highlight h3 { margin-left: 47px; width: calc(100% - 47px); }
  .legal-doc__note::before { top: 20px; height: 20px; }
}

/* SMALL-SHARED */
@media (max-width:1023.98px) {
  .legal-doc__document-grid { display: block; }
  .legal-doc__toc--desktop { display: none; }
  .legal-doc__section-head>span { width: 29px; height: 29px; flex-basis: 29px; border-radius: 8px; }
  .legal-doc__section-body p+p,.legal-doc__section-body ul+p { margin-top: 8px; }
  .legal-doc__intro { left: 0; }
  .legal-doc__section--highlight h3 { margin-left: 45px; width: calc(100% - 45px); }
  .legal-doc__note { height: auto; padding: 12px 14px 12px 28px; }
  .legal-doc__note::before { top: 12px; }
  .legal-doc__hero, .legal-doc__hero-inner { height: auto; min-height: 0; }
  .legal-doc__hero-inner { display: flex; flex-direction: column; align-items: stretch; gap: 18px; }
  .legal-doc__hero .legal-doc__eyebrow, .legal-doc__hero h1, .legal-doc__revision-card, .legal-doc__intro { position: static; left: auto; top: auto; margin: 0; max-width: 100%; }
  .legal-doc__hero .legal-doc__eyebrow, .legal-doc__hero h1, .legal-doc__intro { width: 100%; }
}

/* TABLET */
@media (min-width:768px) and (max-width:1023.98px) {
  .legal-doc__container { width: calc(100% - 64px); }
  .legal-doc__eyebrow { top: 46px; font-size: 12px; }
  .legal-doc__hero h1 { top: 82px; width: 704px; font: 700 30px/40px "Montserrat",sans-serif; }
  .legal-doc__intro { font: 400 14px/22px "Montserrat",sans-serif; top: 261px; width: 704px; }
  .legal-doc__part-title { font: 600 16px/24px "Montserrat",sans-serif; }
  .legal-doc__section h3 { font: 600 16px/24px "Montserrat",sans-serif; margin-left: 49px; width: calc(100% - 49px); }
  .legal-doc__section-body { padding-left: 52px; font: 400 14px/22px "Montserrat",sans-serif; }
  .legal-doc__basis-table th { font-size: 10.5px; }
  .legal-doc__basis-table td { font-size: 13px; line-height: 20px; }
  .legal-doc__note { font-size: 13px; line-height: 20px; min-height: 64px; }
  .legal-doc__hero { height: auto; }
  .legal-doc__hero-inner { height: auto; padding: 46px 0; }
  .legal-doc__revision-card { top: 180px; }
  .legal-doc__note::before { height: 40px; }
  .legal-doc__hero h1,.legal-doc__intro { width: 100%; }
}

/* MOBILE-SHARED */
@media (max-width:767.98px) {
  .legal-doc__container { width: calc(100% - 40px); }
  .legal-doc__eyebrow { top: 32px; font: 700 11px/18px "Montserrat",sans-serif; }
  .legal-doc__hero h1 { top: 68px; width: 335px; font: 700 26px/34px "Montserrat",sans-serif; }
  .legal-doc__document-grid { padding: 24px 0 30px; }
  .legal-doc__part-title { font: 600 15px/22px "Montserrat",sans-serif; }
  .legal-doc__section-head { gap: 12px; }
  .legal-doc__section h3 { font: 600 15px/22px "Montserrat",sans-serif; margin-left: 41px; width: calc(100% - 41px); }
  .legal-doc__section-body { padding-left: 44px; font: 400 13.5px/22px "Montserrat",sans-serif; }
  .legal-doc__basis-wrap { margin-top: 12px; border: 0; border-radius: 0; overflow: visible; background: transparent; }
  .legal-doc__basis-table,.legal-doc__basis-table tbody,.legal-doc__basis-table tr,.legal-doc__basis-table td { display: block; width: 100%; }
  .legal-doc__basis-table thead { display: none; }
  .legal-doc__basis-table tbody { display: flex; flex-direction: column; gap: 8px; }
  .legal-doc__basis-table tr { padding: 12px; border: 1px solid #cbd6e1; border-radius: 12px; background: #fff; }
  .legal-doc__basis-table td { padding: 0; border: 0 !important; font: 400 13.5px/20px "Montserrat",sans-serif; }
  .legal-doc__basis-table td:first-child,.legal-doc__basis-table td:last-child { width: 100%; }
  .legal-doc__basis-table td:first-child::before { content: "ЦЕЛЬ ОБРАБОТКИ"; display: block; margin-bottom: 7px; color: #667384; font: 600 10.5px/15px "Montserrat",sans-serif; }
  .legal-doc__basis-table td+td { margin-top: 7px; font: 600 13.5px/20px "Montserrat",sans-serif; }
  .legal-doc__basis-table td+td::before { content: "ПРАВОВОЕ ОСНОВАНИЕ"; display: block; margin-bottom: 7px; color: #2f80ed; font: 600 10.5px/15px "Montserrat",sans-serif; }
  .legal-doc__note { margin-top: 12px; font: 400 13px/20px "Montserrat",sans-serif; min-height: 84px; }
  .legal-doc__hero { height: auto; }
  .legal-doc__hero-inner { height: auto; padding: 32px 0; }
  .legal-doc__revision-card { top: 222px; height: 71px; padding: 10px 14px; width: 100%; }
  .legal-doc__intro { top: 311px; width: min(335px,100%); font: 400 13.5px/22px "Montserrat",sans-serif; }
  .legal-doc__note::before { height: 60px; }
  .legal-doc__hero h1,.legal-doc__revision-card,.legal-doc__intro { width: 100%; }
}

/* NARROW */
@media (max-width:374.98px) {
  .legal-doc__hero,.legal-doc__hero-inner { height: auto; min-height: 497px; }
  .legal-doc__hero .legal-doc__eyebrow { position: static; margin: 0 0 18px; }
  .legal-doc__hero h1 { position: static; font-size: clamp(23px,6.9vw,25.9px); line-height: 1.3; margin: 0 0 18px; }
  .legal-doc__revision-card { position: static; min-height: 71px; margin: 0 0 18px; }
  .legal-doc__intro { position: static; }
}
