.merch-skip { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 12px 18px; background: var(--ink); color: var(--paper); transform: translateY(-160%); }
.merch-skip:focus { transform: none; }
.merch-page main { padding-top: var(--header-height); }
.merch-page h1, .merch-page h2, .merch-page h3 { overflow-wrap: break-word; }
.merch-page a:focus-visible, .merch-page select:focus-visible, .merch-page input:focus-visible, .merch-page textarea:focus-visible, .merch-page summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.merch-hero { display: grid; grid-template-columns: .95fr 1.05fr; }
.merch-hero-copy { padding: clamp(38px, 5vw, 80px) 5vw; }
.merch-back { display: inline-block; margin-bottom: 48px; color: var(--blue); font-size: .8rem; text-decoration: none; }
.merch-hero .eyebrow { margin-bottom: 22px; }
.merch-hero h1 { font-size: clamp(4rem, 6.8vw, 7.6rem); line-height: .98; max-width: 9ch; margin-bottom: 28px; }
.merch-hero-copy > p:not(.eyebrow):not(.merch-small) { max-width: 35ch; }
.merch-lead { font-family: Georgia, serif; font-size: clamp(1.35rem, 1.8vw, 1.8rem); line-height: 1.35; }
.merch-hero-copy .button { margin-top: 16px; }
.merch-small { font-size: .8rem; line-height: 1.6; color: var(--blue); }
.merch-hero-image { margin: 0; min-width: 0; background: #d9c8ae; display: flex; flex-direction: column; }
.merch-hero-image img { display: block; width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: 48% center; flex: 1; }
.merch-hero-image figcaption { background: var(--paper); color: var(--blue); font-size: .7rem; padding: 9px 18px; }
.merch-paths, .merch-products { padding: clamp(58px, 7vw, 108px) 6vw; }
.merch-section-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; margin-bottom: 52px; }
.merch-section-heading .eyebrow { max-width: 27ch; padding-top: 10px; }
.merch-section-heading h2, .merch-request h2 { font-size: clamp(2.6rem, 4.8vw, 5.1rem); margin: 0; }
.merch-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; border-top: 1px solid var(--line); }
.merch-path-grid article { padding-top: 28px; }
.merch-number { font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.merch-path-grid h3 { font-size: clamp(2rem, 3vw, 3.1rem); margin: 32px 0 20px; }
.merch-path-grid p { max-width: 46ch; }
.merch-text-link { display: inline-flex; align-items: center; gap: 14px; min-height: 48px; font-size: .94rem; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.merch-products { padding-top: 0; }
.merch-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.merch-product { padding: clamp(26px, 4vw, 60px); display: flex; flex-direction: column; align-items: start; }
.merch-product-bag { background: var(--sun); }
.merch-product-shirt { background: var(--ink); color: var(--paper); }
.merch-product-shirt a:focus-visible { outline-color: var(--paper); }
.merch-product-top { display: flex; align-items: start; justify-content: space-between; gap: 24px; width: 100%; }
.merch-product-top svg { width: 82px; height: 82px; flex-shrink: 0; }
.merch-product h3 { font-size: clamp(2.8rem, 4.3vw, 4.7rem); margin: 30px 0 22px; }
.merch-product > p { max-width: 40ch; margin: 0 0 22px; }
.merch-product .merch-product-note { font-size: .85rem; margin-bottom: 34px; }
.merch-product .button { margin-top: auto; }
.merch-atelier { display: grid; grid-template-columns: .8fr 1.2fr; background: #e8e3d6; margin: 0 6vw 100px; }
.merch-atelier figure { margin: 0; position: relative; }
.merch-atelier img { display: block; width: 100%; height: 100%; object-fit: cover; }
.merch-atelier figcaption { position: absolute; bottom: 0; left: 0; background: var(--paper); font-size: .65rem; padding: 4px 10px; }
.merch-atelier > div { padding: clamp(28px, 4vw, 58px); }
.merch-atelier h2 { font-size: clamp(2.3rem, 3.5vw, 3.6rem); margin-bottom: 24px; }
.merch-atelier p:not(.eyebrow) { max-width: 47ch; }
.merch-request { background: var(--powder); padding: clamp(58px, 7vw, 108px) 6vw; display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.merch-request-copy > p:not(.eyebrow) { max-width: 40ch; margin: 28px 0; }
.merch-process { margin: 38px 0 0; padding-left: 24px; }
.merch-process li { padding-left: 8px; margin-bottom: 24px; }
.merch-process strong, .merch-process span { display: block; }
.merch-process strong { font-size: .95rem; }
.merch-process span { color: var(--blue); font-size: .88rem; margin-top: 4px; }
.merch-form { padding: clamp(24px, 3vw, 44px); background: var(--paper); min-width: 0; align-self: start; }
.merch-field { margin-bottom: 22px; }
.merch-field label { display: block; font-weight: 600; font-size: .89rem; margin-bottom: 8px; }
.merch-field label span { font-weight: 400; }
.merch-field select, .merch-field input, .merch-field textarea { display: block; width: 100%; min-width: 0; max-width: 100%; padding: 13px 12px; border: 1px solid #6f7e8a; border-radius: 0; font: inherit; font-size: 1rem; color: var(--ink); background: var(--paper); }
.merch-field textarea { resize: vertical; min-height: 130px; }
.merch-field textarea::placeholder { color: #596879; opacity: 1; }
.merch-quantity input { width: 130px; }
.merch-request-summary { border-top: 1px solid var(--line); padding-top: 18px; font-size: .85rem; }
.merch-form .button { font-size: .9rem; }
.merch-email { display: block; width: fit-content; margin: 20px 0 16px; font-size: .87rem; text-underline-offset: 4px; }
.merch-form .merch-small { margin-bottom: 0; }
.merch-faq { display: grid; grid-template-columns: 1fr 1.2fr; gap: 7vw; padding: 78px 6vw; }
.merch-faq h2 { font-size: clamp(2.3rem, 3.7vw, 3.7rem); }
.merch-faq details { border-top: 1px solid var(--line); }
.merch-faq details:last-child { border-bottom: 1px solid var(--line); }
.merch-faq summary { padding: 20px 0; font-weight: 600; cursor: pointer; }
.merch-faq details p { font-size: .95rem; margin: 0 0 24px; max-width: 52ch; }
.merch-footer { background: var(--ink); color: var(--paper); display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; padding: 34px 6vw; font-size: .85rem; }
.merch-footer p { margin: 0; flex: 1; }
@media (max-width: 1050px) { .merch-request { gap: 32px; } .merch-hero-copy { padding-left: 32px; padding-right: 32px; } }
@media (max-width: 820px) {
  .merch-hero { grid-template-columns: 1fr; }
  .merch-hero-copy { padding: 32px 22px 42px; }
  .merch-back { margin-bottom: 30px; }
  .merch-hero h1 { font-size: clamp(3.8rem, 14vw, 6rem); }
  .merch-hero-image img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  .merch-section-heading { grid-template-columns: 1fr; gap: 10px; margin-bottom: 34px; }
  .merch-section-heading .eyebrow { max-width: none; margin-bottom: 12px; }
  .merch-paths, .merch-products { padding-left: 22px; padding-right: 22px; }
  .merch-path-grid { gap: 32px; }
  .merch-product-grid { gap: 12px; }
  .merch-product { padding: 26px; }
  .merch-product h3 { font-size: 2.8rem; }
  .merch-product-top svg { width: 62px; height: 62px; }
  .merch-atelier { margin: 0 22px 64px; }
  .merch-request { grid-template-columns: 1fr; padding-left: 22px; padding-right: 22px; }
  .merch-request-copy > p:not(.eyebrow) { max-width: 58ch; }
  .merch-faq { grid-template-columns: 1fr; gap: 18px; padding: 58px 22px; }
  .merch-footer { padding: 30px 22px; }
}
@media (max-width: 600px) {
  .merch-path-grid, .merch-product-grid, .merch-atelier { grid-template-columns: 1fr; }
  .merch-path-grid article + article { border-top: 1px solid var(--line); }
  .merch-path-grid h3 { margin-top: 24px; }
  .merch-atelier img { height: auto; }
  .merch-product { padding: 30px 26px; }
  .merch-request .merch-form { padding: 24px 20px; }
  .merch-form .button { width: 100%; justify-content: space-between; }
  .merch-footer { flex-direction: column; align-items: start; gap: 12px; }
}
