/* Route For You application layer. Sources: upwork-tokens.css + the supplied upwork.css starter.
   Product workflows, illustration assets and authenticated screens are Route For You adaptations. */
.uw {
  --uw-brand: #112236;
  --uw-brand-hover: #263e58;
  --uw-lime: #71daf4;
  --uw-ink: #112236;
  --uw-muted: #596877;
  --uw-border: #e2e7e9;
  --uw-control-border: var(--uw-color-gray-50);
  --uw-subtle: #f7f8f9;
  --uw-disabled-text: var(--uw-color-gray-55);
  --uw-error: var(--uw-color-red);
  --uw-shadow: var(--uw-shadow-card);
  --uw-shadow-hover: var(--uw-shadow-card-hover);
  --ink: var(--uw-ink); --muted: var(--uw-muted); --line: var(--uw-border);
  --paper: var(--uw-color-white); --white: var(--uw-color-white); --rust: var(--uw-brand);
  --green: #eefaff; --shadow: var(--uw-shadow); --radius: 12px;
  --color-1: var(--uw-ink); --color-2: var(--uw-muted); --color-3: var(--uw-lime);
  --color-4: #9642eb; --color-5: #e64c87;
  color: var(--uw-ink); background: var(--paper);
  font: 400 16px/1.5 Arial, sans-serif; letter-spacing: .03em;
}
.uw [hidden] { display: none !important; }
.uw :focus-visible { outline: 2px solid var(--uw-ink); outline-offset: 2px; }
.uw h1,.uw h2,.uw h3 { font-family: inherit; letter-spacing: normal; font-weight: 550; }
.uw h1 { line-height: 1.1; }
.uw h2 { line-height: 1.1; }
.uw h3 { line-height: 1.25; }
.uw em { color: var(--uw-brand); font-style: normal; }
.uw a { transition: color 100ms ease-in-out; }
.uw a:hover { color: var(--uw-brand-hover); }
.uw .eyebrow { font-size: 12px; line-height: 18px; font-weight: 500; letter-spacing: .08em; }
.uw :where(.button,.small-button,button:not(.text-button):not(.remove-place):not(.footer-toggle):not(.nav-toggle):not([role=tab])) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 8px 24px; border: 2px solid transparent; border-radius: 8px;
  font: 500 14px/20px Arial,sans-serif; letter-spacing: .028em;
  cursor: pointer; text-decoration: none; box-shadow: none;
  transition: background 100ms ease-in-out,color 100ms ease-in-out,border-color 100ms ease-in-out,transform 100ms ease-in-out;
}
.uw .button { background: var(--uw-brand); color: #fff; }
.uw .button:hover:not(:disabled):not([aria-busy=true]) { background: var(--uw-brand-hover); color: #fff; }
.uw .small-button { background: #fff; color: var(--uw-brand); border-color: var(--uw-brand); }
.uw .small-button:hover:not(:disabled) { background: var(--uw-subtle); color: var(--uw-brand-hover); border-color: var(--uw-brand-hover); }
.uw button:active:not(:disabled),.uw .button:active,.uw .small-button:active { transform: scale(.96); }
.uw :is(button,.button,.small-button):disabled { background: var(--uw-border)!important; color: var(--uw-disabled-text)!important; border-color: transparent!important; cursor: not-allowed!important; box-shadow: none!important; }
.uw button[aria-busy=true] { cursor: progress!important; }
.uw button[aria-busy=true]::before { content: ''; flex: 0 0 18px; width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: uw-spin 1s linear infinite; }
.uw button[data-ui-success]::before { content: '✓'; animation: rfy-success 220ms ease-out; }
@keyframes rfy-success { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: scale(1); } }
.uw .form-card :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),.uw .place-picker input[role=combobox] {
  min-height: 40px; padding: 9px 16px; border: 1px solid var(--uw-control-border); border-radius: 8px;
  color: var(--uw-ink); background: #fff; font: 500 14px/20px Arial,sans-serif;
  transition: border-color 150ms ease-in-out,box-shadow 150ms ease-in-out;
}
.uw :is(input,textarea)::placeholder { color: var(--uw-muted); opacity: 1; }
.uw .form-card :is(input,textarea,select):not([type=checkbox]):not([type=radio]):hover:not(:disabled),.uw .form-card :is(input,textarea,select):focus {
  border-color: var(--uw-ink); box-shadow: inset 0 0 0 1px var(--uw-ink);
}
.uw .form-card :is(input,textarea,select)[aria-invalid=true] { border-color: var(--uw-error)!important; box-shadow: inset 0 0 0 1px var(--uw-error)!important; }
.uw .form-card :is(input,textarea,select):disabled { border-color: var(--uw-border); background: var(--uw-border); color: var(--uw-disabled-text); box-shadow: none; cursor: not-allowed; }
.uw .form-card :is(input[type=checkbox],input[type=radio]) { accent-color: var(--uw-brand); box-shadow: none; }
.uw .form-result.error,.uw .field-error { color: var(--uw-error); font-size: 14px; }
.uw .choice { border-radius: 8px; border-color: var(--uw-border); background: #fff; font-size: 14px; }
.uw .choice:hover { border-color: var(--uw-brand); background: var(--uw-subtle); }
.uw .choice:has(input:checked) { background: #eefaff; border-color: var(--uw-brand); box-shadow: inset 0 0 0 1px var(--uw-brand); }
.uw .place-chip,.uw .profile-tags span { background: var(--uw-subtle); border: 1px solid var(--uw-border); border-radius: 8px; font-size: 14px; }
.uw .selected-places { gap: 8px; }
.uw .place-results { border-radius: 8px; border-color: var(--uw-border); box-shadow: var(--uw-shadow-dropdown); }
.uw .place-results [role=option]:hover,.uw .place-results [aria-selected=true] { background: #e0e6eb; }
.uw .form-card,.uw .context-panel,.uw .local-card,.uw .info-content,.uw .blog-grid>a { background: #fff; border: 1px solid var(--uw-border); border-radius: 12px; box-shadow: none; }
.uw .local-card,.uw .blog-grid>a { transition: box-shadow 500ms ease; }
.uw .local-card:hover,.uw .blog-grid>a:hover { box-shadow: var(--uw-shadow-hover); }
.uw .form-card { padding: 32px; }
.uw .site-header { max-width: none; height: 64px; min-height: 64px; padding: 0 24px; border-bottom: 1px solid var(--uw-border); gap: 24px; background: #fff; }
.uw .site-header nav { gap: 20px; font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: .4px; }
.uw .site-header nav a { white-space: nowrap; }
.uw .brand { color: var(--uw-ink); font: 600 24px/1 Arial,sans-serif; letter-spacing: -.04em; }
/* Preserve the supplied artwork; the frame removes its generous transparent margins. */
.uw .paper-plane-mark { display: inline-block; position: relative; overflow: hidden; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 24%; background: #293f68; box-shadow: 0 0 0 1px #1122360c; }
.uw .paper-plane-mark img { position: absolute; inset: auto; width: 211.6%; height: auto; max-width: none; left: -55.8%; top: -55.8%; object-fit: initial; z-index: auto; transform: none; transition: none; }
.uw .site-footer .paper-plane-mark { width: 38px; height: 38px; }
.uw .onboarding-brand { color: #fff; font-size: 22px; gap: 8px; margin-bottom: 20px; }
.uw .onboarding-brand .paper-plane-mark { width: 32px; height: 32px; }
.uw .onboarding-brand:hover { color: var(--uw-lime); }
.uw .onboarding-main progress { accent-color: var(--uw-lime); }
.uw .onboarding-main progress::-webkit-progress-value { background: var(--uw-lime); }
.uw .onboarding-main progress::-moz-progress-bar { background: var(--uw-lime); }
@media(max-width:600px) { .uw .site-header .paper-plane-mark { width: 34px; height: 34px; } }
.uw .site-header .small-button { background: var(--uw-brand); color: #fff; border-radius: 160px; border-color: transparent; padding-inline: 24px; }
.uw .site-header .small-button:hover { background: var(--uw-brand-hover); }
.uw .notification-link { color: var(--uw-ink); border-color: var(--uw-border); }
.nav-close-icon { display: none; }
.uw .dev-banner { color: var(--uw-muted); background: var(--uw-subtle); border-bottom: 1px solid var(--uw-border); }
.uw .market-hero { max-width: 1440px; margin: 32px 64px 0; padding: 48px 64px 64px; border-radius: 24px; background: var(--uw-ink); min-height: 628px; }
.uw .market-hero::before { display: none; }
.uw .hero-inner { gap: 48px; padding: 0; align-items: center; }
.uw .market-hero h1 { font-size: 72px; line-height: 1.04; font-weight: 550; letter-spacing: normal; }
.uw .market-hero h1 em { color: var(--uw-lime); }
.uw .market-hero .eyebrow { color: #71daf4; }
.uw .market-hero-copy>p:not(.eyebrow):not(.hero-proof) { font-size: 20px; line-height: 1.35; color: #fff; }
.uw .hero-actions { margin: 32px 0; }
.uw .market-hero .button { color: var(--uw-ink); background: var(--uw-lime); }
.uw .market-hero .button:hover { background: #fff; }
.uw .hero-secondary { color: #fff; }
.uw .home-segments { max-width: 460px; margin-bottom: 40px; }
.uw .home-segments button { font-size: 14px; font-weight: 500; letter-spacing: .4px; }
.uw .home-segments button:hover { background: #ffffff20; }
.uw .hero-proof { color: #d8d8d8; font-size: 12px; }
.uw .travel-board { transform: none; box-shadow: none; border-radius: 24px; }
.uw .board-check,.uw .board-note { background: #eefaff; }
.uw .local-hero-media { min-height: 400px; padding: 32px; background: var(--uw-color-forest); border-radius: 24px; color: #fff; }
.uw .local-world { display: block; font-size: 100px; line-height: 1; margin-bottom: 24px; }
.uw .local-hero-media h2 { color: #fff; font-size: 40px; margin: 16px 0; }
.uw .local-hero-media p:last-child { line-height: 2; color: #fff; }
.uw .how-section { max-width: 1440px; margin: auto; padding: 64px; }
.uw .section-intro h2 { font-size: 32px; line-height: 1.1; font-weight: 500; }
.uw .how-grid { gap: 24px; }
.uw .how-grid article { border-radius: 12px; padding: 24px; background: var(--uw-subtle); border: 1px solid var(--uw-border); }
.uw .how-grid h3 { font-size: 24px; line-height: 1.1; font-weight: 550; }
.uw .how-grid p { color: var(--uw-muted); font-size: 16px; line-height: 1.5; }
.uw .how-grid article>a { display: inline-block; color: var(--uw-brand); font-weight: 500; font-size: 14px; margin-top: 12px; }
.uw .step-icon { background: #eefaff; border-radius: 8px; }
.carousel-controls { display: none; }
.uw .travel-style-section { max-width: 1312px; margin: 0 64px 64px; padding: 32px; border-radius: 24px; background: var(--uw-subtle); }
.uw .travel-style-section h2 { font-size: 40px; line-height: 1.1; font-weight: 550; }
.uw .style-discovery a { position: relative; min-height: 110px; background: #fff; border: 1px solid var(--uw-border); border-radius: 12px; padding: 20px; box-shadow: var(--uw-shadow); }
.uw .style-discovery a::before { content: ''; position: absolute; inset: -2px; padding: 2px; border-radius: 14px; background: linear-gradient(var(--uw-ink),var(--uw-brand-hover)); mask: linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0); opacity: 0; pointer-events: none; transition: opacity 300ms ease-in-out; }
.uw .style-discovery a:hover::before,.uw .style-discovery a:focus-visible::before { opacity: 1; }
.uw .local-join-banner { margin: 0 64px 64px; border-radius: 24px; padding: 40px; background: linear-gradient(#ffffff80,#ffffff80),linear-gradient(90deg,#71daf4,#b7edf8 50%,#d7f3fb); }
.uw .local-join-banner h2,.uw .local-join-banner p { color: var(--uw-ink); }
.uw .local-join-banner .eyebrow { color: var(--uw-muted); }
.uw .role-choice { padding: 48px 24px 64px; margin: 0 auto; }
.uw .role-choice h1 { font-size: 48px; line-height: 1.1; font-weight: 600; }
.uw .role-grid { display: grid; grid-template-columns: repeat(2,minmax(239px,320px)); gap: 32px; justify-content: center; margin: 32px auto; }
.uw .role-card { border: 1px solid var(--uw-border); border-radius: 8px; padding: 24px; background: #fff; box-shadow: none; transition: box-shadow 200ms ease,border-color 200ms ease; }
.uw .role-card:hover,.uw .role-card:focus-within { box-shadow: var(--uw-shadow-hover); border-color: var(--uw-brand); }
.uw .role-icon { display: flex; align-items: center; justify-content: center; height: 96px; width: 100%; border-radius: 6px; background: linear-gradient(135deg,#eefaff,#71daf4); margin-bottom: 24px; }
.uw .role-card h2 { font-size: 28px; line-height: 1.1; }
.uw .role-card p { font-size: 14px; }
.uw .onboarding-layout { max-width: 1312px; padding: 48px 32px 64px; gap: 48px; }
.uw .onboarding-aside { border-radius: 24px; background: var(--uw-ink); color: #fff; box-shadow: none; padding: 32px; }
.uw .onboarding-aside h2 { color: #fff; font-size: 32px; font-weight: 500; }
.uw .onboarding-aside .eyebrow { color: #71daf4; }
.uw .onboarding-route li.active>span { background: var(--uw-lime); color: var(--uw-ink); border-color: transparent; }
.uw .onboarding-route li.complete>span { background: #fff; color: var(--uw-ink); }
.uw .onboarding-main .form-head h1 { font-size: 40px; line-height: 1.1; font-weight: 550; }
.uw .onboarding-main .form-card { border-radius: 12px; padding: 32px; }
.uw progress { accent-color: var(--uw-brand); }
.uw progress::-webkit-progress-value { background: var(--uw-brand); }
.uw .onboarding-main :is([data-trip-step],[data-account-step]) h2 { font-size: 28px; }
.uw .trip-review { background: var(--uw-subtle); border-radius: 8px; }
.uw .account-head,.uw .form-head { max-width: 1312px; padding-inline: 32px; }
.uw .account-head h1,.uw .form-head h1 { font-size: 40px; line-height: 1.1; font-weight: 550; }
.uw .selection-layout,.uw .trip-detail,.uw .profile-section,.uw .directory,.uw .results-toolbar { max-width: 1312px; }
.uw .selection-layout { grid-template-columns: minmax(0,1fr) 320px; gap: 32px; padding-inline: 32px; }
.uw .selection-results { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; padding: 0; }
.uw .selection-results .local-card { border-radius: 12px; padding: 24px; }
.uw .local-card h2 { font-size: 24px; margin-top: 0; }
.uw .local-card p { font-size: 14px; }
.uw .local-portrait,.uw .local-avatar-fallback { width: 80px; height: 80px; border-radius: 50%; background: #eefaff; color: var(--uw-brand); border: 1px solid var(--uw-border); }
.uw .local-portrait img { width: 100%; height: 100%; object-fit: cover; }
.uw .local-portrait { margin: 0 0 16px; }
.uw .selection-results .local-portrait,.uw .selection-results .local-avatar-fallback { float: left; margin: 0 24px 16px 0; }
.uw .selection-results details { clear: both; margin: 16px 0; }
.uw .local-card [data-select-local][aria-pressed=true] { color: var(--uw-brand); background: #eefaff; border-color: var(--uw-brand); }
.uw .selection-shortlist { position: sticky; top: 24px; border-radius: 12px; }
.uw .selection-shortlist .button { width: 100%; }
.uw .selection-shortlist [data-shortlist]:empty::before { content: 'Choose a Local from the results to continue.'; display: block; color: var(--uw-muted); font-size: 14px; padding: 16px 0; }
.uw .selection-shortlist ol { padding: 0; list-style: none; }
.uw .selection-shortlist li { padding: 16px; border: 1px solid var(--uw-border); border-radius: 8px; }
.uw .planner-popup { border: 1px solid var(--uw-border); border-radius: 16px; box-shadow: var(--uw-shadow-dropdown); }
.uw .planner-popup::backdrop { background: #18181880; }
.uw .planner-popup-content .form-card { border: 0; padding: 24px; }
.uw .profile-facts>div { border-radius: 8px; background: var(--uw-subtle); border: 1px solid var(--uw-border); }
.uw .info-page h1 { font-size: 48px; line-height: 1.1; }
.uw .info-content { padding: 32px; }
.uw .site-footer { margin: 0 24px 24px; padding: 48px 40px 24px; border-radius: 8px; background: var(--uw-ink); color: #fff; }
.uw .site-footer .brand { color: #fff; }
.uw .site-footer a:hover { color: #71daf4; }
.uw .footer-columns h2 { font-size: 14px; line-height: 20px; font-weight: 500; color: #a5a5a5; }
.uw .footer-columns nav { display: flex; flex-direction: column; font-size: 14px; }
.uw .footer-columns a { padding: 4px 0; }
.uw .footer-toggle { display: none; }
.uw .workflow-steps { max-width: 1248px; margin: 24px auto; padding: 0 32px; }
.uw .workflow-steps ol { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; padding: 0; }
.uw .workflow-steps li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--uw-muted); border-bottom: 2px solid var(--uw-border); padding: 0 0 16px; }
.uw .workflow-steps li>span { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; background: var(--uw-subtle); }
.uw .workflow-steps li[aria-current=step] { border-color: var(--uw-brand); color: var(--uw-ink); font-weight: 500; }
.uw .workflow-steps li[aria-current=step]>span { background: var(--uw-brand); color: #fff; }
.uw .workflow-steps li.complete>span { background: #eefaff; color: var(--uw-brand); }
@media(min-width:1568px) { .uw .market-hero,.uw .travel-style-section,.uw .local-join-banner { margin-inline: auto; } }
@media(min-width:992px) and (max-width:1199.98px) { .uw .site-header nav { gap: 12px; font-size: 12px; }.uw[data-signed-in=true] .brand { font-size: 20px; }.uw .market-hero { padding-inline: 40px; }.uw .market-hero h1 { font-size: 56px; } }
@media(max-width:991.98px) {
 .uw .site-header { flex-wrap: nowrap; position: relative; padding: 0 24px; }
 .uw .nav-toggle { display: flex; margin-left: auto; border: 0; background: transparent; }
 .uw .site-header>nav { display: none; }
 .uw.menu-modal-open { overflow: hidden; }
 .uw .site-header.menu-open { position: fixed; inset: 0 0 auto; z-index: 100; }
 .uw .site-header.menu-open>nav { display: flex; position: fixed; inset: 64px 0 0; width: 100%; height: calc(100dvh - 64px); background: #fff; z-index: 100; overflow-y: auto; flex-direction: column; align-items: stretch; gap: 8px; padding: 24px; border-radius: 0; font-size: 18px; }
 .uw .site-header.menu-open>nav>a,.uw .site-header.menu-open>nav>button { padding: 16px 0; white-space: normal; border-radius: 8px; text-align: left; }
 .uw .site-header.menu-open>nav>a[href^='/login'] { margin-top: auto; }
 .uw .site-header.menu-open>nav .small-button { align-self: stretch; justify-content: center; padding: 8px 24px; text-align: center; margin: 0; }
 .uw .site-header.menu-open .nav-menu-icon { display: none; }
 .uw .site-header.menu-open .nav-close-icon { display: block; }
 .uw .hero-inner { grid-template-columns: 1fr; }
 .uw .travel-board { max-width: 560px; margin: auto; }
 .uw .onboarding-layout { grid-template-columns: 1fr; gap: 24px; }
 .uw .onboarding-aside { padding: 24px; }.uw .onboarding-aside h2 { font-size: 24px; }
 .uw .selection-layout { grid-template-columns: 1fr; }
 .uw .selection-shortlist { position: static; grid-row: auto; }
}
@media(max-width:699.98px) {
 .uw .site-header { padding-inline: 16px; }.uw .brand { font-size: 22px; }
 .uw .market-hero { margin: 16px 0 0; border-radius: 0; padding: 32px 16px; min-height: 0; }
 .uw .market-hero h1 { font-size: 42px; line-height: 1.04; }
 .uw .market-hero-copy>p:not(.eyebrow):not(.hero-proof) { font-size: 18px; line-height: 1.4; }
 .uw .home-segments { margin-bottom: 32px; }.uw .home-segments button { padding: 8px 12px; min-height: 40px; }
 .uw .hero-inner { gap: 32px; }.uw .hero-actions { gap: 16px; }
 .uw .local-hero-media { padding: 24px; min-height: 320px; }.uw .local-hero-media h2 { font-size: 32px; }
 .uw .how-section { padding: 40px 16px; overflow: hidden; }.uw .section-intro h2 { font-size: 32px; }
 .uw .how-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding: 4px 2px 16px; scroll-behavior: smooth; }
 .uw .how-grid article { flex: 0 0 85%; scroll-snap-align: start; }
 .uw .carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; }
 .uw .carousel-controls .small-button { min-height: 32px; padding: 4px 16px; }
 .uw .travel-style-section { margin: 0 16px 40px; padding: 0; background: #fff; border-radius: 0; }
 .uw .travel-style-section h2 { font-size: 30px; }.uw .style-discovery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
 .uw .style-discovery a { min-height: 78px; padding: 12px; grid-template-columns: auto 1fr; gap: 8px; font-size: 14px; }
 .uw .style-discovery strong { overflow-wrap: anywhere; }
 .uw .local-join-banner { margin: 0 0 40px; padding: 24px 16px; border-radius: 0; }.uw .local-join-banner h2 { font-size: 32px; }
 .uw .role-choice { padding: 32px 16px 40px; }.uw .role-choice h1 { font-size: 34px; }
 .uw .role-grid { grid-template-columns: 1fr; gap: 24px; }.uw .role-card { padding: 24px; }
 .uw .onboarding-layout { padding: 24px 16px 40px; gap: 24px; }.uw .onboarding-aside { padding: 20px; border-radius: 16px; }
 .uw .onboarding-aside h2 { font-size: 20px; }.uw .onboarding-main .form-head h1 { font-size: 30px; }
 .uw .form-card,.uw .onboarding-main .form-card { padding: 24px; }.uw .onboarding-main :is([data-trip-step],[data-account-step]) h2 { font-size: 26px; }
 .uw .account-head,.uw .form-head { padding-inline: 16px; }.uw .account-head h1,.uw .form-head h1 { font-size: 30px; }
 .uw .selection-layout { padding-inline: 16px; gap: 24px; }.uw .selection-results .local-card { padding: 20px; }
 .uw .selection-results .local-portrait,.uw .selection-results .local-avatar-fallback { width: 64px; height: 64px; margin-right: 16px; }
 .uw .local-card h2 { font-size: 22px; }.uw .selection-results .local-card>.small-button { margin-bottom: 8px; }
 .uw .results-toolbar { padding: 0; flex-wrap: wrap; }.uw .results-toolbar h2 { font-size: 24px; }
 .uw .info-page h1 { font-size: 34px; }.uw .info-content { padding: 24px; }
 .uw .site-footer { margin: 0; padding: 32px 16px 24px; border-radius: 0; }
 .uw .footer-columns { grid-template-columns: 1fr; gap: 0; }.uw .footer-columns section { border-bottom: 1px solid #ffffff30; }
 .uw .footer-columns h2 { margin: 0; }.uw .footer-heading { display: none; }
 .uw .footer-toggle { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 56px; border: 0; background: transparent; color: #fff; font: 500 16px/24px Arial,sans-serif; padding: 16px 0; cursor: pointer; }
 .uw .footer-toggle[aria-expanded=true] span { transform: rotate(45deg); }.uw .footer-columns nav { padding: 0 0 16px; }
 .uw .workflow-steps { padding: 0 16px; margin: 16px auto; }.uw .workflow-steps ol { grid-template-columns: repeat(2,1fr); gap: 12px; }.uw .workflow-steps li { font-size: 12px; padding-bottom: 12px; gap: 8px; }
}
@media(prefers-reduced-motion:reduce) {
 .uw *,.uw *::before,.uw *::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
 .uw button:active,.uw .button:active,.uw .small-button:active { transform: none; }
}
@media(forced-colors:active) {
 .uw .button,.uw .small-button,.uw .choice,.uw .role-card,.uw .local-card{ border: 1px solid ButtonText; }
 .uw [aria-selected=true],.uw [aria-pressed=true],.uw .choice:has(input:checked) { outline: 2px solid Highlight; }
 .uw .workflow-steps li[aria-current=step] { border-color: Highlight; }
}

.uw .form-card h2 { font-size: 24px; line-height: 1.1; font-weight: 550; }
.uw .onboarding-main .form-card :is([data-trip-step],[data-account-step]) h2 { font-size: 28px; }
@media(max-width:699.98px) { .uw .onboarding-main .form-card :is([data-trip-step],[data-account-step]) h2 { font-size: 26px; } }
.uw .nav-resources { position: relative; }
.uw .nav-resources>.text-button { font: inherit; color: var(--uw-ink); display: flex; align-items: center; gap: 8px; min-height: 40px; border: 0; background: transparent; cursor: pointer; }
.uw .nav-resource-panel { position: absolute; top: calc(100% + 12px); right: 0; width: 360px; z-index: 90; }
.uw .nav-resource-panel a { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 8px; text-decoration: none; }
.uw .nav-resource-panel a:hover,.uw .nav-resource-panel a:focus-visible { background: #e0e6eb; color: var(--uw-ink); }
.uw .nav-resource-panel a span { font-size: 12px; color: var(--uw-muted); }
.uw .nav-resource-panel.uw-dropdown-enter { animation-delay: 0ms; }
.uw .nav-resource-panel.dropdown-exit { opacity: 0; transform: translateY(-4px); transition: opacity 120ms ease-in,transform 120ms ease-in; pointer-events: none; }
@media(max-width:991.98px) {
 .uw .nav-resources>.text-button { padding: 16px 0; width: 100%; justify-content: space-between; }
 .uw .nav-resource-panel { position: static; width: 100%; box-shadow: none; padding: 8px; border-radius: 8px; }
 .uw .site-header .nav-resource-panel a { padding: 16px; }
}
@media(prefers-reduced-motion:reduce) { .uw .nav-resource-panel { transform: none!important; } }
/* API duration determines the loading phase; visual timings use the supplied specification. */
.uw .ui-loading-label { animation: rfy-loading-label 320ms cubic-bezier(.4,0,.2,1); }
.uw button[data-ui-success]::before { content: none; }
.uw .ui-success-icon { width: 20px; height: 20px; flex-shrink: 0; animation: rfy-success 220ms ease-out; }
.uw .ui-success-icon path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 28; animation: rfy-success-draw 260ms ease-out 80ms both; }
.uw .ui-label-return { animation: rfy-label-return 520ms cubic-bezier(.34,1.56,.64,1); }
@keyframes rfy-loading-label { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rfy-success-draw { from { stroke-dashoffset: -28; } to { stroke-dashoffset: 0; } }
@keyframes rfy-label-return { 0% { opacity: 0; transform: translateX(30px); } 65% { opacity: 1; transform: translateX(-5px); } 100% { opacity: 1; transform: translateX(0); } }
/* Runtime aliases keep the shared controls tied to the exported design tokens. */
.uw { font-size: calc(var(--uw-typography-body) * 1px); --radius: var(--uw-radius-12); }
.uw .button,.uw .small-button { min-height: calc(var(--uw-button-height) * 1px); border-radius: calc(var(--uw-button-radius) * 1px); transition-duration: calc(var(--uw-motion-button-ms) * 1ms); }
.uw .button { border-radius: 999px; }
.uw .site-header .small-button { border-radius: var(--uw-radius-pill); }
.uw .form-card :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=range]) { min-height: calc(var(--uw-control-height) * 1px); border-radius: calc(var(--uw-control-radius) * 1px); transition-duration: calc(var(--uw-motion-input-ms) * 1ms); }
.uw .uw-reveal { animation-duration: calc(var(--uw-motion-hero-ms) * 1ms); animation-timing-function: var(--uw-motion-hero-easing); }
.uw .ui-loading-label { animation-duration: calc(var(--uw-motion-loading-label-ms) * 1ms); animation-timing-function: var(--uw-motion-loading-label-easing); }
.uw .ui-success-icon { animation-duration: calc(var(--uw-motion-success-enter-ms) * 1ms); }
.uw .ui-success-icon path { animation-duration: calc(var(--uw-motion-success-draw-ms) * 1ms); animation-delay: calc(var(--uw-motion-success-draw-delay-ms) * 1ms); }
.uw .ui-label-return { animation-duration: calc(var(--uw-motion-label-return-ms) * 1ms); animation-timing-function: var(--uw-motion-label-return-easing); }
@media(min-width:1200px) { .uw .market-hero h1 { font-size: calc(var(--uw-typography-hero-desktop-size) * 1px); line-height: calc(var(--uw-typography-hero-desktop-line-height) * 1px); font-weight: var(--uw-typography-hero-desktop-weight); } }
@media(max-width:699.98px) { .uw .market-hero h1 { font-size: calc(var(--uw-typography-hero-mobile-size) * 1px); line-height: calc(var(--uw-typography-hero-mobile-line-height) * 1px); font-weight: var(--uw-typography-hero-mobile-weight); } }
.uw .form-result:not(:empty) { background: var(--uw-subtle); border-left: 2px solid var(--uw-brand); border-radius: 6px; padding: 12px 16px; font-size: 14px; }
.uw .form-result.error:not(:empty) { color: var(--uw-error); border-color: var(--uw-error); background: #fff3f2; }

/* Destination film keeps the content legible while the scenery slowly changes. */
.uw .destination-hero { position: relative; isolation: isolate; overflow: hidden; padding-bottom: 80px; }
.uw .destination-video,.uw .destination-overlay { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.uw .destination-video { object-fit: cover; object-position: center; }
.uw .destination-overlay { z-index: -1; background: linear-gradient(90deg,rgba(9,19,28,.88),rgba(9,19,28,.65) 48%,rgba(9,19,28,.16)),linear-gradient(0deg,rgba(9,19,28,.45),transparent 45%); }
.uw .destination-hero .hero-inner { grid-template-columns: minmax(0,680px); }
.uw .destination-hero .market-hero-copy { max-width: 680px; }
.uw .video-toggle { position: absolute; right: 24px; bottom: 24px; color: #fff; background: #0c182bcc; border: 1px solid #ffffff80; border-radius: 999px; padding: 8px 16px; gap: 8px; }
.uw .video-toggle:hover { background: #0c182bf0; }
.uw .destination-hero :focus-visible { outline-color: #fff; }
.uw .planner-card { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.uw .planner-card h2 { margin-bottom: 12px; }
.uw .planner-card .residence-tag { align-self: flex-start; margin: 0 0 16px; padding: 6px 10px; border-radius: 8px; background: #eefaff; color: #164c60; font-weight: 500; }
.uw .planner-background { white-space: pre-line; margin: 0 0 20px; }
.uw .planner-facts { margin: 0; display: grid; gap: 16px; }
.uw .planner-facts dt { font-size: 12px; font-weight: 600; color: var(--uw-muted); margin-bottom: 4px; }
.uw .planner-facts dd { margin: 0; font-size: 14px; }
.uw .planner-facts .profile-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.uw .planner-card-actions { margin-top: auto; padding-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.uw .free-request-promise { display: flex; align-items: center; gap: 10px; padding: 16px; border-radius: 12px; background: #eefaff; color: #164c60; border: 1px solid #b4e0ed; }
.uw .free-request-promise strong { font-size: 18px; line-height: 1.4; }
.uw .trip-onboarding .wizard-progress { margin-top: 0; }
.uw .trip-onboarding .wizard-progress progress { width: 100%; }
.uw .directory>.local-card { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:699.98px) {
 .uw .destination-hero { padding-bottom: 92px; }
 .uw .destination-overlay { background: linear-gradient(90deg,rgba(9,19,28,.85),rgba(9,19,28,.55)),linear-gradient(0deg,rgba(9,19,28,.5),transparent); }
 .uw .video-toggle { right: 16px; bottom: 20px; }
 .uw .planner-card-actions .small-button { flex: 1 1 auto; }
}

/* Trip questionnaire: accessible selectable cards and a quiet question introduction. */
.uw [data-typewriter-question] { min-height: 1.25em; }
.uw [data-typewriter-question].is-typing [data-question-visual]::after { content: ''; display: inline-block; height: .85em; width: 2px; margin-left: 4px; background: var(--uw-brand); vertical-align: -.05em; animation: question-caret .65s step-end infinite; }
@keyframes question-caret { 50% { opacity: 0; } }
.uw .card-choice-field { border: 0; padding: 0; }
.uw .accommodation-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.uw .accommodation-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--uw-control-border); border-radius: 12px; margin: 0; cursor: pointer; background: #fff; min-width: 0; }
.uw .accommodation-card strong { font-size: 19px; }
.uw .accommodation-card>span:not(.lodging-art):not(.card-check) { font-size: 13px; line-height: 1.5; color: var(--uw-muted); }
.uw .accommodation-card input { margin: 0; width: 18px; height: 18px; accent-color: var(--uw-brand); }
.uw .lodging-art { align-self: stretch; display: flex; flex-direction: column; align-items: center; padding: 8px; border-radius: 8px; background: #edf8fc; color: #164c60; }
.uw .lodging-art svg { width: 100%; max-width: 160px; height: 80px; }
.uw .lodging-art>span { font-size: 13px; letter-spacing: 5px; }
.uw .card-check { display: none; position: absolute; top: 14px; right: 14px; color: var(--uw-brand); }
.uw .accommodation-card:has(input:checked),.uw .budget-preference-card:has(input:checked),.uw .age-choice-card.selected { border-color: var(--uw-brand); background: #edfaff; box-shadow: inset 0 0 0 1px var(--uw-brand); }
.uw .accommodation-card:has(input:checked) .card-check { display: block; }
.uw .accommodation-card:has(input:focus-visible),.uw .budget-preference-card:has(input:focus-visible),.uw .age-choice-card:has(input:focus-visible) { outline: 2px solid var(--uw-ink); outline-offset: 3px; }
.uw .age-choice-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.uw .age-choice-card { border: 1px solid var(--uw-control-border); border-radius: 12px; padding: 16px; min-width: 0; }
.uw .age-choice-card>label:first-child { display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer; min-height: 32px; }
.uw .age-choice-card input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: var(--uw-brand); }
.uw .age-count { margin: 12px 0 0; color: var(--uw-muted); font-size: 12px; }
.uw .age-count input { margin-top: 8px; width: 100%; }
.uw .age-selection-total { font-size: 14px; color: var(--uw-muted); }
.uw .age-selection-total.complete { color: var(--uw-brand); font-weight: 600; }
.uw .budget-preference-cards { display: grid; gap: 12px; }
.uw .budget-preference-card { display: flex; align-items: center; gap: 12px; border: 1px solid var(--uw-control-border); border-radius: 12px; padding: 16px; margin: 0; cursor: pointer; }
.uw .budget-preference-card input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--uw-brand); }
.uw .trip-onboarding .choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width:699.98px) { .uw .accommodation-cards { grid-template-columns: 1fr; }.uw .accommodation-card { padding: 16px; }.uw .lodging-art { max-height: 96px; }.uw .lodging-art svg { height: 56px; }.uw .age-choice-cards,.uw .trip-onboarding .choices { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) { .uw [data-typewriter-question].is-typing [data-question-visual]::after { display: none; } }
.uw .trip-onboarding .accommodation-card { display: flex; }
.uw .trip-onboarding .accommodation-card strong { display: block; }
.uw .trip-onboarding .accommodation-card>span:not(.lodging-art):not(.card-check) { display: block; font-weight: 400; }
.uw .trip-onboarding .budget-preference-card { display: flex; }
.uw .trip-onboarding .budget-preference-card>span { font-weight: 400; }
.uw .trip-onboarding label.accommodation-card { display: flex; margin: 0; }
.uw .trip-onboarding label.budget-preference-card { display: flex; margin: 0; }

.uw .preference-art{display:flex;align-items:center;justify-content:center;color:var(--uw-brand);height:70px}.uw .preference-art svg{width:95px;height:65px}.uw .preference-cards .accommodation-card{min-height:230px}.uw .trip-onboarding label.accommodation-card strong{font-size:20px}.uw [data-flexible-timing] .preference-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.uw [data-flexible-timing] .accommodation-card:last-child{grid-column:span 2}.uw .field-label{font-weight:600}.uw .trip-onboarding label strong{color:var(--uw-brand)}@media(max-width:650px){.uw [data-flexible-timing] .preference-cards{grid-template-columns:1fr}.uw [data-flexible-timing] .accommodation-card:last-child{grid-column:auto}}

.uw .hero-discovery-cta{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:17px 22px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);font-weight:650;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.15);transition:background .2s,transform .2s}.uw .hero-discovery-cta:hover{background:#fff;color:var(--uw-ink,#181818);transform:translateY(-2px)}.uw .free-style-promise{max-width:300px;margin-top:24px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--uw-border,#d5e0d5);color:var(--uw-brand);line-height:1.5}.uw .planner-card-actions{display:flex;flex-wrap:wrap;gap:10px}.uw .planner-invite-cta{border-radius:8px;flex:1 1 220px;white-space:normal;line-height:1.5;justify-content:center;text-align:center}.uw .planner-card[data-preferred-planner]{border:2px solid var(--uw-brand);background:#f1fcff}.uw .preferred-planner-note{padding:18px 22px;border-radius:14px;background:#edfaff;max-width:900px;line-height:1.6}

.uw .scenery-credits{position:absolute;bottom:18px;right:24px;z-index:3;color:#fff;font-size:12px;text-decoration:underline;text-underline-offset:3px;opacity:.85}.uw .scenery-credits:hover{opacity:1}.uw .scenery-credits:focus-visible{outline:2px solid #fff;outline-offset:5px}

.uw .destination-hero .video-toggle{bottom:48px}

/* How it works: media-led steps and coordinated role tabs. */
.uw .how-section{padding-top:72px;padding-bottom:72px}
.uw .how-header{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:18px}
.uw .how-header h2{font-size:40px;line-height:1.1;font-weight:550;letter-spacing:-1.2px;margin:0}
.uw .how-role-tabs{display:flex;border:1px solid var(--uw-color-gray-50,#8d8c8c);border-radius:999px;padding:0;max-width:100%;flex-shrink:0}
.uw .how-role-tabs button{background:transparent;color:var(--uw-ink);border:2px solid transparent;border-radius:999px;min-height:48px;padding:10px 24px;font-size:16px;font-weight:500;white-space:nowrap}
.uw .how-role-tabs button[aria-selected="true"]{border-color:var(--uw-ink);background:#fff}
.uw .how-role-tabs button:hover{background:var(--uw-subtle)}
.uw .how-role-tabs button:focus-visible{outline:2px solid var(--uw-brand);outline-offset:4px}
.uw .how-role-intro{font-size:18px;line-height:1.5;color:var(--uw-muted);margin:0 0 32px}
.uw .how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.uw .how-grid .how-step{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;display:flex;flex-direction:column;min-width:0}
.uw .how-step-media{position:relative;isolation:isolate;aspect-ratio:4/3;overflow:hidden;border-radius:24px;display:flex;align-items:center;justify-content:center;width:100%;background:#f1f7ed}
.uw .how-step-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 500ms ease;z-index:-2}
.uw .how-step:hover .how-step-media>img,.uw .how-step:focus-within .how-step-media>img{transform:scale(1.035)}
.uw .how-step-media-1{background:radial-gradient(ellipse at 10% 80%,#ecfaff,transparent 65%),radial-gradient(ellipse at 95% 0%,#d7f3fb,transparent 60%),#e5f7fc;color:var(--uw-ink)}
.uw .how-brand{position:relative;z-index:1;text-align:center;padding:28px;display:flex;flex-direction:column;align-items:center;gap:12px}
.uw .how-brand strong{font-size:clamp(26px,2.8vw,40px);line-height:1.1;letter-spacing:-1.4px}
.uw .how-brand strong span{font-weight:400;margin-left:5px}
.uw .how-brand small{font-size:14px;font-weight:500;line-height:1.5;max-width:240px}
.uw .how-brand-mark{width:80px;height:80px;box-shadow:0 6px 20px #1122360a}
.uw .how-route-line{position:absolute;inset:0;width:100%;height:100%;color:#164c60;opacity:.2;z-index:0}
.uw .how-media-stamp{position:absolute;bottom:20px;left:20px;font-size:10px;letter-spacing:1.1px;padding:7px 10px;border:1px solid #164c6050;border-radius:999px;color:#164c60;background:#ffffff70}
.uw .how-media-number{position:absolute;top:16px;left:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffffed;color:var(--uw-ink);font-size:12px;font-weight:600;z-index:2}
.uw .how-media-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000 30%,#112236b3)}
.uw .how-preview{align-self:flex-end;width:calc(100% - 36px);margin:18px;padding:18px;border:1px solid #ffffff90;background:#fffffff0;border-radius:16px;box-shadow:0 8px 24px #1122361a;display:flex;flex-direction:column;gap:10px;text-align:left}
.uw .how-preview-kicker{font-size:9px;line-height:1.4;letter-spacing:1px;color:#52677b;font-weight:600}
.uw .how-preview strong{font-size:20px;line-height:1.15;font-weight:550;letter-spacing:-.5px}
.uw .how-preview-tags{display:flex;gap:6px;flex-wrap:wrap}
.uw .how-preview-tags span{font-size:10px;padding:5px 8px;border-radius:999px;background:#eefaff;color:#164c60;white-space:nowrap}
.uw .how-step-copy{padding:24px 4px 0;display:flex;flex-direction:column;flex:1}
.uw .how-step-copy h3{font-size:26px;line-height:1.15;letter-spacing:-.6px;font-weight:550;margin:0 0 14px;min-height:60px}
.uw .how-grid .how-step-copy p{font-size:16px;line-height:1.5;margin:0 0 22px}
.uw .how-step-copy .button{width:100%;min-height:44px;white-space:normal;justify-content:center;text-align:center;line-height:1.4;margin-top:auto;gap:8px;padding:12px 16px}
.uw .how-photo-credits{display:block;text-align:right;font-size:11px;color:var(--uw-muted);margin-top:20px;text-underline-offset:3px}
@media(max-width:900px){.uw .how-header{align-items:flex-start;flex-direction:column;gap:20px}.uw .how-brand{padding:16px}.uw .how-preview{padding:12px;margin:12px;width:calc(100% - 24px)}.uw .how-preview strong{font-size:17px}.uw .how-preview-tags span{font-size:9px}.uw .how-step-copy h3{font-size:24px}}
@media(max-width:720px){.uw .how-section{padding:40px 16px}.uw .how-header h2{font-size:32px}.uw .how-role-tabs{width:100%}.uw .how-role-tabs button{flex:1;min-width:0;padding:10px 8px;font-size:14px}.uw .how-role-intro{font-size:16px;margin-bottom:24px}.uw .how-grid{display:flex;gap:16px;padding:0 0 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth}.uw .how-grid .how-step{flex:0 0 88%;scroll-snap-align:start}.uw .how-step-media{border-radius:20px}.uw .how-step-copy{padding:20px 2px 0}.uw .how-step-copy h3{min-height:56px}.uw .how-brand strong{font-size:32px}.uw .how-preview{padding:18px;margin:18px;width:calc(100% - 36px)}.uw .how-preview strong{font-size:20px}.uw .how-preview-tags span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.uw .how-step-media>img{transition:none}.uw .how-step:hover .how-step-media>img,.uw .how-step:focus-within .how-step-media>img{transform:none}}
@media(forced-colors:active){.uw .how-role-tabs,.uw .how-role-tabs button[aria-selected="true"],.uw .how-step-media{border:1px solid ButtonText}.uw .how-media-number,.uw .how-preview,.uw .how-media-stamp{background:Canvas;color:CanvasText;border:1px solid CanvasText}}

/* Full-width travel-style discovery, with a compact free-posting promise. */
.uw .travel-style-section{display:flex;flex-direction:column;gap:32px;margin-left:auto;margin-right:auto;width:calc(100% - 128px);max-width:1312px;padding:40px;scroll-margin-top:24px}
.uw .travel-style-section>div:first-child{width:100%;display:flex;flex-direction:column;align-items:flex-start}
.uw .travel-style-section h2{margin:12px 0 0;font-size:clamp(32px,3.6vw,48px);letter-spacing:-1.4px;max-width:850px}
.uw .travel-style-section h2 br{display:none}
.uw .travel-style-section .free-style-promise{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;max-width:none;margin:20px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--uw-ink);font-size:16px;line-height:1.5}
.uw .free-style-promise strong{font-weight:500}
.uw .free-promise-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;color:#164c60;background:#d7f3fb}
.uw .free-promise-tag{display:inline-flex;align-items:center;border:1px solid #9dd9e8;border-radius:999px;padding:4px 10px;background:#e5f7fc;color:#164c60;font-size:10px;font-weight:600;letter-spacing:.9px;white-space:nowrap}
.uw .travel-style-section .style-discovery{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.uw .travel-style-section .style-discovery a{min-height:84px;padding:14px 16px;grid-template-columns:auto minmax(0,1fr);gap:12px;box-shadow:0 2px 8px #18181808}
.uw .travel-style-section .style-discovery strong{font-size:15px;line-height:1.4;min-width:0}
.uw .travel-style-section .style-discovery a>span:first-child{font-size:24px;flex-shrink:0}
@media(max-width:1100px){.uw .travel-style-section .style-discovery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.uw .travel-style-section{width:calc(100% - 32px);padding:24px;gap:24px}.uw .travel-style-section .style-discovery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.uw .travel-style-section{padding:20px 16px}.uw .travel-style-section h2{letter-spacing:-.9px}.uw .travel-style-section .free-style-promise{display:grid;grid-template-columns:30px 1fr;font-size:14px;gap:8px 10px}.uw .free-promise-tag{grid-column:2;justify-self:start}.uw .travel-style-section .style-discovery{gap:12px}.uw .travel-style-section .style-discovery a{min-height:100px;padding:14px 12px;display:grid;grid-template-columns:1fr;align-content:center;gap:8px}.uw .travel-style-section .style-discovery a>span:first-child{grid-column:1;grid-row:1}.uw .travel-style-section .style-discovery strong{grid-column:1/-1;font-size:14px}}
@media(forced-colors:active){.uw .free-promise-icon,.uw .free-promise-tag{border:1px solid CanvasText;background:Canvas;color:CanvasText}}
/* Compact destination search and named preference choices. */
.uw .site-header { gap: 20px; }
.uw .site-header nav { gap: 18px; }
.uw .site-header .small-button { min-height: 40px; padding: 8px 16px; font-size: 14px; }
.uw .header-search { display: flex; align-items: center; gap: 6px; border: 1px solid var(--uw-border); border-radius: 999px; background: var(--uw-subtle); margin: 0; padding: 3px 8px; width: 280px; min-width: 0; }
.uw .header-search button { min-height: 30px; width: 28px; padding: 0; background: transparent; color: var(--uw-ink); border: 0; }
.uw .header-search input { width: 100%; min-width: 0; border: 0; padding: 4px; margin: 0; background: transparent; font-size: 13px; min-height: 30px; box-shadow: none; }
.uw .header-search select { width: 87px; flex-shrink: 0; min-height: 30px; padding: 4px; margin: 0; border: 0; border-left: 1px solid var(--uw-border); border-radius: 0; font-size: 12px; background: transparent; }
.uw .custom-choice-entry { display: flex; gap: 10px; align-items: center; margin-top: 14px; }
.uw .custom-choice-entry input { flex: 1; min-width: 0; margin: 0; }
.uw .custom-choice-entry button { white-space: nowrap; }
.uw .choice:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.uw .explore-everywhere { display: flex; width: 100%; margin-top: 20px; border-radius: 12px; padding: 18px; }
.uw .popular-destinations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px; }
.uw .popular-destinations-heading { grid-column: 1/-1; font-size: 12px; font-weight: 600; letter-spacing: .06em; padding: 4px; }
.uw .popular-destinations [role=option] { background: var(--uw-subtle); border-radius: 8px; font-size: 14px; padding: 12px; }
.uw .popular-destinations [role=option]:hover,.uw .popular-destinations [aria-selected=true] { background: #d7f3fb; }
@media(min-width:992px) and (max-width:1350px) { .uw .header-search { width: 240px; }.uw .site-header nav { gap: 12px; }.uw .site-header .brand { font-size: 21px; }.uw .site-header nav>a { font-size: 12px; } }
@media(max-width:991.98px) { .uw .header-search { width: 100%; margin-bottom: 12px; }.uw .site-header nav { gap: 16px; } }
@media(max-width:480px) { .uw .custom-choice-entry { flex-wrap: wrap; }.uw .custom-choice-entry input { flex-basis: 100%; } }

/* Planner questions use the same hierarchy and spacing throughout Step 2. */
.uw .local-settings .planner-question-title{font-family:inherit;font-size:14px;font-weight:650;line-height:1.5;margin:0 0 8px;letter-spacing:normal}
.uw .previous-place-question{margin-top:24px;margin-bottom:24px}
.uw .previous-place-question legend{margin-bottom:8px}
.uw .previous-place-question>p{font-size:14px;line-height:1.6;margin:0 0 12px}
.uw .previous-place-question .selected-places:empty{display:none}
.uw .public-trip-details{margin:20px 0;padding-top:16px;border-top:1px solid var(--uw-border)}
.uw .public-trip-details summary{cursor:pointer;color:var(--uw-ink);font-weight:600;font-size:15px}
.uw .public-trip-details dl{display:grid;gap:16px;margin:20px 0}
.uw .public-trip-details dt{font-size:13px;font-weight:600;color:var(--uw-muted);margin-bottom:4px}
.uw .public-trip-details dd{margin:0;font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}

.uw .itinerary-directory{align-items:start}

.uw .explore-everywhere:has(input:disabled){opacity:.5;cursor:not-allowed}

.uw .site-header .community-join{min-height:32px;padding:6px 12px;font-size:13px;line-height:20px;letter-spacing:0}

/* Clear invitation actions and readable sky-blue question emphasis. */
.uw .question-keyword { color: #71daf4; background: transparent; padding: 0; border-radius: 0; font-weight: 700; }
.uw .wrap-up-note { font-weight: 700; color: #112236; border-left: 4px solid #71daf4; padding: 8px 16px; background: #eefaff; }
.uw .request-account-step { margin-top: 24px; padding: 20px; border-radius: 16px; background: #eefaff; border: 1px solid #b4e0ed; }
.uw .request-account-step h3 { margin-top: 0; font-size: 20px; }
.uw .inline-local-selection { grid-template-columns: minmax(0,1fr); }
.uw .inline-local-selection .planner-card { transition: border-color .15s,box-shadow .15s; }
.uw .inline-local-selection .planner-card.is-selected { border-color: #112236; box-shadow: 0 0 0 2px #71daf4; background: #f1fcff; }
.uw .planner-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.uw .planner-card-actions .button,.uw .planner-card-actions .small-button { margin: 0; }
.uw .planner-preferences { padding: 16px 0; border-top: 1px solid #e2e7e9; margin-top: 20px; }
.uw .planner-preferences h3 { font-size: 16px; margin: 0 0 12px; }
.uw .planner-preferences p { font-size: 14px; }
.uw .how-step-copy .button { background: #71daf4; color: #112236; border-color: #71daf4; }
.uw .how-step-copy .button:hover { background: #a3e9f9; color: #112236; border-color: #a3e9f9; }

/* Align the public Planner results heading with the card grid. */
.uw .explore-results-toolbar { width: 100%; max-width: 1312px; margin: 0 auto 24px; padding: 16px 24px; }
.uw .explore-results-toolbar h2 { margin: 0; }

.uw .hero-actions .hero-discovery-cta { min-height: 40px; padding: 8px 24px; border-width: 2px; font: 500 14px/20px Arial,sans-serif; letter-spacing: .028em; gap: 8px; }
/* A welcoming contact page and searchable, role-aware Help Center. */
.uw .contact-page{max-width:1312px;margin:auto;padding:64px 32px 80px}
.uw .contact-page h1{font-size:clamp(48px,7vw,80px);margin:16px 0 24px}
.uw .contact-intro{color:var(--uw-muted);font-size:20px;max-width:650px}
.uw .contact-page>h2{font-size:36px;margin:64px 0 32px}
.uw .contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:32px}
.uw .contact-grid article{padding:32px;border:1px solid var(--uw-border);border-radius:28px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;min-height:320px}
.uw .contact-grid svg{margin-bottom:44px;color:#112236}.uw .contact-grid h3{font-size:27px;margin:0 0 16px}.uw .contact-grid p{color:var(--uw-muted);font-size:15px;margin-bottom:24px}
.uw .contact-link{margin-top:auto;color:#164c60;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:5px;font-size:16px;cursor:pointer}.uw .contact-link:hover{color:#112236}
.uw .contact-dialog{color:#112236;width:min(620px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;padding:36px;border:1px solid #dce4ed;border-radius:24px;box-shadow:0 24px 80px #11223640;letter-spacing:normal}.contact-dialog::backdrop{background:#112236a6;backdrop-filter:blur(3px)}
.uw .contact-dialog .choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uw .contact-dialog .choice{display:flex;align-items:center;gap:10px;min-width:0;padding:14px;font-size:14px}.uw .contact-dialog input[type=radio],.uw .contact-dialog input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:#164c60}.uw .contact-dialog .checkline{display:flex;align-items:center;gap:10px}
.uw .account-settings-link{max-width:1312px;margin:32px auto 56px;padding-inline:32px;font-size:13px}.uw .account-settings-link a{color:#596877}.uw .account-deletion{max-width:760px;margin:0 auto 64px}.uw .account-deletion details{margin-top:32px;border-top:1px solid #e2e7e9;padding-top:24px}.uw .account-deletion summary{color:#596877;cursor:pointer;font-size:14px}.uw .account-deletion form>label{display:block;margin:20px 0 8px}.uw .account-deletion .checkline{display:flex;align-items:center;gap:10px}.uw .account-deletion input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0}
.uw .contact-dialog h2{font-size:34px}.uw .contact-dialog .dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:28px;color:#112236;cursor:pointer}.uw .contact-dialog form>label,.uw .support-thread form>label{display:block;font-weight:600;margin:20px 0 8px}.uw .contact-security{padding:16px 0;margin:16px 0}.uw .contact-security small{display:block;color:#596877;font-size:12px}.uw .contact-dialog .button{background:#71daf4;color:#112236}
.uw .help-hero{padding:64px 24px 48px;background:linear-gradient(120deg,#eefaff,#d7f3fb);text-align:center}.uw .help-hero h1{font-size:clamp(40px,6vw,64px)}.uw .help-hero>p{color:#596877}.uw .help-hero input{max-width:620px;background:#fff;border-radius:999px;padding:16px 24px;margin:20px auto}.uw .help-audience{justify-content:center;margin-top:12px}.uw .help-audience button[aria-pressed=true]{background:#112236;color:#fff}
.uw .help-topics{max-width:1312px;padding:48px 32px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.uw .help-topic{padding:28px;border:1px solid #e2e7e9;border-radius:20px;text-decoration:none;background:#fff}.uw .help-topic:hover{border-color:#6480a0;background:#f1fcff}.uw .help-topic>span{font-size:32px}.uw .help-topic h2{font-size:24px;margin:20px 0 12px}.uw .help-topic p{font-size:15px;color:#596877}.uw .help-topic strong{font-size:14px;color:#164c60}
.uw .help-contact{margin:0 auto 64px;max-width:1248px;padding:32px;background:#eefaff;border-radius:24px;text-align:center}.uw .support-thread article{padding:20px;border:1px solid #e2e7e9;border-radius:16px;margin-bottom:24px}.uw .support-admin-reply{background:#eefaff}.uw .support-thread h2{font-size:20px}
@media(max-width:900px){.uw .contact-grid,.uw .help-topics{grid-template-columns:1fr 1fr}.uw .contact-grid article:last-child{grid-column:1/-1}.uw .contact-page{padding:40px 24px}.uw .contact-grid article{min-height:280px}}
@media(max-width:600px){.uw .contact-grid,.uw .help-topics{grid-template-columns:1fr}.uw .contact-page,.uw .help-topics{padding-inline:16px}.uw .contact-dialog{padding:28px 20px}.uw .contact-grid article{min-height:260px}.uw .contact-grid svg{margin-bottom:24px}.uw .contact-page>h2{font-size:28px;margin-top:40px}.uw .help-contact{margin-inline:16px}}

/* Itinerary table: use the application tokens and the shared form controls. */
.uw .workspace-format,.uw .route-table-scroll { border-color:var(--uw-border); border-radius:var(--uw-radius-12); }
.uw .route-template th { background:var(--uw-subtle); color:var(--uw-ink); font:500 14px/20px Arial,sans-serif; }
.uw .route-template-editor .route-row-control { background:var(--uw-color-white); }
.uw .route-template-editor th.route-row-control { background:var(--uw-subtle); }
.uw .route-template :is(textarea,select) { padding:9px 16px!important; }
.uw :is(.route-row-drag,.route-row-menu-toggle) { font-family:Arial,sans-serif; color:var(--uw-muted); border-radius:var(--uw-radius-8); }
.uw :is(.route-row-drag,.route-row-menu-toggle):hover,.uw .route-row-menu-toggle[aria-expanded=true] { color:var(--uw-brand); background:var(--green); }
.uw .route-insert-plus { font-family:Arial,sans-serif; color:var(--uw-brand); background:var(--uw-color-white); border-color:var(--uw-border); }
.uw .route-insert-gap:hover .route-insert-plus,.uw .route-insert-gap:focus-within .route-insert-plus,.uw .route-drop-target .route-insert-plus { background:var(--green); border-color:var(--uw-brand); }
.uw .route-insert-gap td+td:after { background:var(--uw-border); }
.uw .route-insert-gap:hover td+td:after,.uw .route-insert-gap:focus-within td+td:after,.uw .route-drop-target td+td:after { background:var(--uw-lime); }
.uw .route-row-menu { color:var(--uw-ink); background:var(--uw-color-white); border-color:var(--uw-border); border-radius:var(--uw-radius-12); box-shadow:var(--uw-shadow-dropdown); }
.uw .route-row-menu button { font:500 14px/20px Arial,sans-serif; letter-spacing:.028em; color:var(--uw-ink); background:var(--uw-color-white); border-radius:var(--uw-radius-8); padding:8px 12px; min-height:40px; }
.uw .route-row-menu button:hover,.uw .route-row-menu button:focus-visible { background:var(--uw-subtle); }
.uw .route-row-menu [data-route-action=delete] { color:var(--uw-error); border-color:var(--uw-border); border-radius:0; }
.uw .route-column-hint { color:var(--uw-muted); font:400 12px/18px Arial,sans-serif; letter-spacing:normal; }

.uw .itinerary-export{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:24px 0;padding-top:20px;border-top:1px solid var(--uw-border)}.uw .itinerary-export label{margin:0!important;font-size:14px;font-weight:500}.uw .itinerary-export select{display:block;margin-top:8px;min-width:180px}.uw .itinerary-export button{margin-bottom:0}@media(max-width:500px){.uw .itinerary-export{align-items:stretch}.uw .itinerary-export label,.uw .itinerary-export button{width:100%}}

.uw .itinerary-download{flex-basis:100%;margin-top:8px}

/* Workspace stages use the existing card, color and spacing tokens. */
.itinerary-stage-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;margin-top:24px;align-items:start}
.itinerary-stages{display:grid;gap:12px;position:sticky;top:20px}
.itinerary-stage{display:grid;gap:6px;padding:16px;border:1px solid var(--uw-border,#e2e7e9);border-radius:12px;text-decoration:none;color:inherit;background:var(--uw-subtle,#f7f8f9)}
.itinerary-stage span,.itinerary-stage time{font-size:13px;opacity:.75}
.itinerary-stage.is-current{border-color:var(--uw-brand,#112236);background:var(--green,#eefaff)}
.itinerary-stage-content{min-width:0}
@media(max-width:760px){.itinerary-stage-layout{grid-template-columns:1fr}.itinerary-stages{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.itinerary-stage{padding:12px}.itinerary-stage time{display:none}}
/* Itinerary tables need the desktop canvas, rather than a narrow input-form column. */
.uw .form-card.itinerary-panel{width:calc(100% - 64px);max-width:none;margin-inline:auto;padding:32px}
.uw main:has(.itinerary-panel)>.account-head{max-width:none;padding:32px 32px 24px}
.uw .itinerary-stage-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}
.uw .itinerary-stage-content>.itinerary-content{max-width:100%}
.uw .route-template th{position:sticky;top:0;z-index:1}
@media(min-width:1700px){.uw .itinerary-stage-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}}
@media(max-width:760px){.uw .form-card.itinerary-panel{width:calc(100% - 32px);padding:20px}.uw main:has(.itinerary-panel)>.account-head{padding-inline:16px}.uw .itinerary-stage-layout{grid-template-columns:1fr}}

.uw .itinerary-comments{margin-top:24px;padding:24px;border:1px solid var(--uw-border);border-radius:12px;background:var(--uw-subtle)}
.uw .itinerary-comment{margin:16px 0;padding:16px;background:var(--white);border:1px solid var(--uw-border);border-radius:8px}
.uw .itinerary-comment p{white-space:pre-wrap;overflow-wrap:anywhere}
.uw .itinerary-comments textarea{background:var(--white)!important}

.uw .itinerary-comments-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.uw .itinerary-comments-header h3{margin-top:0}
.uw .itinerary-comments-header .itinerary-approval{margin-left:auto;max-width:420px;text-align:right}
.uw .itinerary-comments-header .itinerary-approval .button{max-width:100%;white-space:normal;text-align:center}
.uw .itinerary-comments-header [data-approval-status]:empty{display:none}
@media(max-width:760px){.uw .itinerary-comments-header{flex-direction:column;gap:12px}.uw .itinerary-comments-header .itinerary-approval{align-self:flex-end;max-width:100%}}

.uw .itinerary-comments{scroll-margin-top:64px}
.uw .itinerary-comments>h3{margin-top:0}
.uw .itinerary-comments-portion,.uw .itinerary-confirmation-portion{padding:20px;background:var(--white);border:1px solid var(--uw-border);border-radius:12px}
.uw .itinerary-comments-portion{margin-top:20px}
.uw .itinerary-confirmation-portion{margin-top:20px}
.uw .itinerary-comments-portion>h4,.uw .itinerary-comments-header>h4{margin-top:0}
.uw .itinerary-confirmation-portion .itinerary-approval .button{font-size:14px}
@media(max-width:760px){.uw .itinerary-comments-portion,.uw .itinerary-confirmation-portion{padding:16px}}

.uw .itinerary-feedback-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}
.uw .itinerary-feedback-columns:has(.itinerary-confirmation-portion){grid-template-columns:minmax(0,3fr) minmax(280px,2fr)}
.uw .itinerary-feedback-columns>.itinerary-comments-portion,.uw .itinerary-feedback-columns>.itinerary-confirmation-portion{margin-top:0;min-width:0}
.uw .itinerary-confirmation-portion .itinerary-comments-header{flex-direction:column;gap:12px}
.uw .itinerary-confirmation-portion .itinerary-comments-header>h4{margin-bottom:0}
.uw .itinerary-confirmation-portion .itinerary-approval{width:100%;max-width:none}
.uw .itinerary-confirmation-portion .itinerary-approval .button{width:100%;white-space:normal}
@media(max-width:1000px){.uw .itinerary-feedback-columns:has(.itinerary-confirmation-portion){grid-template-columns:minmax(0,1fr)}}

/* A readable route for Travelers, with the same fields preserved in Planner editing. */
.uw .route-header-icon{display:inline-block;margin-right:8px;font-size:16px}
.uw .route-template-editor th{padding:16px 12px;font-weight:700}
.uw .route-template-editor [data-route-column=description] textarea{font-weight:600}
.uw .route-template-editor :is(textarea,select){border-color:var(--uw-border);background:var(--white)!important;border-radius:8px}
.uw .route-template-editor [data-route-row]:hover{background:#f6fbfd}
.uw .route-display-heading{margin-top:28px}
.uw .route-display-heading h4{margin-bottom:4px}
.uw .route-display-heading p{margin-top:0}
.uw .route-display-scroll{margin-top:16px;border-radius:12px}
.uw .route-template-display{min-width:890px;table-layout:fixed;background:var(--white);font-size:14px}
.uw .route-template-display th{font-weight:700;padding:16px;white-space:normal}
.uw .route-template-display th:nth-child(1){width:160px}
.uw .route-template-display th:nth-child(2){width:200px}
.uw .route-template-display th:nth-child(3){width:110px}
.uw .route-template-display th:nth-child(4){width:150px}
.uw .route-template-display th:nth-child(5){width:140px}
.uw .route-template-display th:nth-child(6){width:130px}
.uw .route-template-display td{padding:20px 16px;min-width:0!important;max-width:none;white-space:normal;border-color:var(--uw-border);line-height:1.5}
.uw .route-template-display .route-day-divider th{width:auto;background:#eaf7fc;color:var(--uw-ink);padding:14px 16px;border-top:1px solid var(--uw-border)}
.uw .route-day-count{margin-left:14px;font-size:12px;font-weight:400;color:var(--uw-muted)}
.uw .route-stop-row:hover{background:#f8fcfd}
.uw .route-time-range{display:flex;align-items:center;gap:6px}
.uw .route-time-range small{display:block;white-space:nowrap;color:var(--uw-muted);font-size:11px;margin-bottom:3px}
.uw .route-time-range strong{font-size:15px;font-variant-numeric:tabular-nums}
.uw .route-duration{display:inline-block;margin-top:10px;font-size:12px;color:var(--uw-muted)}
.uw .route-activity-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#ecf6fb;font-size:12px;font-weight:600}
.uw .route-activity-pill[data-activity-type=Meal]{background:#fff4e6}
.uw .route-activity-pill[data-activity-type=Accommodation]{background:#eef6ee}
.uw .route-activity-pill[data-activity-type=Flight]{background:#f0effb}
.uw .route-stop-description{margin:10px 0 0;font-weight:600;white-space:pre-wrap}
.uw .route-price{font-weight:600}
.uw .route-practical{display:block;margin:0}
.uw .route-practical dt{font-size:11px;color:var(--uw-muted);font-weight:400;margin:0 0 2px}
.uw .route-practical dd{margin:0 0 12px;white-space:pre-wrap}
.uw .route-practical dd:last-child{margin-bottom:0}
.uw .route-booking-link{display:inline-flex;border:1px solid var(--uw-border);border-radius:8px;padding:7px 10px;color:var(--uw-ink);font-size:12px;text-decoration:none;font-weight:600}
.uw .route-booking-link:hover{background:#eaf7fc}
.uw .route-link-text,.uw .route-remarks{white-space:pre-wrap!important;color:var(--uw-muted)}

.uw .route-link-list{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.uw .route-booking-link{max-width:100%;overflow-wrap:anywhere}

.uw .route-photo-reference{margin:14px 0 0;max-width:100%}
.uw .route-photo-reference img{display:block;width:100%;height:125px;object-fit:cover;border-radius:10px;border:1px solid var(--uw-border)}
.uw .route-photo-reference figcaption{margin-top:7px;font-size:10px;line-height:1.4;color:var(--uw-muted);overflow-wrap:anywhere}
.uw .route-photo-reference figcaption a{color:var(--uw-muted);text-decoration:underline}
.uw .route-photo-reference[hidden]{display:none}

.uw .route-template-editor [data-route-field=duration]{background:#eef7fb!important;border-style:dashed;color:var(--uw-muted);cursor:default}

.uw .route-editor-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}.uw .route-editor-links:empty{display:none}

.uw .route-photo-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.uw .route-photo-controls .text-button{font-size:11px;padding:6px 8px;border:1px solid var(--uw-border);border-radius:8px;background:var(--uw-surface,#fff);white-space:normal;text-align:left}
.uw .route-photo-controls .text-button:hover{background:var(--uw-soft,#eef8fb)}
.uw .route-photo-controls [hidden]{display:none}
.uw .route-photo-help,.uw .route-photo-status{font-size:10px;line-height:1.5;color:var(--uw-muted);margin:7px 0 0}
.uw .route-photo-status:empty{display:none}

.uw .itinerary-confirmation-remarks{padding-left:20px;margin:12px 0 20px;line-height:1.6}
.uw .itinerary-confirmation-remarks li+li{margin-top:8px}
.uw .itinerary-confirmation-portion [data-approval-status]:empty{display:none}

.uw .itinerary-confirmation-graphic{display:block;margin:0 0 20px;color:var(--uw-ink,#112236)}
.uw .itinerary-confirmation-portion{border-radius:24px}
.uw .trip-destination-scope{grid-column:1/-1;margin:6px 0 0;font-size:13px;line-height:1.6}
.uw .explore-filters input[readonly]{background:#f4f7fb;color:var(--uw-ink,#112236);cursor:default}
.uw .planner-trip-match{font-size:12px;line-height:1.6;color:var(--uw-muted);border-top:1px solid var(--uw-border);padding-top:14px;margin-top:18px}
@media(min-width:1000px){.uw .inline-local-selection .selection-results{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Compact trip brief: scan essentials first, keep every planning detail readable. */
.uw .planning-notes-card{padding:26px;min-width:0;align-self:start}
.uw .planning-notes-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.uw .planning-notes-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#eaf8fb;border-radius:14px;color:#112236;flex-shrink:0}
.uw .planning-notes-heading .eyebrow{font-size:9px;letter-spacing:1.4px;margin:0 0 4px;color:var(--uw-muted)}
.uw .planning-notes-heading h2{font-size:25px;letter-spacing:-.7px;margin:0;line-height:1.2}
.uw .planning-notes-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin:0 0 20px;padding:0}
.uw .planning-notes-facts>div{min-width:0}
.uw .planning-notes-facts dt{font-size:11px;color:var(--uw-muted);margin:0 0 5px;line-height:1.5}
.uw .planning-notes-facts dd{font-size:13px;font-weight:600;margin:0;line-height:1.5;overflow-wrap:anywhere}
.uw .planning-notes-preferences{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr) minmax(0,1fr);gap:16px;border-top:1px solid var(--uw-border);padding-top:18px;margin-bottom:20px}
.uw .planning-note-preference h4{font-size:12px;margin:0 0 9px}
.uw .planning-notes-card .profile-tags{gap:6px}
.uw .planning-notes-card .profile-tags span{padding:5px 9px;font-size:11px;border-color:#e0e8ef;background:#f6f9fc}
.uw .planning-notes-personal h3{font-size:14px;letter-spacing:0;margin:0 0 12px}
.uw .planning-notes-personal dl{margin:0;display:grid;gap:8px}
.uw .planning-notes-personal dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:10px 12px;border-radius:10px;background:#f6f8fb;align-items:baseline}
.uw .planning-notes-personal dt{font-size:11px;font-weight:600;color:var(--uw-muted);margin:0;line-height:1.6}
.uw .planning-notes-personal dd{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.uw .planning-notes-personal .planning-note-food{background:#fff8ed}
@media(max-width:650px){.uw .planning-notes-card{padding:20px}.uw .planning-notes-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.uw .planning-notes-personal dl>div{grid-template-columns:1fr;gap:4px}.uw .planning-notes-preferences{grid-template-columns:1fr}}

.uw .planning-notes-trip-meta{margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--uw-border)}
.uw .planning-notes-route{font-size:16px;font-weight:650;line-height:1.5;margin:0 0 12px}
.uw .planning-notes-trip-meta .trip-facts{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.uw .planning-notes-trip-meta .trip-facts>span{font-size:11px;padding:5px 9px;background:#f6f9fc;line-height:1.5}
.uw .planning-note-pace{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.5;margin:10px 0 0}
.uw .planning-note-pace>span{color:var(--uw-muted)}
.uw .planning-note-pace strong{font-weight:600}

.uw .planning-notes-heading>div:not(.planning-notes-planning-budget){min-width:0;flex:1}
.uw .planning-notes-planning-budget{margin-left:auto;flex-shrink:0;padding:10px 14px;border:1px solid #cdeaf3;border-radius:12px;background:#eefaff;text-align:right}
.uw .planning-notes-planning-budget h4{font-size:10px;color:var(--uw-muted);font-weight:600;margin:0 0 4px}
.uw .planning-notes-planning-budget p{font-size:11px;line-height:1.4;margin:0}
.uw .planning-notes-planning-budget strong{font-size:22px;letter-spacing:-.5px}
.uw .planning-notes-planning-budget p span{color:var(--uw-muted);white-space:nowrap}
.uw .planning-note-value{font-size:13px;font-weight:600;line-height:1.5;margin:0}
@media(max-width:650px){.uw .planning-notes-heading{flex-wrap:wrap;gap:10px}.uw .planning-notes-heading>div:not(.planning-notes-planning-budget){flex:1 1 150px}.uw .planning-notes-heading h2{font-size:22px}.uw .planning-notes-planning-budget{padding:9px 12px}.uw .planning-notes-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}.uw .planning-notes-preferences>.planning-note-preference:first-child{grid-column:1/-1}}

.uw .planning-note-travel-budget small{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:var(--uw-muted);font-weight:400}

.uw .planning-notes-preferences:has(.planning-note-travel-budget){grid-template-columns:minmax(0,1.2fr) minmax(0,.55fr) minmax(0,.8fr) minmax(0,1.25fr)}
@media(max-width:650px){.uw .planning-notes-preferences:has(.planning-note-travel-budget){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Discovery briefs use the same visual hierarchy at a card-friendly width. */
.uw .itinerary-request-card .request-card-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
.uw .itinerary-request-card .request-card-heading h2{font-size:22px;overflow-wrap:anywhere}
.uw .itinerary-request-card .planning-notes-planning-budget{padding:9px 12px}
.uw .itinerary-request-card .planning-notes-planning-budget strong{font-size:20px}
.uw .itinerary-request-card .planning-notes-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.uw .itinerary-request-card .planning-notes-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}
.uw .itinerary-request-card .planning-notes-preferences>.planning-note-preference:first-child{grid-column:auto}
.uw .itinerary-request-card .profile-tags{display:flex;flex-wrap:wrap;gap:6px}
.uw .itinerary-request-card .public-trip-details{margin-bottom:0}
.uw .itinerary-request-card .public-trip-details summary{font-size:13px}
.uw .itinerary-request-card .public-trip-details dt{font-size:11px}
.uw .itinerary-request-card .public-trip-details dd{font-size:13px}

.uw .request-card-more{margin-top:20px;padding-top:16px;border-top:1px solid var(--uw-border)}
.uw .request-card-more>button{font-size:13px;font-weight:600;color:var(--uw-ink);padding:0}
.uw.trip-notes-popup-open{overflow:hidden}
.uw .trip-notes-popup{width:min(900px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;padding:0;border:1px solid var(--uw-border);border-radius:24px;color:var(--uw-ink);background:#fff;box-shadow:0 24px 80px #11223640}
.uw .trip-notes-popup::backdrop{background:#112236a6;backdrop-filter:blur(3px)}
.uw .trip-notes-popup-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 26px;border-bottom:1px solid var(--uw-border);background:#f5fbff;position:sticky;top:0;z-index:1}
.uw .trip-notes-popup-toolbar>strong{font-size:13px}
.uw .trip-notes-popup .planning-notes-card{border:0;margin:0;box-shadow:none}
@media(max-width:650px){.uw .trip-notes-popup-toolbar{padding:12px 20px}.uw .trip-notes-popup .planning-notes-heading{flex-wrap:wrap}.uw .trip-notes-popup .planning-notes-heading h2{font-size:22px}}

.uw .travel-budget-cards .travel-budget-icon{font-size:28px!important;line-height:1.2!important}
.uw .travel-budget-cards .accommodation-card input{position:absolute;top:16px;right:16px}
.uw .travel-budget-cards .accommodation-card{padding:22px 18px;gap:14px}

.uw .post-payment-planning{max-width:1000px;margin-inline:auto}
.uw .post-payment-planning>h2{font-size:24px;margin-top:32px}
.uw .post-payment-planning>h2:first-child{margin-top:0}
.uw .post-payment-planning>label,.uw .post-payment-edit>label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px}
.uw .post-payment-planning .planning-notes-card{margin:18px 0;background:#fff}
.uw .post-payment-edit{padding:18px;border:1px solid var(--uw-border);border-radius:12px}
.uw .post-payment-edit summary{cursor:pointer;font-weight:600}
.uw .planning-confirm-note{background:#eefaff;padding:20px 24px;border-radius:14px;margin:24px 0}
.uw .planning-confirm-note h3{font-size:18px;margin:0 0 10px}
.uw .planning-confirm-note ul{padding-left:20px;font-size:14px;line-height:1.8}

.uw .post-payment-planning .accommodation-card{display:flex;flex-direction:row;align-items:center;gap:12px}
.uw .post-payment-planning .accommodation-card strong{font-size:16px}

.uw .post-payment-extra-notes{border-top:1px solid var(--uw-border);padding-top:22px;margin-top:26px}
.uw .post-payment-extra-notes h2{font-size:24px;margin:0 0 18px}
.uw .post-payment-extra-notes label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.uw .post-payment-extra-notes p{font-size:13px;line-height:1.6}

.uw .planning-choice-tags{display:flex;flex-wrap:wrap;gap:6px}
.uw .planning-choice-tags span{font-size:11px;font-weight:500;padding:5px 9px;background:#f6f9fc;border:1px solid #e0e8ef;border-radius:6px;line-height:1.5;overflow-wrap:anywhere}
.uw .request-card-transport{border-top:1px solid var(--uw-border);padding-top:16px;margin-top:18px}
.uw .request-card-transport h4{font-size:12px;margin:0 0 10px}

/* Keep the trip title close to its planning brief. */
.uw .account-head.trip-request-head{padding-bottom:18px}
.uw .trip-request-head h1{margin-bottom:0}
.uw .trip-request-head+.trip-detail{margin-top:0}

.uw .popular-destinations-hint{font-size:12px;color:var(--uw-muted);margin:4px 12px 12px;line-height:1.5}
.uw .question-keyword{color:var(--uw-ink)}
.uw .age-choice-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}
.uw .age-choice-card{background:#fff;transition:border-color .15s,background .15s;padding:14px}
.uw .age-count{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--uw-border)}
.uw .age-count input{width:72px;min-width:64px;margin:0;text-align:center;padding:8px}
.uw .age-selection-total{padding:10px 14px;border-radius:8px;background:#f6f9fc;margin:16px 0 0}
.uw .trip-review{background:transparent;padding:0;margin-top:20px}
.uw .trip-review-card{padding:24px;border:1px solid var(--uw-border);border-radius:12px;background:#fff}
.uw .trip-review-card .planning-notes-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.uw .trip-review-card .planning-notes-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}
.uw .publish-reminder{padding:14px 16px;background:#f6f9fc;border-radius:8px}
@media(max-width:699.98px){.uw .age-choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.uw .trip-review-card{padding:16px}.uw .trip-review-card .planning-notes-personal dl>div{grid-template-columns:1fr}}
@media(max-width:420px){.uw .age-choice-cards{grid-template-columns:1fr}}
.uw .onboarding-main [data-traveler-ages]{display:block}
.uw .onboarding-main .trip-review{display:block}
.uw .trip-review-card dl{background:transparent;border:0;padding:0;border-radius:0}
.uw .trip-review-card .planning-notes-facts dt{margin:0 0 4px}
.uw .trip-review-card .planning-notes-facts dd{white-space:normal}

.uw .destination-label{font-size:12px;font-weight:500;color:var(--uw-muted)}
.uw .request-posted-time{display:block;font-size:11px;color:var(--uw-muted);margin:-4px 0 12px;line-height:1.5}

.uw .planning-notes-heading>div.request-budget-column{flex:0 0 auto;margin-left:auto;text-align:right}
.uw .request-budget-column .request-posted-time{margin:0 0 7px;font-size:11px}
.uw .request-budget-column .planning-notes-planning-budget{margin-left:0}

/* Keep route request essentials compact, with transport beneath pace. */
.uw .planning-notes-preferences.request-card-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}
.uw .request-card-preferences>.planning-note-preference:first-child{grid-column:1;grid-row:1}
.uw .request-card-preferences>.request-card-mobility{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:16px;min-width:0}
.uw .request-card-preferences>.planning-note-travel-budget{grid-column:1;grid-row:2}
.uw .request-card-mobility>.request-card-transport{border:0;padding:0;margin:0}
.uw .request-card-preferences>.planning-note-preference:last-child{grid-column:2;grid-row:2}

.uw .request-card-essentials{display:flex;align-items:center;justify-content:space-between;gap:14px}
.uw .request-card-essentials>.trip-facts{flex:1;min-width:0;justify-content:flex-start}
.uw .request-card-essentials>.request-budget-column{flex:0 0 auto;text-align:right}
.uw .request-card-essentials .planning-notes-planning-budget{margin-left:0}
@media(max-width:380px){.uw .request-card-essentials{gap:10px}.uw .request-card-essentials .planning-notes-planning-budget{padding:9px}.uw .request-card-essentials .request-posted-time{max-width:125px}}

/* Request browsing uses the available screen width with comfortable gutters. */
.uw main:has(.itinerary-directory){max-width:none;width:100%}
.uw main:has(.itinerary-directory)>.itinerary-directory{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(16px,2.5vw,48px);gap:24px}
.uw main:has(.itinerary-directory)>.explore-filters{max-width:none;width:calc(100% - clamp(32px,5vw,96px));margin-inline:auto}
.uw main:has(.itinerary-directory)>.form-head,.uw main:has(.itinerary-directory)>.account-head{max-width:none;padding-inline:clamp(16px,2.5vw,48px)}
@media(min-width:1100px){.uw .itinerary-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Popup briefs share their width evenly instead of inheriting four narrow columns. */
.uw .trip-notes-popup .planning-notes-card{padding:20px 26px}
.uw .trip-notes-popup .planning-notes-heading{margin-bottom:14px}
.uw .trip-notes-popup .planning-notes-trip-meta{margin-bottom:16px;padding-bottom:14px}
.uw .trip-notes-popup .planning-notes-route{margin-bottom:8px}
.uw .trip-notes-popup .planning-notes-facts{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1.2fr);gap:14px;margin-bottom:16px}
.uw .trip-notes-popup .request-card-preferences{gap:14px 24px;padding-top:14px;margin-bottom:16px}
.uw .trip-notes-popup .profile-tags{display:flex;flex-wrap:wrap;gap:6px}
.uw .trip-notes-popup .request-card-mobility{gap:14px}
.uw .trip-notes-popup .planning-note-preference h4{margin-bottom:7px}
@media(max-width:700px){.uw .trip-notes-popup .planning-notes-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.uw .trip-notes-popup .planning-notes-card{padding:18px 20px}.uw .trip-notes-popup .request-card-preferences{gap:14px}}

/* Dense briefs adapt their columns to the space available inside each card. */
.uw .itinerary-request-card{container-type:inline-size;padding:20px}
.uw .itinerary-request-card .planning-notes-heading{margin-bottom:12px}
.uw .itinerary-request-card .planning-notes-trip-meta{margin-bottom:14px;padding-bottom:12px}
.uw .itinerary-request-card .planning-notes-route{margin-bottom:8px}
.uw .itinerary-request-card .planning-notes-facts{gap:10px 14px;margin-bottom:14px}
.uw .itinerary-request-card .request-card-preferences{gap:12px;padding-top:12px;margin-bottom:0}
.uw .itinerary-request-card .planning-note-preference h4{margin-bottom:6px}
.uw .itinerary-request-card .request-card-mobility{gap:12px}
.uw .itinerary-request-card .request-card-more{margin-top:14px;padding-top:12px}
@container(min-width:480px){
 .uw .itinerary-request-card .planning-notes-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
 .uw .itinerary-request-card .request-card-preferences{grid-template-columns:repeat(3,minmax(0,1fr))}
 .uw .itinerary-request-card .request-card-mobility{display:contents}
 .uw .itinerary-request-card .request-card-preferences>.planning-note-preference:first-child{grid-column:1 / span 2;grid-row:1}
 .uw .itinerary-request-card .request-card-mobility>.planning-note-preference:first-child{grid-column:3;grid-row:1}
 .uw .itinerary-request-card .request-card-transport{grid-column:3;grid-row:2}
 .uw .itinerary-request-card .request-card-preferences>.planning-note-travel-budget{grid-column:1;grid-row:2}
 .uw .itinerary-request-card .request-card-preferences>.planning-note-preference:last-child{grid-column:2;grid-row:2}
}
.uw .trip-notes-popup{width:min(1100px,calc(100vw - 32px))}
.uw .trip-notes-popup .planning-notes-personal dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.uw .trip-notes-popup .planning-notes-personal dl>div{grid-template-columns:120px minmax(0,1fr);padding:8px 10px;gap:8px}
@media(min-width:850px){
 .uw .trip-notes-popup .planning-notes-preferences.request-card-preferences{grid-template-columns:minmax(0,1.6fr) minmax(0,1.5fr) minmax(0,.9fr) minmax(0,.9fr);gap:12px 20px}
 .uw .trip-notes-popup .request-card-preferences>.request-card-mobility{grid-column:2;grid-row:1 / span 2}
 .uw .trip-notes-popup .request-card-preferences>.planning-note-travel-budget{grid-column:3;grid-row:1}
 .uw .trip-notes-popup .request-card-preferences>.planning-note-preference:last-child{grid-column:4;grid-row:1}
}
@media(max-width:700px){.uw .trip-notes-popup .planning-notes-personal dl{grid-template-columns:1fr}}
@media(min-width:700px){
 .uw .trip-notes-popup .planning-notes-trip-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center}
 .uw .trip-notes-popup .planning-notes-route{grid-column:1;grid-row:1;margin:0;align-self:end}
 .uw .trip-notes-popup .request-card-essentials{display:contents}
 .uw .trip-notes-popup .request-card-essentials>.trip-facts{grid-column:1;grid-row:2;align-self:start}
 .uw .trip-notes-popup .request-card-essentials>.request-budget-column{grid-column:2;grid-row:1 / span 2}
}

.uw .request-age-groups{display:flex;flex-wrap:wrap;gap:6px}
.uw .request-age-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px 6px;padding:5px 8px;border:1px solid #dce8ef;border-radius:8px;background:#f6f9fc;line-height:1.4}
.uw .request-age-group b{font-size:11px;font-weight:600;white-space:nowrap}
.uw .request-age-group small{font-size:10px;font-weight:400;color:var(--uw-muted);white-space:nowrap}

/* A compact title and top-right offer leave more room for the brief. */
.uw .itinerary-request-card .request-card-heading h2,.uw .trip-notes-popup .request-card-heading h2{font-size:19px;line-height:1.3;letter-spacing:-.35px}
.uw .trip-notes-popup .request-card-heading{align-items:flex-start;gap:16px}
.uw .request-card-heading>.request-budget-column{margin-left:auto;text-align:right;flex:0 0 auto}
.uw .trip-notes-popup .planning-notes-trip-meta{display:block}
.uw .trip-notes-popup .planning-notes-route{margin-bottom:8px}
.uw .trip-notes-popup .request-card-essentials{display:flex}
@media(min-width:700px){
 .uw .trip-notes-popup .planning-notes-card{position:relative}
 .uw .trip-notes-popup .request-card-heading{padding-right:175px}
 .uw .trip-notes-popup .request-card-heading>.request-budget-column{position:absolute;top:20px;right:26px}
 .uw .trip-notes-popup .planning-notes-trip-meta{padding-right:175px}
}
/* Let destination follow the title without inheriting the offer's height. */
.uw .itinerary-request-card{position:relative}
.uw .itinerary-request-card .request-card-heading{padding-right:165px;margin-bottom:8px}
.uw .itinerary-request-card .request-card-heading>.request-budget-column{position:absolute;top:20px;right:20px}
.uw .itinerary-request-card .planning-notes-trip-meta{padding-right:165px;min-height:65px}
.uw .trip-notes-popup .request-card-heading{margin-bottom:8px}
@media(max-width:420px){
 .uw .itinerary-request-card .request-card-heading{padding-right:140px}
 .uw .itinerary-request-card .planning-notes-trip-meta{padding-right:0}
 .uw .itinerary-request-card .planning-notes-route{padding-right:140px}
 .uw .itinerary-request-card .request-card-heading>.request-budget-column{max-width:135px}
}
/* Trip detail tags use the full row once clear of the top-right offer. */
.uw .itinerary-request-card .planning-notes-trip-meta{padding-right:0;min-height:0}
.uw .itinerary-request-card .planning-notes-route{padding-right:165px}
.uw .itinerary-request-card .request-card-essentials{min-height:0}
.uw .itinerary-request-card .planning-notes-heading{min-height:42px}
.uw .itinerary-request-card .trip-facts{position:relative;clear:both}
@media(max-width:420px){.uw .itinerary-request-card .planning-notes-route{padding-right:140px}}
.uw .itinerary-request-card .planning-notes-route{min-height:36px}
