/* =====================================================================
   ARCHIVIO STORICO DEL CABARET ITALIANO — Museo Virtuale
   Sistema visivo "Archivio d'autore" — Release 1
   UI/Design: direzione editoriale (avorio · inchiostro · bordeaux)
   ===================================================================== */

/* ---------- Token di design ---------- */
:root{
  /* Colori */
  --paper:        #F3ECDD;   /* avorio carta */
  --paper-2:      #EEE5D2;   /* avorio ombra */
  --paper-deep:   #E7DCC4;   /* fondo pannelli */
  --ink:          #181410;   /* inchiostro */
  --ink-soft:     #463E33;   /* testo secondario */
  --bordeaux:     #7A1717;   /* accento primario */
  --bordeaux-dk:  #5C0F0F;
  --gold:         #A9803E;   /* accento secondario / oro patinato */
  --line:         #C9BBA0;   /* filetti */
  --line-strong:  #1d1812;
  --night:        #14110D;   /* sezioni notturne */

  /* Tipografia */
  --display: "Fraunces", "Playfair Display", Georgia, "Times New Roman", serif;
  --serif:   "Spectral", Georgia, "Times New Roman", serif;
  --label:   "Archivo", "Helvetica Neue", Arial, sans-serif;

  /* Misure */
  --wrap: 1240px;
  --gutter: clamp(20px, 5vw, 72px);
  --rule: 1px solid var(--line);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.62;
  font-feature-settings:"liga" 1,"onum" 1,"kern" 1;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--bordeaux);color:var(--paper)}

/* texture carta finissima */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:radial-gradient(rgba(120,100,70,.05) 1px, transparent 1px);
  background-size:3px 3px;mix-blend-mode:multiply;
}

/* ---------- Layout ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:820px}
section{position:relative;z-index:2}

/* ---------- Tipografia ---------- */
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.04;letter-spacing:-.01em}
.eyebrow{
  font-family:var(--label);font-size:.72rem;font-weight:600;
  letter-spacing:.32em;text-transform:uppercase;color:var(--bordeaux);
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--bordeaux)}
.eyebrow--center{justify-content:center}
.lede{font-size:1.28rem;line-height:1.55;color:var(--ink-soft);font-style:italic}
.drop::first-letter{
  font-family:var(--display);float:left;font-size:5.4rem;line-height:.78;
  padding:.06em .12em 0 0;color:var(--bordeaux);font-weight:600;
}
.smallcaps{font-variant:small-caps;letter-spacing:.04em}

/* ---------- Filetto ornamentale ---------- */
.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;width:90px;background:var(--line)}
.ornament svg{width:20px;height:20px}

/* ---------- Topbar / Masthead ---------- */
.topbar{
  border-bottom:1px solid var(--line-strong);
  background:var(--paper);position:sticky;top:0;z-index:50;
}
.topbar__meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--label);font-size:.66rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-soft);
  padding:7px 0;border-bottom:var(--rule);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand__mark{width:42px;height:42px;color:var(--ink);flex:none}
.brand__txt{font-family:var(--display);font-weight:600;line-height:1}
.brand__txt b{display:block;font-size:1.16rem;letter-spacing:-.01em}
.brand__txt span{font-family:var(--label);font-size:.6rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--bordeaux);display:block;margin-top:3px}
.menu{display:flex;gap:30px;font-family:var(--label);font-size:.82rem;
  letter-spacing:.05em;text-transform:uppercase;font-weight:500}
.menu a{position:relative;padding:4px 0;color:var(--ink-soft);transition:color .2s}
.menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;
  background:var(--bordeaux);transition:width .28s ease}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ink)}
.menu a:hover::after,.menu a[aria-current="page"]::after{width:100%}
.menu a[aria-current="page"]{color:var(--bordeaux)}
.burger{display:none;background:none;border:1px solid var(--line-strong);
  font-family:var(--label);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  padding:9px 14px;cursor:pointer;color:var(--ink)}

