/* Faithful refinements: retain the original system while removing loading gaps,
   duplicated animated sections, and interaction rough edges. */
html, body { overflow-x: hidden; }
button { cursor: pointer; }
.site-shell { min-height: 100vh; }
.site-shell > main,
.site-shell > main > section,
.collection-hero-rotation img,
.proof-slide,
.whatsapp-float { animation: none !important; }
.site-topline { overflow: hidden; }
.site-topline-track { width: max-content; }
.silent-loop-video, .page-hero-aside { position: relative; overflow: hidden; }
.silent-loop-video video, .silent-loop-video-poster, .silent-loop-video-poster img,
.page-hero-aside > img { width: 100%; height: 100%; object-fit: cover; }
.silent-loop-video-poster { position: absolute; inset: 0; }
.silent-loop-video video { position: relative; z-index: 1; }
.mobile-menu { display: none; }
.reason-card.featured { background: #e6542f; color: #fffaf2; }
.reason-card.featured .reason-card-icon { color: #162d26; }
.product-card-media img, .size-entry-media img { transition: transform .35s cubic-bezier(.23,1,.32,1); }
.product-card:hover .product-card-media img, .size-entry-card:hover .size-entry-media img { transform: scale(1.025); }
.favorite-toggle.active { color: #fffaf2; background: #e6542f; }
.product-open { display: inline-flex; align-items: center; gap: .25rem; color: #162d26; letter-spacing: .05em; text-transform: uppercase; font: 500 .6rem/1 DM Mono, monospace; }
.selected-order-tray small { color: #536258; font-size: .67rem; }
.selected-order-totals { display: grid; gap: .45rem; min-width: 245px; }
.selected-order-totals > span { display: flex; justify-content: space-between; gap: 1rem; color: #536258; letter-spacing: .06em; text-transform: uppercase; font: 500 .58rem/1.45 DM Mono, monospace; }
.selected-order-totals strong { color: #162d26; }
.empty-shelf { border: 1px solid #162d26; padding: 2rem; font-family: "Instrument Serif", Georgia, serif; font-size: 2rem; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(12,30,24,.7); backdrop-filter: blur(5px); }
.modal-backdrop .quick-view-dialog { position: relative; }
.modal-open { overflow: hidden; }
.detail-photo .product-gallery-stage { height: clamp(420px, 48vw, 610px); min-height: 0; }
.info-shell:has(.info-copy:only-child) { display: block; }
.info-shell:has(.info-copy:only-child) .info-copy { max-width: 780px; margin-inline: auto; }
.info-copy .app-button { margin-top: 1.5rem; }
.journal-index:empty { min-height: 5rem; padding-block: 2rem 5rem; }
.page-hero-aside > img { display: block; }
.journal-post-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.4rem; padding-block: 2rem 5rem; }
.journal-post-card { display: block; overflow: hidden; border: 1px solid #d8d0c1; background: #fffaf2; color: #162d26; text-decoration: none; }
.journal-post-card > img { display: block; width: 100%; height: 240px; object-fit: cover; }
.journal-post-card > div { padding: 1.5rem; }
.journal-post-card h2 { margin: .75rem 0; font: 2rem/1.05 "Instrument Serif", Georgia, serif; }
.journal-post-card p:not(.eyebrow) { font: 400 .9rem/1.65 Manrope, sans-serif; }
.journal-post-card .text-link { display: inline-flex; margin-top: 1.25rem; }
.journal-article { padding-block: 3rem 6rem; max-width: 820px; }
.journal-article h1 { margin: 1rem 0; font: clamp(3rem, 7vw, 6rem)/.98 "Instrument Serif", Georgia, serif; }
.journal-lead { font: 1.1rem/1.65 Manrope, sans-serif; color: #536258; }
.journal-article-image { display: block; width: 100%; max-height: 560px; object-fit: cover; margin-block: 2rem; }
.journal-article-body { white-space: pre-line; font: 1rem/1.85 Manrope, sans-serif; }

@media (max-width: 980px) {
  .mobile-menu { position: fixed; inset: 100px 0 auto; z-index: 59; background: #f6f2e8; border-bottom: 1px solid #162d26; padding: 1.25rem; box-shadow: 0 18px 35px rgba(22,45,38,.13); }
  .mobile-menu.open { display: block; }
  .mobile-menu nav { display: grid; }
  .mobile-menu .nav-link { padding: .9rem 0; border-bottom: 1px solid #d8d0c1; font-size: .72rem; }
  .mobile-menu .app-button { width: 100%; margin-top: 1rem; }
}

@media (max-width: 700px) {
  .modal-backdrop { padding: .5rem; align-items: end; }
  .quick-view-dialog { max-height: calc(100svh - 1rem); }
  .selected-order-totals { min-width: 0; }
  .page-hero-aside > img { min-height: 270px; }
}
