.home-hero { min-height: calc(100svh - 5rem); display: grid; align-items: center; gap: var(--space-7); padding-top: var(--space-7); }
.home-hero__copy { position: relative; z-index: 2; }
.home-hero h1 { max-width: 9ch; margin: var(--space-4) 0 var(--space-5); font-size: var(--text-hero); letter-spacing: -.04em; }
.home-hero h1 em, .inner-hero h1 em { color: var(--color-coral); font-weight: 400; }
.home-hero__visual { position: relative; max-width: 36rem; justify-self: center; }
.home-hero__visual::before { content: ''; position: absolute; width: 84%; aspect-ratio: 1; border-radius: var(--radius-organic); background: var(--color-lilac); inset: 8% 4% auto auto; transform: rotate(-7deg); }
.organic-image { position: relative; border-radius: 44% 56% 30% 70% / 58% 32% 68% 42%; box-shadow: var(--shadow-soft); }
.orbit-label { position: absolute; right: -1rem; top: 1rem; z-index: 2; width: 6rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--color-coral); text-align: center; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transform: rotate(7deg); }
.proof-strip { padding: var(--space-5) var(--gutter); border-block: 1px solid var(--color-line); display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-7); align-items: center; }
.proof-strip p { margin: 0; font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.proof-strip div { display: flex; flex-wrap: wrap; gap: var(--space-5); color: var(--color-muted); font-size: var(--text-sm); }
.proof-strip span::before { content: '●'; color: var(--color-coral); margin-right: .5rem; font-size: .55rem; }
.benefits { display: grid; gap: var(--space-7); }
.editorial-list { border-top: 1px solid var(--color-line); }
.editorial-list__item { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-4); padding: var(--space-6) 0; border-bottom: 1px solid var(--color-line); }
.editorial-list__item > span { color: var(--color-coral); font-size: var(--text-xs); font-weight: 700; }
.editorial-list__item h3 { font-size: var(--text-xl); margin: 0; }
.editorial-list__item p { grid-column: 2; color: var(--color-muted); max-width: 34rem; }
.ritual { background: var(--color-sage); width: 100%; max-width: none; }
.ritual > * { max-width: 38rem; }
.tall-image, .about-story img, .how-to img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius-lg) var(--radius-lg) 10rem var(--radius-lg); }
.ritual__copy h2, .how-to__copy h2, .mechanism__copy h2, .about-story h2 { font-size: var(--text-2xl); margin: var(--space-4) 0 var(--space-6); }
.ritual-steps { list-style: none; padding: 0; }
.ritual-steps li { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-4); padding: var(--space-5) 0; border-top: 1px solid var(--color-line); }
.ritual-steps h3 { font-family: var(--font-body); font-size: var(--text-base); font-weight: 700; }
.ritual-steps p { color: var(--color-muted); }
.ingredients { display: grid; gap: var(--space-7); }
.ingredients__intro h2 { font-size: var(--text-2xl); max-width: 11ch; margin: var(--space-4) 0; }
.ingredients__intro > p:last-child { max-width: 38rem; color: var(--color-muted); }
.ingredients__visual img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); }
.ingredient-lines { display: grid; border-top: 1px solid var(--color-line); }
.ingredient-lines article { padding: var(--space-5) 0; border-bottom: 1px solid var(--color-line); }
.ingredient-lines h3 { font-family: var(--font-body); font-size: var(--text-base); font-weight: 700; }
.ingredient-lines p { color: var(--color-muted); max-width: 36rem; }
.manifesto-block { background: var(--color-lilac); max-width: none; text-align: center; }
.manifesto-block blockquote { max-width: 1050px; margin: var(--space-6) auto; font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.06; }
.manifesto-block > p:last-child { max-width: 36rem; margin-inline: auto; color: var(--color-muted); }
.review-placeholders { display: grid; gap: var(--space-4); }
.review-placeholders article { min-height: 15rem; padding: var(--space-6); background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-md); display: flex; flex-direction: column; justify-content: space-between; }
.review-placeholders article:nth-child(2) { background: var(--color-lilac); }
.review-placeholders p { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.15; }
.review-placeholders span { font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.closing-cta { text-align: center; }
.closing-cta h2 { max-width: 12ch; margin: var(--space-5) auto; font-size: var(--text-2xl); }
.closing-cta > p:not(.eyebrow) { max-width: 36rem; margin: 0 auto var(--space-6); }
.closing-cta--coral { max-width: none; background: var(--color-coral); }

.product-hero { display: grid; gap: var(--space-7); }
.product-hero__gallery { position: relative; background: var(--color-lilac); border-radius: var(--radius-lg); overflow: hidden; }
.product-hero__gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.product-hero__stamp { position: absolute; right: 1rem; bottom: 1rem; width: 5rem; aspect-ratio: 1; border-radius: 50%; background: var(--color-coral); display: grid; place-items: center; text-align: center; font-size: var(--text-xs); font-weight: 700; }
.product-hero__copy h1 { font-size: var(--text-hero); margin: var(--space-3) 0 0; }
.product-subtitle { font-size: var(--text-xl); font-family: var(--font-display); }
.price { font-size: var(--text-xl); font-weight: 700; }
.microcopy, .formula-note, .comparison-note { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--color-muted); }
.tension { border-block: 1px solid var(--color-line); }
.tension__grid { display: grid; gap: var(--space-6); }
.tension h2 { font-size: var(--text-2xl); max-width: 12ch; }
.tension__grid > div { max-width: 40rem; font-size: var(--text-lg); }
.tension__grid > div p:last-child { font-weight: 700; }
.mechanism { background: var(--color-ink); color: var(--color-paper); max-width: none; }
.mechanism__copy { max-width: 38rem; justify-self: end; }
.mechanism__copy > p { color: var(--color-paper-muted); }
.mechanism-notes { margin-top: var(--space-6); border-top: 1px solid var(--color-paper-line); }
.mechanism-notes p { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-paper-line); }
.mechanism-notes strong { display: block; color: var(--color-coral); }
.mechanism__visual img { width: 100%; border-radius: var(--radius-organic); }
.formula { background: var(--color-paper); max-width: none; }
.formula-list { display: grid; border-top: 1px solid var(--color-line); }
.formula-list article { display: grid; grid-template-columns: 2.5rem 1fr; gap: .5rem var(--space-4); padding: var(--space-5) 0; border-bottom: 1px solid var(--color-line); }
.formula-list article > span { color: var(--color-coral); font-size: var(--text-xs); }
.formula-list h3 { font-size: var(--text-xl); margin: 0; }
.formula-list p, .formula-list small { grid-column: 2; }
.formula-list p { font-weight: 600; }
.formula-list small { color: var(--color-muted); }
.how-to ol { counter-reset: ritual; list-style: none; padding: 0; }
.how-to li { counter-increment: ritual; padding: var(--space-4) 0 var(--space-4) 3rem; position: relative; border-top: 1px solid var(--color-line); }
.how-to li::before { content: counter(ritual, decimal-leading-zero); position: absolute; left: 0; color: var(--color-coral); font-size: var(--text-xs); font-weight: 700; }
.comparison { background: var(--color-sage); max-width: none; }
.guarantee { display: grid; gap: var(--space-6); background: var(--color-lilac); max-width: none; }
.guarantee > div:first-child { display: flex; align-items: baseline; gap: var(--space-3); }
.guarantee__number { font-family: var(--font-display); font-size: clamp(7rem, 20vw, 14rem); line-height: .7; }
.guarantee h2 { font-size: var(--text-2xl); }
.mobile-buy { position: fixed; z-index: 15; inset: auto .75rem .75rem; min-height: 3.5rem; padding: .8rem 1rem; border-radius: 999px; background: var(--color-coral); color: var(--color-ink); display: flex; justify-content: space-between; align-items: center; text-decoration: none; box-shadow: var(--shadow-soft); }

