@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--navy:#142D4E;--teal:#087F8C;--aqua:#DDF4F1;--paper:#F6F8FB;--muted:#52677F;--border:#DCE5ED;font-family:Manrope,Arial,sans-serif;color:var(--navy);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
.page{width:min(1280px,100% - 112px);margin:auto;min-height:100svh;display:flex;flex-direction:column}.header{height:130px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex}.brand img{width:224px;height:auto;display:block}.header-caption{color:var(--muted);font-size:14px;font-weight:500}
.hero{flex:1;display:grid;grid-template-columns:1.06fr 1fr;gap:38px;align-items:center;padding:64px 0 100px;min-height:600px}.intro{position:relative;z-index:2}.eyebrow{margin:0 0 28px;color:#066873;font-size:12px;line-height:1.7;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}h1{font-weight:600;font-size:clamp(46px,5.25vw,76px);line-height:1.1;letter-spacing:-3.3px;margin:0 0 30px}h1 span{color:var(--teal)}.description{max-width:490px;font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 35px}.access-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:12px;min-height:54px;padding:16px 22px;cursor:pointer;font-size:14px;font-weight:650;line-height:1.3;transition:background .18s,border-color .18s,transform .18s}.primary{background:var(--teal);color:white}.primary:hover{background:#066873}.primary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.secondary{background:white;color:var(--navy);border-color:#CBD7E2}.secondary:hover{background:#EDF5F6;border-color:#ABC4CF}.button:active{transform:translateY(1px)}.access-note{font-size:12px;line-height:1.65;color:var(--muted);margin:17px 0 0;min-height:40px;max-width:450px}
.footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding:25px 0 30px;color:var(--muted);font-size:12px;line-height:1.6}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:140px}}
@media(max-width:1080px){.page{width:calc(100% - 64px)}.hero{gap:18px}h1{letter-spacing:-2.4px}.button{padding:15px 18px}.description{font-size:16px}}
@media(max-width:800px){.header{height:100px}.brand img{width:190px}.hero{grid-template-columns:1fr;padding:44px 0 52px;gap:8px;min-height:0}.intro{max-width:590px}h1{font-size:clamp(45px,8vw,64px);letter-spacing:-2.5px}.description{max-width:530px;font-size:17px}.header-caption{font-size:12px}}
@media(max-width:480px){.page{width:calc(100% - 40px)}.header{height:88px}.brand img{width:169px}.header-caption{font-size:11px}.hero{padding-top:32px}.eyebrow{font-size:10px;letter-spacing:1.25px;margin-bottom:23px}h1{font-size:46px;letter-spacing:-2.4px;margin-bottom:25px}.description{font-size:16px;margin-bottom:27px}.access-actions{gap:10px}.button{font-size:13px;min-height:52px;padding:14px 17px;gap:12px}.access-note{font-size:11px;margin-top:15px;min-height:36px}.footer{font-size:10px;padding:23px 0;gap:12px}.hero{padding-bottom:55px}}
@media(max-width:360px){.header-caption{display:none}.button{padding-inline:13px;font-size:12px}.description{font-size:16px}h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:active{transform:none}}

