/* Shared styles for the Italian and English pages. */
[hidden]{display:none!important}
:root{scroll-padding-top:105px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(252,253,251,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e3e1ee7a}
.header{height:88px;gap:30px}
.brand-name{display:inline-flex;align-items:baseline;white-space:nowrap}
.wordmark{flex-shrink:0}.wordmark>.brand-name{font-weight:800}
.header nav{gap:25px;font-weight:500}
.header-actions{display:flex;align-items:center;gap:23px;margin-left:auto}
.button.small{gap:17px;white-space:nowrap}
.language-switch{position:relative;display:block;flex-shrink:0;border:1px solid var(--line);border-radius:30px;padding:4px;background:#f4f2fb}
.language-switch summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:600;min-height:34px;padding:4px 9px;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-options{position:absolute;right:0;top:calc(100% + 9px);z-index:60;display:flex;flex-direction:column;gap:4px;min-width:155px;padding:8px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px #18191d20}
.language-switch .language-options a{display:block;text-align:left;font-size:.9375rem;padding:11px 14px;line-height:1.35}
.footer-bottom .language-options{top:auto;bottom:calc(100% + 9px)}
.language-switch summary:focus-visible,.language-options a:focus-visible{outline:3px solid var(--purple,#5946f9);outline-offset:3px}
.language-switch a{font-size:.75rem;font-weight:600;letter-spacing:.2px;padding:7px 8px;border-radius:20px;line-height:1.2;min-width:34px;text-align:center}
.language-switch a[aria-current="page"]{background:var(--ink);color:white}
.language-switch a:hover:not([aria-current]){background:#e7e2ff}
.hero{gap:48px;padding-top:45px;padding-bottom:52px;align-items:center}
.hero h1{font-size:clamp(2.65rem,4.4vw,3.95rem);line-height:1.08;letter-spacing:-2.7px;margin:24px 0}
.hero h1>span br{display:initial}
.hero .eyebrow{font-size:.75rem;letter-spacing:.75px;max-width:440px}
.hero .lead{max-width:475px;font-size:1.125rem;line-height:1.65;margin-bottom:26px}
.hero-note{max-width:415px;font-size:.8125rem;line-height:1.6;margin-top:17px}
.hero-actions{gap:22px;flex-wrap:wrap}
.hero-actions .button{background:var(--ink);padding:18px 24px;gap:22px;box-shadow:0 6px 18px #16392b12}
.hero-actions .button:hover{background:#4632dc}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px}
.hero-proof>span{display:flex;align-items:center;gap:7px;font-size:.8125rem;font-weight:500}
.hero-proof b{color:#007985;font-weight:500}
.hero-visual,.hero-photo{height:570px;min-height:570px}
.hero-photo{object-position:67% center}
.photo-top{font-size:.75rem;letter-spacing:.65px;gap:25px;align-items:flex-start;line-height:1.5}
.photo-top>span:first-child{max-width:215px}
.photo-top>span:last-child{white-space:nowrap}
.journey-toast{top:auto;bottom:131px;left:24px;right:24px;padding:18px;align-items:center}
.journey-toast strong{font-size:.9375rem;line-height:1.45;margin-bottom:5px}
.journey-toast div>span{display:block;font-size:.8125rem;line-height:1.5}
.visual-caption{bottom:29px;font-size:1.125rem;line-height:1.5}
.trusted{padding-top:28px;padding-bottom:28px;gap:38px}
.trusted p{font-size:.875rem;min-width:245px;max-width:245px}
.customer-logos{flex:1;min-width:0}
.customer-logos>span{font-size:.75rem;color:var(--muted);display:block;margin-bottom:15px}
.logos{gap:28px}
.logos img{max-width:120px;max-height:35px;width:19%;opacity:.75}
.logos img:last-child{width:65px}
.logos img[alt="Trenord"]{height:35px}
.section-space{padding-top:85px;padding-bottom:85px}
.operators{padding-top:78px}
.section-heading{margin-bottom:43px;gap:40px}
h2{font-size:2.5rem;line-height:1.2;letter-spacing:-1.65px}
h2>span{color:#5946f9}
.benefits-grid{border:0;gap:18px;overflow:visible}
.benefit{border:1px solid var(--line)!important;border-radius:18px;background:#fff;padding:29px;transition:border-color .2s,box-shadow .2s}
.benefit:hover{border-color:#9d8dff!important;box-shadow:0 12px 25px #25453407}
.benefit-top{margin-bottom:31px}
.benefit h3{font-size:1.4rem;line-height:1.3}
.benefit h3 br{display:initial}
.benefit p{font-size:1rem;line-height:1.7;margin-bottom:29px}
.feature-tag{font-size:.75rem;line-height:1.6;letter-spacing:.35px}
.integration-strip{padding:27px 30px;align-items:center;gap:25px}
.integration-strip h3{font-size:1.125rem;line-height:1.45}
.integration-strip p{line-height:1.65}
.integration-strip>.text-link{font-size:.875rem;max-width:210px;line-height:1.5}
.experience-grid{gap:42px}
.step{padding:28px 23px}
.step strong{font-size:1.125rem}
.step>span:nth-child(2)>span{line-height:1.7}
.journey-demo{min-height:485px}
.demo-body h3{font-size:1.75rem;line-height:1.25}
.route-label{line-height:1.6;letter-spacing:.55px}
.demo-confirmation{line-height:1.5}
.technology{padding:84px 0}
.tech-grid{gap:65px}
.tech-copy h2{font-size:2.25rem}
.tech-signature{flex-wrap:wrap;gap:20px}
.small-caption{font-size:.75rem;letter-spacing:.5px}
.tech-item p{font-size:1rem}
.faq{gap:70px}
.faq h2 br{display:initial}
.faq-list summary{font-weight:550;line-height:1.55}
.faq-list summary>span{flex-shrink:0}
.contact-card{padding:54px;align-items:stretch;gap:52px;background:#6be7b7}
.contact-copy{flex:1.1;min-width:0}
.contact-card h2{font-size:2.75rem;line-height:1.17}
.contact-card h2>span{color:#205c46}
.contact-card .eyebrow{font-size:.75rem;letter-spacing:.8px;line-height:1.6}
.contact-copy>p:not(.eyebrow){max-width:440px}
.contact-actions{padding-top:27px;align-items:flex-start}
.contact-actions .button{min-width:0;gap:35px;padding:18px 25px}
.email-explainer{font-size:.8125rem;line-height:1.6;margin-top:13px;color:#24533f}
.contact-email{margin-top:25px;font-size:1rem}
.contact-actions p{margin-top:5px;font-size:.8125rem;white-space:normal}
.demo-agenda{flex:.9;min-width:0;background:#ffffff59;border:1px solid #285d402e;padding:32px;border-radius:18px;display:flex;flex-direction:column;justify-content:center}
.demo-agenda>p{font-family:'Manrope',sans-serif;font-size:1.25rem;margin:0 0 15px;font-weight:600}
.demo-agenda ol{padding:0;list-style:none;counter-reset:agenda;margin:0}
.demo-agenda li{counter-increment:agenda;display:flex;gap:18px;align-items:baseline;border-bottom:1px solid #377f5e38;padding:20px 0;font-size:1rem;line-height:1.6}
.demo-agenda li:before{content:'0' counter(agenda);font-size:.75rem;color:#286d4f}
.agenda-brand{font-family:'Manrope',sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-1.5px;margin-top:35px;opacity:.5}
.agenda-brand .brand-name>span{font-weight:400}
.footer-bottom{align-items:center}
.footer-bottom .language-switch{padding:2px}
.footer-bottom .language-switch a{font-size:.75rem;padding:6px 8px}
.mobile-demo{display:none}
@media(max-width:1120px){.header{gap:22px}.header nav{gap:20px;font-size:.8125rem}.header-actions{gap:15px}.header>.wordmark{font-size:1.875rem}.header .button.small{font-size:.8125rem;padding:12px 16px;gap:12px}.hero{gap:32px}.hero h1{font-size:3.35rem;letter-spacing:-2.3px}.hero-visual,.hero-photo{height:560px;min-height:560px}.hero .lead{font-size:1.0625rem}.trusted{gap:30px}.trusted p{min-width:215px;max-width:215px}.logos{gap:15px}.benefit{padding:25px}.benefit h3{font-size:1.3rem}.tech-grid{gap:40px}.contact-card{padding:40px;gap:35px}.contact-card h2{font-size:2.4rem}.demo-agenda{padding:26px}}
@media(max-width:960px){.header{height:78px;padding:0 26px}.header nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;padding:10px}.menu-toggle>span{display:block;width:17px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.header nav.open{position:absolute;display:flex;top:77px;left:18px;right:18px;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 25px;box-shadow:0 15px 35px #18191d1a;z-index:50;font-size:1rem}.hero h1{font-size:2.8rem;letter-spacing:-1.9px}.hero-actions{gap:17px}.hero-actions .button{padding:16px 21px;gap:18px;font-size:.875rem}.hero-visual,.hero-photo{height:590px;min-height:590px}.photo-top{left:23px;right:23px;gap:14px}.photo-top>span:first-child{max-width:150px}.photo-top>span:last-child{font-size:.75rem}.section-heading{align-items:flex-start}.section-heading .section-intro{max-width:280px}h2{font-size:2.15rem}.benefits-grid{gap:13px}.benefit{padding:22px}.benefit h3{font-size:1.2rem}.integration-strip{flex-wrap:wrap}.integration-strip>div:nth-child(2){flex:1}.integration-strip>.text-link{max-width:none;margin-left:54px}.step{padding:24px 17px;gap:15px}.experience-grid{gap:25px}.journey-demo{padding:25px}.demo-heading{flex-wrap:wrap;gap:13px}.tech-copy h2{font-size:2rem}.contact-card{gap:30px;padding:34px}.contact-card h2{font-size:2.25rem}.demo-agenda{padding:23px}.faq{gap:45px}}
@media(max-width:760px){.header{height:76px;padding:0 22px;flex-wrap:nowrap;gap:14px}.header-actions{gap:12px}.header>.wordmark{font-size:1.75rem}.header-demo{display:none!important}.header nav.open{top:75px}.language-switch{padding:3px}.language-switch a{font-size:.75rem;min-width:31px;padding:7px}.hero{padding-top:33px;padding-bottom:32px;gap:29px}.hero .eyebrow{font-size:.75rem;letter-spacing:.5px}.hero h1{font-size:clamp(2.4rem,10.6vw,3.5rem);letter-spacing:-1.9px;line-height:1.11;margin:23px 0}.hero .lead{font-size:1.0625rem;line-height:1.65;max-width:100%}.hero-actions{gap:17px}.hero-actions .button{font-size:.875rem;padding:17px 20px;gap:16px}.hero-actions .text-link{font-size:.875rem;gap:9px}.hero-note{font-size:.8125rem;max-width:340px}.hero-proof{margin-top:20px;gap:9px 16px}.hero-proof>span{font-size:.8125rem}.hero-visual,.hero-photo{height:430px;min-height:430px}.journey-toast{top:auto;bottom:113px;left:18px;right:18px;padding:16px;gap:11px}.journey-toast strong{font-size:.875rem}.journey-toast div>span{font-size:.8125rem}.journey-toast .checkmark{width:33px;height:33px;font-size:1.0625rem}.photo-top{top:24px;font-size:.75rem;left:23px;right:23px;gap:12px}.photo-top>span:first-child{max-width:170px}.photo-top>span:last-child{font-size:.75rem}.visual-caption{bottom:27px;left:24px;right:24px;font-size:1.0625rem;line-height:1.5}.trusted{display:block;padding-top:23px;padding-bottom:28px}.trusted p{max-width:100%;min-width:0;font-size:.875rem;line-height:1.7;margin-bottom:22px}.trusted p br{display:initial}.customer-logos>span{margin-bottom:17px}.logos{justify-content:flex-start;flex-wrap:wrap;gap:20px 23px}.logos img{width:88px;max-height:29px}.logos img:last-child{width:54px}.logos img[alt="Trenord"]{height:29px}.section-space{padding-top:61px;padding-bottom:61px}.section-heading{display:block;margin-bottom:31px}.section-heading .section-intro{max-width:100%;margin-top:22px}h2{font-size:2rem;letter-spacing:-1.2px}.benefits-grid{gap:15px}.benefit{padding:27px}.benefit h3{font-size:1.5rem}.benefit h3 br{display:initial}.benefit-top{margin-bottom:26px}.benefit p{margin-bottom:25px}.integration-strip{padding:26px;gap:17px;margin-top:22px}.integration-mark{display:none}.integration-strip>div:nth-child(2){flex-basis:100%}.integration-strip>.text-link{margin-left:0;font-size:.875rem}.experience-grid{gap:25px}.step{padding:24px 18px}.step strong{font-size:1.0625rem}.step>span:nth-child(2)>span{font-size:1rem}.journey-demo{min-height:455px;padding:25px}.demo-body h3{font-size:1.65rem}.demo-label{font-size:.75rem}.route-card{padding:19px}.route-label{font-size:.75rem}.demo-bottom{font-size:.75rem}.technology{padding:63px 0}.tech-grid{gap:35px}.tech-copy h2{font-size:2rem}.tech-art{padding:25px}.tech-art>img{height:290px}.faq{gap:26px}.faq h2{margin-bottom:22px}.faq h2 br{display:initial}.faq .section-intro{max-width:100%}.faq-list summary{font-size:1rem;padding:22px 0}.contact-section{padding-bottom:50px}.contact-card{padding:30px 25px;display:flex;flex-direction:column;gap:32px}.contact-card h2{font-size:2.125rem;letter-spacing:-1.4px}.contact-copy>p:not(.eyebrow){font-size:1rem}.contact-actions{padding-top:23px}.contact-actions .button{width:100%;justify-content:space-between;padding:18px 24px;font-size:1rem}.email-explainer{font-size:.8125rem}.contact-email{font-size:.9375rem;margin-top:23px}.demo-agenda{padding:25px}.demo-agenda>p{font-size:1.125rem}.demo-agenda li{padding:16px 0}.agenda-brand{display:none}.footer-top{gap:26px}.footer-bottom{align-items:flex-start}.footer-bottom .language-switch{order:3}.mobile-demo:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;gap:14px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:#fdfdfff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 25px #18191d07}.mobile-demo>span{font-size:.8125rem;line-height:1.45;flex:1;max-width:145px}.mobile-demo .button{font-size:.875rem;padding:13px 18px;gap:13px}.footer{padding-bottom:110px}}
@media(max-width:370px){.header{padding:0 17px;gap:10px}.header>.wordmark{font-size:1.6rem}.header-actions{gap:8px}.language-switch a{min-width:28px;padding:7px 5px}.hero-actions{gap:17px}.hero-actions .button{padding:16px 17px;gap:13px}.hero-proof{gap:10px}.hero h1{letter-spacing:-1.6px}.journey-toast{gap:9px;padding:14px}.visual-caption{font-size:1rem}.mobile-demo{padding-left:16px!important;padding-right:16px!important}.mobile-demo .button{font-size:.8125rem;padding:13px 14px;gap:10px}.mobile-demo>span{font-size:.75rem}.demo-heading .wordmark{font-size:1.5rem}.contact-email{font-size:.875rem}}
.demo-contact{border:1px solid #ded9ed;border-radius:24px;padding:36px;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:#211c39;background:#fff;box-shadow:0 24px 80px #211c3940;margin:auto}
.demo-contact::backdrop{background:#211c3999;backdrop-filter:blur(4px)}
.demo-contact form{position:absolute;right:12px;top:12px}.demo-contact .contact-close{border:0;background:transparent;font:inherit;font-size:28px;width:40px;height:40px;cursor:pointer;color:inherit}
.demo-contact h2{font-size:1.75rem;letter-spacing:-.5px;padding-right:25px;margin:0 0 16px;line-height:1.2}.demo-contact p{font-size:1rem;line-height:1.55;margin:0 0 18px}
.demo-contact .contact-address{display:block;font-size:1.0625rem;overflow-wrap:anywhere;text-decoration:underline;margin:0 0 22px;color:#5946f9}
.demo-contact .contact-providers{display:grid;gap:10px;margin-bottom:18px}.demo-contact .contact-providers a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-radius:12px;border:1px solid #ded9ed;font-size:1rem;font-weight:600}.demo-contact .contact-providers a:hover{background:#f4f2fb;border-color:#5946f9}
.demo-contact .contact-app,.demo-contact .contact-copy{display:block;margin:14px 0;font:inherit;font-size:.9375rem;color:#211c39;text-decoration:underline}.demo-contact .contact-copy{border:0;padding:0;background:transparent;cursor:pointer}
.demo-contact .contact-copy-status{font-size:.875rem;margin:0}.demo-contact .contact-draft-note{margin:20px 0 0;font-size:.875rem;color:#605b70}.demo-contact :focus-visible{outline:3px solid #5946f9;outline-offset:4px}
@media(max-width:480px){.demo-contact{padding:30px 23px}.demo-contact h2{font-size:1.5rem}}
