/* A shared material language for every device. */
.phone,.interactive-phone{background:linear-gradient(125deg,#d8e1e6,#687985 9%,#111e2c 20%,#081725 75%,#6e808b 96%,#cad6dc);padding:7px;box-shadow:0 28px 52px #001b3a30,inset 0 0 0 1px #c5d5de80,0 1px 0 #fff9}
.phone>img,.runway-demo .live-screen{box-shadow:0 0 0 2px #071524;border-radius:28px}.phone:after{content:'';position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 38%,#ffffff09 44%,#ffffff40 49%,transparent 54%);pointer-events:none;transform:translateX(-120%);animation:device-glint 10s ease-in-out infinite}.interactive-phone{position:relative}.hero-media{padding-bottom:100px}.hero-media:before{content:'';position:absolute;width:310px;height:310px;bottom:60px;background:radial-gradient(ellipse,#56bdf03d,transparent 70%);filter:blur(22px);pointer-events:none}.hero-media .phone{width:276px;box-shadow:18px 34px 65px #00132980,inset 0 0 0 1px #e4efffa0}.hero-media .floating-note{left:50%;bottom:0;transform:translateX(-50%);width:248px;justify-content:center;padding:14px 16px;border:1px solid #fff6;box-shadow:0 12px 28px #00132740;white-space:nowrap;border-radius:14px}.orbit-label.bottom{bottom:78px;right:15px}.orbit-label.top{top:-5px}.watch-case{box-shadow:0 28px 52px #001b3a30,inset 0 0 0 1px #ffffffbb,inset 0 0 0 4px #919da388}.watch-glass{cursor:default}.watch-glass:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(130deg,#fff1,transparent 30%,transparent 75%,#fff1);pointer-events:none}.phone,.watch-case,.interactive-phone{transition:box-shadow .35s ease}
/* Responsive process explorer. */
.process-detail{grid-template-columns:170px 1fr;min-height:220px;position:relative;overflow:hidden}.process-art{width:160px;height:160px;background-repeat:no-repeat;background-size:contain;background-position:center;border-radius:0;mix-blend-mode:normal}.dark .process-art{mix-blend-mode:normal}.process-detail h3{margin-top:0}.process-nav{display:flex;align-items:center;gap:15px;justify-content:flex-end;margin-top:16px;font-size:11px;color:var(--muted)}.process-nav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--navy);font-size:17px}.process-nav button:disabled{opacity:.3;cursor:default}.dark .process-nav{color:#b7cadd}.dark .process-nav button{background:#ffffff0a;color:#edba69;border-color:#ffffff25}.process-illustration{position:relative}.process-hotspots{position:absolute;left:3%;right:3%;top:24%;bottom:6%;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.process-hotspots button{padding:0;border:1px solid transparent;border-radius:15px;background:transparent;transition:border-color .3s,background .3s;position:relative}.process-hotspots button:hover{background:#e9a3330b;border-color:#e9a33366}.process-hotspots button.is-current{border-color:#e9a333b0;background:#e9a33305;box-shadow:0 0 0 1px #e9a33320}.process-hotspots button:focus-visible{outline:3px solid var(--gold)}.process-hotspots .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.process-nav .mobile-process-hint{margin-right:auto}.dark .process-hotspots button.is-current{background:#e9a33308}.process-art{flex:none}
/* Live presentation transitions. */
.demo-previous{position:absolute;inset:0;width:100%;height:auto;z-index:2;pointer-events:none}.runway-demo .live-screen{isolation:isolate}.demo-map-motion{position:absolute;top:19%;height:42%;left:0;right:0;overflow:hidden;pointer-events:none;z-index:1}.demo-map-motion img{position:absolute;top:-45.238%;width:100%;height:auto;max-width:none;transform-origin:50% 48%}.demo-feedback{position:absolute;z-index:3;left:7%;right:7%;top:13%;padding:8px 9px;border-radius:10px;font-size:8px;font-weight:700;background:#f1fbf6;color:#17684f;box-shadow:0 5px 18px #00172f20;text-align:center;pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}.demo-feedback.visible{opacity:1;transform:none}.demo-feedback:before{content:'';display:inline-block;width:5px;height:5px;background:#37a879;border-radius:50%;margin-right:5px;box-shadow:0 0 0 3px #37a87918}.demo-feedback.complete{font-size:9px;padding:10px}.runway-demo.is-complete{box-shadow:0 24px 55px #1d976a26,0 0 0 2px #28a37230}.demo-title-in{animation:copy-in .4s ease}.demo-timeline li{transition:color .3s,border-color .3s}.runway-demo #demo-action{transition:background .25s,box-shadow .25s,transform .2s;z-index:4}.runway-demo #demo-action:hover{box-shadow:0 5px 20px #e9a33340;transform:translateY(-1px)}.runway-demo #demo-action:disabled{cursor:wait}.demo-map-motion{border-radius:0}.demo-copy{min-width:0}
/* Official customer identities, in readable reference cards. */
.reference-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reference-list details{position:relative;border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}.reference-list details:hover{transform:translateY(-4px);border-color:#d7b571;box-shadow:0 15px 35px #12334e0a}.reference-list summary{display:flex;align-items:flex-start;flex-direction:column;gap:0;padding:0;min-height:155px;list-style:none}.reference-list summary>span{position:absolute;right:52px;top:24px;font-size:10px}.reference-list .reference-brand{width:135px;height:42px;object-fit:contain;object-position:left center;margin:5px 0 24px}.reference-list summary strong{display:block;flex:none;font-size:24px;line-height:1.25;margin:0 0 9px}.reference-list summary small{display:block;font-size:11px;line-height:1.5;padding-right:10px}.reference-list summary b{position:absolute;right:24px;top:17px;font-size:25px}.reference-list details>p{margin:20px 0 0;font-size:13px;line-height:1.8;border-top:1px solid var(--line);padding-top:17px}.reference-list details[open]{border-color:#cfdce7}.reference-list summary::-webkit-details-marker{display:none}
/* A more useful ending, with a real scannable link. */
.closing-grid{grid-template-columns:1fr 1.35fr .8fr;gap:30px;align-items:stretch}.closing-label{display:block;font-size:9px;letter-spacing:.15em;color:#b9cddd;margin-bottom:20px}.contact-card{padding:26px 0}.contact-card h3{font-size:27px}.contact-links{display:flex;flex-direction:column;gap:9px;margin:27px 0}.contact-links>span{font-size:10px;color:#a9bfd1}.contact-links a{font-size:14px;color:#eef5fb}.contact-links a:hover{color:var(--gold)}.contact-card>.text-link{font-size:11px}.pdf-card{padding:27px;border:1px solid #ffffff22;background:linear-gradient(135deg,#ffffff09,#ffffff02);border-radius:18px;position:relative}.pdf-card h3{font-size:24px;line-height:1.3;margin-top:18px}.pdf-card p{font-size:13px;color:#b9cddd;line-height:1.8}.pdf-icon{display:flex;align-items:center;gap:12px;font-size:10px;color:#edba69}.pdf-icon>span{display:grid;place-items:center;width:28px;height:34px;border:1px solid #e9a33388;border-radius:5px;font-size:21px}.closing .pdf-download{font-size:12px;width:100%;justify-content:space-between;margin:21px 0 14px;white-space:normal;line-height:1.5;text-align:left;padding:15px 18px}.pdf-card #print{font-size:10px;color:#bdd0df;padding:0}.qr-card{align-self:center;display:flex;flex-direction:column;align-items:center;background:white;padding:16px 16px 20px;border-radius:17px;color:var(--ink);transition:transform .25s,box-shadow .25s}.qr-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0002}.qr-card img{width:170px;max-width:100%;height:auto;aspect-ratio:1}.qr-card strong{font-size:23px;margin:5px 0}.qr-card span{font-size:9px;letter-spacing:.04em;color:var(--muted)}.closing footer{margin-top:65px}.closing footer>img{border-radius:3px}
@keyframes device-glint{0%,60%,100%{transform:translateX(-120%)}82%{transform:translateX(120%)}}@keyframes copy-in{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.closing-grid{grid-template-columns:1fr 1.3fr}.qr-card{grid-column:1/-1;flex-direction:row;justify-content:center;gap:20px;justify-self:center;padding:10px 20px}.qr-card img{width:100px}.reference-list details{padding:20px}.reference-list summary strong{font-size:21px}.reference-list summary>span{display:none}.reference-list summary b{right:18px}.reference-list .reference-brand{width:115px}}
@media(max-width:760px){.hero-media{padding-bottom:105px;max-width:370px}.hero-media .phone{width:245px}.hero-media .floating-note{bottom:0;left:50%;width:240px}.orbit-label.bottom{bottom:78px;right:12px;font-size:7px}.orbit-label.top{font-size:7px}.hero-grid{gap:50px}.process-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:0;padding-bottom:8px}.process-tabs button{flex:0 0 98px;scroll-snap-align:center;min-height:82px;padding:12px 8px;font-size:11px}.process-tabs button>span{font-size:21px}.process-detail{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 22px 26px;min-height:370px;gap:16px}.process-art{width:170px;height:170px}.process-detail h3{font-size:25px;margin-bottom:12px}.process-detail p{font-size:15px;line-height:1.8}.process-nav{margin-bottom:6px;font-size:10px;justify-content:space-between;gap:10px}.process-nav .mobile-process-hint{max-width:125px;line-height:1.4}.process-nav button{width:40px;height:40px}.process-nav>span:last-of-type{white-space:nowrap}#journey .full-copy,#processing .full-copy{display:none}.reference-list{grid-template-columns:1fr;gap:15px}.reference-list summary{min-height:140px}.reference-list .reference-brand{width:140px;margin-bottom:18px}.reference-list details{padding:24px}.reference-list summary strong{font-size:25px}.reference-list details>p{font-size:14px}.reference-list summary small{font-size:12px}.closing-grid{grid-template-columns:1fr;gap:20px}.contact-card{padding:10px 0}.pdf-card{padding:25px}.closing .pdf-download{font-size:13px}.qr-card{grid-column:auto;flex-direction:column;gap:0;justify-self:stretch;padding:18px}.qr-card img{width:170px}.qr-card strong{font-size:27px}.qr-card span{font-size:11px}.closing footer{margin-top:45px}.demo-feedback{font-size:8px}.hero-media .phone{box-shadow:12px 22px 45px #00132970}.phone:after{animation-duration:12s}}
@media(prefers-reduced-motion:reduce){.phone:after{animation:none;display:none}.phone,.interactive-phone,.reference-list details,.qr-card,.demo-feedback,.runway-demo #demo-action{transition:none}.demo-title-in{animation:none}}
@media print{.process-hotspots,.process-nav,.demo-feedback,.contact-links,.pdf-icon{display:none!important}.reference-list{grid-template-columns:repeat(3,1fr)}.closing-grid{grid-template-columns:1fr 1fr}.qr-card{display:none}.hero-media{padding-bottom:20px}.pdf-card{border-color:#ccd8e0}.closing .pdf-card p{color:#12334e}.phone:after{display:none}.reference-list details{break-inside:avoid}}

.closing .qr-card,.closing .qr-card strong{color:#12334e}

/* A compact animated fare assurance card beneath the hero phone. */
.hero-media{padding-bottom:158px}.hero-media .fare-assurance{display:block;width:304px;padding:17px 19px 15px;white-space:normal;border-radius:20px;border:1px solid #acd6f14d;background:linear-gradient(135deg,#173f60f5,#0a2b4aee);color:#fff;box-shadow:0 18px 40px #001a3945,inset 0 1px #ffffff12;overflow:hidden;isolation:isolate;transition:border-color .35s,box-shadow .35s}.fare-assurance:before{content:'';position:absolute;width:170px;height:170px;right:-55px;top:-95px;background:radial-gradient(circle,#e9a33318,transparent 70%);pointer-events:none}.hero-media .fare-assurance:hover{border-color:#e9a33380;box-shadow:0 20px 45px #00162d66,0 0 25px #e9a3330a}.fare-card-kicker{display:flex;gap:7px;align-items:center;font-size:8px;letter-spacing:.18em;font-weight:700;color:#edbd6c;margin-bottom:10px}.fare-card-kicker>span{width:4px;height:4px;border-radius:50%;background:#edbd6c;box-shadow:0 0 8px #edbd6c66}.fare-card-main{display:flex;gap:12px;align-items:center}.fare-seal{position:relative;width:43px;height:43px;flex:none;background:radial-gradient(circle,#e9a33318,transparent 72%);border-radius:50%}.fare-seal svg{display:block;width:100%;height:100%;overflow:visible}.fare-ring-track{stroke:#ffffff12;stroke-width:1.5}.fare-ring{stroke:#edbd6c;stroke-width:1.8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:26px 26px;stroke-dasharray:100;animation:fare-ring-draw 9s ease-in-out infinite}.fare-tick{stroke:#f8d58f;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;animation:fare-tick-draw 9s ease-in-out infinite}.fare-seal i{position:absolute;inset:1px;border:1px solid #edbd6c70;border-radius:50%;animation:fare-confirm 9s ease-out infinite;pointer-events:none}.fare-assurance strong{font-size:13px;line-height:1.35;font-weight:650;letter-spacing:-.01em}.fare-assurance small{display:block;font-size:10px;line-height:1.5;color:#aac4d8;margin-top:4px}.fare-journey{position:relative;display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid #ffffff12;font-size:8px;line-height:1.4;color:#a9c2d6}.fare-journey>span{display:flex;align-items:center;gap:4px;position:relative;background:#103350;padding:0 4px}.fare-journey>span:first-of-type{padding-left:0}.fare-journey>span:last-of-type{padding-right:0;color:#edbd6c}.fare-journey b{width:4px;height:4px;border-radius:50%;background:#7597af}.fare-journey>span:last-of-type b{background:#edbd6c}.fare-journey em{font-style:normal;font-size:9px;color:#f8d58f}.fare-journey-line{position:absolute;left:0;right:0;height:1px;top:16px;background:#ffffff14;overflow:hidden}.fare-journey-line i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#edbd6c,transparent);transform:translateX(-100%);animation:fare-route 9s ease-in-out infinite}.orbit-label.bottom{bottom:145px;right:15px}
@keyframes fare-ring-draw{0%,8%{stroke-dashoffset:100;opacity:.4}35%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes fare-tick-draw{0%,35%{stroke-dashoffset:100;opacity:0}48%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes fare-confirm{0%,46%{opacity:0;transform:scale(.9)}48%{opacity:.5;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.4)}}@keyframes fare-route{0%,8%{transform:translateX(-100%)}40%,100%{transform:translateX(100%)}}
@media(max-width:760px){.hero-media{padding-bottom:158px}.hero-media .fare-assurance{width:min(304px,calc(100vw - 56px));padding:17px 18px 15px}.orbit-label.bottom{bottom:145px;right:12px}.fare-assurance strong{font-size:13px}.fare-assurance small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fare-ring,.fare-tick,.fare-seal i,.fare-journey-line i{animation:none}.fare-ring,.fare-tick{stroke-dashoffset:0;opacity:1}.fare-seal i,.fare-journey-line i{display:none}.hero-media .fare-assurance{transition:none}}

/* Cinematic transport imagery, with content kept above a navy scrim. */
.transit-hero{position:absolute;inset:0;pointer-events:none;overflow:hidden}.transit-hero img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;opacity:.69}.transit-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#041c36f5 0%,#041f3bd9 35%,#05264155 76%),linear-gradient(0deg,#062749 0%,transparent 38%,#041b3333)}.hero .orb{opacity:.25}.hero-grid,.hero .scroll-cue{position:relative;z-index:1}.hero .hero-lead{color:#d5e2ed}.hero .hero-note{color:#c3d6e5}.hero .orbit-label{color:#d6e3ed}.transit-scene{position:relative;isolation:isolate;margin:0 0 48px;overflow:hidden;border-radius:22px;aspect-ratio:2.55;background:#062749;box-shadow:0 20px 50px #06274914}.transit-scene picture{display:block;position:absolute;inset:0}.transit-scene img{width:100%;height:100%;object-fit:cover;object-position:center 53%;transform:scale(1.015);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.transit-scene:hover img{transform:scale(1.055)}.transit-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#02182ee8,transparent 72%);z-index:1;pointer-events:none}.transit-scene figcaption{position:absolute;z-index:2;bottom:29px;left:34px;right:28px;color:white}.transit-scene figcaption>span{display:block;color:#f2c478;font-size:9px;letter-spacing:.2em;font-weight:700;margin-bottom:8px}.transit-scene figcaption strong{display:block;font-size:clamp(23px,3vw,36px);letter-spacing:-.035em;line-height:1.2;font-weight:500;color:white}.scene-line{position:absolute;bottom:0;left:34px;z-index:3;width:90px;height:2px;background:linear-gradient(90deg,#efb85e,#efb85e00)}#experience .transit-scene{margin-bottom:46px}#sdk .transit-scene{margin-top:36px;margin-bottom:28px}.transit-scene.in .scene-line{animation:scene-route-in 1.2s ease-out both}@keyframes scene-route-in{from{width:0;opacity:0}to{width:90px;opacity:1}}
@media(min-width:761px){.transit-hero img{animation:city-drift 28s ease-in-out infinite alternate}@keyframes city-drift{from{transform:scale(1)}to{transform:scale(1.045) translate(-.6%,.3%)}}}
@media(max-width:760px){.transit-hero img{object-position:65% center;opacity:.5}.transit-hero:after{background:linear-gradient(180deg,#041c36e8 0%,#041f3bc9 42%,#05264188 72%,#062749 100%)}.transit-scene{aspect-ratio:1.35;border-radius:16px;margin-bottom:32px;box-shadow:0 12px 28px #06274912}.transit-scene figcaption{left:21px;right:20px;bottom:23px}.transit-scene figcaption>span{font-size:8px;letter-spacing:.14em}.transit-scene figcaption strong{font-size:26px;max-width:270px}.transit-scene img{object-position:57% center}.scene-line{left:21px}#experience .transit-scene{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){.transit-hero img,.transit-scene.in .scene-line{animation:none}.transit-scene img{transition:none}.transit-scene:hover img{transform:none}}
@media print{.transit-hero{display:none}.transit-scene{max-height:190px;box-shadow:none;break-inside:avoid}.transit-scene figcaption strong{color:white!important}}
