/* ═══════════════════════════════════════════════════════
   BRAND UMANI — style.css
   Un progetto editoriale di Vittorio Varavallo
   ═══════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:        #F5F0E8;   /* crema carta antica */
  --bg-alt:    #EBE3D5;   /* crema più scura */
  --testo:     #1C1814;   /* marrone-nero */
  --testo-2:   #6B5D4F;   /* grigio caldo per metadati */
  --accento:   #8B3A2E;   /* terracotta */
  --accento-attenuato: #D4A89A;
  --linea:     #D9CFC1;   /* beige polveroso */

  --serif:     'Fraunces', 'Times New Roman', serif;
  --serif-body:'Source Serif 4', Georgia, serif;
  --sans:      'Inter', -apple-system, sans-serif;

  --pad:       clamp(20px, 5vw, 80px);
  --max:       1100px;
  --max-prose: 680px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--testo);
  font-family: var(--serif-body);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }

/* ── HEADER ── */
.site-header {
  padding: 24px var(--pad);
  border-bottom: 1px solid var(--linea);
  background: rgba(245, 240, 232, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 50;
  transition: padding 0.25s ease, box-shadow 0.25s ease;
}
.site-header.scrolled {
  padding: 16px var(--pad);
  box-shadow: 0 1px 0 var(--linea);
}
.site-header-inner {
  max-width: var(--max);
  margin: 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.logo {
  display: inline-block;
  line-height: 0;
}
.logo img {
  height: clamp(28px, 3.5vw, 28px);
  width: auto;
  display: block;
  transition: height 0.25s ease;
}
.site-header.scrolled .logo img {
  height: clamp(24px, 3vw, 22px);
}
.nav-rubriche {
  display: flex;
  gap: 28px;
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--testo-2);
}
.nav-rubriche a {
  transition: color 0.2s;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
}
.nav-rubriche a:hover,
.nav-rubriche a.active {
  color: var(--accento);
  border-bottom-color: var(--accento);
}

/* ── PAGE HEADER (per pagine interne) ── */
.page-header {
  padding: 80px var(--pad) 60px;
  border-bottom: 1px solid var(--linea);
  text-align: center;
}
.page-rubrica {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accento);
  margin-bottom: 20px;
}
.page-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 6vw, 68px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin-bottom: 24px;
}
.page-title em { font-style: italic; color: var(--accento); }
.page-sottotitolo {
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--testo-2);
  max-width: 580px;
  margin: 0 auto;
}

/* ── SECTION ── */
.section {
  padding: 80px var(--pad);
  border-bottom: 1px solid var(--linea);
}
.section-inner { max-width: var(--max); margin: 0 auto; }
.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 48px;
  gap: 16px;
  flex-wrap: wrap;
}
.section-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.section-title em { font-style: italic; color: var(--accento); }
.section-link {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accento);
  padding-bottom: 2px;
  border-bottom: 1px solid var(--accento);
}

/* ── PILLOLE LIST ── */
.pillole-list {
  max-width: var(--max-prose);
  margin: 0 auto;
  padding: 60px var(--pad) 100px;
}
.pillola-item {
  padding: 44px 0;
  border-bottom: 1px solid var(--linea);
}
.pillola-item:first-child { padding-top: 0; }
.pillola-item:last-child { border-bottom: 0; }
.pillola-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}
.pillola-numero {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: var(--accento);
}
.pillola-data {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--testo-2);
}
.pillola-titolo {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  margin-bottom: 16px;
}
.pillola-testo {
  font-family: var(--serif-body);
  font-size: 18px;
  line-height: 1.9;
  color: var(--testo);
  /* 400 e non 300: il colore era già quasi nero, a far sembrare grigi
     i paragrafi era il peso Light su un serif — i titoli, stesso
     colore, si leggevano benissimo. (19/10/2026) */
  font-weight: 400;
}
.pillola-testo p {
  margin-bottom: 24px;
}
.pillola-testo p:last-child {
  margin-bottom: 0;
}
.pillola-testo br {
  display: none;
}

/* ── PILLOLE GRID (home) ── */
.pillole-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--linea);
  border: 1px solid var(--linea);
}
.pillola-card {
  background: var(--bg);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: background 0.25s;
}
.pillola-card:hover { background: var(--bg-alt); }
.pillola-card-titolo {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 21px;
  line-height: 1.2;
}

