/* VIA Italian Table: Affissioni (the poster wall)
   Layout: full-bleed colour fields stacked like posters on a billposting wall;
   each field is one poster, pasted edge to edge with a seam between. */
@font-face { font-family: "Archivo"; src: url("fonts/archivo-var.woff2") format("woff2"), url("fonts/archivo-var.woff") format("woff"); font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Cinzel"; src: url("fonts/cinzel-var.woff2") format("woff2"), url("fonts/cinzel-var.woff") format("woff"); font-weight: 400 900; font-display: swap; }
:root {
  /* Poster stock */
  --mattone: #a8381f;        /* brick red: lead poster, primary action */
  --mattone-deep: #7c2715;
  --oliva: #4f5b23;          /* olive: menus, kitchen */
  --oliva-deep: #3a4419;
  --zafferano: #eaa42a;      /* saffron: dates, highlights, the sun */
  --zafferano-pale: #f6d58e;
  --prugna: #3e1a33;         /* Super Tuscan plum: wine, evenings, rooms */
  --prugna-soft: #5b2a4b;
  --inchiostro: #1c1512;     /* ink */
  --bianco: #f3efe7;         /* poster paper, for set text only */
  --muro: #d8cfc0;           /* plaster wall behind the posters */
  --muro-deep: #b9ad99;
  --oro: #d9a640;            /* incumbent gold, refresh option only */

  /* Tab shades: each poster colour pressed darker (oklab mix with black), for tear-off tabs */
  --mattone-tab: #802915;      --mattone-tab-hover: #621d0e;
  --mattone-deep-tab: #5e1b0d; --mattone-deep-tab-hover: #471308;
  --oliva-tab: #3b4418;        --oliva-tab-hover: #2b3310;
  --zafferano-tab: #cb8e23;    --zafferano-tab-hover: #b9811f;
  --prugna-tab: #2d1125;       --prugna-tab-hover: #210b1a;
  --inchiostro-tab: #130d0b;   --inchiostro-tab-hover: #0c0806;
  --bianco-tab: #bbb7b1;       --bianco-tab-hover: #918e89;

  --on-dark: #fbf6ee;
  --on-dark-soft: color-mix(in oklab, var(--on-dark) 88%, transparent);
  --on-light: var(--inchiostro);
  --on-light-soft: color-mix(in oklab, var(--inchiostro) 74%, var(--bianco));

  /* Type: one family across widths */
  --f-display: "Archivo", "Archivo Black", "Helvetica Neue", Arial, sans-serif;
  --f-text: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-mark-a: "Cinzel", "Trajan Pro", Georgia, serif; /* stand-in for the existing VIA mark */

  --t-poster: clamp(4.5rem, 3rem + 9vw, 6rem);     /* display ceiling 6rem */
  --t-h1: clamp(2.6rem, 1.8rem + 3.6vw, 4.5rem);
  --t-h2: clamp(2rem, 1.5rem + 2.2vw, 3.25rem);
  --t-h3: clamp(1.35rem, 1.15rem + .8vw, 1.75rem);
  --t-lead: clamp(1.1rem, 1rem + .4vw, 1.3rem);
  --t-page-title: clamp(2.2rem, 9.6vw, 6rem);              /* page and lead-poster titles; never splits a word at 320px */
  --t-poster-title: clamp(2rem, 1.4rem + 2.4vw, 3.4rem);   /* a poster on the wall */
  --t-poster-title-wide: clamp(2.6rem, 1.6rem + 3.4vw, 4.8rem); /* a wide (w-7 and up) poster */
  --t-poster-title-phone: clamp(1.9rem, 9.5vw, 2.6rem);    /* any poster title under 620px */
  --t-body: 1.0625rem;
  --t-small: .9rem;
  --t-micro: .78rem;

  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem;
  --s-6: 2rem; --s-7: 3rem; --s-8: 4.5rem; --s-9: 7rem;

  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
  --wrap: 82rem;
  --seam: 3px;
  --paste: 0 1px 0 rgba(0,0,0,.06), 0 10px 24px -14px rgba(28,21,18,.55);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5.5rem; }
body {
  margin: 0;
  background: var(--muro);
  color: var(--on-light);
  font-family: var(--f-text);
  font-size: var(--t-body);
  line-height: 1.55;
  font-variation-settings: "wdth" 100;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
::selection { background: var(--zafferano); color: var(--inchiostro); }
:focus-visible { outline: 3px solid var(--zafferano); outline-offset: 3px; border-radius: 2px; }
.field--zafferano :focus-visible, .field--bianco :focus-visible, .field--muro :focus-visible { outline-color: var(--prugna); }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .14em; }
h1, h2, h3, h4 { overflow-wrap: break-word; margin: 0; text-wrap: balance; line-height: 1.02; }
p { margin: 0; }
.tnum { font-variant-numeric: tabular-nums; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Skip link: hidden until it receives keyboard focus, then a paper tab over the masthead */
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus, .skip-link:focus-visible {
  position: fixed; z-index: 100; left: max(16px, env(safe-area-inset-left, 0px)); top: calc(env(safe-area-inset-top, 0px) + .75rem);
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: .6rem 1rem;
  background: var(--bianco); color: var(--inchiostro); font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  box-shadow: var(--paste); outline: 3px solid var(--mattone); outline-offset: 2px;
}

html { scrollbar-color: var(--mattone) var(--muro); }

/* ---------- Type voices ---------- */
.poster-type {
  hyphens: manual;
  font-family: var(--f-display);
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  letter-spacing: -.035em;
  line-height: .86;
  text-transform: uppercase;
}
.cond {
  font-weight: 700;
  font-stretch: 70%;
  font-variation-settings: "wdth" 70;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.h1 { font-size: var(--t-h1); font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; letter-spacing: -.03em; }
.h2 { font-size: var(--t-h2); font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; letter-spacing: -.03em; }
.h3 { font-size: var(--t-h3); font-weight: 800; letter-spacing: -.015em; line-height: 1.1; }
.lead { font-size: var(--t-lead); line-height: 1.5; max-width: 38ch; }
.measure { max-width: 66ch; }

/* ---------- Fields (each band is one poster) ---------- */
.field { position: relative; padding-block: var(--s-8); padding-left: var(--gutter); padding-right: var(--gutter-r); }
.field + .field { border-top: var(--seam) solid var(--muro); }
.field--mattone { background: var(--mattone); color: var(--on-dark); }
.field--oliva { background: var(--oliva); color: var(--on-dark); }
.field--prugna { background: var(--prugna); color: var(--on-dark); }
.field--inchiostro { background: var(--inchiostro); color: var(--on-dark); }
.field--zafferano { background: var(--zafferano); color: var(--inchiostro); }
.field--bianco { background: var(--bianco); color: var(--inchiostro); }
.field--muro { background: var(--muro); color: var(--inchiostro); }
.wrap { max-width: var(--wrap); margin-inline: auto; }
.stack { display: grid; gap: var(--s-4); }
.stack > *, .stack-lg > * { min-width: 0; }
.stack-lg { display: grid; gap: var(--s-6); }


/* ---------- Pitch bar ---------- */
.pitch {
  background: var(--inchiostro); color: var(--on-dark-soft);
  font-size: var(--t-micro); line-height: 1.3;
  padding-block: .1rem; padding-left: var(--gutter); padding-right: var(--gutter-r);
}
.pitch .wrap { display: flex; flex-wrap: wrap; gap: 0 1.25rem; align-items: center; justify-content: space-between; }
.pitch strong { color: var(--on-dark); font-weight: 700; }
.pitch a { color: var(--zafferano-pale); display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; }
.logo-pick { display: inline-flex; align-items: center; gap: .5rem; }
.logo-pick select {
  font: inherit; font-weight: 700; color: var(--inchiostro); background: var(--zafferano);
  border: 0; border-radius: 999px; padding: .35rem 1.9rem .35rem .8rem; min-height: 2.75rem; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--inchiostro) 50%), linear-gradient(135deg, var(--inchiostro) 50%, transparent 50%);
  background-position: calc(100% - 13px) 55%, calc(100% - 8px) 55%; background-size: 5px 5px; background-repeat: no-repeat;
}
.logo-pick select:focus-visible { outline: 3px solid var(--zafferano-pale); outline-offset: 2px; }

/* ---------- Switchable marks: size and colour by concept and context ---------- */
.site-mark { display: block; width: auto; }
.mega .site-mark { width: min(100%, 26rem); height: auto; }
html[data-logo="tondo"] .masthead .site-mark, html[data-logo="monogramma"] .masthead .site-mark,
html[data-logo="targa"] .masthead .site-mark, html[data-logo="biglietto"] .masthead .site-mark { height: 2.9rem; }
html[data-logo="tondo"] .mega .site-mark, html[data-logo="monogramma"] .mega .site-mark { width: min(70%, 15rem); }
html[data-logo="targa"] .mega .site-mark, html[data-logo="biglietto"] .mega .site-mark { width: min(100%, 22rem); }
html[data-logo="arco"] .mega .site-mark { width: min(100%, 24rem); }
/* Spiedo's disc reads in brick on light grounds, saffron on dark ones */
html[data-logo="spiedo"] { --m-accent: var(--mattone); }
html[data-logo="spiedo"] .field--mattone, html[data-logo="spiedo"] .field--prugna,
html[data-logo="spiedo"] .field--inchiostro, html[data-logo="spiedo"] .field--oliva, html[data-logo="spiedo"] .foot { --m-accent: var(--zafferano); }
/* Grounds that would vanish into a field of the same colour */
html[data-logo="tondo"] .field--mattone { --m-ground: var(--prugna); }
html[data-logo="targa"] .field--mattone { --m-frame: var(--zafferano); }
html[data-logo="biglietto"] .field--zafferano { --m-ticket: var(--bianco); }
html[data-logo="arco"] .field--zafferano { --m-accent: var(--mattone); }

/* ---------- Header ---------- */
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--bianco); }
.masthead {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20;
  background: var(--bianco); color: var(--inchiostro);
  border-bottom: var(--seam) solid var(--inchiostro);
  padding-left: var(--gutter); padding-right: var(--gutter-r);
}
.masthead .wrap { display: flex; align-items: center; gap: var(--s-5); min-height: 4.25rem; }
.brand-link { display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; min-height: 2.75rem; }
.nav { display: flex; gap: var(--s-5); align-items: center; }
.nav a {
  text-decoration: none; font-weight: 700; font-stretch: 80%; font-variation-settings: "wdth" 80;
  text-transform: uppercase; letter-spacing: .04em; font-size: var(--t-small); padding-block: .5rem;
  border-bottom: 3px solid transparent; min-height: 2.75rem; display: inline-flex; align-items: center;
}
.nav a:hover, .nav a[aria-current="page"] { border-bottom-color: var(--mattone); }
.masthead .btn { min-height: 2.75rem; }

