:root { --ink:#142b28; --green:#1f514a; --mint:#dff2e7; --paper:#faf9f5; --surface:#ffffff; --sand:#e6e8e0; --orange:#d84b22; --muted:#435650; --line:#c4d0c7; --danger:#a62d17; --focus:#0d6fba; --serif:"Instrument Serif",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font:400 16px/1.55 var(--sans); }
button,input,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.announcement { padding:12px 24px; background:var(--green); color:#f3fff8; font:500 16px/1.35 var(--mono); text-align:center; }
.airport-guide-tip a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.site-header { position:relative; max-width:1220px; min-height:86px; padding:14px 24px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-header>.site-nav { position:absolute; left:50%; flex-wrap:nowrap; transform:translateX(-50%); }
.logo { display:inline-flex; align-items:center; gap:9px; font-size:21px; font-weight:700; letter-spacing:-.04em; }
.logo-mark { width:30px; height:30px; display:grid; place-items:center; background:var(--orange); color:#fff; border-radius:50% 50% 50% 5px; font-size:20px; line-height:1; transform:rotate(-8deg); }
nav { display:flex; flex-wrap:wrap; gap:28px; color:var(--muted); font-size:16px; } nav a:hover,.text-link:hover { color:var(--orange); }
.nav-cta,.text-link { font-size:16px; font-weight:700; }.nav-cta span,.text-link span { margin-left:5px; color:var(--orange); }.mobile-nav-toggle,.mobile-nav-cta { display:none; }
.hero { max-width:1220px; min-height:560px; padding:76px 24px; margin:auto; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:58px; }
.eyebrow { margin:0 0 16px; color:#176450; font:600 16px/1.3 var(--mono); letter-spacing:.04em; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.04em; line-height:1.03; }
h1 { max-width:570px; margin-bottom:24px; font-size:clamp(58px,7vw,94px); font-weight:500; } h1 em { color:var(--orange); font-family:var(--serif); font-weight:400; }
.hero-text { max-width:500px; margin-bottom:31px; color:var(--muted); font-size:19px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:17px; min-height:50px; padding:10px 20px; border:0; border-radius:5px; font-size:16px; font-weight:700; cursor:pointer; transition:transform .18s,background .18s; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--orange); color:#fff; }.button-dark { width:100%; background:var(--ink); color:#fff; }.button-light { margin-top:28px; background:#f1f5ed; color:var(--green); }
.trust-row { display:flex; align-items:center; gap:12px; margin-top:45px; color:var(--muted); }.trust-row p { margin:0; }.avatar-stack { display:flex; }.avatar-stack span { display:grid; width:30px; height:30px; place-items:center; border:2px solid var(--paper); margin-left:-6px; border-radius:50%; background:#e6b8a5; color:#fff; font:16px var(--mono); }.avatar-stack span:nth-child(2){background:#647da3}.avatar-stack span:nth-child(3){background:#668855}
.hero-visual { position:relative; min-height:430px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(136deg,#ccebdc,#edf3e6); border-radius:175px 18px 18px; }.flight-orbit { position:absolute; border:1px solid rgba(35,78,73,.2); border-radius:50%; }.orbit-one { width:500px; height:330px; transform:rotate(-28deg); }.orbit-two { width:370px; height:230px; transform:rotate(-28deg); }.plane { position:absolute; top:65px; right:85px; color:#24705e; font-size:32px; transform:rotate(23deg); }
.alert-card { position:relative; z-index:1; width:min(375px,80%); padding:24px 23px 20px; background:#fffefa; border:1px solid rgba(35,78,73,.18); border-radius:8px; box-shadow:0 22px 45px rgba(28,63,54,.16); transform:rotate(-3deg); }.card-topline,.alert-meta,.result-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }.live,.mock-status { color:#13634d; font:600 16px var(--mono); }.live i,.mock-status i { display:inline-block; width:9px; height:9px; margin-right:6px; border-radius:50%; background:#23865e; }.time { color:var(--muted); font:16px var(--mono); }.alert-card h2 { margin:22px 0 9px; font-size:40px; font-weight:700; }.alert-card p { margin-bottom:18px; color:var(--muted); }.alert-divider { height:1px; background:#d7ddd7; }.alert-meta { padding-top:15px; color:var(--muted); font:16px var(--mono); }.alert-meta strong { color:#b53817; font-weight:700; }.arrival-chip { position:absolute; bottom:42px; left:30px; z-index:2; padding:10px 13px; background:var(--green); border-radius:4px; color:#fff; font:600 16px var(--mono); transform:rotate(2deg); }.arrival-chip span { color:#baf3cf; margin-right:5px; }
.tracker-section { padding:94px 24px 102px; background:#eef1eb; }.section-heading { max-width:730px; margin:0 auto 40px; text-align:center; }.section-heading h2 { margin-bottom:16px; font-size:clamp(40px,4vw,56px); font-weight:500; }.section-heading>p:last-child { max-width:600px; margin:0 auto; color:var(--muted); font-size:18px; }
.tracker-shell { max-width:1030px; margin:auto; background:var(--surface); border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 30px rgba(22,39,37,.06); overflow:visible; }.tracker-form { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:34px 34px 24px; }.tracker-form>label { display:block; min-width:0; width:100%; max-width:100%; }.tracker-form label:not(.toggle-row)>span:first-child { display:block; margin-bottom:8px; color:#263e38; font-size:16px; font-weight:700; }.tracker-form input[type=text],.tracker-form input[type=date] { width:100%; min-height:50px; padding:11px 13px; border:1px solid #9baea2; border-radius:5px; outline:none; background:#fff; color:var(--ink); font-size:16px; }.date-input-shell { display:block; width:100%; min-width:0; max-width:100%; overflow:hidden; border:1px solid #9baea2; border-radius:5px; background:#fff; }.tracker-form .date-input-shell #arrival-date { display:block; width:100%; min-width:0; max-width:100%; min-height:48px; padding:11px 13px; border:0; border-radius:0; text-align:center; inline-size:100%; min-inline-size:0; max-inline-size:100%; box-sizing:border-box; }.tracker-form label:focus-within .date-input-shell { border-color:#166d5b; box-shadow:0 0 0 3px #cfeee1; }.tracker-form #arrival-date::-webkit-date-and-time-value { min-width:0; margin:0; text-align:center; }.tracker-form #arrival-date::-webkit-datetime-edit { min-width:0; padding:0; text-align:center; }.tracker-form input:focus { border-color:#166d5b; box-shadow:0 0 0 3px #cfeee1; }.tracker-form .date-input-shell #arrival-date:focus { border-color:transparent; box-shadow:none; }.field-help { display:block; margin-top:7px; color:var(--muted); font-size:16px; line-height:1.4; }
.flight-lookup { grid-column:1/-1; margin:-7px 0 0; padding:14px 16px; border:1px solid #94cdb3; border-radius:6px; background:#f0fff5; color:#174c3c; font-size:16px; }.flight-lookup.is-loading { border-color:#a4bcb0; background:#f5f8f6; color:#28443b; }.flight-lookup.is-error { border-color:#d78a75; background:#fff4f1; color:#872a18; }.flight-found,.flight-detail,.flight-choice-intro { margin:0; }.flight-found { font-weight:700; }.flight-eta { display:block; margin:5px 0; font-size:19px; }.flight-detail { color:#315e51; }.flight-choices { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }.flight-choice { min-height:44px; padding:9px 12px; border:1px solid #4f8d78; border-radius:5px; background:#fff; color:#164b3c; cursor:pointer; font-size:16px; font-weight:700; text-align:left; }.flight-choice:hover { background:#ddf4e7; }
.flight-search-actions { grid-column:1/-1; display:flex; align-items:center; gap:16px; margin-top:-8px; }.flight-search-actions .button { width:auto; }.flight-search-actions p { margin:0; color:#526b61; font-size:14px; }
.origin-field { grid-column:1/-1; }.address-field { position:relative; }.origin-input-row { display:flex; gap:10px; }.location-button { flex:0 0 auto; min-height:50px; padding:10px 14px; border:1px solid #367c68; border-radius:5px; background:#eff9f3; color:#155743; cursor:pointer; font-size:16px; font-weight:700; }.location-button:hover { background:#d8f0e1; }.location-button:disabled { cursor:wait; opacity:.75; }.field-status { min-height:24px; margin:7px 0 0; color:#355f52; font-size:16px; }.field-status.is-error { color:var(--danger); }.field-status.is-loading { color:#355f52; }
.address-suggestions { position:absolute; z-index:5; top:82px; right:0; left:0; overflow:hidden; border:1px solid #79a892; border-radius:5px; background:#fff; box-shadow:0 10px 24px rgba(22,39,37,.16); }.address-suggestion { display:block; width:100%; min-height:46px; padding:11px 13px; border:0; border-bottom:1px solid #e1e9e3; background:#fff; color:var(--ink); cursor:pointer; font-size:16px; text-align:left; }.address-suggestion:hover,.address-suggestion:focus { background:#e9f7ef; }.address-attribution { display:block; width:140px; height:auto; margin:8px 12px; }
.location-confirmation { margin-top:10px; padding:14px; border:1px solid #75a88f; border-radius:6px; background:#effaf2; color:#214b3d; }.location-confirmation strong { display:block; font-size:17px; }.location-confirmation p { margin:4px 0 10px; font-size:16px; font-weight:600; }.location-confirmation div { display:flex; flex-wrap:wrap; gap:14px; }
.tracker-form>label.toggle-row { display:flex; align-items:center; gap:11px; padding-top:5px; color:#263e38; font-size:16px; font-weight:600; cursor:pointer; }.toggle-row input { position:absolute; opacity:0; }.toggle-row .fake-toggle { display:block; flex:0 0 40px; order:2; width:40px; height:24px; margin:0; position:relative; border-radius:20px; background:#79877f; transition:.2s; }.toggle-label { display:block; order:1; min-width:0; }.fake-toggle::after { position:absolute; content:""; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:#fff; transition:.2s; }.toggle-row input:checked + .fake-toggle { background:#16745c; }.toggle-row input:checked + .fake-toggle::after { transform:translateX(16px); }.toggle-row input:focus-visible + .fake-toggle { outline:3px solid var(--focus); outline-offset:3px; }.tracker-form .button { align-self:end; }.tracker-form .button:disabled { cursor:wait; opacity:.72; transform:none; }.form-error { max-width:1030px; margin:14px auto 0; padding:13px 16px; border:1px solid #d78a75; border-radius:6px; background:#fff4f1; color:#872a18; font-size:16px; font-weight:600; }.tracker-note { display:flex; align-items:flex-start; gap:12px; padding:18px 34px 21px; border-top:1px solid #dce5de; background:#fbfcfa; }.note-icon { color:#1d785f; font-size:21px; }.tracker-note p { max-width:720px; margin:0; color:#435650; font-size:16px; }.tracker-note strong { color:#263e38; }
.pickup-result { max-width:1030px; margin:22px auto 0; padding:26px; border:1px solid #7cb996; border-radius:8px; background:#f7fffa; }.result-label { margin-bottom:20px; color:#176450; font:600 16px var(--mono); letter-spacing:.04em; }.result-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr; gap:20px; }.result-flight { margin-bottom:7px; color:#405e54; font:16px var(--mono); }.result-primary h3 { margin-bottom:10px; font-size:34px; font-weight:600; }.result-primary h3 span { color:#126b51; }.result-primary p:last-child { margin:0; color:#405e54; }.result-stat { border-left:1px solid #bad9c6; padding-left:20px; }.result-stat span,.result-stat small { display:block; color:#435f55; font-size:16px; }.result-stat strong { display:block; margin:5px 0; font-size:22px; letter-spacing:-.03em; }.monitoring-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding:16px; border:1px solid #bad9c6; border-radius:6px; background:#effaf2; }.monitor-copy { min-width:0; }.monitoring-panel strong { display:block; font-size:18px; }.monitor-status { margin:4px 0 0; color:#285a49; font-size:16px; }.monitor-status.is-error { color:var(--danger); }.monitor-status.is-active { color:#126b51; }.monitor-status.is-terminal { color:#7c381f; font-weight:700; }.directions-panel { margin-top:12px; }.directions-panel>span { display:block; margin-bottom:7px; color:#315c4c; font-size:16px; font-weight:700; }.directions-actions,.monitor-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }.map-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 13px; border:1px solid #176450; border-radius:5px; background:#fff; color:#13634d; font-size:16px; font-weight:700; }.map-link:hover { background:#dff2e7; }.result-footer { flex-wrap:wrap; margin-top:22px; padding-top:16px; border-top:1px solid #cce3d4; color:#405e54; font-size:16px; }.result-footer p { flex:1; min-width:240px; margin:0; text-align:center; }.result-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px; }.plain-button { min-height:44px; border:0; padding:8px 2px; background:transparent; color:#13634d; font-size:16px; font-weight:700; cursor:pointer; }.plain-button:hover { color:#063f2f; text-decoration:underline; }.plain-button.prominent { padding:9px 13px; border:1px solid #176450; border-radius:5px; background:#fff; }
.how-it-works { max-width:1170px; padding:108px 24px; margin:auto; }.narrow { max-width:690px; }.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.steps article { padding:29px 35px 5px 0; }.steps article+article { padding-left:33px; border-left:1px solid var(--line); }.step-number { color:#a63818; font:600 16px var(--mono); }.steps h3 { margin:34px 0 10px; font-size:27px; font-weight:600; }.steps p { max-width:290px; color:var(--muted); font-size:16px; }

.site-footer { max-width:1220px; padding:30px 24px 32px; margin:auto; display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(180px,1fr); gap:46px; align-items:end; border-top:1px solid var(--line); color:var(--muted); font-size:16px; }.site-footer p { margin:0; }.site-footer .logo { color:var(--ink); font-size:18px; }.site-footer .logo-mark { width:25px; height:25px; font-size:16px; }.footer-brand { display:grid; gap:10px; }.footer-support { display:grid; justify-items:center; gap:8px; }.footer-label { color:#176450; font:600 11px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }.footer-links a { color:#294c42; }.footer-links a:last-child { text-underline-offset:3px; }.footer-copyright { justify-self:end; text-align:right; font-size:14px; }
.confirmation-backdrop { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:18px; overflow-y:auto; background:rgba(13,35,30,.56); }.timing-confirmation { width:min(640px,100%); max-height:calc(100dvh - 36px); overflow-y:auto; padding:28px; border-radius:8px; background:#fff; box-shadow:0 18px 48px rgba(0,0,0,.25); }.timing-confirmation h3 { margin:0 0 14px; font-size:32px; font-weight:600; }.timing-confirmation p { color:#334f46; }.timing-confirmation ul { margin:16px 0; padding-left:24px; color:#7b2d1b; font-weight:600; }.timing-confirmation li+li { margin-top:8px; }.confirmation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:22px; }.confirmation-actions .button { width:auto; }
@media (max-width:960px) { .site-header { min-height:70px; }.site-header>.site-nav { position:absolute; z-index:15; top:calc(100% - 1px); right:16px; left:16px; display:none; flex-direction:column; gap:0; padding:10px 14px; border:1px solid var(--line); border-radius:7px; background:var(--surface); box-shadow:0 14px 28px rgba(22,39,37,.14); transform:none; }.site-header>.site-nav.is-open { display:flex; }.site-header>.site-nav>a { display:block; padding:12px 2px; border-bottom:1px solid #e1e9e3; color:var(--ink); font-weight:700; }.site-header>.site-nav>a:last-child { border-bottom:0; }.site-header>.site-nav>.mobile-nav-cta { display:flex; align-items:center; justify-content:space-between; margin:6px 0 2px; padding:11px 13px; border:0; border-radius:5px; background:var(--green); color:#fff; }.site-header>.site-nav>.mobile-nav-cta span { color:#baf3cf; }.site-header>.header-actions>.nav-cta { display:none; }.mobile-nav-toggle { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; border:1px solid #176450; border-radius:5px; background:#fff; color:#13634d; cursor:pointer; }.mobile-nav-toggle:hover { background:#dff2e7; }.mobile-nav-toggle span { display:block; width:19px; height:2px; border-radius:2px; background:currentColor; } }
@media (max-width:800px) { .hero { grid-template-columns:1fr; padding-top:58px; }.hero-visual { min-height:350px; max-width:540px; width:100%; }.tracker-form { grid-template-columns:1fr; }.result-grid { grid-template-columns:1fr 1fr; }.result-primary { grid-column:span 2; }.result-stat:first-of-type { border-left:0; padding-left:0; }.how-it-works { padding-top:85px; }.steps { grid-template-columns:1fr; }.steps article,.steps article+article { padding:25px 0; border-left:0; border-bottom:1px solid var(--line); }.steps h3 { margin-top:19px; } }
@media (max-width:560px) { .announcement { padding:10px 14px; }.nav-cta { display:none; }.hero { padding:45px 20px 58px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:19px; }.hero-visual { min-height:310px; }.alert-card { width:85%; }.alert-card h2 { font-size:34px; }.tracker-section { padding:70px 16px; }.tracker-form { padding:25px 20px 20px; gap:19px; }.tracker-form>* { min-width:0; }.origin-input-row { flex-direction:column; }.origin-input-row input { min-width:0; }.location-button { width:100%; }.address-suggestions { top:134px; }.flight-choice { width:100%; overflow-wrap:anywhere; }.location-confirmation div,.confirmation-actions { align-items:stretch; flex-direction:column; gap:8px; }.location-confirmation .plain-button,.confirmation-actions .button,.confirmation-actions .plain-button,.directions-actions .map-link { width:100%; justify-content:center; }.tracker-note { padding:16px 20px; }.result-grid { grid-template-columns:1fr; }.result-primary { grid-column:span 1; }.result-stat,.result-stat:first-of-type { padding:13px 0 0; border-top:1px solid #bad9c6; border-left:0; }.monitoring-panel { align-items:flex-start; flex-direction:column; }.directions-actions { width:100%; align-items:stretch; flex-direction:column; gap:8px; }.result-footer { align-items:flex-start; flex-direction:column; gap:11px; }.result-footer p { min-width:0; text-align:left; }.result-actions { justify-content:flex-start; } footer { align-items:flex-start; flex-direction:column; gap:14px; }.timing-confirmation { padding:22px 18px; }.timing-confirmation h3 { font-size:28px; } }
@keyframes monitor-pulse { 0% { box-shadow:0 0 0 0 rgba(36,151,100,.38); } 70% { box-shadow:0 0 0 9px rgba(36,151,100,0); } 100% { box-shadow:0 0 0 0 rgba(36,151,100,0); } }
.header-actions { display:flex; min-width:0; align-items:center; gap:18px; }.nav-plus { min-height:44px; padding:8px 12px; border:1px solid #176450; border-radius:5px; background:#fff; color:#13634d; font-size:16px; font-weight:700; cursor:pointer; }.nav-plus:hover { background:#dff2e7; }.header-account { display:flex; min-width:0; align-items:center; gap:10px; }.nav-account { display:grid; min-width:0; max-width:210px; padding:6px 11px; text-align:left; }.header-account-state { color:#526b61; font:600 10px/1.2 var(--mono); letter-spacing:.05em; text-transform:uppercase; }.header-account-email { display:block; min-width:0; max-width:100%; overflow:hidden; color:#13634d; font-size:14px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }.nav-sign-out { flex:0 0 auto; padding:7px 2px; border:0; background:transparent; color:#526b61; font-size:14px; font-weight:700; text-decoration:underline; cursor:pointer; }.nav-sign-out:hover { color:#8b301c; }.inline-action { padding:0; border:0; background:transparent; color:#13634d; font-size:16px; font-weight:700; text-decoration:underline; cursor:pointer; }.plus-monitor-note { max-width:570px; margin:7px 0 0; color:#405e54; font-size:16px; }.notification-help { max-width:640px; margin-top:10px; padding:12px 14px; border:1px solid #bd704e; border-radius:5px; background:#fff7f2; color:#6f2e1d; }.notification-help strong { font-size:16px; }.notification-help p { margin:4px 0 0; }.monitor-status.is-active,.saved-status.is-active { color:#126b51; font-weight:700; }.monitor-status.is-active::before,.saved-status.is-active::before { display:inline-block; width:10px; height:10px; margin:0 8px 1px 0; border-radius:50%; background:#249764; box-shadow:0 0 0 0 rgba(36,151,100,.38); content:""; animation:monitor-pulse 2.4s ease-out infinite; }
.account-section { max-width:1030px; margin:42px auto 0; padding:30px; border:1px solid #7cb996; border-radius:8px; background:#f7fffa; }.account-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }.account-heading h2 { margin-bottom:10px; font-size:36px; font-weight:600; }.account-heading p:not(.eyebrow) { max-width:600px; margin:0; color:#405e54; }.account-actions { display:flex; flex-wrap:wrap; gap:12px; }.account-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }.account-grid h3 { margin-bottom:12px; font-size:22px; }.pickup-list { display:grid; gap:12px; }.saved-pickup { padding:15px; border:1px solid #bad9c6; border-radius:6px; background:#fff; }.saved-pickup h4 { margin:6px 0; font-size:18px; }.saved-pickup p { margin:0; color:#405e54; }.saved-status { font-size:16px; }.saved-status.is-terminal { color:#7c381f; font-weight:700; }.saved-actions { margin-top:8px; }.empty-pickups { padding:15px; border:1px dashed #8eb6a0; border-radius:6px; color:#405e54; }.account-delete { display:flex; align-items:center; gap:18px; margin-top:28px; padding-top:20px; border-top:1px solid #cce3d4; }.account-delete .plain-button { color:#8b301c; }.account-delete p { margin:0; color:#405e54; }
.plus-backdrop { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:18px; overflow-y:auto; background:rgba(13,35,30,.56); }.plus-modal { position:relative; width:min(620px,100%); max-height:calc(100dvh - 36px); overflow-y:auto; padding:30px; border-radius:8px; background:#fff; box-shadow:0 18px 48px rgba(0,0,0,.25); }.plus-modal h2 { margin-bottom:14px; font-size:38px; font-weight:600; }.plus-modal>p:not(.eyebrow):not(.plus-fine-print) { color:#405e54; }.modal-close { position:absolute; top:12px; right:14px; width:44px; height:44px; border:0; background:transparent; color:#234e49; font-size:30px; cursor:pointer; }.plus-benefits { display:grid; gap:8px; margin:20px 0; }.plus-benefits span { padding:10px 12px; border-left:3px solid #25805f; background:#effaf2; color:#214b3d; font-weight:700; }.plus-auth-actions { display:grid; gap:16px; }.plus-auth-actions form label { display:block; margin-bottom:7px; color:#263e38; font-weight:700; }.plus-auth-actions form div { display:flex; gap:10px; }.plus-auth-actions input { min-width:0; flex:1; min-height:50px; padding:11px 13px; border:1px solid #9baea2; border-radius:5px; font-size:16px; }.plus-fine-print { margin:16px 0 0; color:#405e54; font-size:16px; }.plus-fine-print.is-error { color:#8b301c; font-weight:700; }
.apple-sign-in { background:#000; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.notification-modal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:22px; }.notification-modal-actions .button { width:auto; }
.plain-button.prominent.cancel-monitor-confirm { border-color:#bc553a; background:#fff4f0; color:#8b301c; }.plain-button.prominent.cancel-monitor-confirm:hover { background:#ffe8e1; color:#762313; text-decoration:none; }
@media (prefers-reduced-motion:reduce) { .monitor-status.is-active::before,.saved-status.is-active::before { animation:none; } }
@media (max-width:800px) { .account-section { margin-right:18px; margin-left:18px; }.account-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .header-actions { gap:8px; }.nav-cta { display:none; }.nav-plus { padding:8px 9px; }.header-account { gap:7px; }.nav-account { padding:6px 8px; }.header-account-email { max-width:118px; }.nav-sign-out { font-size:13px; }.account-section { margin-right:0; margin-left:0; padding:22px 18px; }.account-heading,.account-delete { align-items:flex-start; flex-direction:column; gap:10px; }.account-actions { width:100%; }.account-actions .plain-button { flex:1; }.plus-modal { padding:26px 18px; }.plus-modal h2 { font-size:32px; }.plus-auth-actions form div { align-items:stretch; flex-direction:column; }.plus-auth-actions form .plain-button { width:100%; }.account-grid { gap:18px; }.monitor-actions { width:100%; }.monitor-actions .plain-button { width:100%; justify-content:center; } }
@media (max-width:360px) { .site-header,.hero,.how-it-works,footer { padding-right:16px; padding-left:16px; }.tracker-section { padding-right:10px; padding-left:10px; }.tracker-form { padding-right:16px; padding-left:16px; }.pickup-result { padding:18px; }.result-primary h3 { font-size:30px; }.announcement { font-size:16px; } }
.history-details { margin-top:12px; border-top:1px solid #dce5de; padding-top:10px; }.history-details summary { color:#13634d; cursor:pointer; font-weight:700; }.history-detail-list { display:grid; grid-template-columns:130px 1fr; gap:7px 14px; margin:12px 0 0; font-size:15px; line-height:1.35; }.history-detail-list dt { color:#526b61; font-weight:700; }.history-detail-list dd { margin:0; color:#263e38; overflow-wrap:anywhere; }
.timing-feedback { display:grid; gap:10px; margin-top:14px; padding:13px; border:1px solid #b8d8c4; border-radius:6px; background:#eff9f2; }.timing-feedback-prompt { color:#173d39 !important; font-weight:700; }.timing-feedback-actions { display:flex; flex-wrap:wrap; gap:8px; }.timing-feedback-actions .plain-button { min-height:36px; padding:7px 11px; border:1px solid #176450; border-radius:6px; background:#fff; color:#13634d; font-size:13px; line-height:1.15; }.timing-feedback-actions .plain-button:hover { background:#dff2e7; color:#063f2f; text-decoration:none; }.timing-feedback-actions .timing-feedback-dismiss { border-color:#9baea2; color:#526b61; }.timing-feedback-status,.timing-feedback-thanks { color:#405e54 !important; font-size:14px; line-height:1.4; }.timing-feedback-thanks { margin-top:14px !important; font-style:italic; }
.service-rating-actions { display:flex; gap:5px; }.service-rating-star { min-width:38px; min-height:38px; border:1px solid #176450; border-radius:6px; background:#fff; color:#b25234; font-size:21px; line-height:1; cursor:pointer; }.service-rating-star:hover,.service-rating-star:focus-visible { background:#dff2e7; color:#8b301c; }.service-rating-note { box-sizing:border-box; width:100%; min-height:80px; resize:vertical; padding:9px 10px; border:1px solid #9baea2; border-radius:6px; color:#173d39; font:inherit; line-height:1.4; }
.saved-pickup-active { padding:18px; }.saved-route { margin:2px 0 0 !important; color:#526b61 !important; font-size:14px; line-height:1.4; }.saved-leave-panel { display:grid; gap:3px; margin-top:14px; padding:13px 14px; border:1px solid #d6e2d9; border-radius:6px; background:#f3f7f2; }.saved-leave-panel span:first-child,.saved-detail-list dt { color:#526b61; font:600 11px/1.25 var(--mono); letter-spacing:.05em; text-transform:uppercase; }.saved-leave-panel strong { color:#173d39; font-size:24px; line-height:1.2; letter-spacing:-.03em; }.saved-countdown { color:#176450; font-size:14px; font-weight:700; }.saved-departure-date { margin:12px 0 2px !important; color:#526b61 !important; font-size:14px; }.saved-detail-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin:4px 0 0; }.saved-detail-list dt { margin:0; }.saved-detail-list dd { margin:4px 0 0; color:#173d39; font-size:16px; font-weight:700; line-height:1.35; }.saved-change { margin:14px 0 0 !important; padding:9px 11px; border-left:3px solid #ca8d20; border-radius:4px; background:#fff8e7; color:#63521f !important; font-size:14px; line-height:1.4; }.saved-updated,.saved-alerts { margin:10px 0 0 !important; color:#63766e !important; font-size:13px; }.saved-alerts { padding-top:9px; border-top:1px solid #e4ece6; line-height:1.45; }.saved-actions { display:grid; grid-template-columns:repeat(3,max-content); gap:8px; margin-top:12px; }.saved-actions .map-link,.saved-actions .plain-button,.saved-actions .saved-underway { box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-width:0; min-height:36px; padding:7px 11px; border:1px solid #176450; border-radius:6px; background:#fff; color:#13634d; font-size:13px; font-weight:700; line-height:1.15; text-align:center; text-decoration:none; white-space:nowrap; }.saved-actions .map-link:hover,.saved-actions .plain-button:hover { background:#eff9f2; color:#063f2f; text-decoration:none; }.saved-actions .saved-alert-setup,.saved-actions .saved-underway { border-color:#79ab91; background:#eff9f2; }.saved-actions .saved-cancel { border-color:#bc553a; color:#8b301c; }.saved-actions .saved-cancel:hover { background:#fff4f0; color:#762313; }.saved-underway { color:#176450; }
.account-alerts,.app-store-promo { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:22px; padding:18px; border:1px solid #cce3d4; border-radius:7px; background:#fff; }.account-alert-copy { min-width:0; flex:1; }.account-alerts h3 { margin:2px 0 5px; font-size:20px; }.account-alerts p:not(.eyebrow),.app-store-promo p:not(.eyebrow) { margin:0; color:#405e54; }.account-alert-actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }.account-email-editor { display:grid; gap:7px; margin-top:14px; padding:13px; border:1px solid #cce3d4; border-radius:6px; background:#f3f9f5; }.account-email-editor label { color:#263e38; font-weight:700; }.account-email-editor>div { display:flex; align-items:center; gap:9px; }.account-email-editor input { min-width:0; flex:1; min-height:42px; padding:8px 10px; border:1px solid #9baea2; border-radius:5px; font-size:16px; }.account-email-editor .plain-button { min-height:42px; white-space:nowrap; }.account-email-editor p { font-size:14px; line-height:1.4; }.history-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.history-heading h3 { margin:0; }.history-heading h3 span { color:#63766e; font:600 13px var(--mono); }.history-heading .plain-button { min-height:36px; padding:7px 10px; font-size:14px; }.app-store-promo { max-width:1030px; margin:45px auto; padding:30px; background:#e4eee8; border-color:#b8d8c4; }.account-section .app-store-promo { margin:22px 0 0; padding:17px 18px; background:#f0f8f3; }.app-store-promo strong { display:block; margin:2px 0 5px; color:#173d39; font-size:18px; }.app-store-promo h2 { margin:4px 0 10px; font-size:30px; }.app-store-promo .button,.app-store-promo .plain-button { flex-shrink:0; text-align:center; }
@media (max-width:560px) { .saved-detail-list { gap:11px 14px; }.saved-leave-panel strong { font-size:22px; }.saved-actions { grid-template-columns:1fr; }.saved-actions .plain-button,.saved-actions .map-link { width:100%; margin-left:0; text-align:center; }.account-alerts,.app-store-promo { align-items:flex-start; flex-direction:column; gap:13px; }.account-alert-actions,.app-store-promo .button,.app-store-promo .plain-button { width:100%; }.account-alert-actions .plain-button { flex:1; }.account-email-editor>div { align-items:stretch; flex-direction:column; }.account-email-editor .plain-button { width:100%; }.app-store-promo { margin:32px 18px; }.account-section .app-store-promo { margin:20px 0 0; } }
.location-edit-action { display:block; margin:7px 0 0; padding:0; }.location-edit-current { margin:8px 0 18px; padding:11px 12px; border-radius:5px; background:#effaf2; color:#315c4c; font-size:15px; }.location-edit-modal label { display:block; margin:0 0 7px; color:#263e38; font-weight:700; }.location-edit-modal input { width:100%; min-height:50px; padding:11px 13px; border:1px solid #9baea2; border-radius:5px; font-size:16px; }.location-edit-modal .location-button { margin-top:12px; }.location-edit-modal .location-confirmation { margin-top:12px; }.location-edit-modal .field-status { margin:10px 0 0; }.location-edit-suggestions { position:static; width:100%; margin-top:7px; box-shadow:none; }.pickup-result.flight-only .result-grid { grid-template-columns:1fr; }.pickup-result.flight-only .result-primary { grid-column:span 1; }
.tracking-mode-field { grid-column:1/-1; padding:14px 16px; border:1px solid #d5e3d9; border-radius:6px; background:#f7fbf8; }.tracking-mode-toggle { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:12px; color:#263e38; cursor:pointer; }.tracking-mode-toggle input { position:absolute; opacity:0; }.tracking-mode-toggle .fake-toggle { width:40px; height:24px; }.tracking-mode-copy { display:grid; gap:3px; }.tracking-mode-copy strong { color:#173d39; font-size:16px; }.tracking-mode-copy small { color:#526b61; font-size:14px; line-height:1.4; }.tracking-mode-toggle input:checked + .fake-toggle { background:#16745c; }.tracking-mode-toggle input:checked + .fake-toggle::after { transform:translateX(16px); }.tracking-mode-toggle input:focus-visible + .fake-toggle { outline:3px solid var(--focus); outline-offset:3px; }.tracking-mode-field:has(input:checked) { border-color:#79ab91; background:#eff9f2; }
.how-it-works-intro { max-width:none; padding:82px 24px 58px; background:linear-gradient(180deg,var(--paper) 0%,#eef1eb 100%); }.how-it-works-intro .steps { max-width:1170px; margin:auto; }.tracker-section { padding-top:46px; }
@media (max-width:800px) { .how-it-works-intro { padding-top:70px; padding-bottom:42px; }.tracker-section { padding-top:44px; } }
@media (max-width:560px) { .site-footer { grid-template-columns:1fr; gap:20px; align-items:start; }.footer-support { justify-items:start; }.footer-links { justify-content:start; }.footer-copyright { justify-self:start; text-align:left; } }
.app-download-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding:20px; border:1px solid #bad9c6; border-radius:7px; background:#effaf2; }.app-download-panel .eyebrow { margin-bottom:5px; font-size:13px; }.app-download-panel h3 { margin:0 0 5px; font-size:22px; }.app-download-panel p:not(.eyebrow) { margin:0; color:#405e54; }.app-store-badge-link { display:inline-flex; flex:0 0 auto; align-items:center; border-radius:7px; }.app-store-badge { display:block; width:150px; height:auto; max-width:100%; }.app-store-badge-link:hover .app-store-badge { opacity:.88; }.app-store-badge-link:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
@media (max-width:560px) { .app-download-panel { align-items:flex-start; flex-direction:column; gap:14px; }.app-store-badge { width:150px; }.public-app-store-promo .app-store-badge-link { width:auto; } }
@media (max-width:560px) { .flight-search-actions { align-items:flex-start; flex-direction:column; gap:8px; }.flight-search-actions .button { width:100%; } }

.how-it-works-monitoring { max-width:1170px; margin:30px auto 0; padding:24px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid #bad9c6; border-radius:7px; background:#effaf2; }.how-it-works-monitoring>div { min-width:0; }.how-it-works-monitoring .eyebrow { margin-bottom:6px; font-size:13px; }.how-it-works-monitoring h3 { margin:0 0 6px; font-size:24px; font-weight:600; }.how-it-works-monitoring p:not(.eyebrow) { max-width:620px; margin:0; color:#405e54; font-size:17px; }.how-it-works-monitoring .app-store-badge { width:165px; }
@media (max-width:560px) { .how-it-works-monitoring { align-items:flex-start; flex-direction:column; gap:15px; padding:22px 20px; }.how-it-works-monitoring h3 { font-size:22px; } }

/* iOS WebKit can ignore alignment inside its native date editor. Keep the real
   control for its picker and submitted value, and center a locale-formatted
   display above it on touch devices. */
@media (hover:none) and (pointer:coarse) {
  .date-input-shell { position:relative; }
  .tracker-form .date-input-shell #arrival-date { color:transparent; -webkit-text-fill-color:transparent; }
  .tracker-form .date-input-shell .date-input-value { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:11px 13px; pointer-events:none; color:var(--ink); font-size:16px; }
}

/* The Safari containment and centered-value workaround is mobile-only. Keep
   desktops on the field treatment they had before this mobile fix. */
@media (hover:hover) and (pointer:fine) {
  .date-input-shell { overflow:visible; border:0; border-radius:0; background:transparent; }
  .tracker-form .date-input-shell #arrival-date { min-height:50px; padding:11px 13px; border:1px solid #9baea2; border-radius:5px; cursor:pointer; text-align:start; }
  .tracker-form label:focus-within .date-input-shell { border-color:transparent; box-shadow:none; }
  .tracker-form .date-input-shell #arrival-date:focus { border-color:#166d5b; box-shadow:0 0 0 3px #cfeee1; }
  .tracker-form #arrival-date::-webkit-date-and-time-value,.tracker-form #arrival-date::-webkit-datetime-edit { text-align:start; }
}