.shop-hero { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; }
.shop-hero h1 { max-width: 11ch; margin: var(--space-4) 0 var(--space-5); font-size: var(--text-hero); letter-spacing: -.04em; }
.shop-hero h1 em { display: block; color: var(--color-coral); font-weight: 400; }
.shop-section { padding-top: 0; }
.shop-grid { display: grid; gap: var(--space-8) var(--space-5); }
.shop-card { display: grid; gap: var(--space-5); }
.shop-card__image { display: block; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-sage); }
.shop-card__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform var(--transition-slow); }
.shop-card__image:hover img { transform: scale(1.015); }
.shop-card__copy h2 { margin: var(--space-3) 0; font-size: var(--text-xl); }
.shop-card__copy h2 a { text-decoration: none; }
.shop-card__copy > p:not(.eyebrow) { color: var(--color-muted); }
.shop-card__meta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); border-top: 1px solid var(--color-line); }
.shop-card__meta strong { font-size: var(--text-lg); }

.support-product-hero { min-height: calc(100svh - 5rem); }
.support-product-visual { overflow: hidden; border-radius: var(--radius-lg); background: var(--color-lilac); }
.support-product-visual img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.support-product-copy { max-width: 34rem; }
.support-product-copy h1 { margin: var(--space-3) 0 0; font-size: var(--text-hero); }
.support-details { background: var(--color-paper); max-width: none; }
.support-detail-lines { display: grid; border-top: 1px solid var(--color-line); }
.support-detail-lines article { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-3) var(--space-4); padding: var(--space-6) 0; border-bottom: 1px solid var(--color-line); }
.support-detail-lines span { color: var(--color-coral); font-size: var(--text-xs); font-weight: 700; }
.support-detail-lines h3 { margin: 0; font-size: var(--text-xl); }
.support-detail-lines p { grid-column: 2; max-width: 28rem; color: var(--color-muted); }
.support-how-to { display: grid; gap: var(--space-7); }
.support-how-to h2, .pairing-block h2 { margin: var(--space-4) 0; font-size: var(--text-2xl); }
.support-how-to ol { margin: 0; padding: 0; list-style: none; counter-reset: support-step; border-top: 1px solid var(--color-line); }
.support-how-to li { counter-increment: support-step; position: relative; padding: var(--space-5) 0 var(--space-5) 3.25rem; border-bottom: 1px solid var(--color-line); }
.support-how-to li::before { content: counter(support-step, decimal-leading-zero); position: absolute; left: 0; color: var(--color-coral); font-size: var(--text-xs); font-weight: 700; }
.pairing-block { max-width: none; background: var(--color-sage); }
.pairing-block h2, .pairing-block > p:not(.eyebrow) { max-width: 42rem; }