/* Logos: A = existing gold mark (redrawn stand-in), B = new cut-paper wordmark */
.logo { display: none; }
html:not([data-logo="a"]) .logo--b { display: inline-flex; }
html[data-logo="a"] .logo--a { display: inline-flex; }
.logo--b { align-items: center; gap: .6rem; }
.logo--b svg { height: 2.1rem; width: auto; }
.logo--b .logo-sub { font-size: .72rem; line-height: 1.05; font-weight: 700; font-stretch: 75%; font-variation-settings: "wdth" 75; letter-spacing: .14em; text-transform: uppercase; }
.logo--a { flex-direction: column; align-items: center; background: var(--inchiostro); padding: .35rem .8rem .4rem; line-height: 1; }
.logo--a .a-via { font-family: var(--f-mark-a); font-weight: 700; font-size: 1.7rem; letter-spacing: .06em; color: var(--oro); }
.logo--a .a-sub { font-family: var(--f-text); font-size: .5rem; letter-spacing: .32em; color: var(--oro); text-transform: uppercase; margin-top: .15rem; }

/* ---------- Buttons ---------- */
.btn {
  --b-bg: var(--mattone); --b-fg: var(--on-dark);
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 3rem; padding: .7rem 1.25rem;
  background: var(--b-bg); color: var(--b-fg);
  font: inherit; font-weight: 800; font-stretch: 85%; font-variation-settings: "wdth" 85;
  text-transform: uppercase; letter-spacing: .05em; font-size: var(--t-small); line-height: 1.1;
  text-decoration: none; border: 0; border-radius: 0; cursor: pointer;
  box-shadow: var(--paste);
  transition: transform .25s var(--ease-out), background-color .2s, box-shadow .25s var(--ease-out);
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 16px 26px -14px rgba(28,21,18,.6); }
.btn:active { transform: translateY(0); }
.btn svg { width: 1.15em; height: 1.15em; flex: none; }
.btn--sun { --b-bg: var(--zafferano); --b-fg: var(--inchiostro); }
.btn--ink { --b-bg: var(--inchiostro); --b-fg: var(--on-dark); }
.btn--paper { --b-bg: var(--bianco); --b-fg: var(--inchiostro); }
.btn--plum { --b-bg: var(--prugna); --b-fg: var(--on-dark); }
.btn--ghost { --b-bg: transparent; box-shadow: inset 0 0 0 2px currentColor; color: inherit; }
.btn--ghost:hover { box-shadow: inset 0 0 0 3px currentColor; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; }

