/* Visual System v2 geometry, opt-in only. Real forms/evidence retain their authority. */
body.utTravelSurface { --ut-travel-border: #e1ebed; --ut-travel-soft: #ecf6f9; --ut-travel-shadow: 0 17px 50px rgba(14,50,72,.09); }
body.utTravelSurface .utV2Disclosure { margin: 24px auto; border: 1px solid #e1ebed; border-radius: 19px; padding: 16px 20px; background: #fff; }
body.utTravelSurface .utV2Disclosure > summary { min-height: 44px; align-content: center; cursor: pointer; color: #11314a; font: 700 15px/1.6 Arial,sans-serif; }
body.utTravelSurface .utV2Disclosure > summary:focus-visible { outline: 3px solid #086fb5; outline-offset: 4px; }
body.utTravelSurface .utV2Disclosure[open] > summary { margin-bottom: 24px; }
body.utTravelSurface .utV2Split { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 70px; }
body.utTravelSurface .utV2EditorialPhoto { min-width: 0; border-radius: 19px; overflow: hidden; background: #fff; box-shadow: var(--ut-travel-shadow); }
body.utTravelSurface .utV2EditorialPhoto .utTravelPhoto { position: relative; inset: auto; margin: 0; }
body.utTravelSurface .utV2EditorialPhoto .utTravelPhoto::after { display: none; }
body.utTravelSurface .utV2EditorialPhoto img { display: block; width: 100%; height: 350px; object-fit: cover; }
body.utTravelSurface .utV2EditorialPhoto figcaption { position: static; background: #fff; color: #4e6879; padding: 12px 16px; font: 12px/1.6 Arial,sans-serif; max-width: none; }
body.utTravelSurface .utV2EditorialPhoto figcaption a { color: #086fb5; }
body.utHomeTravelFirst.utTravelSurface .utTravelHero { height: 580px; min-height: 580px; padding: 0 !important; display: flex; align-items: center; }
body.utHomeTravelFirst.utTravelSurface .utHeroInner { padding-bottom: 56px; }
body.utHomeTravelFirst.utTravelSurface .utTravelHero h1 { font-size: clamp(48px,5.3vw,80px); line-height: 1.02; }
body.utHomeTravelFirst.utTravelSurface .utTravelHeroCredit { bottom: 53px; padding: 6px 10px; }
body.utTravelSurface .utHomePlanEntry { margin-top: -48px; }
body.utTravelSurface .utHomePlanForm { padding: 16px 19px; gap: 18px; }
body.utTravelSurface .utHomePlanForm p { position: absolute; top: 100%; left: 18px; right: 18px; margin-top: 8px; font-size: 12px; }
body.utTravelSurface .utHomeEditorial .utTravelSection { padding: 62px 0 10px; }
body.utTravelSurface .utHomeEditorial .utTravelSectionHead { margin-bottom: 26px; }
body.utTravelSurface .utHomeEditorial .utTravelSectionHead > p { font-size: 12px; max-width: 240px; }
body.utTravelSurface .utHomeEditorial .utV2PhaseCards { gap: 17px; }
body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaser { padding: 0 0 18px; overflow: hidden; gap: 12px; border-radius: 17px; }
body.utTravelSurface .utHomeEditorial .utV2PhaseCards h3, body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaserLink { padding-inline: 18px; }
body.utTravelSurface .utHomeEditorial .utV2PhaseCards h3 { font-size: 18px; }
body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaserLink { font-size: 13px; }
body.utTravelSurface .utV2CardArtwork { height: 198px; width: 100%; display: grid; place-items: center; color: #086fb5; background: radial-gradient(circle at 80% 10%,#f8be3850,transparent 40%),linear-gradient(130deg,#e3f0ed,#d4eaf4); }
body.utTravelSurface .utV2CardArtwork svg { width: 100px; height: 70px; opacity: .8; }
body.utTravelSurface .utV2PhaseCards a:nth-child(2) .utV2CardArtwork { background: linear-gradient(135deg,#deebf5,#ecf6f9); }
body.utTravelSurface .utV2PhaseCards a:nth-child(3) .utV2CardArtwork { background: linear-gradient(135deg,#e7f2e4,#d8eff1); }
body.utTravelSurface .utV2OtherJourneys { display: flex; flex-wrap: wrap; gap: 12px; }
body.utTravelSurface .utV2OtherJourney { display: grid; gap: 10px; padding: 18px; border: 1px solid #e1ebed; border-radius: 14px; flex: 1; min-width: 180px; }
/* Planner: genuine controls in the overlapping bar, mode/context in the sidebar. */
body.utTravelSurface.utPlannerTravel .utPlannerHero { position: relative; isolation: isolate; height: 365px; min-height: 365px; padding: 50px 0 80px; display: flex; align-items: center; }
body.utTravelSurface.utPlannerTravel .utPlannerHero > .utPlannerShell { position: relative; z-index: 1; }
body.utTravelSurface.utPlannerTravel .utPlannerHeroCopy h1 { font-size: clamp(38px,4.5vw,64px); max-width: 900px; }
body.utTravelSurface.utPlannerTravel .utPlannerHeroCopy p { font-size: 17px; }
body.utTravelSurface.utPlannerTravel .utPlannerHero .utTravelPhoto::after { background: linear-gradient(90deg,rgba(5,27,43,.85),rgba(3,39,55,.5)); }
body.utTravelSurface.utPlannerTravel .utPlannerHero .utTravelPhoto figcaption { bottom: 44px; }
body.utTravelSurface.utPlannerTravel .utPlannerForm { margin-top: -36px; gap: 32px; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar { padding: 16px 19px; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerPanelHead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerRouteFields { display: grid; grid-template-columns: 1fr 1fr 1.3fr auto; gap: 24px; align-items: end; margin: 0; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerDirection { display: none; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerField { gap: 6px; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerField > span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
body.utTravelSurface.utPlannerTravel .utV2PlannerBar :is(select,input) { min-height: 48px; font-size: 14px; border-radius: 9px; padding: 10px; }
body.utTravelSurface.utPlannerTravel #journeyPlannerSubmit { min-height: 48px; padding: 12px 24px; }
body.utTravelSurface.utPlannerTravel .utPlannerContextPanel { padding: 30px; }
body.utTravelSurface.utPlannerTravel .utPlannerContextPanel .utPlannerContextGrid { margin-top: 22px; }
body.utTravelSurface.utPlannerTravel .utPlannerMetrics { gap: 16px; margin-top: 24px; }
body.utTravelSurface.utPlannerTravel .utPlannerMetrics span { color: #4e6879; font-size: 10px; }
body.utTravelSurface.utPlannerTravel .utPlannerMetrics strong { color: #11314a; font-size: 18px; }
body.utTravelSurface.utPlannerTravel #plannerTimeHelp { font: 13px/1.6 Arial,sans-serif; color: #4e6879; }
body.utTravelSurface.utPlannerTravel .utPlannerVisualPanel { min-height: 380px; display: grid; align-content: center; background: #ecf6f9; }
body.utTravelSurface.utPlannerTravel .utPlannerVisualPanel .utPlannerRouteMap { background: #fff; border: 1px solid #d4e6ec; }
body.utTravelSurface.utPlannerTravel .utPlannerVisualPanel .utPlannerRouteMap :is(span,strong,b) { color: #11314a; }
body.utTravelSurface.utPlannerTravel .utPlannerLaunch { padding: 18px 24px; }
@media(min-width:1000px) {
 body.utTravelSurface.utPlannerTravel .utPlannerForm { grid-template-columns: 1.16fr .84fr; }
 body.utTravelSurface.utPlannerTravel .utPlannerRoutePanel { grid-column: 1/-1; grid-row: auto; }
 body.utTravelSurface.utPlannerTravel .utPlannerVisualPanel { grid-column: 1; grid-row: auto; }
 body.utTravelSurface.utPlannerTravel .utPlannerContextPanel { grid-column: 2; grid-row: auto; }
 body.utTravelSurface.utPlannerTravel .utPlannerError { grid-column: 1/-1; }
}
/* Public reference shells retain legal substance and additional verified project information. */
body.utTravelSurface.utPublicTravel .utPublicPhotoHero { min-height: 365px; padding: 48px 0 80px !important; }
body.utTravelSurface.utPublicTravel .utPublicPhotoHero h1 { font-size: clamp(38px,4.5vw,64px) !important; }
body.utTravelSurface.utPublicTravel .utV2Moments { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 19px; }
body.utTravelSurface.utPublicTravel .utV2Moment { padding: 26px; border-radius: 19px; border: 1px solid #e1ebed; background: #fff; }
body.utTravelSurface.utPublicTravel .utV2Moment h3 { margin: 18px 0 10px; font-size: 23px; }
body.utTravelSurface.utPublicTravel .utV2Moment p { font: 14px/1.7 Arial,sans-serif; color: #4e6879; }
body.utTravelSurface.utPublicTravel .ukFounderProfileV1 { grid-template-columns: 180px 1fr; gap: 32px; }
body.utTravelSurface.utPublicTravel .ukFounderProfileImage img { height: 220px; object-fit: cover; }
body.utTravelSurface.utPublicTravel .uk-legal { max-width: 900px; padding: 32px; background: #fff; border: 1px solid #e1ebed; border-radius: 19px; }
@media(max-width:900px) {
 body.utTravelSurface .utV2Split { gap: 30px; }
 body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerRouteFields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
 body.utTravelSurface.utPublicTravel .utV2Moments { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 body.utHomeTravelFirst.utTravelSurface .utTravelHero { height: 530px; min-height: 530px; }
 body.utHomeTravelFirst.utTravelSurface .utHeroInner { padding-bottom: 110px; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHero h1 { font-size: 44px; line-height: 1.06; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroLead { font-size: 14px; line-height: 1.6; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroActions { flex-direction: row; flex-wrap: wrap; gap: 12px; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroActions a { width: auto; min-height: 44px; padding: 12px 14px; font-size: 12px; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroCredit { bottom: 82px; font-size: 10px; }
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroScope, body.utHomeTravelFirst.utTravelSurface .utTravelHeroUncertainty { font-size: 11px; }
 body.utTravelSurface .utHomePlanEntry { margin-top: -73px; }
 body.utTravelSurface .utHomePlanForm { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 12px; }
 body.utTravelSurface .utHomePlanDate { grid-column: 1; }
 body.utTravelSurface .utHomePlanForm input { font-size: 12px !important; padding-inline: 6px !important; }
 body.utTravelSurface .utHomePlanForm button { grid-column: 2; justify-self: end; width: 52px; align-self: end; }
 body.utTravelSurface .utHomePlanSubmitText { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 body.utTravelSurface .utHomeEditorial .utTravelSection { padding-top: 68px; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaser:last-child { grid-column: 1/-1; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards h3 { font-size: 15px; padding-inline: 12px; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaserLink { font-size: 12px; padding-inline: 12px; }
 body.utTravelSurface .utV2CardArtwork { height: 130px; }
 body.utTravelSurface .utV2Split { grid-template-columns: 1fr; gap: 22px; }
 body.utTravelSurface .utV2EditorialPhoto img { height: 235px; }
 body.utTravelSurface.utPlannerTravel .utPlannerHero { height: 300px; min-height: 300px; padding: 30px 0 70px; }
 body.utTravelSurface.utPlannerTravel .utPlannerHeroCopy h1 { font-size: 36px; max-width: none; }
 body.utTravelSurface.utPlannerTravel .utPlannerHero .utTravelPhoto figcaption { bottom: 44px; }
 body.utTravelSurface.utPlannerTravel .utPlannerForm { margin-top: -30px; gap: 22px; }
 body.utTravelSurface.utPlannerTravel .utV2PlannerBar { padding: 16px; }
 body.utTravelSurface.utPlannerTravel .utV2PlannerBar .utPlannerRouteFields { gap: 14px; }
 body.utTravelSurface.utPlannerTravel #journeyPlannerSubmit { align-self: end; padding: 10px; font-size: 12px; }
 body.utTravelSurface.utPlannerTravel .utPlannerMetrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
 body.utTravelSurface.utPlannerTravel .utPlannerVisualPanel { display: none; }
 body.utTravelSurface.utPublicTravel .utPublicPhotoHero { min-height: 300px; padding: 36px 0 76px !important; }
 body.utTravelSurface.utPublicTravel .ukFounderProfileV1 { grid-template-columns: 1fr; }
 body.utTravelSurface.utPublicTravel .uk-legal { padding: 22px; }
}
@media(prefers-reduced-motion:reduce) { body.utTravelSurface * { scroll-behavior: auto !important; } }
/* Keep the current-server decision distinct from the initial snapshot. */
@media(min-width:601px) { body.utHomeTravelFirst.utTravelSurface .utTravelHeroCopy { transform: translateY(-10px); } }
body.utTravelSurface.utJourneyTravel .uk-page-hero { min-height: 300px; padding: 48px 0 72px !important; }
body.utTravelSurface.utJourneyTravel .uk-page-hero-grid { grid-template-columns: 1fr !important; }
body.utTravelSurface.utJourneyTravel .utV2JourneyStrip { position: relative; margin-top: -35px; padding: 20px 24px !important; display: grid; grid-template-columns: 1fr 100px 1fr; gap: 32px; background: #fff !important; border: 1px solid #e1ebed !important; box-shadow: var(--ut-travel-shadow) !important; }
body.utTravelSurface.utJourneyTravel .utV2JourneyStrip .uk-journey-route-stop :is(strong,span,small),body.utTravelSurface.utJourneyTravel .utV2JourneyStrip .uk-journey-route-line { color: #11314a !important; }
body.utTravelSurface.utJourneyTravel .utV2JourneyStrip .uk-journey-route-stop small { font-size: 12px !important; line-height: 1.5 !important; }
body.utTravelSurface.utJourneyTravel .utV2JourneyActions { padding-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; }
body.utTravelSurface.utJourneyTravel .utV2JourneyActions .uk-journey-button { width: auto !important; background: #fff !important; color: #086fb5 !important; border: 1px solid #e1ebed !important; }
body.utTravelSurface.utJourneyTravel #journeySnapshotNotice { padding-block: 20px !important; }
body.utTravelSurface.utJourneyTravel #journeySnapshotNotice .uk-journey-stage { padding: 20px; }
body.utTravelSurface.utJourneyTravel #journeySnapshotHeading { font-size: 24px !important; margin-bottom: 10px; }
body.utTravelSurface.utJourneyTravel #journeySnapshotNotice p { margin-block: 8px; line-height: 1.6; }
body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); align-items: start; gap: 24px; }
body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid > :is(.uk-journey-route-map-v1,.utV2GeometryUnavailable) { grid-column: 1; grid-row: 1; min-width: 0; }
body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid > .uk-journey-interpretation { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; padding: 24px; border-radius: 19px; }
body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid > :not(.uk-journey-route-map-v1,.utV2GeometryUnavailable,.uk-journey-interpretation) { grid-column: 1/-1; }
body.utTravelSurface.utJourneyTravel .utV2GeometryUnavailable { min-height: 320px; display: grid; align-content: center; padding: 32px; border: 1px dashed #a9c5d0; border-radius: 19px; background: #ecf6f9; }
body.utTravelSurface.utJourneyTravel .uk-journey-route-map-v1 { display: block !important; margin-top: 0; }
body.utTravelSurface.utJourneyTravel .uk-journey-interpretation-head { display: block; }
body.utTravelSurface.utJourneyTravel .uk-journey-interpretation-grid,body.utTravelSurface.utJourneyTravel .uk-journey-context-evidence { grid-template-columns: 1fr; }
body.utTravelSurface.utJourneyTravel .uk-journey-interpretation-grid { margin-top: 24px; }
body.utTravelSurface.utJourneyTravel #journeyOneClearAction { margin-block: 18px; }
@media(max-width:900px) {
 body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid { grid-template-columns: 1fr; }
 body.utTravelSurface.utJourneyTravel .utV2JourneyEvidenceGrid > :is(.uk-journey-route-map-v1,.utV2GeometryUnavailable,.uk-journey-interpretation) { grid-column: 1; grid-row: auto; }
}
@media(max-width:600px) {
 body.utTravelSurface.utJourneyTravel .uk-page-hero { min-height: 280px; padding: 34px 0 62px !important; }
 body.utTravelSurface.utJourneyTravel .uk-page-hero h1 { font-size: 40px !important; }
 body.utTravelSurface.utJourneyTravel .utV2JourneyStrip { margin-top: -30px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 18px !important; }
 body.utTravelSurface.utJourneyTravel .utV2JourneyStrip .uk-journey-route-line { display: none; }
 body.utTravelSurface.utJourneyTravel .utV2JourneyActions { flex-direction: row !important; }
 body.utTravelSurface.utJourneyTravel .utV2JourneyActions .uk-journey-button { padding: 10px 14px; font-size: 12px; }
 body.utTravelSurface.utJourneyTravel .utV2GeometryUnavailable { min-height: 250px; padding: 24px; }
}
/* Explicitly neutralize absolute hero-photo positioning in inline editorial figures. */
body.utTravelSurface .utV2EditorialPhoto .utTravelPhoto { height: auto; }
body.utTravelSurface .utV2EditorialPhoto .utTravelPhoto img { position: static; display: block; height: 350px; }
body.utTravelSurface.utPublicTravel .utV2AboutPurpose .uk-section-head { display: block; }
body.utTravelSurface.utPublicTravel .utV2AboutPurpose .utTravelContextNote { padding: 0; margin: 0 0 24px; border: 0; background: transparent; }
body.utTravelSurface.utPublicTravel .utV2AboutPurpose + .uk-grid-3 { margin-top: 32px; }
body.utTravelSurface.utJourneyTravel .uk-journey-hero { min-height: 365px !important; }
@media(max-width:600px) {
 body.utTravelSurface .utV2EditorialPhoto .utTravelPhoto img { height: 235px; }
 body.utTravelSurface.utJourneyTravel .uk-journey-hero { min-height: 300px !important; padding: 28px 0 64px !important; }
 body.utTravelSurface.utJourneyTravel .uk-journey-hero h1 { font-size: 38px !important; }
}

/* Match the reference's vertical mobile reading order; keep native controls and disclosures. */
@media (max-width:600px) {
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards { grid-template-columns: 1fr; gap: 18px; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaser:last-child { grid-column: 1; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards h3 { font-size: 18px; padding-inline: 18px; }
 body.utTravelSurface .utHomeEditorial .utV2PhaseCards .utJourneyTeaserLink { font-size: 13px; padding-inline: 18px; }
 body.utTravelSurface .utV2CardArtwork { height: 180px; }
}
@media (min-width:360px) and (max-width:600px) {
 body.utHomeTravelFirst.utTravelSurface .utTravelHeroCopy { transform: translateY(72px); }
}
