@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
:root{--prose:760px;--soft:#ece9dc}
body{background:var(--paper)}
h1{font-size:clamp(2.75rem,6.3vw,5.2rem);letter-spacing:-.055em}
a:hover{text-underline-offset:4px}
a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.screen-reader-text:focus{position:fixed;top:1rem;left:1rem;z-index:99999;width:auto;height:auto;clip-path:none;padding:.65rem;background:var(--paper)}
.admin-bar .header{top:32px}
.admin-bar [id]{scroll-margin-top:108px}
.brand-name{font-size:1.39rem;max-width:28ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.custom-logo-link{display:inline-flex;align-items:center;min-width:0;width:max-content;max-width:100%}
.custom-logo{width:auto;height:auto;max-height:42px;max-width:180px;object-fit:contain}
.nav ul,.footer-links ul{display:flex;flex-wrap:wrap;gap:.4rem 1.45rem;align-items:center;padding:0;margin:0;list-style:none}
.nav li,.footer-links li{position:relative}
.nav a,.footer-links a{color:var(--ink)}
.nav .sub-menu,.footer-links .sub-menu{display:none}
.nav li:focus-within>.sub-menu,.nav li:hover>.sub-menu{display:block;position:absolute;z-index:2;top:100%;left:0;min-width:170px;padding:.5rem;background:var(--paper);border:1px solid var(--edge);border-radius:5px}
.nav .sub-menu li a,.footer-links .sub-menu li a{display:block;padding:.3rem}
.mobile-search{display:none}
.footer-links li:focus-within>.sub-menu,.footer-links li:hover>.sub-menu{display:block;position:absolute;z-index:2;bottom:100%;left:0;min-width:150px;padding:.45rem;background:var(--paper);border:1px solid var(--edge);border-radius:5px}
.footer-note{margin-top:.56rem;color:var(--muted);font-size:.86rem}
.guide-search{margin:1.15rem 0 1.65rem;display:flex;gap:.62rem;width:min(100%,520px)}
.guide-search label{flex:1;min-width:0}
.guide-search input{width:100%;height:47px;border:1px solid #baaf9c;border-radius:5px;background:var(--paper);padding:0 .76rem;color:var(--ink);font:inherit}
.guide-search button{cursor:pointer}
.latest-guides,.related-guides{background:#f4eee1}
.latest-heading{margin:1.9rem 0 .75rem}
.listing h1{margin:0 0 1rem}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:1.25rem}
.post-card{border:1px solid var(--edge);border-radius:8px;overflow:hidden;background:var(--paper);min-width:0}
.post-card-media img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.post-card-body{padding:1rem 1.05rem 1.2rem}
.post-card h3{margin:.22rem 0 .45rem;font-size:clamp(1.35rem,2.2vw,1.85rem)}
.post-card h3 a{text-decoration:none;color:var(--ink)}
.post-card h3 a:hover{text-decoration:underline}
.post-card p{color:var(--muted);font-size:.93rem}
.eyebrow{color:var(--rust);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.breadcrumbs{font-size:.8rem;color:var(--muted);padding-top:1.25rem}
.breadcrumbs ol{display:flex;list-style:none;gap:.35rem;flex-wrap:wrap;margin:0;padding:0}
.breadcrumbs li span{margin-left:.28rem}
.article-shell{padding-bottom:clamp(2.8rem,6vw,5.1rem)}
.article-head{max-width:var(--prose);margin:2.15rem auto 1.65rem}
.article-head h1{overflow-wrap:anywhere}
.article-head .eyebrow{display:inline-block;margin-bottom:.5rem}
.article-deck{font-size:clamp(1.07rem,2vw,1.33rem);color:var(--muted);margin-top:.85rem}
.article-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;margin:.85rem 0;color:var(--muted);font-size:.88rem}
.article-meta a{color:var(--rust);text-underline-offset:3px}
.article-image{max-width:970px;margin:0 auto 1.4rem}
.article-image img{width:100%;height:auto;border-radius:8px}
.article-toc,.article-prose,.author-card,.comments{max-width:var(--prose);margin-inline:auto}
.article-toc{background:#f2eade;border:1px solid var(--edge);border-radius:6px;padding:.65rem 1.1rem;margin-bottom:1.45rem}
.article-toc summary{font-weight:700;cursor:pointer}
.article-toc ul{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1.2rem;padding-left:1.25rem;margin:.62rem 0 .48rem}
.article-toc li{font-size:.9rem}
.article-toc li.subheading{list-style-type:circle;padding-left:.4rem}
.article-toc a{color:var(--rust);text-underline-offset:3px}
.article-prose{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.78;overflow-wrap:anywhere;display:flow-root}
.article-prose > *{margin-block:0 1.05rem}
.article-prose > h2{font-size:clamp(1.85rem,3.6vw,3.1rem);margin-top:1.45em;margin-bottom:.42em}
.article-prose > h3{font-size:clamp(1.4rem,2.5vw,2rem);margin-top:1.25em;margin-bottom:.42em}
.article-prose a{color:var(--rust);text-underline-offset:4px}
.article-prose img,.article-prose video{height:auto}
.article-prose figure{margin-block:1.2rem}
.article-prose .wp-block-table{max-width:100%;overflow-x:auto}
.article-prose .wp-block-table table{table-layout:auto}
.article-prose .wp-block-table :is(td,th){border:1px solid var(--edge)}
.article-prose pre{overflow:auto;padding:1rem;background:#f3eade}
.article-prose blockquote{border-left:3px solid var(--rust);padding-left:1rem;color:var(--muted)}
.article-prose .wp-block-details,.article-prose details{border-block-end:1px solid var(--edge);padding:.55rem 0}
.article-prose details summary{cursor:pointer;font-weight:700}
.article-prose .bwfg-answer{background:#eeeddf;border:1px solid #d8dac6;padding:1rem;border-radius:7px;margin-top:1.05rem}
.article-prose .bwfg-answer p{margin-block:.35rem 0}
.article-prose .alignwide{width:min(970px,calc(100vw - 48px));max-width:none;position:relative;left:50%;transform:translateX(-50%)}
.recipe-card{background:#f5ecdb;border:1px solid var(--edge);border-radius:8px;padding:clamp(1.05rem,3.1vw,2rem);margin-top:2rem;color:var(--ink)}
.recipe-head{display:flex;justify-content:space-between;align-items:start;gap:.75rem}
.recipe-card h2{font-size:clamp(1.85rem,3.5vw,3.1rem);margin-top:.2rem}
.recipe-print[hidden]{display:none}
.recipe-print{background:var(--paper);cursor:pointer;flex-shrink:0}
.recipe-summary{color:var(--muted);margin:.7rem 0 0}
.recipe-facts{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem;padding:.7rem 0;border-block:1px solid var(--edge);margin:1rem 0}
.recipe-facts dt{color:var(--muted);font-size:.8rem}
.recipe-facts dd{margin:0;font-weight:700;font-size:.9rem}
.recipe-steps{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.4rem;margin-top:1.1rem}
.recipe-steps ol,.recipe-steps ul{margin:.32rem 0}
.recipe-steps ol{padding-left:1.2rem}
.recipe-steps ul{list-style:none;padding-left:0}
.recipe-steps li+li{margin-top:.38rem}
.recipe-steps label{display:flex;align-items:start;gap:.5rem;cursor:pointer}
.recipe-steps input{margin-top:.5rem;accent-color:var(--rust);flex:none}
.recipe-steps input:checked+span{text-decoration:line-through;color:var(--muted)}
.recipe-notes{border-top:1px solid var(--edge);margin-top:1rem;padding-top:.75rem}
.recipe-notes p{margin-top:.45rem}
.author-card,.comments{margin-top:1.6rem;padding:1.15rem 0;border-top:1px solid var(--edge)}
.author-card h2,.comments h2{font-size:1.65rem}
.author-card p{margin-top:.45rem;color:var(--muted)}
.comment-list{padding-left:1.1rem}
.comment-form textarea,.comment-form input:not([type="submit"],[type="checkbox"]){max-width:100%;border:1px solid var(--edge);border-radius:4px;padding:.45rem;color:var(--ink);background:var(--paper)}
.comment-form textarea{width:100%}
.comment-form label{display:inline-block}
.comment-form input[type=submit]{background:var(--rust);border:1px solid var(--rust);color:#fff;padding:.45rem .87rem;border-radius:4px;cursor:pointer}
.pagination{margin-top:1.6rem}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.45rem}
.pagination .page-numbers{padding:.25rem .62rem;border:1px solid var(--edge);border-radius:4px}
@media(max-width:950px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-bar .header{top:32px}
}
@media(max-width:782px){.admin-bar .header{top:46px}}
@media(max-width:650px){
  .admin-bar .header{top:0}
  .admin-bar [id]{scroll-margin-top:75px}
  .mobile-search{display:inline-flex}
  .nav ul{gap:.45rem .85rem}
  .nav li:focus-within>.sub-menu,.nav li:hover>.sub-menu{position:static;padding:.25rem;min-width:0}
  .footer-links ul{gap:.45rem .85rem}
  .footer-links li:focus-within>.sub-menu,.footer-links li:hover>.sub-menu{position:static;min-width:0}
  .article-head{margin:1.35rem 0 1.15rem}
  .post-grid,.article-toc ul,.recipe-steps{grid-template-columns:minmax(0,1fr)}
  .article-shell{padding-bottom:2.5rem}
  .recipe-steps{gap:.85rem}
  .recipe-print{font-size:.74rem;padding:.28rem .42rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
  body{background:white;color:#000}
  .breadcrumbs,.article-toc,.article-meta,.related-guides,.comments,.author-card,.recipe-print{display:none}
  body.printing-recipe *{visibility:hidden}
  body.printing-recipe .recipe-card,body.printing-recipe .recipe-card *{visibility:visible}
  body.printing-recipe .recipe-card{position:absolute;left:0;top:0;width:100%;background:white;border:0;margin:0;padding:0}
}

/* Homepage reference panels and topic links. */
.finder{margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid var(--edge);border-radius:8px;background:#f6f0e5}
.finder-intro h3{font-size:clamp(1.38rem,2.2vw,1.8rem)}
.finder-intro p,.finder-fallback{color:var(--muted);font-size:.92rem;margin-top:.3rem}
.finder-controls[hidden],.finder-fallback[hidden]{display:none}
.finder-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}
.finder-inputs label{font-size:.86rem;font-weight:700;min-width:0}
.finder-inputs select{display:block;width:100%;min-height:45px;margin-top:.22rem;padding:.4rem .55rem;font:inherit;color:var(--ink);background:var(--paper);border:1px solid #b7ad9b;border-radius:5px}
.finder-inputs select:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.finder-output{margin-top:.72rem;padding:.65rem .7rem;border-radius:5px;background:#ebeada;color:#353926;font-weight:700;font-size:.94rem}
.history-list li+li{margin-top:.65rem}
.nutrition-section{background:#f3eddf;border-block:1px solid var(--edge)}
.nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:1.2rem;overflow:hidden;border:1px solid var(--edge);border-radius:7px;background:var(--edge)}
.nutrition-grid div{display:grid;padding:.9rem 1rem;background:var(--paper)}
.nutrition-grid strong{font:normal clamp(1.5rem,3vw,2.25rem)/1.1 var(--display)}
.nutrition-grid span,.nutrition-source{color:var(--muted);font-size:.87rem}
.nutrition-source{margin-top:.55rem}
.nutrition-source a{color:var(--rust);text-underline-offset:3px}
.topic-library{background:var(--paper);border-top:1px solid var(--edge)}
.topic-library h2,.latest-guides h2{font-size:clamp(1.9rem,3.6vw,3.15rem)}
.topic-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.25rem;margin-top:1.25rem}
.topic-group{padding-top:.75rem;border-top:2px solid var(--edge)}
.topic-group h3{font-size:1.38rem}
.topic-group ul{list-style:none;padding:0;margin:.5rem 0 0}
.topic-group li+li{margin-top:.35rem}
.topic-group a,.hub-return a{color:var(--rust);text-underline-offset:3px}
.hub-return{margin-top:1.25rem;border-top:1px solid var(--edge);padding-top:.7rem;color:var(--muted);font-size:.93rem}
@media(max-width:650px){.finder-inputs{grid-template-columns:minmax(0,1fr)}.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finder{padding:.85rem}}
