.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.catalog-container, .product-shell { width: min(100% - 64px, 1280px); margin-inline: auto; }
.catalog-header { border-bottom: 1px solid #e7e9ee; }
.catalog-hero { padding: clamp(84px, 12vw, 160px) 0 clamp(70px, 9vw, 122px); background: #fff; }
.catalog-hero h1 { max-width: 1020px; margin: 0; color: var(--black); font-size: clamp(52px, 7vw, 100px); font-weight: 740; line-height: .98; letter-spacing: -.072em; text-wrap: balance; }
.catalog-hero p { max-width: 700px; margin: 25px 0 0; color: #747986; font-size: clamp(21px, 2.1vw, 30px); font-weight: 380; line-height: 1.2; letter-spacing: -.035em; }
.catalog-hero__button { min-height: 56px; margin-top: 39px; padding-inline: 26px; gap: 12px; }
.catalog-hero__button span { font-size: 21px; line-height: 1; }
.catalog-products { padding: 0 0 clamp(64px, 7vw, 106px); background: #fff; }
.product-menu { margin: 0; padding: 0; list-style: none; border-top: 1px solid #dfe3ea; }
.product-menu li { border-bottom: 1px solid #dfe3ea; }
.product-menu__link { min-height: 92px; display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; align-items: center; gap: 18px; color: var(--ink); text-decoration: none; }
a.product-menu__link { transition: color .18s ease, background-color .18s ease; }
a.product-menu__link:hover { color: var(--blue); }
.product-menu__number { color: #8a909d; font-size: 15px; line-height: 1; font-variant-numeric: tabular-nums; }
.product-menu__title { font-size: clamp(23px, 2.35vw, 32px); font-weight: 470; line-height: 1.16; letter-spacing: -.043em; }
.product-menu__action { color: var(--blue); font-size: 16px; font-weight: 520; white-space: nowrap; }
.product-menu__action span { padding-left: 9px; font-size: 23px; vertical-align: -1px; }
.product-menu__state { color: #8a909d; font-size: 16px; }
.product-menu__link--soon { cursor: default; }
.catalog-principle { padding: clamp(70px, 8vw, 116px) 0; background: #111214; color: #fff; }
.catalog-principle h2 { max-width: 1040px; margin: 0; font-size: clamp(37px, 4.5vw, 67px); font-weight: 680; line-height: 1.04; letter-spacing: -.061em; text-wrap: balance; }
.catalog-principle p { margin: 26px 0 0; color: #9ca1ac; font-size: 19px; line-height: 1.4; }
footer.catalog-footer { padding: 26px 32px 29px; border-top: 1px solid #e2e5eb; background: #fff; color: #697182; text-align: left; }
.catalog-footer .footer-nav { justify-content: flex-start; }
.catalog-footer a { color: #3c5f9f; }
.product-page .site-header { border-bottom: 1px solid #e7e9ee; }
.product-hero { padding: clamp(72px, 8.5vw, 122px) 0 50px; background: #111214; color: #fff; }
.product-hero__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(230px, .52fr); gap: 60px; align-items: end; }
.product-hero h1 { max-width: 840px; margin: 0; font-size: clamp(48px, 5.7vw, 80px); font-weight: 730; line-height: 1.01; letter-spacing: -.07em; text-wrap: balance; }
.product-hero__subtitle { max-width: 780px; margin: 20px 0 0; color: #d6d7dc; font-size: clamp(21px, 2.2vw, 31px); line-height: 1.21; letter-spacing: -.036em; }
.product-hero .button { margin-top: 31px; }
.product-hero__note { margin: 14px 0 0; color: #a8adb8; font-size: 14px; line-height: 1.4; }
.product-hero__aside { max-width: 260px; padding-bottom: 4px; color: #c7cad2; font-size: 16px; line-height: 1.52; }
.product-hero__aside::before { content: ""; width: 36px; height: 1px; display: block; margin-bottom: 20px; background: #f0f1f4; }
.product-check { padding: clamp(64px, 8vw, 112px) 0; background: #fff; }
.product-check__grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(360px, .82fr); gap: clamp(48px, 9vw, 152px); align-items: start; }
.product-check h2, .product-value h2, .product-cost h2 { margin: 0; color: var(--ink); font-size: clamp(38px, 4vw, 57px); font-weight: 700; line-height: 1.04; letter-spacing: -.06em; }
.product-check__intro > p { max-width: 510px; margin: 20px 0 0; color: var(--muted); font-size: 19px; line-height: 1.44; }
.product-points { margin: 42px 0 0; padding: 0; list-style: none; }
.product-points li { padding: 17px 0; border-top: 1px solid #e3e6ec; }
.product-points li:last-child { border-bottom: 1px solid #e3e6ec; }
.product-points strong { display: block; font-size: 18px; font-weight: 620; line-height: 1.25; letter-spacing: -.02em; }
.product-points span { display: block; margin-top: 5px; color: var(--muted); font-size: 15px; line-height: 1.45; }
.product-check__card { padding: clamp(24px, 3vw, 38px); border: 1px solid #d9dee8; border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(23, 36, 58, .06); }
.product-check__card h2 { font-size: clamp(26px, 2.5vw, 34px); letter-spacing: -.045em; }
.product-check__card > p { margin: 11px 0 24px; color: var(--muted); font-size: 15px; line-height: 1.45; }
.product-form { display: grid; gap: 17px; }
.product-form label { font-size: 15px; }
.product-form label::after { bottom: 22px; }
.product-form select { min-height: 53px; color: #4e596d; }
.product-form .button { width: 100%; min-height: 55px; margin-top: 3px; border-radius: 10px; font-weight: 600; }
.product-result { margin-top: 18px; padding: 19px; border-left: 4px solid var(--blue); border-radius: 0 12px 12px 0; background: #f3f7ff; }
.product-result[hidden] { display: none; }
.product-result h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.22; letter-spacing: -.025em; }
.product-result p { margin: 8px 0 0; color: #4b5870; font-size: 15px; line-height: 1.46; }
.product-value { padding: clamp(58px, 7vw, 100px) 0; background: #f5f7fa; }
.product-value > .product-shell > p { max-width: 640px; margin: 18px 0 34px; color: var(--muted); font-size: 18px; line-height: 1.45; }
.product-value__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-value__list article { min-height: 180px; padding: 8px 34px 8px 0; }
.product-value__list article + article { padding-left: 34px; border-left: 1px solid #d6dce5; }
.product-value__list h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.18; letter-spacing: -.03em; }
.product-value__list p { margin: 0; color: #566174; font-size: 15px; line-height: 1.48; }
.product-steps { padding: clamp(62px, 7vw, 94px) 0; background: #111214; color: #fff; }
.product-steps h2 { margin: 0 0 52px; font-size: clamp(39px, 4.1vw, 58px); font-weight: 700; line-height: 1.04; letter-spacing: -.06em; }
.product-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-steps__list article { min-height: 180px; padding-right: 35px; }
.product-steps__list article + article { padding-left: 35px; border-left: 1px solid #36383d; }
.product-steps__number { display: block; margin-bottom: 24px; color: #dce2ed; font-size: 52px; font-weight: 350; line-height: .9; letter-spacing: -.06em; }
.product-steps h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.18; letter-spacing: -.03em; }
.product-steps p { max-width: 300px; margin: 0; color: #b2b6c0; font-size: 15px; line-height: 1.48; }
.product-cost { padding: clamp(60px, 7vw, 98px) 0; background: #fff; }
.product-cost__copy { max-width: 820px; margin: 18px 0 0; color: #596477; font-size: 18px; line-height: 1.52; }
.product-cost__note { max-width: 820px; margin: 19px 0 0; color: #7b8493; font-size: 15px; line-height: 1.48; }
.product-page footer { border-top: 1px solid #282a2f; }
@media (max-width: 820px) {
  .catalog-container, .product-shell { width: min(100% - 40px, 1280px); }
  .catalog-hero { padding: 76px 0 68px; }
  .catalog-hero h1 { font-size: clamp(48px, 10.5vw, 74px); }
  .catalog-products { padding-bottom: 70px; }
  .product-menu__link { min-height: 78px; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 11px; }
  .product-menu__title { font-size: clamp(21px, 4.8vw, 29px); }
  .product-menu__action, .product-menu__state { font-size: 14px; }
  .product-hero__grid, .product-check__grid { grid-template-columns: 1fr; gap: 36px; }
  .product-hero__aside { display: none; }
  .product-check__card { width: min(100%, 630px); }
  .product-value__list, .product-steps__list { grid-template-columns: 1fr; }
  .product-value__list article, .product-value__list article + article { min-height: 0; padding: 24px 0; border-left: 0; border-top: 1px solid #d6dce5; }
  .product-value__list article:first-child { padding-top: 0; border-top: 0; }
  .product-steps__list article, .product-steps__list article + article { min-height: 0; padding: 27px 0; border-left: 0; border-top: 1px solid #36383d; }
  .product-steps__list article:first-child { padding-top: 0; border-top: 0; }
}
@media (max-width: 620px) {
  .catalog-container, .product-shell { width: min(100% - 36px, 1280px); }
  .catalog-header .site-nav { gap: 12px; }
  .catalog-header .header-link:first-child { display: none; }
  .catalog-hero h1 { font-size: clamp(43px, 12vw, 60px); }
  .catalog-hero p { margin-top: 20px; font-size: 21px; }
  .catalog-hero__button { width: 100%; margin-top: 31px; }
  .product-menu__link { min-height: 72px; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 7px; }
  .product-menu__number { font-size: 12px; }
  .product-menu__title { font-size: 20px; line-height: 1.17; }
  .product-menu__action { font-size: 0; }
  .product-menu__action span { padding: 0; font-size: 22px; }
  .product-menu__state { font-size: 13px; }
  .catalog-principle h2 { font-size: clamp(35px, 10vw, 46px); }
  .catalog-principle p { margin-top: 19px; font-size: 17px; }
  footer.catalog-footer { padding-inline: 20px; }
  .product-hero { padding-top: 62px; }
  .product-hero h1 { font-size: clamp(43px, 11.5vw, 58px); }
  .product-hero__subtitle { font-size: 21px; }
  .product-hero .button { width: 100%; }
  .product-check h2, .product-value h2, .product-cost h2 { font-size: 38px; }
  .product-check__intro > p, .product-value > .product-shell > p, .product-cost__copy { font-size: 17px; }
  .product-check__card { padding: 23px 19px; margin-inline: -2px; }
  .product-steps h2 { margin-bottom: 38px; font-size: 39px; }
  .product-steps__number { margin-bottom: 17px; font-size: 44px; }
}

/* Compact, conversion-led catalog home */
.catalog-page--compact .catalog-hero--compact { padding: clamp(52px, 6.5vw, 90px) 0 54px; }
.catalog-hero__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); align-items: center; gap: clamp(48px, 7vw, 118px); }
.catalog-page--compact .catalog-hero h1 { max-width: 700px; font-size: clamp(48px, 5.25vw, 76px); line-height: 1; }
.catalog-page--compact .catalog-hero p { max-width: 560px; margin-top: 18px; font-size: clamp(20px, 1.7vw, 25px); }
.catalog-hero__links { display: flex; flex-wrap: wrap; gap: 17px 35px; margin-top: 31px; }
.catalog-hero__links a { color: var(--blue); font-size: 17px; font-weight: 590; text-decoration: none; text-underline-offset: 4px; }
.catalog-hero__links a:hover { text-decoration: underline; }
.catalog-hero__links span { padding-left: 8px; font-size: 22px; }
.catalog-chooser { overflow: hidden; border: 1px solid #d9dfe9; border-radius: 15px; background: #fff; box-shadow: 0 18px 44px rgba(27, 49, 84, .05); }
.catalog-chooser a { position: relative; min-height: 125px; padding: 30px 70px 27px 29px; display: block; color: var(--ink); text-decoration: none; transition: background-color .2s ease; }
.catalog-chooser a + a { border-top: 1px solid #e2e6ed; }
.catalog-chooser a:hover { background: #f7f9fd; }
.catalog-chooser__title { display: block; font-size: 25px; font-weight: 650; line-height: 1.18; letter-spacing: -.035em; }
.catalog-chooser__text { display: block; margin-top: 7px; color: var(--muted); font-size: 15px; line-height: 1.35; }
.catalog-chooser__arrow { position: absolute; top: 50%; right: 28px; color: var(--blue); font-size: 30px; transform: translateY(-50%); transition: transform .2s ease; }
.catalog-chooser a:hover .catalog-chooser__arrow { transform: translate(5px, -50%); }
.catalog-how { padding: 48px 0 51px; background: #f5f7fa; }
.catalog-how h2, .catalog-products__title { margin: 0 0 27px; color: var(--ink); font-size: clamp(32px, 3vw, 43px); line-height: 1.06; letter-spacing: -.052em; }
.catalog-how__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catalog-how__list article { min-height: 142px; padding: 0 34px 0 0; }
.catalog-how__list article + article { padding-left: 34px; border-left: 1px solid #d7dce5; }
.catalog-how__list span { display: block; margin-bottom: 13px; color: #7b8494; font-size: 14px; }
.catalog-how__list h3 { margin: 0 0 8px; font-size: 21px; letter-spacing: -.03em; }
.catalog-how__list p { max-width: 320px; margin: 0; color: #606b7d; font-size: 15px; line-height: 1.46; }
.catalog-products--compact { padding: 58px 0 68px; }
.catalog-products--compact .product-menu__link { min-height: 76px; }
.catalog-products--compact .product-menu__title { font-size: clamp(21px, 2vw, 27px); }
.catalog-products--compact .product-menu__action { font-size: 15px; }
.catalog-principle--compact { padding: 58px 0; }
.catalog-principle__grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.catalog-principle--compact h2 { max-width: 850px; font-size: clamp(32px, 3.15vw, 48px); }
.catalog-principle--compact .button { flex: 0 0 auto; gap: 10px; }
.motion-enabled [data-hero] .hero-stage { opacity: 0; transform: translateY(15px); transition: opacity .7s cubic-bezier(.2,.8,.2,1) var(--hero-delay), transform .7s cubic-bezier(.2,.8,.2,1) var(--hero-delay); }
.motion-enabled [data-hero].is-ready .hero-stage { opacity: 1; transform: translateY(0); }
@media (max-width: 820px) {
  .catalog-hero__grid { grid-template-columns: 1fr; gap: 37px; }
  .catalog-page--compact .catalog-hero h1 { font-size: clamp(47px, 9.5vw, 68px); }
  .catalog-chooser { max-width: 620px; }
  .catalog-how__list { grid-template-columns: 1fr; }
  .catalog-how__list article, .catalog-how__list article + article { min-height: 0; padding: 20px 0; border-left: 0; border-top: 1px solid #d7dce5; }
  .catalog-how__list article:first-child { padding-top: 0; border-top: 0; }
  .catalog-principle__grid { display: block; }
  .catalog-principle--compact .button { margin-top: 28px; }
}
@media (max-width: 620px) {
  .catalog-page--compact .catalog-hero--compact { padding: 55px 0 46px; }
  .catalog-page--compact .catalog-hero h1 { font-size: clamp(42px, 11.4vw, 58px); }
  .catalog-hero__links { display: grid; gap: 14px; }
  .catalog-chooser a { min-height: 112px; padding: 25px 58px 23px 22px; }
  .catalog-chooser__title { font-size: 22px; }
  .catalog-how { padding: 42px 0 44px; }
  .catalog-how h2, .catalog-products__title { margin-bottom: 24px; font-size: 35px; }
  .catalog-products--compact { padding: 47px 0 55px; }
  .catalog-products--compact .product-menu__link { min-height: 68px; }
}
