/* Chiesa di Thelema — chiesacornelio.com */
:root{
  --notte:oklch(.12 .018 300);--abisso:oklch(.16 .035 302);--velo:oklch(.22 .06 305);--viola:oklch(.34 .13 305);
  --oro:oklch(.8 .1 82);--oro-scuro:oklch(.64 .08 75);--bordeaux:oklch(.42 .13 18);--pergamena:oklch(.93 .02 85);--cenere:oklch(.82 .018 295);
  --serif:"Cormorant Garamond","Garamond",Georgia,serif;--sans:"Jost","Futura",system-ui,sans-serif;
  --gutter:clamp(1.25rem,4vw,2.5rem);--prosa:65ch;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--notte);color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--notte);color:var(--pergamena);font-family:var(--sans);font-weight:400;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:300;line-height:1.1;color:var(--pergamena)}
em{font-style:italic;color:var(--oro)}
ol,ul,dl,dd,figure,blockquote{margin:0;padding:0;list-style:none}
::selection{background:oklch(.4 .13 18/.7);color:var(--pergamena)}
:focus-visible{outline:1px solid var(--oro);outline-offset:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--oro);color:var(--notte);padding:.6rem 1rem;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;transition:top .3s}
.salta:focus{top:1rem}

/* Cielo, vignetta e grana */
.cielo{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,oklch(.24 .08 305/.55),transparent 60%),radial-gradient(ellipse at 50% 120%,oklch(.25 .09 18/.35),transparent 55%)}
.cielo i{position:absolute;width:1px;height:1px;border-radius:50%;background:var(--pergamena);animation:tremolio 6s ease-in-out infinite}
.cielo i.g{width:2px;height:2px}
.vignetta{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 30%,transparent 55%,oklch(.08 .02 300/.75) 100%)}
.grana{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.barra{position:fixed;inset:0 0 auto;height:2px;z-index:70;pointer-events:none}
.barra span{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--bordeaux),var(--oro));box-shadow:0 0 10px oklch(.8 .1 82/.7)}

