:root {
  --ink: #1c1712;
  --ink-soft: #625648;
  --paper: #f5efe7;
  --paper-deep: #ede4d7;
  --card: #fffdf9;
  --card-2: #f8f4ee;
  --night: #090909;
  --night-2: #121212;
  --night-3: #1a1a1a;
  --gold: #b88a42;
  --gold-light: #e2bf7d;
  --gold-soft: rgba(184,138,66,.18);
  --line: rgba(28,23,18,.12);
  --line-strong: rgba(184,138,66,.28);
  --shadow: 0 24px 60px rgba(10,10,10,.12);
  --shadow-strong: 0 24px 80px rgba(0,0,0,.28);
  --radius: 22px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(184,138,66,.12), transparent 26rem),
    linear-gradient(180deg, #f8f3ec 0%, var(--paper) 30%, #f6f1ea 100%);
  font-family: var(--sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input { font: inherit; }
.container { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(780px, calc(100% - 40px)); margin: 0 auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .76rem; font-weight: 750; color: var(--gold); }
.display { font-family: var(--serif); font-weight: 500; line-height: 1.03; letter-spacing: -.025em; }
.lead { font-size: clamp(1.04rem, 1.5vw, 1.23rem); color: var(--ink-soft); }
.muted { color: var(--ink-soft); }
.section { padding: 88px 0; position: relative; }
.section.tight { padding: 58px 0; }
.section-title { margin: .35rem 0 1rem; font-size: clamp(2.25rem, 5vw, 4.6rem); }
.section-intro { max-width: 760px; margin-bottom: 2.2rem; }
.rule { height: 1px; background: linear-gradient(90deg, transparent, rgba(184,138,66,.35), transparent); border: 0; margin: 0; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(8,8,8,.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(184,138,66,.18);
  box-shadow: 0 14px 32px rgba(0,0,0,.14);
}
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-width: max-content; }
.brand-mark {
  width: 39px; height: 39px; border: 1px solid rgba(226,191,125,.55); border-radius: 50%;
  display: grid; place-items: center; font-family: var(--serif); color: var(--gold-light); font-weight: 700;
  background: radial-gradient(circle at 30% 20%, rgba(226,191,125,.18), rgba(255,255,255,.03));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.brand-copy strong { display:block; font-family: var(--serif); font-size: 1.04rem; line-height: 1.1; color:#fff; }
.brand-copy span { display:block; margin-top: 2px; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.nav-links { display:flex; align-items:center; gap: 4px; }
.nav-links a { text-decoration:none; font-size:.9rem; font-weight:650; padding: 10px 12px; border-radius: 999px; color: rgba(255,255,255,.82); }
.nav-links a:hover, .nav-links a[aria-current='page'] { background: rgba(184,138,66,.14); color: var(--gold-light); }
.nav-cta { border: 1px solid rgba(184,138,66,.46); }
.menu-btn { display:none; background:rgba(255,255,255,.03); color:#fff; border:1px solid rgba(184,138,66,.24); border-radius:12px; padding:8px 10px; }

/* Buttons */
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top: 1.6rem; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px;
  padding: 12px 19px; border-radius: 999px; border: 1px solid transparent;
  text-decoration:none; font-weight:750; letter-spacing:.01em; cursor:pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(180deg, #d6b16f, #ae7f36); color: #120d07; box-shadow: 0 12px 28px rgba(184,138,66,.28); }
.btn-primary:hover { background: linear-gradient(180deg, #e2bf7d, #b88940); }
.btn-secondary { border-color: rgba(184,138,66,.28); background: #fff; color: var(--ink); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.btn-gold { background: linear-gradient(180deg, #d6b16f, #ae7f36); color: #120d07; box-shadow: 0 10px 25px rgba(184,138,66,.24); }

.hero .btn-secondary, .page-hero .btn-secondary, .media-dark .btn-secondary, .panel-dark .btn-secondary, .newsletter-band .btn-secondary { background: rgba(255,255,255,.04); color: #fff; box-shadow:none; }

/* Hero */
.hero {
  min-height: 720px;
  display:grid;
  align-items:center;
  padding: 48px 0 78px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(0,0,0,.78), rgba(0,0,0,.86)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:#fff;
}
.hero .container { position: relative; z-index: 1; }
.hero-brand-banner {
  width: 100%;
  min-height: clamp(180px, 30vw, 300px);
  border-radius: 32px;
  margin-bottom: clamp(28px, 5vw, 44px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.08)),
    url('images/author-branding.png') center/cover no-repeat;
  border: 1px solid rgba(184,138,66,.22);
  box-shadow: var(--shadow-strong);
}
.hero-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap: clamp(38px, 7vw, 95px); align-items:center; }
.hero h1 { font-size: clamp(3.4rem, 7vw, 6.2rem); margin: .15rem 0 .65rem; color:#fff; }
.hero h1 span { display:block; color: var(--gold-light); }
.hero-copy { max-width: 620px; }
.hero .lead { color: rgba(255,255,255,.74); }
.hero-art { position:relative; min-height: 460px; }
.author-emblem {
  position:absolute; inset: 4% 8% 8% 12%; border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.48)),
    url('images/decorative-bg.png') center/cover no-repeat;
  border: 1px solid rgba(184,138,66,.18);
  box-shadow: 0 35px 80px rgba(0,0,0,.28);
  display:grid; place-items:center; overflow:hidden;
}
.author-emblem::before {
  content:''; position:absolute; inset:16px; border:1px solid rgba(226,191,125,.22); border-radius:22px;
}
.author-emblem .monogram {
  font-family:var(--serif); font-size: clamp(7rem, 14vw, 12rem); color:rgba(255,255,255,.92); letter-spacing:-.08em; transform:translateX(-.04em);
  text-shadow: 0 12px 24px rgba(0,0,0,.3);
}
.author-emblem .caption { position:absolute; left:11%; bottom:11%; right:11%; color:#fff; }
.author-emblem .caption small { text-transform:uppercase; letter-spacing:.2em; color:var(--gold-light); }
.author-emblem .caption p { margin:.45rem 0 0; max-width: 330px; font-family:var(--serif); font-size:1.18rem; line-height:1.35; color: rgba(255,255,255,.88); }
.quote-orbit {
  position:absolute; right:0; top:8%; width:220px; padding:18px; background:rgba(255,255,255,.06);
  border:1px solid rgba(184,138,66,.24); border-radius:18px; box-shadow:var(--shadow-strong); transform:rotate(4deg); backdrop-filter: blur(8px);
}
.quote-orbit p { margin:0; font-family:var(--serif); font-size:1.02rem; color:#f9f1df; }

/* Book cards */
.book-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
.book-card { text-decoration:none; display:flex; flex-direction:column; gap:16px; }
.book-cover-image {
  width:100%; aspect-ratio:.68; object-fit:cover; object-position:center top; border-radius:10px 18px 18px 10px;
  box-shadow:0 24px 38px rgba(21,24,27,.19); transition:transform .25s ease, box-shadow .25s ease;
}
.book-card:hover .book-cover-image { transform:translateY(-7px) rotate(-.5deg); box-shadow:0 30px 50px rgba(21,24,27,.22); }
.book-cover {
  aspect-ratio: .68; border-radius: 10px 18px 18px 10px; box-shadow: 0 24px 38px rgba(21,24,27,.19);
  padding: 24px 20px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between;
  transition: transform .25s ease, box-shadow .25s ease;
}
.book-card:hover .book-cover { transform:translateY(-7px) rotate(-.5deg); box-shadow:0 30px 50px rgba(21,24,27,.22); }
.book-cover::after { content:''; position:absolute; inset:0 auto 0 9px; width:1px; background:rgba(255,255,255,.25); box-shadow:2px 0 rgba(0,0,0,.09); }
.book-cover .mini { text-transform:uppercase; letter-spacing:.16em; font-size:.62rem; font-weight:750; opacity:.8; }
.book-cover h3 { position:relative; z-index:1; font-family:var(--serif); font-size:clamp(1.45rem,2vw,2rem); line-height:1.05; margin:0; }
.book-cover .author { font-size:.68rem; text-transform:uppercase; letter-spacing:.16em; opacity:.8; }
.cover-drago { background: radial-gradient(circle at 72% 25%, rgba(241,176,71,.35), transparent 28%), linear-gradient(160deg,#641d20,#180f12); color:#fff8e9; }
.cover-galileo { background: radial-gradient(circle at 50% 35%, rgba(221,193,120,.36), transparent 30%), linear-gradient(150deg,#263744,#0e161d); color:#f3e7c5; }
.cover-contagio { background: radial-gradient(circle at 70% 30%, rgba(179,224,190,.25), transparent 25%), linear-gradient(145deg,#42624c,#15231c); color:#f0f5ee; }
.cover-uccidi { background: radial-gradient(circle at 40% 20%, rgba(195,67,59,.28), transparent 24%), linear-gradient(145deg,#252326,#0e0c0f); color:#fff; }
.book-meta { padding: 0 4px; }
.book-meta strong { display:block; font-family:var(--serif); font-size:1.14rem; }
.book-meta span { color:var(--ink-soft); font-size:.88rem; }

/* Feature / split */
.split { display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(38px,6vw,80px); align-items:center; }
.panel-dark {
  background:
    linear-gradient(180deg, rgba(0,0,0,.88), rgba(0,0,0,.78)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:#fff; border-radius:var(--radius); padding:clamp(28px,5vw,58px); box-shadow:var(--shadow-strong); border:1px solid rgba(184,138,66,.18);
}
.panel-dark .muted { color:rgba(255,255,255,.69); }
.stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; margin-top:30px; }
.stat { padding:18px; background:#151515; }
.stat strong { display:block; font-family:var(--serif); font-size:1.5rem; color:var(--gold-light); }
.stat span { font-size:.78rem; color:rgba(255,255,255,.68); }

/* Newsletter */
.newsletter-band {
  background:
    linear-gradient(145deg, rgba(0,0,0,.88), rgba(12,12,12,.88)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:white; border-radius:28px; padding:clamp(30px,6vw,70px); position:relative; overflow:hidden; border:1px solid rgba(184,138,66,.18); box-shadow: var(--shadow-strong);
}
.newsletter-band::after { content:'AB'; position:absolute; right:-.03em; bottom:-.32em; font-family:var(--serif); font-size:clamp(9rem,22vw,20rem); color:rgba(255,255,255,.035); }
.newsletter-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:clamp(30px,7vw,90px); align-items:center; position:relative; z-index:1; }
.newsletter-band h2 { font-size:clamp(2.8rem,6vw,5.5rem); margin:.25rem 0 .8rem; }
.newsletter-band .lead { color:rgba(255,255,255,.72); }
.signup-form { background:#fffdf9; color:var(--ink); border-radius:20px; padding:24px; box-shadow:0 24px 60px rgba(0,0,0,.2); border:1px solid rgba(184,138,66,.15); }
.field { margin-bottom:13px; }
.field label { display:block; font-weight:720; font-size:.85rem; margin-bottom:6px; }
.field input { width:100%; border:1px solid rgba(23,26,31,.17); border-radius:12px; padding:13px 14px; background:#fff; outline:none; }
.field input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(183,138,74,.12); }
.check { display:flex; align-items:flex-start; gap:9px; font-size:.78rem; color:var(--ink-soft); margin:13px 0 17px; }
.check input { margin-top:4px; }
.form-note { font-size:.75rem; color:var(--ink-soft); margin:.8rem 0 0; }
.form-status { display:none; margin-top:12px; padding:12px; border-radius:10px; background:#edf6ef; color:#205a31; font-size:.86rem; }
.form-status.visible { display:block; }

/* Interior pages */
.page-hero {
  padding: 82px 0 56px;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(0,0,0,.84), rgba(0,0,0,.9)),
    url('images/decorative-bg.png') center/cover no-repeat;
  border-bottom: 1px solid rgba(184,138,66,.16);
}
.page-hero h1 { font-size:clamp(3.4rem,8vw,7.4rem); margin:.25rem 0 .6rem; max-width:1000px; }
.page-hero .lead { color: rgba(255,255,255,.74); }
.breadcrumbs { font-size:.8rem; color:rgba(255,255,255,.62); }
.breadcrumbs a { text-decoration:none; color:rgba(255,255,255,.82); }
.prose { font-family:var(--serif); font-size:1.13rem; line-height:1.84; }
.prose p:first-child::first-letter { float:left; font-size:4.2rem; line-height:.75; padding:.13em .1em 0 0; color:var(--gold); }
.bio-grid { display:grid; grid-template-columns: 1fr .7fr; gap:clamp(35px,7vw,90px); align-items:start; }
.bio-side { display:grid; gap:22px; }
.author-portrait { margin:0; overflow:hidden; border-radius:24px; background:#15120f; box-shadow:0 22px 50px rgba(41,31,19,.16); }
.author-portrait img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 34%; }
.author-portrait figcaption { padding:11px 16px 13px; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:#80622e; background:#fffdfa; }

.bio-card, .content-card, .story-card, .media-feature, .press-card, .video-card, .photo-card, .event-card {
  background: var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow: var(--shadow);
}
.bio-card { padding:28px; position:sticky; top:110px; }
.bio-card h3 { font-family:var(--serif); margin-top:0; }
.bio-list { list-style:none; padding:0; margin:0; }
.bio-list li { padding:10px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.bio-list li:last-child { border-bottom:0; }

.book-hero-grid { display:grid; grid-template-columns: .58fr 1.42fr; gap:clamp(38px,7vw,90px); align-items:center; }
.book-page-cover { width:min(330px,100%); margin:auto; }

.real-book-cover { width:100%; display:block; border-radius: 10px 18px 18px 10px; box-shadow: 0 24px 38px rgba(21,24,27,.22); }
.book-page-cover .book-cover { aspect-ratio:.68; }
.book-details h1 { font-size:clamp(3rem,7vw,6.5rem); margin:.2rem 0 1rem; }
.book-details .lead { color: var(--ink-soft); }
.book-kicker { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.pill { display:inline-block; border:1px solid var(--line-strong); border-radius:999px; padding:7px 11px; font-size:.76rem; font-weight:700; background:rgba(184,138,66,.06); }
.content-card { padding:clamp(24px,5vw,52px); }
.content-card h2 { font-family:var(--serif); font-size:2rem; margin-top:0; }
.disclaimer { border-left:3px solid var(--gold); padding:12px 15px; background:rgba(183,138,74,.08); color:var(--ink-soft); font-size:.85rem; border-radius:0 10px 10px 0; }
.story-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.story-card { padding:30px; }
.story-card h2 { font-family:var(--serif); font-size:2rem; line-height:1.08; margin:.5rem 0 .8rem; }
.story-number { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--night);color:var(--gold-light);font-family:var(--serif); }

/* Footer */
.site-footer {
  border-top:1px solid rgba(184,138,66,.18); padding:48px 0 28px; margin-top:70px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.96)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:#fff;
}
.site-footer .muted { color:rgba(255,255,255,.64); }
.footer-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:40px; }
.footer-grid h4 { margin:0 0 10px; font-family:var(--serif); color:#fff; }
.footer-grid a { display:block; text-decoration:none; color:rgba(255,255,255,.7); margin:7px 0; font-size:.88rem; }
.footer-grid a:hover { color:var(--gold-light); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:35px; padding-top:20px; border-top:1px solid rgba(184,138,66,.12); color:rgba(255,255,255,.58); font-size:.78rem; }

/* Utility */
.badge-live { display:inline-flex; align-items:center; gap:6px; font-size:.72rem; color:#2d6a3b; font-weight:750; }
.badge-live::before { content:''; width:7px; height:7px; border-radius:50%; background:#3e9a55; box-shadow:0 0 0 3px rgba(62,154,85,.14); }
.back-link { text-decoration:none; font-weight:700; color:#8e662c; }

@media (max-width: 980px) {
  .hero-grid, .newsletter-grid, .split, .book-hero-grid, .bio-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-art { min-height:440px; max-width:650px; width:100%; margin:auto; }
  .book-grid { grid-template-columns:repeat(2,1fr); gap:26px 18px; }
  .book-page-cover { width:min(290px,78vw); }
  .bio-card { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
  .container, .narrow { width:min(100% - 28px, 1140px); }
  .section { padding:68px 0; }
  .nav { min-height:68px; }
  .menu-btn { display:block; }
  .nav-links {
    position:absolute; top:68px; left:14px; right:14px; display:none; flex-direction:column; align-items:stretch;
    background:rgba(8,8,8,.97); border:1px solid rgba(184,138,66,.2); border-radius:16px; padding:10px; box-shadow:var(--shadow-strong);
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 14px; }
  .hero { padding-top:40px; }
  .hero h1 { font-size:clamp(3.2rem,16vw,5.3rem); }
  .hero-brand-banner { min-height: 150px; border-radius:22px; }
  .hero-art { min-height:360px; }
  .quote-orbit { width:150px; font-size:.9rem; }
  .book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .book-cover { padding:18px 15px; }
  .stat-row { grid-template-columns:1fr; }
  .story-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .newsletter-band { border-radius:20px; }
}
@media (max-width: 430px) {
  .brand-copy span { display:none; }
  .book-grid { gap:18px 12px; }
  .book-cover h3 { font-size:1.28rem; }
  .author-emblem { inset: 0; }
}

.hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }

/* Gallery & Agenda */
.gallery-note { display:flex; gap:14px; align-items:flex-start; padding:18px 20px; border:1px solid rgba(183,138,74,.3); background:rgba(183,138,74,.08); border-radius:14px; }
.gallery-note strong { font-family:var(--serif); font-size:1.08rem; min-width:max-content; }
.gallery-note span { color:var(--ink-soft); }
.media-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.media-feature { text-decoration:none; display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; padding:30px; transition:transform .22s ease, box-shadow .22s ease; }
.media-feature:hover { transform:translateY(-4px); box-shadow:0 26px 58px rgba(19,25,32,.14); }
.media-feature h3 { margin:.15rem 0 .4rem; font-family:var(--serif); font-size:1.8rem; }
.media-feature p { margin:.2rem 0 1rem; color:var(--ink-soft); }
.media-icon { width:52px; height:52px; border:1px solid rgba(183,138,74,.42); border-radius:50%; display:grid; place-items:center; color:var(--gold); font-family:var(--serif); font-size:1.35rem; }
.press-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.placeholder-card { overflow:hidden; }
.press-visual { aspect-ratio:4/3; }
.paper-placeholder { display:grid; place-items:center; padding:30px; text-align:center; background:linear-gradient(140deg,#ede6d9,#fffdf8); position:relative; color:#827560; font-family:var(--serif); font-size:1.3rem; }
.paper-placeholder::before, .paper-placeholder::after { content:''; position:absolute; left:12%; right:12%; height:1px; background:rgba(23,26,31,.12); box-shadow:0 15px rgba(23,26,31,.1),0 30px rgba(23,26,31,.08),0 45px rgba(23,26,31,.08); }
.paper-placeholder::before { top:20%; } .paper-placeholder::after { bottom:28%; }
.press-copy, .video-copy { padding:24px; }
.press-copy h3, .video-copy h3, .event-card h3 { font-family:var(--serif); font-size:1.55rem; line-height:1.12; margin:.35rem 0 .55rem; }
.press-copy p, .video-copy p, .event-card p { color:var(--ink-soft); margin:.4rem 0; }
.media-meta { text-transform:uppercase; letter-spacing:.12em; font-size:.69rem; font-weight:750; color:var(--gold); }
.media-dark {
  background:
    linear-gradient(145deg, rgba(0,0,0,.88), rgba(18,18,18,.84)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:#fff; border-color: rgba(184,138,66,.2);
}
.media-dark .lead { color:rgba(255,255,255,.7); }
.video-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.video-card { background:#121212; border-color:rgba(184,138,66,.18); color:#fff; box-shadow:none; }
.video-card .video-copy p { color:rgba(255,255,255,.67); }
.video-placeholder { aspect-ratio:16/9; display:grid; place-items:center; align-content:center; gap:9px; background:radial-gradient(circle at 50% 45%,rgba(183,138,74,.16),transparent 32%),linear-gradient(145deg,#2a241b,#111111); color:rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; }
.play-mark { width:60px; height:60px; display:grid; place-items:center; border:1px solid rgba(214,180,122,.6); border-radius:50%; color:var(--gold-light); font-size:1.2rem; padding-left:3px; }
.disabled-link { display:inline-block; margin-top:12px; font-size:.78rem; font-weight:750; color:var(--gold-light); text-transform:uppercase; letter-spacing:.08em; }
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.photo-card { margin:0; }
.photo-placeholder { aspect-ratio:4/3; display:grid; place-items:end start; padding:22px; background:linear-gradient(145deg,#d9d1c4,#f8f4ed); color:#796f63; font-family:var(--serif); font-size:1.2rem; position:relative; }
.photo-placeholder::after { content:''; position:absolute; inset:12%; border:1px solid rgba(23,26,31,.08); }
.photo-card figcaption { padding:18px 20px 22px; }
.photo-card figcaption strong { display:block; font-family:var(--serif); font-size:1.15rem; }
.photo-card figcaption span { display:block; color:var(--ink-soft); font-size:.84rem; margin-top:3px; }
.agenda-empty {
  background:
    linear-gradient(145deg, rgba(0,0,0,.88), rgba(18,18,18,.84)),
    url('images/decorative-bg.png') center/cover no-repeat;
  color:#fff; border-radius:28px; padding:clamp(30px,6vw,64px); display:grid; grid-template-columns:auto 1fr; gap:clamp(25px,5vw,54px); align-items:center; box-shadow:var(--shadow-strong); border:1px solid rgba(184,138,66,.18);
}
.agenda-empty .lead { color:rgba(255,255,255,.7); max-width:760px; }
.agenda-empty h2 { font-size:clamp(2.2rem,5vw,4.3rem); margin:.35rem 0 .8rem; }
.agenda-date-icon { width:116px; height:116px; border:1px solid rgba(214,180,122,.55); border-radius:24px; display:grid; place-items:center; background:rgba(255,255,255,.04); }
.agenda-date-icon span { font-family:var(--serif); color:var(--gold-light); font-size:2.3rem; }
.event-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.event-card { display:grid; grid-template-columns:auto 1fr; gap:22px; padding:26px; align-items:start; }
.event-date { width:76px; min-height:82px; border:1px solid rgba(183,138,74,.34); border-radius:14px; display:grid; place-items:center; align-content:center; background:rgba(183,138,74,.07); }
.event-date strong { font-family:var(--serif); font-size:2rem; line-height:1; color:var(--gold); }
.event-date span { font-size:.62rem; letter-spacing:.13em; margin-top:5px; font-weight:750; color:var(--ink-soft); }
.agenda-archive { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.agenda-archive h2 { margin:.25rem 0 .45rem; }
@media (max-width: 980px) {
  .press-grid, .photo-grid { grid-template-columns:repeat(2,1fr); }
  .media-feature-grid, .video-grid, .event-grid { grid-template-columns:1fr; }
  .agenda-empty { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .gallery-note { flex-direction:column; }
  .gallery-note strong { min-width:0; }
  .press-grid, .photo-grid { grid-template-columns:1fr; }
  .agenda-archive { flex-direction:column; align-items:flex-start; }
}


/* Gallery archivio definitivo */
.gallery-hero { background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.84)),url('images/decorative-bg.png') center/cover no-repeat; color:#fff; }
.gallery-hero .lead { color:rgba(255,255,255,.72); }
.gallery-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.gallery-jump a { text-decoration:none; border:1px solid var(--line-strong); background:rgba(255,255,255,.7); padding:9px 14px; border-radius:999px; font-weight:750; font-size:.84rem; }
.gallery-jump a:hover { border-color:var(--gold); color:#805c27; }
.gallery-book-section { scroll-margin-top:86px; border-top:1px solid rgba(184,138,66,.12); }
.gallery-book-section:nth-of-type(even) { background:rgba(255,255,255,.28); }
.gallery-book-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:28px; }
.gallery-book-head h2 { font-size:clamp(2.5rem,6vw,5.4rem); margin:.3rem 0 0; }
.gallery-group { margin:18px 0; border:1px solid rgba(28,23,18,.11); border-radius:18px; overflow:hidden; background:rgba(255,253,249,.78); box-shadow:0 16px 42px rgba(20,18,15,.05); }
.gallery-group > summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 22px; font-family:var(--serif); font-size:1.28rem; background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,239,230,.62)); }
.gallery-group > summary::-webkit-details-marker { display:none; }
.gallery-group > summary::after { content:'＋'; color:var(--gold); font-family:var(--sans); font-size:1.15rem; }
.gallery-group[open] > summary::after { content:'−'; }
.gallery-group > summary small { margin-left:auto; color:var(--ink-soft); font-family:var(--sans); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.gallery-material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:20px; border-top:1px solid rgba(28,23,18,.08); }
.gallery-card { margin:0; overflow:hidden; background:#fff; border:1px solid rgba(28,23,18,.09); border-radius:15px; box-shadow:0 14px 34px rgba(20,18,15,.07); }
.gallery-image-link { display:block; text-decoration:none; background:#171717; overflow:hidden; }
.gallery-card img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s ease, filter .3s ease; }
.gallery-card:hover img { transform:scale(1.025); filter:contrast(1.02); }
.gallery-card figcaption, .gallery-video-link .video-text { padding:17px 18px 19px; }
.gallery-card figcaption strong, .gallery-video-link .video-text > strong { display:block; font-family:var(--serif); font-size:1.15rem; line-height:1.16; margin:.3rem 0 .45rem; }
.gallery-card figcaption p, .gallery-video-link p { margin:0; color:var(--ink-soft); font-size:.88rem; line-height:1.52; }
.gallery-video-link { display:flex; flex-direction:column; }
.video-external { aspect-ratio:4/3; display:grid; place-items:center; align-content:center; gap:8px; background:radial-gradient(circle at 50% 40%,rgba(184,138,66,.24),transparent 32%),linear-gradient(145deg,#24201a,#090909); color:#fff; }
.video-external strong { font-family:var(--serif); font-size:1.35rem; }
.video-external small { color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.12em; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px; border-top:1px solid rgba(28,23,18,.08); }
.review-card { padding:22px; border:1px solid rgba(184,138,66,.18); border-radius:15px; background:linear-gradient(145deg,#fffdf9,#f7f0e6); }
.review-source { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:5px; }
.review-source strong { font-family:var(--serif); font-size:1.06rem; }
.review-card blockquote { margin:14px 0 13px; padding:0; border:0; font-family:var(--serif); font-size:1.08rem; line-height:1.45; color:#33291f; }
.review-link { display:inline-block; margin-top:4px; text-decoration:none; color:#8d652d; font-size:.78rem; font-weight:800; letter-spacing:.04em; }
.sponsor-badge { flex:0 0 auto; border:1px solid rgba(125,91,42,.28); background:rgba(184,138,66,.09); border-radius:999px; padding:4px 8px; font-size:.61rem; text-transform:uppercase; letter-spacing:.08em; color:#775626; }
.gallery-closing { display:flex; justify-content:space-between; align-items:center; gap:40px; background:linear-gradient(145deg,#fff,#f3e8d8); border:1px solid rgba(184,138,66,.15); border-radius:22px; }
.gallery-closing > div:first-child { max-width:760px; }
@media (max-width:980px){ .gallery-material-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.gallery-book-head{align-items:flex-start;flex-direction:column}.gallery-closing{align-items:flex-start;flex-direction:column} }
@media (max-width:640px){ .gallery-material-grid,.review-grid{grid-template-columns:1fr;padding:14px}.gallery-group > summary{padding:16px;font-size:1.12rem}.gallery-group > summary small{display:none}.gallery-card img{aspect-ratio:16/11}.gallery-jump{gap:8px}.gallery-jump a{width:100%;text-align:center} }


/* Gallery archivio definitivo */
.gallery-hero { background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.84)),url('images/decorative-bg.png') center/cover no-repeat; color:#fff; }
.gallery-hero .lead { color:rgba(255,255,255,.72); }
.gallery-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.gallery-jump a { text-decoration:none; border:1px solid var(--line-strong); background:rgba(255,255,255,.7); padding:9px 14px; border-radius:999px; font-weight:750; font-size:.84rem; }
.gallery-jump a:hover { border-color:var(--gold); color:#805c27; }
.gallery-book-section { scroll-margin-top:86px; border-top:1px solid rgba(184,138,66,.12); }
.gallery-book-section:nth-of-type(even) { background:rgba(255,255,255,.28); }
.gallery-book-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:28px; }
.gallery-book-head h2 { font-size:clamp(2.5rem,6vw,5.4rem); margin:.3rem 0 0; }
.gallery-group { margin:18px 0; border:1px solid rgba(28,23,18,.11); border-radius:18px; overflow:hidden; background:rgba(255,253,249,.78); box-shadow:0 16px 42px rgba(20,18,15,.05); }
.gallery-group > summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 22px; font-family:var(--serif); font-size:1.28rem; background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,239,230,.62)); }
.gallery-group > summary::-webkit-details-marker { display:none; }
.gallery-group > summary::after { content:'＋'; color:var(--gold); font-family:var(--sans); font-size:1.15rem; }
.gallery-group[open] > summary::after { content:'−'; }
.gallery-group > summary small { margin-left:auto; color:var(--ink-soft); font-family:var(--sans); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.gallery-material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:20px; border-top:1px solid rgba(28,23,18,.08); }
.gallery-card { margin:0; overflow:hidden; background:#fff; border:1px solid rgba(28,23,18,.09); border-radius:15px; box-shadow:0 14px 34px rgba(20,18,15,.07); }
.gallery-image-link { display:block; text-decoration:none; background:#171717; overflow:hidden; }
.gallery-card img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s ease, filter .3s ease; }
.gallery-card:hover img { transform:scale(1.025); filter:contrast(1.02); }
.gallery-card figcaption, .gallery-video-link .video-text { padding:17px 18px 19px; }
.gallery-card figcaption strong, .gallery-video-link .video-text > strong { display:block; font-family:var(--serif); font-size:1.15rem; line-height:1.16; margin:.3rem 0 .45rem; }
.gallery-card figcaption p, .gallery-video-link p { margin:0; color:var(--ink-soft); font-size:.88rem; line-height:1.52; }
.gallery-video-link { display:flex; flex-direction:column; }
.video-external { aspect-ratio:4/3; display:grid; place-items:center; align-content:center; gap:8px; background:radial-gradient(circle at 50% 40%,rgba(184,138,66,.24),transparent 32%),linear-gradient(145deg,#24201a,#090909); color:#fff; }
.video-external strong { font-family:var(--serif); font-size:1.35rem; }
.video-external small { color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.12em; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px; border-top:1px solid rgba(28,23,18,.08); }
.review-card { padding:22px; border:1px solid rgba(184,138,66,.18); border-radius:15px; background:linear-gradient(145deg,#fffdf9,#f7f0e6); }
.review-source { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:5px; }
.review-source strong { font-family:var(--serif); font-size:1.06rem; }
.review-card blockquote { margin:14px 0 13px; padding:0; border:0; font-family:var(--serif); font-size:1.08rem; line-height:1.45; color:#33291f; }
.review-link { display:inline-block; margin-top:4px; text-decoration:none; color:#8d652d; font-size:.78rem; font-weight:800; letter-spacing:.04em; }
.sponsor-badge { flex:0 0 auto; border:1px solid rgba(125,91,42,.28); background:rgba(184,138,66,.09); border-radius:999px; padding:4px 8px; font-size:.61rem; text-transform:uppercase; letter-spacing:.08em; color:#775626; }
.gallery-closing { display:flex; justify-content:space-between; align-items:center; gap:40px; background:linear-gradient(145deg,#fff,#f3e8d8); border:1px solid rgba(184,138,66,.15); border-radius:22px; }
.gallery-closing > div:first-child { max-width:760px; }
@media (max-width:980px){ .gallery-material-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.gallery-book-head{align-items:flex-start;flex-direction:column}.gallery-closing{align-items:flex-start;flex-direction:column} }
@media (max-width:640px){ .gallery-material-grid,.review-grid{grid-template-columns:1fr;padding:14px}.gallery-group > summary{padding:16px;font-size:1.12rem}.gallery-group > summary small{display:none}.gallery-card img{aspect-ratio:16/11}.gallery-jump{gap:8px}.gallery-jump a{width:100%;text-align:center} }

/* Correzioni finali 20-08-2026 */
.author-emblem .monogram { transform: translate(-.04em,-.08em); }
.author-emblem .caption { bottom:5%; }
.author-emblem .caption small { display:block; }

/* Copertine uniformi nella griglia Romanzi/Home */
.book-cover-image { aspect-ratio:2/3; object-fit:cover; object-position:center top; }

/* Breadcrumb leggibile sulle pagine libro a fondo chiaro */
.book-details .breadcrumbs { color:#8a765e; }
.book-details .breadcrumbs a { color:#6e5a42; }

.site-footer.compact-gap { margin-top:34px; }

.gallery-book-head .btn { white-space:nowrap; }

/* Griglie Gallery bilanciate */
.gallery-material-grid.two-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gallery-material-grid.center-one { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-material-grid.center-one > :first-child { grid-column:2; }
.gallery-material-grid.center-two,
.review-grid.center-two { grid-template-columns:repeat(6,minmax(0,1fr)); }
.gallery-material-grid.center-two > *,
.review-grid.center-two > * { grid-column:span 2; }
.gallery-material-grid.center-two > :first-child,
.review-grid.center-two > :first-child { grid-column:2 / span 2; }
.gallery-material-grid.center-last-one > :last-child { grid-column:2; }
.gallery-material-grid.center-last-two,
.gallery-material-grid.center-last-two { grid-template-columns:repeat(6,minmax(0,1fr)); }
.gallery-material-grid.center-last-two > * { grid-column:span 2; }
.gallery-material-grid.center-last-two > :nth-last-child(2) { grid-column:2 / span 2; }
.gallery-material-grid.center-last-two > :last-child { grid-column:4 / span 2; }

.example-badge {
  display:inline-block; margin-bottom:8px; padding:4px 8px; border-radius:999px;
  border:1px solid rgba(184,138,66,.35); background:rgba(184,138,66,.08);
  color:#8a642b; text-transform:uppercase; letter-spacing:.11em; font-size:.62rem; font-weight:800;
}

.privacy-card h3 { font-family:var(--serif); font-size:1.3rem; margin:1.7rem 0 .35rem; }
.privacy-card h3:first-child { margin-top:0; }
.privacy-card p { margin:.35rem 0; color:#3f3429; }
.privacy-card a { color:#8b6229; font-weight:700; }
.privacy-sections > section { padding-bottom:1.1rem; border-bottom:1px solid var(--line); }
.privacy-sections > section:last-child { border-bottom:0; padding-bottom:0; }

@media (max-width:980px) {
  .gallery-material-grid.two-column,
  .gallery-material-grid.center-one,
  .gallery-material-grid.center-two,
  .gallery-material-grid.center-last-one,
  .gallery-material-grid.center-last-two,
  .review-grid.center-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-material-grid.center-one > :first-child,
  .gallery-material-grid.center-two > *,
  .gallery-material-grid.center-two > :first-child,
  .gallery-material-grid.center-last-one > :last-child,
  .gallery-material-grid.center-last-two > *,
  .gallery-material-grid.center-last-two > :nth-last-child(2),
  .gallery-material-grid.center-last-two > :last-child,
  .review-grid.center-two > *,
  .review-grid.center-two > :first-child { grid-column:auto; }
}
@media (max-width:640px) {
  .gallery-material-grid.two-column,
  .gallery-material-grid.center-one,
  .gallery-material-grid.center-two,
  .gallery-material-grid.center-last-one,
  .gallery-material-grid.center-last-two,
  .review-grid.center-two { grid-template-columns:1fr; }
}

/* Miglioria leggibilita motto Home */
.author-emblem .caption { bottom:6%; z-index:3; }
.author-emblem .caption small {
  display:inline-block;
  padding:5px 9px;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(226,191,125,.28);
  border-radius:8px;
  color:#e2bf7d;
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.16em;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
}
.author-emblem .caption p { margin-top:.65rem; }
