/* Flowy brand: violet #5946F9 and turquoise #0097A7. */
:root{--violet:#5946f9;--turquoise:#0097a7;--ink:#18191d;--muted:#646470;--mint:#a6ece9;--pale:#f1efff;--line:#e3e1ee}
body{background:#fdfdff}
.site-header{background:rgba(255,255,255,.93);border-color:#e5e1f4b3}
.button,.hero-actions .button{background:var(--violet);box-shadow:0 7px 22px #5946f922;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover,.hero-actions .button:hover{background:#4632dc;box-shadow:0 10px 28px #5946f937;transform:translateY(-3px)}
.button span{transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}
.wordmark i{background:linear-gradient(140deg,#0097a7,#5946f9)}
.language-switch a[aria-current="page"]{background:var(--violet)}
.hero{position:relative;padding-top:52px;padding-bottom:60px;isolation:isolate}
.hero:before{content:'';position:absolute;top:-90px;left:-130px;width:680px;height:710px;z-index:-1;background:radial-gradient(ellipse,#eeeaff 0%,#fdfdff00 68%);pointer-events:none}
.hero h1>span{color:var(--violet)}
.hero-visual{border-radius:68px 26px 68px 26px;box-shadow:0 25px 70px #4930a514}
.hero-photo{animation:scenery-drift 19s ease-in-out infinite alternate;transform-origin:60% 45%}
.hero-visual:after{background:linear-gradient(180deg,#15102b40,transparent 32%,transparent 50%,#18102f99)}
.hero-aura{position:absolute;z-index:2;right:-25px;top:29%;width:130px;height:130px;border:1px solid #c6b7ff80;border-radius:50%;box-shadow:0 0 0 23px #bda7f51f,0 0 0 47px #bba9fc0c;pointer-events:none;animation:aura-pulse 5s ease-in-out infinite}
.journey-toast{animation:toast-float 6s ease-in-out infinite;box-shadow:0 18px 45px #21134724;border:1px solid #ffffff85;backdrop-filter:blur(16px)}
.journey-toast .checkmark{color:#006774;background:#b0efed;box-shadow:0 0 0 5px #0097a70b}


.hero-proof b{color:#007e88}.mini-line{background:var(--turquoise)}
.trusted{border-color:#e5e0f1}.logos img{transition:filter .3s,opacity .3s}.logos img:hover{filter:none;opacity:1}
.benefits-grid{gap:22px}.benefit{position:relative;overflow:hidden;border-radius:24px;padding:27px;transition:transform .3s,border-color .3s,box-shadow .3s}
.benefit:hover{transform:translateY(-6px);box-shadow:0 20px 45px #5946f914}
.benefit-media{height:178px;margin:-27px -27px 25px;position:relative;overflow:hidden;background:#f0edff}
.benefit-top{margin-bottom:25px}.feature-icon{background:#f0edff;color:var(--violet);height:40px;width:40px;font-size:1.4rem;border-radius:12px}
.benefit-top>span:last-child{color:#80788d}.feature-tag{color:#6452b0}
.fare-visual{background:linear-gradient(130deg,#ede8ff,#e8f7f8);padding:23px 27px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fare-label{font-size:.75rem;color:#605575;margin-bottom:14px}.fare-options{display:flex;gap:9px;align-items:flex-end;height:39px;width:68%;margin-bottom:10px}
.fare-options i{height:32px;flex:1;background:#d2c9f4;border-radius:5px;transform-origin:bottom;animation:fare-rise 4.5s ease-in-out infinite}
.fare-options i:nth-child(2){height:39px;animation-delay:.2s}.fare-options i:nth-child(3){height:23px;background:#0097a7;animation-delay:.4s}
.fare-best{width:80%;background:white;box-shadow:0 7px 16px #5946f90c;border:1px solid #e3def2;border-radius:11px;padding:10px 15px;display:flex;justify-content:space-between;gap:18px;font-size:.8125rem;font-weight:600}.fare-best b{color:#008290}
.mode-visual{background:linear-gradient(145deg,#5946f9,#392498);padding:29px 23px;color:white;display:flex;flex-direction:column;justify-content:center}
.mode-visual>span{font-size:.8125rem;color:#e0d9ff;margin-bottom:27px}.mode-track{display:flex;justify-content:space-between;position:relative}
.mode-track:before{content:'';position:absolute;top:13px;left:20px;right:20px;height:1px;background:#ada0ff80}
.mode-stop{display:flex;flex-direction:column;align-items:center;gap:11px;z-index:1;min-width:58px;font-size:.75rem}.mode-stop b{display:grid;place-items:center;background:#5946cb;border:1px solid #b5a9ff9e;border-radius:50%;width:28px;height:28px;font-weight:500;font-size:.75rem}
.mode-traveller{position:absolute;top:9px;left:28px;height:9px;width:9px;border-radius:50%;background:#a6ece9;box-shadow:0 0 15px #a6ece9;animation:travel-route 6s ease-in-out infinite;z-index:2}
.video-visual{margin:-27px -27px 25px;background:#e5f2f5}.video-visual video{width:100%;height:100%;object-fit:cover;display:block}.video-visual figcaption{position:absolute;top:11px;left:12px;right:12px;pointer-events:none;width:max-content;max-width:calc(100% - 24px);font-size:.75rem;line-height:1.5;color:#24233a;background:#fffffff0;padding:5px 8px;border-radius:7px}.video-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:25px;background:#e9e3ff;font-size:.875rem;text-align:center}
.integration-strip{background:linear-gradient(110deg,#f1edff,#eff9fa);border:1px solid #e5e0f4}
.experience{background:linear-gradient(125deg,#f3f0ff,#f4f8fc 65%,#e9f7f8)}
.experience-grid{align-items:center;gap:48px}.journey-controls{min-width:0}
.step{border-color:#ded9ed;position:relative;overflow:hidden}.step.active{border-color:#d8cef6;box-shadow:0 9px 28px #5946f90c}
.journey-demo{background:#211c39;padding:25px;overflow:hidden;min-height:640px;box-shadow:0 24px 55px #39307120;transition:box-shadow .4s}
.passenger-scene{height:230px;margin:-25px -25px 24px;position:relative;overflow:hidden;background:#e5e0ed}
.passenger-scene img{height:100%;width:100%;object-fit:cover;object-position:50% 38%;animation:scenery-drift 24s ease-in-out infinite alternate}
.passenger-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#211c39c9)}
.passenger-scene>div{position:absolute;left:25px;bottom:22px;right:25px;z-index:1}.passenger-scene span{display:block;font-size:.75rem;margin-bottom:6px;color:#eee8ff}.passenger-scene strong{font-family:'Manrope',sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:-.5px}
.demo-heading{margin-bottom:20px}.demo-label{color:#b8aecf}.demo-body h3{font-size:1.55rem}.demo-body>p{color:#d0c8e0}.status-pill{background:#ffffff08;border-color:#5e557b;color:#a6ece9}.route-card{background:#332c50;padding:19px;margin:17px 0}.route-label>span:last-child{font-size:.75rem}.route-line{margin:20px 0 24px}.route-line:before{background:#76688d}.route-line:after{content:'';position:absolute;top:6px;left:7px;width:calc((100% - 14px) * var(--progress,0));height:2px;background:#a6ece9;transition:width .75s ease}.route-line[data-route-stage="1"]{--progress:.5}.route-line[data-route-stage="2"]{--progress:1}.route-point i{background:#332c50;border-color:#8d7eaa;transition:background .3s,box-shadow .3s}.route-point.complete i{background:#a6ece9;border-color:#a6ece9;box-shadow:0 0 0 5px #a6ece91c}.route-footer{border-color:#554a70}.route-footer span{color:#c8bcdb}.demo-bottom{margin-top:20px;color:#bdb1d0}
.journey-demo.is-changing .demo-body{animation:panel-enter .5s ease both}
.technology{background:radial-gradient(ellipse at 12% 50%,#302256 0,transparent 50%),#19172e}
.tech-art{position:relative;background:radial-gradient(ellipse at 50% 42%,#ffffff 0%,#ffffff00 65%),linear-gradient(135deg,#f1edff,#e5f5f5);border-color:#d8d0f0;color:#211c39;isolation:isolate}.tech-art>.eyebrow{color:#5c4b82}.tech-art>.eyebrow,.tech-signature{position:relative;z-index:1}.tech-art>img{position:relative;z-index:1;animation:sensor-float 7s ease-in-out infinite}.sensor-orbit{position:absolute;inset:70px 0 75px;display:grid;place-items:center;z-index:0;pointer-events:none}.sensor-orbit i{position:absolute;width:70%;aspect-ratio:1;border:1px solid #5946f924;border-radius:50%;animation:sensor-ring 6s ease-out infinite}.sensor-orbit i:nth-child(2){animation-delay:2s}.sensor-orbit i:nth-child(3){animation-delay:4s}
.tech-copy h2>span,.tech-copy>.text-link{color:#8ee4e6}.tech-copy>.eyebrow{color:#9bd6dd}.tech-index{color:#b09dcd}.tech-item{border-color:#443750}.tech-intro,.tech-item p{color:#d0c7e0}.tech-art .tech-signature strong{color:#4b3a6b}.tech-art .small-caption{color:#5f546f}
.contact-card{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(118deg,#5946f9 0%,#4c36d4 60%,#382680 100%);color:#fff;box-shadow:0 20px 60px #5946f91a}
.contact-card:before{content:'';position:absolute;width:600px;height:600px;border:1px solid #ffffff1a;box-shadow:0 0 0 50px #ffffff03,0 0 0 100px #ffffff03;border-radius:50%;right:-280px;top:-230px;z-index:-1}
.contact-card .eyebrow{color:#e1d9ff}.contact-card h2>span{color:#a6ece9}.contact-copy>p:not(.eyebrow){color:#efebff}.contact-actions .button{background:#fff;color:#4936d9;box-shadow:none}.contact-actions .button:hover{background:#effcfb}.email-explainer,.contact-actions p{color:#e7e1fc}.contact-email{color:white}.demo-agenda{background:#ffffff10;border-color:#ffffff29;backdrop-filter:blur(8px)}.demo-agenda li{border-color:#ffffff29}.demo-agenda li:before{color:#bcecec}.agenda-brand{color:#fff;opacity:.6}
.motion-ready .reveal{transition:opacity .7s,transform .7s;transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}
@keyframes scenery-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes toast-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes aura-pulse{0%,100%{transform:scale(.88);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@keyframes fare-rise{0%,100%{transform:scaleY(.86)}50%{transform:scaleY(1)}}
@keyframes travel-route{0%,12%{left:27px}46%,58%{left:calc(50% - 4px)}90%,100%{left:calc(100% - 36px)}}

@keyframes panel-enter{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes sensor-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes sensor-ring{0%{transform:scale(.65);opacity:0}18%{opacity:.7}100%{transform:scale(1.7);opacity:0}}
@media(min-width:1450px){.hero-visual,.hero-photo{height:610px;min-height:610px}.benefit-media{height:200px}}
@media(max-width:1120px){.benefit{padding:24px}.benefit-media,.video-visual{margin:-24px -24px 25px}.experience-grid{gap:30px}.journey-demo{padding:22px}.passenger-scene{margin:-22px -22px 23px;height:210px}.fare-visual{padding-left:17px;padding-right:17px}.mode-visual{padding-left:17px;padding-right:17px}.mode-stop{min-width:47px}.video-visual figcaption{font-size:.75rem;max-width:calc(100% - 16px);left:8px}}
@media(max-width:760px){.hero{padding-top:34px;padding-bottom:40px}.hero:before{left:-100px;width:calc(100% + 100px);height:600px}.hero-visual{border-radius:46px 20px 46px 20px}.hero-aura{width:90px;height:90px}.benefits-grid{gap:23px}.benefit{padding:27px}.benefit-media,.video-visual{margin:-27px -27px 26px;height:196px}.benefit h3{font-size:1.5rem}.benefit-top{margin-bottom:22px}.fare-visual{padding:20px 34px}.fare-options{width:65%}.fare-best{width:75%}.mode-visual{padding:30px 27px}.mode-visual>span{font-size:.875rem}.mode-stop{font-size:.8125rem}.mode-track{margin:0 7px}.video-visual figcaption{left:14px;top:12px;font-size:.75rem}.experience-grid{gap:28px}.journey-demo{padding:24px;min-height:640px}.passenger-scene{margin:-24px -24px 24px;height:210px}.passenger-scene>div{left:23px;right:23px}.passenger-scene strong{font-size:1.375rem}.technology{background:radial-gradient(ellipse at 50% 85%,#302256,transparent 58%),#19172e}.tech-art>img{height:285px}.contact-card{background:linear-gradient(145deg,#5946f9,#382680)}.demo-agenda{width:100%}.hero h1{font-size:clamp(2.4rem,10.6vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
/* Approved Flowypass identity, with a monochrome treatment on dark surfaces. */
.flowypass-brand{display:block;width:220px;height:auto;max-width:100%;object-fit:contain}
.wordmark{display:inline-flex;align-items:center;line-height:1}
.demo-heading .flowypass-brand{width:185px;filter:brightness(0) invert(1)}
.agenda-brand{opacity:1}.agenda-brand .flowypass-brand{width:235px;filter:brightness(0) invert(1)}
.footer .flowypass-brand{width:245px}
@media(max-width:1120px){.header .flowypass-brand{width:180px}}
@media(max-width:760px){.header .flowypass-brand{width:160px}.header-actions{gap:9px}}
@media(max-width:370px){.header .flowypass-brand{width:133px}.header-actions{gap:7px}}
/* Language menu */
.language-switch{border:1px solid #e1def0;background:#fff;padding:0;border-radius:14px;box-shadow:0 2px 5px #211c3904;transition:border-color .2s,box-shadow .2s}
.language-switch:hover,.language-switch[open]{border-color:#b4a9f6;box-shadow:0 4px 16px #5946f910}
.language-switch summary{min-height:43px;padding:9px 12px;gap:9px;font-size:.875rem;color:#3c3556}.language-globe{color:#6652df;flex:none}.language-chevron{transition:transform .2s;opacity:.65}.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-current-code{display:none}.language-options{width:235px;max-width:calc(100vw - 36px);top:calc(100% + 12px);padding:9px;border:1px solid #e9e5f6;border-radius:20px;box-shadow:0 18px 50px #211c3924}.language-menu-title{margin:5px 10px 9px;font-size:.75rem;letter-spacing:.03em;color:#7b748b;font-weight:600}
.language-switch .language-options a{display:flex;align-items:center;gap:11px;border-radius:11px;padding:10px;font-size:.9375rem;font-weight:500;min-height:46px;text-align:left;transition:background .15s}.language-code-badge{display:grid;place-items:center;width:33px;height:29px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;background:#f1eef9;border-radius:7px;color:#807493;flex:none}.language-check{margin-left:auto;color:#5946f9;font-weight:700}
.language-switch .language-options a[aria-current="page"]{background:#eee9ff;color:#4936ba}.language-switch a[aria-current] .language-code-badge{background:#5946f9;color:#fff}.language-switch .language-options a:hover:not([aria-current]){background:#f7f5fc}.footer-bottom .language-switch{padding:0}
@media(max-width:1120px){.language-current-name{display:none}.language-current-code{display:inline}}
@media(max-width:370px){.language-switch summary{gap:6px;padding:8px}.language-globe{width:17px}}
/* A real contact destination also works without JavaScript or a mail handler. */
.contact-page{min-height:100dvh;background:radial-gradient(ellipse at 50% 0%,#e7e1ff,transparent 65%),#faf9ff;padding:36px 20px 70px}.contact-page-brand{display:block;width:220px;max-width:75%;margin:0 auto 35px}.contact-page-card{position:relative;display:block;width:min(560px,100%);max-height:none;padding:38px;margin:auto}.contact-page-card h1{font-size:2rem;letter-spacing:-.8px;line-height:1.15;margin:28px 0 18px}.contact-back{display:inline-flex;font-size:.875rem;color:#6a617c}.contact-page .contact-close{display:none}
.demo-contact .contact-providers small{display:block;font-size:.75rem;font-weight:400;line-height:1.4;color:#756b84;margin-top:4px}.webmail-draft{border:1px solid #e1dcec;border-radius:12px;margin:16px 0;padding:12px 14px}.webmail-draft summary{font-size:.875rem;line-height:1.5;color:#5946f9;cursor:pointer;font-weight:600}.webmail-draft label{display:block;margin-top:15px;font-size:.8125rem;font-weight:600;color:#60566e}.webmail-draft input,.webmail-draft textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #ded9ed;border-radius:8px;padding:10px;font:inherit;font-size:.875rem;font-weight:400;color:#211c39;background:#faf9ff}.webmail-draft textarea{resize:vertical;line-height:1.5}.webmail-draft .copy-draft{margin-top:12px;padding:10px 14px;border:0;border-radius:8px;background:#5946f9;color:white;font:inherit;font-size:.875rem;cursor:pointer}.demo-contact .draft-copy-status{font-size:.8125rem;margin:10px 0 0}