.link-arrow { display: inline-flex; gap: .4rem; align-items: center; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: var(--t-small); font-stretch: 85%; font-variation-settings: "wdth" 85; }
.link-arrow svg { width: 1em; height: 1em; transition: transform .25s var(--ease-out); }
.link-arrow:hover svg { transform: translateX(3px); }
.icon { width: 1.1em; height: 1.1em; flex: none; vertical-align: -.15em; }

/* ---------- Lead poster (home hero) ---------- */
.lead-poster { overflow: hidden; padding-block: var(--s-6) 0; }
.lead-copy { gap: var(--s-4) !important; }
.field--wall { padding-top: 0; }
.field--wall .wrap { position: relative; z-index: 3; margin-top: -2.25rem; }
.field--wall .wall-head {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem; width: fit-content; max-width: 100%;
  margin: 0 0 var(--s-5); padding: .85rem 1.25rem; background: var(--bianco); box-shadow: var(--paste); transform: rotate(-.6deg);
}
.field--wall .wall-head h2 { font-size: var(--t-h3); }
.field--wall .wall-head p { font-size: var(--t-small); max-width: 52ch; }
.lead-poster + .field--wall { border-top: 0; }
.lead-grid {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: var(--s-6); align-items: end;
}
.lead-copy { display: grid; gap: var(--s-5); padding-bottom: var(--s-7); position: relative; z-index: 2; min-width: 0; }
.mega {
  font-size: clamp(6rem, 3rem + 14vw, 15rem); /* the wordmark itself, not running display type */
  line-height: .78; display: block;
}
.mega svg { width: min(100%, 26rem); height: auto; display: block; }
.status {
  display: inline-flex; align-items: center; gap: .55rem; width: fit-content;
  background: rgba(28,21,18,.22); padding: .4rem .75rem .4rem .6rem;
  font-weight: 700; font-size: var(--t-small);
}
.status .dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--zafferano); box-shadow: 0 0 0 3px rgba(234,164,42,.28); }
.status[data-open="false"] .dot { background: var(--bianco); box-shadow: none; opacity: .7; }

/* Booking strip: the working action inside the poster */
.book-strip {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 2px;
  background: var(--mattone-deep); padding: 2px; max-width: 40rem;
  box-shadow: 0 18px 40px -22px rgba(0,0,0,.6);
}
.book-strip label { display: grid; gap: 0; background: var(--bianco); color: var(--inchiostro); padding: .45rem .75rem .15rem; min-width: 0; }
.book-strip .lbl { font-size: var(--t-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--on-light-soft); }
.book-strip select, .book-strip input {
  font: inherit; font-weight: 700; font-size: var(--t-body); color: var(--inchiostro);
  background: transparent; border: 0; padding: 0; min-height: 2.75rem; width: 100%; min-width: 0;
  accent-color: var(--mattone);
}
.book-strip select:focus-visible, .book-strip input:focus-visible { outline: 2px solid var(--mattone); outline-offset: 2px; }
.book-strip .btn { min-height: 100%; box-shadow: none; --b-bg: var(--zafferano); --b-fg: var(--inchiostro); padding-inline: 1.4rem; }
.book-note { font-size: var(--t-small); color: var(--on-dark-soft); }
.book-note a { color: var(--on-dark); }
.doors { display: flex; flex-wrap: wrap; gap: var(--s-3); }

