:root {
  --navy: #0d1b2a;
  --navy-2: #13283d;
  --navy-3: #1b3550;
  --blue: #1683c6;
  --cyan: #55c2d9;
  --paper: #f5f3ee;
  --paper-2: #ece9e1;
  --white: #ffffff;
  --ink: #13202b;
  --muted: #66737e;
  --line: #dce2e5;
  --line-dark: rgba(255,255,255,.18);
  --accent-soft: #e5f5f8;
  --danger: #a63434;
  --radius: 18px;
  --shadow: 0 22px 55px rgba(13,27,42,.12);
  --container: 1240px;
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-editorial: Iowan Old Style, Baskerville, Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg.icon { width: 1em; height: 1em; fill: currentColor; display: inline-block; flex: 0 0 auto; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 88px 0; }
.section-divider { border-top: 1px solid var(--line); }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
.skip-link {
  position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px;
  background: var(--white); color: var(--navy); border-radius: 8px;
  transform: translateY(-160%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--line); transition: box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 28px rgba(13,27,42,.09); }
.header-note { background: var(--navy); color: rgba(255,255,255,.76); font-size: 12px; letter-spacing: .04em; }
.header-note-inner { min-height: 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.header-note a { color: var(--white); text-decoration: none; font-weight: 700; }
.brand-row { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; }
.brand-copy { display: flex; flex-direction: column; min-width: 285px; }
.brand-mark {
  width: 48px; height: 48px; flex: 0 0 48px; border-radius: 13px;
  display: grid; place-items: center; background: var(--navy); color: var(--cyan);
}
.brand-mark .icon { width: 22px; height: 22px; }
.brand-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.brand-wordmark { color: var(--navy); font-size: 28px; line-height: 1; font-weight: 750; letter-spacing: -.045em; }
.brand-wordmark > span { color: var(--blue); }
.brand-wordmark small { font-size: .56em; color: var(--muted); letter-spacing: -.02em; }
.brand-tagline { color: var(--muted); font-size: 11px; letter-spacing: .035em; margin-top: 6px; white-space: nowrap; }
.header-tools { display: flex; align-items: center; gap: 12px; }
.header-search { width: 260px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: #fafafa; overflow: hidden; }
.header-search input { width: 100%; border: 0; outline: 0; background: transparent; padding: 10px 4px 10px 16px; color: var(--ink); }
.header-search button { width: 42px; height: 40px; border: 0; background: transparent; color: var(--navy); display: grid; place-items: center; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--navy); place-items: center; }
.menu-toggle .icon { width: 22px; height: 22px; }
.menu-close-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-open-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-close-icon { display: inline-flex; }
.primary-nav { border-top: 1px solid var(--line); }
.primary-nav-inner { min-height: 48px; display: flex; align-items: stretch; gap: 30px; overflow-x: auto; scrollbar-width: none; }
.primary-nav-inner::-webkit-scrollbar { display: none; }
.primary-nav a {
  position: relative; display: flex; align-items: center; flex: 0 0 auto;
  color: #36444f; text-decoration: none; font-size: 13px; font-weight: 700;
}
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a.is-current::after { transform: scaleX(1); }
.primary-nav a.is-current { color: var(--navy); }

/* Common editorial elements */
.section-eyebrow { margin: 0 0 12px; color: var(--blue); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.section-eyebrow-light { color: var(--cyan); }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 38px; }
.section-heading-row h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--navy); font-weight: 800; text-decoration: none; white-space: nowrap; }
.text-link .icon { transition: transform .2s ease; }
.text-link:hover .icon { transform: translateX(5px); }
.content-type-badge {
  display: inline-flex; align-items: center; min-height: 27px; padding: 5px 10px;
  border: 1px solid rgba(255,255,255,.34); border-radius: 999px;
  color: var(--white); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .11em; text-decoration: none;
}
.content-type-badge-dark { color: var(--navy); border-color: var(--navy); background: transparent; }
.story-badges { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }
.category-link-light, .article-kicker { color: rgba(255,255,255,.72); text-decoration: none; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.story-meta, .article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 23px; color: var(--muted); font-size: 12px; font-weight: 650; }
.story-meta span, .article-meta span { display: inline-flex; align-items: center; gap: 6px; }
.story-meta .icon, .article-meta .icon { width: 16px; height: 16px; }
.story-meta-light, .article-meta-light { color: rgba(255,255,255,.72); }
.button {
  display: inline-flex; align-items: center; justify-content: center; padding: 12px 19px;
  border: 1px solid var(--navy); border-radius: 999px; background: var(--navy); color: var(--white);
  text-decoration: none; font-weight: 800; line-height: 1.2;
}
.button-secondary { background: transparent; color: var(--navy); }

/* Homepage hero: immagine principale, titolo affiancato e notizie laterali */
.editorial-hero {
  background: var(--paper); color: var(--ink); padding: 28px 0 58px; overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.editorial-hero .container { position: relative; }
.editorial-hero .container::before {
  content: ""; position: absolute; width: 360px; height: 360px; right: -210px; top: -210px;
  border: 1px solid rgba(22,131,198,.14); border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(22,131,198,.025), 0 0 0 140px rgba(22,131,198,.018);
  pointer-events: none;
}
.hero-overline {
  position: relative; display: flex; justify-content: space-between; gap: 20px; padding-bottom: 20px;
  border-bottom: 1px solid #cfd7db; color: var(--muted); font-size: 10px;
  text-transform: uppercase; letter-spacing: .15em; font-weight: 800;
}
.home-hero-grid {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(330px, .78fr);
  gap: 28px; padding-top: 28px;
}
.home-hero-grid-single { grid-template-columns: 1fr; }
.home-lead-story {
  min-height: 520px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  overflow: hidden; border-radius: 20px; background: var(--navy); color: var(--white);
  box-shadow: var(--shadow);
}
.home-lead-media { min-height: 520px; position: relative; display: block; overflow: hidden; background: var(--navy-3); }
.home-lead-media::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 72%, rgba(13,27,42,.26));
  pointer-events: none;
}
.home-lead-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-lead-story:hover .home-lead-media img { transform: scale(1.025); }
.hero-image-placeholder { width: 100%; height: 100%; min-height: 520px; display: grid; place-items: center; color: var(--cyan); background: linear-gradient(145deg, var(--navy-3), var(--navy)); }
.hero-image-placeholder .icon { width: 70px; height: 70px; opacity: .72; }
.home-lead-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 46px 42px; }
.home-lead-story h1 { margin: 22px 0 20px; font-size: clamp(38px, 4.25vw, 64px); line-height: 1.01; letter-spacing: -.055em; font-weight: 760; }
.home-lead-story h1 a { text-decoration: none; }
.lead-subtitle { margin: 0 0 25px; color: rgba(255,255,255,.74); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.5; }
.hero-read-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; color: var(--white); text-decoration: none; font-weight: 800; }
.hero-read-link .icon { transition: transform .2s ease; }
.hero-read-link:hover .icon { transform: translateX(6px); }
.hero-side-headlines {
  align-self: stretch; padding: 22px 22px 10px; border: 1px solid var(--line); border-radius: 18px;
  background: var(--white); box-shadow: 0 16px 42px rgba(13,27,42,.07);
}
.hero-side-title, .article-hero-aside-title { color: var(--blue); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .15em; padding-bottom: 14px; }
.hero-side-headlines article {
  display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 15px; padding: 16px 0;
  border-top: 1px solid var(--line); align-items: center;
}
.hero-side-media { position: relative; height: 78px; overflow: hidden; border-radius: 10px; background: var(--navy); text-decoration: none; }
.hero-side-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.hero-side-media:hover img { transform: scale(1.05); }
.hero-side-media > span { width: 100%; height: 100%; display: grid; place-items: center; color: var(--cyan); }
.hero-side-media > span .icon { width: 25px; height: 25px; }
.hero-side-media small {
  position: absolute; left: 6px; bottom: 6px; min-width: 23px; height: 23px; display: grid; place-items: center;
  padding: 0 4px; border-radius: 6px; background: rgba(13,27,42,.88); color: var(--white);
  font-size: 9px; font-weight: 850;
}
.hero-side-type { color: var(--blue); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; text-decoration: none; }
.hero-side-headlines h2 { margin: 4px 0 5px; font-size: 16px; line-height: 1.27; letter-spacing: -.025em; }
.hero-side-headlines h2 a { text-decoration: none; }
.hero-side-headlines h2 a:hover { color: var(--blue); }
.hero-side-headlines article p { margin: 0; color: var(--muted); font-size: 10px; }
.editorial-hero-empty { padding: 85px 0 95px; background: var(--navy); color: var(--white); }
.editorial-hero-empty .container::before { border-color: rgba(85,194,217,.24); }
.empty-hero-copy h1 { margin: 18px 0; font-size: clamp(52px, 7vw, 92px); line-height: .96; letter-spacing: -.06em; }
.empty-hero-copy p { max-width: 650px; color: rgba(255,255,255,.72); font-size: 21px; }

.editorial-intro { background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: .5fr 1.35fr 1fr; gap: 45px; align-items: start; }
.intro-grid h2 { margin: 0; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.04; letter-spacing: -.052em; }
.intro-grid > p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 18px; line-height: 1.7; }

