/* Typography contract: change these tokens, not individual section sizes.
   16px browser default: desktop 48 / 30 / 22 / 16 / 14;
   mobile 32 / 24 / 20 / 16 / 14. Rem preserves user text preferences. */
.ticket-edition {
  --type-display:3rem;
  --type-section:1.875rem;
  --type-place:1.375rem;
  --type-body:1rem;
  --type-note:.875rem;
  --leading-display:1.5;
  --leading-heading:1.6;
  --leading-body:1.9;
}
.ticket-edition main p {font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:.025em}
.ticket-edition main h2 {font-size:var(--type-section);line-height:var(--leading-heading);letter-spacing:.04em;font-weight:400}
.ticket-edition main h3 {font-size:var(--type-place);line-height:var(--leading-heading);letter-spacing:.025em;font-weight:400}
.ticket-edition main h4 {font-size:1.125rem;line-height:1.7;letter-spacing:.025em;font-weight:400}
.ticket-edition .postcard-hero {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1fr);
  align-items:center;column-gap:2rem;row-gap:2.5rem;margin-top:2.5rem;padding-bottom:1.5rem;
}
.ticket-edition .postcard-title {grid-column:2;grid-row:1;width:100%;margin:0}
.ticket-edition .postcard-title h1 {
  font-size:var(--type-display);line-height:var(--leading-display);letter-spacing:.06em;
  font-weight:400;margin:1rem 0 1.25rem;padding:0;
}
.ticket-edition .postcard-title .local-kicker {font-size:var(--type-note);line-height:1.6;letter-spacing:.1em!important}
.ticket-edition .postcard-title .local-subtitle {font-size:var(--type-body);line-height:1.75;margin:0}
.ticket-edition .postcard-intro {
  grid-column:1;grid-row:1;position:static;writing-mode:horizontal-tb;
  width:auto;max-width:17em;height:auto;margin:0;
  font-size:var(--type-body);line-height:2!important;letter-spacing:.025em!important;text-align:left;
}
.ticket-edition .postcard-inscription {
  grid-column:3;grid-row:1;position:static;display:block;margin:0;text-align:center;transform:none;
}
.ticket-edition .postcard-inscription p {font:400 1.125rem/1.85 var(--jp-serif);letter-spacing:.06em;transform:none}
.ticket-edition .postcard-inscription p>span {padding:0}
.ticket-edition .postcard-inscription small {font-size:var(--type-note);line-height:1.7;margin-top:.75rem;letter-spacing:.04em}
.ticket-edition .postcard-landscape {grid-column:1/-1;grid-row:2;position:static;margin:0;width:100%}
.ticket-edition .postcard-landscape figcaption,
.ticket-edition .pudding-photo figcaption {font-size:var(--type-note);line-height:1.7;letter-spacing:.015em}
.ticket-edition main .editorial-english {font:italic 1rem/1.6 var(--serif)!important;letter-spacing:.025em!important;margin-top:.5rem}
.ticket-edition .section-label>span {font-size:1rem;line-height:1.6}
.ticket-edition .section-label>small {font-size:var(--type-note);line-height:1.7;margin-top:.5rem}
.ticket-edition .food-introduction {padding-left:0}
.ticket-edition .food-lead {max-width:32em;margin-top:1.5rem}
.ticket-edition .food-lead br,.ticket-edition .dinner-introduction p br {display:none}
.ticket-edition .pudding-copy {grid-template-columns:1fr;gap:.75rem;margin:1.5rem 0 0}
.ticket-edition .sight-entry h3 {min-height:0}
.ticket-edition .place-details {font-size:var(--type-body);line-height:var(--leading-body)}
.ticket-edition .place-details small {font-size:var(--type-note)}
.ticket-edition main .place-area,.ticket-edition main .area-number,
.ticket-edition main .guide-small,.ticket-edition main .local-closure-note,
.ticket-edition main .local-update p {font-size:var(--type-note);line-height:1.8!important;letter-spacing:.025em!important}
.ticket-edition .place-links a,.ticket-edition .text-link,
.ticket-edition .place-facts summary,.ticket-edition .breadcrumbs,
.ticket-edition .local-index a {font-size:var(--type-note);line-height:1.8}
.ticket-edition .pudding-marginalia {font:400 .875rem/1.9 var(--jp-serif)!important;letter-spacing:.025em}
.ticket-edition .fish-note p {font:400 .875rem/1.9 var(--jp-serif);letter-spacing:.025em}
.ticket-edition .meal-note h2 {font-size:1.125rem;line-height:1.8;white-space:normal}
.ticket-edition .meal-note p:first-child {font-size:var(--type-body);line-height:var(--leading-body)}
.ticket-edition .meal-note p+p {font-size:var(--type-note);line-height:1.8}
.ticket-edition .travel-notes h3 {font-size:1.25rem;line-height:1.7}
.ticket-edition .local-return>p {font:italic 1rem/1.6 var(--serif)}
.ticket-edition .guide-heading h2,.ticket-edition .local-section-heading h2 {margin-top:.75rem;margin-bottom:1rem}
.ticket-edition .cafe-guide h2,.ticket-edition .rain-guide h2,.ticket-edition .lunch-heading h2 {margin-top:1rem;margin-bottom:1.5rem}
@media(max-width:950px) {
  .ticket-edition {--type-display:2.5rem;--type-section:1.625rem}
  .ticket-edition .postcard-hero {grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.75rem}
  .ticket-edition .postcard-title {grid-column:2;grid-row:1/3}
  .ticket-edition .postcard-inscription {grid-column:1;grid-row:2;text-align:left}
  .ticket-edition .postcard-inscription p br {display:none}
  .ticket-edition .postcard-landscape {grid-row:3}
  .ticket-edition .postcard-intro {max-width:none}
}
@media(max-width:650px) {
  .ticket-edition {--type-display:2rem;--type-section:1.5rem;--type-place:1.25rem}
  .ticket-edition .postcard-hero {grid-template-columns:minmax(0,1fr);row-gap:1.5rem;margin-top:2rem}
  .ticket-edition .postcard-title {grid-column:1;grid-row:1}
  .ticket-edition .postcard-intro {grid-column:1;grid-row:2;max-width:28em;margin-inline:auto;text-align:left}
  .ticket-edition .postcard-inscription {display:none}
  .ticket-edition .postcard-landscape {grid-column:1;grid-row:3}
  .ticket-edition .postcard-title h1 {margin:.75rem 0 1rem}
  .ticket-edition .food-lead {max-width:100%}
}