/* Testata */
.testata{position:fixed;inset:0 0 auto;z-index:40;transition:background .8s,border-color .8s,backdrop-filter .8s;border-bottom:1px solid transparent}
.testata.scorsa,.menu-aperto .testata{background:oklch(.12 .018 300/.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:oklch(.64 .08 75/.15)}
.testata nav{max-width:80rem;margin:0 auto;height:4.75rem;padding:0 var(--gutter);display:flex;align-items:center;gap:1.5rem}
.marchio{display:flex;align-items:center;gap:.8rem;margin-right:auto}
.marchio img{width:42px;height:42px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px oklch(.64 .08 75/.45),0 0 24px -6px oklch(.8 .1 82/.5);transition:transform 1s}
.marchio:hover img{transform:rotate(12deg)}
.marchio b{display:block;font:400 1.15rem/1 var(--serif);letter-spacing:.35em;text-transform:uppercase;color:var(--pergamena)}
.marchio small{display:block;margin-top:.4rem;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--oro-scuro)}
.voci{display:none;gap:clamp(1.1rem,2vw,2.1rem)}
.voci a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cenere);transition:color .6s;padding:.4rem 0;position:relative}
.voci a:hover{color:var(--pergamena)}
.voci a[aria-current]{color:var(--oro)}
.voci a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,transparent,var(--oro),transparent)}
.lingua{font-size:.68rem;letter-spacing:.25em;color:var(--oro-scuro);border:1px solid oklch(.64 .08 75/.4);padding:.45rem .6rem .4rem .75rem;transition:all .6s}
.lingua:hover{color:var(--notte);background:var(--oro);border-color:var(--oro)}
.burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-.6rem;background:none;border:0;color:var(--pergamena);cursor:pointer}
.burger span,.burger span::before,.burger span::after{display:block;width:24px;height:1px;background:currentColor;position:relative;transition:transform .5s,background .5s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-7px}.burger span::after{top:7px}
.menu-aperto .burger span{background:transparent}
.menu-aperto .burger span::before{transform:translateY(7px) rotate(45deg)}
.menu-aperto .burger span::after{transform:translateY(-7px) rotate(-45deg)}
.menu{position:fixed;inset:4.75rem 0 0;z-index:39;background:oklch(.12 .018 300/.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s;overflow-y:auto}
.menu-aperto .menu{opacity:1;visibility:visible}
.menu ol{padding:2.2rem var(--gutter) 3rem;max-width:40rem}
.menu a{display:flex;align-items:baseline;gap:1rem;padding:.55rem 0;font:300 clamp(1.7rem,7vw,2.2rem)/1.2 var(--serif);color:var(--pergamena)}
.menu a[aria-current]{color:var(--oro)}
.menu a span{width:2.2rem;flex:none;font:400 .7rem var(--sans);letter-spacing:.3em;color:var(--oro-scuro)}
.menu .lingua-m{margin-top:1.8rem;display:inline-block}
@media (min-width:1080px){.voci{display:flex}.burger,.menu{display:none}}

/* Struttura */
main{display:block}
.sez{padding:clamp(3.5rem,8vw,6rem) var(--gutter)}
.sez.stretta{padding-top:0}
.fascia{position:relative;overflow:hidden;background:oklch(.16 .035 302/.55)}
.alone{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;animation:respiro 9s ease-in-out infinite}
.alone.viola{background:oklch(.34 .13 305/.28)}.alone.rosso{background:oklch(.42 .13 18/.22)}
.cont{position:relative;max-width:72rem;margin:0 auto}
.cont.medio{max-width:60rem}.cont.stretto{max-width:46rem}
.prosa{max-width:var(--prosa);margin:0 auto;color:var(--cenere);font-size:1.125rem;line-height:1.8}
.prosa p+p{margin-top:1.25rem}
.capolettera::first-letter{float:left;font:300 4.4rem/.82 var(--serif);color:var(--oro);margin:.35rem .7rem 0 0}
.centro{text-align:center}
.kicker{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--oro-scuro)}
.kicker.oro{color:var(--oro)}
.h1{font-size:clamp(2.9rem,8vw,5.2rem);margin-top:1.2rem}
.h2{font-size:clamp(2.3rem,5.5vw,3.9rem);margin-top:1rem}
.h3{font-size:clamp(1.6rem,3vw,2rem)}
.sotto{font:italic 400 clamp(1.25rem,2.6vw,1.6rem)/1.45 var(--serif);color:var(--cenere);max-width:38rem;margin:1.2rem auto 0}
.riverbero{text-shadow:0 0 18px oklch(.8 .1 82/.35),0 0 60px oklch(.34 .13 305/.6)}
.lead{max-width:40rem;margin:0 auto;font:italic 300 clamp(1.5rem,3vw,2rem)/1.5 var(--serif);color:var(--cenere);text-align:center}
.filo{border-color:oklch(.64 .08 75/.2)!important}

/* Intestazione di pagina */
.intest{position:relative;overflow:hidden;text-align:center;padding:clamp(8rem,16vw,11rem) var(--gutter) clamp(3rem,6vw,4.5rem)}
.intest .orbita{position:absolute;left:50%;top:55%;width:min(34rem,120vw);transform:translate(-50%,-50%);opacity:.35;pointer-events:none}
.intest>div{position:relative}

/* Orbita */
.orbita .r1{animation:orbita 60s linear infinite;transform-origin:200px 200px}
.orbita .r2{animation:orbita 90s linear infinite reverse;transform-origin:200px 200px}
.orbita .r3{animation:orbita 120s linear infinite;transform-origin:200px 200px}
.orbita .nucleo{animation:respiro 9s ease-in-out infinite;transform-origin:200px 200px}

/* Sigillo */
.sigillo{display:flex;align-items:center;justify-content:center;gap:1.2rem;color:var(--oro-scuro);margin:3rem auto}
.sigillo::before,.sigillo::after{content:"";height:1px;width:clamp(4rem,12vw,7rem);background:linear-gradient(90deg,transparent,var(--oro-scuro),transparent)}
.sigillo svg{width:10px;height:10px;animation:tremolio 6s ease-in-out infinite}

/* Pulsante */
.pulsante{display:inline-flex;align-items:center;gap:1rem;border:1px solid oklch(.8 .1 82/.5);padding:1rem 2.2rem;font-size:.72rem;letter-spacing:.38em;text-transform:uppercase;color:var(--oro);background:none;cursor:pointer;font-family:var(--sans);transition:all 1s;text-align:center}
.pulsante::before,.pulsante::after{content:"";height:1px;width:1.4rem;background:oklch(.8 .1 82/.6);transition:width 1s}
.pulsante:hover{border-color:var(--oro);background:oklch(.42 .13 18/.4);color:var(--pergamena);box-shadow:0 0 50px oklch(.8 .1 82/.25)}
.pulsante:hover::before,.pulsante:hover::after{width:2.4rem}
.pulsanti{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;justify-content:center}
@media (max-width:480px){.pulsante{padding:1rem 1.2rem;letter-spacing:.25em}.pulsante::before,.pulsante::after{width:.8rem}}

