/* ============================================================
   Wood Riviera — Giornale di bottega
   Chrome condiviso + tipografia editoriale degli articoli.
   Caricato DOPO css/style.css: stessa cascata delle pagine
   che tengono il chrome inline (tavoli, chi-siamo, prodotti).
   ============================================================ */

:root{
  --bone:#f4f0e9; --paper:#ebe6dc; --cream:#e2dccf;
  --walnut:#6b4a2b; --walnut-deep:#3d2817;
  --ink:#1a1612; --ink-soft:#2a241e;
  --graphite:#4a4239; --stone:#8a8175; --stone-light:#b8b0a3;
  --line:rgba(26,22,18,.14); --line-soft:rgba(26,22,18,.08);
  --line-inv:rgba(244,240,233,.18);
  --serif:"Tinos","Times New Roman","Didot",Times,serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono","Courier New",monospace;
  --maxw:1360px;
  --measure:68ch;      /* misura di lettura: ~68 caratteri */
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bone);color:var(--ink);font-family:var(--sans);font-weight:350;
  font-size:clamp(1rem,.72rem + .42vw,1.05rem);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--walnut);color:var(--bone);}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--graphite);}
.eyebrow .dot{display:inline-block;width:4px;height:4px;background:var(--walnut);border-radius:50%;margin:0 12px 3px 0;vertical-align:middle;}
.caption{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);}
.section-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite);}
.section-tag::before{content:"";width:28px;height:1px;background:var(--walnut);}
.body-text{font-size:1.02rem;line-height:1.7;color:var(--ink-soft);font-weight:350;text-wrap:pretty;}
.body-text.large{font-size:clamp(1.08rem,.95rem + .45vw,1.28rem);line-height:1.65;}
.wrap{max-width:var(--maxw);margin-inline:auto;width:100%;}
.section{padding:clamp(4rem,6.5vw,7.5rem) clamp(1.4rem,5vw,5.5rem);}
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;padding:1.05em 1.9em;
  border:1px solid var(--ink);transition:.3s;cursor:pointer;background:transparent;color:var(--ink);}
.btn:hover{background:var(--ink);color:var(--bone);}
.btn.solid{background:var(--ink);color:var(--bone);}
.btn.solid:hover{background:var(--walnut);border-color:var(--walnut);}

header{position:fixed;inset:0 0 auto;z-index:1000;display:flex;align-items:center;justify-content:space-between;
  padding:1.3rem clamp(1.4rem,5vw,5.5rem);transition:.4s;border-bottom:1px solid transparent;}
header.scrolled{background:rgba(244,240,233,.94);backdrop-filter:blur(14px);padding-top:.85rem;padding-bottom:.85rem;border-bottom-color:var(--line);box-shadow:0 14px 34px -22px rgba(26,22,18,.35);}
.wordmark{display:inline-flex;align-items:center;font-family:var(--serif);color:var(--ink);}
.wordmark b{font-weight:500;letter-spacing:.28em;text-transform:uppercase;font-size:.82rem;}
.wordmark small{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);
  margin-left:14px;padding-left:14px;border-left:1px solid var(--line);}
nav.links{display:flex;gap:2rem;align-items:center;}
nav.links a{font-family:var(--sans);font-weight:400;font-size:.84rem;letter-spacing:.03em;color:var(--graphite);position:relative;padding:.2em 0;transition:color .3s;}
nav.links a::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--walnut);transition:width .35s;}
nav.links a:hover{color:var(--ink);}nav.links a:hover::after{width:100%;}
.nav-cta{font-family:var(--sans);font-weight:500;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.75em 1.35em;border:1px solid var(--ink);color:var(--ink);transition:.3s;white-space:nowrap;}
.nav-cta:hover{background:var(--ink);color:var(--bone);}
nav.mobile{display:none;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:1200;}
.burger span{width:24px;height:1.5px;background:var(--ink);transition:.3s;display:block;}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

