:root{--bg:#f5f6f9;--surface:#fff;--surface-subtle:#eceff5;--text:#0c0e13;--text-secondary:#505664;--text-muted:#7e8594;--border:#0c0e1314;--border-strong:#0c0e1324;--app-accent:#a67c00;--rivo-yellow:#d99b00;--accent-blue:#007aff;--accent-green:#34c759;--accent-red:#ff3b30;--accent-purple:#af52de;--accent-teal:#30b0c7;--accent-orange:#ff9500;--shadow-sm:0 2px 12px #0c0e130a;--shadow-md:0 16px 40px #0c0e130f;--shadow-lg:0 28px 68px #0c0e1317;--shadow-phone:0 34px 72px #0c0e1333;--radius-md:24px;--radius-lg:32px;--ease-smooth:cubic-bezier(.22, 1, .36, 1);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--container:1120px}[data-theme=dark]{--bg:#080a0e;--surface:#11141b;--surface-subtle:#181d27;--text:#f5f6f8;--text-secondary:#98a0ae;--text-muted:#666e7d;--border:#ffffff14;--border-strong:#ffffff26;--app-accent:#ffd60a;--rivo-yellow:#ffd60a;--accent-blue:#3898ff;--shadow-sm:0 2px 12px #00000059;--shadow-md:0 20px 48px #0000007a;--shadow-lg:0 32px 76px #0000009e;--shadow-phone:0 38px 84px #000000bf}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-image:}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.navbar-wrap{z-index:120;transition:padding .35s var(--ease-smooth);padding:16px 20px;position:sticky;top:0}.navbar{--nav-tint:#fff9;--nav-reflection:#ffffff80;--nav-rim:#fffffff5;isolation:isolate;max-width:var(--container);height:58px;transition:max-width .42s var(--ease-smooth), padding .42s var(--ease-smooth), background-color .3s ease, border-color .3s ease, box-shadow .35s ease;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 12px;display:flex;position:relative}.navbar:before{content:"";border-radius:inherit;background:linear-gradient(120deg, var(--nav-rim), var(--nav-reflection) 23%, transparent 42%, transparent 58%, var(--nav-reflection) 78%, var(--nav-rim));-webkit-mask-composite:xor;pointer-events:none;opacity:0;padding:1px;transition:opacity .35s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.navbar-wrap.is-scrolled{padding:12px 20px}.navbar-wrap.is-scrolled .navbar{background:var(--surface);border-color:color-mix(in srgb, var(--text) 8%, transparent);max-width:820px;box-shadow:0 8px 28px #0c0e1312, 0 2px 6px #0c0e1308, inset 0 1px 1px var(--nav-rim), inset 0 -1px 1px var(--nav-reflection);padding:0 14px 0 20px}.navbar-wrap.is-scrolled .navbar:before{opacity:1}[data-theme=dark] .navbar{--nav-tint:#11141bad;--nav-reflection:#ffffff12;--nav-rim:#ffffff6b}[data-theme=dark] .navbar-wrap.is-scrolled .navbar{box-shadow:0 12px 34px #0000004d, 0 2px 6px #00000026, inset 0 1px 1px var(--nav-rim), inset 0 -1px 1px var(--nav-reflection);border-color:#ffffff1a}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.navbar-wrap.is-scrolled .navbar{background:linear-gradient(115deg, var(--nav-reflection), transparent 38%, transparent 65%, var(--nav-reflection)), var(--nav-tint);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%)}}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.04rem;font-weight:700;display:inline-flex}.brand-logo{width:34px;height:34px;transition:box-shadow .35s var(--ease-smooth);border-radius:8px;box-shadow:0 0 22px #ffcc006b,0 2px 8px #0000001f}.navbar-wrap.is-scrolled .brand-logo{box-shadow:0 0 14px #ffcc003d,0 2px 8px #0000001f}.nav-links{align-items:center;gap:6px;display:flex}.nav-links a{color:var(--text-secondary);border-radius:999px;padding:7px 14px;font-size:.9rem;font-weight:500;transition:color .18s,background-color .18s}.is-scrolled .nav-links a{color:color-mix(in srgb, var(--text) 82%, transparent)}.nav-links a:hover{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}.nav-actions{align-items:center;gap:8px;display:flex}.theme-btn{width:36px;height:36px;color:var(--text-secondary);background:0 0;border-radius:999px;justify-content:center;align-items:center;min-height:44px;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.theme-btn:active{background:color-mix(in srgb, var(--text) 8%, transparent);transform:scale(.92)}@media (hover:hover) and (pointer:fine){.theme-btn{background:color-mix(in srgb, var(--text) 6%, transparent)}.theme-btn:hover{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent)}}.theme-icon{pointer-events:none;width:18px;height:18px;position:relative}.theme-icon svg{transition:opacity .2s ease, transform .38s var(--ease-smooth);position:absolute;inset:0}.theme-icon--sun{opacity:1;transform:rotate(0)scale(1)}.theme-icon--moon{opacity:0;transform:rotate(-55deg)scale(.55)}[data-theme=dark] .theme-icon--sun{opacity:0;transform:rotate(55deg)scale(.55)}[data-theme=dark] .theme-icon--moon{opacity:1;transform:rotate(0)scale(1)}.nav-cta{background:var(--text);color:var(--bg);border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-size:.86rem;font-weight:600;line-height:1;transition:opacity .18s,transform .18s;display:inline-flex}.nav-cta:hover{opacity:.9;transform:translateY(-1px)}.hero{text-align:center;padding:24px 0 88px;position:relative}.hero-backdrop{background-image:radial-gradient(ellipse 760px 480px at 50% 210px, #ffcc002e, transparent 72%), radial-gradient(circle at 50% 0, #007aff0f, transparent 55%), radial-gradient(color-mix(in srgb, var(--text) 7%, transparent) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:100% 100%,100% 100%,28px 28px;position:absolute;inset:-140px 0 0;-webkit-mask-image:radial-gradient(85% 78% at 50% 30%,#000 40%,#0000 84%);mask-image:radial-gradient(85% 78% at 50% 30%,#000 40%,#0000 84%)}.hero>.container{z-index:1;position:relative}.hero-icon-wrap{margin-bottom:22px;display:inline-flex}.hero-app-icon{border-radius:22px;width:88px;height:88px;box-shadow:0 14px 30px #0c0e131f}.hero-title{text-wrap:balance;letter-spacing:-.042em;max-width:15ch;margin:0 auto 18px;font-size:clamp(2.6rem,5.4vw,4.3rem);font-weight:800;line-height:1.05}.hero-lead{color:var(--text-secondary);max-width:54ch;margin:0 auto 30px;font-size:clamp(1.06rem,1.35vw,1.22rem);line-height:1.62}.official-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-bottom:56px;display:flex}.official-badge-link{transition:transform .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth);border-radius:10px;display:inline-flex}.official-badge-link:hover{transform:translateY(-2px);box-shadow:0 12px 26px #00000024}.official-badge-img{width:175px;height:52px;display:block}.hero-stage{max-width:940px;margin:0 auto 88px;position:relative}.hero-stage:after{content:"";filter:blur(14px);pointer-events:none;background:radial-gradient(#00000024 0%,#0000 72%);width:78%;height:52px;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.hero-phones{grid-template-columns:.88fr 1.06fr .88fr;align-items:center;gap:24px;display:grid}.phone-frame{justify-content:center;display:flex;position:relative}.phone-frame>img{filter:drop-shadow(var(--shadow-phone))}.phone-frame--center{z-index:3}.phone-frame--left{z-index:2;transform:translate(14px,24px)scale(.95)}.phone-frame--right{z-index:2;transform:translate(-14px,24px)scale(.95)}.about-cities{text-align:center;max-width:1060px;margin:0 auto}.about-cities-head{margin-bottom:36px}.about-cities-title{letter-spacing:-.032em;margin-bottom:10px;font-size:clamp(1.75rem,2.9vw,2.3rem);font-weight:800}.about-cities-sub{color:var(--text-secondary);max-width:54ch;margin:0 auto;font-size:1.02rem}.cities-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.city-card{background-color:var(--surface);border:1px solid var(--border);text-align:left;box-shadow:var(--shadow-sm);transition:transform .32s var(--ease-smooth), box-shadow .32s var(--ease-smooth), border-color .25s ease;background-image:radial-gradient(180px 160px at 26px 26px,#a67c0014,#0000 75%);border-radius:24px;flex-direction:column;gap:16px;padding:22px 20px 18px;display:flex;position:relative;overflow:hidden}[data-theme=dark] .city-card{background-image:radial-gradient(190px 170px at 26px 26px,#ffd60a14,#0000 75%)}.city-card:hover{box-shadow:var(--shadow-md);border-color:#a67c0052;transform:translateY(-4px)}[data-theme=dark] .city-card:hover{border-color:#ffd60a52}.city-card--soon{background-image:none}.city-card--soon:hover{border-color:var(--border-strong)}.city-watermark{pointer-events:none;opacity:.045;width:116px;height:116px;transition:transform .4s var(--ease-smooth), opacity .3s ease;background-color:#a67c00;position:absolute;top:-12px;right:-14px;transform:rotate(6deg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-theme=dark] .city-watermark{opacity:.055;background-color:#ffd60a}.city-card:hover .city-watermark{opacity:.075;transform:rotate(0)scale(1.05)}.city-watermark--sarajevo{-webkit-mask-image:url(/assets/sarajevo-DQ6NJZrN.svg);mask-image:url(/assets/sarajevo-DQ6NJZrN.svg)}.city-watermark--bl{-webkit-mask-image:url(/assets/banja-luka-DoS_6LK5.svg);mask-image:url(/assets/banja-luka-DoS_6LK5.svg)}.city-watermark--tuzla{-webkit-mask-image:url(/assets/tuzla-CSEJ0Yth.svg);mask-image:url(/assets/tuzla-CSEJ0Yth.svg)}.city-watermark--mostar{background-color:var(--text-muted);opacity:.04;-webkit-mask-image:url(/assets/mostar-4wLdSdre.svg);mask-image:url(/assets/mostar-4wLdSdre.svg)}.city-card-top{z-index:1;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.city-crest-medal{background:#a67c001a;border:1px solid #a67c0033;border-radius:15px;justify-content:center;align-items:center;width:50px;height:50px;padding:9px;display:inline-flex;box-shadow:inset 0 1px #ffffff8c}[data-theme=dark] .city-crest-medal{background:#ffd60a1f;border-color:#ffd60a3d;box-shadow:inset 0 1px #ffffff1f}.city-crest-medal--muted,[data-theme=dark] .city-crest-medal--muted{background:var(--surface-subtle);border-color:var(--border)}.city-crest-mask{background-color:#a67c00;width:100%;height:100%;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-theme=dark] .city-crest-mask{background-color:#ffd60a}.city-crest-mask--sarajevo{-webkit-mask-image:url(/assets/sarajevo-DQ6NJZrN.svg);mask-image:url(/assets/sarajevo-DQ6NJZrN.svg)}.city-crest-mask--bl{-webkit-mask-image:url(/assets/banja-luka-DoS_6LK5.svg);mask-image:url(/assets/banja-luka-DoS_6LK5.svg)}.city-crest-mask--tuzla{-webkit-mask-image:url(/assets/tuzla-CSEJ0Yth.svg);mask-image:url(/assets/tuzla-CSEJ0Yth.svg)}.city-crest-mask--mostar{background-color:var(--text-muted);-webkit-mask-image:url(/assets/mostar-4wLdSdre.svg);mask-image:url(/assets/mostar-4wLdSdre.svg)}[data-theme=dark] .city-crest-mask--mostar{background-color:var(--text-muted)}.city-card-body{z-index:1;flex-direction:column;flex:1;gap:8px;display:flex;position:relative}.city-title-row{flex-direction:column;gap:2px;display:flex}.city-card h3{letter-spacing:-.024em;font-size:1.25rem;font-weight:800;line-height:1.18}.city-operator-tag{color:var(--text-muted);font-size:.74rem;font-weight:600}.city-pill{color:var(--accent-green);background:#34c75924;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.city-pill--new{color:var(--app-accent);background:#ffcc0038}.city-pill--soon{background:var(--surface-subtle);color:var(--text-muted)}.city-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.54}.city-lines-strip{z-index:1;border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-top:12px;display:flex;position:relative}.app-line-badge{--badge-color:#0d47a1;background:linear-gradient(180deg, color-mix(in srgb, var(--badge-color) 88%, #fff) 0%, color-mix(in srgb, var(--badge-color) 92%, #000) 100%);color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;gap:3.5px;min-width:46px;height:28px;padding:0 7.5px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,SF Pro Rounded,sans-serif;font-size:.9rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff3d,0 1px 2px #0000001a}.app-line-badge--sm{border-radius:6px;gap:3px;min-width:36px;height:22px;padding:0 6px;font-size:.76rem}.line-badge-icon{flex-shrink:0;width:11px;height:11px}.app-line-badge--sm .line-badge-icon{width:9.5px;height:9.5px}.app-line-badge--tram{color:#1a1a1a;background:linear-gradient(#ffca28 0%,#ffb300 100%);box-shadow:inset 0 1px #ffffff7a,0 1px 2px #00000014}.app-line-badge--trolley{color:#1a1a1a;background:linear-gradient(#ffa726 0%,#fb8c00 100%);box-shadow:inset 0 1px #ffffff61,0 1px 2px #00000014}.app-line-badge--bus{color:#fff;background:linear-gradient(#1659be 0%,#0b3c8c 100%)}.app-line-badge--muted{background:var(--surface-subtle);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border)}.section{border-top:1px solid var(--border);padding:96px 0}.section-intro{text-align:center;max-width:640px;margin:0 auto 52px}.section-title{letter-spacing:-.036em;margin-bottom:12px;font-size:clamp(2.1rem,3.8vw,2.95rem);font-weight:800;line-height:1.1}.section-desc{color:var(--text-secondary);font-size:1.08rem;line-height:1.6}.interactive-showcase{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-template-columns:350px 1fr;align-items:center;gap:44px;max-width:1040px;margin:0 auto;padding:44px;display:grid}.showcase-phone-stage{background:var(--surface-subtle);border:1px solid var(--border);border-radius:26px;flex-direction:column;align-items:center;gap:22px;padding:32px 24px 22px;display:flex;position:relative;overflow:hidden}.showcase-ambient-glow{filter:blur(22px);pointer-events:none;background:radial-gradient(circle,#30b0c73d 0%,#0000 70%);border-radius:50%;width:280px;height:280px;transition:background .5s;position:absolute;top:18%;left:50%;transform:translate(-50%)}.interactive-showcase[data-active-accent=teal] .showcase-ambient-glow{background:radial-gradient(circle,#30b0c740 0%,#0000 70%)}.interactive-showcase[data-active-accent=blue] .showcase-ambient-glow{background:radial-gradient(circle,#007aff3d 0%,#0000 70%)}.interactive-showcase[data-active-accent=orange] .showcase-ambient-glow{background:radial-gradient(circle,#ff950040 0%,#0000 70%)}.interactive-showcase[data-active-accent=gold] .showcase-ambient-glow{background:radial-gradient(circle,#ffcc0047 0%,#0000 70%)}.interactive-showcase[data-active-accent=green] .showcase-ambient-glow{background:radial-gradient(circle,#34c7593d 0%,#0000 70%)}.interactive-showcase[data-active-accent=red] .showcase-ambient-glow{background:radial-gradient(circle,#ff3b303d 0%,#0000 70%)}.showcase-phone-stack{z-index:1;aspect-ratio:1070/2275;filter:drop-shadow(0 26px 52px #00000038);width:100%;max-width:256px;position:relative}.showcase-phone-layer{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .36s;position:absolute;inset:0}.showcase-phone-layer.is-active{opacity:1;pointer-events:auto}.showcase-dots{z-index:1;box-shadow:none;isolation:isolate;background:0 0;border:0;border-radius:999px;align-items:center;gap:2px;padding:0 7px;display:inline-flex;position:relative}.showcase-dot{background:0 0;border-radius:999px;width:32px;height:44px;position:relative;overflow:visible}.showcase-dot:after{content:"";background:var(--app-accent);width:calc(28px * var(--dot-progress,0));will-change:auto;opacity:0;border-radius:999px;height:6px;position:absolute;inset:19px auto auto calc(50% - 14px);transform:none}.showcase-dot.is-active:after{opacity:1}.showcase-steps{flex-direction:column;gap:6px;display:flex;position:relative}.showcase-active-pill{height:var(--pill-h,82px);transform:translate3d(0, var(--pill-y,0px), 0);background:var(--surface-subtle);border:1px solid color-mix(in srgb, var(--app-accent) 42%, var(--border));transition:transform .38s var(--ease-smooth), height .38s var(--ease-smooth);pointer-events:none;z-index:0;border-radius:18px;position:absolute;top:0;left:0;right:0}.showcase-step{z-index:1;text-align:left;background:0 0;border-radius:18px;grid-template-columns:42px 1fr;align-items:start;gap:15px;width:100%;padding:15px 18px;transition:opacity .25s;display:grid;position:relative}.showcase-step:not(.active){opacity:.76}.showcase-step:hover{opacity:1}.step-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.step-icon svg{width:20px;height:20px}.step-title{margin-bottom:3px;font-size:1.02rem;font-weight:700;display:block}.step-description{color:var(--text-secondary);font-size:.89rem;line-height:1.52;display:block}.bento-20{grid-template-columns:repeat(6,1fr);gap:20px;max-width:1060px;margin:0 auto;display:grid}.bento-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth), border-color .25s ease;flex-direction:column;grid-column:span 2;gap:12px;padding:28px;display:flex}.bento-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.bento-card--hero{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-column:1/-1;grid-template-columns:1fr 1.06fr;align-items:center;gap:40px;padding:38px;display:grid}.bento-card--hero:hover{transform:none}.bento-card--span4{grid-column:span 4;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px;display:grid}.bento-card--span2{grid-column:span 2}.bento-card--span3{grid-column:span 3}.bento-icon-badge{border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:14px;display:inline-flex}.bento-card--hero .whatsnew-hero-copy h3{letter-spacing:-.028em;margin-bottom:12px;font-size:1.5rem;font-weight:800}.bento-card--hero .whatsnew-hero-copy p{color:var(--text-secondary);margin-bottom:14px;font-size:.98rem;line-height:1.62}.rivo-badge-explain{background:color-mix(in srgb, var(--app-accent) 5%, var(--surface));border:1px solid var(--border);color:var(--text-secondary);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:.8rem;line-height:1.55;display:inline-flex}.rivo-paw-inline{color:var(--rivo-yellow);flex-shrink:0;display:inline-flex}.station-preview{background:color-mix(in srgb, var(--bg) 70%, var(--surface));border:1px solid var(--border);border-radius:24px;padding:14px 24px 12px;box-shadow:inset 0 1px #ffffff80,0 8px 24px #0c0e1306}.station-sheet-grabber{background:color-mix(in srgb, var(--text-muted) 35%, transparent);border-radius:999px;width:36px;height:4px;margin:0 auto 20px}.station-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:12px;display:flex}.station-head h4{font-size:1.16rem;font-weight:800;line-height:1.2}.station-head span{color:var(--text-secondary);font-size:.8rem}.station-live-pill{background:#34c75924;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex;color:var(--accent-green)!important;font-size:.74rem!important}.station-live-dot{background:var(--accent-green);border-radius:50%;width:7px;height:7px}.dep-row{border-bottom:1px solid var(--border);grid-template-columns:60px 1fr auto;align-items:center;gap:12px;padding:15px 8px 15px 4px;display:grid;position:relative}.dep-row:last-child{border-bottom:none}.dep-line{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.dep-op{color:var(--text-muted);font-size:.66rem;font-weight:600}.dep-dest-title{font-size:.93rem;font-weight:700}.dep-dest-sub{color:var(--text-secondary);font-size:.8rem}.dep-eta{flex-direction:column;align-items:flex-end;gap:3px;padding-right:12px;display:flex}.dep-eta-val{font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:800}.dep-eta-val--red{color:var(--accent-red)}.dep-eta-val--green{color:var(--accent-green)}.dep-time-pill{font-variant-numeric:tabular-nums;color:var(--text);border-radius:999px;align-items:center;gap:3.5px;padding:2.5px 7px;font-size:.72rem;font-weight:600;display:inline-flex}.dep-scope-icon{opacity:.78;flex-shrink:0;width:10px;height:10px}.dep-time-pill--tram{background:#ffc10738}.dep-time-pill--trolley{background:#ff980038}.dep-time-pill--bus{background:#0d47a129}.dep-eta-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.rivo-paw{color:var(--rivo-yellow);display:inline-flex;position:absolute;top:6px;right:4px}.bento-wide-copy{flex-direction:column;gap:12px;display:flex}.station-feature{grid-template-columns:.9fr 1.1fr;gap:20px}.station-render{background:var(--surface-subtle);border-radius:20px;width:100%;min-width:0;max-width:380px;margin:0 auto;padding:8px 8px 14px}.station-render img{width:100%;height:auto}.station-render figcaption{text-align:center;color:var(--text-secondary);margin-top:2px;font-size:.7rem}.whatsnew-card-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.whatsnew-card-icon svg{width:21px;height:21px}.bento-card h3{letter-spacing:-.015em;font-size:1.1rem;font-weight:700}.bento-card p{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.55}.bento-mini-visual{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.offline-chip{color:var(--accent-green);background:#34c7591f;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.panorama-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.panorama-tag{color:var(--accent-purple);background:#af52de1f;border-radius:999px;padding:3px 9px;font-size:.74rem;font-weight:600}.startup-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;width:100%;list-style:none;display:grid}.startup-option{min-height:40px;color:var(--text-secondary);align-items:center;gap:9px;font-size:.8rem;font-weight:500;display:flex}.startup-option svg{width:16px;height:16px;color:var(--text-muted);flex:none}.startup-option--default{color:var(--text);font-weight:600}.startup-option--default svg{color:var(--app-accent)}.cta-section{padding:20px 0 28px}.cta-banner{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:1060px;box-shadow:var(--shadow-lg);background-image:radial-gradient(520px 260px at 50% 0,#ffcc0024,#0000 70%);margin:0 auto;padding:52px 32px;position:relative;overflow:hidden}.cta-banner-icon{border-radius:17px;width:68px;height:68px;margin:0 auto 18px;box-shadow:0 12px 28px #0000001f}.cta-banner h2{letter-spacing:-.032em;margin-bottom:8px;font-size:clamp(1.85rem,3.2vw,2.5rem);font-weight:800}.cta-banner p{color:var(--text-secondary);margin-bottom:26px;font-size:1.04rem}.footer{text-align:center;border-top:none;padding:4px 0 48px}.footer-links{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:24px;margin:16px 0 0;font-size:.92rem;font-weight:500;display:flex}.footer-links a:hover{color:var(--text);text-decoration:underline}.footer-copy{color:var(--text-secondary);margin:0 auto 6px;font-size:.88rem;font-weight:600}.footer-note{max-width:680px;color:var(--text-muted);margin:0 auto;font-size:.82rem;line-height:1.55}.mascot{-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:0;display:block;position:absolute}.mascot-art{pointer-events:none;max-width:none;height:auto;transition:transform .42s var(--ease-smooth);filter:drop-shadow(0 8px 6px #0c0e131f);position:absolute}.mascot--hero{z-index:1;width:154px;height:220px;top:54px;left:-80px;transform:rotate(-16deg)}.mascot--hero .mascot-art{width:290px;top:-26px;left:-68px}.phone-frame--center>img{z-index:2;pointer-events:none;position:relative}.mascot--hero:hover .mascot-art{transform:translate(-16px,-10px)rotate(-6deg)}.mascot:focus-visible{outline:2px solid var(--app-accent);outline-offset:4px;border-radius:18px}.mascot-greeting{z-index:4;background:var(--text);width:max-content;max-width:210px;color:var(--bg);box-shadow:var(--shadow-sm);text-align:left;opacity:0;visibility:hidden;pointer-events:none;border-radius:14px 14px 14px 3px;padding:9px 13px;font-size:.75rem;font-weight:600;line-height:1.4;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;transform:translateY(5px)}.mascot.is-greeting .mascot-greeting{opacity:1;visibility:visible;transform:translateY(0)}.mascot--farewell{width:160px;height:200px;bottom:-8px;right:28px}.mascot--farewell .mascot-art{width:220px;top:-28px;left:-30px}.mascot--farewell .mascot-greeting{border-radius:14px 14px 3px;bottom:100%;right:0}.mascot--farewell:hover .mascot-art,.mascot--farewell:focus-visible .mascot-art,.mascot--farewell.is-greeting .mascot-art{transform:translateY(-7px)rotate(-5deg)}.mascot-art--wink{opacity:0}.mascot.is-winking .mascot-art--wink{opacity:1}.mascot.is-winking .mascot-art--rest{opacity:0}.showcase-scene{isolation:isolate;max-width:1040px;margin:0 auto;position:relative}.showcase-scene .interactive-showcase{z-index:1;position:relative}.mascot--menu{z-index:0;pointer-events:none;width:250px;height:300px;top:-205px;right:-16px}.mascot--menu .mascot-art{clip-path:inset(15% 0 0);width:250px;inset:0}:where(a,button):focus-visible{outline:2px solid var(--app-accent);outline-offset:4px}section[id]{scroll-margin-top:96px}.showcase-dots:before{content:"";z-index:-1;border:1px solid var(--border);background:var(--surface);border-radius:999px;position:absolute;inset:6px 0;box-shadow:0 3px 9px #0c0e130b}.showcase-dot:before{content:"";background:color-mix(in srgb, var(--text-muted) 42%, transparent);border-radius:999px;width:7px;height:7px;transition:background-color .16s;position:absolute;top:18.5px;left:calc(50% - 3.5px)}.showcase-dot:hover:before{background:color-mix(in srgb, var(--text-muted) 70%, transparent)}.showcase-dot.is-active:before{background:color-mix(in srgb, var(--app-accent) 20%, transparent);width:28px;height:6px;top:19px;left:calc(50% - 14px)}.interactive-showcase.is-paused .showcase-dot.is-active:before{background:var(--app-accent)}.footer-links a{align-items:center;min-height:44px;display:inline-flex}.mascot-blink-window{width:40%;height:45%;position:absolute;top:16%;left:30%}.mascot-art--blink,.mascot.is-blinking .mascot-art--rest{opacity:0}.mascot.is-blinking .mascot-art--blink{opacity:1}.mascot-art--night,[data-theme=dark] .mascot-art--day{display:none}[data-theme=dark] .mascot-art--night{display:block}@media (width<=960px){#sta-radi .section-intro{text-align:left;max-width:calc(100% - 160px);margin-left:0}.station-feature{grid-template-columns:1fr}.interactive-showcase{grid-template-columns:1fr;min-width:0;padding:28px}.bento-card--hero{grid-template-columns:1fr;padding:28px}.bento-card--span4{grid-column:1/-1;grid-template-columns:1fr;padding:28px}.bento-20{grid-template-columns:repeat(2,1fr)}.bento-card--span2,.bento-card--span3{grid-column:span 1}.cities-grid{grid-template-columns:repeat(2,1fr)}.bento-card,.showcase-steps,.step-text{min-width:0}}@media (width<=680px){#sta-radi .section-intro{max-width:calc(100% - 132px)}.nav-links{display:none}.hero{padding:28px 0 56px}.hero-phones{grid-template-columns:1fr;max-width:240px;margin:0 auto}.phone-frame--left,.phone-frame--right{display:none}.cities-grid,.bento-20{grid-template-columns:1fr}.bento-card--span4{border-radius:24px;grid-column:1/-1;gap:24px;padding:20px}.bento-card--span2,.bento-card--span3{grid-column:1/-1}.mascot--hero{width:112px;height:168px;top:64px;left:-58px}.mascot--hero .mascot-art{width:220px;top:-20px;left:-54px}.mascot--farewell{width:80px;height:115px;top:10px;bottom:auto;right:8px}.mascot--farewell .mascot-art{width:125px;top:-5px;left:-23px}.mascot--farewell .mascot-greeting{border-radius:14px 3px 14px 14px;max-width:155px;top:100%;bottom:auto}.bento-card{border-radius:24px;gap:24px;min-width:0;padding:20px}.bento-card>*{min-width:0}.dep-row{grid-template-columns:48px minmax(0,1fr) auto;gap:6px}.dep-dest-title,.dep-dest-sub{overflow-wrap:anywhere}.station-preview{padding-inline:12px}.mascot--menu{width:200px;height:240px;top:-165px;right:-10px}.mascot--menu .mascot-art{width:200px}.container{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}.navbar-wrap,.navbar-wrap.is-scrolled{padding:10px max(12px, env(safe-area-inset-left)) 10px max(12px, env(safe-area-inset-right))}.navbar,.navbar-wrap.is-scrolled .navbar{gap:8px;padding-inline:10px 6px}.brand{white-space:nowrap;gap:8px;min-height:44px;font-size:.94rem}.nav-actions{gap:4px}.theme-btn{width:44px;height:44px}.nav-cta{align-items:center;min-height:44px;padding-inline:14px;display:inline-flex}.hero-title{font-size:clamp(2.35rem,10.5vw,3.2rem)}.hero-lead{max-width:35ch;font-size:1rem}.official-badges{flex-wrap:nowrap;gap:10px;width:100%;max-width:350px;margin-inline:auto}.official-badge-link{flex:1;align-items:center;min-width:0;min-height:44px}.official-badge-img{width:100%;height:auto}.hero-stage{margin-bottom:64px}.section{padding-block:64px}.section-intro{margin-bottom:36px}.section-title{font-size:clamp(1.85rem,8.5vw,2.4rem)}.section-desc{font-size:1rem}.interactive-showcase,.bento-card--hero{border-radius:24px;gap:24px;padding:20px}.showcase-phone-stage{border-radius:18px;gap:12px;padding:24px 12px 12px}.showcase-phone-stack{max-width:220px}.showcase-step{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px 12px}.step-icon{border-radius:10px;width:36px;height:36px}.step-title{font-size:1rem}.step-description{font-size:.9rem}.cta-banner{border-radius:24px;padding:44px 20px 32px}.cta-banner h2{font-size:1.8rem}.cta-banner p{font-size:1rem}.footer{padding-bottom:max(28px, env(safe-area-inset-bottom))}.footer-links a{align-items:center;min-height:44px;display:inline-flex}}@media (width<=480px){.dep-row{grid-template-columns:minmax(0,1fr) 62px;gap:6px 10px;padding:14px 0}.dep-line{flex-flow:wrap;grid-column:1;align-items:center;gap:6px}.dep-row>div:nth-of-type(2){grid-area:2/1}.dep-eta{grid-area:1/2/span 2;align-self:center;padding-right:8px}.dep-dest-title{overflow-wrap:normal;font-size:.88rem}.dep-dest-sub{overflow-wrap:normal;font-size:.74rem}.rivo-paw{right:-4px}}@media (width<=360px){.mascot--hero{left:-40px}}@media (prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none}html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:auto!important;animation-timeline:none!important}}.icon-sprite{position:absolute;overflow:hidden}.cta-banner .official-badges{margin-bottom:0}.hero-stage.is-loading{visibility:hidden;animation:none}@media (prefers-reduced-motion:no-preference){.navbar{animation:hero-reveal .55s var(--ease-smooth) backwards}.hero-icon-wrap{animation:hero-mark .7s var(--ease-smooth) backwards}.hero-title{animation:hero-reveal .7s var(--ease-smooth) .1s backwards}.hero-lead{animation:hero-reveal .7s var(--ease-smooth) .2s backwards}.hero>.container>.official-badges{animation:hero-reveal .7s var(--ease-smooth) .3s backwards}.hero-stage{animation:hero-phones-in .9s var(--ease-smooth) .38s backwards}}@keyframes hero-reveal{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}@keyframes hero-mark{0%{opacity:0;transform:translateY(-5px)scale(.94)}to{opacity:1;transform:none}}@keyframes hero-phones-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.will-reveal:not(.is-revealed){opacity:0;transform:translateY(12px)}.will-reveal.is-revealed{animation:section-reveal .65s var(--ease-smooth) var(--reveal-delay,0s) backwards}@media (width>=681px){.city-card:nth-child(2){--reveal-delay:70ms}.city-card:nth-child(3){--reveal-delay:.14s}.city-card:nth-child(4){--reveal-delay:.21s}.bento-card:nth-child(3),.bento-card:nth-child(5){--reveal-delay:90ms}}@keyframes section-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