/* ── NEWSLETTER GRID ── */
.newsletter-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px;
  max-width: var(--max);
  margin: 0 auto;
  padding: 60px var(--pad) 100px;
}
.nl-card {
  display: block;
  transition: opacity 0.2s;
}
.nl-card:hover { opacity: 0.78; }
.nl-card-img {
  aspect-ratio: 4/3;
  background: var(--bg-alt);
  margin-bottom: 20px;
  overflow: hidden;
}
.nl-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.nl-card-rubrica {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accento);
  margin-bottom: 10px;
}
.nl-card-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.2;
  margin-bottom: 12px;
}
.nl-card-excerpt {
  font-size: 16px;
  line-height: 1.6;
  color: var(--testo-2);
  margin-bottom: 14px;
}
.nl-card-meta {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--testo-2);
}

/* ── ARTICOLO SINGOLO ── */
.article-wrap {
  /* Piu largo del resto della prosa (pillole, episodi): solo l'articolo. */
  max-width: 780px;
  margin: 0 auto;
  padding: 80px var(--pad) 100px;
}
.article-rubrica {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accento);
  margin-bottom: 24px;
  text-align: center;
}
.article-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.015em;
  text-align: center;
  margin-bottom: 28px;
}
.article-title em { font-style: italic; color: var(--accento); }
.article-occhiello {
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
  color: var(--testo-2);
  max-width: 580px;
  margin: 0 auto 40px;
}
.article-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--testo-2);
  margin-bottom: 56px;
}
.article-meta strong { color: var(--testo); font-weight: 500; }
.article-meta-dot {
  width: 3px; height: 3px;
  background: var(--testo-2);
  border-radius: 50%;
  opacity: 0.5;
}
.article-cover {
  aspect-ratio: 16/9;
  background: var(--bg-alt);
  margin-bottom: 56px;
  overflow: hidden;
}
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-body {
  font-family: var(--serif-body);
  font-size: 19px;
  line-height: 2.0;
  color: var(--testo);
  /* Vedi .pillola-testo: era il peso, non il colore. (19/10/2026) */
  font-weight: 400;
}
.article-body p { margin-bottom: 32px; }
/* Il grassetto resta esplicito: col corpo a 400, «bolder» renderebbe 700 — 600 lo distingue senza gridare. */
.article-body strong, .article-body b { font-weight: 600; }
.article-body br { display: none; }
.article-body h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.2;
  margin: 56px 0 20px;
  letter-spacing: -0.01em;
}
.article-body h3 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.25;
  margin: 40px 0 16px;
}
.article-body blockquote {
  border-left: 2px solid var(--accento);
  padding: 8px 24px;
  margin: 32px 0;
  font-style: italic;
  color: var(--testo-2);
  font-size: 22px;
}
.article-body a {
  color: var(--accento);
  border-bottom: 1px solid var(--accento);
  padding-bottom: 1px;
}
.article-body img {
  max-width: 100%;
  height: auto;
  margin: 32px 0;
  display: block;
}
.article-body ul, .article-body ol {
  margin: 24px 0 24px 28px;
}
.article-body li { margin-bottom: 12px; }

/* ── PAGINAZIONE / CORRELATI ── */
.correlati {
  background: var(--bg-alt);
  padding: 80px var(--pad);
}
.correlati-head {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accento);
  text-align: center;
  margin-bottom: 40px;
}
.correlati-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: var(--max);
  margin: 0 auto;
}
.correlato {
  display: block;
  transition: opacity 0.2s;
}
.correlato:hover { opacity: 0.75; }
.correlato-img {
  aspect-ratio: 4/3;
  background: var(--bg);
  margin-bottom: 16px;
  overflow: hidden;
}
.correlato-img img { width: 100%; height: 100%; object-fit: cover; }
.correlato-titolo {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  color: var(--testo);
}

/* ── COLOPHON / FOOTER ── */
.colophon {
  padding: 80px var(--pad);
  background: var(--bg-alt);
  text-align: center;
}
.colophon-marca {
  font-family: var(--serif);
  font-style: italic;
  font-size: 28px;
  margin-bottom: 24px;
  color: var(--accento);
}
.colophon-inner { max-width: 560px; margin: 0 auto; }
.colophon-text {
  font-size: 17px;
  line-height: 1.7;
  color: var(--testo);
  margin-bottom: 24px;
}
.colophon-link {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accento);
  border-bottom: 1px solid var(--accento);
  padding-bottom: 2px;
}
.colophon-foot {
  margin-top: 48px;
  font-family: var(--sans);
  font-size: 12px;
  color: var(--testo-2);
}

