/* Option A across public information and entry pages. Restaurant data stays in
   the compact shop/directory register; editorial photos belong to brand content. */
.editorial .ed-public-intro--photo { padding-block: clamp(8rem, 11vw, 10rem) 4rem; }
.ed-public-hero { display: grid; gap: 2.5rem; align-items: center; }
.ed-public-hero__copy { min-width: 0; }
.editorial .ed-public-hero .ed-section__title { font-size: clamp(40px, 4.8vw, 64px); line-height: 1.02; font-weight: 800; }
.editorial .ed-public-intro .ed-section__title em,
.editorial .ed-section__title .ed-type-accent {
  font-family: var(--ab-font-accent);
  font-style: italic;
  font-weight: 400;
  font-synthesis: none;
  font-size: 1.14em;
  line-height: 1.06;
  letter-spacing: -.025em;
  color: var(--ab-ink);
}
.editorial .ed-public-hero .ed-section__lead { margin-top: 1.5rem; font-size: 18px; line-height: 1.65; }
.ed-public-hero .ed-public-intro__detail { color: var(--ab-muted); font-size: 15px; line-height: 1.75; }
.ed-public-hero .ed-hero__actions { align-items: center; }
.ed-public-hero .ed-hero__actions .ed-public-text-link { margin: 0; }
.ed-public-hero .ed-public-text-link { min-height: 44px; padding-block: 10px; font-weight: 600; }
.editorial .ed-brand-photo__credit a { color: inherit; }
.ed-public-hero__photo { align-self: center; }
.ed-public-hero__photo .ed-brand-photo__image { aspect-ratio: 1 / 1; }
.ed-public-hero__photo--kitchen .ed-brand-photo__image { aspect-ratio: 4 / 5; max-height: 580px; object-position: 50% 45%; }
.ed-public-hero__photo--interior .ed-brand-photo__image { aspect-ratio: 4 / 3; }
.ed-public-hero__photo--table .ed-brand-photo__image { aspect-ratio: 5 / 4; }
.ed-public-feature { display: grid; gap: 2.5rem; align-items: center; }
.ed-public-feature__photo { min-width: 0; }
.ed-public-feature__photo .ed-brand-photo__image { aspect-ratio: 4 / 5; max-height: 520px; }
.ed-public-feature__photo--wide .ed-brand-photo__image { aspect-ratio: 3 / 2; }
.ed-public-feature__photo--craft .ed-brand-photo__image { object-position: 50% 60%; }
.ed-public-feature .ed-public-steps { list-style: none; counter-reset: pickup; padding: 0; }
.ed-public-feature .ed-public-steps li { counter-increment: pickup; padding: 1.25rem 0 0 3.25rem; border-top: 1px dashed var(--ab-control); position: relative; }
.ed-public-feature .ed-public-steps li + li { margin-top: 1.5rem; }
.ed-public-feature .ed-public-steps li::before { content: "0" counter(pickup); position: absolute; left: 0; top: 1.25rem; color: var(--ab-link); font-family: var(--ab-font-display); font-size: 24px; font-weight: 700; line-height: 1; }
.ed-public-feature .ed-public-steps p { margin-top: .6rem; }
.ed-public-page .ed-public-next { border-top: 1px dashed var(--ab-control); padding-top: 2.5rem; }
.ed-public-intro--compact + #preise { padding-top: 2rem; }

/* About: one existing art print, followed by the project’s own motivation. */
.ed-about__hero { display: grid; align-items: center; gap: 3rem; }
.ed-about__intro-copy { min-width: 0; }
.editorial .ed-about__intro .ed-section__title { font-size: clamp(42px, 5.1vw, 72px); line-height: 1.04; }
.ed-about__intro .ed-section__lead { max-width: 31rem; margin-top: 1.75rem; }
.ed-about__intro .ed-public-text-link { padding-block: .5rem; font-weight: 600; }
.ed-about__intro .ed-public-text-link span { margin-left: .5rem; }
.editorial .ed-about__art { width: 100%; max-width: 360px; margin-inline: auto; }
.ed-about__art-image { display: block; width: 100%; height: auto; border: 1px solid var(--ab-rule); }
.ed-about__art figcaption { margin-top: .75rem; color: var(--ab-muted); font-size: 11px; line-height: 1.5; }
.ed-about__story { display: grid; gap: 2rem; }
.editorial .ed-about__story .ed-section__title { font-size: clamp(32px, 3.3vw, 46px); line-height: 1.1; }
.ed-about__story-copy > p:first-child { margin-top: 0; }
.ed-about__story-copy { font-size: 17px; line-height: 1.8; }
.editorial .ed-about__conviction { margin-top: 2rem; font-family: var(--ed-font-display); font-size: clamp(26px, 3vw, 36px); font-weight: 650; letter-spacing: -.035em; line-height: 1.2; }
.ed-about__people { border-bottom: 1px solid var(--ab-rule); }
@media (min-width: 900px) {
  .ed-about__hero { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 5rem; }
  .ed-about__story { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 5rem; }
}
@media (max-width: 639px) {
  .editorial .ed-about__intro { padding-block: 7.5rem 3rem; }
  .ed-about__hero { gap: 2rem; }
  .ed-about__intro .ed-section__lead { font-size: 18px; margin-top: 1.25rem; }
  .ed-about__story-copy { font-size: 16px; }
}

