.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--clay);z-index:100}.standard-hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px;max-width:1640px;margin:0 auto;background:var(--cream)}.standard-heading{padding:70px clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.breadcrumb{color:#6f6259;text-decoration:none;font-size:12px;margin-bottom:34px}.breadcrumb span{padding:0 7px}.standard-heading h1{font-size:clamp(42px,4.6vw,66px);line-height:1.06;text-wrap:balance;margin:20px 0 26px}.standard-deck{font-size:18px;line-height:1.7;color:#685b53;max-width:600px}.byline{display:flex;align-items:center;gap:12px;margin-top:25px}.byline img{width:48px;height:48px;object-fit:cover;border-radius:50%}.byline b,.byline span{display:block}.byline b{font-size:12px}.byline span{font-size:12px;color:#6f6259;margin-top:3px}.standard-hero-image{position:relative;overflow:hidden;aspect-ratio:1/1}.standard-hero-image img{width:100%;height:100%;object-fit:cover}.standard-hero-image>span{position:absolute;left:25px;bottom:25px;background:rgba(255,253,249,.92);padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.standard-layout{display:grid;grid-template-columns:minmax(0,760px) 275px;gap:85px;justify-content:center;padding:105px 35px;background:var(--paper)}.standard-body>p,.standard-body section>p{font-size:17px;line-height:1.82;color:#5f534c}.standard-body .intro{font:500 26px/1.48 "Newsreader",serif;color:var(--ink)}.key-idea{background:#e6d4c7;padding:30px 35px;margin:42px 0}.key-idea>span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--clay-dark);font-weight:700}.key-idea p{font:italic 500 28px/1.3 "Newsreader",serif;margin:12px 0 0}.standard-body>section:not(.article-author){scroll-margin-top:30px;margin:90px 0}.section-number{display:block;color:var(--clay-dark);font-size:12px;letter-spacing:.15em;font-weight:700}.standard-body h2{font:600 clamp(36px,3.6vw,50px)/1.08 "Newsreader",serif;margin:56px 0 18px}.standard-body h3{margin:40px 0 12px}.standard-body>section>h2:first-child,.standard-body .section-number+h2{margin-top:13px}.standard-body p,.standard-body li{max-width:620px}.standard-body ul{padding:0;list-style:none;margin:25px 0}.standard-body li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line);color:#655850;line-height:1.6}.standard-body li:before{content:"";position:absolute;left:0;top:20px;width:8px;height:8px;border-radius:50%;background:var(--sage)}.swap-list{margin:32px 0;border-top:1px solid var(--line)}.swap-list div{display:grid;grid-template-columns:160px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.swap-list b{font:600 20px "Newsreader",serif}.swap-list span{font-size:13px;line-height:1.6;color:#6f6259}.wide-figure{margin:90px -65px}.wide-figure img{width:100%;aspect-ratio:3/2;object-fit:cover}.wide-figure figcaption{font-size:12px;color:#6f6259;margin-top:10px}.standard-body blockquote{border-left:3px solid var(--clay);margin:35px 0;padding:5px 0 5px 30px;font:italic 500 30px/1.3 "Newsreader",serif;color:var(--clay-dark)}.repeat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.repeat-grid div{background:#e5e9df;padding:23px}.repeat-grid b,.repeat-grid span{display:block}.repeat-grid b{font:600 34px "Newsreader",serif;color:#66715e}.repeat-grid span{font-size:13px;line-height:1.55;color:#5e6758;margin-top:7px}.conclusion{background:#eee2d9;padding:55px;margin-left:-55px!important;margin-right:-55px!important}.conclusion h2{font-size:55px}.conclusion .button{margin-top:20px}.article-author{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:center;padding:38px;background:#e6d4c7;margin-top:75px}.article-author>img{width:160px;height:160px;object-fit:cover}.article-author h2{font-size:34px;margin:8px 0}.article-author p:not(.eyebrow){font-size:13px;line-height:1.65;color:#675a52}.article-author a{font-size:13px;color:var(--ink);font-weight:700}.standard-sidebar{position:relative}.toc-card{position:sticky;top:30px;border-left:1px solid var(--line);padding-left:22px}.toc-card>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--clay-dark);font-weight:700;margin-bottom:8px}.toc-card ol{list-style:none;margin:0;padding:0}.toc-card li{border-bottom:1px solid var(--line)}.toc-card a{display:grid;grid-template-columns:26px 1fr;gap:7px;padding:13px 0;color:#6b5e56;text-decoration:none;font-size:13px;line-height:1.4}.toc-card small{color:var(--clay-dark);font-size:12px}.sidebar-cta{margin-top:25px;background:var(--clay-dark);color:#fff;padding:25px}.sidebar-cta>span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#f1ddd1}.sidebar-cta h3{font:600 27px/1.05 "Newsreader",serif;margin:10px 0}.sidebar-cta p{font-size:13px;line-height:1.55;color:#f1e6de}.sidebar-cta a{font-size:13px;color:#fff;font-weight:700}.mobile-toc{display:none}.standard-related{padding:100px clamp(24px,7vw,110px);background:var(--cream);text-align:center}.standard-related>div:first-child{text-align:center}.standard-related .eyebrow{justify-content:center}.standard-related h2{font:600 clamp(42px,4.5vw,62px) "Newsreader",serif}.standard-related>a{display:inline-block;margin-top:14px;color:var(--ink);font-weight:700;font-size:.95rem;text-decoration:none;border-bottom:2px solid var(--clay)}.standard-related>a:hover{color:var(--clay-dark);border-color:var(--clay-dark)}.standard-related .related-grid{max-width:1200px}@media(max-width:1000px){.standard-hero{grid-template-columns:1fr}.standard-hero-image{min-height:0}.standard-layout{grid-template-columns:minmax(0,760px)}.standard-sidebar{display:none}.mobile-toc{display:block;margin:30px 24px 0;background:#eee2d9;padding:0 20px}.mobile-toc summary{display:flex;justify-content:space-between;padding:17px 0;font-size:12px;font-weight:700;cursor:pointer}.mobile-toc ol{padding:0 0 16px 22px;margin:0}.mobile-toc li{padding:5px}.mobile-toc a{font-size:14px;color:var(--ink)}.wide-figure{margin-left:0;margin-right:0}}@media(max-width:700px){.standard-heading{padding:60px 24px}.standard-hero-image{min-height:0}.standard-layout{padding:65px 22px}.swap-list div{grid-template-columns:1fr;gap:7px}.repeat-grid{grid-template-columns:1fr}.conclusion{margin-left:0!important;margin-right:0!important;padding:35px 25px}.article-author{grid-template-columns:1fr}.standard-related{padding:70px 24px}.standard-related .related-grid{grid-template-columns:1fr}}

/* Print: the "Print Recipe" button now calls window.print(). Where the page
   carries a migrated WP Recipe Maker card, print only that card; otherwise
   print the article without the site chrome. */
@media print{@page{margin:14mm}
body{background:#fff!important;color:#000!important}
.reading-progress,.site-header,footer,.menu-button,.article-author,.standard-related,.wprm-recipe-print,.wprm-recipe-jump,.wprm-recipe-jump-video,.wprm-call-to-action,.wprm-spacer,.wprm-unit-conversion-container,.wprm-recipe-rating-details{display:none!important}
.standard-layout{display:block!important;padding:0!important}
.standard-body{max-width:none!important}
body:has(.wprm-recipe-container) .standard-heading,
body:has(.wprm-recipe-container) .standard-hero-image,
body:has(.wprm-recipe-container) .standard-body>*:not(.wprm-recipe-container){display:none!important}
.wprm-recipe-container{border:0!important;padding:0!important;background:#fff!important;break-inside:auto}
.wprm-recipe-image img{max-width:150px!important;height:auto!important}
.wprm-recipe-instruction,.wprm-recipe-ingredient{break-inside:avoid}
a[href]:after{content:""!important}
}

/* The WPRM "Tried this recipe?" call-to-action bar ships with no left/right
   padding of its own (only inline padding-top/padding-bottom survived the
   migration), so its heart icon sat flush against the bar's edge. Padding
   here doesn't fight the inline top/bottom values, just adds the missing
   sides, and gives the icon breathing room instead of touching the edge. */
.wprm-call-to-action{display:flex!important;align-items:center;gap:14px;padding-left:28px!important;padding-right:28px!important}
.wprm-call-to-action-icon{flex-shrink:0}

/* Links inside article copy had no styling at all, so every one rendered
   browser-default blue and went purple once visited. Brand palette instead,
   with :visited pinned to the same colour so the purple never appears. */
.standard-body a,
.standard-body a:visited{
  color:var(--clay-dark);
  text-decoration:underline;
  text-decoration-color:rgba(118,82,69,.38);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.standard-body a:hover{
  color:var(--ink);
  text-decoration-color:currentColor;
  text-decoration-thickness:2px;
}
.standard-body a:focus-visible{
  outline:2px solid var(--clay-dark);
  outline-offset:2px;
  border-radius:2px;
}

/* End-of-article call to action. Added 2026-09-02 with the first two posts of
   the restarted content pipeline; articles previously just stopped. */
.article-cta {
  margin: 3rem 0 0;
  padding: 2rem;
  border-radius: 14px;
  background: #f4ebe3;
  border: 1px solid rgba(84, 84, 84, .12);
}
.article-cta .eyebrow { margin: 0; }
.article-cta h2 { margin: .4rem 0 .6rem; font-size: 1.5rem; line-height: 1.25; }
.article-cta p { margin: 0 0 .6rem; }
.article-cta-actions {
  display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem;
}
.article-cta .cta-primary,
.article-cta .cta-secondary {
  display: inline-block; padding: .7rem 1.3rem; border-radius: 999px;
  text-decoration: none; font-weight: 600; font-size: .95rem;
}
.article-cta .cta-primary { background: var(--clay-dark); color: #fff; }
.article-cta .cta-secondary { border: 1px solid rgba(84, 84, 84, .35); color: #545454; }
.article-cta .cta-primary:hover { background: var(--ink); }
.article-cta .cta-secondary:hover { background: rgba(84, 84, 84, .06); }
@media (max-width: 600px) {
  .article-cta { padding: 1.5rem; }
  .article-cta-actions { flex-direction: column; }
  .article-cta .cta-primary, .article-cta .cta-secondary { text-align: center; }
}

/* In-article images carried explicit width attributes from the WordPress
   export and no max-width, so any post with an inline image scrolled
   sideways on a phone. Found 2026-09-02 while adding the article sidebar;
   it matters most for social traffic, which is almost all mobile. */
.standard-body img{max-width:100%;height:auto}

/* In-article safety note. Added 2026-09-09 for the insulin resistance diet
   post: the hypoglycemia warning for readers on insulin or a sulfonylurea has
   to be impossible to skim past, and a bold paragraph was not enough. Uses the
   site palette tokens (sand ground, gold rule) rather than a warning red, so it
   reads as a considered aside instead of an alarm or another CTA. */
.article-safety {
  margin: 2rem 0;
  padding: 1.4rem 1.6rem;
  border-radius: 12px;
  background: var(--sand);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
}
.article-safety p { margin: 0 0 .8rem; }
.article-safety p:last-child { margin-bottom: 0; }
@media (max-width: 600px) { .article-safety { padding: 1.1rem 1.2rem; } }

/* In-article tables. Added 2026-09-15 for the dairy-free keto breakfast post:
   no stylesheet styled a table at all, so a Markdown-style table rendered as
   unruled browser default. The wrapper scrolls sideways on a phone instead of
   pushing the whole page wider. Palette tokens only. */
.standard-body .table-wrap{overflow-x:auto;margin:1.8rem 0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.standard-body table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.45}
.standard-body th,.standard-body td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.standard-body th{background:var(--sand);color:var(--cocoa);font-weight:600;white-space:nowrap}
.standard-body tbody tr:last-child td{border-bottom:0}
@media (max-width:600px){.standard-body table{min-width:560px;font-size:.9rem}}

/* 2026-10-17 design-checker pass: the gold side stripe read as a "side tab";
   the box keeps its sand ground and gets a full gold outline instead. Notes
   inside it are capped for line length. */
.article-safety{border:1px solid var(--gold)}
.article-safety p{max-width:560px}
/* Buttons inside article copy: the link rule above turned their text
   clay-dark on a clay-dark button (1:1, invisible). Keep button colours. */
.standard-body a.button.primary,.standard-body a.button.primary:visited,.standard-body a.button.primary:hover{color:#fff;text-decoration:none}
.article-cta p{max-width:560px}
