/* Editorial masthead: original artwork, balanced utilities and a dark shop rail. */
.site-header { background: var(--color-paper); }
.site-header .topline { height: 44px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; background: var(--color-soft); color: var(--color-ink); border-bottom: 1px solid var(--color-rule); font-size: 10px; }
.header-location { color: var(--color-muted); }
.header-manifesto { font-size: 9px; letter-spacing: .18em; }
.header-locale { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.header-locale .language-control { display: inline-flex; align-items: center; }
.header-locale select { min-width: 52px; min-height: 44px; font-size: 10px; }
.header-locale select:focus-visible { outline-offset: -4px; }
.site-header .masthead { height: 100px; grid-template-columns: minmax(0, 1fr) 144px minmax(0, 1fr); border: 0; padding-block: 5px; }
.site-header .brand { position: relative; align-items: center; justify-self: center; width: 114px; height: 90px; }
.site-header .brand img { width: 80px; height: 90px; }
.site-header .brand::before, .site-header .brand::after { content: ''; position: absolute; top: 50%; width: 25px; height: 1px; background: var(--color-rule); pointer-events: none; }
.site-header .brand::before { inset-inline-start: -23px; }
.site-header .brand::after { inset-inline-end: -23px; }
.site-header .desktop-nav { gap: clamp(24px, 3vw, 48px); }
.site-header .desktop-nav > button, .site-header .desktop-nav > a { gap: 16px; padding-block: 8px; text-align: start; }
.header-link-copy { display: flex; flex-direction: column; gap: 3px; }
.header-link-copy > span:last-child { font: 400 22px/1.25 var(--font-display); }
.header-kicker { font-size: 8px; line-height: 1.6; letter-spacing: .17em; color: var(--color-muted); }
.header-shop > .icon { width: 17px; margin-top: 14px; }
.site-header .desktop-nav > button::after, .site-header .desktop-nav > a::after { inset-block-end: 3px; transform-origin: center; }
.site-header .header-actions { gap: 26px; }
.header-search, .site-header .bag-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; min-width: 44px; }
.header-action-label { font-size: 12px; }
.header-search .icon, .site-header .bag-button > .icon { width: 22px; height: 22px; }
.header-action-rule { height: 24px; width: 1px; background: var(--color-rule); }
.site-header .bag-count { display: inline-grid; place-items: center; min-width: 25px; height: 25px; padding-inline: 4px; background: var(--color-ink); color: var(--color-white); border-radius: 50%; font-size: 10px; }
.site-header .category-nav { min-height: 48px; display: grid; grid-template-columns: 1fr auto 1fr; justify-content: stretch; gap: 20px; color: var(--color-white); background: var(--color-ink); border-bottom: 1px solid #ffffff1c; }
.header-collection-label { display: block; width: auto !important; height: auto !important; background: none !important; font: 400 18px/1.3 var(--font-display); color: #c4c4c4; }
.header-categories { display: flex; align-items: center; gap: clamp(28px, 4vw, 62px); }
.site-header .category-nav button, .site-header .category-nav a { position: relative; min-height: 48px; gap: 10px; font-size: 11px; }
.header-category-number { font-size: 8px; color: #a8a8a8; font-variant-numeric: tabular-nums; }
.site-header .category-nav button::after, .header-ritual::after { content: ''; position: absolute; inset-inline: 0; bottom: 9px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: center; transition: transform 240ms var(--ease-out); }
.site-header .category-nav button:hover, .site-header .category-nav a:hover { text-decoration: none; }
.site-header .category-nav button:is(:hover, :focus-visible, [aria-pressed=true])::after, .header-ritual:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.header-ritual { justify-self: end; }
.header-ritual .icon { width: 17px; height: 17px; }
.header-ritual:hover .icon { transform: translateX(3px); }
[dir=rtl] .header-link-copy > span:last-child { font-family: var(--font-body); font-size: 17px; line-height: 1.7; }
[dir=rtl] .header-kicker, [dir=rtl] .header-manifesto { letter-spacing: 0; }
[dir=rtl] .header-collection-label { font-family: var(--font-body); font-size: 13px; }
@media (min-width: 1001px) and (max-width: 1200px) {
  .header-link-copy > span:last-child { font-size: 19px; }
  .site-header .desktop-nav { gap: 24px; }
  .site-header .desktop-nav > button { gap: 9px; }
  .site-header .header-actions { gap: 20px; }
}
@media (max-width: 1000px) {
  .site-header .topline { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .header-manifesto, .header-locale .topline-country { display: none; }
  .site-header .masthead { height: 84px; grid-template-columns: minmax(0, 1fr) 100px minmax(0, 1fr); }
  .site-header .desktop-nav { display: none; }
  .site-header .mobile-menu { display: inline-flex; justify-self: start; }
  .site-header .brand { width: 86px; height: 74px; }
  .site-header .brand img { width: 66px; height: 74px; }
  .site-header .brand::before, .site-header .brand::after { width: 16px; }
  .site-header .brand::before { inset-inline-start: -17px; }
  .site-header .brand::after { inset-inline-end: -17px; }
  .site-header .header-actions { gap: 6px; }
  .header-action-label, .header-action-rule { display: none; }
  .site-header .search-trigger { display: inline-flex; }
  .site-header .bag-button { position: relative; }
  .site-header .bag-count { position: absolute; inset-inline-end: -2px; top: 0; min-width: 17px; height: 17px; font-size: 8px; }
  .site-header .category-nav { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 0; padding-inline: var(--page-gutter); }
  .header-collection-label, .header-category-number { display: none !important; }
  .header-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .site-header .category-nav button, .site-header .category-nav a { justify-content: center; padding-inline: 6px; font-size: 11px; min-width: 0; white-space: normal; text-align: center; line-height: 1.4; }
  .site-header .category-nav button::after { inset-inline: 12px; }
  .header-ritual { justify-self: stretch; border-inline-start: 1px solid #ffffff30; }
  .header-ritual .icon { display: none; }
}
@media (max-width: 400px) {
  .site-header .topline { padding-inline: 20px; font-size: 9px; }
  .site-header .masthead { padding-inline: 16px; }
  .site-header .category-nav { padding-inline: 8px; }
  .site-header .category-nav button, .site-header .category-nav a { font-size: 10px; padding-inline: 4px; }
  .site-header .brand::before, .site-header .brand::after { display: none; }
  .site-header .header-actions { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .header-ritual:hover .icon { transform: none; }
}
html[data-motion=reduce] .header-ritual:hover .icon { transform: none; }