/* Primoscore motion: a voucher connects people and business development. */
.motion-panel{position:relative;min-width:0;align-self:center;padding-bottom:32px}
.connection-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:560/520;container-type:inline-size}
.scene-wash{position:absolute;inset:17% 1% 4%;background:radial-gradient(ellipse at 53% 47%,#DDF4F1 0%,#E9F5F4aa 40%,transparent 72%);border-radius:50%}
.scene-orbit{position:absolute;inset:19% 4% 7%;border:1px solid #D8E7EB;border-radius:47% 53% 43% 57%;transform:rotate(-15deg)}
.orbit-inner{inset:27% 12% 16%;border-style:dashed;opacity:.6;transform:rotate(19deg)}
.scene-message{position:absolute;left:6%;top:4%;width:89%;min-height:62px;padding:13px 18px;display:flex;gap:13px;align-items:center;border:1px solid #E0E9EC;border-radius:16px;background:#fff;box-shadow:0 12px 36px #142d4e07;color:var(--navy);z-index:5}
.message-icon{display:flex;align-items:center;justify-content:center;color:var(--teal);width:32px;height:32px;flex:none;background:var(--aqua);border-radius:9px}
.scene-icon{width:23px;height:23px;display:block;fill:none;stroke:currentColor}
.message-text{font-size:clamp(12px,2.8cqw,16px);font-weight:600;letter-spacing:-.25px;white-space:nowrap;min-height:1.4em;display:flex;align-items:center}
.typing-caret{height:17px;width:1px;background:var(--teal);margin-left:-9px;opacity:0;flex:none}
.is-playing .typing-caret{animation:caret-blink 1.2s step-end infinite}
.connection-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke-linecap:round;stroke-width:1.8}
.route-base{stroke:#C8DDE2;stroke-dasharray:4 7}
.route{stroke:var(--teal);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s cubic-bezier(.2,.6,.3,1);opacity:.7}
[data-phase="contatti"] .route-contact-one,[data-phase="contatti"] .route-contact-two,[data-phase="sviluppo"] .route{stroke-dashoffset:0}
.route-contact-two{transition-delay:.28s}.route-development-two{transition-delay:.22s}
.scene-node{position:absolute;display:grid;justify-items:center;gap:10px;width:22%;transition:opacity .7s,transform .85s cubic-bezier(.2,.65,.3,1);color:var(--muted);opacity:.55;transform:translateY(8px) scale(.94);z-index:3}
.node-symbol{width:62px;height:62px;border:1px solid #DCE7ED;border-radius:18px;background:#fff;box-shadow:0 10px 22px #142d4e06;display:grid;place-items:center;color:#78909F;transition:color .6s,box-shadow .6s,border-color .6s,background .6s}
.node-symbol .scene-icon{width:27px;height:27px}.node-caption{font-size:12px;font-weight:500;white-space:nowrap}
.contact-one{left:5%;top:41%}.contact-two{left:68%;top:22%}.development-one{left:68%;top:72%}.development-two{left:14%;top:75%}
[data-phase="contatti"] .node-contact,[data-phase="sviluppo"] .scene-node{opacity:1;transform:translateY(0) scale(1);color:var(--navy)}
[data-phase="contatti"] .node-contact .node-symbol,[data-phase="sviluppo"] .scene-node .node-symbol{color:var(--teal);border-color:#AFCFD2;background:#fff;box-shadow:0 10px 24px #087f8c0d}
.scene-voucher-wrap{position:absolute;left:28%;top:37%;width:47%;height:31%;z-index:4}
.scene-voucher{position:relative;width:100%;height:100%;background:#fff;border-radius:18px;box-shadow:0 18px 50px #142d4e12,0 2px 5px #142d4e06;border:1px solid #DAE7EB;padding:20px;overflow:hidden;transform:rotate(-6deg);transform-origin:50% 60%}
.scene-logo{display:block;width:63%;height:auto;position:relative;z-index:1}.scene-voucher-label{display:block;position:relative;z-index:1;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:11px}
.scene-voucher p{position:relative;z-index:1;font-size:clamp(18px,4.4cqw,27px);font-weight:600;letter-spacing:-.7px;line-height:1.22;margin:8px 0 0;white-space:nowrap}.scene-voucher p span{color:var(--teal)}
.voucher-accent{position:absolute;left:20px;bottom:17px;width:24px;height:2px;background:var(--teal)}
.voucher-corner{position:absolute;right:-28px;bottom:-36px;width:98px;height:115px;border-radius:23px;background:var(--aqua);transform:rotate(14deg)}
.scene-steps{position:absolute;bottom:0;left:10%;right:1%;display:flex;align-items:center;justify-content:center;gap:11px}.scene-step{display:flex;align-items:center;gap:6px;font-size:12px;color:#52677F;white-space:nowrap;transition:color .4s}.scene-step b{font-size:10px;font-weight:600;opacity:.7}.step-divider{height:1px;width:22px;background:#CADDE2;flex-shrink:1}
[data-phase="voucher"] .step-voucher,[data-phase="contatti"] .step-contact,[data-phase="sviluppo"] .step-development{color:#066873;font-weight:700}
.motion-toggle{position:absolute;right:0;bottom:-21px;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.motion-toggle:hover{background:#EAF2F4;color:var(--navy)}.motion-toggle svg{height:12px;width:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.motion-toggle[hidden]{display:none}.play-icon{display:none}.motion-toggle[aria-pressed="true"] .play-icon{display:block}.motion-toggle[aria-pressed="true"] .pause-icon{display:none}
.is-playing .scene-voucher-wrap{animation:voucher-drift 7s ease-in-out infinite}.is-playing .scene-orbit{animation:orbit-drift 15s ease-in-out infinite}.is-playing .orbit-inner{animation:inner-orbit-drift 18s ease-in-out infinite}
.connection-scene:not(.is-playing) *{animation-play-state:paused!important}.connection-scene:not(.is-playing) .typing-caret{opacity:0}
@keyframes voucher-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes orbit-drift{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(-7deg)}}
@keyframes inner-orbit-drift{0%,100%{transform:rotate(19deg)}50%{transform:rotate(12deg)}}
@keyframes caret-blink{0%,49%{opacity:.7}50%,100%{opacity:0}}
@media(max-width:1080px){.scene-message{min-height:54px;padding:10px 13px;gap:10px}.node-symbol{width:52px;height:52px;border-radius:16px}.node-symbol .scene-icon{width:24px;height:24px}.scene-voucher{padding:14px}.scene-voucher-label{font-size:7px;margin-top:7px}.voucher-accent{left:14px;bottom:12px}.node-caption{font-size:11px}.scene-steps{left:0;right:0;gap:8px}.scene-step{font-size:11px}.step-divider{width:15px}}
@media(max-width:800px){.motion-panel{width:min(510px,100%);justify-self:center;margin-top:22px;padding-bottom:28px}.node-symbol{width:60px;height:60px}.scene-voucher{padding:18px}.scene-voucher-label{font-size:8px}.node-caption{font-size:12px}.scene-message{min-height:58px}.scene-steps{gap:12px}.scene-step{font-size:12px}}
@media(max-width:480px){.motion-panel{margin-top:20px}.scene-message{left:1%;width:98%;top:0;min-height:52px;padding:10px 12px;gap:10px}.message-icon{width:29px;height:29px}.message-text{font-size:12px}.node-symbol{width:46px;height:46px;border-radius:14px}.node-symbol .scene-icon{width:22px;height:22px}.node-caption{font-size:10px}.scene-node{gap:7px}.scene-voucher-wrap{left:27%;top:36%;width:50%;height:33%}.scene-voucher{padding:13px;border-radius:13px}.scene-voucher-label{font-size:6px;letter-spacing:1px;margin-top:5px}.scene-voucher p{font-size:18px;letter-spacing:-.6px;margin-top:6px}.voucher-accent{bottom:11px;left:13px;width:18px}.voucher-corner{width:80px;right:-40px}.scene-steps{gap:7px;bottom:-8px}.scene-step{font-size:10px}.scene-step b{font-size:9px}.step-divider{width:14px}.motion-toggle{font-size:11px;bottom:-27px}.hero{row-gap:10px}}
@media(prefers-reduced-motion:reduce){.connection-scene *{animation:none!important;transition:none!important}.typing-caret{display:none}}
