/**
 * RemedyWatch component styles.
 * Core design controls live in theme.json; these rules handle layout and responsive behavior.
 */

:root {
  --rw-navy: var(--wp--preset--color--navy, #12343e);
  --rw-teal: var(--wp--preset--color--teal, #087769);
  --rw-sage: var(--wp--preset--color--sage, #e9eee6);
  --rw-ivory: var(--wp--preset--color--ivory, #f7f6f1);
  --rw-white: var(--wp--preset--color--white, #fff);
  --rw-ink: var(--wp--preset--color--ink, #3d4b50);
  --rw-line: var(--wp--preset--color--line, #d8e1dc);
  --rw-gutter: clamp(1.125rem, 3.125vw, 2.5rem);
  --rw-wide: 1280px;
  --rw-radius: 8px;
  --rw-editorial: var(--wp--preset--font-family--editorial, Georgia, serif);
  --rw-body: var(--wp--preset--font-family--body, sans-serif);
}

html { scroll-behavior: smooth; }
body { overflow-wrap: break-word; }
:where(.wp-site-blocks) { padding-top: 0; padding-bottom: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.rw-home-main > * { margin-block-start: 0; }
:where(.rw-shell) {
  width: min(var(--rw-wide), calc(100% - var(--rw-gutter) * 2));
  max-width: var(--rw-wide);
  margin-inline: auto;
}
:where(.rw-shell) > :last-child { margin-block-end: 0; }
:where(.rw-shell) > :first-child { margin-block-start: 0; }
a { text-underline-offset: .18em; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--rw-teal);
  outline-offset: 5px;
}
:where(.has-navy-background-color, .rw-brief) a:focus-visible {
  outline-color: var(--rw-white);
}
:where(.rw-main, .rw-article-content) :is(h1,h2,h3,h4,h5,h6)[id] {
  scroll-margin-top: calc(2rem + var(--wp-admin--admin-bar--height, 0px));
}
.rw-eyebrow {
  color: var(--rw-teal);
  font-family: var(--rw-body);
  font-size: .6875rem;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.rw-muted { color: var(--rw-ink); }
.rw-section { padding-block: clamp(2rem, 4vw, 3.25rem); }
.rw-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  margin-block-end: 1.25rem;
}
.rw-section-heading > * { margin-block: 0; }
.rw-section-heading h2 { font-size: clamp(1.875rem, 3.1vw, 2.75rem); }
.rw-section-heading a { font-size: .875rem; font-weight: 500; text-decoration: none; }
.rw-section-heading a:hover { text-decoration: underline; }
.rw-site-header, .rw-header-wrap { background: var(--rw-white); }
.rw-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 2rem;
  min-height: 84px;
  padding-block: .875rem;
}
.rw-brand { display: flex; align-items: center; gap: .7rem; flex-shrink: 0; }
.rw-brand > * { margin: 0; }
.rw-brand .wp-block-image { width: 44px; flex: 0 0 44px; }
.rw-brand .wp-block-image img { width: 44px; height: 44px; display: block; }
.rw-brand .wp-block-site-title, .rw-brand-wordmark { font-family: var(--rw-editorial); font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1; letter-spacing: -.025em; white-space: nowrap; }
.rw-brand a { text-decoration: none; color: var(--rw-navy); }
.rw-header .wp-block-navigation { margin-block: 0; font-size: .875rem; }
.rw-header .wp-block-navigation__container { gap: clamp(.875rem, 2vw, 2rem); }
.rw-header .wp-block-navigation-item__content { padding-block: .625rem; }
.rw-header .wp-block-navigation__responsive-container-open,
.rw-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
.wp-block-navigation__responsive-container.is-menu-open {
  color: var(--rw-navy);
  background: var(--rw-white);
  padding: 1.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  padding-block: .5rem;
  font-size: 1.125rem;
}

/* Homepage hero. The image is a replaceable core/image block. */
.rw-hero-wrap { background: var(--rw-ivory); overflow: clip; }
.rw-hero {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  gap: 0;
  align-items: stretch;
}
.rw-hero-copy { padding: clamp(2rem, 4vw, 4rem) 1.75rem clamp(2rem, 4vw, 4rem) 0; align-self: center; }
.rw-hero-copy h1 {
  color: var(--rw-navy);
  font-size: clamp(2.625rem, 4.3vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  margin-block: .65rem 1.25rem;
}
.rw-hero-copy > p:not(.rw-eyebrow):not(.rw-hero-topics) {
  max-width: 35rem;
  font-size: clamp(1rem, 1.5vw, 1.1875rem);
  line-height: 1.55;
}
.rw-hero-copy .wp-block-buttons { gap: .875rem; margin-block: 1.5rem 1.25rem; }
.rw-hero-copy .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
.rw-hero-copy .is-style-outline .wp-block-button__link { color: var(--rw-teal); border: 1px solid var(--rw-teal); background: transparent; }
.rw-hero-copy .is-style-outline .wp-block-button__link:hover { color: var(--rw-white); background: var(--rw-navy); border-color: var(--rw-navy); }
.rw-hero-topics { font-size: .875rem; line-height: 1.9; }
.rw-hero-topics a { display: inline-block; padding-block: .25rem; }
.rw-hero-media {
  position: relative;
  align-self: stretch;
  min-height: 480px;
  margin-block: 0;
  margin-inline-end: calc(-1 * max(var(--rw-gutter), (100vw - var(--rw-wide)) / 2));
}
.rw-hero-media > .wp-block-image { width: 100%; height: 100%; margin: 0; }
.rw-hero-media .wp-block-image img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: 58% 50%; }
.rw-approach {
  position: absolute;
  inset-inline-end: var(--rw-gutter);
  bottom: 1.5rem;
  max-width: calc(100% - 3rem);
  padding: 1rem 1.25rem;
  background: var(--rw-white);
  border-radius: 6px;
  box-shadow: 0 4px 24px rgb(18 52 62 / 6%);
}
.rw-approach > * { margin-block: 0; }
.rw-approach .rw-eyebrow { font-size: .5625rem; color: var(--rw-navy); }
.rw-approach p:last-child { margin-top: .25rem; color: var(--rw-navy); font-family: var(--rw-editorial); font-size: 1rem; line-height: 1.25; }

/* Principles and the editorial article grid. */
.rw-principles-wrap { background: var(--rw-sage); }
.rw-principles { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding-block: 1.5rem; gap: 1.75rem; }
.rw-principle { display: flex; align-items: center; gap: 1rem; margin-block: 0; }
.rw-principle + .rw-principle { border-inline-start: 1px solid #c6d3cc; padding-inline-start: 1.75rem; }
.rw-principle .wp-block-image, .rw-principle-icon {
  width: 66px; height: 66px; flex: 0 0 66px; margin: 0;
  display: grid; place-items: center; background: #d8e4d4; border-radius: 50%;
}
.rw-principle img { display: block; width: 34px; height: 34px; margin: auto; }
.rw-principle h2, .rw-principle h3 { font-size: 1.25rem; margin: 0 0 .25rem; }
.rw-principle-icon svg { width: 34px; height: 34px; }
.rw-principle p { font-size: .875rem; line-height: 1.45; margin: 0; }
.rw-principle > .wp-block-group { margin-block: 0; }
.rw-featured-grid .wp-block-post-template,
.rw-post-grid .wp-block-post-template,
.rw-post-grid.wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 2rem 1.5rem;
}
.rw-featured-grid .wp-block-post-template > li,
.rw-post-grid .wp-block-post-template > li,
.rw-post-grid.wp-block-post-template > li { margin: 0; min-width: 0; }
.rw-featured-grid .wp-block-post-featured-image,
.rw-card-image,
.rw-post-grid .wp-block-post-featured-image { margin-block: 0 1rem; overflow: hidden; border-radius: var(--rw-radius); background: var(--rw-sage); }
.rw-featured-grid .wp-block-post-featured-image img,
.rw-card-image img,
.rw-post-grid .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 1.75; object-fit: cover; transition: transform .25s ease; }
.rw-featured-grid .wp-block-post-featured-image a:hover img,
.rw-card-image a:hover img { transform: scale(1.025); }
.rw-featured-grid .wp-block-post-terms,
.rw-post-grid .wp-block-post-terms { margin-block: .625rem .375rem; font-size: .625rem; letter-spacing: .14em; }
.rw-featured-grid .wp-block-post-title,
.rw-card-title { font-family: var(--rw-editorial); font-size: clamp(1.375rem, 2.1vw, 1.875rem); line-height: 1.12; margin-block: .4rem 0; }
.rw-featured-grid .wp-block-post-title a,
.rw-card-title a { text-decoration: none; color: var(--rw-navy); }
.rw-featured-grid .wp-block-post-title a:hover,
.rw-card-title a:hover { color: var(--rw-teal); text-decoration: underline; }
.rw-card-excerpt { font-size: .9375rem; }
.rw-card-excerpt .wp-block-post-excerpt__excerpt { margin-block: .875rem; }
.rw-card-date { font-size: .8125rem; color: var(--rw-ink); }

/* One locally bundled photographic atlas supplies all six ingredient tiles. */
.rw-ingredients-wrap { background: var(--rw-ivory); }
.rw-ingredients-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 1rem; }
.rw-ingredients-grid > * { margin-block: 0; }
.rw-ingredient-card {
  display: block; overflow: hidden; color: var(--rw-navy); background: var(--rw-white);
  border: 1px solid var(--rw-line); border-radius: var(--rw-radius);
  text-align: center; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.rw-ingredient-card:hover { color: var(--rw-teal); border-color: var(--rw-teal); box-shadow: 0 4px 14px rgb(18 52 62 / 6%); }
.rw-ingredient-photo { display: block; aspect-ratio: 1.45; background-image: url("../images/ingredients.webp"); background-repeat: no-repeat; background-size: 300% auto; background-color: var(--rw-sage); }
.rw-ingredient-magnesium { background-position: 0 0; }
.rw-ingredient-melatonin { background-position: 50% 0; }
.rw-ingredient-collagen { background-position: 100% 0; }
.rw-ingredient-ashwagandha { background-position: 0 100%; }
.rw-ingredient-turmeric { background-position: 50% 100%; }
.rw-ingredient-ginger { background-position: 100% 100%; }
.rw-ingredient-card :is(h3,h4,p,.rw-ingredient-title) { display: block; margin: 0; padding: .7rem .35rem; font-family: var(--rw-editorial); font-size: 1.125rem; line-height: 1.3; }
.rw-safety-row { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1rem; }
.rw-safety-row > * { margin-block: 0; }
.rw-safety-panel { background: var(--rw-sage); padding: clamp(1.5rem, 2.5vw, 2.25rem); border-radius: var(--rw-radius); }
.rw-safety-panel h2 { font-size: clamp(1.875rem, 2.7vw, 2.5rem); margin-block: .4rem .5rem; }
.rw-safety-panel > p { margin-block: 0 1rem; }
.rw-safety-panel > .rw-eyebrow { margin-block: 0; }
.rw-safety-list { margin-block: 1.25rem 0; }
.rw-safety-item { padding-block: .875rem; border-block-start: 1px solid #cad6ce; display: flex; align-items: center; gap: .875rem; }
.rw-safety-item > .wp-block-image, .rw-safety-item > img { flex: 0 0 30px; width: 30px; margin: 0; }
.rw-safety-item .wp-block-image img { width: 30px; height: 36px; }
.rw-safety-item p { margin: 0; }
.rw-safety-item { color: var(--rw-navy); text-decoration: none; }
.rw-safety-item > svg { width: 30px; height: 36px; flex: 0 0 30px; }
.rw-safety-item > span { min-width: 0; }
.rw-safety-item .rw-eyebrow, .rw-safety-item-title { display: block; }
.rw-safety-item-title { font-family: var(--rw-editorial); font-size: 1.125rem; line-height: 1.3; }
.rw-safety-item:hover .rw-safety-item-title { text-decoration: underline; text-underline-offset: .18em; }
.rw-safety-item .rw-arrow { margin-inline-start: auto; flex: 0 0 auto; }
.rw-safety-item .rw-eyebrow { font-size: .5625rem; }
.rw-safety-item a { font-family: var(--rw-editorial); color: var(--rw-navy); font-size: 1.125rem; text-decoration: none; }
.rw-safety-item a:hover { text-decoration: underline; }
.rw-safety-panel > p:last-child { font-size: .875rem; margin: 1rem 0 0; }
.rw-sample-label { font-size: .625rem; background: #dce5dc; padding: .3rem .5rem; border-radius: 4px; }
.rw-label-panel { position: relative; overflow: hidden; min-height: 330px; border-radius: var(--rw-radius); background: var(--rw-ivory); }
.rw-label-panel > .wp-block-cover { min-height: 100%; }
.rw-label-panel .wp-block-cover__image-background { object-position: 68% 50%; }
.rw-label-panel-copy, .rw-label-copy { position: relative; z-index: 2; max-width: 65%; padding: clamp(1.5rem, 2.5vw, 2.25rem); margin-block: 0; }
.rw-label-photo { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; z-index: 0; }
.rw-label-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.rw-label-panel:has(.rw-label-photo)::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #f7f6f1 0%, rgb(247 246 241 / 96%) 28%, rgb(247 246 241 / 76%) 48%, rgb(247 246 241 / 10%) 74%, transparent 100%); }
.rw-label-copy > .rw-eyebrow { margin-top: 0; }
.rw-label-panel h2 { font-size: clamp(1.875rem, 2.7vw, 2.5rem); line-height: 1.06; margin-block: .5rem 1rem; }
.rw-label-panel p { margin-block: .5rem 1rem; }
.rw-label-panel a { font-size: .875rem; font-weight: 500; text-decoration: none; }

/* The brief is a reading link, never a subscription form. */
.rw-brief { background: var(--rw-navy); color: var(--rw-white); padding-block: 2rem; }
.rw-brief-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.rw-brief h2 { color: var(--rw-white); font-size: clamp(1.875rem, 2.8vw, 2.625rem); margin: 0 0 .4rem; }
.rw-brief p { margin: 0; font-size: .875rem; }
.rw-brief .wp-block-buttons { flex-shrink: 0; }
.rw-brief .wp-block-button__link { background: var(--rw-sage); color: var(--rw-navy); border-color: var(--rw-sage); min-height: 48px; }
.rw-brief .wp-block-button__link:hover { background: var(--rw-white); color: var(--rw-navy); border-color: var(--rw-white); }
.rw-brief-leaf { width: 90px; opacity: .5; flex: 0 0 90px; }
.rw-footer { padding-block: 1.5rem 1rem; background: var(--rw-white); border-top: 1px solid var(--rw-line); }
.rw-footer-inner { display: block; }
.rw-footer-top { display: flex; flex-wrap: wrap; align-items: center; width: 100%; gap: 1.25rem 2rem; }
.rw-footer .rw-brand { gap: .5rem; }
.rw-footer .rw-brand .wp-block-image { width: 34px; flex-basis: 34px; }
.rw-footer .rw-brand .wp-block-image img { width: 34px; height: 34px; }
.rw-footer .rw-brand .wp-block-site-title, .rw-footer .rw-brand-wordmark { font-size: 1.75rem; }
.rw-footer-tagline { font-size: .75rem; margin: 0; }
.rw-footer .wp-block-site-tagline { font-size: .75rem; margin: 0; }
.rw-footer .wp-block-navigation { margin-inline-start: auto; font-size: .75rem; }
.rw-footer .wp-block-navigation__container { gap: 1rem; }
.rw-footer .wp-block-navigation-item__content { padding-block: .625rem; }
.rw-footer-note { width: 100%; text-align: end; font-size: .625rem; margin: .75rem 0 0; color: var(--rw-ink); }

/* Listing, archive, search results, and standard page templates. */
.rw-main, .rw-listing, .rw-page-main { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.rw-listing-header, .rw-page-header { padding-block-end: 2rem; border-bottom: 1px solid var(--rw-line); margin-bottom: 2.5rem; }
.rw-listing-header > :first-child, .rw-page-header > :first-child { margin-top: 0; }
.rw-listing-header > :last-child, .rw-page-header > :last-child { margin-bottom: 0; }
.rw-listing-header .wp-block-query-title { max-width: 58rem; }
.rw-listing .wp-block-query { margin-top: 2.5rem; }
.rw-no-results { padding: 2rem; border-radius: var(--rw-radius); background: var(--rw-sage); }
.rw-no-results h2 { font-size: 1.75rem; margin-top: 0; }
.rw-no-results p:last-child { margin-bottom: 0; }
.rw-browse-categories, .rw-category-list { margin: 0; }
.rw-browse-categories li, .rw-category-list li { margin-bottom: .4rem; }
.rw-listing .wp-block-query-pagination { margin-top: 3rem; gap: .5rem; }
.rw-listing .wp-block-query-pagination :is(a,.current) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 5px; padding: .5rem .875rem; }
.rw-listing .wp-block-query-pagination .current { background: var(--rw-teal); color: var(--rw-white); }
.rw-listing .wp-block-query-pagination a:hover { background: var(--rw-sage); }
.rw-page-content, .rw-article-content { font-size: 1.0625rem; line-height: 1.75; }
.rw-page-content > :first-child, .rw-article-content > :first-child { margin-top: 0; }
.rw-page-content :is(h2,h3,h4), .rw-article-content :is(h2,h3,h4) { margin-top: 2.25rem; margin-bottom: .875rem; }
.rw-page-content :is(ul,ol), .rw-article-content :is(ul,ol) { padding-inline-start: 1.4em; }
.rw-page-content li, .rw-article-content li { margin-bottom: .5rem; }
.rw-page-content .wp-block-table, .rw-article-content .wp-block-table { overflow-x: auto; }
.rw-page-content :is(pre,code), .rw-article-content :is(pre,code) { overflow-wrap: anywhere; }
.rw-notice { border-inline-start: 3px solid var(--rw-teal); background: var(--rw-ivory); padding: 1rem 1.25rem; font-size: .9375rem; }

/* Two-column articles: the whole aside stretches so its inner TOC can stick. */
.rw-single-layout,
.wp-block-columns.rw-single-layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(250px,300px);
  align-items: stretch;
  gap: clamp(2rem, 5vw, 4.5rem);
}
.rw-article-main { min-width: 0; }
.rw-article-header { margin-bottom: 2rem; }
.rw-article-header .wp-block-post-title { font-size: clamp(2.25rem, 4vw, 3.625rem); }
.rw-article-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .8125rem; }
.rw-article-meta > * { margin: 0; }
.rw-article-image, .rw-article-main > .wp-block-post-featured-image { margin-block: 1.75rem; border-radius: var(--rw-radius); overflow: hidden; }
.rw-article-image img, .rw-article-main > .wp-block-post-featured-image img { width: 100%; aspect-ratio: 1.75; object-fit: cover; }
.rw-article-sidebar { align-self: stretch; min-width: 0; margin-block: 0; }
.rw-sidebar-sticky {
  position: sticky;
  top: calc(2rem + var(--wp-admin--admin-bar--height, 0px));
  max-height: calc(100dvh - 4rem - var(--wp-admin--admin-bar--height, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  background: var(--rw-ivory);
  border: 1px solid var(--rw-line);
  padding: 1.5rem;
  border-radius: var(--rw-radius);
}
.rw-sidebar-sticky h2 { font-size: 1.375rem; margin-top: 0; }
.rw-sidebar-sticky h3 { font-size: 1.25rem; }
.rw-sidebar-sticky .wp-block-categories-list { list-style: none; padding: 0; margin-bottom: 0; font-size: .875rem; }
.rw-sidebar-sticky .wp-block-categories-list li { margin: 0; }
.rw-sidebar-sticky .wp-block-categories-list a { display: inline-block; padding-block: .5rem; text-decoration: none; }
.rw-sidebar-sticky .wp-block-categories-list a:hover { text-decoration: underline; }
.rw-post-navigation { display: flex; gap: 1.5rem; justify-content: space-between; padding-top: 1.5rem; margin-top: 2.5rem; border-top: 1px solid var(--rw-line); font-size: .9375rem; }
.rw-post-navigation > * { flex: 1; margin: 0; }
.rw-post-navigation > :last-child { text-align: end; }
.rw-404 { min-height: 55vh; display: flex; flex-direction: column; justify-content: center; padding-block: 4rem; }
.rw-404 h1 { max-width: 16ch; }
.rw-author-bio { font-size: 1rem; max-width: 760px; }

/* Concrete template classes keep the same spacing on every route. */
.rw-listing-main, .rw-single-main, .rw-not-found {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  padding-inline: var(--rw-gutter);
}
.rw-page-main { padding-inline: var(--rw-gutter); }
.rw-listing-intro { padding-bottom: 2rem; border-bottom: 1px solid var(--rw-line); margin-bottom: 2.5rem; }
.rw-listing-intro > :first-child, .rw-not-found-intro > :first-child { margin-top: 0; }
.rw-listing-intro > :last-child { margin-bottom: 0; }
.rw-page-title { margin-block: .75rem 1rem; font-size: clamp(2.25rem, 4vw, 3.5rem); }
.rw-listing-description { max-width: 50rem; font-size: 1.125rem; }
.rw-post-category { font-size: .625rem; letter-spacing: .14em; margin-block: .75rem .5rem; }
.rw-post-card > :last-child { margin-bottom: 0; }
.rw-pagination { margin-top: 3rem; gap: .5rem; }
.rw-pagination :is(a,.current) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 5px; padding: .5rem .875rem; }
.rw-pagination .current { background: var(--rw-teal); color: var(--rw-white); }
.rw-pagination a:hover { background: var(--rw-sage); }
.rw-empty-state, .rw-topic-browse { padding: 1.75rem; border-radius: var(--rw-radius); background: var(--rw-sage); }
.rw-empty-state > :first-child, .rw-topic-browse > :first-child { margin-top: 0; }
.rw-empty-state h2, .rw-topic-browse h2 { font-size: 1.75rem; }
.rw-category-links { list-style: none; padding-inline-start: 0; }
.rw-category-links li { margin: 0; }
.rw-category-links a { display: inline-block; padding-block: .5rem; }
.rw-article-title { font-size: clamp(2.25rem, 4vw, 3.625rem); margin-block: .75rem 1.25rem; }
.rw-post-meta { margin-block: .75rem 1.75rem; gap: .5rem 1rem; font-size: .8125rem; }
.rw-post-meta > * { font-size: inherit; margin-block: 0; }
.rw-featured-image, .rw-page-featured-image { margin-block: 1.75rem; border-radius: var(--rw-radius); overflow: hidden; }
.rw-featured-image img, .rw-page-featured-image img { width: 100%; object-fit: cover; }
.rw-sidebar-card { padding-top: 1.5rem; border-top: 1px solid var(--rw-line); }
.rw-sidebar-card .rw-small-heading { margin-bottom: .625rem; }
.rw-small-heading { font-size: 1.375rem; }
.rw-post-tags { margin-top: 2rem; font-size: .75rem; }
.rw-author-note { margin-top: 2rem; background: var(--rw-ivory); border-radius: var(--rw-radius); padding: 1.5rem; font-size: .9375rem; }
.rw-author-note > :first-child { margin-top: 0; }
.rw-author-note > :last-child { margin-bottom: 0; }
.rw-not-found { min-height: 60vh; }
.rw-home-link .wp-block-home-link a { display: inline-block; padding: .875rem 1.25rem; background: var(--rw-teal); color: var(--rw-white); border-radius: 6px; font-size: .9375rem; }

/* Tablet and mobile: layout changes only; content remains available. */
@media (max-width: 1100px) {
  .rw-header { gap: 1rem; }
  .rw-brand .wp-block-site-title, .rw-brand-wordmark { font-size: 2rem; }
  .rw-brand .wp-block-image, .rw-brand .wp-block-image img { width: 38px; height: 38px; }
  .rw-brand .wp-block-image { flex-basis: 38px; }
  .rw-header .wp-block-navigation { font-size: .8125rem; }
  .rw-header .wp-block-navigation__container { gap: .875rem; }
  .rw-hero-copy .wp-block-buttons { gap: .75rem; }
  .rw-hero-copy .wp-block-button__link { font-size: .8125rem; padding-inline: 1rem; }
  .rw-principles { gap: 1rem; }
  .rw-principle + .rw-principle { padding-inline-start: 1rem; }
  .rw-principle .wp-block-image, .rw-principle-icon { width: 50px; height: 50px; flex-basis: 50px; }
  .rw-principle { gap: .75rem; }
  .rw-ingredients-grid { gap: .75rem; }
  .rw-ingredient-card :is(h3,h4,p,.rw-ingredient-title) { font-size: 1rem; }
  .rw-label-panel-copy, .rw-label-copy { max-width: 66%; }
}
@media (max-width: 900px) {
  .rw-header { flex-wrap: wrap; min-height: auto; justify-content: center; padding-block: 1rem; gap: .5rem 1.5rem; }
  .rw-header .wp-block-navigation__container { justify-content: center; }
  .rw-hero-copy h1 { font-size: clamp(2.4rem, 5vw, 3rem); }
  .rw-hero-media, .rw-hero-media .wp-block-image img { min-height: 450px; }
  .rw-principles { grid-template-columns: 1fr; padding-block: 1.25rem; gap: 1rem; }
  .rw-principle + .rw-principle { border-inline-start: 0; padding-inline-start: 0; }
  .rw-principle h2, .rw-principle h3 { font-size: 1.1875rem; }
  .rw-ingredients-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rw-safety-row { grid-template-columns: 1fr 1fr; }
  .rw-label-panel-copy, .rw-label-copy { max-width: 100%; padding-inline-end: 35%; }
  .rw-brief-inner { flex-wrap: wrap; gap: 1.25rem; }
  .rw-brief-leaf { display: none; }
  .rw-footer .wp-block-navigation { margin-inline-start: 0; }
  .rw-single-layout, .wp-block-columns.rw-single-layout { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .rw-sidebar-sticky { position: static; max-height: none; overflow: visible; }
  .rw-article-sidebar { order: -1; }
}
@media (max-width: 700px) {
  .rw-hero { grid-template-columns: 1fr; }
  .rw-hero-copy { padding: 2.5rem 0 1.75rem; }
  .rw-hero-copy h1 { font-size: clamp(2.5rem, 8vw, 3.25rem); }
  .rw-hero-copy > p:not(.rw-eyebrow):not(.rw-hero-topics) { max-width: 35rem; }
  .rw-hero-media { margin-inline: calc(-1 * var(--rw-gutter)); min-height: 320px; max-height: 410px; }
  .rw-hero-media .wp-block-image img { min-height: 320px; max-height: 410px; aspect-ratio: 1.6; object-position: center; }
  .rw-approach { bottom: 1rem; inset-inline-end: 1.125rem; }
  .rw-featured-grid .wp-block-post-template,
  .rw-post-grid .wp-block-post-template,
  .rw-post-grid.wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; }
  .rw-featured-grid .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
  .rw-featured-grid .wp-block-post-template > li:first-child .wp-block-post-title { font-size: 1.875rem; }
  .rw-safety-row { grid-template-columns: 1fr; }
  .rw-label-panel { min-height: 300px; }
  .rw-label-panel-copy, .rw-label-copy { max-width: 66%; padding-inline-end: 1.5rem; }
  .rw-section-heading { align-items: flex-start; }
  .rw-footer-note { text-align: start; }
}
@media (max-width: 599px) {
  .rw-header { justify-content: space-between; flex-wrap: nowrap; min-height: 76px; }
  .rw-header .rw-brand .wp-block-site-title, .rw-header .rw-brand-wordmark { font-size: 1.75rem; }
  .rw-header .rw-brand { gap: .5rem; }
  .rw-header .rw-brand .wp-block-image, .rw-header .rw-brand .wp-block-image img { width: 34px; height: 34px; }
  .rw-header .rw-brand .wp-block-image { flex-basis: 34px; }
  .rw-header .wp-block-navigation { margin-inline-start: auto; }
  .rw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }
  .rw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 44px; }
  .rw-footer .wp-block-navigation__responsive-container { display: block; position: static; }
  .rw-footer .wp-block-navigation__container { flex-direction: row; flex-wrap: wrap; gap: .25rem 1rem; }
  .rw-footer .wp-block-navigation__responsive-container-open { display: none; }
  .rw-ingredients-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rw-featured-grid .wp-block-post-template,
  .rw-post-grid .wp-block-post-template,
  .rw-post-grid.wp-block-post-template { grid-template-columns: minmax(0,1fr); }
  .rw-featured-grid .wp-block-post-template > li:first-child { grid-column: auto; }
  .rw-featured-grid .wp-block-post-title,
  .rw-featured-grid .wp-block-post-template > li:first-child .wp-block-post-title { font-size: 1.75rem; }
  .rw-page-content, .rw-article-content { font-size: 1rem; }
  .rw-brief .wp-block-buttons, .rw-brief .wp-block-button { width: 100%; }
  .rw-brief .wp-block-button__link { width: 100%; text-align: center; }
  .rw-post-navigation { flex-direction: column; }
  .rw-post-navigation > :last-child { text-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rw-ingredient-card, .rw-featured-grid img, .rw-card-image img { transition: none; }
}
@media print {
  .rw-site-header, .rw-site-footer, .rw-brief, .rw-article-sidebar, .rw-post-navigation { display: none !important; }
  .rw-single-layout, .wp-block-columns.rw-single-layout { display: block !important; }
  .rw-shell { width: 100%; max-width: none; }
  body { color: #000; background: #fff; }
  a { color: inherit; text-decoration: underline; }
}