/* Lists and cards */
.main-sidebar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 62px; align-items: start; }
.article-list { display: grid; gap: 0; }
.article-list-card { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 30px; padding: 28px 0; border-top: 1px solid var(--line); }
.article-list-card:first-child { border-top: 0; padding-top: 0; }
.article-list-media { min-height: 190px; border-radius: 14px; overflow: hidden; background: var(--paper); text-decoration: none; }
.article-list-media img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; transition: transform .45s ease; }
.article-list-card:hover .article-list-media img { transform: scale(1.035); }
.article-placeholder { width: 100%; height: 100%; min-height: 190px; display: grid; place-items: center; background: var(--navy); color: var(--cyan); }
.article-placeholder .icon { width: 44px; height: 44px; }
.article-list-body { align-self: center; }
.article-taxonomy { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; color: var(--blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.article-taxonomy > a:not(.content-type-badge) { text-decoration: none; }
.article-list-body h2, .article-list-body h3 { margin: 0 0 12px; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.12; letter-spacing: -.042em; }
.article-list-body h2 a, .article-list-body h3 a { text-decoration: none; }
.article-list-body h2 a:hover, .article-list-body h3 a:hover { color: var(--blue); }
.article-list-body > p { margin: 0 0 18px; color: var(--muted); font-size: 15px; line-height: 1.65; }

/* Sidebar */
.content-sidebar { display: grid; gap: 22px; position: sticky; top: 190px; }
.sidebar-box { border: 1px solid var(--line); border-radius: 16px; padding: 24px; background: var(--white); }
.sidebar-box h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.sidebar-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.sidebar-heading-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--accent-soft); color: var(--blue); }
.sidebar-heading-icon .icon { width: 18px; height: 18px; }
.sidebar-search-box > h2 { margin-bottom: 12px; }
.sidebar-search { display: flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.sidebar-search input { min-width: 0; width: 100%; border: 0; outline: 0; padding: 11px 12px; }
.sidebar-search button { width: 44px; border: 0; background: var(--navy); color: var(--white); display: grid; place-items: center; }
.latest-mini-list { margin: 0; padding: 0; list-style: none; }
.latest-mini-list li { border-top: 1px solid var(--line); }
.latest-mini-list li:first-child { border-top: 0; }
.latest-mini-list a { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 11px; padding: 13px 0; text-decoration: none; align-items: center; }
.latest-mini-thumb { position: relative; width: 66px; height: 52px; overflow: hidden; display: grid; place-items: center; border-radius: 9px; background: var(--navy); color: var(--cyan); }
.latest-mini-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.latest-mini-list a:hover .latest-mini-thumb img { transform: scale(1.05); }
.latest-mini-thumb > .icon { width: 20px; height: 20px; }
.latest-mini-thumb > small { position: absolute; left: 4px; bottom: 4px; min-width: 20px; height: 20px; display: grid; place-items: center; margin: 0; border-radius: 5px; background: rgba(13,27,42,.88); color: var(--white); font-size: 8px; font-weight: 850; }
.latest-mini-copy { min-width: 0; }
.latest-mini-list strong { display: block; font-size: 13px; line-height: 1.34; letter-spacing: -.015em; }
.latest-mini-list a:hover strong { color: var(--blue); }
.latest-mini-copy > small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.archive-list details { border-top: 1px solid var(--line); }
.archive-list details:first-child { border-top: 0; }
.archive-list summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 0; cursor: pointer; font-weight: 800; list-style: none; }
.archive-list summary::-webkit-details-marker { display: none; }
.archive-list summary span:last-child { color: var(--muted); font-size: 10px; font-weight: 650; }
.archive-list ul { list-style: none; padding: 0 0 10px 12px; margin: 0; }
.archive-list li a { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; color: var(--muted); text-decoration: none; font-size: 13px; }
.archive-list li a:hover { color: var(--blue); }
.archive-list li small { min-width: 25px; text-align: center; padding: 2px 7px; border-radius: 999px; background: var(--paper); }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; background: var(--paper); color: #40505d; font-size: 11px; font-weight: 700; text-decoration: none; }
.tag-cloud a:hover { background: var(--navy); color: var(--white); }
.tag-cloud small { opacity: .65; }

