:root{--ink:#303349;--muted:#77778b;--purple:#aca5ff;--purple-dark:#6358c8;--purple-light:#efedff;--blue:#5065a1;--mint:#b0fdd8;--cyan:#83def4;--yellow:#ffefc7;--border:#e5e3f1;--shadow:0 14px 42px rgba(62,52,118,.1);--soft-shadow:0 5px 13px rgba(50,46,92,.13);font-family:'Avenir Next',Avenir,'Century Gothic',Arial,sans-serif;color:var(--ink);background:#f8f7fd;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100svh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #776de4;outline-offset:4px}button{border:0}img{display:block}h1,h2,h3,p{margin:0}button,a{transition:background .2s,box-shadow .2s,transform .2s}button:active,.primary:active{transform:scale(.97)}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:16px;border-radius:14px}.skip-link:focus{top:12px}.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(50px);opacity:.65}.ambient-one{width:470px;height:470px;background:#e8e4ff;top:180px;left:-300px}.ambient-two{width:420px;height:420px;background:#e1fbf3;bottom:-250px;right:-200px}.app-header{max-width:1160px;margin:auto;min-height:100px;padding:22px 20px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;letter-spacing:2px;font-weight:900;line-height:1.15}.brand img{object-fit:contain}.brand>span>span{display:block}.main-nav{display:flex;gap:6px;margin-left:36px}.main-nav a{padding:12px 18px;border-radius:16px;font-weight:600;font-size:14px;color:var(--muted)}.main-nav a[aria-current=page]{background:#eae7ff;color:var(--purple-dark)}.main-nav a:hover{background:#eeebfb}.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.demo-badge{display:flex;gap:7px;align-items:center;font-size:11px;letter-spacing:.3px;color:#787489;background:rgba(255,255,255,.8);border:1px solid var(--border);border-radius:30px;padding:8px 11px;white-space:nowrap}.demo-badge>span{width:5px;height:5px;background:#9085df;border-radius:100%}.icon-button{display:grid;place-items:center;width:40px;height:40px;background:#fff;border:1px solid var(--border);border-radius:50%;font-size:16px}.icon-button:hover{box-shadow:var(--soft-shadow);background:#f3f0ff}.profile-button{padding:0;background:white;border-radius:50%;overflow:hidden;width:40px;height:40px;box-shadow:0 3px 8px #37314a1f}.profile-button img{width:100%;height:100%;object-fit:cover;object-position:42% 15%}#trip-count{font-size:10px;background:#d6d0ff;color:#5146aa;border-radius:8px;padding:1px 5px;margin-left:3px}#app{max-width:1120px;margin:0 auto;outline:none}.view{animation:view-in .45s cubic-bezier(.2,.8,.2,1) both}.app-footer{max-width:1120px;display:flex;justify-content:space-between;padding:28px 8px 25px;margin:auto;font-size:11px;color:#898697}.app-footer button{background:none;padding:0;font-size:11px;color:var(--purple-dark)}.home-grid{display:grid;grid-template-columns:414px minmax(0,1fr);gap:28px;align-items:stretch}.hero{position:relative;isolation:isolate;background:linear-gradient(180deg,#e9e6ff 0%,#fff 37%,#e8e4ff 100%);height:540px;border-radius:40px;overflow:hidden;box-shadow:var(--soft-shadow);align-self:start}.hero-top{position:relative;z-index:4;height:95px;display:flex;align-items:flex-start;justify-content:space-between;padding:27px 29px}.hero-search{background:none;padding:6px;display:grid;place-items:center;width:38px;height:38px}.hero-search img{max-width:29px;max-height:31px}.hero-brand{position:absolute;left:50%;transform:translateX(-50%);top:24px;display:flex;flex-direction:column;align-items:center;color:var(--blue);font-size:8px;line-height:1.05;font-weight:900;letter-spacing:.3px}.hero-brand img{width:32px;height:32px;object-fit:contain;margin-bottom:3px}.hero-trip-link{background:#ffffff80;font-size:10px;color:var(--blue);border-radius:13px;padding:10px 13px}.hero h1{position:relative;z-index:3;color:var(--blue);font-size:18px;font-weight:400;letter-spacing:-.65px;margin:20px 33px 0;line-height:1.5}.hero-art{position:absolute;top:144px;left:0;width:414px;height:396px;overflow:visible}.hero-art>img{position:absolute;left:-251px;top:0;width:963px;height:451px;object-fit:cover;transform:scaleX(-1);animation:city-float 7s ease-in-out infinite;will-change:transform}.sky-tile{position:absolute;width:var(--w);height:auto;left:var(--x);top:var(--y);opacity:var(--o);animation:tile-float var(--t) ease-in-out infinite alternate;pointer-events:none}.home-right{display:flex;flex-direction:column;gap:22px}.plan-card{border:1px solid #e2ddfc;background:linear-gradient(135deg,#f1eeff,#faf9ff 70%);border-radius:32px;padding:27px 29px;position:relative;flex:1}.eyebrow{color:var(--purple-dark);font-size:10px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}.eyebrow::before{content:'';width:16px;height:2px;background:var(--purple);border-radius:2px}.plan-card h2{font-size:30px;letter-spacing:-1.2px;font-weight:800;margin-bottom:6px}.subtitle{font-size:12px;line-height:1.6;color:var(--muted)}.plan-card .subtitle{margin-bottom:20px}.route-inputs{background:#fff;border-radius:23px;padding:7px 18px;border:1px solid #ebe7f6;box-shadow:0 7px 22px rgba(78,58,143,.04)}.route-field{display:grid;grid-template-columns:15px 1fr;column-gap:12px;align-items:center;min-height:61px}.route-field+.route-field{border-top:1px solid #ece9f2}.route-dot{width:9px;height:9px;border:1.5px solid #ff7a65;border-radius:50%;justify-self:center;box-shadow:inset 0 0 0 2px white;background:#ff7a65}.route-dot.destination{background:#a29bef;border-color:#a29bef}.route-field label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.route-field select{display:block;width:100%;border:0;background:#fff;color:var(--ink);font-size:14px;padding:1px 14px 1px 0;font-weight:500;outline-offset:1px}.route-field select option{background:white;color:var(--ink)}.form-row{display:flex;gap:12px;margin-top:15px;align-items:center}.compact-control{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:12px;padding:9px 11px;background:#fff;font-size:11px;color:var(--muted)}.compact-control select{border:0;background:#fff;font-size:11px;font-weight:700;color:var(--ink);padding:0}.swap-button{margin-left:auto;background:transparent;color:var(--blue);font-size:11px;padding:8px 0}.primary{background:#34333d;color:#fff;border-radius:17px;padding:17px 23px;display:flex;justify-content:center;align-items:center;gap:14px;min-height:53px;font-size:13px;font-weight:700;box-shadow:0 5px 12px #2c224922;letter-spacing:.1px}.primary:hover{background:#4e4774;box-shadow:0 6px 16px #4e398c35;transform:translateY(-2px)}.primary.purple{background:var(--purple-dark)}.primary:disabled{opacity:.45;transform:none}.primary .arrow{margin-left:auto;font-size:22px;font-weight:400}.wide{width:100%}.form-primary{margin-top:19px}.form-note{font-size:10px;color:#8c849a;text-align:center;margin-top:11px;line-height:1.5}.error{font-size:12px;line-height:1.55;color:#b9405a;background:#fff0f3;border-radius:12px;padding:10px 12px;margin-top:12px}.error:empty{display:none}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.service-card{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;min-height:183px;padding:14px 18px 17px;text-align:left;box-shadow:var(--soft-shadow);border:1px solid #ffffff80;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #38356221}.service-card.air{background:var(--cyan);color:#1a549d}.service-card.care{background:var(--mint);color:#396e5d}.service-art{height:70px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.service-art img{max-width:100%;max-height:67px;object-fit:contain}.service-card.air .service-art img{animation:dj-bounce 2.8s ease-in-out infinite}.service-card.care .service-art img{animation:parachute-float 5s ease-in-out infinite}.service-card h3{text-align:center;font-size:17px;font-weight:500;letter-spacing:1.4px;line-height:1.6;position:relative;z-index:2}.service-card h3 img{max-height:26px;max-width:100px;margin:4px auto;object-fit:contain}.service-card .service-caption{display:block;background:rgba(255,255,255,.91);border-radius:15px;padding:8px 12px;font-size:10px;font-weight:400;text-align:center;line-height:1.3;position:relative;z-index:2;box-shadow:0 3px 5px #39515b16;margin-top:5px}.service-card .service-arrow{position:absolute;right:14px;top:10px;z-index:3;font-size:17px}.ornament{position:absolute;z-index:0;opacity:.6;pointer-events:none;max-width:23px;max-height:24px;transform:rotate(var(--r));left:var(--x);top:var(--y)}.fleet-bar{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:29px;background:var(--purple);box-shadow:0 7px 15px #8c83d732;overflow:hidden;padding:9px}.fleet-option{background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;padding:14px 12px;border-radius:20px;min-height:70px;text-align:left}.fleet-option:hover{background:#ffffff26}.fleet-option img{max-height:47px;max-width:50px;object-fit:contain}.fleet-option strong{font-size:13px;display:block;line-height:1.5}.fleet-option small{font-size:10px;font-weight:400;opacity:.85}.fleet-note{display:flex;align-items:center;justify-content:space-between;margin:20px 4px 0}.fleet-note p{font-size:11px;color:var(--muted)}.text-button{background:transparent;padding:5px 0;color:var(--purple-dark);font-size:11px;font-weight:600}
/* Original aircraft, composed into an animated fleet scene. */
.hero-fleet{position:absolute;inset:31% 0 8%;isolation:isolate}.hover-port{position:absolute;left:21%;top:45%;width:61%;height:32%;border:7px solid white;border-radius:24px;background-color:#cac4ff;background-image:linear-gradient(90deg,transparent 46%,#faf9ff 47%,#faf9ff 52%,transparent 53%),linear-gradient(0deg,transparent 45%,#eeeaff 46%,#eeeaff 54%,transparent 55%);background-size:54px 54px;transform:rotate(-27deg) skew(28deg);box-shadow:-5px 8px 0 #5e70a9,-8px 15px 0 #d6deef,0 42px 25px -18px #8071a953;animation:port-hover 6s ease-in-out infinite}.port-route{position:absolute;left:24%;top:20%;width:45%;height:45%;border-left:4px solid #ffae9a;border-bottom:4px solid #ffae9a;border-radius:0 0 0 12px}.port-dot{position:absolute;left:21%;top:13%;width:17px;height:17px;border-radius:50%;background:#f79087;border:4px solid white;box-shadow:0 0 0 5px #ffba9d55}.port-dot.destination{left:65%;top:58%;background:#72cdbb;box-shadow:0 0 0 5px #9bdec255}.hero-craft{position:absolute;filter:drop-shadow(0 17px 9px #5c52951c)}.hero-craft img{width:100%;height:auto;animation:ship-float 5s ease-in-out infinite}.craft-main{left:25%;top:2%;width:56%;z-index:4}.craft-main img{animation-duration:5.5s}.craft-solo{left:1%;top:38%;width:36%;z-index:5}.craft-solo img{animation-delay:-1.2s;animation-duration:4.5s}.craft-duo{right:0;top:55%;width:42%;z-index:6}.craft-duo img{animation-delay:-2.5s;animation-duration:6s}.hero-orbit{position:absolute;border:1px solid #b1a8df55;border-radius:50%;transform:rotate(-24deg)}.orbit-one{left:5%;top:7%;width:90%;height:75%}.orbit-two{left:0;top:26%;width:100%;height:72%}.hero-caption{position:absolute;bottom:23px;left:15px;right:15px;text-align:center;color:#7972a8;font-size:11px;letter-spacing:.3px}.sky-spark{position:absolute;font-size:21px;color:#bdb4ed;animation:sparkle 4s ease-in-out infinite}.spark-one{left:12%;top:20%}.spark-two{right:8%;top:24%;font-size:13px;animation-delay:-2s}@keyframes port-hover{0%,100%{transform:rotate(-27deg) skew(28deg) translateY(0)}50%{transform:rotate(-27deg) skew(28deg) translateY(-5px)}}@keyframes sparkle{50%{opacity:.35;transform:scale(.65)}}
/* Flight planner */
.view-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.view-heading h1{font-size:24px;letter-spacing:-.8px}.view-heading .subtitle{margin-top:4px}.back-button{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;border:1px solid var(--border);background:#fff;font-size:22px;flex:none}.planner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:24px;align-items:start}.map-panel{position:relative;min-height:654px;border-radius:34px;overflow:hidden;box-shadow:var(--soft-shadow);background:#dfddd7;isolation:isolate}.map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.map-wash{position:absolute;inset:0;background:linear-gradient(180deg,#eeeaff12,transparent 40%,#e9e4ff22)}.map-toolbar{position:absolute;z-index:4;left:21px;right:21px;top:22px;display:flex;justify-content:space-between;align-items:center;gap:8px}.map-label{background:#ffffffef;border-radius:16px;padding:12px 15px;font-size:11px;box-shadow:var(--soft-shadow);color:#666276}.map-label strong{color:var(--blue);display:block;font-size:12px;margin-bottom:2px}.map-legend{position:absolute;bottom:16px;left:20px;right:20px;z-index:3;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#686679}.map-legend span{border-radius:12px;background:#fffffff0;padding:8px 10px}.map-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.route-under{fill:none;stroke:#fff;stroke-width:1.7;opacity:.85}.route-path{fill:none;stroke:#8778e8;stroke-width:.6;stroke-linecap:round;stroke-dasharray:2 1.5;animation:route-dash 16s linear infinite}.map-stop{position:absolute;transform:translate(-50%,-50%);background:#ffffffed;border:2px solid #ada5d7;box-shadow:0 3px 8px #3333332b;width:14px;height:14px;border-radius:50%;padding:0;z-index:3}.map-stop::after{content:'';position:absolute;inset:-13px;border-radius:50%}.map-stop:hover,.map-stop:focus-visible{z-index:6;background:#b2a9fb}.map-stop .stop-tip{pointer-events:none;position:absolute;white-space:nowrap;bottom:23px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:600;color:#595076;background:#fff;border-radius:8px;padding:6px 8px;box-shadow:0 3px 8px #37305622;opacity:0;transition:opacity .15s}.map-stop:hover .stop-tip,.map-stop:focus-visible .stop-tip,.map-stop.selected .stop-tip{opacity:1}.map-stop.selected{width:20px;height:20px;border:4px solid #fff;background:#7a67d6;box-shadow:0 0 0 1px #a08aea,0 0 0 8px #a391ef30}.map-stop.pickup{background:#ff8d73;box-shadow:0 0 0 1px #ff8d73,0 0 0 8px #ff8d7330}.floating-ship{position:absolute;z-index:5;width:105px;pointer-events:none;transform:translate(-50%,-70%);filter:drop-shadow(0 8px 5px #38324435)}.floating-ship img{width:100%;height:auto;animation:ship-float 3s ease-in-out infinite}.route-editor{padding:23px;border-radius:27px;background:linear-gradient(160deg,#ece8ff,#f9f8ff);margin-bottom:20px}.route-editor .eyebrow{margin-bottom:16px}.rides-panel{background:var(--purple);padding:23px 19px 20px;border-radius:32px;box-shadow:var(--soft-shadow)}.rides-panel h2{font-size:22px;text-align:center;font-weight:900;letter-spacing:-.7px;margin:0 0 17px}.ride-card{position:relative;width:100%;display:grid;grid-template-columns:43% 57%;align-items:center;min-height:128px;background:#fff;border:2px solid transparent;border-radius:27px;margin-top:15px;box-shadow:0 3px 9px #3a32643c;padding:8px 14px 8px 6px;text-align:left;overflow:visible}.ride-card:hover{transform:translateY(-2px);box-shadow:0 7px 15px #41366535}.ride-card[aria-pressed=true]{border-color:#6250b8;box-shadow:0 0 0 3px #ffffff7a,0 7px 16px #6250b829}.ride-card:disabled{opacity:.62}.ride-card:disabled:hover{transform:none}.ride-art{height:109px;position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.ride-art img{max-width:100%;max-height:121px;object-fit:contain;animation:ship-float 4s ease-in-out infinite;animation-delay:var(--delay,0s)}.ride-card[aria-pressed=true] .ride-art img{animation-duration:2.5s}.ride-details strong{font-size:16px;display:block;font-weight:900;letter-spacing:-.4px}.ride-details .ride-spec{font-size:11px;color:#76707d;display:block;margin-top:3px}.price{font-size:12px;color:#44a429;font-weight:800;margin-top:15px;display:block}.price small{font-weight:500;font-size:10px;color:#9a969f;margin-left:5px}.selected-check{position:absolute;top:9px;right:11px;width:17px;height:17px;border-radius:50%;background:#6a59c2;color:white;display:none;place-items:center;font-size:10px}.ride-card[aria-pressed=true] .selected-check{display:grid}.ride-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:20px}.secondary{border-radius:17px;border:1px solid #e0d9ee;background:#fff;color:#ec6866;font-size:12px;min-height:53px;padding:15px;display:flex;align-items:center;justify-content:center;gap:7px}.secondary:hover{box-shadow:var(--soft-shadow);background:#faf8ff}.fare-note{font-size:10px;text-align:center;color:#726395;margin-top:14px;line-height:1.5}.location-note{font-size:10px;color:var(--muted);text-align:center;line-height:1.5;margin-top:13px}.schedule-chip{font-size:10px;background:#eae5ff;color:#635893;padding:8px 10px;border-radius:10px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:5px}.schedule-chip button{font-size:13px;border-radius:50%;background:#fff;width:21px;height:21px;line-height:1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-header .eyebrow{margin:0}.group-banner{background:#fff8dd;padding:13px;border-radius:16px;margin-bottom:14px;font-size:12px;line-height:1.5}.party-control{display:flex;justify-content:space-between;align-items:center;margin-top:11px}
/* Boarding and flight */
.flight-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:25px}.boarding-pass{background:#fff;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #e6e0f3;align-self:start}.boarding-top{background:linear-gradient(150deg,#e4deff,#f5f1ff);padding:27px;text-align:center;position:relative;overflow:hidden}.boarding-top .eyebrow{justify-content:center;font-size:9px}.boarding-top h1{font-size:29px;letter-spacing:-1px;margin:10px 0 3px}.status-caption{font-size:12px;color:#7b7092}.boarding-ship{height:165px;display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.boarding-ship:after{content:'';position:absolute;width:95px;height:12px;background:#51457d22;filter:blur(8px);bottom:20px;border-radius:50%;animation:shadow-pulse 3s ease-in-out infinite}.boarding-ship img{width:200px;max-height:150px;object-fit:contain;animation:ship-float 3s ease-in-out infinite;z-index:1}.boarding-code{font-size:10px;letter-spacing:1.9px;color:#8e81a2;font-weight:600}.boarding-body{padding:26px}.trip-route-list{position:relative;padding-left:22px}.trip-route-list:before{content:'';position:absolute;left:4px;top:13px;bottom:18px;width:1px;background:#d3cbea}.trip-route-item{position:relative;margin-bottom:22px}.trip-route-item:before{content:'';position:absolute;top:5px;left:-22px;width:9px;height:9px;border-radius:50%;background:#a79afa;border:2px solid #fff;outline:1px solid #b8a7f2}.trip-route-item:first-child:before{background:#ff9b82;outline-color:#ff9b82}.trip-route-item small{font-size:10px;color:#9a929f}.trip-route-item strong{display:block;font-size:15px;margin-top:4px}.trip-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px dashed #d7d1e4;padding-top:20px;margin-top:7px;gap:5px}.trip-stats small{font-size:9px;color:#968b9f}.trip-stats strong{display:block;font-size:13px;margin-top:5px}.boarding-actions{padding:0 25px 23px}.cancel-link{font-size:11px;color:#a78696;background:transparent;display:block;margin:13px auto 0;padding:5px}.flight-map{min-height:675px}.flight-map .floating-ship{width:140px;transition:left 12s cubic-bezier(.35,.05,.7,1),top 12s cubic-bezier(.35,.05,.7,1)}.flight-map .floating-ship.flying{left:var(--dest-x)!important;top:var(--dest-y)!important}.flight-status{position:absolute;z-index:7;bottom:53px;left:25px;right:25px;border-radius:24px;padding:22px 24px;background:#ffffffef;box-shadow:var(--soft-shadow);backdrop-filter:blur(14px)}.flight-status-heading{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800}.flight-status-heading .pulse{height:8px;width:8px;background:#9a8bea;border-radius:50%;box-shadow:0 0 0 6px #aaa0dd22;animation:pulse 2s infinite}.flight-status p{font-size:11px;line-height:1.6;color:#8d8199;margin-top:10px}.flight-progress{height:5px;background:#ede7f7;border-radius:10px;margin-top:15px;overflow:hidden}.flight-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a698ef,#77dabb);border-radius:10px}.flight-progress>span.progress-playing{width:100%;transition:width 12s linear}.timeline{display:flex;justify-content:space-between;margin:13px 0 0;font-size:9px;color:#a095ab}.timeline .done{color:var(--purple-dark);font-weight:800}.receipt-note{font-size:10px;text-align:center;line-height:1.7;color:#a397a8;margin:16px 0 0}.completion-star{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-8px;left:var(--x);width:7px;height:12px;background:var(--color);animation:confetti 2.5s var(--delay) ease-in-out both}
/* Trip history */
.trips-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.trips-heading h1{font-size:29px;letter-spacing:-.8px}.trips-heading .subtitle{margin-top:5px}.trips-tabs{display:flex;gap:8px;margin-bottom:24px}.trips-tabs button{border:1px solid var(--border);background:#fff;border-radius:14px;padding:10px 15px;font-size:12px}.trips-tabs button[aria-selected=true]{background:#e9e3ff;color:var(--purple-dark);border-color:#bdb0fa}.trip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.trip-card{border:1px solid #e7e1f0;background:#fff;box-shadow:0 5px 15px #48386308;border-radius:26px;padding:23px;position:relative;display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center}.trip-card img{max-width:90px;max-height:90px;object-fit:contain}.trip-card h2{font-size:16px;letter-spacing:-.2px;margin:7px 0}.trip-card p{font-size:11px;color:var(--muted);line-height:1.7}.trip-card .text-button{font-size:11px;margin-top:8px}.status-pill{font-size:9px;display:inline-block;padding:5px 8px;border-radius:10px;background:#eee7ff;color:#817097;font-weight:600;text-transform:capitalize}.status-pill.completed{background:#e7f9ef;color:#4a8b6a}.status-pill.cancelled{background:#f8eded;color:#b88d8d}.status-pill.scheduled{background:#fff5dc;color:#a0874d}.empty-state{min-height:450px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#efeaff,#fff);border:1px solid #e9e1f6;border-radius:34px;padding:40px 22px}.empty-state img{max-width:210px;max-height:155px;object-fit:contain;animation:ship-float 4s infinite ease-in-out;margin-bottom:27px}.empty-state h2{font-size:25px;letter-spacing:-.8px}.empty-state p{font-size:13px;color:var(--muted);margin:12px 0 24px;line-height:1.7}.empty-state .primary{min-width:190px}.services-history{margin-top:28px}.services-history h2{font-size:20px;letter-spacing:-.5px;margin-bottom:18px}.service-trip img{max-height:70px;max-width:75px}.service-trip .cancel-link{display:inline-block;margin:5px 0 0}.no-results{color:var(--muted);font-size:13px;padding:30px 0}
/* Dialogs */
dialog{border:1px solid #e4ddf3;border-radius:32px;padding:0;width:calc(100% - 28px);max-width:460px;max-height:90svh;color:var(--ink);box-shadow:0 28px 120px #21163455;overflow:auto;background:#fff}dialog::backdrop{background:#2922416b;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .3s cubic-bezier(.2,.8,.2,1)}.dialog-head{padding:26px 28px 22px;position:relative;background:linear-gradient(140deg,#efeaff,#fff)}.dialog-head h2{font-size:26px;letter-spacing:-.8px;margin-right:35px;line-height:1.2}.dialog-head p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}.dialog-close{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:50%;background:#ffffffbf;color:#9b8daa;font-size:23px;display:grid;place-items:center}.dialog-body{padding:4px 28px 28px}.dialog-body .field{display:block;margin-top:16px}.field>span{display:block;font-size:11px;margin-bottom:8px;color:#8c7f98;font-weight:600}.field input,.field select{display:block;width:100%;border:1px solid var(--border);border-radius:13px;padding:14px;font-size:13px;color:var(--ink);background:#fff;min-height:49px}.dialog-body .primary{margin-top:22px}.dialog-body p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.dialog-body .info-detail{border-top:1px solid #eee7f6;margin-top:18px;padding-top:18px}.dialog-art{display:flex;justify-content:center;align-items:center;height:100px;margin-top:5px;border-radius:22px;background:var(--purple-light)}.dialog-art img{max-width:140px;max-height:85px;object-fit:contain;animation:ship-float 3s infinite ease-in-out}.dialog-art.air{background:#d8f6fc}.dialog-art.care{background:#d8fbe9}.dialog-summary{margin-top:18px;padding:17px;border:1px dashed #cfc2e6;border-radius:18px;background:#faf8ff}.dialog-summary div{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.7;margin-top:5px}.dialog-summary span{color:#95899e}.dialog-summary strong{text-align:right}.success-icon{font-size:26px;width:64px;height:64px;background:#def7e9;color:#54a37a;display:grid;place-items:center;border-radius:50%;margin:8px auto 16px}.success-message{text-align:center}.success-message h3{font-size:23px;letter-spacing:-.7px}.checkbox-line{display:flex;gap:10px;align-items:center;font-size:12px;color:#8a7e97;margin-top:16px}.checkbox-line input{accent-color:#8c7cdb;width:17px;height:17px}.stops-list{display:grid;gap:9px;padding-top:12px}.stop-choice{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--border);background:white;padding:15px;border-radius:15px;font-size:12px}.stop-choice:hover{background:#f3efff}.stop-choice small{font-size:10px;color:#a296ab}.setting-line{display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid #eee7f6;padding:17px 0;margin-top:14px;font-size:12px}.setting-line button{border-radius:12px;background:#f0eafa;color:var(--purple-dark);padding:10px 14px;font-size:11px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,24px);max-width:calc(100% - 30px);width:max-content;z-index:200;background:#363042;color:#fff;border:1px solid #c4b7d055;border-radius:17px;box-shadow:0 10px 30px #27203926;font-size:12px;line-height:1.5;padding:14px 20px;opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{margin:30px;padding:30px;background:#f0eaff;border-radius:20px}.original-link{color:var(--purple-dark);text-decoration:underline;text-underline-offset:3px}
@keyframes view-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes city-float{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-7px)}}@keyframes tile-float{from{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes ship-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes dj-bounce{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes parachute-float{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-5px)}}@keyframes shadow-pulse{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.8);opacity:.4}}@keyframes route-dash{to{stroke-dashoffset:-40}}@keyframes pulse{50%{box-shadow:0 0 0 10px #aaa0dd08}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(550px) rotate(430deg);opacity:0}}
[data-motion=paused] *,[data-motion=paused] *::before,[data-motion=paused] *::after{animation-play-state:paused!important}[data-motion=paused] .flight-map .floating-ship,[data-motion=paused] .flight-progress>span{transition-duration:.01ms!important}[data-motion=paused] .view,[data-motion=paused] dialog[open]{animation:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.view,dialog[open]{animation:none!important}.hero-art>img{animation:none}.confetti{display:none}}
@media(min-width:1450px){body{padding-top:25px}.app-header{margin-bottom:20px}.ambient-one{left:0}.ambient-two{right:0}}
@media(max-width:1190px){.app-header{padding-left:25px;padding-right:25px}#app{margin:0 25px}.app-footer{padding-left:29px;padding-right:29px}.home-grid{gap:22px}.plan-card{padding:26px 23px}.main-nav{margin-left:14px}.ride-details strong{font-size:15px}.flight-map{min-height:680px}}
@media(max-width:900px){.app-header{gap:20px}.main-nav{margin-left:0}.home-grid{grid-template-columns:380px minmax(0,1fr);gap:18px}.hero{height:496px}.hero-art{transform:scale(.917874);transform-origin:top left;top:132px}.hero h1{font-size:17px;margin-left:27px;margin-top:14px}.sky-tile{transform:scale(.917)}.plan-card{padding:22px 19px}.plan-card h2{font-size:26px}.plan-card .subtitle{font-size:11px;margin-bottom:14px}.home-right{gap:16px}.service-card{padding:12px;min-height:168px}.service-card .service-caption{font-size:9px;padding:7px}.service-art{height:62px}.service-card h3{font-size:15px}.route-field{min-height:57px}.form-row{gap:7px}.compact-control{font-size:10px;padding:8px}.primary{font-size:12px}.form-primary{margin-top:14px}.plan-card{flex:0}.header-actions{gap:9px}.demo-badge{font-size:9px;padding:7px 9px}.fleet-option{gap:10px}.fleet-option small{display:none}.planner{grid-template-columns:1fr 360px;gap:20px}.map-panel{min-height:663px}.ride-card{min-height:116px;grid-template-columns:42% 58%}.ride-art{height:99px}.rides-panel{padding:21px 15px}.rides-panel h2{font-size:20px}.route-editor{padding:20px}.flight-layout{grid-template-columns:320px 1fr;gap:20px}.flight-map{min-height:667px}}
@media(max-width:760px){.app-header{min-height:80px;padding:17px 20px;gap:12px}.main-nav{gap:2px}.main-nav a{font-size:12px;padding:10px 12px}.brand{font-size:9px;gap:5px;letter-spacing:1px}.brand img{width:30px;height:30px}.header-actions{gap:10px}.header-actions .demo-badge{display:none}.profile-button{width:33px;height:33px}.profile-button img{width:33px;height:33px}.icon-button.motion-control{width:31px;height:31px;font-size:12px}#app{margin:0 18px}.home-grid{grid-template-columns:1fr;max-width:530px;margin:auto;gap:21px}.hero{width:414px;max-width:100%;height:540px;justify-self:center}.hero-art{transform:none;top:144px}.hero h1{font-size:18px;margin:20px 33px 0}.home-right{gap:19px}.plan-card{padding:26px}.plan-card h2{font-size:30px}.plan-card .subtitle{font-size:12px;margin-bottom:20px}.route-field{min-height:62px}.form-primary{margin-top:20px}.form-row{gap:12px}.compact-control{font-size:11px;padding:10px 12px}.service-card{min-height:178px;padding:14px 19px}.service-card h3{font-size:17px}.service-card .service-caption{font-size:10px}.service-art{height:69px}.fleet-bar{max-width:530px;margin:22px auto 0;padding:8px;border-radius:24px}.fleet-option{flex-direction:column;text-align:center;padding:10px 3px;gap:6px;border-radius:17px;min-height:77px}.fleet-option img{max-width:44px;max-height:37px}.fleet-option strong{font-size:10px}.fleet-note{max-width:530px;margin:18px auto 0;padding:0 5px;gap:12px}.fleet-note p{font-size:10px}.fleet-note .text-button{font-size:10px}.app-footer{padding:27px 22px;font-size:10px;max-width:570px}.app-footer button{font-size:10px}.planner{grid-template-columns:1fr;max-width:530px;margin:auto;gap:20px}.planner-map{min-height:345px;grid-row:2}.planner-controls{display:contents}.route-editor{grid-row:1;margin:0;padding:24px}.rides-panel{grid-row:3;margin-top:-90px;position:relative;z-index:5;padding:25px 20px 20px;border-radius:33px}.rides-panel h2{font-size:23px}.ride-card{min-height:125px;margin-top:17px;grid-template-columns:44% 56%;padding:8px 19px 8px 8px}.ride-art{height:110px}.ride-art img{max-height:121px}.ride-details strong{font-size:17px}.ride-details .ride-spec{font-size:12px}.price{font-size:13px}.price small{font-size:10px}.planner-map .map-legend{bottom:97px}.planner-map .map-stop .stop-tip{font-size:9px}.planner-map .map-stop[data-stop=glen-park],.planner-map .map-stop[data-stop=ocean-avenue]{display:none}.view-heading{max-width:530px;margin:0 auto 20px}.view-heading h1{font-size:23px}.view-heading .subtitle{font-size:11px}.ride-actions{margin-top:22px}.ride-actions .primary,.ride-actions .secondary{font-size:12px;min-height:55px}.route-editor .route-inputs{padding:6px 16px}.flight-layout{grid-template-columns:1fr;max-width:530px;margin:auto;gap:20px}.boarding-pass{grid-row:2}.flight-map{grid-row:1;min-height:450px}.boarding-top{padding:24px}.boarding-ship{height:155px}.flight-status{left:18px;right:18px;bottom:47px;padding:18px}.boarding-body{padding:24px}.trip-list{grid-template-columns:1fr}.trips-heading{gap:13px;max-width:530px;margin:0 auto 23px}.trips-heading h1{font-size:26px}.trips-heading .primary{padding:13px 16px;font-size:11px;min-height:46px}.trips-tabs,.trip-list,.empty-state,.services-history{max-width:530px;margin-left:auto;margin-right:auto}.trips-tabs{gap:6px}.trips-tabs button{font-size:11px;padding:9px 11px}.trip-card{padding:21px;gap:16px}.trip-card h2{font-size:15px}.map-label{font-size:10px;padding:10px 13px}.map-label strong{font-size:11px}.flight-map .map-legend{font-size:8px}.flight-map .floating-ship{width:115px}.services-history h2{font-size:20px}}
@media(max-width:450px){#app{margin:0 13px}.app-header{padding:15px 17px;gap:10px}.main-nav a{padding:9px 10px;font-size:11px}.header-actions{gap:7px}.brand>span{display:none}.hero{width:100%;height:calc((100vw - 26px)*1.30435);border-radius:33px}.hero-top{height:calc((100vw - 26px)*.22947);padding:23px 25px}.hero h1{font-size:clamp(15px,4.35vw,18px);margin:calc((100vw - 26px)*.04831) 8% 0}.hero-art{width:100%;height:73.333%;top:26.667%}.hero-art>img{width:232.609%;height:auto;aspect-ratio:963 / 451;left:-60.628%;top:0;object-fit:cover}.hero-brand{top:20px}.hero-trip-link{font-size:9px;padding:8px 10px}.hero-search{width:31px;height:31px;padding:4px}.hero-search img{max-width:25px;max-height:27px}.home-grid{gap:19px}.plan-card{padding:24px 22px}.plan-card h2{font-size:28px}.service-grid{gap:14px}.service-card{padding:12px 11px;min-height:172px;border-radius:26px}.service-card .service-caption{font-size:9px;padding:8px 7px}.service-art img{max-height:59px;max-width:112px}.service-card h3{font-size:16px}.service-art{height:67px}.fleet-note p{max-width:225px}.ride-card{padding-right:13px}.ride-details strong{font-size:16px}.ride-details .ride-spec{font-size:11px}.rides-panel{padding:23px 15px 18px}.ride-card{grid-template-columns:43% 57%}.ride-art img{max-height:114px}.price{font-size:12px}.price small{font-size:9px}.rides-panel h2{font-size:21px}.map-stop .stop-tip{max-width:110px;overflow:hidden;text-overflow:ellipsis}.trip-card{grid-template-columns:75px 1fr}.trip-card img{max-width:75px}.dialog-head{padding:25px 23px 19px}.dialog-body{padding:4px 23px 25px}.app-footer{font-size:9px}.app-footer button{font-size:9px}}

/* Portfolio Edition V2.1 */
.trips-actions,.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.trips-actions .primary,.trips-actions .secondary{min-height:44px;padding:12px 18px}
.reset-profile{margin-top:12px;border-color:#d9d2ec;background:#f9f6ff;color:#554c77}
.story-link{font-size:inherit;color:var(--purple-dark);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.release-label{margin-left:10px;color:#857c9e;font-size:inherit;white-space:nowrap}
@media(max-width:560px){.trips-heading{align-items:flex-start;flex-direction:column}.trips-actions{width:100%}.trips-actions .primary,.trips-actions .secondary{flex:1}.app-footer{align-items:flex-start;gap:9px;flex-direction:column}.footer-links{gap:19px}}
