/* =========================================================
   MY LAST RIGHT — pagine interne (stessa estetica screenprint)
   Riusa i token di style.css: --ink --kraft --kraft-2 --paper
   --coral --coral-d --blue --teal --yellow
   --stencil --mono --arch --rule --gut --maxw --nav-h
   Le globali .band/.wrap/.kick/.btn/.reveal vivono in style.css:
   qui NON le ridefinisco in conflitto — solo estensioni/contesti.
   ========================================================= */

/* ---------------------------------------------------------
   BAND SURFACES — ritmo a fasce con righe-regola ink
   Le superfici alternano paper / kraft / ink / coral per
   dare gerarchia. Le righe-regola ink separano le fasce.
   --------------------------------------------------------- */
/* token esplicito per il coral scuro AA (ex hex magico #A8331C in style.css):
   coral leggibile come testo piccolo su paper/kraft (contrasto >= 4.5:1) */
:root{--coral-aa:#135A78}
.kick-coral{color:var(--coral-aa)}

.band-paper{background:var(--paper);color:var(--ink)}
.band-kraft{background:var(--kraft);color:var(--ink)}
.band-kraft-2{background:var(--kraft-2);color:var(--ink)}
.band-ink{background:var(--ink);color:var(--kraft)}
.band-coral{background:var(--coral);color:var(--ink);position:relative;overflow:hidden}
.band-teal{background:var(--teal);color:var(--kraft)}

/* riga-regola ink fra due fasce adiacenti */
.band-rule{border-top:var(--rule) solid var(--ink)}
.band-rule-b{border-bottom:var(--rule) solid var(--ink)}

/* su fondo ink le righe-regola usano kraft per restare visibili */
.band-ink + .band-rule,
.band-ink.band-rule-b{border-color:var(--ink)}

/* kicker chiaro: leggibile su fondo ink/teal/coral scuro */
.kick-paper{color:var(--paper)}

/* intestazione di fascia riusabile (kicker + titolo poster)
   poggia sulla stessa hairline interna .sec-rule della home (style.css:158) */
.band-head{margin-bottom:var(--sp-4);max-width:48ch}
.band-head .band-title{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;line-height:.92;
  font-size:var(--fs-h2);margin-top:var(--sp-2);letter-spacing:.004em}

/* contrasto del .sec-no della home sulle superfici-fascia interne
   (la home copre solo .numbers/.principle/.sign; qui aggiungo ink/teal/coral) */
.band-ink .sec-no,.band-teal .sec-no{color:var(--yellow)}
.band-coral .sec-no{color:var(--ink)}
/* la hairline .sec-rule su fondo scuro/teal/coral usa il colore corrente */
.band-ink .sec-rule,.band-teal .sec-rule,.band-coral .sec-rule{border-top-color:currentColor}
/* seconda band-head nella stessa fascia: riga-regola ink + ritmo in scala */
.band-head--gap{
  margin-top:var(--sp-5);
  border-top:var(--rule-2) solid var(--ink);padding-top:var(--sp-4)}
.band-head .band-lead{
  margin-top:16px;font-family:var(--arch);font-size:clamp(16px,2.2vw,19px);
  line-height:1.6;font-weight:500;max-width:48ch}
.band-ink .band-lead,.band-teal .band-lead{color:rgba(235,226,206,.86)}
.hi-c{color:var(--coral-d)}
.band-ink .hi-c,.band-teal .hi-c,.band-coral .hi-c{color:var(--ink)}
.band-ink .hi-c{color:var(--yellow)}

/* ---------------------------------------------------------
   PAGE HERO — varianti più ricche (coral / ink / teal)
   --------------------------------------------------------- */
.page-hero{
  position:relative;overflow:hidden;
  background:var(--coral);color:var(--ink);
  border-bottom:var(--rule) solid var(--ink);
  padding:clamp(52px,9vw,104px) 0 clamp(40px,6vw,68px)}
.page-hero .kick{color:var(--ink)}
.page-hero h1{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;line-height:.86;
  font-size:var(--fs-h1);margin:.14em 0 .3em;color:var(--ink);
  letter-spacing:.004em;
  text-shadow:clamp(2px,.6vw,4px) clamp(2px,.6vw,4px) 0 rgba(235,226,206,.7)}
.page-hero .page-intro{
  font-family:var(--arch);font-size:var(--fs-lead);line-height:1.5;
  max-width:48ch;font-weight:500}

/* editorial page signature ("P. 02") — top-right on >=768px, asymmetric */
.page-sig{
  font-family:var(--mono);font-weight:700;font-size:clamp(14px,3.4vw,16px);
  letter-spacing:.1em;color:var(--ink);opacity:.7;margin-bottom:var(--sp-2)}
.page-hero.is-ink .page-sig,.page-hero.is-teal .page-sig{color:var(--kraft);opacity:.75}
@media(min-width:768px){
  .page-hero .wrap{position:relative}
  .page-sig{position:absolute;top:0;right:0;margin:0;z-index:2}
}

/* timbro decorativo a stampa nell'angolo dell'hero (coerente con la home) */
.page-hero::after{
  content:"✶";position:absolute;right:clamp(-10px,2vw,40px);top:clamp(-30px,-2vw,-10px);
  font-family:var(--stencil);font-weight:900;line-height:1;
  font-size:clamp(160px,30vw,340px);color:rgba(24,20,16,.07);
  pointer-events:none;z-index:0}
.page-hero .wrap{position:relative;z-index:1}

/* glifo decorativo variato per tipo di pagina (gerarchia tra sezioni) */
.page-hero.hero-mark-coalition::after{content:"✊"}
.page-hero.hero-mark-news::after{content:"§"}

/* variante INK — niente text-shadow chiaro su fondo scuro */
.page-hero.is-ink{background:var(--ink);color:var(--kraft)}
.page-hero.is-ink h1{color:var(--kraft);text-shadow:3px 3px 0 var(--coral)}
.page-hero.is-ink .kick{color:var(--kraft)}
.page-hero.is-ink::after{color:rgba(235,226,206,.06)}
.page-hero.is-ink .hi-c{color:var(--coral)}
.page-hero .hi-c{color:var(--coral-d)}

/* variante TEAL — per pagine "principio/europa" */
.page-hero.is-teal{background:var(--teal);color:var(--kraft)}
.page-hero.is-teal h1{color:var(--kraft);text-shadow:3px 3px 0 rgba(24,20,16,.5)}
.page-hero.is-teal .kick{color:var(--kraft)}
.page-hero.is-teal::after{color:rgba(235,226,206,.08)}
.page-hero.is-teal .hi-c{color:var(--yellow)}

/* meta/azioni dentro l'hero (article, donate) */
.page-hero .article-meta{margin-bottom:8px}
.page-hero .back-link{margin-bottom:18px}

/* ---------------------------------------------------------
   PROSE generica (privacy ecc.)
   --------------------------------------------------------- */
.prose{max-width:64ch;font-family:var(--arch);font-size:17px;line-height:1.68}
.prose h2,.prose h3{font-family:var(--stencil);text-transform:uppercase;
  margin:1.5em 0 .4em;line-height:.98;letter-spacing:.004em}
.prose h2{font-size:clamp(26px,4.6vw,38px)}
.prose h3{font-size:clamp(21px,3.4vw,26px)}
.prose p{margin:0 0 1.05em}
.prose ul,.prose ol{margin:0 0 1.1em;padding-left:0}
.prose li{position:relative;padding-left:24px;margin-bottom:.5em;line-height:1.55}
.prose li::before{content:"";position:absolute;left:0;top:.62em;
  width:8px;height:8px;background:var(--coral);border:1.5px solid var(--ink)}
.prose a{color:var(--coral-d);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{background:var(--ink);color:var(--kraft);text-decoration:none}
.prose strong{font-weight:800}

/* ---------------------------------------------------------
   NEWS — grid + card
   --------------------------------------------------------- */
.news-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media(min-width:680px){.news-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.news-grid{grid-template-columns:repeat(3,1fr)}}
.news-card{
  background:var(--kraft);border:3px solid var(--ink);box-shadow:var(--shadow-2);
  padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:11px;
  transition:transform var(--dur-1) var(--ease-snap),box-shadow var(--dur-1) var(--ease-snap),background .15s ease}
.news-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-coral)}
.news-card:focus-within{box-shadow:var(--shadow-coral)}
/* featured: first card spans the full row, oversized stencil headline */
@media(min-width:680px){
  .news-card--featured{grid-column:1/-1;flex-direction:column;background:var(--paper)}
  .news-card--featured .news-card__title{font-size:clamp(34px,6vw,58px);line-height:.86}
  .news-card--featured .news-card__excerpt{font-size:17px;max-width:62ch}
}
/* date + running number row */
.news-card__top{display:flex;align-items:center;gap:12px}
.news-card__top .news-card__date{align-self:auto}
/* editorial running number beside the date (№ 01…) */
.news-card__no{
  font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.06em;
  color:var(--coral-d);margin-left:auto;align-self:center}