.lead-art { position: relative; align-self: stretch; min-height: 26rem; min-width: 0; }
.sun { position: absolute; border-radius: 50%; background: var(--zafferano); }
.lead-art .sun { width: 118%; aspect-ratio: 1; right: -38%; bottom: -58%; }
.lead-art .plate { position: absolute; width: 46%; aspect-ratio: 1; border-radius: 50%; background: var(--prugna); left: 4%; top: 6%; }
.lead-art .stripe { position: absolute; height: 14px; width: 62%; background: var(--inchiostro); left: 16%; top: 44%; transform: rotate(-24deg); transform-origin: left center; } /* the spit */
.lead-art .photo-slot { position: absolute; right: 4%; top: 8%; width: 62%; aspect-ratio: 4 / 5; transform: rotate(2.2deg); z-index: 1; }

/* ---------- Photo slots: labeled frames for VIA's own photography ---------- */
.photo-slot {
  position: relative; display: grid; place-items: end start; overflow: hidden;
  background:
    repeating-linear-gradient(135deg, rgba(28,21,18,.06) 0 2px, transparent 2px 14px),
    var(--slot-bg, var(--mattone-deep));
  color: var(--slot-fg, var(--on-dark));
  box-shadow: var(--paste);
  max-width: 100%;
}
.photo-slot::after { content: ""; position: absolute; inset: 10px; border: 1.5px dashed currentColor; opacity: .45; pointer-events: none; }
.photo-slot figcaption { position: relative; z-index: 1; display: grid; gap: .2rem; padding: 1rem 1.1rem; font-size: var(--t-small); line-height: 1.3; }
.photo-slot figcaption b { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: var(--t-micro); }
.photo-slot .cam { position: absolute; top: 1.1rem; right: 1.1rem; width: 1.6rem; height: 1.6rem; opacity: .75; }
.slot--paper { --slot-bg: #e4ddd0; --slot-fg: var(--inchiostro); }
.slot--plum { --slot-bg: var(--prugna-soft); }
.slot--olive { --slot-bg: var(--oliva-deep); }
.slot--ink { --slot-bg: #2c231e; }

/* ---------- The wall ---------- */
.wall-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-6); }
.wall-head p { max-width: 44ch; color: var(--on-light-soft); }
.wall {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense; gap: var(--s-5) var(--s-4); align-items: start;
}
.poster {
  --p-bg: var(--mattone); --p-fg: var(--on-dark); --p-soft: var(--on-dark-soft);
  --p-tab: var(--mattone-tab); --p-tab-hover: var(--mattone-tab-hover);
  position: relative; display: flex; flex-direction: column; gap: var(--s-4);
  background: var(--p-bg); color: var(--p-fg);
  padding: var(--s-5) var(--s-5) 0; min-width: 0;
  box-shadow: var(--paste);
  transform: rotate(var(--tilt, 0deg));
  overflow: hidden;
}
.poster > * { position: relative; z-index: 1; }
.poster .poster-dates { font-size: var(--t-small); color: var(--p-soft); display: flex; flex-wrap: wrap; gap: .25rem .75rem; }
.poster .poster-dates b { color: var(--p-fg); font-weight: 800; }
.poster h3 { font-size: var(--t-poster-title); }
.poster--wide h3 { font-size: var(--t-poster-title-wide); }
.poster p { color: var(--p-soft); max-width: 46ch; }
.poster .items { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.poster .items li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid color-mix(in oklab, var(--p-fg) 22%, transparent); padding-bottom: .35rem; }
.poster .items .price { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poster-art { position: relative; height: clamp(4.5rem, 3rem + 5vw, 7.5rem); margin: calc(var(--s-5) * -1) calc(var(--s-5) * -1) 0; overflow: hidden; z-index: 0; }
.w-7 .poster-art, .w-6 .poster-art { height: clamp(5rem, 3rem + 7vw, 9.5rem); }
.poster .shape { position: absolute; pointer-events: none; }

/* Cut-paper compositions for a poster's art band. Each is a class on .poster-art;
   tune with custom properties instead of inline geometry. */
.poster-art > [class^="s-"] { position: absolute; pointer-events: none; }
/* Sun and spit: a half-sun rising from the band's floor with the spit across it (PigFest, suckling pig) */
.art-sunspit { --sun: var(--mattone); --sun-w: 20rem; --sun-x: 8%; --spit: var(--inchiostro); --spit-y: 4rem; --spit-tilt: 3deg; --plate: var(--prugna); }
.art-sunspit .s-sun { width: var(--sun-w); height: calc(var(--sun-w) / 2); border-radius: var(--sun-w) var(--sun-w) 0 0; background: var(--sun); right: var(--sun-x); bottom: 0; }
.art-sunspit .s-plate { width: calc(var(--sun-w) / 4); aspect-ratio: 1; border-radius: 50%; background: var(--plate); right: calc(var(--sun-x) + var(--sun-w) * 1.05); bottom: 1.2rem; }
.art-sunspit .s-spit { width: 120%; height: 10px; background: var(--spit); left: -10%; bottom: var(--spit-y); transform: rotate(var(--spit-tilt)); }
/* Coins: three discs half-sunk in the band (a deal) */
.art-coins .s-coin { width: 7rem; height: 7rem; border-radius: 50%; bottom: -3.5rem; }
.art-coins .s-coin:nth-child(1) { background: var(--zafferano); left: 0; }
.art-coins .s-coin:nth-child(2) { background: var(--mattone); left: 5.5rem; }
.art-coins .s-coin:nth-child(3) { background: var(--bianco); left: 11rem; }
/* Glass: a cup hanging from the band's top edge, optional stem and second glass (wine) */
.art-glass { --cup: 8rem; --glass: var(--prugna-soft); --glass-2: var(--mattone); }
.art-glass .s-cup { width: var(--cup); height: var(--cup); border-radius: 0 0 calc(var(--cup) / 2) calc(var(--cup) / 2); background: var(--glass); right: 3rem; top: 0; }
.art-glass .s-cup + .s-cup { background: var(--glass-2); right: calc(3rem + var(--cup) * .8); opacity: .85; }
.art-glass .s-stem { width: 8px; height: 3rem; background: var(--glass); right: calc(3rem + var(--cup) / 2 - 4px); top: calc(var(--cup) - .1rem); }
/* Table set: a plate between two saffron bars (holiday kits) */
.art-table .s-plate { width: 6rem; height: 6rem; border-radius: 50%; background: var(--bianco); left: 50%; bottom: -3rem; transform: translateX(-50%); }
.art-table .s-bar { width: 6px; height: 4rem; background: var(--zafferano); bottom: 0; left: calc(50% - 4.5rem); }
.art-table .s-bar + .s-bar { left: calc(50% + 4.2rem); }
/* Pair: two overlapping discs, olive printed over saffron (takeout, at home) */
.art-pair .s-disc { width: 7rem; height: 7rem; border-radius: 50%; bottom: -2rem; background: var(--zafferano); right: 5.5rem; }
.art-pair .s-disc + .s-disc { background: var(--oliva); right: 1.5rem; mix-blend-mode: multiply; }
.poster--olive { --p-bg: var(--oliva); --p-tab: var(--oliva-tab); --p-tab-hover: var(--oliva-tab-hover); }
.poster--plum { --p-bg: var(--prugna); --p-tab: var(--prugna-tab); --p-tab-hover: var(--prugna-tab-hover); }
.poster--sun { --p-bg: var(--zafferano); --p-fg: var(--inchiostro); --p-soft: color-mix(in oklab, var(--inchiostro) 78%, var(--zafferano)); --p-tab: var(--zafferano-tab); --p-tab-hover: var(--zafferano-tab-hover); }
.poster--paper { --p-bg: var(--bianco); --p-fg: var(--inchiostro); --p-soft: var(--on-light-soft); --p-tab: var(--bianco-tab); --p-tab-hover: var(--bianco-tab-hover); }
.poster--brick { --p-bg: var(--mattone-deep); --p-tab: var(--mattone-deep-tab); --p-tab-hover: var(--mattone-deep-tab-hover); }
.poster--ink { --p-bg: var(--inchiostro); --p-tab: var(--inchiostro-tab); --p-tab-hover: var(--inchiostro-tab-hover); }
.poster-body { display: grid; gap: var(--s-3); flex: 1; align-content: start; }

.w-4 { grid-column: span 4; } .w-5 { grid-column: span 5; } .w-6 { grid-column: span 6; }
.w-7 { grid-column: span 7; } .w-8 { grid-column: span 8; } .w-12 { grid-column: 1 / -1; }

/* Tear-off tabs: the poster's actions, cut like a street flyer */
.tabs {
  display: flex; margin: auto calc(var(--s-5) * -1) 0; margin-top: var(--s-4);
  border-top: 2px dashed color-mix(in oklab, var(--p-fg) 45%, transparent);
}
.tab {
  flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 3.25rem; padding: .6rem .5rem; text-align: center;
  font-weight: 800; font-stretch: 78%; font-variation-settings: "wdth" 78; text-transform: uppercase; letter-spacing: .05em; font-size: var(--t-small); line-height: 1.1;
  text-decoration: none; color: var(--p-fg); background: var(--p-tab);
  transform-origin: 50% 0;
  transition: background-color .2s, transform .45s var(--ease-out);
}
.tab + .tab { border-left: 2px dashed color-mix(in oklab, var(--p-fg) 45%, transparent); }
.tab:hover { background: var(--p-tab-hover); }
.tab svg { width: 1.05em; height: 1.05em; flex: none; }
.tab.is-torn { transform: translateY(14px) rotate(var(--tear, -7deg)); }

/* Pasted-over remnant of an expired poster */
.remnant {
  grid-column: span 3; align-self: start; position: relative; z-index: 0; padding: var(--s-4) var(--s-4) var(--s-5) 3.5rem; min-height: 11rem;
  background: var(--muro-deep); color: var(--inchiostro); box-shadow: var(--paste); transform: rotate(1.4deg);
  font-size: var(--t-small);
}
.remnant .h3 { color: #3a312b; }
.overlaps-next { position: relative; z-index: 2; }
@media (min-width: 1061px) { .overlaps-next { margin-right: -3rem; margin-top: .75rem; } }

/* Paste motion: posters arrive already visible; they settle onto the wall */
@media (prefers-reduced-motion: no-preference) {
  .js .wall .poster { animation: settle .9s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 90ms); }
  .js .wall .poster::after {
    content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.22) 48%, transparent 66%);
    transform: translateX(-120%);
    animation: brush 1.1s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 90ms + 120ms);
  }
}
@keyframes settle  from { transform: rotate(calc(var(--tilt, 0deg) * 3)) translateY(10px) scale(1.015); } to { transform: rotate(var(--tilt, 0deg)); } 
@keyframes brush  to { transform: translateX(120%); } 

