.page-index .site-header { display: none; }
.home-hero { --hero-unit: min(1vw, 1.2rem); position: relative; isolation: isolate; height: calc(66.6667 * var(--hero-unit)); overflow: hidden; background: #f8f3eb; color: var(--ink); }
.home-hero__background { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; }
.home-hero__header { position: absolute; z-index: 6; inset: 0 0 auto; height: 9.8%; }
.home-hero__brand { position: absolute; left: 5.6%; top: 28%; font: 600 calc(2.72 * var(--hero-unit))/1 var(--serif); white-space: nowrap; }
.home-hero__nav { position: absolute; left: 25.3%; top: 40%; display: flex; align-items: center; gap: calc(2.5 * var(--hero-unit)); }
.home-hero__nav a { font: 500 calc(1.1 * var(--hero-unit))/1.4 var(--sans); white-space: nowrap; }
.home-hero__nav a:hover, .home-hero__brand:hover { color: var(--bronze); }
.home-hero__actions { position: absolute; top: 24%; right: 5.3%; display: flex; align-items: center; gap: calc(2.15 * var(--hero-unit)); }
.home-hero__cart { position: relative; display: grid; place-items: center; width: calc(2.734 * var(--hero-unit)); height: calc(3.125 * var(--hero-unit)); }
.home-hero__cart svg { width: calc(1.758 * var(--hero-unit)); height: calc(1.758 * var(--hero-unit)); }
.home-hero__cart [data-cart-count] { position: absolute; top: calc(-.195 * var(--hero-unit)); right: calc(-.391 * var(--hero-unit)); display: grid; place-items: center; min-width: calc(1.237 * var(--hero-unit)); height: calc(1.237 * var(--hero-unit)); padding: 0 calc(.195 * var(--hero-unit)); border-radius: calc(1.3 * var(--hero-unit)); background: var(--bronze); color: white; font: 700 max(0.5625rem, calc(.716 * var(--hero-unit))) var(--sans); }
.home-hero__cart [data-cart-count][hidden] { display: none; }
.home-hero__menu { display: flex; flex-direction: column; justify-content: center; gap: calc(.456 * var(--hero-unit)); width: calc(2.865 * var(--hero-unit)); height: calc(3.125 * var(--hero-unit)); padding: calc(.26 * var(--hero-unit)); border: 0; background: transparent; }
.home-hero__menu span { display: block; width: calc(2.344 * var(--hero-unit)); height: max(0.0625rem, calc(.098 * var(--hero-unit))); background: var(--ink); }
.home-hero__content { position: absolute; z-index: 2; top: 18.3%; left: 6.45%; width: 40%; }
.home-hero__eyebrow { display: block; margin-bottom: calc(.911 * var(--hero-unit)); color: #957443; font: 600 calc(1.32 * var(--hero-unit))/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.home-hero h1 { margin: 0 0 calc(1.432 * var(--hero-unit)); font: 500 calc(6.1 * var(--hero-unit))/.84 var(--serif); letter-spacing: -.025em; }
.home-hero__content p { max-width: calc(30.6 * var(--hero-unit)); margin: calc(1.823 * var(--hero-unit)) 0 calc(2.279 * var(--hero-unit)); color: #30373d; font: 400 calc(1.55 * var(--hero-unit))/1.4 var(--sans); }
.home-hero__buttons { display: grid; gap: calc(.977 * var(--hero-unit)); max-width: calc(23.438 * var(--hero-unit)); }
.home-hero__button { display: flex; align-items: center; justify-content: space-between; gap: calc(.521 * var(--hero-unit)); height: calc(3.971 * var(--hero-unit)); padding: 0 calc(2.865 * var(--hero-unit)) 0 calc(3.255 * var(--hero-unit)); border: 0.0625rem solid #6a7b88; border-radius: calc(.586 * var(--hero-unit)); color: var(--ink); background: #ffffff2e; font: 500 calc(1.107 * var(--hero-unit))/1.2 var(--sans); letter-spacing: .055em; text-transform: uppercase; }
.home-hero__button:hover { background: #f5eee4; }
.home-hero__button--dark { border-color: var(--ink); color: white; background: #102b43; }
.home-hero__button--dark:hover { background: #27445e; }
.home-hero__button svg { display: block; width: calc(2.25 * var(--hero-unit)); height: calc(1.04 * var(--hero-unit)); flex: none; }
.home-hero__scroll { display: inline-flex; align-items: center; gap: calc(2.083 * var(--hero-unit)); margin: calc(1.823 * var(--hero-unit)) 0 0 calc(1.563 * var(--hero-unit)); font: 500 calc(.977 * var(--hero-unit))/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; }
.home-hero__scroll:before { content: ''; display: block; height: calc(3.906 * var(--hero-unit)); border-left: 0.0625rem solid var(--ink); }
.home-hero__proof { position: absolute; z-index: 3; right: 4.3%; top: 48.2%; display: flex; align-items: center; gap: calc(1.823 * var(--hero-unit)); width: 19.1%; padding: calc(1.237 * var(--hero-unit)) calc(1.302 * var(--hero-unit)); border-radius: calc(.846 * var(--hero-unit)); background: #fffdf8e8; box-shadow: 0 0.75rem 2rem #2834441e; font: 500 calc(.977 * var(--hero-unit))/1.35 var(--sans); }
.home-hero__proof .icon { width: calc(3.581 * var(--hero-unit)); height: calc(3.581 * var(--hero-unit)); flex: 0 0 auto; color: var(--bronze); }
.home-hero__wave { position: absolute; z-index: 4; bottom: -0.0625rem; left: 0; width: 100%; height: 14.7%; fill: var(--paper); pointer-events: none; }
.home-hero__next { position: absolute; z-index: 5; bottom: calc(.911 * var(--hero-unit)); left: 0; width: 100%; display: grid; justify-items: center; gap: calc(.26 * var(--hero-unit)); font: 500 calc(3.45 * var(--hero-unit))/1 var(--serif); }
.home-hero__next .icon { width: calc(1.693 * var(--hero-unit)); height: calc(1.693 * var(--hero-unit)); color: var(--bronze); }
@media (max-width: 1100px) and (min-width: 701px) { .home-hero__nav { gap: 1.7vw; } .home-hero__content { width: 45%; } .home-hero__proof { width: 24%; } }
@media (max-width: 700px) {
  .home-hero { height: 48svh; min-height: 22.5rem; max-height: 30.625rem; }
  .home-hero__background { object-position: 12% top; }
  .home-hero__header { height: 3.125rem; }
  .home-hero__brand { left: 2%; top: 0.625rem; font-size: 1.09375rem; }
  .home-hero__nav { display: flex; left: 32.7%; top: 0.875rem; gap: 0.5rem; }
  .home-hero__nav a { font-size: 0.375rem; }
  .home-hero__actions { top: 0.25rem; right: 0.3125rem; gap: 0.1875rem; }
  .home-hero__cart, .home-hero__menu { width: 2.5rem; height: 2.625rem; border-radius: 50%; background: #fffdf9dd; }
  .home-hero__cart svg { width: 1.3125rem; height: 1.3125rem; }
  .home-hero__cart [data-cart-count] { right: 0; top: -0.0625rem; width: 0.875rem; min-width: 0.875rem; height: 0.875rem; font-size: 0.5rem; }
  .home-hero__menu { gap: 0.25rem; align-items: center; padding: 0; }
  .home-hero__menu span { width: 1.3125rem; height: 0.0625rem; }
  .home-hero__content { top: 18.8%; left: 3.5%; width: 55%; }
  .home-hero__eyebrow { margin-bottom: 0.25rem; font-size: 0.5rem; line-height: 1.4; letter-spacing: .1em; }
  .home-hero h1 { margin-bottom: 1rem; font-size: clamp(2.125rem, 10vw, 2.4375rem); line-height: .78; letter-spacing: -.02em; }
  .home-hero__content p { width: 11.875rem; max-width: 11.875rem; margin: 0.4375rem 0 0.625rem; font-size: 0.59375rem; line-height: 1.3; }
  .home-hero__buttons { max-width: 8.875rem; gap: 0.4375rem; }
  .home-hero__button { height: 1.5625rem; padding: 0 0.75rem; border-radius: 0.25rem; font-size: 0.48125rem; letter-spacing: .04em; gap: 0.125rem; }
  .home-hero__button svg { width: 0.875rem; height: 0.4375rem; }
  .home-hero__scroll { gap: 0.75rem; margin: 0.6875rem 0 0 0.5625rem; font-size: 0.40625rem; }
  .home-hero__scroll:before { height: 1.9375rem; }
  .home-hero__proof { top: 73.5%; right: 3%; width: 64%; min-height: 3.375rem; gap: 0.25rem; padding: 0.5rem 0.625rem; border-radius: 0.625rem; font-size: 0.825rem; }
  .home-hero__proof .icon { width: 1.375rem; height: 1.375rem; }
  .home-hero__proof span br { display: none; }
  .home-hero__wave { height: 14%; }
  .home-hero__next { bottom: 0.125rem; left: 23vw; gap: 0; font-size: 1.5rem; }
  .home-hero__next .icon { width: 0.875rem; height: 0.875rem; }
}

/* A phone layout for the homepage, independent of the desktop composition. */
@media (max-width: 700px) {
  .page-index .wrap { width: calc(100% - 2.5rem); }
  .page-index .section { padding: 4rem 0; }
  .page-index h2 { font-size: clamp(2.125rem, 9vw, 2.625rem); line-height: .98; }
  .page-index .eyebrow { font-size: 0.6875rem; line-height: 1.5; letter-spacing: .12em; }
  .page-index .button { width: 100%; min-height: 3.25rem; padding: 0.75rem 1.125rem; font-size: 0.8125rem; line-height: 1.35; }

  .page-index .home-hero { display: block; height: auto; min-height: 0; max-height: none; padding-top: clamp(19.375rem, 85vw, 22.5rem); background: #f8f3eb; }
  .page-index .home-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, #f8f3eb00 0%, #f8f3eb0d 21%, #f8f3ebeb 39%, #f8f3eb 56%); pointer-events: none; }
  .page-index .home-hero__header { inset: 0 0 auto; height: 4rem; }
  .page-index .home-hero__brand { left: 1.25rem; top: 1.1875rem; font-size: 1.5625rem; }
  .page-index .home-hero__nav { display: none; }
  .page-index .home-hero__actions { top: 0.625rem; right: 1rem; gap: 0.25rem; }
  .page-index .home-hero__cart,
  .page-index .home-hero__menu { width: 2.75rem; height: 2.75rem; background: #fffdf9e8; }
  .page-index .home-hero__cart svg { width: 1.4375rem; height: 1.4375rem; }
  .page-index .home-hero__cart [data-cart-count] { width: 1.125rem; min-width: 1.125rem; height: 1.125rem; font-size: 0.625rem; }
  .page-index .home-hero__menu span { width: 1.375rem; height: 0.09375rem; }
  .page-index .home-hero__background { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% top; }
  .page-index .home-hero__content { position: relative; top: auto; left: auto; z-index: 2; width: 100%; padding: 0 1.25rem 1.25rem; }
  .page-index .home-hero__eyebrow { margin-bottom: 0.75rem; font-size: 0.6875rem; line-height: 1.5; letter-spacing: .12em; }
  .page-index .home-hero h1 { margin: 0; font-size: clamp(2.9375rem, 13vw, 3.625rem); line-height: .83; letter-spacing: -.025em; }
  .page-index .home-hero__content p { width: auto; max-width: 21.875rem; margin: 1.25rem 0 1.375rem; font-size: 1rem; line-height: 1.5; }
  .page-index .home-hero__buttons { width: 100%; max-width: none; gap: 0.625rem; }
  .page-index .home-hero__button { min-height: 3.25rem; height: auto; padding: 0.75rem 1.25rem; border-radius: 0.4375rem; font-size: 0.8125rem; line-height: 1.3; letter-spacing: .04em; }
  .page-index .home-hero__button svg { width: 1.875rem; height: 1rem; }
  .page-index .home-hero__scroll,
  .page-index .home-hero__wave,
  .page-index .home-hero__next { display: none; }
  .page-index .home-hero__proof { position: relative; top: auto; right: auto; width: auto; min-height: 0; margin: 0 1.25rem 1.75rem; padding: 0.875rem 1rem; gap: 0.875rem; border-radius: 0.75rem; font-size: 0.875rem; line-height: 1.4; }
  .page-index .home-hero__proof .icon { width: 1.875rem; height: 1.875rem; }

  .page-index .products-section .section-head { margin-bottom: 1.75rem; text-align: left; }
  .page-index .products-section .section-head p { margin: 0.875rem 0 0; font-size: 0.9375rem; line-height: 1.55; }
  .page-index .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
  .page-index .product-card { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
  .page-index .product-card__image { height: auto; min-height: 0; aspect-ratio: 1; }
  .page-index .product-card__image img { width: 100%; height: 100%; aspect-ratio: auto; padding: 0.375rem; object-fit: contain; transform: none; }
  .page-index .product-card__body { min-width: 0; padding: 0.75rem; }
  .page-index .product-card h3 { margin-bottom: 0.375rem; font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
  .page-index .product-card p { margin-bottom: 0.75rem; font-size: 0.875rem; line-height: 1.4; }
  .page-index .product-card .price { font-size: 1rem; line-height: 1.3; }
  .page-index .product-card__bottom { gap: 0.25rem; }
  .page-index .product-card__bottom button { width: 2.25rem; height: 2.25rem; }
  .page-index .products-section .section-action { margin-top: 1.5rem; }

  .page-index .needs-intro { text-align: left; }
  .page-index .needs-intro .eyebrow { margin-left: 0; }
  .page-index .needs-intro .section-intro { margin: 0.875rem 0 1.5rem; font-size: 1rem; }
  .page-index .needs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
  .page-index .needs-grid a { min-width: 0; min-height: 11rem; padding: 1rem 0.875rem; }
  .page-index .needs-grid h3 { margin-top: 0.875rem; font-size: 1rem; line-height: 1.3; }
  .page-index .needs-grid p { margin-top: 0.4375rem; font-size: 0.875rem; line-height: 1.4; }

  .page-index .science-section { overflow: visible; }
  .page-index .science-section .steps-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.625rem; width: 100%; margin-top: 1.625rem; padding: 0; overflow: visible; scroll-snap-type: none; }
  .page-index .science-section .steps-grid > div { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 10.375rem; padding: 1.25rem 3rem; text-align: center; }
  .page-index .science-section .step-symbol { display: block; width: 100%; }
  .page-index .science-section .step-symbol span { width: 2.75rem; height: 2.75rem; margin-inline: auto; font-size: 1.0625rem; }
  .page-index .science-section .step-symbol .icon { position: absolute; top: 1rem; right: 1rem; width: 1.375rem; height: 1.375rem; }
  .page-index .science-section .steps-grid h3 { margin: 0.875rem 0 0; font-size: 1rem; line-height: 1.3; }
  .page-index .science-section .steps-grid p { margin: 0.4375rem 0 0; font-size: 0.875rem; line-height: 1.45; }

  .page-index .expert-layout { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding-top: 4rem; }
  .page-index .expert-copy { width: 100%; padding: 0; transform: none; }
  .page-index .expert-copy h2 { max-width: 100%; margin-top: 0.75rem; font-size: clamp(2.125rem, 9vw, 2.625rem); line-height: .98; }
  .page-index .expert-points { gap: 1rem; margin: 1.5rem 0; }
  .page-index .expert-points p { gap: 0.75rem; font-size: 0.9375rem; line-height: 1.5; }
  .page-index .expert-points .icon { width: 1.375rem; height: 1.375rem; }
  .page-index .expert-copy .button { width: 100%; }
  .page-index .expert-layout > img { position: relative; top: auto; right: auto; bottom: auto; align-self: center; width: min(100%, 21.25rem); max-width: 100%; height: auto; max-height: 26.875rem; margin-top: 1.125rem; object-fit: contain; object-position: center bottom; }
  .page-index .expert-orbit { right: -35%; top: 44%; height: 35%; }

  .page-index .production-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .page-index .production-section h2 { font-size: clamp(2.125rem, 9vw, 2.625rem); line-height: .98; }
  .page-index .production-place { font-size: 0.875rem; line-height: 1.4; }
  .page-index .production-copy > p:last-child { font-size: 0.9375rem; line-height: 1.55; }
  .page-index .production-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
  .page-index .production-photos img { width: 100%; object-fit: cover; }
  .page-index .production-photos img:first-child { grid-column: 1 / -1; height: 13.125rem; aspect-ratio: auto; }
  .page-index .production-photos img:not(:first-child) { height: 9.375rem; aspect-ratio: auto; }

  .page-index .quality-panel { padding: 1.625rem 1.25rem; }
  .page-index .quality-panel h2 { text-align: left; font-size: clamp(2rem, 8.3vw, 2.375rem); }
  .page-index .quality-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 1.5rem; }
  .page-index .quality-point { display: flex; align-items: flex-start; gap: 0.875rem; padding: 1rem 0; border-top: 0.0625rem solid var(--line); text-align: left; }
  .page-index .quality-point .icon { width: 1.625rem; height: 1.625rem; margin: 0; }
  .page-index .quality-point p { margin: 0; font-size: 0.875rem; line-height: 1.5; }
  .page-index .regulations { margin-top: 1rem; padding: 1.625rem 1.25rem; }
  .page-index .regulations-heading { align-items: flex-start; }
  .page-index .regulations-heading .eyebrow { width: auto; overflow-wrap: anywhere; }
  .page-index .regulations > p { margin-top: 1.125rem; font-size: 0.9375rem; line-height: 1.55; }
  .page-index .regulations .regulations-grid { margin-top: 1.375rem; gap: 0.625rem; }
  .page-index .regulations article { min-height: 0; padding: 1.125rem; }
  .page-index .regulations article b { margin-top: 0.625rem; font-size: 1.375rem; }
  .page-index .regulations article span { font-size: 0.875rem; line-height: 1.45; }
  .page-index .documents-cta { margin-top: 1rem; padding: 1.75rem 1.25rem; text-align: left; }
  .page-index .documents-cta h3 { font-size: 1.875rem; line-height: 1; }
  .page-index .documents-cta p { margin: 0.875rem 0 1.25rem; font-size: 0.9375rem; line-height: 1.5; }

  .page-index .reviews-grid { gap: 0.625rem; margin-top: 1.625rem; }
  .page-index .reviews-grid > * { min-height: 8rem; padding: 1.25rem; }
  .page-index .articles-grid { gap: 0.75rem; margin-top: 1.625rem; }
  .page-index .articles-grid a { min-height: 0; padding: 1.375rem; }
  .page-index .articles-grid h3 { margin-top: 1rem; font-size: 1.625rem; }
  .page-index .articles-grid p { font-size: 0.9375rem; line-height: 1.5; }
  .page-index .articles-grid b { margin-top: 1.125rem; }
  .page-index .articles-section .section-action { margin-top: 1.375rem; }
  .page-index .faq-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.375rem; }
  .page-index .faq-layout h2 { margin-bottom: 0; }
  .page-index .faq-list { margin-top: 0; }
  .page-index .faq-list summary { font-size: 1.4375rem; line-height: 1.2; }
  .page-index .faq-list details p { font-size: 0.875rem; line-height: 1.55; }

  .page-index .selection-cta .cta-layout { display: flex; flex-direction: column-reverse; }
  .page-index .selection-cta .cta-layout > div { width: 100%; padding: 1.5rem; }
  .page-index .selection-cta .cta-layout h2 { font-size: 2.25rem; }
  .page-index .selection-cta .cta-layout p { margin-top: 0.875rem; font-size: 0.9375rem; line-height: 1.5; }
  .page-index .selection-cta .cta-layout .button { margin-top: 1.25rem; }
  .page-index .selection-cta .cta-layout img { width: 100%; height: 12.8125rem; min-height: 0; object-fit: cover; object-position: center; }
  .page-index .site-footer { padding: 3.375rem 0 1.75rem; }
  .page-index .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 1.875rem; }
  .page-index .footer-brand { grid-column: auto; }
  .page-index .footer-brand p,
  .page-index .site-footer nav a { font-size: 0.9375rem; }
  .page-index .footer-bottom { margin-top: 2.25rem; font-size: 0.75rem; line-height: 1.5; }

  .page-index .menu-drawer--home { width: 100vw; max-width: none; }
  .page-index .menu-drawer--home .menu-drawer__top { height: 4.25rem; }
  .page-index .menu-drawer--home nav { padding: 0.5rem 1.25rem 1.5rem; }
  .page-index .menu-drawer--home nav a,
  .page-index .menu-drawer--home nav button { min-height: 3.375rem; padding: 0.75rem 0; font-size: 1.375rem; line-height: 1.25; }
}

/* Keep controls readable; adapt the headline and whitespace independently. */
@media (min-width: 701px) {
  .page-index { --home-inline-inset: max(6.45vw, calc((100vw - 110rem) / 2 + 1.5rem)); }
  .home-hero { --hero-unit: min(1vw, 1.2rem); height: max(41.25rem, 100svh); }
  .home-hero__header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; width: calc(100% - var(--home-inline-inset) - var(--home-inline-inset)); height: 4.75rem; margin-inline: auto; }
  .home-hero__brand { position: static; flex-shrink: 0; font-size: clamp(2rem, 3.1vw, 2.75rem); }
  .home-hero__nav { position: static; gap: 1.75rem; }
  .home-hero__nav a { font: 600 0.9375rem/1.55 var(--sans); }
  .home-hero__actions { position: static; flex-shrink: 0; gap: 0.25rem; }
  .home-hero__cart, .home-hero__menu { width: 2.75rem; height: 2.75rem; }
  .home-hero__cart svg { width: 1.75rem; height: 1.75rem; }
  .home-hero__cart [data-cart-count] { top: -0.125rem; right: -0.125rem; min-width: 1.125rem; height: 1.125rem; padding: 0 0.25rem; font-size: 0.6875rem; }
  .home-hero__menu { align-items: center; padding: 0; gap: 0.375rem; }
  .home-hero__menu span { width: 1.875rem; height: 0.09375rem; }
  .home-hero__content { top: clamp(7rem, 14svh, 9.75rem); left: var(--home-inline-inset); width: min(46%, 42.5rem); }
  .home-hero__eyebrow { font-size: 1.25rem; margin-bottom: 1.25rem; }
  .home-hero h1 { font-size: clamp(5rem, 6vw, 7rem); margin: 0; }
  .home-hero__content p { max-width: 34.375rem; font-size: 1.5rem; line-height: 1.4; margin: 1.75rem 0; }
  .home-hero__buttons { width: 100%; max-width: 24.375rem; gap: 0.75rem; }
  .home-hero__button { min-height: 3.75rem; height: 4rem; padding-inline: 1.75rem; font-size: 1.125rem; letter-spacing: .015em; border-radius: 0.5rem; }
  .home-hero__button svg { width: 2rem; height: 1.125rem; }
  .home-hero__scroll { margin: 1.25rem 0 0 1rem; font-size: 0.875rem; gap: 1.25rem; }
  .home-hero__scroll:before { height: 2.5rem; }
  .home-hero__proof { right: 4.3%; top: 60%; width: 20rem; padding: 1.25rem; gap: 1.25rem; border-radius: 0.875rem; font-size: 1.0625rem; }
  .home-hero__proof .icon { width: 2.75rem; height: 2.75rem; }
  .home-hero__next { font-size: 3rem; }
}
/* Switch to the existing drawer instead of shrinking navigation labels. */
@media (min-width: 701px) and (max-width: 1399px) {
  .home-hero__nav { display: none; }
  .home-hero__content { width: 50%; }
  .home-hero__proof { width: 17.5rem; right: 3%; }
}
@media (min-width: 701px) and (max-height: 850px) {
  .home-hero__content { top: 6.75rem; }
  .home-hero__eyebrow { font-size: 1rem; margin-bottom: 0.75rem; }
  .home-hero h1 { font-size: clamp(4.5rem, 5.6vw, 5.75rem); }
  .home-hero__content p { font-size: 1.375rem; margin: 1.125rem 0; }
  .home-hero__button { height: 3.75rem; }
  .home-hero__scroll { margin-top: 0.875rem; }
  .home-hero__scroll:before { height: 1.75rem; }
}
@media (min-width: 701px) and (max-height: 700px) {
  .home-hero__content { top: 5.875rem; }
  .home-hero h1 { font-size: 4rem; }
  .home-hero__content p { font-size: 1.25rem; margin: 0.75rem 0; }
  .home-hero__buttons { gap: 0.5rem; }
  .home-hero__scroll { margin-top: 0.625rem; }
  .home-hero__scroll:before { height: 1.5rem; }
  .home-hero__next { display: none; }
  .home-hero__wave { height: 7%; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  .home-hero h1 { font-size: 4rem; }
  .home-hero__eyebrow { font-size: 0.875rem; }
  .home-hero__content p { font-size: 1.25rem; }
  .home-hero__button { padding-inline: 1.125rem; font-size: 1rem; }
}

/* Homepage topic photos use the same originals as the selection page. */
.page-index .needs-grid a { padding: 0; overflow: hidden; }
.page-index .needs-grid .need-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.page-index .needs-grid .need-body { position: relative; padding: 1.5rem; }
.page-index .needs-grid .need-icon { position: absolute; top: -1.375rem; left: 1.5rem; }
.page-index .needs-grid h3 { margin-top: 0; }
@media (max-width: 700px) {
  .page-index .needs-grid .need-body { padding: 1.75rem 0.875rem 1rem; }
  .page-index .needs-grid .need-icon { left: 0.875rem; }
}

/* The portrait and molecular orbit share one frame at every breakpoint. */
.page-index .expert-visual { position: relative; isolation: isolate; width: 100%; max-width: 28.75rem; align-self: end; justify-self: center; }
.page-index .expert-visual > img { position: relative; z-index: 1; display: block; width: auto; height: 38rem; max-width: 100%; margin-inline: auto; object-fit: contain; object-position: center bottom;
  -webkit-mask-image: linear-gradient(#000 42%, rgba(0,0,0,.92) 62%, rgba(0,0,0,.55) 82%, transparent 100%);
  mask-image: linear-gradient(#000 42%, rgba(0,0,0,.92) 62%, rgba(0,0,0,.55) 82%, transparent 100%);
}
.page-index .expert-visual .expert-orbit { z-index: 0; top: 7%; left: 0; right: auto; width: 100%; height: auto; }
@media (min-width: 701px) {
  .page-index .expert-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; }
  .page-index .expert-copy { width: 100%; }
  .page-index .expert-layout:before { display: none; }
}
@media (max-width: 700px) {
  .page-index .expert-visual { align-self: center; max-width: 21.25rem; margin-top: 1.125rem; }
  .page-index .expert-visual > img { height: 26.875rem; }
}

/* One homepage header stays in place; only its background changes on scroll. */
.page-index .home-hero__header { position: fixed; z-index: 40; --hero-unit: min(1vw, 1.2rem); }
.page-index .home-hero__header::before { content: ''; position: fixed; z-index: -1; inset: 0 0 auto; height: inherit; background: #faf6ef; border-bottom: 0.0625rem solid var(--line); box-shadow: 0 0.25rem 1.125rem #102b4309; opacity: 0; pointer-events: none; }
.page-index .home-hero__header.is-scrolled::before { opacity: 1; }
.page-index main > section[id] { scroll-margin-top: 8rem; }
@media (max-width: 700px) {
  .page-index main > section[id] { scroll-margin-top: 5rem; }
}

/* Shared navigation typography and menu mark. */
.home-hero__nav, .menu-drawer--home nav { text-transform: uppercase; }
.home-hero__menu, .menu-toggle { display: grid; align-content: center; justify-items: center; gap: 0.25rem; width: 2.75rem; height: 2.75rem; padding: 0.5rem; border: 0; background: transparent; color: var(--ink); }
.home-hero__menu span, .menu-toggle span { display: block; width: 1.375rem; height: 0.09375rem; background: currentColor; margin: 0; }

/* A tighter homepage rhythm, scoped away from catalog and product pages. */
.page-index { --home-section-space: 3rem; }
.page-index main > .section { padding-block: var(--home-section-space); }
@media (min-width: 701px) {
  .page-index main > :is(.products-section, .needs-section) { padding-top: 2.5rem; }
  .page-index .expert-section, .page-index .expert-layout { min-height: 0; }
  .page-index .expert-copy { padding-block: var(--home-section-space); }
}
@media (max-width: 700px) {
  .page-index { --home-section-space: 1.5rem; }
}

/* Compact add action; cart navigation remains a separate control. */
.product-card__add-label-compact { display: none; }
@media (max-width: 700px) {
  .product-card__add-label-full { display: none; }
  .product-card__add-label-compact { display: inline; }
  .product-card [data-item-add] { white-space: nowrap; }
  .page-index .expert-layout { padding-top: var(--home-section-space); }
}

/* Readable informational pages and related links. */
.page-page main .rich-text { color: var(--ink); }
.page-page main p { color: var(--ink); }
.page-page main .rich-text :where(p, li, dt, dd, blockquote) { color: var(--ink); }
.page-related-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 0.0625rem solid var(--line); font: 400 0.9375rem/1.5 var(--sans); }
.page-related-links span { flex-basis: 100%; color: var(--ink); }
.page-related-links a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--ink); text-decoration: underline; text-underline-offset: 0.1875rem; }
@media (max-width: 700px) {
  .page-page .page-related-links { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .page-page .page-related-links span { flex-basis: auto; }
}

/* Cart: compact quantity controls and totals without empty rows. */
.page-cart .page-intro--small { padding-block: 2rem; }
.page-cart .cart-section { padding-block: 2rem 3rem; }
.page-cart .cart-layout { grid-template-columns: minmax(0, 1fr) 19rem; gap: 2rem; align-items: start; }
.page-cart .cart-items { min-width: 0; }
.page-cart .cart-item { grid-template-columns: 6rem minmax(0, 1fr) auto; gap: 1.25rem; align-items: start; padding-block: 1.5rem; }
.page-cart .cart-item:first-child { padding-top: 0; }
.page-cart .cart-item__image { width: 6rem; height: 7.5rem; }
.page-cart .cart-item__details { min-width: 0; }
.page-cart .cart-item__details > a { font-size: 1.875rem; line-height: 1.1; overflow-wrap: anywhere; }
.page-cart .cart-item__details .price { margin: .625rem 0 .875rem; font-size: 1.375rem; }
.page-cart .cart-item .quantity-control { display: inline-flex; width: max-content; max-width: 100%; height: 2.75rem; }
.page-cart .cart-item .quantity-control button { flex: 0 0 2.75rem; height: 2.625rem; padding: 0; }
.page-cart .cart-item .quantity-control input { flex: 0 0 2.5rem; min-width: 0; height: 2.625rem; padding: 0; }
.page-cart .cart-item__end { gap: 1rem; padding-top: .25rem; white-space: nowrap; }
.page-cart .cart-item__end strong { font-size: 1rem; }
.page-cart .cart-item__end button { min-height: 2.75rem; }
.page-cart .cart-summary { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 1.5rem; }
.page-cart .cart-summary h2 { margin: 0 0 1.25rem; font-size: 2.5rem; }
.page-cart .cart-summary > div { gap: 1rem; align-items: baseline; padding: 1rem 0; border-top: 0; border-bottom: .0625rem solid var(--line); font-size: .9375rem; }
.page-cart .cart-summary > div strong { white-space: nowrap; }
.page-cart .cart-summary .cart-summary__total { font-size: 1rem; }
.page-cart .cart-summary p { margin: 1rem 0 0; font-size: .8125rem; line-height: 1.6; }
.page-cart .cart-summary .cart-summary__delivery { margin: 1.25rem 0 1rem; }
.page-cart .cart-summary .button { min-height: 3.125rem; margin: 0; padding-inline: .75rem; letter-spacing: 0; }
.page-cart .cart-summary .cart-summary__errors { display: block; padding: 0; border: 0; }
.page-cart .cart-summary .cart-summary__errors:empty, .page-cart .cart-summary p:empty, .page-cart .cart-summary [hidden] { display: none !important; }
@media (max-width: 900px) {
  .page-cart .cart-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}
@media (max-width: 700px) {
  .page-cart .page-intro--small { padding-block: 1.5rem; }
  .page-cart .cart-section { padding-top: 1.5rem; }
  .page-cart .cart-item { grid-template-columns: 4.5rem minmax(0, 1fr); gap: .75rem 1rem; padding-block: 1.25rem; }
  .page-cart .cart-item__image { grid-row: 1 / 3; width: 4.5rem; height: 6rem; }
  .page-cart .cart-item__details > a { font-size: 1.5rem; }
  .page-cart .cart-item__end { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; gap: .5rem; padding: 0; }
  .page-cart .cart-item__details .price { margin-block: .5rem .75rem; }
  .page-cart .cart-summary { padding: 1.25rem; }
}

/* Complete bundle purchase and compact price / navigation spacing. */
.recommendations-price[hidden] { display: none !important; }
.recommendations-price del:empty, .recommendations-price .price:empty { display: none; }
.recommendations-price .price { display: inline-block; margin-bottom: 0; }
.recommendations-price .button { display: flex; width: fit-content; margin: .75rem auto 0; }
.recommendations-price [hidden] { display: none !important; }
.recommendations-return { margin: .375rem auto 0; }
@media (max-width: 680px) {
  .recommendations-price .button { width: 100%; }
}
