/** Shopify CDN: Minification failed

Line 340:4 Unexpected "@keyframes"
Line 471:4 Unexpected "@media"

**/
/* Build Your Own Ritual — page styles, scoped under .ritual-page */
:root {
      --espresso: #464444;
      --espresso-dark: #322F2F;
      --ink: #1A1A1A;
      --white: #FFFFFF;
      --cream: #F7F1E8;
      --cream-deep: #EFE6D8;
      --sand: #F0D0B0;
      --gold: #ECC9A2;
      --gold-line: #D9B48A;
      --blue: #C3D1D2;
      --sage: #E7EEDF;
      --mist: #BBDEE3;
      --lilac: #E4E0E8;
      --off-white: #F9F7F3;
      --line: rgba(70, 68, 68, 0.22);
      --hairline: rgba(70, 68, 68, 0.16);
      --muted: #5D5958;
      --serif: "Playfair Display", Georgia, "Times New Roman", serif;
      --sans: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
.ritual-page *, .ritual-page *::before, .ritual-page *::after {box-sizing: border-box;}
html {scroll-behavior: smooth; font-size: 112.5%;}
.ritual-page {margin: 0;
      background: var(--white);
      color: var(--ink);
      font-family: var(--sans);
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.65;}
.ritual-page, .ritual-page button, .ritual-page a {-webkit-font-smoothing: antialiased;}
.ritual-page img {display: block; max-width: 100%;}
.ritual-page a {color: inherit;}
.ritual-page button {font: inherit;}
.ritual-page h1, .ritual-page h2, .ritual-page h3, .ritual-page p, .ritual-page blockquote {margin-top: 0;}
.ritual-page h1, .ritual-page h2, .ritual-page h3 {color: var(--ink);
      font-family: var(--serif);
      font-weight: 400;
      line-height: 1.06;}
.ritual-page section[id] {scroll-margin-top: 84px;}
.ritual-page h1 {margin-bottom: 24px; font-size: clamp(3rem, 12vw, 5.6rem); letter-spacing: -0.03em;}
.ritual-page h2 {margin-bottom: 20px; font-size: clamp(2.4rem, 7vw, 4.1rem); letter-spacing: -0.02em;}
.ritual-page h3 {margin-bottom: 12px; font-size: clamp(1.5rem, 5vw, 2rem);}
.ritual-page :focus-visible {outline: 3px solid var(--espresso); outline-offset: 4px;}
.ritual-page [hidden] {display: none !important;}
.ritual-page .container {width: min(100% - 34px, 1200px); margin-inline: auto;}
.ritual-page .section {padding: 92px 0;}
.ritual-page .section-head {max-width: 720px; margin: 0 auto 56px; text-align: center;}
.ritual-page .section-head .lede {margin: 18px auto 0; max-width: 620px; color: var(--muted); font-size: 1.1rem;}
.ritual-page .eyebrow {display: block;
      margin-bottom: 18px;
      color: var(--espresso);
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.28em;
      text-transform: uppercase;}
.ritual-page .hairline {display: block;
      width: 46px;
      height: 1px;
      margin: 20px auto 0;
      background: var(--gold-line);}
.ritual-page .section-head .hairline {margin-top: 22px;}
.ritual-page .button {display: inline-flex;
      min-height: 54px;
      align-items: center;
      justify-content: center;
      padding: 15px 34px;
      border: 1px solid var(--espresso);
      border-radius: 4px;
      background: var(--espresso);
      color: var(--white);
      font-family: var(--sans);
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      line-height: 1.2;
      text-align: center;
      text-decoration: none;
      text-transform: uppercase;
      cursor: pointer;
      transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 160ms ease;}
.ritual-page .button:hover {border-color: var(--espresso-dark); background: var(--espresso-dark);}
.ritual-page .button:active {transform: translateY(1px);}
.ritual-page .button[disabled] {cursor: not-allowed; opacity: 0.45;}
.ritual-page .button[disabled]:hover {background: var(--espresso); border-color: var(--espresso); transform: none;}
.ritual-page .button-sand {border-color: var(--sand);
      background: var(--sand);
      color: var(--ink);}
.ritual-page .button-sand:hover {border-color: var(--white); background: var(--white); color: var(--ink);}
.ritual-page .stars {color: var(--gold); font-size: 1.1rem; letter-spacing: 0.14em; line-height: 1; -webkit-text-stroke: 0.6px #B98F5F; paint-order: stroke fill;}
.ritual-page /* Header */
    .site-header {position: sticky;
      z-index: 60;
      top: 0;
      border-bottom: 1px solid var(--hairline);
      background: rgba(255, 255, 255, 0.86);
      backdrop-filter: saturate(140%) blur(10px);
      -webkit-backdrop-filter: saturate(140%) blur(10px);
      transition: transform 340ms ease, opacity 340ms ease;}
.ritual-page .site-header.nav-hidden {transform: translateY(-100%); opacity: 0; pointer-events: none;}
.ritual-page .header-inner {display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 20px;}
.ritual-page .header-logo {width: 146px; height: auto;}
.ritual-page .header-link {font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--espresso);}
.ritual-page .header-link span {display: inline-block; padding-bottom: 3px; border-bottom: 1px solid var(--gold-line);}
.ritual-page /* Hero (full-bleed photography) */
    .hero {position: relative; overflow: hidden;}
.ritual-page .hero-media {position: absolute; inset: 0;}
.ritual-page .hero-media img {width: 100%; height: 100%; object-fit: cover; object-position: 60% 56%;}
.ritual-page .hero-media::after {position: absolute;
      inset: 0;
      background:
        linear-gradient(to top, rgba(24,20,18,0.74) 0%, rgba(24,20,18,0.34) 40%, rgba(24,20,18,0.06) 66%, rgba(24,20,18,0.20) 100%);
      content: "";}
.ritual-page .hero-inner {position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      min-height: 88vh;
      padding: 120px 0 64px;}
.ritual-page .hero-copy {max-width: 640px;}
.ritual-page .hero .eyebrow {color: var(--sand);}
.ritual-page .hero h1 {color: var(--white);}
.ritual-page .hero-sub {max-width: 560px; margin-bottom: 34px; color: rgba(255,255,255,0.92); font-size: 1.12rem; font-weight: 300;}
.ritual-page .hero-micro {margin: 18px 0 0; color: rgba(255,255,255,0.8); font-size: 0.78rem; letter-spacing: 0.04em;}
.ritual-page /* Marquee (moving benefit + trust strips) */
    .marquee {overflow: hidden;}
.ritual-page .marquee-viewport {overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);}
.ritual-page .marquee-track {display: flex; width: max-content; animation: marquee 46s linear infinite;}
.ritual-page .marquee:hover .marquee-track {animation-play-state: paused;}
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ritual-page .benefit-strip {background: var(--cream); border-bottom: 1px solid var(--hairline);}
.ritual-page .benefit-strip .marquee-track {padding: 28px 0;}
.ritual-page .benefit-item {display: inline-flex; align-items: center; gap: 15px; padding: 0 44px; color: var(--espresso); font-size: 0.98rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; white-space: nowrap;}
.ritual-page .benefit-item svg {flex: 0 0 30px; width: 30px; height: 30px; stroke: var(--gold-line);}
.ritual-page .benefit-item + .benefit-item {border-left: 1px solid var(--hairline);}
.ritual-page .seen-strip {padding: 46px 0; background: var(--espresso); color: var(--white); text-align: center;}
.ritual-page .seen-strip .eyebrow {color: var(--sand);}
.ritual-page .seen-item {display: inline-flex; align-items: center; padding: 0 42px; color: rgba(255,255,255,0.92); font-family: var(--serif); font-size: 1.5rem; letter-spacing: 0.02em; white-space: nowrap;}
.ritual-page .seen-logo {height: 30px; width: auto; display: block;}
.ritual-page .seen-logo-tall {height: 48px;}
.ritual-page .seen-seal {height: 62px;}
.ritual-page .seen-wordmark {font-family: var(--serif); font-size: 1.5rem;}
.ritual-page .seen-item::after {position: absolute; content: "";}
.ritual-page .seen-track-wrap {margin-top: 30px;}
.ritual-page .seen-dot {display: inline-flex; align-items: center; color: var(--sand);}
.ritual-page .seen-dot::before {content: "\2022";}
.ritual-page /* Craft (icon steps, .ritual-page open transparent layout) */
    .craft {background: var(--sage);}