/* Ingresso (home) */
.ingresso{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6rem var(--gutter) 7rem;text-align:center}
.ingresso picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.ingresso .v1{position:absolute;inset:0;background:linear-gradient(180deg,oklch(.12 .018 300/.7),oklch(.12 .018 300/.25) 45%,var(--notte))}
.ingresso .v2{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 0,oklch(.12 .018 300/.85) 70%)}
.ingresso .alone{width:30rem;height:30rem;left:50%;top:50%;margin:-15rem 0 0 -15rem}
.ingresso .orbita{position:absolute;left:50%;top:50%;width:min(46rem,140vw);transform:translate(-50%,-50%);opacity:.55;pointer-events:none}
.ingresso>div.testo{position:relative}
.ingresso .sig{width:88px;height:88px;margin:0 auto 1.6rem;border-radius:50%;box-shadow:0 0 0 1px oklch(.64 .08 75/.45),0 0 60px -10px oklch(.8 .1 82/.5)}
.titolo-grande{font-size:clamp(3.4rem,13vw,8.6rem);line-height:.95;margin-top:1.4rem}
.titolo-grande span{display:block;font-style:italic;color:var(--oro)}
.motto{margin-top:1.8rem;font:italic 400 clamp(1.25rem,2.8vw,1.7rem)/1.4 var(--serif);color:var(--cenere);letter-spacing:.02em}
.discendi{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--oro-scuro);font-size:.6rem;letter-spacing:.5em;text-transform:uppercase}
.discendi::after{content:"";width:1px;height:3.5rem;background:linear-gradient(var(--oro-scuro),transparent);animation:tremolio 6s ease-in-out infinite}

/* Citazione madre */
.madre{max-width:56rem;margin:0 auto;text-align:center}
.madre blockquote{font:italic 300 clamp(1.9rem,4.6vw,3.2rem)/1.3 var(--serif);color:var(--pergamena)}
.madre blockquote span{display:block}
.madre blockquote span:last-child{margin-top:1rem;color:var(--oro)}
.madre figcaption{margin-top:2rem}
.firma{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--oro-scuro)}

/* Indice */
.indice{max-width:48rem;margin:0 auto;border-top:1px solid;border-bottom:1px solid;border-color:oklch(.64 .08 75/.22);padding:1.8rem 0}
.indice ol{display:grid;gap:.1rem 3rem;margin-top:1.2rem}
@media (min-width:640px){.indice ol{grid-template-columns:1fr 1fr}}
.indice a{display:flex;align-items:baseline;gap:1rem;padding:.45rem .3rem}
.indice a span{width:2rem;flex:none;font:italic 400 1rem var(--serif);color:var(--oro-scuro)}
.indice a b{font:400 1.25rem/1.3 var(--serif);color:var(--cenere);transition:color .6s}
.indice a:hover b{color:var(--oro)}

/* Capitoli del trattato */
.capitoli{max-width:72rem;margin:2.5rem auto 0}
.capitolo{border-top:1px solid oklch(.64 .08 75/.15);padding:clamp(3rem,6vw,4.5rem) 0;display:grid;gap:1.6rem}
@media (min-width:1024px){.capitolo{grid-template-columns:1fr 2fr;gap:3.5rem}.capitolo>header{position:sticky;top:7rem;align-self:start}}
.capitolo .num{font:italic 300 2.4rem/1 var(--serif);color:oklch(.8 .1 82/.7)}
.capitolo h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-top:.8rem;line-height:1.15}
.capitolo header p{margin-top:.8rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro-scuro)}
.capitolo .prosa{margin:0}
.commento{margin-top:2.2rem;border-left:1px solid var(--bordeaux);padding-left:1.5rem}
.commento .kicker{letter-spacing:.3em}
.commento blockquote,.commento .voce{margin-top:.8rem;font:italic 400 clamp(1.35rem,2.4vw,1.65rem)/1.4 var(--serif);color:var(--pergamena)}
.commento.oro .voce{color:var(--oro)}
.commento .prosa{margin-top:1rem}

