/* PRESS-THEME-T2a — IL TEMA DELLA VETRINA PRESS.
 *
 * FONTE UNICA: docs/design/greentomeet-tema/static/css/site.css. La sezione
 * «PROTOTIPO» qui sotto e' quel foglio portato INTERO e nello stesso ordine,
 * perche' la grafica si replica identica e un confronto riga per riga deve
 * restare possibile. Le modifiche rispetto alla fonte sono tre, e sono le sole:
 *
 *   1. I FONT SONO NOSTRI. Il prototipo li chiede a Google Fonts, che la CSP
 *      blocca (`font-src 'self'`): Instrument Serif e Manrope (SIL OFL 1.1,
 *      da @fontsource 5.3.0, licenze accanto ai file) stanno in
 *      `press/static/press/fonts/`. I ripieghi restano quelli della fonte:
 *      Georgia per il serif, system-ui per il sans.
 *   2. NESSUNO `style=""`. Gli attributi inline del prototipo (testata e
 *      piede) sono diventati le classi della sezione «GUSCIO» in fondo: la
 *      CSP e' `style-src 'self'`, e un attributo inline sarebbe ignorato.
 *   3. I TOKEN SONO DEFAULT. `--verde`, `--carta`, `--fondo`… valgono per ogni
 *      canale finche' T2c non porta la tavolozza per-canale (un foglio servito
 *      dal nostro dominio: la CSP esclude un <style> in pagina).
 *
 * I nomi delle classi sono quelli del prototipo, senza prefisso: questo foglio
 * lo carica SOLO `press/portal/_base.html`, cioe' un documento pubblico che non
 * monta Bootstrap ne' la shell — dove la regola dei prefissi esiste per evitare
 * collisioni che qui non possono avvenire. C'e' un test che lo verifica.
 *
 * Deployment impact: app only.
 */

/* ===========================================================================
 * FONT self-hosted (OFL)
 * ======================================================================== */

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif/instrument-serif-latin-400-normal.9b8dd1ecf641.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif/instrument-serif-latinext-400-normal.b160c869d0b2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif/instrument-serif-latin-400-italic.bc891bdd08ad.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif/instrument-serif-latinext-400-italic.148ffff0cacc.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope/manrope-latin-wght.938c6e8019b6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope/manrope-latinext-wght.6d36d5bdedfa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ===========================================================================
 * PROTOTIPO — docs/design/greentomeet-tema/static/css/site.css, intero.
 * ======================================================================== */

:root{
  --verde:#016141; --verde-scuro:#0b1a14; --verde-chiaro:#eef2ea; --verde-tenue:#9fd3bb;
  --carta:#faf6ed; --fondo:#ece7dc; --rule:#e2dccd;
  --ink:#16231d; --ink-2:#2c3a33; --ink-3:#4c5a52; --muted:#5c6b62;
  --serif:"Instrument Serif",Georgia,serif; --sans:Manrope,system-ui,-apple-system,sans-serif;
  --r-s:12px; --r-m:18px; --r-l:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;background:#ded7c8}
a{color:inherit;text-decoration:none}
a:hover{color:var(--verde)}
button{font-family:inherit}
.wrap{max-width:1280px;margin:0 auto;background:var(--carta);padding:0 20px 72px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* testata */
.issue-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;padding:10px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;font-size:12.5px}
.issue-tag{background:var(--verde);color:var(--carta);font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:999px;font-size:11px}
.issue-bar .oggi{color:var(--muted)}
/* RIFINITURE-1 E1 — la sinistra della fascia: pill e intervallo, su una riga. */
.issue-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.issue-period{font-weight:600}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-size:30px;line-height:1;color:var(--verde)}
.masthead .actions{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;flex-wrap:wrap}
.pill{border:1px solid #d8d1c1;border-radius:999px;padding:7px 14px}
.pill--solid{background:var(--verde);color:var(--carta);border-color:var(--verde);padding:8px 16px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;border-bottom:1px solid var(--rule);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--verde-chiaro);color:#1d3a2e;white-space:nowrap}

/* comuni */
.kicker{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
.meta{font-size:12px;color:var(--muted)}
.section{padding-bottom:44px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:20px}
.section-head h2{margin:0;font-family:var(--serif);font-size:30px;font-weight:400}
.section-head a{font-size:13px;font-weight:600;color:var(--verde)}
.btn{border:0;background:var(--verde);color:#f2f7f1;font-size:13.5px;font-weight:700;padding:12px 22px;border-radius:999px;cursor:pointer}
.btn-ghost{border:1px solid #c4d3c6;background:var(--carta);color:#1d3a2e;font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer}

/* apertura */
.lead{display:flex;flex-wrap:wrap;gap:26px;padding:30px 0 34px}
.lead-main{flex:2.4 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.lead-main img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-m)}
.lead-main h1{margin:0;font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.08;letter-spacing:-.01em;text-wrap:pretty}
.lead-main p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-3);max-width:60ch;text-wrap:pretty}
.lead-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:18px}
.lead-side a{display:flex;flex-direction:column;gap:10px}
.lead-side img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.lead-side h3{margin:0;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.15;text-wrap:pretty}

/* indice del numero */
.issue-index{background:var(--verde-chiaro);border-radius:var(--r-l);padding:26px;margin-bottom:40px}
.issue-index .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px 28px}
.issue-index a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 0;border-top:1px solid #dce4da}
.issue-index .num{font-family:var(--serif);font-size:19px;color:var(--verde)}
.issue-index .t{font-size:15px;font-weight:600;line-height:1.35;text-wrap:pretty}

/* poster */
.posters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.poster{position:relative;display:block;border-radius:var(--r-m);overflow:hidden}
.poster img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.poster span.cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:22px 18px;color:#fff;
  background:linear-gradient(to top,rgba(3,18,12,.94) 0%,rgba(3,18,12,.78) 26%,rgba(3,18,12,.18) 58%,rgba(3,18,12,0) 78%)}
.poster .cap .kicker{color:#bcdccb}
.poster .cap .t{font-family:var(--serif);font-size:21px;line-height:1.15;text-wrap:pretty}

/* apertura + elenco */
.split{display:flex;flex-wrap:wrap;gap:32px}
.split-main{flex:1.6 1 320px;min-width:0;display:flex;flex-direction:column;gap:14px}
.split-main img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-m)}
.split-main .t{font-family:var(--serif);font-size:28px;line-height:1.12;text-wrap:pretty}
.split-list{flex:1 1 300px;min-width:0;display:flex;flex-direction:column}
.split-list a{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid var(--rule)}
.split-list img{width:84px;height:84px;object-fit:cover;border-radius:var(--r-s)}
.split-list .t{font-size:16px;font-weight:600;line-height:1.3;text-wrap:pretty}

/* card */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}
.card{display:flex;flex-direction:column;gap:11px;min-width:0}
.card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
.card .t{font-size:18px;font-weight:600;line-height:1.28;text-wrap:pretty}
.card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-3);text-wrap:pretty}

/* righe */
.rows a{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding:20px 0;border-top:1px solid var(--rule)}
.rows img{flex:1 1 180px;max-width:260px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;min-width:0}
.rows .txt{flex:2 1 320px;display:flex;flex-direction:column;gap:9px;min-width:0}
.rows .t{font-family:var(--serif);font-size:25px;line-height:1.15;text-wrap:pretty}
.rows p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-3);text-wrap:pretty}

/* archivio solo testo */
.index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px}
.index-grid a{display:flex;flex-direction:column;gap:7px;padding:16px 0;border-bottom:1px solid var(--rule);min-width:0}
.index-grid .t{font-size:16.5px;font-weight:600;line-height:1.3;text-wrap:pretty}