/* ── ABOUT — autore ── */
.about-author {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  align-items: start;
  padding: 60px 0 32px;
  border-bottom: 1px solid var(--linea);
  margin-bottom: 40px;
}
.about-author-photo {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-alt);
}
.about-author-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-author-info {
  padding-top: 12px;
}
.about-author-name {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
.about-author-name em { font-style: italic; color: var(--accento); }
.about-author-role {
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accento);
  margin-bottom: 18px;
}
.about-author-bio {
  font-family: var(--serif-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--testo-2);
}
@media (max-width: 640px) {
  .about-author {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 24px;
  }
  .about-author-photo {
    margin: 0 auto;
    width: 160px; height: 160px;
  }
  .about-author-info { padding-top: 0; }
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .nav-rubriche { gap: 16px; font-size: 11px; }
  .pillole-grid { grid-template-columns: 1fr; }
  .newsletter-grid { grid-template-columns: 1fr; gap: 48px; }
  .correlati-grid { grid-template-columns: 1fr; gap: 32px; }
  .article-body { font-size: 18px; line-height: 1.8; }
  .pillola-item { padding: 36px 0; }
}

/* ═══════════════════════════════════════════════════════
   RESTIAMO UMANI — sezione notturna
   ═══════════════════════════════════════════════════════ */
.ru-wrap {
  background: var(--testo);
  color: var(--bg);
  min-height: 100vh;
}
.ru-header {
  padding: 100px var(--pad) 80px;
  text-align: center;
  border-bottom: 1px solid #2A2520;
}
.ru-rubrica {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  margin-bottom: 24px;
}
.ru-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--bg);
  margin-bottom: 28px;
}
.ru-title em {
  font-style: italic;
  color: var(--accento-attenuato);
}
.ru-tagline {
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: #C5B5A0;
  max-width: 560px;
  margin: 0 auto 48px;
}

/* TEASER */
.ru-teaser {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 var(--pad) 80px;
}
.ru-teaser-frame {
  aspect-ratio: 16/9;
  background: #0A0908;
  position: relative;
  overflow: hidden;
}
.ru-teaser-frame iframe,
.ru-teaser-frame .ru-teaser-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.ru-teaser-thumb {
  cursor: pointer;
  background-size: cover;
  background-position: center;
}
.ru-teaser-thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 100%);
  transition: background 0.25s;
}
.ru-teaser-thumb:hover::before {
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.35) 100%);
}
.ru-teaser-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.ru-teaser-play-btn {
  width: 84px;
  height: 84px;
  background: var(--accento-attenuato);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s, background 0.25s;
}
.ru-teaser-thumb:hover .ru-teaser-play-btn {
  transform: scale(1.08);
  background: var(--bg);
}
.ru-teaser-play-btn svg {
  width: 32px;
  height: 32px;
  fill: var(--testo);
  margin-left: 6px;
}
.ru-teaser-caption {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  text-align: center;
  margin-top: 16px;
}

/* GRID EPISODI */
.ru-episodi {
  padding: 100px var(--pad);
  border-top: 1px solid #2A2520;
}
.ru-episodi-head {
  max-width: var(--max);
  margin: 0 auto 64px;
  text-align: center;
}
.ru-episodi-rubrica {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  margin-bottom: 16px;
}
.ru-episodi-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--bg);
}
.ru-episodi-title em { font-style: italic; color: var(--accento-attenuato); }

.ru-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 56px;
}
.ru-card {
  display: block;
  transition: opacity 0.2s;
}
.ru-card:hover { opacity: 0.88; }
.ru-card:hover .ru-card-thumb-overlay { opacity: 1; }
.ru-card-thumb {
  aspect-ratio: 16/9;
  background: #2A2520;
  margin-bottom: 24px;
  overflow: hidden;
  position: relative;
}
.ru-card-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.ru-card-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.5) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
  transition: opacity 0.25s;
}
.ru-card-play {
  width: 56px;
  height: 56px;
  background: rgba(245, 240, 232, 0.92);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ru-card-play svg {
  width: 22px;
  height: 22px;
  fill: var(--testo);
  margin-left: 4px;
}
.ru-card-numero {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  margin-bottom: 10px;
}
.ru-card-nome {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--bg);
  margin-bottom: 8px;
}
.ru-card-sottotitolo {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4;
  color: #C5B5A0;
  margin-bottom: 14px;
}
.ru-card-sintesi {
  font-family: var(--serif-body);
  font-size: 15px;
  line-height: 1.65;
  color: #A39787;
  font-weight: 300;
}

/* ═══════════════════════════════════════════════════════
   RESTIAMO UMANI — singolo episodio
   ═══════════════════════════════════════════════════════ */