/* Sentenze */
.sentenza{padding:clamp(2.5rem,5vw,4rem) 0}
.sentenza blockquote{max-width:56rem;margin:1.6rem auto 0;text-align:center;font:italic 300 clamp(1.9rem,4.6vw,3.2rem)/1.22 var(--serif);color:var(--pergamena)}
.ultima{font:italic 300 clamp(2.6rem,7vw,4.6rem)/1.15 var(--serif);color:var(--oro);text-align:center;animation:spegnersi 12s ease-in-out infinite}
.ultima+.kicker{display:block;text-align:center;margin-top:1.8rem;opacity:.7}
.ore{display:grid;gap:1px;margin-top:2.5rem;border:1px solid oklch(.64 .08 75/.2);background:oklch(.64 .08 75/.2)}
@media (min-width:720px){.ore{grid-template-columns:1fr 1fr}}
.ore li{background:oklch(.12 .018 300/.92);padding:clamp(1.5rem,3vw,2.2rem)}
.ore small{font:italic 400 .95rem var(--serif);color:var(--oro-scuro)}
.ore h3{font-size:1.9rem;margin-top:.4rem}
.ore p{margin-top:.8rem;color:var(--cenere);line-height:1.75}
.riquadro{max-width:46rem;margin:0 auto;border-top:1px solid;border-bottom:1px solid;border-color:oklch(.64 .08 75/.22);padding:2.6rem 0}
.riquadro .prosa{margin-top:1.3rem}
.riquadro .prosa p:nth-child(2){font:italic 400 1.55rem/1.45 var(--serif);color:var(--pergamena)}

/* Tre voci */
.voce-cap{position:relative;overflow:hidden;padding:clamp(3.5rem,7vw,5.5rem) 0}
.voce-cap .orbita{position:absolute;right:-12rem;top:2rem;width:34rem;opacity:.14;pointer-events:none}
.versetti{position:relative;max-width:48rem;margin:2.6rem auto 0;border-top:1px solid;border-bottom:1px solid;border-color:oklch(.64 .08 75/.28);background:oklch(.16 .035 302/.45);padding:2.4rem clamp(1.1rem,4vw,2.6rem) 1.8rem;counter-reset:v}
.versetti>.kicker{position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);background:var(--notte);padding:0 1rem;white-space:nowrap;font-size:.62rem;letter-spacing:.32em}
.versetti li{display:grid;grid-template-columns:2.2rem 1fr;gap:.9rem;padding:.55rem 0;counter-increment:v}
.versetti li::before{content:counter(v);text-align:right;padding-top:.3rem;font:italic 400 1rem var(--serif);color:var(--oro-scuro)}
.versetti p{font:italic 400 clamp(1.25rem,2.4vw,1.5rem)/1.4 var(--serif);color:var(--pergamena)}
.versetti .lez{margin-top:1.2rem;text-align:center;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:oklch(.64 .08 75/.8)}

/* Maestro */
.studio-griglia{display:grid;gap:2.5rem;align-items:start}
@media (min-width:1024px){.studio-griglia{grid-template-columns:5fr 6fr;gap:4rem}.studio-griglia .foto{position:sticky;top:7rem}}
.foto{position:relative}
.foto::before{content:"";position:absolute;inset:-1.5rem;border-radius:50%;background:oklch(.42 .13 18/.25);filter:blur(48px);animation:respiro 9s ease-in-out infinite}
.foto figure{position:relative;overflow:hidden;border:1px solid oklch(.64 .08 75/.3)}
.foto img{width:100%;aspect-ratio:4/5;object-fit:cover;opacity:.92}
.foto figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,oklch(.12 .018 300/.75),transparent 55%)}
.foto figcaption{position:absolute;left:1.5rem;bottom:1.4rem;z-index:1;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--oro)}
.studio-griglia .prosa{margin:1.4rem 0 0}
.principi{max-width:56rem;margin:2.2rem auto 0;border-top:1px solid oklch(.64 .08 75/.2)}
.principi li{display:grid;gap:.5rem;padding:1.5rem 0;border-bottom:1px solid oklch(.64 .08 75/.2)}
@media (min-width:720px){.principi li{grid-template-columns:3rem 14rem 1fr;gap:1.5rem}}
.principi span{font:italic 400 1.25rem var(--serif);color:var(--oro-scuro)}
.principi h3{font-size:1.5rem;line-height:1.25}
.principi p{color:var(--cenere);line-height:1.75}
.citazione-finale{max-width:52rem;margin:0 auto;font:italic 300 clamp(1.9rem,4.4vw,3.1rem)/1.25 var(--serif);color:var(--oro);text-align:center}