.ritual-page .craft .section-head {max-width: 1040px;}
.ritual-page #craft-title {font-size: clamp(2rem, 6.4vw, 3.3rem);}
.ritual-page .section-sub {margin: 16px auto 0; color: var(--espresso); font-size: 0.78rem; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase;}
.ritual-page .craft-menu {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 32px; margin: 0; padding: 0; list-style: none;}
.ritual-page .craft-course {display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;}
.ritual-page .craft-icon {display: grid; width: 88px; height: 88px; margin-bottom: 20px; place-items: center;}
.ritual-page .craft-icon svg {width: 72px; height: 72px; stroke: var(--muted); stroke-width: 0.8; fill: none;}
.ritual-page .craft-course h3 {margin-bottom: 10px; font-size: 1.45rem; font-weight: 400; color: var(--espresso);}
.ritual-page .course-tag {display: none;}
.ritual-page .craft-course p {margin-bottom: 0; max-width: none; color: var(--muted); font-size: 0.88rem; line-height: 1.4; white-space: nowrap;}
@media (min-width: 760px) {
  .ritual-page #craft-title {white-space: nowrap;}
}
.ritual-page /* Builder */
    .builder {background: var(--white);}
.ritual-page .builder-layout {display: grid; gap: 34px; align-items: start;}
.ritual-page .builder-steps {display: grid; gap: 14px;}
.ritual-page .builder-step {overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--white); scroll-margin-top: 92px;}
.ritual-page .builder-step.is-complete {border-color: var(--gold-line);}
.ritual-page .step-trigger {display: grid;
      width: 100%;
      grid-template-columns: 40px minmax(0, 1fr) 24px;
      gap: 14px;
      align-items: center;
      padding: 20px 20px;
      border: 0;
      background: transparent;
      color: var(--ink);
      text-align: left;
      cursor: pointer;}