.cart-hero { padding-bottom: var(--space-7); }
.cart-hero h1 { margin: var(--space-4) 0; font-size: var(--text-hero); }
.cart-layout { padding-top: 0; }
.cart-empty { padding: var(--space-8); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-paper); }
.cart-empty h2 { margin: var(--space-4) 0; font-size: var(--text-2xl); }
.cart-empty .button { margin-top: var(--space-5); }
.cart-items-panel { display: grid; gap: var(--space-7); }
.cart-items-panel > div > h2, .cart-summary h2 { margin-bottom: var(--space-6); font-size: var(--text-xl); }
.cart-items { border-top: 1px solid var(--color-line); }
.cart-line { display: grid; grid-template-columns: 6.5rem 1fr; gap: var(--space-4); padding: var(--space-5) 0; border-bottom: 1px solid var(--color-line); }
.cart-line__image { overflow: hidden; border-radius: var(--radius-sm); background: var(--color-sage); }
.cart-line__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cart-line__info h3 { margin: .25rem 0; font-size: var(--text-lg); }
.cart-line__info h3 a { text-decoration: none; }
.cart-line__info p { margin-bottom: .25rem; }
.cart-line__actions { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); }
.quantity-control { display: inline-grid; grid-template-columns: 2.75rem 2.5rem 2.75rem; align-items: center; border: 1px solid var(--color-line); border-radius: 999px; overflow: hidden; text-align: center; }
.quantity-control button { min-height: 2.75rem; border: 0; background: transparent; cursor: pointer; }
.quantity-control button:hover { background: var(--color-lilac); }
.cart-remove { min-height: 2.75rem; border: 0; background: transparent; text-decoration: underline; text-underline-offset: .25rem; cursor: pointer; }
.cart-summary { align-self: start; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-lilac); }
.cart-summary dl { margin: 0 0 var(--space-6); }
.cart-summary dl div { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--color-line); }
.cart-summary dd { margin: 0; text-align: right; }
.cart-checkout { width: 100%; }
.cart-summary > p { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--color-muted); }
.cart-continue { min-height: 44px; display: inline-flex; align-items: center; margin-top: var(--space-4); font-size: var(--text-sm); }