/* ---------- Hero ---------- */
.hero{border-bottom:1px solid var(--line-strong);padding:0;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:clamp(520px,72vh,760px)}
.hero__left{padding:clamp(36px,5vw,76px) var(--gutter) clamp(36px,5vw,64px);
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid var(--line-strong)}
.hero__kicker{font-family:var(--label);font-size:.72rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--bordeaux);margin-bottom:22px;
  display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero__kicker .est{color:var(--ink-soft)}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.1rem);margin-bottom:24px}
.hero h1 em{font-style:italic;color:var(--bordeaux)}
.hero__sub{font-size:1.18rem;max-width:46ch;color:var(--ink-soft);margin-bottom:36px}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap}
.hero__right{position:relative;background:var(--night);color:var(--paper);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero__right .spot{position:absolute;width:160%;height:160%;left:-30%;top:-40%;
  background:radial-gradient(ellipse at center,rgba(169,128,62,.42),transparent 58%)}
.hero__poster{position:relative;z-index:2;text-align:center;padding:40px}
.hero__poster .cat{width:min(280px,52vw);color:var(--paper);margin:0 auto 18px}
.hero__poster .tagline{font-family:var(--label);font-size:.66rem;letter-spacing:.42em;
  text-transform:uppercase;color:rgba(243,236,221,.7)}
.hero__poster .big{font-family:var(--display);font-style:italic;font-size:2.1rem;
  margin:8px 0 4px;color:var(--gold)}

/* ---------- Bottoni ---------- */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--label);
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 26px;cursor:pointer;border:1px solid var(--ink);
  transition:all .22s ease;background:none}
.btn svg{width:15px;height:15px;transition:transform .22s}
.btn:hover svg{transform:translateX(4px)}
.btn--solid{background:var(--ink);color:var(--paper)}
.btn--solid:hover{background:var(--bordeaux);border-color:var(--bordeaux)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--light{border-color:var(--paper);color:var(--paper)}
.btn--light:hover{background:var(--paper);color:var(--ink)}

/* ---------- Strip dati ---------- */
.factstrip{background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line-strong)}
.factstrip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:30px var(--gutter);border-right:1px solid rgba(243,236,221,.16)}
.fact:last-child{border-right:none}
.fact b{font-family:var(--display);font-size:2.5rem;display:block;line-height:1;color:var(--gold)}
.fact span{font-family:var(--label);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(243,236,221,.66);margin-top:9px;display:block}

/* ---------- Sezioni standard ---------- */
.band{padding:clamp(56px,8vw,104px) 0}
.band--paper2{background:var(--paper-2)}
.band--deep{background:var(--paper-deep)}
.band--night{background:var(--night);color:var(--paper)}
.band--night .eyebrow{color:var(--gold)}
.band--night .eyebrow::before{background:var(--gold)}
.sec-head{max-width:760px;margin-bottom:48px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(2rem,4.2vw,3.2rem);margin:18px 0 16px}
.sec-head p{color:var(--ink-soft);font-size:1.1rem}
.band--night .sec-head p{color:rgba(243,236,221,.72)}

/* ---------- Manifesto / inversione ---------- */
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-strong)}
.manifesto__txt{padding:clamp(34px,5vw,64px)}
.manifesto__txt h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:20px}
.manifesto__txt h2 em{color:var(--bordeaux);font-style:italic}
.manifesto__txt p{margin-bottom:16px;color:var(--ink-soft)}
.manifesto__aside{background:var(--ink);color:var(--paper);padding:clamp(34px,5vw,64px);
  display:flex;flex-direction:column;justify-content:center;gap:22px}
.manifesto__aside .q{font-family:var(--display);font-style:italic;font-size:1.7rem;
  line-height:1.3;color:var(--paper)}
