.catalog-main { width: min(1100px, 100%); margin: auto; padding: 48px 24px 64px; }
.catalog-page h1 { margin: 12px 0 24px; max-width: 820px; font-size: clamp(32px, 4.6vw, 60px); line-height: 1.08; letter-spacing: -.035em; }
.catalog-page h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.02em; }
.catalog-page p { line-height: 1.6; }
.catalog-intro { margin-bottom: 64px; max-width: 780px; }
.catalog-intro > p:not(.catalog-eyebrow) { color: var(--muted); font-size: 20px; }
.catalog-eyebrow { color: var(--muted); font-size: 14px; font-weight: 600; }
.catalog-action { display: inline-flex; align-items: center; min-height: 48px; margin: 16px 0; padding: 12px 22px; border-radius: 8px; background: var(--accent); color: var(--on-accent); text-decoration: none; font-weight: 650; }
.catalog-nav, .catalog-back { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: 14px; }
.site-footer > .catalog-back { margin-bottom: 16px; }
.catalog-style { display: grid; grid-template-columns: 240px 1fr; gap: 32px; padding: 36px 0; border-top: 1px solid var(--line); }
.catalog-style img { width: 100%; height: auto; border-radius: 8px; }
.catalog-variants { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; gap: 4px 20px; }
.catalog-variants a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 14px; line-height: 1.45; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.catalog-options summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-size: 14px; }
.catalog-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 48px; margin-top: 32px; }
.catalog-product h1 { font-size: clamp(30px, 3.5vw, 44px); }
.catalog-hero { width: 100%; height: auto; border-radius: 8px; }
.catalog-price { font-size: 36px; font-weight: 650; margin: 0; }
.catalog-detail { color: var(--muted); font-size: 14px; }
.catalog-footer { max-width: 1100px; margin: auto; border-top: 1px solid var(--line); padding: 24px; font-size: 14px; color: var(--muted); }
.catalog-footer a { color: var(--muted); }
@media (max-width: 650px) {
  .catalog-main { padding-top: 28px; }
  .catalog-style, .catalog-product { grid-template-columns: 1fr; gap: 24px; }
  .catalog-style img { max-width: 240px; }
  .catalog-variants { grid-template-columns: 1fr; }
  .catalog-page .wordmark svg { width: 140px; }
}
