/* Prismagraf: identità aziendale e carattere editoriale del Lunario. */
:root { --brand-cyan:#007c9c; --brand-magenta:#b00069; --font-mono:Arial,Helvetica,sans-serif; --radius-card:2px; }
html { scroll-padding-top:135px; }
.topbar,.topbar.is-solid { top:0; min-height:100px; padding:20px max(24px,calc((100vw - 1040px)/2)); background:#fff; color:#241f18; box-shadow:0 1px 0 #00000012; backdrop-filter:none; }
.topbar__mark { width:300px; max-width:55%; }
.topbar__mark img { width:100%; height:auto; }
.topbar__cta { color:var(--brand-magenta); border-color:var(--brand-magenta); font-size:.875rem; font-weight:700; letter-spacing:.025em; padding:.8rem 1.15rem; }
.topbar__cta:hover { background:var(--brand-magenta); border-color:var(--brand-magenta); color:#fff; }
.phase-rail { top:100px; height:25px; box-shadow:none; }
.phase-rail__tick { width:14px; height:14px; }
.hero { padding-block:190px 85px; }
.hero__inner { gap:4rem; grid-template-columns:1.15fr .85fr; }
.hero h1 { font-size:clamp(2.35rem,4vw,3.35rem); max-width:17ch; }
.hero__art { min-height:450px; }
.cover-card { width:290px; transform:rotate(-2deg); }
.peek-card { right:-2%; bottom:-3%; width:205px; }
.label,.chip { font-size:.875rem; }
.hero__note { font-size:.875rem; color:var(--carta-on-notte); }
.btn { font-size:.875rem; font-weight:700; line-height:1.5; justify-content:center; }
.btn--gold { box-shadow:0 3px 0 #00000018; }
.section-head { max-width:650px; }
.section-head .eyebrow { font-family:var(--font-mono); font-size:.875rem; font-weight:700; font-style:normal; text-transform:uppercase; letter-spacing:.07em; color:var(--brand-magenta); }
.section-head h2 { border-left:4px solid var(--brand-cyan); padding-left:1.1rem; }
.steps .section-head h2 { border-color:var(--grano); }
.legacy .section-head h2 { border:0; padding:0; }
.legacy .section-head h2::after { content:""; display:block; width:52px; height:3px; background:var(--brand-cyan); margin:1.25rem auto 0; }
.feature .eyebrow { color:var(--brand-magenta); }
.feature__icon,.page__icon { color:var(--brand-cyan); }
.spread { border-radius:0; box-shadow:0 12px 40px -30px #241f1866; }
.chip { border-radius:2px; }
.filmstrip { gap:1.25rem; }
.filmstrip img { width:135px; }
.feature__split .chip-row { min-width:0; }
.adband-media__tag { font-size:.75rem; }
.site-footer { background:#fff; border-top:4px solid var(--brand-cyan); }
.site-footer__mark { display:block; width:285px; max-width:100%; margin-bottom:1.5rem; }
.site-footer__mark img { width:100%; height:auto; }
.site-footer address { font-family:var(--font-mono); font-size:.875rem; line-height:1.9; }
.site-footer address a { color:var(--brand-cyan); }
.cta-final__reassure { color:var(--carta-on-notte); }
.reveal { opacity:1; transform:none; }
@media(max-width:900px) {
 .hero__inner { grid-template-columns:1fr 1fr; gap:2rem; }
 .hero__art { order:0; min-height:400px; }
 .cover-card { width:245px; }
 .peek-card { width:165px; right:-2%; }
 .hero h1 { font-size:2.65rem; }
}
@media(max-width:680px) {
 .topbar,.topbar.is-solid { min-height:85px; padding:16px 20px; gap:16px; }
 .topbar__mark { width:230px; max-width:56%; }
 .topbar__cta { display:block; font-size:.75rem; padding:.6rem .7rem; max-width:130px; text-align:center; }
 .phase-rail { top:85px; }
 .hero { padding-block:155px 65px; }
 .hero__inner { grid-template-columns:1fr; gap:3rem; }
 .hero h1 { font-size:clamp(2.15rem,7.8vw,3rem); max-width:20ch; }
 .hero__art { order:0; min-height:440px; margin:0 auto; width:min(100%,340px); }
 .cover-card { width:255px; }
 .peek-card { width:170px; right:0; bottom:0; }
 .why,.features,.steps,.legacy { padding-block:65px; }
 .cta-final { padding-block:75px; }
 .feature { grid-template-columns:1fr; gap:1rem; }
 .feature__icon { width:40px; height:40px; }
 .filmstrip { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
 .filmstrip img { width:100%; }
 .btn { padding:1rem 1.1rem; max-width:100%; }
 .page { padding:1.75rem 1.5rem; }
}

/* Foto complete: collegamenti accessibili, con la stessa impaginazione. */
.cover-card { display:block; text-decoration:none; cursor:zoom-in; }
.filmstrip a { display:block; width:135px; max-width:100%; cursor:zoom-in; }
.filmstrip a img { width:100%; transform:none; }
.filmstrip a:nth-child(odd) { transform:rotate(-2deg); }
.filmstrip a:nth-child(even) { transform:rotate(1.6deg); }
@media(max-width:680px) { .filmstrip a { width:100%; } }