.manifesto__aside .q::before{content:"«";color:var(--gold)}
.manifesto__aside .q::after{content:"»";color:var(--gold)}
.manifesto__aside cite{font-family:var(--label);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(243,236,221,.6);font-style:normal}

/* ---------- Griglia sezioni museo ---------- */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong)}
.room{border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:38px var(--gutter) 40px;position:relative;transition:background .25s;display:block}
.room:hover{background:var(--paper)}
.room__no{font-family:var(--display);font-size:1rem;color:var(--gold);
  font-variant-numeric:oldstyle-nums}
.room h3{font-size:1.5rem;margin:14px 0 12px}
.room p{font-size:.98rem;color:var(--ink-soft);margin-bottom:22px}
.room__go{font-family:var(--label);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--bordeaux);display:inline-flex;gap:8px;align-items:center}
.room__go svg{width:14px;height:14px;transition:transform .22s}
.room:hover .room__go svg{transform:translateX(5px)}

/* ---------- Card collezione (ticket-stub) ---------- */
.collgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tile{background:var(--paper);border:1px solid var(--line-strong);position:relative;
  transition:transform .25s,box-shadow .25s}
.tile:hover{transform:translateY(-5px);box-shadow:10px 12px 0 rgba(24,20,16,.12)}
.tile__img{aspect-ratio:4/3;background:var(--night);position:relative;overflow:hidden;
  border-bottom:1px solid var(--line-strong)}
.tile__img .lbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--paper);font-family:var(--display);font-style:italic;font-size:1.4rem;opacity:.5}
.tile__img .glow{position:absolute;inset:0;
  background:radial-gradient(circle at 50% 30%,rgba(169,128,62,.35),transparent 60%)}
.tile__body{padding:22px 24px 26px}
.tile__tag{font-family:var(--label);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bordeaux)}
.tile h3{font-size:1.32rem;margin:10px 0 8px}
.tile p{font-size:.92rem;color:var(--ink-soft)}
.tile__meta{margin-top:18px;padding-top:14px;border-top:var(--rule);
  font-family:var(--label);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);display:flex;justify-content:space-between}

/* perforazione "biglietto" sul lato della tile */
.tile--stub::before{content:"";position:absolute;top:0;bottom:0;left:62%;width:1px;
  background-image:linear-gradient(var(--line-strong) 50%,transparent 0);
  background-size:1px 9px;opacity:0}

/* filtri */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.chip{font-family:var(--label);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 16px;border:1px solid var(--line-strong);background:none;cursor:pointer;
  transition:all .18s}
.chip:hover{background:var(--paper)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Timeline ---------- */
.timeline{position:relative;border-left:2px solid var(--line-strong);
  margin-left:8px;padding-left:0}
.tl-item{position:relative;padding:0 0 54px 42px}
.tl-item::before{content:"";position:absolute;left:-9px;top:6px;width:16px;height:16px;
  background:var(--paper);border:2px solid var(--bordeaux);border-radius:50%}
.tl-item:last-child{padding-bottom:0}
.tl-year{font-family:var(--display);font-size:1.9rem;color:var(--bordeaux);
  font-variant-numeric:oldstyle-nums;line-height:1}
.tl-place{font-family:var(--label);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:8px 0 6px;display:block}
.tl-item h3{font-size:1.45rem;margin:6px 0 10px}
.tl-item p{color:var(--ink-soft);max-width:60ch;font-size:1rem}
.band--night .tl-item::before{background:var(--night)}
.band--night .tl-item p{color:rgba(243,236,221,.74)}

/* ---------- Hall of Fame ---------- */
.garanti{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-strong);
  border:1px solid var(--line-strong)}
.gar{background:var(--paper);padding:30px 26px;transition:background .22s}
.gar:hover{background:var(--paper-deep)}
.gar__role{font-family:var(--label);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bordeaux)}
.gar h3{font-size:1.32rem;margin:14px 0 8px}
.gar p{font-size:.9rem;color:var(--ink-soft)}