.ru-ep-wrap { background: var(--testo); color: var(--bg); min-height: 100vh; }
.ru-ep-head {
  text-align: center;
  padding: 80px var(--pad) 48px;
  max-width: var(--max-prose);
  margin: 0 auto;
}
.ru-ep-rubrica {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  margin-bottom: 24px;
}
.ru-ep-nome {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 6vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--bg);
  margin-bottom: 16px;
}
.ru-ep-sottotitolo {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.4;
  color: var(--accento-attenuato);
  margin-bottom: 32px;
}
.ru-ep-meta {
  font-family: var(--sans);
  font-size: 13px;
  color: #A39787;
}
.ru-ep-video {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--pad);
}
.ru-ep-video-frame {
  aspect-ratio: 16/9;
  background: #0A0908;
  position: relative;
  overflow: hidden;
}
.ru-ep-video-frame iframe,
.ru-ep-video-frame .ru-teaser-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.ru-ep-testo {
  max-width: var(--max-prose);
  margin: 0 auto;
  padding: 80px var(--pad) 60px;
  font-family: var(--serif-body);
  font-size: 19px;
  line-height: 1.85;
  color: #D9CFC1;
  font-weight: 300;
}
.ru-ep-testo strong { color: var(--bg); font-weight: 500; }
.ru-ep-testo em { font-style: italic; color: var(--accento-attenuato); }

.ru-ep-correlati {
  border-top: 1px solid #2A2520;
  padding: 80px var(--pad);
}
.ru-ep-correlati-head {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accento-attenuato);
  text-align: center;
  margin-bottom: 48px;
}
.ru-ep-correlati-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 768px) {
  .ru-header { padding: 60px var(--pad) 40px; }
  .ru-teaser { padding: 0 var(--pad) 48px; }
  .ru-episodi { padding: 60px var(--pad); }
  .ru-grid { grid-template-columns: 1fr; gap: 48px; }
  .ru-card-nome { font-size: 26px; }
  .ru-ep-correlati-grid { grid-template-columns: 1fr; gap: 32px; }
  .ru-ep-testo { font-size: 17px; line-height: 1.8; padding: 56px var(--pad); }
  .ru-teaser-play-btn { width: 64px; height: 64px; }
  .ru-teaser-play-btn svg { width: 24px; height: 24px; }
}
/* ── ISCRIZIONE NEWSLETTER — la sezione di vittoriovaravallo.it (v46+v49),
     ripetuta qui identica. Backend: /iscriviti.php (Mailchimp). ── */
.newsletter-signup{
  background:#D6B47A;
  color:#1A1613;
  padding:82px 0;
  /* Il salto d'ancora (#newsletter-signup) deve atterrare SOTTO la
     testata sticky, non mezzo coperto. */
  scroll-margin-top:90px;
}
.newsletter-signup-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}
.newsletter-signup-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:8vw;
  align-items:center;
}
.newsletter-signup-copy .eyebrow{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#1A1613;
  opacity:.7;
  margin-bottom:18px;
}
.newsletter-signup-copy h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(32px,4vw,52px);
  line-height:1.08;
  letter-spacing:-0.015em;
  margin-bottom:22px;
}
.newsletter-signup-copy p{
  margin:0;
  max-width:560px;
  font-family:var(--serif-body);
  font-size:20px;
  line-height:1.55;
}
.newsletter-form{
  width:100%;
}
.newsletter-field{
  margin-bottom:24px;
}
.newsletter-field label{
  display:block;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:10px;
}
.newsletter-field input{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(26,22,19,.45);
  background:transparent;
  color:#1A1613;
  font-family:var(--serif-body);
  font-size:20px;
  padding:12px 0 14px;
  outline:none;
  border-radius:0;
}
.newsletter-field input::placeholder{
  color:rgba(26,22,19,.48);
}
.newsletter-privacy{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.5;
  cursor:pointer;
}
.newsletter-privacy input{
  margin-top:2px;
  accent-color:#1A1613;
}
.newsletter-privacy a{
  color:#1A1613;
  text-decoration:underline;
}
.newsletter-submit{
  margin-top:24px;
  border:1px solid #1A1613;
  background:#1A1613;
  color:#F7F5F2;
  padding:14px 22px;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.newsletter-status{
  min-height:20px;
  margin:12px 0 0;
  font-family:var(--sans);
  font-size:12px;
}
.hp-field{
  position:absolute!important;
  left:-9999px!important;
  opacity:0!important;
}
@media(max-width:760px){
  .newsletter-signup{
    padding:60px 0;
  }
  .newsletter-signup-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .newsletter-signup-copy p{
    font-size:18px;
  }
  .newsletter-field input{
    font-size:18px;
  }
}

/* ── «Dalla newsletter» in home: due card identiche, impilate dove
     non c'è spazio (la griglia era un inline-style fisso a 2 colonne,
     senza regola mobile) ── */
.newsletter-grid-home{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:64px;
  align-items:start;
}
@media(max-width:760px){
  .newsletter-grid-home{
    grid-template-columns:1fr;
    gap:48px;
  }
}

/* ── Profilo autore nell'articolo: avatar tondo accanto al nome ── */
.article-meta-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
  display:block;
}