/* Archive */
.archive-hero, .static-hero { background: var(--navy); color: var(--white); padding: 72px 0; }
.archive-hero-inner { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.archive-hero h1, .static-hero h1 { margin: 0 0 15px; font-size: clamp(48px, 6vw, 78px); line-height: 1; letter-spacing: -.06em; }
.archive-hero p, .static-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.7); font-size: 18px; }
.archive-total { min-width: 140px; text-align: right; }
.archive-total strong { display: block; color: var(--cyan); font-size: 48px; line-height: 1; }
.archive-total span { color: rgba(255,255,255,.65); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.empty-state { padding: 70px 30px; text-align: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.empty-state > span { width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: var(--cyan); }
.empty-state h2 { margin: 0 0 8px; font-size: 30px; }
.empty-state p { color: var(--muted); }
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-top: 40px; padding-top: 25px; border-top: 1px solid var(--line); }
.pagination a { text-decoration: none; font-weight: 750; font-size: 13px; }
.pagination-next { text-align: right; }
.pagination-pages { display: flex; gap: 7px; }
.pagination-pages a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.pagination-pages a.is-current { background: var(--navy); border-color: var(--navy); color: var(--white); }

/* Single article header inspired by the provided reference */
.article-hero { position: relative; overflow: hidden; background: var(--navy); color: var(--white); padding: 42px 0 82px; }
.article-hero::after { content: ""; position: absolute; right: -180px; bottom: -300px; width: 620px; height: 620px; border: 1px solid rgba(85,194,217,.17); border-radius: 50%; box-shadow: 0 0 0 95px rgba(85,194,217,.025); }
.article-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(280px, .75fr); gap: 64px; }
.breadcrumbs { display: flex; align-items: center; gap: 9px; margin-bottom: 40px; color: rgba(255,255,255,.55); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--cyan); }
.article-hero-main h1 { max-width: 930px; margin: 22px 0 24px; font-size: 72px; font-size: clamp(48px, 6vw, 86px); line-height: .99; letter-spacing: -.064em; font-weight: 760; }
.article-subtitle { max-width: 800px; margin: 0 0 28px; color: rgba(255,255,255,.72); font-size: clamp(18px, 2vw, 23px); line-height: 1.48; }
.article-hero-aside { align-self: end; border-left: 1px solid var(--line-dark); padding-left: 28px; }
.article-hero-aside article { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 16px 0; border-top: 1px solid var(--line-dark); }
.article-hero-aside article > span { color: rgba(255,255,255,.32); font-size: 11px; font-weight: 850; }
.article-hero-aside small { color: var(--cyan); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.article-hero-aside h2 { margin: 5px 0 0; font-size: 16px; line-height: 1.3; letter-spacing: -.02em; }
.article-hero-aside h2 a { text-decoration: none; }
.article-hero-aside h2 a:hover { color: var(--cyan); }
.article-cover-wrap { position: relative; z-index: 2; margin-top: -38px; }
.article-cover { margin: 0; overflow: hidden; border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.article-cover img { width: 100%; max-height: 690px; object-fit: cover; }
.article-section { padding-top: 70px; }
.article-layout { display: grid; grid-template-columns: 68px minmax(0, 760px) 330px; justify-content: center; gap: 42px; align-items: start; }
.article-share-rail { position: sticky; top: 190px; }
.article-content-column { min-width: 0; }
.article-deck { margin: 0 0 34px; padding-bottom: 30px; border-bottom: 1px solid var(--line); color: #2f3e49; font-family: var(--font-editorial); font-size: clamp(22px, 2.4vw, 29px); line-height: 1.45; }
.article-content { color: #222f39; font-family: var(--font-editorial); font-size: 20px; line-height: 1.78; }
.article-content > *:first-child { margin-top: 0; }
.article-content h2, .article-content h3, .article-content h4 { color: var(--navy); font-family: var(--font-ui); line-height: 1.18; letter-spacing: -.04em; }
.article-content h2 { margin: 2.3em 0 .65em; font-size: clamp(30px, 3vw, 42px); }
.article-content h3 { margin: 2em 0 .55em; font-size: 29px; }
.article-content h4 { margin: 1.8em 0 .5em; font-size: 23px; }
.article-content p { margin: 0 0 1.35em; }
.article-content a { color: #0d6fa8; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-content blockquote { margin: 2em 0; padding: 4px 0 4px 28px; border-left: 4px solid var(--cyan); color: var(--navy); font-size: 1.25em; line-height: 1.55; }
.article-content ul, .article-content ol { padding-left: 1.35em; margin-bottom: 1.5em; }
.article-content li { margin-bottom: .45em; }
.article-content img { margin: 2em auto; border-radius: 12px; }
.article-content figure { margin: 2.3em 0; }
.article-content figcaption { margin-top: 9px; color: var(--muted); font-family: var(--font-ui); font-size: 12px; text-align: center; }
.article-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; font-family: var(--font-ui); font-size: 14px; }
.article-content th, .article-content td { padding: 11px 13px; border: 1px solid var(--line); text-align: left; }
.article-content th { background: var(--paper); }
.article-content iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 12px; }
.sources-box { margin-top: 55px; padding: 26px; border: 1px solid #cfe0e7; border-radius: 16px; background: #f4fafb; }
.sources-heading { display: flex; gap: 14px; align-items: center; }
.sources-heading > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--navy); color: var(--cyan); }
.sources-heading p { margin: 0; color: var(--blue); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.sources-heading h2 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.025em; }
.sources-box ol { margin: 20px 0 0; padding-left: 22px; }
.sources-box li { padding: 6px 0; }
.sources-box a { display: inline-flex; align-items: center; gap: 6px; color: var(--navy); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sources-box .icon { width: 14px; height: 14px; }
.article-tags { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 35px; padding-top: 26px; border-top: 1px solid var(--line); }
.article-tags strong { margin-right: 5px; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.article-tags a { padding: 7px 10px; border-radius: 999px; background: var(--paper); color: var(--navy); font-size: 12px; font-weight: 700; text-decoration: none; }
.article-tags a:hover { background: var(--navy); color: var(--white); }
.article-bottom-share { margin-top: 32px; }
.article-updated { margin-top: 22px; color: var(--muted); font-size: 11px; font-style: italic; }

/* Share buttons */
.share-group { display: flex; gap: 12px; }
.share-label { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .11em; }
.share-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.share-buttons a, .share-buttons button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--navy); display: grid; place-items: center; text-decoration: none; transition: background .18s ease, color .18s ease, transform .18s ease; }
.share-buttons a:hover, .share-buttons button:hover { background: var(--navy); color: var(--white); transform: translateY(-2px); }
.share-buttons .icon { width: 17px; height: 17px; }
.share-vertical { flex-direction: column; align-items: center; }
.share-vertical .share-buttons { flex-direction: column; }
.share-horizontal { align-items: center; justify-content: space-between; padding: 22px; border-radius: 14px; background: var(--paper); }

.related-section { background: var(--paper); }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.related-card { overflow: hidden; border-radius: 15px; background: var(--white); }
.related-card-media { height: 190px; display: block; text-decoration: none; overflow: hidden; }
.related-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.related-card:hover img { transform: scale(1.04); }
.related-card > div { padding: 20px; }
.related-card small { color: var(--blue); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.related-card h3 { margin: 8px 0 0; font-size: 20px; line-height: 1.28; letter-spacing: -.03em; }
.related-card h3 a { text-decoration: none; }

/* Static pages */
.static-hero-inner { max-width: 900px; }
.prose-page { max-width: 860px; }
.prose-page h2 { margin: 1.6em 0 .5em; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; letter-spacing: -.045em; }
.prose-page > h2:first-child { margin-top: 0; }
.prose-page p { color: #394954; font-family: var(--font-editorial); font-size: 20px; line-height: 1.75; }
.prose-page blockquote { margin: 50px 0 0; padding: 25px 30px; border-left: 5px solid var(--cyan); background: var(--paper); color: var(--navy); font-size: 28px; font-weight: 700; }
.method-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.method-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 16px; }
.method-grid article > span { color: var(--blue); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.method-grid h2 { margin: 12px 0 8px; font-size: 28px; }
.method-grid p { margin: 0; font-size: 17px; }
.contact-panel { padding: 45px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.contact-label { margin: 0 !important; font-family: var(--font-ui) !important; font-size: 11px !important; font-weight: 850; text-transform: uppercase; letter-spacing: .11em; }
.contact-email { display: inline-block; margin: 8px 0 20px; color: var(--blue); font-size: clamp(28px, 5vw, 52px); font-weight: 750; letter-spacing: -.045em; text-decoration: none; }
.error-section { min-height: 64vh; display: grid; place-items: center; padding: 80px 0; background: var(--paper); }
.error-inner { text-align: center; }
.error-code { color: var(--cyan); font-size: 92px; line-height: 1; font-weight: 850; letter-spacing: -.06em; }
.error-inner h1 { margin: 15px 0; font-size: clamp(38px, 6vw, 66px); line-height: 1; letter-spacing: -.055em; }
.error-inner p { color: var(--muted); }
.error-actions { display: flex; justify-content: center; gap: 12px; margin-top: 28px; }

/* Footer */
.site-footer { background: var(--navy); color: rgba(255,255,255,.68); padding: 68px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 50px; padding-bottom: 58px; }
.brand-footer .brand-mark { background: var(--white); color: var(--blue); }
.brand-footer .brand-wordmark { color: var(--white); }
.brand-footer .brand-wordmark small { color: rgba(255,255,255,.5); }
.footer-brand-column > p { max-width: 380px; }
.footer-tagline { color: var(--cyan); font-weight: 700; }
.footer-title { margin: 0 0 16px; color: var(--white); font-size: 14px; letter-spacing: .02em; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin: 8px 0; }
.footer-links a, .footer-email { color: rgba(255,255,255,.68); text-decoration: none; font-size: 13px; }
.footer-links a:hover, .footer-email:hover { color: var(--white); }
.footer-small { font-size: 13px; }
.footer-socials { display: flex; gap: 8px; margin: 16px 0; }
.footer-socials a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: grid; place-items: center; color: var(--white); }
.footer-socials a:hover { background: var(--white); color: var(--navy); }
.footer-bottom { min-height: 64px; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; }
.footer-legal { display: flex; gap: 14px; }
.footer-legal a { color: rgba(255,255,255,.62); text-decoration: none; }
.footer-legal a:hover { color: var(--white); }
.toast { position: fixed; z-index: 2000; left: 50%; bottom: 24px; transform: translate(-50%, 30px); padding: 11px 16px; border-radius: 999px; background: var(--navy); color: var(--white); font-size: 13px; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; box-shadow: var(--shadow); }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1100px) {
  .home-hero-grid { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 24px; }
  .home-lead-story { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); }
  .home-lead-copy { padding: 38px 32px; }
  .article-hero-grid { grid-template-columns: minmax(0, 1.55fr) minmax(280px, .8fr); gap: 36px; }
  .main-sidebar-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 38px; }
  .article-layout { grid-template-columns: minmax(0, 740px) 300px; gap: 35px; }
  .article-share-rail { display: none; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 860px) {
  .section { padding: 66px 0; }
  .brand-row { min-height: 74px; }
  .brand-mark { width: 42px; height: 42px; flex-basis: 42px; }
  .brand-wordmark { font-size: 25px; }
  .brand-copy { min-width: 0; }
  .brand-tagline { display: none; }
  .header-search { display: none; }
  .menu-toggle { display: grid; }
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--white); box-shadow: 0 20px 35px rgba(13,27,42,.12); }
  .primary-nav.is-open { display: block; }
  .primary-nav-inner { display: grid; gap: 0; padding-block: 10px; }
  .primary-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }
  .primary-nav a::after { display: none; }
  .home-hero-grid, .article-hero-grid { grid-template-columns: 1fr; }
  .home-lead-story h1 { font-size: clamp(40px, 6vw, 60px); }
  .article-hero-main h1 { font-size: clamp(46px, 10vw, 72px); }
  .hero-side-headlines { display: grid; grid-template-columns: 1fr 1fr; column-gap: 22px; }
  .hero-side-title { grid-column: 1 / -1; }
  .article-hero-aside { border-left: 0; border-top: 1px solid var(--line-dark); padding: 30px 0 0; }
  .intro-grid { grid-template-columns: 1fr; gap: 18px; }
  .main-sidebar-layout { grid-template-columns: 1fr; }
  .content-sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
  .sidebar-search-box { grid-column: 1 / -1; }
  .article-layout { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .header-note { display: none; }
  .brand-row { min-height: 68px; }
  .brand { gap: 9px; }
  .brand-mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 10px; }
  .brand-wordmark { font-size: 22px; }
  .editorial-hero { padding: 22px 0 40px; }
  .hero-overline { padding-bottom: 15px; }
  .home-hero-grid { padding-top: 22px; }
  .home-lead-story { min-height: 0; grid-template-columns: 1fr; }
  .home-lead-media, .hero-image-placeholder { min-height: 265px; }
  .home-lead-copy { padding: 30px 24px 34px; }
  .home-lead-story h1 { font-size: clamp(36px, 11vw, 52px); }
  .article-hero-main h1 { font-size: clamp(40px, 12vw, 58px); }
  .lead-subtitle, .article-subtitle { font-size: 17px; }
  .hero-side-headlines { grid-template-columns: 1fr; padding: 18px; }
  .hero-side-headlines article { grid-template-columns: 92px minmax(0, 1fr); }
  .editorial-intro { padding-block: 55px; }
  .article-list-card { grid-template-columns: 1fr; gap: 18px; padding: 24px 0; }
  .article-list-media, .article-list-media img, .article-placeholder { min-height: 210px; }
  .content-sidebar { grid-template-columns: 1fr; }
  .sidebar-search-box { grid-column: auto; }
  .section-heading-row { align-items: start; flex-direction: column; }
  .archive-hero, .static-hero { padding: 56px 0; }
  .archive-hero-inner { align-items: start; flex-direction: column; }
  .archive-total { text-align: left; }
  .article-hero { padding: 28px 0 60px; }
  .breadcrumbs { margin-bottom: 28px; }
  .article-cover-wrap { width: 100%; margin-top: -25px; }
  .article-cover { border-radius: 0; }
  .article-section { padding-top: 48px; }
  .article-content { font-size: 18px; line-height: 1.72; }
  .article-deck { font-size: 22px; }
  .share-horizontal { align-items: flex-start; flex-direction: column; }
  .related-grid { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr; }
  .contact-panel { padding: 28px; }
  .contact-email { word-break: break-word; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
  .footer-legal { flex-wrap: wrap; }
  .pagination { grid-template-columns: 1fr 1fr; }
  .pagination-pages { grid-column: 1 / -1; grid-row: 1; justify-content: center; }
  .pagination-prev { grid-column: 1; }
  .pagination-next { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Homepage leggibile: anteprima e lettura completa senza cambiare pagina */
.home-reading-section { background: var(--white); padding-top: 76px; }
.home-reading-layout { align-items: start; }
.home-main-column { min-width: 0; }
.home-featured-reading {
  scroll-margin-top: 185px;
  padding: clamp(30px, 4.5vw, 58px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 18px 48px rgba(13,27,42,.07);
}
.featured-inline-preview { max-width: 850px; }
.home-featured-preview {
  margin: 0;
  color: var(--navy);
  font-family: var(--font-editorial);
  font-size: clamp(24px, 2.7vw, 34px);
  line-height: 1.55;
}
.inline-reader-preview[hidden], .inline-reader-target[hidden] { display: none !important; }
.inline-reader-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-top: 28px;
}
.inline-read-button .icon { transition: transform .18s ease; }
.inline-read-button:hover .icon { transform: translateX(4px); }
.inline-read-button.is-loading { opacity: .68; pointer-events: none; }
.text-link-muted { color: var(--muted); font-size: 12px; }
.inline-reader-target {
  animation: inlineReaderReveal .25s ease both;
}
.home-featured-reading > .inline-reader-target { max-width: 850px; }
.home-inline-article-content { max-width: 790px; }
.home-sources-box { max-width: 790px; }
.home-sources-box .sources-heading h2 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.025em; }
.home-article-tags { max-width: 790px; }
.inline-reader-footer {
  max-width: 790px;
  display: grid;
  gap: 18px;
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}
.inline-reader-footer .home-share { margin: 0; }
.home-share.share-horizontal { padding: 16px 18px; }
.inline-reader-footer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 22px;
}
.inline-collapse-button {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 13px;
}
.inline-reader-error {
  padding: 18px;
  border: 1px solid #efc7c7;
  border-radius: 12px;
  background: #fff4f4;
  color: #8d2e2e;
}
@keyframes inlineReaderReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.home-latest-section { margin-top: 82px; }
.home-stream-heading { margin-bottom: 16px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.home-stream-list { display: grid; }
.home-stream-card {
  scroll-margin-top: 180px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 30px;
  padding: 36px 0;
  border-bottom: 1px solid var(--line);
}
.home-stream-card:first-child { padding-top: 28px; }
.home-stream-media {
  align-self: start;
  height: 205px;
  overflow: hidden;
  border-radius: 15px;
  background: var(--navy);
  text-decoration: none;
}
.home-stream-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.home-stream-media:hover img { transform: scale(1.035); }
.home-stream-media .article-placeholder { min-height: 205px; }
.home-stream-body { min-width: 0; }
.home-stream-body h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(29px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -.048em;
}
.home-stream-body h3 a { text-decoration: none; }
.home-stream-body h3 a:hover { color: var(--blue); }
.home-stream-subtitle {
  margin: 0 0 16px;
  color: #4a5a65;
  font-family: var(--font-editorial);
  font-size: 19px;
  line-height: 1.5;
}
.home-stream-preview {
  margin: 22px 0 0;
  color: #33444f;
  font-family: var(--font-editorial);
  font-size: 18px;
  line-height: 1.72;
}
.home-stream-card .inline-reader-target { margin-top: 32px; padding-top: 30px; border-top: 1px dashed #cbd5da; }
.home-stream-card.is-expanded { grid-template-columns: 200px minmax(0, 1fr); }
.home-stream-card.is-expanded .home-stream-media { height: 150px; }
.home-stream-actions { margin-top: 20px; }

/* Nota e preferenze tecniche */
.footer-disclaimer { max-width: 380px; margin: 16px 0 0; color: rgba(255,255,255,.5); font-size: 11px; line-height: 1.55; }
.cookie-notice {
  position: fixed;
  z-index: 2200;
  left: 20px;
  right: 20px;
  bottom: 20px;
  max-width: 860px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 15px;
  background: #0b1724;
  color: rgba(255,255,255,.84);
  box-shadow: 0 22px 60px rgba(0,0,0,.28);
}
.cookie-notice[hidden] { display: none; }
.cookie-notice-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.cookie-notice p { margin: 0; font-size: 13px; line-height: 1.55; }
.cookie-notice a { color: var(--cyan); font-weight: 750; }
.cookie-notice button {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 9px 17px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  font-weight: 850;
}

@media (max-width: 1100px) {
  .home-stream-card { grid-template-columns: 225px minmax(0, 1fr); gap: 25px; }
  .home-stream-media { height: 185px; }
  .home-stream-media .article-placeholder { min-height: 185px; }
}

@media (max-width: 860px) {
  .home-reading-section { padding-top: 58px; }
  .home-featured-reading { padding: clamp(26px, 6vw, 46px); }
  .inline-reader-footer .home-share { width: 100%; }
}

@media (max-width: 620px) {
  .home-reading-section { padding-top: 34px; }
  .home-featured-reading { padding: 25px 20px; border-radius: 16px; }
  .home-latest-section { margin-top: 62px; }
  .home-stream-card { grid-template-columns: 1fr; gap: 20px; padding: 30px 0; }
  .home-stream-media { height: 225px; }
  .home-stream-media .article-placeholder { min-height: 225px; }
  .home-stream-body h3 { font-size: clamp(30px, 9vw, 40px); }
  .home-stream-preview { font-size: 17px; }
  .inline-reader-actions { align-items: stretch; flex-direction: column; }
  .inline-reader-actions .button, .inline-reader-actions .text-link { justify-content: center; width: 100%; }
  .home-stream-card .inline-reader-target { margin-top: 26px; padding-top: 24px; }
  .home-share.share-horizontal { align-items: flex-start; flex-direction: column; }
  .cookie-notice { left: 12px; right: 12px; bottom: 12px; padding: 17px; }
  .cookie-notice-inner { align-items: stretch; flex-direction: column; gap: 14px; }
  .cookie-notice button { width: 100%; }
}

/* ================================================================
   V5 — homepage a flusso editoriale, lettura inline e paginazione
   ================================================================ */
body { overflow-x: clip; }

.home-reading-section { padding: 68px 0 28px; background: var(--white); }
.home-featured-reading {
  scroll-margin-top: 178px;
  padding: clamp(28px, 4.6vw, 60px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 18px 48px rgba(13,27,42,.07);
}
.home-featured-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 36px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
}
.home-featured-heading h2 { margin: 0; font-size: clamp(30px, 4vw, 47px); line-height: 1.05; letter-spacing: -.05em; }
.home-featured-reading .inline-article-loaded { max-width: 980px; }
.home-featured-reading .home-inline-article-content { max-width: 900px; }

.home-newspaper-section { padding-top: 64px; background: var(--white); }
.home-newspaper-section-paged { padding-top: 72px; }
.home-stream-heading { margin-bottom: 0; padding-bottom: 30px; border-bottom: 2px solid var(--navy); }
.home-stream-list { display: block; }
.home-stream-card {
  display: block;
  scroll-margin-top: 170px;
  padding: 34px 0 38px;
  border-bottom: 1px solid var(--line);
  min-width: 0;
}
.home-stream-card:first-child { padding-top: 34px; }
.home-stream-summary {
  display: grid;
  grid-template-columns: minmax(240px, 310px) minmax(0, 1fr);
  gap: clamp(26px, 3.3vw, 46px);
  align-items: start;
  min-width: 0;
}
.home-stream-media {
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--navy);
  text-decoration: none;
}
.home-stream-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.home-stream-media:hover img { transform: scale(1.035); }
.home-stream-media .article-placeholder { min-height: 220px; }
.home-stream-body { min-width: 0; }
.home-stream-body h3 {
  max-width: 920px;
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.04;
  letter-spacing: -.052em;
}
.home-stream-body h3 a { text-decoration: none; }
.home-stream-body h3 a:hover { color: var(--blue); }
.home-stream-subtitle {
  max-width: 880px;
  margin: 0 0 16px;
  color: #4a5a65;
  font-family: var(--font-editorial);
  font-size: 19px;
  line-height: 1.5;
}
.home-stream-preview {
  max-width: 920px;
  margin: 20px 0 0;
  color: #33444f;
  font-family: var(--font-editorial);
  font-size: 18px;
  line-height: 1.68;
}
.home-stream-actions { margin-top: 18px; }

/* Quando si apre un articolo, la preview scompare e il corpo usa tutta la card. */
.home-stream-card.is-expanded .home-stream-summary { display: block; }
.home-stream-card.is-expanded .home-stream-media { display: none; }
.home-stream-card.is-expanded .home-stream-body { width: 100%; max-width: 1050px; }
.home-stream-card .inline-reader-target {
  width: 100%;
  min-width: 0;
  margin-top: 30px;
  padding-top: 34px;
  border-top: 1px dashed #cbd5da;
  overflow: hidden;
  animation: inlineReaderReveal .25s ease both;
}
.home-stream-card .inline-reader-target[hidden] { display: none !important; }
.home-stream-card .inline-article-loaded { width: 100%; min-width: 0; }

/* Nell'apertura desktop il testo scorre intorno alla copertina; sul telefono
   la copertina torna sopra al testo e non può restringere la colonna. */
.home-inline-float-media {
  float: left;
  width: min(36%, 390px);
  margin: 4px 34px 22px 0;
  overflow: hidden;
  border-radius: 15px;
  background: var(--paper);
  box-shadow: 0 14px 35px rgba(13,27,42,.1);
}
.home-inline-float-media img { width: 100%; height: auto; max-height: 360px; object-fit: cover; }
.home-inline-article-content {
  max-width: none;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.home-inline-article-content a { overflow-wrap: anywhere; }
.home-inline-article-content img,
.home-inline-article-content iframe,
.home-inline-article-content video { max-width: 100%; }
.home-inline-article-content table { max-width: 100%; }
.home-inline-clear { clear: both; height: 0; }
.home-sources-box,
.home-article-tags,
.inline-reader-footer { clear: both; max-width: 980px; }
.inline-reader-footer { width: 100%; }
.inline-reader-footer-actions { gap: 15px 24px; }
.inline-collapse-button { white-space: normal; }

.home-paged-hero { position: relative; overflow: hidden; padding: 68px 0; background: var(--navy); color: var(--white); }
.home-paged-hero::after {
  content: "";
  position: absolute;
  right: -170px;
  top: -240px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(85,194,217,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(85,194,217,.03);
}
.home-paged-hero-inner { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.home-paged-hero h1 { margin: 0 0 12px; font-size: clamp(50px, 7vw, 84px); line-height: .95; letter-spacing: -.06em; }
.home-paged-hero p:not(.section-eyebrow) { max-width: 690px; margin: 0; color: rgba(255,255,255,.7); font-size: 18px; }
.home-paged-hero-inner > strong { color: var(--cyan); font-size: clamp(70px, 10vw, 132px); line-height: .75; letter-spacing: -.08em; opacity: .86; }
.home-pagination { margin-top: 46px; }

@media (max-width: 900px) {
  .home-stream-summary { grid-template-columns: 230px minmax(0, 1fr); gap: 26px; }
  .home-stream-media { height: 185px; }
  .home-stream-media .article-placeholder { min-height: 185px; }
  .home-stream-body h3 { font-size: clamp(29px, 5vw, 42px); }
  .home-inline-float-media { width: min(42%, 340px); margin-right: 26px; }
}

@media (max-width: 680px) {
  body { overflow-x: hidden; }
  .home-reading-section { padding: 32px 0 14px; }
  .home-featured-reading { padding: 24px 19px; border-radius: 16px; }
  .home-featured-heading { align-items: flex-start; flex-direction: column; margin-bottom: 27px; }
  .home-newspaper-section { padding-top: 48px; }
  .home-stream-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .home-stream-card,
  .home-stream-card:first-child { padding: 28px 0 31px; }
  .home-stream-summary,
  .home-stream-card.is-expanded .home-stream-summary { display: block; width: 100%; min-width: 0; }
  .home-stream-media {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    margin-bottom: 20px;
  }
  .home-stream-card.is-expanded .home-stream-media { display: none; }
  .home-stream-media .article-placeholder { min-height: 0; height: 100%; }
  .home-stream-body,
  .home-stream-card.is-expanded .home-stream-body { width: 100%; max-width: 100%; min-width: 0; }
  .home-stream-body h3 { font-size: clamp(29px, 9vw, 40px); line-height: 1.06; overflow-wrap: break-word; }
  .home-stream-subtitle { font-size: 18px; }
  .home-stream-preview { font-size: 17px; line-height: 1.65; }
  .home-stream-card .inline-reader-target { width: 100%; min-width: 0; margin-top: 25px; padding-top: 25px; overflow: visible; }
  .home-inline-float-media {
    float: none;
    width: 100%;
    margin: 0 0 24px;
    border-radius: 12px;
    box-shadow: none;
  }
  .home-inline-float-media img { width: 100%; max-height: none; }
  .home-inline-article-content { width: 100%; max-width: 100%; font-size: 18px; line-height: 1.72; overflow-wrap: anywhere; }
  .home-inline-article-content h2 { font-size: clamp(27px, 8vw, 36px); }
  .inline-reader-actions { align-items: stretch; flex-direction: column; }
  .inline-reader-actions .button,
  .inline-reader-actions .text-link { justify-content: center; width: 100%; white-space: normal; text-align: center; }
  .inline-reader-footer-actions { align-items: stretch; flex-direction: column; }
  .inline-reader-footer-actions .text-link { justify-content: center; text-align: center; white-space: normal; }
  .home-share.share-horizontal { align-items: flex-start; flex-direction: column; }
  .home-paged-hero { padding: 52px 0; }
  .home-paged-hero-inner { align-items: flex-start; flex-direction: column; }
  .home-paged-hero-inner > strong { font-size: 74px; }
}

/* V5 — paginazione completa e sicura anche sugli schermi stretti. */
.pagination-pages { flex-wrap: wrap; align-items: center; justify-content: center; }
.pagination-ellipsis {
  width: 28px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-weight: 800;
}
@media (max-width: 420px) {
  .pagination { gap: 14px 8px; }
  .pagination-pages { gap: 5px; }
  .pagination-pages a { width: 34px; height: 34px; }
  .pagination-ellipsis { width: 20px; height: 34px; }
}

/* ========================================================================== 
   V6 — sola homepage: impaginazione da rivista politica contemporanea
   Tutte le regole sono circoscritte a .home-frontpage-v6: archivio, pagine
   articolo e area personale conservano il layout della V5.
   ========================================================================== */
.home-frontpage-v6 {
  --frontpage-rule: #cfd7dc;
  --frontpage-soft-rule: #e6eaec;
  --frontpage-warm: #f6f4ef;
  --frontpage-copy: #34434e;
  overflow-x: clip;
}

.home-frontpage-v6 .frontpage-hero {
  padding: 24px 0 56px;
  border-bottom: 1px solid var(--frontpage-rule);
  background: var(--white);
}

.home-frontpage-v6 .frontpage-edition-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 38px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--frontpage-rule);
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.home-frontpage-v6 .frontpage-edition-line span:first-child { color: var(--navy); }

.home-frontpage-v6 .frontpage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
  gap: clamp(28px, 3.5vw, 48px);
  align-items: start;
  padding-top: 28px;
}

.home-frontpage-v6 .frontpage-lead {
  min-width: 0;
  scroll-margin-top: 182px;
  border-top: 4px solid var(--navy);
  border-bottom: 1px solid var(--frontpage-rule);
  background: var(--white);
}

.home-frontpage-v6 .frontpage-lead-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(330px, .86fr);
  min-height: 540px;
}

.home-frontpage-v6 .frontpage-lead-media {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 540px;
  overflow: hidden;
  background: var(--navy);
  text-decoration: none;
}

.home-frontpage-v6 .frontpage-lead-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 72%, rgba(13,27,42,.1));
  pointer-events: none;
}

