/* Saanjh shared styles: base, atoms, header, footer, product card, reveals, drawers and overlays. Ported 1:1 from the approved prototype. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body { margin: 0; background: var(--ink); color: var(--cream); font-family: var(--f-sans); font-weight: 400; -webkit-font-smoothing: antialiased; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p, figure, blockquote { margin: 0; font-weight: 400; }
:focus-visible { outline: 1px solid var(--gold); outline-offset: 3px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.icon { width: 20px; height: 20px; display: block; flex: none; }
.icon-arrow { width: 22px; height: 8px; display: block; flex: none; transition: transform 240ms var(--thread); }
.eyebrow { display: inline-flex; align-items: center; gap: 18px; font: 500 11px/1 var(--f-sans); letter-spacing: 4.4px; color: var(--gold); text-transform: uppercase; white-space: nowrap; }
.eyebrow .line { width: 64px; height: 1px; background: var(--hair-80); transform-origin: left center; }
.eyebrow--center .line:first-child { transform-origin: right center; }
.divider { display: inline-flex; align-items: center; gap: 10px; }
.divider .line { width: 76px; height: 1px; background: var(--hair-70); }
.divider .gem { width: 8px; height: 8px; color: var(--gold); }
.section-head { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.section-head h2 { font: 400 56px/normal var(--f-display); color: var(--cream); }
.section-head .sub { font: italic 400 24px/normal var(--f-serif); color: color-mix(in srgb, var(--cream) 85%, transparent); }
.vtag { display: flex; flex-direction: column; gap: 10px; font: 400 10px/normal var(--f-sans); letter-spacing: 4px; color: color-mix(in srgb, var(--cream) 75%, transparent); }
.vtag .rule { width: 1px; height: 72px; background: var(--hair-70); transform-origin: top center; }
.vtag--right { align-items: flex-end; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 16px 28px; font: 500 11px/normal var(--f-sans); letter-spacing: 2.42px; text-transform: uppercase; white-space: nowrap; border: 1px solid var(--gold); transition: background-color 240ms var(--thread), border-color 240ms var(--thread), color 240ms var(--thread), transform 100ms; }
.btn--fill { background: var(--gold); color: var(--ink); }
.btn--fill:hover { background: var(--gold-hi); border-color: var(--gold-hi); }
.btn--line { color: var(--cream); border-color: var(--gold); }
.btn--line:hover { background: color-mix(in srgb, var(--plum) 30%, transparent); }
.btn:hover .icon-arrow { transform: translateX(4px); }
.btn:active, .icon-btn:active { transform: scale(.98); }
.btn--fill .icon-arrow { color: var(--ink); }
.btn--line .icon-arrow { color: var(--gold); }
.ulink { position: relative; }
.ulink::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left center; transition: transform 300ms var(--thread); }
.ulink:hover::after, .ulink:focus-visible::after { transform: scaleX(1); }
.nav .ulink::after { transform-origin: center; }
.announce { position: fixed; z-index: 60; inset: 0 0 auto 0; height: var(--announce-h); display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--plum) 85%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--gold) 35%, transparent); overflow: hidden; transition: height 400ms var(--drape), transform 320ms var(--drape); }
.announce p { font: 400 11px/normal var(--f-sans); letter-spacing: 1.54px; color: color-mix(in srgb, var(--cream) 90%, transparent); white-space: nowrap; }
.header { position: fixed; z-index: 60; left: 0; right: 0; top: var(--announce-h); height: var(--header-h); color: var(--cream); transition: top 400ms var(--drape), height 400ms var(--drape), background-color 400ms var(--drape), transform 320ms var(--drape); }
.header::before { content: ''; position: absolute; inset: 0; background: color-mix(in srgb, var(--ink) 92%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); opacity: 0; transition: opacity 400ms var(--drape); }
.header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--hair); }
.header__inner { position: relative; height: 100%; }
.nav { position: absolute; top: 50%; transform: translateY(-50%); display: flex; gap: 36px; font: 400 11px/normal var(--f-sans); letter-spacing: 2.64px; text-transform: uppercase; white-space: nowrap; }
.nav--left { right: calc(50% + 88px); }
.nav--right { left: calc(50% + 100px); }
.nav a { transition: color 300ms var(--thread); }
.logo { position: absolute; left: 50%; top: 14px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--gold); transition: transform 400ms var(--drape), top 400ms var(--drape); }
.mono { width: 40px; height: 40px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; font: italic 400 22px/1 var(--f-display); color: var(--gold); }
.logo__name { font: 400 17px/normal var(--f-display); letter-spacing: 6.12px; margin-right: -6.12px; }
.logo__tag { font: 400 6.5px/normal var(--f-sans); letter-spacing: 3.12px; color: color-mix(in srgb, var(--gold) 85%, transparent); margin-right: -3.12px; }
.hicons { position: absolute; right: calc(var(--gutter) - 20px); top: 50%; transform: translateY(-50%); display: flex; gap: 24px; align-items: center; }
.hicons a, .hicons button { position: relative; display: block; color: var(--cream); transition: color 200ms; }
.hicons a:hover, .hicons button:hover { color: var(--gold); }
.count { position: absolute; right: -8px; top: -4px; min-width: 14px; height: 14px; border-radius: 7px; background: var(--gold); color: var(--ink); font: 500 8px/14px var(--f-sans); text-align: center; padding: 0 3px; }
.hmenu, .hsearch-m { display: none; }
.count[data-mobile-only] { display: none; }
.is-solid .header::before { opacity: 1; }
.is-scrolled .announce { height: 0; border-bottom-width: 0; }
.is-scrolled .header { top: 0; height: 76px; }
.is-scrolled .logo { top: 4px; transform: translateX(-50%) scale(.86); transform-origin: top center; }
.is-hidden .header { transform: translateY(-100%); }
.slider-ctl { display: flex; align-items: center; gap: 24px; font: 400 12px/normal var(--f-sans); letter-spacing: 2.4px; }
.slider-ctl .rule { width: 64px; height: 1px; background: var(--hair-80); }
.slider-ctl .total { color: color-mix(in srgb, var(--cream) 60%, transparent); }
.circle-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--hair-80); display: grid; place-items: center; color: var(--cream); transition: border-color 240ms var(--thread), background-color 240ms var(--thread); }
.circle-btn:hover { border-color: var(--gold); background: color-mix(in srgb, var(--plum) 30%, transparent); }
.circle-btn--prev .icon-arrow { transform: rotate(180deg); }
.viewall { display: inline-flex; gap: 12px; align-items: center; font: 500 11px/normal var(--f-sans); letter-spacing: 2.64px; color: var(--gold); text-transform: uppercase; }
.viewall .icon-arrow { color: var(--gold); }
.viewall:hover .icon-arrow { transform: translateX(4px); }
.pcard { display: flex; flex-direction: column; gap: 14px; width: 296px; }
.pcard__media { position: relative; height: 395px; border: 1px solid var(--hair-35); overflow: hidden; display: block; }
.pcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 500ms var(--thread); }
.pcard__media .alt { opacity: 0; }
.pcard:hover .pcard__media .alt { opacity: 1; }
.wish { position: absolute; right: 13px; top: 13px; width: 38px; height: 38px; border-radius: 50%; background: color-mix(in srgb, var(--ink) 55%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); display: grid; place-items: center; color: var(--cream); z-index: 2; transition: color 500ms var(--thread); }
.wish .icon { width: 18px; height: 18px; }
.pcard:hover .wish, .wish[aria-pressed="true"], .pwish[aria-pressed="true"] { color: var(--gold); }
.badge { position: absolute; left: 13px; top: 13px; z-index: 2; padding: 7px 12px; background: color-mix(in srgb, var(--plum) 92%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 60%, transparent); font: 500 9px/normal var(--f-sans); letter-spacing: 2.7px; color: var(--gold); text-transform: uppercase; }
.quickadd { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px; background: color-mix(in srgb, var(--ink) 88%, transparent); text-align: center; font: 500 10px/normal var(--f-sans); letter-spacing: 2.4px; color: var(--cream); text-transform: uppercase; transform: translateY(12px); opacity: 0; transition: transform 500ms var(--thread), opacity 500ms var(--thread); border-top: 1px solid var(--hair-45); }
.pcard:hover .quickadd { transform: none; opacity: 1; }
.pcard__info { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.pcard__type { font: 500 9.5px/normal var(--f-sans); letter-spacing: 3.23px; color: var(--gold); text-transform: uppercase; }
.pcard__title { font: 400 21px/normal var(--f-display); color: var(--cream); }
.price { display: flex; gap: 12px; align-items: center; }
.price b { font: 500 14px/normal var(--f-sans); letter-spacing: .56px; color: var(--cream); }
.price s { font: 400 13px/normal var(--f-sans); color: color-mix(in srgb, var(--muted) 70%, transparent); }
.pager { display: flex; gap: 12px; align-items: center; }
.pager button { width: 10px; height: 10px; display: grid; place-items: center; }
.pager button::before { content: ''; width: 7px; height: 7px; border: 1px solid var(--hair-80); transform: rotate(45deg); transition: background-color 400ms var(--drape); }
.pager button[aria-current="true"]::before { background: var(--gold); }
.footer { position: relative; background: var(--foot); padding: 96px var(--gutter) 40px; }
@media (min-width: 1101px) {
  .footer__top { min-height: 296px; }
  .footer__rule { margin-top: 0 !important; }
}
.footer__rule-top { position: absolute; left: 0; right: 0; top: 0; height: 1px; background: color-mix(in srgb, var(--gold) 35%, transparent); transform-origin: left center; }
.footer__top { display: flex; gap: 24px; align-items: flex-start; }
.fbrand { display: flex; flex-direction: column; gap: 18px; width: 250px; margin-right: 0; }
.fbrand__logo { display: flex; align-items: center; gap: 14px; color: var(--gold); }
.fbrand__logo .mono { width: 44px; height: 44px; font-size: 28px; }
.fbrand__name { font: 400 20px/normal var(--f-display); letter-spacing: 6.8px; }
.fbrand__tag { font: 400 7px/normal var(--f-sans); letter-spacing: 3.22px; color: color-mix(in srgb, var(--gold) 85%, transparent); margin-top: 3px; }
.fbrand p { font: italic 400 19px/1.3 var(--f-serif); color: color-mix(in srgb, var(--cream) 85%, transparent); }
.socials { display: flex; gap: 12px; }
.socials a { width: 36px; height: 36px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); display: grid; place-items: center; color: var(--gold); transition: border-color 240ms var(--thread); }
.socials a:hover { border-color: var(--gold); }
.socials .icon { width: 18px; height: 18px; }
.fcol { display: flex; flex-direction: column; gap: 14px; width: 150px; }
.fcol--visit { width: 170px; }
.fcol h3 { font: 500 11px/normal var(--f-sans); letter-spacing: 3.96px; color: var(--gold); text-transform: uppercase; margin-bottom: 18px; }
.fcol li, .fcol a, .fcol p { font: 400 13px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 78%, transparent); }
.fcol ul { display: flex; flex-direction: column; gap: 14px; }
.fcol a:hover { color: var(--cream); }
.fcol summary { list-style: none; }
.fcol summary::-webkit-details-marker { display: none; }
.fnews { display: flex; flex-direction: column; gap: 16px; width: 290px; margin-left: auto; }
.fnews h3 { font: 400 24px/normal var(--f-display); color: var(--cream); }
.fnews p { font: italic 400 18px/1.3 var(--f-serif); color: color-mix(in srgb, var(--cream) 85%, transparent); }
.field { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--gold) 60%, transparent); transition: border-color 240ms var(--thread), border-width 240ms var(--thread); }
.field input { flex: 1; background: none; border: 0; outline: 0; font: 400 13px/normal var(--f-sans); color: var(--cream); padding: 0; }
.field input::placeholder { color: color-mix(in srgb, var(--cream) 50%, transparent); }
.field:focus-within { border-bottom: 2px solid var(--gold); padding-bottom: 11px; }
.field .icon-arrow { color: var(--gold); }
.fnews .btn { align-self: flex-start; }
.fnews .thanks { font: italic 400 18px/normal var(--f-serif); color: var(--gold); }
.footer__rule { height: 1px; background: var(--hair); margin-top: 56px; }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; height: 40px; margin-top: 28px; font: 400 11px/normal var(--f-sans); letter-spacing: .88px; color: color-mix(in srgb, var(--cream) 60%, transparent); }
.pay { display: flex; gap: 8px; flex-wrap: wrap; }
.paymarks { display: flex; flex-wrap: wrap; gap: 8px; }
.paymark { display: inline-flex; align-items: center; justify-content: center; height: 28px; padding: 0 8px; border-radius: 4px; background: #fff; border: 1px solid rgba(0, 0, 0, .08); }
.paymark img { display: block; height: 15px; width: auto; }
.policy { display: flex; gap: 28px; }
.policy a:hover { color: var(--cream); }
.js [data-reveal="fade-up"] { opacity: 0; transform: translateY(16px); transition: opacity 900ms var(--silk), transform 900ms var(--silk); }
.js [data-reveal="rise"] { opacity: 0; transform: translateY(48px); transition: opacity 900ms var(--silk), transform 900ms var(--silk); }
.js [data-reveal="fade"] { opacity: 0; transition: opacity 900ms var(--silk); }
.js [data-revealed] { opacity: 1 !important; transform: none !important; }
.js [data-draw] { transform: scaleX(0); transition: transform 700ms var(--silk); }
.js [data-draw="y"] { transform: scaleY(0); }
.js [data-drawn] { transform: none; }
@keyframes cue { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(.35); } }
.scrim { position: fixed; inset: 0; z-index: 80; background: rgba(13, 6, 9, .68); opacity: 0; visibility: hidden; transition: opacity 400ms var(--drape), visibility 0s 420ms; }
.scrim.is-open { opacity: 1; visibility: visible; transition: opacity 400ms var(--drape); }
@media (max-width: 1100px) {
  :root { --gutter: 24px; --header-h: 64px; --announce-h: 32px; }
  .announce { background: color-mix(in srgb, var(--plum) 90%, transparent); border-bottom: 0; }
  .announce p { font-size: 10px; letter-spacing: 1px; }
  .nav { display: none; }
  .hmenu, .hsearch-m { display: block; }
  .count[data-mobile-only] { display: block; }
  .hicons { right: 24px; gap: 16px; }
  .hicons .hide-m { display: none; }
  .hleft { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); display: flex; gap: 16px; align-items: center; }
  .logo { top: 16px; gap: 2px; }
  .logo .mono { display: none; }
  .logo__name { letter-spacing: 5.78px; margin-right: -5.78px; }
  .logo__tag { font-size: 5.5px; letter-spacing: 2.53px; margin-right: -2.53px; }
  .is-scrolled .header { height: 56px; }
  .is-scrolled .logo { top: 12px; transform: translateX(-50%); }
  .section-head { gap: 14px; }
  .section-head h2 { font-size: 36px; }
  .section-head .sub { font-size: 19px; max-width: 300px; }
  .section-head .eyebrow .line { width: 40px; }
  .divider .line { width: 56px; }
  .slider-ctl { gap: 20px; }
  .slider-ctl .rule { width: 48px; }
  .circle-btn { width: 44px; height: 44px; }
  .pcard { width: auto; gap: 10px; }
  .pcard__media { height: auto; aspect-ratio: 156 / 208; }
  .wish { width: 32px; height: 32px; right: 7px; top: 7px; }
  .wish .icon { width: 16px; height: 16px; }
  .badge { left: 7px; top: 7px; padding: 5px 8px; font-size: 7.5px; letter-spacing: 1.95px; }
  .pcard__info { display: contents; }
  .pcard__type { font-size: 8.5px; letter-spacing: 2.55px; }
  .pcard__title { font-size: 16px; line-height: 1.25; }
  .price { gap: 8px; }
  .price b { font-size: 13px; letter-spacing: 0; }
  .price s { font-size: 12px; }
  .quickadd { display: none; }
  .footer { padding: 56px 24px 32px; }
  .footer__top { flex-direction: column; gap: 28px; }
  .fbrand { width: 100%; display: contents; }
  .fbrand__logo { order: 1; gap: 12px; }
  .fbrand__logo .mono { width: 46px; height: 46px; font-size: 24px; }
  .fbrand__name { font-size: 19px; letter-spacing: 6.46px; }
  .fbrand__tag { font-size: 6.5px; letter-spacing: 2.99px; }
  .fbrand p { order: 2; font-size: 18px; max-width: 327px; }
  .fnews { order: 3; width: 100%; max-width: 420px; margin: 0; gap: 14px; }
  .fnews h3 { font-size: 22px; line-height: 29px; }
  .fnews p { font-size: 17px; line-height: normal; }
  .fnews .long { display: none; }
  .fnews .btn { align-self: stretch; padding: 15px 24px; line-height: 13px; border: 0; }
  .fmenus { order: 4; width: 100%; max-width: 560px; }
  .fcol { width: 100%; gap: 0; border-top: 1px solid var(--hair); }
  .fcol:last-child { border-bottom: 1px solid var(--hair); }
  .fcol h3 { margin: 0; line-height: 13px; }
  .fcol summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; cursor: pointer; }
  .fcol summary .plus { display: block; width: 12px; height: 12px; color: var(--gold); transition: transform 400ms var(--drape); }
  .fcol[open] summary .plus { transform: rotate(45deg); }
  .fcol ul, .fcol .addr { padding: 0 0 18px; }
  .socials { order: 5; }
  .socials a { width: 40px; height: 40px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; height: auto; gap: 28px; margin-top: 28px; font-size: 10.5px; }
  .footer__rule { display: none; }
  .footer__bottom .pay { order: 1; max-width: 327px; }
  .footer__bottom .meta { order: 2; display: flex; justify-content: space-between; width: 100%; max-width: 560px; }
  .copy-long { display: none; }
  .policy { gap: 18px; }
}
@media (min-width: 1101px) {
  .fmenus { display: contents; }
  .fcol summary { pointer-events: none; }
  .fcol summary .plus, .lede-m, .copy-short, .br-m { display: none; }
  .footer__bottom .meta { display: contents; }
  .footer__bottom .meta .policy { order: 3; }
  .footer__bottom .pay { order: 2; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; }
  .quickadd { transform: none; transition: opacity 0s; }
  .pcard__media img { transition: none; }
  .header, .announce, .logo, .header::before { transition: none !important; }
  .is-hidden .header { transform: none; }
  .tslide, .scrim { transition-duration: 200ms !important; }
}
.page { padding-top: calc(var(--announce-h) + var(--header-h)); background: var(--ink); }
.crumbs { font: 400 10px/normal var(--f-sans); letter-spacing: 3px; color: color-mix(in srgb, var(--muted) 80%, transparent); text-transform: uppercase; white-space: pre; }
.crumbs a:hover { color: var(--cream); }
.img-festive { object-position: 72% 50%; }
.img-heirloom { object-position: 30% 50%; }
@media (max-width: 1100px) {
  .crumbs { font-size: 9px; letter-spacing: 2.7px; }
}
.drawer { position: fixed; z-index: 90; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; background: var(--ink-2); border-left: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); transform: translateX(100%); visibility: hidden; transition: transform 420ms var(--drape), visibility 0s 420ms; }
.drawer.is-open { transform: none; visibility: visible; transition: transform 600ms var(--drape); }
@media (max-width: 1100px) {
  .drawer.is-open .filters__foot { opacity: 1; }
}
.stars { display: flex; gap: 3px; color: var(--gold); }
.stars svg { width: 14px; height: 14px; }
.stars--16 svg { width: 16px; height: 16px; }
.stars--12 svg { width: 12px; height: 12px; }
.hair { width: 100%; height: 1px; margin: 0; border: 0; background: var(--hair); }
.qty { display: flex; border: 1px solid color-mix(in srgb, var(--gold) 60%, transparent); }
.qty button, .qty input { width: 44px; height: 46px; display: grid; place-items: center; color: var(--cream); }
.qty svg { width: 16px; height: 16px; }
.qty input { background: none; border: 0; text-align: center; font: 500 14px/normal var(--f-sans); outline: 0; }
.pairs .wish .icon { width: 17px; height: 17px; }
.btn--sm { padding: 11px 16px; font-size: 10px; letter-spacing: 2.2px; }
@media (max-width: 1100px) {
  .crumbs .long { display: none; }
}
.sform__icon { width: 22px; height: 22px; flex: none; color: var(--gold); }
:is(.sgrid, .love__grid) .wish .icon { width: 17px; height: 17px; }
.soverlay { position: fixed; z-index: 90; left: 0; right: 0; top: 0; height: 473px; background: var(--ink-2); border-bottom: 1px solid color-mix(in srgb, var(--gold) 40%, transparent); transform: translateY(-100%); visibility: hidden; transition: transform 420ms var(--drape), visibility 0s 420ms; }
.soverlay.is-open { transform: none; visibility: visible; transition: transform 600ms var(--drape); }
.soverlay__field { position: absolute; left: var(--gutter); right: var(--gutter); top: 56px; display: flex; align-items: center; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--hair-70); }
.soverlay__field .sform__icon { width: 26px; height: 26px; }
.soverlay__field input { flex: 1; min-width: 0; padding: 0; background: none; border: 0; outline: 0; font: 400 40px/normal var(--f-display); color: var(--cream); caret-color: var(--gold); -webkit-appearance: none; appearance: none; }
.soverlay__field input::-webkit-search-cancel-button { display: none; }
.soverlay__close { display: flex; align-items: center; gap: 10px; font: 500 10px/normal var(--f-sans); letter-spacing: 3px; color: color-mix(in srgb, var(--cream) 70%, transparent); text-transform: uppercase; }
.soverlay__close svg { width: 20px; height: 20px; color: var(--cream); }
.soverlay__body { position: absolute; left: var(--gutter); top: 180px; display: grid; grid-template-columns: auto auto 620px; grid-template-rows: auto auto; column-gap: 72px; row-gap: 14px; align-items: start; }
.soverlay__body > div { opacity: 0; transform: translateY(12px); transition: opacity 400ms var(--silk), transform 400ms var(--silk); }
.soverlay.is-open .soverlay__body > div { opacity: 1; transform: none; transition-duration: 900ms; }
.soverlay.is-open .soverlay__body > div:nth-child(2) { transition-delay: 90ms; }
.soverlay.is-open .soverlay__body > div:nth-child(3) { transition-delay: 180ms; }
.sov-pop, .sov-cols, .sov-prods { grid-row: 1; display: flex; flex-direction: column; gap: 16px; }
.sov-h { font: 500 10px/normal var(--f-sans); letter-spacing: 3.6px; color: var(--gold); text-transform: uppercase; }
.sov-pop ul, .sov-cols ul { display: flex; flex-direction: column; gap: 16px; }
.sov-pop a { display: flex; align-items: center; gap: 10px; font: 400 13.5px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 85%, transparent); }
.sov-pop a:hover { color: var(--cream); }
.sov-pop svg { width: 14px; height: 14px; color: var(--gold); }
.sov-cols a { display: flex; align-items: center; gap: 12px; font: 400 20px/normal var(--f-display); color: var(--cream); }
.sov-cols .icon-arrow, .sov-all .icon-arrow { color: var(--gold); }
.sov-cols a:hover .icon-arrow { transform: translateX(4px); }
.sov-prods { gap: 14px; }
.sov-prods ul { display: flex; flex-wrap: wrap; gap: 16px 20px; }
.sov-prods a { display: flex; align-items: center; gap: 14px; width: 300px; }
.sov-prods img { width: 60px; height: 80px; object-fit: cover; flex: none; }
.sov-prods span { display: flex; flex-direction: column; gap: 4px; white-space: nowrap; }
.sov-prods small { font: 500 8.5px/normal var(--f-sans); letter-spacing: 2.55px; color: var(--gold); text-transform: uppercase; }
.sov-prods b { font: 400 16px/normal var(--f-display); color: var(--cream); }
.sov-prods em { font: 500 12.5px/normal var(--f-sans); font-style: normal; color: var(--cream); }
.sov-all { grid-column: 3; grid-row: 2; }
@media (max-width: 1100px) {
  .sform__icon { width: 18px; height: 18px; }
  :is(.sgrid, .love__grid) .wish .icon { width: 16px; height: 16px; }
  .soverlay { height: 100%; height: 100dvh; transform: translateY(-100%); }
  .soverlay__field { left: 24px; right: 24px; top: 24px; gap: 14px; padding-bottom: 14px; }
  .soverlay__field .sform__icon { width: 20px; height: 20px; }
  .soverlay__field input { font-size: 26px; }
  .soverlay__close span { display: none; }
  .soverlay__body { left: 0; right: 0; top: 102px; bottom: 0; display: flex; flex-direction: column; gap: 24px; padding: 0 24px 40px; overflow-y: auto; overscroll-behavior: contain; }
  .sov-pop ul { flex-direction: row; flex-wrap: wrap; gap: 8px 10px; }
  .sov-pop, .sov-cols, .sov-prods { gap: 14px; }
  .sov-pop li:nth-child(5) { display: none; }
  .sov-pop a { padding: 8px 14px; font-size: 12px; border-radius: 18px; border: 1px solid color-mix(in srgb, var(--gold) 55%, transparent); font-size: 12.5px; color: var(--cream); }
  .sov-pop svg { display: none; }
  .sov-prods { order: 2; }
  .sov-cols { order: 3; }
  .sov-all { order: 4; }
  .sov-prods ul { flex-direction: column; gap: 14px; }
  .sov-prods li:nth-child(4) { display: none; }
  .sov-prods a { width: auto; }
  .sov-prods img { width: 56px; height: 75px; }
  .sov-prods small { display: none; }
  .sov-prods b { font-size: 16px; }
  .sov-cols li:nth-child(2) { display: none; }
  .sov-cols a { font-size: 19px; }
  .sov-cols ul { gap: 14px; }
  .sov-all { align-self: stretch; justify-content: center; padding: 15px 16px; background: var(--gold); color: var(--ink); font-size: 11px; }
  .sov-all .icon-arrow { color: var(--ink); }
  .soverlay__body > div, .sov-all { opacity: 1; transform: none; }
}
@media (min-width: 1101px) and (max-width: 1439px) {
  .soverlay__body { right: var(--gutter); grid-template-columns: auto auto 1fr; column-gap: 48px; }
  .sov-prods a { width: 260px; }
}
.wlist .hair { background: color-mix(in srgb, var(--gold) 30%, transparent); }
.wcard .wish .icon { width: 17px; height: 17px; }
@media (max-width: 1100px) {
  .wlist .hair { display: none; }
  .wcard .wish .icon { width: 16px; height: 16px; }
  .footer__rule-top { display: none; }
}
.shipbar { display: flex; flex-direction: column; gap: 10px; height: 65px; padding: 18px 24px; background: color-mix(in srgb, var(--plum) 55%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent); }
.shipbar p { display: flex; align-items: center; gap: 8px; font: 400 12.5px/normal var(--f-sans); color: var(--cream); white-space: nowrap; }
.shipbar svg { width: 14px; height: 14px; flex: none; color: var(--gold); }
.shipbar i { height: 2px; background: var(--gold); transform-origin: left center; }
.bline { display: flex; gap: 24px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid var(--hair); transition: opacity 400ms var(--drape); }
.bline.is-removing { opacity: 0; }
.bline__img { flex: none; width: 120px; height: 160px; }
.bline__img img { width: 100%; height: 100%; object-fit: cover; }
.bline__body { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.bline__type { font: 500 9.5px/normal var(--f-sans); letter-spacing: 2.85px; color: var(--gold); text-transform: uppercase; }
.bline__title { font: 400 20px/1.25 var(--f-display); color: var(--cream); }
.bline__var { font: 400 12.5px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 65%, transparent); white-space: pre; }
.bline__mprice { display: none; }
.bline__acts { display: flex; align-items: center; gap: 24px; margin-top: 10px; }
.qty--sm button, .qty--sm input { width: 38px; height: 38px; }
.qty--sm svg { width: 14px; height: 14px; }
.qty--sm input { font-size: 13px; }
.lact { display: flex; align-items: center; gap: 6px; font: 400 11.5px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 70%, transparent); }
.lact u { text-underline-offset: 2px; }
.lact svg { width: 14px; height: 14px; color: var(--cream); }
.lact:hover { color: var(--cream); }
.bline__total { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; white-space: nowrap; }
.bline__total b { font: 500 16px/normal var(--f-sans); color: var(--cream); }
.bline__total s { font: 400 12.5px/normal var(--f-sans); color: color-mix(in srgb, var(--muted) 70%, transparent); }
.gift { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; }
.gift__opt { display: flex; align-items: center; gap: 12px; cursor: pointer; font: 400 12.5px/normal var(--f-sans); color: var(--cream); white-space: pre; }
.gift__opt input { position: absolute; opacity: 0; }
.gift__box { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--hair-80); color: var(--ink); transition: background-color 240ms var(--thread); }
.gift__box svg { width: 12px; height: 12px; opacity: 0; }
.gift__opt input:checked + .gift__box { background: var(--gold); border-color: var(--gold); }
.gift__opt input:checked + .gift__box svg { opacity: 1; }
.gift__opt input:focus-visible + .gift__box { outline: 1px solid var(--gold); outline-offset: 3px; }
.gift__ic { width: 18px; height: 18px; color: var(--gold); }
.gift__note { height: 64px; padding: 12px 14px; resize: vertical; background: none; border: 1px solid color-mix(in srgb, var(--gold) 40%, transparent); outline: 0; font: italic 400 16px/normal var(--f-serif); color: var(--cream); }
.gift__note::placeholder { color: color-mix(in srgb, var(--cream) 55%, transparent); }
.gift__note:focus { border-color: var(--gold); }
.srow { display: flex; align-items: center; justify-content: space-between; font: 400 13px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 80%, transparent); white-space: nowrap; }
.srow b { font-weight: 500; color: var(--cream); }
.srow b.gold { color: var(--gold); }
.srow--total span { font: 400 22px/normal var(--f-display); color: var(--cream); }
.srow--total b { font: 400 28px/normal var(--f-display); color: var(--gold); }
.summary .hair { background: color-mix(in srgb, var(--gold) 30%, transparent); }
.summary__go, .cdrawer__foot .btn { padding: 16px 26px; gap: 10px; font-size: 11.5px; letter-spacing: 2.53px; }
.summary__go svg, .cdrawer__foot .btn svg { width: 16px; height: 16px; }
.summary__pay, .summary__pay .paymarks { justify-content: center; gap: 6px; }
.cdrawer { width: 460px; box-shadow: -12px 0 40px rgba(0, 0, 0, .55); }
.cdrawer__head { display: flex; align-items: center; justify-content: space-between; padding: 24px 28px 20px; border-bottom: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); }
.cdrawer__head h2 { font: 400 24px/normal var(--f-display); color: var(--cream); }
.cdrawer__head button { color: var(--cream); }
.cdrawer__head svg { width: 22px; height: 22px; }
.cdrawer__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 28px 24px; }
.cdrawer .shipbar { height: 56px; padding: 14px 16px; }
.cdrawer .shipbar p { font-size: 11.5px; }
.cdrawer .bline { gap: 14px; padding: 18px 0; }
.cdrawer .bline__img { width: 84px; height: 112px; }
.cdrawer .bline__body { gap: 5px; }
.cdrawer .bline__type { font-size: 8.5px; letter-spacing: 2.55px; }
.cdrawer .bline__title { font-size: 15px; }
.cdrawer .bline__var { font-size: 11px; }
.cdrawer .price { gap: 8px; }
.cdrawer .price b { font-size: 13px; letter-spacing: 0; }
.cdrawer .price s { font-size: 11.5px; }
.cdrawer .bline__acts { gap: 14px; margin-top: 9px; }
.cdrawer .qty--sm button, .cdrawer .qty--sm input { width: 32px; height: 32px; }
.cdrawer__foot { display: flex; flex-direction: column; gap: 12px; padding: 18px 28px 24px; border-top: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); background: var(--ink-2); }
.cdrawer__note { font: 400 11px/normal var(--f-sans); color: color-mix(in srgb, var(--cream) 60%, transparent); }
.cdrawer__foot .btn--fill { border: 0; }
.cdrawer .cdrawer__body > *, .cdrawer__foot { opacity: 0; transform: translateY(10px); transition: opacity 300ms var(--silk), transform 300ms var(--silk); }
.cdrawer.is-open .cdrawer__body > *, .cdrawer.is-open .cdrawer__foot { opacity: 1; transform: none; transition-duration: 600ms; transition-delay: 300ms; }
.cdrawer.is-open .cdrawer__body > :nth-child(3) { transition-delay: 360ms; }
.cdrawer.is-open .cdrawer__body > :nth-child(4) { transition-delay: 420ms; }
.cdrawer.is-open .cdrawer__body > :nth-child(n+5), .cdrawer.is-open .cdrawer__foot { transition-delay: 480ms; }
@media (max-width: 1100px) {
  .shipbar { height: 56px; padding: 14px 16px; }
  .shipbar p { font-size: 11.5px; }
  .cart__cols, .bline__total, .lact--wish { display: none; }
  .cart .bline { gap: 14px; padding: 18px 0; }
  .cart .bline:first-of-type { margin-top: 24px; }
  .cart .bline__img { width: 88px; height: 118px; }
  .cart .bline__body { gap: 5px; }
  .cart .bline__type { font-size: 8.5px; letter-spacing: 2.55px; }
  .cart .bline__title { font-size: 15px; }
  .cart .bline__var { font-size: 11px; white-space: pre-wrap; }
  .bline__mprice { display: flex; gap: 8px; }
  .bline__mprice b { font-size: 13px; letter-spacing: 0; }
  .bline__mprice s { font-size: 11.5px; }
  .cart .bline__acts { gap: 14px; margin-top: 12px; }
  .cart .qty--sm button, .cart .qty--sm input { width: 32px; height: 32px; }
  .gift__opt { white-space: normal; }
  .cdrawer { width: auto; left: 32px; }
  .cdrawer__head { padding: 24px 20px 20px; }
  .cdrawer__body { padding: 18px 20px 24px; }
  .cdrawer .bline__img { width: 72px; height: 96px; }
  .cdrawer__foot { padding: 18px 20px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .cdrawer .cdrawer__body > *, .cdrawer__foot { transform: none; transition-delay: 0s !important; }
}
.mdrawer { left: 0; right: auto; width: 343px; max-width: calc(100% - 32px); border-left: 0; border-right: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); box-shadow: 12px 0 40px rgba(0, 0, 0, .55); transform: translateX(-100%); }
.mdrawer.is-open { transform: none; }
.mdrawer .cdrawer__head { padding: 18px 20px; }
.mdrawer__logo { display: flex; align-items: center; gap: 12px; font: 400 15px/normal var(--f-display); letter-spacing: 5.4px; color: var(--gold); }
.mdrawer__logo .mono { width: 34px; height: 34px; font-size: 18px; }
.mdrawer .cdrawer__head button { color: var(--cream); }
.mdrawer .cdrawer__head svg { width: 22px; height: 22px; }
.mdrawer__nav { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 20px; }
.mdrawer__nav a { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--hair); font: 400 22px/normal var(--f-display); color: var(--cream); opacity: 0; transform: translateX(-12px); transition: opacity 300ms var(--silk), transform 300ms var(--silk); }
.mdrawer__nav .icon-arrow { color: var(--gold); }
.mdrawer.is-open .mdrawer__nav a { opacity: 1; transform: none; transition-duration: 600ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(1) { transition-delay: 240ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(2) { transition-delay: 300ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(3) { transition-delay: 360ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(4) { transition-delay: 420ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(5) { transition-delay: 480ms; }
.mdrawer.is-open .mdrawer__nav a:nth-child(n+6) { transition-delay: 540ms; }
.mdrawer__foot { display: flex; gap: 28px; padding: 20px 20px 28px; border-top: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); }
.mdrawer__foot a { display: flex; align-items: center; gap: 10px; font: 500 10.5px/normal var(--f-sans); letter-spacing: 2.73px; color: var(--cream); text-transform: uppercase; }
.mdrawer__foot svg { width: 18px; height: 18px; color: var(--gold); }
@media (prefers-reduced-motion: reduce) {
  .mdrawer__nav a { transform: none; transition-delay: 0s !important; }
}
@media (max-width: 359px) {
  .shipbar { height: auto; }
  .shipbar p { white-space: normal; align-items: flex-start; }
  .bline__acts, .cart .bline__acts { gap: 10px; }
  .cart .bline__img { width: 72px; height: 96px; }
}
@media (max-width: 1100px) {
  .paymarks { gap: 6px; flex-wrap: nowrap; }
  .paymark { height: 26px; padding: 0 6px; }
  .paymark img { height: 12px; }
}
/* ---------- theme additions: parts the prototype did not draw, in its own language ---------- */
.soverlay__in, .cdrawer__wrap, .mdrawer__wrap { display: contents; }
.logo__img { display: block; height: auto; max-width: 100%; }
.announce a { color: inherit; }
.announce__close { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; display: grid; place-items: center; color: var(--cream); }
.announce__close .icon { width: 12px; height: 12px; }
.no-announce { --announce-h: 0px; }
.no-announce .announce { display: none; }
/* menu dropdowns (child links from the menu) */
.nav__item { position: relative; }
.nav__drop { position: absolute; left: -20px; top: calc(100% + 22px); min-width: 200px; display: flex; flex-direction: column; padding: 14px 0; background: var(--ink-2); border: 1px solid var(--hair-45); box-shadow: 0 18px 40px rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity 240ms var(--thread), transform 240ms var(--thread), visibility 0s 240ms; }
.nav__drop::before { content: ''; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.nav__drop a { padding: 10px 20px; font: 400 11px/normal var(--f-sans); letter-spacing: 2.2px; color: color-mix(in srgb, var(--cream) 85%, transparent); text-transform: uppercase; white-space: nowrap; transition: color 200ms; }
.nav__drop a:hover { color: var(--gold); }
.nav__item:hover .nav__drop, .nav__item:focus-within .nav__drop { opacity: 1; visibility: visible; transform: none; transition: opacity 240ms var(--thread), transform 240ms var(--thread); }
/* footer bits */
.fnews__fields { display: flex; flex-direction: column; gap: inherit; }
.fnews__error { font: 400 12px/1.5 var(--f-sans); color: #e8a2a2; }
.addr p { font: 400 13px/1.9 var(--f-sans); color: color-mix(in srgb, var(--cream) 78%, transparent); }
/* bag drawer states */
.cdrawer__empty { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px 0; font: italic 400 20px/1.35 var(--f-serif); color: color-mix(in srgb, var(--cream) 85%, transparent); }
.bline.is-busy { opacity: .55; pointer-events: none; }
.shipbar i { display: block; width: 100%; transition: width 600ms var(--silk); }
.cdrawer__foot[hidden] { display: none; }
/* menu drawer child groups */
.mdrawer__group { border-bottom: 1px solid var(--hair); }
.mdrawer__group summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; list-style: none; cursor: pointer; font: 400 22px/normal var(--f-display); color: var(--cream); }
.mdrawer__group summary::-webkit-details-marker { display: none; }
.mdrawer__group .plus { width: 12px; height: 12px; color: var(--gold); transition: transform 400ms var(--drape); }
.mdrawer__group[open] .plus { transform: rotate(45deg); }
.mdrawer__sub { display: block !important; padding: 10px 0 10px 16px !important; border: 0 !important; font: 400 13px/normal var(--f-sans) !important; letter-spacing: 1.3px; color: color-mix(in srgb, var(--cream) 80%, transparent) !important; opacity: 1 !important; transform: none !important; }
@media (max-width: 1100px) { .nav__drop { display: none; } }
.count.is-zero { display: none !important; }
/* product card: the link covers the photos, so the heart and quick add are real buttons beside it */
.pcard__link { position: absolute; inset: 0; display: block; }
.pcard__media > .pcard__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcard__media .ph, .ph { display: block; width: 100%; height: 100%; background: var(--ink-2); fill: color-mix(in srgb, var(--gold) 35%, transparent); }
.quickadd { cursor: pointer; }
wishlist-button { cursor: pointer; }
wishlist-button .h-on { display: none; }
wishlist-button[data-in-wishlist] .h-on { display: block; }
wishlist-button[data-in-wishlist] .h-off { display: none; }
wishlist-button[data-in-wishlist] { color: var(--gold); }
.pcard.is-soldout .pcard__media > .pcard__link { opacity: .6; }
/* home: states the prototype did not draw */
.look__side { display: contents; }
.best__empty { grid-column: 1 / -1; font: italic 400 20px/1.4 var(--f-serif); color: var(--muted); }
.testi--noquotes { height: auto; }
.testi--noquotes .testi__rule, .testi--noquotes .press { position: static; }
.testi--noquotes .press { padding: 48px var(--gutter); }
.testi--noquotes .testi__rule { margin: 0 var(--gutter); }
@media (max-width: 1100px) { .look__side > .lede-m { display: block; margin-top: -14px; text-align: center; font: italic 400 19px/normal var(--f-serif); color: color-mix(in srgb, var(--cream) 85%, transparent); } }
/* search overlay columns stay put when one is empty */
@media (min-width: 1101px) {
  .sov-pop { grid-column: 1; } .sov-cols { grid-column: 2; } .sov-prods { grid-column: 3; } .sov-all { grid-column: 3; grid-row: 2; }
  .soverlay__body { grid-template-columns: minmax(0, auto) minmax(0, auto) 620px; }
  .sov-prods ul { display: grid; grid-template-columns: repeat(2, 300px); }
}
/* listing: real inputs behind the prototype's swatches, chips and sort */
.swatch { cursor: pointer; }
.swatch:has(input:checked) { box-shadow: inset 0 0 0 1px var(--gold); }
.swatch:has(input:focus-visible), .chip:has(input:focus-visible) { outline: 1px solid var(--gold); outline-offset: 3px; }
.chip { cursor: pointer; }
.chip:has(input:checked) { background: var(--plum); border-color: var(--gold); color: var(--cream); }
.msort { position: relative; }
.msort select { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; -webkit-appearance: none; appearance: none; }
.listing-form { display: contents; }
.lempty { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 48px 0; }
.lempty h2 { font: 400 32px/normal var(--f-display); color: var(--cream); }
.lempty p { font: italic 400 20px/1.4 var(--f-serif); color: var(--muted); }
.cbanner > .ph { position: absolute; inset: 0; }
@media (min-width: 1101px) { .filters__foot { display: none !important; } }
/* product page: real form parts in the prototype's spacing */
.poptions, .popt, .pbuyform { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; align-self: stretch; }
.pinfo__desc p { margin: 0; }
.psizes .is-soldout, .pswatches .is-soldout { opacity: .4; }
.psizes .is-soldout { text-decoration: line-through; }
.pswatches .is-soldout::after { content: ''; position: absolute; width: 30px; height: 1px; background: var(--cream); transform: rotate(-45deg); }
.pswatches button { position: relative; }
.stars svg.is-off { opacity: .25; }
.pstatus { font: 400 12px/1.5 var(--f-sans); color: var(--gold); }
.pincode__checker { display: contents; }
.pincode__field button { flex: none; }
.pincode__result:empty { display: none; }
.pincode__result { display: block; font: 400 12px/1.5 var(--f-sans); color: color-mix(in srgb, var(--cream) 85%, transparent); }
qm-pincode-checker[data-state="fail"] .pincode__result { color: #e8a2a2; }
share-button { display: contents; cursor: pointer; }
.share a { cursor: pointer; }
.pacc__body table { width: 100%; border-collapse: collapse; margin: -2px 0 0; }
.pacc__body th, .pacc__body td { padding: 0 0 16px; text-align: left; vertical-align: top; font: 400 12.5px/normal var(--f-sans); }
.pacc__body th { width: 126px; color: color-mix(in srgb, var(--muted) 80%, transparent); font-weight: 400; }
.pacc__body td { color: var(--cream); }
.pacc__body img { max-width: 100%; height: auto; margin-bottom: 18px; }
.review.is-more { display: none; }
.rlist__empty { font: italic 400 20px/1.4 var(--f-serif); color: var(--muted); }
.gallery__track iframe, .gallery__track video { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
@media (max-width: 1100px) { .pacc__body th { width: 100px; } }
/* search, wishlist, content pages */
.sgrid__item { display: contents; }
.sgrid__item.is-more { display: none; }
[data-wishlist-filled][hidden], [data-wishlist-empty][hidden] { display: none; }
.wcard__btn span { display: inline; }
.wshare { cursor: pointer; }
.nf { padding-top: 96px; padding-bottom: 96px; }
.prose { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter) 112px; font: 400 15px/1.85 var(--f-sans); color: var(--muted); }
.prose h2, .prose h3 { font: 400 28px/1.3 var(--f-display); color: var(--cream); margin: 40px 0 16px; }
.prose h3 { font-size: 22px; }
.prose p, .prose ul, .prose ol { margin: 0 0 18px; }
.prose ul, .prose ol { padding-left: 20px; list-style: disc; }
.prose a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.article__hero { max-width: 1080px; margin: 0 auto 56px; padding: 0 var(--gutter); aspect-ratio: 16 / 9; }
.article__hero img, .article__hero .ph { width: 100%; height: 100%; object-fit: cover; }
.bgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; padding: 0 var(--gutter) 112px; }
.bcard { display: flex; flex-direction: column; gap: 12px; }
.bcard__img { aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--hair-35); }
.bcard__img img, .bcard__img .ph { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--silk); }
.bcard:hover .bcard__img img { transform: scale(1.04); }
.bcard__date { font: 500 10px/normal var(--f-sans); letter-spacing: 3px; color: var(--gold); text-transform: uppercase; }
.bcard h2 { font: 400 24px/1.3 var(--f-display); color: var(--cream); }
.bcard p { font: italic 400 18px/1.4 var(--f-serif); color: var(--muted); }
@media (max-width: 1100px) { .bgrid { grid-template-columns: 1fr; padding: 0 24px 64px; } .prose { padding: 0 24px 64px; } .nf { padding-top: 48px; } }

/* testimonials band on a store with no quotes: press names alone size the band, and with no press names either it hides */
.testi--noquotes { height: auto; padding: 56px var(--gutter); }
.testi--noquotes .press { position: static; }
.testi--noquotes:not(:has(.press)) { display: none; }

/* tablet: the phone footer's width caps would leave the right half empty */
@media (min-width: 600px) and (max-width: 1100px) {
  .fnews, .fmenus, .footer__bottom .meta { max-width: none; }
}