.ritual-page .step-trigger:hover {background: var(--off-white);}
.ritual-page .step-number {position: relative;
      display: grid;
      width: 38px;
      height: 38px;
      place-items: center;
      border: 1px solid var(--gold-line);
      border-radius: 50%;
      color: var(--espresso);
      font-family: var(--serif);
      font-size: 1.12rem;}
.ritual-page .is-complete .step-number {border-color: var(--espresso); background: var(--espresso); color: var(--white);}
.ritual-page .is-complete .step-number span {display: none;}
.ritual-page .is-complete .step-number::after {content: "\2713"; font-family: var(--sans); font-size: 1rem;}
.ritual-page .step-title {display: block; font-family: var(--serif); font-size: 1.28rem; line-height: 1.2;}
.ritual-page .step-rule {display: block; margin-top: 3px; color: var(--muted); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;}
.ritual-page .toggle-mark {font-family: var(--serif); font-size: 1.5rem; font-weight: 400; line-height: 1; text-align: center; color: var(--espresso);}
.ritual-page .step-panel {padding: 0 14px 16px;}
.ritual-page .product-grid {display: grid; gap: 12px;}
.ritual-page .product-card {position: relative;
      display: grid;
      min-width: 0;
      grid-template-columns: 76px minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      padding: 12px;
      border: 1px solid var(--hairline);
      border-radius: 9px;
      background: var(--white);
      transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;}
.ritual-page .product-card.is-selected {border-color: var(--gold-line); background: var(--cream); box-shadow: inset 0 0 0 1px var(--gold-line);}
.ritual-page .product-tile {overflow: hidden;
      width: 76px;
      height: 76px;
      border-radius: 7px;
      background: var(--cream);}
.ritual-page .product-tile img {width: 100%; height: 100%; object-fit: cover;}
.ritual-page .product-copy {min-width: 0;}
.ritual-page .product-name {margin: 0; font-size: 0.9rem; font-weight: 400; line-height: 1.3;}
.ritual-page .product-meta {display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0 0; color: var(--muted); font-size: 0.7rem; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase;}
.ritual-page .onetime-tag {display: inline-flex; margin: 7px 0 0; padding: 3px 8px; border: 1px solid var(--hairline); border-radius: 999px; color: var(--muted); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;}
.ritual-page .add-button {min-width: 62px;
      min-height: 38px;
      padding: 8px 14px;
      border: 1px solid var(--gold-line);
      border-radius: 4px;
      background: transparent;
      color: var(--espresso);
      font-size: 0.66rem;
      font-weight: 500;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;}
.ritual-page .add-button:hover {border-color: var(--espresso); background: var(--espresso); color: var(--white);}
.ritual-page .add-button[aria-pressed="true"] {border-color: var(--espresso); background: var(--espresso); color: var(--white);}
.ritual-page .step-actions {display: flex; justify-content: flex-end; margin-top: 14px;}
.ritual-page .step-continue {min-height: 40px;
      padding: 9px 20px;
      border: 1px solid var(--espresso);
      border-radius: 4px;
      background: transparent;
      color: var(--espresso);
      font-size: 0.68rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background-color 160ms ease, color 160ms ease;}