footer.site{background:var(--ink);color:var(--bone);padding:clamp(2.6rem,4.5vw,4rem) clamp(1.4rem,5vw,5.5rem) 2rem;border-top:1px solid var(--line-inv);}
.foot-top{max-width:var(--maxw);margin-inline:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;}
.foot-brand .wordmark{color:var(--bone);margin-bottom:1rem;}
.foot-brand .wordmark small{color:var(--stone-light);border-color:var(--line-inv);}
.foot-brand p{color:var(--stone-light);max-width:34ch;font-size:.88rem;}
.foot-col h5{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone-light);margin-bottom:1rem;font-weight:400;}
.foot-col a{display:block;color:var(--bone);font-size:.88rem;padding:.28rem 0;opacity:.85;transition:.3s;}
.foot-col a:hover{opacity:1;color:var(--stone-light);}
.foot-bottom{max-width:var(--maxw);margin:2.4rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line-inv);
  display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;
  font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-light);}
.foot-bottom .folio{font-family:var(--serif);font-size:1.3rem;color:var(--bone);text-align:center;text-transform:none;letter-spacing:0;}
.foot-bottom > :last-child{text-align:right;}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1);}
.reveal.vis{opacity:1;transform:none;}
.reveal.d1{transition-delay:.07s;}.reveal.d2{transition-delay:.14s;}
:focus-visible{outline:2px solid var(--walnut);outline-offset:3px;}

/* ============================================================
   1 · Briciole di navigazione
   ============================================================ */
.crumbs{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;}
.crumbs a{color:var(--graphite);transition:color .3s;}
.crumbs a:hover{color:var(--walnut);}
.crumbs span[aria-current]{color:var(--stone);}
.crumbs .sep{opacity:.5;}

/* ============================================================
   2 · Hub del giornale
   ============================================================ */
.jr-hero{padding:calc(7.5rem + 1.3rem) clamp(1.4rem,5vw,5.5rem) clamp(2.6rem,4vw,3.6rem);border-bottom:1px solid var(--line);}
/* Senza l'occhiello sopra, il titolo deve staccarsi di più dalle briciole */
.jr-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.7rem + 3.6vw,4.6rem);line-height:1.02;
  letter-spacing:-.012em;margin:1.7rem 0 1.2rem;}
.jr-hero h1 .acc{color:var(--walnut);font-style:italic;}
.jr-hero p{max-width:62ch;}

/* Articolo di apertura: una sola cosa, grande */
.jr-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,3.4vw,3.4rem);align-items:center;
  padding-bottom:clamp(2.6rem,4vw,3.8rem);margin-bottom:clamp(2.6rem,4vw,3.8rem);border-bottom:1px solid var(--line);}
.jr-lead .ph{aspect-ratio:16/10;overflow:hidden;background:var(--cream);}
.jr-lead .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);}
.jr-lead:hover .ph img{transform:scale(1.035);}
.jr-lead h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,1.3rem + 2vw,3rem);line-height:1.08;
  letter-spacing:-.01em;margin:.9rem 0 1rem;}
.jr-lead .go{font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--walnut);display:inline-flex;gap:.4em;margin-top:1.4rem;transition:gap .3s;}
.jr-lead:hover .go{gap:.75em;}

.jr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2vw,2.2rem);}
.jr-card{border:1px solid var(--line);background:var(--bone);display:flex;flex-direction:column;
  transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s;}
.jr-card:hover{transform:translateY(-5px);box-shadow:0 30px 50px -34px rgba(26,22,18,.45);}
.jr-card .ph{aspect-ratio:4/3;overflow:hidden;background:var(--cream);position:relative;}
.jr-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1);}
.jr-card:hover .ph img{transform:scale(1.045);}
.jr-card .ph .kind{position:absolute;top:.85rem;left:.85rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;
  text-transform:uppercase;background:rgba(26,22,18,.78);color:var(--bone);padding:.45em .9em;}
.jr-card .body{padding:1.3rem 1.35rem 1.45rem;display:flex;flex-direction:column;gap:.75rem;flex:1;}
.jr-card h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.14;}
.jr-card p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;}
.jr-card .foot{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line);display:flex;
  justify-content:space-between;align-items:center;}
.jr-card .go{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--walnut);display:inline-flex;gap:.4em;transition:gap .3s;}
.jr-card:hover .go{gap:.7em;}

/* ============================================================
   3 · Testata dell'articolo
   ============================================================ */
