.offer-hero { position: relative; isolation: isolate; overflow: hidden; background: #243344; color: #fff; padding: 30px 0 36px; }
.offer-hero-photo, .offer-hero-shade, .offer-hero-grid { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.offer-hero-photo { object-fit: cover; z-index: -3; }
.offer-hero-shade { background: linear-gradient(90deg, #192838f5, #203247df 55%, #213447bc); z-index: -2; }
.offer-hero-grid { z-index: -1; opacity: .3; background-image: linear-gradient(#9bb9da26 1px, transparent 1px), linear-gradient(90deg, #9bb9da26 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent, #000); }
.offer-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: #b8c7da; margin-bottom: 38px; }
.offer-breadcrumb a:hover { color: #fff; }
.offer-hero-row { display: flex; justify-content: space-between; align-items: center; gap: 36px; }
.offer-eyebrow { color: #c9daf0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.oferta-page main h1 { margin: 0 0 20px; font-size: clamp(30px, 3.6vw, 48px) !important; line-height: 1.16 !important; letter-spacing: -.04em; color: #fff; }
.offer-hero h1 span { background: linear-gradient(110deg, #c2c5ff, #68c4f7); background-clip: text; -webkit-background-clip: text; color: transparent; }
.offer-intro { max-width: 610px; font-size: 16px; line-height: 1.75; color: #c5d2e1; }
.offer-version { font-size: 13px; color: #b8c7da; margin-top: 20px; }
.offer-actions { display: flex; flex-direction: column; align-items: stretch; gap: 20px; flex: 0 0 350px; padding: 28px; border: 1px solid #ffffff26; background: #ffffff07; border-radius: 14px; backdrop-filter: blur(12px); }
.offer-panel-heading { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 500; color: #d9e4f4; }
.offer-panel-heading svg { width: 22px; height: 22px; color: #bac3fa; }
.offer-highlights { display: grid; gap: 12px; font-size: 14px; line-height: 1.65; color: #c5d2e1; padding: 0; list-style: none; }
.offer-highlights li { position: relative; padding-left: 16px; }
.offer-highlights li::before { content: ''; position: absolute; top: 7px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #aabdeb; }
.offer-actions > a { color: #cedaf3; font-size: 13px; text-align: center; }
.offer-print { gap: 10px; font-size: 13px; }
.offer-print svg { width: 16px; height: 16px; }
.offer-business { display: flex; align-items: center; gap: 14px; background: #ffffff06; border: 1px solid #ffffff24; padding: 16px 20px; border-radius: 10px; margin-top: 30px; font-size: 13px; line-height: 1.7; color: #c5d2e1; }
.offer-business > svg { width: 18px; height: 18px; flex-shrink: 0; color: #b6c4e7; }
.offer-business a { color: #d1d7ff; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.offer-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 60px; align-items: start; padding-top: 48px; padding-bottom: 72px; }
.offer-sidebar { position: sticky; top: calc(var(--header-height, 80px) + 24px); }
.offer-toc { font-size: 13px; line-height: 1.55; max-height: calc(100dvh - var(--header-height, 80px) - 48px); overflow-y: auto; }
.offer-toc-title { color: #273b51; font-weight: 600; font-size: 14px; margin-bottom: 16px; }
.offer-toc ol { padding: 0; margin: 0; list-style: none; counter-reset: offer-section; }
.offer-toc li { counter-increment: offer-section; }
.offer-toc li a { display: flex; gap: 12px; padding: 8px 10px; border-left: 2px solid #dfe6ef; color: #5c6c80; }
.offer-toc li a::before { content: counter(offer-section, decimal-leading-zero); color: #8191a8; font-size: 12px; padding-top: 2px; }
.offer-toc li a:hover, .offer-toc li a[aria-current="location"] { background: #eaf0f8; border-color: #6a7fc0; color: #324f8e; }
.offer-toc-help { border-top: 1px solid #dfe6ef; margin-top: 24px; padding-top: 20px; display: flex; flex-direction: column; gap: 6px; color: #64748b; }
.offer-toc-help a { color: #425f9f; }
.offer-document { min-width: 0; max-width: 820px; padding: 34px 40px; background: #fff; border: 1px solid #e0e6ee; border-radius: 12px; }
.offer-document-lead { color: #43566e; font-size: 16px; line-height: 1.85; padding-bottom: 28px; }
.offer-section { padding: 32px 0; border-top: 1px solid #e4e9f0; scroll-margin-top: calc(var(--header-height, 80px) + 24px); }
.oferta-page main .offer-section h2 { display: flex; align-items: baseline; gap: 13px; font-size: 22px !important; line-height: 1.4 !important; font-weight: 600; color: #263a51; letter-spacing: -.025em; margin: 0 0 24px; }
.offer-section h2 > span { font-size: 12px; color: #7d90b2; font-weight: 500; letter-spacing: 0; flex-shrink: 0; }
.offer-section p { font-size: 14px; line-height: 1.9; color: #4c5f74; margin: 0 0 16px; overflow-wrap: anywhere; }
.offer-section p:last-child { margin-bottom: 0; }
.offer-section b { color: #2d425b; font-weight: 600; }
.offer-section a { color: #415fa6; text-decoration: underline; text-underline-offset: 3px; }
.offer-callout { padding: 18px 20px; background: #f0f4fa; border-left: 3px solid #7b90bc; margin-bottom: 24px; border-radius: 0 8px 8px 0; }
.offer-callout p { color: #354f72; }
.offer-requisites > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid #edf0f5; font-size: 13px; line-height: 1.75; }
.offer-requisites dt { color: #718096; }
.offer-requisites dd { color: #30465f; overflow-wrap: anywhere; }
.offer-section .offer-endnote { font-size: 13px; color: #718096; margin-top: 20px; }
.offer-back { display: inline-flex; gap: 12px; font-size: 13px; color: #526ca4; padding-top: 8px; }
@media (max-width: 1100px) {
    .offer-layout { grid-template-columns: 225px minmax(0, 1fr); gap: 28px; }
    .offer-document { padding: 28px; }
    .offer-requisites > div { grid-template-columns: 145px minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 900px) {
    .offer-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; }
    .offer-sidebar { position: static; }
    .offer-toc { max-height: none; overflow: visible; }
    .offer-toc ol { display: grid; grid-template-columns: 1fr 1fr; }
    .offer-toc-help { display: none; }
    .offer-document { max-width: none; }
    .offer-hero-row { align-items: flex-start; flex-direction: column; gap: 24px; }
    .offer-actions { flex: none; width: 100%; max-width: 480px; }
}
@media (max-width: 520px) {
    .offer-breadcrumb { margin-bottom: 28px; }
    .offer-intro { font-size: 14px; }
    .offer-business { align-items: flex-start; padding: 16px; }
    .offer-business > svg { margin-top: 3px; }
    .offer-business a { white-space: normal; }
    .offer-toc ol { grid-template-columns: 1fr; }
    .offer-toc li a { padding-block: 9px; }
    .offer-document { padding: 24px 20px; }
    .offer-actions { padding: 22px; }
    .offer-document-lead { font-size: 14px; }
    .oferta-page main .offer-section h2 { font-size: 20px !important; }
    .offer-section { padding-block: 26px; }
    .offer-section p { font-size: 13px; line-height: 1.85; }
    .offer-requisites > div { grid-template-columns: 1fr; gap: 4px; }
}
@media print {
    @page { size: A4; margin: 16mm; }
    .oferta-page .site-header, .oferta-page .site-notice, .oferta-page .site-footer,
    .oferta-page .site-skip, .offer-sidebar, .offer-actions, .offer-breadcrumb,
    .offer-back, .offer-hero-photo, .offer-hero-shade, .offer-hero-grid, #callback-widget { display: none !important; }
    .offer-hero { background: #fff; padding: 0 0 20px; }
    .offer-layout, .oferta-page .site-wrap { display: block; width: 100%; max-width: none; padding: 0; }
    .offer-document { border: 0; border-radius: 0; padding: 0; max-width: none; }
    .offer-hero-row { display: block; }
    .oferta-page main h1 { font-size: 26pt !important; color: #111; }
    .offer-hero h1 span, .offer-section p, .offer-section a, .offer-eyebrow, .offer-intro, .offer-version, .offer-business, .offer-business a { color: #111; background: none; }
    .offer-section { padding: 18px 0; }
    .oferta-page main .offer-section h2 { font-size: 14pt !important; break-after: avoid; }
    .offer-section p, .offer-document-lead { font-size: 10pt; line-height: 1.6; orphans: 3; widows: 3; }
    .offer-requisites > div, .offer-callout, .offer-business { break-inside: avoid; }
    .offer-business { margin-block: 16px; }
}
