/* Canonical typography and spacing. Load after page-specific styles. */
/* Sustainability: adapt legacy Elementor wrappers to the shared theme. */
html body .inner-sustainability-and-impact .elementor> :is(.e-con,.elementor-section):not(.inner-hero) {
  padding:var(--section-space) max(5vw,24px)!important;
  margin:0!important; min-height:0!important;
}
html body .inner-sustainability-and-impact .elementor> :is(.e-con,.elementor-section)> :is(.e-con-inner,.elementor-container) {
  width:100%!important; max-width:1180px!important; margin-inline:auto!important; padding:0!important;
}
html body .inner-sustainability-and-impact :is(.elementor-element-1c47512,.elementor-element-dcd5cf1,.elementor-element-31fc7be,.elementor-element-c28de2d) {
  display:block!important; width:100%!important; max-width:none!important; padding:0!important; margin:0!important; min-height:0!important;
}
html body .inner-sustainability-and-impact :is(.elementor-element-68b3ebf,.elementor-element-7c3f76d,.elementor-element-9e88b84) p {
  font-family:var(--font-stack)!important; font-size:var(--theme-h2)!important; font-weight:600!important;
  line-height:1.2!important; letter-spacing:-.025em!important; text-align:left!important;
  max-width:920px; margin:0 0 var(--theme-heading-gap)!important;
}
html body .inner-sustainability-and-impact :is(.elementor-element-285545e,.elementor-element-b0af244) {
  max-width:760px!important; margin:0!important; text-align:left!important;
}
html body .inner-sustainability-and-impact .elementor-element-68b3ebf { margin-bottom:0!important; }
html body .inner-sustainability-and-impact .elementor-element-6452ed7 { width:100%!important; }
html body .inner-sustainability-and-impact .elementor-element-6452ed7>.elementor-widget-wrap {
  display:flex!important; flex-direction:column; align-items:flex-start; gap:20px; padding:0!important;
}
html body .inner-sustainability-and-impact #impact-stories { scroll-margin-top:110px; }
html body .inner-sustainability-and-impact #impact-stories .elementor-heading-title {
  font-size:var(--theme-card)!important; line-height:1.3!important; margin:0!important; text-align:left!important;
}
html body .inner-sustainability-and-impact #impact-stories :is(.elementor-element-30b52ba,.elementor-element-a3cf9ba,.elementor-element-e31b5c9) {
  justify-content:flex-start!important; gap:0!important;
}
html body .inner-sustainability-and-impact .elementor-element-f655469 { background:var(--soft)!important; }
html body .inner-sustainability-and-impact .elementor-element-7cd0866 { margin-top:24px!important; }
html body .inner-sustainability-and-impact .elementor-element-da867b8 { margin-bottom:20px!important; }
:root {
  --font-stack: 'Public Sans', sans-serif;
  --font-body: var(--font-stack);
  --font-display: var(--font-stack);
  --display: var(--font-stack);
  --body: var(--font-stack);
  --theme-h1: clamp(32px, 3.6vw, 48px);
  --theme-h2: clamp(26px, 2.7vw, 36px);
  --theme-h3: clamp(21px, 1.8vw, 26px);
  --theme-card: clamp(20px, 1.6vw, 24px);
  --section-space: 64px;
  --section-space-compact: 32px;
  --theme-heading-gap: 24px;
}
html body { font-family: var(--font-stack); font-size:16px; line-height:1.7; }
html body :is(button,input,select,textarea) { font-family:var(--font-stack)!important; }
html body main :is(h1,h2,h3,h4,h5,h6) {
  font-family:var(--font-stack)!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
  margin-block:0 var(--theme-heading-gap);
  text-wrap:pretty;
}
html body main h1 { font-size:var(--theme-h1)!important; line-height:1.12!important; }
html body main h2 { font-size:var(--theme-h2)!important; line-height:1.2!important; }
html body main h3 { font-size:var(--theme-h3)!important; line-height:1.25!important; }
html body main h4 { font-size:22px!important; line-height:1.3!important; }
html body main :is(h5,h6) { font-size:18px!important; line-height:1.35!important; }
html body main .inner-hero h1 { font-size:var(--theme-h1)!important; line-height:1.12!important; }
html body main :is(.news-card,.article) :is(h2,h3) { font-size:var(--theme-card)!important; line-height:1.3!important; }
html body main :is(.elementor-widget-text-editor,.elementor-widget-pepostfield) :is(p,li) {
  font-family:var(--font-stack)!important; font-size:16px!important; line-height:1.7!important; font-weight:400!important;
}
html body main>.section { padding-block:var(--section-space); }
/* Section labels share one size; cards and the approved RECIPE lettering retain their roles. */
html body .inner-our-story :is(.elementor-element-41f740f,.elementor-element-aae9d16,.elementor-element-cd3cf36) p {
  font-size:22px!important; line-height:1.3!important; font-weight:600!important;
  text-align:left!important; margin:0 0 var(--theme-heading-gap)!important;
}
html body .inner-our-story :is(.elementor-element-41f740f,.elementor-element-aae9d16,.elementor-element-cd3cf36) {
  width:100%; align-self:stretch;
}
html body .inner-our-story :is(.elementor-element-41f740f,.elementor-element-aae9d16,.elementor-element-cd3cf36) :is(.text-wrapper,.heading-line) {
  position:relative; display:block; text-align:left!important;
}
html body .inner-our-story .elementor-element-d614221 h2 {
  font-size:var(--theme-h2)!important; line-height:1.25!important;
  max-width:920px; margin:0 auto!important; text-align:center;
}
html body .inner-our-story .elementor-element-0c2f0c8 { gap:0!important; }
@media(max-width:800px) {
  :root { --section-space:40px; --section-space-compact:24px; --theme-heading-gap:20px; }
}
