:root{--blue:#0137ff;--red:#ed192b;--ink:#172439;--muted:#536073;--line:#dce3ef}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f4f6fa}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:3px}.page{height:100dvh;max-width:1680px;margin:auto;padding:0 clamp(20px,4vw,70px);display:grid;grid-template-rows:88px minmax(0,1fr) 40px}header{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:10px}.identity:hover{text-decoration:none}.identity img{object-fit:contain}.wordmark{font-size:29px;letter-spacing:-1px;color:var(--blue);font-weight:750;line-height:1.05;display:block}.wordmark strong{color:var(--red)}.motto{display:block;font-size:12px;color:var(--muted);margin-top:4px}.test{font-size:10px;letter-spacing:.12em;border:1px solid #c5cddd;padding:4px 8px;border-radius:3px;margin-left:auto;color:var(--muted)}.contact{background:var(--blue);color:white;padding:10px 18px;border-radius:3px;font-size:14px}.contact span{margin-left:20px}main{display:grid;grid-template-rows:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.62fr);gap:clamp(12px,2.1vh,24px);padding:clamp(14px,2.7vh,30px) 0 12px;min-height:0}.overview{display:grid;grid-template-columns:1fr 1.08fr .7fr;gap:25px;align-items:center;min-height:0}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;margin:0 0 10px;color:var(--muted)}h1{font-size:clamp(36px,5.3vh,68px);line-height:1.05;letter-spacing:-.05em;font-weight:600;margin:0}em{font-style:normal;color:var(--blue)}.diagram{position:relative;height:100%;max-height:300px;min-height:0;aspect-ratio:420/250;margin:auto;width:100%}.diagram svg{width:100%;height:100%;position:absolute;inset:0;fill:none;stroke:var(--line)}.connection{stroke:#849bd6;stroke-width:1.5}.ring{stroke:#c5d2ed;stroke-dasharray:2 5}.outer{stroke:#d7dfed;stroke-dasharray:none}.center{fill:white;stroke:var(--blue);stroke-width:2}.point{fill:var(--blue);stroke:none}.point.red{fill:var(--red)}.hub{position:absolute;top:50.8%;left:50%;transform:translate(-50%,-50%);font-size:25px;font-weight:650;color:var(--blue)}.label{position:absolute;font-size:10px;font-weight:650;letter-spacing:.07em;white-space:nowrap;background:#f4f6fa;padding:4px 6px}.l1{left:50%;top:6%;transform:translateX(-50%)}.l2{left:0;bottom:6%}.l3{right:0;bottom:6%}.stats{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:28px;gap:clamp(8px,1.7vh,20px)}.stats>div{display:flex;align-items:center;gap:16px}.stats strong{font-size:clamp(30px,4.4vh,50px);font-weight:500;letter-spacing:-.05em;min-width:105px;line-height:1}.stats strong span{font-size:.46em;color:var(--blue);margin-left:4px;letter-spacing:0}.stats p{font-size:13px;line-height:1.3;max-width:110px;margin:0;color:var(--muted)}.journey{background:#14243e;color:white;border-radius:5px;padding:clamp(16px,2.5vh,28px) 28px;display:flex;flex-direction:column;min-height:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;margin:0;color:#bdcaff}#play{border:1px solid #506077;background:transparent;color:#e2e9f8;border-radius:3px;padding:5px 10px;font-size:12px;min-width:82px}.journey-body{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;flex:1;align-items:center;min-height:0}.current{display:flex;align-items:center;gap:20px}.current>span{font-size:clamp(38px,6vh,70px);letter-spacing:-.05em;font-weight:400;color:#b6c7ff;line-height:1}.current h3{font-size:clamp(16px,2.2vh,24px);font-weight:500;margin:0 0 5px;line-height:1.2}.current p{font-size:13px;line-height:1.35;color:#c3cee0;margin:0;max-width:215px}.timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;isolation:isolate}.rail{position:absolute;top:9px;height:1px;left:8.33%;right:8.33%;background:#52627a;z-index:-1}#progress{height:2px;background:#a8beff;width:0;transition:width .8s}.timeline button{background:transparent;border:0;color:#b9c6dd;display:flex;flex-direction:column;align-items:center;padding:0 3px;min-width:0}.dot{display:block;border:1px solid #8293b0;background:#14243e;width:18px;height:18px;border-radius:50%;margin-bottom:12px;transition:background .3s,box-shadow .3s}.timeline strong{font-size:14px;font-weight:500}.timeline button>span:last-child{font-size:10px;margin-top:5px;white-space:nowrap}.timeline button[aria-pressed=true]{color:white}.timeline button[aria-pressed=true] .dot{background:#ed192b;border-color:#ff6976;box-shadow:0 0 0 5px #ed192b25}.personal{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:15px;min-height:0}.personal article{border:1px solid var(--line);border-radius:5px;background:white;padding:18px 22px;display:flex;align-items:center;gap:16px;min-width:0}.personal svg{width:26px;height:26px;fill:none;stroke:var(--blue);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.personal h2{font-size:21px;line-height:1.15;margin:0;font-weight:500;letter-spacing:-.03em}.personal h2 span{display:block;font-size:12px;line-height:1.3;letter-spacing:0;color:var(--muted);margin-top:6px}.personal .eyebrow{font-size:10px;margin-bottom:7px}.swiss{margin-left:auto;background:var(--red);color:white;width:27px;height:27px;text-align:center;line-height:25px;font-size:27px;font-weight:700;border-radius:3px}.personal article.hobbies{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}.hobby-list{display:flex;width:100%;gap:18px;justify-content:space-between}.hobby-list>span{display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.2}.hobby-list svg{width:22px;height:22px}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}.current.switching{animation:reveal .4s both}@keyframes reveal{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(min-height:950px){.page{grid-template-rows:110px minmax(0,1fr) 55px}main{padding-top:40px;padding-bottom:25px;gap:30px}.personal article{padding:30px}.eyebrow{font-size:12px}.personal h2{font-size:25px}.hobby-list>span{font-size:14px}}
@media(max-width:1050px){.page{padding:0 22px;grid-template-rows:78px minmax(0,1fr) 32px}.overview{grid-template-columns:1fr 1fr .7fr;gap:14px}.stats{padding-left:18px}.stats>div{display:block}.stats p{font-size:11px;max-width:none;margin-top:5px}.stats strong{min-width:0;font-size:34px}.journey{padding:17px 20px}.journey-body{grid-template-columns:1fr;gap:14px}.current{gap:18px}.current>span{font-size:36px}.current h3{font-size:17px}.current p{max-width:none;font-size:12px}.current>div{display:flex;align-items:center;gap:15px}.current h3{margin:0}.dot{margin-bottom:5px}.timeline button>span:last-child{margin-top:2px}.personal article{padding:14px 12px;gap:10px}.personal h2{font-size:18px}.personal .eyebrow{font-size:9px}.hobby-list{gap:10px}.hobby-list>span{font-size:10px}.swiss{display:none}.diagram{max-height:230px}}
@media(max-width:650px){.page{padding:0 16px;grid-template-rows:65px minmax(0,1fr) 28px}.wordmark{font-size:23px}.identity img{width:40px;height:40px}.identity{gap:7px}.motto{font-size:10px}.test{position:absolute;top:4px;right:16px;font-size:7px;padding:1px 4px}.contact{margin-left:auto;font-size:11px;padding:8px 10px}.contact span{display:none}header{gap:10px}.overview{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px}.headline .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:10px}h1{font-size:clamp(28px,4.3vh,41px)}.diagram{max-height:180px}.hub{font-size:18px}.label{font-size:7px;letter-spacing:0;padding:3px 2px}.stats{grid-column:1/-1;flex-direction:row;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;justify-content:space-between;gap:12px}.stats strong{font-size:29px}.stats p{font-size:9px;margin-top:3px}.stats>div{flex:1}.stats>div+div{border-left:1px solid var(--line);padding-left:14px}main{grid-template-rows:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.95fr);gap:12px;padding:12px 0 7px}.journey{padding:13px 14px}.section-head h2{font-size:9px;letter-spacing:.08em}#play{font-size:10px;min-width:60px;padding:4px 6px}.journey-body{gap:8px}.current>span{font-size:34px}.current>div{display:block}.current h3{font-size:15px;margin-bottom:3px}.current p{font-size:11px}.timeline strong{font-size:11px}.timeline button>span:last-child{font-size:8px;white-space:normal;line-height:1.1}.dot{width:13px;height:13px}.rail{top:6px}.personal{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.personal article{padding:10px;gap:8px}.personal h2{font-size:16px}.personal h2 span{font-size:10px;margin-top:3px}.personal article>svg{width:20px;height:20px}.personal .eyebrow{font-size:8px;margin-bottom:5px}.personal article.hobbies{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px}.hobbies>.eyebrow{max-width:60px;line-height:1.5;margin:0}.hobby-list{gap:12px}.hobby-list>span{font-size:10px;gap:4px}.hobby-list svg{width:19px;height:19px}footer{font-size:8px;gap:8px}.source-note{max-width:120px;text-align:center}}
@media(max-height:620px) and (min-width:651px){.page{grid-template-rows:62px minmax(0,1fr) 25px}main{gap:9px;padding:10px 0;grid-template-rows:1.15fr 1fr .6fr}.identity img{width:42px;height:42px}.wordmark{font-size:24px}.motto{font-size:10px}h1{font-size:33px}.eyebrow{font-size:9px;margin-bottom:8px}.stats{gap:7px}.stats strong{font-size:28px}.stats p{font-size:10px}.diagram{max-height:160px}.hub{font-size:18px}.label{font-size:8px}.journey{padding:10px 18px}.journey-body{gap:7px}.current>span{font-size:30px}.personal article{padding:10px}.personal h2{font-size:16px}.personal h2 span{font-size:10px}.hobby-list>span{font-size:9px}.hobby-list svg{width:18px;height:18px}.personal article.hobbies{gap:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Revisione tipografica: caratteri più grandi, stessa pagina e stessa grafica. */
.page{grid-template-rows:94px minmax(0,1fr) 44px;padding-inline:clamp(20px,3.5vw,60px)}
header{gap:22px}.wordmark{font-size:34px}.motto{font-size:14px}.contact{font-size:16px;padding:10px 18px}
main{grid-template-rows:minmax(0,1.2fr) minmax(0,.94fr) minmax(0,.64fr);gap:clamp(10px,1.7vh,18px);padding:clamp(12px,2vh,22px) 0 10px}
.overview{grid-template-columns:.95fr 1.12fr .76fr;gap:clamp(16px,2vw,28px)}
.eyebrow{font-size:13px;margin-bottom:8px}h1{font-size:clamp(44px,6vh,76px)}
.orbit-word{font-size:11px;padding:3px 4px;letter-spacing:.04em}
.stats{padding-left:24px;gap:clamp(8px,1.25vh,14px)}.stats>div{gap:14px}.stats strong{font-size:clamp(40px,5.2vh,58px);min-width:118px}.stats p{font-size:15px;line-height:1.25;max-width:138px}
.journey{padding:clamp(14px,2vh,22px) 26px}.section-head h2{font-size:14px}#play{font-size:13px;padding:5px 11px}
.journey-body{grid-template-columns:1fr 1.55fr;gap:24px}.current{gap:18px}.current>span{font-size:clamp(48px,6.8vh,78px)}.current h3{font-size:clamp(20px,2.45vh,27px);margin-bottom:4px}.current p{font-size:15px;line-height:1.25;max-width:250px}
.dot{margin-bottom:9px}.timeline strong{font-size:16px}.timeline button>span:last-child,.timeline .role{font-size:12px;margin-top:4px;line-height:1.16;min-height:2.3em}
.personal{gap:12px}.personal article{padding:clamp(13px,1.8vh,19px) 18px;gap:14px}.personal .eyebrow{font-size:11px;margin-bottom:5px}.personal h2{font-size:23px}.personal h2 span{font-size:13px;margin-top:4px}.family h2{font-size:21px}.children{font-size:13px;margin:4px 0}.pets{font-size:14px;gap:13px}.hobby-list{gap:14px}.hobby-list>span{font-size:13px;gap:6px}
footer{font-size:12px}

@media(max-width:1050px){
 .page{grid-template-rows:82px minmax(0,1fr) 34px;padding-inline:20px}
 .wordmark{font-size:29px}.motto{font-size:12px}.contact{font-size:14px}
 main{grid-template-rows:minmax(0,1.13fr) minmax(0,.98fr) minmax(0,.72fr);gap:10px;padding:10px 0 6px}
 .overview{grid-template-columns:.92fr 1.08fr .72fr;gap:13px}h1{font-size:clamp(38px,5.3vh,56px)}.eyebrow{font-size:11px}
 .orbit-word{font-size:9px;padding:2px 3px}.stats{padding-left:15px}.stats strong{font-size:clamp(34px,4.6vh,45px)}.stats p{font-size:12px;line-height:1.18}
 .journey{padding:13px 18px}.section-head h2{font-size:12px}.journey-body{gap:10px}.current>span{font-size:40px}.current h3{font-size:18px}.current p{font-size:13px}.timeline strong{font-size:14px}.timeline button>span:last-child,.timeline .role{font-size:10px}
 .personal article{padding:11px 12px}.personal h2{font-size:19px}.personal h2 span{font-size:11px}.family h2{font-size:17px}.children{font-size:11px}.pets{font-size:12px}.hobby-list>span{font-size:11px}
 footer{font-size:10px}
}

@media(max-width:650px){
 .page{grid-template-rows:68px minmax(0,1fr) 28px;padding-inline:12px}
 header{gap:8px}.wordmark{font-size:25px}.motto{font-size:11px}.contact{font-size:12px;padding:8px 9px}
 main{grid-template-rows:minmax(0,1.1fr) minmax(0,.93fr) minmax(0,.97fr);gap:8px;padding:8px 0 5px}
 .headline .eyebrow{font-size:9px;margin-bottom:7px}h1{font-size:clamp(30px,4.7vh,43px)}.orbit-word{font-size:7px;padding:2px}
 .stats{padding-top:8px}.stats strong{font-size:31px}.stats p{font-size:10px;line-height:1.15}.stats>div+div{padding-left:10px}
 .journey{padding:10px 11px}.section-head h2{font-size:10px}#play{font-size:10px}.current>span{font-size:35px}.current h3{font-size:16px}.current p{font-size:12px}.timeline strong{font-size:12px}.timeline button>span:last-child,.timeline .role{font-size:8.5px}
 .personal article{padding:8px}.personal .eyebrow{font-size:8.5px}.personal h2{font-size:17px}.personal h2 span{font-size:10.5px}.family h2{font-size:15px}.children{font-size:10.5px}.pets{font-size:11.5px}.hobby-list>span{font-size:10.5px}
 footer{font-size:8.5px}
}

/* Il marchio centrale apre il Patto d'aula. */
.hub{z-index:8;text-decoration:none;cursor:pointer;border-radius:50%;outline-offset:6px;transition:filter .2s ease,box-shadow .2s ease}
.hub:hover{filter:brightness(1.04);box-shadow:0 0 0 7px rgba(8,69,245,.12)}
.hub:focus-visible{outline:3px solid var(--red);box-shadow:0 0 0 7px rgba(8,69,245,.14)}

@media(max-height:620px) and (min-width:651px){
 .page{grid-template-rows:64px minmax(0,1fr) 26px}.wordmark{font-size:26px}.motto{font-size:11px}
 main{grid-template-rows:1.08fr .94fr .66fr;gap:7px;padding:7px 0}h1{font-size:35px}.eyebrow{font-size:10px}
 .orbit-word{font-size:8px}.stats strong{font-size:31px}.stats p{font-size:11px}.journey{padding:9px 16px}.current>span{font-size:33px}.current h3{font-size:17px}.current p{font-size:12px}.timeline strong{font-size:13px}.timeline button>span:last-child,.timeline .role{font-size:9px}
 .personal article{padding:8px 10px}.personal h2{font-size:17px}.personal h2 span{font-size:10.5px}.family h2{font-size:15px}.children{font-size:10px}.pets,.hobby-list>span{font-size:10px}footer{font-size:9px}
}

/* Evidenziazione determinata dall'incontro fra punto e parola */
.experience-word,.people-word,.connections-word{color:var(--ink);animation:none}.experience-word.is-active,.people-word.is-active,.connections-word.is-active{color:var(--red)}.p1,.p2,.p3{fill:var(--blue);animation:pulse 4.8s ease-in-out infinite}.point.is-active{fill:var(--red)}.orbit-word{left:50%;top:50%;transform:translate(var(--anchor-x,-50%),var(--anchor-y,-50%));color:var(--ink);animation:none;transition:color .18s ease,transform .18s ease}.orbit-word.is-active{color:var(--red);transform:translate(var(--anchor-x,-50%),var(--anchor-y,-50%)) scale(1.08)}
@media(prefers-reduced-motion:reduce){.experience-word.is-active,.people-word.is-active,.connections-word.is-active,.orbit-word.is-active{color:var(--ink)!important}.point.is-active{fill:var(--blue)!important}}

/* Griglia radiale simmetrica, testi trasparenti e punti a diametro costante */
.orbit-word{background:transparent!important}.point,.p1,.p2,.p3{animation:none!important;transform:none!important}.point{transition:fill .18s ease}.orbit-word.is-active{transform:translate(var(--anchor-x,-50%),var(--anchor-y,-50%));font-weight:800}

/* Segnale sincronizzato: una parola e un punto per circa dieci secondi */
.experience-word,.people-word,.connections-word{color:var(--ink)}.p1{animation:pulse 4.8s ease-in-out infinite,point-one 30s steps(1,end) 1s infinite}.p2{animation:pulse 4.8s ease-in-out -1.6s infinite,point-two 30s steps(1,end) 1s infinite}.p3{animation:pulse 4.8s ease-in-out -3.2s infinite,point-three 30s steps(1,end) 1s infinite}.experience-word{animation:word-one 30s steps(1,end) 1s infinite}.people-word{animation:word-two 30s steps(1,end) 1s infinite}.connections-word{animation:word-three 30s steps(1,end) 1s infinite}
.orbit-word{position:absolute;z-index:3;color:var(--ink);background:rgba(244,246,250,.94);padding:3px 5px;font-size:9px;font-weight:700;letter-spacing:.055em;line-height:1;white-space:nowrap}.ow1{left:3%;top:8%}.ow2{left:37%;top:1%}.ow3{right:2%;top:12%}.ow4{left:1%;top:37%}.ow5{right:2%;top:39%}.ow6{left:3%;bottom:12%}.ow7{left:31%;bottom:1%}.ow8{right:24%;bottom:2%}.ow9{right:0;bottom:17%}.ow10{right:1%;top:64%}
@keyframes point-one{0%,33.32%{fill:var(--red)}33.33%,100%{fill:var(--blue)}}
@keyframes point-two{0%,33.32%{fill:var(--blue)}33.33%,66.65%{fill:var(--red)}66.66%,100%{fill:var(--blue)}}
@keyframes point-three{0%,66.65%{fill:var(--blue)}66.66%,100%{fill:var(--red)}}
@keyframes word-one{0%,33.32%{color:var(--red)}33.33%,100%{color:var(--ink)}}
@keyframes word-two{0%,33.32%{color:var(--ink)}33.33%,66.65%{color:var(--red)}66.66%,100%{color:var(--ink)}}
@keyframes word-three{0%,66.65%{color:var(--ink)}66.66%,100%{color:var(--red)}}
@media(max-width:1050px){.orbit-word{font-size:8px}.ow2{left:34%}.ow7{left:26%}.ow8{right:22%}}
@media(max-width:650px){.orbit-word{font-size:6.5px;padding:2px 3px}.ow1{left:0}.ow2{left:30%}.ow3{right:0}.ow6{left:0}.ow8{right:20%}.ow9{right:0}.ow10{right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.experience-word{color:var(--ink)}.people-word{color:var(--red)}.connections-word{color:var(--blue)}.hobby-list>span{align-items:center;text-align:center}.p1{animation:pulse 4.8s ease-in-out infinite,red-one 9s steps(1,end) infinite}.p2{animation:pulse 4.8s ease-in-out -1.6s infinite,red-two 9s steps(1,end) infinite}.p3{animation:pulse 4.8s ease-in-out -3.2s infinite,red-three 9s steps(1,end) infinite}
@keyframes red-one{0%,33.32%{fill:var(--red)}33.33%,100%{fill:var(--blue)}}
@keyframes red-two{0%,33.32%{fill:var(--blue)}33.33%,66.65%{fill:var(--red)}66.66%,100%{fill:var(--blue)}}
@keyframes red-three{0%,66.65%{fill:var(--blue)}66.66%,100%{fill:var(--red)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Ritmo lento e costante per le tre orbite */
.connection{animation-duration:9s}.c2{animation-duration:11s}.r1{animation-duration:28s}.r2{animation-duration:36s;animation-direction:reverse}.r3{animation-duration:44s}.point{animation:pulse 4.8s ease-in-out infinite,color-shift 10s ease-in-out infinite}.p2{animation-delay:-1.6s,-3.3s}.p3{animation-delay:-3.2s,-6.6s}.stats strong .plus{font-size:.76em;line-height:1;color:var(--blue);margin-left:5px;vertical-align:.07em}.timeline .role{line-height:1.2;min-height:2.4em;text-align:center}.pets{align-items:center}.pets span{font-size:20px;line-height:1}
@keyframes color-shift{0%,100%{fill:var(--blue)}45%,55%{fill:var(--red)}}
@media(max-width:1050px){.pets span{font-size:18px}.timeline .role{font-size:9px}}
@media(max-width:650px){.pets span{font-size:17px}.timeline .role{font-size:8px;line-height:1.15;min-height:2.3em}.stats strong .plus{font-size:.82em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.personal{grid-template-columns:.85fr 1.35fr 1.4fr}.children{font-size:12px;margin:5px 0;color:var(--muted)}.pets{display:flex;gap:14px;font-size:12px;line-height:1.3}.family h2{font-size:19px}.pets span{white-space:nowrap}@media(max-width:1050px){.personal{grid-template-columns:.8fr 1.3fr 1.3fr}.family h2{font-size:16px}.children{font-size:11px}.pets{gap:10px;font-size:11px}.family>svg{display:none}}@media(max-width:650px){.personal{grid-template-columns:.75fr 1.25fr;grid-template-rows:1.12fr .88fr}.family h2{font-size:14px;letter-spacing:-.025em}.children{font-size:10px;margin:3px 0}.pets{font-size:11px;gap:10px}.family .eyebrow{margin-bottom:4px}}

/* Infografica interconnessa e movimento coordinato */
.connection{stroke:#849bd6;stroke-width:1.5;stroke-dasharray:10 8;animation:flow 3s linear infinite}.c2{animation-duration:2.25s;animation-direction:reverse}.ring{transform-origin:210px 127px;animation:spin 18s linear infinite}.outer{stroke-dasharray:7 7;animation-direction:reverse;animation-duration:24s}.point{transform-box:fill-box;transform-origin:center;animation:pulse 2.2s ease-in-out infinite}.p2{animation-delay:.45s}.p3{animation-delay:.9s}.hub{width:58px;height:58px;display:grid;place-items:center;animation:logo-in .8s .35s both}.hub img{display:block;width:58px;height:58px;object-fit:contain}.label{animation:label-in .65s both}.l1{animation-delay:.2s}.l2{animation-delay:.45s}.l3{animation-delay:.7s}.stats>div{animation:rise .65s both}.stats>div:nth-child(2){animation-delay:.18s}.stats>div:nth-child(3){animation-delay:.36s}.stats strong .count{font-size:inherit;color:inherit;margin-left:0;letter-spacing:inherit}.headline{animation:rise .75s both}.journey{animation:rise .75s .2s both}.personal article{animation:rise .65s .35s both}.personal article:nth-child(2){animation-delay:.5s}.personal article:nth-child(3){animation-delay:.65s}
@keyframes flow{to{stroke-dashoffset:-72}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.8)}}
@keyframes logo-in{from{opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(-8deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes label-in{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.hub,.hub img{width:43px;height:43px}.l1{max-width:145px;text-align:center;white-space:normal;line-height:1.15;top:1%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Priorità finale della scala tipografica dopo gli affinamenti precedenti. */
.orbit-word{font-size:11px}.timeline .role{font-size:12px}.family h2{font-size:21px}.children{font-size:13px}.pets{font-size:14px}.hobby-list>span{font-size:13px}
@media(max-width:1050px){.orbit-word{font-size:9px}.timeline .role{font-size:10px}.family h2{font-size:17px}.children{font-size:11px}.pets{font-size:12px}.hobby-list>span{font-size:11px}}
@media(max-width:650px){.orbit-word{font-size:7px}.timeline .role{font-size:8.5px}.family h2{font-size:15px}.children{font-size:10.5px}.pets{font-size:11.5px}.hobby-list>span{font-size:10.5px}}

@media(max-width:1050px){.journey-body{grid-template-columns:1fr;gap:9px}.current>div{display:flex;align-items:center;gap:14px}.current h3{margin:0}.timeline{min-width:0;width:100%}}
@media(max-width:650px){
 .overview{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr) auto;gap:7px;overflow:hidden}.overview>*{min-width:0}
 .diagram{width:78%;max-height:165px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0;overflow:hidden}.stats>div{display:block;min-width:0;overflow:hidden}.stats strong{display:block;min-width:0;font-size:28px;white-space:nowrap}.stats p{max-width:none;font-size:9.5px;overflow-wrap:anywhere}
 .journey-body{grid-template-columns:1fr;gap:5px}.current{gap:11px}.current>div{display:block}.current h3{margin:0 0 2px}.timeline{min-width:0;width:100%}.timeline button{min-width:0;padding-inline:1px}
 .timeline{grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden}.timeline button{width:100%;overflow:hidden}.timeline strong{font-size:11px}.timeline .role{font-size:7.5px;white-space:normal;overflow-wrap:anywhere}
}
