/* AMORE DI LUCE — Portale immersivo V4. Grafica editabile e responsiva, senza screenshot come pagina. */
:root{--night:#030b1b;--blue:#071934;--blue2:#102850;--light:#f1e9df;--silver:#cbd7e9;--gold:#d5b278;--goldhigh:#f8dba3;--goldhi:#f8dba3;--line:rgba(222,181,117,.34);--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Helvetica Neue',Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:78px}
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:clip}
body{margin:0;min-width:320px;max-width:100%;overflow-x:clip;background:var(--night);color:var(--light);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.dialog-active{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}button{cursor:pointer;color:inherit}
img{max-width:100%;display:block}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--goldhigh);outline-offset:4px}
button:disabled{opacity:.5}
[hidden]{display:none!important}
::selection{background:var(--gold);color:#071025}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:12px 18px;background:var(--goldhigh);color:#061022}.skip-link:focus{top:12px}
.page-progress{position:fixed;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#90beef,#f7ddac);box-shadow:0 0 14px var(--goldhigh);z-index:101;pointer-events:none}
.content-width{width:min(1360px,calc(100% - 104px));margin-inline:auto}
.eyebrow{font:600 clamp(10px,.86vw,12px)/1.6 var(--sans);letter-spacing:.32em;color:var(--goldhigh);text-transform:uppercase;margin:0 0 18px}
.section-title{font:400 clamp(53px,5.5vw,90px)/1.04 var(--serif);letter-spacing:.085em;color:#f9eedc;margin:0;text-shadow:0 5px 30px #02071466;font-variant:small-caps}
.section-title em,.display-title em,.closing h2 em{font-style:normal;color:var(--goldhigh)}
.section-count{font:500 12px/1.5 var(--sans);letter-spacing:.14em;color:var(--goldhigh);display:flex;align-items:center;gap:15px;margin:0 0 38px}.section-count span{font-size:10px;color:#d3dcf1;letter-spacing:.24em}.section-count::after{content:'';display:block;width:55px;height:1px;background:var(--line)}
.chapter-section{position:relative;isolation:isolate;border-top:1px solid var(--line)}
.chapter-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:80px}
.chapter-heading .section-count{margin-bottom:30px}
.heading-aside{color:#c3d4e7;font:italic clamp(17px,1.65vw,22px)/1.65 var(--serif);max-width:425px;align-self:end;margin:0 0 7px}
.btn{min-height:48px;display:inline-flex;gap:17px;align-items:center;justify-content:center;padding:15px 26px;border:1px solid var(--gold);font:600 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:transform .24s,box-shadow .24s,background .24s;color:var(--goldhigh);background:rgba(1,10,26,.7);text-align:center}
.btn-gold{background:linear-gradient(115deg,#e7c489,#f7e0ad 58%,#cba366);color:#081a30;box-shadow:0 3px 20px #d2a86f26}
.btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px #d5ad6b56}
.btn-outline:hover{background:rgba(219,170,103,.12)}
.text-link{border:0;border-bottom:1px solid var(--gold);color:var(--goldhigh);background:transparent;padding:10px 0 8px;letter-spacing:.16em;font:600 11px/1.4 var(--sans);display:inline-flex;gap:13px;align-items:center;text-align:left;transition:gap .25s,color .25s}
.text-link:hover{gap:22px;color:#fff3cb}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.visible{opacity:1;transform:none}
/* header */
.site-header{height:84px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(32px,calc((100vw - 1410px)/2));background:linear-gradient(#031024e8,#05152bc4);border-bottom:1px solid rgba(222,187,123,.30);backdrop-filter:blur(16px);transition:height .3s,background .3s}
.site-header.is-scrolled{height:70px;background:#051123f6;box-shadow:0 10px 50px #0007}
.brand{display:flex;gap:13px;align-items:center;flex:0 0 auto;white-space:nowrap;font:400 21px/.95 var(--serif);letter-spacing:.11em;color:#fff6df}.brand img{object-fit:contain;width:46px;height:46px;filter:drop-shadow(0 0 9px #dfb96955)}.brand small{display:block;font:600 8px/1.5 var(--sans);color:var(--gold);letter-spacing:.36em;margin-top:8px}
.main-nav{display:flex;gap:clamp(12px,1.8vw,28px);align-items:center;justify-content:center}.main-nav a{font:500 11px/1.4 var(--sans);letter-spacing:.045em;color:#edf2fdc7;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav a.is-active{color:var(--goldhigh)}
.header-entry{padding:12px 14px;border:1px solid var(--line);color:var(--goldhigh);font:600 10px/1 var(--sans);letter-spacing:.105em;white-space:nowrap}.header-entry:hover{background:#d0b27a22}.header-entry span{padding-left:12px}
.menu-toggle,.mobile-menu{display:none}
/* hero */
.hero{position:relative;min-height:900px;height:100svh;max-height:1180px;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:#06142e;text-align:center;padding:140px 24px 100px}
.hero-image,.hero-tint,.hero-glow,.hero-bottom-fade{position:absolute;inset:0;pointer-events:none}
.hero-image{background-image:url('assets/amore-di-luce-portale-cosmico.webp');background-size:cover;background-position:center 53%;transform:scale(1.06);animation:hero-breathe 28s ease-in-out infinite alternate;z-index:-4;filter:saturate(1.16) brightness(.76)}
.hero-city{position:absolute;right:-2%;bottom:13%;width:min(49vw,690px);height:auto;z-index:-1;object-fit:contain;opacity:.8;pointer-events:none;filter:saturate(1.18) brightness(.82);mask-image:radial-gradient(ellipse at 65% 53%,black 28%,rgba(0,0,0,.86) 50%,transparent 83%)}
.hero-tint{z-index:-3;background:radial-gradient(ellipse 46% 68% at 50% 48%,rgba(1,8,24,.8) 3%,rgba(2,14,34,.55) 61%,transparent 100%),linear-gradient(to bottom,#020a1ac9 0%,#04112c26 27%,#02132910 54%,#030b1cf6 100%)}
.hero-glow{z-index:-2;display:flex;align-items:center;justify-content:center;opacity:.55}
.orbital{position:absolute;border-radius:50%;width:clamp(490px,65vw,1120px);aspect-ratio:1;border:1px solid rgba(245,202,137,.36);box-shadow:0 0 32px #dbb4713e,inset 0 0 33px #c8a36617;mask-image:linear-gradient(to bottom,black 0%,transparent 75%);animation:orbit 72s linear infinite}.orbital::before,.orbital::after{content:"";position:absolute;inset:7%;border-radius:50%;border:1px dashed #f1ce8e62}.orbital::after{inset:22%;border-style:solid;border-color:#9fd8ef26}.orbital-b{width:clamp(370px,48vw,740px);transform:rotateX(63deg) rotate(-22deg);animation:orbit-reverse 92s linear infinite;border-color:#c6d5f58c}
.hero-side{position:absolute;top:29%;font:600 10px/1.9 var(--sans);color:#e4e4ec;letter-spacing:.26em;text-align:left;text-shadow:0 3px 18px #06132e}.hero-side:after{display:block;content:'';width:48px;height:1px;background:var(--gold);margin-top:19px}.hero-side-left{left:6%}.hero-side-right{right:6%}
.hero-content{position:relative;z-index:2;width:min(780px,100%);padding-top:34px}
.hero-eyebrow{font-size:12px;letter-spacing:.42em;text-shadow:0 0 22px #021124}
.hero h1{font:400 clamp(62px,7vw,108px)/.91 var(--serif);letter-spacing:.045em;color:#fff1cc;text-shadow:0 3px 1px #482c2c,0 0 35px #e5c391b1,0 8px 35px #031021;white-space:nowrap;margin:28px 0 18px}
.hero h1 em{font-size:.43em;font-style:normal;vertical-align:17%;letter-spacing:0}
.hero-tagline{font:400 clamp(30px,3.1vw,51px)/1.21 var(--serif);color:#f6f0e9;text-shadow:0 5px 18px #000a;margin:0 auto 25px}
.light-rule{width:80px;height:1px;display:block;margin:0 auto 23px;background:linear-gradient(90deg,transparent,var(--goldhigh),transparent);box-shadow:0 0 18px var(--goldhigh)}
.hero-intro{font:400 17px/1.65 var(--serif);color:#dee7f4;text-shadow:0 3px 14px #010817;margin:0 auto 26px}
.hero-button{min-width:210px}
.scroll-invitation{position:absolute;z-index:4;bottom:44px;left:50%;transform:translateX(-50%);font:600 10px/1.4 var(--sans);letter-spacing:.23em;color:var(--goldhigh);display:flex;align-items:center;gap:12px;white-space:nowrap}.scroll-trace{height:30px;width:1px;background:linear-gradient(transparent,var(--goldhigh));display:block;animation:scroll-pulse 2s infinite ease-in-out}
.hero-bottom-fade{z-index:-1;inset:auto 0 0;height:140px;background:linear-gradient(transparent,#030b1b)}
/* awakening */
.awakening{min-height:840px;padding:135px 0 110px;background:radial-gradient(ellipse 60% 62% at 52% 52%,#152b55ad,transparent 78%),url('assets/amore-di-luce-nebulosa.webp') center/cover no-repeat,#040f24;text-align:center;overflow:hidden}
.awakening::before{position:absolute;content:"";width:540px;aspect-ratio:1;border:1px solid #d7b88064;border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%);box-shadow:0 0 0 32px #b8a47b13,0 0 0 83px #b9beec0b,0 0 90px #c6b9e526;pointer-events:none;opacity:.75}
.awakening-inner{position:relative;z-index:1}.awakening .section-count{justify-content:center;margin-bottom:55px}.awakening .eyebrow{margin-bottom:24px}.display-title{font:400 clamp(48px,6vw,89px)/1.12 var(--serif);letter-spacing:.015em;margin:0 auto 30px;text-shadow:0 8px 25px #0009}
.awakening-copy{max-width:810px;color:#d5e0ec;font:400 clamp(17px,1.54vw,22px)/1.8 var(--serif);margin:0 auto 65px}
.three-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto}.three-principles>div{padding:20px 18px 10px;border-top:1px solid #d5b67f6c}.principle-symbol{color:var(--goldhigh);font:38px/1.2 var(--serif);display:block;margin:0 0 17px;text-shadow:0 0 25px #e5c17e88}.three-principles strong{font:600 11px/1.5 var(--sans);letter-spacing:.22em;color:#f9dfab}.three-principles p{color:#bfcfe2;font:italic 16px/1.55 var(--serif);margin:11px 0}.downward-mark{color:var(--gold);margin:40px auto 0;font:22px/1 var(--serif)}.downward-mark span{display:block;height:54px;width:1px;margin:12px auto 0;background:linear-gradient(var(--gold),transparent)}
/* saga */
.saga{min-height:1030px;padding:123px 0 138px;background:radial-gradient(ellipse 65% 58% at 50% 38%,#16316a88,transparent 82%),linear-gradient(#06132a,#020b20)}
.saga::after{content:"";position:absolute;inset:10% 0 0;z-index:-1;background:url('assets/amore-di-luce-nebulosa.webp') center/cover;opacity:.19;mask-image:linear-gradient(transparent 10%,black 45%,transparent 100%)}
.saga-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4.2vw,66px)}
.saga-book{min-width:0;text-align:center}.book-art{height:clamp(420px,39vw,550px);display:flex;justify-content:center;align-items:center;position:relative;isolation:isolate}.book-art::after{content:"";position:absolute;height:2px;width:76%;bottom:38px;left:12%;background:radial-gradient(ellipse,#ecd099 0%,transparent 65%);box-shadow:0 0 24px #b7b9eb85}
.book-halo{position:absolute;width:min(96%,385px);aspect-ratio:1;border:1px solid #dec49298;border-radius:50%;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 14px #bdc5dd13,0 0 0 35px #b8a67b12,0 0 65px #d1a56067;z-index:0}.book-halo::before{content:"";position:absolute;inset:12%;border:1px dashed #dfbb7f75;border-radius:50%;animation:spin 95s linear infinite}.book-halo::after{content:"✧";position:absolute;top:-26px;left:calc(50% - 8px);font:28px var(--serif);color:#fce8ba;text-shadow:0 0 14px #e0bc8d}.halo-blue{filter:drop-shadow(0 0 34px #458fe778)}.halo-green{filter:drop-shadow(0 0 34px #39dcbb60)}.halo-pink{filter:drop-shadow(0 0 34px #d780d17a)}
.book-cover{position:relative;z-index:2;display:block;width:min(59%,245px);background:transparent;border:0;padding:0;transform:perspective(700px) rotateY(-2deg);transition:transform .35s,filter .35s}.book-cover img{display:block;width:100%;height:auto;max-height:400px;object-fit:contain;border:1px solid rgba(246,211,149,.48);box-shadow:0 19px 30px #000b,0 0 30px #d5b67f78}
.book-cover:hover,.book-cover:focus-visible{transform:translateY(-12px) perspective(700px) rotateY(0);filter:brightness(1.09)}
.saga-book-copy{margin:5px auto 0;max-width:300px}.saga-book-copy .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:16px}.saga-book h3{font:400 clamp(27px,2.6vw,38px)/1.15 var(--serif);color:#f7ead5;margin:0 0 15px}.saga-book-copy>p:not(.eyebrow){font:italic 17px/1.55 var(--serif);color:#cbd7ea;margin:0 0 22px}
/* universe */
.universe{padding:135px 0 130px;min-height:1050px;background:linear-gradient(135deg,#040f22,#0c2451 55%,#050f23);overflow:hidden}.universe-sheen{position:absolute;inset:0;background:url('assets/amore-di-luce-nebulosa.webp') center/cover;opacity:.2;z-index:-1}
.universe-layout{display:grid;grid-template-columns:47% 53%;gap:25px;align-items:center;min-height:570px}.universe-copy{max-width:650px}.universe-copy .section-title{margin-bottom:38px}.big-lead{font:400 clamp(29px,3.7vw,54px)/1.18 var(--serif);color:#f6e4c3;margin:0 0 28px}.universe-copy>p:last-child{font:400 18px/1.9 var(--serif);color:#d3dced;max-width:575px}
.world-portal{height:min(42vw,620px);min-height:500px;position:relative;display:grid;place-items:center}.world-ring{position:absolute;width:96%;max-width:570px;aspect-ratio:1;border:1px solid #efcb8b80;border-radius:50%;box-shadow:0 0 0 23px #d7a46a14,0 0 0 58px #93c5dc0c,0 0 80px #e8c27e33;animation:orbit 100s linear infinite}.world-ring::before{content:"";position:absolute;inset:13%;border-radius:50%;border:1px dashed #c4bdbe90}.ring-two{width:76%;transform:rotate(41deg);animation:orbit-reverse 80s linear infinite;opacity:.65}.world-orb{width:min(72%,420px);aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative;z-index:2;box-shadow:0 0 100px #5bb4ec70,0 0 0 2px #dfcdafbb,0 0 0 20px #e6d0aa0f}.world-orb img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.35)}.world-light{position:absolute;width:1px;height:115%;left:50%;top:-8%;z-index:3;background:linear-gradient(transparent,#acd7ff9d,#f9dba8d9,#aecbffb0,transparent);box-shadow:0 0 30px 7px #a4c7ed65;pointer-events:none}.orbit-asterisk{position:absolute;right:8%;top:16%;color:var(--goldhigh);font-size:50px;text-shadow:0 0 23px var(--gold)}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:75px}.place{border-top:1px solid #e2c48982;padding:29px 8px 0 0}.place-number{font:30px/1 var(--serif);color:#e8c48d}.place h3{font:400 23px/1.3 var(--serif);letter-spacing:.12em;color:#f5e5c7;margin:24px 0 16px}.place p{font:15px/1.8 var(--sans);color:#c1d3e7;margin:0;max-width:370px}
/* portal interlude */
.portal-interlude{min-height:660px;padding:115px max(6vw,26px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 40%,#283c65,#060f23 74%);border-block:1px solid var(--line);isolation:isolate}
.portal-bg{position:absolute;inset:0;z-index:-1;background:url('assets/amore-di-luce-biblioteca-del-portale.webp') center/cover;filter:blur(26px) brightness(.45);transform:scale(1.15);opacity:.6}.portal-image{max-width:760px;justify-self:end;border:1px solid #f0d7a483;box-shadow:0 0 65px #b9a9da31;position:relative}.portal-image::before{content:"";position:absolute;inset:-19px;border:1px solid rgba(238,210,159,.27);pointer-events:none}.portal-image img{width:100%;aspect-ratio:1.4;object-fit:cover;object-position:60% 45%;filter:saturate(1.3)}.portal-words{max-width:580px}.portal-words blockquote{margin:0 0 38px;font:400 clamp(32px,3.6vw,56px)/1.2 var(--serif);color:#fff0d2}.thin-gold{display:block;width:100px;height:1px;background:var(--gold)}.portal-words p:last-child{font:italic 20px/1.65 var(--serif);color:#d0dcec;margin-top:28px}
/* works */
.works{padding:130px 0 155px;min-height:940px;background:radial-gradient(ellipse 65% 60% at 70% 50%,#2d2a685a,transparent),linear-gradient(140deg,#06172e,#020916)}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.work-card{display:grid;grid-template-columns:minmax(100px,47%) minmax(0,53%);gap:21px;align-items:center;min-height:465px;padding:25px 22px;border:1px solid #bd975c64;background:linear-gradient(125deg,#152849b0,#08142acc);box-shadow:inset 0 0 28px #accaff0a;transition:background .3s,transform .3s}.work-card:hover{transform:translateY(-8px);background:linear-gradient(125deg,#1f375c,#0a1834)}.work-cover{padding:0;border:0;background:none;display:block;position:relative;z-index:1;box-shadow:0 0 0 5px #d0ab7822,0 16px 28px #0008}.work-cover::before{content:"";position:absolute;inset:-21px;z-index:-1;border:1px solid #bdabec66;border-radius:50%;box-shadow:0 0 45px #d4a65d48;pointer-events:none}.work-cover img{width:100%;height:auto;aspect-ratio:.68;object-fit:cover;border:1px solid #e7c58e77}.work-copy .eyebrow{font-size:9px;letter-spacing:.15em}.work-copy h3{font:400 clamp(23px,2.1vw,32px)/1.19 var(--serif);color:#f4dcae;margin:0 0 22px}.work-copy>p:not(.eyebrow){font:15px/1.7 var(--serif);color:#cad7e8;margin:0 0 22px}.work-copy .text-link{font-size:10px}
/* poles */
.poles{padding:130px 0 125px;min-height:1000px;background:radial-gradient(ellipse 60% 50% at 50% 55%,#1a356b68,transparent),#05142c}.poles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pole-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 26px 37px;min-height:550px;background:linear-gradient(165deg,#0c2654,#061226 80%);border:1px solid rgba(226,182,108,.54);box-shadow:inset 0 0 45px #96a8e21c;position:relative;overflow:hidden;transition:box-shadow .3s,transform .3s}.pole-card:hover{transform:translateY(-7px);box-shadow:0 10px 48px #060a1caa,inset 0 0 50px #c6aad629}.pole-card::before{content:"";position:absolute;top:-115px;left:calc(50% - 195px);width:390px;height:390px;border:1px solid #d7b97b55;border-radius:50%;box-shadow:0 0 0 16px #d4c39c14;pointer-events:none}.pole-sigil{width:min(230px,84%);aspect-ratio:1;position:relative;display:grid;place-items:center;margin-bottom:20px;border-radius:50%;box-shadow:0 0 70px #7484ee6e}.pole-sigil img{width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;mask-image:radial-gradient(circle,#000 55%,transparent 74%)}.pole-selene .pole-sigil{box-shadow:0 0 70px #a65bea85}.pole-ella .pole-sigil{box-shadow:0 0 70px #e9a54c7c}.pole-no{font:600 10px/1.5 var(--sans);letter-spacing:.25em;color:var(--goldhigh)}.pole-card h3{font:400 41px/1.1 var(--serif);letter-spacing:.13em;color:#f8e7cb;margin:11px 0 13px}.pole-words{font:600 10px/1.5 var(--sans);letter-spacing:.14em;color:#cad5ee;margin:0 0 21px}.pole-copy{font:italic 17px/1.55 var(--serif);color:#c4d2e4;max-width:290px;margin:0 auto 22px}.pole-more{margin-top:auto;color:var(--goldhigh);font:600 10px/1.4 var(--sans);letter-spacing:.12em;border-bottom:1px solid #cfa86b;padding:10px 0 8px}.pole-finale{text-align:center;margin:60px auto 0;font:400 18px/1.5 var(--serif);letter-spacing:.11em;color:#f3dbab}.pole-finale span{padding:0 25px;color:#a6c0ff}
/* chronicles */
.chronicles{padding:130px 0 145px;min-height:850px;background:radial-gradient(ellipse at 70% 35%,#163875a1,transparent 65%),#061228}.chronicles-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:65px;align-items:center}.chronicles-visual{height:450px;display:flex;position:relative;flex-direction:column;justify-content:end;overflow:hidden;box-shadow:0 0 0 1px #e5c38e8c,0 0 50px #bfccef2b;padding:48px;background:#071b3a}.chronicles-galaxy{position:absolute;inset:0;background:url('assets/amore-di-luce-portale-cosmico.webp') center 28%/cover no-repeat;filter:saturate(1.5) brightness(.8);transform:scale(1.05);transition:transform .7s}.chronicles-visual:hover .chronicles-galaxy{transform:scale(1.12)}.chronicles-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,#031227bb 65%,#020a17f9)}.chronicles-visual-label{position:relative;z-index:3;font:400 29px/1 var(--serif);letter-spacing:.12em;color:#fff3da}.chronicles-visual-label small{display:block;font:600 10px/1.5 var(--sans);letter-spacing:.17em;color:#e6d2a2;margin-top:14px}.play-ring{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:4;width:82px;height:82px;border:1px solid #f4d9a8;border-radius:50%;display:grid;place-items:center;color:#081128;font-size:25px;padding-left:4px;background:#dfbc83ea;box-shadow:0 0 0 14px #eddbb01f,0 0 40px #f2cd8270}.chronicles-text blockquote{font:400 clamp(27px,2.7vw,41px)/1.24 var(--serif);color:#ffeac9;margin:0 0 36px}.chronicles-text ul{list-style:none;padding:0;margin:0 0 34px}.chronicles-text li{font:14px/1.7 var(--sans);color:#cbd5e7;border-bottom:1px solid #e2c48d37;padding:14px 0}.chronicles-text li::before{content:'✧';font-size:17px;color:var(--gold);padding-right:15px}
/* author */
.author{min-height:740px;padding:115px 0;background:linear-gradient(90deg,#06172e,#0b1e3f 60%,#030b18)}.author-layout{display:grid;grid-template-columns:45% 55%;gap:70px;align-items:center}.author-visual{display:grid;place-items:center;min-height:500px;position:relative;background:radial-gradient(ellipse at center,#1d37676b,transparent 62%)}.author-circle{width:380px;max-width:82%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid #dfbd8170;box-shadow:0 0 0 30px #eac58112,0 0 0 85px #a7adeb0c,0 0 90px #bba1db54}.author-circle img{width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 0 45px #f2cf8983)}.author-copy h2{margin-bottom:34px}.author-copy>p:not(.section-count):not(.eyebrow){font:18px/1.8 var(--serif);color:#c9d5e6;max-width:580px;margin:0 0 30px}
/* closing/footer */
.closing{position:relative;min-height:630px;display:grid;place-items:center;text-align:center;padding:120px 22px;background:radial-gradient(ellipse 58% 74% at 50% 33%,#23457a,#061730 70%,#031023);overflow:hidden;border-top:1px solid var(--line)}.closing-rays{position:absolute;top:-440px;left:50%;transform:translateX(-50%);width:760px;aspect-ratio:1;border:1px solid #e7c68b69;border-radius:50%;box-shadow:0 0 0 35px #d1ad7841,0 0 0 110px #c7a77712,0 0 130px #debc846b;pointer-events:none}.closing-inner{position:relative;z-index:1}.closing h2{font:400 clamp(45px,6.2vw,92px)/1.14 var(--serif);margin:0 auto 25px;color:#fff3df}.closing-inner>p:not(.eyebrow):not(.closing-mail){font:italic 19px/1.7 var(--serif);max-width:650px;margin:0 auto 35px;color:#d5deec}.closing-mail{color:var(--goldhigh);font:14px var(--sans);letter-spacing:.04em;margin-top:21px}
.site-footer{background:#020b19;border-top:1px solid #dec18b65;padding:46px 0 20px}.footer-upper{display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center;padding-bottom:37px}.footer-upper>p{border-left:1px solid var(--gold);padding-left:42px;color:#c6d0dc;font:italic 17px/1.5 var(--serif);max-width:370px}.footer-links{display:flex;gap:14px;align-items:flex-end;flex-direction:column}.footer-links a{font:12px/1.6 var(--sans);color:#e8d6ad}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid #ffffff2c;font:10px/1.5 var(--sans);letter-spacing:.04em;color:#9aabc2}.footer-bottom span:last-child{letter-spacing:.24em;color:var(--gold)}
/* music */
.music-dock{position:fixed;right:20px;bottom:18px;z-index:55;background:#06132bf0;color:#f3e1c1;display:flex;align-items:center;gap:11px;padding:8px 13px 8px 8px;border:1px solid #c6a875ae;border-radius:999px;min-width:285px;box-shadow:0 12px 33px #0009,0 0 30px #d9be8519;backdrop-filter:blur(17px)}
.music-play{display:grid;place-items:center;border:1px solid #d9b87d;border-radius:50%;width:42px;height:42px;flex:0 0 42px;background:linear-gradient(140deg,#f7d79c,#bfa06d);color:#081428}.music-play .play-icon{font-size:16px;margin-left:2px}.music-play:hover{filter:brightness(1.14)}.music-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.music-copy strong{font:400 16px/1 var(--serif)}.music-copy span{font:10px/1.25 var(--sans);color:#bdcce1}.music-dock input{width:67px;accent-color:var(--gold);cursor:pointer}.motion-toggle{width:27px;height:27px;background:#0c2546;border:1px solid #d7b88278;border-radius:50%;color:var(--goldhigh);font-size:16px}.music-dock.playing .music-play{animation:player-pulse 3s ease-in-out infinite}.back-to-top{position:fixed;right:29px;bottom:94px;width:38px;height:38px;border:1px solid var(--gold);background:#06162de6;color:var(--goldhigh);border-radius:50%;z-index:45;opacity:0;visibility:hidden;transform:translateY(10px);transition:transform .22s,opacity .22s}.back-to-top.visible{visibility:visible;opacity:1;transform:none}
/* dialogs */
.dialog{position:fixed;margin:auto;inset:0;border:1px solid #e3c18a9e;background:linear-gradient(140deg,#0a1e42fa,#030e21fb);color:#f5eadd;padding:0;width:min(890px,calc(100vw - 30px));max-height:min(90svh,930px);overflow:auto;box-shadow:0 25px 90px #000e,0 0 55px #b6a2d14a;scrollbar-color:#c7aa74 #07142a}.dialog::backdrop{background:#000b;backdrop-filter:blur(9px)}.dialog[open]{animation:dialog-in .2s ease-out}
.dialog-panel{display:grid;grid-template-columns:minmax(190px,35%) 1fr;gap:35px;align-items:center;padding:57px 40px 43px;position:relative}.dialog-cover{width:100%;max-height:480px;object-fit:contain;box-shadow:0 0 32px #e1b67b5c;border:1px solid #d1ad76}.dialog-copy h2,.works-panel h2{font:400 clamp(33px,4vw,56px)/1.11 var(--serif);color:#f5d69e;margin:7px 0 17px}.dialog-copy p{font:15px/1.8 var(--sans);color:#d5dfed;margin:13px 0}.dialog-copy .dialog-kind{font:italic 18px/1.45 var(--serif);color:var(--goldhigh)}.dialog-copy .dialog-note{border-top:1px solid #ffffff33;padding-top:14px;color:#bbc6d7;font-size:13px}.dialog-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.dialog-buttons .btn{font-size:10px;letter-spacing:.08em}.close-dialog{position:absolute;top:12px;right:13px;background:transparent;border:0;color:var(--goldhigh);font:34px/1 var(--sans);z-index:2;min-width:37px;min-height:37px}.close-dialog:hover{color:#fff}.works-panel{position:relative;padding:58px 42px 43px}.works-panel>p:not(.eyebrow){font:16px/1.75 var(--sans);color:#cfdae8;max-width:660px}.works-panel.narrow{max-width:730px}.works-panel.narrow .btn{margin-top:21px}.works-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:25px}.works-list button{padding:12px;background:#0d2448;border:1px solid #b88d62;display:flex;flex-direction:column;align-items:center;gap:12px;font:17px/1.3 var(--serif);color:#f1d6aa}.works-list img{height:190px;max-width:100%;object-fit:contain}.reading>p{font:17px/1.75 var(--serif)!important;color:#f2e6d5!important}.reading>.btn{margin-top:22px}.character-dialog-panel{grid-template-columns:40% 1fr}.character-art{width:100%;aspect-ratio:1;background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid #d6b77775;box-shadow:0 0 42px #af83e04b}.char-motto{font:italic 21px/1.4 var(--serif)!important;color:var(--goldhigh)!important}.noscript{position:fixed;bottom:5px;left:5px;color:#fff;background:#081b34;padding:12px;z-index:100}
/* motion */
@keyframes orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes orbit-reverse{to{transform:rotate(-360deg)}}
@keyframes scroll-pulse{50%{opacity:.2;transform:translateY(9px)}}
@keyframes hero-breathe{to{transform:scale(1.14)}}
@keyframes player-pulse{50%{box-shadow:0 0 20px #f1d0958a}}
@keyframes dialog-in{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
/* ring pseudo special: rings use own transform centers */
.orbital-b,.world-ring.ring-two{animation:none}
/* responsive */
@media(max-width:1330px){.site-header{padding-inline:26px;gap:14px}.brand{font-size:17px;gap:7px}.brand img{width:41px;height:41px}.main-nav{gap:14px}.main-nav a{font-size:10px}.header-entry{font-size:9px}.content-width{width:min(1250px,calc(100% - 75px))}.work-card{padding:19px 15px;gap:15px}.work-copy h3{font-size:24px}.work-copy>p:not(.eyebrow){font-size:13px}}
@media(max-width:1040px){.site-header{height:72px}.site-header.is-scrolled{height:68px}.main-nav,.header-entry{display:none}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--gold);color:var(--goldhigh);background:#061429c7;padding:6px 12px;font-size:23px}.mobile-menu{display:flex;flex-direction:column;position:fixed;top:72px;left:0;right:0;z-index:49;background:#061429f8;padding:15px 30px 28px;border-bottom:1px solid var(--gold);backdrop-filter:blur(22px);box-shadow:0 30px 45px #000a}.mobile-menu a{padding:13px 8px;border-bottom:1px solid #ebcb8c25;font-size:15px;color:#f2deb9}.hero-side{display:none}.hero-city{display:none}.hero h1{font-size:clamp(54px,10vw,95px)}.universe-layout{grid-template-columns:1fr;gap:4px}.universe-copy{max-width:850px}.world-portal{min-height:460px;height:500px}.places{margin-top:30px}.works-grid{gap:15px}.work-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 18px;min-height:500px}.work-cover{max-width:170px}.work-copy .eyebrow{margin-top:14px}.work-copy h3{font-size:25px}.chronicles-layout{gap:35px}.author-layout{gap:20px}}
@media(max-width:760px){:root{scroll-padding-top:65px}.content-width{width:calc(100% - 42px)}.hero{min-height:770px;max-height:none;height:94svh;padding:130px 17px 80px}.hero-image{background-position:center 64%;filter:brightness(.6) saturate(1.25)}.hero-tint{background:linear-gradient(to bottom,#030b20db,#030f24a0 33%,#040c1ebb 64%,#030c1bf9)}.hero-content{padding:10px 4px 0}.hero h1{font-size:clamp(39px,10.1vw,74px);margin:25px 0 19px;white-space:normal}.hero h1 em{font-size:.5em}.hero-tagline{font-size:clamp(30px,5.9vw,41px)}.hero-intro{font-size:15px}.hero-eyebrow{font-size:10px;letter-spacing:.26em}.orbital{width:620px;opacity:.6}.scroll-invitation{bottom:26px;font-size:9px}.chapter-heading{display:block;margin-bottom:43px}.heading-aside{margin-top:25px;font-size:17px}.section-title{font-size:clamp(50px,10vw,76px)}.eyebrow{font-size:10px;letter-spacing:.25em}.section-count{margin-bottom:25px}.awakening{padding:105px 0 90px;min-height:790px}.awakening::before{width:380px}.awakening .section-count{margin-bottom:39px}.display-title{font-size:clamp(35px,7vw,57px)}.awakening-copy{font-size:17px;margin-bottom:48px}.three-principles{grid-template-columns:1fr;gap:11px}.three-principles>div{padding:17px 0 12px}.principle-symbol{display:inline;margin:0 15px 0 0;font-size:26px}.three-principles p{font-size:14px}.downward-mark{margin-top:24px}.saga,.works,.poles,.chronicles{padding:95px 0 103px}.saga-grid{grid-template-columns:1fr;gap:40px;max-width:470px;margin:auto}.saga-book{padding:12px 0 40px;border-bottom:1px solid var(--line)}.book-art{height:410px}.book-cover{width:215px}.book-halo{width:330px}.saga-book-copy{margin-top:0}.saga-book h3{font-size:35px}.saga-book-copy>p:not(.eyebrow){font-size:16px}.universe{padding:95px 0 90px}.universe-copy .section-title{margin-bottom:24px}.big-lead{font-size:36px}.universe-copy>p:last-child{font-size:16px}.world-portal{height:350px;min-height:350px}.world-ring{max-width:315px}.world-orb{width:240px}.places{grid-template-columns:1fr;gap:22px}.place{padding-top:23px}.place h3{margin:10px 0}.portal-interlude{min-height:0;padding:80px 24px 100px;display:flex;flex-direction:column;gap:50px}.portal-image{max-width:580px;align-self:stretch}.portal-words blockquote{font-size:clamp(36px,7vw,53px)}.works-grid{grid-template-columns:1fr;gap:20px;max-width:520px;margin:auto}.work-card{display:grid;grid-template-columns:40% 60%;text-align:left;min-height:260px;align-items:center;padding:18px;gap:14px}.work-copy h3{font-size:clamp(22px,5vw,30px);margin-bottom:13px}.work-copy>p:not(.eyebrow){font-size:13px;margin-bottom:12px}.work-cover{max-width:200px}.poles-grid{grid-template-columns:1fr;max-width:480px;margin:auto}.pole-card{min-height:460px;padding:29px 20px}.pole-sigil{max-width:195px}.pole-finale{font-size:14px;line-height:2}.pole-finale span{padding:0 8px}.chronicles-layout{grid-template-columns:1fr}.chronicles-visual{height:330px;padding:25px}.chronicles-text blockquote{font-size:32px}.author{min-height:0;padding:90px 0}.author-layout{grid-template-columns:1fr;gap:0}.author-visual{min-height:300px}.author-circle{width:260px}.author-copy{margin-top:45px}.author-copy h2{font-size:53px}.closing{min-height:550px;padding:90px 20px}.closing h2{font-size:clamp(38px,8vw,68px)}.footer-upper{grid-template-columns:1fr;gap:10px;padding-bottom:28px}.footer-upper>p{border:0;padding:0;margin:15px 0;font-size:17px}.footer-links{align-items:flex-start}.footer-bottom{gap:12px;align-items:flex-start;flex-direction:column}.music-dock{right:11px;bottom:10px;min-width:0;padding:6px 10px 6px 6px;gap:7px}.music-dock input{width:56px}.music-copy strong{font-size:13px}.music-copy span{font-size:9px}.music-play{width:35px;height:35px;flex-basis:35px}.back-to-top{right:14px;bottom:76px}.dialog-panel,.character-dialog-panel{grid-template-columns:1fr;padding:47px 22px 26px;gap:21px}.dialog-cover{height:230px;max-width:170px;justify-self:center}.dialog-copy h2,.works-panel h2{font-size:35px}.dialog-copy p{font-size:13px}.works-panel{padding:50px 22px 28px}.works-list{gap:7px}.works-list button{padding:7px;font-size:12px}.works-list img{height:130px}.reading>p{font-size:15px!important}.character-art{max-width:220px;margin:auto}.btn{font-size:10px;padding:13px 16px}}
@media(max-width:390px){.brand{font-size:15px}.brand img{width:35px;height:35px}.brand small{font-size:7px}.hero{min-height:700px}.hero h1{font-size:40px}.hero-tagline{font-size:29px}.content-width{width:calc(100% - 34px)}.work-card{grid-template-columns:38% 62%;padding:11px;gap:10px}.work-copy h3{font-size:22px}.book-art{height:380px}.book-halo{width:285px}.music-dock input{width:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transform:none;transition:none}.hero-image,.orbital,.book-halo::before,.scroll-trace,.music-dock.playing .music-play{animation:none!important}}
html.motion-off{scroll-behavior:auto}html.motion-off .reveal{opacity:1;transform:none;transition:none}html.motion-off .hero-image,html.motion-off .orbital,html.motion-off .book-halo::before,html.motion-off .scroll-trace,html.motion-off .music-dock.playing .music-play{animation:none!important}

/* V4.1 — Acquisti visibili per tutte e sei le opere; nessun finto checkout. */
.book-purchase{display:flex;justify-content:center;margin-top:19px}
.buy-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:45px;width:100%;max-width:292px;padding:12px 14px;border:1px solid #edcd93a6;text-decoration:none;font:600 10px/1.4 var(--sans);letter-spacing:.095em;text-align:center;transition:transform .2s,box-shadow .2s,background .2s;color:#0b1730;background:linear-gradient(120deg,#fbe8b3,#d6a85a 57%,#f4d49a);box-shadow:0 0 25px #e2bf7035}
.buy-link:hover{transform:translateY(-3px);background:#ffe7b0;box-shadow:0 4px 32px #dab87b66}
.buy-link:focus-visible{outline:3px solid #f9e5b7;outline-offset:4px}
.buy-link-request{background:#0c2345;color:#f9e1b2;border:1px solid #dbbd80}
.buy-link-request:hover{color:#ffebba;background:#17355c}
.work-card .book-purchase{margin-top:16px;justify-content:flex-start}
.work-card .buy-link{padding:12px 8px;letter-spacing:.055em;font-size:9px;max-width:none}
.ordering-guide{margin:68px auto 0;padding:23px 30px;display:flex;align-items:center;gap:22px;border-top:1px solid #d9bb8590;border-bottom:1px solid #d9bb855b;background:linear-gradient(100deg,#18315370,#0a183349)}
.ordering-guide .ordering-icon{font:34px var(--serif);color:#efd39c}
.ordering-guide p{font:14px/1.7 var(--sans);color:#dbe2ef;margin:0;flex:1}
.ordering-guide strong{color:#ffe2a4}
.ordering-guide a{color:#f7d491;font:600 10px/1.5 var(--sans);letter-spacing:.08em;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1040px){.ordering-guide{margin-top:40px;flex-wrap:wrap;gap:14px}.work-card .book-purchase{justify-content:center}.work-card .buy-link{max-width:270px}}
@media(max-width:760px){.book-purchase{margin-top:18px}.work-card .buy-link{font-size:9px}.ordering-guide{padding:22px 19px;flex-direction:column;text-align:center}.ordering-guide p{font-size:13px}}
@media(max-width:390px){.work-card .buy-link{font-size:8px;line-height:1.35;padding:10px 6px;letter-spacing:0}}

/* V4.7 · PLAYER MUSICA AMBIENT · prominente e leggibile */
.music-dock{box-sizing:border-box;position:fixed;bottom:18px;right:18px;z-index:75;display:flex;flex-direction:column;align-items:stretch;width:min(360px,calc(100vw - 26px));min-width:0;gap:0;padding:13px 14px 14px;color:#f8e6c8;background:linear-gradient(137deg,#081b37fa,#04122ff8 72%);border:1px solid #eac786c9;border-radius:18px;box-shadow:0 12px 36px #000c,0 0 36px #e3b46a30;backdrop-filter:blur(18px)}
.music-dock::after{content:'';position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 1px 0 #f5e0b13b;pointer-events:none}
.music-dock-top{display:flex;align-items:center;gap:11px;min-width:0}
.music-equalizer{display:flex;align-items:center;justify-content:center;gap:3px;width:42px;height:42px;border:1px solid #ebc78388;border-radius:11px;background:#c4a16618;flex:0 0 42px}
.music-equalizer i{display:block;width:3px;height:11px;border-radius:9px;background:#f4cc8c;box-shadow:0 0 7px #f4bb61a8}
.music-equalizer i:nth-child(2),.music-equalizer i:nth-child(4){height:18px}
.music-equalizer i:nth-child(3){height:25px}
.music-dock.playing .music-equalizer i{animation:music-level 850ms ease-in-out infinite alternate}
.music-dock.playing .music-equalizer i:nth-child(2){animation-delay:-240ms}.music-dock.playing .music-equalizer i:nth-child(3){animation-delay:-510ms}.music-dock.playing .music-equalizer i:nth-child(4){animation-delay:-100ms}.music-dock.playing .music-equalizer i:nth-child(5){animation-delay:-390ms}
.music-dock .music-copy{flex:1;gap:2px;min-width:0}
.music-dock .music-kicker{font:600 8px/1.4 var(--sans);letter-spacing:.15em;color:#d6b783;white-space:nowrap}
.music-dock .music-copy strong{font:400 17px/1.18 var(--serif);color:#ffe1ae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-dock .music-copy #music-status{font:11px/1.25 var(--sans);color:#c6d6e7}
.music-dock .motion-toggle{flex:0 0 30px;height:30px;width:30px;border-radius:9px;align-self:flex-start;margin-top:4px}
.music-dock-actions{display:flex;align-items:center;gap:12px;margin-top:11px}
.music-dock .music-play{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:1px solid #fff1c5;border-radius:8px;box-sizing:border-box;flex:1 1 auto;width:auto;min-width:0;height:45px;padding:0 16px;background:linear-gradient(115deg,#ffe7b0,#d6aa63 60%,#f7d698);color:#09182b;box-shadow:0 0 23px #f4c27648;font:800 11px/1.2 var(--sans);letter-spacing:.125em;transition:filter .2s ease,transform .2s ease}
.music-dock .music-play:hover{transform:translateY(-1px);filter:brightness(1.12)}
.music-dock .music-play:focus-visible{outline:3px solid #fff8cb;outline-offset:3px}
.music-dock .music-play .play-icon{font:22px/1 var(--sans);margin:0}
.music-dock.playing .music-play{background:linear-gradient(115deg,#ffdc93,#ebac5c);animation:none;box-shadow:0 0 27px #f5b04f70}
.music-volume-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 72px}
.music-volume-wrap label{font:700 8px/1 var(--sans);letter-spacing:.12em;color:#d7c298}
.music-dock .music-volume-wrap input{width:72px;max-width:72px;height:18px;accent-color:#f8d596;cursor:pointer}
.back-to-top{bottom:155px;right:30px}
@keyframes music-level{0%{transform:scaleY(.5)}100%{transform:scaleY(1.24)}}
@media(max-width:480px){.music-dock{bottom:max(10px,env(safe-area-inset-bottom));right:10px;width:min(342px,calc(100vw - 20px));padding:10px 11px 11px;border-radius:15px}.music-dock .music-copy strong{font-size:16px}.music-dock .music-play{height:44px;font-size:10px;padding-inline:10px}.music-volume-wrap{flex-basis:62px}.music-dock .music-volume-wrap input{width:62px}.back-to-top{bottom:146px;right:17px}}
@media(max-width:340px){.music-dock .music-kicker{font-size:7px}.music-dock .music-copy strong{font-size:14px}.music-dock-actions{gap:5px}.music-dock .music-play{letter-spacing:.05em}}
@media(prefers-reduced-motion:reduce){.music-dock.playing .music-equalizer i{animation:none}}
html.motion-off .music-dock.playing .music-equalizer i{animation:none}


/* V4.8 · VIAGGIO CINEMATOGRAFICO: pannello distinto dalla musica */
html.journey-running{scroll-behavior:auto!important}
.journey-dock{position:fixed;bottom:18px;left:18px;z-index:74;width:252px;max-width:calc(100vw - 32px);padding:13px 13px 12px;border:1px solid rgba(238,200,141,.8);border-radius:16px;color:#fae9c8;background:linear-gradient(138deg,rgba(10,31,62,.98),rgba(3,13,31,.98));box-shadow:0 12px 36px #000b,0 0 24px rgba(231,181,99,.2);backdrop-filter:blur(15px);display:flex;flex-direction:column;gap:9px;isolation:isolate}
.journey-dock::before{content:"";position:absolute;inset:0;border:1px solid rgba(255,233,184,.09);border-radius:inherit;pointer-events:none}
.journey-kicker{font:700 9px/1.4 var(--sans);letter-spacing:.17em;color:#efd19b;white-space:nowrap}
.journey-toggle{min-height:45px;width:100%;padding:10px 11px;display:flex;justify-content:center;align-items:center;gap:11px;border:1px solid #ffe2a0;border-radius:8px;color:#08162d;background:linear-gradient(110deg,#f7e5bb,#d8ae70 60%,#f9d79b);box-shadow:0 0 25px #d9af6a46;font:800 10px/1.3 var(--sans);letter-spacing:.075em;transition:filter .2s,transform .2s}
.journey-toggle:hover{filter:brightness(1.1);transform:translateY(-1px)}
.journey-toggle:focus-visible{outline:3px solid #fff8cc;outline-offset:3px}
.journey-icon{font-size:15px;width:18px;text-align:center}
.journey-dock.is-running .journey-toggle{background:linear-gradient(105deg,#ffe3a2,#ecb568 60%,#fbdfae);box-shadow:0 0 28px rgba(245,187,96,.6)}
.journey-status{font:11px/1.4 var(--sans);color:#bed1e7}
.journey-progress{height:3px;width:100%;display:block;background:rgba(242,207,147,.18);border-radius:9px;overflow:hidden}
.journey-progress>span{width:0%;height:100%;display:block;background:linear-gradient(90deg,#7db9f9,#fee0a3);border-radius:9px;transition:width .14s linear}
@media(max-width:700px){
 .journey-dock{left:auto;right:10px;top:calc(81px + env(safe-area-inset-top,0px));bottom:auto;width:min(244px,calc(100vw - 20px));padding:6px 7px 7px;gap:3px;border-radius:12px}
 .journey-kicker{display:none}
 .journey-toggle{min-height:42px;font-size:10px;letter-spacing:.025em;gap:7px;padding:8px 7px}
 .journey-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
 .journey-progress{height:2px}
 .back-to-top{right:14px;bottom:calc(156px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){
 .journey-dock{top:calc(77px + env(safe-area-inset-top,0px));right:10px;width:min(214px,calc(100vw - 20px))}
 .journey-toggle{font-size:9px;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.journey-toggle{transition:none}}
html.motion-off .journey-toggle{transition:none}
