/* V2 Editorial Design System — core condiviso di produzione. */
:root{
  --v2-canvas:#f4f6f9;--v2-surface:#fff;--v2-surface-soft:#f8fafc;--v2-surface-muted:#eef3f7;
  --v2-ink:#172536;--v2-heading:#10283f;--v2-text:#435366;--v2-muted:#5d6977;
  --v2-navy-950:#081725;--v2-navy-900:#0b1d2f;--v2-navy-800:#102b45;--v2-navy-700:#21496f;--v2-blue-link:#244f7c;
  --v2-gold:#d4b46d;--v2-gold-soft:#e1c982;--v2-gold-text:#87631c;--v2-gold-deep:#87631c;
  --v2-border:#dbe4ee;--v2-border-strong:#d9e2ed;--v2-border-soft:#dce5ee;--v2-divider:#dfe5eb;
  --v2-serif:'Cormorant Garamond',Georgia,serif;
  --v2-radius-sm:11px;--v2-radius-md:16px;--v2-radius-lg:18px;--v2-radius-xl:24px;
  --v2-shadow-card:0 10px 28px rgba(17,37,58,.045);--v2-shadow-card-strong:0 12px 30px rgba(17,37,58,.055);
  --v2-cover-bg:linear-gradient(135deg,var(--v2-navy-950) 0%,var(--v2-navy-800) 58%,var(--v2-navy-700) 100%);
  --v2-cover-glow:radial-gradient(circle,rgba(212,180,109,.18),rgba(212,180,109,0) 68%);
  --v2-max-wide:1120px;--v2-max-content:1080px;--v2-max-reading:78ch;
}
body:is(.v2-editorial,.v2-editorial-profile,.v2-editorial-articles,.v2-editorial-press,.v2-editorial-book){background:var(--v2-canvas);color:var(--v2-ink)}
:is(.v2-cover,.v2-profile-cover,.v2-press-cover,.v2-book-cover,body.v2-editorial-articles .hero){position:relative;overflow:hidden;background:var(--v2-cover-bg);color:#fff}
:is(.v2-cover,.v2-profile-cover,.v2-press-cover,.v2-book-cover,body.v2-editorial-articles .hero)::before{content:"";position:absolute;inset:-18rem -12rem auto auto;width:36rem;height:36rem;border-radius:50%;background:var(--v2-cover-glow);pointer-events:none}
:is(.v2-cover__inner,.v2-profile-cover__inner,.v2-press-cover__inner,.v2-book-cover__inner,body.v2-editorial-articles .hero-inner){position:relative;z-index:1;max-width:var(--v2-max-wide);margin-inline:auto}
.v2-section-label,:is(.v2-cover__kicker,.v2-profile-cover__kicker,.v2-articles-hero__kicker,.v2-press-cover__kicker,.v2-book-cover__kicker){font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
:is(.v2-cover h1,.v2-profile-cover h1,.v2-press-cover h1,.v2-book-cover h1,body.v2-editorial-articles .hero h1){font-family:var(--v2-serif);font-weight:600;letter-spacing:-.025em;color:#fff}
:is(.v2-route-card,.v2-profile-cover__routes a,.v2-press-cover__actions a,.v2-book-cover__actions a){transition:transform .18s,border-color .18s,background .18s}
:is(.v2-route-card,.v2-profile-cover__routes a):hover,:is(.v2-route-card,.v2-profile-cover__routes a):focus-visible{transform:translateY(-2px);border-color:rgba(224,197,123,.56);background:rgba(255,255,255,.085)}
:is(.v2-axis-card,.v2-profile-axis__grid a,.v2-press-essentials__grid a){border:1px solid var(--v2-border-strong);border-radius:var(--v2-radius-lg);background:var(--v2-surface);box-shadow:var(--v2-shadow-card-strong)}
:is(.v2-axis-card h3,.v2-profile-axis__grid strong,.v2-press-essentials__grid strong){font-family:var(--v2-serif);color:var(--v2-heading)}
:is(.v2-axis-card__num,.v2-profile-axis__grid span,.v2-press-essentials__grid span){color:var(--v2-gold-text);font-weight:800;letter-spacing:.12em}
:is(.v2-axis-card p,.v2-profile-axis__grid em,.v2-press-essentials__grid em){color:var(--v2-muted)}
@media(prefers-reduced-motion:reduce){:is(.v2-route-card,.v2-profile-cover__routes a,.v2-press-cover__actions a,.v2-book-cover__actions a){transition:none!important;scroll-behavior:auto!important}}

/* V2 global readability pass — dark surfaces and footer links */
body[class*="v2-editorial"] footer .social-links a,
body[class*="v2-editorial"] footer a[href^="mailto:"],
body[class*="v2-editorial"] footer a[href^="tel:"],
body[class*="v2-editorial"] footer .foot-social a{
  color:rgba(255,255,255,.92)!important;
  text-decoration-color:rgba(255,255,255,.48)!important;
}
body[class*="v2-editorial"] footer .social-links a:hover,
body[class*="v2-editorial"] footer .social-links a:focus-visible,
body[class*="v2-editorial"] footer a[href^="mailto:"]:hover,
body[class*="v2-editorial"] footer a[href^="mailto:"]:focus-visible,
body[class*="v2-editorial"] footer a[href^="tel:"]:hover,
body[class*="v2-editorial"] footer a[href^="tel:"]:focus-visible,
body[class*="v2-editorial"] footer .foot-social a:hover,
body[class*="v2-editorial"] footer .foot-social a:focus-visible{color:#fff!important}

/* V2 final contrast pass — every footer link must remain legible on the navy footer. */
body[class*="v2-editorial"] footer a{
  color:rgba(255,255,255,.92)!important;
  text-decoration-color:rgba(255,255,255,.48)!important;
}
body[class*="v2-editorial"] footer a:hover,
body[class*="v2-editorial"] footer a:focus-visible{
  color:#fff!important;
}

/* V2 final reading rhythm — neutralizza la giustificazione legacy nella prosa editoriale.
   Le singole famiglie, caricate dopo il core, possono mantenere i rari centraggi intenzionali. */
body[class*="v2-editorial"] main p,
body[class*="v2-editorial"] main li,
body[class*="v2-editorial"] section p,
body[class*="v2-editorial"] article p{
  text-align:left;
  text-align-last:auto;
  hyphens:manual;
  -webkit-hyphens:manual;
}
