.catalog-intro { background: var(--ink); color: #fff; padding-block: 44px; }
.catalog-intro .eyebrow { color: var(--yellow); }
.catalog-intro h1 { font-size: clamp(2.15rem, 4vw, 3.75rem); line-height: 1.1; letter-spacing: -.045em; text-wrap: balance; margin-bottom: 20px; }
.catalog-intro h1 span { color: var(--yellow); }
.catalog-intro p:not(.eyebrow) { max-width: 580px; color: #c4c9cd; }
.catalog-intro__heading { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.catalog-intro__heading > .button { flex-shrink: 0; }
.catalog-shortcuts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.catalog-shortcuts a { display: flex; align-items: center; gap: 16px; min-height: 44px; padding: 10px 15px; border: 1px solid #73797f; border-radius: 4px; font-size: .85rem; text-decoration: none; }
.catalog-shortcuts a:hover { background: #34393e; border-color: var(--yellow); }
.catalog-results { padding-top: 32px; }
.catalog-results-title { font-size: 1.3rem; margin: 24px 0; letter-spacing: -.02em; }
.catalog-preview-note { font-size: .85rem; color: #535b60; max-width: 800px; }
.catalog-toolbar { scroll-margin-top: 100px; }
.catalog-contact { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 36px; padding: 28px; background: #f3f3ef; border: 1px solid #dedfdd; border-radius: 5px; }
.catalog-contact p { max-width: 550px; font-size: .9rem; margin: 8px 0 0; }
.catalog-contact .button { flex-shrink: 0; }
.empty-state .button { margin: 8px; }
.product-card__visual { min-height: 90px; height: 90px; padding: 20px; justify-content: space-between; background: #f3f3ef !important; }
.product-card__visual > svg { width: 40px; height: 40px; color: #41484d; }
.product-card__visual small { position: static; color: #50585e; font-size: .75rem; font-weight: 500; }
.product-card__visual::before, .product-card__visual::after { display: none; }
.product-card__footer { display: grid; grid-template-columns: 1fr; gap: 8px; }
.product-card__footer .button { width: 100%; min-height: 44px; font-size: .85rem; }
.product-card__footer > button { background: transparent; color: var(--ink); border: 1px solid #777f84; }
.product-card__footer > button:hover { background: #f3f3ef; }
.product-card__review { display: flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: underline; }
.category-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
.category-intro figure { margin: 0; border-radius: 5px; overflow: hidden; border: 1px solid #62686e; }
.category-intro img { display: block; width: 100%; height: auto; }
.category-intro figcaption { padding: 12px 16px; font-size: .75rem; color: #c4c9cd; }
.category-intro__link { display: inline-flex; padding: 14px 0; margin-left: 22px; min-height: 44px; font-size: .85rem; }
.quote-workbench { display: grid; grid-template-columns: 1.2fr 1fr; align-items: start; gap: 32px; }
.quote-editor { min-width: 0; }
.quote-editor h2, .quote-review h2 { font-size: 1.6rem; letter-spacing: -.025em; }
.quote-editor label { display: grid; gap: 8px; font-weight: 600; font-size: .9rem; margin-top: 20px; }
.quote-editor input, .quote-editor textarea { width: 100%; min-width: 0; border: 1px solid #828a90; border-radius: 4px; padding: 12px; font: inherit; font-weight: 400; background: #fff; color: var(--ink); }
.quote-editor input { min-height: 44px; }
.quote-editor textarea { resize: vertical; min-height: 100px; }
.quote-editor > p, .quote-review > p { color: #535b60; font-size: .9rem; }
.quote-item { padding: 20px; margin-block: 12px; border: 1px solid #c9cdcf; border-radius: 5px; }
.quote-item h3 { font-size: 1.05rem; }
.quote-item__row { display: flex; align-items: end; gap: 16px; }
.quote-item__row label { max-width: 150px; margin-top: 8px; }
.quote-item button, .quote-copy { min-height: 44px; padding: 10px 14px; border: 1px solid #828a90; border-radius: 4px; background: #fff; color: var(--ink); cursor: pointer; }
.quote-item button:hover, .quote-copy:hover { background: #eee; }
.quote-review { padding: 28px; border: 1px solid #dedfdd; border-top: 4px solid var(--yellow); background: #f3f3ef; border-radius: 5px; min-width: 0; }
.quote-review { scroll-margin-top: 100px; }
.quote-review textarea { display: block; width: 100%; resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .9rem; line-height: 1.65; padding: 16px; background: #fff; color: var(--ink); border: 1px solid #828a90; }
.quote-review .button, .quote-copy { width: 100%; margin-top: 10px; }
.quote-feedback { min-height: 1.5em; margin-top: 12px; }
@media (max-width: 900px) {
  .catalog-intro__heading, .catalog-contact { display: block; }
  .catalog-intro__heading > .button, .catalog-contact .button { margin-top: 12px; }
  .category-intro { gap: 28px; }
  .quote-workbench { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .catalog-intro { padding-block: 30px; }
  .catalog-shortcuts { gap: 8px; }
  .catalog-shortcuts a { font-size: .78rem; padding: 9px 12px; }
  .category-intro { grid-template-columns: 1fr; }
  .category-intro figure { max-width: 420px; }
  .category-intro__link { margin-left: 0; display: flex; }
  .catalog-contact, .quote-review { padding: 22px; }
  .quote-item { padding: 16px; }
}
