:root{color:var(--ink);background:var(--bg);font-synthesis:none;--bg:oklch(100% 0 0);--surface:oklch(97% .002 165);--ink:oklch(24% .018 165);--muted:oklch(48% .014 165);--primary:oklch(46.4% .169 26.9);--green:oklch(48% .105 164);--green-light:oklch(94% .033 164);--line:oklch(90% .008 165);--block:oklch(96.3% .004 165);--water:oklch(93.6% .025 218);--recommendation-scrim:linear-gradient(to top, oklch(14% .008 165/.96), oklch(14% .008 165/.22) 62%, transparent);--recommendation-ink:oklch(98% .003 165);--recommendation-muted:oklch(86% .008 165);--plan-dark-bg:oklch(98.4% .003 247);--plan-dark-surface:oklch(100% 0 0);--plan-dark-raised:oklch(100% 0 0);--plan-dark-ink:oklch(21% .034 264);--plan-dark-muted:oklch(55.1% .027 264);--plan-dark-line:oklch(92.8% .013 255);--plan-dark-green:oklch(54.6% .215 262);--plan-dark-green-soft:oklch(96.2% .018 257);--plan-live:oklch(55% .16 151);--plan-live-soft:oklch(95% .052 151);--plan-traffic-good:oklch(53% .15 151);--plan-traffic-good-soft:oklch(94% .06 151);--plan-traffic-moderate:oklch(68% .15 84);--plan-traffic-moderate-soft:oklch(95% .09 91);--plan-traffic-high:oklch(57% .2 27);--plan-traffic-high-soft:oklch(95% .055 27);--portfolio-orange:oklch(68% .205 38);--portfolio-header-bg:oklch(94% .003 230);--z-sticky:1;--z-content:2;--z-overlay:3;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Manrope Variable,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:5px}button:disabled{cursor:default}a{color:inherit}button{border:0}h1,h2,p{margin:0}button svg{flex-shrink:0}.journey{height:var(--journey-distance)}.journey-viewport{--green:var(--plan-dark-green);--green-light:var(--plan-dark-green-soft);background:var(--bg);height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden}.portfolio-header{height:100px;z-index:var(--z-overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:oklch(17% .008 255);background:oklch(94% .003 230/.92);border-bottom:1px solid oklch(17% .008 255/.08);align-items:center;gap:35px;padding:0 3.5rem;font-family:Mona Sans Variable,Arial,sans-serif;display:flex;position:absolute;inset:0 0 auto}.portfolio-brand{flex:none;align-items:center;gap:14px;min-height:44px;font-size:.85rem;font-weight:650;line-height:1.12;text-decoration:none;display:flex}.portfolio-mark{letter-spacing:-.12em;color:var(--ink);align-items:center;padding-right:8px;font-size:3.7rem;font-weight:540;line-height:.8;display:inline-flex}.portfolio-mark span{color:var(--portfolio-orange)}.portfolio-name{font-size:inherit;font-weight:inherit;line-height:inherit}.portfolio-nav{align-items:center;gap:32px;margin-left:auto;font-size:.8rem;font-weight:500;display:flex}.portfolio-nav a{min-height:44px;font-size:inherit;font-weight:inherit;white-space:nowrap;align-items:center;gap:20px;text-decoration:none;transition:color .2s;display:flex}.portfolio-nav a:hover{color:oklch(48% .16 38)}.portfolio-actions{flex:none;align-items:center;gap:10px;display:flex}.case-download{border:1px solid var(--ink);min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border-radius:50px;justify-content:center;align-items:center;gap:10px;padding-inline:21px;font-size:.8rem;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.case-download svg{flex:none;width:15px;height:15px}.case-download:hover{border-color:var(--portfolio-orange);background:var(--portfolio-orange);color:var(--portfolio-header-bg)}.portfolio-divider{background:color-mix(in oklab, var(--ink) 22%, transparent);width:1px;height:44px}.language-button{min-width:44px;min-height:44px;color:var(--ink);gap:7px;padding-inline:10px;font-size:.76rem}.language-button:hover{color:var(--portfolio-orange);background:0 0}@media (width<=1100px){.portfolio-header{gap:22px;height:100px;padding-inline:28px}.portfolio-mark{font-size:50px}.portfolio-name{display:none}.portfolio-nav{gap:18px}.case-download{width:44px;padding:0;font-size:0}.portfolio-divider{height:38px}}@media (width<=760px){.portfolio-header{grid-template-columns:auto 1fr auto;gap:12px;height:auto;min-height:76px;padding:14px 18px 13px;display:grid}.portfolio-mark{font-size:3rem}.portfolio-nav{scrollbar-width:none;grid-area:2/1/auto/-1;justify-content:flex-start;gap:24px;width:100%;overflow-x:auto}.portfolio-nav::-webkit-scrollbar{display:none}.portfolio-nav a{font-size:12px}.portfolio-actions{grid-column:3;gap:8px}.portfolio-divider{display:none}.case-download{width:39px;height:39px}.language-button{height:39px;padding-inline:5px}}.preview-badge{color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.preview-badge>span{background:var(--green);border-radius:50%;width:5px;height:5px}.scene-heading{width:min(36vw,470px);z-index:var(--z-content);pointer-events:none;animation:.48s cubic-bezier(.22,1,.36,1) both scene-copy-in;position:absolute;top:50%;left:5%;transform:translateY(-50%)}@keyframes scene-copy-in{0%{opacity:0;transform:translateY(calc(22px - 50%))}to{opacity:1;transform:translateY(-50%)}}.scene-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:14px;font-family:Sora Variable,sans-serif;font-size:clamp(10px,.85vw,12px);font-weight:700;display:block}.scene-heading h2{letter-spacing:0;text-wrap:pretty;font-family:Sora Variable,sans-serif;font-size:clamp(25px,2.75vw,42px);font-weight:650;line-height:1.12}.scene-heading p{max-width:430px;color:var(--muted);text-wrap:pretty;margin-top:22px;font-size:clamp(14px,1.15vw,17px);line-height:1.6}.scene-heading .scene-conclusion{border-top:1px solid var(--line);color:var(--green);margin-top:30px;padding-top:16px;font-size:clamp(11px,.9vw,13px);font-weight:700;line-height:1.5;display:inline-block}.is-hidden{visibility:hidden}.map-stage{position:absolute;inset:135px 2.5% 95px 43%}.map-layer{transform-origin:70%;opacity:0;visibility:hidden;will-change:transform, opacity;position:absolute;inset:0}.journey-map{width:100%;height:100%;overflow:visible}.outdoor-map{-webkit-mask-image:linear-gradient(#0000,#000 12% 82%,#0000);mask-image:linear-gradient(#0000,#000 12% 82%,#0000)}.map-caption{white-space:nowrap;color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.live-dot{background:var(--green);border-radius:50%;width:5px;height:5px}.river{fill:none;stroke:var(--water);stroke-width:70px}.street{fill:none;stroke:var(--bg);stroke-width:15px}.park{fill:oklch(90% .045 152);opacity:.55}.airport-building{fill:oklch(91% .012 165);stroke:var(--bg);stroke-width:5px}.airport-building>path{fill:none;stroke:oklch(84% .018 165);stroke-width:2px}.route-underlay{fill:none;stroke:var(--bg);stroke-width:17px;stroke-linecap:round;stroke-linejoin:round}.route-future{fill:none;stroke:oklch(77% .03 164);stroke-width:4px;stroke-dasharray:3 10;stroke-linecap:round}.route-traveled{fill:none;stroke:var(--green);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.pin-home{fill:var(--bg);stroke:var(--line);stroke-width:1.5px}.pin-destination{fill:var(--green);stroke:var(--bg);stroke-width:4px}.pin-glyph{fill:none;stroke:var(--green);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.pin-destination+.pin-glyph{stroke:var(--bg)}.map-pin text,.waypoint-labels text{fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:6px;stroke-linejoin:round;font-family:inherit;font-size:17px;font-weight:700}.marker-halo{fill:var(--green);opacity:.1}.car-body{fill:oklch(32% .012 260);stroke:var(--bg);stroke-width:2.5px}.car-window{fill:oklch(82% .014 260)}.car-trim{fill:none;stroke:oklch(58% .01 260);stroke-width:1.5px}.car-wheels{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.map-tools{color:var(--muted);align-items:center;gap:22px;font-size:10px;display:flex;position:absolute;bottom:0;right:1%}.map-tools>span:first-child{flex-direction:column;align-items:center;gap:5px;display:flex}.map-tools>span:first-child svg{transform:rotate(-45deg)}.scale{border:1px solid var(--muted);text-align:center;border-top:0;width:45px;padding-bottom:5px}.terminal-outline{fill:var(--surface);stroke:var(--line);stroke-width:2px}.terminal-room{fill:oklch(93% .006 165);stroke:var(--line);stroke-width:1.5px}.terminal-furniture{fill:none;stroke:oklch(82% .012 165);stroke-width:5px;stroke-linecap:round}.lounge-room{fill:oklch(94% .033 164);stroke:oklch(82% .04 164);stroke-width:1.5px}.lounge-furniture{fill:none;stroke:oklch(76% .065 164);stroke-width:3px;stroke-linejoin:round}.gate-bridges{fill:var(--surface);stroke:var(--line);stroke-width:2px}.gate-plane-shadow{fill:color-mix(in oklab, var(--ink) 12%, transparent);transform:translate(5px,6px)}.gate-plane-body{fill:var(--bg);stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.gate-plane-window{fill:var(--green)}.waypoints{fill:var(--bg);stroke:var(--green);stroke-width:3px}.waypoint-labels .lounge-label{fill:var(--green)}.location-dot{fill:var(--green);stroke:var(--bg);stroke-width:3px}.dot-center{fill:var(--bg)}.preflight{text-align:center;width:min(640px,90%);z-index:var(--z-content);will-change:opacity, transform;flex-direction:column;align-items:center;margin-top:-220px;margin-left:-320px;display:flex;position:absolute;top:50%;left:50%}.ready-symbol{width:90px;height:90px;color:var(--plan-live);border:1px solid var(--line);box-shadow:0 8px 24px -12px color-mix(in oklab, var(--ink) 18%, transparent);background:oklch(100% 0 0);border-radius:50%;place-items:center;margin-bottom:22px;display:grid;position:relative}.orbit{border:1.5px dashed var(--line);border-radius:50%;position:absolute;inset:9px}.ready-live{border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);box-shadow:0 4px 12px -4px color-mix(in oklab, var(--ink) 22%, transparent);background:oklch(100% 0 0);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-family:Sora Variable,sans-serif;font-size:8px;font-weight:700;display:inline-flex;position:absolute;bottom:-7px;right:-14px}.ready-live-dot{background:var(--plan-live);border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite ready-live-pulse}@keyframes ready-live-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in oklab, var(--plan-live) 45%, transparent)}50%{opacity:.55;box-shadow:0 0 0 4px color-mix(in oklab, var(--plan-live) 0%, transparent)}}.ready-badge{color:var(--plan-live);margin:4px 0 15px;font-size:11px;font-weight:600}.preflight h2{letter-spacing:-.035em;text-wrap:balance;max-width:600px;font-size:clamp(34px,4.1vw,56px);font-weight:550;line-height:1.14}.preflight>p{color:var(--muted);margin-top:17px;font-size:14px}.preflight-route{border:1px solid var(--line);width:390px;max-width:100%;box-shadow:0 10px 26px -16px color-mix(in oklab, var(--ink) 16%, transparent);background:oklch(100% 0 0);border-radius:22px;justify-content:space-between;align-items:flex-start;margin:34px auto 28px;padding:18px 20px;display:flex;position:relative}.route-line{background:var(--line);height:1px;position:absolute;top:37px;left:19%;right:19%}.preflight-route>div{z-index:1;width:90px;color:var(--muted);flex-direction:column;flex-shrink:0;align-items:center;gap:10px;font-family:Sora Variable,sans-serif;font-size:11px;font-weight:600;display:flex;position:relative}.preflight-route>.route-active{color:var(--ink)}.route-icon{color:var(--muted);background:var(--plan-dark-bg);border:1px solid var(--line);border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.route-active .route-icon{color:var(--green);background:var(--green-soft);border-color:color-mix(in oklab, var(--green) 22%, var(--line));box-shadow:0 6px 16px -8px color-mix(in oklab, var(--green) 45%, transparent)}.start-button{background:var(--green);color:oklch(100% 0 0);box-shadow:0 12px 26px -12px color-mix(in oklab, var(--green) 55%, transparent);border-radius:14px;align-items:center;gap:18px;padding:13px 18px;font-family:Sora Variable,sans-serif;font-size:12px;font-weight:600;transition:background .2s;display:flex}.start-button:hover{background:color-mix(in oklab, var(--green) 86%, oklch(0% 0 0))}.ready-footnote{color:var(--muted);margin-top:15px;font-size:10px}.notification{background:var(--bg);border:1px solid var(--line);max-width:460px;z-index:var(--z-overlay);opacity:0;pointer-events:none;will-change:transform, opacity;border-radius:12px;align-items:center;gap:14px;padding:19px 22px;display:flex;position:absolute;bottom:163px;left:44%}.notification[aria-hidden=false]{pointer-events:auto}.notification-icon{background:var(--green-light);width:39px;height:39px;color:var(--green);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.notification-label{color:var(--muted);font-size:10px;font-weight:650}.notification p{max-width:340px;margin-top:4px;font-size:13px;font-weight:600;line-height:1.7}.notification-lines{flex-direction:column;gap:6px;display:flex}.notification-line{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.notification .estimate-highlight{border-radius:4px;padding:1px 5px;font-weight:650}.notification .estimate-good{color:var(--plan-traffic-good);background:var(--plan-traffic-good-soft)}.notification .estimate-high{color:var(--plan-traffic-high);background:var(--plan-traffic-high-soft)}.notification .traffic-alert{cursor:help;flex-shrink:0}.notification .traffic-alert>span{width:max-content;max-width:230px;color:var(--plan-traffic-high);background:var(--plan-traffic-high-soft);box-shadow:0 10px 26px color-mix(in oklab, var(--ink) 16%, transparent);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:600;line-height:1.4;transition:opacity .18s,transform .18s,visibility .18s;top:50%;left:calc(100% + 8px);right:auto;transform:translate(3px,-50%)}.notification .traffic-alert:hover>span,.notification .traffic-alert:focus-visible>span{opacity:1;visibility:visible;transform:translateY(-50%)}.safe-time{color:var(--plan-live);opacity:0;pointer-events:none;grid-template-columns:auto auto;align-items:center;column-gap:9px;display:grid;position:absolute;bottom:140px;right:4%}.safe-time>span{font-size:11px}.safe-time strong{letter-spacing:-.04em;color:var(--plan-live);grid-column:1/-1;margin-top:8px;font-size:62px;font-weight:500;line-height:1.1}.safe-time>span:last-child{color:var(--muted);grid-column:1/-1;margin-top:4px}.finish{opacity:0;z-index:var(--z-content);flex-direction:column;gap:13px;display:flex;position:absolute;bottom:108px;left:5%}.finish>span{color:var(--green);align-items:center;gap:8px;font-size:12px;display:flex}.finish button{background:var(--bg);text-align:left;align-items:center;gap:16px;padding:10px 0;font-size:11px;display:flex}.finish button:hover{color:var(--green)}.content-slot{background:var(--bg);z-index:var(--z-overlay);visibility:hidden;padding:30px;position:absolute;inset:95px 5% 135px;overflow:auto}.journey-footer{background:var(--bg);width:100%;z-index:var(--z-overlay);padding:17px 4.5% 24px;position:absolute;bottom:0;left:0}.footer-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:24px;font-size:10px;display:flex}.scroll-hint,.footer-assurance{align-items:center;gap:7px;display:flex}.checkpoints{justify-content:space-between;gap:10px;max-width:1000px;margin:auto;display:flex}.checkpoints button{color:var(--muted);background:0 0;align-items:center;gap:10px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.checkpoints button:hover{color:var(--green)}.checkpoint-dot{border:1px solid var(--line);border-radius:50%;place-items:center;width:15px;height:15px;display:grid}.checkpoints button[aria-current]{color:var(--green);font-weight:750}.checkpoints button[aria-current] .checkpoint-dot{border-color:var(--green);background:var(--green-light)}.checkpoints button[aria-current] .checkpoint-dot:empty:after{content:"";background:var(--green);border-radius:50%;width:5px;height:5px}.checkpoint-arrow{opacity:.45;margin-left:25px}.progress-track{background:var(--line);height:2px;position:absolute;bottom:0;left:0;right:0}.progress-track>span{transform-origin:0;background:var(--green);width:100%;height:100%;display:block;transform:scaleX(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1440px){.map-stage{top:145px;bottom:105px}.notification{bottom:185px}}@media (width<=700px){.journey-viewport{min-height:520px}.scene-heading{width:auto;top:88px;left:6%;right:6%;transform:none}@keyframes scene-copy-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.scene-kicker{margin-bottom:8px;font-size:9px}.scene-heading h2{max-width:92%;font-size:clamp(21px,6.6vw,29px);line-height:1.12}.scene-heading p{max-width:94%;margin-top:12px;font-size:11px;line-height:1.55}.scene-heading .scene-conclusion{margin-top:12px;padding-top:9px;font-size:9px}.preflight{width:88%;margin-top:-208px;margin-left:-44%}.preflight h2{max-width:340px;font-size:37px}.preflight>p{max-width:290px;font-size:12px;line-height:1.8}.ready-symbol{width:67px;height:67px;margin-bottom:22px}.ready-symbol>svg{width:29px}.preflight-route{width:310px;margin-top:28px;margin-bottom:25px}.preflight-route>div{width:76px;font-size:10px}.map-stage{inset:290px 3% 145px}.journey-map{overflow:visible}.map-pin text,.waypoint-labels text{stroke-width:7px;font-size:26px}.map-caption{font-size:9px;bottom:0}.map-tools{display:none}.notification{gap:10px;max-width:none;padding:14px 15px;bottom:92px;left:6%;right:6%}.notification p{font-size:11px;line-height:1.6}.notification-label{font-size:9px}.notification-icon{width:34px;height:34px}.safe-time{grid-template-columns:auto auto;column-gap:6px;bottom:190px;right:7%}.safe-time>svg{width:16px}.safe-time strong{margin-top:2px;font-size:39px}.safe-time>span{font-size:9px}.safe-time>span:last-child{display:none}.journey-footer{padding:12px 6% 20px}.footer-top{margin-bottom:16px;font-size:9px}.footer-assurance{display:none}.checkpoints{gap:7px}.checkpoints button{flex-direction:column;flex:1;align-items:center;gap:8px;font-size:8px;line-height:1.5}.checkpoint-arrow{display:none}.checkpoint-dot{width:13px;height:13px}.finish{bottom:82px;left:6%}.content-slot{padding:20px;inset:85px 4% 140px}}@media (height<=700px) and (width>=701px){.scene-heading{top:48%}.scene-heading h2{font-size:28px}.map-stage{top:105px;bottom:82px}.preflight{margin-top:-190px}.ready-symbol{width:58px;height:58px;margin-bottom:15px}.preflight h2{font-size:40px}.preflight-route{margin-top:22px;margin-bottom:20px}.notification{bottom:140px}.safe-time{bottom:170px}.finish{bottom:140px}}@media (height<=650px) and (width<=700px){.preflight{margin-top:-177px}.ready-symbol{width:46px;height:46px;margin-bottom:15px}.preflight h2{font-size:30px}.preflight-route{margin:20px auto}.ready-footnote{display:none}.scene-heading{top:74px}.scene-heading h2{font-size:21px}.scene-heading p{margin-top:8px;line-height:1.4}.map-stage{top:245px;bottom:112px}.notification{padding:9px 12px;bottom:115px}.safe-time{bottom:150px}.journey-footer{padding-bottom:15px}.footer-top{margin-bottom:8px}.finish{bottom:120px}}@media (prefers-reduced-motion:reduce){.journey{height:var(--reduced-distance)}*,:before,:after{scroll-behavior:auto!important;transition:none!important}.map-layer,.preflight,.notification,.scene-heading{will-change:auto;animation:none}}@media (width>=701px){.notification{max-width:min(390px,34vw);top:150px;bottom:auto}.finish{top:auto}}@media (width>=701px) and (height<=700px){.notification{top:112px}}