.inner-hero { min-height: 62vh; display: flex; flex-direction: column; justify-content: center; }
.inner-hero h1 { font-size: var(--text-hero); max-width: 11ch; margin: var(--space-4) 0; }
.about-story > div:last-child { max-width: 38rem; }
.value-lines { border-top: 1px solid var(--color-line); }
.value-lines article { display: grid; gap: var(--space-4); padding: var(--space-6) 0; border-bottom: 1px solid var(--color-line); }
.value-lines h2 { font-size: var(--text-xl); }
.value-lines p { max-width: 36rem; color: var(--color-muted); }
.contact-layout { display: grid; gap: var(--space-7); }
.contact-details h2 { font-size: var(--text-2xl); }
.contact-details > a { font-size: var(--text-lg); text-decoration-color: var(--color-coral); text-underline-offset: .4rem; }
.response-note { margin-top: var(--space-6); color: var(--color-muted); }
.contact-form { display: grid; gap: var(--space-5); padding: var(--space-6); background: var(--color-paper); border-radius: var(--radius-lg); }
.contact-form label { display: grid; gap: var(--space-2); font-size: var(--text-sm); font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid var(--color-ink); background: transparent; padding: .8rem 0; border-radius: 0; }
.contact-form p { color: var(--color-muted); font-size: var(--text-xs); }
.faq-page { padding-top: 0; }
.legal-page { display: grid; gap: var(--space-8); }
.legal-page h1 { font-size: var(--text-2xl); margin: var(--space-4) 0; }
.updated { font-size: var(--text-xs); color: var(--color-muted); }
.legal-content { max-width: 50rem; }
.legal-content section { padding: var(--space-5) 0; border-top: 1px solid var(--color-line); }
.legal-content h2 { font-family: var(--font-body); font-size: var(--text-lg); font-weight: 700; }
.legal-content p, .legal-content li { color: var(--color-muted); }

@media (min-width: 760px) {
  .home-hero { grid-template-columns: minmax(0, 7fr) minmax(22rem, 5fr); }
  .benefits { grid-template-columns: 5fr 7fr; }
  .ingredients { grid-template-columns: 5fr 7fr; }
  .ingredients__visual { grid-column: 2; }
  .ingredient-lines { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
  .ingredient-lines article { padding-right: var(--space-5); }
  .review-placeholders { grid-template-columns: repeat(2, 1fr); }
  .product-hero { grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); align-items: center; }
  .tension__grid { grid-template-columns: 7fr 5fr; }
  .formula-list { grid-template-columns: repeat(4, 1fr); }
  .formula-list article { display: flex; flex-direction: column; padding-right: var(--space-5); }
  .formula-list p, .formula-list small { grid-column: auto; }
  .guarantee { grid-template-columns: 5fr 7fr; align-items: center; }
  .value-lines article { grid-template-columns: 5fr 7fr; }
  .contact-layout { grid-template-columns: 5fr 7fr; }
  .legal-page { grid-template-columns: 5fr 7fr; }
  .mobile-buy { display: none; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-card--hero { grid-column: 1 / -1; grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr); align-items: center; padding-bottom: var(--space-7); border-bottom: 1px solid var(--color-line); }
  .shop-card--hero .shop-card__image { max-width: 44rem; }
  .support-detail-lines { grid-template-columns: repeat(3, 1fr); }
  .support-detail-lines article { display: flex; flex-direction: column; padding-right: var(--space-5); }
  .support-detail-lines p { grid-column: auto; }
  .support-how-to { grid-template-columns: 5fr 7fr; }
  .cart-items-panel { grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); }
}

@media (max-width: 759px) {
  .review-placeholders article:nth-child(n+3) { display: none; }
  .orbit-label { right: 0; }
  .product-hero { padding-top: var(--space-7); }
  .closing-cta--coral { padding-bottom: 8rem; }
  .cart-empty { padding: var(--space-6); }
}