/* ---------- Menu ---------- */
.menu-sheet { min-width: 0; background: var(--bianco); color: var(--inchiostro); box-shadow: 0 30px 60px -36px rgba(0,0,0,.7); }
.menu-tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: var(--seam) solid var(--inchiostro); }
.menu-tabs button, .menu-tabs a {
  font: inherit; font-weight: 800; font-stretch: 80%; font-variation-settings: "wdth" 80; text-transform: uppercase; letter-spacing: .05em;
  background: none; border: 0; color: var(--on-light-soft); padding: 1rem 1.2rem; cursor: pointer; min-height: 3rem; text-decoration: none;
  border-bottom: 5px solid transparent; margin-bottom: calc(var(--seam) * -1);
}
.menu-tabs [aria-selected="true"] { color: var(--inchiostro); border-bottom-color: var(--mattone); }
.menu-tabs button:hover { color: var(--inchiostro); }
.menu-panel { padding: var(--s-6) clamp(1rem, 3vw, 2.5rem) var(--s-7); }
.menu-cols { columns: 2 22rem; column-gap: var(--s-7); }
.menu-section { break-inside: avoid; margin-bottom: var(--s-6); }
.menu-section h3 { font-size: 1.6rem; font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; text-transform: uppercase; letter-spacing: -.01em; padding-bottom: .5rem; border-bottom: 2px solid var(--inchiostro); margin-bottom: .75rem; }
.menu-section .note { font-size: var(--t-small); color: var(--on-light-soft); margin: -.25rem 0 .75rem; }
.dish { display: grid; grid-template-columns: 1fr auto; gap: .1rem 1rem; padding: .55rem 0; border-bottom: 1px solid color-mix(in oklab, var(--inchiostro) 14%, transparent); }
.dish h4 { font-size: var(--t-body); font-weight: 800; line-height: 1.25; }
.dish .price { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dish p { grid-column: 1 / -1; font-size: var(--t-small); color: var(--on-light-soft); line-height: 1.4; }
.dish .tag { display: inline-block; font-size: var(--t-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .1rem .35rem; margin-left: .4rem; vertical-align: .15em; background: var(--oliva); color: var(--on-dark); }

/* ---------- Rooms (seat maps) ---------- */
.rooms { display: grid; grid-template-columns: 1.3fr 1fr 1.3fr; gap: var(--s-4); align-items: stretch; }
.room { background: var(--prugna-soft); padding: var(--s-5); display: grid; gap: var(--s-4); align-content: start; min-width: 0; box-shadow: var(--paste); }
.room .cap { font-size: clamp(3rem, 2rem + 3vw, 4.5rem); line-height: .85; }
.room .cap small { font-size: var(--t-small); letter-spacing: .06em; display: block; margin-top: .4rem; font-weight: 700; font-stretch: 80%; font-variation-settings: "wdth" 80; }
.seats { display: grid; grid-template-columns: repeat(var(--cols, 9), 1fr); gap: 6px; max-width: 20rem; }
.seats i { aspect-ratio: 1; border-radius: 50%; background: var(--zafferano); display: block; }
.room--patio { background: var(--oliva); }
.room--patio .seats i { background: var(--bianco); }
.room p { color: var(--on-dark-soft); font-size: var(--t-body); }

/* ---------- Awards ---------- */
.awards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); list-style: none; margin: 0; padding: 0; }
.award { background: var(--inchiostro); color: var(--on-dark); padding: var(--s-4) var(--s-4) var(--s-5); display: grid; gap: .5rem; align-content: start; min-height: 9.5rem; }
.award b { overflow-wrap: anywhere; hyphens: auto; font-size: 1.35rem; font-weight: 900; font-stretch: 108%; font-variation-settings: "wdth" 108; line-height: 1.05; text-transform: uppercase; letter-spacing: -.01em; }
.award span { font-size: var(--t-small); color: var(--on-dark-soft); }
.award--ws { background: var(--prugna); }

