:root{
  --site-page:#ffffff;
  --site-paper:#fff;
  --site-ink:#18201e;
  --site-copy:#46514e;
  --site-muted:#68726f;
  --site-line:#e7dfd4;
  --site-gold:#a36b12;
  --site-night:#192622;
  --site-night-2:#24332f;
  --site-font:"Barlow","Avenir Next","Segoe UI Variable","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:var(--site-ink);font-family:var(--site-font);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}

/* Fully scoped master recipe UI */
.tsh-recipe{
  --tsh-page:#ffffff;
  --tsh-paper:#ffffff;
  --tsh-paper-warm:#fffdf9;
  --tsh-ink:#18201e;
  --tsh-copy:#46514e;
  --tsh-muted:#68726f;
  --tsh-line:#e7dfd4;
  --tsh-line-strong:#d8cbb9;
  --tsh-gold:#a36b12;
  --tsh-gold-deep:#6d4307;
  --tsh-gold-soft:#f8edda;
  --tsh-night:#192622;
  --tsh-night-2:#24332f;
  --tsh-sage:#176745;
  --tsh-sage-soft:#eaf6ef;
  --tsh-blue:#285c9d;
  --tsh-blue-soft:#edf4fd;
  --tsh-rose:#994435;
  --tsh-rose-soft:#fbefec;
  --tsh-violet:#6c5094;
  --tsh-violet-soft:#f4eff9;
  --tsh-shadow-sm:0 1px 2px rgba(38,32,24,.04),0 10px 28px rgba(38,32,24,.055);
  --tsh-shadow-md:0 1px 2px rgba(38,32,24,.05),0 18px 46px rgba(38,32,24,.075);
  --tsh-shadow-lg:0 2px 4px rgba(38,32,24,.045),0 24px 72px rgba(38,32,24,.095);
  --tsh-radius-xl:24px;
  --tsh-radius-lg:18px;
  --tsh-radius-md:14px;
  --tsh-radius-sm:11px;
  --tsh-ingredient-x-padding:20px;
  --tsh-ingredient-amount-column:150px;
  --tsh-ingredient-column-gap:22px;
  --tsh-ingredient-note-column:minmax(220px,.42fr);
  --tsh-ease:cubic-bezier(.2,.75,.2,1);
  --tsh-font:"Barlow","Avenir Next","Segoe UI Variable","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:min(1200px,calc(100% - 24px));
  margin:18px auto 64px;
  color:var(--tsh-ink);
  color-scheme:light;
  font-family:var(--tsh-font);
  font-size:16px;
  font-weight:400;
  font-kerning:normal;
  font-optical-sizing:auto;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.tsh-recipe *,
.tsh-recipe *::before,
.tsh-recipe *::after{box-sizing:border-box}
.tsh-recipe :where(h2,h3,h4,p,figure,figcaption,blockquote,ul,ol,li,dl,dt,dd,table,caption){margin:0;padding:0}
.tsh-recipe :where(img){display:block;max-width:100%}
.tsh-recipe :where(a){color:var(--tsh-gold-deep);text-decoration-thickness:.08em;text-underline-offset:.18em}
.tsh-recipe :where(a,summary){-webkit-tap-highlight-color:transparent}
.tsh-recipe :where(a:focus-visible,summary:focus-visible){outline:3px solid rgba(163,107,18,.28);outline-offset:3px;border-radius:9px}
.tsh-recipe ::selection{background:var(--tsh-gold-soft);color:var(--tsh-night)}
.tsh-recipe .tsh-anchor,
.tsh-recipe .tsh-step[id]{scroll-margin-top:105px}

/* Shared card system */
.tsh-recipe .tsh-card{
  position:relative;overflow:hidden;margin-bottom:20px;border:1px solid var(--tsh-line);
  border-radius:var(--tsh-radius-xl);background:var(--tsh-paper);box-shadow:var(--tsh-shadow-md)
}
.tsh-recipe .tsh-card::after{
  content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);pointer-events:none
}
.tsh-recipe .tsh-card-head{
  --tone:var(--tsh-gold-deep);--tone-bg:#faf4e9;--tone-rgb:109,67,7;
  position:relative;z-index:1;overflow:hidden;
  padding:clamp(22px,2.8vw,32px) clamp(20px,3.3vw,38px);
  border-bottom:1px solid var(--tsh-line);
  background:radial-gradient(circle at 96% 4%,rgba(var(--tone-rgb),.105),transparent 17rem),
             linear-gradient(132deg,var(--tone-bg),#fff 74%)
}
.tsh-recipe .tsh-card-head::before{
  content:"";position:absolute;inset-block:clamp(22px,2.8vw,32px);inset-inline-start:0;width:3px;
  border-start-end-radius:999px;border-end-end-radius:999px;background:var(--tone)
}
.tsh-recipe .tsh-tone-gold{--tone:var(--tsh-gold-deep);--tone-bg:#fbf3e5;--tone-rgb:109,67,7}
.tsh-recipe .tsh-tone-sage{--tone:var(--tsh-sage);--tone-bg:var(--tsh-sage-soft);--tone-rgb:23,103,69}
.tsh-recipe .tsh-tone-blue{--tone:var(--tsh-blue);--tone-bg:var(--tsh-blue-soft);--tone-rgb:40,92,157}
.tsh-recipe .tsh-tone-rose{--tone:var(--tsh-rose);--tone-bg:var(--tsh-rose-soft);--tone-rgb:153,68,53}
.tsh-recipe .tsh-tone-violet{--tone:var(--tsh-violet);--tone-bg:var(--tsh-violet-soft);--tone-rgb:108,80,148}
.tsh-recipe .tsh-kicker{
  display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--tone,var(--tsh-gold-deep));
  font-size:10px;font-weight:820;letter-spacing:.165em;line-height:1.4;text-transform:uppercase
}
.tsh-recipe .tsh-kicker::before{content:"";width:26px;height:2px;flex:0 0 auto;border-radius:999px;background:currentColor}
.tsh-recipe .tsh-card-head h3{
  max-width:780px;color:var(--tsh-ink);font-size:clamp(23px,2.65vw,31px);font-weight:770;
  letter-spacing:-.03em;line-height:1.16;text-wrap:balance
}
.tsh-recipe .tsh-head-copy{
  max-width:920px;margin-top:9px;color:var(--tsh-copy);font-size:14.5px;line-height:1.66;text-wrap:pretty
}
.tsh-recipe .tsh-card-body{position:relative;z-index:1;padding:clamp(22px,3.2vw,38px)}

/* Masthead */
.tsh-recipe .tsh-masthead{
  position:relative;display:block;overflow:hidden;margin-bottom:20px;border:1px solid var(--tsh-line-strong);
  border-radius:26px;background:var(--tsh-paper);box-shadow:var(--tsh-shadow-lg)
}
.tsh-recipe .tsh-title-wrap{
  position:relative;min-width:0;padding:clamp(34px,4.3vw,54px) clamp(22px,4.6vw,58px) clamp(30px,4vw,48px);
  background:radial-gradient(circle at 100% 0%,rgba(163,107,18,.13),transparent 27rem),
             radial-gradient(circle at 8% 90%,rgba(23,103,69,.055),transparent 20rem),
             linear-gradient(145deg,#fffdfa,#fbf5ea)
}
.tsh-recipe .tsh-title-wrap::after{
  content:"";position:absolute;inset:0 0 auto;height:4px;
  background:linear-gradient(90deg,var(--tsh-gold-deep),#c9963d 46%,#ead8b7 78%,transparent)
}
.tsh-recipe .tsh-main-kicker{
  display:flex;align-items:center;gap:11px;margin-bottom:14px;color:var(--tsh-gold-deep);
  font-size:10.5px;font-weight:820;letter-spacing:.18em;line-height:1.45;text-transform:uppercase
}
.tsh-recipe .tsh-main-kicker::before{content:"";width:32px;height:2px;flex:0 0 auto;border-radius:999px;background:currentColor}
.tsh-recipe .tsh-title{
  max-width:930px;color:var(--tsh-ink);font-size:clamp(39px,4.6vw,61px);font-weight:800;
  letter-spacing:-.052em;line-height:.99;text-wrap:balance
}
.tsh-recipe .tsh-title-main,
.tsh-recipe .tsh-title-accent{display:block}
.tsh-recipe .tsh-title b{font-weight:860}
.tsh-recipe .tsh-title-accent{
  max-width:880px;margin-top:11px;color:var(--tsh-gold);font-size:.47em;font-weight:660;
  letter-spacing:-.026em;line-height:1.17
}
.tsh-recipe .tsh-lead{
  max-width:820px;margin-top:19px;color:var(--tsh-copy);font-size:clamp(16px,1.65vw,18px);line-height:1.68;text-wrap:pretty
}
.tsh-recipe .tsh-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px;list-style:none}
.tsh-recipe .tsh-tags li{
  display:inline-flex;align-items:center;min-height:31px;padding:6px 11px;border:1px solid #dfc89f;
  border-radius:999px;background:rgba(255,250,241,.9);color:#62400d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);font-size:12px;font-weight:710;line-height:1.2
}
.tsh-recipe .tsh-hero{position:relative;min-width:0;border-block:1px solid var(--tsh-line);background:#ece4d8}
.tsh-recipe .tsh-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.tsh-recipe .tsh-hero figcaption{padding:12px clamp(17px,3vw,31px);border-top:1px solid var(--tsh-line);background:#fff;color:var(--tsh-muted);font-size:12.5px;line-height:1.52}
.tsh-recipe .tsh-facts{--tsh-fact-cols:6;display:grid;grid-template-columns:repeat(var(--tsh-fact-cols),minmax(0,1fr));gap:1px;padding:1px;background:var(--tsh-line)}
.tsh-recipe .tsh-facts--5{--tsh-fact-cols:5}
.tsh-recipe .tsh-fact{position:relative;min-width:0;padding:15px 16px 16px;background:var(--tsh-paper-warm)}
.tsh-recipe .tsh-fact::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:2px;background:linear-gradient(var(--tsh-gold),transparent 78%);opacity:.62}
.tsh-recipe .tsh-fact dt{margin-bottom:5px;color:var(--tsh-muted);font-size:9.5px;font-weight:830;letter-spacing:.135em;line-height:1.35;text-transform:uppercase}
.tsh-recipe .tsh-fact dd{color:var(--tsh-ink);font-size:15px;font-weight:780;letter-spacing:-.012em;line-height:1.3;font-variant-numeric:tabular-nums}


/* Floating TOC — pure CSS, no JavaScript */
.tsh-recipe .tsh-recipe-body-shell{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.tsh-recipe .tsh-content-stack{
  min-width:0;
}
.tsh-recipe .tsh-quick-nav{
  position:sticky;
  top:98px;
  z-index:20;
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  margin:0;
  padding:10px;
  border:1px solid rgba(216,203,185,.92);
  border-radius:17px;
  background:#fff;
  box-shadow:0 1px 2px rgba(38,32,24,.045),0 12px 34px rgba(38,32,24,.075);
  counter-reset:tsh-nav;
}
.tsh-recipe .tsh-quick-nav::before{
  content:none;
  display:block;
  padding:3px 8px 8px;
  color:var(--tsh-muted);
  font-size:9.5px;
  font-weight:830;
  letter-spacing:.135em;
  line-height:1.35;
  text-transform:uppercase;
}
.tsh-recipe .tsh-quick-nav a{
  counter-increment:tsh-nav;
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:38px;
  width:100%;
  padding:7px 9px 7px 7px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#58380a;
  font-size:12px;
  font-weight:730;
  line-height:1.25;
  text-decoration:none;
  transition:border-color .18s var(--tsh-ease),background .18s var(--tsh-ease),transform .18s var(--tsh-ease);
}
.tsh-recipe .tsh-quick-nav a::before{
  content:counter(tsh-nav,decimal-leading-zero);
  display:grid;
  width:27px;
  height:27px;
  place-items:center;
  border-radius:8px;
  background:#f5ecdc;
  color:#70470a;
  font-size:8.8px;
  font-weight:850;
  letter-spacing:.04em;
  line-height:1;
}
.tsh-recipe .tsh-quick-nav a:hover{
  border-color:#dcc79f;
  background:#fffaf2;
  transform:translateX(2px);
}
.tsh-recipe .tsh-quick-nav a:focus-visible{
  outline:3px solid rgba(163,107,18,.28);
  outline-offset:2px;
}

/* Overview + key cards + plan */
.tsh-recipe .tsh-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4.2vw,52px)}
.tsh-recipe .tsh-prose p{color:var(--tsh-copy);font-size:15px;line-height:1.79;text-wrap:pretty}
.tsh-recipe .tsh-prose p+p{margin-top:15px}
.tsh-recipe .tsh-prose strong{color:var(--tsh-ink);font-weight:750}
.tsh-recipe .tsh-key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:13px;margin-top:27px}
.tsh-recipe .tsh-key{
  --tsh-key-tone:var(--tsh-gold);--tsh-key-bg:#fff8ec;position:relative;min-width:0;overflow:hidden;padding:18px;
  border:1px solid var(--tsh-line);border-radius:15px;background:linear-gradient(150deg,var(--tsh-key-bg),#fff 72%);box-shadow:var(--tsh-shadow-sm)
}
.tsh-recipe .tsh-key::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tsh-key-tone)}
.tsh-recipe .tsh-key:nth-child(2){--tsh-key-tone:var(--tsh-sage);--tsh-key-bg:#edf8f2}
.tsh-recipe .tsh-key:nth-child(3){--tsh-key-tone:var(--tsh-blue);--tsh-key-bg:#eff5fd}
.tsh-recipe .tsh-key-top{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.tsh-recipe .tsh-key-no{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--tsh-night);box-shadow:0 5px 12px rgba(25,38,34,.15);color:#f3c873;font-size:11.5px;font-weight:860;line-height:1}
.tsh-recipe .tsh-key h4{color:var(--tsh-ink);font-size:15px;font-weight:780;line-height:1.35}
.tsh-recipe .tsh-key p{color:var(--tsh-copy);font-size:13.5px;line-height:1.61}
.tsh-recipe .tsh-plan{overflow:hidden;margin-top:27px;border:1px solid #ded4c6;border-radius:17px;background:#fff;box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-plan-head{padding:18px 20px;border-bottom:1px solid var(--tsh-line);background:radial-gradient(circle at 96% 0%,rgba(109,67,7,.09),transparent 15rem),linear-gradient(135deg,#f8f3ea,#fff 86%)}
.tsh-recipe .tsh-plan-kicker{margin-bottom:5px;color:var(--tsh-gold-deep);font-size:9.5px;font-weight:830;letter-spacing:.145em;line-height:1.4;text-transform:uppercase}
.tsh-recipe .tsh-plan-head h4{color:var(--tsh-ink);font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.32}
.tsh-recipe .tsh-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;background:var(--tsh-line);list-style:none}
.tsh-recipe .tsh-plan-item{--plan-tone:var(--tsh-gold);position:relative;min-width:0;padding:18px;background:linear-gradient(150deg,#fffdf9,#fff)}
.tsh-recipe .tsh-plan-item::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--plan-tone)}
.tsh-recipe .tsh-plan-item:nth-child(4n+2){--plan-tone:#4d6359}
.tsh-recipe .tsh-plan-item:nth-child(4n+3){--plan-tone:#66565c}
.tsh-recipe .tsh-plan-item:nth-child(4n+4){--plan-tone:#59666d}
.tsh-recipe .tsh-plan-when{display:inline-flex;margin-bottom:9px;padding:5px 8px;border:1px solid #e0d3c0;border-radius:999px;background:#faf5ed;color:#654714;font-size:10.5px;font-weight:800;line-height:1.2}
.tsh-recipe .tsh-plan-item strong{display:block;margin-bottom:6px;color:var(--tsh-ink);font-size:14.5px;font-weight:800;line-height:1.38}
.tsh-recipe .tsh-plan-item p{color:var(--tsh-copy);font-size:13px;line-height:1.6}

/* Ingredients */
.tsh-recipe .tsh-ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:15px}
.tsh-recipe .tsh-ingredient-card{overflow:hidden;border:1px solid var(--tsh-line);border-radius:16px;background:#fff;box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-ingredient-card h4{position:relative;padding:16px 19px 14px 23px;border-bottom:1px solid var(--tsh-line);background:linear-gradient(135deg,#fbf6ed,#fff);color:var(--tsh-ink);font-size:16px;font-weight:780;line-height:1.35}
.tsh-recipe .tsh-ingredient-card h4::before{content:"";position:absolute;inset-block:17px 15px;inset-inline-start:0;width:3px;border-start-end-radius:999px;border-end-end-radius:999px;background:var(--tsh-sage)}
.tsh-recipe .tsh-ingredient-card:nth-child(2) h4::before{background:var(--tsh-gold)}
.tsh-recipe .tsh-ingredient-card ul{list-style:none}
.tsh-recipe .tsh-ingredient-card li{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:13px;align-items:start;padding:12px 18px;border-bottom:1px solid var(--tsh-line);color:var(--tsh-copy);font-size:14px;line-height:1.52}
.tsh-recipe .tsh-ingredient-card li:nth-child(even){background:#fdfbf8}
.tsh-recipe .tsh-ingredient-card li:last-child{border-bottom:0}
.tsh-recipe .tsh-amount{display:inline-flex;width:max-content;max-width:100%;min-height:26px;align-items:center;padding:3px 8px;border:1px solid #e4d8c7;border-radius:999px;background:#f8f3eb;color:var(--tsh-ink);font-size:12.5px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums}
.tsh-recipe .tsh-ingredient-card small{display:block;margin-top:4px;color:var(--tsh-muted);font-size:12.2px;line-height:1.46}
.tsh-recipe .tsh-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:13px;margin-top:15px}
.tsh-recipe .tsh-note{position:relative;min-width:0;padding:17px 18px;padding-inline-start:51px;border:1px solid var(--tsh-line);border-radius:14px;background:linear-gradient(145deg,#fbfaf7,#fff);box-shadow:0 7px 20px rgba(38,32,24,.035);color:var(--tsh-copy);font-size:13.5px;line-height:1.6}
.tsh-recipe .tsh-note::before{content:"i";position:absolute;inset-block-start:17px;inset-inline-start:17px;display:grid;width:23px;height:23px;place-items:center;border:1px solid #c9aa71;border-radius:50%;background:#fff;color:var(--tsh-gold-deep);font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1}
.tsh-recipe .tsh-note strong{color:var(--tsh-ink);font-weight:780}

/* Method */
.tsh-recipe .tsh-stages{display:grid;gap:18px}
.tsh-recipe .tsh-stage-card{--stage-tone:#73542d;--stage-tone-rgb:115,84,45;--stage-bg:#f8f3ea;--stage-pill:#fcf8f1;--stage-border:#ded0bb;overflow:hidden;border:1px solid #ded6ca;border-radius:18px;background:var(--tsh-paper-warm);box-shadow:0 1px 2px rgba(38,32,24,.035),0 12px 30px rgba(38,32,24,.05)}
.tsh-recipe .tsh-stage-card:nth-child(4n+2){--stage-tone:#4d6359;--stage-tone-rgb:77,99,89;--stage-bg:#f2f6f3;--stage-pill:#f7faf8;--stage-border:#cfdad4}
.tsh-recipe .tsh-stage-card:nth-child(4n+3){--stage-tone:#66565c;--stage-tone-rgb:102,86,92;--stage-bg:#f6f2f3;--stage-pill:#faf7f8;--stage-border:#ddd1d5}
.tsh-recipe .tsh-stage-card:nth-child(4n+4){--stage-tone:#59666d;--stage-tone-rgb:89,102,109;--stage-bg:#f2f5f6;--stage-pill:#f7f9fa;--stage-border:#d1d9dd}
.tsh-recipe .tsh-stage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--stage-border);background:radial-gradient(circle at 96% 0%,rgba(var(--stage-tone-rgb),.09),transparent 15rem),linear-gradient(135deg,var(--stage-bg),#fff 86%)}
.tsh-recipe .tsh-stage-badge{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:linear-gradient(145deg,var(--stage-tone),rgba(25,38,34,.9));box-shadow:0 5px 13px rgba(25,38,34,.12);color:#fff;font-size:11.5px;font-weight:820;letter-spacing:.035em;line-height:1}
.tsh-recipe .tsh-stage-head h4{color:var(--tsh-ink);font-size:17px;font-weight:800;letter-spacing:-.012em;line-height:1.3}
.tsh-recipe .tsh-stage-time{padding:6px 11px;border:1px solid var(--stage-border);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);color:var(--stage-tone);font-size:11.5px;font-weight:760;line-height:1.2;white-space:nowrap}
.tsh-recipe .tsh-step-grid{display:grid;grid-template-columns:1fr;gap:0;background:#fff;list-style:none}
.tsh-recipe .tsh-step{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:15px;min-width:0;padding:22px 24px;border:0;border-bottom:1px solid rgba(216,203,185,.68);background:linear-gradient(90deg,rgba(var(--stage-tone-rgb),.035),#fff 19%)}
.tsh-recipe .tsh-step::before{content:"";position:absolute;inset-block:58px -1px;inset-inline-start:41px;width:1px;background:linear-gradient(rgba(var(--stage-tone-rgb),.34),rgba(216,203,185,.3))}
.tsh-recipe .tsh-step-grid .tsh-step:last-child{border-bottom:0}
.tsh-recipe .tsh-step:last-child::before{display:none}
.tsh-recipe .tsh-step>div{max-width:920px}
.tsh-recipe .tsh-step-no{position:relative;z-index:1;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(var(--stage-tone-rgb),.22);border-radius:50%;background:#fff;box-shadow:0 4px 11px rgba(25,38,34,.08);color:var(--stage-tone);font-size:11px;font-weight:850;letter-spacing:.025em;line-height:1}
.tsh-recipe .tsh-step h4{margin-bottom:6px;color:var(--tsh-ink);font-size:16px;font-weight:790;letter-spacing:-.012em;line-height:1.34}
.tsh-recipe .tsh-step p{color:var(--tsh-copy);font-size:14px;line-height:1.69;text-wrap:pretty}
.tsh-recipe .tsh-cue{display:inline-flex;align-items:flex-start;gap:6px;margin-top:10px;padding:6px 10px;border:1px solid rgba(var(--stage-tone-rgb),.23);border-radius:999px;background:rgba(var(--stage-tone-rgb),.065);color:var(--stage-tone);font-size:11.5px;font-weight:760;line-height:1.38}
.tsh-recipe .tsh-cue::before{content:"✓";flex:0 0 auto;font-size:10px;font-weight:900;line-height:1.55}

/* Control points */
.tsh-recipe .tsh-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:13px}
.tsh-recipe .tsh-control{--control-tone:var(--tsh-gold);--control-bg:#fff8ec;position:relative;min-width:0;overflow:hidden;padding:19px;border:1px solid var(--tsh-line);border-radius:15px;background:linear-gradient(150deg,var(--control-bg),#fff 75%);box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-control::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--control-tone)}
.tsh-recipe .tsh-control:nth-child(2){--control-tone:var(--tsh-blue);--control-bg:#eef5fd}
.tsh-recipe .tsh-control:nth-child(3){--control-tone:var(--tsh-sage);--control-bg:#edf8f2}
.tsh-recipe .tsh-control-label{margin-bottom:6px;color:var(--tsh-muted);font-size:9.5px;font-weight:840;letter-spacing:.135em;line-height:1.35;text-transform:uppercase}
.tsh-recipe .tsh-control strong{display:block;color:var(--tsh-ink);font-size:22px;font-weight:840;letter-spacing:-.025em;line-height:1.18;font-variant-numeric:tabular-nums}
.tsh-recipe .tsh-control p{margin-top:8px;color:var(--tsh-copy);font-size:13px;line-height:1.58}
.tsh-recipe .tsh-table-wrap{margin-top:19px;overflow-x:auto;border:1px solid var(--tsh-line);border-radius:15px;background:#fff;box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}
.tsh-recipe .tsh-table caption{padding:15px 17px;border-bottom:1px solid var(--tsh-line);background:linear-gradient(135deg,#fbf8f2,#fff);text-align:start;color:var(--tsh-ink);font-size:15px;font-weight:800;line-height:1.35}
.tsh-recipe .tsh-table th{padding:12px 14px;background:var(--tsh-night-2);color:#fff;font-size:10px;font-weight:840;letter-spacing:.105em;line-height:1.35;text-align:start;text-transform:uppercase}
.tsh-recipe .tsh-table th:nth-child(1){width:24%}
.tsh-recipe .tsh-table th:nth-child(2){width:38%}
.tsh-recipe .tsh-table th:nth-child(3){width:38%}
.tsh-recipe .tsh-table td{padding:14px;border-top:1px solid var(--tsh-line);border-inline-end:1px solid var(--tsh-line);color:var(--tsh-copy);font-size:13px;line-height:1.55;vertical-align:top}
.tsh-recipe .tsh-table td:last-child,.tsh-recipe .tsh-table th:last-child{border-inline-end:0}
.tsh-recipe .tsh-table tbody tr:nth-child(even){background:#fcfaf7}
.tsh-recipe .tsh-table td:first-child{color:var(--tsh-ink);font-weight:780}

/* Practical + FAQ */
.tsh-recipe .tsh-practical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:13px}
.tsh-recipe .tsh-practical-card{--practical-tone:var(--tsh-gold);--practical-bg:#fff9ef;position:relative;min-width:0;overflow:hidden;padding:19px;border:1px solid var(--tsh-line);border-radius:15px;background:linear-gradient(145deg,var(--practical-bg),#fff 68%);box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-practical-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--practical-tone)}
.tsh-recipe .tsh-practical-card:nth-child(2){--practical-tone:var(--tsh-sage);--practical-bg:#eff8f3}
.tsh-recipe .tsh-practical-card:nth-child(3){--practical-tone:var(--tsh-blue);--practical-bg:#f0f6fd}
.tsh-recipe .tsh-practical-card h4{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--tsh-ink);font-size:15.5px;font-weight:800;line-height:1.35}
.tsh-recipe .tsh-practical-card h4::before{content:"";width:18px;height:2px;flex:0 0 auto;border-radius:999px;background:var(--practical-tone)}
.tsh-recipe .tsh-practical-card p{color:var(--tsh-copy);font-size:13.6px;line-height:1.63}
.tsh-recipe .tsh-faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:13px;align-items:start}
.tsh-recipe .tsh-faq{min-width:0;overflow:hidden;border:1px solid var(--tsh-line);border-radius:15px;background:#fff;box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-faq summary{list-style:none;cursor:pointer}
.tsh-recipe .tsh-faq summary::-webkit-details-marker{display:none}
.tsh-recipe .tsh-faq-top{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;gap:11px;align-items:center;min-height:68px;padding:14px 15px;background:linear-gradient(135deg,#fbf7ef,#fff)}
.tsh-recipe .tsh-faq-top::after{content:"+";display:grid;width:28px;height:28px;place-items:center;border:1px solid #ddcfbb;border-radius:9px;background:#fff;color:var(--tsh-gold-deep);font-size:18px;font-weight:650;line-height:1;transition:transform .18s var(--tsh-ease),background .18s var(--tsh-ease),color .18s var(--tsh-ease)}
.tsh-recipe .tsh-faq[open] .tsh-faq-top::after{content:"−";background:var(--tsh-night);color:#f4cb79;transform:rotate(180deg)}
.tsh-recipe .tsh-faq-no{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:var(--tsh-night);box-shadow:0 5px 12px rgba(25,38,34,.14);color:#f3c873;font-size:11px;font-weight:860;line-height:1}
.tsh-recipe .tsh-faq h4{color:var(--tsh-ink);font-size:14.5px;font-weight:800;line-height:1.38}
.tsh-recipe .tsh-faq-answer{border-top:1px solid var(--tsh-line);background:#fff}
.tsh-recipe .tsh-faq-answer p{padding:16px;color:var(--tsh-copy);font-size:13.5px;line-height:1.65}

/* Nutrition + close */
.tsh-recipe .tsh-nutrition{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;padding:1px;overflow:hidden;border:1px solid var(--tsh-line);border-radius:15px;background:var(--tsh-line);box-shadow:var(--tsh-shadow-sm)}
.tsh-recipe .tsh-nutrition>div{position:relative;min-width:0;padding:15px;background:linear-gradient(145deg,#fff,#fdfbf8)}
.tsh-recipe .tsh-nutrition>div::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:2px;background:var(--tsh-sage);opacity:.55}
.tsh-recipe .tsh-nutrition dt{margin-bottom:5px;color:var(--tsh-muted);font-size:9px;font-weight:840;letter-spacing:.125em;line-height:1.35;text-transform:uppercase}
.tsh-recipe .tsh-nutrition dd{color:var(--tsh-ink);font-size:16px;font-weight:820;letter-spacing:-.018em;line-height:1.25;font-variant-numeric:tabular-nums}
.tsh-recipe .tsh-nutrition-note{margin-top:13px;color:var(--tsh-muted);font-size:12.5px;line-height:1.6}
.tsh-recipe .tsh-nutrition-note strong{color:var(--tsh-ink);font-weight:780}
.tsh-recipe .tsh-close{position:relative;overflow:hidden;padding:clamp(25px,3.4vw,38px);border:1px solid #31413c;border-radius:21px;background:radial-gradient(circle at 100% 0%,rgba(243,200,115,.17),transparent 23rem),linear-gradient(135deg,var(--tsh-night),var(--tsh-night-2));box-shadow:var(--tsh-shadow-lg)}
.tsh-recipe .tsh-close::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(var(--tsh-gold),#e2b968)}
.tsh-recipe .tsh-close::after{content:"“";position:absolute;inset-inline-end:clamp(18px,4vw,48px);inset-block-start:-27px;color:rgba(255,255,255,.055);font-family:Georgia,serif;font-size:180px;line-height:1;pointer-events:none}
.tsh-recipe .tsh-close-kicker{position:relative;z-index:1;margin-bottom:7px;color:#f1c878;font-size:10px;font-weight:840;letter-spacing:.16em;text-transform:uppercase}
.tsh-recipe .tsh-close-quote{position:relative;z-index:1;max-width:930px;color:#fff;font-size:clamp(21px,2.4vw,28px);font-weight:760;letter-spacing:-.028em;line-height:1.34;text-wrap:balance}
.tsh-recipe .tsh-close-copy{position:relative;z-index:1;max-width:930px;margin-top:10px;color:#ccd6d2;font-size:13.8px;line-height:1.65}

/* Desktop split header */
@media (min-width:901px){
  .tsh-recipe .tsh-card-head--split{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.72fr);column-gap:clamp(28px,4vw,52px);align-items:end}
  .tsh-recipe .tsh-card-head--split .tsh-kicker{grid-column:1;grid-row:1}
  .tsh-recipe .tsh-card-head--split h3{grid-column:1;grid-row:2}
  .tsh-recipe .tsh-card-head--split .tsh-head-copy{grid-column:2;grid-row:1/span 2;align-self:end;margin:0;padding-inline-start:clamp(22px,3vw,34px);border-inline-start:1px solid rgba(var(--tone-rgb),.22)}
}

/* Hover polish */
@media (hover:hover) and (pointer:fine){
  .tsh-recipe .tsh-key,
  .tsh-recipe .tsh-control,
  .tsh-recipe .tsh-practical-card,
  .tsh-recipe .tsh-faq,
  .tsh-recipe .tsh-ingredient-card{
    transition:transform .2s var(--tsh-ease),border-color .2s var(--tsh-ease),box-shadow .2s var(--tsh-ease)
  }
  .tsh-recipe .tsh-key:hover,
  .tsh-recipe .tsh-control:hover,
  .tsh-recipe .tsh-practical-card:hover,
  .tsh-recipe .tsh-faq:hover,
  .tsh-recipe .tsh-ingredient-card:hover{
    transform:translateY(-3px);border-color:#cfbfa7;box-shadow:0 2px 4px rgba(38,32,24,.035),0 16px 34px rgba(38,32,24,.08)
  }
}

/* Responsive */

@media (max-width:900px){
  .tsh-recipe .tsh-recipe-body-shell{
    grid-template-columns:1fr;
    gap:18px;
  }
  .tsh-recipe .tsh-quick-nav{
    position:static;
    flex-direction:row;
    flex-wrap:nowrap;
    overflow-x:auto;
    width:100%;
    padding:7px;
    border-radius:15px;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
  }
  .tsh-recipe .tsh-quick-nav::-webkit-scrollbar{display:none}
  .tsh-recipe .tsh-quick-nav::before{display:none}
  .tsh-recipe .tsh-quick-nav a{
    grid-template-columns:25px auto;
    flex:0 0 auto;
    width:auto;
    min-height:36px;
    padding:6px 10px 6px 6px;
    border-color:#e4d5bc;
    border-radius:999px;
    background:#fffaf2;
    white-space:nowrap;
  }
  .tsh-recipe .tsh-quick-nav a::before{
    width:25px;
    height:25px;
    border-radius:999px;
  }
}

@media (max-width:900px){
  .tsh-recipe .tsh-copy-grid{grid-template-columns:1fr}
  .tsh-recipe .tsh-key-grid,
  .tsh-recipe .tsh-control-grid{grid-template-columns:1fr}
  .tsh-recipe .tsh-facts{--tsh-fact-cols:3}
  .tsh-recipe .tsh-nutrition{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tsh-main-nav{gap:16px}
}
@media (max-width:720px){
  .tsh-site-header .inner{height:67px;grid-template-columns:auto 1fr}
  .tsh-main-nav,.tsh-header-actions{display:none}
  .tsh-mobile-menu{display:block;justify-self:end}
  .tsh-recipe{width:calc(100% - 12px);margin-top:10px;font-size:15.5px}
  .tsh-recipe .tsh-anchor,
  .tsh-recipe .tsh-step[id]{scroll-margin-top:77px}
  .tsh-recipe .tsh-card,
  .tsh-recipe .tsh-masthead{border-radius:18px}
  .tsh-recipe .tsh-title-wrap{padding:31px 19px 27px}
  .tsh-recipe .tsh-title{font-size:clamp(34px,10.8vw,46px);line-height:1.01}
  .tsh-recipe .tsh-title-accent{margin-top:10px;font-size:.52em;line-height:1.2}
  .tsh-recipe .tsh-lead{margin-top:17px;font-size:16px;line-height:1.67}
  .tsh-recipe .tsh-card-head{padding:22px 19px}
  .tsh-recipe .tsh-card-head h3{font-size:clamp(22px,6.8vw,28px)}
  .tsh-recipe .tsh-card-body{padding:20px 17px}
  
  
  .tsh-recipe .tsh-ingredient-grid,
  .tsh-recipe .tsh-note-grid,
  .tsh-recipe .tsh-practical-grid,
  .tsh-recipe .tsh-faq-grid{grid-template-columns:1fr}
  .tsh-recipe .tsh-step{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 16px}
  .tsh-recipe .tsh-step::before{inset-block:53px -1px;inset-inline-start:33px}
  .tsh-recipe .tsh-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
  .tsh-recipe .tsh-table{display:block;min-width:0;border-collapse:separate;table-layout:auto}
  .tsh-recipe .tsh-table caption{display:block;margin-bottom:10px;border:1px solid var(--tsh-line);border-radius:13px;background:#fbf8f2}
  .tsh-recipe .tsh-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .tsh-recipe .tsh-table tbody{display:grid;gap:10px}
  .tsh-recipe .tsh-table tr{display:block;overflow:hidden;border:1px solid var(--tsh-line);border-radius:14px;background:#fff;box-shadow:var(--tsh-shadow-sm)}
  .tsh-recipe .tsh-table td{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:12px;padding:12px 14px;border:0;border-bottom:1px solid var(--tsh-line);font-size:13px}
  .tsh-recipe .tsh-table td:last-child{border-bottom:0}
  .tsh-recipe .tsh-table td::before{content:attr(data-label);color:var(--tsh-muted);font-size:9px;font-weight:840;letter-spacing:.105em;line-height:1.45;text-transform:uppercase}
  .tsh-recipe .tsh-table td:first-child{background:#fbf7ef;color:var(--tsh-ink);font-size:13.5px}
  .tsh-site-newsletter .inner{grid-template-columns:1fr;gap:20px}
  .tsh-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .tsh-recipe .tsh-facts{--tsh-fact-cols:2}
  .tsh-recipe .tsh-nutrition{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsh-recipe .tsh-plan-grid{grid-template-columns:1fr}
  .tsh-recipe .tsh-stage-head{grid-template-columns:auto minmax(0,1fr)}
  .tsh-recipe .tsh-stage-time{grid-column:2;justify-self:start}
  .tsh-recipe .tsh-ingredient-card li{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:12px 13px}
  .tsh-footer-grid{grid-template-columns:1fr}
}

/* Accessibility / motion / print */
@media (prefers-reduced-motion:reduce){
  .tsh-recipe *,
  .tsh-recipe *::before,
  .tsh-recipe *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
@media print{
  .tsh-site-top,.tsh-site-header,.tsh-breadcrumbs,.tsh-site-newsletter,.tsh-site-footer{display:none!important}
  .tsh-recipe{width:100%;max-width:none;margin:0;color:#000;font-size:10.5pt;line-height:1.42}
  .tsh-recipe .tsh-quick-nav,
  .tsh-recipe .tsh-hero{display:none!important}
  .tsh-recipe .tsh-card,
  .tsh-recipe .tsh-masthead,
  .tsh-recipe .tsh-close{margin-bottom:10pt;border:1px solid #aaa;border-radius:0;box-shadow:none}
}


/* Recipe page shell retained; global site chrome removed */
.tsh-recipe .tsh-masthead{
  margin-top:0;
}

/* Mobile/tablet */
@media(max-width:1050px){
  .tsh-site-header .inner{grid-template-columns:170px 1fr 60px}
  .tsh-main-nav{gap:22px}
  .tsh-editorial-hero-inner{
    grid-template-columns:1fr 44%;
  }
  .tsh-editorial-copy{
    padding-left:34px;
    padding-right:34px;
  }
  .tsh-byline-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .tsh-inline-tools{padding-left:64px}
  .tsh-article-intro-shell{
    grid-template-columns:80px minmax(0,760px) 1fr;
    gap:24px;
  }
}
@media(max-width:820px){
  .tsh-site-header .inner{
    grid-template-columns:1fr auto;
    height:68px;
  }
  .tsh-brand img{width:126px;height:50px}
  .tsh-main-nav,.tsh-search-button{display:none}
  .tsh-mobile-menu{display:block;justify-self:end}

  .tsh-editorial-hero-inner{
    min-height:0;
    grid-template-columns:1fr;
  }
  .tsh-editorial-copy{
    order:2;
    padding:34px 20px 36px;
  }
  .tsh-editorial-featured{
    order:1;
    min-height:0;
  }
  .tsh-editorial-featured img{
    min-height:0;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .tsh-editorial-copy h1{
    font-size:clamp(40px,11vw,56px);
  }
  .tsh-byline-row{gap:20px}
  .tsh-inline-tools{
    padding-left:0;
    max-width:100%;
    overflow-x:auto;
  }

  .tsh-article-intro-shell{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:18px;
    padding:38px 0 44px;
  }
  .tsh-share-rail{
    position:static;
    grid-column:1;
    width:auto;
    margin:0;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    border:0;
    box-shadow:none;
    overflow-x:auto;
  }
  .tsh-share-title{
    width:auto;
    padding:0 8px 0 0;
    text-align:left;
  }
  .tsh-share-rail a{
    width:36px;
    height:36px;
    border:1px solid #ece9e3;
    border-radius:9px;
    margin-right:5px;
  }
  .tsh-article-intro{grid-column:1}
}
@media print{
  .tsh-editorial-hero{background:#fff}
  .tsh-editorial-featured,.tsh-inline-tools,.tsh-share-rail{display:none!important}
  .tsh-editorial-hero-inner{display:block;min-height:0}
  .tsh-editorial-copy{padding:0 0 12pt}
  .tsh-editorial-copy h1{font-size:26pt}
  .tsh-article-intro-shell{
    width:100%;
    display:block;
    padding:0 0 14pt;
  }
}


/* =========================================================
   V5 precision pass — calibrated to the supplied reference
   ========================================================= */

/* Header proportions */
.tsh-site-header .inner{
  width:min(1210px,calc(100% - 34px));
  height:75px;
  grid-template-columns:190px 1fr 190px;
  gap:22px;
}
.tsh-brand img{
  width:146px;
  height:56px;
  object-fit:contain;
}
.tsh-main-nav{gap:36px}
.tsh-main-nav a{
  gap:7px;
  font-size:13.5px;
  font-weight:650;
  letter-spacing:-.01em;
}
.tsh-nav-chevron{
  position:relative;
  width:8px;
  height:8px;
  font-size:0;
  transform:none;
}
.tsh-nav-chevron::before{
  content:"";
  position:absolute;
  inset:1px auto auto 0;
  width:6px;
  height:6px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(45deg);
}
.tsh-search-button{
  width:34px;
  height:34px;
}

/* Main editorial hero */
.tsh-editorial-hero{
  background:#f7f7f6;
}
.tsh-editorial-hero-inner{
  width:min(1420px,100%);
  min-height:507px;
  grid-template-columns:minmax(0,58.4%) minmax(0,41.6%);
}
.tsh-editorial-copy{
  justify-content:center;
  padding:72px 24px 62px 20px;
}
.tsh-hero-breadcrumbs{
  margin-bottom:17px;
  color:#5c615f;
  font-size:11.2px;
}
.tsh-hero-breadcrumbs span{color:#999d9a}

/* Quieter, more editorial category treatment */
.tsh-hero-category{
  position:relative;
  align-self:flex-start;
  margin:0 0 21px;
  padding:0 0 0 31px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#80510a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.145em;
  line-height:1.25;
  text-transform:uppercase;
}
.tsh-hero-category::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:21px;
  height:2px;
  border-radius:999px;
  background:#b27c26;
  transform:translateY(-50%);
}
.tsh-editorial-copy h1{
  max-width:720px;
  font-size:clamp(45px,4.2vw,61px);
  font-weight:730;
  letter-spacing:-.04em;
  line-height:1.01;
}
.tsh-byline-row{
  max-width:760px;
  margin-top:24px;
  gap:26px;
}
.tsh-author-block{gap:11px}
.tsh-author-block img{
  width:50px;
  height:50px;
  flex-basis:50px;
}
.tsh-author-name{font-size:12.8px}
.tsh-author-block p{
  margin-top:4px;
  font-size:11.8px;
}
.tsh-inline-tools{
  gap:7px;
  font-size:10.8px;
}
.tsh-inline-tools a{
  width:24px;
  height:24px;
  font-size:12px;
}
.tsh-inline-share-label{margin-right:2px}
.tsh-inline-read{margin-left:2px}

.tsh-editorial-featured{
  min-height:507px;
}
.tsh-editorial-featured img{
  min-height:507px;
  height:507px;
  object-fit:cover;
  object-position:center;
}

/* Intro alignment: share rail lives in the left whitespace,
   article text starts close to the reference screenshot. */
.tsh-article-intro-shell{
  width:min(1210px,calc(100% - 34px));
  grid-template-columns:190px minmax(0,760px) 1fr;
  gap:34px;
  padding:58px 0 54px;
}
.tsh-share-rail{
  width:43px;
  margin-right:0;
  border:0;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(39,34,27,.07);
}
.tsh-share-title{
  padding:9px 5px 6px;
  font-size:8.7px;
}
.tsh-share-rail a{
  width:43px;
  height:40px;
  font-size:13px;
}
.tsh-article-intro{
  max-width:760px;
  color:#434946;
  font-size:15.7px;
  line-height:1.69;
}
.tsh-article-intro p{margin-bottom:22px}

/* Keep the recipe visually connected but give it a calm breathing gap. */
.tsh-recipe{
  margin-top:2px;
}

/* Floating TOC refinement: smaller, quieter, less intrusive. */
.tsh-recipe .tsh-recipe-body-shell{
  grid-template-columns:188px minmax(0,1fr);
  gap:18px;
}
.tsh-recipe .tsh-quick-nav{
  top:18px;
  padding:9px;
  border-color:#e5ded3;
  border-radius:15px;
  box-shadow:0 9px 28px rgba(38,32,24,.06);
}
.tsh-recipe .tsh-quick-nav::before{
  padding:3px 7px 7px;
  font-size:9px;
}
.tsh-recipe .tsh-quick-nav a{
  grid-template-columns:25px minmax(0,1fr);
  min-height:35px;
  padding:6px 8px 6px 6px;
  border-radius:10px;
  font-size:11.4px;
}
.tsh-recipe .tsh-quick-nav a::before{
  width:25px;
  height:25px;
  border-radius:8px;
  font-size:8.2px;
}

/* Recipe masthead gets slightly less visual competition with page H1. */
.tsh-recipe .tsh-title-wrap{
  padding-top:46px;
  padding-bottom:41px;
}
.tsh-recipe .tsh-title{
  font-size:clamp(38px,4vw,54px);
}
.tsh-recipe .tsh-title-accent{
  font-size:.46em;
}
.tsh-recipe .tsh-lead{
  max-width:800px;
}

/* Footer alignment with the same restrained language */
.tsh-site-newsletter .inner,
.tsh-site-footer .inner{
  width:min(1210px,calc(100% - 34px));
}
.tsh-site-newsletter{
  border-top:1px solid #31413c;
}
.tsh-site-newsletter .inner{
  padding:39px 0;
}
.tsh-site-newsletter h2{
  font-size:27px;
  font-weight:700;
}
.tsh-site-footer .inner{
  padding-top:39px;
}

/* Large desktop: lock the reference-like geometry. */
@media(min-width:1420px){
  .tsh-editorial-copy{
    padding-left:20px;
    padding-right:32px;
  }
}

/* Tablet */
@media(max-width:1050px){
  .tsh-site-header .inner{
    grid-template-columns:165px 1fr 55px;
  }
  .tsh-main-nav{gap:20px}
  .tsh-editorial-hero-inner{
    grid-template-columns:minmax(0,56%) minmax(0,44%);
  }
  .tsh-editorial-copy{
    padding-left:28px;
    padding-right:28px;
  }
  .tsh-byline-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .tsh-inline-tools{padding-left:61px}
  .tsh-article-intro-shell{
    grid-template-columns:108px minmax(0,760px) 1fr;
    gap:28px;
  }
}

/* Mobile */
@media(max-width:820px){
  .tsh-site-header .inner{
    height:67px;
    grid-template-columns:1fr auto;
  }
  .tsh-brand img{
    width:124px;
    height:48px;
  }
  .tsh-editorial-copy{
    padding:31px 19px 34px;
  }
  .tsh-hero-breadcrumbs{
    margin-bottom:15px;
    font-size:10.6px;
  }
  .tsh-hero-category{
    margin-bottom:17px;
  }
  .tsh-editorial-copy h1{
    font-size:clamp(39px,11vw,52px);
  }
  .tsh-byline-row{
    margin-top:21px;
  }
  .tsh-inline-tools{
    padding-left:0;
    gap:5px;
  }
  .tsh-editorial-featured img{
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
  }
  .tsh-article-intro-shell{
    width:calc(100% - 28px);
    padding:34px 0 41px;
  }
  .tsh-article-intro{
    font-size:15.2px;
    line-height:1.68;
  }
}


/* =========================================================
   V6 content rhythm pass — editorial overview + ingredient spec
   ========================================================= */

/* Overview: real editorial columns */
.tsh-recipe .tsh-editorial-overview{
  margin:0 0 28px;
}
.tsh-recipe .tsh-overview-lead{
  max-width:820px;
  margin-bottom:24px;
  padding-bottom:21px;
  border-bottom:1px solid var(--tsh-line);
}
.tsh-recipe .tsh-overview-lead p{
  color:var(--tsh-ink);
  font-size:16px;
  font-weight:600;
  line-height:1.68;
  letter-spacing:-.008em;
}
.tsh-recipe .tsh-overview-columns{
  columns:2;
  column-gap:54px;
  column-rule:1px solid rgba(231,223,212,.78);
}
.tsh-recipe .tsh-overview-columns p{
  break-inside:avoid;
  margin:0 0 16px;
  color:var(--tsh-copy);
  font-size:14.8px;
  line-height:1.79;
  text-wrap:pretty;
}
.tsh-recipe .tsh-overview-columns p:first-child::first-letter{
  float:left;
  margin:6px 9px 0 0;
  color:var(--tsh-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:45px;
  font-style:italic;
  line-height:.78;
}

/* Ingredients: quieter specification layout */
.tsh-recipe .tsh-ingredient-spec{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.tsh-recipe .tsh-ingredient-spec-group{
  min-width:0;
  border-top:2px solid var(--tsh-sage);
  background:#fff;
}
.tsh-recipe .tsh-ingredient-spec-group:nth-child(2){
  border-top-color:var(--tsh-gold);
}
.tsh-recipe .tsh-ingredient-spec-group h4{
  margin:0;
  padding:14px 0 11px;
  color:var(--tsh-ink);
  font-size:15.5px;
  font-weight:790;
  line-height:1.35;
  letter-spacing:-.01em;
}
.tsh-recipe .tsh-ingredient-spec-list{
  margin:0;
  border-top:1px solid var(--tsh-line);
}
.tsh-recipe .tsh-ingredient-spec-row{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--tsh-line);
}
.tsh-recipe .tsh-ingredient-spec-row dt{
  color:var(--tsh-gold-deep);
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
}
.tsh-recipe .tsh-ingredient-spec-row dd{
  min-width:0;
  color:var(--tsh-copy);
  font-size:13.8px;
  line-height:1.52;
}
.tsh-recipe .tsh-ingredient-main{
  display:block;
  color:var(--tsh-ink);
  font-weight:520;
}
.tsh-recipe .tsh-ingredient-spec-row small{
  display:block;
  margin-top:3px;
  color:var(--tsh-muted);
  font-size:12px;
  line-height:1.45;
}

/* Notes become a low-profile information rail */
.tsh-recipe .tsh-ingredient-note-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:0;
  margin-top:22px;
  overflow:hidden;
  border:1px solid var(--tsh-line);
  border-radius:13px;
  background:#fbfaf7;
}
.tsh-recipe .tsh-ingredient-note-strip aside{
  position:relative;
  padding:15px 17px 15px 42px;
  border-inline-end:1px solid var(--tsh-line);
  color:var(--tsh-copy);
  font-size:12.7px;
  line-height:1.58;
}
.tsh-recipe .tsh-ingredient-note-strip aside:last-child{
  border-inline-end:0;
}
.tsh-recipe .tsh-ingredient-note-strip aside::before{
  content:"i";
  position:absolute;
  left:15px;
  top:16px;
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
  border:1px solid #c8aa71;
  border-radius:50%;
  color:var(--tsh-gold-deep);
  font-family:Georgia,serif;
  font-size:11px;
  font-style:italic;
}
.tsh-recipe .tsh-ingredient-note-strip strong{
  color:var(--tsh-ink);
  font-weight:760;
}

/* Reduce visual weight of Ingredients card body slightly */
.tsh-recipe #ingredients-en-it-baccala-alla-lucana-01 .tsh-card-body{
  padding-top:28px;
}

/* Mobile */
@media(max-width:760px){
  .tsh-recipe .tsh-overview-columns{
    columns:1;
    column-rule:0;
  }
  .tsh-recipe .tsh-overview-columns p{
    margin-bottom:17px;
  }
  .tsh-recipe .tsh-ingredient-spec{
    grid-template-columns:1fr;
    gap:26px;
  }
  .tsh-recipe .tsh-ingredient-spec-row{
    grid-template-columns:72px minmax(0,1fr);
    gap:11px;
  }
  .tsh-recipe .tsh-ingredient-note-strip{
    grid-template-columns:1fr;
  }
  .tsh-recipe .tsh-ingredient-note-strip aside{
    border-inline-end:0;
    border-bottom:1px solid var(--tsh-line);
  }
  .tsh-recipe .tsh-ingredient-note-strip aside:last-child{
    border-bottom:0;
  }
}


/* =========================================================
   V7 ingredients alignment pass — single continuous column
   ========================================================= */

.tsh-recipe .tsh-ingredient-spec{
  display:block;
  max-width:none;
}

.tsh-recipe .tsh-ingredient-spec-group{
  width:100%;
  border-top:0;
  background:#fff;
}

.tsh-recipe .tsh-ingredient-spec-group + .tsh-ingredient-spec-group{
  margin-top:28px;
}

.tsh-recipe .tsh-ingredient-spec-group h4{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 0 11px;
  border-bottom:1px solid var(--tsh-line-strong);
  color:var(--tsh-ink);
  font-size:15px;
  font-weight:790;
  line-height:1.35;
  letter-spacing:-.01em;
}

.tsh-recipe .tsh-ingredient-spec-group h4::before{
  content:"";
  width:22px;
  height:2px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--tsh-sage);
}

.tsh-recipe .tsh-ingredient-spec-group:nth-child(2) h4::before{
  background:var(--tsh-gold);
}

.tsh-recipe .tsh-ingredient-spec-list{
  margin:0;
  border-top:0;
}

.tsh-recipe .tsh-ingredient-spec-row{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding-block:13px;
  padding-inline:var(--tsh-ingredient-x-padding);
  border-bottom:1px solid var(--tsh-line);
}

.tsh-recipe .tsh-ingredient-spec-row:nth-child(even){
  background:linear-gradient(90deg,rgba(248,245,239,.72),rgba(255,255,255,0) 72%);
}

.tsh-recipe .tsh-ingredient-spec-row dt{
  padding-top:1px;
  color:var(--tsh-gold-deep);
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
}

.tsh-recipe .tsh-ingredient-spec-row dd{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
  gap:24px;
  align-items:start;
  min-width:0;
  color:var(--tsh-copy);
  font-size:13.8px;
  line-height:1.52;
}

.tsh-recipe .tsh-ingredient-main{
  display:block;
  color:var(--tsh-ink);
  font-weight:540;
}

.tsh-recipe .tsh-ingredient-spec-row small{
  display:block;
  margin:0;
  padding-left:16px;
  border-left:1px solid var(--tsh-line);
  color:var(--tsh-muted);
  font-size:11.9px;
  line-height:1.48;
}

/* Rows without a note should let the ingredient use the full available width. */
.tsh-recipe .tsh-ingredient-spec-row dd:not(:has(small)){
  grid-template-columns:1fr;
}

/* Notes below ingredients remain compact and balanced. */
.tsh-recipe .tsh-ingredient-note-strip{
  margin-top:26px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:12px;
}

.tsh-recipe .tsh-ingredient-note-strip aside{
  min-height:100%;
}

/* Tablet */
@media(max-width:900px){
  .tsh-recipe .tsh-ingredient-spec-row dd{
    grid-template-columns:1fr;
    gap:5px;
  }
  .tsh-recipe .tsh-ingredient-spec-row small{
    padding-left:0;
    border-left:0;
  }
}

/* Mobile */
@media(max-width:620px){
  .tsh-recipe .tsh-ingredient-spec-row{
    grid-template-columns:72px minmax(0,1fr);
    gap:11px;
    padding-block:12px;
    padding-inline:var(--tsh-ingredient-x-padding);
  }
  .tsh-recipe .tsh-ingredient-note-strip{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V8 FINAL MOBILE OVERRIDE
   Must remain LAST in the stylesheet so desktop refinements
   can never override the responsive layout.
   ========================================================= */

@media (max-width:900px){

  html,body{
    max-width:100%;
    overflow-x:hidden;
  }

  /* ---------- SITE HEADER ---------- */
  .tsh-site-header .inner{
    width:calc(100% - 28px);
    height:66px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
  }

  .tsh-brand{
    min-width:0;
  }

  .tsh-brand img{
    width:124px;
    height:48px;
    max-width:100%;
  }

  .tsh-main-nav,
  .tsh-search-button,
  .tsh-header-actions{
    display:none!important;
  }

  .tsh-mobile-menu{
    display:block!important;
    justify-self:end;
    font-size:21px;
  }

  /* ---------- ARTICLE HERO ---------- */
  .tsh-editorial-hero-inner{
    width:100%;
    min-height:0;
    display:grid;
    grid-template-columns:1fr!important;
  }

  .tsh-editorial-featured{
    order:1;
    width:100%;
    min-width:0;
    min-height:0;
  }

  .tsh-editorial-featured img{
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center;
  }

  .tsh-editorial-copy{
    order:2;
    width:100%;
    min-width:0;
    padding:30px 18px 34px!important;
  }

  .tsh-hero-breadcrumbs{
    max-width:100%;
    overflow-wrap:anywhere;
    margin-bottom:14px;
    font-size:10.5px;
  }

  .tsh-hero-category{
    margin-bottom:16px;
  }

  .tsh-editorial-copy h1{
    max-width:100%;
    font-size:clamp(38px,11vw,51px)!important;
    line-height:1.01;
    overflow-wrap:anywhere;
  }

  .tsh-byline-row{
    width:100%;
    max-width:100%;
    margin-top:21px;
    display:flex;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:17px;
  }

  .tsh-author-block{
    width:100%;
    min-width:0;
  }

  .tsh-author-block img{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .tsh-inline-tools{
    width:100%;
    max-width:100%;
    padding-left:0!important;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
  }

  .tsh-inline-tools::-webkit-scrollbar{
    display:none;
  }

  .tsh-inline-tools > *{
    flex:0 0 auto;
  }

  /* ---------- ARTICLE INTRO ---------- */
  .tsh-article-intro-shell{
    width:calc(100% - 28px);
    display:grid;
    grid-template-columns:1fr!important;
    gap:16px;
    padding:34px 0 40px;
  }

  .tsh-share-rail{
    position:static!important;
    grid-column:1;
    width:100%;
    margin:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:5px;
    overflow-x:auto;
    border:0;
    box-shadow:none;
    scrollbar-width:none;
  }

  .tsh-share-rail::-webkit-scrollbar{
    display:none;
  }

  .tsh-share-title{
    flex:0 0 auto;
    width:auto;
    padding:0 8px 0 0;
    text-align:left;
  }

  .tsh-share-rail a{
    flex:0 0 36px;
    width:36px;
    height:36px;
    border:1px solid #ece9e3;
    border-radius:9px;
    margin:0;
  }

  .tsh-article-intro{
    grid-column:1;
    min-width:0;
    max-width:100%;
    font-size:15.2px;
    line-height:1.68;
  }

  /* ---------- RECIPE ROOT ---------- */
  .tsh-recipe{
    width:calc(100% - 12px);
    max-width:100%;
    margin:0 auto 44px;
    overflow:visible;
    font-size:15.5px;
  }

  .tsh-recipe :where(
    .tsh-masthead,
    .tsh-card,
    .tsh-close,
    .tsh-plan,
    .tsh-stage-card,
    .tsh-table-wrap,
    .tsh-ingredient-note-strip
  ){
    max-width:100%;
  }

  /* ---------- RECIPE MASTHEAD ---------- */
  .tsh-recipe .tsh-masthead,
  .tsh-recipe .tsh-card{
    border-radius:18px;
  }

  .tsh-recipe .tsh-title-wrap{
    padding:30px 18px 26px!important;
  }

  .tsh-recipe .tsh-title{
    max-width:100%;
    font-size:clamp(33px,10vw,45px)!important;
    line-height:1.01;
    overflow-wrap:anywhere;
  }

  .tsh-recipe .tsh-title-accent{
    margin-top:9px;
    font-size:.52em!important;
    line-height:1.2;
  }

  .tsh-recipe .tsh-lead{
    max-width:100%;
    margin-top:16px;
    font-size:15.5px;
    line-height:1.66;
  }

  .tsh-recipe .tsh-tags{
    gap:6px;
  }

  .tsh-recipe .tsh-tags li{
    min-height:29px;
    padding:5px 9px;
    font-size:11px;
  }

  .tsh-recipe .tsh-hero img{
    aspect-ratio:16/9;
    height:auto;
    min-height:0;
  }

  .tsh-recipe .tsh-facts{
    --tsh-fact-cols:2!important;
  }

  /* ---------- FLOATING TOC -> MOBILE FLOW ---------- */
  .tsh-recipe .tsh-recipe-body-shell{
    width:100%;
    min-width:0;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }

  .tsh-recipe .tsh-content-stack{
    width:100%;
    min-width:0;
  }

  .tsh-recipe .tsh-quick-nav{
    position:static!important;
    top:auto!important;
    width:100%!important;
    max-width:100%;
    margin:0!important;
    padding:7px!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden;
    border-radius:14px!important;
    box-shadow:none!important;
    scrollbar-width:none;
  }

  .tsh-recipe .tsh-quick-nav::-webkit-scrollbar{
    display:none;
  }

  .tsh-recipe .tsh-quick-nav::before{
    display:none!important;
  }

  .tsh-recipe .tsh-quick-nav a{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:24px auto!important;
    width:auto!important;
    min-width:max-content;
    min-height:35px!important;
    padding:5px 10px 5px 5px!important;
    border:1px solid #e4d5bc!important;
    border-radius:999px!important;
    background:#fffaf2!important;
    font-size:11.3px!important;
    white-space:nowrap;
    transform:none!important;
  }

  .tsh-recipe .tsh-quick-nav a::before{
    width:24px!important;
    height:24px!important;
    border-radius:50%!important;
    font-size:8px!important;
  }

  /* ---------- CARD HEADERS ---------- */
  .tsh-recipe .tsh-card-head,
  .tsh-recipe .tsh-card-head--split{
    display:block!important;
    padding:21px 18px!important;
  }

  .tsh-recipe .tsh-card-head--split .tsh-kicker,
  .tsh-recipe .tsh-card-head--split h3,
  .tsh-recipe .tsh-card-head--split .tsh-head-copy{
    grid-column:auto!important;
    grid-row:auto!important;
  }

  .tsh-recipe .tsh-card-head h3{
    max-width:100%;
    font-size:clamp(22px,6.7vw,28px);
  }

  .tsh-recipe .tsh-card-head--split .tsh-head-copy{
    margin-top:8px!important;
    padding-left:0!important;
    border-left:0!important;
  }

  .tsh-recipe .tsh-card-body{
    padding:20px 16px!important;
  }

  /* ---------- OVERVIEW ---------- */
  .tsh-recipe .tsh-overview-columns{
    columns:1!important;
    column-gap:0!important;
    column-rule:0!important;
  }

  .tsh-recipe .tsh-key-grid,
  .tsh-recipe .tsh-control-grid,
  .tsh-recipe .tsh-practical-grid,
  .tsh-recipe .tsh-faq-grid{
    grid-template-columns:1fr!important;
  }

  .tsh-recipe .tsh-plan-grid{
    grid-template-columns:1fr!important;
  }

  /* ---------- INGREDIENTS ---------- */
  .tsh-recipe .tsh-ingredient-spec{
    display:block!important;
    width:100%;
  }

  .tsh-recipe .tsh-ingredient-spec-group{
    width:100%;
    min-width:0;
  }

  .tsh-recipe .tsh-ingredient-spec-row{
    width:100%;
    min-width:0;
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:11px!important;
    padding-block:12px!important;
    padding-inline:var(--tsh-ingredient-x-padding)!important;
  }

  .tsh-recipe .tsh-ingredient-spec-row dt,
  .tsh-recipe .tsh-ingredient-spec-row dd{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .tsh-recipe .tsh-ingredient-spec-row dd{
    display:block!important;
  }

  .tsh-recipe .tsh-ingredient-spec-row small{
    display:block;
    margin-top:4px!important;
    padding-left:0!important;
    border-left:0!important;
  }

  .tsh-recipe .tsh-ingredient-note-strip{
    grid-template-columns:1fr!important;
    width:100%;
  }

  .tsh-recipe .tsh-ingredient-note-strip aside{
    min-width:0;
    border-inline-end:0!important;
    border-bottom:1px solid var(--tsh-line);
  }

  .tsh-recipe .tsh-ingredient-note-strip aside:last-child{
    border-bottom:0;
  }

  /* ---------- METHOD ---------- */
  .tsh-recipe .tsh-stage-head{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px;
    padding:15px 14px;
  }

  .tsh-recipe .tsh-stage-time{
    grid-column:2!important;
    justify-self:start!important;
    white-space:normal;
  }

  .tsh-recipe .tsh-step{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:11px!important;
    padding:17px 14px!important;
  }

  .tsh-recipe .tsh-step::before{
    inset-block:51px -1px!important;
    inset-inline-start:30px!important;
  }

  .tsh-recipe .tsh-cue{
    max-width:100%;
    border-radius:9px;
    white-space:normal;
  }

  /* ---------- TROUBLESHOOTING TABLE ---------- */
  .tsh-recipe .tsh-table-wrap{
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .tsh-recipe .tsh-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
    border-collapse:separate!important;
  }

  .tsh-recipe .tsh-table caption{
    display:block;
    width:100%;
    margin-bottom:9px;
    border:1px solid var(--tsh-line);
    border-radius:12px;
  }

  .tsh-recipe .tsh-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip-path:inset(50%)!important;
  }

  .tsh-recipe .tsh-table tbody{
    display:grid!important;
    gap:9px;
  }

  .tsh-recipe .tsh-table tr{
    display:block!important;
    overflow:hidden;
    width:100%;
    border:1px solid var(--tsh-line);
    border-radius:13px;
    background:#fff;
  }

  .tsh-recipe .tsh-table td{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    padding:11px 12px!important;
    border:0!important;
    border-bottom:1px solid var(--tsh-line)!important;
    overflow-wrap:anywhere;
  }

  .tsh-recipe .tsh-table td:last-child{
    border-bottom:0!important;
  }

  /* ---------- NUTRITION ---------- */
  .tsh-recipe .tsh-nutrition{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* ---------- FOOTER ---------- */
  .tsh-site-newsletter .inner,
  .tsh-site-footer .inner{
    width:calc(100% - 28px);
  }

  .tsh-site-newsletter .inner{
    grid-template-columns:1fr!important;
    gap:18px;
    padding:33px 0;
  }

  .tsh-site-newsletter form{
    width:100%;
    min-width:0;
  }

  .tsh-site-newsletter input{
    min-width:0;
  }

  .tsh-footer-grid{
    grid-template-columns:1fr!important;
    gap:25px;
  }

  .tsh-footer-bottom{
    display:block;
    line-height:1.7;
  }

  /* Prototype badge should never cover mobile UI */
  .tsh-v7-note,.tsh-v8-note,.tsh-v9-note,.tsh-v10-note{
    display:none!important;
  }
}

@media (max-width:380px){

  .tsh-editorial-copy{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  .tsh-recipe{
    width:calc(100% - 8px);
  }

  .tsh-recipe .tsh-card-body{
    padding-left:13px!important;
    padding-right:13px!important;
  }

  .tsh-recipe .tsh-ingredient-spec-row{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:9px!important;
  }

  .tsh-recipe .tsh-table td{
    grid-template-columns:80px minmax(0,1fr)!important;
  }
}


/* =========================================================
   V9 recipe snapshot — replaces duplicate prose above recipe
   ========================================================= */

.tsh-recipe-snapshot{
  width:100%;
  background:#fff;
}

.tsh-recipe-snapshot-inner{
  width:min(1210px,calc(100% - 34px));
  margin:0 auto;
  padding:44px 0 50px;
}

.tsh-snapshot-label-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:17px;
}

.tsh-snapshot-kicker{
  position:relative;
  margin:0;
  padding-left:29px;
  color:#6d4307;
  font-family:"Barlow","Avenir Next","Segoe UI Variable","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  font-size:10px;
  font-weight:820;
  letter-spacing:.15em;
  line-height:1.3;
  text-transform:uppercase;
}

.tsh-snapshot-kicker::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#a36b12;
  transform:translateY(-50%);
}

.tsh-snapshot-note{
  margin:0;
  color:#777d79;
  font-size:11.5px;
  line-height:1.45;
  text-align:right;
}

/* Classification cards */
.tsh-snapshot-classification{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

.tsh-snapshot-class{
  --snapshot-tone:#6d4307;
  --snapshot-bg:#fffaf2;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-width:0;
  padding:16px 17px;
  border:1px solid #e8e0d4;
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0%,rgba(163,107,18,.07),transparent 9rem),
    linear-gradient(145deg,var(--snapshot-bg),#fff 74%);
  box-shadow:0 7px 22px rgba(38,32,24,.035);
}

.tsh-snapshot-class:nth-child(2){
  --snapshot-tone:#176745;
  --snapshot-bg:#f3faf6;
}

.tsh-snapshot-class:nth-child(3){
  --snapshot-tone:#285c9d;
  --snapshot-bg:#f4f8fd;
}

.tsh-snapshot-class:nth-child(4){
  --snapshot-tone:#6c5094;
  --snapshot-bg:#f8f5fb;
}

.tsh-snapshot-class-icon{
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:10px;
  background:#192622;
  color:#f1c772;
  box-shadow:0 5px 13px rgba(25,38,34,.12);
  font-size:9px;
  font-weight:850;
  line-height:1;
}

.tsh-snapshot-class small{
  display:block;
  margin-bottom:3px;
  color:var(--snapshot-tone);
  font-size:9px;
  font-weight:820;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
}

.tsh-snapshot-class strong{
  display:block;
  color:#18201e;
  font-size:14px;
  font-weight:730;
  letter-spacing:-.012em;
  line-height:1.32;
  text-wrap:balance;
}

/* Timing / yield fact boxes */
.tsh-snapshot-facts{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  margin:0;
  padding:1px;
  border:1px solid #e7dfd4;
  border-radius:15px;
  background:#e7dfd4;
  box-shadow:0 1px 2px rgba(38,32,24,.03),0 10px 28px rgba(38,32,24,.045);
}

.tsh-snapshot-fact{
  position:relative;
  min-width:0;
  padding:16px 17px 17px;
  background:linear-gradient(145deg,#fff,#fdfbf8);
}

.tsh-snapshot-fact::before{
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:0;
  width:2px;
  background:linear-gradient(#a36b12,transparent 80%);
  opacity:.58;
}

.tsh-snapshot-fact dt{
  margin:0 0 5px;
  color:#68726f;
  font-size:9px;
  font-weight:830;
  letter-spacing:.13em;
  line-height:1.35;
  text-transform:uppercase;
}

.tsh-snapshot-fact dd{
  margin:0;
  color:#18201e;
  font-size:16px;
  font-weight:790;
  letter-spacing:-.018em;
  line-height:1.25;
  font-variant-numeric:tabular-nums;
}

/* Inner recipe masthead is now deliberately simpler:
   no duplicated tags and no duplicated facts. */
.tsh-recipe .tsh-title-wrap{
  padding-bottom:38px;
}

.tsh-recipe .tsh-masthead{
  margin-top:0;
}

/* Tablet */
@media(max-width:980px){
  .tsh-snapshot-classification{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tsh-snapshot-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .tsh-snapshot-fact:nth-child(n+4){
    border-top:0;
  }
}

/* Mobile */
@media(max-width:700px){
  .tsh-recipe-snapshot-inner{
    width:calc(100% - 28px);
    padding:30px 0 36px;
  }

  .tsh-snapshot-label-row{
    display:block;
    margin-bottom:14px;
  }

  .tsh-snapshot-note{
    margin-top:6px;
    text-align:left;
  }

  .tsh-snapshot-classification{
    grid-template-columns:1fr;
    gap:8px;
  }

  .tsh-snapshot-class{
    grid-template-columns:31px minmax(0,1fr);
    min-height:0;
    padding:13px 14px;
    border-radius:12px;
  }

  .tsh-snapshot-class-icon{
    width:29px;
    height:29px;
    border-radius:9px;
  }

  .tsh-snapshot-class strong{
    font-size:13.5px;
  }

  .tsh-snapshot-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-radius:13px;
  }

  .tsh-snapshot-fact{
    padding:14px 13px 15px;
  }

  .tsh-snapshot-fact:last-child{
    grid-column:1/-1;
  }

  .tsh-snapshot-fact dd{
    font-size:15px;
  }
}

/* Very small phones */
@media(max-width:380px){
  .tsh-recipe-snapshot-inner{
    width:calc(100% - 20px);
  }

  .tsh-snapshot-facts{
    grid-template-columns:1fr;
  }

  .tsh-snapshot-fact:last-child{
    grid-column:auto;
  }
}

@media print{
  .tsh-recipe-snapshot-inner{
    width:100%;
    padding:0 0 10pt;
  }

  .tsh-snapshot-classification{
    grid-template-columns:repeat(4,1fr);
  }

  .tsh-snapshot-facts{
    grid-template-columns:repeat(5,1fr);
    box-shadow:none;
  }
}


/* =========================================================
   V10 FINAL VISUAL CLEANUP
   No architecture changes; only hierarchy, density and tone.
   ========================================================= */

/* ---------- GLOBAL RECIPE TOKENS ---------- */
.tsh-recipe{
  --tsh-night:#192622;
  --tsh-night-2:#24332f;
  --tsh-gold:#a36b12;
  --tsh-gold-deep:#6d4307;
  --tsh-sage:#176745;
  --tsh-blue:#285c9d;
}

/* ---------- SNAPSHOT: TWO COHERENT PANELS ---------- */
.tsh-recipe-snapshot-inner{
  padding-top:38px;
  padding-bottom:44px;
}

.tsh-snapshot-label-row{
  margin-bottom:14px;
}

.tsh-snapshot-panel{
  overflow:hidden;
  border:1px solid #e5dfd5;
  border-radius:15px;
  background:#fff;
  box-shadow:0 1px 2px rgba(38,32,24,.025),0 9px 25px rgba(38,32,24,.04);
}

/* Classification becomes one shared box, not four independent cards */
.tsh-snapshot-panel--classification{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0!important;
  margin-bottom:12px!important;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class{
  --snapshot-tone:#6d4307;
  --snapshot-bg:#fff;
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  min-height:84px;
  padding:16px 17px;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class + .tsh-snapshot-class{
  border-left:1px solid #e9e3da!important;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:#a36b12;
  opacity:.58;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class:nth-child(2)::before{
  background:#176745;
}
.tsh-snapshot-panel--classification .tsh-snapshot-class:nth-child(3)::before{
  background:#285c9d;
}
.tsh-snapshot-panel--classification .tsh-snapshot-class:nth-child(4)::before{
  background:#192622;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class-icon{
  width:29px;
  height:29px;
  border-radius:9px;
  background:#f7f3eb;
  color:#6d4307;
  box-shadow:none;
  border:1px solid #e3d7c4;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class small{
  margin-bottom:3px;
  color:#747a77;
  font-size:8.8px;
  letter-spacing:.115em;
}

.tsh-snapshot-panel--classification .tsh-snapshot-class strong{
  font-size:13.5px;
  font-weight:690;
  line-height:1.31;
}

/* Facts become a single quiet meter-like box */
.tsh-snapshot-panel--facts{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0!important;
  padding:0!important;
  background:#fbfaf7!important;
}

.tsh-snapshot-panel--facts .tsh-snapshot-fact{
  min-height:78px;
  padding:15px 16px;
  background:transparent!important;
}

.tsh-snapshot-panel--facts .tsh-snapshot-fact + .tsh-snapshot-fact{
  border-left:1px solid #e9e3da;
}

.tsh-snapshot-panel--facts .tsh-snapshot-fact::before{
  display:none!important;
}

.tsh-snapshot-panel--facts .tsh-snapshot-fact dt{
  font-size:8.8px;
  letter-spacing:.12em;
}

.tsh-snapshot-panel--facts .tsh-snapshot-fact dd{
  font-size:15px;
  font-weight:760;
}

/* ---------- SECONDARY RECIPE MASTHEAD ---------- */
.tsh-recipe .tsh-masthead--secondary{
  border-radius:20px;
  box-shadow:0 1px 2px rgba(38,32,24,.035),0 13px 32px rgba(38,32,24,.055);
}

.tsh-recipe .tsh-masthead--secondary .tsh-title-wrap{
  padding:36px 42px 32px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(163,107,18,.08),transparent 23rem),
    linear-gradient(145deg,#fffdfa,#fbf8f2);
}

.tsh-recipe .tsh-masthead--secondary .tsh-title-wrap::after{
  height:3px;
  opacity:.82;
}

.tsh-recipe .tsh-masthead--secondary .tsh-main-kicker{
  margin-bottom:11px;
  font-size:9.5px;
  letter-spacing:.16em;
}

.tsh-recipe .tsh-masthead--secondary .tsh-title{
  max-width:850px;
  font-size:clamp(34px,3.5vw,48px)!important;
  letter-spacing:-.042em;
  line-height:1.01;
}

.tsh-recipe .tsh-masthead--secondary .tsh-title-accent{
  margin-top:8px;
  font-size:.47em!important;
}

.tsh-recipe .tsh-masthead--secondary .tsh-lead{
  max-width:760px;
  margin-top:15px;
  font-size:15.5px;
  line-height:1.64;
}

/* ---------- REDUCED SECTION PALETTE ---------- */
.tsh-recipe .tsh-tone-night{
  --tone:var(--tsh-night);
  --tone-bg:#f2f5f4;
  --tone-rgb:25,38,34;
}

/* practical card tones collapse to four restrained variants */
.tsh-recipe .tsh-practical-card[data-tone="gold"]{
  --practical-tone:var(--tsh-gold);
  --practical-bg:#fffaf2;
}
.tsh-recipe .tsh-practical-card[data-tone="sage"]{
  --practical-tone:var(--tsh-sage);
  --practical-bg:#f3f8f5;
}
.tsh-recipe .tsh-practical-card[data-tone="blue"]{
  --practical-tone:var(--tsh-blue);
  --practical-bg:#f4f7fb;
}
.tsh-recipe .tsh-practical-card[data-tone="night"]{
  --practical-tone:var(--tsh-night);
  --practical-bg:#f4f6f5;
}

/* ---------- METHOD: CLEARER HIERARCHY, LESS DECORATION ---------- */
.tsh-recipe .tsh-stage-card{
  border-color:#ddd7cd;
  box-shadow:0 1px 2px rgba(38,32,24,.028),0 9px 24px rgba(38,32,24,.045);
}

.tsh-recipe .tsh-stage-head{
  padding:15px 18px;
}

.tsh-recipe .tsh-stage-badge{
  width:36px;
  height:36px;
  background:var(--tsh-night);
  border:0;
  box-shadow:none;
  color:#f1c772;
}

.tsh-recipe .tsh-stage-head h4{
  font-size:16.5px;
}

.tsh-recipe .tsh-stage-time{
  padding:5px 9px;
  background:#fff;
  font-size:10.8px;
}

.tsh-recipe .tsh-step{
  padding:19px 21px;
}

.tsh-recipe .tsh-step-no{
  width:33px;
  height:33px;
  color:var(--tsh-night);
  border-color:#d7d1c7;
  box-shadow:none;
}

.tsh-recipe .tsh-step h4{
  font-size:15.5px;
}

.tsh-recipe .tsh-step p{
  font-size:13.8px;
  line-height:1.66;
}

.tsh-recipe .tsh-cue{
  margin-top:8px;
  padding:5px 9px;
  border-color:#d9d4cb;
  background:#f7f6f3;
  color:#3f4b47;
  font-size:11px;
  font-weight:690;
}

/* ---------- CONTROL POINTS AS ONE SUPPORT MODULE ---------- */
.tsh-recipe .tsh-support-module{
  overflow:hidden;
  border:1px solid var(--tsh-line);
  border-radius:16px;
  background:#fff;
}

.tsh-recipe .tsh-support-module .tsh-control-grid{
  gap:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#fbfaf7;
}

.tsh-recipe .tsh-support-module .tsh-control{
  min-height:136px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}

.tsh-recipe .tsh-support-module .tsh-control + .tsh-control{
  border-left:1px solid var(--tsh-line);
}

.tsh-recipe .tsh-support-module .tsh-table-wrap{
  margin-top:0;
  border:0;
  border-top:1px solid var(--tsh-line);
  border-radius:0;
  box-shadow:none;
}

/* ---------- PRACTICAL: LESS HEIGHT / SHADOW ---------- */
.tsh-recipe .tsh-practical-card{
  padding:17px 18px;
  box-shadow:none;
}

.tsh-recipe .tsh-practical-card h4{
  margin-bottom:6px;
  font-size:15px;
}

/* ---------- FAQ: LIGHTER AND LOWER ---------- */
.tsh-recipe .tsh-card--compact .tsh-card-body{
  padding-top:25px;
  padding-bottom:28px;
}

.tsh-recipe .tsh-card--compact .tsh-faq{
  border-color:#e5dfd5;
  box-shadow:none;
}

.tsh-recipe .tsh-card--compact .tsh-faq-top{
  min-height:60px;
  padding:12px 13px;
  background:#fff;
}

.tsh-recipe .tsh-card--compact .tsh-faq-no{
  width:31px;
  height:31px;
  border-radius:9px;
  box-shadow:none;
}

.tsh-recipe .tsh-card--compact .tsh-faq h4{
  font-size:14px;
}

/* ---------- NUTRITION: QUIET METER ---------- */
.tsh-recipe .tsh-nutrition{
  border-radius:14px;
  box-shadow:none;
}

.tsh-recipe .tsh-nutrition>div{
  padding:14px 15px;
}

.tsh-recipe .tsh-nutrition>div::before{
  width:1px;
  opacity:.45;
}

/* ---------- CLOSING: 15–20% SMALLER ---------- */
.tsh-recipe .tsh-close--compact{
  padding:25px 29px;
  border-radius:18px;
  box-shadow:0 1px 2px rgba(38,32,24,.04),0 14px 38px rgba(25,38,34,.11);
}

.tsh-recipe .tsh-close--compact .tsh-close-kicker{
  margin-bottom:5px;
  font-size:9px;
}

.tsh-recipe .tsh-close--compact .tsh-close-quote{
  max-width:850px;
  font-size:clamp(19px,2.1vw,24px);
  line-height:1.32;
}

.tsh-recipe .tsh-close--compact .tsh-close-copy{
  max-width:850px;
  margin-top:8px;
  font-size:13.2px;
}

.tsh-recipe .tsh-close--compact::after{
  font-size:145px;
  top:-23px;
}

/* ---------- TOC: SLIGHTLY NARROWER MASTER WIDTH ---------- */
.tsh-recipe .tsh-recipe-body-shell{
  grid-template-columns:clamp(172px,14.2vw,184px) minmax(0,1fr)!important;
  gap:18px!important;
}

/* ---------- MOBILE FINAL ---------- */
@media(max-width:900px){

  .tsh-recipe-snapshot-inner{
    width:calc(100% - 28px);
    padding-top:28px;
    padding-bottom:34px;
  }

  .tsh-snapshot-panel--classification{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tsh-snapshot-panel--classification .tsh-snapshot-class{
    min-height:76px;
  }

  .tsh-snapshot-panel--classification .tsh-snapshot-class:nth-child(3){
    border-left:0!important;
    border-top:1px solid #e9e3da!important;
  }

  .tsh-snapshot-panel--classification .tsh-snapshot-class:nth-child(4){
    border-top:1px solid #e9e3da!important;
  }

  .tsh-snapshot-panel--facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact{
    min-height:70px;
    border-left:0!important;
    border-top:1px solid #e9e3da;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact:nth-child(1),
  .tsh-snapshot-panel--facts .tsh-snapshot-fact:nth-child(2){
    border-top:0;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact:nth-child(even){
    border-left:1px solid #e9e3da!important;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact:last-child{
    grid-column:1/-1;
    border-left:0!important;
  }

  .tsh-recipe .tsh-masthead--secondary .tsh-title-wrap{
    padding:28px 18px 25px!important;
  }

  .tsh-recipe .tsh-masthead--secondary .tsh-title{
    font-size:clamp(31px,9.5vw,42px)!important;
  }

  .tsh-recipe .tsh-recipe-body-shell{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .tsh-recipe .tsh-support-module .tsh-control-grid{
    grid-template-columns:1fr!important;
  }

  .tsh-recipe .tsh-support-module .tsh-control{
    min-height:0;
  }

  .tsh-recipe .tsh-support-module .tsh-control + .tsh-control{
    border-left:0;
    border-top:1px solid var(--tsh-line);
  }

  .tsh-recipe .tsh-close--compact{
    padding:22px 20px;
  }
}

@media(max-width:430px){

  .tsh-snapshot-panel--classification{
    grid-template-columns:1fr;
  }

  .tsh-snapshot-panel--classification .tsh-snapshot-class{
    border-left:0!important;
    border-top:1px solid #e9e3da!important;
  }

  .tsh-snapshot-panel--classification .tsh-snapshot-class:first-child{
    border-top:0!important;
  }

  .tsh-snapshot-panel--facts{
    grid-template-columns:1fr;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact{
    border-left:0!important;
    border-top:1px solid #e9e3da!important;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact:first-child{
    border-top:0!important;
  }

  .tsh-snapshot-panel--facts .tsh-snapshot-fact:last-child{
    grid-column:auto;
  }
}


/* =========================================================
   CLEAN RECIPE TEMPLATE SHELL
   Global site header/footer intentionally excluded.
   ========================================================= */

body{
  margin:0;
  background:#fff;
  color:#18201e;
  font-family:"Barlow","Avenir Next","Segoe UI Variable","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* Article hero retained because it belongs to the recipe page template */
.tsh-editorial-hero{
  width:100%;
  background:#f7f7f6;
  border-bottom:1px solid #f1efeb;
}

.tsh-editorial-hero-inner{
  width:min(1420px,100%);
  min-height:507px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,58.4%) minmax(0,41.6%);
  align-items:stretch;
}

.tsh-editorial-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:72px 32px 62px 20px;
}

.tsh-hero-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:17px;
  color:#5c615f;
  font-size:11.2px;
  line-height:1.45;
}
.tsh-hero-breadcrumbs a{color:inherit;text-decoration:none}
.tsh-hero-breadcrumbs span{color:#999d9a}

.tsh-hero-category{
  position:relative;
  align-self:flex-start;
  margin:0 0 21px;
  padding:0 0 0 31px;
  border:0;
  background:transparent;
  color:#80510a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.145em;
  line-height:1.25;
  text-transform:uppercase;
}
.tsh-hero-category::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:21px;
  height:2px;
  border-radius:999px;
  background:#b27c26;
  transform:translateY(-50%);
}

.tsh-editorial-copy h1{
  max-width:720px;
  margin:0;
  color:#2d302f;
  font-size:clamp(45px,4.2vw,61px);
  font-weight:730;
  letter-spacing:-.04em;
  line-height:1.01;
  text-wrap:balance;
}

.tsh-byline-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:26px;
  max-width:760px;
  margin-top:24px;
}

.tsh-author-block{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.tsh-author-block img{
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #e5e0d7;
  background:#fff;
}
.tsh-author-name{
  display:inline-block;
  color:#2b302e;
  font-size:12.8px;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.tsh-author-block p{
  margin:4px 0 0;
  color:#6c716e;
  font-size:11.8px;
  line-height:1.4;
}

.tsh-inline-tools{
  display:flex;
  align-items:center;
  gap:7px;
  color:#626865;
  white-space:nowrap;
  font-size:10.8px;
}
.tsh-inline-tools a{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  color:#25302c;
  font-size:12px;
  font-weight:750;
  text-decoration:none;
}
.tsh-inline-read{margin-left:2px;color:#666c69}

.tsh-editorial-featured{
  margin:0;
  min-width:0;
  min-height:507px;
  overflow:hidden;
  background:#eee8de;
}
.tsh-editorial-featured img{
  display:block;
  width:100%;
  height:507px;
  min-height:507px;
  object-fit:cover;
  object-position:center;
}

/* Snapshot-to-recipe spacing */
.tsh-recipe-snapshot + .tsh-recipe{
  margin-top:0;
}

/* Keep the clean template centered once global chrome is removed */
.tsh-recipe{
  margin-bottom:64px;
}

@media(max-width:900px){
  .tsh-editorial-hero-inner{
    min-height:0;
    grid-template-columns:1fr;
  }
  .tsh-editorial-featured{
    order:1;
    min-height:0;
  }
  .tsh-editorial-featured img{
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
  }
  .tsh-editorial-copy{
    order:2;
    padding:30px 18px 34px;
  }
  .tsh-editorial-copy h1{
    max-width:100%;
    font-size:clamp(38px,11vw,51px);
  }
  .tsh-byline-row{
    align-items:flex-start;
    flex-direction:column;
    gap:17px;
    margin-top:21px;
  }
  .tsh-inline-tools{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .tsh-inline-tools::-webkit-scrollbar{display:none}
}

@media print{
  .tsh-inline-tools{display:none!important}
  .tsh-editorial-hero{background:#fff}
  .tsh-editorial-featured{display:none!important}
  .tsh-editorial-hero-inner{display:block;min-height:0}
  .tsh-editorial-copy{padding:0 0 12pt}
  .tsh-editorial-copy h1{font-size:26pt}
}


/* NL multilingual direct-mapping test */
.tsh-author-avatar-fallback{
  display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;
  border:1px solid #e5e0d7;border-radius:50%;background:#fff;color:#6d4307;
  font-size:10px;font-weight:800;letter-spacing:.08em;
}
.tsh-recipe-snapshot-inner{
  width:min(1210px,calc(100% - 34px));margin:0 auto;padding:34px 0 40px;
}
.tsh-glance{
  overflow:hidden;border:1px solid #e3ddd3;border-radius:17px;background:#fff;
  box-shadow:0 10px 28px rgba(38,32,24,.045);
}
.tsh-glance-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:18px 21px 16px;border-bottom:1px solid #e8e2d9;
  background:linear-gradient(135deg,#fdfbf7,#fff 75%);
}
.tsh-glance-kicker{
  margin:0 0 4px;color:#7a5418;font-size:9px;font-weight:820;
  letter-spacing:.14em;line-height:1.3;text-transform:uppercase;
}
.tsh-glance-title{
  margin:0;color:#18201e;font-size:19px;font-weight:740;letter-spacing:-.018em;line-height:1.2;
}
.tsh-glance-note{margin:0;color:#777d79;font-size:11.2px;line-height:1.45;text-align:right}
.tsh-glance-class{
  display:grid;
  grid-template-columns:repeat(var(--glance-class-count,4),minmax(0,1fr));
  background:#fff;
}
.tsh-glance-cell{position:relative;min-width:0;padding:17px 20px 18px}
.tsh-glance-cell + .tsh-glance-cell{border-left:1px solid #ebe5dc}
.tsh-glance-cell::before{
  content:"";position:absolute;top:0;left:20px;right:20px;height:2px;border-radius:999px;background:#a36b12;
}
.tsh-glance-cell:nth-child(2)::before{background:#176745}
.tsh-glance-cell:nth-child(3)::before{background:#285c9d}
.tsh-glance-cell:nth-child(4)::before{background:#192622}
.tsh-glance-cell span{
  display:block;margin-bottom:4px;color:#747a77;font-size:8.5px;font-weight:820;
  letter-spacing:.12em;line-height:1.3;text-transform:uppercase;
}
.tsh-glance-cell strong{display:block;color:#18201e;font-size:14px;font-weight:720;line-height:1.3}
.tsh-glance-facts{
  display:grid;
  grid-template-columns:repeat(var(--glance-fact-count,5),minmax(0,1fr));
  margin:0;border-top:1px solid #e7e1d8;background:#f7f5f1;
}
.tsh-glance-facts>div{min-width:0;padding:15px 20px 16px}
.tsh-glance-facts>div + div{border-left:1px solid #e3ddd4}
.tsh-glance-facts dt{
  margin:0 0 5px;color:#707773;font-size:8.5px;font-weight:810;letter-spacing:.12em;
  line-height:1.3;text-transform:uppercase;
}
.tsh-glance-facts dd{
  margin:0;color:#18201e;font-size:15.5px;font-weight:760;letter-spacing:-.01em;
  line-height:1.25;font-variant-numeric:tabular-nums;
}
.tsh-recipe .tsh-ingredient-spec-group + .tsh-ingredient-spec-group{margin-top:28px}

@media(max-width:900px){
  .tsh-recipe-snapshot-inner{width:calc(100% - 28px);padding:28px 0 34px}
  .tsh-glance-head{display:block;padding:16px 16px 14px}
  .tsh-glance-note{margin-top:5px;text-align:left}
  .tsh-glance-class{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsh-glance-cell:nth-child(3), .tsh-glance-cell:nth-child(4){border-top:1px solid #ebe5dc}
  .tsh-glance-cell:nth-child(3){border-left:0}
  .tsh-glance-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsh-glance-facts>div{border-top:1px solid #e3ddd4}
  .tsh-glance-facts>div:nth-child(1),.tsh-glance-facts>div:nth-child(2){border-top:0}
  .tsh-glance-facts>div:nth-child(even){border-left:1px solid #e3ddd4}
  .tsh-glance-facts>div:nth-child(odd){border-left:0}
}
@media(max-width:430px){
  .tsh-glance-class,.tsh-glance-facts{grid-template-columns:1fr}
  .tsh-glance-cell,.tsh-glance-facts>div{border-left:0!important;border-top:1px solid #e3ddd4!important}
  .tsh-glance-cell:first-child,.tsh-glance-facts>div:first-child{border-top:0!important}
}


/* =========================================================
   MULTILINGUAL TEST V2 — ADAPTIVE COUNT GRIDS
   No visual redesign; only deterministic item-count layout.
   ========================================================= */

/* ---------- KEY POINTS ---------- */
.tsh-recipe .tsh-key-grid{
  display:grid;
  gap:12px;
}

.tsh-recipe .tsh-key-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-key-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-key-grid--4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-key-grid--5{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-key-grid--5 > :nth-child(4),
.tsh-recipe .tsh-key-grid--5 > :nth-child(5){
  grid-column:auto;
}

/* ---------- PRACTICAL ---------- */
.tsh-recipe .tsh-practical-grid{
  display:grid;
  gap:12px;
}

.tsh-recipe .tsh-practical-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-practical-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-practical-grid--4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* ---------- NUTRITION ---------- */
.tsh-recipe .tsh-nutrition{
  display:grid;
  gap:1px;
}

/* 4 -> 4 */
.tsh-recipe .tsh-nutrition--4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* 5 -> 5 */
.tsh-recipe .tsh-nutrition--5{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

/* 6 -> 3 + 3 */
.tsh-recipe .tsh-nutrition--6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* 7 -> 4 + 3, second row visually balanced */
.tsh-recipe .tsh-nutrition--7{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.tsh-recipe .tsh-nutrition--7 > :nth-child(5){
  grid-column:1 / 2;
}

.tsh-recipe .tsh-nutrition--7 > :nth-child(6){
  grid-column:2 / 3;
}

.tsh-recipe .tsh-nutrition--7 > :nth-child(7){
  grid-column:3 / 5;
}

/* 8 -> 4 + 4 */
.tsh-recipe .tsh-nutrition--8{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Remove the old visual problem where the final value sat alone
   over a large empty background strip. */
.tsh-recipe .tsh-nutrition > div{
  min-width:0;
}

/* ---------- TABLET ---------- */
@media(max-width:1050px){

  .tsh-recipe .tsh-key-grid--3,
  .tsh-recipe .tsh-key-grid--4,
  .tsh-recipe .tsh-key-grid--5,
  .tsh-recipe .tsh-practical-grid--3,
  .tsh-recipe .tsh-practical-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .tsh-recipe .tsh-practical-grid--3 > :last-child,
  .tsh-recipe .tsh-key-grid--3 > :last-child{
    grid-column:1 / -1;
  }

  .tsh-recipe .tsh-nutrition--5,
  .tsh-recipe .tsh-nutrition--6,
  .tsh-recipe .tsh-nutrition--7,
  .tsh-recipe .tsh-nutrition--8{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .tsh-recipe .tsh-nutrition--7 > :nth-child(5),
  .tsh-recipe .tsh-nutrition--7 > :nth-child(6),
  .tsh-recipe .tsh-nutrition--7 > :nth-child(7){
    grid-column:auto!important;
  }

  .tsh-recipe .tsh-nutrition--5 > :last-child,
  .tsh-recipe .tsh-nutrition--7 > :last-child{
    grid-column:1 / -1!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:700px){

  .tsh-recipe .tsh-key-grid,
  .tsh-recipe .tsh-practical-grid{
    grid-template-columns:1fr!important;
  }

  .tsh-recipe .tsh-key-grid > *,
  .tsh-recipe .tsh-practical-grid > *{
    grid-column:auto!important;
  }

  .tsh-recipe .tsh-nutrition{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .tsh-recipe .tsh-nutrition > *{
    grid-column:auto!important;
  }

  .tsh-recipe .tsh-nutrition--5 > :last-child,
  .tsh-recipe .tsh-nutrition--7 > :last-child{
    grid-column:1 / -1!important;
  }
}

@media(max-width:380px){
  .tsh-recipe .tsh-nutrition{
    grid-template-columns:1fr!important;
  }

  .tsh-recipe .tsh-nutrition > *{
    grid-column:auto!important;
  }
}


/* =========================================================
   MULTILINGUAL TEST V3 — AUTHOR ICON + FUNCTIONAL SHARE TOOLS
   ========================================================= */

.tsh-author-avatar{
  display:block;
  width:50px!important;
  height:50px!important;
  flex:0 0 50px;
  border:1px solid #e5e0d7;
  border-radius:50%;
  background:#fff;
  object-fit:cover;
  object-position:center;
  box-shadow:0 3px 10px rgba(38,32,24,.05);
}

.tsh-share-tools{
  display:flex;
  align-items:center;
  gap:5px;
  max-width:100%;
}

.tsh-share-label{
  margin-right:3px;
  color:#747a77;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.tsh-share-button{
  display:grid!important;
  width:31px!important;
  height:31px!important;
  flex:0 0 31px;
  place-items:center;
  padding:0!important;
  border:1px solid #e3ddd4!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#25302c!important;
  text-decoration:none!important;
  cursor:pointer;
  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease;
  appearance:none;
  -webkit-appearance:none;
}

.tsh-share-button:hover,
.tsh-share-button:focus-visible{
  border-color:#b58a48!important;
  background:#fffaf2!important;
  color:#6d4307!important;
  transform:translateY(-1px);
  outline:none;
}

.tsh-share-button:focus-visible{
  box-shadow:0 0 0 3px rgba(163,107,18,.14);
}

.tsh-share-button svg{
  display:block;
  width:14px;
  height:14px;
  fill:currentColor;
}

.tsh-share-status{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.tsh-share-copy.is-copied{
  border-color:#176745!important;
  background:#f2faf5!important;
  color:#176745!important;
}

@media(max-width:900px){
  .tsh-share-tools{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .tsh-share-tools::-webkit-scrollbar{
    display:none;
  }

  .tsh-share-label,
  .tsh-share-button{
    flex-shrink:0;
  }
}

@media print{
  .tsh-share-tools{
    display:none!important;
  }
}

/* =========================================================
   UNIVERSAL RECIPE TEMPLATE V1 — GENERIC ADAPTIVE LAYER
   ========================================================= */

.tsh-recipe-snapshot-inner{width:min(1210px,calc(100% - 34px));margin:0 auto;padding:34px 0 40px}
.tsh-glance{overflow:hidden;border:1px solid #e3ddd3;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(38,32,24,.045)}
.tsh-glance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px 21px 16px;border-bottom:1px solid #e8e2d9;background:linear-gradient(135deg,#fdfbf7,#fff 75%)}
.tsh-glance-kicker{margin:0 0 4px;color:#7a5418;font-size:9px;font-weight:820;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}
.tsh-glance-title{margin:0;color:#18201e;font-size:19px;font-weight:740;letter-spacing:-.018em;line-height:1.2}
.tsh-glance-note{margin:0;color:#777d79;font-size:11.2px;line-height:1.45;text-align:right}
.tsh-glance-class,.tsh-glance-facts{display:grid}
.tsh-glance-class.is-count-1{grid-template-columns:1fr}
.tsh-glance-class.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsh-glance-class.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tsh-glance-class.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tsh-glance-cell{position:relative;min-width:0;padding:17px 20px 18px}
.tsh-glance-cell + .tsh-glance-cell{border-left:1px solid #ebe5dc}
.tsh-glance-cell::before{content:"";position:absolute;top:0;left:20px;right:20px;height:2px;border-radius:999px;background:#a36b12}
.tsh-glance-cell:nth-child(2)::before{background:#176745}.tsh-glance-cell:nth-child(3)::before{background:#285c9d}.tsh-glance-cell:nth-child(4)::before{background:#192622}
.tsh-glance-cell span{display:block;margin-bottom:4px;color:#747a77;font-size:8.5px;font-weight:820;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
.tsh-glance-cell strong{display:block;color:#18201e;font-size:14px;font-weight:720;line-height:1.3}
.tsh-glance-facts{margin:0;border-top:1px solid #e7e1d8;background:#f7f5f1}
.tsh-glance-facts.is-count-1{grid-template-columns:1fr}.tsh-glance-facts.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsh-glance-facts.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tsh-glance-facts.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tsh-glance-facts.is-count-5{grid-template-columns:repeat(5,minmax(0,1fr))}.tsh-glance-facts.is-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.tsh-glance-facts>div{min-width:0;padding:15px 20px 16px}.tsh-glance-facts>div + div{border-left:1px solid #e3ddd4}
.tsh-glance-facts dt{margin:0 0 5px;color:#707773;font-size:8.5px;font-weight:810;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
.tsh-glance-facts dd{margin:0;color:#18201e;font-size:15.5px;font-weight:760;letter-spacing:-.01em;line-height:1.25;font-variant-numeric:tabular-nums}

.tsh-overview--compact{max-width:860px}.tsh-overview--compact .tsh-prose{max-width:820px}.tsh-overview--minimal{max-width:760px}
.tsh-overview--compact .tsh-prose p,.tsh-overview--minimal .tsh-prose p{font-size:14.8px;line-height:1.78}

.tsh-practical-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tsh-practical-grid.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tsh-practical-grid.is-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}

.tsh-key-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tsh-key-grid.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tsh-key-grid.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}

.tsh-nutrition.is-count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.tsh-nutrition.is-count-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.tsh-nutrition.is-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tsh-nutrition.is-count-7{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.tsh-nutrition.is-count-7>div:nth-child(7){grid-column:3/5}
.tsh-nutrition.is-count-8{grid-template-columns:repeat(4,minmax(0,1fr))!important}

.tsh-faq-grid.is-count-1{grid-template-columns:1fr!important}
.tsh-faq-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}

@media(max-width:900px){
  .tsh-glance-head{display:block}.tsh-glance-note{margin-top:5px;text-align:left}
  .tsh-glance-class,.tsh-glance-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tsh-practical-grid,.tsh-key-grid,.tsh-control-grid{grid-template-columns:1fr!important}
  .tsh-nutrition{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tsh-nutrition>div{grid-column:auto!important}
}
@media(max-width:430px){
  .tsh-glance-class,.tsh-glance-facts,.tsh-nutrition{grid-template-columns:1fr!important}
}


/* =========================================================
   UNIVERSAL RECIPE TEMPLATE V2 — SHARE POLICY
   ========================================================= */

.tsh-share-button{
  display:grid!important;
  width:31px!important;
  height:31px!important;
  flex:0 0 31px;
  place-items:center;
  padding:0!important;
  border:1px solid #e3ddd4!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#25302c!important;
  text-decoration:none!important;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    opacity .18s ease;
}

.tsh-share-button svg{
  display:block;
  width:14px;
  height:14px;
  fill:currentColor;
}

.tsh-share-button:hover:not([aria-disabled="true"]),
.tsh-share-button:focus-visible:not([aria-disabled="true"]){
  border-color:#b58a48!important;
  background:#fffaf2!important;
  color:#6d4307!important;
  transform:translateY(-1px);
  outline:none;
}

.tsh-share-button:focus-visible:not([aria-disabled="true"]){
  box-shadow:0 0 0 3px rgba(163,107,18,.14);
}

.tsh-share-button[aria-disabled="true"]{
  opacity:.34;
  cursor:not-allowed;
  pointer-events:none;
  transform:none!important;
}

.tsh-share-copy.is-copied{
  border-color:#176745!important;
  background:#f2faf5!important;
  color:#176745!important;
}

.tsh-share-status{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.tsh-share-preview-note{
  margin-left:4px;
  color:#8a8e8c;
  font-size:9.5px;
  line-height:1.3;
  white-space:nowrap;
}

@media(max-width:900px){
  .tsh-share-preview-note{
    display:none;
  }
}

@media print{
  .tsh-share-tools{display:none!important}
}


/* =========================================================
   V4 FULL-CONTENT LANGUAGE SAFEGUARDS
   ========================================================= */
html[lang^="zh"] body{
  font-family:Barlow,"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}
html[lang^="zh"] .tsh-title,
html[lang^="zh"] .tsh-editorial-copy h1,
html[lang^="zh"] .tsh-card h3,
html[lang^="zh"] .tsh-card h4{
  line-height:1.3;
  letter-spacing:0;
}
html[lang^="zh"] .tsh-prose,
html[lang^="zh"] .tsh-step p,
html[lang^="zh"] .tsh-ingredient-main{
  line-height:1.8;
  word-break:normal;
  overflow-wrap:anywhere;
}

html[lang^="de"] .tsh-title,
html[lang^="de"] .tsh-editorial-copy h1,
html[lang^="de"] .tsh-card h3,
html[lang^="de"] .tsh-card h4,
html[lang^="de"] .tsh-glance-cell strong,
html[lang^="de"] .tsh-practical-card{
  overflow-wrap:anywhere;
  hyphens:auto;
}

html[dir="rtl"] body{
  direction:rtl;
  font-family:Barlow,"Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}
html[dir="rtl"] .tsh-editorial-copy,
html[dir="rtl"] .tsh-title-wrap,
html[dir="rtl"] .tsh-card,
html[dir="rtl"] .tsh-glance,
html[dir="rtl"] .tsh-recipe{
  text-align:right;
}
html[dir="rtl"] .tsh-byline-row,
html[dir="rtl"] .tsh-author-block,
html[dir="rtl"] .tsh-share-tools,
html[dir="rtl"] .tsh-stage-head,
html[dir="rtl"] .tsh-key-top,
html[dir="rtl"] .tsh-step,
html[dir="rtl"] .tsh-quick-nav{
  direction:rtl;
}
html[dir="rtl"] .tsh-glance-cell + .tsh-glance-cell{
  border-left:0;
  border-right:1px solid #ebe5dc;
}
html[dir="rtl"] .tsh-glance-facts>div + div{
  border-left:0;
  border-right:1px solid #e3ddd4;
}
html[dir="rtl"] .tsh-ingredient-spec-row{
  direction:rtl;
}
html[dir="rtl"] .tsh-ingredient-spec-row dt,
html[dir="rtl"] .tsh-ingredient-spec-row dd{
  text-align:right;
}
html[dir="rtl"] .tsh-share-preview-note{
  margin-left:0;
  margin-right:4px;
}
html[dir="rtl"] .tsh-title,
html[dir="rtl"] .tsh-editorial-copy h1,
html[dir="rtl"] .tsh-card h3,
html[dir="rtl"] .tsh-card h4{
  line-height:1.42;
}
@media(max-width:900px){
  html[dir="rtl"] .tsh-glance-cell + .tsh-glance-cell,
  html[dir="rtl"] .tsh-glance-facts>div + div{
    border-right:0;
  }
}

.tsh-nutrition[class*='is-count-9'],.tsh-nutrition[class*='is-count-10'],.tsh-nutrition[class*='is-count-11'],.tsh-nutrition[class*='is-count-12']{grid-template-columns:repeat(4,minmax(0,1fr))!important}


/* Astro v1.1 localization + count hardening */
.tsh-recipe .tsh-quick-nav-title{
  display:block;padding:3px 8px 8px;color:var(--tsh-muted);font-size:9.5px;font-weight:830;
  letter-spacing:.135em;line-height:1.35;text-transform:uppercase
}
.tsh-nutrition.is-count-9{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){.tsh-nutrition.is-count-9{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.tsh-nutrition.is-count-9{grid-template-columns:1fr!important}}


/* =========================================================
   ASTRO v1.3 — LEGACY WPZOOM PRESENTATION NORMALIZATION
   Content is preserved. This layer only makes variable legacy
   structures use one deterministic visual grammar.
   ========================================================= */

/* Overview: paragraph-count differences should not create a visibly
   lopsided editorial spread. The component now balances by character count. */
.tsh-recipe--presentation-normalized .tsh-copy-grid--balanced{
  align-items:start;
}
.tsh-recipe--presentation-normalized .tsh-copy-grid--balanced > .tsh-prose{
  min-width:0;
}

/* Ingredients — locked universal grid.
   Every legacy recipe uses the same amount | ingredient | note alignment.
   If the source does not expose a separable amount, the amount cell stays
   empty; the ingredient does NOT jump left and no decorative bullet is added. */
.tsh-recipe--presentation-normalized .tsh-ingredient-spec--normalized{
  overflow:hidden;
  border:1px solid var(--tsh-line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--tsh-shadow-sm);
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec--normalized .tsh-ingredient-spec-group{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec--normalized .tsh-ingredient-spec-group + .tsh-ingredient-spec-group{
  border-top:1px solid var(--tsh-line)!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec--normalized .tsh-ingredient-spec-group h4{
  margin:0!important;
  padding:14px var(--tsh-ingredient-x-padding)!important;
  border-bottom:1px solid var(--tsh-line);
  background:linear-gradient(135deg,#f7faf8,#fff);
  font-size:13px!important;
  letter-spacing:.01em!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row,
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row.is-no-amount{
  grid-template-columns:var(--tsh-ingredient-amount-column) minmax(0,1fr)!important;
  column-gap:var(--tsh-ingredient-column-gap)!important;
  min-height:54px;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row .tsh-ingredient-empty-amount{
  display:block!important;
  min-height:1px;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row.is-no-amount dd{
  grid-column:auto!important;
  padding-inline-start:0!important;
  position:static!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row.is-no-amount dd::before{
  content:none!important;
  display:none!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row dd{
  grid-template-columns:minmax(0,1fr) var(--tsh-ingredient-note-column)!important;
  gap:28px!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row dd:not(:has(small)){
  grid-template-columns:1fr!important;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-spec-row small{
  padding-inline-start:20px!important;
  border-inline-start:1px solid var(--tsh-line)!important;
  border-left:0;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-note-strip--normalized{
  margin-top:16px;
  overflow:hidden;
  border:1px solid var(--tsh-line);
  border-radius:15px;
  background:#fbfaf7;
}
.tsh-recipe--presentation-normalized .tsh-ingredient-note-strip--normalized aside{
  min-height:0!important;
}

/* Practical: WPZOOM recipes may contain 4, 5, 6 or 7 legacy tip cards.
   Use the same two-column rhythm instead of changing desktop grammar by count. */
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch;
}
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized .tsh-practical-card{
  height:100%;
}
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized.is-count-1{
  grid-template-columns:1fr!important;
}
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized.is-count-3 > :last-child,
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized.is-count-5 > :last-child,
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized.is-count-7 > :last-child,
.tsh-recipe--presentation-normalized .tsh-practical-grid--normalized.is-count-9 > :last-child{
  grid-column:1/-1;
}

/* FAQ uses the same 2-column grammar for any multi-question legacy recipe. */
.tsh-recipe--presentation-normalized .tsh-faq-grid--normalized{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.tsh-recipe--presentation-normalized .tsh-faq-grid--normalized.is-count-1{
  grid-template-columns:1fr!important;
}
.tsh-recipe--presentation-normalized .tsh-faq-grid--normalized.is-count-3 > :last-child,
.tsh-recipe--presentation-normalized .tsh-faq-grid--normalized.is-count-5 > :last-child{
  grid-column:1/-1;
}

/* Nutrition: balanced rows independent of source-era table shape.
   12 virtual columns let 4–9 values form balanced rows without orphan cells. */
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized > div{
  grid-column:span 3;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-4 > div{
  grid-column:span 3;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-5 > :nth-child(-n+3){
  grid-column:span 4;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-5 > :nth-child(n+4){
  grid-column:span 6;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-6 > div{
  grid-column:span 4;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-7 > :nth-child(-n+4){
  grid-column:span 3!important;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-7 > :nth-child(n+5){
  grid-column:span 4!important;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-8 > div{
  grid-column:span 3;
}
.tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-9 > div{
  grid-column:span 4!important;
}

/* Method remains one visual structure even when source has 3 or 13 steps.
   Keep width/spacing stable and let content length, not WPZOOM markup, vary. */
.tsh-recipe--presentation-normalized .tsh-stage-card{
  background:#fff;
}
.tsh-recipe--presentation-normalized .tsh-stage-card:only-child .tsh-stage-head{
  background:linear-gradient(135deg,#f2f6f3,#fff 86%);
}

/* Tablet/mobile normalization. */
@media(max-width:900px){
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row,
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row.is-no-amount{
    grid-template-columns:128px minmax(0,1fr)!important;
  }
  .tsh-recipe--presentation-normalized .tsh-practical-grid--normalized,
  .tsh-recipe--presentation-normalized .tsh-faq-grid--normalized{
    grid-template-columns:1fr!important;
  }
  .tsh-recipe--presentation-normalized .tsh-practical-grid--normalized > *,
  .tsh-recipe--presentation-normalized .tsh-faq-grid--normalized > *{
    grid-column:auto!important;
  }
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized > div{
    grid-column:auto!important;
  }
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-5 > :last-child,
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-7 > :last-child,
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized.is-count-9 > :last-child{
    grid-column:1/-1!important;
  }
}
@media(max-width:620px){
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row,
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row.is-no-amount{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row dd{
    grid-template-columns:1fr!important;
  }
  .tsh-recipe--presentation-normalized .tsh-ingredient-spec-row small{
    margin-top:7px!important;
    padding-inline-start:0!important;
    padding-top:7px!important;
    border-inline-start:0!important;
    border-top:1px solid var(--tsh-line)!important;
  }
}
@media(max-width:430px){
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized{
    grid-template-columns:1fr!important;
  }
  .tsh-recipe--presentation-normalized .tsh-nutrition--normalized > div{
    grid-column:auto!important;
  }
}

/* GLOBAL INGREDIENT SPACING TOKEN — edit one value to update every recipe. */
@media(max-width:620px){
  .tsh-recipe{
    --tsh-ingredient-x-padding:16px;
  }
}


/* V1.11 — functional breadcrumb navigation */
.tsh-hero-breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin:0;
  padding:0;
  list-style:none;
}
.tsh-hero-breadcrumbs li{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.tsh-hero-breadcrumbs a{
  color:inherit;
  text-decoration:none;
  text-underline-offset:2px;
}
.tsh-hero-breadcrumbs a:hover{
  text-decoration:underline;
}
.tsh-hero-breadcrumbs a:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:2px;
}
.tsh-hero-breadcrumbs .tsh-breadcrumb-separator,
.tsh-hero-breadcrumbs .tsh-breadcrumb-current{
  color:#999d9a;
}

/* ================================================================
   V1.31 — RECIPE READING FLOW
   The floating "On this page" rail was intentionally removed.
   Recipe modules now sit on a calm, centered editorial column.
   ================================================================ */
.tsh-recipe .tsh-recipe-body-shell{
  display:block!important;
  width:min(100%,1040px)!important;
  margin-inline:auto!important;
}
.tsh-recipe .tsh-content-stack{
  width:100%!important;
  max-width:1040px!important;
  margin-inline:auto!important;
}
.tsh-recipe .tsh-quick-nav{display:none!important;}


/* V1.34 SR/mobile parity: key-point cards must stack on tablet/mobile.
   Keep desktop multi-column layout, but prevent later count-specific rules from forcing columns. */
@media(max-width:900px){
  .tsh-recipe .tsh-key-grid.is-count-2,
  .tsh-recipe .tsh-key-grid.is-count-3,
  .tsh-recipe .tsh-key-grid.is-count-4,
  .tsh-recipe .tsh-key-grid--2,
  .tsh-recipe .tsh-key-grid--3,
  .tsh-recipe .tsh-key-grid--4,
  .tsh-recipe .tsh-key-grid--5{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
  }
}