/* fascia podcast */
.band{margin:0 -20px 44px;background:var(--verde);color:#f2f7f1;padding:38px 20px}
.band .cols{display:flex;flex-wrap:wrap;gap:34px}
.band .intro{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:14px}
.band h2{margin:0;font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.1}
.band p{margin:0;font-size:15px;line-height:1.65;color:#cfe3d6;max-width:44ch;text-wrap:pretty}
.band .kicker{color:#bcdccb}
.band .btn-light{align-self:flex-start;background:#f2f7f1;color:var(--verde);font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:999px;border:0}
.band .list{flex:1.4 1 340px;min-width:0;display:flex;flex-direction:column}
.episode{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid rgba(242,247,241,.22)}
.episode .n{font-family:var(--serif);font-size:22px;color:#bcdccb}
.episode .t{font-size:16px;font-weight:600;line-height:1.3;text-wrap:pretty}
.episode .m{font-size:12px;color:#c2dccd}

/* citazione + newsletter */
.quote-box{background:var(--verde-chiaro);border-radius:var(--r-l);padding:30px;margin-bottom:44px;display:flex;flex-wrap:wrap;gap:30px;align-items:center}
.quote-box .q{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:12px}
.quote-box .q .t{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.35;color:#1d3a2e;text-wrap:pretty}
.newsletter{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:12px}
.newsletter form{display:flex;gap:8px;flex-wrap:wrap}
.newsletter input{flex:1 1 150px;min-width:0;border:1px solid #d3dbd0;background:var(--carta);border-radius:999px;padding:12px 16px;font:inherit;font-size:13.5px}

/* articolo */
#reading-progress{position:sticky;top:0;z-index:25;height:3px;margin:0 -20px;background:transparent}
#reading-progress .bar{height:3px;background:var(--verde);transform:scaleX(0);transform-origin:left center}
@supports (animation-timeline: scroll()){
  #reading-progress .bar{animation:gtmProgress linear both;animation-timeline:scroll(root)}
}
@keyframes gtmProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes gtmPulse{0%,100%{opacity:.25}50%{opacity:1}}
.article-head{max-width:720px;margin:0 auto;padding:36px 0 26px;display:flex;flex-direction:column;gap:16px}
.article-head h1{margin:0;font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.06;letter-spacing:-.01em;text-wrap:pretty}
.article-head .occhiello{margin:0;font-size:18px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.article-byline{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px;color:var(--muted);border-top:1px solid var(--rule);margin-top:4px;padding-top:14px}
.article-byline .autore{font-weight:600;color:var(--ink)}
.article-figure{margin:0 0 34px}
.article-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-m)}
.article-figure figcaption{font-size:12.5px;color:var(--muted);padding-top:10px;max-width:720px;margin:0 auto}
.article-body{max-width:680px;margin:0 auto;font-size:18px;line-height:1.75;color:var(--ink-2)}
.article-body p{margin:0 0 22px}
.article-body h2{margin:34px 0 16px;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15;color:var(--ink);scroll-margin-top:60px}
.article-body blockquote{margin:28px 0;padding:20px 24px;background:var(--verde-chiaro);border-radius:16px;display:flex;flex-direction:column;gap:14px}
.article-body blockquote .t{font-family:var(--serif);font-size:24px;line-height:1.35;color:#1d3a2e;text-wrap:pretty}

/* player audio */
.audio-player{max-width:720px;margin:0 auto 28px;background:var(--verde-chiaro);border-radius:999px;padding:10px 12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.audio-player .play{width:42px;height:42px;flex:0 0 auto;border-radius:999px;border:0;background:var(--verde);color:#f2f7f1;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.audio-player .info{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:5px}
.audio-player .titolo{font-size:14px;font-weight:700}
.audio-player .track{height:5px;border-radius:999px;background:#d7e2d7;overflow:hidden}
.audio-player .fill{display:block;height:5px;border-radius:999px;background:var(--verde);width:0;transition:width .25s linear}
.audio-player .rate{border:1px solid #c4d3c6;background:var(--carta);color:#1d3a2e;font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}

/* striscia media + visore */
.media-strip{max-width:680px;margin:0 auto 26px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.media-strip .et{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
.media-strip button{position:relative;padding:0;border:0;background:none;cursor:pointer;flex:0 0 auto;border-radius:10px;overflow:hidden;width:72px;height:54px}
.media-strip img{width:72px;height:54px;object-fit:cover}
.media-strip .badge{position:absolute;inset:auto 0 0 0;background:rgba(3,18,12,.82);color:#f2f7f1;font-size:10px;font-weight:700;padding:3px 0;text-align:center}
.media-strip .nota{font-size:12.5px;color:var(--muted);flex:1 1 140px;min-width:0}
.viewer{position:fixed;inset:0;z-index:60;background:rgba(3,18,12,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px}
.viewer[hidden]{display:none}
.viewer .topline{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:900px;color:#cfe3d6;font-size:12.5px}
.viewer .stage{display:flex;align-items:center;gap:12px;width:100%;max-width:900px}
.viewer .frame{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px}
.viewer img{width:100%;height:auto;max-height:74vh;object-fit:contain;border-radius:14px}
.viewer .cap{font-size:13px;line-height:1.5;color:#cfe3d6;text-align:center;text-wrap:pretty}
.viewer .nav,.viewer .close{border:1px solid #3d564a;background:rgba(255,255,255,.06);color:#f2f7f1;border-radius:999px;cursor:pointer}
.viewer .nav{flex:0 0 auto;font-size:16px;width:40px;height:40px}
.viewer .close{font-size:13px;font-weight:600;padding:8px 14px;background:transparent}
.viewer .embed{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#08140f}

/* indice capitoli */
.toc{max-width:680px;margin:0 auto 30px;border:1px solid var(--rule);border-radius:var(--r-m);padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.toc a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:12px;align-items:baseline;font-size:15px}
.toc .n{font-family:var(--serif);font-size:17px;color:var(--verde)}
.toc .t{font-weight:600;line-height:1.35;text-wrap:pretty}

/* condivisione, chat, parere */
.tags{max-width:680px;margin:30px auto 0;display:flex;flex-wrap:wrap;gap:8px}
.tags a{font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--verde-chiaro);color:#1d3a2e}
.share-box{max-width:680px;margin:26px auto 0;border:1px solid var(--rule);border-radius:var(--r-m);padding:22px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.share-box .txt{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:6px}
.share-box .txt .t{font-size:17px;font-weight:700}
.share-box .azioni{display:flex;gap:8px;flex-wrap:wrap}
.share-box .azioni button{border:1px solid #c4d3c6;background:var(--carta);color:#1d3a2e;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.ai-box{max-width:680px;margin:44px auto 0;background:var(--verde-chiaro);border-radius:var(--r-l);padding:22px}
.ai-box .head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:6px}
.ai-box .avatar{width:26px;height:26px;border-radius:999px;background:var(--verde);display:inline-flex;align-items:center;justify-content:center;color:var(--carta);font-size:12px;font-weight:700}
.ai-box .beta{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);border:1px solid #b9cdbe;border-radius:999px;padding:3px 9px}
.ai-box .intro{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--ink-3)}
.ai-log{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.ai-msg{display:flex}
.ai-msg .bolla{max-width:82%;padding:11px 15px;font-size:14px;line-height:1.55;text-wrap:pretty}
.ai-msg.ai{justify-content:flex-start}
.ai-msg.ai .bolla{background:var(--carta);color:#26332c;border-radius:16px 16px 16px 4px}
.ai-msg.io{justify-content:flex-end}
.ai-msg.io .bolla{background:var(--verde);color:#f2f7f1;border-radius:16px 16px 4px 16px}
.ai-typing{display:flex;gap:5px;align-items:center;padding:10px 14px;background:var(--carta);border-radius:14px;align-self:flex-start}
.ai-typing span{width:7px;height:7px;border-radius:999px;background:var(--verde);animation:gtmPulse 1.1s infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
.ai-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ai-form{display:flex;gap:8px;flex-wrap:wrap}
.ai-form input{flex:1 1 200px;min-width:0;border:1px solid #c4d3c6;background:var(--carta);border-radius:999px;padding:12px 16px;font:inherit;font-size:14px}
/* PRESS-AI-1 gate D — cio' che il markup di «Chiedi all'articolo» aggiunge al
 * prototipo, e niente altro. Le regole qui sopra restano quelle copiate in T2a.
 *
 * `[hidden]` ESPLICITO: `.ai-box` oggi non dichiara `display`, quindi l'attributo
 * basterebbe — ma la vetrina l'ha gia' imparato due volte (`.press-share`,
 * `.press-listen`): la prima regola che un giorno dichiarasse `display` sul
 * riquadro lo renderebbe visibile senza JavaScript, cioe' un modulo che non
 * funziona mostrato a chi non puo' usarlo. */
.ai-box[hidden]{display:none}
/* Lo `style="font-size:16px;font-weight:700"` del prototipo, come classe: la
 * CSP non ammette stili inline, e il test del guscio conta gli `style="`. */
.press-ai-ask-titolo{font-size:16px;font-weight:700}
/* L'etichetta c'e' e non si vede: la stessa forma di `.press-search-label`,
 * con un nome suo (E6: due componenti non si contendono un selettore). */
.press-ai-ask-label{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
/* Il campo trappola (§4.4): fuori dallo schermo, fuori dalla tabulazione. */
.press-ai-ask-trappola{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* LE FONTI IN CODA ALLA BOLLA. Il prototipo non ne ha, in questo riquadro: le
 * ha la barra della home (`.ai-bar .fonti`), e questa e' la sua stessa chip,
 * riletta dentro una bolla. Nessun colore o misura nuova. */
.ai-box .fonti{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.ai-box .fonti-etichetta{font-size:12px;color:var(--muted)}
.ai-box .fonti a{font-size:12.5px;font-weight:600;color:var(--verde);border:1px solid #c4d3c6;border-radius:999px;padding:6px 12px;background:var(--carta)}
.parere{max-width:680px;margin:44px auto 0;border:1px solid var(--rule);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:16px}
.parere h2{margin:0;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15}
.parere .nota{font-size:13.5px;line-height:1.55;color:var(--ink-3)}
.parere .reazioni{display:flex;gap:8px;flex-wrap:wrap}
.parere .reazioni button{border:1px solid #c4d3c6;background:var(--carta);color:#1d3a2e;font-size:13px;font-weight:600;padding:9px 14px;border-radius:999px;cursor:pointer}
.parere .reazioni button[aria-pressed="true"]{background:var(--verde);color:#f2f7f1;border-color:var(--verde)}
.parere form{display:flex;gap:8px;flex-wrap:wrap}
.parere input[type=text]{flex:1 1 220px;min-width:0;border:1px solid #c4d3c6;background:var(--carta);border-radius:999px;padding:12px 16px;font:inherit;font-size:14px}
.gate{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gate a.secondario{font-size:13.5px;font-weight:600;color:var(--verde)}

/* paginazione, footer */
.pagination{display:flex;gap:12px;justify-content:center;padding:40px 0;font-size:14px}
.sitefoot{border-top:1px solid var(--rule);padding-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px}
.sitefoot .col{display:flex;flex-direction:column;gap:9px;font-size:13.5px;min-width:0}
.sitefoot .col .h{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.legal{font-size:12px;line-height:1.65;color:var(--muted);min-width:0}

@media (max-width:640px){
  .lead-main h1{font-size:30px}
  .article-head h1{font-size:32px}
  .band h2,.section-head h2{font-size:26px}
  .article-body{font-size:17px}
}
@media print{
  .audio-player,.media-strip,.ai-box,.parere,.share-box,.chips,#reading-progress{display:none}
}

/* marchio registrato */
.reg{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1;padding-top:4px}

/* menu lingue */
.lang-menu{position:relative}
.lang-menu summary{list-style:none;cursor:pointer;border:1px solid #d8d1c1;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu .lang-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;background:var(--carta);border:1px solid var(--rule);border-radius:14px;padding:6px;display:flex;flex-direction:column;min-width:170px;box-shadow:0 14px 34px rgba(11,26,20,.14)}
.lang-menu .lang-panel a{border:0;background:none;border-radius:10px;cursor:pointer;font:inherit;font-size:13.5px;padding:9px 10px;text-align:left;display:flex;align-items:center;gap:10px;color:#1d3a2e}
.lang-menu .lang-panel a:hover{background:var(--verde-chiaro)}
.lang-menu .lang-panel a.attiva{background:var(--verde-chiaro);color:var(--verde);font-weight:700}
.lang-menu .cod{font-weight:700;font-size:11px;letter-spacing:.08em;width:22px}
/* PRESS-AI-1 FIX-E3 — il menu «Sezioni»: le voci del menu del canale in una
   tendina fra le azioni, quando il canale sceglie questa forma al posto delle
   chip. <details> nativo, nessun JavaScript; i link stanno nel documento anche
   a tendina chiusa. Il summary e' una pill, come Podcast e Scrivi. */
.sections-menu{position:relative}
.sections-menu summary{list-style:none;cursor:pointer;border:1px solid #d8d1c1;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.sections-menu summary::-webkit-details-marker{display:none}
.sections-menu[open] summary{background:var(--verde);color:var(--carta);border-color:var(--verde)}
.sections-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;background:var(--carta);border:1px solid var(--rule);border-radius:14px;padding:6px;display:flex;flex-direction:column;min-width:230px;max-height:70vh;overflow-y:auto;box-shadow:0 14px 34px rgba(11,26,20,.14)}
.sections-panel a{border-radius:10px;padding:9px 10px;font-size:13.5px;color:#1d3a2e}
.sections-panel a:hover{background:var(--verde-chiaro);color:var(--verde)}
.sections-panel a.sezione{font-weight:700}
.sections-panel a.sotto{padding-left:24px;font-weight:500}
@media (max-width:640px){
  .masthead{position:relative}
  .sections-menu{position:static}
  .sections-panel{left:0;right:0;min-width:0}
}
.lang-footer{display:flex;gap:8px;flex-wrap:wrap}
.lang-footer button{border:1px solid #d8d1c1;background:transparent;border-radius:999px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:7px 14px;color:#1d3a2e}
.lang-footer button.attiva{background:var(--verde);border-color:var(--verde);color:var(--carta)}

/* barra AI (togliendo AI_BAR_ENABLED sparisce senza lasciare spazi) */
.ai-bar{margin:18px 0 0;background:var(--verde-chiaro);border-radius:var(--r-m);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.ai-bar .riga{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ai-bar .avatar{width:28px;height:28px;flex:0 0 auto;border-radius:999px;background:var(--verde);color:var(--carta);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.ai-bar input{flex:1 1 220px;min-width:0;border:0;background:transparent;font:inherit;font-size:14.5px;padding:8px 0;outline:none}
.ai-bar .coda{display:flex;align-items:center;gap:8px}
.ai-bar .beta{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);border:1px solid #b9cdbe;border-radius:999px;padding:3px 9px}
.ai-bar .btn{padding:9px 18px;font-size:13px}
.ai-bar .esempi{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ai-bar .esempi .btn-ghost{font-size:12px;padding:6px 12px}
.ai-bar .risposta{background:var(--carta);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.ai-bar .risposta[hidden]{display:none}
.ai-bar .risposta .testo{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-2);text-wrap:pretty}
.ai-bar .fonti{display:flex;gap:8px;flex-wrap:wrap}
.ai-bar .fonti a{font-size:12.5px;font-weight:600;color:var(--verde);border:1px solid #c4d3c6;border-radius:999px;padding:7px 13px}
.ai-bar .chiudi{align-self:flex-start;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:0}
@media print{.ai-bar{display:none}}
/* PRESS-AI-1 gate E + FIX-E1 — cio' che il markup della barra aggiunge al prototipo.
 *
 * `[hidden]` ESPLICITO SU ESEMPI E BETA, e non e' prudenza: nella barra unica
 * sono gli elementi che nascono nascosti (senza JavaScript la barra e' ricerca
 * pura) e che `ai-bar.js` scopre. `.ai-bar .esempi` dichiara `display:flex`, che
 * vince sull'attributo — nel prototipo e' un difetto vero: `esempi.hidden = true`
 * in `site.js` non nasconde niente. `.ai-bar .beta` oggi non dichiara `display`,
 * e la regola c'e' lo stesso: la prima che lo dichiarasse mostrerebbe «BETA» su
 * una ricerca senza assistente. (La barra stessa non nasce piu' `hidden`.) */
.ai-bar .esempi[hidden],.ai-bar .beta[hidden]{display:none}
/* PRESS-AI-1 FIX-E3 — l'attesa della barra: i tre puntini di «Chiedi
 * all'articolo» (`.ai-typing`, regola del prototipo) stanno AL POSTO del testo,
 * che si nasconde. `.ai-bar .risposta .testo` oggi non dichiara `display`: la
 * regola esplicita è la stessa disciplina di `.esempi` e `.beta` qui sopra. */
.ai-bar .risposta .testo[hidden]{display:none}
/* L'etichetta c'e' e non si vede; la trappola sta fuori dallo schermo. Nomi
 * propri, non quelli di «Chiedi all'articolo» (E6). */
.press-ai-bar-label{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.press-ai-bar-trappola{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* --- pagina «Scrivi su Green to meet» --- */
.scrivi-hero{display:flex;flex-wrap:wrap;gap:36px;align-items:center;padding:44px 0 46px}
.scrivi-hero .testo{flex:1.2 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}
.scrivi-hero h1{margin:0;font-family:var(--serif);font-size:52px;font-weight:400;line-height:1.03;letter-spacing:-.015em;text-wrap:pretty}
.scrivi-hero p{margin:0;font-size:17.5px;line-height:1.65;color:#3f4d45;max-width:54ch;text-wrap:pretty}
.scrivi-hero img{flex:1 1 300px;min-width:0;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-l)}
.azioni{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:4px}
.azioni .btn{padding:14px 26px;font-size:14.5px;display:inline-block}
.btn-linea{border:1px solid #c4d3c6;font-size:14px;font-weight:600;padding:13px 22px;border-radius:999px}
.tre-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;padding-bottom:52px}
.tre-card.due{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tre-card .box{background:var(--verde-chiaro);border-radius:var(--r-m);padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tre-card .box .t{font-family:var(--serif);font-size:23px;line-height:1.2}
.tre-card .box .d{font-size:14.5px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.tre-card .box a{align-self:flex-start;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--verde)}
.passi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.passo{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:2px solid var(--verde);min-width:0}
.passo .n{font-family:var(--serif);font-size:30px;color:var(--verde);line-height:1}
.passo .t{font-size:17px;font-weight:700;line-height:1.25}
.passo .d{font-size:14.5px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.due-colonne{display:flex;flex-wrap:wrap;gap:34px;padding:36px 0 52px;border-top:1px solid var(--rule)}
.due-colonne .col{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.due-colonne h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:400}
.due-colonne p{margin:0;font-size:15.5px;line-height:1.7;color:#3f4d45;max-width:56ch;text-wrap:pretty}
.voce{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:baseline;font-size:15px;line-height:1.6}
.voce.si{color:var(--ink-2)}
.voce.si .segno{color:var(--verde);font-weight:700}
.voce.no{color:var(--muted)}
.voce.no .segno{font-weight:700}
.interviste h2{font-size:34px;line-height:1.12}
.interviste .riquadro{background:var(--verde-chiaro);border-radius:var(--r-m);padding:24px;flex:1 1 280px}
.faq h2{margin:0 0 20px;font-family:var(--serif);font-size:34px;font-weight:400}
.faq details{border-top:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:17px;font-weight:600;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq .piu{font-size:22px;color:var(--verde);line-height:1;flex:0 0 auto;transition:transform .2s ease}
.faq details[open] .piu{transform:rotate(45deg)}
.faq .risposta{font-size:15px;line-height:1.7;color:#3f4d45;max-width:68ch;padding:0 0 20px;text-wrap:pretty}
.cta-finale{background:var(--verde-chiaro);border-radius:var(--r-l);padding:40px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-bottom:48px}
.cta-finale .t{font-family:var(--serif);font-size:38px;line-height:1.1;max-width:20ch;text-wrap:pretty}
.cta-finale .d{font-size:15.5px;line-height:1.6;color:#3f4d45;max-width:52ch;text-wrap:pretty}
.cta-finale .btn{padding:15px 30px;font-size:15px;margin-top:4px}
@media (max-width:640px){
  .scrivi-hero h1{font-size:34px}
  .cta-finale .t,.interviste h2,.faq h2{font-size:27px}
}

/* --- pagina contatti --- */
.contatti-head{max-width:720px;margin:0 auto;padding:44px 0 28px;display:flex;flex-direction:column;gap:16px}
.contatti-head h1{margin:0;font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.06;letter-spacing:-.01em;text-wrap:pretty}
.contatti-head p{margin:0;font-size:17px;line-height:1.65;color:#3f4d45;text-wrap:pretty}
.contatti-form{max-width:720px;margin:0 auto}
.contatti-form .motivi{display:flex;flex-direction:column;gap:10px;padding-bottom:26px}
.contatti-form .etichetta{font-size:13px;font-weight:700}
.contatti-form .scelte{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.motivo{display:flex;flex-direction:column;gap:4px;cursor:pointer;border:1px solid #d8d1c1;background:var(--carta);border-radius:14px;padding:14px 16px}
.motivo input{position:absolute;opacity:0;width:0;height:0}
.motivo .t{font-size:14.5px;font-weight:700}
.motivo .n{font-size:12.5px;color:var(--muted)}
.motivo.attivo{background:var(--verde);border-color:var(--verde);color:#f2f7f1}
.motivo.attivo .n{color:#cfe3d6}
.contatti-form .riquadro{background:var(--verde-chiaro);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:20px}
.contatti-form .intestazione{display:flex;flex-direction:column;gap:6px}
.contatti-form .intestazione .t{font-family:var(--serif);font-size:24px;line-height:1.2}
.contatti-form .intestazione .d{font-size:13.5px;line-height:1.6;color:var(--ink-3);text-wrap:pretty}
.contatti-form .errori{background:#fdf1ec;border:1px solid #e3c3b5;color:#7a3b21;border-radius:12px;padding:12px 14px;font-size:13.5px}
.contatti-form .griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.contatti-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.contatti-form label em{font-style:normal;font-weight:500;color:var(--muted)}
.contatti-form input[type=text],.contatti-form input[type=email],.contatti-form input[type=tel],
.contatti-form input[type=url],.contatti-form textarea{
  border:1px solid #cfd9cd;background:var(--carta);border-radius:12px;padding:12px 14px;
  font:inherit;font-size:14.5px;font-weight:400;color:var(--ink)}
.contatti-form textarea{border-radius:14px;line-height:1.6;resize:vertical}
.contatti-form .meta{font-weight:500}
.contatti-form .canale{display:flex;flex-direction:column;gap:10px}
.contatti-form .scelte-linea ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.contatti-form .scelte-linea label{flex-direction:row;align-items:center;gap:8px;border:1px solid #cfd9cd;background:var(--carta);border-radius:999px;padding:9px 16px;font-size:13px;cursor:pointer}
.contatti-form .scelte-linea input{accent-color:var(--verde)}
.contatti-form .consenso{flex-direction:row;gap:10px;align-items:flex-start;font-size:13px;font-weight:400;line-height:1.6;color:#3f4d45;cursor:pointer}
.contatti-form .consenso input{margin-top:3px;width:17px;height:17px;accent-color:var(--verde);flex:0 0 auto}
.contatti-form .consenso a{color:var(--verde);font-weight:600}
.contatti-form .invio{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.contatti-form .invio .btn{padding:14px 26px;font-size:14.5px}
.contatti-ok{max-width:720px;margin:0 auto;background:var(--verde-chiaro);border-radius:20px;padding:34px;display:flex;flex-direction:column;gap:14px}
.contatti-ok .segno{width:40px;height:40px;border-radius:999px;background:var(--verde);color:#f2f7f1;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.contatti-ok .t{font-family:var(--serif);font-size:30px;line-height:1.15}
.contatti-ok .d{font-size:15.5px;line-height:1.65;color:#3f4d45;max-width:56ch;text-wrap:pretty}
.contatti-ok .btn-linea{align-self:flex-start;margin-top:6px;background:var(--carta)}
.contatti-promesse{max-width:720px;margin:36px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.promessa{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:2px solid var(--verde);min-width:0}
.promessa .t{font-size:15.5px;font-weight:700;line-height:1.3}
.promessa .d{font-size:14px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.contatti-piede{max-width:720px;margin:40px auto 0;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-top:26px;border-top:1px solid var(--rule)}
.contatti-piede div{display:flex;flex-direction:column;gap:6px;min-width:0}
.contatti-piede .t{font-size:15px;font-weight:700}
.contatti-piede .d{font-size:14px;line-height:1.6;color:#3f4d45}
@media (max-width:640px){ .contatti-head h1{font-size:32px} }

/* ===========================================================================
 * GUSCIO — gli `style=""` del prototipo, tradotti in classi (PRESS-THEME-T2a).
 * Accanto a ogni regola: da dove viene.
 * ======================================================================== */

/* header.html: <span style="display:flex;align-items:center;gap:10px;flex-wrap:wrap"> */
.issue-bar .issue-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* header.html: <a href="home" style="display:flex;flex-direction:column;gap:4px;min-width:0"> */
.masthead .brand{display:flex;flex-direction:column;gap:4px;min-width:0}
/* header.html: <span class="wordmark" style="font-size:46px;line-height:.95"> */
.wordmark--masthead{font-size:46px;line-height:.95}
/* header.html: la riga sotto il marchio, style="font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)" */
.masthead .tagline{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
/* footer.html: <span class="wordmark" style="font-size:26px;display:inline-flex;align-items:flex-start;gap:3px"> */
.wordmark--foot{font-size:26px;display:inline-flex;align-items:flex-start;gap:3px}
/* footer.html: blocco direttore, style="font-size:12.5px;line-height:1.6;color:var(--ink-3)" */
.sitefoot .direttore{font-size:12.5px;line-height:1.6;color:var(--ink-3)}
/* footer.html: nome del direttore, style="font-weight:600;color:var(--ink)" */
.sitefoot .direttore-nome{font-weight:600;color:var(--ink)}
/* footer.html: riga social, style="display:flex;gap:14px;color:var(--ink-3);flex-wrap:wrap" */
.sitefoot .social{display:flex;gap:14px;color:var(--ink-3);flex-wrap:wrap}

/* AGGIUNTE, non nel prototipo — dichiarate.
 * Il LOGO come immagine: il prototipo scrive il marchio come testo; un canale
 * che carica un logo lo vede alla stessa altezza del testo che sostituisce
 * (46px in testata, 26px nel piede). `background:none` toglie il fondo che la
 * regola globale `img` del prototipo mette a ogni immagine: su un PNG
 * trasparente disegnerebbe un rettangolo grigio dietro il marchio. */
.brand-logo{height:44px;width:auto;max-width:100%;background:none}
.brand-logo--foot{height:25px}
/* Il 404: il testo usa la misura e il colore dei paragrafi del prototipo. */
.press-not-found{padding-top:40px}
.press-not-found-text{margin:0 0 22px;max-width:60ch;font-size:16px;line-height:1.6;color:var(--ink-3)}
.press-not-found .btn{display:inline-block}

/* ===========================================================================
 * PRESS-THEME-T3 — MENU CONFIGURATI. Non nel prototipo, che non ha tendine né
 * barra secondaria: aggiunte dichiarate, costruite coi token e le misure del
 * prototipo (chip, pill, rule) perché non si distinguano dal resto.
 * ======================================================================== */

/* La barra secondaria: nella issue-bar, a destra. Stessa misura del testo
 * della barra (12.5px), colore dei metadati. */
.issue-bar .subnav{display:flex;gap:6px 18px;flex-wrap:wrap;color:var(--muted);font-weight:600}
.issue-bar .subnav a:hover{color:var(--verde)}

/* Con un menu configurato, SUL DESKTOP la riga delle chip va a capo invece di
 * scorrere: `overflow-x:auto` taglierebbe il pannello di una tendina, che ne
 * esce. Sul TELEFONO no — vedi la media query in fondo a questo blocco. */
.chips--menu{overflow:visible;flex-wrap:wrap}

/* RIFINITURE-1 E5 — IL CONTENITORE CHE FA USCIRE LA TENDINA DALLO SCROLLER.
 * Serve solo sul telefono, ed è `static` finché non serve: se fosse
 * `relative` anche sul desktop, il pannello si ancorerebbe al bordo sinistro
 * del menu invece che alla propria chip, e il desktop cambierebbe aspetto. */
.chips-wrap{position:static}

/* La tendina: <details> nativo, niente JavaScript. Il summary È una chip. */
.chip-menu{position:relative;flex:0 0 auto}
.chip-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip-menu>summary::-webkit-details-marker{display:none}
.chip-menu>summary::after{content:"▾";font-size:10px;line-height:1}
.chip-menu[open]>summary{background:var(--verde);color:var(--carta)}
.chip-menu-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:220px;
  background:var(--carta);border:1px solid var(--rule);border-radius:14px;padding:6px;
  display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(11,26,20,.14)}
.chip-menu-panel a{border-radius:10px;padding:9px 10px;font-size:13.5px;color:#1d3a2e}
.chip-menu-panel a:hover{background:var(--verde-chiaro);color:var(--verde)}
.chip-menu-panel a:first-child{font-weight:700}

@media (max-width:640px){
  /* RIFINITURE-1 E5 — SUL TELEFONO IL MENU TORNA UNA RIGA CHE SCORRE, come
   * nel prototipo e come faceva prima che il menu diventasse configurabile:
   * le voci in ordine sparso su tre righe non sono il menu di un giornale.
   *
   * La tendina esce lo stesso, e non è un caso: il pannello è `absolute` e il
   * suo BLOCCO CONTENITORE è `.chips-wrap`, che sta FUORI dallo scroller —
   * un elemento posizionato non viene ritagliato dall'`overflow` di un
   * antenato che si trova fra lui e il suo contenitore. (Misurato in un
   * browser vero, non dedotto dalla specifica.)
   *
   * Il pannello si apre a tutta larghezza sotto la riga: è il posto che su
   * uno schermo stretto non copre niente di ciò che serve. */
  .chips--menu{overflow-x:auto;flex-wrap:nowrap}
  .chips-wrap{position:relative}
  .chip-menu{position:static}
  .chip-menu-panel{top:calc(100% + 6px);left:0;right:0;min-width:0}
  .issue-bar .subnav{gap:6px 14px}
}

/* ---------------------------------------------------------------------------
 * INTEGRAZIONI-2 G6 — LA PAGINA CATEGORIA: la sezione come mini magazine.
 *
 * COPIATO DAL PROTOTIPO, righe 368-403 di
 * `docs/design/greentomeet-tema/static/css/site.css`, senza ritocchi: la
 * grafica si replica e il sistema si adatta a lei. Le uniche aggiunte sono in
 * fondo — `.press-altre-sezioni` e lo stato vuoto fuori dalle righe — e sono
 * marcate.
 *
 * `.chips`, `.chip`, `.rows`, `.cards`, `.index-grid`, `.band` e `.btn-linea`
 * c'erano gia' da T2a/T2b: qui arrivano le classi che la sola pagina categoria
 * usa.
 * ------------------------------------------------------------------------- */
.sezione-testa{display:flex;flex-wrap:wrap;gap:34px;align-items:flex-end;padding:42px 0 30px}
.sezione-testa .testo{flex:1.4 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
.sezione-testa h1{margin:0;font-family:var(--serif);font-size:58px;font-weight:400;line-height:1;letter-spacing:-.02em}
.sezione-testa p{margin:0;font-size:17.5px;line-height:1.65;color:#3f4d45;max-width:52ch;text-wrap:pretty}
.sezione-testa .numeri{flex:1 1 240px;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:26px}
.sezione-testa .dato{display:inline-flex;flex-direction:column;gap:4px}
.sezione-testa .dato .v{font-family:var(--serif);font-size:34px;line-height:1;color:var(--verde)}
.sezione-testa .dato .e{font-size:12px;color:var(--muted)}
.sezione-testa .numeri .btn-linea{flex:0 0 auto;font-size:13px;padding:9px 16px;color:var(--verde)}
.chip .n{font-size:11px;font-weight:700;color:#8a9a8e}
.chip.attivo{background:var(--verde);color:#f2f7f1;border:1px solid var(--verde)}
.chip.attivo .n{color:#a8c4b4}
.sezione-apertura{display:flex;flex-wrap:wrap;gap:32px;align-items:center;padding:38px 0 40px;border-bottom:1px solid var(--rule)}
.sezione-apertura>a{flex:1.2 1 340px;min-width:0}
.sezione-apertura img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px}
.sezione-apertura .testo{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.sezione-apertura .testo .t{font-family:var(--serif);font-size:38px;line-height:1.08;letter-spacing:-.01em;text-wrap:pretty}
.sezione-apertura .testo p{margin:0;font-size:16px;line-height:1.65;color:#3f4d45;max-width:48ch;text-wrap:pretty}
.sezione-citazione{padding:36px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.sezione-citazione .t{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1.35;color:#1d3a2e;max-width:62ch;text-wrap:pretty}
.sezione-citazione .f{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rows .vuoto{padding:28px 0;font-size:15px;color:var(--muted)}
.band.scuro{background:#0b1a14}
.band.scuro .kicker{color:var(--verde-tenue)}
.band.scuro .episode .n{color:var(--verde-tenue)}
.band.scuro .btn-light{background:#f2f7f1;color:#0b1a14}
.pagination-numeri{display:flex;justify-content:center;gap:10px;padding:34px 0 44px;flex-wrap:wrap;font-size:13.5px;font-weight:600}
.pagination-numeri a,.pagination-numeri span{border:1px solid #c4d3c6;border-radius:999px;padding:11px 18px}
.pagination-numeri .attiva{background:var(--verde);border-color:var(--verde);color:#f2f7f1}
.pagination-numeri .spento{color:#a9b3a8;border-color:var(--rule)}
@media (max-width:640px){
  .sezione-testa h1{font-size:38px}
  .sezione-apertura .testo .t{font-size:28px}
  .sezione-citazione .t{font-size:22px}
}

/* AGGIUNTE NOSTRE, e sono due.
 * 1. Lo stato vuoto vive anche FUORI dalle righe (sezione senza niente):
 *    `.rows .vuoto` del prototipo non lo coprirebbe, e la frase uscirebbe
 *    nuda contro il filetto di sopra.
 * 2. «Continua in altre sezioni» riusa `.chips`, ma senza il filetto e senza
 *    lo scorrimento: e' una coda di pagina, non una barra di navigazione. */
.press-categoria>.vuoto{padding:38px 0;font-size:15px;color:var(--muted)}
.press-altre-sezioni .chips{border:0;padding:0;margin-top:14px}


/* ---------------------------------------------------------------------------
 * INTEGRAZIONI-2 G8 — LE INTERVISTE: miniature statiche, player al clic.
 *
 * COPIATO DAL PROTOTIPO (`docs/design/greentomeet-tema/static/css/site.css`,
 * sezione «interviste video»), senza ritocchi: la grafica si replica e il
 * sistema si adatta a lei.
 *
 * UNA SOLA AGGIUNTA, in fondo e marcata: `.poster` nel prototipo veste un
 * `<button>`, qui veste un `<a>` — perche' senza JavaScript un bottone non fa
 * niente e un link porta all'articolo. Le due regole che seguono rimettono al
 * link l'aspetto che il prototipo dava al bottone.
 *
 * E UNA SECONDA, che e' una CORREZIONE (RIFINITURE-1 E6): qui le regole
 * vestono `.press-video-poster` e non `.poster`. Nel prototipo quel nome e'
 * usato da DUE componenti diversi — il MANIFESTO verticale della home
 * (`aspect-ratio: 4/5`, piu' in alto in questo foglio) e la miniatura VIDEO
 * (`16/9`) — e copiando il secondo in fondo senza toccarlo, la sua
 * `aspect-ratio` vinceva per ordine su OGNI `.poster img` del sito: i
 * manifesti della home diventavano fasce orizzontali schiacciate. La classe
 * che distingue i due c'era gia' nel nostro markup (`press-video-poster`,
 * nata per l'adattamento `<a>`): mancava soltanto nel foglio.
 * ------------------------------------------------------------------------- */
/* --- interviste video: miniature statiche, player al clic --- */
.video-apertura{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch;padding:0 0 36px;border-bottom:1px solid var(--rule)}
.video-apertura>.press-video-poster{flex:1.5 1 380px}
.video-apertura .testo{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:12px;justify-content:center}
.video-apertura .testo .t{font-family:var(--serif);font-size:32px;line-height:1.12;text-wrap:pretty}
.video-apertura .testo p{margin:0;font-size:15.5px;line-height:1.65;color:#3f4d45;max-width:48ch;text-wrap:pretty}
.video-apertura .azioni{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.press-video-poster{position:relative;padding:0;border:0;background:none;cursor:pointer;border-radius:16px;overflow:hidden;display:block;width:100%}
.press-video-poster.grande{border-radius:20px}
.press-video-poster img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.press-video-poster .velo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(3,18,12,.18)}
.press-video-poster.grande .velo{background:linear-gradient(to top,rgba(3,18,12,.6),rgba(3,18,12,.12))}
.press-video-poster .play{width:48px;height:48px;border-radius:999px;background:rgba(250,246,237,.92);color:var(--verde);display:inline-flex;align-items:center;justify-content:center;font-size:17px;padding-left:3px}
.press-video-poster.grande .play{width:72px;height:72px;font-size:26px;padding-left:5px}
.press-video-poster .durata{position:absolute;bottom:10px;right:10px;background:rgba(3,18,12,.86);color:#f2f7f1;font-size:11.5px;font-weight:700;padding:4px 8px;border-radius:7px}
.press-video-poster.grande .durata{bottom:14px;right:14px;font-size:12px;padding:5px 10px;border-radius:8px}
.press-video-poster .fonte{position:absolute;top:10px;left:10px;background:rgba(3,18,12,.86);color:#f2f7f1;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:7px}
.press-video-poster .fonte.vimeo{background:rgba(26,183,234,.92)}
.video-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.video-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.video-card .titolo{border:0;background:none;padding:0;cursor:pointer;font:inherit;text-align:left;font-size:17.5px;font-weight:600;line-height:1.3;color:var(--ink);text-wrap:pretty}
.video-card .d{font-size:13.5px;line-height:1.55;color:var(--ink-3);text-wrap:pretty}
.video-modale{position:fixed;inset:0;z-index:60;background:rgba(3,18,12,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px}
.video-modale[hidden]{display:none}
.video-modale .barra{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:960px;color:#cfe3d6;font-size:12.5px}
.video-modale .chiudi{border:1px solid #3d564a;background:transparent;color:#f2f7f1;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer}
.video-modale .palco{width:100%;max-width:960px;display:flex;flex-direction:column;gap:14px}
.video-modale iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px;background:#08140f}
.video-modale .didascalia{display:flex;flex-direction:column;gap:6px}
.video-modale .didascalia .t{font-family:var(--serif);font-size:24px;line-height:1.2;color:#f2f7f1;text-wrap:pretty}
.video-modale .didascalia .m{font-size:13.5px;line-height:1.55;color:#cfe3d6;text-wrap:pretty}
.video-modale .didascalia .vai{font-size:13.5px;font-weight:600;color:var(--verde-tenue)}
.intervista-singola{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:24px;padding:36px 0 0}
.intervista-singola header{display:flex;flex-direction:column;gap:12px}
.intervista-singola h1{margin:0;font-family:var(--serif);font-size:42px;font-weight:400;line-height:1.06;letter-spacing:-.01em;text-wrap:pretty}
.intervista-singola .ospite{margin:0;font-size:17px;line-height:1.6;color:var(--ink-3)}
.intervista-singola .collegato{margin:0;font-size:14.5px;font-weight:600}
.intervista-singola .collegato a{color:var(--verde)}
@media (max-width:640px){
  .video-apertura .testo .t{font-size:24px}
  .intervista-singola h1{font-size:30px}
}

/* AGGIUNTE NOSTRE, e sono quattro righe.
 * 1-2. Il poster e' un `<a>`, non un `<button>`: niente sottolineatura, e un
 *      anello di fuoco visibile per chi naviga da tastiera.
 * 3.   La riga del consenso ai cookie, dentro il palco scuro.
 * 4.   Il sottotitolo dell'invito non e' un occhiello: e' una frase. */
a.press-video-poster{text-decoration:none;color:inherit}
a.press-video-poster:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.video-card .titolo{text-decoration:none;display:block}
.video-modale .didascalia .cookie{font-size:12px;line-height:1.5;color:#a8c4b4}
.press-invito .q .kicker{text-transform:none;letter-spacing:0;font-size:14.5px;line-height:1.6;color:var(--ink-3)}


/* ---------------------------------------------------------------------------
 * INTEGRAZIONI-2 G9 — `/redazione/`: scrivere per il magazine, e proporre.
 *
 * COPIATO DAL PROTOTIPO (`site.css`, sezioni «scrivi» e «contatti»), senza
 * ritocchi: la grafica si replica e il sistema si adatta a lei. Sul sito
 * vecchio erano due pagine; qui sono due meta' di una sola, e le classi
 * restano quelle — cambiare i nomi avrebbe voluto dire riscrivere il foglio
 * per una scelta di rotte.
 * ------------------------------------------------------------------------- */
.scrivi-hero{display:flex;flex-wrap:wrap;gap:36px;align-items:center;padding:44px 0 46px}
.scrivi-hero .testo{flex:1.2 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}
.scrivi-hero h1{margin:0;font-family:var(--serif);font-size:52px;font-weight:400;line-height:1.03;letter-spacing:-.015em;text-wrap:pretty}
.scrivi-hero p{margin:0;font-size:17.5px;line-height:1.65;color:#3f4d45;max-width:54ch;text-wrap:pretty}
.scrivi-hero img{flex:1 1 300px;min-width:0;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-l)}
.azioni{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:4px}
.azioni .btn{padding:14px 26px;font-size:14.5px;display:inline-block}
.btn-linea{border:1px solid #c4d3c6;font-size:14px;font-weight:600;padding:13px 22px;border-radius:999px}
.tre-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;padding-bottom:52px}
.tre-card.due{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tre-card .box{background:var(--verde-chiaro);border-radius:var(--r-m);padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tre-card .box .t{font-family:var(--serif);font-size:23px;line-height:1.2}
.tre-card .box .d{font-size:14.5px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.tre-card .box a{align-self:flex-start;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--verde)}
.passi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.passo{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:2px solid var(--verde);min-width:0}
.passo .n{font-family:var(--serif);font-size:30px;color:var(--verde);line-height:1}
.passo .t{font-size:17px;font-weight:700;line-height:1.25}
.passo .d{font-size:14.5px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.due-colonne{display:flex;flex-wrap:wrap;gap:34px;padding:36px 0 52px;border-top:1px solid var(--rule)}
.due-colonne .col{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.due-colonne h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:400}
.due-colonne p{margin:0;font-size:15.5px;line-height:1.7;color:#3f4d45;max-width:56ch;text-wrap:pretty}
.voce{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:baseline;font-size:15px;line-height:1.6}
.voce.si{color:var(--ink-2)}
.voce.si .segno{color:var(--verde);font-weight:700}
.voce.no{color:var(--muted)}
.voce.no .segno{font-weight:700}
.interviste h2{font-size:34px;line-height:1.12}
.interviste .riquadro{background:var(--verde-chiaro);border-radius:var(--r-m);padding:24px;flex:1 1 280px}
.faq h2{margin:0 0 20px;font-family:var(--serif);font-size:34px;font-weight:400}
.faq details{border-top:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:17px;font-weight:600;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq .piu{font-size:22px;color:var(--verde);line-height:1;flex:0 0 auto;transition:transform .2s ease}
.faq details[open] .piu{transform:rotate(45deg)}
.faq .risposta{font-size:15px;line-height:1.7;color:#3f4d45;max-width:68ch;padding:0 0 20px;text-wrap:pretty}
.cta-finale{background:var(--verde-chiaro);border-radius:var(--r-l);padding:40px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-bottom:48px}
.cta-finale .t{font-family:var(--serif);font-size:38px;line-height:1.1;max-width:20ch;text-wrap:pretty}
.cta-finale .d{font-size:15.5px;line-height:1.6;color:#3f4d45;max-width:52ch;text-wrap:pretty}
.cta-finale .btn{padding:15px 30px;font-size:15px;margin-top:4px}
@media (max-width:640px){
  .scrivi-hero h1{font-size:34px}
  .cta-finale .t,.interviste h2,.faq h2{font-size:27px}
}
.contatti-head{max-width:720px;margin:0 auto;padding:44px 0 28px;display:flex;flex-direction:column;gap:16px}
.contatti-head h1{margin:0;font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.06;letter-spacing:-.01em;text-wrap:pretty}
.contatti-head p{margin:0;font-size:17px;line-height:1.65;color:#3f4d45;text-wrap:pretty}
.contatti-form{max-width:720px;margin:0 auto}
.contatti-form .motivi{display:flex;flex-direction:column;gap:10px;padding-bottom:26px}
.contatti-form .etichetta{font-size:13px;font-weight:700}
.contatti-form .scelte{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.motivo{display:flex;flex-direction:column;gap:4px;cursor:pointer;border:1px solid #d8d1c1;background:var(--carta);border-radius:14px;padding:14px 16px}
.motivo input{position:absolute;opacity:0;width:0;height:0}
.motivo .t{font-size:14.5px;font-weight:700}
.motivo .n{font-size:12.5px;color:var(--muted)}
.motivo.attivo{background:var(--verde);border-color:var(--verde);color:#f2f7f1}
.motivo.attivo .n{color:#cfe3d6}
.contatti-form .riquadro{background:var(--verde-chiaro);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:20px}
.contatti-form .intestazione{display:flex;flex-direction:column;gap:6px}
.contatti-form .intestazione .t{font-family:var(--serif);font-size:24px;line-height:1.2}
.contatti-form .intestazione .d{font-size:13.5px;line-height:1.6;color:var(--ink-3);text-wrap:pretty}
.contatti-form .errori{background:#fdf1ec;border:1px solid #e3c3b5;color:#7a3b21;border-radius:12px;padding:12px 14px;font-size:13.5px}
.contatti-form .griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.contatti-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.contatti-form label em{font-style:normal;font-weight:500;color:var(--muted)}
.contatti-form input[type=text],.contatti-form input[type=email],.contatti-form input[type=tel],
.contatti-form input[type=url],.contatti-form textarea{
  border:1px solid #cfd9cd;background:var(--carta);border-radius:12px;padding:12px 14px;
  font:inherit;font-size:14.5px;font-weight:400;color:var(--ink)}
.contatti-form textarea{border-radius:14px;line-height:1.6;resize:vertical}
.contatti-form .meta{font-weight:500}
.contatti-form .canale{display:flex;flex-direction:column;gap:10px}
.contatti-form .scelte-linea ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.contatti-form .scelte-linea label{flex-direction:row;align-items:center;gap:8px;border:1px solid #cfd9cd;background:var(--carta);border-radius:999px;padding:9px 16px;font-size:13px;cursor:pointer}
.contatti-form .scelte-linea input{accent-color:var(--verde)}
.contatti-form .consenso{flex-direction:row;gap:10px;align-items:flex-start;font-size:13px;font-weight:400;line-height:1.6;color:#3f4d45;cursor:pointer}
.contatti-form .consenso input{margin-top:3px;width:17px;height:17px;accent-color:var(--verde);flex:0 0 auto}
.contatti-form .consenso a{color:var(--verde);font-weight:600}
.contatti-form .invio{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.contatti-form .invio .btn{padding:14px 26px;font-size:14.5px}
.contatti-ok{max-width:720px;margin:0 auto;background:var(--verde-chiaro);border-radius:20px;padding:34px;display:flex;flex-direction:column;gap:14px}
.contatti-ok .segno{width:40px;height:40px;border-radius:999px;background:var(--verde);color:#f2f7f1;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.contatti-ok .t{font-family:var(--serif);font-size:30px;line-height:1.15}
.contatti-ok .d{font-size:15.5px;line-height:1.65;color:#3f4d45;max-width:56ch;text-wrap:pretty}
.contatti-ok .btn-linea{align-self:flex-start;margin-top:6px;background:var(--carta)}
.contatti-promesse{max-width:720px;margin:36px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.promessa{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:2px solid var(--verde);min-width:0}
.promessa .t{font-size:15.5px;font-weight:700;line-height:1.3}
.promessa .d{font-size:14px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.contatti-piede{max-width:720px;margin:40px auto 0;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-top:26px;border-top:1px solid var(--rule)}
.contatti-piede div{display:flex;flex-direction:column;gap:6px;min-width:0}
.contatti-piede .t{font-size:15px;font-weight:700}
.contatti-piede .d{font-size:14px;line-height:1.6;color:#3f4d45}
@media (max-width:640px){ .contatti-head h1{font-size:32px} }

/* AGGIUNTE NOSTRE, e sono quattro.
 * 1. `.motivo` nel prototipo e' un `<label>` con dentro un radio: senza
 *    JavaScript un radio non cambia i testi, e cambiare i testi e' tutto
 *    quello che fa. Qui e' un `<a href="?tipo=…">`, e queste due righe gli
 *    ridanno l'aspetto che il prototipo dava all'etichetta.
 * 2. IL RIQUADRO SPENTO si vede che e' spento: i campi disabilitati prendono
 *    un fondo piu' tenue e il cursore «non consentito». Un modulo che sembra
 *    compilabile e non lo e' e' peggio di uno dichiaratamente fermo.
 * 3. La riga di stato, che sostituisce il bottone.
 * 4. Il campo trappola: nascosto a chi guarda, presente per chi automatizza.
 */
a.motivo{text-decoration:none;color:inherit}
a.motivo:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.press-desk-form fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.press-desk-form fieldset[disabled] input,
.press-desk-form fieldset[disabled] textarea{background:rgba(250,246,237,.55);cursor:not-allowed}
.press-desk-form fieldset[disabled] label{color:var(--muted)}
.press-invio-spento{margin:0;font-size:13.5px;line-height:1.6;color:#7a3b21;
  background:#fdf1ec;border:1px solid #e3c3b5;border-radius:12px;padding:12px 14px}
.press-esca{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* SCRIVI/CONTATTI-1 — i due esiti del modulo, e sono DUE colori diversi perche'
 * dicono due cose opposte: la proposta e' arrivata, oppure non e' partita. Con
 * la stessa veste della riga di stato si leggerebbero come la stessa cosa.
 * Il colore non e' l'unico segnale: la conferma ha `role="status"` e il rifiuto
 * `role="alert"`, quindi chi non vede il colore riceve comunque la differenza. */
.press-desk-conferma,.press-desk-errore{margin:0 0 20px;font-size:14px;line-height:1.6;
  border-radius:12px;padding:12px 14px}
.press-desk-conferma{color:#1f4b33;background:#eef7f0;border:1px solid #bfdcc9}
.press-desk-errore{color:#7a2020;background:#fdecec;border:1px solid #e0b4b4}
.press-conferma{padding-top:14px;font-size:13.5px;line-height:1.6;color:var(--ink-3)}
.press-rassicurazioni{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.press-rassicurazioni .rassicurazione{display:flex;flex-direction:column;gap:6px;min-width:0}
.press-rassicurazioni .t{font-size:16px;font-weight:700}
.press-rassicurazioni .d{font-size:14px;line-height:1.6;color:var(--ink-3);text-wrap:pretty}
.press-cosa-cerchiamo .due-colonne{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.press-cosa-cerchiamo .etichetta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.press-cosa-cerchiamo ul{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.press-cosa-cerchiamo li{font-size:14.5px;line-height:1.6;color:#3f4d45;text-wrap:pretty}
.press-cosa-cerchiamo ul.no li{color:var(--muted)}
.press-faq-voce{border-top:1px solid var(--rule);padding:14px 0}
.press-faq-voce summary{cursor:pointer;font-size:16px;font-weight:600;list-style:none}
.press-faq-voce summary::-webkit-details-marker{display:none}
.press-faq-voce summary::after{content:" +";color:var(--verde);font-weight:700}
.press-faq-voce[open] summary::after{content:" \2212"}
.press-faq-voce p{margin:10px 0 0;font-size:14.5px;line-height:1.65;color:#3f4d45;max-width:70ch;text-wrap:pretty}
.press-promesse{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;padding:30px 0}

/* PRESS-AI-1 gate A — LA CASELLA DI RICERCA viveva qui (`.press-search`), sotto
 * le sezioni. FIX-E1 l'ha tolta: la barra del prototipo (`.ai-bar`) è l'unico
 * ingresso della testata, e senza JavaScript o con l'assistente spento È la
 * ricerca del gate A. Regole senza markup non si lasciano: diventano il posto
 * in cui qualcuno, domani, crede di poter vestire un componente che non c'è. */

/* SC-FIX/VERIFICA-1 — la pagina di ESITO e la CONFERMA dell'email. Nessun
   prototipo per queste pagine: vestono con le classi del modulo della
   redazione (`.contatti-form .riquadro`), e qui stanno le sole regole nuove.
   Il «?» e' un <details>: si apre senza JavaScript, ed e' un bersaglio del dito
   da 44px pieni come ogni altro. */
.press-verifica-invito{max-width:640px;margin:0 0 20px;line-height:1.6}
.press-verifica-codice{letter-spacing:.3em;font-variant-numeric:tabular-nums}
.press-verifica-aiuto{margin:4px 0 16px}
.press-verifica-aiuto summary{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;border:1px solid #bfdcc9;color:#1f4b33;
  background:#eef7f0;cursor:pointer;list-style:none;font-weight:600;font-size:18px}
.press-verifica-aiuto summary::-webkit-details-marker{display:none}
.press-verifica-aiuto p{margin:10px 0 0;max-width:640px;font-size:14px;line-height:1.6}
