/* Section `dinner` (module story): sticky chapter text at y 72–190 on a halo. The painted scene is the show. */
@layer sections{
[data-section="dinner"]{min-height:calc(var(--vh-small) * 1.2);pointer-events:none}
[data-section="dinner"] .dinner-sticky{position:sticky;top:calc(72px + var(--safe-t));width:100%;display:flex;justify-content:center}
[data-section="dinner"] .dinner-block{position:relative;z-index:0;max-width:330px;padding:var(--sp-3) var(--sp-5) var(--sp-4);text-align:center;opacity:0;will-change:opacity}
[data-section="dinner"] .dinner-halo{position:absolute;z-index:-1;inset:-30px -44px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(246,239,230,.9),rgba(246,239,230,.72) 55%,rgba(246,239,230,0))}
[data-section="dinner"] .dinner-eyebrow{font-family:var(--font-label);font-weight:600;font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--c-silver-ink);line-height:1.5}
[data-section="dinner"] .dinner-line{margin-top:var(--sp-2);font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(20px,5.4vw,23px);line-height:1.28;color:var(--c-forest);text-wrap:balance}
[data-section="dinner"] .dinner-chip{display:inline-flex;align-items:center;margin-top:var(--sp-3);min-height:30px;padding:0 var(--sp-4);border-radius:var(--r-chip);
  background:rgba(255,253,249,.86);border:var(--hairline);font-size:var(--fs-small);color:var(--c-forest);font-weight:600}
[data-section="dinner"]:lang(ar) .dinner-line{font-style:normal;font-size:clamp(21px,5.6vw,24px);line-height:1.75}
[data-section="dinner"]:lang(ar) .dinner-eyebrow{font-size:14px;letter-spacing:0;text-transform:none}
[data-section="dinner"] .dinner-gem{display:inline-flex;vertical-align:-1px;margin:0 .55em}
[data-section="dinner"] .dinner-gem svg{width:13px;height:10px}
@media (max-height:700px){[data-section="dinner"] .dinner-sticky{top:calc(60px + var(--safe-t))}}

/* always at night (9 PM / after dinner): ivory ink on a soft deep-teal scrim from the very first frame.
   Static, not keyed to html[data-tod] and never transitioned, so no forest-ink frame can appear. */
[data-section="dinner"] .dinner-halo{inset:-34px -48px;background:radial-gradient(farthest-side,rgba(16,42,48,.5),rgba(16,42,48,.3) 60%,rgba(16,42,48,0))}
[data-section="dinner"] .dinner-eyebrow{color:var(--c-silver-200);text-shadow:0 1px 14px rgba(16,42,48,.6)}
[data-section="dinner"] .dinner-line{color:var(--c-ivory);text-shadow:0 1px 14px rgba(16,42,48,.6)}
}

/* the deep-teal scrim arrives with the night sky: after a dock jump the sky can still be dusk for a breath,
   and a teal oval on a pink sky reads as a smudge (the ivory ink keeps its own shadow meanwhile) */
[data-section="dinner"] .dinner-halo{transition:opacity .8s var(--ease-silk,ease)}
html:not([data-tod="twilight"]):not([data-tod="night"]) [data-section="dinner"] .dinner-halo{opacity:0}