/* Tempio */
.due-col{display:grid;gap:2rem}
@media (min-width:1024px){.due-col{grid-template-columns:1fr 2fr;gap:3.5rem}.due-col>header{position:sticky;top:7rem;align-self:start}}
.due-col header p{margin-top:1rem;color:var(--cenere);line-height:1.7}
.elenco{border-top:1px solid oklch(.64 .08 75/.2)}
.elenco li{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;padding:1.6rem 0;border-bottom:1px solid oklch(.64 .08 75/.2)}
.elenco span{font:italic 400 1.25rem var(--serif);color:var(--oro-scuro)}
.elenco h3{font-size:clamp(1.5rem,2.6vw,1.9rem)}
.elenco p{margin-top:.7rem;color:var(--cenere);font-size:1.1rem;line-height:1.8}
.nome{scroll-margin-top:6rem}
.sillabe{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;margin-top:1rem;font:300 clamp(2.5rem,7vw,4.6rem)/1.05 var(--serif);letter-spacing:.06em}
.sillabe i{font-style:normal;color:oklch(.64 .08 75/.7);margin:0 .35em}
.nome .epiteto{margin-top:.8rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro)}
.nome .prosa{margin-top:2rem}
.nome .detto{max-width:40rem;margin:2rem auto 0;text-align:center}
.nome .detto p{margin-top:.7rem;font:italic 400 clamp(1.4rem,2.8vw,1.85rem)/1.4 var(--serif);color:var(--oro)}
.partitura li{display:grid;gap:.6rem;align-items:center;padding:1.15rem 0}
@media (min-width:720px){.partitura li{grid-template-columns:13rem 1fr 15rem;gap:2rem}}
.partitura h3{font-size:1.6rem}
.partitura .rigo{position:relative;height:1px;background:oklch(.64 .08 75/.25)}
.partitura .rigo i{position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--oro);box-shadow:0 0 12px var(--oro);animation:tremolio 6s ease-in-out infinite}
.partitura p{font-size:.95rem;color:var(--cenere);line-height:1.6}
.passi{position:relative;margin-top:2.6rem}
.passi::before{content:"";position:absolute;left:1.25rem;top:.5rem;bottom:.5rem;width:1px;background:linear-gradient(var(--oro),oklch(.64 .08 75/.3),transparent)}
.passi li{position:relative;display:grid;grid-template-columns:2.5rem 1fr;gap:1.4rem;padding:.9rem 0}
@media (min-width:720px){.passi::before{left:1.75rem}.passi li{grid-template-columns:3.5rem 1fr;gap:2.4rem}}
.passi span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid oklch(.8 .1 82/.5);background:var(--notte);font:italic 400 .95rem var(--serif);color:var(--oro)}
@media (min-width:720px){.passi span{width:3.5rem;height:3.5rem;font-size:1.05rem}}
.passi h3{font-size:clamp(1.5rem,2.6vw,1.9rem);padding-top:.35rem}
@media (min-width:720px){.passi h3{padding-top:.8rem}}
.passi p{margin-top:.5rem;color:var(--cenere);font-size:1.1rem;line-height:1.8;max-width:var(--prosa)}