.art-hero{padding:calc(7.5rem + 1.3rem) clamp(1.4rem,5vw,5.5rem) 0;}
.art-hero .inner{max-width:var(--maxw);margin-inline:auto;}
.art-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,1.5rem + 3.1vw,4.1rem);line-height:1.04;
  letter-spacing:-.012em;margin:1.1rem 0 1.3rem;max-width:22ch;}
.art-hero h1 .acc{color:var(--walnut);font-style:italic;}
.art-standfirst{max-width:var(--measure);font-size:clamp(1.08rem,.95rem + .45vw,1.28rem);line-height:1.6;
  color:var(--ink-soft);font-weight:350;text-wrap:pretty;}

/* Riga di dati secchi: aggiornamento, lettura, difficoltà */
.art-meta{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;margin-top:2.2rem;padding:1.6rem 0;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);}
.art-meta div{display:flex;flex-direction:column;gap:.25rem;}
.art-meta .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);}
.art-meta .v{font-family:var(--serif);font-size:1.08rem;color:var(--ink);}

.art-lead-fig{margin:clamp(2rem,3.4vw,3rem) 0 0;}
.art-lead-fig img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--cream);}
.art-lead-fig figcaption{margin-top:.75rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--stone);}

/* ============================================================
   4 · Corpo dell'articolo
   ============================================================ */
.art-wrap{padding:clamp(2.8rem,5vw,4.6rem) clamp(1.4rem,5vw,5.5rem) clamp(3.5rem,6vw,6rem);}
/* Il testo tiene la sua misura di lettura; l'indice è una colonna stretta
   spinta a destra. Un 1fr lo faceva largo quanto mezza pagina. */
.art-layout{max-width:var(--maxw);margin-inline:auto;display:grid;
  grid-template-columns:minmax(0,var(--measure)) minmax(14rem,18rem);
  justify-content:space-between;gap:clamp(2rem,5vw,5rem);align-items:start;}

.art-body{min-width:0;}
.art-body > * + *{margin-top:1.15rem;}
.art-body p{font-size:1.04rem;line-height:1.75;color:var(--ink-soft);font-weight:350;text-wrap:pretty;}
.art-body p.intro{font-size:1.12rem;line-height:1.68;color:var(--ink);}

/* I titoli di fase sono numerati perché il processo È una sequenza:
   l'ordine porta informazione, non decorazione. */
.art-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.55rem,1.2rem + 1.5vw,2.3rem);
  line-height:1.14;letter-spacing:-.008em;color:var(--ink);margin-top:clamp(2.6rem,4.5vw,3.8rem);
  padding-top:1.5rem;border-top:1px solid var(--line);}
.art-body h2 .n{display:block;font-family:var(--mono);font-size:.6rem;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;color:var(--walnut);margin-bottom:.7rem;}
.art-body h3{font-family:var(--sans);font-weight:600;font-size:1.02rem;letter-spacing:.01em;color:var(--ink);
  margin-top:2rem;}
.art-body h2 + p, .art-body h2 + figure, .art-body h3 + p{margin-top:1rem;}

.art-body ul,.art-body ol{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.7rem;}
.art-body li{position:relative;padding-left:1.7rem;font-size:1.02rem;line-height:1.68;color:var(--ink-soft);text-wrap:pretty;}
.art-body ul > li::before{content:"";position:absolute;left:.35rem;top:.68em;width:5px;height:5px;
  background:var(--walnut);border-radius:50%;}
.art-body ol{counter-reset:step;}
.art-body ol > li{counter-increment:step;}
.art-body ol > li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:.12em;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--walnut);}
.art-body li ul{margin-top:.6rem;}
.art-body strong{font-weight:600;color:var(--ink);}
.art-body em{font-style:italic;}
.art-body a:not(.btn){color:var(--walnut);border-bottom:1px solid rgba(107,74,43,.35);transition:.25s;}
.art-body a:not(.btn):hover{border-bottom-color:var(--walnut);background:rgba(107,74,43,.06);}

.art-body figure{margin-top:clamp(1.8rem,3vw,2.6rem);}
.art-body figure img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--cream);}
.art-body figcaption{margin-top:.7rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--stone);}

