.home-flight-scrolling { scroll-behavior:auto !important; }
/* display removes every descendant: inline visibility on the balloon cannot escape it. */
.home-flight-layer { display:none; position:fixed; inset:0; z-index:90; pointer-events:none; overflow:hidden; }
.home-flight-layer.is-flying { display:block; }
.home-flight-balloon { position:absolute; top:0; left:0; width:240px; height:300px; will-change:transform; }
.home-flight-balloon img { position:absolute; inset:0; display:block; width:100%; height:100%; }
.trip-home-visual-frame { position:relative; }
.home-balloon-dock { visibility:hidden; display:block; width:76px; height:95px; pointer-events:none; }
.home-balloon-dock img { display:block; width:100%; height:100%; animation:balloon-drift 6s ease-in-out infinite; transform-origin:50% 80%; }
.trip-home-visual-frame > .home-balloon-dock { position:absolute; left:50%; top:46%; width:58%; height:auto; aspect-ratio:240/300; transform:translate(-50%,-50%); }
/* The secondary balloons belong to a small sky scene within each page header. */
#tripHomeInspirations .trip-home-inspiration-head { position:relative; display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:174px; padding:24px 40px; border-radius:24px; text-align:left; background:linear-gradient(110deg,#f3f9ff,#f8fbff 60%,#edf7ff); }
#tripHomeInspirations .trip-home-inspiration-head > div { min-width:0; }
#tripHomeInspirations .trip-home-inspiration-head h2 { margin:0; max-width:650px; font-size:clamp(24px,2.3vw,32px); }
#tripHomeInspirations .trip-home-label { display:block; }
#tripHomeInspirations .trip-home-inspiration-head p { margin:10px 0 0; line-height:1.7; }
#tripHomeInspirations .trip-home-inspiration-filters { justify-content:flex-start; padding-inline:4px; }
.home-balloon-scene { position:relative; display:block; flex:none; width:200px; height:128px; background:url('/assets/balloon-breeze.svg') center / contain no-repeat; pointer-events:none; }
#tripHomeInspirations .home-balloon-dock { position:absolute; left:77px; top:-5px; width:78px; height:97.5px; transform:rotate(5deg); }
#tripHomeInspirations .home-balloon-dock img { animation-delay:-2s; }
body.trip-home-active .trip-home-library #accountTripsHead { position:relative; gap:24px; padding:0 0 16px; min-height:98px; border-bottom:1px solid #e4eef8; }
#accountTripsHead > div:first-child { position:relative; flex:1; min-width:0; padding-right:170px; }
body.trip-home-active .trip-home-library #accountTripsHead h2 { font-size:26px; font-weight:500; }
#accountTripsHead .home-balloon-scene { position:absolute; right:24px; top:50%; width:132px; height:82px; transform:translateY(-50%); }
#accountTripsHead .home-balloon-dock { position:absolute; left:47px; top:-6px; width:52px; height:65px; transform:rotate(-4deg); }
#accountTripsHead .home-balloon-dock img { animation-delay:-4s; }
.trip-home-library #accountTripsHead .account-trips-actions button { border-radius:999px; min-height:44px; }
.trip-home-library #accountTripsHead .account-trips-actions .primary { background:#319eea; }
.home-balloon-dock.is-current { visibility:visible; }
.home-balloon-dock:not(.is-current) img { animation-play-state:paused; }
.home-balloon-dock.is-away { visibility:hidden; }
@keyframes balloon-drift { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-8px) rotate(2deg); } }
.home-flight-navigation { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 28px; margin:24px 0 0; }
.home-flight-navigation a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 12px; color:#617d9b; font-size:12px; text-decoration:none; border-radius:999px; }
.home-flight-navigation a:hover { color:#258ff0; background:#eef6ff; }
.home-flight-navigation a:focus-visible { outline:2px solid #3699ef; outline-offset:2px; }
.home-flight-navigation svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
.home-flight-navigation a[href="#homeIntroduction"] svg,.trip-home-library .home-flight-navigation svg { transform:rotate(180deg); }
.home-flight-navigation [hidden] { display:none; }
body.trip-home-active #tripHomeInspirations { min-height:calc(100svh - 88px); }
@media(prefers-reduced-motion:reduce) { .home-flight-layer { display:none; } }



body.trip-home-active .trip-home-visual { max-width:440px; }
@media(max-width:760px) {
  #tripHomeInspirations .trip-home-inspiration-head { display:block; min-height:0; padding:24px 22px; border-radius:22px; text-align:left; }
  #tripHomeInspirations .trip-home-inspiration-head h2 { max-width:100%; margin:0; padding-right:42px; font-size:24px; line-height:1.5; text-wrap:balance; }
  #tripHomeInspirations .trip-home-inspiration-head p { display:block; max-width:280px; font-size:12px; }
  #tripHomeInspirations .trip-home-label { margin-bottom:10px; }
  #tripHomeInspirations .home-balloon-scene { position:absolute; right:8px; top:14px; width:82px; height:64px; }
  #tripHomeInspirations .home-balloon-dock { left:30px; top:-1px; width:40px; height:50px; }
  body.trip-home-active .trip-home-library #accountTripsHead { gap:18px; padding:0 0 16px; min-height:0; }
  #accountTripsHead > div:first-child { flex-basis:100%; padding-right:86px; min-height:54px; }
  body.trip-home-active .trip-home-library #accountTripsHead h2 { font-size:24px; }
  body.trip-home-active .trip-home-library #accountTripsHead p { display:block; font-size:12px; }
  #accountTripsHead .home-balloon-scene { right:0; width:80px; height:56px; }
  #accountTripsHead .home-balloon-dock { left:28px; top:-1px; width:38px; height:47.5px; }
  .trip-home-library #accountTripsHead .account-trips-actions { width:100%; gap:8px; }
  .trip-home-library #accountTripsHead .account-trips-actions button { padding-inline:16px; }
}
@media(max-width:360px) {
  .trip-home-library .account-trip-search-bar { flex-wrap:wrap; }
  .trip-home-library .account-trip-search-bar label { flex-basis:100%; }
}
/* Mobile home is content-sized; desktop keeps its full-screen journey. */
@media(max-width:680px) {
  body.trip-home-active .topbar { padding-inline:16px; }
  body.trip-home-active .top-actions { gap:8px; }
  body.trip-home-active .language-switch-symbol { width:26px; height:26px; }
  body.trip-home-active .top-account-avatar { width:32px; height:32px; min-width:32px; }
  body.trip-home-active .trip-home { padding:12px 16px 28px; }
  body.trip-home-active .trip-home-hero { position:relative; grid-template-columns:minmax(0,1fr) 104px; grid-template-rows:auto auto auto auto auto; align-content:start; align-items:center; min-height:0; padding:24px 20px 10px; gap:12px 8px; border:1px solid #e7f1fb; border-radius:24px; background:linear-gradient(140deg,#edf7ff,#fff 78%); }
  body.trip-home-active .trip-home-hero-copy { display:contents; }
  body.trip-home-active .trip-home-hero-copy .trip-home-label { grid-column:1; grid-row:1; margin:0; min-height:0; font-size:11px; font-weight:500; letter-spacing:.12em; text-align:left; }
  body.trip-home-active .trip-home-hero-copy h1 { grid-column:1; grid-row:2; max-width:none; margin:0; font-size:32px; line-height:1.3; font-weight:600; letter-spacing:-.035em; text-align:left; }
  body.trip-home-active .trip-home-title-mobile > span:last-child { color:#218edc; }
  body.trip-home-active .trip-home-visual { display:block; grid-column:2; grid-row:1 / 3; align-self:center; width:120px; height:140px; min-height:0; max-width:none; margin:-8px -12px -4px 0; justify-self:center; z-index:0; }
  body.trip-home-active .trip-home-visual-frame > .home-balloon-dock { width:72%; }
  body.trip-home-active .trip-home-lead { grid-column:1 / -1; grid-row:3; max-width:none; margin:4px 0 0 !important; font-size:13px; line-height:1.7; text-align:left; }
  body.trip-home-active .trip-home-actions { grid-column:1 / -1; grid-row:4; min-width:0; margin:8px 0 0; gap:12px; align-items:stretch; }
  body.trip-home-active .home-explore-link { grid-column:1 / -1; grid-row:5; width:100%; margin:0; min-height:44px; justify-content:center; border-top:1px solid #e8f0f8; font-size:12px; }
  body.trip-home-active .trip-home-hero:has(> .trip-home-import[data-expanded="true"]) > .home-explore-link { grid-row:6; }
  body.trip-home-active .trip-home-import .primary { background:#389ff5; font-size:14px; font-weight:400; box-shadow:none; }
  body.trip-home-active .trip-home-hero > .trip-home-import { grid-column:1 / -1; grid-row:5; min-width:0; margin:0; padding:14px; background:#fff; border-radius:14px; }
  body.trip-home-active #tripHomeInspirations { min-height:0; margin-top:28px; }
  #tripHomeInspirations .trip-home-inspiration-head { padding:20px; border-radius:20px; }
  #tripHomeInspirations .trip-home-inspiration-head h2 { font-size:22px; line-height:1.45; padding-right:28px; }
  #tripHomeInspirations .trip-home-inspiration-head p { max-width:none; line-height:1.7; }
  #tripHomeInspirations .home-balloon-scene { right:6px; top:8px; }
  #tripHomeInspirations .trip-home-inspiration-filters { margin-top:12px; gap:20px; }
  body.trip-home-active .trip-home-inspiration-list { grid-auto-columns:88%; gap:14px; margin:12px 0 0; padding:0; scroll-padding-inline:0; }
  body.trip-home-active .trip-home-inspiration-card { border-radius:18px; box-shadow:none; }
  body.trip-home-active .trip-home-inspiration-card img { border-radius:18px 18px 0 0; height:168px; }
  body.trip-home-active .trip-home-inspiration-copy { padding:14px 16px 18px; }
  .home-flight-navigation { gap:8px; margin-top:12px; }
  .home-flight-navigation a { padding:8px; }
  body.trip-home-active .trip-home-library { margin-top:28px; padding:16px; border-radius:22px; background:#f0f6fd; }
  body.trip-home-active .trip-home-library #accountTripsHead { gap:12px; }
  body.trip-home-active .trip-home-library #accountTripsHead h2 { font-size:22px; }
  .trip-home-library .account-trip-search-bar { flex-wrap:wrap; margin:16px 0; }
  .trip-home-library .account-trip-search-bar label { flex-basis:100%; }
  .trip-home-library #accountTripRoleFilter { width:128px; }
  .trip-home-library .library-feature { min-height:240px; padding:18px; border-radius:18px; }
  .trip-home-library .library-feature-copy h3 { font-size:23px; }
  .trip-home-library .library-feature-copy > button { min-height:48px; width:100%; }
  .trip-home-library .library-stats { gap:10px; }
  .trip-home-library .library-stats strong { font-size:23px; }
  .trip-home-library .library-stats span { font-size:12px; line-height:1.5; }
  body.trip-home-active .trip-home-resources { margin-top:28px; }
  body.trip-home-active #accountTripList .account-trip-actions > span { flex-basis:100%; }
  body.trip-home-active #homeImportImage:focus-visible + .trip-import-file-picker { outline:2px solid #389ff5; outline-offset:3px; }
}
@media(max-width:360px) {
  body.trip-home-active .trip-home-hero { padding:20px 16px 8px; grid-template-columns:minmax(0,1fr) 84px; }
  body.trip-home-active .trip-home-hero-copy h1 { font-size:28px; }
  body.trip-home-active .trip-home-visual { width:104px; height:124px; }
}


#tripHomeInspirations .home-balloon-dock img,#accountTripsHead .home-balloon-dock img { animation-name:balloon-distant-drift; animation-duration:8s; }
@keyframes balloon-distant-drift { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-3px) rotate(1deg); } }

@media(prefers-reduced-motion:reduce) { .home-balloon-dock img, #tripHomeInspirations .home-balloon-dock img, #accountTripsHead .home-balloon-dock img { animation:none; } }

@media(min-width:681px) {
  body.trip-home-active .trip-home-hero:has(> .trip-home-import[data-expanded="true"]) > .home-explore-link { grid-row:5; }
}

@media(min-width:761px) {
  /* Keep the standard three-card discovery page within a laptop viewport. */
  #tripHomeInspirations .trip-home-inspiration-head { min-height:0; padding:18px 28px; gap:24px; }
  #tripHomeInspirations .trip-home-label { min-height:0; margin-bottom:8px; font-size:11px; }
  #tripHomeInspirations .trip-home-inspiration-head h2 { font-size:clamp(24px,2.2vw,30px); line-height:1.4; }
  #tripHomeInspirations .trip-home-inspiration-head p { margin-top:8px; font-size:13px; line-height:1.6; }
  #tripHomeInspirations .home-balloon-scene { width:160px; height:102px; }
  #tripHomeInspirations .home-balloon-dock { left:61px; top:-3px; width:62px; height:77.5px; }
  #tripHomeInspirations .trip-home-inspiration-filters { margin-top:12px; }
  body.trip-home-active #tripHomeInspirations .trip-home-inspiration-list { margin-top:12px; }
  #tripHomeInspirations .trip-home-inspiration-card img { height:clamp(140px,28svh,236px); border-radius:20px; }
  #tripHomeInspirations .trip-home-inspiration-copy { gap:6px; padding:14px 0 6px; }
  #tripHomeInspirations .trip-home-inspiration-copy strong { font-size:17px; }
  #tripHomeInspirations .trip-home-inspiration-navigation { margin-top:12px; }
  #tripHomeInspirations .home-flight-navigation { margin-top:8px; }
}

/* A section heading receives reading focus without looking like a selected control. */
.home-flight-focus-target:focus { outline:none; box-shadow:none; }
/* Static and moving art must never be painted in the same frame. */
body.is-journey-flying .home-balloon-dock { visibility:hidden !important; }

@media (prefers-reduced-motion:reduce) { .journey-clouds, .journey-atmosphere { transform:none !important; } }