.ritual-page .step-continue:hover {background: var(--espresso); color: var(--white);}
.ritual-page .ritual-tray {padding: 30px 28px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--off-white);}
.ritual-page .tray-head {margin-bottom: 6px;}
.ritual-page .tray-head .eyebrow {margin-bottom: 8px; text-align: left;}
.ritual-page .ritual-tray h3 {margin-bottom: 22px; font-family: var(--serif); font-size: 1.9rem; font-style: italic; font-weight: 400;}
.ritual-page .tray-empty {margin: 0 0 4px; color: var(--muted); font-size: 0.9rem; line-height: 1.5;}
.ritual-page .selected-list {display: grid; gap: 13px; margin: 0 0 22px; padding: 0 0 20px; border-bottom: 1px solid var(--line); list-style: none;}
.ritual-page .selected-list li {display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; font-size: 0.86rem; line-height: 1.35;}
.ritual-page .selected-list li span:last-child {font-weight: 400; white-space: nowrap;}
.ritual-page .selected-list .sel-note {grid-column: 1 / -1; margin-top: 2px; color: var(--muted); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase;}
.ritual-page .purchase-options {display: grid; gap: 10px;}
.ritual-page .purchase-option {position: relative;
      width: 100%;
      padding: 15px 15px 15px 44px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--white);
      color: var(--ink);
      text-align: left;
      cursor: pointer;
      transition: border-color 160ms ease, background-color 160ms ease;}
.ritual-page .purchase-option::before {position: absolute;
      top: 18px;
      left: 16px;
      width: 16px;
      height: 16px;
      border: 1px solid var(--espresso);
      border-radius: 50%;
      content: "";}
.ritual-page .purchase-option[aria-checked="true"] {border-color: var(--gold-line); background: var(--cream); box-shadow: inset 0 0 0 1px var(--gold-line);}
.ritual-page .purchase-option[aria-checked="true"]::after {position: absolute;
      top: 22px;
      left: 20px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--espresso);
      content: "";}
.ritual-page .option-main {display: flex; justify-content: space-between; gap: 12px; font-size: 0.86rem; font-weight: 400; line-height: 1.35;}
.ritual-page .option-price {white-space: nowrap;}
.ritual-page .option-sub {display: block; margin-top: 6px; color: var(--muted); font-size: 0.72rem; line-height: 1.45;}
.ritual-page .total-row {display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line);}
.ritual-page .total-label {font-size: 0.7rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase;}
.ritual-page .total-prices {display: flex; align-items: baseline; gap: 10px;}
.ritual-page .full-price {color: var(--muted); font-size: 0.86rem;}
.ritual-page .discounted-price {font-family: var(--serif); font-size: 1.7rem; font-weight: 400;}
.ritual-page .save-badge {display: inline-flex; margin: 12px 0 18px; padding: 6px 12px; border-radius: 999px; background: var(--blue); color: var(--ink); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.08em;}
.ritual-page .tray-button {width: 100%;}
.ritual-page .shipping-note, .ritual-page .cad-note, .ritual-page .sub-note {text-align: center;}
.ritual-page .shipping-note {margin: 12px 0 0; color: var(--muted); font-size: 0.74rem; letter-spacing: 0.06em;}
.ritual-page .cad-note {margin: 6px 0 0; color: var(--muted); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase;}
.ritual-page .sub-note {margin: 6px 0 0; color: var(--muted); font-size: 0.66rem; font-style: italic;}
.ritual-page .recharge-note {margin: 40px 0 0; color: var(--muted); font-family: var(--serif); font-size: 0.96rem; font-style: italic; text-align: center;}
.ritual-page .mobile-ritual-bar {display: none;}
.ritual-page /* Reasons (zig-zag, .ritual-page centered, .ritual-page luxurious) */
    .reasons {background: var(--off-white);}
.ritual-page .reasons .section-head {max-width: 900px;}
.ritual-page .reasons-title-sub {display: block; margin-top: 10px; font-size: clamp(0.95rem, 3.6vw, 1.5rem); font-weight: 400; letter-spacing: 0; line-height: 1.25; color: var(--muted);}
.ritual-page .reason-list {max-width: 1260px; margin: 0 auto; display: grid; gap: 10px;}
.ritual-page .reason {display: grid;
      gap: 30px;
      align-items: center;
      padding: 34px 0;}