/* Citazione: la voce della bottega, non un ornamento */
.art-body blockquote{margin-top:clamp(2rem,3.4vw,3rem);padding-left:clamp(1.2rem,2.4vw,2rem);
  border-left:2px solid var(--walnut);}
.art-body blockquote p{font-family:var(--serif);font-size:clamp(1.2rem,1.02rem + .7vw,1.55rem);line-height:1.45;
  color:var(--ink);font-style:italic;}

/* Nota di bottega: quello che sappiamo perché lo abbiamo sbagliato */
.nota{margin-top:clamp(2rem,3.4vw,2.8rem);background:var(--paper);border:1px solid var(--line-soft);
  border-left:2px solid var(--walnut);padding:clamp(1.2rem,2.2vw,1.7rem) clamp(1.3rem,2.4vw,1.9rem);}
.nota .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--walnut);display:block;margin-bottom:.6rem;}
.nota p{font-size:.97rem;line-height:1.68;color:var(--ink-soft);}
.nota p + p{margin-top:.7rem;}

/* Tabella: dati, non griglia decorativa */
.art-table{margin-top:clamp(1.8rem,3vw,2.6rem);overflow-x:auto;-webkit-overflow-scrolling:touch;}
.art-table table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:31rem;}
.art-table th{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone);text-align:left;font-weight:400;padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--line);}
.art-table td{padding:.78rem .9rem .78rem 0;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top;}
.art-table tr:hover td{background:rgba(107,74,43,.035);}
.art-table td:first-child{color:var(--ink);font-weight:500;white-space:nowrap;}
.art-table .num{font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;color:var(--walnut);white-space:nowrap;}

/* ============================================================
   5 · Indice laterale — appiccicoso, discreto
   ============================================================ */
.art-aside{position:sticky;top:calc(var(--hdrh,62px) + 2rem);display:flex;flex-direction:column;gap:2rem;}
.art-toc h4{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--stone);font-weight:400;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:.9rem;}
.art-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:.1rem;}
.art-toc li{counter-increment:toc;}
.art-toc a{display:grid;grid-template-columns:2rem 1fr;gap:.4rem;align-items:baseline;padding:.5rem 0;
  font-size:.86rem;line-height:1.35;color:var(--graphite);border-bottom:1px solid var(--line-soft);transition:color .3s;}
.art-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-size:.6rem;
  letter-spacing:.1em;color:var(--stone);transition:color .3s;}
.art-toc a:hover{color:var(--ink);}
.art-toc a:hover::before{color:var(--walnut);}
.art-toc a.on{color:var(--ink);}
.art-toc a.on::before{color:var(--walnut);}

/* Richiamo al configuratore: pertinente, non pubblicitario */
.art-ad{border:1px solid var(--line);padding:1.5rem 1.4rem;background:var(--paper);}
.art-ad h4{font-family:var(--serif);font-weight:400;font-size:1.32rem;line-height:1.2;margin-bottom:.7rem;}
.art-ad p{font-size:.88rem;line-height:1.6;color:var(--ink-soft);margin-bottom:1.2rem;}
.art-ad .btn{width:100%;justify-content:center;font-size:.66rem;padding:.95em 1.2em;}

/* ============================================================
   6 · Domande frequenti — <details> nativo, zero JS
   ============================================================ */
.faq{margin-top:clamp(2.6rem,4.5vw,3.8rem);padding-top:1.5rem;border-top:1px solid var(--line);}
.faq > h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.55rem,1.2rem + 1.5vw,2.3rem);
  line-height:1.14;margin-bottom:1.4rem;border:0;padding:0;}
.faq details{border-bottom:1px solid var(--line-soft);}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.4rem 1.1rem 0;position:relative;
  font-family:var(--sans);font-weight:500;font-size:1rem;line-height:1.45;color:var(--ink);
  transition:color .3s;text-wrap:pretty;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--walnut);}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.55rem;width:9px;height:9px;
  border-right:1.5px solid var(--walnut);border-bottom:1.5px solid var(--walnut);
  transform:rotate(45deg);transition:transform .35s;}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq details > div{padding:0 0 1.3rem;}
.faq details p{font-size:.98rem;line-height:1.7;color:var(--ink-soft);}
.faq details p + p{margin-top:.7rem;}