/* Citazioni */
.scrigno{position:relative;max-width:56rem;margin:0 auto;border:1px solid oklch(.64 .08 75/.25);background:oklch(.16 .035 302/.5);padding:clamp(2rem,5vw,3.5rem) clamp(1.2rem,5vw,3.2rem)}
.scrigno::before{content:"";position:absolute;inset:.7rem;border:1px solid oklch(.64 .08 75/.1);pointer-events:none}
.scrigno ol{margin-top:1.6rem}
.scrigno li{display:grid;grid-template-columns:2.6rem 1fr;gap:.6rem;align-items:baseline;padding:.9rem 0;border-top:1px solid oklch(.64 .08 75/.15)}
.scrigno span{font:italic 400 1.1rem var(--serif);color:var(--oro-scuro)}
.scrigno p{font:italic 300 clamp(1.4rem,3vw,1.9rem)/1.35 var(--serif);color:var(--oro)}
.scrigno small{display:block;margin-top:.35rem;font:400 .62rem var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--oro-scuro)}
.rivelazioni{max-width:64rem;margin:2.6rem auto 0;display:grid;gap:clamp(2.5rem,5vw,3.5rem)}
.rivelazioni li{display:grid;gap:.8rem}
@media (min-width:640px){.rivelazioni li{grid-template-columns:4.5rem 1fr;gap:2rem}}
@media (min-width:1024px){.rivelazioni li{width:86%}.rivelazioni li:nth-child(even){margin-left:auto}}
.rivelazioni .n{font:italic 300 2.4rem/1 var(--serif);color:oklch(.8 .1 82/.6)}
@media (min-width:640px){.rivelazioni .n{text-align:right}.rivelazioni figure{border-left:1px solid oklch(.64 .08 75/.2);padding-left:2rem}}
.rivelazioni blockquote{font:italic 300 clamp(1.7rem,3.6vw,2.4rem)/1.3 var(--serif);color:var(--pergamena)}
.rivelazioni figcaption{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline}
.rivelazioni figcaption .firma{font-size:.62rem;letter-spacing:.28em}
.rivelazioni figcaption em{font:400 .95rem var(--sans);color:var(--cenere);font-style:normal}
.rivelazioni .prosa{margin:.9rem 0 0}
.glossario{border-top:1px solid oklch(.64 .08 75/.2);margin-top:2.5rem}
.glossario>div{display:grid;gap:.8rem;padding:1.8rem 0;border-bottom:1px solid oklch(.64 .08 75/.2)}
@media (min-width:860px){.glossario>div{grid-template-columns:14rem 1fr;gap:2.5rem}}
.glossario dt b{display:block;font:300 2.4rem/1.1 var(--serif)}
.glossario dt small{display:block;margin-top:.5rem;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--oro)}
.glossario dd{color:var(--cenere);font-size:1.1rem;line-height:1.8}
.glossario dd .voce{margin-top:.8rem;font:italic 400 1.35rem/1.45 var(--serif);color:var(--pergamena)}
.glossario dd a{display:inline-block;margin-top:.9rem;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--oro-scuro);transition:color .6s}
.glossario dd a:hover{color:var(--oro)}

/* Soglie (home) */
.soglie{max-width:56rem;margin:0 auto;border-top:1px solid oklch(.64 .08 75/.2)}
.soglie a{display:flex;align-items:baseline;gap:clamp(1rem,4vw,2.5rem);padding:1.2rem .4rem;border-bottom:1px solid oklch(.64 .08 75/.2);transition:background .7s}
.soglie a:hover{background:oklch(.22 .06 305/.3)}
.soglie span{width:2.4rem;flex:none;font:italic 400 1.1rem var(--serif);color:var(--oro-scuro)}
.soglie b{font:300 clamp(1.6rem,4vw,2.4rem)/1.2 var(--serif);color:var(--pergamena);transition:transform 1s,color 1s}
.soglie a:hover b{transform:translateX(.5rem);color:var(--oro)}
.soglie small{margin-left:auto;text-align:right;font-size:.9rem;color:var(--cenere);display:none}
@media (min-width:860px){.soglie small{display:block}}

/* Video */
.facciata{position:relative;max-width:58rem;margin:0 auto;border:1px solid oklch(.64 .08 75/.28);background:oklch(.16 .035 302/.5);padding:.8rem}
.facciata .schermo{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--notte)}
.facciata img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity 1s,transform 2s}
.facciata button{position:absolute;inset:0;width:100%;border:0;background:radial-gradient(circle,oklch(.12 .018 300/.2),oklch(.12 .018 300/.75));cursor:pointer;color:var(--pergamena);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;font:400 .72rem var(--sans);letter-spacing:.32em;text-transform:uppercase}
.facciata button svg{width:4.6rem;height:4.6rem;transition:transform 1s}
.facciata button:hover svg{transform:scale(1.08)}
.facciata:hover img{opacity:.7;transform:scale(1.03)}
.facciata iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.facciata p{padding:1rem .5rem .3rem;text-align:center;font-size:.85rem;color:var(--cenere)}
.canale{display:inline-flex;align-items:center;gap:.7rem}
.canale svg{width:1rem;height:1rem}

