:root{
  --travel-red:#d97b82;
  --travel-red-soft:#e7a3a8;
  --travel-red-deep:#9d5058;
  --travel-panel:rgba(72,20,28,.28);
  --travel-line:rgba(255,255,255,.24);
}

html,body{background:#3c78d8}
.hank-blue-page.travel-shell{
  background-color:#d97b82;
  background-image:linear-gradient(
    180deg,
    #3c78d8 0%,
    #3c78d8 38%,
    #5579c9 50%,
    #7a79b0 62%,
    #a47a99 74%,
    #c27a8d 86%,
    #d97b82 100%
  );
  background-size:100% 184vh;
  background-repeat:no-repeat;
  background-position:top center;
}

.travel-brand{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:22px}
.travel-logo{flex:0 0 auto;margin-bottom:0}
.travel-logo img{flex:0 0 auto}
.travel-wordmark{
  position:relative;
  z-index:2;
  margin-top:-78px;
  margin-inline:auto;
  color:var(--travel-red);
  font-size:clamp(56px,4.6vw,76px);
  font-weight:760;
  letter-spacing:.10em;
  line-height:1;
  text-transform:uppercase;
  text-shadow:-12px 0 22px rgba(217,123,130,.24),0 2px 9px rgba(0,0,0,.28);
}
.travel-wordmark::before{
  content:"";
  position:absolute;
  right:calc(100% + 18px);
  top:50%;
  width:148px;
  height:26px;
  opacity:.65;
  transform:translateY(-50%) skewX(-24deg);
  background:
    linear-gradient(currentColor,currentColor) right 1px/100% 2px no-repeat,
    linear-gradient(currentColor,currentColor) right 10px/76% 2px no-repeat,
    linear-gradient(currentColor,currentColor) right 19px/48% 2px no-repeat;
}
.travel-shell:has(.travel-today) .hank-question,
.travel-shell:has(.hank-auth-panel) .hank-question{display:none!important}

#tiles{width:min(1280px,92vw);margin-inline:auto}
#tiles:focus{outline:none}
.travel-page{width:100%;display:flex;flex-direction:column;gap:18px;padding-bottom:84px}
.travel-top-actions,.travel-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.travel-top-actions{justify-content:flex-end;width:100%}
.travel-top-actions .hank-button{min-width:132px}
.travel-alert{width:100%;border:2px solid rgba(255,228,189,.85);background:rgba(77,35,9,.56);border-radius:16px;padding:14px 18px;box-sizing:border-box;display:flex;gap:12px;align-items:center}
.travel-alert[hidden]{display:none!important}
.travel-alert strong{color:#ffe7b5}
.travel-today{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;width:100%;align-items:stretch}
.travel-day-panel{border:2px solid var(--travel-line);background:rgba(73,20,28,.26);border-radius:18px;padding:26px;box-sizing:border-box;min-height:440px;backdrop-filter:blur(2px)}
.travel-calendar-panel{min-height:560px}
.travel-day-panel h2,.travel-section h2{font-weight:500;margin:0 0 20px;letter-spacing:.01em}
.travel-empty-copy{opacity:.82;max-width:58ch;line-height:1.58}

.travel-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.travel-calendar-date-wrap{display:grid;gap:4px}
.travel-calendar-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.travel-calendar-date{font-size:24px;font-weight:620;letter-spacing:.01em}
.travel-calendar-nav{display:flex;gap:8px;align-items:center}
.travel-calendar-nav .hank-button{min-width:46px;padding-inline:0}
.travel-calendar-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:18px}
.travel-calendar-day{border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(84,28,37,.18);color:#fff;padding:10px 8px;cursor:pointer;display:grid;gap:3px;justify-items:center;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.travel-calendar-day:hover,.travel-calendar-day:focus-visible{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.travel-calendar-day strong{font-size:13px;letter-spacing:.02em}
.travel-calendar-day span{font-size:20px;font-weight:650;line-height:1}
.travel-calendar-day small{font-size:11px;opacity:.7;text-transform:uppercase;letter-spacing:.08em}
.travel-calendar-day.today{border-color:rgba(255,255,255,.42)}
.travel-calendar-day.active{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.38);box-shadow:0 10px 26px rgba(0,0,0,.14)}
.travel-calendar-list{display:flex;flex-direction:column;gap:14px;max-height:330px;overflow:auto;padding-right:6px}
.travel-calendar-event{display:grid;grid-template-columns:84px 1fr;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(79,25,33,.24)}
.travel-calendar-event time{font-size:18px;font-weight:650;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.travel-calendar-event strong{display:block;margin-bottom:4px}
.travel-calendar-empty{border:1px dashed rgba(255,255,255,.24);border-radius:14px;padding:18px;opacity:.86;background:rgba(76,26,34,.14)}

.travel-weather{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:18px;padding-inline:28px;text-align:center}
.travel-weather-top{width:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:6px}
.travel-weather-temp{font-size:clamp(66px,7vw,96px);line-height:.88;font-weight:320;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.travel-weather-middle{margin-top:auto;margin-bottom:auto;display:grid;gap:10px;justify-items:center}
.travel-weather-condition{font-size:clamp(28px,2.8vw,38px);line-height:1.05;font-weight:520;letter-spacing:-.015em}
.travel-weather-meta{font-size:15px;line-height:1.55;opacity:.86;max-width:28ch}
.travel-weather-source{font-size:12px;line-height:1.45;letter-spacing:.015em;opacity:.62;width:100%;padding-bottom:4px}

.travel-service-stage{width:100%;border-radius:20px;background:rgba(111,41,51,.22);border:1px solid rgba(255,255,255,.16);box-sizing:border-box;backdrop-filter:blur(2px)}
.travel-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}
.travel-service-card{min-height:172px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(89,29,38,.28);color:#fff4f4;padding:18px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}
.travel-service-card h3{margin:0;font-size:20px}
.travel-service-card p{margin:0;opacity:.84;line-height:1.45}
.travel-service-choice{display:grid;gap:3px;margin-top:2px;font-size:13px;opacity:.9}
.travel-service-choice strong{font-size:14px}
.travel-service-card .travel-toolbar{margin-top:auto}
.travel-status{display:inline-flex;align-self:flex-start;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:4px 9px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.travel-status.connected{background:rgba(34,108,71,.55)}
.travel-status.setup{background:rgba(111,83,18,.55)}
.travel-section{width:100%;border:2px solid var(--travel-line);background:rgba(82,26,35,.24);border-radius:18px;padding:20px;box-sizing:border-box;backdrop-filter:blur(2px)}
.travel-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.travel-connection-card{border:1px solid rgba(255,255,255,.22);background:rgba(70,21,29,.22);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.travel-connection-card h2{font-size:20px;margin:0}
.travel-connection-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}
.travel-connection-card p{margin:0;line-height:1.45}
.travel-connection-picker{display:grid;gap:10px}
.travel-provider-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.travel-provider-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.travel-provider-chip{border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:8px 12px;cursor:pointer;font:inherit;line-height:1.1}
.travel-provider-chip:hover,.travel-provider-chip:focus-visible{background:rgba(255,255,255,.14)}
.travel-provider-chip.selected{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.38);box-shadow:0 8px 20px rgba(0,0,0,.14)}
.travel-selected-provider{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}
.travel-selected-provider strong{font-size:16px}

.travel-discovery{display:grid;gap:18px}
.travel-discovery-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.travel-discovery-heading h2{margin-bottom:7px}
.travel-discovery-heading p{margin:0;max-width:72ch;line-height:1.5}
.travel-discovery-badge{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:999px;padding:7px 11px;font-size:12px;letter-spacing:.04em;white-space:nowrap}
.travel-connection-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
.travel-connection-search input{min-height:50px;padding:11px 14px;border:1px solid #111;border-radius:11px;background:#fff;color:#111;font:inherit;box-sizing:border-box}
.travel-discovery-hint{margin:0}
.travel-discovery-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.travel-discovery-result,.travel-custom-service{border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(68,21,29,.18);padding:15px;display:flex;flex-direction:column;gap:10px}
.travel-discovery-result>div:first-child{display:grid;gap:2px}
.travel-discovery-result>div:first-child strong{font-size:18px}
.travel-discovery-result>div:first-child span{font-size:12px;opacity:.68;text-transform:uppercase;letter-spacing:.08em}
.travel-discovery-result p,.travel-custom-service p{margin:0;line-height:1.45;opacity:.86}
.travel-discovery-result .travel-toolbar,.travel-custom-service .travel-toolbar{margin-top:auto}
.travel-discovery-empty{border:1px dashed rgba(255,255,255,.24);border-radius:14px;padding:16px;line-height:1.5}
.travel-discovery-actions{display:flex;gap:10px;flex-wrap:wrap}
.travel-custom-form{display:grid;gap:14px;border-top:1px solid rgba(255,255,255,.15);padding-top:18px}
.travel-custom-form h3{margin:0;font-size:21px;font-weight:560}
.travel-custom-form p{margin:0;line-height:1.45}
.travel-custom-form-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:12px}
.travel-custom-form label{display:grid;gap:6px;font-size:13px}
.travel-custom-form input,.travel-custom-form select{min-height:45px;padding:9px 11px;border:1px solid #111;border-radius:10px;background:#fff;color:#111;font:inherit;box-sizing:border-box;width:100%}
.travel-custom-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.travel-custom-service h3{margin:0;font-size:19px}

.travel-muted{opacity:.72}
.travel-form{display:grid;gap:14px}
.travel-form label{display:grid;gap:7px}
.travel-form input,.travel-form select,.travel-form textarea,.travel-search-row input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #111;border-radius:10px;box-sizing:border-box;background:#fff;color:#111;font:inherit}
.travel-form textarea{min-height:100px;resize:vertical}
.travel-map-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}
.travel-map-controls{display:flex;flex-direction:column;gap:14px}
.travel-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.travel-search-results{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}
.travel-place-result{width:100%;text-align:left;min-height:54px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(0,0,0,.13);color:#fff;padding:9px 11px;cursor:pointer}
.travel-place-result:hover,.travel-place-result:focus-visible{background:rgba(255,255,255,.12)}
.travel-map-shell{position:relative;min-height:560px;overflow:hidden;border-radius:18px;background:#111;border:1px solid rgba(255,255,255,.2)}
.travel-map-tiles{position:absolute;inset:0;overflow:hidden}
.travel-map-tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}
.travel-map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.travel-map-route{fill:none;stroke:#3c78d8;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #000)}
.travel-map-marker{fill:#fff;stroke:#111;stroke-width:4}
.travel-map-marker.destination{fill:#ffcb57}
.travel-map-attribution{position:absolute;right:8px;bottom:7px;background:#ffffffdc;color:#111;padding:4px 7px;border-radius:6px;font-size:11px}
.travel-map-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.travel-map-summary>div{background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px}
.travel-map-summary strong{display:block;font-size:20px}
.travel-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.travel-trip-card{border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:16px;background:rgba(68,21,29,.2)}
.travel-trip-card h3{margin-top:0}
.travel-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.travel-kv{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px}
.travel-kv strong{display:block;font-size:13px;opacity:.7;margin-bottom:5px}

.travel-agent-source{margin:0;opacity:.78;line-height:1.5}
.travel-agent-page{width:100%;display:flex;flex-direction:column;gap:24px}
.travel-agent-category{width:100%;border:2px solid var(--travel-line);background:rgba(80,24,33,.24);border-radius:18px;padding:26px;box-sizing:border-box;backdrop-filter:blur(2px)}
.travel-canonical-agent-block .hank-agent-page{width:100%;margin:0;padding:0}
.travel-canonical-agent-block .hank-agent-section{width:100%;margin:0;padding:0}
.travel-canonical-agent-block .hank-agent-section h2{margin:0 0 20px;font-size:26px;font-weight:500;text-align:left}
.travel-canonical-agent-block .hank-assistant-row{margin-top:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:start}
.travel-canonical-agent-block .hank-tile{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center}
.travel-canonical-agent-block .hank-tile-box{width:min(100%,220px);height:auto;aspect-ratio:1/1;max-width:220px;margin-inline:auto;background:rgba(255,255,255,.14)}
.travel-canonical-agent-block .hank-tile-label{font-size:20px;line-height:1.25}
.travel-canonical-agent-block .hank-tile-alias{font-size:14px}
.hank-chat-mode .travel-brand{display:none}

@media(max-width:900px){
  .travel-today,.travel-map-layout{grid-template-columns:1fr}
  .travel-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .travel-connection-grid,.travel-trip-grid,.travel-profile-grid,.travel-discovery-results,.travel-custom-service-grid{grid-template-columns:1fr}
  .travel-custom-form-grid{grid-template-columns:1fr 1fr}
  .travel-map-shell{min-height:480px}
  .travel-canonical-agent-block .hank-assistant-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .travel-brand{margin-bottom:16px}
  .travel-wordmark{margin-top:-50px;font-size:42px;letter-spacing:.09em}
  .travel-wordmark::before{right:calc(100% + 11px);width:68px;height:17px;background:linear-gradient(currentColor,currentColor) right 1px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) right 8px/72% 2px no-repeat,linear-gradient(currentColor,currentColor) right 15px/44% 2px no-repeat}
  .travel-calendar-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .travel-discovery-heading{flex-direction:column}
  .travel-discovery-badge{white-space:normal}
  .travel-connection-search{grid-template-columns:1fr auto}
  .travel-connection-search .hank-button:last-child{grid-column:1/-1}
}
@media(max-width:600px){
  #tiles{width:min(100% - 32px,1280px)}
  .travel-top-actions{justify-content:stretch}
  .travel-top-actions .hank-button{flex:1 1 calc(50% - 8px);min-width:0}
  .travel-service-grid{grid-template-columns:1fr;padding:12px}
  .travel-day-panel,.travel-section,.travel-agent-category{padding:16px}
  .travel-day-panel,.travel-calendar-panel{min-height:430px}
  .travel-weather{padding-inline:18px}
  .travel-map-shell{min-height:420px}
  .travel-search-row,.travel-connection-search,.travel-custom-form-grid{grid-template-columns:1fr}
  .travel-connection-search .hank-button:last-child{grid-column:auto}
  .travel-calendar-event{grid-template-columns:64px 1fr}
  .travel-weather-temp{font-size:72px}
  .travel-weather-condition{font-size:30px}
  .travel-canonical-agent-block .hank-assistant-row{gap:16px}
  .travel-canonical-agent-block .hank-tile-box{max-width:190px}
}
@media(max-width:420px){
  .travel-wordmark{font-size:34px}
  .travel-wordmark::before{width:42px;right:calc(100% + 8px)}
  .travel-canonical-agent-block .hank-assistant-row{grid-template-columns:1fr 1fr}
  .travel-canonical-agent-block .hank-tile-label{font-size:17px}
}
