.catalog-viewer-section { background: #eeece5; }
.catalog-viewer { border: 1px solid #d5d6cc; background: #e5dfd5; border-radius: 8px; overflow: hidden; }
.catalog-toolbar,.catalog-viewer-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; }
.catalog-toolbar .eyebrow { margin:0; }
.catalog-controls { display:flex; align-items:center; gap:16px; }
#catalog-counter { min-width:64px; text-align:center; font-variant-numeric:tabular-nums; font-size:13px; }
.catalog-arrow { display:inline-grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #b5b9ae; border-radius:50%; background:var(--paper); font-size:22px; cursor:pointer; }
.catalog-arrow:hover:not(:disabled) { background:var(--ink); color:var(--paper); }
.catalog-arrow:disabled { opacity:.35; cursor:default; }
.catalog-track { display:flex; gap:22px; padding:10px 24px 26px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#9b8976 transparent; overscroll-behavior-x:contain; }
.catalog-page { flex:0 0 calc((100% - 44px)/3); min-width:0; padding:0; border:0; background:var(--paper); scroll-snap-align:start; cursor:zoom-in; border-radius:3px; overflow:hidden; box-shadow:0 8px 20px #222b2712; }
.catalog-page img { width:100%; height:auto; aspect-ratio:459.213/612.284; object-fit:contain; }
.catalog-page:focus-visible { outline-offset:-4px; }
.catalog-viewer-footer { border-top:1px solid #d0ccc2; font-size:11px; color:var(--ink-soft); }
.catalog-download { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:28px; }
.catalog-download h3 { margin:0 0 5px; font-size:20px; font-weight:550; letter-spacing:-.03em; }
.catalog-download p { margin:0; font-size:13px; color:var(--ink-soft); }
.contact-download { margin-bottom:28px; height:auto; padding-block:12px; }
.catalog-error { padding:24px; }
.catalog-error a { text-decoration:underline; }
#catalog-dialog { width:min(760px,calc(100% - 24px)); max-height:94dvh; padding:16px; border:0; border-radius:6px; background:var(--paper); color:var(--ink); overflow:auto; }
#catalog-dialog::backdrop { background:#18201cdd; }
.catalog-dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; font-size:13px; }
#catalog-large { width:100%; height:auto; }
.catalog-dialog-controls { display:flex; justify-content:center; gap:20px; margin-top:16px; }
body.catalog-modal-open { overflow:hidden; }
.product-index { left:auto; right:8px; }
@media(max-width:860px) { .catalog-page { flex-basis:calc((100% - 22px)/2); } .catalog-download { align-items:flex-start; flex-direction:column; } }
@media(max-width:540px) { .catalog-page { flex-basis:90%; } .catalog-track { padding-inline:16px; gap:14px; } .catalog-toolbar,.catalog-viewer-footer { padding:14px 16px; } .catalog-toolbar .eyebrow { font-size:9px; letter-spacing:.06em; } .catalog-controls { gap:8px; } .catalog-viewer-footer { align-items:flex-start; flex-direction:column; gap:8px; } .catalog-download .button { width:100%; padding-block:12px; } }
.catalog-track { scroll-padding-inline:24px; }
@media(max-width:540px) { .catalog-track { scroll-padding-inline:16px; } }

/* Russian production emphasis */
.production-highlight { max-width:475px; margin:0 0 20px; padding:12px 16px; border-left:3px solid var(--brand-red); background:var(--green-light); color:var(--green); font-size:clamp(14px,1.25vw,17px); line-height:1.55; }
.production-highlight strong { font-weight:650; }
.production-note { margin:0 0 23px; color:var(--ink-soft); font-size:12px; line-height:1.65; }

/* Review: contrasting header and more readable typography */
.site-header { background:#e5dfd5; border-bottom:1px solid #ccc5b9; }
.site-header .header-cta { background:var(--ink); color:var(--paper); border-color:var(--ink); font-size:13px; }
.site-header .header-cta:hover { background:var(--green); }
.primary-nav a { font-size:14px; }
.hero .eyebrow { font-size:12px; line-height:1.6; letter-spacing:.1em; }
.hero-lead,.about-lead { font-size:16px; line-height:1.75; }
.hero-footnote { font-size:14px; color:var(--green); line-height:1.6; align-items:flex-start; }
.hero-footnote .footnote-line { flex:0 0 26px; margin-top:11px; }
.value-strip-inner { min-height:94px; gap:24px; }
.value-item { font-size:16px; line-height:1.45; gap:14px; }
.value-number { font-size:14px; }
.heading-note { font-size:14px; max-width:380px; }
.button,.text-link { font-size:14px; }
.button { padding-block:12px; height:auto; }
.product-meta h3 { font-size:17px; }
.product-meta p,.about-point p,.step-card p { font-size:14px; line-height:1.7; }
.about-point h3 { font-size:15px; }
.step-card h3 { font-size:19px; }
.step-number { font-size:12px; }
.production-note { font-size:14px; }
.catalog-bottom,.catalog-viewer-footer { font-size:13px; }
.catalog-download p { font-size:15px; }
.contact-copy > p:not(.eyebrow) { font-size:15px; }
.contact-form label { font-size:14px; }
.contact-form input,.contact-form textarea { font-size:16px; }
.contact-form .form-consent { font-size:12px; }
.form-note,.form-status { font-size:12px; line-height:1.65; }
.custom-order-note { margin:0 0 28px; padding:18px 20px; border-left:3px solid #d5a17e; background:rgba(255,255,255,.07); }
.custom-order-note h3 { font-size:18px; line-height:1.4; margin:0 0 8px; font-weight:600; }
.custom-order-note p { font-size:14px; line-height:1.7; margin:0; color:#e0e5de; }
.footer-nav a,.footer-main > p,.footer-legal-nav a,.legal-identity,.footer-bottom { font-size:12px; }
@media (min-width:861px) and (max-width:1100px) { .primary-nav { gap:12px; } .primary-nav a { font-size:13px; } .site-header .header-cta { font-size:12px; } }
@media (max-width:860px) { .primary-nav { background:#e5dfd5; } .primary-nav a { font-size:16px; } .value-item { font-size:15px; } .about-points { grid-template-columns:1fr; } }
@media (max-width:640px) {
  .hero .eyebrow { font-size:11px; }
  .hero-lead,.about-lead { font-size:15px; }
  .hero-footnote { font-size:14px; }
  .value-strip-inner { gap:0; padding-block:10px; }
  .value-item { min-height:60px; font-size:16px; }
  .value-number { font-size:14px; }
  .custom-order-note { padding:16px; }
  .heading-note { font-size:14px; }
}

.catalog-freshness { color:var(--ink-soft); font-size:12px; line-height:1.6; margin:18px 0 0; max-width:680px; }
.field-hint,.form-policy { font-size:12px; line-height:1.6; color:var(--ink-soft); margin:7px 0 0; }
.form-policy a { text-decoration:underline; text-underline-offset:3px; }
.form-retry { background:transparent; border:1px solid var(--line); padding:10px 12px; font-size:12px; cursor:pointer; }
.legal-page { overflow-wrap:anywhere; }