/* ---------- Quote / pull ---------- */
.pull{border-top:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong);
  padding:48px 0;text-align:center;max-width:880px;margin-inline:auto}
.pull q{font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,3.2vw,2.4rem);
  line-height:1.34;display:block}
.pull cite{font-family:var(--label);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bordeaux);font-style:normal;margin-top:24px;display:block}

/* ---------- CTA finale ---------- */
.closing{background:var(--bordeaux);color:var(--paper);text-align:center;
  padding:clamp(56px,8vw,96px) 0}
.closing h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:20px}
.closing p{max-width:54ch;margin:0 auto 34px;color:rgba(243,236,221,.86)}

/* ---------- Pagina interna: intestazione ---------- */
.page-head{border-bottom:1px solid var(--line-strong);padding:clamp(48px,7vw,92px) 0 clamp(34px,5vw,56px);
  background:var(--paper-2)}
.page-head .crumb{font-family:var(--label);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:20px}
.page-head .crumb a{color:var(--bordeaux)}
.page-head h1{font-size:clamp(2.4rem,5.6vw,4.2rem);max-width:18ch}
.page-head .lede{margin-top:22px;max-width:60ch}

/* ---------- Prosa ---------- */
.prose{max-width:68ch}
.prose h2{font-size:1.9rem;margin:46px 0 16px}
.prose h3{font-size:1.35rem;margin:32px 0 10px;color:var(--bordeaux)}
.prose p{margin-bottom:18px}
.prose p+p{text-indent:0}
.prose .note{font-size:.86rem;color:var(--ink-soft);border-left:2px solid var(--gold);
  padding-left:18px;font-style:italic;margin:24px 0}

/* due colonne testo */
.cols2{columns:2;column-gap:48px}
.cols2 p{margin-bottom:16px;break-inside:avoid}

/* ---------- Footer ---------- */
.footer{background:var(--night);color:var(--paper);padding:64px 0 30px;
  border-top:3px solid var(--bordeaux)}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:48px;border-bottom:1px solid rgba(243,236,221,.16)}
.footer__brand .cat{width:48px;color:var(--paper);margin-bottom:16px}
.footer__brand b{font-family:var(--display);font-size:1.3rem;display:block}
.footer__brand p{font-size:.92rem;color:rgba(243,236,221,.66);margin-top:12px;max-width:34ch}
.footer h4{font-family:var(--label);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px}
.footer ul{list-style:none}
.footer li{margin-bottom:10px}
.footer a{color:rgba(243,236,221,.82);font-size:.95rem;transition:color .2s}
.footer a:hover{color:var(--gold)}
.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  padding-top:24px;font-family:var(--label);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(243,236,221,.5)}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .hero__grid{grid-template-columns:1fr}
  .hero__right{min-height:300px;border-top:1px solid var(--line-strong)}
  .hero__left{border-right:none}
  .factstrip__grid{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2){border-right:none}
  .rooms,.collgrid{grid-template-columns:repeat(2,1fr)}
  .manifesto{grid-template-columns:1fr}
  .garanti{grid-template-columns:repeat(2,1fr)}
  .footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  body{font-size:17px}
  .menu{display:none}
  .menu.open{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;
    background:var(--paper);border-bottom:1px solid var(--line-strong);padding:18px var(--gutter);gap:16px}
  .burger{display:inline-block}
  .nav{position:relative}
  .factstrip__grid,.rooms,.collgrid,.garanti{grid-template-columns:1fr}
  .fact{border-right:none}
  .cols2{columns:1}
  .footer__top{grid-template-columns:1fr}
  .topbar__meta .hide-sm{display:none}
}

/* =====================================================================
   RELEASE 2 — componenti aggiuntivi (immagini, gallerie, luoghi, autore)
   Coerenti con il sistema "Archivio d'autore". Nessuna modifica ai token.
   ===================================================================== */