.home-frontpage-v6 .frontpage-lead-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .42s ease;
}

.home-frontpage-v6 .frontpage-lead:hover .frontpage-lead-media img { transform: scale(1.018); }

.home-frontpage-v6 .frontpage-image-placeholder {
  width: 100%;
  height: 100%;
  min-height: 540px;
  display: grid;
  place-items: center;
  color: var(--cyan);
  background: linear-gradient(145deg, var(--navy-3), var(--navy));
}

.home-frontpage-v6 .frontpage-image-placeholder .icon {
  width: 72px;
  height: 72px;
  opacity: .7;
}

.home-frontpage-v6 .frontpage-lead-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 3.8vw, 54px) 0 clamp(30px, 3.8vw, 54px) clamp(30px, 3.6vw, 50px);
}

.home-frontpage-v6 .frontpage-taxonomy,
.home-frontpage-v6 .home-news-taxonomy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.home-frontpage-v6 .frontpage-taxonomy > a:not(.content-type-badge),
.home-frontpage-v6 .home-news-taxonomy a { text-decoration: none; }

.home-frontpage-v6 .frontpage-lead h1 {
  margin: 20px 0 18px;
  color: var(--navy);
  font-size: clamp(40px, 4.2vw, 65px);
  font-weight: 780;
  letter-spacing: -.058em;
  line-height: .99;
}

