/* 모든 하위 페이지: 큰 제목 하나, 짧은 본문 줄, 15svh 이상의 섹션 간격. */
.page-intro { padding-top: var(--section-space); }
.page-intro h1 { max-width: 17em; }
.page-lead { font-size: 16px; line-height: 2; }
.page-section-heading { margin-bottom: 36px; }
.page-section-heading h2 { font-size: 30px; }
.catalog-toolbar { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 44px; border-bottom: 1px solid var(--line); padding-bottom: 15px; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.catalog-filter { min-height: 44px; padding: 10px 0; border: 0; border-bottom: 2px solid transparent; color: var(--ink); background: transparent; font-size: 13px; }
.catalog-filter:hover { color: var(--accent); }
.catalog-filter.is-active { border-color: var(--accent); font-weight: 800; }
.catalog-count { margin: 0; font-size: 11px; white-space: nowrap; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.catalog-item { min-width: 0; scroll-margin-top: 40px; }
.catalog-notice { font-size: 11px; margin: 38px 0 0; }
.catalog-note { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; border-top: 1px solid var(--line); padding-top: 45px; }
.catalog-note h2 { font-size: 30px; }
.catalog-note > div > p:not(.eyebrow) { font-size: 15px; }
.journal-feature { display: grid; grid-template-columns: 1.3fr 1fr; gap: 95px; align-items: center; }
.journal-image-link { display: block; }
.journal-image-link img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.journal-feature h2 { font-size: 32px; margin-block: 20px 28px; }
.journal-feature h2 a:hover, .journal-entry h2 a:hover { color: var(--accent); }
.journal-feature-copy > p:not(.eyebrow), .journal-entry > div > p:not(.eyebrow) { font-size: 15px; line-height: 2; }
.journal-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: var(--section-space); }
.journal-entry > div { margin-top: 32px; }
.journal-entry h2 { font-size: 28px; margin-block: 20px; }
.journal-entry img { aspect-ratio: 1.2; }
.journal-end { text-align: center; }
.journal-end span { display: none; }
.journal-end p { font-size: 13px; margin-inline: auto; }
.story-main { padding-top: var(--section-space); }
.story-topline { display: flex; align-items: start; flex-direction: column-reverse; gap: 12px; }
.story-topline h1 { margin-bottom: 10px; max-width: 14em; }
.story-article { scroll-margin-top: 45px; }
.story-heading { margin-bottom: 42px; }
.story-heading h2 { font-size: 32px; }
.story-heading > p:not(.eyebrow) { font-size: 12px; }
.story-cover { width: 100%; aspect-ratio: 1.9; object-fit: cover; }
.story-body { max-width: 580px; margin: 60px auto 0; }
.story-body > p { font-size: 16px; line-height: 2.1; margin: 0 auto 28px; }
.story-body h3 { font-size: 24px; margin: 60px auto 22px; max-width: 24ch; }
.story-body blockquote { border-left: 3px solid var(--accent); padding-left: 25px; margin: 55px auto; max-width: 28ch; font-size: 24px; line-height: 1.7; font-weight: 800; letter-spacing: -.045em; }
.story-body > .text-link { display: flex; width: fit-content; margin: 30px auto 0; }
.story-article-footer { max-width: 580px; margin: 50px auto 0; padding-top: 25px; border-top: 1px solid var(--line); }
.contact-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; align-items: center; }
.contact-message h2 { font-size: 32px; }
.contact-message > p:not(.eyebrow) { font-size: 15px; }
.contact-stitch { color: var(--accent); margin-bottom: 30px; }
.contact-message .contact-support-note { font-size: 13px; }
.contact-photo { margin: 0; }
.contact-photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.contact-photo figcaption { font-size: 11px; margin-top: 18px; max-width: 36ch; }
.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; font-size: 16px; font-weight: 600; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:hover { color: var(--accent); }
.faq-list summary span { font-size: 22px; flex-shrink: 0; }
.faq-list details[open] summary span { visibility: hidden; }
.faq-list details[open] summary::after { content: "−"; font-size: 22px; }
.faq-list details > div { padding-bottom: 30px; }
.faq-list details p { font-size: 14px; line-height: 2; }
.faq-list .text-link { font-size: 12px; }
@media (max-width: 1000px) {
  .journal-feature, .contact-section, .faq-section, .catalog-note { gap: 45px; }
}
@media (max-width: 760px) {
  .page-intro h1 { font-size: 40px; }
  .page-lead { font-size: 14px; }
  .catalog-toolbar { gap: 12px; margin-bottom: 30px; }
  .catalog-filters { gap: 18px; }
  .catalog-filter { font-size: 11px; }
  .catalog-count { font-size: 10px; }
  .catalog-grid { grid-template-columns: 1fr; gap: 60px; }
  .catalog-note, .journal-feature, .journal-secondary, .contact-section, .faq-section { grid-template-columns: 1fr; gap: 36px; }
  .catalog-note { padding-top: 35px; }
  .catalog-note h2, .page-section-heading h2 { font-size: 26px; }
  .journal-feature h2, .journal-entry h2 { font-size: 27px; }
  .journal-secondary { gap: var(--section-space); }
  .journal-feature-copy > p:not(.eyebrow), .journal-entry > div > p:not(.eyebrow) { font-size: 14px; }
  .story-topline h1 { font-size: 38px; }
  .story-heading h2 { font-size: 28px; }
  .story-cover { aspect-ratio: 4/5; }
  .story-body { margin-top: 42px; }
  .story-body > p { font-size: 15px; }
  .story-body h3 { font-size: 22px; }
  .story-body blockquote { font-size: 22px; padding-left: 18px; }
  .story-article-footer .text-link { font-size: 12px; }
  .contact-message h2 { font-size: 28px; }
  .contact-photo img { aspect-ratio: 1; }
  .faq-section { gap: 12px; }
  .faq-list summary { font-size: 14px; }
  .faq-list details p { font-size: 13px; }
}
