:root{--red:#ff3939;--bg:#080808;--muted:#aaa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:#f4f4f4;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:7px}::selection{background:var(--red);color:white}.skip{position:fixed;top:-100px;left:20px;background:#fff;color:#111;padding:15px;z-index:100}.skip:focus{top:15px}header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#080808ef;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff20;position:sticky;top:0;z-index:50}.brand{font-size:38px;letter-spacing:-4px;font-weight:900}.brand span,.red{color:var(--red)}nav{display:flex;align-items:center;gap:36px}nav a{font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:14px 0}nav a[aria-current],nav a:hover{color:var(--red)}nav a:last-child{border:1px solid #777;padding:12px 24px}.menu{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;padding:35px 6% 0;min-height:690px;display:flex;flex-direction:column;justify-content:space-between;background:#080808}.hero-grid{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.9%,#ffffff08 50%,transparent 50.1%),linear-gradient(#ffffff02 1px,transparent 1px);background-size:100% 100%,100% 70px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#aaa;gap:20px}.hero-title{padding:70px 0 25px}.hero h1{font-size:clamp(75px,13.3vw,200px);line-height:.88;letter-spacing:-.065em;font-weight:800;margin:0}.hero h1>span{display:block;font-size:.48em;letter-spacing:-.04em;margin-bottom:17px;font-weight:500}.hero strong{font-weight:800;white-space:nowrap}.hero-baseline{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.hero-baseline p{font-size:clamp(25px,4vw,56px);font-weight:300;letter-spacing:.08em;margin:0}.circle-link{width:58px;height:58px;display:grid;place-items:center;border:1px solid #666;border-radius:50%;font-size:24px;transition:background .3s,transform .3s}.circle-link:hover{background:var(--red);transform:translateY(4px)}.spectrum{display:flex;gap:6px;align-items:end;height:110px;margin-top:38px;opacity:.85;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.spectrum span{height:var(--h);flex:1;min-width:3px;background:linear-gradient(var(--red),#4c1010);transform-origin:bottom;animation:equalize 2.8s var(--d) ease-in-out infinite alternate}.hero-bottom{padding:20px 0;border-top:1px solid #ffffff20;margin-top:20px;align-items:center;letter-spacing:.8px}.motion-toggle{border:0;background:none;color:#aaa;font-size:10px;padding:8px 0}.section{padding:105px 8%;}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.6;margin:0 0 28px;font-weight:600;color:#aaa}i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:8px}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(38px,4.8vw,70px);line-height:1.05;letter-spacing:-.05em;font-weight:600;margin-bottom:28px}.body-copy{font-size:18px;color:#b1b1b1;line-height:1.8;max-width:650px;margin-bottom:30px}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid #777;padding:12px 0;font-size:12px;transition:color .3s}.text-link:hover{color:var(--red)}.current{display:grid;grid-template-columns:1fr 1.35fr;gap:90px;align-items:center;background:#121212;border-top:1px solid #282828;border-bottom:1px solid #282828}.current-logo{padding:45px;background:#090909;min-height:240px;display:grid;place-items:center}.current-logo img{width:100%;max-width:320px;height:160px;object-fit:contain}.current .eyebrow{color:var(--red)}.current h2{font-size:clamp(35px,4vw,58px)}.current .body-copy{font-size:16px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;line-height:1.7;color:#999;margin:0}.radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.radio-card{background:#141414;border:1px solid #292929;transition:transform .4s,border-color .4s}.radio-card:hover{transform:translateY(-8px);border-color:#ff3939}.logo-box{background:#fafafa;height:230px;display:grid;place-items:center;padding:35px}.logo-box img{max-width:100%;width:190px;height:150px;object-fit:contain;transition:transform .5s}.radio-card:hover img{transform:scale(1.07)}.radio-card>div:last-child{padding:23px}.radio-card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.5px}.radio-card p{font-size:12px;color:#aaa;margin:0;line-height:1.6}.radio-note{margin:30px 0 0;font-size:13px;color:#aaa;line-height:1.7}.activities{background:#ededeb;color:#111}.activities .eyebrow{color:#666}.activities .section-heading>p{color:#666}.activity-row{display:grid;grid-template-columns:40px 1.2fr 1fr 25px;align-items:center;gap:30px;padding:35px 0;border-top:1px solid #ccc;transition:padding .3s,color .3s}.activity-row:hover{color:#c91d25;padding-left:12px}.activity-row>span{font-size:11px;color:#666}.activity-row h3{font-size:clamp(22px,2.6vw,36px);font-weight:500;letter-spacing:-1px;margin:0}.activity-row p{font-size:13px;line-height:1.7;margin:0;color:#666}.activity-row b{font-size:25px;font-weight:400}.contact-band{padding-top:80px;padding-bottom:85px;background:#d9252c}.contact-band .eyebrow{color:#fff}.contact-band>a{font-size:clamp(24px,5.2vw,76px);letter-spacing:-.04em;display:flex;justify-content:space-between;gap:20px}.page-top{padding-top:85px}.page-top h1{font-size:clamp(65px,8.5vw,125px);font-weight:600;letter-spacing:-.065em;line-height:1;margin-bottom:32px}.page-top .subtitle{font-size:25px;letter-spacing:.1em;margin-bottom:30px}.history-text{border-top:1px solid #333;padding-top:35px;margin-top:40px}.history-text h3{font-size:25px}.history-text p{font-size:15px;color:#aaa;line-height:1.7}.biography,.services{background:#efefed;color:#151515}.biography .eyebrow{color:#666}.bio-row,.service{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:50px 0;border-top:1px solid #ccc}.bio-row>span,.service>span{font-size:12px;color:#666;padding-top:8px}.bio-row h2,.service h2{font-size:clamp(28px,3.6vw,48px);margin-bottom:25px}.bio-row p,.service p{font-size:17px;line-height:1.85;color:#555;max-width:740px;margin-bottom:0}.service{scroll-margin-top:100px}.task-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.task-tags span{padding:11px 15px;border:1px solid #bbb;font-size:12px}.contact-email{display:flex;justify-content:space-between;gap:15px;font-size:clamp(25px,5vw,68px);letter-spacing:-.04em;padding:35px 0;border-bottom:1px solid #444;margin-top:65px}.contact-email:hover{color:var(--red)}.contact-current{border-top:1px solid #333;background:#141414;padding-top:60px;padding-bottom:60px}.contact-current img{max-width:100%;object-fit:contain;object-position:left}.contact-current p:last-child{color:#aaa;font-size:14px;margin-top:20px}footer{padding:65px 8% 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:35px}.footer-name{font-size:25px;letter-spacing:-1px;font-weight:700}.footer-name span{display:block;font-size:10px;letter-spacing:2px;margin-top:12px;color:#aaa;font-weight:400}footer>div{display:flex;gap:35px;font-size:12px;align-items:center}footer small{width:100%;border-top:1px solid #333;padding-top:25px;font-size:10px;color:#999}.reveal.visible{animation:enter .85s cubic-bezier(.16,1,.3,1) both}.hero-title{animation:title-in 1s cubic-bezier(.16,1,.3,1) both}.paused *, .paused *:before{animation-play-state:paused!important}.paused .reveal.visible{animation:none}@keyframes equalize{from{transform:scaleY(.2);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes enter{from{opacity:.2;transform:translateY(45px)}to{opacity:1;transform:none}}@keyframes title-in{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:none}}@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1300px)/2));padding-right:max(8%,calc((100vw - 1300px)/2))}}@media(max-width:900px){.current{gap:35px}.current-logo{padding:25px}.section{padding:75px 6%}.logo-box{height:180px;padding:25px}.logo-box img{height:125px}.activity-row{gap:20px;grid-template-columns:25px 1fr 1fr 20px}nav{gap:20px}.radio-grid{gap:14px}.radio-card>div:last-child{padding:18px}}@media(max-width:600px){header{height:72px}.brand{font-size:32px}.js .menu{display:block;background:none;border:1px solid #666;color:#eee;font-size:12px;padding:10px 14px}.js nav{display:none;position:absolute;top:72px;left:0;right:0;background:#101010;padding:20px 6% 30px;border-bottom:1px solid #555;flex-direction:column;align-items:stretch;gap:8px}.js nav.open{display:flex}nav{gap:8px}nav a{font-size:8px}nav a:last-child{padding:8px;border:0}.hero{min-height:560px;padding:25px 6% 0}.hero-top{font-size:8px;letter-spacing:1px}.hero-top>span:last-child{display:none}.hero-title{padding:70px 0 10px}.hero h1{font-size:13.2vw;letter-spacing:-.065em}.hero h1>span{font-size:.85em;margin-bottom:14px}.hero-baseline{margin-top:28px}.hero-baseline p{font-size:26px}.circle-link{width:44px;height:44px;font-size:20px}.spectrum{height:90px;gap:4px;margin-top:45px}.hero-bottom{font-size:8px;letter-spacing:0;gap:10px}.motion-toggle{font-size:8px}.section{padding:60px 6%}.current{grid-template-columns:1fr;gap:35px}.current-logo{min-height:160px;padding:20px}.current-logo img{height:120px;max-width:250px}.eyebrow{font-size:9px;margin-bottom:22px}h2{font-size:42px}.current h2{font-size:39px}.body-copy{font-size:16px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.radio-grid{grid-template-columns:1fr;gap:20px}.radio-card{display:grid;grid-template-columns:42% 58%;min-height:155px}.logo-box{height:100%;padding:20px;min-height:155px}.logo-box img{width:120px;height:100px}.radio-card>div:last-child{padding:25px 18px;align-self:center}.radio-card h3{font-size:20px}.radio-card p{font-size:12px}.activity-row{grid-template-columns:20px 1fr 20px;gap:15px;padding:28px 0}.activity-row h3{font-size:25px}.activity-row p{grid-column:2;grid-row:2;font-size:13px}.activity-row b{grid-column:3;grid-row:1}.contact-band>a{font-size:6.9vw}.page-top h1{font-size:clamp(43px,10.2vw,64px)}.page-top{padding-top:60px}.page-top .subtitle{font-size:20px}.bio-row,.service{grid-template-columns:1fr;gap:23px;padding:35px 0}.bio-row p,.service p{font-size:16px}.bio-row h2,.service h2{font-size:33px}.contact-email{font-size:6.7vw;margin-top:45px;padding:25px 0}.contact-current img{height:110px;width:250px}footer{padding:45px 6% 25px;display:block}.footer-name{display:block}footer>div{flex-direction:column;align-items:start;gap:20px;margin:30px 0}footer small{display:block;line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-toggle{display:none}}

.detail-head{padding-bottom:60px}.back-link{font-size:13px;color:#54788e;display:inline-block;margin-bottom:60px}.detail-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.detail-heading h1{font-size:clamp(45px,6.5vw,90px);letter-spacing:-.055em;font-weight:500;line-height:1.1;margin-bottom:25px}.detail-heading .subtitle{font-size:18px;color:#5e7b8d}.detail-logo{background:white;border:1px solid #e3e9eb;border-radius:22px;padding:30px;display:grid;place-items:center}.detail-logo img{width:240px;max-width:100%;height:180px;object-fit:contain}.detail-content{padding-top:35px;background:#fff}.detail-story{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding:48px 0;border-bottom:1px solid #e0e7eb}.detail-story h2{font-size:30px;line-height:1.2;letter-spacing:-.03em}.detail-story p{font-size:18px;line-height:1.85;color:#5c6f7b;margin:0}.detail-story strong{font-weight:600;color:#334f62}.more-radio{background:#edf2f5}.program-feature{display:grid;grid-template-columns:1fr 1.3fr;gap:55px;align-items:center;margin-top:65px}.program-art{position:relative;aspect-ratio:1;overflow:hidden;border-radius:20px;background:#000}.program-art img{position:absolute;width:245%;height:245%;max-width:none;left:-72.5%;top:-87%;object-fit:contain}.program-feature h2{font-size:40px}.program-feature p:not(.eyebrow){font-size:16px;line-height:1.7;color:#637684}@font-face{font-family:BarlowCondensed;src:url('assets/barlow-condensed-600.ttf') format('truetype');font-weight:600;font-display:swap}
.hero{min-height:700px}.hero-title{position:relative;z-index:2;animation:none}.hero h1{font-size:clamp(74px,13vw,190px)}.hero h1>span{display:block}.name-first{animation:name-in .9s cubic-bezier(.16,1,.3,1) both}.name-last{display:block;animation:name-in 1.15s .12s cubic-bezier(.16,1,.3,1) both}.hero-baseline .profession{font-family:BarlowCondensed,Impact,sans-serif;font-weight:600;font-size:clamp(38px,5.2vw,72px);letter-spacing:.035em;line-height:1}.profession span{color:var(--red);font-size:.7em;margin:0 .08em}.hero-baseline{animation:name-in 1s .3s both}.kinetic-disc{position:absolute;z-index:-1;width:clamp(380px,48vw,740px);aspect-ratio:1;right:-12%;top:0%;border:1px solid #ffffff18;border-radius:50%;display:grid;place-items:center;transform:translateY(var(--disc-shift,0px)) rotate(var(--disc-turn,0deg));will-change:transform;background:radial-gradient(circle,#171717 0 12%,#ef41411a 12.3%,#151515 13%,#090909 38%,#121212 50%,#080808 70%)}.disc-grooves{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 10px,#ffffff09 11px 12px),conic-gradient(from 20deg,transparent,#ffffff0b,transparent 30%,#ff393910,transparent 70%);animation:disc-spin 24s linear infinite}.kinetic-disc>span{font-size:55px;font-weight:800;color:#ff393955;letter-spacing:-4px}.hero-grid{opacity:.7}.spectrum{position:relative;height:90px;opacity:.8}.spectrum span{animation-duration:1.6s}.motion-strip{border-block:1px solid #272727;overflow:hidden;padding:24px 0;background:#0c0c0c}.motion-strip>div{display:flex;width:max-content;gap:45px;align-items:center;animation:strip 28s linear infinite}.motion-strip span{font-family:BarlowCondensed,sans-serif;letter-spacing:2px;font-size:30px;color:#b2b2b2}.motion-strip b{color:#ff3939;font-weight:400}.current-logo{background:none}.current-logo img{height:250px;width:250px;object-fit:contain;border-radius:8px}.current{gap:65px}.cecchetto-title{color:#fff}.radio-grid{grid-template-columns:repeat(4,1fr);gap:18px}.radio-card{display:block;position:relative;overflow:hidden;transition:transform .4s,border-color .4s,box-shadow .4s}.radio-card:hover{transform:translateY(-10px);box-shadow:0 20px 55px #0009}.radio-card .logo-box{height:190px}.radio-card .logo-box img{width:150px;height:130px}.radio-card>div:last-child{min-height:165px}.card-link{display:block;margin-top:22px;font-size:11px;color:#ff7777}.radio-card h3{font-size:20px}.detail-content{background:#111}.detail-story{border-color:#333}.detail-story p{color:#b8b8b8}.detail-story strong{color:#f5f5f5}.detail-heading .subtitle,.back-link{color:#b6b6b6}.detail-logo{border-color:#333}.more-radio{background:#080808}.program-feature p:not(.eyebrow){color:#aaa}.contact-current img{width:200px;height:200px}.reveal.visible{animation:section-in 1s var(--enter-delay,0ms) cubic-bezier(.16,1,.3,1) both}.radio-card.visible{animation:card-in 1.1s var(--enter-delay,0ms) cubic-bezier(.16,1,.3,1) both}.radio-card.visible:hover{animation-fill-mode:none}.current.visible{animation:current-in 1.1s cubic-bezier(.16,1,.3,1) both}.progress-line{position:fixed;top:0;left:0;height:2px;background:#ff3939;z-index:100;width:100%;transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}.paused .kinetic-disc{will-change:auto}.paused .hero-title *,.paused .hero-baseline{animation:none}.paused .reveal.visible{animation:none}.paused .motion-strip>div{animation-play-state:paused}@keyframes name-in{from{clip-path:inset(100% 0 0);transform:translateY(65px);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}@keyframes disc-spin{to{transform:rotate(360deg)}}@keyframes strip{to{transform:translateX(-50%)}}@keyframes section-in{from{opacity:.2;transform:translateY(70px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:.15;transform:perspective(900px) translateY(85px) rotateX(9deg) scale(.95)}to{opacity:1;transform:perspective(900px) translateY(0) rotateX(0) scale(1)}}@keyframes current-in{from{opacity:.2;transform:translateX(-55px)}to{opacity:1;transform:none}}@media(max-width:1100px){.radio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{min-height:590px}.hero h1{font-size:13.2vw}.hero-baseline .profession{font-size:45px;letter-spacing:.02em}.kinetic-disc{width:380px;right:-60%;top:30px;opacity:.7}.motion-strip{padding:17px 0}.motion-strip span{font-size:23px}.motion-strip>div{gap:28px}.current{gap:30px}.current-logo img{width:200px;height:200px}.radio-grid{grid-template-columns:1fr}.radio-card{display:grid;grid-template-columns:42% 58%}.radio-card .logo-box{height:100%;min-height:165px;padding:20px}.radio-card .logo-box img{height:100px;width:120px}.radio-card>div:last-child{min-height:165px}.detail-heading{grid-template-columns:1fr;gap:25px}.detail-heading h1{font-size:45px}.detail-logo{padding:20px}.detail-logo img{width:190px;height:130px}.back-link{margin-bottom:35px}.detail-story{grid-template-columns:1fr;gap:10px;padding:35px 0}.detail-story h2{font-size:29px;margin-bottom:10px}.detail-story p{font-size:16px}.program-feature{grid-template-columns:1fr;gap:30px}.program-art{max-width:280px;width:100%;margin:auto}.program-feature h2{font-size:35px}.contact-current img{width:180px;height:180px}}@media(prefers-reduced-motion:reduce){.kinetic-disc{transform:none!important}.hero-title *,.hero-baseline,.reveal.visible{animation:none!important}.progress-line{display:none}}
/* Prova 05: marchio tipografico arrotondato, accenti originali. */
@font-face{font-family:Righteous;src:url('assets/righteous-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.wordmark{font-family:Righteous,sans-serif;font-weight:400;letter-spacing:-.065em;white-space:nowrap;line-height:1.12;position:relative}.wordmark .mark-accent{position:relative;color:inherit;display:inline-block;font-size:inherit;vertical-align:baseline;margin:0;font-weight:inherit;letter-spacing:inherit}.mark-accent:after{content:'';position:absolute;width:.23em;height:.085em;background:#ff353d;top:.13em;left:.22em;border-radius:90% 0 80% 0;transform:rotate(-23deg);box-shadow:0 0 0 .025em #080808}.hero .hero-wordmark{font-family:Righteous,sans-serif;font-size:clamp(74px,12.7vw,187px);font-weight:400;letter-spacing:-.065em;line-height:1.12;margin-bottom:15px;transform:skewX(-5deg);transform-origin:left center}.hero .hero-wordmark>.name-first{font-family:Righteous,sans-serif;font-size:.42em;font-weight:400;letter-spacing:-.045em;line-height:1.1;margin-bottom:0}.hero .hero-wordmark .name-last{font-weight:400;letter-spacing:-.065em}.hero .hero-wordmark .name-last:after{content:'';display:block;width:48px;height:4px;background:#ff353d;margin-top:22px;transform:skewX(-30deg)}header .brand.wordmark{font-size:30px;letter-spacing:-.065em;transform:skewX(-5deg)}.hero-baseline{margin-top:25px}.hero-baseline .profession{font-size:clamp(29px,3.5vw,48px);letter-spacing:.08em}.hero-baseline .profession span{font-size:.7em}.kinetic-disc{opacity:.62}@media(max-width:600px){header .brand.wordmark{font-size:27px}.hero .hero-wordmark{font-size:13vw;letter-spacing:-.06em}.hero .hero-wordmark>.name-first{font-size:.55em}.hero .hero-wordmark .name-last:after{width:32px;height:3px;margin-top:18px}.hero-baseline .profession{font-size:34px;letter-spacing:.07em}.hero-title{padding-top:65px}.hero{min-height:580px}}

/* Font scelto dall’utente: Orbitron, proposta 01. */
@font-face{font-family:Orbitron;src:url('font-lab/orbitron.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
.wordmark,header .brand.wordmark,.hero .hero-wordmark,.hero .hero-wordmark>.name-first,.hero .hero-wordmark .name-last,.hero-baseline .profession{font-family:Orbitron,sans-serif;font-weight:700;font-style:normal;transform:none;letter-spacing:-.035em}
.hero .hero-wordmark{font-size:clamp(64px,11.5vw,160px);line-height:1.25}.hero .hero-wordmark>.name-first{font-size:.4em;line-height:1.3;margin-bottom:5px}.hero .hero-wordmark .name-last:after{display:none}header .brand.wordmark{font-size:24px;letter-spacing:-.04em}.hero-baseline .profession{font-size:clamp(19px,2.6vw,34px);letter-spacing:.035em}.footer-name{font-family:Orbitron,sans-serif;font-size:20px;letter-spacing:-.04em}.footer-name span{font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif}
@media(max-width:600px){header .brand.wordmark{font-size:21px}.hero .hero-wordmark{font-size:12vw;letter-spacing:-.04em}.hero .hero-wordmark>.name-first{font-size:.55em}.hero-baseline .profession{font-size:24px;letter-spacing:0}.footer-name{font-size:18px}}
/* Ingresso del nome: ingrandimento, assestamento, poi fermo. */
.hero .hero-wordmark{transform-origin:24% 55%;animation:wordmark-arrive 2.1s cubic-bezier(.22,.7,.22,1) both;will-change:auto}
.hero .hero-wordmark>.name-first,.hero .hero-wordmark .name-last{animation:none;clip-path:none}
.hero-baseline{animation:subtitle-arrive 1s .65s cubic-bezier(.16,1,.3,1) both}
@keyframes wordmark-arrive{0%{opacity:0;transform:translateY(35px) scale(.82);filter:blur(5px)}38%{opacity:1;transform:translateY(-3px) scale(1.055);filter:blur(0)}65%{opacity:1;transform:translateY(1px) scale(.985)}83%{transform:translateY(0) scale(1.008)}100%{opacity:1;transform:translateY(0) scale(1);filter:none}}
@keyframes subtitle-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.paused .hero .hero-wordmark,.paused .hero-baseline{animation:none;transform:none;filter:none;opacity:1}
@media(prefers-reduced-motion:reduce){.hero .hero-wordmark,.hero-baseline{animation:none!important;transform:none!important;filter:none!important;opacity:1}}
/* Radio Cecchetto: ingresso al primo scorrimento, poi stabile. */
.current.reveal.visible{animation:none}
.current.visible .current-logo{animation:cecchetto-logo-enter 1.5s cubic-bezier(.16,1,.3,1) both;transform-origin:center}
.current.visible>div:last-child{animation:cecchetto-copy-enter 1.2s .2s cubic-bezier(.16,1,.3,1) both}
@keyframes cecchetto-logo-enter{0%{opacity:.1;transform:translateY(55px) scale(.78) rotate(-5deg)}65%{opacity:1;transform:translateY(-3px) scale(1.035) rotate(1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes cecchetto-copy-enter{from{opacity:.1;transform:translateX(45px) translateY(20px)}to{opacity:1;transform:none}}
.paused .current.visible .current-logo,.paused .current.visible>div:last-child{animation:none;transform:none;opacity:1}
@media(max-width:600px){.current.visible>div:last-child{animation-name:cecchetto-copy-mobile}.current.visible .current-logo{animation-duration:1.3s}@keyframes cecchetto-copy-mobile{from{opacity:.1;transform:translateY(30px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.current.visible .current-logo,.current.visible>div:last-child{animation:none!important;transform:none!important;opacity:1}}

/* Il logo ufficiale Viva FM ha lettering bianco. */
.logo-box:has(img[src="assets/viva.webp"]){background:#fafafa;border-color:#333}
.detail-logo:has(img[src="assets/viva.webp"]){background:#fff;border-color:#333}
.logo-box img[src="assets/viva.webp"],.detail-logo img[src="assets/viva.webp"]{filter:brightness(0)}
/* Fondo più morbido per le attività di Radio Cecchetto. */
.services{background:#d5d3cc;color:#252625}
.services .service{border-color:#b5b4ad}
.services .service>span{color:#595b55}
.services .service p{color:#494c46}
.services .task-tags span{border-color:#aaa99f;background:#dddbd5;color:#41453e}

/* Identità tipografica coerente anche nel profilo. */
.page-top .profile-name{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(52px,9vw,125px);letter-spacing:-.035em;line-height:1.25}
.page-top .profile-profession{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(20px,2.6vw,34px);letter-spacing:.035em}
@media(max-width:600px){.page-top .profile-name{font-size:11.5vw}.page-top .profile-profession{font-size:24px;letter-spacing:0}}
/* Fondo scuro opaco: antracite, senza nero pieno. */
:root{--bg:#242628}
body{background:#242628;color:#f0efec}
header{background:#242628f2;border-bottom-color:#414447}
.hero{background:#242628}
.kinetic-disc{background:radial-gradient(circle,#353739 0 12%,#ef414122 12.3%,#303234 13%,#27292b 38%,#303234 50%,#242628 70%);border-color:#ffffff20}
.motion-strip{background:#202224;border-color:#414447}
.current{background:#2d3032;border-color:#424649}
.current-logo{background:transparent}
.radio-section,.more-radio{background:#242628}
.radio-card{background:#303335;border-color:#484c4f}
.detail-content{background:#2d3032}
.detail-story{border-color:#4a4e51}
.contact-current{background:#2d3032;border-color:#424649}
footer{background:#202224}
footer small{border-color:#44484b}
.orbit-label{background:#242628}
@media(max-width:600px){.js nav{background:#292c2e;border-color:#484c4f}}
/* Riquadri dei loghi: grigio caldo uniforme, meno luminoso. */
.logo-box,.detail-logo,.logo-box:has(img[src="assets/viva.webp"]),.detail-logo:has(img[src="assets/viva.webp"]){background:#cccac3;border-color:#b5b3ac}

.current-logo-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;transition:transform .3s ease;cursor:pointer}
@media(hover:hover){.current-logo-link:hover{transform:translateY(-4px) scale(1.025)}}
.current-logo-link:focus-visible{outline:2px solid #ff6464;outline-offset:8px;transform:translateY(-4px) scale(1.025)}
.current-logo-link:active{transform:scale(.99)}
@media(prefers-reduced-motion:reduce){.current-logo-link:hover,.current-logo-link:focus-visible,.current-logo-link:active{transform:none}}
/* Indirizzo email coerente con il carattere del nome. */
a[href="mailto:info@maurinaz.com"]{font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:-.035em}
.contact-band>a,.contact-email{font-size:clamp(22px,4.1vw,60px)}
@media(max-width:600px){.contact-band>a,.contact-email{font-size:5.7vw;gap:10px}}

/* Attività: atmosfera di regia con mixer grafico in sottofondo. */
.services-studio{position:relative;isolation:isolate;overflow:hidden;background:#222932;color:#f2f2f1}
.services-studio:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 10% 20%,#218aab60,transparent 50%),radial-gradient(ellipse at 90% 48%,#8a5db058,transparent 55%),radial-gradient(ellipse at 30% 100%,#d78a3c45,transparent 50%),linear-gradient(145deg,#192a37,#30283b 55%,#302c28)}
.services-studio:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171d27b8,#1e233088 55%,#20233160);pointer-events:none}
.radio-console-art{position:absolute;inset:2% -10% -15% 10%;z-index:-2;display:flex;gap:22px;transform:perspective(1200px) rotateX(22deg) rotateZ(-12deg) scale(1.15);opacity:.38;filter:blur(1px);pointer-events:none}
.console-channel{flex:1;position:relative;border-inline:1px solid #cadcfb30;background:linear-gradient(90deg,#ffffff05,#ffffff12,#ffffff02);border-radius:18px}
.console-channel:before,.console-channel:after{content:'';position:absolute;left:calc(50% - 12px);width:24px;height:24px;border:3px solid #d3e6ff70;border-radius:50%;box-shadow:0 0 18px #2e9fff45}
.console-channel:before{top:7%}.console-channel:after{top:17%}
.console-channel i{position:absolute;top:29%;left:15%;height:22%;width:70%;margin:0;border-radius:0;background:repeating-linear-gradient(0deg,transparent 0 7px,#8ce6e4a0 8px 11px);clip-path:inset(calc(100% - var(--level)) 0 0);box-shadow:0 0 20px #30a5d3}
.console-channel:nth-child(3n) i{background:repeating-linear-gradient(0deg,transparent 0 7px,#f7bc75c0 8px 11px)}
.console-channel:nth-child(3n + 1) i{background:repeating-linear-gradient(0deg,transparent 0 7px,#c8a2ffc0 8px 11px)}
.console-channel b{position:absolute;top:57%;bottom:9%;left:49%;width:2px;background:#dce3f173}
.console-channel span{position:absolute;top:calc(52% + var(--fader)*.4);left:15%;width:70%;height:17px;border:1px solid #cedced88;border-radius:4px;background:linear-gradient(#c2ccda90,#46536680);box-shadow:0 7px 15px #0005}
.services-studio .service{position:relative;border-color:#d5e1f333}
.services-studio .service h2{color:#faf9f5;text-shadow:0 2px 15px #0003}
.services-studio .service>span{color:#c6d3e2}
.services-studio .service p{color:#e0e3e8;text-shadow:0 1px 12px #1118}
@media(max-width:600px){.radio-console-art{inset:0 -70% -10% 0;opacity:.27;gap:20px;transform:rotate(-10deg)}.services-studio:after{background:#181f2cb3}.services-studio .service p{color:#e2e6eb}}

/* Home: attività con lo stesso fondo della regia. */
.activities.services-studio .section-heading>p,.activities.services-studio .activity-row p{color:#e0e3e8}
.activities.services-studio .activity-row{border-color:#d5e1f333}
.activities.services-studio .activity-row>span{color:#c6d3e2}
.activities.services-studio h2,.activities.services-studio h3{color:#faf9f5;text-shadow:0 2px 15px #0003}
.activities.services-studio .activity-row:hover,.activities.services-studio .activity-row:hover h3{color:#ff7777}

/* Home: onde sonore discrete, distinte dal mixer della pagina attività. */
.activities.activities-home{position:relative;isolation:isolate;overflow:hidden;background:#292c30;color:#f4f3f0}
.activities-home:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 100% 65%,#496c7336,transparent 65%),radial-gradient(ellipse at 0 100%,#9d6b5830,transparent 55%),linear-gradient(#242628,#292c30 35%)}
.home-soundwaves{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;opacity:.5;mask-image:linear-gradient(90deg,transparent 15%,#000)}
.home-soundwaves span{position:absolute;right:-18%;top:12%;width:76%;height:75%;border:1px solid #a8c9c523;border-radius:50%;transform:rotate(-28deg)}
.home-soundwaves span:nth-child(2){top:18%;right:-14%}
.home-soundwaves span:nth-child(3){top:24%;right:-10%}
.home-soundwaves span:nth-child(4){top:30%;right:-6%}
.home-soundwaves span:nth-child(5){top:36%;right:-2%}
.home-soundwaves span:nth-child(6){top:42%;right:2%}
.activities-home .section-heading>p,.activities-home .activity-row p{color:#c8cccd}
.activities-home .activity-row{border-color:#d5e1f326}
.activities-home .activity-row>span{color:#aab7b9}
.activities-home h2,.activities-home h3{color:#f4f3f0}
.activities-home .activity-row:hover,.activities-home .activity-row:hover h3{color:#ff7777}
@media(max-width:600px){.home-soundwaves{opacity:.35}.home-soundwaves span{width:120%;right:-55%}}

/* Attività nella home: impaginazione per iPhone e schermi piccoli. */
@media(max-width:600px){
 .activities.activities-home{padding:52px 6% 48px}
 .activities-home .section-heading{gap:16px;margin-bottom:28px}
 .activities-home .section-heading h2{font-size:38px}
 .activities-home .section-heading>p{font-size:14px;line-height:1.65;max-width:29ch}
 .activities-home .activity-row{grid-template-columns:22px minmax(0,1fr) 24px;column-gap:12px;row-gap:10px;padding:26px 0}
 .activities-home .activity-row h3{font-size:clamp(20px,5.6vw,25px);line-height:1.25;letter-spacing:-.6px}
 .activities-home .activity-row p{font-size:14px;line-height:1.65}
 .activities-home .activity-row>span{font-size:11px}
 .activities-home .activity-row b{font-size:24px}
 .activities-home .home-soundwaves{opacity:.65;mask-image:linear-gradient(180deg,transparent,#000 25%,#000 85%,transparent)}
 .activities-home .home-soundwaves span{width:160%;height:48%;right:-85%;top:17%}
 .activities-home .home-soundwaves span:nth-child(2){top:24%;right:-77%}
 .activities-home .home-soundwaves span:nth-child(3){top:31%;right:-69%}
 .activities-home .home-soundwaves span:nth-child(4){top:38%;right:-61%}
 .activities-home .home-soundwaves span:nth-child(5){top:45%;right:-53%}
 .activities-home .home-soundwaves span:nth-child(6){top:52%;right:-45%}
}
@media(max-width:600px) and (hover:none){.activities-home .activity-row:hover{padding-left:0}}

/* Prova desktop più raccolta: contenuto centrato e titoli meno grandi. */
@media(min-width:601px){
 header,.hero,.section,footer{padding-left:max(6%,calc((100% - 1120px)/2));padding-right:max(6%,calc((100% - 1120px)/2))}
 header{height:80px}
 .section{padding-top:80px;padding-bottom:80px}
 .hero{min-height:620px}
 .hero-title{padding-top:48px;padding-bottom:18px}
 .hero .hero-wordmark{font-size:clamp(60px,10vw,128px)}
 .hero-baseline .profession{font-size:clamp(20px,2.2vw,29px)}
 .hero .spectrum{height:72px;margin-top:28px}
 h2{font-size:clamp(34px,4vw,56px)}
 .current{gap:48px}
 .current h2{font-size:clamp(32px,3.6vw,48px)}
 .page-top h1{font-size:clamp(54px,7vw,96px)}
 .page-top .profile-name{font-size:clamp(48px,7.5vw,100px)}
 .page-top .profile-profession{font-size:clamp(20px,2.2vw,29px)}
 .section-heading{margin-bottom:36px}
 .activity-row{padding-top:28px;padding-bottom:28px}
 .activity-row h3{font-size:clamp(22px,2.3vw,30px)}
 .contact-band>a{font-size:clamp(24px,4.4vw,60px)}
}

/* Percorso: scala di sintonia, toni prugna e bronzo opachi. */
.biography.biography-tuning{position:relative;isolation:isolate;overflow:hidden;background:#302d32;color:#f1ede9}
.biography-tuning:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(120deg,#29292e 5%,#3b303844 52%,#7b584326),linear-gradient(180deg,#302d32,#373038 55%,#302d2c)}
.tuning-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.55;mask-image:linear-gradient(90deg,transparent 20%,#000)}
.tuning-art:before{content:'';position:absolute;top:0;bottom:0;right:9%;width:150px;background:repeating-linear-gradient(180deg,#d6b89122 0 1px,transparent 1px 18px);border-right:1px solid #dbbda538;transform:skewY(-12deg)}
.tuning-art:after{content:'';position:absolute;right:0;top:39%;width:40%;height:1px;background:linear-gradient(90deg,transparent,#cc987a66);box-shadow:0 0 22px #d3917255}
.tuning-art span{position:absolute;right:8.6%;top:15%;width:7px;height:7px;border:1px solid #d5b7a280;border-radius:50%;background:#5b4541;box-shadow:0 0 16px #c08d6444}
.tuning-art span:nth-child(2){top:50%}.tuning-art span:nth-child(3){top:83%}
.biography-tuning .eyebrow{color:#d6b8a5}
.biography-tuning .bio-row{border-color:#d6bca72b;position:relative}
.biography-tuning .bio-row>span{color:#d6b8a5}
.biography-tuning .bio-row h2{color:#f4efeb}
.biography-tuning .bio-row p{color:#d4ced1}
@media(max-width:600px){
 .biography-tuning .bio-row{gap:16px;padding:30px 0}
 .biography-tuning .bio-row h2{font-size:29px;margin-bottom:18px}
 .biography-tuning .bio-row p{font-size:16px;line-height:1.8}
 .tuning-art{opacity:.35;mask-image:linear-gradient(90deg,transparent,#000)}
 .tuning-art:before{right:5%;width:90px}
 .tuning-art span{right:4.3%}
}

/* Percorso: quadrante FM decorativo su un fondo petrolio distinto. */
.biography.biography-tuning{background:#193f49}
.biography-tuning:before{background:radial-gradient(ellipse at 95% 45%,#3f798c55,transparent 65%),linear-gradient(125deg,#17333e 5%,#214d56 58%,#265e65)}
.tuning-art{opacity:1;mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
.tuning-art:before{right:7%;width:210px;border-color:#bbd9db40;background:repeating-linear-gradient(180deg,#b9e1df24 0 1px,transparent 1px 13px);transform:none}
.tuning-art:after{top:46%;width:35%;height:2px;background:linear-gradient(90deg,transparent,#e4b67a99);box-shadow:0 0 28px #e4b67a66}
.tuning-frequencies{position:absolute;top:4%;bottom:4%;right:10%;width:190px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}
.tuning-art .tuning-frequencies>span{position:static;width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;color:#c9e8e32b;font-family:Orbitron,sans-serif;font-size:clamp(30px,4vw,54px);font-weight:700;letter-spacing:.02em;white-space:nowrap}
.tuning-frequencies small{font-size:11px;letter-spacing:.12em;display:block;color:#c9e8e33d}
.biography-tuning .eyebrow,.biography-tuning .bio-row>span{color:#d6c29e}
.biography-tuning .bio-row{border-color:#c5dfdf30}
.biography-tuning .bio-row p{color:#e0eaeb}
@media(max-width:600px){
 .tuning-art{opacity:.8;mask-image:linear-gradient(90deg,transparent 5%,#000)}
 .tuning-art:before{right:5%;width:135px}
 .tuning-frequencies{right:8%;width:155px}
 .tuning-art .tuning-frequencies>span{font-size:36px;color:#c9e8e323}
}

/* Fascia continua: due gruppi identici, inclusa la spaziatura finale. */
.motion-strip{padding-block:16px}
.motion-strip>.motion-track{display:flex;gap:0;width:max-content;animation:strip-seamless 32s linear infinite;will-change:transform}
.motion-group{display:flex;flex:0 0 auto;align-items:center;justify-content:space-around;gap:36px;min-width:100vw;padding-inline:18px}
.motion-strip span{font-size:24px;letter-spacing:1.5px;white-space:nowrap}
@keyframes strip-seamless{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.paused .motion-strip>.motion-track{animation-play-state:paused}

/* Proporzioni più contenute, anche nell'area contatti. */
@media(min-width:601px){
 header,.hero,.section,footer{padding-inline:max(7%,calc((100% - 1040px)/2))}
 .hero{min-height:530px}
 .hero-title{padding-top:36px;padding-bottom:12px}
 .hero .hero-wordmark{font-size:clamp(52px,8.5vw,104px)}
 .hero-baseline .profession{font-size:clamp(18px,1.8vw,24px)}
 .hero-baseline{margin-top:20px}
 .hero .spectrum{height:60px;margin-top:20px}
 .section{padding-block:64px}
 h2{font-size:clamp(30px,3.3vw,44px)}
 .current h2{font-size:clamp(30px,3vw,40px)}
 .body-copy{font-size:16px}
 .page-top h1{font-size:clamp(44px,5.7vw,78px)}
 .page-top .profile-name{font-size:clamp(44px,6vw,82px)}
 .page-top .profile-profession{font-size:24px}
 .bio-row h2,.service h2{font-size:clamp(27px,3vw,38px)}
 .bio-row p,.service p{font-size:16px}
 .activity-row h3{font-size:clamp(21px,2vw,26px)}
 .contact-band.section{padding-block:44px}
 .contact-band .eyebrow{margin-bottom:20px}
 .contact-band>a,.contact-email{font-size:clamp(22px,3vw,38px)}
 .contact-email{margin-top:36px;padding-block:25px}
}
@media(max-width:600px){
 .hero .hero-wordmark{font-size:10.7vw}
 .hero-baseline .profession{font-size:21px}
 .motion-strip{padding-block:14px}
 .motion-strip span{font-size:20px}
 .motion-group{gap:26px;padding-inline:13px}
 .contact-band.section{padding-block:36px}
 .contact-band .eyebrow{margin-bottom:18px}
 .contact-band>a,.contact-email{font-size:5.1vw}
}

/* Menu iPhone accanto al titolo, nella prima schermata. */
.mobile-menu-slot{display:none}
@media(max-width:600px){
 .has-mobile-menu{position:relative}
 .mobile-menu-slot{display:block;position:absolute;right:6%;top:100px;z-index:20}
 .hero-title>.mobile-menu-slot{right:0;top:65px}
 .detail-head>.mobile-menu-slot{top:20px}
 .js .mobile-menu-slot .menu{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #a8abad;border-radius:50%;background:#303437;color:#f4f3ef;box-shadow:0 4px 18px #0002}
 .menu-glyph{display:flex;flex-direction:column;gap:4px;width:18px}
 .menu-glyph>span{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
 .menu[aria-expanded=true] .menu-glyph>span:first-child{transform:translateY(5px) rotate(45deg)}
 .menu[aria-expanded=true] .menu-glyph>span:nth-child(2){opacity:0}
 .menu[aria-expanded=true] .menu-glyph>span:last-child{transform:translateY(-5px) rotate(-45deg)}
 .js .mobile-menu-slot nav{position:absolute;top:56px;left:auto;right:0;width:min(300px,88vw);padding:12px 20px;background:#303437;border:1px solid #ffffff26;border-radius:16px;box-shadow:0 16px 36px #0005;gap:0;z-index:21}
 .mobile-menu-slot nav a{font-size:12px;line-height:1.5;padding:15px 0;min-height:48px;border-bottom:1px solid #ffffff16}
 .mobile-menu-slot nav a:last-child{padding:15px 0;border:0}
 .page-top.has-mobile-menu>h1{padding-right:42px}
}

/* Chiusura della home: contatti e firma discreti. */
.home-page .contact-band.section{padding-block:30px}
.home-page .contact-band .eyebrow{font-size:9px;margin-bottom:14px}
.home-page .contact-band>a{font-size:18px;line-height:1.5;letter-spacing:-.025em}
.home-page .contact-band>a>span{font-size:20px}
.home-page footer{padding-top:32px;padding-bottom:28px;gap:24px}
.home-page .footer-name{font-size:13px;line-height:1.5;letter-spacing:-.025em}
.home-page .footer-name span{font-size:8px;letter-spacing:1.3px;margin-top:6px}
.home-page footer>div{font-size:11px;gap:24px}
@media(max-width:600px){
 .home-page .contact-band.section{padding-block:26px}
 .home-page .contact-band>a{font-size:16px}
 .home-page .footer-name{font-size:12px}
 .home-page footer>div{margin-top:22px;margin-bottom:0;gap:18px}
}

/* Chiusura uniforme: un solo footer compatto per firma e contatti. */
body footer.site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 28px;padding-top:24px;padding-bottom:22px;border-top:1px solid #ffffff14;background:#202224}
.site-footer .footer-name{font-size:12px;line-height:1.5;letter-spacing:-.025em;margin:0}
.site-footer .footer-name span{font-size:8px;line-height:1.4;letter-spacing:1.2px;margin-top:5px}
body footer.site-footer>div{margin:0;gap:0;font-size:11px}
body footer.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.site-footer .footer-contact>span{font-size:8px;letter-spacing:1.1px;color:#a8adaf}
.site-footer .footer-contact>a{font-size:12px;line-height:1.6;letter-spacing:-.025em}
body footer.site-footer .footer-links{grid-column:1/-1;display:flex;flex-direction:row;gap:22px;color:#adb1b3}
.site-footer .footer-links a{font-size:11px;line-height:1.8;padding-block:4px}
.contact-email{font-size:20px;margin-top:28px;padding-block:20px}
@media(max-width:600px){
 body footer.site-footer{padding-top:22px;padding-bottom:20px;gap:18px 12px}
 .site-footer .footer-name{font-size:11px}
 .site-footer .footer-contact>a{font-size:11px}
 .contact-email{font-size:17px}
}
@media(max-width:359px){
 body footer.site-footer{grid-template-columns:1fr}
 body footer.site-footer .footer-contact{align-items:flex-start}
}

/* Prova grafite satinata: riflessi morbidi e navigazione luminosa. */
:root{--graphite-base:#141516;--graphite-surface:radial-gradient(ellipse at 12% 0%,#c6d8e00b,transparent 43%),linear-gradient(145deg,#1c1e20 0%,#151617 38%,#111213 75%,#181a1c 100%)}
body{background:var(--graphite-base)}
.hero,.page-top,.radio-section,.more-radio{background:var(--graphite-surface)}
header{background:linear-gradient(180deg,#34393df7 0%,#1d2022fa 10%,#101213fa 100%);border-bottom:1px solid #b5c0c52e;box-shadow:inset 0 1px #e2eaee15,0 5px 20px #0002}
header .brand.wordmark{color:#f5f6f6;text-shadow:0 1px 1px #fff2,0 0 12px #d4e7ed14}
#nav a{color:#e3e8eb;font-weight:600;text-shadow:0 0 8px #dcecf322;transition:color .2s,text-shadow .2s,border-color .2s}
#nav a[aria-current]{color:#fff;text-shadow:0 0 9px #e0f1fa55,0 0 20px #c1dae62b}
#nav a:hover,#nav a:focus-visible{color:#fff;text-shadow:0 0 10px #e8f6ff66}
@media(min-width:601px){#nav a[aria-current]{box-shadow:0 2px 0 -1px #e96464}#nav a:last-child{border-color:#c5d0d052;background:#ffffff03}}
.current,.contact-current{background:linear-gradient(120deg,#252a2d,#181b1d 55%,#1e2326);border-color:#aab8c12b}
.radio-card{background:linear-gradient(135deg,#252a2d,#171b1d 75%);border-color:#a5b4bd2e;box-shadow:inset 0 1px #d9e8ef0b}
.motion-strip{background:linear-gradient(#1f2326,#131618);border-color:#b4c1c525}
body footer.site-footer{background:linear-gradient(160deg,#1b1f22,#121517);border-color:#a8b7bf24}
@media(max-width:600px){
 .js .mobile-menu-slot .menu{background:linear-gradient(145deg,#373f45,#161b1e);border-color:#bbc8cf80;box-shadow:inset 0 1px #ffffff25,0 4px 18px #0002}
 .js .mobile-menu-slot nav{background:linear-gradient(145deg,#242c31,#14191c);border-color:#aebfc238}
 .mobile-menu-slot nav a[aria-current]{border-left:2px solid #e96464;padding-left:10px}
}

/* Il disco resta leggibile sul nero profondo, senza una patina grigia. */
.kinetic-disc{background:radial-gradient(circle,#292d30 0 12%,#ef41411c 12.3%,#202427 13%,#15181a 38%,#202427 50%,#131516 70%);border-color:#c5d4df1c}

/* Home: selettore radio aperto, senza schede rettangolari. */
.radio-selector{overflow:hidden}
.station-list{border-top:1px solid #d5dfe329}
.station{position:relative;isolation:isolate;display:grid;grid-template-columns:28px 144px minmax(0,1fr) 48px;gap:30px;align-items:center;padding:27px 12px 27px 0;border-bottom:1px solid #d5dfe329;--station-accent:#e9bd50}
.station:before{content:'';position:absolute;inset:0 -28px;z-index:-1;opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--station-accent) 9%,transparent) 45%,transparent);transition:opacity .35s}
.station:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,var(--station-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.station-index{font-size:10px;letter-spacing:.13em;color:#929da3;align-self:start;padding-top:18px}
.station-mark{position:relative;width:124px;height:124px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d4d2cc,#bdbbb5);box-shadow:0 6px 20px #0003;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.station-mark:before{content:'';position:absolute;inset:-9px;border-radius:50%;border:1px solid #dce6ed18;border-top-color:var(--station-accent);border-right-color:var(--station-accent);transform:rotate(-35deg);transition:transform .65s cubic-bezier(.16,1,.3,1)}
.station-mark img{width:90px;height:88px;object-fit:contain}
.station-mark img[src$="viva.webp"]{filter:brightness(0);width:98px;height:70px}
.station-copy{display:block;padding-block:8px;transition:transform .4s}
.station-copy h3{font-size:clamp(26px,3.3vw,42px);line-height:1.13;font-weight:500;letter-spacing:-.045em;margin:0 0 10px;color:#f2f3f2}
.station-description{display:block;font-size:13px;line-height:1.6;color:#aeb7bc}
.station-more{display:block;font-size:10px;letter-spacing:.04em;color:#b9c2c6;margin-top:13px;transition:color .25s}
.station-arrow{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #dbe5eb38;font-size:22px;color:#e8edef;transition:transform .35s,color .35s,border-color .35s,background .35s}
.station:is(:hover,:focus-visible):before{opacity:1}
.station:is(:hover,:focus-visible):after{transform:scaleX(1)}
.station:is(:hover,:focus-visible) .station-mark{transform:translateY(-3px) rotate(-3deg);box-shadow:0 5px 32px color-mix(in srgb,var(--station-accent) 18%,transparent)}
.station:is(:hover,:focus-visible) .station-mark:before{transform:rotate(35deg)}
.station:is(:hover,:focus-visible) .station-copy{transform:translateX(6px)}
.station:is(:hover,:focus-visible) .station-more{color:var(--station-accent)}
.station:is(:hover,:focus-visible) .station-arrow{transform:translate(3px,-3px);border-color:var(--station-accent);color:var(--station-accent);background:#ffffff05}
@media(max-width:600px){
 .radio-selector .section-heading{margin-bottom:30px}
 .station{grid-template-columns:82px minmax(0,1fr) 30px;gap:16px;padding:26px 0;min-height:145px}
 .station-index{display:none}
 .station-mark{width:74px;height:74px}
 .station-mark:before{inset:-6px}
 .station-mark img{width:56px;height:54px}
 .station-mark img[src$="viva.webp"]{width:62px;height:44px}
 .station-copy h3{font-size:24px;line-height:1.15;margin-bottom:7px}
 .station-description{font-size:11px;line-height:1.6}
 .station-more{font-size:10px;margin-top:10px}
 .station-arrow{width:30px;height:30px;font-size:18px}
 .station:is(:hover,:focus-visible) .station-copy{transform:none}
}
@media(prefers-reduced-motion:reduce){.station *,.station:before,.station:after{transition:none!important}.station:is(:hover,:focus-visible) .station-mark,.station:is(:hover,:focus-visible) .station-copy,.station:is(:hover,:focus-visible) .station-arrow{transform:none}}

/* Profilo: qualifica distinta dal nome, senza testo introduttivo. */
.page-top .subtitle.profile-profession{font-size:17px;font-weight:500;line-height:1.5;letter-spacing:.13em;color:#e9958c;border-left:2px solid #e96464;padding-left:14px;margin-top:24px;margin-bottom:0}
@media(max-width:600px){.page-top .subtitle.profile-profession{font-size:14px;letter-spacing:.12em;margin-top:20px;padding-left:12px}}

/* Prova: quadrante analogico FM al posto delle barre dell'equalizzatore. */
.fm-tuner{position:relative;height:112px;margin-top:24px;padding:13px 16px 0;border-top:1px solid #d3dce514;border-bottom:1px solid #0003;background:linear-gradient(180deg,#0b0e1040,#252b2e18);overflow:hidden}
.fm-caption{display:flex;justify-content:space-between;font-size:9px;font-weight:600;letter-spacing:.18em;line-height:1;color:#9fa9ae}
.fm-caption>span:first-child{color:#dce0e1}
.fm-dial{position:relative;height:72px;margin:12px 7px 0}
.fm-ticks{position:absolute;top:0;left:0;right:0;height:30px;border-bottom:1px solid #a2b1ba32}
.fm-tick{position:absolute;left:var(--position);bottom:0;width:1px;height:11px;background:#a6b1b966}
.fm-tick.major{height:25px;background:#dce5e6b3}
.fm-tick:last-child{height:25px}
.fm-numbers{position:absolute;top:38px;left:0;right:0}
.fm-number{position:absolute;left:var(--position);transform:translateX(-50%);font-size:11px;font-variant-numeric:tabular-nums;line-height:1;color:#c5cdd0;letter-spacing:.04em}
.fm-needle{position:absolute;left:42%;top:-6px;width:2px;height:68px;transform:translateX(-50%);background:#ff4848;box-shadow:0 0 7px #ff3939b0,0 0 19px #ff393935;animation:fm-tuning-sweep 14s ease-in-out infinite alternate}
.fm-needle:before{content:'';position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:8px;height:5px;background:#ff4848;border-radius:1px}
@keyframes fm-tuning-sweep{from{left:0%}to{left:100%}}
.paused .fm-needle{animation-play-state:paused}
@media(max-width:600px){
 .fm-tuner{height:105px;margin-top:25px;padding-inline:8px}
 .fm-dial{margin-inline:4px}
 .fm-number{font-size:10px}
 .fm-number-secondary{display:none}
 .fm-tick.minor{height:8px;opacity:.65}
}
@media(prefers-reduced-motion:reduce){.fm-needle{animation:none!important;left:42%}}

/* FM e manopola condividono la stessa sequenza: 3 s di sosta, 0,4 s di movimento. */
.fm-tuner{height:126px}
.fm-needle{animation:fm-station-scan-live var(--fm-cycle,153s) linear infinite}
.fm-lock{position:absolute;top:75px;left:50%;transform:translateX(-50%) scale(.88);opacity:0;white-space:nowrap;font-size:13px;line-height:1;color:#ffaca5;font-weight:600;letter-spacing:.05em;text-shadow:0 0 12px #ff484866;animation-duration:var(--fm-cycle,153s);animation-timing-function:linear;animation-iteration-count:infinite}
.fm-lock small{font-size:8px;letter-spacing:.05em;color:#eab5af}
.tuning-knob{position:absolute;z-index:1;pointer-events:none;width:clamp(150px,20vw,230px);aspect-ratio:1;right:max(7%,calc((100% - 1040px)/2));top:60px;filter:drop-shadow(0 15px 20px #0006)}
.knob-scale{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -135deg,#c8c3b166 0deg 1deg,transparent 1deg 9deg);mask-image:radial-gradient(circle,transparent 66%,#000 67% 69%,transparent 70%)}
.knob-housing{position:absolute;inset:8%;border-radius:50%;background:conic-gradient(from 25deg,#15191b,#858c8e 9%,#303638 19%,#101415 30%,#7d8486 49%,#23292c 63%,#101415 73%,#798083 89%,#15191b);box-shadow:0 0 0 1px #bac5c526,inset 0 0 0 3px #0a0d0f,0 8px 12px #0009}
.knob-rotor{position:absolute;inset:12%;border-radius:50%;background:repeating-conic-gradient(#14181a 0deg 2deg,#626967 2deg 3deg,#252a2c 3deg 5deg);box-shadow:inset 0 0 8px #000;transform:rotate(-135deg);animation:fm-knob-turn-live var(--fm-cycle,153s) linear infinite}
.knob-face{position:absolute;inset:8%;border-radius:50%;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 3px),conic-gradient(from 15deg,#8d9492,#555d60 15%,#acb0a9 28%,#626966 45%,#424a4d 65%,#9fa6a0 83%,#8d9492);box-shadow:inset 0 0 0 1px #e6e9df50,inset 0 3px 8px #ffffff28,0 2px 5px #0009}
.knob-face:after{content:'';position:absolute;inset:10%;border:1px solid #e3e7e01a;border-radius:50%;background:radial-gradient(circle at 35% 28%,#eff1e716,transparent 65%)}
.knob-index{position:absolute;top:11%;left:calc(50% - 2px);height:22%;width:4px;background:linear-gradient(#ff6955 0 26%,#242727 26%);border-radius:2px;box-shadow:1px 0 1px #ffffff50}
.knob-caption{position:absolute;left:0;right:0;bottom:-12px;text-align:center;font-size:8px;letter-spacing:.28em;color:#a8afac}
.paused .fm-needle,.paused .fm-lock,.paused .knob-rotor{animation-play-state:paused}
@media(max-width:600px){
 .fm-tuner{height:124px}.fm-lock{font-size:12px}
 .tuning-knob{width:96px;top:22px;right:6%;filter:drop-shadow(0 8px 12px #0006)}
 .knob-caption{font-size:7px;bottom:-8px}
}
@media(prefers-reduced-motion:reduce){.fm-lock{display:none}.knob-rotor{animation:none!important;transform:rotate(-21.6deg)}}