.home-frontpage-v6 .frontpage-lead h1 a { text-decoration: none; }
.home-frontpage-v6 .frontpage-lead h1 a:hover { color: var(--blue); }

.home-frontpage-v6 .frontpage-lead-subtitle {
  margin: 0 0 20px;
  color: #43535e;
  font-family: var(--font-editorial);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.48;
}

.home-frontpage-v6 .frontpage-meta { padding-top: 3px; }

.home-frontpage-v6 .frontpage-lead-preview {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--frontpage-soft-rule);
}

.home-frontpage-v6 .frontpage-lead-preview > p {
  margin: 0;
  color: var(--frontpage-copy);
  font-family: var(--font-editorial);
  font-size: 17px;
  line-height: 1.66;
}

.home-frontpage-v6 .frontpage-lead-actions { margin-top: 24px; }

.home-frontpage-v6 .frontpage-lead-target {
  min-width: 0;
  max-width: none;
  margin-top: 34px;
  padding: 38px clamp(24px, 4vw, 62px) 44px;
  border-top: 1px solid var(--frontpage-rule);
  background: #fbfcfd;
}

.home-frontpage-v6 .frontpage-lead.is-expanded {
  grid-column: 1 / -1;
  border: 1px solid var(--frontpage-rule);
  border-top: 4px solid var(--navy);
}

