.pricing { --price-ink: #0b1933; --price-muted: #526078; --price-line: #dce3ed; color: var(--price-ink); text-align: left; }
.pricing *, .pricing *::before, .pricing *::after { box-sizing: border-box; }
.pricing [hidden] { display: none !important; }
.pricing__heading { max-width: 820px; margin-bottom: 24px; }
.pricing__eyebrow { display: block; color: #a63f30; font-size: .74rem; font-weight: 750; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.pricing .pricing__heading h2 { color: var(--price-ink); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.15; margin: 10px 0 12px; }
.pricing__heading > p { color: var(--price-muted); font-size: 1rem; line-height: 1.65; margin: 0; }
.pricing__calculator { background: #fff; border: 1px solid #d7e0ec; border-radius: 20px; overflow: hidden; box-shadow: 0 8px 28px #0b193305; }
.pricing__calculator-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; padding: clamp(24px, 3vw, 36px); min-width: 0; }
.pricing__field-group { min-width: 0; }
.pricing__field-group--users { grid-column: 2; grid-row: 1 / 3; }
.pricing .pricing__trader-help { color: var(--price-muted); font-size: .8rem; line-height: 1.6; padding-top: 12px; }
.pricing__user-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pricing__user-row > label { font-size: clamp(1.1rem, 2vw, 1.4rem); font-weight: 650; letter-spacing: -.02em; line-height: 1.3; }
.pricing__user-row > input { width: 112px; max-width: 45%; min-height: 56px; border: 1px solid #a7b9d1; border-radius: 10px; background: #f8faff; color: var(--price-ink); padding: 10px; font: inherit; font-size: 1.4rem; font-weight: 650; text-align: center; }
.pricing__range { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 40px; padding: 0; margin: 20px 0 0; background: transparent; border: 0; cursor: pointer; }
.pricing__range::-webkit-slider-runnable-track { height: 8px; border-radius: 8px; background: #c0cddd; }
.pricing__range::-moz-range-track { height: 8px; border-radius: 8px; background: #c0cddd; }
.pricing__range::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 28px; height: 28px; margin-top: -10px; background: #0b1933; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 1px 5px #0b19334d; }
.pricing__range::-moz-range-thumb { width: 20px; height: 20px; background: #0b1933; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 1px 5px #0b19334d; }
.pricing__range-labels { display: flex; justify-content: space-between; font-size: .72rem; color: var(--price-muted); }
.pricing__presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pricing__presets > button { min-width: 48px; min-height: 40px; background: #fff; border: 1px solid #ccd6e5; border-radius: 8px; color: #30425f; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.pricing__presets > button:hover { border-color: #304f7b; background: #f0f4fa; }
.pricing__presets > button[aria-pressed="true"] { color: #fff; background: #0b1933; border-color: #0b1933; }
.pricing .pricing__help { color: var(--price-muted); font-size: .8rem; line-height: 1.6; padding-top: 12px; }
.pricing__domain { grid-column: 1; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 10px; align-items: start; border-top: 1px solid var(--price-line); padding-top: 20px; cursor: pointer; }
.pricing__domain > input { width: 18px; height: 18px; margin-top: 2px; accent-color: #0b1933; }
.pricing__domain strong { font-size: .87rem; font-weight: 650; line-height: 1.4; }
.pricing__domain small { display: block; color: var(--price-muted); font-size: .74rem; line-height: 1.6; margin-top: 6px; }
.pricing__domain > b { color: #254d47; font-size: .79rem; font-weight: 650; white-space: nowrap; padding-top: 2px; }
.pricing__error { display: block; color: #a62f23; font-size: .8rem; padding-top: 10px; }
.pricing__result { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(0, 1.4fr) minmax(220px, 1fr); align-items: center; gap: 32px; min-width: 0; background: #10274b; border-top: 1px solid #10274b; color: #fff; padding: 28px clamp(24px, 3vw, 36px); }
.pricing__quote, .pricing__receipt, .pricing__result-actions { min-width: 0; }
.pricing__result-label { font-size: .82rem; color: #c2d0e5; }
.pricing__total { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; padding-top: 10px; }
.pricing__total > strong { font-size: clamp(2.6rem, 4vw, 3.4rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.05; overflow-wrap: anywhere; min-width: 0; }
.pricing__total > span { color: #c2d0e5; font-size: .85rem; white-space: nowrap; }
.pricing__initial > small { display: block; color: #b2c4de; font-size: .72rem; line-height: 1.5; padding-top: 8px; }
.pricing__initial:not([hidden]) + .pricing__recurring { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding-top: 16px; }
.pricing__initial:not([hidden]) + .pricing__recurring .pricing__total { padding-top: 0; gap: 4px 8px; }
.pricing__initial:not([hidden]) + .pricing__recurring .pricing__total > strong { font-size: 1.5rem; letter-spacing: -.02em; }
.pricing__receipt { display: grid; gap: 12px; border-left: 1px solid #ffffff26; padding-left: 28px; }
.pricing__receipt-row, .pricing__receipt-once { display: flex; justify-content: space-between; gap: 16px; color: #d3def0; font-size: .78rem; line-height: 1.5; }
.pricing__receipt-row > b, .pricing__receipt-once > b { color: #fff; font-size: .88rem; white-space: nowrap; }
.pricing__receipt-row small, .pricing__receipt-once small { display: block; color: #b2c4de; font-size: .72rem; padding-top: 2px; }
.pricing__receipt-row small b { font-weight: 550; }
.pricing__receipt-once { padding-bottom: 16px; }
.pricing__button { background: #ef795c; border: 1px solid #ef795c; border-radius: 10px; color: #172039 !important; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; font-size: .88rem; font-weight: 750; text-decoration: none; }
.pricing__button:hover { background: #ff9378; border-color: #ff9378; }
.pricing a:focus-visible, .pricing input:focus-visible, .pricing button:focus-visible { outline: 3px solid #6ccfc4; outline-offset: 4px; }
.pricing__credit { display: grid; grid-template-columns: 48px auto minmax(0, 1fr); align-items: center; gap: 24px; margin-bottom: 16px; padding: 22px 28px; border: 1px solid #efc49c; border-radius: 14px; background: #ffe0c2; }
.pricing__credit-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: #923a19; background: #ffcd9f; border-radius: 12px; }
.pricing__credit-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; }
.pricing__credit-title > strong { color: #923a19; font-size: 2.2rem; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.pricing__credit-title > span { color: var(--price-ink); font-size: 1rem; font-weight: 600; line-height: 1.4; }
.pricing__credit-copy { min-width: 0; border-left: 1px solid #dfb48e; padding-left: 24px; }
.pricing__credit-copy > strong { display: block; color: var(--price-ink); font-size: .86rem; font-weight: 650; line-height: 1.5; }
.pricing .pricing__credit-copy > p { color: #66442e; font-size: .8rem; line-height: 1.6; padding-top: 4px; }
.pricing__credit-copy > small { display: block; padding-top: 6px; color: #74533b; font-size: .7rem; line-height: 1.5; }
.pricing__free { padding: 24px 0 0; }
.pricing__free > strong { font-size: .9rem; font-weight: 650; }
.pricing__free ul { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; margin: 12px 0 0; padding: 0; }
.pricing__free li { color: var(--price-muted); font-size: .82rem; line-height: 1.5; }
.pricing__free li::before { content: '✓'; color: #28776e; margin-right: 7px; }
.pricing .pricing__note { color: var(--price-muted); font-size: .73rem; line-height: 1.65; margin: 18px 0 0; }
.pricing__plan { border: 1px solid var(--price-line); border-radius: 16px; padding: 24px; }
.pricing__plan strong { font-size: 1.7rem; }
.pricing .pricing__guide-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: #304f7b; font-size: .9rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.pricing .pricing__guide-link:hover { color: #a63f30; }
#pricing-guide-heading { scroll-margin-top: 120px; }
.pricing-guide { border-top: 1px solid #dce3ed; }
.pricing-guide .pricing-guide__article { max-width: 920px; }
.pricing-guide h2 { color: #0b1933; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.25; padding: 12px 0 20px; }
.pricing-guide h3 { color: #0b1933; font-size: 1.15rem; line-height: 1.4; padding: 24px 0 12px; }
.pricing-guide p { color: #526078; font-size: .95rem; line-height: 1.8; padding: 0 0 16px; }
.pricing-guide .pricing-guide__lead { color: #30425f; font-size: 1.08rem; }
.pricing-guide__example { background: #f3f6fa; border-left: 3px solid #ef795c; border-radius: 0 12px 12px 0; padding: 22px 24px; margin: 24px 0; }
.pricing-guide__example > strong { display: block; color: #0b1933; font-size: 1rem; line-height: 1.5; margin-bottom: 10px; }
.pricing-guide__example p:last-child { padding-bottom: 0; }
.pricing-faq { max-width: 1000px; }
.pricing-faq > h2 { margin-bottom: 32px; }
.pricing-faq details { border-top: 1px solid #dce3ed; padding: 20px 0; }
.pricing-faq summary { color: #0b1933; cursor: pointer; font-size: 1.05rem; font-weight: 650; line-height: 1.5; }
.pricing-faq details > p { color: #526078; font-size: .95rem; line-height: 1.75; margin: 18px 0 0; max-width: 820px; }
.tariffs-page .tariffs-hero__grid { grid-template-columns: 1fr; padding-top: 76px; padding-bottom: 28px; gap: 0; }
.tariffs-page .tariffs-hero h1 { font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.15; margin-bottom: 0; }
.tariffs-page .tariffs-hero__content > p { padding-top: 12px; font-size: .95rem; margin-bottom: 0; }
.tariffs-page .tariffs-hero__cta { margin-top: 16px; min-height: 36px; padding: 0 16px; font-size: .78rem; }
.tariffs-page .tariffs-catalog { padding: 36px 0 52px; }
@media (min-width: 768px) and (max-width: 1099.98px) {
 .pricing__result { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 20px 32px; }
 .pricing__receipt { grid-column: 2; grid-row: 1 / 3; }
 .pricing__result-actions { grid-column: 1; }
}
@media (max-width: 767.98px) {
 .pricing__calculator { border-radius: 16px; }
 .pricing__calculator-fields { grid-template-columns: 1fr; gap: 26px; padding: 24px; }
 .pricing__field-group--users { grid-column: auto; grid-row: auto; }
 .pricing__result { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
 .pricing__receipt { border-left: 0; border-top: 1px solid #ffffff26; padding: 20px 0 0; }
 .pricing__user-row > input { font-size: 1.2rem; }
 .pricing__credit { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 20px; }
 .pricing__credit-icon { width: 44px; height: 44px; }
 .pricing__credit-copy { grid-column: 1 / -1; border-left: 0; padding-left: 0; }
 .pricing__domain { gap: 8px; }
 .pricing__domain > b { font-size: .73rem; }
 .pricing__free ul { gap: 10px 16px; }
 .tariffs-page .tariffs-hero__grid { padding-top: 72px; padding-bottom: 24px; }
 .tariffs-page .tariffs-catalog { padding-top: 28px; }
}