/* ============================================================
   7 · Coda: firma, CTA, articoli collegati
   ============================================================ */
.art-sign{margin-top:clamp(2.6rem,4.5vw,3.6rem);padding-top:1.6rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:baseline;justify-content:space-between;}
.art-sign .who{font-family:var(--serif);font-size:1.1rem;color:var(--ink);}
.art-sign .who small{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--stone);margin-top:.35rem;}
.art-share{display:flex;gap:.8rem;align-items:center;}
.art-share span{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);}
.art-share a{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--graphite);border-bottom:1px solid var(--line);padding-bottom:2px;transition:.28s;}
.art-share a:hover{color:var(--walnut);border-bottom-color:var(--walnut);}

.art-cta{background:var(--ink);color:var(--bone);padding:clamp(2.8rem,5vw,4.4rem) clamp(1.4rem,5vw,5.5rem);}
.art-cta .inner{max-width:var(--maxw);margin-inline:auto;display:grid;grid-template-columns:1.4fr auto;
  gap:2rem;align-items:center;}
.art-cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,1.3rem + 1.8vw,2.7rem);
  line-height:1.12;letter-spacing:-.008em;max-width:20ch;}
.art-cta h2 .acc{color:var(--stone-light);font-style:italic;}
.art-cta p{color:var(--stone-light);max-width:52ch;margin-top:1rem;font-size:.98rem;}
.art-cta .btn{border-color:var(--bone);color:var(--bone);white-space:nowrap;}
.art-cta .btn:hover{background:var(--bone);color:var(--ink);}

.art-rel{padding:clamp(3rem,5vw,5rem) clamp(1.4rem,5vw,5.5rem);border-top:1px solid var(--line);}
.art-rel .inner{max-width:var(--maxw);margin-inline:auto;}
.art-rel h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,1.2rem + 1.3vw,2.1rem);
  margin:.9rem 0 2rem;}

/* ============================================================
   8 · Adattamenti
   ============================================================ */
@media(max-width:1060px){
  .art-layout{grid-template-columns:minmax(0,1fr);}
  .art-aside{position:static;flex-direction:row;flex-wrap:wrap;gap:1.6rem;}
  .art-toc{flex:1 1 22rem;}
  .art-ad{flex:1 1 18rem;}
  .jr-lead{grid-template-columns:1fr;}
  .jr-grid{grid-template-columns:repeat(2,1fr);}
  .foot-top{grid-template-columns:1fr 1fr;}
  .art-cta .inner{grid-template-columns:1fr;}
}
/* Con cinque voci (Tavoli, Giornale, Recensioni, Progetti XL, Partner) la barra
   richiede ~932px. Fra 940 e 1200 stringo le spaziature per guadagnare margine;
   sotto i 940 passo al menu a scomparsa. Misurato, non stimato. */
@media(max-width:1200px) and (min-width:941px){
  nav.links{gap:1.4rem;}
  nav.links a{white-space:nowrap;}
}
@media(max-width:940px){
  nav.links{display:none;}
  .nav-cta{font-size:.6rem;padding:.7em 1em;}
  .burger{display:flex;}
  nav.mobile{display:flex;position:fixed;inset:0;background:rgba(244,240,233,.98);backdrop-filter:blur(10px);z-index:1100;
    flex-direction:column;justify-content:center;align-items:center;gap:1.3rem;opacity:0;pointer-events:none;transition:opacity .4s;}
  nav.mobile.open{opacity:1;pointer-events:auto;}
  nav.mobile a{font-family:var(--serif);font-weight:400;font-size:1.8rem;color:var(--ink);}
}
@media(max-width:700px){
  .jr-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr;}
  .foot-bottom{grid-template-columns:1fr;text-align:center;}
  .foot-bottom > :last-child{text-align:center;}
  /* L'indice a fisarmonica: su mobile occupa meno di uno schermo */
  .art-toc{flex:1 1 100%;}
  .art-ad{flex:1 1 100%;}
  .art-meta{gap:1.1rem 1.8rem;}
  .art-body h2{margin-top:2.4rem;}
  .art-sign{flex-direction:column;gap:1.2rem;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