/* Legal reading pages share the site navigation and typography without a photo. */
.ed-legal-page > .ed-section { padding-top: clamp(8rem, 11vw, 10rem); }
.ed-legal-paper { max-width: 52rem; padding: clamp(1.25rem, 4vw, 3rem); background: var(--ab-surface); border: 1px solid var(--ab-rule); border-radius: 8px; line-height: 1.75; }
.editorial .ed-legal-paper .ed-section__title { font-size: clamp(30px, 4.2vw, 52px); hyphens: auto; }
.ed-legal-paper h2 { line-height: 1.25; }
.ed-legal-paper section, .ed-legal-paper h2 { scroll-margin-top: 7rem; }
.ed-legal-paper nav[aria-label="Inhalt"] { padding: 1.25rem; background: var(--ab-paper); border-top: 1px dashed var(--ab-control); }
.ed-legal-paper nav[aria-label="Inhalt"] li + li { margin-top: .35rem; }

/* Auth: form comes first in reading/focus order, then the restaurant context. */
.entry--photography .entry-layout { display: grid; gap: 2rem; width: min(100%, 1140px); text-align: start; align-items: start; }
.entry-layout__form { min-width: 0; width: 100%; }
.entry--photography .entry-layout__form .panel { width: 100%; margin-inline: auto; }
.entry-brand { --ab-muted: var(--color-ink-dark); --ab-surface-muted: var(--color-surface); min-width: 0; border-top: 1px dashed var(--color-ink-lighter); padding-top: 1.5rem; }
.entry-brand__kicker { color: var(--color-link); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 1rem; }
.entry-brand h2 { font-family: var(--font-display); font-size: clamp(32px, 4vw, 54px); letter-spacing: -.035em; line-height: 1.06; margin: 0; }
.entry-brand h2 em { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; font-style: italic; font-synthesis: none; font-size: 1.2em; letter-spacing: -.02em; }
.entry-brand__copy > p:last-child { font-size: 15px; line-height: 1.6; color: var(--color-ink-dark); margin: 1rem 0 1.5rem; max-width: 28rem; }
.entry-brand__photo .ed-brand-photo__image { aspect-ratio: 16 / 7; object-position: 50% 43%; }
@media (min-width: 900px) {
  .ed-public-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); }
  .ed-public-intro--compact .ed-public-hero { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .ed-public-feature { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 7vw, 7rem); }
  .ed-public-feature--reverse { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .ed-public-feature--reverse .ed-public-feature__photo { grid-column: 1; grid-row: 1; }
  .ed-public-feature--reverse .ed-public-copy { grid-column: 2; grid-row: 1; }
  .entry--photography .entry-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); padding-top: 2rem; }
  .entry--photography .entry-layout__form { max-width: 30rem; margin-top: 2.5rem; }
  .entry-brand { border: 0; padding: 0; }
  .entry-brand__photo .ed-brand-photo__image { aspect-ratio: 4 / 3; }
}
@media (max-width: 899px) {
  .entry--photography .entry-layout { max-width: 30rem; }
  .ed-public-hero__photo { width: 100%; max-width: 42rem; }
  .ed-public-hero__photo--kitchen .ed-brand-photo__image { aspect-ratio: 4 / 3; max-height: 440px; }
  .ed-public-feature__photo { max-width: 36rem; width: 100%; }
  .ed-public-feature__photo .ed-brand-photo__image { aspect-ratio: 4 / 3; }
}
@media (max-width: 639px) {
  .editorial .ed-public-intro--photo { padding-block: 7.5rem 3rem; }
  .editorial .ed-public-hero .ed-section__title { font-size: 40px; }
  .editorial .ed-public-hero .ed-section__lead { font-size: 17px; }
  .ed-legal-paper { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-brand *, .ed-public-hero * { animation: none !important; transition: none !important; }
}


/* Outlined, overlapping letters give the oversized signature a cut-paper edge. */
.editorial .ed-footer { overflow: hidden; }
.editorial .ed-footer__inner { max-inline-size: calc(var(--ed-content-width) + 2 * var(--ed-gutter)); padding-block: 2rem 1.5rem; }
.ed-footer__flower { display: block; width: 40px; height: 40px; object-fit: contain; }
.ed-footer__signature-wrap {
  width: calc(100% - 2 * var(--ed-gutter));
  max-width: var(--ed-content-width);
  margin-inline: auto;
  padding-top: clamp(1rem, 3vw, 3rem);
  container-type: inline-size;
}
.editorial .ed-footer__signature {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  color: #F38D49;
  text-decoration: none;
  line-height: 1;
}
.ed-footer__wordmark {
  display: flex;
  font-family: var(--ed-font-display);
  font-size: min(calc((100vw - 2 * var(--ed-gutter)) * .234), calc(var(--ed-content-width) * .234));
  font-size: 23.4cqw;
  font-weight: 650;
  line-height: .84;
  letter-spacing: normal;
  /* Clear the font’s lower whitespace, then crop the ink slightly. */
  transform: translateY(.12em);
  white-space: nowrap;
}
.ed-footer__letter {
  /* Paint each letter over its neighbour; the dark stroke keeps the join legible. */
  position: relative;
  flex: none;
  -webkit-text-stroke: .012em var(--ed-surface-dark);
  paint-order: stroke fill;
}
.ed-footer__letter + .ed-footer__letter { margin-left: -.11em; }
.editorial .ed-footer__signature:focus-visible { outline-color: #FFB877; outline-offset: -4px; border-radius: 4px; }
@media (any-hover: hover) {
  .editorial .ed-footer__signature:hover { color: #FFB877; }
}
@media (max-width: 639px) {
  .editorial .ed-footer__inner { gap: 1.25rem; }
  .ed-footer__signature-wrap { padding-top: 1.5rem; }
}