/* ---- Figure e didascalie ---- */
figure{margin:0}
.figure{border:1px solid var(--line-strong);background:var(--paper);padding:10px}
.figure img{width:100%;height:auto;display:block}
.figure figcaption,.cap{font-family:var(--label);font-size:.7rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:10px;line-height:1.5}
.cap b{color:var(--bordeaux)}
.credit{font-family:var(--label);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold)}

/* ---- Hero editoriale con immagine (pagine articolo) ---- */
.lead-fig{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line-strong);
  background:var(--paper)}
.lead-fig__txt{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.lead-fig__img{background:var(--night);position:relative;overflow:hidden;min-height:320px}
.lead-fig__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.92) contrast(1.02)}
.lead-fig__img .vig{position:absolute;inset:0;
  box-shadow:inset 0 0 120px rgba(20,17,13,.55)}

/* ---- Galleria immagini (a contatto, da archivio) ---- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.gallery .figure{transition:transform .25s,box-shadow .25s}
.gallery .figure:hover{transform:translateY(-4px);box-shadow:8px 10px 0 rgba(24,20,16,.10)}
.gallery .figure img{aspect-ratio:auto;max-height:420px;object-fit:contain;background:#100d0a}

/* ---- Schede LUOGHI (con immagine) ---- */
.places{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.place{background:var(--paper);border:1px solid var(--line-strong);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.place:hover{transform:translateY(-5px);box-shadow:10px 12px 0 rgba(24,20,16,.12)}
.place__img{aspect-ratio:3/2;overflow:hidden;background:var(--night);border-bottom:1px solid var(--line-strong)}
.place__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.03);
  transition:transform .5s ease}
.place:hover .place__img img{transform:scale(1.05)}
.place__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.place__years{font-family:var(--display);font-variant-numeric:oldstyle-nums;color:var(--bordeaux);
  font-size:1.15rem;line-height:1}
.place__city{font-family:var(--label);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:8px 0 4px;display:block}
.place h3{font-size:1.4rem;margin:4px 0 10px}
.place p{font-size:.95rem;color:var(--ink-soft)}

/* ---- Mappa-legenda luoghi ---- */
.places-key{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--label);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
  border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:16px 0}
.places-key b{color:var(--bordeaux)}

/* ---- Timeline: figura agganciata alla tappa ---- */
.tl-fig{margin-top:16px;max-width:380px}
.tl-fig img{width:100%;height:auto;border:1px solid var(--line-strong);display:block;background:#100d0a}
.band--night .tl-fig img{border-color:rgba(243,236,221,.25)}

/* ---- Scheda persona (governance dettaglio) ---- */
.portrait{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.portrait__img{border:1px solid var(--line-strong);background:var(--paper-deep);padding:10px}
.portrait__img img{width:100%;height:auto;display:block}
.def{border-top:1px solid var(--line-strong);margin-top:8px}
.def__row{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:14px 0;
  border-bottom:1px solid var(--line)}
.def__row dt{font-family:var(--label);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bordeaux)}
.def__row dd{margin:0;color:var(--ink-soft)}
.tbi{font-family:var(--label);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);border:1px dashed var(--gold);padding:3px 9px;display:inline-block}

@media(max-width:980px){
  .lead-fig{grid-template-columns:1fr}
  .lead-fig__img{min-height:260px;order:-1}
  .places{grid-template-columns:repeat(2,1fr)}
  .portrait{grid-template-columns:1fr;gap:24px}
  .portrait__img{max-width:300px}
  .def__row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .places{grid-template-columns:1fr}
}

/* Release 2 — link al fondo nelle schede collezioni */
.tile__fondo{display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:12px;padding-top:12px;border-top:1px dashed var(--gold);
  font-family:var(--label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bordeaux)}
.tile__fondo span{color:var(--gold)}

