.editorial-page { --editorial-cream: #f6f1e8; --editorial-edge: clamp(20px, 6vw, 105px); max-width: 1640px; margin-inline: auto; }
.editorial-page h1, .editorial-page h2 { text-transform: none; letter-spacing: -.046em; line-height: 1; text-wrap: balance; }
.editorial-page h1 { font-size: clamp(48px, 6.8vw, 112px); }
.editorial-page h2 { font-size: clamp(32px, 4.4vw, 72px); }
.editorial-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--editorial-cream); }
.editorial-copy { padding: clamp(36px, 7vw, 116px) clamp(22px, 4vw, 72px) clamp(40px, 7vw, 116px) var(--editorial-edge); align-self: center; }
.editorial-kicker { color: var(--dark-sage); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; margin-bottom: 17px; }
.editorial-copy h1 + p, .editorial-feature-copy h2 + p { margin: 20px 0; font-size: clamp(16px, 1.45vw, 20px); max-width: 43ch; }
.editorial-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.editorial-actions > a:not(.button), .editorial-note a { color: var(--dark-sage); font-weight: 800; }
.editorial-hero figure { min-height: 100%; }
.editorial-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.editorial-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(22px, 6vw, 104px); padding: clamp(44px, 7vw, 96px) var(--editorial-edge); }
.editorial-feature img { aspect-ratio: 4 / 3; object-fit: cover; }
.editorial-feature-copy p + p { margin-bottom: 20px; max-width: 48ch; }
.editorial-feature-reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); background: var(--editorial-cream); }
.editorial-feature-reverse figure { grid-column: 2; grid-row: 1; }
.editorial-feature-reverse .editorial-feature-copy { grid-column: 1; grid-row: 1; }
.editorial-note { padding: 24px var(--editorial-edge); border-top: 1px solid var(--rule); }
.editorial-note p + a { display: inline-block; margin-top: 8px; }
@media (max-width: 760px) {
  .editorial-hero, .editorial-feature, .editorial-feature-reverse { grid-template-columns: 1fr; }
  .editorial-feature-reverse figure, .editorial-feature-reverse .editorial-feature-copy { grid-area: auto; }
  .editorial-hero figure { min-height: 0; }
  .editorial-hero img { aspect-ratio: 5 / 4; }
}

.not-found-kitchen { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(160px,.6fr); align-items: center; gap: 28px; min-height: 65svh; padding: clamp(36px, 8vw, 110px) var(--edge); background: #f6f1e8; }
.not-found-copy { max-width: 800px; }
.not-found-greek { font-size: 21px; color: var(--dark-sage); margin-bottom: 12px; }
.not-found-copy h1 { font-size: clamp(44px, 7vw, 107px); line-height: .97; letter-spacing: -.045em; text-transform: none; }
.not-found-copy h1 + p { max-width: 45ch; margin: 19px 0 24px; }
.not-found-whisk { display: grid; place-items: center; min-height: 220px; }
.not-found-whisk span { display: block; width: 125px; height: 232px; overflow: hidden; transform-origin: 54% 83%; animation: whisking 2.2s ease-in-out infinite; }
.not-found-whisk img { width: 475.6px; max-width: none; height: 232px; }
@keyframes whisking {
  0%, 100% { transform: rotate(-13deg) translateX(-8px); }
  50% { transform: rotate(19deg) translateX(8px); }
}
@media (max-width: 650px) {
  .not-found-kitchen { grid-template-columns: 1fr; }
  .not-found-whisk { min-height: 140px; }
  .not-found-whisk span { width: 82px; height: 150px; }
  .not-found-whisk img { width: 307.5px; height: 150px; }
}
@media (prefers-reduced-motion: reduce) { .not-found-whisk span { animation: none; } }

.not-found-kitchen { grid-template-columns: minmax(0,1.2fr) minmax(240px,.8fr); }
.nonna-pick { justify-self: center; width: min(100%, 360px); padding: 17px; border: 1px solid #b8b09f; background: #fffdf7; box-shadow: 0 10px 0 #e5dfd0; }
.nonna-pick-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; }
.nonna-pick h2 { font-size: clamp(18px, 2vw, 27px); color: var(--dark-sage); line-height: 1.1; text-transform: none; }
.nonna-treat-link { display: block; color: var(--dark-sage); font-size: clamp(17px, 1.8vw, 22px); font-weight: 800; }
.nonna-treat-link img { margin: 3px 0 10px; aspect-ratio: 1.37; object-fit: cover; }
.nonna-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 650px) { .not-found-kitchen { grid-template-columns: 1fr; } }

.not-found-kitchen { background: #f4eddd; }
.not-found-greek { color: #274b59; }
.nonna-pick { background: #fff9ed; border-color: #98a3a0; padding: 18px; }
.nonna-counter {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 223px;
  margin: 9px 0 12px;
  padding: 12px;
  background-color: #f8f2e3;
  background-image: repeating-linear-gradient(0deg, #31576420 0 2px, transparent 2px 25px), repeating-linear-gradient(90deg, #31576420 0 2px, transparent 2px 25px);
  overflow: hidden;
}
.nonna-mixing { position: relative; width: 182px; height: 160px; }
.nonna-bowl::before, .nonna-bowl::after {
  content: '';
  position: absolute;
  width: 170px;
  left: 6px;
}
.nonna-bowl::before {
  z-index: 1;
  top: 63px;
  height: 28px;
  border: 2px solid #284451;
  border-radius: 50%;
  background: #e9cd9b;
  box-shadow: inset 0 4px #b59973;
}
.nonna-bowl::after {
  z-index: 3;
  top: 77px;
  height: 68px;
  border: 2px solid #284451;
  border-radius: 0 0 48% 48% / 0 0 92% 92%;
  background: #345667;
  box-shadow: inset 0 -11px #274450;
  mask-image: radial-gradient(ellipse 85px 14px at 50% 0, transparent 79%, #000 84%);
}
.nonna-whisk { position: absolute; z-index: 2; width: 104px; height: 104px; top: -4px; left: 39px; transform-origin: 50% 88%; transform: rotate(20deg); }
.nonna-whisk img { display: block; width: 100%; height: 100%; animation: none; transform: rotate(180deg); }
.nonna-pick.is-stirring .nonna-whisk { animation: stir-counter .42s ease-in-out 2; }
.nonna-pick.has-treat .nonna-mixing { display: none; }
.nonna-treat-link { width: 100%; background: #fff9ed; padding: 6px; }
.nonna-treat-link img { height: 160px; margin: 0 0 5px; }
.nonna-pick.has-treat .nonna-treat-link { animation: reveal-treat .28s ease-out both; }
.nonna-surprise { width: 100%; }
.nonna-surprise[aria-disabled="true"] { cursor: wait; }
@keyframes stir-counter {
  0%, 100% { transform: translateX(0) rotate(20deg); }
  33% { transform: translate(-23px, 7px) rotate(-24deg); }
  70% { transform: translate(20px, 4px) rotate(34deg); }
}
@keyframes reveal-treat { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .nonna-pick.is-stirring .nonna-whisk, .nonna-pick.has-treat .nonna-treat-link { animation: none; }
}

.story-page .editorial-hero img { object-position: center 65%; }
.story-page .editorial-feature img { display: block; width: 100%; aspect-ratio: 16 / 9; }