.news-card__date{
  font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--coral-d);
  align-self:flex-start;border:2px solid var(--ink);padding:3px 9px;background:var(--paper)}
.news-card__title{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;line-height:.96;
  font-size:clamp(22px,3.2vw,28px)}
.news-card__title a{color:inherit;display:block}
.news-card:hover .news-card__title a,
.news-card:focus-within .news-card__title a{color:var(--coral-d)}
.news-card__excerpt{font-family:var(--arch);font-size:15.5px;line-height:1.5;color:#2A323A}
.news-card__meta{
  margin-top:auto;padding-top:6px;font-family:var(--mono);font-size:12px;
  font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5C6B75;
  display:flex;align-items:center;gap:8px}
.news-card__more{
  margin-top:14px;font-family:var(--mono);font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--coral-d)}
.news-card:hover .news-card__more{color:var(--ink)}
.news-card:focus-within .news-card__more{color:var(--coral-d)}

/* ---------------------------------------------------------
   ARTICLE
   --------------------------------------------------------- */
.article-body{max-width:64ch;font-family:var(--arch);font-size:18px;line-height:1.72;color:#1E242A}
.article-body p{margin:0 0 1.15em}
.article-body p:last-child{margin-bottom:0}
.article-body p:first-child{
  font-size:clamp(19px,2.6vw,22px);line-height:1.5;font-weight:500;color:var(--ink)}
/* editorial drop-cap on the lead paragraph */
.article-body p:first-child::first-letter{
  font-family:var(--stencil);font-weight:900;color:var(--coral-d);
  font-size:3.4em;line-height:.7;float:left;margin:.06em .14em 0 0;shape-outside:margin-box}
/* pull-quote: stencil, hard ink frame + offset shadow, ✶ seal */
.article-body blockquote{
  position:relative;margin:clamp(28px,4vw,40px) 0;
  border:4px solid var(--ink);background:var(--kraft);box-shadow:var(--shadow-2);
  padding:clamp(26px,4vw,38px) clamp(22px,3.4vw,34px);
  font-family:var(--stencil);font-weight:800;text-transform:uppercase;
  font-size:clamp(24px,4.2vw,42px);line-height:1.05;color:var(--ink)}
.article-body blockquote::before{
  content:"✶";position:absolute;top:-18px;right:-12px;
  font-family:var(--stencil);font-weight:900;font-size:clamp(34px,5vw,52px);
  color:var(--coral);line-height:1;transform:rotate(-8deg)}
.article-body blockquote p{margin:0}
.article-body blockquote cite{
  display:block;margin-top:14px;font-family:var(--mono);font-style:normal;
  font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--coral-d)}