.home-frontpage-v6 .frontpage-lead.is-expanded + .frontpage-rail { display: none; }

.home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-shell {
  grid-template-columns: minmax(290px, 390px) minmax(0, 1fr);
  min-height: 320px;
}

.home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-media,
.home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-image-placeholder { min-height: 320px; }

.home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-copy {
  padding: 34px clamp(28px, 4vw, 58px);
}

.home-frontpage-v6 .frontpage-lead.is-expanded h1 { font-size: clamp(38px, 4.4vw, 62px); }

.home-frontpage-v6 .frontpage-lead-target .home-inline-article-content,
.home-frontpage-v6 .frontpage-lead-target .home-sources-box,
.home-frontpage-v6 .frontpage-lead-target .home-article-tags,
.home-frontpage-v6 .frontpage-lead-target .inline-reader-footer {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.home-frontpage-v6 .frontpage-rail {
  min-width: 0;
  border-top: 4px solid var(--blue);
}

.home-frontpage-v6 .frontpage-rail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0 13px;
  border-bottom: 1px solid var(--frontpage-rule);
  color: var(--navy);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.home-frontpage-v6 .frontpage-rail-heading a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  text-decoration: none;
}

.home-frontpage-v6 .frontpage-rail-story {
  padding: 20px 0;
  border-bottom: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .frontpage-rail-story.is-primary { padding-top: 22px; }

.home-frontpage-v6 .frontpage-rail-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 16px;
  overflow: hidden;
  background: var(--navy);
  text-decoration: none;
}

.home-frontpage-v6 .frontpage-rail-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.home-frontpage-v6 .frontpage-rail-media:hover img { transform: scale(1.03); }

.home-frontpage-v6 .frontpage-rail-media > span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--cyan);
}

.home-frontpage-v6 .frontpage-rail-copy {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
}

.home-frontpage-v6 .frontpage-rail-number {
  color: var(--blue);
  font-family: var(--font-editorial);
  font-size: 24px;
  line-height: 1;
}

.home-frontpage-v6 .frontpage-rail-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.home-frontpage-v6 .frontpage-rail-kicker a {
  color: var(--blue);
  text-decoration: none;
}

.home-frontpage-v6 .frontpage-rail-story h2 {
  margin: 7px 0 0;
  color: var(--navy);
  font-size: clamp(18px, 1.55vw, 23px);
  letter-spacing: -.035em;
  line-height: 1.16;
}

.home-frontpage-v6 .frontpage-rail-story h2 a { text-decoration: none; }
.home-frontpage-v6 .frontpage-rail-story h2 a:hover { color: var(--blue); }

/* Ultime pubblicazioni: gerarchia variabile, non una successione di card. */
.home-frontpage-v6 .home-newsroom {
  padding: 74px 0 84px;
  background: var(--white);
}

.home-frontpage-v6 .home-newsroom-paged { padding-top: 62px; }

.home-frontpage-v6 .home-newsroom-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 36px;
  align-items: end;
  padding-bottom: 20px;
  border-bottom: 4px solid var(--navy);
}

.home-frontpage-v6 .home-newsroom-heading h2,
.home-frontpage-v6 .home-section-desks-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(34px, 4.2vw, 54px);
  letter-spacing: -.052em;
  line-height: 1;
}

.home-frontpage-v6 .home-newsroom-heading > p {
  margin: 0;
  color: var(--muted);
  font-family: var(--font-editorial);
  font-size: 17px;
  line-height: 1.55;
  text-align: right;
}

.home-frontpage-v6 .home-news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(30px, 4vw, 56px);
  align-items: start;
}

.home-frontpage-v6 .home-news-card {
  min-width: 0;
  scroll-margin-top: 180px;
  border-bottom: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .home-news-card-major {
  display: block;
  padding: 30px 0 38px;
}

.home-frontpage-v6 .home-news-card-major:nth-child(2) {
  border-left: 1px solid var(--frontpage-soft-rule);
  padding-left: clamp(30px, 4vw, 56px);
}

.home-frontpage-v6 .home-news-card-major .home-news-media {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 22px;
  overflow: hidden;
  background: var(--navy);
  text-decoration: none;
}

.home-frontpage-v6 .home-news-card-row {
  display: grid;
  grid-template-columns: minmax(145px, 180px) minmax(0, 1fr);
  gap: 22px;
  padding: 28px 0;
}

.home-frontpage-v6 .home-news-card-row:nth-child(even) {
  border-left: 1px solid var(--frontpage-soft-rule);
  padding-left: clamp(30px, 4vw, 56px);
}

.home-frontpage-v6 .home-news-card-row .home-news-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--navy);
  text-decoration: none;
}

.home-frontpage-v6 .home-news-media img,
.home-frontpage-v6 .home-news-media .article-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.home-frontpage-v6 .home-news-media img { transition: transform .34s ease; }
.home-frontpage-v6 .home-news-card:hover .home-news-media img { transform: scale(1.025); }

.home-frontpage-v6 .home-news-number {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  min-width: 31px;
  height: 26px;
  padding: 0 7px;
  background: rgba(13,27,42,.9);
  color: var(--white);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
}

.home-frontpage-v6 .home-news-copy { min-width: 0; }

.home-frontpage-v6 .home-news-card h3 {
  margin: 10px 0 10px;
  color: var(--navy);
  letter-spacing: -.044em;
  line-height: 1.07;
}

.home-frontpage-v6 .home-news-card-major h3 { font-size: clamp(31px, 3.3vw, 47px); }
.home-frontpage-v6 .home-news-card-row h3 { font-size: clamp(22px, 2vw, 30px); }
.home-frontpage-v6 .home-news-card h3 a { text-decoration: none; }
.home-frontpage-v6 .home-news-card h3 a:hover { color: var(--blue); }

.home-frontpage-v6 .home-news-subtitle {
  margin: 0 0 13px;
  color: #4a5964;
  font-family: var(--font-editorial);
  font-size: 17px;
  line-height: 1.45;
}

.home-frontpage-v6 .home-news-card-row .home-news-subtitle { display: none; }

.home-frontpage-v6 .home-news-meta {
  gap: 10px 16px;
  font-size: 10px;
}

.home-frontpage-v6 .home-news-preview { margin-top: 16px; }

.home-frontpage-v6 .home-news-preview > p {
  margin: 0;
  color: var(--frontpage-copy);
  font-family: var(--font-editorial);
  line-height: 1.6;
}

.home-frontpage-v6 .home-news-card-major .home-news-preview > p { font-size: 17px; }
.home-frontpage-v6 .home-news-card-row .home-news-preview > p { font-size: 15px; line-height: 1.55; }

.home-frontpage-v6 .home-news-actions {
  gap: 11px 18px;
  margin-top: 15px;
}

.home-frontpage-v6 .home-news-actions .text-link { font-size: 12px; }

.home-frontpage-v6 .home-news-target {
  min-width: 0;
  max-width: none;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .home-news-card.is-expanded {
  grid-column: 1 / -1;
  display: flow-root;
  padding: clamp(32px, 4vw, 54px) 0;
  border-top: 4px solid var(--navy);
  border-left: 0;
  background: #fbfcfd;
}

.home-frontpage-v6 .home-news-card.is-expanded .home-news-media {
  float: left;
  width: min(36%, 390px);
  height: auto;
  aspect-ratio: 4 / 3;
  margin: 0 clamp(25px, 3.5vw, 46px) 26px 0;
}

.home-frontpage-v6 .home-news-card.is-expanded .home-news-copy {
  display: block;
  min-width: 0;
  max-width: none;
}

.home-frontpage-v6 .home-news-card.is-expanded h3 { font-size: clamp(35px, 4.2vw, 59px); }

.home-frontpage-v6 .home-news-card.is-expanded .home-news-subtitle {
  display: block;
  font-size: 20px;
}

.home-frontpage-v6 .home-news-card.is-expanded .home-news-target {
  width: auto;
  max-width: none;
  clear: none;
}

.home-frontpage-v6 .home-news-card.is-expanded .home-inline-article-content,
.home-frontpage-v6 .home-news-card.is-expanded .home-sources-box,
.home-frontpage-v6 .home-news-card.is-expanded .home-article-tags,
.home-frontpage-v6 .home-news-card.is-expanded .inline-reader-footer { max-width: none; }

.home-frontpage-v6 .home-news-card.is-expanded::after {
  content: "";
  display: block;
  clear: both;
}

.home-frontpage-v6 .home-news-card .article-content,
.home-frontpage-v6 .home-news-card .article-content p,
.home-frontpage-v6 .home-news-card .article-content li,
.home-frontpage-v6 .home-news-card .article-content a,
.home-frontpage-v6 .frontpage-lead .article-content,
.home-frontpage-v6 .frontpage-lead .article-content p,
.home-frontpage-v6 .frontpage-lead .article-content li,
.home-frontpage-v6 .frontpage-lead .article-content a { overflow-wrap: anywhere; }

.home-frontpage-v6 .home-pagination { margin-top: 52px; }

/* Scrivanie di sezione: una gerarchia editoriale ulteriore, senza card. */
.home-frontpage-v6 .home-section-desks {
  padding: 76px 0 92px;
  border-top: 1px solid var(--frontpage-rule);
  background: var(--frontpage-warm);
}

.home-frontpage-v6 .home-section-desks-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}