/* Awards as one poster: publications as columns, titles set like a bill */
.award-bill { display: grid; grid-template-columns: 1.3fr 1fr .8fr; gap: var(--s-6); }
.award-bill h3 { font-size: var(--t-small); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; padding-bottom: .5rem; border-bottom: 2px solid var(--inchiostro); margin-bottom: .75rem; }
.award-bill ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.award-bill li { font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; text-transform: uppercase; letter-spacing: -.01em; font-size: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); line-height: 1; }
.award-bill li:nth-child(even) { font-stretch: 72%; font-variation-settings: "wdth" 72; }
.award-bill .ws li { color: var(--prugna); }
@media (max-width: 860px) { .award-bill { grid-template-columns: 1fr; gap: var(--s-5); } }

/* ---------- Visit ---------- */
.visit-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--s-7); }
.hours { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.hours th, .hours td { text-align: left; padding: .7rem 0; border-bottom: 1px solid rgba(251,246,238,.18); vertical-align: top; }
.hours th { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; width: 10rem; white-space: nowrap; padding-right: 1rem; font-stretch: 85%; font-variation-settings: "wdth" 85; }
.hours tr.is-today th, .hours tr.is-today td { color: var(--zafferano); }
.hours tr.is-today th::after { content: " · today"; text-transform: none; letter-spacing: 0; font-weight: 600; }
.facts { display: grid; gap: var(--s-5); align-content: start; }
.fact { display: grid; gap: .3rem; }
.fact .h3 a { text-decoration: none; }
.fact .h3 a:hover { text-decoration: underline; }
.fact p { color: color-mix(in oklab, currentColor 80%, transparent); }
.copy-row { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.copy-btn { font: inherit; font-size: var(--t-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .3rem .85rem; background: transparent; color: inherit; border: 1.5px solid currentColor; cursor: pointer; min-height: 2.75rem; min-width: 2.75rem; }

/* ---------- Past dinners: the layers under the wall ---------- */
.past { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 0 var(--s-6); }
.past li { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid color-mix(in oklab, var(--inchiostro) 16%, transparent); }
.past li span { color: var(--on-light-soft); white-space: nowrap; }

/* ---------- Page heads (inner pages) ---------- */
.page-head { padding-block: var(--s-8) var(--s-7); overflow: hidden; }
.page-head .wrap { position: relative; display: grid; gap: var(--s-4); }
.page-head { padding-block: var(--s-8); }
.page-head .sun { width: clamp(16rem, 10rem + 24vw, 34rem); aspect-ratio: 1; right: -8%; bottom: calc(var(--s-8) * -1 - 40%); position: absolute; z-index: 0; }
.page-head > .wrap > :not(.sun) { position: relative; z-index: 1; min-width: 0; }
.page-head h1.poster-type { font-size: var(--t-page-title) !important; }

/* ---------- Forms ---------- */
.form { display: grid; gap: var(--s-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form .full { grid-column: 1 / -1; }
.form label { display: grid; gap: .35rem; font-weight: 700; font-size: var(--t-small); text-transform: uppercase; letter-spacing: .06em; }
.form input, .form select, .form textarea {
  font: inherit; font-size: var(--t-body); text-transform: none; letter-spacing: 0; font-weight: 500;
  color: var(--inchiostro); background: var(--bianco); border: 2px solid var(--inchiostro); border-radius: 0;
  padding: .7rem .8rem; min-height: 3rem; width: 100%; accent-color: var(--mattone);
}
.form textarea { min-height: 7rem; resize: vertical; }
.form [aria-invalid="true"] { border-color: var(--mattone); border-width: 3px; }
.form .err { color: var(--mattone); font-size: var(--t-small); font-weight: 700; text-transform: none; letter-spacing: 0; min-height: 1.2em; }
.form .hint { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--on-light-soft); }
.form-done { display: none; background: var(--oliva); color: var(--on-dark); padding: var(--s-5); }
.form-done.is-shown { display: grid; gap: .5rem; }

/* ---------- Footer ---------- */
.foot { background: var(--inchiostro); color: var(--on-dark-soft); padding-block: var(--s-8) var(--s-7); padding-left: var(--gutter); padding-right: var(--gutter-r); }
.foot-grid { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: var(--s-6); }
.foot h2 { color: var(--on-dark); font-size: var(--t-small); text-transform: uppercase; letter-spacing: .1em; font-weight: 800; margin-bottom: .75rem; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.foot a { color: var(--on-dark); text-decoration: none; }
.foot a:hover { text-decoration: underline; }
.family a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.family { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid rgba(251,246,238,.15); font-size: var(--t-small); }
.social { display: flex; gap: .5rem; flex-wrap: wrap; }
.social a { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1.5px solid rgba(251,246,238,.35); }
.social a:hover { border-color: var(--zafferano); color: var(--zafferano); }
.social svg { width: 1.2rem; height: 1.2rem; }

/* ---------- Phone action bar ---------- */
.actionbar { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1060px) {
  .wall { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .w-4, .w-5 { grid-column: span 3; }
  .w-7, .w-8, .w-12 { grid-column: 1 / -1; }
  .w-6 { grid-column: span 3; }
  .remnant { grid-column: span 3; }
  .rooms { grid-template-columns: 1fr 1fr; }
  .rooms .room--patio { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .awards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .masthead .wrap { flex-wrap: wrap; gap: 0 var(--s-4); min-height: 0; padding-top: .7rem; }
  .masthead .brand-link { padding-bottom: .5rem; }
  .nav { order: 3; width: 100%; gap: var(--s-4); overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1) calc(var(--gutter-r) * -1); padding-inline: var(--gutter) var(--gutter-r); border-top: 1px solid color-mix(in oklab, var(--inchiostro) 15%, transparent); }
  .nav a { white-space: nowrap; font-size: var(--t-small); padding-block: .6rem; min-height: 2.75rem; min-width: 2.75rem; justify-content: center; display: inline-flex; align-items: center; }
  .lead-grid { grid-template-columns: 1fr; }
  .lead-copy { padding-bottom: 0; }
  .lead-art { min-height: 22rem; margin-inline: calc(var(--gutter) * -1) calc(var(--gutter-r) * -1); }
  .lead-art .photo-slot { width: 58%; right: 8%; top: 10%; }
  .lead-art .sun { width: 90%; right: -20%; bottom: -55%; }
  .visit-grid { grid-template-columns: 1fr; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .form { grid-template-columns: 1fr; }
  .actionbar {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
    position: fixed; inset: auto 0 0; z-index: 25; background: var(--inchiostro);
    padding-bottom: env(safe-area-inset-bottom, 0px); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px);
  }
  .actionbar a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; min-height: 3.6rem;
    text-decoration: none; font-weight: 800; font-size: var(--t-micro); letter-spacing: .06em; text-transform: uppercase;
    background: var(--bianco); color: var(--inchiostro);
  }
  .actionbar a.is-primary { background: var(--mattone); color: var(--on-dark); }
  .actionbar svg { width: 1.25rem; height: 1.25rem; }
  body { padding-bottom: calc(3.6rem + env(safe-area-inset-bottom, 0px)); }
  .masthead .btn { display: none; }
}
@media (max-width: 620px) {
  .poster h3, .poster h2.poster-type { font-size: var(--t-poster-title-phone) !important; }
  .field { padding-block: var(--s-7); }
  .wall { grid-template-columns: 1fr; gap: var(--s-5); }
  .wall > * { grid-column: 1 / -1 !important; }
  .book-strip { grid-template-columns: 1fr 1fr; }
  .book-strip .btn { grid-column: 1 / -1; min-height: 3.25rem; }
  .rooms { grid-template-columns: 1fr; }
  .foot-grid { grid-template-columns: 1fr; }
  .page-head .sun { right: -30%; }
  .menu-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .menu-tabs button, .menu-tabs a { white-space: nowrap; padding-inline: .9rem; }
  .pitch .wrap { justify-content: flex-start; }
}
@media (max-width: 400px) { .awards { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation: none !important; }
}

.sample-note { font-size: var(--t-small); color: var(--on-light-soft); padding: 0 clamp(1rem, 3vw, 2.5rem) var(--s-5); }
html:not([data-logo="a"]) .mega .logo--b { display: block; }

/* ---------- Inner pages: lead-poster openings (layout A carried through) ---------- */
.inner-lead { padding-block: var(--s-7) calc(var(--s-8) + 1rem); }
.inner-lead .lead-copy { padding-bottom: 0; }
.inner-lead .lead-art { min-height: 24rem; }
.inner-title { font-size: var(--t-page-title); hyphens: manual; }
.inner-lead .lead-copy > * { min-width: 0; max-width: 100%; }
.field--zafferano .lead { color: var(--inchiostro); }
.after-lead { padding-top: 0 !important; border-top: 0 !important; }
.after-lead > .wrap:first-child { margin-top: -3rem; position: relative; z-index: 3; }
.paste-head {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem; width: fit-content; max-width: 100%;
  padding: .85rem 1.25rem; background: var(--bianco); color: var(--inchiostro); box-shadow: var(--paste); transform: rotate(-.6deg);
}
.paste-head h2 { font-size: var(--t-h3); font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; letter-spacing: -.02em; }
.paste-head p { font-size: var(--t-small); color: var(--on-light-soft); }
.field--inchiostro .paste-head + .visit-grid, .after-lead > .wrap + .wrap { margin-top: var(--s-6); }

/* Chips: quick jumps inside a lead poster */
.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chips a {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem .85rem; text-decoration: none;
  font-weight: 800; font-stretch: 85%; font-variation-settings: "wdth" 85; text-transform: uppercase; letter-spacing: .05em; font-size: var(--t-small);
  background: rgba(28,21,18,.24); color: var(--on-dark); transition: background-color .2s;
}
.chips a:hover { background: var(--inchiostro); }

/* Next up: the first live item shows; expired ones are removed by via.js */
.next-up { display: grid; }
.next-up > :not(:first-child) { display: none; }
.next-card {
  display: grid; gap: .3rem; padding: var(--s-4) var(--s-5); background: var(--zafferano); color: var(--inchiostro); text-decoration: none;
  box-shadow: var(--paste); transform: rotate(-.8deg); max-width: 32rem; border-bottom: 2px dashed color-mix(in oklab, var(--inchiostro) 40%, transparent);
}
.next-card .cond { font-size: var(--t-small); letter-spacing: .06em; }
.next-card b { font-size: var(--t-h3); font-weight: 900; font-stretch: 112%; font-variation-settings: "wdth" 112; text-transform: uppercase; line-height: 1; letter-spacing: -.01em; }
.next-card .go { display: inline-flex; gap: .4rem; align-items: center; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: var(--t-small); }
.next-card .go svg { width: 1em; height: 1em; transition: transform .25s var(--ease-out); }
.next-card:hover .go svg { transform: translateX(3px); }

/* Headcount finder (private dining) */
.headcount { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px; background: var(--mattone-deep); padding: 2px; max-width: 40rem; box-shadow: 0 18px 40px -22px rgba(0,0,0,.6); }
.headcount label { display: grid; gap: 2px; background: var(--bianco); color: var(--inchiostro); padding: .5rem .75rem .45rem; }
.headcount .lbl { font-size: var(--t-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--on-light-soft); }
.headcount input { font: inherit; font-weight: 800; font-size: 1.4rem; width: 6.5rem; border: 0; background: transparent; color: var(--inchiostro); padding: 0; min-height: 2.75rem; font-variant-numeric: tabular-nums; }
.headcount input:focus-visible { outline: 2px solid var(--mattone); outline-offset: 2px; }
.hc-out { display: grid; align-content: center; gap: .15rem; background: var(--bianco); color: var(--inchiostro); padding: .5rem .9rem; }
.hc-out b { font-weight: 800; line-height: 1.2; }
.hc-out span { font-size: var(--t-small); color: var(--on-light-soft); }
.headcount .btn { grid-column: 1 / -1; --b-bg: var(--zafferano); --b-fg: var(--inchiostro); box-shadow: none; }

.park-note { font-size: var(--t-small); max-width: 44ch; }

/* Extra cut-paper pieces for inner lead posters */
.lead-art .glass { position: absolute; width: 8.5rem; height: 8.5rem; border-radius: 0 0 4.25rem 4.25rem; background: var(--prugna-soft); }
.lead-art .stem { position: absolute; width: 10px; height: 5rem; background: var(--prugna-soft); }
.lead-art .table-half { position: absolute; width: 11rem; height: 5.5rem; border-radius: 5.5rem 5.5rem 0 0; background: var(--bianco); left: 22%; top: 40%; }
.lead-art .table-bar { position: absolute; width: 8px; height: 7rem; background: var(--zafferano); top: calc(40% - 1.5rem); }

@media (max-width: 860px) {
  .inner-lead { padding-bottom: calc(var(--s-7) + 1rem); }
  .inner-lead .lead-art { min-height: 18rem; }
  .lead-art .glass, .lead-art .stem, .lead-art .table-half, .lead-art .table-bar { display: none; }
}
@media (max-width: 620px) {
  .headcount { grid-template-columns: 1fr; }
  .after-lead > .wrap:first-child { margin-top: -2.25rem; }
}
main:focus { outline: none; }