/* Contatti */
.contatti{display:grid;gap:3rem}
@media (min-width:1024px){.contatti{grid-template-columns:2fr 3fr;gap:4rem}}
.contatti .prosa{margin:1.2rem 0 0}
.recapiti{margin-top:2rem;border-top:1px solid oklch(.64 .08 75/.2)}
.recapiti div{padding:1rem 0;border-bottom:1px solid oklch(.64 .08 75/.2)}
.recapiti dt{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro-scuro)}
.recapiti dd{margin-top:.4rem;font:400 clamp(1.25rem,2.4vw,1.5rem)/1.3 var(--serif);word-break:break-word}
.recapiti a:hover{color:var(--oro)}
.modulo{border:1px solid oklch(.64 .08 75/.2);background:oklch(.16 .035 302/.5);padding:clamp(1.5rem,4vw,2.6rem)}
.modulo form{display:grid;gap:2.2rem;margin-top:1.6rem}
.modulo label{display:block;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro-scuro)}
.modulo input,.modulo textarea{width:100%;margin-top:.3rem;border:0;border-bottom:1px solid oklch(.64 .08 75/.3);background:transparent;padding:.75rem 0;font:400 1.125rem var(--sans);color:var(--pergamena);border-radius:0;transition:border-color .6s}
.modulo textarea{resize:vertical;min-height:8rem}
.modulo input::placeholder,.modulo textarea::placeholder{color:oklch(.82 .018 295/.45)}
.modulo input:focus,.modulo textarea:focus{outline:none;border-color:var(--oro)}
.modulo .nota{font-size:.85rem;color:oklch(.82 .018 295/.75);line-height:1.6}
.nascosto{display:none}
.lettere{display:grid;gap:2rem 3.5rem;margin-top:2.6rem}
@media (min-width:760px){.lettere{grid-template-columns:1fr 1fr}}
.lettere dt{display:flex;gap:1rem;align-items:baseline}
.lettere dt span{font:italic 400 1.1rem var(--serif);color:var(--oro-scuro)}
.lettere dt b{font:300 1.65rem var(--serif)}
.lettere dd{margin-top:.6rem;color:var(--cenere);font-size:1.1rem;line-height:1.8}

/* Piè di pagina */
.piede{position:relative;border-top:1px solid oklch(.64 .08 75/.15);padding:3.5rem var(--gutter) 2rem;text-align:center}
.piede::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,oklch(.8 .1 82/.4),transparent)}
.piede .sig{width:104px;height:104px;margin:0 auto 1.8rem;border-radius:50%;box-shadow:0 0 0 1px oklch(.64 .08 75/.4),0 0 50px -12px oklch(.8 .1 82/.35)}
.piede .motto{margin:0;font-size:clamp(1.5rem,3.4vw,2rem);color:var(--pergamena)}
.piede .kicker{margin-top:1.2rem;letter-spacing:.35em}
.piede .sub{margin-top:.5rem;font-size:.85rem;letter-spacing:.12em;color:oklch(.82 .018 295/.8)}
.piede ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.8rem;margin-top:2rem}
.piede ul a{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cenere);transition:color .6s}
.piede ul a:hover,.piede .link a:hover{color:var(--oro)}
.piede .link{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 2rem;margin-top:1.6rem;font-size:.9rem;color:var(--cenere)}
.piede .link a{display:inline-flex;align-items:center;gap:.5rem;transition:color .6s}
.piede .link svg{width:1rem;height:1rem}
.piede .legale{max-width:56rem;margin:2rem auto 0;border-top:1px solid oklch(.64 .08 75/.1);padding-top:1.5rem;font-size:.75rem;letter-spacing:.1em;line-height:1.7;color:oklch(.82 .018 295/.7)}

/* Rivelazione progressiva (solo con JS) */
.js .rv{opacity:0;transform:translateY(12px);filter:blur(2px);transition:opacity 1s ease,transform 1s ease,filter 1s ease}
.js .rv.on{opacity:1;transform:none;filter:none}

@keyframes respiro{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}
@keyframes orbita{to{transform:rotate(360deg)}}
@keyframes tremolio{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes spegnersi{0%,15%{opacity:1;filter:blur(0);letter-spacing:.02em}70%,85%{opacity:.08;filter:blur(8px);letter-spacing:.14em}100%{opacity:1;filter:blur(0);letter-spacing:.02em}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;filter:none;transition:none}*,*::before,*::after{animation:none!important}}
@media print{.cielo,.vignetta,.grana,.barra,.testata,.menu,.piede ul,.facciata{display:none}body{background:#fff;color:#000}}