.home-frontpage-v6 .home-section-desks-list {
  display: grid;
  gap: 56px;
}

.home-frontpage-v6 .home-section-desk {
  padding-top: 16px;
  border-top: 4px solid var(--navy);
}

.home-frontpage-v6 .home-section-desk-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .home-section-desk-header h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(29px, 3.3vw, 43px);
  letter-spacing: -.048em;
  line-height: 1;
}

.home-frontpage-v6 .home-section-desk-header h3 a,
.home-frontpage-v6 .home-section-desk-header > a { text-decoration: none; }

.home-frontpage-v6 .home-section-desk-header p {
  max-width: 620px;
  margin: 9px 0 0;
  color: var(--muted);
  font-family: var(--font-editorial);
  font-size: 15px;
}

.home-frontpage-v6 .home-section-desk-header > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.home-frontpage-v6 .home-section-desk-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: clamp(32px, 4vw, 58px);
  padding-top: 28px;
}

.home-frontpage-v6 .home-section-desk-lead {
  display: grid;
  grid-template-columns: minmax(240px, .88fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.home-frontpage-v6 .home-section-desk-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--navy);
  text-decoration: none;
}

.home-frontpage-v6 .home-section-desk-media img,
.home-frontpage-v6 .home-section-desk-media .article-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.home-frontpage-v6 .home-section-desk-lead p,
.home-frontpage-v6 .home-section-desk-headlines p {
  margin: 0;
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.home-frontpage-v6 .home-section-desk-lead h4 {
  margin: 8px 0 12px;
  color: var(--navy);
  font-size: clamp(26px, 2.7vw, 39px);
  letter-spacing: -.046em;
  line-height: 1.08;
}

.home-frontpage-v6 .home-section-desk-lead h4 a,
.home-frontpage-v6 .home-section-desk-headlines h4 a { text-decoration: none; }

.home-frontpage-v6 .home-section-desk-summary {
  color: var(--frontpage-copy);
  font-family: var(--font-editorial);
  font-size: 16px;
  line-height: 1.62;
}

.home-frontpage-v6 .home-section-desk-headlines {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .home-section-desk-headlines li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--frontpage-rule);
}

.home-frontpage-v6 .home-section-desk-headlines li > span {
  color: var(--blue);
  font-family: var(--font-editorial);
  font-size: 21px;
  line-height: 1;
}

.home-frontpage-v6 .home-section-desk-headlines h4 {
  margin: 6px 0 0;
  color: var(--navy);
  font-size: 19px;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.home-frontpage-v6 .home-section-desk a:hover { color: var(--blue); }

@media (max-width: 1120px) {
  .home-frontpage-v6 .frontpage-grid {
    grid-template-columns: minmax(0, 1fr) 315px;
    gap: 30px;
  }

  .home-frontpage-v6 .frontpage-lead-shell {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .86fr);
  }

  .home-frontpage-v6 .frontpage-lead-copy { padding-left: 32px; }
  .home-frontpage-v6 .home-news-card-row { grid-template-columns: 135px minmax(0, 1fr); }
  .home-frontpage-v6 .home-news-card-row .home-news-preview > p { display: none; }
  .home-frontpage-v6 .home-section-desk-grid { grid-template-columns: minmax(0, 1.35fr) 300px; }
  .home-frontpage-v6 .home-section-desk-lead { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 940px) {
  .home-frontpage-v6 .frontpage-grid { grid-template-columns: 1fr; }

  .home-frontpage-v6 .frontpage-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 30px;
  }

  .home-frontpage-v6 .frontpage-rail-heading { grid-column: 1 / -1; }

  .home-frontpage-v6 .frontpage-rail-story:nth-of-type(even) {
    border-left: 1px solid var(--frontpage-soft-rule);
    padding-left: 30px;
  }

  .home-frontpage-v6 .home-news-grid { column-gap: 32px; }

  .home-frontpage-v6 .home-news-card-major:nth-child(2),
  .home-frontpage-v6 .home-news-card-row:nth-child(even) { padding-left: 32px; }

  .home-frontpage-v6 .home-news-card-row {
    grid-template-columns: 115px minmax(0, 1fr);
    gap: 17px;
  }

  .home-frontpage-v6 .home-news-card-row h3 { font-size: 22px; }

  .home-frontpage-v6 .home-news-card-row .home-news-meta,
  .home-frontpage-v6 .home-news-card-row .text-link-muted { display: none; }

  .home-frontpage-v6 .home-section-desk-grid { grid-template-columns: 1fr; }

  .home-frontpage-v6 .home-section-desk-headlines {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    border-top: 0;
  }

  .home-frontpage-v6 .home-section-desk-headlines li {
    grid-template-columns: 1fr;
    gap: 8px;
    border-top: 1px solid var(--frontpage-rule);
  }
}