/* Release 2 — box di ricerca collezioni */
.search{position:relative;display:flex;align-items:center;max-width:680px}
.search svg{position:absolute;left:16px;width:20px;height:20px;color:var(--bordeaux);pointer-events:none}
.search input{flex:1;font-family:var(--serif);font-size:1.05rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line-strong);
  padding:15px 44px 15px 48px;width:100%}
.search input::placeholder{color:var(--ink-soft);opacity:.8}
.search input:focus{outline:none;border-color:var(--bordeaux);box-shadow:0 0 0 3px rgba(122,23,23,.12)}
.search #fondi-search-clear{position:absolute;right:10px;border:none;background:none;
  font-size:1.5rem;line-height:1;color:var(--ink-soft);cursor:pointer;padding:4px 8px;display:none}
.search #fondi-search-clear:hover{color:var(--bordeaux)}
.search.has-value #fondi-search-clear{display:block}
.collgrid .noresult{grid-column:1/-1;text-align:center;color:var(--ink-soft);
  font-style:italic;padding:40px 0}

/* =====================================================================
   RELEASE 3 — accessibilità AA, nuovo logo, condivisione, reach
   ===================================================================== */

/* Token oro accessibile per testo su fondo chiaro (>=4.5:1 su avorio) */
:root{ --gold-ink:#6E5320; }

/* Etichette testuali in oro -> versione accessibile sui fondi chiari */
.room__no,.place__city,.credit,.tl-place{ color:var(--gold-ink); }
/* Sui fondi scuri si torna all'oro chiaro (contrasto adeguato su "notte") */
.band--night .tl-place,.band--night .credit,.band--night .room__no{ color:var(--gold); }

/* Skip-link (bypass blocks, WCAG 2.4.1) */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);
  font-family:var(--label);font-size:.85rem;letter-spacing:.05em;padding:12px 18px;border-radius:0 0 4px 0}
.skip:focus{left:0}

/* Focus visibile (WCAG 2.4.7) */
a:focus-visible,button:focus-visible,.chip:focus-visible,.room:focus-visible,
input:focus-visible,.btn:focus-visible{outline:3px solid var(--bordeaux);outline-offset:2px}
.band--night a:focus-visible,.hero a:focus-visible{outline-color:var(--gold)}

/* Reveal come progressive enhancement: senza JS i contenuti restano visibili */
html:not(.js) .reveal{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important}
  .place__img img,.tile,.figure,.room,.gar{transition:none !important}
  html{scroll-behavior:auto}
}

/* Nuovo logo come <img> (mantiene gli ingombri del marchio precedente) */
img.brand__mark{width:46px;height:46px;object-fit:contain;flex:none;display:block}
.footer__brand img.cat{width:56px;height:auto;display:block;margin-bottom:16px}
.hero__poster img.cat{width:min(300px,56vw);height:auto;margin:0 auto 18px;display:block}
.contact-logo{width:64px;height:64px;flex:none;object-fit:contain;display:block}

/* Footer: titoli di colonna ora h2 (gerarchia heading corretta) */
.footer h2{font-family:var(--label);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin:0 0 18px;font-weight:600;line-height:1.2}
/* riga dominio + canali */
.footer__domain{font-family:var(--label);font-size:.74rem;letter-spacing:.08em;color:var(--gold)}
.footer__domain a{color:var(--gold)}
.footer__domain a:hover{color:var(--paper)}

/* Condivisione (user journey: condividi) */
.share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--label);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,236,221,.6)}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;padding:8px 14px;border:1px solid rgba(243,236,221,.3);background:none;
  color:var(--paper);font-family:var(--label);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;transition:all .2s}
.share a:hover,.share button:hover{background:var(--paper);color:var(--ink)}

/* Tap target piu' ampi (mobile) */
.menu a{padding:10px 0}
.chip{padding:12px 18px}
.search #fondi-search-clear{min-width:40px;min-height:40px}

/* Microdata schede: nessun impatto visivo */
.tile [itemprop]{}
