/* Shared content edges and a restrained type scale across shop and editorial pages. */
:root {
  --page-gutter: clamp(1.25rem, 2.8vw, 2.5rem);
  --shell: min(84rem, calc(100vw - var(--page-gutter) * 2));
  --page-edge: max(var(--page-gutter), calc((100vw - 84rem) / 2));
  --title-size: clamp(2rem, 3.8vw, 3.5rem);
  --section-title-size: clamp(1.75rem, 2.8vw, 2.75rem);
}
/* Viewport-based width prevents a second inset when shells are nested. */
.shell { width: var(--shell); max-width: 100%; margin-inline: auto; }
h1, .hero h1, .bundle-hero h1, .page-hero h1, .page-hero--commerce h1,
.article-hero h1, .woocommerce-shell .woocommerce-products-header__title {
  font-size: var(--title-size);
  line-height: 1.12;
  letter-spacing: -.045em;
  overflow-wrap: break-word;
}
h2, .editorial-split h2, .faq-section h2, .nature-panel h2,
.bundle-anniversary h2, .cta-section h2, .cta-section--landscape h2,
.journey-banner h2, .product-section-heading h2, .product-information__intro > h2,
.product-faq h2, .product-reasons__header h2, .product-story__intro h2,
.single-product .related.products > h2, .article-body__content h2 {
  font-size: var(--section-title-size);
  line-height: 1.18;
  letter-spacing: -.035em;
}
.bundle-hero h1 { margin-block: 1rem 1.4rem; }
.bundle-hero__grid { gap: clamp(2rem, 5vw, 5rem); }
.bundle-hero__copy > p:not(.eyebrow) { font-size: var(--text-base); }
.bundle-world h2 { font-size: var(--text-2xl); line-height: 1.2; }
.bundle-hero__product h2 { font-size: var(--text-2xl); }
.bundle-hero__product > strong { font-size: var(--text-lg); }
.editorial-intro { max-width: 64rem; margin-inline: 0; margin-bottom: clamp(3rem, 6vw, 5rem); }
.editorial-intro p { font-size: var(--text-xl); line-height: 1.55; letter-spacing: -.02em; }
.editorial-split { gap: clamp(2rem, 6vw, 6rem); }
.editorial-split h2 { max-width: 18ch; }
.editorial-split > div:last-child { padding-top: 0; font-size: var(--text-base); }
.article-deck, .page-hero__lead { font-size: var(--text-base); line-height: 1.65; }
.page-hero h1 { max-width: 24ch; }
.article-hero { max-width: 100%; padding-top: clamp(3rem, 6vw, 6rem); text-align: left; }
.article-hero h1 { max-width: 24ch; margin-inline: 0; }
.article-deck { margin-inline: 0; }
.journal-archive-card h2 { font-size: var(--text-2xl); line-height: 1.2; }
.fact-cards strong, .impact-stats strong { font-size: var(--text-4xl); }
.fact-cards strong { margin-bottom: 2rem; }
.fact-cards article { min-height: 0; }
.ticker span { font-size: var(--text-4xl); }
.section { padding-block: clamp(3.5rem, 6vw, 6rem); }
.section-heading { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.editorial-content { padding-block: clamp(3rem, 6vw, 6rem); }
.product-story { padding-top: clamp(3.5rem, 6vw, 6rem); }
.product-reasons__header { margin: 0 0 clamp(2rem, 4vw, 4rem); text-align: left; }
.product-reasons__header > p:last-child { margin-inline: 0; }
.product-reasons { margin-bottom: clamp(3.5rem, 6vw, 6rem); }
.nature-grid { padding: 0; }
.nature-panel { padding: clamp(2rem, 4vw, 4rem) max(2rem, var(--page-gutter)); }
.nature-panel:first-child { padding-left: var(--page-edge); }
.nature-panel:last-child { padding-right: var(--page-edge); }
.woocommerce-shell .woocommerce-products-header__title { margin-bottom: 1.5rem; }
.woocommerce ul.products { padding: 0; margin-inline: 0; }
.single-product .woocommerce-shell { width: 100%; }
.product-stage__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); }
.product-stage__visual { justify-items: start; min-height: 0; }
.product-stage__visual .woocommerce-product-gallery { width: 100% !important; max-width: 32rem; }
.product-companions { width: 100%; max-width: 32rem; }
.product-focus .editorial-picture { width: 5.5rem; }
.product-focus strong { overflow-wrap: normal; hyphens: auto; }
.woocommerce div.product .product-stage__content .summary .product_title {
  max-width: none;
  font-size: var(--text-3xl);
  line-height: 1.15;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
  margin-bottom: 1.2rem;
}
.product-stage__crumb { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.product-stage__crumb .woocommerce-breadcrumb {
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
.product-stage__crumb .woocommerce-breadcrumb a { color: inherit; text-underline-offset: .2em; }
.product-stage__crumb .woocommerce-breadcrumb a:hover { text-decoration: underline; }
.product-family__item span { min-width: 0; }
@media (max-width: 1100px) and (min-width: 861px) {
  .product-family__item { flex-direction: column; text-align: center; }
}
@media (max-width: 860px) {
  :root { --page-gutter: 1.25rem; --title-size: clamp(2rem, 5.5vw, 2.75rem); --section-title-size: clamp(1.65rem, 4.5vw, 2.25rem); }
  .product-stage__grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .product-stage__visual { width: 100%; max-width: none; margin: 0; }
  .product-stage__visual .woocommerce-product-gallery,
  .product-companions { width: 100% !important; max-width: 32rem; }
  .woocommerce div.product .product-stage__content .summary .product_title { font-size: var(--text-3xl); }
  .product-focus .editorial-picture { width: 4.5rem; }
  .nature-panel { padding-inline: var(--page-edge); }
  .mobile-menu__primary a { font-size: var(--text-xl); }
  .mobile-shop-title { font-size: var(--text-xl); }
}
@media (max-width: 600px) {
  .section { padding-block: 3rem; }
  .nature-grid { padding: 0; }
  .product-stage__visual .woocommerce-product-gallery { max-width: 22rem; }
  .product-focus { gap: .6rem; }
  .product-family__item small { font-size: var(--text-xs); }
  .product-stage__kicker { margin-bottom: .7rem; }
  .product-stage__content .wc-product-badges { margin-bottom: 1rem; }
}