@media (max-width: 760px) {
  .home-frontpage-v6 .frontpage-hero { padding-top: 14px; }

  .home-frontpage-v6 .frontpage-lead-shell,
  .home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-shell {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .home-frontpage-v6 .frontpage-lead-media,
  .home-frontpage-v6 .frontpage-image-placeholder,
  .home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-media,
  .home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-image-placeholder {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .home-frontpage-v6 .frontpage-lead-copy,
  .home-frontpage-v6 .frontpage-lead.is-expanded .frontpage-lead-copy { padding: 26px 0 30px; }

  .home-frontpage-v6 .frontpage-lead-target {
    margin-top: 0;
    padding: 30px 0 36px;
  }

  .home-frontpage-v6 .home-newsroom-heading {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .home-frontpage-v6 .home-newsroom-heading > p {
    max-width: 620px;
    text-align: left;
  }

  .home-frontpage-v6 .home-news-grid { grid-template-columns: 1fr; }

  .home-frontpage-v6 .home-news-card-major:nth-child(2),
  .home-frontpage-v6 .home-news-card-row:nth-child(even) {
    border-left: 0;
    padding-left: 0;
  }

  .home-frontpage-v6 .home-news-card-row { grid-template-columns: minmax(150px, 210px) minmax(0, 1fr); }
  .home-frontpage-v6 .home-news-card-row .home-news-meta { display: flex; }
  .home-frontpage-v6 .home-news-card.is-expanded .home-news-media { width: min(43%, 330px); }
  .home-frontpage-v6 .home-section-desk-lead { grid-template-columns: minmax(200px, 270px) minmax(0, 1fr); }

  .home-frontpage-v6 .home-section-desk-headlines {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .home-frontpage-v6 .home-section-desk-headlines li {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
  }
}

@media (max-width: 620px) {
  .home-frontpage-v6 .container { width: min(calc(100% - 24px), var(--container)); }

  .home-frontpage-v6 .frontpage-edition-line {
    gap: 10px;
    letter-spacing: .1em;
  }

  .home-frontpage-v6 .frontpage-grid { padding-top: 18px; }

  .home-frontpage-v6 .frontpage-lead h1 {
    font-size: clamp(35px, 11.2vw, 49px);
    line-height: 1.01;
  }

  .home-frontpage-v6 .frontpage-lead-subtitle { font-size: 19px; }
  .home-frontpage-v6 .frontpage-rail { grid-template-columns: 1fr; }

  .home-frontpage-v6 .frontpage-rail-story:nth-of-type(even) {
    border-left: 0;
    padding-left: 0;
  }

  .home-frontpage-v6 .frontpage-rail-story h2 { font-size: 21px; }

  .home-frontpage-v6 .home-newsroom { padding: 58px 0 68px; }

  .home-frontpage-v6 .home-newsroom-heading h2,
  .home-frontpage-v6 .home-section-desks-heading h2 { font-size: clamp(34px, 10.5vw, 47px); }

  .home-frontpage-v6 .home-news-card-major,
  .home-frontpage-v6 .home-news-card-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 28px 0 32px;
  }

  .home-frontpage-v6 .home-news-card-major .home-news-media,
  .home-frontpage-v6 .home-news-card-row .home-news-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 0 20px;
  }

  .home-frontpage-v6 .home-news-card-major h3,
  .home-frontpage-v6 .home-news-card-row h3 { font-size: clamp(29px, 9vw, 40px); }

  .home-frontpage-v6 .home-news-card-row .home-news-subtitle { display: block; }

  .home-frontpage-v6 .home-news-card-row .home-news-preview > p,
  .home-frontpage-v6 .home-news-card-row .text-link-muted { display: block; }

  .home-frontpage-v6 .home-news-card.is-expanded {
    display: flow-root;
    padding: 30px 0 38px;
  }

  .home-frontpage-v6 .home-news-card.is-expanded .home-news-media {
    float: none;
    width: 100%;
    margin: 0 0 22px;
    aspect-ratio: 16 / 9;
  }

  .home-frontpage-v6 .home-news-card.is-expanded h3 { font-size: clamp(31px, 9.7vw, 43px); }

  .home-frontpage-v6 .home-news-card.is-expanded .home-news-target {
    width: 100%;
    max-width: 100%;
    margin-top: 24px;
    padding-top: 24px;
  }

  .home-frontpage-v6 .home-news-card.is-expanded .article-content {
    width: 100%;
    max-width: 100%;
    font-size: 18px;
    line-height: 1.74;
  }

  .home-frontpage-v6 .home-section-desks { padding: 60px 0 70px; }

  .home-frontpage-v6 .home-section-desks-heading,
  .home-frontpage-v6 .home-section-desk-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-frontpage-v6 .home-section-desk-lead {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .home-frontpage-v6 .home-section-desk-media { aspect-ratio: 16 / 9; }
  .home-frontpage-v6 .home-section-desk-lead h4 { font-size: 30px; }
}

/* ========================================================================== 
   DOSSIER DATI DENTRO IL BLOG
   Queste regole devono stare ALLA FINE di style.css.
   Sono circoscritte al corpo articolo: non modificano body, header o homepage.
   ========================================================================== */

:is(.article-content, .home-inline-article-content) .fermotd-post {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Il blog stampa già titolo, sottotitolo e testata dell'articolo. Evita il doppio hero
   quando viene incollato per errore il frammento nato come pagina autonoma. */
:is(.article-content, .home-inline-article-content) .fermotd-post > .fermotd-hero {
  display: none;
}

:is(.article-content, .home-inline-article-content) .fermotd-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}

:is(.article-content, .home-inline-article-content) .fermotd-content > :first-child {
  margin-top: 0;
}

:is(.article-content, .home-inline-article-content) .fermotd-lead {
  margin: 0 0 1.55em;
  padding: 0 0 1.25em;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-family: var(--font-editorial);
  font-size: clamp(22px, 2.25vw, 29px) !important;
  font-weight: 650;
  line-height: 1.48;
}

:is(.article-content, .home-inline-article-content) .fermotd-score {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 30px 0 38px;
}

:is(.article-content, .home-inline-article-content) .fermotd-stat {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 10px 28px rgba(13, 27, 42, .06);
}

:is(.article-content, .home-inline-article-content) .fermotd-stat strong {
  display: block;
  margin: 0 0 9px;
  color: var(--navy);
  font-family: var(--font-ui);
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.035em;
}

:is(.article-content, .home-inline-article-content) .fermotd-stat small {
  display: block;
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

:is(.article-content, .home-inline-article-content) .fermotd-method,
:is(.article-content, .home-inline-article-content) .fermotd-callout,
:is(.article-content, .home-inline-article-content) .fermotd-footer-note {
  margin: 30px 0 38px;
  padding: 23px 26px;
  border: 1px solid #cfe0e7;
  border-left: 5px solid var(--blue);
  border-radius: 14px;
  background: #f4fafb;
  color: #263844;
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.62;
}

:is(.article-content, .home-inline-article-content) .fermotd-method h2 {
  margin: 0 0 9px;
  color: var(--navy);
  font-family: var(--font-ui);
  font-size: 22px;
  letter-spacing: -.025em;
}

:is(.article-content, .home-inline-article-content) .fermotd-callout > :last-child,
:is(.article-content, .home-inline-article-content) .fermotd-method > :last-child,
:is(.article-content, .home-inline-article-content) .fermotd-footer-note > :last-child {
  margin-bottom: 0;
}

:is(.article-content, .home-inline-article-content) .fermotd-verdict-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 30px 0 40px;
}

:is(.article-content, .home-inline-article-content) .fermotd-verdict {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  font-family: var(--font-ui);
}

:is(.article-content, .home-inline-article-content) .fermotd-verdict.good { background: #eaf3e8; }
:is(.article-content, .home-inline-article-content) .fermotd-verdict.mixed { background: #fff2d9; }
:is(.article-content, .home-inline-article-content) .fermotd-verdict.bad { background: #f8e4e1; }

:is(.article-content, .home-inline-article-content) .fermotd-verdict h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-family: var(--font-ui);
  font-size: 21px;
  letter-spacing: -.025em;
}

:is(.article-content, .home-inline-article-content) .fermotd-verdict p,
:is(.article-content, .home-inline-article-content) .fermotd-verdict li {
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.55;
}

:is(.article-content, .home-inline-article-content) figure.data-chart {
  display: block;
  margin: 32px 0 44px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--white);
  box-shadow: 0 12px 32px rgba(13, 27, 42, .07);
}

:is(.article-content, .home-inline-article-content) figure.data-chart img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}

:is(.article-content, .home-inline-article-content) figure.data-chart figcaption {
  margin: 11px 3px 1px;
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}

:is(.article-content, .home-inline-article-content) .fermotd-table-wrap {
  width: 100%;
  margin: 27px 0 40px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  -webkit-overflow-scrolling: touch;
}

:is(.article-content, .home-inline-article-content) table.fermotd-table {
  display: table;
  width: 100%;
  min-width: 760px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-family: var(--font-ui);
  font-size: 14px;
}

:is(.article-content, .home-inline-article-content) .fermotd-table th,
:is(.article-content, .home-inline-article-content) .fermotd-table td {
  padding: 13px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
}

:is(.article-content, .home-inline-article-content) .fermotd-table th:first-child,
:is(.article-content, .home-inline-article-content) .fermotd-table td:first-child {
  text-align: left;
}

:is(.article-content, .home-inline-article-content) .fermotd-table thead th {
  background: var(--navy);
  color: var(--white);
  font-weight: 800;
}

:is(.article-content, .home-inline-article-content) .fermotd-table tbody tr:last-child td {
  border-bottom: 0;
}

:is(.article-content, .home-inline-article-content) .fermotd-quote {
  margin: 38px 0;
  padding: 28px 30px;
  border: 0;
  border-left: 6px solid var(--cyan);
  border-radius: 0 15px 15px 0;
  background: var(--navy);
  color: var(--white);
  font-family: var(--font-editorial);
  font-size: clamp(21px, 2.3vw, 28px);
  line-height: 1.5;
}

:is(.article-content, .home-inline-article-content) .fermotd-press-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 30px 0 40px;
}

:is(.article-content, .home-inline-article-content) .fermotd-press-card {
  min-width: 0;
  margin: 0;
  padding: 23px;
  border: 1px solid var(--line);
  border-top: 5px solid var(--navy);
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 10px 28px rgba(13, 27, 42, .05);
}

:is(.article-content, .home-inline-article-content) .fermotd-press-card-highlight {
  border-top-color: var(--blue);
  background: #f4fafb;
}

:is(.article-content, .home-inline-article-content) .fermotd-press-card h3 {
  margin: 5px 0 12px;
  color: var(--navy);
  font-family: var(--font-ui);
  font-size: 21px;
  letter-spacing: -.025em;
}

:is(.article-content, .home-inline-article-content) .fermotd-press-card p {
  margin-bottom: 0;
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.58;
}

:is(.article-content, .home-inline-article-content) .fermotd-press-name {
  margin: 0 !important;
  color: var(--blue);
  font-family: var(--font-ui);
  font-size: 11px !important;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .10em;
  text-transform: uppercase;
}

:is(.article-content, .home-inline-article-content) details.fermotd-sources {
  margin-top: 54px;
  padding: 24px 26px;
  border: 1px solid #cfe0e7;
  border-radius: 15px;
  background: #f4fafb;
  font-family: var(--font-ui);
}

:is(.article-content, .home-inline-article-content) .fermotd-sources summary {
  cursor: pointer;
  color: var(--navy);
  font-size: 17px;
  font-weight: 850;
}

:is(.article-content, .home-inline-article-content) .fermotd-sources li {
  margin: 9px 0;
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.5;
}

:is(.article-content, .home-inline-article-content) .fermotd-sources a {
  color: var(--blue);
  overflow-wrap: anywhere;
}

@media (max-width: 860px) {
  :is(.article-content, .home-inline-article-content) .fermotd-score,
  :is(.article-content, .home-inline-article-content) .fermotd-verdict-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.article-content, .home-inline-article-content) .fermotd-press-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  :is(.article-content, .home-inline-article-content) .fermotd-score,
  :is(.article-content, .home-inline-article-content) .fermotd-verdict-grid {
    grid-template-columns: 1fr;
  }

  :is(.article-content, .home-inline-article-content) .fermotd-stat,
  :is(.article-content, .home-inline-article-content) .fermotd-method,
  :is(.article-content, .home-inline-article-content) .fermotd-callout,
  :is(.article-content, .home-inline-article-content) .fermotd-footer-note,
  :is(.article-content, .home-inline-article-content) .fermotd-press-card,
  :is(.article-content, .home-inline-article-content) details.fermotd-sources {
    padding: 19px;
  }

  :is(.article-content, .home-inline-article-content) figure.data-chart {
    margin-left: -4px;
    margin-right: -4px;
    padding: 8px;
  }
}