.ritual-page .reason-figure {overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 3;}
.ritual-page .reason-figure img, .ritual-page .reason-figure video {display: block; width: 100%; height: 100%; object-fit: cover;}
.ritual-page .reason-copy {text-align: left;}
.ritual-page .reason-num {color: var(--ink);}
.ritual-page .reason h3 {font-size: clamp(1.7rem, 4.8vw, 2.5rem);}
.ritual-page .reason-body {max-width: 520px; margin: 16px 0 0; color: var(--muted); font-size: 1.08rem;}
.ritual-page /* scroll reveal (show, .ritual-page don't tell: let imagery arrive with motion) */
    body.reveal-ready .reveal {opacity: 0; transform: translateY(28px); transition: opacity 750ms ease, transform 750ms ease;}
.ritual-page.reveal-ready .reveal.in-view {opacity: 1; transform: none;}
.ritual-page /* living-photo motion for 2 reason images (gentle, .ritual-page gif-like) */
    @keyframes slowzoom {from { transform: scale(1); } to { transform: scale(1.1); }}
.ritual-page .reason-figure.has-motion img {animation: slowzoom 11s ease-in-out infinite alternate; transform-origin: center;}
.ritual-page .pull-quote {max-width: 540px;
      margin: 22px auto 0;
      padding: 6px 0;
      border-top: 1px solid var(--gold-line);
      border-bottom: 1px solid var(--gold-line);
      padding-block: 16px;
      font-family: var(--serif);
      font-size: 1.18rem;
      font-style: italic;
      line-height: 1.5;}
.ritual-page .quote-attribution {display: block; margin-top: 11px; color: var(--muted); font-family: var(--sans); font-size: 0.66rem; font-style: normal; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;}
.ritual-page .rating-row {display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 22px; font-size: 0.82rem; font-weight: 400; letter-spacing: 0.06em;}
.ritual-page /* Gift callout (floating bundle) */
    .gift-callout {background: var(--cream); overflow: hidden;}
.ritual-page .gift-inner {display: grid; gap: 20px; align-items: center; padding: 74px 0;}
.ritual-page .gift-figure {position: relative; display: grid; place-items: center; min-height: 420px;}
.ritual-page .gift-figure::before {position: absolute; z-index: 0; width: min(84%, 480px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(217,180,138,0.28), rgba(217,180,138,0) 70%); content: "";}
.ritual-page .gift-steam {position: absolute; z-index: 1; inset: 0; overflow: visible; pointer-events: none;}
.ritual-page .gift-steam span {position: absolute; bottom: 20%; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.9), rgba(255,255,255,0) 68%); filter: blur(16px); opacity: 0; animation: steam 8s ease-in-out infinite;}
.ritual-page .gift-steam span:nth-child(1) {left: 18%;}
.ritual-page .gift-steam span:nth-child(2) {left: 42%; width: 168px; height: 168px; animation-delay: 2.2s;}
.ritual-page .gift-steam span:nth-child(3) {left: 62%; animation-delay: 4s;}
.ritual-page .gift-steam span:nth-child(4) {left: 34%; width: 108px; height: 108px; animation-delay: 6s;}
@keyframes steam { 0% { opacity: 0; transform: translateY(34px) scale(0.85); } 25% { opacity: 0.8; } 60% { opacity: 0.5; } 100% { opacity: 0; transform: translateY(-96px) scale(1.4); } }
.ritual-page .gift-figure img {position: relative; z-index: 2; width: 100%; max-width: 1040px; height: auto; filter: drop-shadow(0 30px 40px rgba(70,68,68,0.24));}
.ritual-page .gift-text {text-align: center;}
.ritual-page .gift-text .eyebrow {color: var(--espresso);}
.ritual-page .gift-inner h3 {font-size: clamp(2.1rem, 6vw, 3.1rem);}
.ritual-page .gift-text > p {max-width: 460px; margin: 0 auto 18px; color: var(--muted); font-size: 1.08rem;}
.ritual-page .gift-text .pull-quote {margin-inline: auto;}
.ritual-page /* Reviews (Instagram-story format) */
    .reviews {background: var(--white);}