/* >=980px: meta drops into a left --mono sidenote column */
@media(min-width:980px){
  .article-layout{display:grid;grid-template-columns:180px minmax(0,64ch);
    gap:clamp(28px,4vw,52px);align-items:start}
  .article-side{
    font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;
    text-transform:uppercase;color:#5C6B75;line-height:1.6;
    border-top:var(--rule-2) solid var(--ink);padding-top:var(--sp-3);position:sticky;top:calc(var(--nav-h) + 20px)}
  .article-side .article-side__date{color:var(--coral-d);display:block}
}
.article-side{display:none}
@media(min-width:980px){.article-side{display:block}}
.article-body a{color:var(--coral-d);text-decoration:underline;text-underline-offset:2px}
.article-body a:hover{background:var(--ink);color:var(--kraft);text-decoration:none}
.article-body strong{font-weight:800;color:var(--ink)}
.article-meta{
  font-family:var(--mono);font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--coral)}
.page-hero:not(.is-ink):not(.is-teal) .article-meta{color:var(--coral-d)}
.back-link{
  font-family:var(--mono);font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:inherit;display:inline-flex;align-items:center;gap:6px;
  min-height:36px;border-bottom:2px solid transparent}
.back-link:hover{border-bottom-color:currentColor}
.article-foot{margin-top:var(--sp-5);padding-top:var(--sp-4);
  border-top:var(--rule-2) solid var(--ink);
  display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.article-foot .article-cta{margin:0}
/* "FIN —" stamp opening the foot strip */
.article-foot::before{
  content:"FIN —";font-family:var(--mono);font-weight:700;font-size:var(--fs-mono);
  letter-spacing:.1em;color:var(--coral-d)}

/* ---------------------------------------------------------
   RESOURCES — card link
   --------------------------------------------------------- */
.res-grid{display:grid;grid-template-columns:1fr;gap:clamp(18px,2.6vw,24px)}
@media(min-width:680px){.res-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.res-grid{grid-template-columns:repeat(3,1fr)}}
.res-card{
  position:relative;display:flex;flex-direction:column;background:var(--paper);
  border:3px solid var(--ink);box-shadow:var(--shadow-2);
  padding:clamp(20px,3vw,24px);color:inherit;
  transition:transform var(--dur-1) var(--ease-snap),box-shadow var(--dur-1) var(--ease-snap),background .15s ease}
.res-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-coral);background:var(--kraft)}
.res-card:focus-visible{box-shadow:var(--shadow-coral)}
.res-card:focus-visible .res-card__cta{color:var(--ink)}
/* editorial index R-01… top-right */
.res-card__no{
  position:absolute;top:clamp(20px,3vw,24px);right:clamp(20px,3vw,24px);
  font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.06em;
  color:var(--coral-d)}
