/* Complete menus borrow the journal canvas and approved recipe artwork. */
.complete-meal-page h1, .complete-meal-hub h1 { font-family: Georgia, serif; font-weight: 700; }
.complete-meal-page h2, .complete-meal-hub h2 { font-family: Georgia, serif; font-weight: 700; }
.complete-meal-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 46px; align-items: center; }
.complete-meal-hero .lead { margin-top: 20px; }
.complete-meal-hero figure { margin: 0; }
.complete-meal-hero img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.complete-meal-facts { display: grid; grid-template-columns: .9fr 1.4fr 1.1fr; gap: 26px; margin: 28px 0 0; padding-top: 24px; border-top: 1px solid var(--line); }
.complete-meal-facts div { min-width: 0; }
.complete-meal-facts dt { font-size: 13px; font-weight: 750; margin-bottom: 7px; }
.complete-meal-facts dd { margin: 0; font-size: 13px; color: var(--muted); }
.complete-menu-section, .complete-order-section, .complete-how-section { padding: 12px 0 38px; }
.complete-section-intro { max-width: 750px; margin: 17px 0 24px; color: var(--muted); }
.complete-dish-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin: 26px 0 30px; }
.complete-dish { display: block; color: inherit; text-decoration: none; }
.complete-dish img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.complete-dish > span { display: block; margin-top: 12px; }
.complete-dish strong { display: block; font: 700 25px/1.2 Georgia, serif; letter-spacing: -.025em; }
.complete-dish small { display: block; margin-top: 9px; font-size: 12px; color: var(--muted); }
.complete-dish:hover strong, .complete-menu-card h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.complete-batch-note { font-size: 13px; color: var(--muted); max-width: 830px; margin: 17px 0; }
.complete-text-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; font-size: 14px; margin-right: 20px; text-underline-offset: 5px; }
.complete-equipment-section, .complete-shopping-section, .complete-save-section, .complete-small-table { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 60px; padding: 32px 0 38px; border-top: 1px solid var(--line); }
.complete-equipment-section h2, .complete-shopping-section h2, .complete-save-section h2, .complete-small-table h2 { margin-bottom: 18px; }
.complete-equipment-section p, .complete-shopping-section p, .complete-save-section p, .complete-small-table p { color: var(--muted); }
.complete-detail-list { margin: 0; }
.complete-detail-list > div { padding: 16px 0; border-bottom: 1px solid var(--line); }
.complete-detail-list > div:first-child { padding-top: 0; }
.complete-detail-list dt { font-weight: 750; font-size: 15px; margin-bottom: 6px; }
.complete-detail-list dd { color: var(--muted); font-size: 14px; margin: 0; }
.complete-gear-links { margin: 20px 0 0; padding-left: 18px; }
.complete-gear-links li { margin: 8px 0; font-size: 14px; }
.complete-order-section { border-top: 1px solid var(--line); padding-top: 32px; }
.complete-work-board { margin: 24px 0 30px; padding: 24px 28px; background: #EAE7DC; }
.complete-work-board figcaption { font: 700 24px/1.2 Georgia, serif; margin-bottom: 18px; }
.complete-work-lane { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 20px; border-top: 1px solid #C7C6BA; padding: 13px 0; align-items: center; }
.complete-work-lane strong, .complete-work-lane small { display: block; }
.complete-work-lane strong { font-size: 14px; }
.complete-work-lane small { color: var(--muted); font-size: 12px; margin-top: 3px; }
.complete-work-lane p { margin: 0; font-size: 13px; line-height: 1.7; padding: 12px 16px; border-left: 3px solid #69715E; background: #DBDFD1; }
.complete-work-cold p { border-color: #75816E; background: #DCE4D6; }
.complete-work-warm p { border-color: #8B7957; background: #E2D8C4; }
.complete-order-list { list-style: none; counter-reset: meal-step; padding: 0; margin: 0; max-width: 870px; }
.complete-order-list > li { counter-increment: meal-step; position: relative; padding: 0 0 25px 55px; }
.complete-order-list > li::before { content: counter(meal-step, decimal-leading-zero); position: absolute; inset: 2px auto auto 0; font: 700 23px/1.2 Georgia, serif; color: #717465; }
.complete-order-list h3 { font: 700 24px/1.2 Georgia, serif; letter-spacing: -.025em; margin-bottom: 10px; }
.complete-order-list p { color: var(--muted); margin: 0; }
.complete-safe-section { max-width: 870px; padding: 28px 0 34px; border-top: 1px solid var(--line); }
.complete-safe-section h2 { margin-bottom: 18px; }
.complete-safe-section p { color: var(--muted); }
.complete-source-note, .complete-print-note { font-size: 13px; }
.complete-recipe-index { border-left: 1px solid var(--line); padding-left: 30px; }
.complete-recipe-index h3 { font: 700 27px/1.2 Georgia, serif; margin-bottom: 15px; }
.complete-recipe-index ul { list-style: none; padding: 0; margin: 0 0 15px; }
.complete-recipe-index li { padding: 13px 0; border-bottom: 1px solid var(--line); }
.complete-recipe-index li:first-child { padding-top: 0; }
.complete-recipe-index a { font-size: 15px; font-weight: 650; }
.complete-recipe-index small { display: block; font-size: 12px; color: var(--muted); margin-top: 6px; }
.complete-menu-card { min-width: 0; }
.complete-card-image { display: block; }
.complete-card-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.complete-menu-card > div { padding-top: 22px; }
.complete-menu-card h2 { font-size: 32px; margin-bottom: 16px; }
.complete-menu-card h2 a { color: inherit; text-decoration: none; }
.complete-menu-card p { color: var(--muted); }
.complete-menu-card .eyebrow { color: var(--ink); }
.complete-card-fact { font-size: 12px; margin: 17px 0 5px; }
.complete-menu-featured { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 42px; align-items: center; margin: 30px 0 42px; }
.complete-menu-featured > div { padding: 0; }
.complete-menu-featured h2 { font-size: clamp(30px, 3.5vw, 42px); }
.complete-menu-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; }
.complete-small-table { align-items: center; }
.complete-small-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.complete-how-section { border-top: 1px solid var(--line); padding-top: 30px; }
.complete-how-section ol { max-width: 750px; margin: 20px 0 24px; padding-left: 24px; }
.complete-how-section li { margin-bottom: 12px; color: var(--muted); }
.complete-how-section strong { color: var(--ink); }
.complete-meal-page h2[id], .complete-meal-hub h2[id] { scroll-margin-top: 24px; }
@media (max-width: 900px) {
  .complete-meal-hero { gap: 28px; }
  .complete-meal-facts { gap: 20px; }
  .complete-equipment-section, .complete-shopping-section, .complete-save-section, .complete-small-table { gap: 32px; }
  .complete-dish strong { font-size: 22px; }
}
@media (max-width: 740px) {
  .complete-meal-hero, .complete-meal-facts, .complete-equipment-section, .complete-shopping-section, .complete-save-section, .complete-menu-featured, .complete-small-table { grid-template-columns: 1fr; gap: 24px; }
  .complete-meal-facts { gap: 18px; }
  .complete-meal-hero .lead { margin-top: 17px; }
  .complete-meal-hero figure { margin-top: 5px; }
  .complete-work-board { padding: 20px 16px; }
  .complete-work-lane { grid-template-columns: 115px minmax(0, 1fr); gap: 12px; }
  .complete-work-lane p { font-size: 12px; padding: 10px 11px; }
  .complete-recipe-index { border-left: 0; border-top: 1px solid var(--line); padding: 22px 0 0; }
  .complete-menu-featured { margin-bottom: 35px; }
  .complete-dish-grid { grid-template-columns: 1fr; gap: 27px; }
  .complete-dish { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 18px; }
  .complete-dish > span { margin: 0; }
  .complete-dish strong { font-size: 23px; }
  .complete-menu-pair { gap: 28px; }
}
@media (max-width: 520px) {
  .complete-menu-pair { grid-template-columns: 1fr; gap: 35px; }
  .complete-menu-card > div { padding-top: 17px; }
  .complete-dish strong { font-size: 21px; }
  .complete-order-list > li { padding-left: 39px; }
  .complete-work-lane { grid-template-columns: 1fr; gap: 7px; }
  .complete-work-lane > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
  .complete-order-list h3 { font-size: 23px; }
}
@media print {
  .complete-meal-hero { display: block; }
  .complete-meal-hero figure, .complete-meal-page .recipe-actions, .complete-meal-page .meal-preset-note, .complete-meal-page .meal-section-jumps, .complete-meal-page .complete-dish-grid, .complete-meal-page .complete-gear-links, .complete-meal-page .complete-text-link, .complete-meal-page .complete-print-note { display: none !important; }
  .complete-meal-page h1 { font-size: 25pt; }
  .complete-meal-page h2 { font-size: 16pt; }
  .complete-meal-page h3, .complete-order-list h3 { font-size: 13pt; }
  .complete-meal-page p, .complete-meal-page dd, .complete-meal-page li { font-size: 10pt; color: black; }
  .complete-meal-facts { gap: 18px; margin-top: 15px; padding-top: 15px; }
  .complete-meal-facts dd, .complete-meal-facts dt { font-size: 9pt; color: black; }
  .complete-menu-section, .complete-equipment-section, .complete-shopping-section, .complete-order-section, .complete-safe-section, .complete-save-section { padding: 16px 0; }
  .complete-equipment-section, .complete-shopping-section, .complete-save-section { display: block; }
  .complete-detail-list { margin-top: 12px; }
  .complete-detail-list > div { padding: 8px 0; break-inside: avoid; }
  .complete-work-board { background: white; padding: 12px 0; margin: 16px 0; break-inside: avoid; }
  .complete-work-board figcaption { font-size: 13pt; }
  .complete-work-lane { grid-template-columns: 135px 1fr; padding-block: 7px; }
  .complete-work-lane p { background: white; color: black; font-size: 9pt; padding: 7px 12px; }
  .complete-order-list > li { break-inside: avoid; padding: 0 0 12px 38px; }
  .complete-order-list > li::before { font-size: 15pt; }
  .complete-recipe-index { margin-top: 12px; padding: 12px 0 0; border-left: 0; border-top: 1px solid black; }
  .complete-recipe-index small { color: black; }
  .complete-recipe-index li { break-inside: avoid; padding: 8px 0; }
}
