:root{--cream:#f4e9d4;--soft:#d9c8ab;--amber:#dfa15f;--dark:#170e0a;--line:rgb(244 233 212 / 18%);--sidebar:clamp(285px,25vw,390px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;color:var(--cream);background:var(--dark);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}
.fixed-scene,.page-shade{position:fixed;z-index:0;inset:0}.fixed-scene{background-image:var(--page-image,url("/assets/cozy-cafe-hero-v3.png"));background-position:var(--page-position,58% center);background-size:cover;background-repeat:no-repeat;transform:scale(1.01)}.page-shade{z-index:1;background:linear-gradient(90deg,rgb(18 9 6/87%) 0,rgb(18 9 6/59%) 31%,rgb(18 9 6/16%) 66%,rgb(18 9 6/25%) 100%),linear-gradient(0deg,rgb(14 7 4/45%),transparent 60%)}
.sidebar{position:fixed;z-index:5;inset:0 auto 0 0;width:var(--sidebar);display:flex;padding:42px clamp(25px,3vw,48px) 34px;border-right:1px solid var(--line);flex-direction:column;background:rgb(20 11 7/37%);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;width:44px;aspect-ratio:1;place-items:center;border:1px solid rgb(244 233 212/55%);border-radius:50%;font:15px "DM Serif Display",serif}.brand-name{font:21px "DM Serif Display",serif}
.side-nav{display:flex;margin-block:auto;flex-direction:column}.menu-label{margin:0 0 12px;color:var(--amber);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.nav-link{display:grid;padding:19px 0;border-bottom:1px solid var(--line);grid-template-columns:30px 1fr;transition:.18s}.nav-link:first-child{border-top:1px solid var(--line)}.nav-link:hover,.nav-link[aria-current="page"]{padding-left:7px;color:#fff5dd}.nav-link>b{padding-top:3px;color:var(--amber);font:10px "DM Sans",sans-serif}.nav-link strong,.nav-link small{display:block}.nav-link strong{font:400 clamp(18px,1.45vw,23px) "DM Serif Display",serif}.nav-link small{margin-top:4px;color:var(--soft);font-size:10px;letter-spacing:.04em}
.sidebar-foot{display:flex;gap:11px;flex-direction:column;color:var(--soft);font-size:11px}.availability{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.09em}.availability i{width:7px;height:7px;border-radius:50%;background:#c5c85c;box-shadow:0 0 0 4px rgb(197 200 92/15%)}
.content{position:relative;z-index:2;margin-left:var(--sidebar)}.panel{min-height:100vh;padding:clamp(80px,9vw,145px) clamp(30px,7vw,115px)}.hero{display:flex;align-items:center}.hero-copy{width:min(770px,100%)}.eyebrow{margin:0 0 28px;color:var(--amber);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
h1,h2,blockquote{font-family:"DM Serif Display",serif;font-weight:400}h1{margin:0;font-size:clamp(62px,8.5vw,138px);line-height:.86;letter-spacing:-.045em;text-shadow:0 3px 30px rgb(0 0 0/30%)}h1 em,blockquote em{color:#e4a15e;font-weight:400}.intro{max-width:530px;margin:46px 0 36px;color:var(--soft);font-size:clamp(16px,1.4vw,20px);line-height:1.65}
.round-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.round-link span{display:grid;width:46px;aspect-ratio:1;place-items:center;border:1px solid rgb(244 233 212/48%);border-radius:50%;transition:.18s}.round-link:hover span{color:var(--dark);background:var(--cream)}
.section-panel,.contact-panel{display:grid;place-items:center}.glass-card{width:min(850px,100%);padding:clamp(34px,6vw,80px);border:1px solid var(--line);background:rgb(24 12 7/76%);box-shadow:0 30px 90px rgb(0 0 0/25%);backdrop-filter:blur(16px)}h2{margin:0 0 55px;font-size:clamp(52px,7vw,96px);line-height:.93;letter-spacing:-.035em}
.topic-grid{display:grid;border-top:1px solid var(--line);grid-template-columns:1fr 1fr}.topic-grid a{display:grid;padding:24px 10px;border-bottom:1px solid var(--line);gap:10px;grid-template-columns:25px 1fr auto;font:clamp(17px,1.5vw,22px) "DM Serif Display",serif;transition:.18s}.topic-grid a:nth-child(odd){padding-right:25px;border-right:1px solid var(--line)}.topic-grid a:nth-child(even){padding-left:25px}.topic-grid a:hover{color:#fff;background:rgb(215 139 60/10%)}.topic-grid a:last-child:nth-child(odd){grid-column:1/-1;padding-inline:10px;border-right:0}.topic-grid span{color:var(--amber);font:10px "DM Sans",sans-serif}.topic-grid b{font:400 14px "DM Sans",sans-serif}
.quote-panel{display:flex;justify-content:center;flex-direction:column;background:rgb(80 29 11/48%);backdrop-filter:blur(4px)}blockquote{width:min(860px,100%);margin:0;font-size:clamp(45px,6.2vw,92px);line-height:1.02}.signature{display:flex;width:min(860px,100%);margin-top:50px;align-items:center;gap:20px;color:var(--soft);font-size:12px}.signature span{width:55px;height:1px;background:var(--amber)}
.contact-panel{position:relative;background:rgb(13 7 5/76%);text-align:center;backdrop-filter:blur(9px)}.contact-panel h2{margin-bottom:45px}.mail-link{display:inline-flex;padding-bottom:8px;align-items:center;gap:35px;border-bottom:1px solid var(--cream);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.mail-link span{color:var(--amber);font-size:18px}footer{position:absolute;right:35px;bottom:30px;color:var(--soft);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.menu-toggle{display:none}.menu-toggle>i{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{opacity:0;transform:translateY(24px);animation:reveal .8s cubic-bezier(.2,.8,.2,1) forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.22s}.delay-3{animation-delay:.34s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}
.inner-hero{display:flex;min-height:100vh;align-items:center}.inner-hero>div{width:min(760px,100%)}.inner-hero h1{font-size:clamp(65px,9vw,130px)}.back-link{display:inline-block;margin-top:42px;padding-bottom:7px;border-bottom:1px solid var(--cream);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){:root{--sidebar:min(88vw,350px)}.fixed-scene{background-position:64% center}.page-shade{background:linear-gradient(0deg,rgb(15 8 5/77%),rgb(15 8 5/35%))}.sidebar{transform:translateX(-100%);transition:transform .26s}.nav-open .sidebar{transform:translateX(0)}.menu-toggle{position:fixed;z-index:8;top:20px;right:20px;display:grid;width:48px;aspect-ratio:1;padding:0;place-content:center;gap:7px;border:1px solid var(--line);border-radius:50%;background:rgb(23 13 9/70%);backdrop-filter:blur(10px)}.menu-toggle span{width:18px;height:1px;background:var(--cream);transition:.18s}.nav-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .menu-toggle span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.content{margin-left:0}.panel{padding:95px 25px 65px}.hero{align-items:end}h1{font-size:clamp(58px,18vw,90px)}.intro{margin-top:35px}.glass-card{padding:34px 24px}.topic-grid{grid-template-columns:1fr}.topic-grid a:nth-child(odd),.topic-grid a:nth-child(even){padding-inline:7px;border-right:0}blockquote{font-size:clamp(44px,13vw,70px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Blog e foglio animato */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.blog-content{padding-bottom:12vh}.blog-intro{min-height:72vh;display:flex;padding:clamp(110px,13vw,190px) clamp(30px,7vw,115px) 80px;justify-content:center;flex-direction:column}.blog-intro h1{font-size:clamp(58px,7vw,108px)}
.paper-stage{width:100%;display:grid;padding:40px clamp(24px,6vw,90px) 140px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start;gap:clamp(75px,9vw,130px) clamp(40px,6vw,90px);perspective:1600px}.paper{position:relative;z-index:1;width:clamp(220px,22vw,260px);margin-inline:0;justify-self:center;color:#2a1a12;filter:drop-shadow(0 20px 26px rgb(0 0 0/34%));transform:translate(var(--scatter-x,0),var(--scatter-y,0)) rotate(var(--scatter-rotate,-1deg));transform-origin:center;transition:width 650ms cubic-bezier(.2,.8,.2,1),transform 650ms ease,filter 250ms ease}.paper.is-open{z-index:3;width:min(680px,100%);grid-column:1/-1;filter:drop-shadow(0 26px 38px rgb(0 0 0/30%));transform:none}.paper:before,.paper:after{content:"";position:absolute;z-index:-1;right:12px;bottom:-10px;left:14px;height:40%;background:#d8c6a2;transform:rotate(1.2deg)}.paper:after{right:18px;bottom:-16px;left:8px;background:#bda986;transform:rotate(-.8deg)}
.paper-cover,.paper-body{background-color:#efe2c5;background-image:linear-gradient(90deg,rgb(112 72 38/4%) 1px,transparent 1px),linear-gradient(rgb(112 72 38/3%) 1px,transparent 1px),radial-gradient(circle at 18% 12%,rgb(255 255 255/42%),transparent 34%);background-size:28px 28px,28px 28px,100% 100%}.paper-cover{position:relative;width:100%;min-height:0;display:grid;aspect-ratio:1;padding:20px;place-items:center;border:0;color:#2a1a12;cursor:pointer;transition:min-height 650ms cubic-bezier(.2,.8,.2,1),background-color 180ms ease}.paper:not(.is-open) .paper-cover{background-color:var(--note-color,#f2d995)}.paper-cover:before{content:"";position:absolute;z-index:2;top:-9px;left:50%;width:56px;height:20px;background:rgb(246 230 190/68%);box-shadow:0 2px 5px rgb(70 43 20/10%);opacity:.88;transform:translateX(-50%) rotate(-2deg);transition:opacity 180ms ease}.paper-cover:after{content:"";position:absolute;right:0;bottom:0;width:36px;height:36px;background:linear-gradient(135deg,#cbb991 0 49%,#fff3d7 50%);box-shadow:-5px -5px 12px rgb(70 43 20/10%);transition:width 250ms ease,height 250ms ease}.paper-cover:hover{background-color:#f6e9cc}.paper-cover:hover:after{width:48px;height:48px}.paper-title{max-width:560px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(38px,5.2vw,66px);line-height:.96;letter-spacing:-.035em;text-align:center}.paper.is-open .paper-cover{min-height:150px;aspect-ratio:auto;padding:clamp(35px,7vw,90px)}.paper.is-open .paper-cover:before{opacity:0}.paper.is-open .paper-cover:after{width:0;height:0}.paper:not(.is-open) .paper-title{max-width:none;font-size:clamp(16px,1.55vw,20px);white-space:nowrap}
.paper-body{padding:clamp(30px,5vw,60px);border-top:1px solid rgb(72 42 20/15%)}.paper-body[aria-hidden="true"]{display:none}.paper-body[aria-hidden="false"]{display:block;transform-origin:top center;animation:paper-unfold 750ms cubic-bezier(.16,.8,.25,1) both}.article-header{padding-bottom:46px;border-bottom:1px solid rgb(72 42 20/22%);text-align:center}.article-category{margin:0 0 18px;color:#9d4b2b;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.article-header h2{margin-bottom:12px;font-size:clamp(40px,5.5vw,64px);line-height:.95}.article-subtitle{margin:0 0 30px;color:#80583e;font:italic clamp(19px,2.4vw,28px) Georgia,serif}.article-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;color:#705d4b;font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.article-copy{width:min(560px,100%);margin:45px auto 65px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(16px,1.25vw,18px);line-height:1.8}.article-copy p{margin:0 0 1.55em}.article-copy .article-lead{font-size:1.1em;line-height:1.7}.article-copy .article-lead:first-letter{float:left;margin:.08em .12em 0 0;color:#9d4b2b;font-family:"DM Serif Display",Georgia,serif;font-size:4.1em;line-height:.72}.article-copy .article-dedication{margin:2.4em 0 .8em;color:#725b47;font-size:.86em;line-height:1.5;text-align:right}.article-copy blockquote{width:auto;margin:2.2em 0;padding:1.4em 0 1.4em 1.5em;border-left:3px solid #9d4b2b;color:#68402d;font-size:clamp(20px,2.4vw,27px);font-style:italic;line-height:1.35}.article-copy blockquote p{margin:0}
#wolves .article-copy .article-lead,#figlia .article-copy .article-lead{font-size:inherit;line-height:inherit}#wolves .article-copy .article-lead:first-letter,#figlia .article-copy .article-lead:first-letter{float:none;margin:0;color:inherit;font:inherit}
#picasso .article-copy .article-lead:first-letter,#ma .article-copy .article-lead:first-letter{margin-right:.24em;padding:0 .08em .24em 0;line-height:.9}
#per-tutti-i-papa .article-copy blockquote{margin:0;padding:0;border:0;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;font-style:normal}
#per-tutti-i-papa .article-copy .article-lead{font-size:inherit;line-height:inherit}
#per-tutti-i-papa .article-copy .article-lead:first-letter{float:none;margin:0;color:inherit;font:inherit}
#mir .article-copy{font-style:italic}
#figlia .article-copy blockquote{margin:0;padding:0;border:0;color:inherit;font-size:inherit;line-height:inherit;font-style:italic}
#figlia .article-copy .article-lead{font-size:inherit;line-height:inherit}
#figlia .article-copy .article-lead:first-letter{float:none;margin:0;color:inherit;font:inherit}
.comments{width:min(680px,100%);margin-inline:auto;padding-top:55px;border-top:1px solid rgb(72 42 20/22%)}.comments-heading h3{margin:0 0 38px;font:400 clamp(32px,4vw,46px) "DM Serif Display",Georgia,serif}.comments-list{display:grid;margin-bottom:48px;gap:18px}.comments-empty{margin:0;color:#786552;font:italic 16px Georgia,serif}.comment{padding:20px 0;border-bottom:1px solid rgb(72 42 20/15%)}.comment header{display:flex;margin-bottom:10px;align-items:baseline;justify-content:space-between;gap:20px}.comment header strong{font:400 20px "DM Serif Display",Georgia,serif}.comment time{color:#786552;font-size:10px;text-transform:uppercase}.comment p{margin:0;font:16px/1.65 Georgia,serif;white-space:pre-wrap}
.comment-form{display:grid;gap:22px}.form-row{display:grid;gap:18px;grid-template-columns:1fr 1fr}.comment-form label{display:grid;gap:8px;color:#5b4535;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.comment-form label small{color:#8a7661;font-size:9px;font-weight:400}.comment-form input,.comment-form textarea{width:100%;border:0;border-bottom:1px solid rgb(72 42 20/38%);border-radius:0;outline:0;color:#2a1a12;background:rgb(255 255 255/18%);font:16px/1.5 Georgia,serif}.comment-form input{height:48px;padding:0 12px}.comment-form textarea{padding:12px;resize:vertical}.comment-form input:focus,.comment-form textarea:focus{border-color:#9d4b2b;box-shadow:0 2px 0 #9d4b2b}.comment-honeypot{position:absolute!important;left:-10000px!important}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:25px}.form-note,.form-status{margin:0;color:#786552;font-size:11px;line-height:1.5}.form-actions button,.paper-close{border:0;color:#f5ead2;background:#2a1a12;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.form-actions button{flex:none;padding:15px 20px}.form-actions button:disabled{cursor:wait;opacity:.55}.paper-close{display:block;margin:70px auto 0;padding:14px 22px}
@keyframes paper-unfold{from{opacity:0;clip-path:inset(0 0 100% 0);transform:rotateX(-8deg) translateY(-30px)}to{opacity:1;clip-path:inset(0);transform:rotateX(0) translateY(0)}}
@media(max-width:760px){.blog-intro{min-height:78vh;padding:110px 25px 60px}.paper-stage{padding:30px 22px 90px;grid-template-columns:1fr;gap:70px}.paper{width:min(225px,72vw);transform:translate(var(--scatter-x-mobile,0),var(--scatter-y-mobile,0)) rotate(var(--scatter-rotate,-1deg))}.paper:nth-child(odd){margin-left:5vw;justify-self:start}.paper:nth-child(even){margin-right:4vw;justify-self:end}.paper.is-open{width:100%;margin-inline:0;justify-self:stretch;transform:none}.paper.is-open .paper-cover{min-height:125px}.paper-body{padding:40px 22px}.form-row{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}}


/* Area riservata e autenticazione */
.auth-panel{display:flex;min-height:100vh;align-items:center}.auth-card{width:min(560px,100%);padding:clamp(34px,5vw,64px);border:1px solid var(--line);background:rgb(24 12 7/82%);box-shadow:0 30px 90px rgb(0 0 0/28%);backdrop-filter:blur(16px)}.auth-card h1{font-size:clamp(52px,6.5vw,88px);line-height:.9}.auth-intro{margin:28px 0 34px;color:var(--soft);font-size:15px;line-height:1.65}.auth-form{display:grid;gap:20px}.auth-form label{display:grid;gap:8px;color:var(--soft);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.auth-form input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:0;outline:0;color:var(--cream);background:rgb(255 255 255/6%);font:16px "DM Sans",sans-serif}.auth-form input:focus{border-color:var(--amber);box-shadow:0 0 0 2px rgb(223 161 95/16%)}.auth-form button,.text-button{width:fit-content;padding:14px 20px;border:1px solid rgb(244 233 212/42%);background:rgb(23 14 10/72%);cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-form button:hover,.text-button:hover{color:var(--dark);background:var(--cream)}.auth-form button:disabled,.text-button:disabled{cursor:wait;opacity:.55}.auth-status{min-height:22px;margin:0;color:var(--amber);font-size:12px;line-height:1.5}.account-note{margin:0 0 18px;color:var(--soft);font-size:11px;letter-spacing:.04em}.account-note span{color:var(--cream)}.text-button{display:block;margin-bottom:18px}.auth-page [hidden],#protected-content[hidden],#access-check[hidden]{display:none!important}
@media(max-width:760px){.auth-panel{padding-top:95px}.auth-card{padding:35px 24px}.auth-card h1{font-size:clamp(50px,15vw,74px)}}
