/* teloscrivo - CSS unico del sito (tema scuro fisso).
   Palette ufficiale: Navy #072D59, Seal Blue #DBF2FC, Crimson Pink #FD6E88.
   Font: Instrument Serif (titoli, OFL, accenti ok), Poppins (testi), Roboto Condensed (etichette). */

@font-face{font-family:"Instrument Serif";src:url(assets/fonts/instrumentserif-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(assets/fonts/instrumentserif-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:Poppins;font-weight:300;src:url(assets/fonts/poppins-300.woff2) format("woff2");font-display:swap}
@font-face{font-family:Poppins;font-weight:400;src:url(assets/fonts/poppins-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:Poppins;font-weight:500;src:url(assets/fonts/poppins-500.woff2) format("woff2");font-display:swap}
@font-face{font-family:Poppins;font-weight:600;src:url(assets/fonts/poppins-600.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Roboto Condensed";font-weight:600 700;src:url(assets/fonts/robotocondensed-var.woff2) format("woff2");font-display:swap}

:root{
  --navy:#072D59;--seal:#DBF2FC;--pink:#FD6E88;
  --bg:var(--navy);--fg:var(--seal);
  --muted:color-mix(in srgb,var(--fg) 66%,var(--bg));
  --line:color-mix(in srgb,var(--fg) 18%,transparent);
  --soft:color-mix(in srgb,var(--fg) 8%,transparent);
  --dockline:color-mix(in srgb,var(--seal) 22%,transparent);
  --th:76px;
  --sx:38%;
}
@media (min-width:640px){:root{--th:84px}}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--navy);color:var(--fg);font-family:Poppins,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit}
a{color:inherit}
[hidden]{display:none!important}
/* niente parole orfane a fine riga: corpo = pretty, titoli = balance */
p,.ra b,.pl{text-wrap:pretty}
h1,h2,h3,.lt{text-wrap:balance}
ul{list-style:none;margin:0;padding:0}
:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:10px;background:var(--pink);color:var(--navy);font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* ── apertura della home: il terzo controllo della finestra la porta a schermo intero ── */
.opening{position:fixed;inset:0;z-index:40;display:grid;place-items:center;overflow:hidden;background:var(--navy);transition:opacity .3s}
.opening.leaving{opacity:0}
.opening:focus{outline:none}
.opening-window{position:relative;width:min(430px,calc(100vw - 44px));border:1px solid color-mix(in srgb,var(--seal) 42%,transparent);border-radius:17px;overflow:hidden;background:#183f6a;box-shadow:0 30px 90px #0006;animation:opening-in .7s .15s both}
.opening-bar{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid var(--line)}
.opening-bar i,.opening-max{width:11px;height:11px;border-radius:50%;flex:none}
.opening-bar i{background:var(--line)}
.opening-bar i:first-child{background:var(--pink)}
.opening-max{padding:0;border:0;background:#28c840;cursor:pointer}
.opening-max.pressed{background:#1da632;transform:scale(.85)}
.opening-content{padding:35px 30px 45px}
.opening-sign{font:400 clamp(2.3rem,8vw,3.6rem)/1.1 "Instrument Serif",Poppins,sans-serif;margin:0;clip-path:inset(0 100% 0 0);animation:opening-write .9s .8s both}
.opening-sign span{color:var(--pink);animation:opening-dot .5s 1.65s both}
.opening-sub{font:italic 400 clamp(1.2rem,4vw,1.55rem)/1.3 "Instrument Serif",Poppins,sans-serif;margin:14px 0 0;animation:opening-rise .55s 1.85s both}
.opening-pointer{position:absolute;top:10px;left:49px;width:21px;height:25px;pointer-events:none;filter:drop-shadow(1px 2px 2px var(--navy));animation:opening-cursor 1s 2.25s cubic-bezier(.25,.65,.2,1) both}
.opening.clicked .opening-pointer{animation:none;opacity:0}
.opening-skip{position:absolute;right:15px;bottom:15px;padding:10px 17px;border:1px solid color-mix(in srgb,var(--seal) 40%,transparent);border-radius:30px;background:transparent;color:var(--seal);font:inherit;font-size:.82rem;cursor:pointer;animation:opening-rise .7s 1.2s cubic-bezier(.2,.8,.2,1) both;transition:background .25s,border-color .25s,color .25s}
.opening-skip:hover{background:color-mix(in srgb,var(--seal) 14%,transparent);border-color:var(--seal)}
.opening-skip:active{transform:scale(.97)}
.opening.expanding .opening-window{width:100vw;height:100dvh;border-radius:0;transition:width 1s cubic-bezier(.2,.7,.1,1),height 1s cubic-bezier(.2,.7,.1,1),border-radius 1s}
.opening.expanding .opening-content,.opening.expanding .opening-pointer{opacity:0;transition:opacity .25s}
@keyframes opening-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes opening-write{to{clip-path:inset(0)}}
@keyframes opening-dot{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}
@keyframes opening-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes opening-cursor{from{opacity:0;transform:translate(110px,90px)}20%{opacity:1}75%{transform:translate(14px,6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}}

/* ── cielo: le tre tinte fuse. Il rosa si sposta in basso secondo la sezione (--sx) ── */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(38% 34% at 74% 22%,color-mix(in oklab,var(--seal) 15%,transparent),transparent 72%),
  radial-gradient(70% 55% at 78% 26%,color-mix(in oklab,var(--pink) 22%,transparent),transparent 72%),
  radial-gradient(90% 40% at var(--sx) 118%,color-mix(in oklab,var(--pink) 20%,transparent),transparent 72%),
  linear-gradient(180deg,var(--navy) 0%,color-mix(in oklab,var(--navy) 90%,var(--pink)) 100%)}
.sky::after{content:"";position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body[data-cat="pensieri"]{--sx:12%}body[data-cat="poesie"]{--sx:31%}body[data-cat="citazioni"]{--sx:50%}body[data-cat="racconti"]{--sx:69%}body[data-cat="canzoni"]{--sx:88%}

/* ── intestazione ── */
.tbar{position:fixed;top:0;left:0;right:0;height:var(--th);padding:10px 18px 0;display:flex;align-items:center;justify-content:space-between;z-index:10;background:linear-gradient(180deg,var(--navy) 58%,transparent)}
.brand{display:flex;align-items:center;gap:9px;color:var(--fg);text-decoration:none;min-height:44px}
.brand img{height:34px;width:auto;display:block}
.cap{font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (min-width:640px){.tbar{padding:0 36px}}

/* ── struttura pagina ── */
.page{position:relative;z-index:1;padding:calc(var(--th) + 22px) 18px 40px}
.wrapin{max-width:820px;margin:0 auto}
@media (min-width:640px){.page{padding:calc(var(--th) + 36px) 36px 64px}}
.dot{width:.3em;height:.3em;border-radius:50%;background:var(--pink);display:inline-block}

/* ── hero ── */
.hero{display:grid;gap:34px}
.hero-h{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:clamp(3rem,17vw,5.6rem);line-height:1;margin:0;display:flex;align-items:baseline;gap:.06em;text-shadow:0 0 70px color-mix(in oklab,var(--pink) 28%,transparent)}
.hero-h .dot{width:.12em;height:.12em;flex:none;transform:translateY(-.02em)}
.hero-sub{font-family:"Instrument Serif",Poppins,sans-serif;font-style:italic;font-weight:400;font-size:clamp(1.5rem,5.6vw,2.1rem);line-height:1.15;color:color-mix(in srgb,var(--fg) 88%,transparent);margin:.9rem 0 0}
.hero-rule{margin:26px 0 0}
.hero-rule .cap{color:color-mix(in srgb,var(--fg) 78%,transparent)}
@media (min-width:640px){
  .hero{grid-template-columns:1fr 1.1fr;column-gap:64px;align-items:center}
  .hero-h{font-size:clamp(3.4rem,8vw,6.4rem)}
}

/* ── il blocco che si scrive da solo ── */
.cr{display:inline-block;width:.07em;height:.8em;margin:0 -.07em 0 .03em;background:var(--pink);vertical-align:-.04em;animation:blink 1s steps(1) infinite}
.gh{visibility:hidden}
@keyframes blink{50%{opacity:0}}
.last{padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 40px -22px color-mix(in srgb,var(--navy) 55%,transparent)}
.wbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;height:40px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--soft)}
.wd{display:flex;gap:6px}.wd i{width:10px;height:10px;border-radius:50%;background:var(--line)}.wd i:first-child{background:var(--pink)}
.lk{display:flex;align-items:center;gap:10px;margin:0;justify-content:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:2.5rem;line-height:1.05;margin:0 0 14px;text-wrap:balance}
/* card "Ultimo scritto": foto a tutta card, titolo e frase che si scrivono sopra, controlli in basso */
.lph{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(155deg,#8da6b4,#38577e 51%,#17294b)}
@media (min-width:640px){.lph{aspect-ratio:16/10}}
.lph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.lph-img.on{opacity:1}
.lph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#071c3bf5 0%,#071c3bcc 34%,#071c3b55 62%,transparent 82%)}
.lov{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 22px 12px}
.lov .lt{font-size:clamp(1.9rem,6vw,2.6rem);margin:0 0 10px;text-shadow:0 2px 18px #071c3b}
.lx{font-weight:300;font-size:1.05rem;line-height:1.6;margin:0 0 8px;text-shadow:0 1px 12px #071c3b}
.lov .lf{border:0;background:none;padding:0;margin:0}
.lov .pg button::before{background:color-mix(in srgb,var(--seal) 45%,transparent)}
.lov .pg button[aria-pressed="true"]::before{background:var(--pink)}
@media (prefers-reduced-motion:reduce){.lph-img{transition:none}}
.lk-cat{text-transform:none;letter-spacing:.04em;font:500 .8rem Poppins,sans-serif;color:var(--fg)}
.lf{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px 12px 18px;border-top:1px solid var(--line);background:var(--soft)}
.last-controls{display:flex;align-items:center;gap:8px}
.pause{width:32px;min-height:44px;padding:0;border:0;background:none;color:var(--fg);font:500 1rem Poppins,sans-serif;cursor:pointer}
.pause{display:grid;place-items:center}
.pause svg{width:16px;height:16px;fill:currentColor}
.pause:hover{color:var(--pink)}
.pg{display:flex;gap:6px;align-items:center}
.pg button{width:24px;height:32px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.pg button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .2s,transform .2s}
.pg button[aria-pressed="true"]::before{background:var(--pink);transform:scale(1.35)}
.pg:empty{display:none}

.cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border:0;border-radius:12px;background:var(--pink);color:var(--navy);font:600 .92rem Poppins,sans-serif;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px color-mix(in oklab,var(--pink) 45%,transparent)}
.cta svg{width:18px;height:18px;transition:transform .2s}
.cta:hover svg{transform:translateX(3px)}

/* ── sezioni numerate della home ── */
.sec{margin-top:60px}
.sh{display:flex;align-items:baseline;gap:14px;margin:0 0 20px}
.sn{font:600 .72rem "Roboto Condensed",sans-serif;letter-spacing:.16em;color:var(--pink)}
.st{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:clamp(1.9rem,8.4vw,2.7rem);line-height:1;margin:0}
.sh .cap:last-child{margin-left:auto}
@media (min-width:640px){.sec{margin-top:84px}}

/* 01 - le 4 tessere (stessa altezza, "Ultimo" su una riga sola con puntini) */
.pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pk{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:16px;min-height:176px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--bg) 45%,transparent);color:inherit;text-decoration:none;transition:transform .25s,border-color .25s,background .25s}
.pk:hover{transform:translateY(-4px);border-color:var(--pink);background:var(--soft)}
.pk .ic{margin-bottom:6px}
.pk b{font-weight:500;font-size:1.05rem;line-height:1.2}
.pk .pl{display:block;max-width:100%;font-size:.78rem;color:var(--muted);line-height:1.4}
.pk .pl i{font-style:normal;color:var(--fg)}
.pk .pu{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk .cap{margin-top:auto;color:var(--pink)}
@media (min-width:640px){.pick{grid-template-columns:repeat(4,1fr)}}

/* icone "tessere app" */
.ic{--g:var(--seal);--ac:var(--pink);position:relative;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--seal) 45%,transparent),0 5px 12px color-mix(in srgb,var(--navy) 28%,transparent)}
.ic svg{width:24px;height:24px;fill:none;stroke:var(--g);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ic .ac{stroke:var(--ac)}
.ic-citazioni{--g:var(--navy);--ac:var(--pink);background:linear-gradient(145deg,var(--seal),color-mix(in oklab,var(--seal) 60%,var(--pink)))}
.ic-pensieri{background:linear-gradient(145deg,color-mix(in oklab,var(--navy) 72%,var(--seal)),var(--navy))}
.ic-poesie{--g:var(--navy);--ac:var(--seal);background:linear-gradient(145deg,var(--pink),color-mix(in oklab,var(--pink) 68%,var(--seal)))}
.ic-racconti{--g:var(--navy);background:linear-gradient(145deg,color-mix(in oklab,var(--seal) 78%,var(--navy)),color-mix(in oklab,var(--seal) 44%,var(--navy)))}
.ic-canzoni{background:linear-gradient(145deg,var(--navy),color-mix(in oklab,var(--pink) 58%,var(--navy)))}

/* 03 - TikTok (compare solo se in genera.py c'e' il profilo) */
.tks{display:grid;gap:22px}
.tkintro p{color:color-mix(in srgb,var(--fg) 80%,transparent);font-weight:300;font-size:1.02rem;line-height:1.6;margin:0 0 18px;max-width:32ch}
.tkrow{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:6px 18px 14px;scrollbar-width:none}
.tkrow::-webkit-scrollbar{display:none}
.tk{flex:none;width:158px;aspect-ratio:9/16;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 14px 14px;border:1px solid var(--dockline);border-radius:24px;overflow:hidden;color:var(--seal);text-decoration:none;background:radial-gradient(90% 55% at 50% 105%,color-mix(in oklab,var(--pink) 60%,transparent),transparent 70%),linear-gradient(170deg,color-mix(in oklab,var(--navy) 70%,var(--seal)),var(--navy));transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.tk:hover{transform:translateY(-8px) rotate(-1.2deg)}
.tk b{font-weight:500;font-size:.84rem;line-height:1.3}
@media (min-width:640px){
  .tks{grid-template-columns:1fr 1.7fr;align-items:center;gap:40px}
  .tkrow{margin:0;padding:6px 0 10px;overflow:visible}
  .tk{flex:1 1 0;width:auto;max-width:210px}
}

/* ── home Scrivania: finestre e anteprima ── */
body:has(.desk-shelf) .wrapin{max-width:1180px}
body:has(.desk-shelf) .hero{margin-bottom:68px}
.desk-window{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#123862}
.desk-bar{display:flex;align-items:center;gap:6px;min-height:39px;padding:7px 15px;border-bottom:1px solid var(--line);background:#ffffff0a}
.desk-bar i{width:9px;height:9px;flex:none;background:var(--line);border-radius:50%}
.desk-bar i:first-child{background:var(--pink)}
.desk-bar span{margin:auto;color:var(--muted);font:600 .72rem 'Roboto Condensed',sans-serif}
.desk-section h2,.desk-videos h2{font:400 clamp(2.4rem,6vw,3.5rem)/1.1 "Instrument Serif",Poppins,sans-serif;margin:0}
.desk-section>p{color:var(--muted);font-size:.88rem;margin:5px 0 20px}
.reader-links{display:flex;gap:8px;flex-wrap:wrap}
.reader-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:.82rem}
.reader-links a:hover{border-color:var(--pink)}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.count{color:var(--muted)}
.sec-n{margin:18px 0 22px}
/* griglia: 1 colonna sul telefono, 2 su tablet, 3 su desktop */
.desk-shelf{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.desk-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(min-width:1000px){.desk-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.desk-window{min-width:0;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
@media(hover:hover){.desk-window:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pink) 55%,var(--line));box-shadow:0 14px 34px #0004}}
.desk-window>a{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.desk-window a:hover .desk-title{color:var(--pink)}
.desk-window a:focus-visible{outline:2px solid var(--pink);outline-offset:-3px}
.desk-photo,.rphoto{--ph:linear-gradient(155deg,#8da6b4,#38577e 51%,#17294b);display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--ph)}
[data-cat="poesie"] .desk-photo,body[data-cat="poesie"] .rphoto{--ph:linear-gradient(135deg,#ae8aa3,#5b4b78 55%,#132c51)}
[data-cat="racconti"] .desk-photo,body[data-cat="racconti"] .rphoto{--ph:linear-gradient(140deg,#748895,#2a4765 50%,#101a3e)}
.desk-photo::before,.rphoto::before{content:'';position:absolute;inset:20% -30%;background:radial-gradient(ellipse at 70% 20%,#dbf2fc66,transparent 35%),linear-gradient(140deg,transparent 40%,#071c3b88 41%,transparent 70%)}
.desk-info{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.desk-meta{color:var(--muted);font-size:.75rem}
.desk-meta b{color:var(--pink);font-weight:500;margin-right:10px}
.desk-meta .inf{color:var(--pink);font-size:1.25em;line-height:1;vertical-align:-.08em}
.desk-title{display:block;font:400 clamp(1.7rem,2.4vw,2.05rem)/1.1 "Instrument Serif",Poppins,sans-serif;margin:13px 0 9px}
.desk-excerpt{font-size:.84rem;line-height:1.6;color:var(--muted)}
.desk-more{font-size:.76rem;margin-top:auto;padding-top:19px;display:flex;align-items:center;gap:7px}
.desk-more .arr{display:inline-flex;font-style:normal;transition:transform .3s cubic-bezier(.2,.8,.2,1),color .2s}
.desk-more .arr svg{width:17px;height:17px}
.desk-more .t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .3s cubic-bezier(.2,.8,.2,1)}
/* freccia verso destra (si apre una pagina, non un sito esterno): scivola avanti al passaggio e al tocco */
@media(hover:hover){.desk-window a:hover .desk-more .t{background-size:100% 1px}.desk-window a:hover .desk-more .arr{transform:translateX(5px);color:var(--pink)}}
.desk-window a:active .desk-more .arr,.desk-window a:focus-visible .desk-more .arr{transform:translateX(5px);color:var(--pink)}
.desk-window a:active .desk-more .t,.desk-window a:focus-visible .desk-more .t{background-size:100% 1px}
@media(prefers-reduced-motion:reduce){.desk-more .arr{transition:color .2s}.desk-window a:hover .desk-more .arr,.desk-window a:active .desk-more .arr{transform:none}}
.desk-videos{width:100vw;margin:60px 0 0 calc(50% - 50vw);padding:35px max(18px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:#0a305b}
.desk-videos>p{font-size:.83rem;color:var(--muted)}
.desk-slider-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.desk-arrows{display:flex;gap:8px}
.desk-arrows button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--soft);cursor:pointer}
.desk-phones{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 2px 22px}
.desk-phone{flex:0 0 130px;aspect-ratio:9/17;scroll-snap-align:start;position:relative;border:5px solid #061b37;border-radius:30px;overflow:hidden;text-decoration:none;background:linear-gradient(150deg,#7897a8,#234469 55%,#813f69);box-shadow:0 12px 25px #0004}
.desk-phone::before{content:'';position:absolute;top:5px;left:34%;width:32%;height:12px;border-radius:0 0 10px 10px;background:#061b37}
.desk-screen{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:30px 14px 19px;color:var(--seal);font-size:.8rem}
.desk-screen span{font:400 1.2rem/1.1 "Instrument Serif",Poppins,sans-serif}
.desk-screen small{display:block;margin-top:10px;color:var(--pink);font:400 .68rem Poppins,sans-serif}
@media(max-width:560px){.desk-videos h2{font-size:2.4rem}}

/* ── pagine sezione ── */
.phead{margin:0 0 8px}
.phead h1{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:clamp(3rem,15vw,5rem);line-height:1;margin:0}
.phead p{margin:14px 0 0;max-width:36ch;font-weight:300;font-size:1.05rem;color:color-mix(in srgb,var(--fg) 82%,transparent)}
.phead .cap{display:block;margin:0 0 14px;color:var(--pink)}

/* ── piede ── */
.foot{margin-top:72px;padding:22px 0 8px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
.foot-soc{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;color:var(--fg);text-decoration:none;font-size:.78rem;transition:color .2s}
.foot-soc svg{width:18px;height:18px;flex:none}
.foot-soc:hover{color:var(--pink)}
.foot .lab,.foot .arr{display:none}
/* mobile, "colophon": riga 1 logo + tasto su tondo, poi una riga larga per contatto, in fondo (c) */
.foot .wm2{order:1;margin-right:auto}
.foot .up{order:2;width:48px;height:48px;padding:0;justify-content:center;border:1px solid var(--line);border-radius:50%;transition:border-color .2s,color .2s}
.foot .up:hover{border-color:var(--pink);color:var(--pink)}
.foot .upt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot .up svg{width:18px;height:18px}
.foot-soc{order:3;flex:1 0 100%;gap:12px;min-height:58px;padding:0;border-top:1px solid var(--line)}
.foot-soc:first-of-type{margin-top:16px}
.foot-soc .lab{display:inline;width:78px;font:600 .66rem "Roboto Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.foot-soc .v{flex:1;font-size:.9rem}
.foot-soc .arr{display:block;width:14px;height:14px;opacity:.6}
.foot .cp{order:4;flex:1 0 100%;margin-top:12px;font-size:.72rem;opacity:.8}
/* desktop: a sinistra logo + (c), a destra Instagram, mail e Torna su in una riga */
@media (min-width:640px){.foot{justify-content:space-between;gap:12px 28px}.foot .wm2{margin-right:0}.foot .cp{order:1;flex:0 0 auto;margin-top:0;font-size:.78rem;opacity:1}.foot-soc{order:2;flex:0 0 auto;min-height:44px;padding:0 6px;border-top:0;margin-left:auto;gap:8px}.foot-soc+.foot-soc{margin-left:0}.foot-soc:first-of-type{margin-top:0}.foot-soc .lab,.foot-soc .arr{display:none}.foot-soc .v{flex:none;font-size:.78rem}.foot .up{order:3;width:auto;height:auto;min-height:44px;padding:0 6px;border:0;border-radius:0;justify-content:flex-start}.foot .up:hover{color:var(--fg)}.foot .upt{position:static;width:auto;height:auto;overflow:visible;clip:auto}.foot .up svg{width:16px;height:16px}}
.wm2{font-family:"Instrument Serif",Poppins,sans-serif;font-size:1.3rem;color:var(--fg);display:inline-flex;align-items:baseline;gap:3px}
.up{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;font:600 .7rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);text-decoration:none}
.up svg{width:16px;height:16px;transition:transform .2s}
.up:hover svg{transform:translateY(-3px)}

/* ── lettura (pagina di uno scritto) ── */
body.reader{background:radial-gradient(70% 38% at 50% 0,color-mix(in oklab,var(--pink) 20%,transparent),transparent 72%),var(--navy)}
.swipe .rsc,.swipe .page{touch-action:pan-y pinch-zoom}
.rprog{position:fixed;left:0;top:0;height:2px;width:calc(var(--rp,0) * 100%);background:var(--pink);z-index:12}
.rbar{position:fixed;top:0;left:0;right:0;height:64px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:11;background:linear-gradient(180deg,var(--navy) 55%,transparent)}
.rbar .cap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:pointer;font:600 .72rem "Roboto Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);text-decoration:none;transition:background .2s,border-color .2s}
.rbtn:hover{border-color:var(--pink)}
.rbtn svg{width:16px;height:16px;transition:transform .2s}
.rbtn[data-rback]{padding-left:10px}
.rbtn[data-rback]:hover svg{transform:translateX(-3px)}
.rbtns{display:flex;gap:8px}
.rbtn[hidden]{display:none}
@media (max-width:639px){.rbtn-home span{display:none}.rbtn-home{padding:0 12px}}
/* chip categoria dentro lo scritto: apre tutti i testi di quella categoria */
.metarow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px}
.metarow .cap{margin:0;color:var(--muted)}
.reading-time{display:inline-flex;align-items:center;gap:14px;white-space:nowrap}
.tinf{font:italic 400 1.3rem "Instrument Serif",serif;color:var(--fg);white-space:nowrap}
.tinf .tw{color:var(--muted)}
.tinf .inf{font-style:normal;font-size:1.36em;line-height:1;color:var(--pink);vertical-align:-.1em}
.catchip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border:1px solid color-mix(in srgb,var(--pink) 55%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--pink) 12%,transparent);color:var(--fg);font-size:.82rem;text-decoration:none;transition:background .2s,color .2s,transform .15s}
.catchip:hover{background:var(--pink);color:var(--navy)}
.catchip:active{transform:scale(.97)}
.catchip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.catchip .ac{stroke:var(--pink);transition:stroke .2s}
.catchip:hover .ac{stroke:var(--navy)}
.rphoto{aspect-ratio:16/10;border:0;border-radius:0;margin:0}
/* foto filtrata (duotono blu, fatta da genera.py): riempie il riquadro 16:10; nelle schede il ritaglio segue il riquadro */
.desk-photo img,.rphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.desk-photo.has-img::before,.rphoto.has-img::before{display:none}
/* testata Sfumata: la foto parte dal bordo, si scioglie nel fondo e il titolo sta sopra (con o senza foto) */
.rhero{position:relative}
.rphoto{-webkit-mask-image:linear-gradient(180deg,#000 52%,transparent 100%);mask-image:linear-gradient(180deg,#000 52%,transparent 100%)}
.rhero .rt{position:absolute;left:22px;right:22px;bottom:10px;z-index:2;text-shadow:0 2px 22px color-mix(in srgb,var(--navy) 80%,transparent)}
.rsc{position:relative;z-index:1;padding:64px 22px 90px}
.rart{max-width:36rem;margin:0 auto}
/* testata a blocco unico: foto, data e titolo stanno nella stessa scheda e il testo parte subito sotto */
.rhead{margin:0 -22px 14px}
.rcard-b{padding:6px 22px 0}
.rt{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:clamp(2.2rem,11vw,2.8rem);line-height:1;margin:0;text-wrap:balance}
.cue{display:flex;align-items:center;gap:10px;margin:44px 0 0;font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:opacity .3s}
.cue svg{width:18px;height:18px;animation:bob 1.6s ease-in-out infinite;color:var(--pink)}
@keyframes bob{50%{transform:translateY(5px)}}
.cue.off{opacity:0}
.rbody{font-weight:300;font-size:clamp(1.22rem,5.2vw,1.5rem);line-height:1.85;padding:10px 0 56px}
.rbody p{margin:0 0 1.4em}
.gap{display:block;height:1.5em}
/* Nota editoriale: stessa gerarchia per citazione e canzone, senza scheda */
.origin{margin:2em 0 0;padding-top:18px;border-top:1px solid var(--line);line-height:1.4}
.origin>small{display:block;margin-bottom:12px;color:var(--muted);font:400 .75rem/1.4 Poppins,sans-serif}
.cita{margin:0}
.cita>span{display:block;font:italic 400 1.5rem/1.18 "Instrument Serif",serif}
.cita cite{display:block;color:var(--muted);font:400 .74rem/1.6 Poppins,sans-serif;font-style:normal}
.song-origin>strong{display:block;font:400 1.5rem/1.2 "Instrument Serif",serif}
.song-origin>div{color:var(--muted);font:400 .78rem/1.6 Poppins,sans-serif}
.song-origin cite{font-style:normal}
.song-origin a{display:inline-flex;align-items:center;min-height:44px;color:var(--fg);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:5px}
.song-origin a:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.poema{margin-top:2.2em;padding-top:1.8em;border-top:1px solid var(--line)}
.u.l{display:block}
/* il testo e' SEMPRE nel documento (SEO, no-JS): si nasconde solo se il JS e' attivo */
.js .u{opacity:0;transition:opacity .7s ease,transform .7s ease}
.js .u.l,.js p.u{transform:translateY(12px)}
.js .u.on{opacity:1;transform:none}
.rend{border-top:1px solid var(--line);padding-top:26px}
.js .rend{opacity:0;transform:translateY(14px);transition:opacity .7s,transform .7s}
.js .rend.on{opacity:1;transform:none}
.rend .cap{display:block;margin:0 0 12px}
.ra{display:grid;gap:2px;width:100%;padding:14px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:background .2s}
.ra:hover{background:var(--soft)}
.ra b{font-weight:500;font-size:1.02rem}
.ra small{color:var(--muted);font-size:.8rem;font-weight:300}
.rend .cta{margin-top:22px}
.sh2{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.reader-links{margin-top:30px}
@media (min-width:640px){.rbar{padding:0 28px}.rsc{padding:64px 36px 120px}}

/* ── avviso (condividi) ── */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:30;max-width:calc(100vw - 32px);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:.82rem;transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ── 404 ── */
.nf{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:18px}
.nf h1{font-family:"Instrument Serif",Poppins,sans-serif;font-weight:400;font-size:clamp(3rem,15vw,5rem);line-height:1;margin:0}
.nf p{margin:0;max-width:34ch;font-weight:300;font-size:1.05rem}

/* ── passaggio tra le pagine: dissolvenza semplice (View Transitions, dove il browser le supporta) ── */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}
/* dove non ci sono, il titolo sale da solo */
@supports not (view-transition-name:a){.rt{animation:trise .9s cubic-bezier(.2,.8,.2,1) .15s both}}
@keyframes trise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .u,.js .rend{opacity:1!important;transform:none!important}
  @view-transition{navigation:none}
}

/* ── fondo scritto: Leggi anche, Condividi, social ── */
.rcards{display:grid;gap:14px}
.rcard{display:grid;grid-template-columns:104px 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--bg) 55%,transparent);transition:border-color .2s,transform .2s}
.rcard:hover{border-color:var(--pink);transform:translateY(-2px)}
.rcard .desk-photo{aspect-ratio:auto;height:100%;min-height:128px}
.rcb{display:grid;gap:6px;padding:14px 16px;align-content:start;min-width:0}
.rcm{display:flex;gap:10px;align-items:baseline;font:600 .66rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rcm b{color:var(--pink);font-weight:600}
.rct{font-family:"Instrument Serif",Poppins,sans-serif;font-size:1.55rem;line-height:1.05}
.rcx{font-weight:300;font-size:.86rem;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rcgo{display:inline-flex;align-items:center;gap:8px;font:600 .72rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:2px}
.rcgo svg{width:16px;height:16px;transition:transform .2s;color:var(--pink)}
.rcard:hover .rcgo svg{transform:translateX(4px)}
@media (min-width:640px){.rcards{grid-template-columns:1fr 1fr}.rcard{grid-template-columns:1fr}.rcard .desk-photo{height:auto;aspect-ratio:16/8;min-height:0}}
.sharebtn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid color-mix(in srgb,var(--pink) 60%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--pink) 12%,transparent);color:var(--fg);font:500 .9rem Poppins,sans-serif;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.sharebtn[hidden]{display:none}
.sharebtn svg{width:19px;height:19px;transition:transform .25s}
.sharebtn:hover{background:var(--pink);color:var(--navy)}
.sharebtn:hover svg{transform:translateY(-2px)}
.sharebtn:active{transform:scale(.97)}
.sharebtn.done{background:var(--pink);color:var(--navy)}
.soc{display:flex;gap:10px}
.soc-a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 14px;border:1px solid var(--line);border-radius:99px;color:var(--fg);text-decoration:none;font-size:.9rem;transition:border-color .2s,color .2s,transform .2s}
.soc-a svg{width:22px;height:22px}
.soc-a:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-2px)}

@media (min-width:700px){
  .rart{max-width:46rem}
  .rhead{margin:0 0 14px}
  .rphoto{border-radius:16px 16px 0 0}
  .rhero .rt{left:36px;right:36px;bottom:14px}
  .rcard-b{padding:6px 36px 0}
  .rt{font-size:3.6rem}
  .rbody{max-width:36rem;margin:0 auto}
}

/* ── fondo dello scritto: saluto, condividi/copia, leggi anche, firma ── */
.rend{border-top:0;padding-top:8px}
.rbye{padding:34px 0 6px}
.bye{width:max-content;max-width:100%;margin:0 0 0 auto;padding-right:16px;border-right:1px solid color-mix(in srgb,var(--pink) 48%,transparent);text-align:right;white-space:nowrap;font:300 .84rem/1.8 Poppins,sans-serif;color:var(--muted)}
.bye em{font:italic 1.1rem "Instrument Serif",serif;color:var(--seal)}
/* luna: stessa in hero e in fondo agli scritti, con un alone rosa che si accende una volta */
.moon{display:inline-block;width:.72em;height:.72em;margin-left:.2em;color:var(--pink);vertical-align:-.02em;transform:rotate(-12deg);filter:drop-shadow(0 0 .35em color-mix(in srgb,var(--pink) 55%,transparent));animation:moonin 1.2s cubic-bezier(.2,.8,.2,1) .5s both}
.hero-sub .moon{width:.62em;height:.62em;margin-left:.28em;vertical-align:.02em}
@keyframes moonin{from{opacity:0;transform:rotate(-40deg) scale(.6);filter:drop-shadow(0 0 0 transparent)}to{opacity:1;transform:rotate(-12deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.moon{animation:none}}
.bye-actions{display:grid;gap:12px;margin:26px auto 0;max-width:420px}
.bye-actions .sharebtn,.copybtn{justify-content:center;width:100%;min-height:54px;font-size:1rem}
.copybtn{display:inline-flex;align-items:center;gap:10px;padding:0 22px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--fg);font:500 .95rem Poppins,sans-serif;cursor:pointer;transition:border-color .2s,color .2s}
.copybtn[hidden]{display:none}
.copybtn svg{width:19px;height:19px}
.copybtn:hover{border-color:var(--pink);color:var(--pink)}
.copybtn.done{border-color:var(--pink);color:var(--pink)}
.rend .cap{margin:44px 0 12px;text-align:left}
.rcards:has(.rcard:only-child){grid-template-columns:1fr}
@media (min-width:640px){
  .bye-actions{grid-template-columns:1fr 1fr;max-width:460px}
  .rcards:has(.rcard:only-child) .rcard{grid-template-columns:minmax(220px,40%) 1fr}
  .rcards:has(.rcard:only-child) .rcard .desk-photo{height:100%;aspect-ratio:auto;min-height:170px}
}
.rsign{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}
.rsign .wm-find{font-size:1.3rem;white-space:nowrap}
.rsign .soc-a{min-height:44px;font-size:.85rem;padding:0 16px 0 12px;white-space:nowrap}

/* ── LIBRO: lettura tenue (direzione A "notte morbida", mockup 32). Tutto qui sotto vale solo con body.book ── */
body.book{--navy:#0E2240;--bg:#0E2240;--fg:#C9D6E4;--pink:#F08AA0;
  --muted:color-mix(in srgb,var(--fg) 62%,var(--bg));--line:color-mix(in srgb,var(--fg) 18%,transparent);--soft:color-mix(in srgb,var(--fg) 8%,transparent);
  background:#0E2240}
.book .sky{background:#0E2240}
.book .sky::after{opacity:.03}
.book .rphoto{aspect-ratio:16/6;max-height:260px;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 100%);mask-image:linear-gradient(180deg,#000 40%,transparent 100%)}
.book .rcard-b{padding:6px 22px 0}
.book .kick{font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.book .kick b{color:var(--pink);font-weight:600}
.book .rt{font-size:clamp(2.2rem,10vw,2.6rem);margin:0 0 6px}
.book .bmeta{font:italic 400 1.1rem "Instrument Serif",serif;color:var(--muted);margin:0 0 30px}
.book .rbody{font-size:1.22rem;line-height:1.95;padding:0 0 30px}
.book .rbody p{margin:0 0 1.35em;text-wrap:pretty}
.book .poema{margin:1.6em 0 0;padding-left:18px;border-left:2px solid var(--line);font-style:italic}
.book .rend{opacity:1!important;transform:none!important}  /* il JS di lettura non gira qui: il fondo e' sempre visibile */
/* indice del libro */
.chaps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.chact{font:400 2rem/1 "Instrument Serif",serif;margin:44px 0 12px;color:var(--pink)}
.chaps a{display:flex;align-items:center;gap:14px;padding:14px 4px;min-height:72px;border-bottom:1px solid var(--line);color:var(--fg);text-decoration:none;transition:background .2s}
.chaps a:hover{background:var(--soft)}
.chaps .cn{flex:0 0 3.4ch;font:400 1.7rem/1 "Instrument Serif",serif;color:var(--pink);text-align:right}
.chaps .cph{flex:0 0 72px;aspect-ratio:16/10;border-radius:8px;overflow:hidden;position:relative;background:linear-gradient(155deg,#5d7488,#1d3558)}
.chaps .cph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chaps .cb{display:flex;flex-direction:column;gap:2px;min-width:0}
.chaps .ct{font:400 1.45rem/1.1 "Instrument Serif",serif;text-wrap:balance}
.chaps .cm{font:600 .66rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (min-width:900px){.book .rbody{max-width:36rem;margin:0 auto}.book .rcard-b{padding:6px 36px 0}.book .rt{font-size:3rem}}

/* ---- home: riquadro del libro (mockup 34, direzione B: notte morbida + segnalibro) ---- */
.bk{margin-bottom:0}
.bkwin{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#123862;margin:0 0 20px}
.bkwin .bk-box{border:0;border-radius:0}
.more-row{display:flex;justify-content:center;margin:30px 0 0}
.more-btn{min-height:48px;padding:0 28px;border:1px solid color-mix(in srgb,var(--pink) 55%,transparent);border-radius:12px;background:none;color:var(--fg);font:600 .78rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}
.more-btn:hover{background:var(--soft);border-color:var(--pink)}
.bk-box{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--seal) 20%,transparent);border-radius:20px;background:color-mix(in srgb,#0E2240 88%,var(--pink) 4%);padding:26px 20px 20px}
.bk-box::before{content:"";position:absolute;top:-1px;right:24px;width:20px;height:40px;background:var(--pink);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.bk-kick{margin:0;padding-right:44px;min-height:30px}
.bk-kick b{color:var(--pink);font-weight:600}
.bk-ttl{margin:8px 0 0;font:400 clamp(2.4rem,6vw,3.5rem)/1.05 "Instrument Serif",serif;color:var(--seal)}
.bk-quarta{margin:14px 0 22px;max-width:40rem;font:300 .93rem/1.65 Poppins,sans-serif;color:color-mix(in srgb,var(--seal) 80%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bk-go{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;min-height:60px;padding:12px 16px 12px 14px;border-radius:14px;background:color-mix(in srgb,var(--seal) 7%,transparent);border:1px solid color-mix(in oklab,var(--pink) 30%,transparent);color:var(--seal);text-decoration:none;transition:border-color .2s}
.bk-go:hover{border-color:color-mix(in oklab,var(--pink) 60%,transparent)}
.bk-mark{width:12px;height:26px;background:color-mix(in oklab,var(--pink) 55%,transparent);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);transition:background .2s,transform .2s}
.bk-go:hover .bk-mark{background:var(--pink);transform:translateY(-2px)}
.bk-lbl{min-width:0;text-wrap:balance;font:400 1.3rem/1.2 "Instrument Serif",serif;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bk-k{color:var(--pink)}
.bk-t{color:var(--seal)}
.bk-min{font:600 .62rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.bk-arr{color:var(--pink);font-size:1.1rem;transition:transform .2s}
.bk-go:hover .bk-arr{transform:translateX(4px)}
.bk-bar{height:3px;margin:18px 2px 0;border-radius:3px;background:color-mix(in srgb,var(--seal) 16%,transparent);overflow:hidden}
.bk-bar i{display:block;height:100%;width:0;border-radius:3px;background:var(--pink);transition:width .4s}
.bk-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.bk-ghost{margin:0 2px;font:600 .62rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bk-all{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:600 .64rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--seal);text-decoration:none;white-space:nowrap}
.bk-all:hover{color:var(--pink)}
.bk [hidden]{display:none!important}
.bk-toc{display:none}
@media (min-width:900px){.bk-box{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:64px;align-items:center;padding:44px 54px 36px}.bk-quarta{display:block;font-size:1rem;margin-bottom:0;text-wrap:balance}
  .bk-go{min-height:76px;padding:14px 20px 14px 18px;gap:16px}.bk-mark{width:14px;height:32px}.bk-lbl{font-size:1.4rem}.bk-min{font-size:.68rem}
  .bk-foot{margin-top:12px}.bk-ghost{font-size:.68rem}
  .bk-toc{display:block;list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
  .bk-toc a{display:grid;grid-template-columns:2.6em 1fr auto;gap:12px;align-items:baseline;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--seal);text-decoration:none}
  .bk-n{font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.14em;color:var(--pink)}
  .bk-ct{font:400 1.3rem/1.2 "Instrument Serif",serif;min-width:0}
  .bk-cm{font:600 .62rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
  .bk-toc a:hover .bk-ct{color:var(--pink)}
  .bk-toc a:focus-visible{outline:2px solid var(--pink);outline-offset:2px;border-radius:6px}
}
@media (prefers-reduced-motion:reduce){.bk *{transition:none!important}}

/* navigazione tra le scene: due celle uguali (precedente / prossima); se ce n'e' una sola occupa tutta la riga */
.book .bnav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 0}
.book .bnav:empty{display:none}
.book .bnav>:only-child{grid-column:1/-1}
.book .bnav a{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:76px;padding:14px 46px 14px 18px;border:1px solid var(--line);border-radius:16px;color:var(--fg);text-decoration:none;transition:border-color .2s,background .2s}
.book .bnav a:hover{border-color:var(--pink);background:var(--soft)}
.book .bnav .pv{padding:14px 18px 14px 46px}
.book .bnav small{font:600 .64rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.book .bnav a>span{font:400 1.35rem/1.1 "Instrument Serif",serif;text-wrap:balance}
.book .bnav svg{position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--pink)}
.book .bnav .nx svg{right:16px}
.book .bnav .pv svg{left:16px}
.book .rbye{padding-top:22px}
@media (max-width:480px){.book .bnav{grid-template-columns:1fr}}

/* ── LIBRO: quarta di copertina sull'indice (slogan, corpo, chiusa) ── */
.book .quarta{max-width:34rem;margin:22px 0 24px}
.book .quarta p{max-width:none;margin:0 0 1em;font:300 1.02rem/1.8 Poppins,sans-serif;color:var(--fg);text-wrap:pretty}
.book .quarta .q-lead{font:400 1.7rem/1.15 "Instrument Serif",serif;color:var(--fg);margin-bottom:.8em}
.book .quarta .q-last{font:italic 400 1.35rem/1.3 "Instrument Serif",serif;color:var(--pink);margin-top:1.3em}

/* indice del libro: la chiusura sta nella colonna stretta, come in fondo alle poesie (niente secondo piede) */
.book .book-end{max-width:36rem;margin:56px auto 0}  /* stessa colonna del fondo degli altri scritti */
@media (min-width:700px){.book .book-end{max-width:46rem}}
.book .phead p:has(.cta){margin-bottom:24px}