.res-card__kind{
  display:inline-block;align-self:flex-start;
  font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;background:var(--ink);color:var(--kraft);padding:4px 10px;margin-bottom:14px}
.res-card__title{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;
  font-size:clamp(22px,3vw,25px);line-height:.96;margin-bottom:9px}
.res-card__desc{font-family:var(--arch);font-size:15px;line-height:1.5;color:#2A323A}
.res-card__cta{
  display:inline-flex;align-items:center;gap:6px;margin-top:16px;
  font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--coral-d)}
.res-card:hover .res-card__cta{color:var(--ink)}

/* ---------------------------------------------------------
   FAQ — details/summary
   --------------------------------------------------------- */
.faq{max-width:780px;border-top:3px solid var(--ink)}
.faq-item{border-bottom:3px solid var(--ink)}
.faq-item summary{
  cursor:pointer;list-style:none;
  padding:clamp(18px,2.6vw,22px) 48px clamp(18px,2.6vw,22px) 4px;position:relative;
  font-family:var(--stencil);font-weight:800;text-transform:uppercase;
  font-size:clamp(18px,2.6vw,24px);line-height:1.06;
  transition:color .12s}
.faq-item summary:hover{color:var(--coral-d)}
.faq-item summary:focus-visible{color:var(--coral-d);outline-offset:-3px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border:2.5px solid var(--ink);background:var(--paper);
  font-family:var(--stencil);font-size:26px;color:var(--coral-d);line-height:1}
