
:root{
  --ink:#1d1d1b; --paper:#f8f5ef; --warm:#e9e0d2; --muted:#706b63;
  --accent:#9d6b45; --white:#fff; --line:#ded7cc; --shadow:0 18px 50px rgba(30,25,20,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:auto}
.nav{position:sticky;top:0;z-index:20;background:rgba(248,245,239,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{font-family:Arial,sans-serif;font-weight:800;letter-spacing:.08em;font-size:.95rem}
.nav-links{display:flex;gap:18px;align-items:center;font:600 .8rem Arial,sans-serif;letter-spacing:.04em}
.nav-links a:hover{color:var(--accent)}
.nav-links a[aria-current="page"]{color:var(--accent)}
.btn{display:inline-block;padding:14px 22px;border:1px solid var(--ink);font:700 .78rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:.2s}
.btn.primary{background:var(--ink);color:white}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.hero{padding:95px 0 80px;background:linear-gradient(135deg,#f8f5ef 0%,#eee7dc 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}
.eyebrow{font:700 .75rem Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
h1,h2,h3{line-height:1.12;margin:0 0 20px}
h1{font-size:clamp(3rem,7vw,6rem);font-weight:500}
h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:500}
h3{font-size:1.55rem}
.lead{font-size:1.28rem;color:#4d4943;max-width:650px}
.hero-art{min-height:450px;background:#252525;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 20%,#496c86,transparent 35%),linear-gradient(140deg,#17324b,#101010 65%)}
.hero-art:after{content:"NAPOLI  •  MUSICA  •  STORIE";position:absolute;bottom:32px;left:32px;color:white;font:700 .75rem Arial,sans-serif;letter-spacing:.18em}
.hero-title{position:relative;z-index:1;color:#fff;padding:45px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.hero-title strong{font:800 clamp(2rem,5vw,4rem) Arial,sans-serif;letter-spacing:-.04em}
.section{padding:90px 0}
.section.alt{background:#eee7dc}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}
.section-head p{max-width:560px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.card{background:white;border:1px solid var(--line);padding:30px;box-shadow:0 8px 25px rgba(30,25,20,.04)}
.book-cover{aspect-ratio:3/4;background:#1d1d1b;color:white;padding:25px;display:flex;flex-direction:column;justify-content:space-between;margin-bottom:25px}
.book-cover .num{font:700 .7rem Arial,sans-serif;letter-spacing:.15em}
.book-cover .cover-title{font:700 1.8rem Arial,sans-serif;line-height:1.02}
.book-cover.diego{background:linear-gradient(145deg,#164b76,#071e33)}
.book-cover.follia{background:linear-gradient(145deg,#423b38,#151515)}
.book-cover.plastica{background:linear-gradient(145deg,#b36b35,#4e2548)}
.meta{font:700 .72rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.luni-photo{border-radius:2px;box-shadow:var(--shadow);max-height:650px;object-fit:cover;width:100%}
.quote{font-size:1.7rem;line-height:1.35;border-left:3px solid var(--accent);padding-left:25px;margin:30px 0}
.author-box{background:#1d1d1b;color:white;padding:55px}
.author-box .eyebrow{color:#d8b894}
.cta{padding:75px 0;background:#ded3c4;text-align:center}
.cta p{max-width:650px;margin:0 auto 28px;color:#514b43}
.footer{padding:45px 0;background:#171717;color:#ddd}
.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center;font: .8rem Arial,sans-serif}
.page-hero{padding:80px 0 60px;border-bottom:1px solid var(--line)}
.book-page{display:grid;grid-template-columns:340px 1fr;gap:70px;padding:75px 0}
.book-large{position:sticky;top:110px;height:max-content}
.book-large .book-cover{margin:0}
.list{padding-left:20px}
.list li{margin:10px 0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}
form{background:white;padding:35px;border:1px solid var(--line)}
label{font:700 .75rem Arial,sans-serif;display:block;margin:0 0 7px}
input,textarea{width:100%;padding:13px;border:1px solid #cfc7bb;background:#fbfaf8;margin-bottom:18px;font:1rem Georgia,serif}
textarea{min-height:150px}
.notice{padding:18px;background:#f1eadf;border-left:3px solid var(--accent);margin:25px 0}
.mobile-note{display:none}
.mobile-menu,.mobile-nav{display:none}
.blog-hero{padding:100px 0 85px;background:linear-gradient(120deg,#eee7dc 0 56%,#ded3c4 56%);border-bottom:1px solid var(--line)}
.blog-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}
.blog-hero h1{margin-bottom:0}
.blog-intro{max-width:430px;border-top:1px solid rgba(29,29,27,.35);padding-top:25px;font-size:1.2rem;color:#4d4943}
.blog-intro p{margin:0}
.dropcap{float:left;font-size:4.6rem;line-height:.72;margin:10px 10px 0 0;color:var(--accent)}
.editorial-grid{display:grid;grid-template-columns:160px 1fr 260px;gap:55px;align-items:start}
.editorial-mark{aspect-ratio:1;background:var(--ink);color:var(--paper);display:grid;place-items:center;box-shadow:15px 15px 0 var(--warm)}
.editorial-mark span{font-size:2.5rem;font-style:italic}
.blog-note{border-top:3px solid var(--accent);padding-top:18px}
.blog-note>span{font:700 .72rem Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.blog-note ul{list-style:none;padding:0;margin:15px 0 0}
.blog-note li{padding:9px 0;border-bottom:1px solid var(--line)}
.blog-note li.active{color:var(--accent);font-weight:700}
.blog-note li.active a{display:flex;align-items:center;justify-content:space-between;gap:15px;transition:color .2s,transform .2s}
.blog-note li.active a:hover{color:var(--ink);transform:translateX(3px)}
.blog-note li.active a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.article-hero{padding:95px 0 70px;background:linear-gradient(135deg,#eee7dc 0%,#f8f5ef 72%);border-bottom:1px solid var(--line)}
.article-hero h1{max-width:900px;font-size:clamp(2.8rem,6.4vw,5.5rem);margin-top:14px}
.article-hero .lead{max-width:720px;margin-bottom:0}
.article-layout{display:grid;grid-template-columns:180px minmax(0,700px);gap:70px;justify-content:center;padding:80px 0 95px}
.article-aside{border-top:3px solid var(--accent);padding-top:16px;color:var(--muted);font-style:italic}
.article-aside span{display:block;margin-bottom:8px;font:700 .72rem Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.article-body{font-size:1.15rem}
.article-body p{margin:0 0 1.5em}
.article-body p:first-child::first-letter{float:left;font-size:4.9rem;line-height:.72;margin:12px 11px 0 0;color:var(--accent)}
.article-closing{margin-top:40px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1.45rem;font-style:italic;line-height:1.45}
.back-to-blog{display:inline-block;margin-top:38px;font:700 .75rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.back-to-blog:hover{text-decoration:underline;text-underline-offset:5px}
.write-section{background:#e9e0d2}
.write-copy{padding-right:25px}
.author-form{box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.honeypot{display:none}
.author-form input:focus,.author-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
@media(max-width:800px){
 .nav-inner{min-height:68px;position:relative}.nav-links{display:none}.mobile-note{display:none}
 .mobile-menu{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--ink);font:700 .68rem Arial,sans-serif;letter-spacing:.08em;padding:10px 0;cursor:pointer}
 .menu-icon{display:flex;flex-direction:column;gap:4px;width:20px}.menu-icon i{display:block;width:20px;height:2px;background:currentColor;transition:.2s}
 .mobile-nav{position:absolute;top:68px;left:0;right:0;display:none;flex-direction:column;background:rgba(248,245,239,.98);border-bottom:1px solid var(--line);box-shadow:0 10px 25px rgba(30,25,20,.10);padding:10px 22px 18px;z-index:30}
 .mobile-nav.open{display:flex}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);font:700 .78rem Arial,sans-serif;letter-spacing:.05em;color:var(--ink)}.mobile-nav a:last-child{margin-top:10px;border-bottom:0;text-align:center}.mobile-menu[aria-expanded="true"] .menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0}.mobile-menu[aria-expanded="true"] .menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .hero{padding:60px 0}.hero-grid,.split,.contact,.book-page{grid-template-columns:1fr;gap:35px}
 .hero-art{min-height:330px}.cards{grid-template-columns:1fr}
 .section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:15px}
 .book-large{position:static;max-width:330px}
 .footer-inner{display:block}.footer-inner>*{margin:10px 0}
 .blog-hero{padding:65px 0;background:linear-gradient(150deg,#eee7dc,#ded3c4)}.blog-hero-grid,.editorial-grid{grid-template-columns:1fr;gap:35px}.blog-intro{max-width:none}.editorial-mark{width:110px}.blog-note{margin-top:10px}.form-row{grid-template-columns:1fr}
 .article-hero{padding:65px 0 55px}.article-layout{grid-template-columns:1fr;gap:35px;padding:55px 0 70px}.article-aside{max-width:280px}.article-body{font-size:1.08rem}.article-closing{font-size:1.3rem}
}

.real-cover{aspect-ratio:1536/1190;overflow:hidden;background:#f7f4ee;margin-bottom:25px;box-shadow:0 10px 28px rgba(30,25,20,.12);display:flex;align-items:center;justify-content:center}
.real-cover img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.napoli-block{grid-column:1/-1;margin-top:5px}

.author-photo{width:100%;max-height:650px;object-fit:cover;object-position:center;box-shadow:var(--shadow)}
