
:root { color-scheme:light; --sage:#758D72; --cream:#F4F0E5; --gold:#D9A45B; --ink:#223527; background:var(--cream); color:var(--ink); font: 1rem/1.65 system-ui,sans-serif; }
* { box-sizing:border-box; }
img { display:block; max-width:100%; height:auto; }
figure { margin:1.5rem 0; }
figcaption { font-size:.85rem; }
body { margin:0; }
a { color:#365541; text-underline-offset:.2em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid #324d39; outline-offset:3px; }
header,footer { background:#fff; padding:1rem max(1rem,calc((100% - 70rem)/2)); }
header { display:flex; gap:1rem 2rem; flex-wrap:wrap; align-items:center; }
header strong { letter-spacing:.14em; }
.brand-link{display:inline-flex;align-items:center;gap:.65rem;min-height:48px;max-width:100%;text-decoration:none;font-weight:750;letter-spacing:.12em;line-height:1.2}
.brand-mark{width:48px;height:48px;object-fit:contain;flex:none}
.header-brand-link{font-size:1.15rem;color:var(--ink)}
.about-brand-logo{width:min(15rem,100%);margin:1.5rem 0;padding:.5rem;background:var(--cream);border-radius:1rem}
.about-brand-logo img{width:100%;height:auto}
nav { display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; }
main { width:min(70rem,100% - 2rem); margin:2rem auto 4rem; }
h1,h2 { font-family:Georgia,serif; line-height:1.12; }
h1 { font-size:clamp(2rem,6vw,4.5rem); margin:.45em 0 .3em; }
h2 { font-size:clamp(1.35rem,3vw,2rem); }
.hero { padding:clamp(1rem,5vw,4rem); background:#e4eadf; border-top:.35rem solid var(--sage); border-radius:1.1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem; }
.card, article { background:white; border:1px solid #d9dfd5; padding:clamp(1rem,3vw,2rem); border-radius:.8rem; overflow-wrap:anywhere; }
article { max-width:54rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; font-weight:700; }
button { background:var(--gold); color:#282218; border:1px solid #6d5029; font:inherit; font-weight:700; min-height:44px; padding:.45rem .9rem; border-radius:.45rem; cursor:pointer; }
input,select { font:inherit; min-height:44px; max-width:100%; border:1px solid #758D72; border-radius:.35rem; padding:.35rem; }
label { display:block; margin:.7rem 0; }
[hidden] { display:none !important; }
@media print { header,footer,button,form { display:none; } body,article { background:white; } main { width:100%; margin:0; } }
@media print { .backup-panel { display:none; } }
@media print {
  .planner-controls,.tool-reading { display:none !important; }
  #week-ingredients { border:0; padding:0; max-width:none; }
  #week-ingredients li { break-inside:avoid; overflow-wrap:anywhere; }
  #week-ingredients h2 { break-after:avoid; }
  .breadcrumb,.skip-link,.meal-planner > .planner-controls,.meal-planner > p { display:none !important; }
  .meal-planner { border:0; padding:0; max-width:none; }
  .meal-planner #week > section { break-inside:avoid; border:1px solid #999; margin:0 0 .5rem; padding:.6rem; }
  .meal-planner #week h2 { break-after:avoid; margin:.1rem 0 .4rem; }
  .meal-planner #week p { margin:.3rem 0; overflow-wrap:anywhere; }
}

:focus-visible{outline:3px solid #324d39;outline-offset:3px}
/* Keep the ring while focus moves between native date/month input segments. */
input:focus-within,select:focus-within{outline:3px solid #324d39;outline-offset:3px}
.skip-link{position:absolute;top:-5rem;left:1rem;padding:.65rem;background:white;z-index:10}
.skip-link:focus{top:.5rem}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.9rem;margin-bottom:1rem}
.tool-reading{margin-top:2.5rem}
.tool-reading h2{max-width:28ch}
.tool-reading h3{margin-top:1.7rem;line-height:1.35}
.tool-reading details{margin:1rem 0}
.tool-reading summary{cursor:pointer;font-weight:650}
.tool-card{display:flex;flex-direction:column;text-decoration:none;min-height:12rem;border-top:4px solid var(--sage);transition:background-color .15s}
.tool-card:hover{background:#edf1e9}
.tool-card h3{font-family:Georgia,serif;line-height:1.25;font-size:1.35rem;margin:.5rem 0}
.tool-card p{margin:.3rem 0 1rem;color:var(--ink)}
.tool-number{font-weight:700;font-size:.85rem;color:#53694f;letter-spacing:.08em}
.tool-open{margin-top:auto;text-decoration:underline;text-underline-offset:.2em;font-weight:650}
.print-only{display:none}
@media print{
 .print-only{display:block!important}
 .grocery-tool{border:0;max-width:none;padding:0}
 .grocery-tool>:not(h1):not(#shopping-print-heading):not(#shopping-items){display:none!important}
 #shopping-items label,#shopping-items form,#shopping-items button{display:none!important}
 #shopping-items>.card{break-inside:avoid;border:1px solid #999;margin:.5rem 0;padding:.6rem}
}

/* Ingredient pages and shared footer */
.topic-article,.information-article{max-width:58rem}
.topic-art img{width:100%;border-radius:.65rem;background:#f4f0e5}
.topic-art figcaption{margin-top:.65rem;color:#4c5d50}
.topic-index{display:grid;gap:.4rem;border-block:1px solid #d9dfd5;padding:1rem 0}
.topic-index a{padding:.35rem 0}
.topic-article details{border-bottom:1px solid #d9dfd5;padding:.5rem 0}
.topic-article summary{cursor:pointer;min-height:44px;padding:.6rem .25rem;font-weight:650}
.information-article dt{font-weight:700;margin-top:1rem}.information-article dd{margin:.35rem 0 1rem}
.contact-status{background:#f4f0e5;border-left:4px solid #758d72;padding:.25rem 1.25rem}
.site-footer{background:#203b30;color:#f4f0e5;padding-block:3rem 1.25rem}
.site-footer a{color:#f4f0e5}.footer-brand>a{display:inline-block;min-height:44px;font-weight:750;font-size:1.45rem;letter-spacing:.12em;text-decoration:none}
.footer-brand p{max-width:37rem;margin:.5rem 0 2rem;color:#d8e2d6}
.footer-brand>.footer-brand-link{display:inline-flex;align-items:center;gap:.7rem}
.footer-brand-link .brand-mark{width:44px;height:44px;padding:4px;border-radius:50%;background:var(--cream)}
@media(max-width:480px){.header-brand-link{font-size:1rem;letter-spacing:.1em}.header-brand-link .brand-mark{width:42px;height:42px}}
.footer-groups{display:grid;grid-template-columns:1fr 1.65fr 1fr 1.1fr;gap:2rem}.footer-groups nav{display:block;min-width:0}
.footer-groups h2{font:700 1rem/1.4 system-ui,sans-serif;margin:0 0 .7rem;color:#e5c18e}
.footer-groups ul{list-style:none;margin:0;padding:0}.footer-groups a{display:flex;align-items:center;min-height:44px;padding:.4rem 0;line-height:1.5}
.footer-copyright{border-top:1px solid #587064;margin:2rem 0 0;padding-top:1.25rem;font-size:.85rem;color:#d8e2d6}
.site-footer :focus-visible{outline:3px solid #f3c77f;outline-offset:3px}
@media(max-width:760px){.footer-groups{grid-template-columns:1fr;gap:1.8rem}.site-footer{padding-top:2rem}}

#filter-feedback{background:#fff;border:1px solid #d9dfd5;border-radius:.8rem;padding:1.25rem;margin:1.5rem 0;max-width:54rem;overflow-wrap:anywhere}.match-preview{border-top:1px solid #d9dfd5;padding:.75rem 0}.match-preview h3{margin:.5rem 0}.match-comparison li{margin:.35rem 0}

#generator fieldset{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.25rem .75rem;min-width:0;margin:1rem 0;padding:1rem}#generator label:has(input[type="checkbox"]){display:flex;align-items:center;gap:.6rem;min-height:44px;margin:.15rem 0;line-height:1.4}#generator input[type="checkbox"]{width:20px;height:20px;min-height:20px;flex:none;margin:0}


.contact-status a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}

/* PANTRISORA tool portal */
.portal-hero{padding:clamp(1.25rem,4vw,3rem);background:#e4eadf;border-top:5px solid var(--sage);border-radius:1rem}.portal-hero h1{max-width:17ch}.search-row{display:flex;gap:.75rem;flex-wrap:wrap}.search-row input{flex:1;min-width:0}.featured-tool{background:white;padding:clamp(1rem,3vw,2rem);border:1px solid #d9dfd5;border-radius:1rem;margin:2rem 0}main>section{margin-block:2rem}.directory-group{margin:1.5rem 0}.directory-group>h3{border-bottom:2px solid #d9a45b;padding-bottom:.6rem}.directory-group .tool-card{min-height:10rem}.recipe-card{text-decoration:none}.recipe-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.5rem}.recipe-card h3{line-height:1.3}.guide-directory ul{columns:2;column-gap:2.5rem}.guide-directory li{break-inside:avoid;margin-bottom:.7rem}details>summary{cursor:pointer;min-height:44px;padding:.7rem 0;font-weight:650}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:1.5rem;align-items:start}.tool-layout>div,.tool-help{min-width:0}.tool-interface{max-width:none;border-top:5px solid var(--sage)}.tool-interface h1{font-size:clamp(2rem,4vw,3.2rem)}.tool-help{background:#e4eadf;border-radius:.8rem;padding:1.25rem}.tool-help h2{font-size:1.3rem}.tool-jump{padding:0 0 1rem}.tool-reading{max-width:none}.related-resources{padding:1.5rem;background:#e4eadf;border-radius:.8rem;margin-top:2rem}.related-resources ul{columns:2}article figure img{max-height:30rem;width:auto;object-fit:contain}header nav a{min-height:44px;display:inline-flex;align-items:center}main h2,main h3{scroll-margin-top:1rem}@media(max-width:850px){.tool-layout{grid-template-columns:1fr}.tool-help{display:none}.guide-directory ul,.related-resources ul{columns:1}}@media print{.tool-jump,.tool-help,.related-resources{display:none!important}.tool-layout{display:block}.tool-interface{border:0}}

/* Reserve photo geometry before responsive source decode. */
.recipe-photo img{width:100%;height:auto;max-height:30rem;object-fit:contain}
