/* GGE UI foundation v1. Editorial storytelling retains the existing type scale. */
:root {
 --ui-heading:clamp(1.65rem,2.5vw,2.5rem);
 --ui-card-heading:clamp(1.35rem,2vw,1.85rem);
 --ui-label:.8rem;
 --ui-radius-button:.75rem;
 --ui-radius-card:1.25rem;
 --ui-card-padding:clamp(1.25rem,2.6vw,2rem);
 --ui-section-space:clamp(2.75rem,6vw,6rem);
 --ui-border:1px solid #c9c8ba;
 --ui-muted:#555e54;
 --ui-focus:#a74824;
 --ui-success:#246044;
 --ui-info:#e9efe9;
 --ui-warning:#f4e5c4;
 --ui-target:2.75rem;
}
:where(a,button,input,select,textarea,summary):focus-visible {
 outline:3px solid var(--ui-focus); outline-offset:4px;
}
.button,.nav-shop,.mobile-shop {
 min-height:var(--ui-target); border-radius:var(--ui-radius-button);
 text-align:center; white-space:normal;
}
.button:active,.nav-shop:active,.mobile-shop:active {transform:translateY(1px)}
.card-link,.hub-card-link {font-weight:700;text-underline-offset:.25em}
.card-link {display:inline-flex;align-items:center;min-height:var(--ui-target)}
.site-header {background:var(--paper);color:var(--green);border-bottom:var(--ui-border);gap:1rem}
.site-nav > a:not(.nav-shop) {color:var(--green)}
.site-nav > a:not(.nav-shop):hover {color:var(--oxblood)}
.nav-shop,.mobile-shop {background:var(--green);color:var(--paper);border-color:var(--green)}
.nav-shop:hover,.mobile-shop:hover {background:#244d39;color:var(--paper)}
.menu-label {display:none}
.menu-toggle {min-width:var(--ui-target);min-height:var(--ui-target);justify-content:center}
.menu-lines i {height:2px}
.nav-discovery {display:none}
.product-card,.hub-card,.journal-card,.review-card,.food-role-card {
 border:var(--ui-border);border-radius:var(--ui-radius-card);overflow:hidden;
}
.product-copy {padding:var(--ui-card-padding);border:0}
.product-copy h3,.hub-card h3,.food-role-card h3 {font-size:var(--ui-card-heading);line-height:1.2}
.product-copy > p:not(.product-kicker),.section-heading > p,.section-intro,.faq > div {color:var(--ui-muted)}
.product-tag {border-radius:.4rem;font-size:var(--ui-label)}
.hub-card {padding:var(--ui-card-padding);min-height:0}
.hub-card:hover,.product-card:hover {border-color:var(--green)}
.hub-card:active {box-shadow:inset 0 0 0 2px var(--green)}
.tool-hub-heading h2,.tool-page-intro h1,.guide-section > header h2 {font-size:var(--ui-heading);line-height:1.15}
.tool-hub.section {padding-block:var(--ui-section-space)}
.faq {border:var(--ui-border);border-radius:var(--ui-radius-button);overflow:hidden}
.faq summary {min-height:var(--ui-target);line-height:1.5;padding:1.1rem 3.25rem 1.1rem 1.25rem}
.faq summary:hover {background:var(--ui-info)}
.faq[open] summary {background:var(--ui-info)}
input,select,textarea {font-size:1rem}
input:not([type=checkbox]):not([type=radio]),select {min-height:var(--ui-target)}
/* Future patterns: tokens only, no account/commerce behavior added. */
.gge-status {display:inline-block;border-radius:.5rem;padding:.35rem .65rem;background:var(--ui-info);color:var(--green)}
.gge-status--warning {background:var(--ui-warning);color:#663d13}
.gge-status--success {color:var(--ui-success)}
@media(min-width:821px) and (max-width:1100px) {
 .brand-name {max-width:9rem}
 .site-nav {gap:.8rem;font-size:.8rem;letter-spacing:0}
}
@media(max-width:820px) {
 .site-header {min-height:4.5rem;padding:.5rem max(.75rem,env(safe-area-inset-right)) .5rem max(.75rem,env(safe-area-inset-left));gap:.5rem}
 .brand {gap:.5rem;flex:1 1 auto;min-width:0}
 .brand img {width:2.75rem;height:2.75rem;flex-shrink:0}
 .brand-name {display:block;font-size:1rem;line-height:1.15;letter-spacing:0;max-width:11rem}
 .mobile-shop {padding:.5rem .75rem;margin-left:0;flex-shrink:0}
 .site-nav {visibility:hidden;background:var(--paper);border:var(--ui-border);max-height:calc(100dvh - 5rem);padding-bottom:max(1rem,env(safe-area-inset-bottom))}
 .site-nav.is-open {visibility:visible}
 .site-nav > a:not(.nav-shop) {font:600 1rem/1.4 var(--sans);padding:.85rem .5rem;min-height:var(--ui-target);border-color:#c9c8ba}
 .site-nav .nav-discovery {display:block}
 .section {padding-block:var(--ui-section-space)}
 .section-heading {gap:1.25rem;margin-bottom:2rem}
 .product-image,.product-card-large .product-image {min-height:0;aspect-ratio:1/1}
 .product-grid {gap:1.5rem}
 .hub-card,.review-card,.review-card-featured {min-height:0}
 .tool-page-intro {padding-block:2.5rem}
 .tool-hub-grid {gap:1rem}
 .shop-panel-copy {padding:2rem 1.25rem}
}
@media(max-width:360px) {
 .brand-name {font-size:.9rem;max-width:7rem}
 .brand img {width:2.5rem;height:2.5rem}
 .mobile-shop {padding:.5rem}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 .button,.nav-shop,.mobile-shop,.site-nav,.product-image img,.menu-lines i,.faq {transition:none;animation:none}
 .product-image:hover img {transform:none}
}

/* Consolidated refinement: shared disclosure navigation and content rhythm. */
:root {--header-height:5.6rem;--ui-on-dark:#dedbd2}
[id] {scroll-margin-top:calc(var(--header-height) + 1rem)}
.announcement {position:relative;line-height:1.5}
.announcement p {overflow-wrap:break-word}
.nav-tools,.nav-backdrop {display:none}
.menu-lines {position:relative;width:1.5rem;height:1.5rem}
.menu-lines i {position:absolute;left:0;top:calc(50% - 1px);width:1.5rem;height:2px;transform:translateY(-4px)}
.menu-lines i:last-child {transform:translateY(4px)}
.menu-toggle[aria-expanded="true"] .menu-lines i:first-child {transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines i:last-child {transform:rotate(-45deg)}
.checkout-note,.hero .checkout-note,.shop-panel-copy > small,.hub-card-dark div > p:last-child {color:var(--ui-on-dark)}
.recognition-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.recognition-card {min-height:0;border-radius:var(--ui-radius-card);padding:var(--ui-card-padding);gap:1.25rem}
.recognition-year {font-size:1.5rem;line-height:1.2}
.recognition-award-logo {width:6rem;height:6rem;object-fit:contain;flex-shrink:0}
.recognition-card small,.recognition-card strong {font-size:1rem;letter-spacing:0}
.recognition-local {grid-column:1/-1;margin:.25rem 0 0;font-size:1rem;color:var(--ui-muted)}
.review-card {padding:var(--ui-card-padding);min-height:0}
.tool-hub-grid {border:0;gap:1rem}
.hub-card {gap:1rem}
.hub-card .tool-name {font-size:1rem;font-weight:700;margin:.75rem 0;color:inherit}
.hub-card div > p:last-child {color:var(--ui-muted)}
.hub-card-dark div > p:last-child {color:var(--ui-on-dark)}
.hub-card-number,.hub-card-kicker,.hub-card-link {font-size:.875rem}
.journal-card-photo {display:block;min-height:0;padding:0}
.journal-card-photo img {display:block;position:static;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:0}
.journal-art-caption {font-size:.875rem;color:var(--ui-muted)}
.journal-feature-food {min-height:0}
.journal-feature-food img {position:static;display:block;width:100%;height:auto;object-fit:contain}
.journal-card-compact {border:var(--ui-border);border-radius:var(--ui-radius-card);overflow:hidden}
.journal-card-copy,.journal-card-compact > div {padding:var(--ui-card-padding)}
.journal-card-copy h2 {font-size:var(--ui-heading);line-height:1.15}
.visit {gap:2rem}
.visit-details {gap:1.5rem}
.visit-details a {overflow-wrap:anywhere}
.footer-main nav a {min-height:2.75rem;display:inline-flex;align-items:center}
@media(max-width:820px) {
 .site-header {padding-top:.375rem;padding-bottom:.375rem}
 .site-nav {border-radius:0 0 var(--ui-radius-card) var(--ui-radius-card);box-shadow:0 12px 24px #17191526;max-height:calc(100dvh - var(--header-height) - 1rem)}
 .site-nav .nav-shop {display:flex;background:transparent;color:var(--green);border:0;border-bottom:var(--ui-border);border-radius:0;margin:0;justify-content:flex-start;padding:.85rem .5rem;font:600 1rem/1.4 var(--sans);letter-spacing:0}
 .nav-tools {display:grid;border-top:2px solid #c9c8ba;margin-top:.75rem;padding-top:.75rem}
 .nav-group-label {font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:.5rem;color:var(--ui-muted)}
 .nav-tools a {display:block;padding:.75rem .5rem;min-height:2.75rem;font:500 1rem/1.4 var(--sans)}
 .nav-backdrop:not([hidden]) {display:block;position:fixed;inset:0;background:#17191559;z-index:99}
 .site-nav a[aria-current="page"] {text-decoration:underline;text-underline-offset:.3em}
 .visit h2 {font-size:clamp(2.6rem,5.2vw,5.2rem);line-height:1.06}
 .shop-panel h2 {font-size:clamp(2.8rem,6vw,5.2rem);line-height:1.04}
 .shop-panel-copy {padding:2rem 1.25rem}
 .shop-panel-art {min-height:220px}
 .trust-section {padding-block:var(--ui-section-space)}
 .recognition-grid {grid-template-columns:1fr}
 .recognition-card {display:flex}
 .visit-details {margin-top:0}
 .journal-card-featured {display:block}
}
.recognition-grid,.review-grid {border:0}
.review-grid {gap:1rem}
.recognition-local,.recognition-card small {color:var(--ui-on-dark)}
.recognition-card-featured small {color:var(--ink)}
.recognition-card {border:1px solid #dedbd280}
.journal-card-photo img,.journal-feature-food img {min-height:0}
.checkout-note {font-size:.875rem}
.visit {align-items:start}
.visit-details {padding-top:1rem}
.image-larger {display:inline-flex;min-height:2.75rem;align-items:center;text-decoration:underline;text-underline-offset:.25em;font-size:.875rem}
@media(max-width:820px) {
 .visit {gap:1.5rem}
 .recognition-grid {margin-bottom:2rem}
 .recognition-card div {align-items:flex-start;text-align:left}
}
@media(max-width:360px) {
 .recognition-card {gap:.75rem;flex-wrap:wrap}
}

/* Shop-source alignment: globals.css @ 66cd56411d7d2f6ca3d134cbae51792cc43a4e4e */
:root {
 --cream:#f5f2ea;--paper:#fffef9;--cream-deep:#e8e2d5;
 --ink:#101613;--ink-soft:#17251f;--green:#0d2c21;
 --line:#d9d4c9;--ui-border:1px solid #d9d4c9;
 --ui-info:#dfe8df;--ui-muted:#59635e;--ui-focus:#325f4b;
 --ui-radius-button:10px;--ui-radius-card:24px;
}
html,body {background:var(--cream);color:var(--ink)}
.button {min-height:48px}
.mobile-shop,.nav-shop {border-radius:999px}
:where(.hero,.story,.trust-section,.shop-panel,.site-footer,.page-hero,.journal-hero,.journal-promise,.tool-page-intro,.guide-hero,.foods-hero,.food-roles,.booster-feature,.shop-bridge,.chew-next,.chew-tool-intro,.hub-card-dark,.hub-card-chew,.foods-next-shop,.food-profile-air,.food-profile-air .food-profile-copy) {
 background:var(--ui-info);color:var(--ink);border-color:var(--line);
}
/* Higher specificity than legacy dark-surface rules, scoped to marketing surfaces. */
:is(.hero,.story,.trust-section,.shop-panel,.site-footer,.page-hero,.journal-hero,.journal-promise,.tool-page-intro,.guide-hero,.foods-hero,.food-roles,.booster-feature,.shop-bridge,.chew-next,.chew-tool-intro,.hub-card-dark,.hub-card-chew,.foods-next-shop,.food-profile-air,.food-profile-air .food-profile-copy) {
 background:var(--ui-info);color:var(--ink);
}
:is(.hero,.story,.trust-section,.shop-panel,.site-footer,.page-hero,.journal-hero,.journal-promise,.tool-page-intro,.guide-hero,.foods-hero,.food-roles,.booster-feature,.shop-bridge,.chew-next,.chew-tool-intro,.hub-card-dark,.hub-card-chew,.foods-next-shop,.food-profile-air) :is(p,small,blockquote,address,figcaption) {color:var(--ui-muted)}
:is(.hero,.story,.trust-section,.shop-panel,.site-footer,.page-hero,.journal-hero,.journal-promise,.tool-page-intro,.guide-hero,.foods-hero,.food-roles,.booster-feature,.shop-bridge,.chew-next,.chew-tool-intro,.hub-card-dark,.hub-card-chew,.foods-next-shop,.food-profile-air) :is(h1,h2,h3,em,strong,.text-link,.eyebrow,.card-link) {color:var(--green)}
.hero .button-primary,.button-light {background:var(--green);color:var(--paper);border-color:var(--green)}
.hero .button-primary:hover,.button-light:hover {background:#325f4b;color:var(--paper)}
:is(.hero,.foods-hero,.shop-panel,.shop-bridge) .button span {color:inherit}
.site-footer a,.footer-bottom,.recognition-local,.recognition-card small,.review-note,.review-source,.hub-card-dark .hub-card-link {color:var(--ui-muted)}
.recognition-card,.review-card {background:var(--paper);color:var(--ink);border:var(--ui-border)}
.recognition-card-featured {background:var(--cream-deep)}
.shop-panel-art {background:var(--cream-deep)}
.shop-word {color:var(--green);-webkit-text-stroke:0}
.food-profile-surf .food-profile-visual,.food-profile-air .food-profile-visual,.food-profile-veal .food-profile-visual {background:var(--cream-deep)}
.foods-next-shop small,.foods-next-shop i {color:var(--green)}
.foods-next-link:hover,.hub-card-dark:hover,.hub-card-chew:hover {background:var(--cream-deep);color:var(--green)}
.foods-hero-copy {min-width:0}
.foods-hero h1 {font-size:clamp(2rem,5.8vw,6rem);line-height:1.06;max-width:100%;overflow-wrap:anywhere}
.foods-hero-note,.guide-section > header {grid-template-columns:1fr}
.food-chooser {padding-block:1.5rem;gap:1rem 2rem}
.food-chooser-heading h2 {font-size:var(--ui-heading);line-height:1.15}
.food-filter-controls {border:0;gap:.5rem;align-content:start}
.food-filter {min-height:48px;padding:.65rem 1rem;border:var(--ui-border);border-radius:999px;background:var(--paper);line-height:1.35}
.food-filter:hover {background:var(--ui-info);color:var(--green)}
.food-filter.active {background:var(--green);color:var(--paper);border-color:var(--green)}
.food-filter-status {font-size:.875rem;letter-spacing:0;text-transform:none;color:var(--ui-muted)}
.foods-next-link {grid-template-columns:1fr auto}
.foods-next-link small {grid-column:1}
.guide-hero {padding-block:2.5rem}
.guide-hero h1 {font-size:clamp(2.5rem,6vw,5rem);line-height:1.1}
.guide-hero aside {margin-top:1.25rem;font-size:.875rem;border:var(--ui-border)}
.guide-anchor-nav {position:relative;top:auto;flex-wrap:wrap;overflow:visible}
.guide-anchor-nav a {border-radius:999px;min-height:44px;white-space:normal}
.guide-controls {padding-top:1rem}
.guide-controls > div {flex-wrap:wrap;align-items:center}
.guide-controls button {min-height:44px;padding:.5rem .85rem;background:var(--paper);color:var(--green);border:var(--ui-border);border-radius:10px;font-size:.875rem}
.guide-controls button[data-guide-action="print"] {border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:.2em}
.guide-section {scroll-margin-top:calc(var(--header-height) + 1rem)}
@media(max-width:600px) {
 .food-chooser {grid-template-columns:1fr}
 .food-filter-status {grid-column:1}
 .food-filter-controls {grid-template-columns:repeat(2,minmax(0,1fr))}
 .foods-hero-copy {padding-inline:1.25rem}
 .guide-hero aside {grid-template-columns:1fr}
}
@media(max-width:374px) {.food-filter-controls {grid-template-columns:1fr}}
@media print {.guide-anchor-nav,.guide-controls {display:none}}
.tool-card {grid-template-columns:1fr auto}
.foods-next-link {min-height:190px}
.foods-next-link strong {margin-top:0}
.foods-hero-actions .text-link,.hero .text-link {color:var(--green);border-color:var(--green)}
.guide-hero aside strong {color:var(--green)}
.recognition-card strong,.recognition-card small {color:var(--ink)}
.story-mark,.story-quote,.footer-bottom {border-color:var(--line)}
/* Retain visual media colors and genuine warning/rating semantics. */
@media(max-width:820px) {
 .foods-hero h1 {font-size:clamp(2rem,7.8vw,3.25rem);line-height:1.08}
 .foods-next-link {min-height:0;gap:.75rem}
}

/* Build 4: explicit light-surface states; no changes to inverse button labels. */
.site-nav a[aria-current="page"] {
 color:var(--green);background:var(--ui-info);
 text-decoration:underline;text-underline-offset:.3em;
}
.site-nav a[aria-current="page"]::after {background:var(--green)}
.site-nav a:visited {color:var(--green)}
.site-nav .nav-shop:visited {color:var(--paper)}
.site-nav a:not(.nav-shop):is(:hover,:focus-visible,:active) {
 color:var(--green);background:var(--ui-info);
}
.nav-tools a[aria-current="page"] {color:var(--green)}
.announcement {border-bottom:var(--ui-border)}
.guide-hero aside span {color:var(--ui-muted)}
.guide-controls input {color:var(--ink);background:var(--paper);border-color:var(--ui-muted)}
.guide-controls input::placeholder {color:var(--ui-muted);opacity:1}
.guide-controls input:focus {border-color:var(--ui-focus);outline:3px solid var(--ui-focus);outline-offset:3px}
.guide-controls label,.guide-controls > p {color:var(--ui-muted)}
.guide-controls button:is(:hover,:focus-visible,:active) {
 background:var(--ui-info);color:var(--green);border-color:var(--ui-focus);
}
.guide-controls button[data-guide-action="print"]:is(:hover,:focus-visible,:active) {
 background:var(--ui-info);color:var(--green);
}
.guide-anchor-nav a {background:var(--paper);color:var(--green)}
.guide-anchor-nav a:is(:hover,:focus-visible,:active) {background:var(--green);color:var(--paper)}
.faq summary,.faq[open] summary {color:var(--ink)}
.faq summary:is(:hover,:focus-visible,:active) {color:var(--ink);background:var(--ui-info)}
.faq summary::after {color:var(--green)}
.faq summary:focus-visible,.guide-controls button:focus-visible,.guide-anchor-nav a:focus-visible {
 outline:3px solid var(--ui-focus);outline-offset:3px;
}
.site-footer a:is(:hover,:focus-visible,:active) {color:var(--green);text-decoration:underline}
@media(max-width:820px) {.site-nav .nav-shop:visited {color:var(--green)}}
/* Remaining inverse descendants found in the 13-page source audit. */
.hero .checkout-note,.shop-panel-copy > small,
.hub-card-chew div > p:last-child,.hub-card-dark div > p:last-child,
.food-profile-air .food-profile-labels > span:not(.status-pill),
.food-profile-air .food-note,.food-profile-air .food-facts dt,
.food-profile-surf .food-visual-caption,.food-profile-veal .food-visual-caption,
.booster-feature-copy > p:not(.eyebrow) {
 color:var(--ui-muted);
}
.food-profile-air .food-note strong {color:var(--ink)}
.food-profile-air .food-facts,.food-profile-air .food-facts div {border-color:var(--line)}

/* Build 5: content-sized slogan, never overlapping positioned words. */
.shop-panel {min-height:0;overflow:visible;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.shop-panel-copy {min-width:0}
.shop-panel-art {
 position:static;min-width:0;min-height:0;height:auto;
 display:grid;gap:.35em;padding:clamp(1rem,3vw,2rem);
 container-type:inline-size;color:var(--green);
 font-size:clamp(1.75rem,5vw,5rem);line-height:1.15;
 letter-spacing:-.035em;-webkit-text-stroke:0;
}
.shop-slogan-line {
 display:block;position:static;white-space:normal;
 font-size:clamp(1.5rem,12cqi,5rem);line-height:1.15;
 overflow-wrap:normal;
}
@media(max-width:820px) {.shop-panel {grid-template-columns:minmax(0,1fr)}}

/* Feeding Help banner: preserve the photograph, place copy on opaque sage. */
.page-hero-help .feeding-tools-banner {
 background:var(--ui-info) url("assets/boosters.webp") center / cover;
 border-color:var(--line);
 padding:clamp(1rem,3vw,2rem);
}
.feeding-tools-banner .feeding-tools-count {
 margin:0;padding:1rem 1.25rem;max-width:100%;
 background:var(--ui-info);color:var(--green);
 border:var(--ui-border);border-radius:var(--ui-radius-card);
 font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:800;
 line-height:1.35;text-align:center;overflow-wrap:break-word;
}
