:root {
  --bg: #fff;
  --soft: #f2f2f2;
  --surface: #fff;
  --ink: #1a1a1a;
  --muted: #686868;
  --line: #dedede;
  --brand-accent: #0084bd;
  --brand: #007db4;
  --brand-dark: #006a99;
  --success: #16794b;
  --danger: #b42318;
  --radius: 5px;
  --shadow: 0 16px 42px rgba(0, 0, 0, .12);
  --container: 1240px;
}
* { box-sizing: border-box; }
.si { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; overflow: visible; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.5; }
body:has(dialog[open]) { overflow: hidden; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 3px; }
[hidden] { display: none !important; }
.container { width: min(100% - 32px, var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: 12px; z-index: 200; transform: translateY(-160%); background: #fff; padding: 12px 18px; border: 2px solid var(--brand); }
.skip-link:focus { transform: none; }
h1, h2, h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(2.35rem, 5.4vw, 5rem); }
h2 { font-size: clamp(2rem, 3.7vw, 3.6rem); }
h3 { font-size: clamp(1.1rem, 1.7vw, 1.45rem); }
p { margin-block: 0 1em; }
.site-header { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .97); }
.topbar { background: var(--ink); color: #fff; font-size: .875rem; }
.topbar__inner { display: flex; align-items: center; min-height: 42px; gap: 24px; }
.topbar a { text-decoration: none; }
.topbar a:hover { color: #72cef4; }
.topbar__spacer { flex: 1; }
.header-main { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; min-height: 82px; gap: 24px; }
.logo { display: block; }
.logo img { width: 185px; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 30px); }
.main-nav a, .nav-catalog { min-height: 44px; display: inline-flex; align-items: center; border: 0; background: none; font-weight: 600; text-decoration: none; cursor: pointer; }
.main-nav a:hover, .nav-catalog:hover { color: var(--brand); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.menu-btn { display: none; }
.mega-menu { position: absolute; inset: 100% 0 auto; border-top: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.mega-menu__inner { width: min(100% - 32px, var(--container)); margin: auto; padding-block: 26px 32px; }
.mega-menu__title { margin: 0 0 18px; font-size: 1.45rem; font-weight: 700; }
.mega-menu nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px 24px; }
.mega-menu nav a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid #eee; text-decoration: none; }
.mega-menu nav a:hover { color: var(--brand); }
.mega-menu__all { display: inline-block; margin-top: 20px; color: var(--brand-dark); font-weight: 700; }
.mobile-nav { padding: 8px 16px 22px; border-top: 1px solid var(--line); background: #fff; }
.mobile-nav a { display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid #eee; font-weight: 600; text-decoration: none; }
.btn, .icon-btn, .pill, .tab-buttons button, .reactions button { border: 0; border-radius: var(--radius); cursor: pointer; min-height: 44px; }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; background: var(--brand); color: #fff; font-weight: 700; text-align: center; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.btn:hover { background: var(--brand-dark); transform: translateY(-1px); }
.btn--secondary { background: #e7f3f8; color: var(--brand-dark); }
.btn--secondary:hover, .btn--secondary:focus-visible { background: #d9eaf4; color: var(--brand-dark); }
.btn--compact { min-height: 44px; padding: 9px 14px; font-size: .9rem; }
.icon-btn { position: relative; display: inline-flex; width: 44px; align-items: center; justify-content: center; padding: 9px; background: transparent; }
.icon-btn:hover { background: #edf6fa; }
.icon-btn svg { width: 23px; height: 23px; }
.icon-btn > span { position: absolute; right: -1px; top: -2px; display: grid; min-width: 19px; height: 19px; place-items: center; padding-inline: 4px; border-radius: 20px; background: var(--brand); color: #fff; font-size: .68rem; }
.hero { min-height: 680px; background: var(--soft); overflow: hidden; }
.hero__inner { display: grid; grid-template-columns: 1.05fr .95fr; min-height: inherit; align-items: center; gap: 56px; }
.hero h1 { max-width: 780px; margin-bottom: 24px; }
.hero-content > p { margin-bottom: 34px; color: #404040; font-size: clamp(1.2rem, 2vw, 1.7rem); }
.hero-media { align-self: end; }
.hero-media picture { display: block; }
.hero-media img { width: min(100%, 650px); margin-inline: auto; }
.page-hero { padding-block: clamp(58px, 8vw, 112px); background: var(--soft); }
.page-hero h1 { max-width: 1050px; margin-bottom: 24px; }
.page-hero p { max-width: 940px; color: #4f4f4f; font-size: 1.1rem; }
.thanks { text-align: center; }
.section { padding-block: clamp(64px, 9vw, 135px); }
.section--soft { background: var(--soft); }
.section--dark { background: var(--ink); color: #fff; }
.section--dark a:not(.btn) { color: #9bdfff; }
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
.section-head h2 { margin: 0; }
.section-head > a { color: var(--brand-dark); font-weight: 700; }
.section--dark .section-head > a { color: #9bdfff; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.product-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); }
.product-card--hidden { display: none !important; }
.product-image { position: relative; display: grid; aspect-ratio: 1 / .78; place-items: center; overflow: hidden; background: #fff; }
.product-image picture { display: block; width: 100%; height: 100%; }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.image-fallback { color: var(--muted); font-weight: 800; }
.badges { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 5px; }
.badge { padding: 4px 8px; border-radius: 3px; background: var(--brand); color: #fff; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.product-body { display: flex; flex: 1; flex-direction: column; padding: 18px; border-top: 1px solid #eee; }
.product-body h3 { display: -webkit-box; min-height: 2.6em; margin-bottom: 8px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.product-kind { display: -webkit-box; min-height: 2.7em; overflow: hidden; color: var(--muted); font-size: .82rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
article.product-card > div.product-body > h3 > a { color: var(--ink); text-decoration: none; }
.product-meta { display: flex; min-height: 48px; justify-content: space-between; gap: 10px; align-items: center; margin-top: auto; margin-bottom: 16px; }
.product-meta strong { font-size: 1.15rem; }
.product-meta span { color: var(--success); font-size: .78rem; text-align: right; }
.card-actions { display: grid; grid-template-columns: 1fr 1fr 44px; gap: 7px; }
.card-actions .btn { padding-inline: 8px; font-size: .88rem; border-radius: 7px; }
.favorite-button { border-radius: 7px; }
.favorite-button svg { width: 20px; height: 20px; transition: fill .2s ease, stroke .2s ease; }
.favorite-button[aria-pressed="false"] svg { fill: none; stroke: currentColor; }
.favorite-button[aria-pressed="true"] { background: #fde8e8; color: #e74c3c; }
.favorite-button[aria-pressed="true"] svg { fill: #e74c3c; stroke: #e74c3c; }
.workflow { padding-top: 20px; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin: 54px 0 0; padding: 0; list-style: none; }
.steps li { border-top: 1px solid #555; padding-top: 22px; }
.steps b { display: block; margin-bottom: 28px; color: #73d2fa; font-size: 3.4rem; font-weight: 400; }
.steps span { font-size: 1.1rem; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.category-tile { display: flex; min-height: 100px; align-items: center; justify-content: space-between; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); font-size: 1.1rem; font-weight: 700; text-decoration: none; }
.category-tile:hover { border-color: var(--brand); color: var(--brand-dark); }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.news-card { min-width: 0; }
.news-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.news-card__link:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: -3px; }
.news-image { display: block; aspect-ratio: 3 / 2; margin-bottom: 18px; overflow: hidden; border-radius: var(--radius); background: #ddd; }
.news-image img { width: 100%; height: 100%; object-fit: cover; }
.news-card h3 { font-size: 1.35rem; }
.news-card h3 { text-decoration: none; }
.eyebrow { color: var(--brand-dark); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.manufacturer-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 32px; align-items: center; margin-top: 60px; }
.manufacturer-grid img { width: 100%; height: 70px; object-fit: contain; filter: grayscale(1); }
.about-grid, .contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(42px, 8vw, 110px); }
.about-grid p { color: #cecece; }
.ratings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ratings a, .ratings > img { display: grid; min-height: 110px; place-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.ratings img { max-height: 80px; object-fit: contain; }
.service-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.service-cards article { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.service-cards img { width: 72px; height: 72px; margin-bottom: 24px; object-fit: contain; }
.service-cards h2 { font-size: 1.65rem; }
.contact-link { display: block; width: fit-content; margin-bottom: 8px; color: var(--brand-dark); font-size: 1.2rem; font-weight: 700; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; color: var(--muted); font-size: .88rem; }
.subcategories { display: flex; max-width: 100%; gap: 8px; flex-wrap: wrap; padding-block: 24px; }
.subcategories a { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; min-height: 44px; display: inline-flex; align-items: center; padding: 6px 16px; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; font-size: .9rem; font-weight: 500; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.subcategories a:hover { border-color: var(--brand); color: var(--brand-dark); background: #f0f8fc; }
.subcategories a[aria-current="page"] { background: var(--brand); color: #fff; border-color: var(--brand); }
.catalog-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; padding-block: 60px 110px; }
.filters { align-self: start; position: sticky; top: 142px; }
.filters h2 { font-size: 1.55rem; }
.form-field { display: grid; gap: 6px; margin-bottom: 16px; }
.form-field label, .edit label, .admin-card label { font-size: .87rem; font-weight: 700; }
.field { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #bbb; border-radius: 3px; background: #fff; }
textarea.field { min-height: 115px; resize: vertical; }
.field:focus { border-color: var(--brand); }
.price-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.btn--reset { width: 100%; min-height: 40px; margin-top: 4px; margin-bottom: 18px; border: 1px solid var(--brand); border-radius: 7px; background: var(--brand); color: #fff; font-size: .82rem; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.btn--reset:hover { border-color: var(--brand-dark); color: #fff; background: var(--brand-dark); }
.category-list { max-height: 420px; overflow: auto; border-top: 1px solid var(--line); }
.category-list a { display: flex; min-height: 44px; align-items: center; justify-content: space-between; border-bottom: 1px solid #eee; font-size: .88rem; text-decoration: none; }
.category-list a[aria-current="page"] { color: var(--brand-dark); font-weight: 700; }
.load-more { display: flex; margin: 30px auto 0; min-width: 240px; }
.load-more:hover { transform: translateY(-1px); }
.catalog-toolbar { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.catalog-toolbar p { margin: 0; }
.sort-field { display: grid; grid-template-columns: auto 210px; align-items: center; margin: 0; }
.filter-toggle { display: none; }
.empty-results { padding: 40px 0; font-size: 1.2rem; }
.category-copy, .static-content { padding-bottom: clamp(70px, 10vw, 150px); }
.content-section { max-width: 930px; padding-top: clamp(50px, 7vw, 95px); }
.content-section h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.prose { overflow-wrap: anywhere; }
.prose p, .prose li { max-width: 88ch; }
.prose ul, .prose ol { margin: .5em 0 1.4em; padding-left: 1.5rem; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin-bottom: .55em; }
.prose li > ul, .prose li > ol { margin: .4em 0; }
.seo-faq { margin: .5em 0 1.4em; border-top: 1px solid var(--line); }
.seo-faq-item { border-bottom: 1px solid var(--line); }
.seo-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1em 2em 1em 0;
  font-weight: 600;
  font-size: 1.05em;
  position: relative;
  user-select: none;
}
.seo-faq-item summary::-webkit-details-marker { display: none; }
.seo-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  font-weight: 400;
  color: var(--accent, #0084BD);
  transition: transform .2s ease;
}
.seo-faq-item[open] summary::after { content: "−"; }
.seo-faq-answer { padding: 0 2em 1.2em 0; }
.seo-faq-answer p { margin: 0; }
.prose img, .article-content img { height: auto !important; }
.content-image { margin: 28px 0; }
.content-image img { width: auto; max-width: 100%; max-height: 620px; object-fit: contain; }
.prose table, .tab-panel table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(350px, .95fr); gap: clamp(36px, 7vw, 92px); padding-block: 70px 90px; }
.gallery { min-width: 0; }
.main-image { display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; padding: 20px; border: 1px solid var(--line); background: #fff; cursor: zoom-in; }
.main-image img { width: 100%; height: 100%; object-fit: contain; }
.thumbs { display: flex; gap: 8px; overflow-x: auto; margin-top: 10px; padding: 3px; }
.thumb { flex: 0 0 82px; width: 82px; height: 68px; padding: 6px; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.thumb[aria-pressed="true"] { border: 2px solid var(--brand); }
.thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-status { width: fit-content; padding: 5px 9px; border-radius: 3px; background: #e0f3e9; color: var(--success); font-size: .83rem; font-weight: 700; }
.price { display: block; margin-block: 25px; font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.summary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; }
.product-contact-actions { display: flex; flex-direction: column; gap: 10px; min-width: 0; max-width: 100%; }
.product-contact-primary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; max-width: 100%; }
.product-contact-secondary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; max-width: 100%; }
.product-contact-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 15px; border: 1px solid #d9e7f2; border-radius: 7px; background: var(--inner-paper, #fff); color: var(--inner-blue-dark, #006a99); font-size: .9rem; font-weight: 600; line-height: 1.1; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease, transform .18s ease; }
.product-contact-btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.product-contact-btn:hover, .product-contact-btn:focus-visible { border-color: var(--inner-blue, #007db4); background: rgba(0, 122, 189, .06); color: var(--inner-blue-dark, #006a99); }
.product-contact-btn--max { border-color: #17873b; background: #17873b; color: #fff; }
.product-contact-btn--max:hover, .product-contact-btn--max:focus-visible { border-color: #126d30; background: #126d30; color: #fff; transform: translateY(-1px); }
.product-contact-btn--order { border-color: transparent; background: var(--inner-blue, #007db4); color: #fff; }
.product-contact-btn--order:hover, .product-contact-btn--order:focus-visible { border-color: transparent; background: var(--inner-blue-dark, #006a99); color: #fff; transform: translateY(-1px); }
.product-contact-secondary .product-contact-btn { background: transparent; border-color: transparent; color: var(--inner-blue-dark, #006a99); font-size: .85rem; font-weight: 500; padding: 6px 10px; }
.product-contact-secondary .product-contact-btn svg { width: 16px; height: 16px; flex: 0 0 16px; }
.product-contact-secondary .product-contact-btn:hover, .product-contact-secondary .product-contact-btn:focus-visible { background: rgba(0, 122, 189, .06); border-color: transparent; color: var(--inner-blue-dark, #006a99); transform: none; }
.product-contact-secondary .copy-button { flex: 0 0 32px; width: 32px; min-height: 44px; margin-left: -6px; color: var(--inner-blue-dark, #006a99); }
.product-contact-secondary .copy-button:hover { background: rgba(0, 122, 189, .06); color: var(--inner-blue-dark, #006a99); }
.product-sticky-bar { display: none; }
.tab-buttons { display: flex; overflow-x: auto; border-bottom: 1px solid var(--line); }
.tab-buttons button { flex: 0 0 auto; padding: 12px 19px; border-radius: 0; background: transparent; }
.tab-buttons button[aria-selected="true"] { border-bottom: 3px solid var(--brand); color: var(--brand-dark); font-weight: 700; }
.tab-panel { padding-block: 32px; }
#panel-desc { white-space: pre-line; }
#panel-desc ul, #panel-desc ol { margin: .4em 0 1.2em; padding-left: 1.35rem; }
#panel-desc ul { list-style: disc; }
#panel-desc ol { list-style: decimal; }
#panel-desc li { margin-bottom: .45em; }
#panel-desc li > ul, #panel-desc li > ol { margin: .35em 0; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.article { max-width: 920px; padding-block: 70px 100px; }
.article h1 { font-size: clamp(2.3rem, 5vw, 4.8rem); }
.article-cover { width: 100%; margin-block: 34px; }
.article-content { font-size: 1.07rem; }
.article-content h2 { margin-top: 2em; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.share, .reactions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--line); }
.share a, .reactions button { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 3px; background: var(--soft); text-decoration: none; }
.pill-row { display: flex; max-width: 100%; gap: 8px; overflow-x: auto; margin-bottom: 38px; padding-bottom: 5px; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%); }
.pill { flex: 0 0 auto; padding: 9px 17px; background: var(--soft); scroll-snap-align: start; }
.pill[aria-pressed="true"] { background: var(--ink); color: #fff; }
.subscribe { max-width: 800px; }
.subscribe-form { display: grid; gap: 18px; }
.lead-form { display: grid; grid-template-columns: 1fr; gap: 0; max-width: 680px; margin-inline: auto; }
.form-field--wide { grid-column: auto; }
.check { display: flex; min-height: 44px; gap: 10px; align-items: flex-start; margin-block: 8px 16px; font-size: .84rem; }
.check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 1px; }
.form-status { min-height: 24px; margin: 8px 0 0; }
.form-status.error { color: var(--danger); }
.form-status.success { color: var(--success); }
.form-success { max-width: 680px; margin-inline: auto; padding: clamp(22px, 4vw, 38px) clamp(16px, 4vw, 30px); text-align: center; background: #f3faf5; border: 1px solid #cde9d6; border-radius: 14px; }
.form-success__icon { display: grid; width: 64px; height: 64px; margin: 0 auto 14px; place-items: center; border-radius: 50%; background: #e6f6ec; color: var(--success); box-shadow: inset 0 0 0 1px rgba(31, 157, 69, .18); }
.form-success__icon svg { width: 30px; height: 30px; }
.form-success__title { display: block; margin-bottom: 6px; font-size: clamp(1.1rem, 2.5vw, 1.3rem); line-height: 1.3; }
.form-success__text { margin: 0; color: var(--muted); font-size: .95rem; overflow-wrap: anywhere; }
.site-dialog { width: min(620px, calc(100% - 24px)); max-height: min(88vh, 800px); padding: 28px; border: 0; border-radius: var(--radius); box-shadow: var(--shadow); }
.site-dialog--wide { width: min(850px, calc(100% - 24px)); }
.gallery-viewer { position: relative; display: grid; place-items: center; min-height: 200px; }
.gallery-viewer img { display: block; width: 100%; max-height: 70vh; object-fit: contain; border-radius: 8px; background: #fff; }
.gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .4); border-radius: 7px; background: rgba(23, 23, 23, .55); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: background .15s ease; }
.gallery-nav:hover, .gallery-nav:focus-visible { background: rgba(23, 23, 23, .8); outline: 2px solid #fff; outline-offset: 2px; }
.gallery-nav--prev { left: 8px; }
.gallery-nav--next { right: 8px; }
.gallery-counter { position: absolute; right: 12px; bottom: 10px; padding: 4px 10px; border-radius: 7px; background: rgba(23, 23, 23, .65); color: #fff; font-size: .8rem; }
.site-dialog::backdrop { background: rgba(0, 0, 0, .62); }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.dialog-head h2 { margin-bottom: 6px; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.cart-line { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto auto; align-items: center; gap: 13px; padding-block: 14px; border-bottom: 1px solid var(--line); }
.cart-line:last-child { border-bottom: 0; }
.cart-line img { width: 70px; height: 55px; object-fit: contain; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.cart-line > a { min-width: 0; color: var(--ink); font-weight: 600; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.cart-line > a:hover { color: var(--brand-dark); text-decoration: underline; }
.cart-line .icon-btn { display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--muted); }
.cart-line .icon-btn:hover, .cart-line .icon-btn:focus-visible { border-color: var(--brand); color: var(--brand-dark); }
.quantity { display: flex; align-items: center; gap: 4px; }
.quantity button { width: 44px; min-height: 44px; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.quantity output { min-width: 32px; text-align: center; font-weight: 700; }
.cart-modal .lead-form { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.cart-modal .lead-form .form-field--wide > .btn { width: 100%; min-height: 44px; }
.cart-modal .check { margin-block: 4px 12px; }
.search-results { display: grid; gap: 2px; margin-top: 12px; }
.search-result { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: center; min-height: 64px; padding: 8px; border-bottom: 1px solid #eee; text-decoration: none; }
.search-result img, .search-result__empty { width: 54px; height: 48px; object-fit: contain; background: var(--soft); }
.search-result span { display: block; color: var(--muted); font-size: .78rem; }
.cookie { position: fixed; z-index: 90; right: 18px; bottom: max(18px, env(safe-area-inset-bottom)); display: flex; max-width: 540px; align-items: center; gap: 15px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); font-size: .9rem; }
.site-footer { padding-block: 70px; background: var(--ink); color: #fff; }
.footer-grid { display: grid; grid-template-columns: minmax(200px, 1.2fr) minmax(105px, .7fr) minmax(185px, 1.05fr) minmax(170px, .95fr) 304px; gap: clamp(20px, 2vw, 32px); }
.footer-logo { display: block; width: fit-content; margin-bottom: 28px; }
.footer-logo img { width: 190px; }
.site-footer p { color: #c9c9c9; font-size: .86rem; }
.site-footer nav, .footer-contacts { display: grid; align-content: start; gap: 11px; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { color: #85d8fb; }
.footer-social { min-width: 0; align-self: start; }
.footer-social__links { display: flex; min-width: 0; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.footer-social__links li { margin: 0; padding: 0; list-style: none; }
.footer-social__link { display: inline-flex; width: 44px; min-width: 44px; height: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; background: transparent; color: #fff; transition: border-color .18s ease, background-color .18s ease; }
.footer-social__link:hover { border-color: rgba(255, 255, 255, .52); background: rgba(255, 255, 255, .07); color: #fff; }
.footer-social__link:focus-visible { border-color: #85d8fb; }
.footer-social__icon { display: block; width: 33px; height: 33px; flex: 0 0 33px; object-fit: contain; object-position: center; }
@media (min-width: 1101px) {
  .footer-social__links { display: grid; grid-template-columns: repeat(3, 44px); grid-template-rows: repeat(2, 44px); }
}
.admin, .admin-login { min-height: 100vh; padding: 32px; background: var(--soft); }
.admin-login { display: grid; place-items: center; }
.admin-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.admin-images { margin: 4px 0 18px; padding: 14px; border: 1px dashed var(--line); border-radius: 12px; background: #fafafa; }
.admin-images__label { margin-bottom: 10px; font-size: .87rem; font-weight: 700; }
.admin-images__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-bottom: 12px; }
.admin-image { position: relative; margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.admin-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #f4f4f4; }
.admin-image__actions { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; }
.admin-image__actions .btn { min-height: 30px; padding: 2px 8px; font-size: .85rem; }
.admin-image__main { display: inline-flex; align-items: center; min-height: 30px; padding: 2px 8px; border-radius: 4px; background: #fff3cd; color: #8a6d00; font-size: .85rem; }
.btn--danger { border-color: #e6b4b4; color: #b3261e; background: #fdf3f2; }
.btn--danger:hover { background: #b3261e; color: #fff; border-color: #b3261e; }
.admin-images__upload { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; cursor: pointer; }
.form-status { min-height: 1.2em; font-size: .9rem; color: var(--muted); }
.form-status:not(:empty) { color: var(--inner-ink); }
.admin-login .admin-card { width: min(100%, 440px); }
.admin-card label { display: grid; gap: 6px; margin-bottom: 15px; }
.admin > header { display: flex; justify-content: space-between; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.admin-card--wide { grid-column: 1 / -1; }
.edit { max-width: 900px; margin: 24px auto; }
.edit .big { min-height: 320px; }
.error { color: var(--danger); }
@media (max-width: 1100px) {
  .main-nav a:last-child { display: none; }
  .header-main { grid-template-columns: 170px minmax(0, 1fr) auto; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .manufacturer-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-social { grid-column: 2; margin-top: -12px; }
}
@media (max-width: 820px) {
  .topbar { display: none; }
  .header-main { grid-template-columns: 1fr auto; min-height: 68px; }
  .logo img { width: 160px; }
  .main-nav { display: none; }
  .menu-btn { display: inline-flex; }
  .mega-menu { display: none; }
  .hero { min-height: auto; }
  .hero__inner { grid-template-columns: 1fr; gap: 8px; padding-top: 48px; }
  .hero-media { max-width: 520px; margin-inline: auto; }
  .product-grid, .product-grid--three { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .about-grid, .contact-grid, .service-cards { grid-template-columns: 1fr; }
  .catalog-layout { display: block; }
  .filter-toggle { display: inline-flex; margin-bottom: 20px; }
  .filters { position: static; display: none; margin-bottom: 32px; padding: 18px; border: 1px solid var(--line); }
  .filters.open { display: block; }
  .product-detail { grid-template-columns: 1fr; }
  .footer-grid { gap: 34px; }
}
@media (max-width: 560px) {
  .container { width: min(100% - 24px, var(--container)); }
  h1 { font-size: clamp(2.2rem, 12vw, 3.4rem); }
  h2 { font-size: clamp(1.8rem, 9vw, 2.65rem); }
  .header-actions { gap: 1px; }
  .logo img { width: 145px; }
  .product-grid, .product-grid--three { grid-template-columns: 1fr; }
  .product-card { display: grid; grid-template-columns: 42% 58%; }
  .product-image { aspect-ratio: auto; min-height: 230px; padding: 0; }
  .product-body { min-width: 0; border-top: 0; border-left: 1px solid #eee; padding: 13px; }
  .product-kind { min-height: 0; margin-bottom: 7px; }
  .product-body h3 { min-height: 0; font-size: 1rem; }
  .product-meta { display: block; min-height: 0; }
  .product-meta span { display: block; text-align: left; }
  .card-actions { grid-template-columns: 1fr 44px; }
  .card-actions .btn--secondary { display: none; }
  .steps, .category-grid, .news-grid, .ratings, .footer-grid { grid-template-columns: 1fr; }
  .footer-social { grid-column: auto; margin-top: -20px; }
  .manufacturer-grid { grid-template-columns: repeat(2, 1fr); }
  .section-head { align-items: flex-start; }
  .catalog-toolbar { align-items: flex-end; }
  .sort-field { grid-template-columns: 1fr; }
  .lead-form { grid-template-columns: 1fr; }
  .form-field--wide { grid-column: auto; }
  .site-dialog { padding: 20px 14px; }
  .cart-line { grid-template-columns: 55px minmax(0, 1fr) auto; }
  .cart-line img { width: 55px; }
  .cart-line .quantity { grid-column: 2; justify-self: start; }
  .cookie { right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); left: 8px; display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 8px 10px; }
  .cookie span { grid-column: 1 / -1; }
  .cookie .btn { min-width: 52px; padding-inline: 12px; }
  .admin { padding: 12px; }
  .admin-grid { grid-template-columns: 1fr; }
  .admin-card--wide { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.page-reviews-content { background: var(--inner-canvas); }
.page-reviews .reviews-widget-section { padding-block: clamp(20px, 3vw, 38px) clamp(28px, 4vw, 54px); }
.page-reviews .reviewlab-shell { min-width: 0; overflow: hidden; padding: clamp(16px, 2.8vw, 30px); border: 1px solid var(--inner-stone); border-radius: 22px; background: #fff; }
.page-reviews review-lab { display: block; width: 100%; min-height: 0; }
.page-reviews .reviewlab-shell[data-reviewlab-state="ready"] review-lab { min-height: 280px; }
.page-reviews .reviewlab-fallback { display: grid; min-height: 280px; align-content: center; gap: 18px; padding: clamp(22px, 4vw, 44px); border: 1px solid #d9e4e8; border-radius: 16px; background: #f4f8f9; }
.page-reviews .reviewlab-fallback h3 { max-width: 620px; margin: 0; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.page-reviews .reviewlab-fallback p { max-width: 700px; margin: 0; color: var(--muted); }
.page-reviews .reviewlab-fallback__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.page-reviews .reviewlab-fallback__links a { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid #cbdde3; border-radius: 10px; background: #fff; color: var(--ink); font-weight: 700; text-align: center; text-decoration: none; }
.page-reviews .reviewlab-fallback__links a:hover { border-color: var(--brand); }
.page-reviews .reviewlab-fallback__note { font-size: .82rem; }
.page-reviews .reviewlab-shell[data-reviewlab-state="ready"] .reviewlab-fallback { display: none; }
.page-reviews .reviews-ratings { padding-block: clamp(38px, 5vw, 60px) clamp(46px, 6vw, 90px); }
.page-reviews .reviews-ratings__head { margin-bottom: clamp(45px, 7vw, 105px); }
.page-reviews .reviews-ratings__head h2 { margin: 0 0 40px; }
.page-reviews .reviews-ratings__head p { margin: 0; color: var(--muted); font-size: clamp(1rem, 1.8vw, 1.2rem); }
.page-reviews .reviews-rating-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px); }
.page-reviews .reviews-rating-card { display: grid; min-width: 0; min-height: 220px; justify-items: center; align-content: start; gap: 20px; padding: 0 12px; border: 0; border-radius: 0; background: transparent; color: var(--ink); text-align: center; text-decoration: none; }
.page-reviews .reviews-rating-card img { width: min(240px, 100%); height: auto; max-height: none; object-fit: contain; }
.page-reviews .reviews-rating-card span { font-size: clamp(1.1rem, 2vw, 1.35rem); }
.page-reviews .reviews-rating-card strong { font-weight: 700; }
.page-reviews .reviews-rating-card:hover span { color: var(--brand); }
.page-reviews .reviews-form-block { margin-top: 0; padding-block: clamp(28px, 4vw, 45px) clamp(70px, 9vw, 120px); }
.page-reviews .reviews-form-block h2 { margin-bottom: 32px; }
.page-reviews .reviews-form-block .lead-form { width: min(100%, 680px); margin-inline: auto; }
@media (max-width: 820px) {
  .page-reviews .reviews-rating-grid { grid-template-columns: 1fr; gap: 38px; }
  .page-reviews .reviews-rating-card { min-height: 0; }
}
@media (max-width: 560px) {
  .page-reviews .reviewlab-shell { padding: 10px; border-radius: 16px; }
  .page-reviews .reviewlab-shell[data-reviewlab-state="ready"] review-lab, .page-reviews .reviewlab-fallback { min-height: 330px; }
  .page-reviews .reviewlab-fallback { padding: 20px 16px; }
  .page-reviews .reviewlab-fallback__links { grid-template-columns: 1fr; }
  .page-reviews .reviews-ratings__head h2 { margin-bottom: 20px; }
}
.site-header { border-bottom-color: #ebe8e4; background: rgba(253, 252, 252, .94); backdrop-filter: saturate(140%) blur(18px); }
.topbar { position: relative; z-index: 3; border-bottom: 1px solid #ebe8e4; background: #f7f5f3; color: #4d4d4d; font-size: .78rem; }
.topbar__inner { min-height: 36px; gap: 18px; }
.topbar a { color: #313131; }
.topbar a:hover { color: var(--ink); text-decoration: underline; }
.schedule { color: #777169; white-space: nowrap; }
.contact-utility { position: relative; display: flex; min-height: 36px; align-items: center; gap: 2px; }
.contact-utility > a { display: inline-flex; align-items: center; min-height: 36px; text-decoration: none; }
.copy-button { position: relative; display: inline-flex; width: 32px; min-height: 32px; align-items: center; justify-content: center; padding: 6px; border: 0; border-radius: 999px; background: transparent; color: #777169; cursor: pointer; }
.copy-button:hover { background: #ebe8e4; color: var(--ink); }
.copy-button svg { width: 16px; height: 16px; }
.copy-feedback:not(:empty) { position: fixed; z-index: 240; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px); padding: 8px 12px; border: 1px solid #d8d4cf; border-radius: 999px; background: var(--ink); color: #fff; box-shadow: 0 8px 28px rgba(0, 0, 0, .14); font-size: .78rem; line-height: 1.3; }
.contact-popover { position: absolute; z-index: 4; top: 100%; right: 0; width: 184px; padding: 16px; visibility: hidden; border: 1px solid #e2ded9; border-radius: 16px; background: #fff; color: #4d4d4d; box-shadow: 0 12px 36px rgba(23, 23, 23, .11); opacity: 0; transform: translateY(-4px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.contact-popover img { width: 148px; height: 148px; image-rendering: pixelated; }
.contact-popover p { margin: 10px 0 0; font-size: .72rem; line-height: 1.35; text-align: center; }
.contact-utility:hover .contact-popover, .contact-utility:focus-within .contact-popover { visibility: visible; opacity: 1; transform: none; }
.mobile-nav__channels a { display: inline-flex; min-height: 30px; align-items: center; padding: 4px 10px; border: 1px solid #dedad5; border-radius: 999px; background: #fdfcfc; font-weight: 600; text-decoration: none; }
.header-main { position: relative; z-index: 2; grid-template-columns: 166px minmax(0, 1fr) auto; min-height: 68px; gap: 18px; }
.logo img { width: 158px; }
.main-nav { gap: clamp(12px, 1.6vw, 24px); }
.main-nav a, .nav-catalog { font-size: .9rem; font-weight: 600; }
.main-nav a:hover, .nav-catalog:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }
.header-actions { gap: 3px; }
.header-messengers { display: flex; align-items: center; gap: 4px; margin-right: 3px; }
.messenger-action { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid #e2ded9; border-radius: 999px; background: transparent; color: #313131; font-size: .78rem; font-weight: 600; line-height: 1; text-decoration: none; transition: border-color .16s ease, background .16s ease; }
.messenger-action:hover { border-color: #d1ccc6; background: #f0eeeb; }
.messenger-action svg { flex: 0 0 18px; width: 18px; height: 18px; }
.messenger-utility { min-height: 44px; }
.messenger-utility .contact-popover { top: calc(100% + 8px); pointer-events: none; }
.messenger-utility--telegram .contact-popover { right: auto; left: 0; }
.messenger-utility--max .contact-popover { right: 0; left: auto; }
.messenger-utility:hover .contact-popover, .messenger-utility:focus-within .contact-popover, .messenger-action:hover .contact-popover, .messenger-action:focus-within .contact-popover { visibility: visible; opacity: 1; transform: none; }
.page-static .review-form-block { margin-top: clamp(48px, 6vw, 80px); }
.header-actions .icon-btn { border-radius: 999px; color: #313131; }
.header-actions .icon-btn:hover { background: #f0eeeb; }
.header-actions .btn { border-radius: 999px; font-size: .82rem; font-weight: 600; }
.menu-btn { display: none; }
.mega-menu { z-index: 1; border-top-color: #ebe8e4; background: #fdfcfc; box-shadow: 0 20px 45px rgba(23, 23, 23, .1); }
.mega-menu__title { font-weight: 500; }
.mega-menu nav a { border-bottom-color: #ebe8e4; font-size: .9rem; }
.mobile-nav { max-height: calc(100dvh - 68px); overflow-y: auto; padding: 12px 20px max(26px, env(safe-area-inset-bottom)); border-top-color: #ebe8e4; background: #fdfcfc; box-shadow: 0 18px 38px rgba(23, 23, 23, .1); }
.mobile-nav__links { display: grid; }
.mobile-nav__links > a { min-height: 48px; border-bottom-color: #ebe8e4; color: var(--ink); font-weight: 600; }
.mobile-nav__utilities { display: grid; gap: 8px; padding-top: 18px; color: #777169; }
.mobile-contact { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; }
.mobile-contact > a { color: var(--ink); font-weight: 600; text-decoration: none; }
.mobile-contact .copy-button { flex: 0 0 44px; width: 44px; min-height: 44px; border: 1px solid #ebe8e4; }
.mobile-nav__channels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.mobile-nav__channels a { min-height: 44px; padding-inline: 18px; color: var(--ink); }
.mobile-nav__group { width: 100%; text-align: center; }
@media (min-width: 981px) {
  .mobile-nav:not([hidden]) { display: none; }
}
@media (max-width: 980px) {
  .topbar, .main-nav { display: none; }
  .header-main { grid-template-columns: 1fr auto; min-height: 68px; }
  .header-messengers { display: none; }
  .menu-btn { display: inline-flex; }
  .mega-menu { display: none; }
  .mobile-nav:not([hidden]) { display: block; }
}
.page-home {
  --home-canvas: #fdfcfc;
  --home-paper: #fff;
  --home-taupe: #f5f3f1;
  --home-stone: #ebe8e4;
  --home-ink: var(--ink);
  --home-body: #4d4d4d;
  --home-warm-body: #777169;
  --home-blue: var(--brand);
  --home-blue-dark: var(--brand-dark);
  --inner-canvas: #fdfcfc;
  --inner-paper: #fff;
  --inner-taupe: #f5f3f1;
  --inner-stone: #ebe8e4;
  --inner-ink: #1a1a1a;
  --inner-body: #4d4d4d;
  --inner-warm-body: #675f58;
  --inner-blue: var(--brand);
  --inner-blue-dark: var(--brand-dark);
  background: var(--home-canvas);
  color: var(--home-ink);
}
.page-home main { background: var(--home-canvas); }
.page-home h1, .page-home h2, .page-home h3 { color: var(--home-ink); font-weight: 400; }
.page-home h1 { font-size: clamp(3.25rem, 4.6vw, 3.6rem); line-height: 1.02; letter-spacing: -.045em; }
.page-home h2 { font-size: clamp(2rem, 3.2vw, 2.5rem); line-height: 1.08; letter-spacing: -.035em; }
.page-home h3 { font-weight: 500; letter-spacing: -.02em; }
.page-home p { color: var(--home-body); }
.page-home .btn { border-radius: 999px; background: var(--home-blue); font-weight: 600; box-shadow: none; }
.page-home .btn:hover { background: var(--home-blue-dark); }
.page-home .btn--secondary { border: 1px solid #d9e7f2; background: #fff; color: var(--home-blue-dark); }
.page-home .btn--secondary:hover, .page-home .btn--secondary:focus-visible { background: #d9e9f5; color: var(--home-blue-dark); }
.page-home .product-card { border-color: var(--inner-stone); border-radius: 16px; background: var(--inner-paper); box-shadow: 0 1px 0 rgba(23, 23, 23, .02); transition: border-color .18s ease, transform .18s ease; }
.page-home .product-card:hover { border-color: #d1ccc6; transform: translateY(-2px); }
.page-home .product-image { aspect-ratio: 1 / .88; padding: 0; }
.page-home .product-body { padding: 18px; border-color: var(--inner-stone); }
.page-home .product-body h3 { display: -webkit-box; min-height: 2.4em; margin-bottom: 8px; overflow: hidden; font-size: 1.06rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.page-home .product-kind { color: var(--inner-warm-body); font-size: .82rem; line-height: 1.45; }
.page-home .product-meta strong { font-size: 1rem; font-weight: 500; }
.page-home .product-meta span { color: #52645a; font-size: .75rem; }
.page-home .card-actions { gap: 6px; }
.page-home .card-actions .btn { padding-inline: 8px; font-size: .78rem; border-radius: 7px; }
.page-home .favorite-button { border: 1px solid var(--inner-stone); background: var(--inner-paper); border-radius: 7px; }
.page-home .badge { border: 1px solid #ded9d2; border-radius: 999px; background: rgba(255, 255, 255, .96); color: #4d4842; text-transform: none; }
.page-home .section { padding-block: clamp(88px, 7.5vw, 108px); }
.page-home .section-head { align-items: center; margin-bottom: 36px; }
.page-home .section-head > a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border: 1px solid var(--home-stone); border-radius: 999px; color: var(--home-ink); font-size: .9rem; font-weight: 600; text-decoration: none; }
.page-home .section-head > a:hover { border-color: #cbc5bf; background: #fff; }
.page-home .home-hero { --home-hero-height: clamp(620px, 47vw, 680px); position: relative; min-height: var(--home-hero-height); padding: 0; isolation: isolate; overflow: hidden; background: var(--home-taupe); }
.page-home .home-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--home-taupe) 0%, rgba(245, 243, 241, .98) 32%, rgba(245, 243, 241, .88) 43%, rgba(245, 243, 241, .52) 53%, rgba(245, 243, 241, .1) 67%, rgba(245, 243, 241, 0) 76%); }
.page-home .hero__inner { position: relative; z-index: 2; display: flex; min-height: var(--home-hero-height); align-items: center; }
.page-home .hero-content { width: min(52%, 620px); max-width: 620px; padding-block: 64px; }
.page-home .hero h1 { margin-bottom: 24px; }
.page-home .hero-content > p { margin-bottom: 32px; color: var(--home-warm-body); font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.5; }
.page-home .hero-media { position: absolute; z-index: 0; inset: 0 0 0 28%; display: flex; min-width: 0; align-items: flex-end; justify-content: flex-end; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.page-home .hero-media picture { display: flex; width: 100%; height: 100%; align-items: flex-end; justify-content: flex-end; }
.page-home .hero-media img { width: 100%; max-width: 1100px; height: 100%; margin: 0 0 0 auto; object-fit: contain; object-position: right bottom; }
.page-home .home-products--popular { background: var(--home-taupe); color: var(--home-ink); }
.page-home .home-products--popular .section-head > a { color: var(--home-ink); }
.page-home .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.page-home .workflow { padding-block: clamp(82px, 7vw, 104px); background: var(--home-ink); color: #fff; }
.page-home .workflow h2, .page-home .workflow p { color: #fff; }
.page-home .workflow .steps { gap: 22px; margin-top: 52px; }
.page-home .workflow .steps li { padding-top: 18px; border-top-color: #3a3a3a; }
.page-home .workflow .steps b { margin-bottom: 36px; color: #9b9b9b; font-size: 1rem; font-weight: 400; }
.page-home .workflow .steps span { color: #f3f3f3; font-size: 1.05rem; line-height: 1.45; }
.page-home .category-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
.page-home .category-tile { min-height: 116px; gap: 14px; padding: 20px; border-color: var(--home-stone); border-radius: 16px; background: var(--home-paper); font-size: 1rem; font-weight: 600; transition: border-color .18s ease, background .18s ease; }
.page-home .category-tile:hover { border-color: #cfc9c2; background: var(--home-taupe); color: var(--home-ink); }
.page-home .category-tile img { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; }
.page-home .category-tile span:nth-last-child(2) { flex: 1; }
.page-home .category-tile span:last-child { color: var(--home-warm-body); font-size: 1.2rem; }
.page-home .home-news { background: var(--home-taupe); }
.page-home .news-grid { gap: 20px; }
.page-home .news-card { overflow: hidden; border: 1px solid var(--home-stone); border-radius: 18px; background: var(--home-paper); }
.page-home .news-image { margin: 0; border-radius: 0; }
.page-home .news-card__content { padding: 22px; }
.page-home .news-card h3 { font-size: 1.3rem; font-weight: 500; line-height: 1.18; }
.page-home .news-card__content > p:last-child { color: var(--home-body); font-size: .94rem; line-height: 1.55; }
.page-home .eyebrow { color: var(--home-warm-body); font-size: .7rem; font-weight: 500; letter-spacing: .08em; }
.page-home .manufacturers { padding-block: 94px; }
.page-home .manufacturer-grid { gap: 40px; margin-top: 46px; padding-block: 30px; border-block: 1px solid var(--home-stone); }
.page-home .manufacturer-grid img { height: 62px; opacity: .72; filter: grayscale(1); }
.page-home .home-about { background: var(--home-taupe); color: var(--home-ink); }
.page-home .home-about .about-grid { grid-template-columns: 1.08fr .92fr; gap: clamp(52px, 8vw, 120px); }
.page-home .home-about .about-grid h2 { margin-bottom: 30px; }
.page-home .home-about .about-grid h3 { margin: 38px 0 12px; font-size: 1.15rem; }
.page-home .home-about .about-grid p { color: var(--home-body); line-height: 1.68; }
.page-home .home-about .about-grid > div:last-child { padding-top: 68px; }
.page-home .ratings { gap: 16px; }
.page-home .ratings a { min-height: 132px; border-color: var(--home-stone); border-radius: 18px; }
.page-home .ratings a:hover { border-color: #cfc9c2; }
.page-home .home-contact { background: var(--home-taupe); }
.page-home .home-contact .contact-grid { grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr); gap: clamp(48px, 8vw, 110px); }
.page-home .home-contact h3 { margin: 30px 0 10px; font-size: .92rem; color: var(--home-warm-body); }
.page-home .contact-link { color: var(--home-ink); font-size: clamp(1.08rem, 1.6vw, 1.3rem); font-weight: 600; }
.page-home .home-contact .contact-grid > div:last-child { padding: 30px; border: 1px solid var(--home-stone); border-radius: 18px; background: var(--home-paper); }
.page-home .field { border-color: #d8d4cf; border-radius: 8px; }
.page-home .field:focus { border-color: var(--home-blue); }
@media (max-width: 980px) {
  .page-home .home-hero { --home-hero-height: auto; display: flex; min-height: 0; flex-direction: column; padding: 44px 0 0; }
  .page-home .home-hero::after { display: none; }
  .page-home .hero__inner { display: block; min-height: 0; padding-top: 0; }
  .page-home .hero-content { width: 100%; max-width: 720px; padding: 0 0 28px; }
  .page-home .hero-media { position: relative; inset: auto; display: block; width: min(100%, 820px); max-width: none; align-self: auto; margin-inline: auto; overflow: hidden; }
  .page-home .hero-media picture { display: block; width: 100%; height: auto; }
  .page-home .hero-media img { width: 100%; max-width: none; height: auto; object-position: center bottom; }
  .page-home .home-contact .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .page-home h1 { font-size: clamp(2.4rem, 8.5vw, 3.2rem); }
  .page-home h2 { font-size: clamp(2rem, 6vw, 2.35rem); }
  .page-home .section { padding-block: clamp(64px, 11vw, 76px); }
  .page-home .product-grid, .page-home .product-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-home .category-grid { grid-template-columns: repeat(2, 1fr); }
  .page-home .news-grid { grid-template-columns: 1fr; }
  .page-home .home-about .about-grid { grid-template-columns: 1fr; gap: 12px; }
  .page-home .home-about .about-grid > div:last-child { padding-top: 0; }
}
@media (max-width: 560px) {
  .page-home h1 { font-size: clamp(2.4rem, 11vw, 2.62rem); line-height: 1.04; letter-spacing: -.04em; }
  .page-home h2 { font-size: 2rem; }
  .page-home .home-hero { padding-top: 34px; }
  .page-home .hero-content { padding: 0 0 18px; }
  .page-home .hero-content > p { margin-bottom: 26px; font-size: 1.05rem; }
  .page-home .hero-media { width: 100%; min-height: 274px; }
  .page-home .section-head { align-items: center; margin-bottom: 28px; }
  .page-home .section-head > a { padding-inline: 13px; font-size: .82rem; }
  .page-home .product-grid, .page-home .product-grid--three { grid-template-columns: 1fr; }
  .page-home .workflow .steps { grid-template-columns: 1fr; gap: 26px; }
  .page-home .workflow .steps b { margin-bottom: 14px; }
  .page-home .category-grid { grid-template-columns: 1fr; }
  .page-home .category-tile { min-height: 98px; }
  .page-home .manufacturer-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .page-home .ratings { grid-template-columns: 1fr; }
  .page-home .home-contact .contact-grid > div:last-child { padding: 22px 16px; }
}
.site-header { overflow: visible; }
.topbar { z-index: 5; }
.topbar__inner { min-height: 34px; justify-content: space-between; gap: 24px; }
.topbar-nav { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 34px); }
.topbar-nav a { display: inline-flex; min-height: 34px; align-items: center; color: #3f3b37; font-size: .76rem; font-weight: 600; text-decoration: none; }
.topbar-nav a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.schedule { margin-left: auto; color: #675f58; }
.topbar-rates { margin-left: 20px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.topbar-rates__item { display: inline-flex; align-items: center; min-height: 34px; color: #675f58; font-variant-numeric: tabular-nums; cursor: pointer; }
.topbar-rates__item:hover, .topbar-rates__item:focus-visible { color: var(--brand); }
.topbar-rates__item[title="Скопировано"] { color: var(--brand); }
.topbar-rates__sep { color: #b5aea6; }
.topbar-callback { display: inline-flex; min-height: 34px; align-items: center; margin-left: clamp(28px, 2.5vw, 44px); padding-left: 0; border: 0; background: none; color: var(--brand); font-size: .76rem; font-weight: 600; line-height: 1.2; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.topbar-callback:hover, .topbar-callback:focus-visible { color: var(--brand-dark); text-decoration: underline; }
.header-main { z-index: 3; grid-template-columns: 148px auto minmax(0, 1fr) auto; min-height: 78px; gap: clamp(10px, 1.15vw, 18px); overflow: visible; }
.logo img { width: 148px; }
.main-nav { justify-content: flex-start; }
.nav-catalog { min-height: 48px; gap: 10px; padding: 10px 18px; border-radius: 999px; background: var(--brand); color: #fff; font-size: .94rem; font-weight: 600; text-decoration: none; transition: background .18s ease; }
.nav-catalog:hover, .nav-catalog:focus-visible { background: var(--brand-dark); color: #fff; text-decoration: none; }
.nav-catalog__arrow { display: block; flex: 0 0 21px; width: 21px; height: 21px; transition: transform .18s ease; }
.nav-catalog:hover .nav-catalog__arrow { transform: translateX(2px); }
.header-contacts { display: flex; min-width: 0; align-items: center; justify-content: flex-end; justify-self: end; gap: clamp(8px, 1.1vw, 16px); }
.header-contacts .contact-utility { min-width: 0; min-height: 48px; gap: 1px; }
.header-contacts .contact-utility > a { min-width: 0; min-height: 44px; color: var(--ink); font-size: clamp(.88rem, 1.06vw, 1rem); font-weight: 400; letter-spacing: -.01em; white-space: nowrap; text-decoration: none; }
.header-contacts .contact-utility > a:hover { color: var(--brand-dark); }
.header-contacts .copy-button { flex: 0 0 32px; }
.header-contacts .contact-popover { top: calc(100% + 8px); right: auto; left: 0; }
.header-contacts .contact-utility--email .contact-popover { right: 0; left: auto; }
.contact-popover { z-index: 20; }
.header-actions { flex: 0 0 auto; }
.header-actions .icon-btn > span[hidden] { display: none !important; }
.mobile-nav__channels a { gap: 8px; }
.mobile-nav__channels svg { width: 18px; height: 18px; }
.max-symbol { display: block; flex: 0 0 21px; width: 21px; height: 21px; object-fit: contain; }
.menu-btn .menu-icon { position: relative; top: auto; right: auto; display: block; width: 22px; min-width: 22px; height: 18px; padding: 0; border-radius: 0; background: transparent; color: currentColor; }
.menu-icon > span { position: absolute; left: 1px; display: block; width: 20px; height: 1.8px; border-radius: 999px; background: currentColor; transform-origin: center; transition: top .21s ease, transform .21s ease, opacity .16s ease; }
.menu-icon > span:nth-child(1) { top: 2px; }
.menu-icon > span:nth-child(2) { top: 8px; }
.menu-icon > span:nth-child(3) { top: 14px; }
.menu-btn.is-menu-open .menu-icon > span:nth-child(1) { top: 8px; transform: rotate(45deg); }
.menu-btn.is-menu-open .menu-icon > span:nth-child(2) { opacity: 0; transform: scaleX(.4); }
.menu-btn.is-menu-open .menu-icon > span:nth-child(3) { top: 8px; transform: rotate(-45deg); }
@media (min-width: 1161px) and (max-width: 1300px) {
  .header-main { grid-template-columns: 138px auto minmax(0, 1fr) auto; gap: 8px; }
  .logo img { width: 138px; }
  .nav-catalog { padding-inline: 15px; }
  .header-contacts { gap: 4px; }
  .header-contacts .contact-utility > a { font-size: .86rem; }
  .messenger-action { gap: 5px; padding-inline: 8px; }
  .messenger-action span { font-size: .72rem; }
}
@media (min-width: 1161px) {
  .mobile-nav:not([hidden]) { display: none; }
}
@media (max-width: 1160px) {
  html:has(body.menu-open), body.menu-open { overflow: hidden; overscroll-behavior: none; }
  body.menu-open .cookie { visibility: hidden; pointer-events: none; }
  .site-header { --mobile-header-height: 69px; position: sticky; z-index: 100; top: 0; background: #fdfcfc; backdrop-filter: none; }
  body.menu-open .site-header { position: fixed; z-index: 101; top: 0; right: 0; left: 0; width: 100%; }
  .topbar, .main-nav, .header-contacts, .header-messengers { display: none; }
  .header-main { grid-template-columns: minmax(120px, 1fr) auto; min-height: 68px; }
  .logo img { width: 154px; }
  .menu-btn { display: inline-flex; }
  .mega-menu { display: none; }
  .mobile-nav:not([hidden]) { display: block; }
  .mobile-nav { position: fixed; z-index: 2; top: var(--mobile-header-height); right: 0; bottom: 0; left: 0; width: 100%; height: calc(100dvh - var(--mobile-header-height)); max-height: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 0; border-top: 0; background: #fdfcfc; box-shadow: none; scrollbar-gutter: stable; }
  .mobile-nav__inner { display: flex; width: min(100% - 32px, 620px); min-height: 100%; flex-direction: column; align-items: center; justify-content: flex-start; gap: 20px; margin-inline: auto; padding: 24px 0 max(30px, env(safe-area-inset-bottom)); }
  .mobile-nav__group { width: min(100%, 500px); }
  .mobile-nav__group + .mobile-nav__group { padding-top: 20px; border-top: 1px solid #ebe8e4; }
  .mobile-nav__links { width: min(100%, 500px); justify-items: center; gap: 2px; }
  .mobile-nav__links > a { width: fit-content; min-height: 44px; justify-content: center; border: 0; color: #38332f; font-size: clamp(.95rem, 2.5vw, 1.08rem); font-weight: 600; line-height: 1.2; text-align: center; }
  .mobile-nav__links > a:first-child { min-height: 52px; color: var(--ink); font-size: clamp(1.32rem, 4vw, 1.65rem); font-weight: 600; letter-spacing: -.02em; }
  .mobile-nav__utilities { width: min(100%, 460px); justify-items: center; gap: 4px; padding: 0; color: #675f58; text-align: center; }
  .mobile-nav__schedule { margin-bottom: 3px; font-size: .82rem; }
  .mobile-contact { width: 100%; min-height: 44px; justify-content: center; gap: 6px; }
  .mobile-contact > a { min-height: 44px; justify-content: center; border: 0; font-size: 1rem; font-weight: 400; }
  .mobile-contact .copy-button { border-color: transparent; }
  .mobile-nav__channels { justify-content: center; margin-top: 0; }
  .mobile-nav__channels a { min-height: 44px; justify-content: center; border-bottom: 1px solid #dedad5; }
}
@media (max-width: 560px) {
  .header-main { gap: 4px; }
  .header-actions { gap: 0; }
  .logo img { width: 134px; }
  .mobile-nav__inner { width: min(100% - 24px, 500px); }
}
@media (max-width: 1160px) and (max-height: 700px) {
  .mobile-nav__inner { gap: 14px; padding-top: 16px; }
  .mobile-nav__group + .mobile-nav__group { padding-top: 14px; }
  .mobile-nav__links { gap: 0; }
  .mobile-nav__links > a { min-height: 44px; }
  .mobile-nav__links > a:first-child { min-height: 48px; }
}
@media (max-width: 360px) {
  .header-main { grid-template-columns: minmax(100px, 1fr) auto; }
  .logo img { width: 104px; }
}
.field-optional { color: #675f58; font-weight: 400; }
.page-home { --home-warm-body: #675f58; }
.page-home .section { padding-block: clamp(72px, 6vw, 88px); }
.page-home .home-categories { padding-block: clamp(68px, 5.5vw, 80px); }
.page-home .home-products--popular { padding-block: clamp(76px, 6.5vw, 94px); background: var(--home-taupe); }
.page-home .home-products--new { padding-block: clamp(76px, 6vw, 90px); }
.page-home .home-news { padding-block: clamp(60px, 5vw, 72px); }
.page-home .home-about { padding-block: clamp(64px, 5vw, 76px); }
.page-home .home-contact { padding-block: clamp(76px, 6.5vw, 96px); }
.page-home .eyebrow, .page-home .hero-eyebrow { margin-bottom: 12px; color: var(--home-warm-body); font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.page-home .home-hero { --home-hero-height: clamp(640px, calc(100svh - 114px), 760px); }
.page-home .hero__inner { position: static; display: flex; min-height: var(--home-hero-height); flex-direction: column; align-items: flex-start; justify-content: center; gap: clamp(88px, 7vw, 112px); }
.page-home .hero-primary, .page-home .hero-secondary { position: relative; z-index: 2; width: min(55%, 670px); max-width: 670px; }
.page-home .hero h1 { max-width: 660px; margin: 0; font-size: clamp(3.05rem, 4.25vw, 3.55rem); }
.page-home .hero-eyebrow { margin-bottom: 20px; }
.page-home .hero-subtitle { max-width: 610px; margin-bottom: 40px; color: var(--home-warm-body); font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.5; }
.page-home .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.page-home .hero-actions .btn { min-width: 190px; }
.page-home .hero-benefits { display: grid; max-width: 630px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 48px 0 0; padding: 22px 0 0; border-top: 1px solid #dcd7d1; list-style: none; }
.page-home .hero-benefits li { position: relative; padding: 0 13px 0 17px; color: #4f4943; font-size: .82rem; line-height: 1.35; }
.page-home .hero-benefits li:first-child { padding-left: 17px; }
.page-home .hero-benefits li::before { content: ""; position: absolute; top: .45em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--home-blue); }
.page-home .workflow { padding-block: clamp(76px, 6vw, 92px); }
.page-home .workflow .steps { --workflow-gap: clamp(18px, 2.8vw, 38px); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--workflow-gap); margin-top: 48px; }
.page-home .workflow .steps li { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 0; border-top: 0; text-align: center; }
.page-home .workflow .steps li:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 16px; left: calc(50% + 18px); width: calc(100% + var(--workflow-gap) - 36px); height: 1px; background: #4a4a4a; }
.page-home .workflow .steps b { position: relative; z-index: 1; display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; margin: 0 0 20px; border: 1px solid #5b5b5b; border-radius: 50%; background: var(--home-ink); color: #b7b7b7; font-size: .8rem; font-variant-numeric: tabular-nums; line-height: 1; }
.page-home .home-trust { background: var(--home-canvas); }
.page-home .home-trust > .container { display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); gap: clamp(48px, 7vw, 100px); }
.page-home .trust-support h2 { max-width: 620px; }
.page-home .trust-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 34px 0 28px; padding: 0; list-style: none; }
.page-home .trust-benefits li { min-height: 96px; padding: 0; }
.page-home .trust-benefits strong, .page-home .trust-benefits span { display: block; }
.page-home .trust-benefits strong { margin-bottom: 7px; font-size: .95rem; font-weight: 600; }
.page-home .trust-benefits span { color: var(--home-warm-body); font-size: .84rem; line-height: 1.4; }
.page-home .trust-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-home .trust-links a, .page-home .text-link { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 14px; border: 1px solid var(--home-stone); border-radius: 999px; color: var(--home-ink); font-size: .87rem; font-weight: 600; text-decoration: none; }
.page-home .trust-links a:hover, .page-home .text-link:hover { border-color: #cfc9c2; background: var(--home-taupe); }
.page-home .home-trust .trust-proof-zone { display: grid; min-width: 0; gap: 28px; padding: clamp(28px, 3vw, 40px); border: 1px solid var(--home-stone); border-radius: 20px; background: var(--home-taupe); }
.page-home .trust-proof-zone h3 { margin-bottom: 14px; font-size: 1rem; }
.page-home .home-trust .trust-manufacturers, .page-home .home-trust .trust-ratings { padding: 0; border: 0; border-radius: 0; background: transparent; }
.page-home .trust-ratings { padding-top: 28px !important; border-top: 1px solid var(--home-stone) !important; }
.page-home .home-trust .manufacturer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding: 2px 0 0; border: 0; }
.page-home .home-trust .manufacturer-mark { display: grid; min-width: 0; min-height: 108px; place-items: center; }
.page-home .home-trust .manufacturer-grid img { width: 100%; height: 108px; opacity: 1; filter: none; object-fit: contain; }
.page-home .home-trust .ratings { gap: 10px; }
.page-home .home-trust .ratings a { min-height: 82px; padding: 10px; border-radius: 12px; }
.page-home .home-trust .ratings img { max-height: 56px; }
.page-home .home-trust .trust-ratings__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.page-home .home-trust .trust-ratings__head h3 { margin-bottom: 0; }
.page-home .home-trust .trust-ratings__cta { flex: 0 0 auto; min-height: 46px; padding: 10px 16px; border-radius: 999px; font-size: .84rem; white-space: nowrap; }
.page-home .home-trust .trust-rating-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.page-home .home-trust .trust-rating-grid .rating-card { display: flex; min-height: 156px; flex-direction: column; align-items: center; justify-content: flex-start; padding: 12px 10px 13px; border: 1px solid #cbdde3; border-radius: 16px; background: var(--home-paper); box-shadow: 0 8px 18px rgba(23, 23, 23, .07); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.page-home .home-trust .trust-rating-grid .rating-card:hover { border-color: var(--home-blue); box-shadow: 0 12px 24px rgba(23, 23, 23, .11); transform: translateY(-2px); }
.page-home .home-trust .trust-rating-grid .rating-card img { width: min(100%, 180px); max-height: none; flex: 0 0 auto; object-fit: contain; }
.page-home .home-trust .rating-card__score { display: flex; align-items: baseline; gap: 5px; margin-top: 4px; color: var(--home-blue-dark); line-height: 1; }
.page-home .home-trust .rating-card__score strong { font-size: 1.2rem; font-weight: 700; }
.page-home .home-trust .rating-card__score span { color: var(--home-warm-body); font-size: .74rem; }
.page-home .home-news .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.page-home .home-news .news-image { aspect-ratio: 16 / 9; padding: 12px; background: #fff; }
.page-home .home-news .news-image img { object-fit: contain; }
.page-home .home-news .news-card__content { padding: 18px; }
.page-home .home-news .news-card h3 { display: -webkit-box; min-height: 2.35em; overflow: hidden; font-size: 1.12rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-home .home-news .news-card__content > p:last-child { display: -webkit-box; overflow: hidden; font-size: .86rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-home .home-about { background: var(--home-taupe); }
.page-home .home-about .about-grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(44px, 7vw, 100px); }
.page-home .home-about .about-lead { max-width: 560px; font-size: 1.12rem; line-height: 1.6; }
.page-home .home-about .about-grid > div:last-child { padding-top: 0; }
.page-home .about-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-content: start; }
.page-home .about-points p { margin: 0; padding-top: 14px; border-top: 1px solid #d8d3cd; font-size: .92rem; line-height: 1.55; }
.page-home .about-points .text-link { grid-column: 1 / -1; width: fit-content; margin-top: 8px; background: #fff; }
.page-home .home-contact { background: var(--home-canvas); }
.page-home .home-contact .contact-grid { grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); align-items: start; }
.page-home .home-contact .contact-grid > div:last-child { padding: 28px; }
.page-home .home-contact .contact-form-card h3 { margin-bottom: 22px; font-size: 1.3rem; }
.page-home .home-contact .contact-grid > div:first-child > p:not(.eyebrow) { max-width: 600px; font-size: 1.03rem; line-height: 1.65; }
.page-home .contact-alternatives { display: grid; gap: 5px; margin-top: 30px; }
.page-home .contact-alternatives > span { margin-bottom: 4px; color: var(--home-warm-body); font-size: .82rem; }
.page-home .contact-messengers { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--home-stone); }
.page-home .contact-messengers__label { margin: 0 0 10px; color: var(--home-warm-body); font-size: .82rem; }
.page-home .contact-messenger-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 540px; }
.page-home .contact-messenger { display: flex; min-height: 64px; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--home-stone); border-radius: 14px; background: var(--home-paper); color: var(--home-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.page-home .contact-messenger:hover { border-color: var(--home-blue); box-shadow: 0 8px 18px rgba(23, 23, 23, .08); transform: translateY(-1px); }
.page-home .contact-messenger__mark, .page-home .contact-messenger__logo { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 10px; }
.page-home .contact-messenger__mark { background: #e4f3f8; color: #0088cc; }
.page-home .contact-messenger__mark svg { width: 22px; height: 22px; }
.page-home .contact-messenger__logo { object-fit: contain; }
.page-home .contact-messenger__copy { display: grid; min-width: 0; gap: 1px; }
.page-home .contact-messenger__copy strong { font-size: .96rem; font-weight: 700; }
.page-home .contact-messenger__copy span { color: var(--home-warm-body); font-size: .74rem; line-height: 1.25; }
.page-home .contact-messenger__arrow { margin-left: auto; color: var(--home-blue-dark); font-size: 1.1rem; line-height: 1; }
.contact-messengers { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.contact-messengers__label { margin: 0 0 10px; color: var(--muted); font-size: .82rem; }
.contact-messenger-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 540px; }
.contact-messenger { display: flex; min-height: 64px; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.contact-messenger:hover, .contact-messenger:focus-visible { border-color: var(--brand); box-shadow: 0 8px 18px rgba(23, 23, 23, .08); transform: translateY(-1px); }
.contact-messenger__mark, .contact-messenger__logo { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 10px; }
.contact-messenger__mark { background: #e4f3f8; color: #0088cc; }
.contact-messenger__mark svg { width: 22px; height: 22px; }
.contact-messenger__logo { object-fit: contain; }
.contact-messenger__copy { display: grid; min-width: 0; gap: 1px; }
.contact-messenger__copy strong { font-size: .96rem; font-weight: 700; }
.contact-messenger__copy span { color: var(--muted); font-size: .74rem; line-height: 1.25; }
.contact-messenger__arrow { margin-left: auto; color: var(--brand-dark); font-size: 1.1rem; line-height: 1; }
.page-home .contact-messengers { border-top-color: var(--home-stone); }
.page-home .contact-messengers__label { color: var(--home-warm-body); }
.page-home .contact-messenger { border-color: var(--home-stone); background: var(--home-paper); color: var(--home-ink); }
.page-home .contact-messenger:hover, .page-home .contact-messenger:focus-visible { border-color: var(--home-blue); }
.page-home .contact-messenger__copy span { color: var(--home-warm-body); }
.page-home .contact-messenger__arrow { color: var(--home-blue-dark); }
@media (max-width: 1160px) {
  .page-home .home-hero { --home-hero-height: auto; min-height: 0; padding: 48px 0; }
  .page-home .home-hero::after { display: none; }
  .page-home .hero__inner { position: relative; display: grid; width: min(100% - 32px, var(--container)); min-width: 0; min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 0; margin-inline: auto; }
  .page-home .hero-primary, .page-home .hero-secondary { width: 100%; max-width: 760px; }
  .page-home .hero-media { position: relative; inset: auto; display: block; width: min(100vw, 820px); margin: 32px auto 36px; overflow: hidden; }
  .page-home .hero-media picture { display: block; height: auto; }
  .page-home .hero-media img { width: 100%; max-width: none; height: auto; object-position: center bottom; }
  .page-home .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-home .home-trust > .container { grid-template-columns: 1fr; gap: 36px; }
.page-home .home-trust .trust-proof-zone { grid-template-columns: 1fr 1fr; gap: 24px; }
.page-home .trust-ratings { padding-top: 0 !important; border-top: 0 !important; border-left: 1px solid var(--home-stone) !important; padding-left: 24px !important; }
  .page-home .home-contact .contact-grid { grid-template-columns: 1fr; }
}
@media (min-width: 1161px) and (max-width: 1279px) {
}
@media (max-width: 820px) {
  .page-home .section { padding-block: 64px; }
  .page-home .home-news, .page-home .home-about { padding-block: 56px; }
  .page-home .hero-benefits { max-width: none; }
.page-home .home-trust .trust-proof-zone { grid-template-columns: 1fr; }
.page-home .home-news .news-grid { display: flex; grid-template-columns: none; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; scrollbar-width: thin; overscroll-behavior-inline: contain; }
.page-home .home-news .news-card { flex: 0 0 calc((100% - 12px) * .6); scroll-snap-align: start; }
.page-home .home-trust .manufacturer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.page-home .home-trust .manufacturer-mark, .page-home .home-trust .manufacturer-grid img { min-height: 100px; height: 100px; }
.page-home .workflow .steps { grid-template-columns: 1fr; gap: 0; margin-top: 32px; }
.page-home .workflow .steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 0 0 28px; text-align: left; }
.page-home .workflow .steps li:last-child { padding-bottom: 0; }
.page-home .workflow .steps li:not(:last-child)::after { top: 34px; right: auto; bottom: -16px; left: 16px; width: 1px; height: auto; }
.page-home .workflow .steps b { margin: 0; }
.page-home .workflow .steps span { max-width: none; padding-top: 5px; font-size: 1rem; line-height: 1.45; }
.page-home .trust-ratings { padding-top: 24px !important; padding-left: 0 !important; border-top: 1px solid var(--home-stone) !important; border-left: 0 !important; }
  .page-home .home-about .about-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .page-home .home-about .about-grid > div { width: 100%; min-width: 0; }
  .page-home .home-about .about-lead { max-width: none; }
  .page-home .about-points { grid-template-columns: 1fr; gap: 14px; }
  .page-home .about-points .text-link { grid-column: auto; }
}
@media (max-width: 560px) {
  .footer-logo { margin-bottom: 22px; }
  .page-home h1, .page-home .hero h1 { font-size: clamp(2rem, 8.8vw, 2.25rem); line-height: 1.06; }
  .page-home .home-hero { padding: 26px 0 34px; }
  .page-home .hero-eyebrow { margin-bottom: 10px; }
  .page-home .hero-media { width: 100vw; margin: 24px 0 -52px calc(50% - 50vw); -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 68%, rgba(0, 0, 0, .72) 76%, rgba(0, 0, 0, .24) 84%, transparent 91%); mask-image: linear-gradient(to bottom, #000 0%, #000 68%, rgba(0, 0, 0, .72) 76%, rgba(0, 0, 0, .24) 84%, transparent 91%); }
  .page-home .hero-secondary { z-index: 3; }
  .page-home .hero-subtitle { margin-bottom: 22px; font-size: 1rem; }
  .page-home .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .page-home .hero-actions .btn { width: 100%; min-width: 0; min-height: 46px; padding: 8px 6px; font-size: .8rem; line-height: 1.15; white-space: nowrap; }
  .page-home .hero-benefits { grid-template-columns: 1fr; gap: 9px; margin-top: 26px; padding-top: 18px; }
  .page-home .hero-benefits li { padding: 0 2px 0 14px; font-size: .78rem; line-height: 1.35; }
  .page-home .hero-benefits li:first-child { padding-left: 14px; }
  .page-home .hero-benefits li::before { width: 5px; height: 5px; }
  .page-home .hero-media { min-height: 0; }
  .page-home .section-head { align-items: flex-start; gap: 12px; }
  .page-home .section-head > a { flex: 0 0 auto; }
  .page-home .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .page-home .category-tile { min-width: 0; min-height: 122px; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 8px; padding: 12px; font-size: .82rem; line-height: 1.25; overflow-wrap: anywhere; }
  .page-home .category-tile img { flex-basis: 48px; width: 48px; height: 48px; }
  .page-home .category-tile span:nth-last-child(2) { flex: 0 1 auto; }
  .page-home .category-tile span:last-child { display: none; }
  .page-home .product-grid, .page-home .product-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .page-home .workflow .steps { gap: 22px; }
  .page-home .trust-benefits { grid-template-columns: 1fr 1fr; margin-top: 26px; }
  .page-home .trust-benefits li { min-height: 106px; padding: 14px; }
  .page-home .trust-benefits strong { font-size: .85rem; }
  .page-home .trust-benefits span { font-size: .78rem; }
  .page-home .product-card { display: block; min-width: 0; border-radius: 14px; }
  .page-home .product-image { aspect-ratio: 1 / .88; min-height: 0; padding: 0; }
  .page-home .product-body { min-width: 0; padding: 11px; border-top: 1px solid var(--inner-stone); }
  .page-home .product-body h3 { display: -webkit-box; min-height: 3.45em; margin-bottom: 6px; font-size: .88rem; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
  .page-home .product-kind { display: -webkit-box; min-height: 2.9em; margin-bottom: 5px; font-size: .74rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .page-home .product-meta { display: block; min-height: 40px; margin-bottom: 5px; }
  .page-home .product-meta strong, .page-home .product-meta span { display: block; font-size: .74rem; text-align: left; }
  .page-home .card-actions { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 6px; }
  .page-home .card-actions .btn, .page-home .card-actions .btn--secondary { display: inline-flex; min-width: 0; min-height: 44px; padding: 7px 5px; font-size: .75rem; line-height: 1.15; }
  .page-home .card-actions .btn:not(.btn--secondary) { grid-column: 1 / -1; grid-row: 2; }
  .page-home .favorite-button { position: static; width: 44px; min-height: 44px; border: 1px solid var(--inner-stone); border-radius: 7px; background: var(--inner-paper); }
  .page-home .badges { top: 7px; left: 7px; max-width: calc(100% - 55px); }
  .page-home .badge { padding: 3px 6px; font-size: .68rem; }
  .page-home .trust-links { gap: 6px; }
  .page-home .trust-links a { padding-inline: 11px; font-size: .78rem; }
  .page-home .home-trust .trust-proof-zone { padding: 22px 18px; }
  .page-home .home-trust .manufacturer-grid { gap: 10px 14px; }
  .page-home .home-trust .manufacturer-mark, .page-home .home-trust .manufacturer-grid img { min-height: 86px; height: 86px; }
  .page-home .home-trust .ratings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .page-home .home-trust .ratings a { min-height: 64px; padding: 6px; }
  .page-home .home-trust .trust-ratings__head { align-items: stretch; flex-direction: column; gap: 12px; }
  .page-home .home-trust .trust-ratings__cta { width: 100%; }
  .page-home .home-trust .trust-rating-grid { gap: 6px; }
  .page-home .home-trust .trust-rating-grid .rating-card { min-height: 132px; padding: 6px 5px 9px; }
  .page-home .home-trust .trust-rating-grid .rating-card img { width: 100%; }
  .page-home .home-trust .rating-card__score { gap: 3px; margin-top: 3px; }
  .page-home .home-trust .rating-card__score strong { font-size: 1rem; }
  .page-home .home-trust .rating-card__score span { font-size: .68rem; }
  .page-home .home-news .news-card__content { padding: 16px; }
  .page-home .home-news .news-card__content > p:last-child { display: none; }
  .page-home .home-about .about-grid { gap: 24px; }
  .page-home .about-points p { font-size: .86rem; }
  .page-home .home-contact .contact-grid > div:last-child { padding: 20px 14px; }
  .page-home .contact-messenger-links { gap: 8px; }
  .page-home .contact-messenger { gap: 8px; padding-inline: 10px; }
  .page-home .contact-messenger__mark, .page-home .contact-messenger__logo { width: 32px; height: 32px; flex-basis: 32px; }
  .page-home .contact-messenger__copy strong { font-size: .88rem; }
  .page-home .contact-messenger__copy span { font-size: .68rem; }
  .cookie { right: 6px; bottom: max(6px, env(safe-area-inset-bottom)); left: 6px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 5px; padding: 6px 7px; border-radius: 10px; font-size: .75rem; line-height: 1.25; }
  .cookie span { grid-column: auto; }
  .cookie a { display: inline-flex; min-height: 44px; align-items: center; }
  .cookie .btn { min-width: 44px; min-height: 44px; padding: 5px 9px; font-size: .75rem; }
}
@media (max-width: 360px) {
}
@media (max-width: 360px) {
  .page-home .hero-actions { grid-template-columns: 1fr; }
}
.page-home .site-footer p, .page-inner .site-footer p { color: #c9c9c9; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Approved internal public-page rollout. Intentionally scoped away from home and admin. */
.page-inner {
  --inner-canvas: #fdfcfc;
  --inner-paper: #fff;
  --inner-taupe: #f5f3f1;
  --inner-stone: #ebe8e4;
  --inner-ink: #1a1a1a;
  --inner-body: #4d4d4d;
  --inner-warm-body: #675f58;
  --inner-blue: var(--brand);
  --inner-blue-dark: var(--brand-dark);
  background: var(--inner-canvas);
  color: var(--inner-ink);
}
.page-inner main { background: var(--inner-canvas); }
.page-inner h1, .page-inner h2, .page-inner h3 { color: var(--inner-ink); font-weight: 400; }
.page-inner h1 { font-size: clamp(2.5rem, 4.5vw, 3.75rem); line-height: 1.04; letter-spacing: -.04em; }
.page-inner h2 { font-size: clamp(1.8rem, 3vw, 2.45rem); line-height: 1.1; letter-spacing: -.03em; }
.page-inner h3, .page-inner .product-body h3, .page-inner .news-card h3 { font-weight: 500; }
.page-inner p, .page-inner li { color: var(--inner-body); }
.page-inner .section { padding-block: clamp(64px, 6vw, 88px); }
.page-inner .section--soft { background: var(--inner-taupe); }
.page-inner .section--dark { background: var(--inner-ink); }
.page-inner .section--dark p, .page-inner .section--dark li { color: #f2f2f2; }
.page-inner .section-head { align-items: center; margin-bottom: 34px; }
.page-inner .section-head > a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 15px; border: 1px solid var(--inner-stone); border-radius: 999px; color: var(--inner-ink); font-size: .88rem; font-weight: 600; text-decoration: none; }
.page-inner .section-head > a:hover { border-color: #cfc9c2; background: var(--inner-paper); }
.page-inner .btn { border-radius: 999px; background: var(--inner-blue); font-weight: 600; box-shadow: none; }
.page-inner .btn:hover { background: var(--inner-blue-dark); }
.page-inner .btn--secondary { border: 1px solid #d9e7f2; background: var(--inner-paper); color: var(--inner-blue-dark); }
.page-inner .btn--secondary:hover, .page-inner .btn--secondary:focus-visible { background: #d9e9f5; color: var(--inner-blue-dark); }
.page-inner .icon-btn { border-radius: 999px; }
.page-inner .page-hero { padding-block: clamp(24px, 2.8vw, 38px); border-bottom: 1px solid var(--inner-stone); background: var(--inner-taupe); }
.page-inner .page-hero h1 { max-width: 1000px; margin-bottom: 14px; overflow-wrap: anywhere; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.08; }
.page-inner .page-hero p { max-width: 820px; color: var(--inner-warm-body); font-size: 1.05rem; line-height: 1.62; }
.page-inner .breadcrumbs { gap: 8px; margin-bottom: 14px; color: var(--inner-warm-body); font-size: 1rem; line-height: 1.35; }
.page-inner .breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--inner-warm-body); text-decoration: none; }
.page-inner .breadcrumbs a:hover { color: var(--inner-blue-dark); text-decoration: underline; }
.page-inner .breadcrumbs span { display: inline-flex; align-items: center; }
.page-inner .subcategories { gap: 8px; padding-block: 22px; }
.page-inner .subcategories a, .page-inner .pill { min-height: 44px; border: 1px solid var(--inner-stone); border-radius: 999px; background: var(--inner-paper); color: var(--inner-ink); font-size: .86rem; font-weight: 600; }
.page-inner .subcategories a:hover, .page-inner .pill:hover { border-color: #cfc9c2; background: var(--inner-taupe); }
.page-inner .pill[aria-pressed="true"] { border-color: var(--inner-ink); background: var(--inner-ink); color: #fff; }
.page-inner .catalog-layout { grid-template-columns: 270px minmax(0, 1fr); gap: 30px; padding-block: 42px 88px; }
.page-inner .filters { padding: 22px; border: 1px solid var(--inner-stone); border-radius: 16px; background: var(--inner-taupe); }
.page-inner .filters h2 { margin-bottom: 22px; font-size: 1.45rem; }
.page-inner .form-field label { color: var(--inner-ink); font-weight: 600; }
.page-inner .field { min-height: 46px; border-color: #d8d4cf; border-radius: 9px; background: var(--inner-paper); }
.page-inner .field:focus { border-color: var(--inner-blue); }
.page-inner .category-list { border-top-color: #dcd8d3; }
.page-inner .category-list a { border-bottom-color: #dedad5; color: var(--inner-body); }
.page-inner .category-list a:hover, .page-inner .category-list a[aria-current="page"] { color: var(--inner-blue-dark); }
.page-inner .catalog-toolbar { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--inner-stone); }
.page-inner .catalog-toolbar p { color: var(--inner-warm-body); }
.page-inner .product-grid { gap: 16px; align-items: stretch; }
.page-inner .product-card { border-color: var(--inner-stone); border-radius: 16px; background: var(--inner-paper); box-shadow: 0 1px 0 rgba(23, 23, 23, .02); transition: border-color .18s ease, transform .18s ease; }
.page-inner .product-card:hover { border-color: #d1ccc6; transform: translateY(-2px); }
.page-inner .product-image { aspect-ratio: 1 / .88; padding: 0; }
.page-inner .product-body { padding: 18px; border-color: var(--inner-stone); }
.page-inner .product-body h3 { display: -webkit-box; min-height: 2.4em; margin-bottom: 8px; overflow: hidden; font-size: 1.06rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.page-inner .product-kind { color: var(--inner-warm-body); font-size: .82rem; line-height: 1.45; }
.page-inner .product-meta strong { font-size: 1rem; font-weight: 500; }
.page-inner .product-meta span { color: #52645a; font-size: .75rem; }
.page-inner .card-actions { gap: 6px; }
.page-inner .card-actions .btn { padding-inline: 8px; font-size: .78rem; border-radius: 7px; }
.page-inner .favorite-button { border: 1px solid var(--inner-stone); background: var(--inner-paper); border-radius: 7px; }
.page-inner .badge { border: 1px solid #ded9d2; border-radius: 999px; background: rgba(255, 255, 255, .96); color: #4d4842; text-transform: none; }
.page-inner .subcategories a[aria-current="page"] { background: var(--inner-blue); color: #fff; border-color: var(--inner-blue); }
.page-inner .btn--reset { border-color: var(--inner-blue, #007db4); background: var(--inner-blue, #007db4); color: #fff; }
.page-inner .btn--reset:hover { border-color: var(--inner-blue-dark, #006a99); background: var(--inner-blue-dark, #006a99); color: #fff; }
.page-inner .category-copy, .page-inner .static-content { padding-bottom: clamp(68px, 8vw, 108px); }
.page-inner .content-section { max-width: 960px; padding-top: clamp(48px, 5vw, 72px); }
.page-inner .content-section + .content-section { margin-top: 10px; border-top: 1px solid var(--inner-stone); }
.page-inner .content-section h2 { font-size: clamp(1.7rem, 2.7vw, 2.35rem); }
.page-inner .prose { color: var(--inner-body); font-size: 1rem; line-height: 1.7; }
.page-inner .prose a { color: var(--inner-blue-dark); }
.page-inner.page-returns .static-content { padding-bottom: clamp(68px, 8vw, 112px); }
.page-inner.page-returns .content-section { max-width: 900px; padding-top: clamp(38px, 4.5vw, 64px); }
.page-inner.page-returns .content-section:first-child { padding-top: clamp(34px, 4vw, 56px); }
.page-inner.page-returns .content-section + .content-section { margin-top: clamp(28px, 4vw, 52px); border-top: 0; }
.page-inner.page-returns .content-section h2 { max-width: 760px; margin-bottom: 22px; }
.page-inner.page-returns .prose { max-width: 900px; font-size: clamp(1rem, 1.15vw, 1.08rem); line-height: 1.72; overflow-wrap: break-word; }
.page-inner.page-returns .prose p { max-width: 82ch; margin-bottom: 1.1em; }
.page-inner.page-returns .prose ul { max-width: 82ch; margin: .25em 0 1.2em; padding-left: 1.35rem; }
.page-inner.page-returns .prose li { padding-left: .25rem; }
.page-inner.page-returns .prose li + li { margin-top: .7em; }
.page-inner.page-returns .prose a { overflow-wrap: anywhere; }
.page-inner.page-legal .legal-content { max-width: 1180px; padding-block: clamp(42px, 5vw, 78px) clamp(68px, 8vw, 112px); }
.page-inner.page-legal .legal-prose { max-width: 980px; color: var(--inner-body); font-size: clamp(1rem, 1.08vw, 1.08rem); line-height: 1.72; overflow-wrap: anywhere; }
.page-inner.page-legal .legal-prose h2 { max-width: 820px; margin: 34px 0 18px; color: var(--inner-ink); font-size: clamp(1.55rem, 2.5vw, 2.2rem); line-height: 1.15; }
.page-inner.page-legal .legal-prose h2:first-child { margin-top: 0; }
.page-inner.page-legal .legal-prose h3 { max-width: 820px; margin: 28px 0 12px; color: var(--inner-ink); font-size: clamp(1.12rem, 1.55vw, 1.4rem); line-height: 1.3; }
.page-inner.page-legal .legal-prose p { max-width: 88ch; margin: 0 0 1.05em; }
.page-inner.page-legal .legal-prose ul { max-width: 88ch; margin: .25em 0 1.2em; padding-left: 1.35rem; }
.page-inner.page-legal .legal-prose li { padding-left: .25rem; }
.page-inner.page-legal .legal-prose li + li { margin-top: .55em; }
.page-inner.page-legal .legal-prose a { color: var(--inner-blue-dark); overflow-wrap: anywhere; }
.page-inner.page-legal .legal-table-wrap { max-width: 980px; margin: 12px 0 28px; overflow-x: auto; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.page-inner.page-legal .legal-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: .94em; }
.page-inner.page-legal .legal-table th, .page-inner.page-legal .legal-table td { padding: 14px 16px; border-bottom: 1px solid var(--inner-stone); vertical-align: top; text-align: left; line-height: 1.55; }
.page-inner.page-legal .legal-table tr:last-child th, .page-inner.page-legal .legal-table tr:last-child td { border-bottom: 0; }
.page-inner.page-legal .legal-table th { width: 38%; color: var(--inner-ink); font-weight: 600; }
.page-inner.page-legal .legal-table thead th { background: var(--inner-taupe); }
.page-inner .content-image { overflow: hidden; border-radius: 18px; background: var(--inner-taupe); }
.page-inner .service-cards { gap: 16px; }
.page-inner .service-offers { max-width: 1180px; }
.page-inner .service-offers h2 { max-width: 760px; margin-bottom: 28px; }
.page-inner .service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.page-inner .service-cards article { display: flex; min-width: 0; flex-direction: column; min-height: 236px; padding: 24px; border: 1px solid var(--inner-stone); border-radius: 16px; background: var(--inner-paper); box-shadow: 0 1px 0 rgba(23, 23, 23, .02); }
.page-inner .service-card h3 { margin-bottom: 16px; font-size: clamp(1.2rem, 1.8vw, 1.55rem); font-weight: 500; }
.page-inner .service-card p { margin: 0; }
.page-inner .service-card__note { margin-top: auto !important; padding-top: 22px; color: var(--inner-warm-body); font-size: .86rem; line-height: 1.55; }
.page-inner .ratings { gap: 12px; }
.page-inner .ratings a, .page-inner .ratings > img { border-color: var(--inner-stone); border-radius: 16px; }
.page-inner .contact-grid { gap: clamp(34px, 6vw, 80px); }
.page-inner .contact-grid > div { min-width: 0; }
.page-inner .contact-grid > div:has(.lead-form) { padding: 24px; border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); }
.page-inner .product-detail { gap: clamp(34px, 6vw, 76px); padding-block: 48px 76px; }
.page-inner .product-hero { padding-block: clamp(16px, 2vw, 26px); border-bottom: 1px solid var(--inner-stone); background: var(--inner-taupe); }
.page-inner .product-hero .breadcrumbs { overflow-wrap: anywhere; }
.page-inner .product-hero h1 { max-width: 1060px; margin-bottom: 0; overflow-wrap: anywhere; text-wrap: balance; font-size: clamp(1.5rem, 2.6vw, 2.3rem); line-height: 1.2; }
.page-inner .main-image { overflow: hidden; border-color: var(--inner-stone); border-radius: 18px; }
.page-inner .thumb { min-height: 68px; border-color: var(--inner-stone); border-radius: 10px; }
.page-inner .product-summary { min-width: 0; }
.page-inner.page-product .variant-field { min-width: 0; max-width: 100%; margin-bottom: 18px; }
.page-inner.page-product .variant-field__label { display: block; margin-bottom: 8px; font-weight: 600; }
.page-inner.page-product .variant-options { display: grid; gap: 8px; }
.page-inner.page-product .variant-option { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 14px; border: 1px solid var(--inner-stone); border-radius: 10px; background: var(--inner-card); cursor: pointer; transition: border-color .18s ease, background-color .18s ease; }
.page-inner.page-product .variant-option:hover { border-color: var(--inner-blue); }
.page-inner.page-product .variant-option.is-selected { border-color: var(--inner-blue); background: var(--inner-soft); }
.page-inner.page-product .variant-option__input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--inner-blue); }
.page-inner.page-product .variant-option__input:focus-visible { outline: 3px solid var(--inner-blue); outline-offset: 2px; }
.page-inner.page-product .variant-option__name { flex: 1 1 auto; min-width: 0; font-weight: 500; }
.page-inner.page-product .variant-option__price { flex: 0 0 auto; white-space: nowrap; color: var(--inner-text); font-variant-numeric: tabular-nums; }
.page-inner .product-status { border: 1px solid #d6e8dd; border-radius: 999px; background: #f3f8f5; }
.page-inner .price { font-weight: 500; }
.page-inner .summary-actions .favorite-button { width: 44px; min-height: 44px; }
.page-inner .tabs { padding-top: 0; }
.page-inner .tab-buttons { gap: 6px; padding-bottom: 8px; border-bottom-color: var(--inner-stone); }
.page-inner .tab-buttons button { border: 1px solid transparent; border-radius: 999px; color: var(--inner-body); font-weight: 600; }
.page-inner .tab-buttons button[aria-selected="true"] { border: 1px solid var(--inner-stone); background: var(--inner-paper); color: var(--inner-blue-dark); }
.page-inner .tab-panel { padding-block: 30px; color: var(--inner-body); line-height: 1.68; }
.page-inner .tab-copy { max-width: 760px; }
.page-inner .tab-copy h2 { margin-bottom: 14px; font-weight: 500; }
.page-inner .tab-copy h3 { margin: 0 0 8px; font-weight: 500; }
.page-inner .tab-copy p { margin: 0 0 12px; }
.page-inner .tab-copy ol, .page-inner .tab-copy ul { margin: 0 0 14px; padding-left: 22px; }
.page-inner .tab-copy li { margin-bottom: 8px; }
.page-inner .tab-copy a { color: var(--inner-blue, #007db4); text-decoration: underline; text-underline-offset: 2px; }
.page-inner .tab-copy a:focus-visible { outline: 2px solid var(--inner-blue, #007db4); outline-offset: 2px; border-radius: 3px; }
.page-inner .tab-copy .tab-cta { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border: 1px solid var(--inner-blue, #007db4); border-radius: 7px; background: var(--inner-blue, #007db4); color: #fff; font-weight: 600; text-decoration: none; }
.page-inner .tab-copy .tab-cta:hover, .page-inner .tab-copy .tab-cta:focus-visible { background: var(--inner-blue-dark, #006a99); }
.page-inner .tab-copy--pay .tab-pay-groups { display: grid; gap: 18px; padding-left: 0; list-style: none; }
.page-inner .tab-copy--pay .tab-pay-groups > li { padding: 18px 20px; border: 1px solid var(--inner-stone); border-radius: 7px; background: var(--inner-paper, #fff); }
.page-inner .tab-copy--pay .tab-pay-groups ul { padding-left: 20px; }
.page-inner .tab-copy--pay .tab-platforms { display: flex; flex-wrap: wrap; gap: 8px; padding-left: 0; list-style: none; }
.page-inner .tab-copy--pay .tab-platforms li { margin: 0; }
.page-inner .tab-copy--pay .tab-platforms a { display: inline-flex; min-height: 44px; align-items: center; padding: 6px 12px; border: 1px solid var(--inner-stone); border-radius: 7px; background: var(--inner-paper, #fff); color: var(--inner-blue-dark, #006a99); font-size: .88rem; font-weight: 500; text-decoration: none; }
.page-inner .tab-copy--pay .tab-platforms a:hover, .page-inner .tab-copy--pay .tab-platforms a:focus-visible { border-color: var(--inner-blue, #007db4); background: rgba(0, 122, 189, .06); }
@media (max-width: 560px) {
  .page-inner .tab-copy--pay .tab-pay-groups > li { padding: 14px 14px; }
}
.page-inner .product-grid--related { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 820px) {
  .page-inner .product-grid--related { display: flex; flex-wrap: nowrap; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .page-inner .product-grid--related .product-card { flex: 0 0 40%; min-width: 0; scroll-snap-align: start; }
}
@media (max-width: 560px) {
  .page-inner .product-grid--related .product-card { flex-basis: 40%; }
}
.page-inner th, .page-inner td { border-bottom-color: var(--inner-stone); }
.page-inner th { font-weight: 600; }
.page-inner.page-product .product-reviews { display: grid; min-width: 0; gap: 30px; }
.page-inner.page-product .product-reviews__list { min-width: 0; }
.page-inner.page-product .product-reviews__cards { display: grid; min-width: 0; gap: 14px; }
.page-inner.page-product .review-card { display: grid; min-width: 0; gap: 8px; padding: 18px 20px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.page-inner.page-product .review-card__head { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.page-inner.page-product .review-card__head strong { color: var(--inner-ink); font-size: 1.02rem; }
.page-inner.page-product .review-card__rating { display: inline-flex; align-items: center; gap: 7px; color: #9a6b0a; font-weight: 600; }
.page-inner.page-product .review-card__stars { letter-spacing: 2px; }
.page-inner.page-product .review-card__text { margin: 0; color: var(--inner-body); overflow-wrap: anywhere; }
.page-inner.page-product .review-card__date { color: var(--inner-warm-body); font-size: .82rem; }
.page-inner.page-product .product-reviews__status, .page-inner.page-product .product-reviews__empty { margin: 0; padding: 18px 20px; border: 1px dashed var(--inner-stone); border-radius: 14px; color: var(--inner-warm-body); }
.page-inner.page-product .review-form-block { min-width: 0; }
.page-inner.page-product .review-form-block h2 { margin-bottom: 18px; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.page-inner.page-product .review-form { display: grid; grid-template-columns: 1fr; gap: 0; max-width: 680px; margin-inline: 0; }
.page-inner.page-product .review-form .field { min-width: 0; }
.page-inner.page-product .review-form .field-hint { margin: 4px 0 0; color: var(--inner-warm-body); font-size: .8rem; line-height: 1.45; }
.page-inner.page-product .review-form button[type="submit"] { width: 100%; min-height: 44px; }
.page-inner.page-product .review-form .form-status { overflow-wrap: anywhere; }
.page-inner .news-grid { gap: 16px; }
.page-inner .news-card { overflow: hidden; border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); }
.page-inner .news-image { margin: 0; border-radius: 0; }
.page-inner .news-card__content { padding: 20px; }
.page-inner .news-card h3 { font-size: 1.2rem; line-height: 1.22; }
.page-inner .news-card__content > p:last-child { color: var(--inner-body); font-size: .9rem; line-height: 1.58; }
.page-inner .eyebrow { color: var(--inner-warm-body); font-weight: 600; }
.page-inner.page-news-list .news-subscribe { padding-block: clamp(22px, 3vw, 30px); background: var(--inner-taupe); }
.page-inner.page-news-list .subscribe { max-width: 920px; margin-inline: auto; padding: 24px 28px; border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); box-shadow: 0 8px 24px rgba(23, 23, 23, .05); }
.page-inner.page-news-list .subscribe__header { max-width: 700px; margin: 0 auto 20px; text-align: center; }
.page-inner.page-news-list .subscribe__header h2 { margin: 0 0 6px; font-size: clamp(1.7rem, 2.4vw, 2.2rem); line-height: 1.05; }
.page-inner.page-news-list .subscribe__header > p:last-child { margin: 0; color: var(--inner-warm-body); font-size: .92rem; line-height: 1.5; }
.page-inner.page-news-list .subscribe-form { display: grid; gap: 16px; max-width: 610px; margin-inline: auto; }
.page-inner.page-news-list .subscribe-email-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; }
.page-inner.page-news-list .subscribe-email-row > .form-field { min-width: 0; margin: 0; }
.page-inner.page-news-list .subscribe-email-row input.field { height: 46px; min-height: 46px; border-radius: 12px; }
.page-inner.page-news-list .subscribe-email-row > .btn { width: 164px; height: 46px; min-height: 46px; align-self: end; border-radius: 12px; }
.page-inner.page-news-list .subscribe-consents { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.page-inner.page-news-list .subscribe-form .check { width: 100%; min-width: 0; margin: 0; gap: 12px; font-size: .78rem; line-height: 1.35; }
.page-inner.page-news-list .subscribe-form .check input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; accent-color: var(--inner-blue); cursor: pointer; }
.page-inner.page-news-list .subscribe-form .check span { min-width: 0; overflow-wrap: anywhere; }
.page-inner.page-news-list .subscribe-form > [data-form-status] { min-height: 0; margin: 0; }
.page-inner.page-news-list .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.page-inner.page-news-list .news-card { display: flex; flex-direction: column; border-color: var(--inner-stone); box-shadow: 0 8px 24px rgba(23, 23, 23, .05); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.page-inner.page-news-list .news-card:hover { border-color: #d1ccc6; box-shadow: 0 12px 28px rgba(23, 23, 23, .1); transform: translateY(-2px); }
.page-inner.page-news-list .news-card__link { display: flex; flex-direction: column; height: 100%; }
.page-inner.page-news-list .news-image { aspect-ratio: 16 / 9; padding: 12px; background: var(--inner-paper); }
.page-inner.page-news-list .news-image img { object-fit: contain; }
.page-inner.page-news-list .news-card__content { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.page-inner.page-news-list .news-card h3 { display: -webkit-box; min-height: 2.35em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-inner.page-news-list .news-card__content > p:last-child { display: -webkit-box; min-height: 6.32em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.page-inner.page-news-list .news-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 38px; }
.page-inner.page-news-list .news-pagination ol { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.page-inner.page-news-list .news-pagination__link { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid var(--inner-stone); border-radius: 999px; background: var(--inner-paper); color: var(--inner-ink); font-weight: 600; text-decoration: none; }
.page-inner.page-news-list .news-pagination__link:hover, .page-inner.page-news-list .news-pagination__link:focus-visible { border-color: var(--inner-blue); color: var(--inner-blue-dark); }
.page-inner.page-news-list .news-pagination__link.is-current { border-color: var(--inner-blue); background: var(--inner-blue); color: #fff; }
.page-inner.page-news-list .news-pagination__link[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.page-inner.page-news-list .news-pagination__summary { margin: 0; color: var(--inner-warm-body); font-size: .9rem; }
.page-inner .subscribe-form .field { color: var(--inner-ink); }
.page-inner .article { max-width: 940px; padding-block: 58px 86px; }
.page-inner .article h1 { font-size: clamp(2.4rem, 4.5vw, 3.85rem); }
.page-inner .article-content { font-size: 1.05rem; }
.page-inner .share, .page-inner .reactions { border-top-color: var(--inner-stone); }
.page-inner .share a, .page-inner .reactions button { min-height: 44px; border: 1px solid var(--inner-stone); border-radius: 999px; background: var(--inner-paper); font-weight: 600; }
.page-inner .site-dialog { border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-canvas); box-shadow: 0 18px 50px rgba(23, 23, 23, .14); }
.page-inner .site-dialog .field { background: var(--inner-paper); }
.page-inner .search-result { border-bottom-color: var(--inner-stone); }
@media (max-width: 820px) {
  .page-inner .section { padding-block: 58px; }
  .page-inner .page-hero { padding-block: 22px; }
  .page-inner .page-hero h1 { font-size: clamp(1.9rem, 8vw, 2.35rem); line-height: 1.08; }
  .page-inner .breadcrumbs { margin-bottom: 10px; font-size: .95rem; }
  .page-inner .filters { margin-bottom: 28px; }
  .page-inner .product-detail { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-block: 40px 58px; }
  .page-inner .product-summary { max-width: 720px; }
  .page-inner .contact-grid, .page-inner .service-cards { grid-template-columns: minmax(0, 1fr); }
  .page-inner .service-cards article { min-height: 0; }
  .page-inner.page-news-list .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .page-inner h1, .page-inner .article h1 { font-size: clamp(2rem, 9vw, 2.35rem); }
  .page-inner h2 { font-size: 1.8rem; }
  .page-inner .section { padding-block: 50px; }
  .page-inner .page-hero { padding-block: 20px; }
  .page-inner .page-hero p { font-size: .95rem; }
  .page-inner .breadcrumbs { margin-bottom: 10px; font-size: .95rem; }
  .page-inner .catalog-layout { padding-block: 30px 62px; }
  .page-inner .catalog-toolbar { align-items: flex-end; gap: 10px; }
  .page-inner .sort-field { width: min(58%, 220px); }
  .page-inner.page-catalog .product-grid, .page-inner.page-favorites .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .page-inner.page-catalog .product-card { display: block; min-width: 0; border-radius: 14px; }
  .page-inner.page-catalog .product-image { aspect-ratio: 1 / .88; min-height: 0; padding: 0; }
  .page-inner.page-catalog .product-body { min-width: 0; padding: 11px; border-top: 1px solid var(--inner-stone); }
  .page-inner.page-catalog .product-body h3 { display: -webkit-box; min-height: 3.45em; margin-bottom: 6px; font-size: .88rem; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
  .page-inner.page-catalog .product-kind { display: -webkit-box; min-height: 2.9em; margin-bottom: 5px; font-size: .74rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .page-inner.page-catalog .product-meta { display: block; min-height: 40px; margin-bottom: 5px; }
  .page-inner.page-catalog .product-meta strong, .page-inner.page-catalog .product-meta span { display: block; font-size: .74rem; text-align: left; }
  .page-inner.page-catalog .card-actions { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 6px; }
  .page-inner.page-catalog .card-actions .btn, .page-inner.page-catalog .card-actions .btn--secondary { display: inline-flex; min-width: 0; min-height: 44px; padding: 7px 5px; font-size: .75rem; line-height: 1.15; }
  .page-inner.page-catalog .card-actions .btn:not(.btn--secondary) { grid-column: 1 / -1; grid-row: 2; }
  .page-inner.page-catalog .favorite-button { position: static; width: 44px; min-height: 44px; border: 1px solid var(--inner-stone); border-radius: 7px; background: var(--inner-paper); }
  .page-inner.page-catalog .badges { top: 7px; left: 7px; max-width: calc(100% - 55px); }
  .page-inner.page-catalog .badge { padding: 3px 6px; font-size: .68rem; }
  .page-inner.page-product .product-grid { grid-template-columns: minmax(0, 1fr); }
  .page-inner.page-product .product-card { display: block; }
  .page-inner.page-product .product-body { border-top: 1px solid var(--inner-stone); border-left: 0; }
  .page-inner .product-detail { gap: 28px; padding-block: 28px 48px; }
  .page-inner .main-image { padding: 12px; }
  .page-inner .tabs { padding-bottom: 50px; }
  .page-inner .tab-buttons button { min-height: 44px; padding-inline: 14px; font-size: .78rem; }
  .page-inner.page-product .review-form { grid-template-columns: 1fr; }
  .page-inner .content-section { padding-top: 42px; }
  .page-inner .content-section + .content-section { margin-top: 0; }
  .page-inner.page-returns .content-section, .page-inner.page-returns .content-section:first-child { padding-top: 34px; }
  .page-inner.page-returns .content-section + .content-section { margin-top: 18px; }
  .page-inner.page-returns .content-section h2 { margin-bottom: 18px; }
  .page-inner.page-returns .prose { font-size: 1rem; line-height: 1.68; }
  .page-inner.page-returns .prose ul { padding-left: 1.2rem; }
  .page-inner.page-legal .legal-content { padding-block: 34px 62px; }
  .page-inner.page-legal .legal-prose { font-size: 1rem; line-height: 1.68; }
  .page-inner.page-legal .legal-prose h2 { margin-top: 28px; margin-bottom: 16px; }
  .page-inner.page-legal .legal-prose h3 { margin-top: 24px; }
  .page-inner.page-legal .legal-table-wrap { margin-block: 10px 24px; }
  .page-inner.page-legal .legal-table { display: block; min-width: 0; }
  .page-inner.page-legal .legal-table thead, .page-inner.page-legal .legal-table tbody, .page-inner.page-legal .legal-table tr { display: block; }
  .page-inner.page-legal .legal-table tr { padding: 12px 14px; border-bottom: 1px solid var(--inner-stone); }
  .page-inner.page-legal .legal-table tr:last-child { border-bottom: 0; }
  .page-inner.page-legal .legal-table th, .page-inner.page-legal .legal-table td { display: block; width: auto; padding: 0; border: 0; }
  .page-inner.page-legal .legal-table td { margin-top: 5px; }
  .page-inner .contact-grid > div:has(.lead-form), .page-inner .subscribe { padding: 18px 13px; }
  .page-inner .news-grid { grid-template-columns: minmax(0, 1fr); }
  .page-inner .news-card { display: block; }
  .page-inner .news-card__content { padding: 16px; }
  .page-inner.page-news-list .news-grid { grid-template-columns: minmax(0, 1fr); }
  .page-inner.page-news-list .subscribe-email-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .page-inner.page-news-list .subscribe-email-row > .btn { width: 100%; }
  .page-inner.page-news-list .news-pagination { gap: 8px; margin-top: 30px; }
  .page-inner.page-news-list .news-pagination ol { gap: 3px; }
  .page-inner.page-news-list .news-pagination__link { min-width: 42px; padding-inline: 9px; }
  .page-inner.page-news-list .news-pagination__summary { font-size: .82rem; }
  .page-inner .article { padding-block: 38px 60px; }
  .page-inner .article-cover { margin-block: 24px; }
  .page-inner .site-dialog { padding: 20px 14px; }
}
.page-inner.page-about .about-content { padding-bottom: clamp(68px, 8vw, 112px); }
.page-inner.page-about .about-section { max-width: 1180px; padding-top: clamp(48px, 5vw, 76px); }
.page-inner.page-about .about-intro { max-width: 900px; padding-top: clamp(52px, 6vw, 86px); }
.page-inner.page-about .about-intro .prose { color: var(--inner-body); font-size: 1.06rem; line-height: 1.75; }
.page-inner.page-about .about-intro .prose p { max-width: 78ch; }
.page-inner.page-about .about-section + .about-section { margin-top: 14px; border-top: 1px solid var(--inner-stone); }
.page-inner.page-about .about-section__head { margin-bottom: 28px; }
.page-inner.page-about .about-section h2 { max-width: 760px; font-size: clamp(1.7rem, 2.7vw, 2.35rem); }
.page-inner.page-about .about-region-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 26px; max-width: 980px; margin: 0; padding: 0; list-style: none; }
.page-inner.page-about .about-region-grid li { display: flex; min-width: 0; min-height: 58px; align-items: center; gap: 14px; padding: 12px 16px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.page-inner.page-about .about-region-grid img { flex: 0 0 30px; width: 30px; height: 30px; }
.page-inner.page-about .about-region-grid strong { color: var(--inner-ink); font-size: .98rem; line-height: 1.35; }
.page-inner.page-about .about-map__frame { overflow: hidden; border: 1px solid var(--inner-stone); border-radius: 18px; background: #e5e3df; box-shadow: 0 8px 24px rgba(23, 23, 23, .05); }
.page-inner.page-about .about-map__canvas { width: 100%; min-height: 485px; background: #e5e3df; }
.page-inner.page-about .about-map__fallback { padding: 24px; background: var(--inner-paper); color: var(--inner-body); }
.page-inner.page-about .about-map__fallback[hidden] { display: none; }
.page-inner.page-about .about-map__fallback p { max-width: 76ch; }
.page-inner.page-about .about-map__fallback ul { columns: 3; max-width: 1000px; margin: 18px 0 24px; padding-left: 1.2rem; column-gap: 34px; }
.page-inner.page-about .about-map__fallback li { break-inside: avoid; margin-bottom: 7px; }
.page-inner.page-about .about-map__fallback a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border-radius: 999px; background: var(--inner-blue); color: #fff; font-weight: 600; text-decoration: none; }
.page-inner.page-about .about-map__fallback a:hover, .page-inner.page-about .about-map__fallback a:focus-visible { background: var(--inner-blue-dark); }
.page-inner.page-about .about-advantage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 26px; }
.page-inner.page-about .about-advantage { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 18px; min-width: 0; padding: 22px 20px; border: 1px solid var(--inner-stone); border-radius: 16px; background: var(--inner-paper); }
.page-inner.page-about .about-advantage > img { width: 46px; height: 46px; object-fit: contain; }
.page-inner.page-about .about-advantage h3 { margin-bottom: 9px; color: var(--inner-ink); font-size: 1.12rem; line-height: 1.25; }
.page-inner.page-about .about-advantage p { margin: 0; color: var(--inner-body); line-height: 1.58; }
.page-inner.page-projects .projects-content { padding-bottom: clamp(68px, 8vw, 112px); }
.page-inner.page-projects .projects-intro { max-width: 900px; padding-top: clamp(52px, 6vw, 86px); }
.page-inner.page-projects .projects-intro .prose { color: var(--inner-body); font-size: 1.06rem; line-height: 1.75; }
.page-inner.page-projects .projects-intro .prose p { max-width: 78ch; }
.page-inner.page-projects .projects-map { max-width: 1180px; padding-top: clamp(48px, 5vw, 76px); }
.page-inner.page-projects .projects-map__frame { overflow: hidden; border: 1px solid var(--inner-stone); border-radius: 18px; background: #e5e3df; box-shadow: 0 8px 24px rgba(23, 23, 23, .05); }
.page-inner.page-projects .projects-map__canvas { width: 100%; min-height: 485px; background: #e5e3df; }
.page-inner.page-projects .projects-map__fallback { padding: 24px; background: var(--inner-paper); color: var(--inner-body); }
.page-inner.page-projects .projects-map__fallback[hidden] { display: none; }
.page-inner.page-projects .projects-map__fallback p { max-width: 76ch; }
.page-inner.page-projects .projects-map__fallback ul { columns: 3; max-width: 1000px; margin: 18px 0 24px; padding-left: 1.2rem; column-gap: 34px; }
.page-inner.page-projects .projects-map__fallback li { break-inside: avoid; margin-bottom: 7px; }
.page-inner.page-projects .projects-map__fallback a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border-radius: 999px; background: var(--inner-blue); color: #fff; font-weight: 600; text-decoration: none; }
.page-inner.page-projects .projects-map__fallback a:hover, .page-inner.page-projects .projects-map__fallback a:focus-visible { background: var(--inner-blue-dark); }
.page-inner.page-delivery .delivery-page { padding-bottom: clamp(68px, 8vw, 112px); }
.page-inner.page-delivery .delivery-section { max-width: 980px; padding-top: clamp(48px, 5vw, 72px); }
.page-inner.page-delivery .delivery-section + .delivery-section { margin-top: 14px; border-top: 1px solid var(--inner-stone); }
.page-inner.page-delivery .delivery-section h2 { margin-bottom: 28px; }
.page-inner.page-delivery .delivery-section h3 { margin: 30px 0 16px; font-size: 1.35rem; }
.page-inner.page-delivery .payment-method-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 32px; }
.page-inner.page-delivery .payment-method { display: grid; min-height: 148px; gap: 6px; padding: 22px 24px; border: 1px solid var(--inner-stone); border-radius: 16px; background: var(--inner-paper); }
.page-inner.page-delivery .payment-method strong { color: var(--inner-blue-dark); font-size: 1.22rem; font-weight: 700; }
.page-inner.page-delivery .payment-method span, .page-inner.page-delivery .payment-method-list span { color: var(--inner-warm-body); font-size: .92rem; }
.page-inner.page-delivery .payment-method-list { display: grid; gap: 14px; margin: 28px 0 32px; padding: 0; list-style: none; counter-reset: payment-method; }
.page-inner.page-delivery .payment-method-list li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px 12px; padding: 18px 20px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); counter-increment: payment-method; }
.page-inner.page-delivery .payment-method-list li::before { content: counter(payment-method) "."; grid-row: span 2; color: var(--inner-blue-dark); font-weight: 700; }
.page-inner.page-delivery .payment-method-list strong { font-weight: 650; }
.page-inner.page-delivery .payment-method-list span { grid-column: 2; }
.page-inner.page-delivery .delivery-platforms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 30px; }
.page-inner.page-delivery .delivery-platform { display: flex; min-height: 88px; align-items: center; justify-content: center; padding: 12px 16px; border: 1px solid #334b56; border-radius: 12px; background: #27353b; transition: border-color .18s ease, background .18s ease; }
.page-inner.page-delivery .delivery-platform:hover, .page-inner.page-delivery .delivery-platform:focus-visible { border-color: #6a8792; background: #30434b; }
.page-inner.page-delivery .delivery-platform img { width: 100%; max-width: 170px; max-height: 54px; object-fit: contain; }
.page-inner.page-delivery .delivery-section > p, .page-inner.page-delivery .delivery-section > ul { max-width: 900px; }
.page-inner.page-delivery .delivery-section > ul { padding-left: 1.3rem; }
.page-inner.page-delivery .delivery-section > ul li + li { margin-top: 8px; }
.page-inner.page-delivery .delivery-widgets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; margin-top: 20px; }
.page-inner.page-delivery .delivery-widget { display: flex; min-width: 0; flex-direction: column; padding: 20px; border: 1px solid var(--inner-stone); border-radius: 16px; background: var(--inner-paper); }
.page-inner.page-delivery .delivery-widget__brand { display: flex; min-height: 56px; align-items: center; margin-bottom: 14px; }
.page-inner.page-delivery .delivery-widget__brand img { width: auto; max-width: 100%; height: 56px; object-fit: contain; }
.page-inner.page-delivery .delivery-widget h3 { margin: 0 0 10px; font-size: 1.25rem; }
.page-inner.page-delivery .delivery-widget p { margin-bottom: 18px; font-size: .94rem; line-height: 1.58; }
.page-inner.page-delivery .delivery-widget .btn { width: 100%; }
.page-inner.page-delivery .delivery-widget iframe { display: block; width: 100%; height: 460px; min-height: 0; flex: 0 0 460px; border: 0; border-radius: 10px; background: var(--inner-taupe); }
.page-inner.page-delivery .delivery-widget--cdek iframe { height: 780px; flex: 0 0 780px; }
.page-inner.page-delivery .delivery-widget--dellin iframe { height: 460px; flex: 0 0 460px; }
.page-inner.page-delivery .delivery-widget__privacy { margin: 14px 0 8px; color: var(--inner-warm-body); font-size: .8rem !important; }
.page-inner.page-delivery .delivery-widget__link { width: 100%; margin-top: auto; font-size: .9rem; font-weight: 600; }
.page-inner.page-delivery a[data-delivery-carrier-cta],
.page-inner.page-delivery a[data-delivery-carrier-cta]:link,
.page-inner.page-delivery a[data-delivery-carrier-cta]:visited { background-color: #0073A6; color: #FFFFFF !important; text-decoration: none; }
.page-inner.page-delivery a[data-delivery-carrier-cta]:hover { background-color: #005F87 !important; color: #FFFFFF !important; }
.page-inner.page-delivery a[data-delivery-carrier-cta]:focus,
.page-inner.page-delivery a[data-delivery-carrier-cta]:focus-visible { background-color: #005F87 !important; color: #FFFFFF !important; outline: 3px solid #005F87; outline-offset: 3px; }
.page-inner.page-delivery .delivery-payment-group { margin-top: 28px; }
.page-inner.page-delivery .delivery-payment-heading { margin: 0 0 12px !important; }
.page-inner.page-delivery .delivery-payment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 26px; padding: 0 !important; list-style: none; }
.page-inner.page-delivery .delivery-payment-options li { display: flex; min-height: 76px; align-items: center; gap: 14px; padding: 10px 16px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.page-inner.page-delivery .delivery-payment-options img { width: 42px; height: 42px; object-fit: contain; }
.page-inner.page-delivery .delivery-payment-options span { color: var(--inner-body); }
@media (max-width: 820px) {
  .page-inner.page-about .about-region-grid, .page-inner.page-about .about-advantage-grid { grid-template-columns: minmax(0, 1fr); }
  .page-inner.page-about .about-map__canvas { min-height: 390px; }
  .page-inner.page-about .about-map__fallback ul { columns: 2; }
  .page-inner.page-projects .projects-map__canvas { min-height: 390px; }
  .page-inner.page-projects .projects-map__fallback ul { columns: 2; }
  .page-inner.page-delivery .payment-method-list, .page-inner.page-delivery .delivery-platforms, .page-inner.page-delivery .delivery-widgets, .page-inner.page-delivery .delivery-payment-options { grid-template-columns: minmax(0, 1fr); }
  .page-inner.page-delivery .delivery-widget--cdek iframe { height: 820px; flex-basis: 820px; }
  .page-inner.page-delivery .delivery-widget--dellin iframe { height: 460px; flex-basis: 460px; }
}
@media (max-width: 560px) {
  .page-inner.page-about .about-section { padding-top: 42px; }
  .page-inner.page-about .about-intro { padding-top: 42px; }
  .page-inner.page-about .about-intro .prose { font-size: 1rem; line-height: 1.68; }
  .page-inner.page-about .about-region-grid li, .page-inner.page-about .about-advantage { padding: 16px; }
  .page-inner.page-about .about-map__canvas { min-height: 340px; }
  .page-inner.page-about .about-map__fallback { padding: 18px 16px; }
  .page-inner.page-about .about-map__fallback ul { columns: 1; }
  .page-inner.page-projects .projects-intro { padding-top: 42px; }
  .page-inner.page-projects .projects-intro .prose { font-size: 1rem; line-height: 1.68; }
  .page-inner.page-projects .projects-map { padding-top: 42px; }
  .page-inner.page-projects .projects-map__canvas { min-height: 340px; }
  .page-inner.page-projects .projects-map__fallback { padding: 18px 16px; }
  .page-inner.page-projects .projects-map__fallback ul { columns: 1; }
  .page-inner.page-delivery .payment-method, .page-inner.page-delivery .payment-method-list li, .page-inner.page-delivery .delivery-widget { min-height: 0; padding: 16px; }
  .page-inner.page-delivery .delivery-platform { min-height: 76px; }
  .page-inner.page-delivery .delivery-widget--dellin iframe { height: 460px; flex-basis: 460px; }
  .page-inner.page-news-list .news-subscribe { padding-block: 24px; }
}
.page-inner.page-contacts .contacts-content { padding-bottom: clamp(54px, 6vw, 84px); }
.page-inner.page-contacts .contacts-primary { max-width: 1180px; }
.page-inner.page-contacts .contacts-section { max-width: 1180px; padding-top: clamp(48px, 5vw, 72px); }
.page-inner.page-contacts .contacts-section + .contacts-section { margin-top: 14px; border-top: 1px solid var(--inner-stone); }
.page-inner.page-contacts .contacts-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 34px; }
.page-inner.page-contacts .contacts-details > h2 { grid-column: 1 / -1; margin-bottom: 2px; }
.page-inner.page-contacts .contact-detail-block { min-width: 0; padding: 18px 20px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.page-inner.page-contacts .contact-detail-block h3 { margin-bottom: 10px; color: var(--inner-ink); font-size: 1.06rem; font-weight: 600; }
.page-inner.page-contacts .contact-detail-block p, .page-inner.page-contacts .contact-detail-block address { margin: 0; color: var(--inner-body); font-style: normal; }
.page-inner.page-contacts .contact-detail-block--phones { display: grid; align-content: center; gap: 5px; }
.page-inner.page-contacts .contact-detail__link { width: fit-content; color: var(--inner-blue-dark); font-size: 1.2rem; font-weight: 650; text-decoration: none; }
.page-inner.page-contacts .contact-detail__link:hover, .page-inner.page-contacts .contact-social-link:hover, .page-inner.page-contacts .contact-email-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.page-inner.page-contacts .contact-email-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.page-inner.page-contacts .contact-email-list li { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.page-inner.page-contacts .contact-email-list a, .page-inner.page-contacts .contact-social-link { color: var(--inner-blue-dark); font-weight: 600; text-decoration: none; }
.page-inner.page-contacts .contact-email-list span { color: var(--inner-warm-body); font-size: .92rem; }
.page-inner.page-contacts .contact-messengers { margin-top: 12px; padding-top: 0; border-top: 0; }
.page-inner.page-contacts .contact-messengers__label { color: var(--inner-warm-body); }
.page-inner.page-contacts .contact-messenger { border-color: var(--inner-stone); background: var(--inner-paper); color: var(--inner-ink); }
.page-inner.page-contacts .contact-messenger:hover, .page-inner.page-contacts .contact-messenger:focus-visible { border-color: var(--inner-blue); }
.page-inner.page-contacts .contact-messenger__copy span { color: var(--inner-warm-body); }
.page-inner.page-contacts .contact-messenger__arrow { color: var(--inner-blue-dark); }
.page-inner.page-contacts .contacts-map { padding-bottom: 0; }
.page-inner.page-contacts .contacts-map__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.page-inner.page-contacts .contacts-map__head h2 { margin-bottom: 10px; }
.page-inner.page-contacts .contacts-map__head p { max-width: 780px; margin: 0; color: var(--inner-body); }
.page-inner.page-contacts .contacts-map__link { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; padding: 8px 16px; border: 1px solid var(--inner-stone); border-radius: 999px; color: var(--inner-blue-dark); font-size: .88rem; font-weight: 600; text-decoration: none; }
.page-inner.page-contacts .contacts-map__link:hover, .page-inner.page-contacts .contacts-map__link:focus-visible { border-color: var(--inner-blue); background: var(--inner-paper); }
.page-inner.page-contacts .contacts-map__frame { overflow: hidden; min-height: 420px; border: 1px solid var(--inner-stone); border-radius: 18px; background: #e5e3df; box-shadow: 0 8px 24px rgba(23, 23, 23, .05); }
.page-inner.page-contacts .contacts-map__frame iframe { display: block; width: 100%; min-height: 420px; border: 0; }
.page-inner.page-contacts .contacts-map__fallback { margin: 12px 0 0; color: var(--inner-warm-body); font-size: .86rem; }
.page-inner.page-contacts .contacts-map__fallback a { color: var(--inner-blue-dark); }
.page-inner.page-contacts .contacts-form-section { padding-block: clamp(54px, 6vw, 84px); }
.page-inner.page-contacts .contacts-form-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(34px, 6vw, 80px); align-items: start; }
.page-inner.page-contacts .contacts-form-grid > div:first-child { min-width: 0; }
.page-inner.page-contacts .contacts-form-grid > div:first-child h2 { margin-bottom: 26px; }
.page-inner.page-contacts .contacts-requisites { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 24px; align-items: start; margin: 0; padding: 28px; border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); }
.page-inner.page-contacts .contacts-requisites__copy { min-width: 0; }
.page-inner.page-contacts .contacts-requisites h2 { margin-bottom: 20px; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.page-inner.page-contacts .contacts-requisites__legal-name { margin-bottom: 16px; color: var(--inner-ink); font-weight: 650; }
.page-inner.page-contacts .contacts-requisites__copy > p:not(.contacts-requisites__legal-name) { margin-bottom: 20px; }
.page-inner.page-contacts .contacts-requisites__logo { display: grid; width: 96px; height: 96px; margin: 0; place-items: center; border-radius: 14px; background: var(--inner-taupe); }
.page-inner.page-contacts .contacts-requisites__logo img { width: 72px; height: 72px; object-fit: contain; }
.page-inner.page-contacts .requisites-list { display: grid; gap: 11px; margin: 0; }
.page-inner.page-contacts .requisites-list > div { display: grid; grid-template-columns: minmax(94px, .35fr) minmax(0, 1fr); gap: 10px; }
.page-inner.page-contacts .requisites-list dt { color: var(--inner-warm-body); font-size: .88rem; }
.page-inner.page-contacts .requisites-list dd { min-width: 0; margin: 0; color: var(--inner-body); overflow-wrap: anywhere; }
@media (max-width: 820px) {
  .page-inner.page-contacts .contacts-details, .page-inner.page-contacts .contacts-form-grid { grid-template-columns: minmax(0, 1fr); }
  .page-inner.page-contacts .contacts-map__head { display: grid; align-items: start; }
  .page-inner.page-contacts .contacts-map__link { width: fit-content; }
  .page-inner.page-contacts .contacts-form-grid { gap: 34px; }
}
@media (max-width: 560px) {
  .page-inner.page-contacts .contacts-section { padding-top: 42px; }
  .page-inner.page-contacts .contact-detail-block { padding: 16px; }
  .page-inner.page-contacts .contacts-map__frame, .page-inner.page-contacts .contacts-map__frame iframe { min-height: 340px; }
  .page-inner.page-contacts .contacts-requisites { grid-template-columns: minmax(0, 1fr); padding: 18px 16px; }
  .page-inner.page-contacts .contacts-requisites__logo { order: -1; width: 72px; height: 72px; }
  .page-inner.page-contacts .contacts-requisites__logo img { width: 54px; height: 54px; }
  .page-inner.page-contacts .requisites-list > div { grid-template-columns: minmax(78px, .4fr) minmax(0, 1fr); gap: 8px; }
}
.product-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--inner-stone); }
.product-share__label { font-size: .82rem; color: var(--inner-warm-body); font-weight: 600; }
.product-share__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--inner-stone); border-radius: 8px; background: var(--inner-paper); color: var(--inner-ink); text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; cursor: pointer; }
.product-share__btn svg { width: 26px; height: 26px; flex: 0 0 26px; }
.product-share__btn:hover { border-color: transparent; }
.product-share__btn--vk:hover { background: #0077ff; color: #fff; }
.product-share__btn--tg:hover { background: #1d9ad6; color: #fff; }
.product-share__btn--ok:hover { background: #d96a1f; color: #fff; }
.product-share__btn--max:hover { background: #17171c; color: #fff; }
.product-share__btn--copy:hover { background: var(--inner-taupe); border-color: var(--inner-stone); }
.product-share__btn--copy .copy-feedback { font-size: .7rem; line-height: 1; white-space: nowrap; }
.product-leasing { padding-block: clamp(36px, 5vw, 56px); }
.product-leasing .section-head { margin-bottom: 22px; }
.product-leasing .section-head,
.product-leasing .leasing-card { max-width: 760px; margin-inline: auto; }
.leasing-card { display: grid; gap: 0; border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); overflow: hidden; }
.leasing-calc { padding: clamp(20px, 2.6vw, 30px); }
.leasing-calc__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.6vw, 30px); align-items: stretch; }
.leasing-calc__fields { display: grid; gap: 22px; align-content: start; }
.leasing-field { display: grid; gap: 6px; min-width: 0; }
.leasing-field label { font-size: .8rem; font-weight: 600; color: var(--inner-ink); }
.leasing-field__input { position: relative; display: flex; align-items: center; }
.leasing-field__input .leasing-input { width: 100%; min-height: 50px; padding: 11px 48px 11px 15px; border: 1px solid var(--inner-stone); border-radius: 8px; background: var(--inner-paper); font-size: .98rem; font-weight: 600; color: var(--inner-blue-dark, #006a99); }
.leasing-field__input .leasing-input:focus-visible { outline: 2px solid var(--inner-blue, #007db4); outline-offset: 2px; border-color: transparent; }
.leasing-unit { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: .86rem; font-weight: 600; color: var(--inner-warm-body); pointer-events: none; }
.leasing-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; margin: 6px 0 4px; border-radius: 999px; background: linear-gradient(to right, var(--inner-blue, #007db4) var(--fill, 50%), var(--inner-stone) var(--fill, 50%)); cursor: pointer; touch-action: none; }
.leasing-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--inner-blue, #007db4); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(26, 26, 26, .25); }
.leasing-range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--inner-blue, #007db4); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(26, 26, 26, .25); }
.leasing-range::-moz-range-track { height: 6px; border-radius: 999px; background: var(--inner-stone); }
.leasing-range:focus-visible { outline: 2px solid var(--inner-blue, #007db4); outline-offset: 3px; }
.leasing-presets { display: flex; flex-wrap: wrap; gap: 6px; }
.leasing-preset { min-height: 36px; padding: 5px 9px; border: 1px solid var(--inner-stone); border-radius: 999px; background: var(--inner-taupe); color: var(--inner-body); font-size: .74rem; font-weight: 600; line-height: 1.2; white-space: nowrap; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.leasing-preset:hover { border-color: var(--inner-blue, #007db4); color: var(--inner-blue-dark, #006a99); }
.leasing-preset:focus-visible { outline: 2px solid var(--inner-blue, #007db4); outline-offset: 2px; }
.leasing-preset.is-active { background: var(--inner-blue, #007db4); border-color: var(--inner-blue, #007db4); color: #fff; }
.leasing-side { display: flex; flex-direction: column; gap: 14px; padding: 18px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-taupe); }
.leasing-calc__results { display: grid; gap: 10px; }
.leasing-result { padding: 13px 14px; border-radius: 10px; background: #fff; text-align: center; }
.leasing-result__label { margin: 0 0 4px; font-size: .76rem; color: var(--inner-warm-body); }
.leasing-result__value { margin: 0; font-size: clamp(1.05rem, 1.8vw, 1.3rem); font-weight: 700; color: var(--inner-blue-dark, #006a99); }
.leasing-submit { min-height: 44px; width: 100%; justify-content: center; background: var(--inner-blue, #007db4); color: #fff; border-radius: 8px; font-weight: 700; }
.leasing-submit:hover, .leasing-submit:focus-visible { background: var(--inner-blue-dark, #006a99); color: #fff; }
.leasing-calc__note { margin: -6px 0 0; font-size: .72rem; color: var(--inner-warm-body); line-height: 1.4; }
.leasing-partners { display: grid; gap: 8px; }
.leasing-partners__title { margin: 0; color: var(--inner-body); font-size: .78rem; line-height: 1.45; }
.leasing-partners__list { display: grid; gap: 8px; }
.leasing-partners__list a { display: grid; place-items: center; gap: 5px; min-height: 56px; padding: 6px 12px; border: 1px solid var(--inner-stone); border-radius: 10px; background: #fff; transition: border-color .15s ease; }
.leasing-partners__list a:hover, .leasing-partners__list a:focus-visible { border-color: var(--inner-blue, #007db4); outline: none; }
.leasing-partners__list img { max-width: 100%; height: 38px; object-fit: contain; }
.leasing-partners__list a.leasing-partner--tall { min-height: 66px; }
.leasing-partners__list a.leasing-partner--tall img { height: 46px; }
.leasing-partners__list span { color: var(--inner-blue-dark, #006a99); font-size: .86rem; font-weight: 700; line-height: 1.1; }
.leasing-unavailable { padding: 26px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-taupe); text-align: center; }
.leasing-unavailable h2 { margin: 0 0 10px; font-weight: 500; }
.leasing-unavailable p { margin: 0 0 18px; color: var(--inner-body); }
.leasing-unavailable__actions .btn { min-height: 44px; }
.product-feedback { padding-block: clamp(44px, 6vw, 72px); }
.product-feedback .contact-grid { align-items: start; }
@media (max-width: 820px) {
  .leasing-calc__body { grid-template-columns: 1fr; }
}
.product-description { margin-bottom: 16px; color: var(--inner-body); font-size: .95rem; line-height: 1.6; }
.product-params { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px 16px; min-width: 0; max-width: 100%; margin: 0 0 20px; padding: 13px 15px; border: 1px solid var(--inner-stone); border-radius: 12px; background: var(--inner-paper); }
.product-params dt { color: var(--inner-warm-body); font-size: .82rem; line-height: 1.45; }
.product-params dd { min-width: 0; margin: 0; color: var(--inner-ink); font-size: .88rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.product-params dd code { font-family: inherit; font-size: .86rem; font-weight: 600; color: var(--inner-ink); }
@media (max-width: 560px) {
  .product-params { gap: 7px 12px; padding: 12px 13px; }
}
.page-thanks .page-hero { padding-block: clamp(56px, 7vw, 88px); text-align: center; }
.page-thanks .thanks-hero__icon { display: grid; width: 76px; height: 76px; margin: 0 auto 22px; place-items: center; border-radius: 50%; background: #e6f6ec; color: var(--success); box-shadow: inset 0 0 0 1px rgba(31, 157, 69, .18); }
.page-thanks .thanks-hero__icon svg { width: 40px; height: 40px; }
.page-thanks .page-hero h1 { max-width: 1000px; margin: 0 auto 10px; font-size: clamp(2.6rem, 6vw, 4rem); color: var(--inner-ink); }
.page-thanks .page-hero h2 { margin-bottom: 18px; font-size: clamp(1.3rem, 3vw, 1.7rem); color: var(--inner-blue-dark); }
.page-thanks .page-hero p { max-width: 560px; margin: 0 auto 30px; color: var(--inner-body); font-size: 1.05rem; line-height: 1.65; }
.page-thanks .page-hero .btn { min-height: 48px; padding-inline: 30px; }
.thanks-contacts { padding-block: clamp(48px, 6vw, 76px); }
.thanks-contacts__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.thanks-contacts__text h2 { margin-bottom: 12px; font-size: clamp(1.5rem, 3vw, 2rem); }
.thanks-contacts__text p { color: var(--inner-body); line-height: 1.6; }
.thanks-contacts__channels { display: grid; gap: 12px; }
.thanks-phones, .thanks-emails { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.thanks-contact { display: flex; min-height: 52px; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--inner-stone); border-radius: 12px; background: var(--inner-paper); color: var(--inner-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.thanks-contact svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--inner-blue-dark); }
.thanks-contact span { font-size: .95rem; font-weight: 700; overflow-wrap: anywhere; }
.thanks-contact:hover, .thanks-contact:focus-visible { border-color: var(--inner-blue); box-shadow: 0 6px 16px rgba(23, 23, 23, .07); transform: translateY(-1px); }
.thanks-messengers .contact-messengers { margin-top: 14px; padding-top: 14px; }
.thanks-messengers .contact-messenger-links { max-width: none; }
.thanks-reviews__head { margin-bottom: 26px; text-align: center; }
.thanks-reviews__head h2 { font-size: clamp(1.6rem, 3.4vw, 2.2rem); }
@media (max-width: 820px) {
  .thanks-contacts__inner { grid-template-columns: 1fr; gap: 26px; }
  .thanks-phones, .thanks-emails { grid-template-columns: 1fr; }
}
.back-to-top { position: fixed; z-index: 80; right: 18px; bottom: max(18px, env(safe-area-inset-bottom)); display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; box-shadow: 0 2px 12px rgba(0, 0, 0, .12); cursor: pointer; transition: opacity .2s ease, transform .2s ease, background .15s ease; }
.back-to-top[hidden] { display: flex; opacity: 0; pointer-events: none; transform: translateY(12px); }
.back-to-top:not([hidden]) { opacity: 1; transform: translateY(0); }
.back-to-top:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.back-to-top svg { width: 20px; height: 20px; }
[data-add-cart][data-in-cart="true"] { background: #eef8f2; border-color: var(--success); color: var(--success); }
.article-author { display: flex; align-items: center; gap: 14px; margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--inner-stone); }
.article-author__avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; }
.article-author__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.article-author__label { font-size: .78rem; color: var(--inner-warm-body); text-transform: uppercase; letter-spacing: .08em; }
.article-author__name { font-size: 1.05rem; font-weight: 700; color: var(--inner-ink); }
.news-comments { padding-top: clamp(48px, 6vw, 72px); padding-bottom: clamp(48px, 6vw, 72px); }
.page-inner .news-comments { max-width: 940px; }
.news-comments__head { margin-bottom: 26px; }
.news-comments__list { display: grid; gap: 14px; margin-bottom: 34px; }
.news-comments__status { margin: 0; color: var(--inner-warm-body); }
.news-comments__empty { margin: 0; color: var(--inner-warm-body); }
.news-comments__cards { display: grid; gap: 14px; }
.comment-card { display: grid; min-width: 0; gap: 8px; padding: 18px 20px; border: 1px solid var(--inner-stone); border-radius: 14px; background: var(--inner-paper); }
.comment-card__head { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.comment-card__head strong { color: var(--inner-ink); font-size: 1.02rem; }
.comment-card__date { color: var(--inner-warm-body); font-size: .82rem; }
.comment-card__text { margin: 0; color: var(--inner-body); overflow-wrap: anywhere; }
.comment-form-block { min-width: 0; }
.comment-form-block h2 { margin-bottom: 18px; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.news-comments .comment-form { display: grid; grid-template-columns: 1fr; gap: 0; max-width: 680px; margin-inline: 0; }
.comment-form .field { min-width: 0; }
.comment-form textarea.field { resize: vertical; min-height: 110px; }
.comment-form button[type="submit"] { width: 100%; min-height: 44px; margin-top: 4px; }
.comment-form .form-status { overflow-wrap: anywhere; }
.comment-form .check { margin-top: 10px; }
.page-inner.page-news-article .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 820px) {
  .page-inner.page-news-article .news-grid { display: flex; grid-template-columns: none; gap: 8px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: thin; overscroll-behavior-inline: contain; }
  .page-inner.page-news-article .news-card { flex: 0 0 calc((100% - 8px) * .46); scroll-snap-align: start; }
  .page-inner.page-news-article .news-card__content { padding: 14px; }
  .page-inner.page-news-article .news-card h3 { font-size: .95rem; line-height: 1.2; }
  .page-inner.page-news-article .news-card__content > p:last-child { display: -webkit-box; overflow: hidden; font-size: .82rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 10; }
}
@media (max-width: 820px) {
  .product-sticky-bar { display: flex; position: fixed; z-index: 85; left: 0; right: 0; bottom: 0; align-items: center; gap: 14px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fff; box-shadow: 0 -8px 24px rgba(23, 23, 23, .12); }
  .product-sticky-bar__price { flex: 0 0 auto; min-width: 0; font-weight: 700; font-size: 1.02rem; line-height: 1.2; white-space: nowrap; }
  .product-sticky-bar .product-contact-btn { flex: 1 1 auto; min-height: 46px; }
  body:has(dialog[open]) .product-sticky-bar { display: none; }
}
.page-notfound .notfound-hero { padding-block: clamp(64px, 9vw, 110px) clamp(40px, 6vw, 72px); text-align: center; }
.notfound-hero__code { margin: 0 0 6px; font-size: clamp(4.5rem, 12vw, 8rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--brand-accent); }
.page-notfound .notfound-hero h1 { max-width: 720px; margin: 0 auto; font-size: clamp(2rem, 5vw, 3.2rem); }
.notfound-hero__text { max-width: 640px; margin: 20px auto 28px; color: var(--inner-body); font-size: clamp(1rem, 1.4vw, 1.12rem); line-height: 1.65; }
.notfound-hero__text a { color: var(--inner-blue-dark); }
.page-notfound .notfound-hero .btn { min-height: 48px; padding-inline: 30px; }
.notfound-contacts { padding-block: clamp(48px, 6vw, 76px); }
.notfound-contacts__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.notfound-contacts__info h2 { margin-bottom: 12px; font-size: clamp(1.5rem, 3vw, 2rem); }
.notfound-contacts__info > p { color: var(--inner-body); line-height: 1.6; }
.notfound-channels { display: grid; gap: 22px; margin-top: 26px; }
.notfound-channel h3 { margin: 0 0 10px; font-size: .9rem; color: var(--inner-warm-body); text-transform: uppercase; letter-spacing: .06em; }
.notfound-links { display: grid; gap: 8px; }
.notfound-link { display: flex; min-height: 46px; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--inner-stone); border-radius: 12px; background: var(--inner-paper); color: var(--inner-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.notfound-link svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--inner-blue-dark); }
.notfound-link span { font-size: .95rem; font-weight: 700; overflow-wrap: anywhere; }
.notfound-link:hover, .notfound-link:focus-visible { border-color: var(--inner-blue); box-shadow: 0 6px 16px rgba(23, 23, 23, .07); transform: translateY(-1px); }
.notfound-contacts .contact-messengers { margin-top: 4px; }
.notfound-form { padding: clamp(22px, 3vw, 30px); border: 1px solid var(--inner-stone); border-radius: 18px; background: var(--inner-paper); box-shadow: 0 8px 24px rgba(23, 23, 23, .05); }
.notfound-form h2 { margin-bottom: 4px; font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.notfound-form > p { margin: 0 0 10px; color: var(--inner-body); line-height: 1.55; }
@media (max-width: 820px) {
  .notfound-contacts__inner { grid-template-columns: 1fr; gap: 28px; }
}
