/* Selected Morning Ritual direction. Shared commerce rules remain in style.css. */
:root {
  --paper: #faf7f1;
  --surface: #eee8de;
  --ink: #302e27;
  --muted: #605e55;
  --line: #d8d0c2;
  --dark: #343d30;
  --accent: #59664b;
}
.announcement { background: #e5dfd3; color: #393b33; font-size: 12px; letter-spacing: 0; padding: 7px 20px; }
.header-inner { min-height: 94px; padding-block: 22px; }
.primary-nav a { font-size: 14px; }
.header-actions { gap: 18px; }
.header-actions > a, .header-search summary { min-width: 36px; min-height: 44px; }
.header-search[open] .search-panel { z-index: 30; }
.home .container { padding-inline: clamp(24px, 3.5vw, 50px); }
.hero--ritual { position: relative; display: block; width: 100%; max-width: none; margin: 0; min-height: 0; aspect-ratio: 10 / 7; background: #eee5d7; isolation: isolate; }
.hero--ritual .hero-media { position: absolute; inset: 0; min-height: 0; height: 100%; width: 100%; }
.hero--ritual .hero-media img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero--ritual .hero-content { position: absolute; inset: 0; z-index: 1; padding: 56px clamp(40px, 5.7vw, 96px); justify-content: flex-end; max-width: 1600px; margin-inline: auto; pointer-events: none; }
.hero--ritual .hero-content > * { pointer-events: auto; }
.hero--ritual h1 { max-width: 460px; margin-bottom: 27px; font-size: clamp(54px, 5.6vw, 86px); line-height: .99; letter-spacing: -.045em; color: #24251f; }
.hero--ritual .hero-description { max-width: 365px; font-size: clamp(16px, 1.45vw, 21px); line-height: 1.35; margin-bottom: 32px; color: #3e4439; }
.hero--ritual .button { min-height: 72px; min-width: 286px; padding: 21px 34px; font-size: 20px; letter-spacing: 0; gap: 34px; }
.hero--ritual .eyebrow { color: #3e4439; }
.hero--ritual .hero-footnote { color: #3e4439; }
.home .collection-section { padding-block: 50px 68px; }
.home .collection-section .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.home .collection-section .category-image img { aspect-ratio: 5 / 6; }
.home .category-label { padding: 16px 7px 14px; gap: 12px; }
.home .category-label h3 { font-family: var(--serif); font-size: clamp(20px, 1.9vw, 28px); line-height: 1.25; letter-spacing: -.02em; }
.home .category-label svg { flex: 0 0 22px; }
.home .featured-section { padding-top: 0; padding-bottom: 78px; }
.home .featured-section .section-heading { min-height: 20px; margin-bottom: 18px; }
.home .featured-section .eyebrow { font-size: 12px; margin: 0; color: #555a4b; letter-spacing: .15em; }
.home .featured-section ul.products { grid-template-columns: repeat(var(--featured-columns, 3), minmax(0, 1fr)); gap: 25px; }
.home .featured-section ul.products li.product a img { aspect-ratio: 1.65; margin-bottom: 14px !important; }
.home .featured-section ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif); font-size: 20px; line-height: 1.35; padding: 0; margin: 0 0 6px; }
.home .featured-section ul.products li.product .price { font-size: 15px; color: #4f5147; margin-bottom: 10px; }
.home .featured-section ul.products li.product .button { font-size: 12px; min-height: 44px; margin-top: 12px; }
.home .featured-section .yb-demo-label { font-size: 10px; padding: 1px 6px; background: #eeeade; color: #535b48; margin-top: 0; }
.home .philosophy { padding-block: 80px; }
.home .scene-grid { gap: 8%; }
.home .scene-grid .scene-media img { aspect-ratio: 1; object-fit: cover; }
.home .story-panel .story-media img { object-fit: cover; }
@media (min-width: 1000px) {
  .header-inner { position: relative; }
  .home .header-inner { padding-inline: clamp(50px, 7vw, 100px); }
  .wordmark { font-size: 30px; }
  .primary-nav { position: absolute; left: 50%; transform: translateX(-50%); }
}
@media (min-width: 1600px) {
  .hero--ritual { aspect-ratio: auto; height: 1120px; }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .hero--ritual h1 { max-width: 330px; font-size: 58px; }
  .hero--ritual .hero-content { padding: 36px 40px; }
  .hero--ritual .hero-description { font-size: 17px; max-width: 275px; margin-bottom: 24px; }
  .hero--ritual .button { min-height: 54px; min-width: 0; padding: 15px 24px; font-size: 14px; gap: 20px; }
  .primary-nav ul { gap: 22px; }
  .header-inner { gap: 18px; }
  .wordmark { font-size: 23px; }
}
@media (max-width: 700px) {
  .announcement { font-size: 11px; padding: 7px 14px; }
  .header-inner { min-height: 76px; padding: 14px 18px; gap: 8px; }
  .wordmark { font-size: 20px; letter-spacing: .12em; }
  .header-actions { gap: 4px; }
  .header-actions > a, .header-search summary { min-width: 30px; }
  .primary-nav { transform: none; }
  .primary-nav a { font-size: 15px; }
  .hero--ritual { display: flex; flex-direction: column; aspect-ratio: auto; background: var(--paper); }
  .hero--ritual .hero-media { position: relative; inset: auto; order: 0; height: auto; min-height: 0; aspect-ratio: 6 / 5; }
  .hero--ritual .hero-media img { object-position: 70% center; }
  .hero--ritual .hero-content { position: relative; inset: auto; order: 1; padding: 32px 24px 40px; width: 100%; }
  .hero--ritual h1 { font-size: clamp(42px, 11.8vw, 56px); max-width: 360px; line-height: 1.03; margin-bottom: 19px; }
  .hero--ritual .hero-description { font-size: 16px; max-width: 300px; margin-bottom: 24px; line-height: 1.5; }
  .hero--ritual .button { min-height: 52px; min-width: 0; padding: 15px 24px; font-size: 14px; gap: 24px; }
  .home .collection-section { padding-block: 0 42px; }
  .home .collection-section .category-grid { grid-template-columns: 1fr; gap: 28px; }
  .home .collection-section .category-image img { aspect-ratio: 3 / 2; }
  .home .category-label h3 { font-size: 24px; }
  .home .category-label { padding-inline: 0; }
  .home .featured-section { padding-bottom: 52px; }
  .home .featured-section .section-heading { flex-wrap: wrap; row-gap: 14px; margin-bottom: 22px; }
  .home .featured-section ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 16px; }
  .home .featured-section ul.products li.product a img { aspect-ratio: 1; }
  .home .featured-section ul.products li.product .woocommerce-loop-product__title { font-size: 18px; }
  .home .featured-section ul.products li.product .price { font-size: 14px; }
  .home .philosophy { padding-block: 52px; }
}
@media (max-width: 360px) {
  .wordmark { font-size: 17px; }
  .header-inner { padding-inline: 12px; }
  .hero--ritual h1 { font-size: 40px; }
}
