@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&family=Playfair+Display:wght@400;700;900&display=swap');
:root{--ferrari-red:#DC0000;--bg:#FAFAF9;--text:#1A1A1A;--border:#E5E5E5}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'EB Garamond',serif;background:var(--bg);color:var(--text);font-size:20px;line-height:1.8}
.nav-toggle{position:fixed;top:40px;left:40px;width:32px;height:24px;cursor:pointer;z-index:10000;background:transparent;border:none}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--text);position:absolute;transition:all .3s}
.nav-toggle span:nth-child(1){top:0}
.nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}
.nav-toggle span:nth-child(3){bottom:0}
.nav-toggle.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}
.site-logo{position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:9998;font-family:'Playfair Display',serif;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--text);text-decoration:none}
.nav-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--bg);z-index:9997;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s}
.nav-menu.active{opacity:1;visibility:visible}
.nav-menu ul{list-style:none;text-align:center}
.nav-menu li{margin:30px 0}
.nav-menu a{font-family:'Playfair Display',serif;font-size:3rem;color:var(--text);text-decoration:none}
.hero{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(20%)}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.1))}
.hero-title{position:relative;z-index:10;font-family:'Playfair Display',serif;font-size:8vw;font-weight:900;text-align:center;color:transparent;-webkit-text-stroke:2px white;letter-spacing:-2px;mix-blend-mode:difference}
.hero-subtitle{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);font-size:1.2rem;font-style:italic;color:white;letter-spacing:2px}
.section{max-width:800px;margin:0 auto;padding:120px 60px}
.section-title{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:700;text-align:center;margin-bottom:60px}
.capitolo{margin-bottom:80px;padding-bottom:40px;border-bottom:1px solid var(--border)}
.capitolo-stato{font-size:.9rem;text-transform:uppercase;letter-spacing:3px;color:var(--ferrari-red);margin-bottom:20px}
.capitolo-image{margin-bottom:30px}
.capitolo-image img{width:100%;border-radius:4px}
.capitolo-title{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:600;margin-bottom:20px}
.capitolo-date{font-style:italic;color:#666;margin-bottom:25px}
.capitolo-excerpt{font-size:1.2rem;line-height:1.8;text-align:justify;margin-bottom:30px}
.capitolo-link{color:var(--text);text-decoration:none;border-bottom:1px solid var(--text)}
.capitolo-link:hover{color:var(--ferrari-red);border-color:var(--ferrari-red)}
.footer{text-align:center;padding:80px 40px;border-top:1px solid var(--border);margin-top:100px}
.post-article{max-width:800px;margin:0 auto;padding:150px 60px 100px}
.post-header{text-align:center;margin-bottom:50px}
.post-title{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:800;margin-bottom:20px}
.post-meta{font-style:italic;color:#666}
.post-featured-image{margin-bottom:50px}
.post-featured-image img{width:100%;border-radius:4px}
.post-content{font-size:1.3rem;line-height:2;text-align:justify}
.post-back{margin-top:60px;text-align:center}
.reading-progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--ferrari-red);width:0;z-index:10001}
@media(max-width:768px){.hero-title{font-size:12vw}.section{padding:80px 30px}.section-title{font-size:2.5rem}.capitolo-title{font-size:2rem}.post-article{padding:120px 30px 80px}.post-title{font-size:2.5rem}}