.ritual-page .story-scroller {display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 16px; overflow-x: auto; padding: 6px 4px 20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
.ritual-page .story-card {position: relative;
      scroll-snap-align: center;
      aspect-ratio: 9 / 16;
      overflow: hidden;
      border-radius: 16px;
      background: var(--espresso);}
.ritual-page .story-card img, .ritual-page .story-card video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.ritual-page .story-card::after {display: none;}
.ritual-page .story-top, .ritual-page .story-play, .ritual-page .story-caption {display: none !important;}
.ritual-page /* video-player look on each review card (mirrors the 10-reasons page) */
    .story-card img {animation: slowzoom 12s ease-in-out infinite alternate;}
.ritual-page .video-chrome {position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 10px; padding: 30px 13px 13px; background: linear-gradient(to top, rgba(15,12,10,0.86), rgba(15,12,10,0));}
.ritual-page .video-chrome svg {width: 15px; height: 15px; fill: #fff; flex: 0 0 auto;}
.ritual-page .vc-track {position: relative; flex: 1; height: 3px; border-radius: 3px; background: rgba(255,255,255,0.42); overflow: hidden;}
.ritual-page .vc-track > i {position: absolute; top: 0; bottom: 0; left: 0; border-radius: 3px; background: #fff;}
.ritual-page .vc-time {color: #fff; font-size: 0.66rem; letter-spacing: 0.02em; white-space: nowrap;}
.ritual-page .reviews .rating-row {justify-content: center;}
.ritual-page .reviews-sub {margin: 8px auto 0; color: var(--muted); font-size: 1rem;}
.ritual-page #reviews-title {font-size: clamp(1.9rem, 5vw, 3.3rem);}
@media (min-width: 760px) {
  .ritual-page #reviews-title {white-space: nowrap;}
}
.ritual-page .review-rail {position: relative;}
.ritual-page .review-arrow {position: absolute; z-index: 4; top: 44%; right: 4px; display: grid; width: 46px; height: 46px; transform: translateY(-50%); place-items: center; border: 0; border-radius: 50%; background: var(--white); box-shadow: 0 8px 22px rgba(70,68,68,0.22); color: var(--espresso); cursor: pointer;}
.ritual-page .review-arrow svg {width: 20px; height: 20px;}
.ritual-page .review-arrow:hover {background: var(--cream);}
@media (max-width: 767px) {
  .ritual-page .review-arrow {display: none;}
}
.ritual-page .story-top {position: absolute; z-index: 1; top: 16px; right: 16px; left: 16px; display: flex; align-items: center; justify-content: space-between;}
.ritual-page .story-progress {display: flex; gap: 4px; flex: 1;}
.ritual-page .story-progress span {flex: 1; height: 2px; border-radius: 2px; background: rgba(255,255,255,0.45);}
.ritual-page .story-progress span:first-child {background: rgba(255,255,255,0.95);}
.ritual-page .story-play {position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 60px; height: 60px; transform: translate(-50%, -50%); place-items: center; border-radius: 50%; background: rgba(255,255,255,0.22); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); border: 1px solid rgba(255,255,255,0.5);}
.ritual-page .story-play svg {width: 20px; height: 20px; margin-left: 3px; fill: var(--white);}
.ritual-page .story-caption {position: absolute; z-index: 1; right: 18px; bottom: 20px; left: 18px; color: var(--white);}
.ritual-page .story-caption .stars {display: block; margin-bottom: 8px;}
.ritual-page .story-caption blockquote {margin: 0 0 12px; font-family: var(--serif); font-size: 1.02rem; font-style: italic; line-height: 1.45;}
.ritual-page .story-byline {display: flex; align-items: center; gap: 8px; font-size: 0.72rem;}
.ritual-page .story-byline strong {font-weight: 500;}
.ritual-page .story-byline span {color: rgba(255,255,255,0.72);}
.ritual-page .story-hint {margin: 6px 0 0; color: var(--muted); font-size: 0.72rem; font-style: italic; text-align: center;}
.ritual-page /* FAQ */
    .faq-section {background: var(--mist);}
.ritual-page .faq-list {max-width: 860px; margin: 0 auto; border-top: 1px solid rgba(26,26,26,0.28);}
.ritual-page .faq-item {border-bottom: 1px solid rgba(26,26,26,0.28);}
.ritual-page .faq-question {display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 24px 2px;
      border: 0;
      background: transparent;
      color: var(--ink);
      font-family: var(--serif);
      font-size: 1.2rem;
      line-height: 1.3;
      text-align: left;
      cursor: pointer;}
.ritual-page .faq-answer {padding: 0 40px 24px 2px;}
.ritual-page .faq-answer p {margin-bottom: 0; color: #3A3D3B; font-size: 0.96rem;}
.ritual-page .faq-mark {flex: 0 0 24px; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; text-align: center; color: var(--espresso);}
.ritual-page /* Final CTA */
    .final-cta {position: relative; overflow: hidden; padding: 120px 0; text-align: center;}
.ritual-page .final-cta-media {position: absolute; inset: 0;}
.ritual-page .final-cta-media img {width: 100%; height: 100%; object-fit: cover; object-position: center 46%;}
.ritual-page .final-cta-media::after {position: absolute; inset: 0; background: rgba(50, 47, 47, 0.8); content: "";}
.ritual-page .final-cta .container {position: relative; z-index: 1;}
.ritual-page .final-cta .eyebrow {color: var(--sand);}
.ritual-page .final-cta h2 {color: var(--white);}
.ritual-page .final-cta .hairline {background: var(--sand);}
.ritual-page .reassurance {display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin: 32px 0 0; color: rgba(255,255,255,0.86); font-size: 0.74rem; letter-spacing: 0.06em;}
.ritual-page .reassurance span[aria-hidden] {color: var(--sand);}
.ritual-page /* Footer (mirrors bathorium.com) */
    .site-footer {padding: 72px 0 30px; background: var(--white); border-top: 1px solid var(--hairline);}
.ritual-page .footer-top {display: grid; gap: 42px 32px; grid-template-columns: 1fr;}
.ritual-page .footer-logo {width: 176px; height: auto;}
.ritual-page .footer-tagline {margin: 10px 0 0; color: var(--gold-line); font-family: var(--serif); font-style: italic; font-size: 1.02rem;}
.ritual-page .footer-social-label {margin: 24px 0 12px; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--espresso);}
.ritual-page .footer-social {display: flex; gap: 12px;}
.ritual-page .footer-social a {display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--espresso);}
.ritual-page .footer-social svg {width: 17px; height: 17px; fill: currentColor;}
.ritual-page .footer-col h4 {margin: 0 0 16px; font-family: var(--sans); font-size: 0.76rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink);}
.ritual-page .footer-col ul {margin: 0; padding: 0; list-style: none; display: grid; gap: 11px;}
.ritual-page .footer-col li {color: var(--muted); font-size: 0.92rem;}
.ritual-page .footer-col a {color: var(--muted); font-size: 0.92rem; text-decoration: none;}
.ritual-page .footer-col a:hover {color: var(--espresso);}
.ritual-page .footer-bottom {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--hairline);}
.ritual-page .footer-meta {display: flex; flex-wrap: wrap; align-items: center; gap: 18px; color: var(--muted); font-size: 0.74rem; letter-spacing: 0.06em;}
.ritual-page .footer-pay {display: flex; flex-wrap: wrap; gap: 7px;}
.ritual-page .footer-pay span {display: grid; place-items: center; min-width: 42px; height: 27px; padding: 0 8px; border: 1px solid var(--hairline); border-radius: 5px; background: var(--off-white); color: #6b6867; font-size: 0.58rem; font-weight: 600; letter-spacing: 0.03em;}
@media (min-width: 760px) {
  .ritual-page .footer-top {grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 44px;}
}
.ritual-page /* Responsive */
    @media (min-width: 560px) {.container { width: min(100% - 52px, 1200px); }
      .craft-menu { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .story-scroller { grid-auto-columns: 46%; }}
@media (min-width: 700px) {
  .ritual-page .product-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (min-width: 760px) {
  .ritual-page .section {padding: 128px 0;}
  .ritual-page .header-inner {min-height: 76px;}
  .ritual-page .header-logo {width: 162px;}
  .ritual-page .reason {grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.4fr); gap: 60px; padding: 60px 0;}
  .ritual-page .reason .reason-figure {order: 2;}
  .ritual-page .reason-reverse {grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.82fr);}
  .ritual-page .reason-reverse .reason-figure {order: 0;}
  .ritual-page .gift-inner {grid-template-columns: minmax(0, 1.85fr) minmax(0, 0.8fr); gap: 44px; padding: 100px 0;}
  .ritual-page .gift-figure {min-height: 520px; justify-self: stretch; width: 100%;}
  .ritual-page .story-scroller {grid-auto-columns: 30%;}
}
@media (min-width: 980px) {
  .ritual-page .craft-menu {grid-template-columns: repeat(4, minmax(0,1fr));}
  .ritual-page .builder-layout {grid-template-columns: minmax(0, 1.7fr) minmax(330px, 0.85fr); gap: 46px;}
  .ritual-page .ritual-tray {position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow-y: auto;}
  .ritual-page .story-scroller {grid-auto-columns: 22.5%; overflow-x: auto; grid-auto-flow: column;}
}
@media (max-width: 767px) {
  .ritual-page .hero-inner {min-height: 90vh;}
  .ritual-page .hero-media img {object-position: 70% 40%;}
  .ritual-page .builder {padding-bottom: 150px;}
  .ritual-page /* 5-reasons: square media with small side padding + rounded corners, .ritual-page centered title, .ritual-page left-aligned reason copy */
      .reason-copy {text-align: left;}
  .ritual-page .reason-figure {aspect-ratio: 1 / 1; width: calc(100vw - 34px); margin-inline: calc(50% - 50vw + 17px);}
  .ritual-page #reasons-title {font-size: clamp(1.5rem, 7.7vw, 1.95rem);}
  .ritual-page /* Gift image: full-bleed and huge on mobile */
      .gift-figure {min-height: 0; width: 100vw; margin-inline: calc(50% - 50vw);}
  .ritual-page .gift-figure::before {display: none;}
  .ritual-page .gift-figure img {width: 100%; max-width: none;}
  .ritual-page .ritual-tray {padding: 0; border: 0; background: transparent;}
  .ritual-page .ritual-tray > :not(.purchase-options):not(.cad-note):not(.sub-note) {display: none;}
  .ritual-page .ritual-tray .purchase-options {padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--off-white);}
  .ritual-page .ritual-tray .cad-note, .ritual-page .ritual-tray .sub-note {margin-top: 8px;}
  .ritual-page .mobile-ritual-bar {position: fixed;
        z-index: 70;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(70px, auto) minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        min-height: 72px;
        padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
        border-top: 1px solid var(--espresso);
        background: var(--white);
        opacity: 0;
        visibility: hidden;
        transform: translateY(100%);
        pointer-events: none;
        transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;}
  .ritual-page.builder-active .mobile-ritual-bar {opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}
  .ritual-page .mobile-summary {display: grid; line-height: 1.25;}
  .ritual-page .mobile-summary span:first-child {color: var(--muted); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase;}
  .ritual-page .mobile-total {font-family: var(--serif); font-size: 1.24rem;}
  .ritual-page .mobile-button {min-height: 50px; padding-inline: 14px;}
}
@media (max-width: 767px) {
  .ritual-page .benefit-item {font-size: 0.8rem; gap: 10px; padding: 0 22px;}
  .ritual-page .benefit-item svg {flex: 0 0 22px; width: 22px; height: 22px;}
  .ritual-page .benefit-strip .marquee-track {padding: 18px 0;}
  .ritual-page .craft-menu {gap: 44px 24px;}
  .ritual-page .seen-strip {padding: 34px 0;}
  .ritual-page .seen-track-wrap {margin-top: 18px;}
  .ritual-page .seen-item {padding: 0 30px;}
  .ritual-page .seen-logo {height: 24px;}
  .ritual-page .seen-logo-tall {height: 38px;}
  .ritual-page .seen-seal {height: 48px;}
}
@media (max-width: 374px) {
  .ritual-page .container {width: min(100% - 26px, 1200px);}
  .ritual-page .step-trigger {padding-inline: 14px;}
  .ritual-page .product-card {grid-template-columns: 62px minmax(0,1fr) auto; gap: 10px; padding: 10px;}
  .ritual-page .product-tile {width: 62px; height: 62px;}
  .ritual-page .add-button {min-width: 52px; padding-inline: 9px;}
  .ritual-page .ritual-tray {padding: 22px 16px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  .ritual-page *, .ritual-page *::before, .ritual-page *::after {transition-duration: 0.01ms !important;}
  .ritual-page .marquee-track {animation: none;}
  .ritual-page .gift-steam span {animation: none; opacity: 0.5;}
  .ritual-page .reason-figure.has-motion img, .ritual-page .story-card img {animation: none !important;}
  .ritual-page.reveal-ready .reveal {opacity: 1; transform: none;}
}