/* The magazine direction layers on the preserved V1 foundations. */
.masthead { padding-top:3px; }
.masthead .logo { font-size:4.65rem; }
.masthead nav { width:100%; border-top:1px solid var(--line); margin-top:20px; padding:12px 0; gap:38px; }
.magazine-opening { padding-top:52px; }
.opening-copy { max-width:910px; margin:0 auto 35px; text-align:center; }
.opening-copy .recipe-category { justify-content:center; margin-bottom:22px; font-size:.875rem; }
.opening-copy h1 { font-size:clamp(3.25rem,5.35vw,4.65rem); line-height:1.01; letter-spacing:-.035em; margin-bottom:22px; }
.opening-copy .dek { max-width:570px; margin:0 auto; font-size:1.125rem; line-height:1.6; }
.opening-meta { margin-top:27px; display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:14px 30px; }
.recipe-byline { font-size:.875rem; }
.jump-link { font-size:.875rem; color:var(--red); text-decoration:none; white-space:nowrap; }
.jump-link:hover { text-decoration:underline; }
.jump-link span { margin-left:9px; }
.opening-photo img { aspect-ratio:16/10; object-fit:cover; object-position:50% 58%; }
.opening-photo figcaption { padding-top:12px; color:var(--muted); font-size:.8125rem; }
.author-space { display:grid; grid-template-columns:1fr 2fr; gap:70px; padding-top:58px; padding-bottom:62px; }
.author-space-label h2 { font-size:1.75rem; margin-bottom:9px; }
.author-space-copy { max-width:620px; }
.author-space-copy>p { font-family:var(--serif); font-size:1.25rem; line-height:1.6; color:var(--ink); margin-bottom:24px; }
.author-space-copy>p:last-child { margin-bottom:0; }
.recipe-overview-top { padding-top:28px; }
.recipe-overview h2 { font-size:2.75rem; }
.recipe-facts { padding-top:25px; padding-bottom:25px; }
.recipe-facts dt { font-size:.875rem; }
.recipe-facts dd { font-size:1rem; }
.recipe-content { grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:68px; padding-top:36px; padding-bottom:25px; }
.ingredient-panel { padding-right:28px; border-right:1px solid var(--line); }
.ingredient-panel .recipe-tools { gap:24px; margin:-8px 0 26px; }
.ingredient-top { gap:12px 8px; }
.ingredient-top h2 { font-size:1.8rem; }
.batch select { font-size:.875rem; padding:6px; }
.ingredient-hint,.checklist-status,.ingredient-detail,.batch-note,.checklist-save-note,.allergen { font-size:.875rem; }
.ingredient-heading { padding-top:22px; margin:23px 0 8px; border-top:1px solid var(--line); }
.ingredient-heading:first-of-type { border-top:0; padding-top:0; }
.ingredients li { border:0; }
.ingredients label { padding:8px 0; }
.ingredient-panel .allergen { margin-bottom:0; }
.ingredient-portions { display:grid; gap:13px; margin:13px 0; }
.ingredient-portion { display:grid; gap:2px; }
.ingredient-portion>b { font-size:.875rem; font-weight:600; }
.ingredient-portion .portion-note { font-size:.875rem; color:var(--muted); }
.method>h2 { font-size:2rem; margin:0 0 27px; }
.method-sequence { display:grid; grid-template-columns:minmax(0,1fr); }
.method-sequence>.step { grid-column:1/-1; }
.step { min-width:0; margin:0 0 34px; padding:27px 0 32px; border:0; border-top:1px solid var(--line); }
.step:first-child { border-top:0; padding-top:0; }
.step-heading { margin-bottom:14px; }
.step h3 { font-size:2rem; line-height:1.12; }
.step-number { font-size:.875rem; margin-bottom:9px; }
.step-copy>p { font-size:1rem; line-height:1.75; margin-bottom:16px; }
.step-copy .step-tip { font-size:.875rem; line-height:1.7; margin-bottom:0; padding-left:13px; }
.step-copy { max-width:620px; }
.step--preparation .step-images { max-width:520px; margin-top:24px; }
.step-images { margin-top:26px; }
.step-images--pair { gap:20px; }
.step-photo figcaption { line-height:1.5; }
.useful-tips { margin-bottom:38px; padding-top:28px; border-top:1px solid var(--ink); }
.useful-tips h2 { font-size:2rem; margin-bottom:20px; }
.useful-tips ul { max-width:650px; padding-left:23px; margin:0; }
.useful-tips li { padding-left:7px; margin-bottom:19px; font-size:1rem; line-height:1.8; }
.useful-tips li:last-child { margin-bottom:0; }
.useful-tips li::marker { color:var(--red); }
.recipe-notes { border-top:1px solid var(--ink); padding-top:28px; }
.recipe-notes h2 { font-size:2rem; }
footer.shell { flex-wrap:wrap; }
.footer-credit { display:flex; align-items:center; gap:12px; margin-left:auto; white-space:nowrap; }
.footer-credit img { width:44px; height:44px; object-fit:contain; flex-shrink:0; }
.engagement-inner { grid-template-columns:280px minmax(0,1fr); gap:68px; }
.engagement-intro>p { max-width:240px; }
.library-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; padding-top:44px; padding-bottom:40px; }
.library-heading h1 { font-size:4rem; margin:0; }
.library-heading p { justify-self:end; max-width:310px; }
.recipe-card { grid-template-columns:1.4fr 1fr; gap:48px; padding-bottom:42px; }
.card-content h2 { font-size:2.75rem; line-height:1.06; }
.card-image img { aspect-ratio:1.2; }
.kitchen-story { padding-top:12px; }
@media(max-width:1100px) {
  .recipe-content { grid-template-columns:minmax(0,255px) minmax(0,1fr); gap:36px; }
  .ingredient-panel { padding-right:23px; }
  .engagement-inner { grid-template-columns:255px minmax(0,1fr); gap:36px; }
  .author-space { gap:36px; }
}
@media(max-width:760px) {
  .masthead { padding-top:0; }
  .masthead .logo { font-size:3.55rem; }
  .masthead nav { margin-top:16px; gap:28px; }
  .magazine-opening { padding-top:33px; }
  .opening-copy { margin-bottom:29px; }
  .opening-copy .recipe-category { margin-bottom:19px; }
  .opening-copy h1 { font-size:clamp(2.5rem,10.7vw,4rem); line-height:1.04; margin-bottom:19px; }
  .opening-copy .dek { font-size:1rem; line-height:1.65; }
  .opening-meta { flex-direction:column; align-items:center; margin-top:21px; gap:14px; }
  .recipe-byline { font-size:.8125rem; }
  .opening-photo img { aspect-ratio:4/3; object-fit:contain; }
  .opening-photo figcaption { font-size:.8125rem; padding-top:10px; }
  .author-space { grid-template-columns:1fr; gap:22px; padding-top:36px; padding-bottom:40px; }
  .author-space-label h2 { font-size:1.8rem; margin-bottom:5px; }
  .recipe-overview h2 { font-size:2.3rem; }
  .recipe-facts dd { font-size:.9375rem; }
  .recipe-content { grid-template-columns:1fr; gap:32px; padding-top:27px; padding-bottom:10px; }
  .ingredient-panel { padding-right:0; padding-bottom:28px; border-right:0; }
  .ingredient-top h2 { font-size:1.9rem; }
  .ingredient-panel .recipe-tools { margin:-5px 0 21px; }
  .ingredients label { padding:10px 0; }
  .method-sequence { grid-template-columns:1fr; }
  .step { padding-top:0; padding-bottom:27px; margin-bottom:26px; border-top:0; border-bottom:1px solid var(--line); }
  .step--preparation .step-images { margin-top:22px; }
  .step h3 { font-size:1.8rem; }
  .step-images--pair { grid-template-columns:1fr; gap:24px; }
  .recipe-notes { border-top:0; padding-top:0; }
  .engagement-inner { grid-template-columns:1fr; gap:25px; }
  .engagement-intro>p { max-width:460px; }
  .library-heading { grid-template-columns:1fr; gap:14px; padding-top:29px; padding-bottom:30px; }
  .library-heading h1 { font-size:3.1rem; }
  .library-heading p { justify-self:start; max-width:none; }
  .recipe-card { grid-template-columns:1fr; gap:25px; }
  .card-content h2 { font-size:2.3rem; }
  .card-image img { aspect-ratio:4/3; }
}
@media print {
  .magazine-opening,.author-space { display:none !important; }
  .recipe-content,.method-sequence { display:block; }
  .ingredient-panel { border:0; padding-right:0; }
  .step { display:block; padding:0 0 12px; margin-bottom:15px; border:0; }
  .step-copy>p,.step-copy .step-tip { font-size:10pt; line-height:1.5; }
  .step h3 { font-size:14pt; }
  .ingredient-heading { padding-top:0; }
  .useful-tips { padding-top:12px; margin-bottom:15px; }
  .useful-tips h2 { font-size:18pt; margin-bottom:10px; }
  .useful-tips li { font-size:10pt; line-height:1.5; margin-bottom:10px; break-inside:avoid; }
  .useful-tips li::marker { color:black; }
  .ingredient-portion>b,.ingredient-portion .portion-note { font-size:9pt; }
}
