/* Preserve the atelier identity; mobile shopping takes priority over chrome. */
:root { --ease-drawer: cubic-bezier(.32,.72,0,1); }
.menu-is-open { overflow: hidden; }
.shop-menu { margin: 0; inset: 0 auto 0 0; width: min(440px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; padding: max(20px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)); overflow-y: auto; background: var(--color-bg); color: var(--color-text); opacity: 0; transform: translateX(-100%); transition: transform 260ms var(--ease-drawer), opacity 220ms var(--ease-out); }
.shop-menu[data-visible=true] { opacity: 1; transform: translateX(0); }
.shop-menu[data-visible=false] { transition-duration: 220ms; }
.shop-menu[data-instant=true] { transition: none; }
.shop-menu::backdrop { background: rgb(31 26 17 / .38); }
.shop-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.shop-menu .wordmark { font-size: 24px; }
.menu-close { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px; font-size: 13px; }
.menu-close span { font-size: 26px; }
.menu-search { display: grid; grid-template-columns: minmax(0,1fr) 48px; border: 1px solid var(--color-border); border-radius: 6px; background: white; margin-bottom: 32px; }
.menu-search input { border: 0; background: none; min-width: 0; font-size: 16px; }
.menu-search button { display: grid; place-items: center; min-height: 48px; }
.menu-collections { display: grid; gap: 12px; }
.menu-collections a { display: grid; gap: 8px; padding: 20px; border-radius: 6px; background: var(--color-surface); text-decoration: none !important; }
.menu-collections a:nth-child(2) { background: var(--color-secondary); }
.menu-collections .eyebrow { color: var(--color-text); font-size: 10px; }
.menu-category { display: flex; justify-content: space-between; gap: 12px; font: 400 25px/1.3 var(--font-display); }
.menu-category span { font: 400 20px/1.4 var(--font-body); }
.menu-collections a>span:last-child { font-size: 12px; line-height: 1.5; }
.menu-secondary { display: grid; gap: 0; margin-block: 24px; }
.menu-secondary a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; font-size: 14px; }
.menu-account { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--color-border); padding-top: 16px; }
.menu-account a { display: flex; align-items: center; gap: 8px; min-height: 48px; font-size: 12px; }
.shop-menu .menu-footnote { margin: 20px 0 0; font-size: 12px; color: #645b4d; }
.menu-lines { width: 18px; height: 10px; border-block: 1.5px solid currentColor; }
.menu-toggle__label { font-size: 11px; }
.product-card { border-radius: 12px; overflow: hidden; }
.product-card__primary:focus-visible .product-card__name { text-decoration: underline; text-underline-offset: 5px; }
.product-card__photo { transition: transform 150ms ease; }
.product-card__price { font-weight: 600; }
.collection-links { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.collection-links a { border: 1px solid var(--color-border); border-radius: 6px; padding: 12px 16px; font-size: 13px; min-height: 44px; }
.collection-links a { display: grid; gap: 4px; }
.collection-links strong { font-weight: 500; }
.collection-links span { font-size: 11px; }
.gallery-main { transition: opacity 150ms ease; }
.pdp-note { min-height: 44px; display: flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
.purchase-jump { display: none; }
.stories-section { padding-block: 64px; }
.stories-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.stories-heading p { margin-top: 12px; max-width: 56ch; }
.story-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.story-card { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.story-card>a { display: block; border-radius: 12px; overflow: hidden; }
.story-card img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; transition: transform 150ms ease; }
.story-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.story-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; line-height: 1.5; color: #645b4d; }
.story-meta a { text-underline-offset: 4px; text-decoration: underline; }
.story-card h3 { font: 400 25px/1.3 var(--font-display); text-wrap: balance; }
.story-card p { font-size: 14px; line-height: 1.6; text-wrap: pretty; }
.story-card .text-link { margin-top: auto; align-self: start; }
.story-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 20px; margin-bottom: 32px; background: var(--color-surface); border-radius: 12px; }
.story-controls label { flex: 1; min-width: 160px; }
.story-controls p { font-size: 13px; width: 100%; }
.story-controls select { background-color: var(--color-bg); }
.story-controls label { align-self: stretch; justify-content: space-between; }
.story-controls select { flex: 1; }
.article-header { max-width: 800px; margin-inline: auto; text-align: center; }
.article-header h1 { font: 400 clamp(32px,5vw,52px)/1.15 var(--font-display); margin-block: 24px; text-wrap: balance; }
.article-header .story-meta { justify-content: center; }
.article-cover { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; aspect-ratio: 16/9; border-radius: 12px; margin-block: 40px; }
.article-copy { max-width: 65ch; margin-inline: auto; font-size: 17px; line-height: 1.65; }
.article-copy h2 { font: 400 28px/1.3 var(--font-display); margin-top: 40px; margin-bottom: 16px; }
.article-copy p { margin-block: 16px; }
.article-cta { padding: 24px; background: var(--color-surface); margin-top: 32px; border-radius: 12px; }
.article-cta .button { margin-top: 8px; }
.related-stories { margin-top: 64px; }
.related-stories h2 { margin-bottom: 24px; }
[data-all-stories] { margin-block: 32px 16px; }
#reservation-options { scroll-margin-top: 88px; }
.story-card>a:focus-visible { outline-offset: 2px; }
.skip-link:focus { z-index: 30; }
.shop-refine { flex-basis: 100%; }
.shop-refine summary { font-size: 13px; }
.shop-refine__fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding-block: 16px; }
@media(min-width:851px) { .shop-refine { order: 2; } }
@media(max-width:600px) {
  .filters { gap: 12px; margin-bottom: 24px; }
  .filters>label { flex: 1 1 40%; min-width: 0; }
  .filters .search-filter { flex: 1 1 40%; }
  .shop-refine__fields { grid-template-columns: minmax(0,1fr); }
  .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 12px; }
  .shop-grid .product-card__photo { height: auto; aspect-ratio: 3/4; }
  .shop-grid .product-card__details { padding: 12px; min-height: 136px; gap: 8px; }
  .shop-grid .product-card__name { font-size: 20px; }
  .shop-grid .tag { font-size: 9px; padding: 4px 6px; }
  .shop-grid .product-card__edition { font-size: 11px; }
  .shop-grid .product-card__placeholder { font-size: 8px; top: 8px; left: 8px; padding: 0; background: none; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html:not([data-input=keyboard]) .product-card:hover .product-card__photo, html:not([data-input=keyboard]) .story-card>a:hover img { transform: scale(1.015); }
  html:not([data-input=keyboard]) .product-card__order {transition:background-color 150ms ease,color 150ms ease}
  html:not([data-input=keyboard]) .product-card__order:hover {background:var(--color-primary);color:var(--color-white)}
}
@media (max-width:850px) {
  [data-site-header] { position: sticky; top: 0; z-index: 20; }
  .masthead { background: var(--color-bg); border-bottom: 1px solid var(--color-border); }
  .masthead__row { padding: 8px 16px; min-height: 64px; }
  .menu-toggle { width: auto; gap: 8px; }
  .masthead__utilities a:not(.bag-link) { display: none; }
  .masthead .wordmark { font-size: clamp(15px,3.8vw,22px); }
  .story-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
}
@media(max-width:850px){.product-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.more-products{padding-block:64px}}
@media (max-width:600px) {
  .menu-toggle__label { display: none; }
  .menu-toggle { min-width: 44px; }
  .stories-heading { align-items: start; }
  .stories-heading .button { width: 100%; }
  .story-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .story-card { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 16px; }
  .story-card img { height: 136px; aspect-ratio: auto; }
  .story-card h3 { font-size: 21px; line-height: 1.35; }
  .story-card p { display: none; }
  .story-card__body { gap: 8px; }
  .story-card .text-link { font-size: 11px; }
  .story-controls { padding: 16px; gap: 12px; }
  .story-controls label { min-width: 0; flex-basis: calc(50% - 12px); }
  .story-controls label:first-child { flex-basis: 100%; }
  .story-controls select { font-size: 16px; padding-inline: 12px; }
  .stories-section { padding-block: 48px; }
  .article-cover { aspect-ratio: 4/3; margin-block: 24px; }
  .article-copy { font-size: 16px; }
  .article-header h1 { font-size: 34px; }
  .purchase-jump { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 12px 24px; background: var(--color-surface); margin-bottom: 24px; }
  .purchase-jump .text-link { font-size: 12px; }
  .purchase-jump strong { font-variant-numeric: tabular-nums; }
  .pdp-layout .gallery-main { min-height: 0; height: auto; aspect-ratio: 1/1; }
  .pdp-info { scroll-margin-top: 88px; }
  .collection-links { display: grid; grid-template-columns: 1fr 1fr; }
  .collection-links a { font-size: 12px; }
}
@media(max-width:600px){.product-grid--three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.product-grid--three .product-card:last-child{grid-column:1/-1;width:calc(50% - 6px)}.more-products__heading .text-link{min-height:44px;display:flex;align-items:center}.product-card__order{font-size:10px;padding-inline:12px}.product-card__gender{font-size:10px}}
@media (prefers-reduced-motion:reduce) {
  .shop-menu { transform: none; transition: opacity 150ms ease; }
  .product-card__photo,.story-card img { transition: none; }
}
html[data-input=keyboard] .shop-menu { transition: none; }
html[data-input=keyboard] .product-card__photo,html[data-input=keyboard] .story-card img { transition: none; transform: none; }
@media (forced-colors:active) { .menu-collections a,.menu-account a { border: 1px solid ButtonText; } }