.faq-item[open] summary::after{content:"–";background:var(--ink);color:var(--kraft)}
.faq-item__a{
  padding:0 4px clamp(18px,2.6vw,22px);font-family:var(--arch);
  font-size:16px;line-height:1.62;max-width:64ch;color:#2A323A}

/* ---------------------------------------------------------
   DONATE — tiers
   --------------------------------------------------------- */
/* tiers as a typographic scale: single ruled column, amount breaks the cell */
.tiers{
  display:flex;flex-direction:column;max-width:820px;
  border-top:var(--rule-2) solid var(--ink)}
.tier{
  position:relative;display:grid;grid-template-columns:auto 1fr;
  gap:6px 22px;align-items:baseline;
  padding:clamp(20px,3.4vw,30px) 0;
  border-bottom:var(--rule-2) solid var(--ink)}
.tier__no{
  grid-column:1/-1;
  font-family:var(--mono);font-weight:700;font-size:var(--fs-mono);
  letter-spacing:.08em;color:var(--coral-d)}
.tier__amount{
  font-family:var(--stencil);font-weight:900;font-size:clamp(40px,8vw,84px);
  color:var(--ink);line-height:.84;letter-spacing:.004em;
  flex:none;align-self:end}
.tier:hover .tier__amount{color:var(--coral-d)}
.tier__desc{font-family:var(--arch);font-size:16px;line-height:1.45;color:#2A323A;align-self:center}
.donate-cta{margin-top:clamp(28px,4vw,38px)}
.donate-note{margin-top:16px;font-family:var(--mono);font-size:12.5px;
  letter-spacing:.02em;color:#5C6B75;max-width:52ch;line-height:1.5}

/* ---------------------------------------------------------
   EUROPE — legenda / mappa / lista / modal
   --------------------------------------------------------- */
/* legend as an editorial "KEY" row: ruled top, --mono label left, items right */
.eu-legend{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
  margin:var(--sp-3) 0 var(--sp-4);
  border-top:var(--rule-2) solid var(--ink);padding-top:var(--sp-3)}
.eu-legend::before{
  content:"LEGEND";margin-right:auto;
  font-family:var(--mono);font-weight:700;font-size:var(--fs-mono);
  letter-spacing:.1em;color:var(--coral-d)}
.eu-legend__item{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;
  border:2px solid var(--ink);background:var(--paper);padding:6px 11px}
.eu-dot{width:14px;height:14px;border:2px solid var(--ink);display:inline-block;flex:none}
/* map as a stamped duotone frame: hard shadow + corner seal tag */
.eu-map-wrap{position:relative}
.eu-map{
  height:clamp(380px,58vh,560px);
  border:4px solid var(--ink);box-shadow:var(--shadow-2);background:var(--kraft)}
.eu-map-tag{
  position:absolute;top:10px;right:10px;z-index:450;pointer-events:none;
  font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--kraft);background:var(--ink);
  border:2px solid var(--ink);padding:4px 9px}
.eu-credits{margin-top:16px;font-family:var(--mono);font-size:12px;
  letter-spacing:.02em;color:#5C6B75;max-width:64ch;line-height:1.5}

.eu-search{margin:clamp(28px,4vw,40px) 0 18px;max-width:440px}
.eu-search label{
  display:block;margin-bottom:8px;
  font-family:var(--mono);font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.eu-search input{
  width:100%;font-family:var(--mono);font-size:16px;
  padding:14px 16px;min-height:52px;
  border:3px solid var(--ink);background:var(--paper);color:var(--ink);
  border-radius:0;-webkit-appearance:none;appearance:none;
  transition:background .15s,box-shadow .12s}
.eu-search input::placeholder{color:#5C6B75}
.eu-search input:focus-visible{
  background:#fff;box-shadow:4px 4px 0 var(--ink);
  outline:3px solid var(--ink);outline-offset:2px}

.eu-list{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:620px){.eu-list{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.eu-list{grid-template-columns:repeat(3,1fr)}}
.eu-card{
  display:flex;align-items:center;gap:12px;
  background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);
  padding:12px 14px;min-height:54px;cursor:pointer;text-align:left;width:100%;font:inherit;
  transition:transform .1s,box-shadow .1s,background .15s}
.eu-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--coral);background:var(--kraft)}
.eu-card:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.eu-card:focus-visible{box-shadow:5px 5px 0 var(--coral)}
.eu-card__flag{width:30px;height:22px;object-fit:cover;border:1.5px solid var(--ink);flex:none}
.eu-card__name{font-family:var(--arch);font-weight:700;font-size:15px;flex:1;line-height:1.2}
.eu-tag{
  font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--ink);padding:3px 8px;white-space:nowrap;
  border:1.5px solid var(--ink)}
/* stato vuoto della lista (popolata via JS) */
.eu-list:empty::after{
  content:"Loading countries…";grid-column:1/-1;
  font-family:var(--mono);font-size:13px;color:#5C6B75;padding:16px 0}

/* MODAL */
.eu-modal{position:fixed;inset:0;z-index:500;
  display:flex;align-items:center;justify-content:center;padding:20px}
.eu-modal[hidden]{display:none}
.eu-modal__backdrop{position:absolute;inset:0;background:rgba(24,20,16,.6)}
.eu-modal__panel{
  position:relative;background:var(--paper);
  border:3px solid var(--ink);box-shadow:12px 12px 0 var(--coral);
  max-width:520px;width:100%;padding:clamp(24px,4vw,32px);
  max-height:84vh;overflow:auto}
.eu-modal__close{
  position:absolute;top:10px;right:10px;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--kraft);border:2.5px solid var(--ink);
  font-size:26px;line-height:1;cursor:pointer;
  transition:background .12s,color .12s}
.eu-modal__close:hover{background:var(--coral);color:var(--ink)}
.eu-modal__close:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.eu-modal__head{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-right:44px}
.eu-modal__flag{width:56px;height:40px;object-fit:cover;border:2.5px solid var(--ink);flex:none}
.eu-modal__title{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;
  font-size:clamp(26px,5vw,32px);line-height:.94}
.eu-modal__tag{
  display:inline-block;margin-top:8px;
  font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:var(--ink);padding:4px 9px;border:1.5px solid var(--ink)}
.eu-modal__note{font-family:var(--arch);font-size:16px;line-height:1.62;color:#2A323A}

/* leaflet tweaks per restare in stile poster */
.leaflet-container{font-family:var(--arch)}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{border-radius:0 !important;border:2.5px solid var(--ink);
  box-shadow:5px 5px 0 var(--ink) !important;background:var(--paper)}
.leaflet-bar a{border-radius:0 !important;border:2px solid var(--ink) !important;
  color:var(--ink) !important;font-family:var(--stencil);font-weight:800}
.leaflet-bar a:hover{background:var(--kraft) !important}

/* ---------------------------------------------------------
   COALITION — register: estensioni stato vuoto / lead
   (.register/.country/.org-list stanno in style.css)
   --------------------------------------------------------- */
.coalition-lead{margin-bottom:clamp(22px,3.4vw,36px)}
.register-empty,.empty-note{
  font-family:var(--mono);font-size:14px;color:#5C6B75;
  border:2.5px dashed var(--ink);background:var(--paper);
  padding:clamp(20px,4vw,30px);text-align:center;line-height:1.5}

/* ---------------------------------------------------------
   CTA STRIP — fascia di chiusura riusabile (petition/article/donate)
   --------------------------------------------------------- */
.cta-strip{text-align:center;display:flex;flex-direction:column;align-items:center}
.cta-strip .cta-kick{justify-content:center;margin-bottom:14px}
.cta-strip .cta-title{
  font-family:var(--stencil);font-weight:900;text-transform:uppercase;
  font-size:var(--fs-h2);line-height:.86;margin-bottom:var(--sp-3);
  max-width:20ch;letter-spacing:.004em;
  text-shadow:3px 3px 0 rgba(235,226,206,.5)}
.cta-strip .btn{min-height:54px}
.band-ink .cta-strip .cta-title{text-shadow:3px 3px 0 var(--coral)}
.band-coral .cta-strip .cta-title{text-shadow:3px 3px 0 var(--kraft)}
.band-kraft .cta-strip .cta-title,
.band-kraft-2 .cta-strip .cta-title,
.band-paper .cta-strip .cta-title{text-shadow:3px 3px 0 rgba(24,20,16,.18)}
.band-teal .cta-strip .cta-title{text-shadow:3px 3px 0 rgba(24,20,16,.5)}

/* coalition opening pull-quote (reuses the stamp + stencil treatment) */
.coalition-quote{
  position:relative;margin:var(--sp-3) 0 0;max-width:30ch;
  font-family:var(--stencil);font-weight:800;text-transform:uppercase;
  font-size:clamp(24px,4.6vw,44px);line-height:1.04;color:var(--ink)}
.coalition-quote::before{
  content:"✶";color:var(--coral);font-size:.7em;margin-right:.2em}

/* ---------------------------------------------------------
   PETITION — demands lead as 2-col (sticky lead + list right)
   --------------------------------------------------------- */
@media(min-width:768px){
  .demands-2col{display:grid;grid-template-columns:.78fr 1.22fr;
    gap:clamp(30px,5vw,60px);align-items:start}
  .demands-2col .demands-lead{position:sticky;top:calc(var(--nav-h) + 24px);margin-bottom:0}
  .demands-2col .demand-list{margin:0}
  /* index column shrinks so the two-up layout keeps breathing room */
  .demands-2col .demand{grid-template-columns:auto 1fr;align-items:start}
  .demands-2col .demand .ix{grid-row:1/3;align-self:start}
  .demands-2col .demand .em{grid-column:1;grid-row:2;align-self:start;margin-top:14px}
}

/* ---------------------------------------------------------
   PROSE band-head (privacy/legal) — opens with a numbered rule
   --------------------------------------------------------- */
.prose-head{margin-bottom:var(--sp-4)}

/* ---------------------------------------------------------
   404 — oversized stencil signature that breaks the grid
   --------------------------------------------------------- */
.err-actions{margin-top:var(--sp-3);display:flex;gap:14px;flex-wrap:wrap}
.err-sig{
  font-family:var(--stencil);font-weight:900;line-height:.8;letter-spacing:.004em;
  font-size:clamp(120px,38vw,340px);color:rgba(235,226,206,.1);
  position:absolute;left:clamp(-14px,-1vw,8px);bottom:clamp(-40px,-4vw,-16px);
  pointer-events:none;z-index:0}

/* Events map pins */
.ev-pin{background:none;border:0}
.ev-pin__dot{display:block;width:18px;height:18px;border-radius:50%;
  background:var(--coral,#4FB0D6);border:3px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.35)}
