:root{--ink:#111014;--muted:#64616b;--line:#e6e4eb;--purple:#6825eb;--purple-dark:#4d16bd;--lilac:#f3effc;--soft:#f5f4f7;--serif:Iowan Old Style,Baskerville,"Times New Roman",serif;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:#fff}
*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9c6bff;outline-offset:4px}.page-width{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;z-index:99;padding:14px;background:#fff}.skip:focus{top:12px}
.wordmark{display:inline-flex;align-items:center;min-height:44px;font-size:1.2rem;font-weight:450;letter-spacing:.19em;text-decoration:none}.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:26px;border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:30px;align-self:stretch}.site-header nav a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;text-decoration:none;border-bottom:2px solid transparent;padding:0 4px}.site-header nav a[aria-current]{border-color:var(--purple);color:var(--purple)}.account-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:.875rem;font-weight:600;white-space:nowrap}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:var(--muted);line-height:1.5;margin:0 0 13px}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}h1 em{color:var(--purple);font-weight:400}.hotels-hero{padding:72px 0 38px;max-width:900px}.hotels-hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:.98;letter-spacing:-.055em;margin-bottom:26px}.intro{color:var(--muted);font-size:1.12rem;line-height:1.65;max-width:600px;margin:0}
.search-card{display:grid;grid-template-columns:minmax(230px,2fr) minmax(155px,1.15fr) minmax(155px,1.15fr) minmax(110px,.75fr) auto;align-items:stretch;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 70px rgba(26,17,40,.09);padding:10px}.field{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:10px 16px;border-radius:18px}.field:hover,.field:focus-within{background:var(--soft)}.field+.field{border-left:1px solid var(--line)}.field label,.sort-control label{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.field input,.field select{width:100%;min-width:0;min-height:44px;border:0;background:transparent;padding:0;font-size:1rem;font-weight:600}.field input::placeholder{color:#77727f;font-weight:400;font-size:.88rem}.field input[type=date]{cursor:pointer}.search-button{margin-left:8px;border:0;border-radius:18px;background:var(--purple);color:#fff;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:650;min-height:64px}.search-button:hover,.notice-action:hover{background:var(--purple-dark)}.form-message{min-height:1.4em;margin:14px 6px 0;color:#b3261e;font-size:.85rem}.quick-picks{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 28px}.quick-picks>span{color:var(--muted);font-size:.82rem;margin-right:8px}.quick-picks button{min-height:44px;border:1px solid var(--line);border-radius:99px;padding:0 18px;background:#fff;font-size:.86rem}.quick-picks button:hover{color:var(--purple);border-color:var(--purple)}
.results{padding:22px 0 70px}.results:empty{padding:0 0 60px}.results-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}.results-heading h2{font-size:clamp(2.2rem,4.5vw,3.5rem);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}.results-heading>div>p:last-child{color:var(--muted);line-height:1.6;margin:12px 0 0}.sort-control{display:grid;flex-shrink:0;gap:5px}.sort-control select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}.source-line{color:var(--muted);font-size:.84rem;line-height:1.6;margin:0 0 22px}.stale-warning{border:1px solid #e9d6a4;border-radius:16px;padding:18px 20px;background:#fff8e9;color:#735211;line-height:1.6;font-size:.9rem;margin:0 0 22px}.hotel-list{display:grid;gap:20px}.hotel-card{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}.hotel-card.text-only{grid-template-columns:1fr}.hotel-photo{width:100%;height:100%;min-height:270px;object-fit:cover;background:var(--soft)}.hotel-body{min-width:0;padding:26px 28px;overflow-wrap:anywhere}.stars{font-size:.78rem;color:var(--purple);margin:0 0 8px}.hotel-body h3{font-size:1.8rem;line-height:1.15;letter-spacing:-.025em;margin:0 0 9px}.hotel-location,.hotel-distance{color:var(--muted);font-size:.84rem;line-height:1.5;margin:4px 0}.hotel-distance{font-size:.78rem}.hotel-rate{display:flex;justify-content:space-between;gap:24px;margin-top:22px}.room-details{font-size:.82rem;line-height:1.6;min-width:0}.room-details p{margin:3px 0}.room-name{font-weight:650}.breakfast{color:#217a4e}.hotel-price{display:grid;align-content:start;gap:4px;text-align:right;flex-shrink:0}.hotel-price span{color:var(--muted);font-size:.76rem}.hotel-price strong{font-family:var(--serif);font-size:2rem;font-weight:400;letter-spacing:-.025em}.hotel-charges{list-style:none;padding:14px 0 0;margin:18px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;line-height:1.7}.results-note{color:var(--muted);font-size:.82rem;line-height:1.6;margin:24px 0}.rejected-rates{margin-top:26px;border:1px solid var(--line);border-radius:16px;padding:0 20px;color:var(--muted);font-size:.84rem;line-height:1.6}.rejected-rates summary{min-height:52px;align-content:center;cursor:pointer;padding:14px 0}.rejected-rates>ul{padding-left:20px}.rejected-rates>ul>li{margin-bottom:16px}.rejected-rates strong{color:var(--ink)}.rejected-rates li ul{padding-left:20px}
.loading-line{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.92rem;line-height:1.6;margin:0 0 22px}.pulse{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--purple);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #6825eb18}}.skeleton{display:grid;gap:22px;padding:30px;border:1px solid var(--line);border-radius:24px}.skeleton i{height:20px;border-radius:8px;background:linear-gradient(90deg,var(--soft) 25%,#ebe8f0 50%,var(--soft) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton i:first-child{width:45%;height:30px}.skeleton i:last-child{width:65%}@keyframes shimmer{to{background-position:-200% 0}}.notice,.empty-state{padding:38px;border-radius:24px;background:var(--lilac)}.notice.error{background:#fbf6f4}.notice h2,.empty-state h3{font-size:2rem;line-height:1.2;letter-spacing:-.025em}.notice p,.empty-state p{color:var(--muted);line-height:1.6;max-width:620px;margin:14px 0 0}.notice-action{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:0 24px;border:0;border-radius:99px;background:var(--purple);color:#fff;text-decoration:none;font-weight:650;font-size:.9rem;margin-top:24px}footer{border-top:1px solid var(--line);min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:.8rem;line-height:1.6}footer .wordmark{color:var(--ink)}
@media(max-width:1100px){.search-card{grid-template-columns:1fr 1fr 1fr auto}.where-field{grid-column:1/-1;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}.where-field+.field{border-left:0}.site-header nav{gap:20px}.hotel-card{grid-template-columns:220px minmax(0,1fr)}.hotel-rate{display:grid;gap:16px}.hotel-price{text-align:left}}
@media(max-width:820px){.page-width{width:calc(100% - 38px)}.site-header{min-height:78px;gap:16px}.site-header nav a:first-child{display:none}.site-header nav{gap:14px}.hotel-card{grid-template-columns:190px minmax(0,1fr)}.hotel-body{padding:22px}.search-card{grid-template-columns:1fr 1fr}.search-card .field:nth-child(4){border-left:0;border-top:1px solid var(--line)}.search-button{margin-top:8px}.results-heading{align-items:flex-start}}
@media(max-width:620px){.page-width{width:calc(100% - 32px)}.site-header{gap:12px}.wordmark{font-size:1rem}.site-header nav a{font-size:.82rem}.site-header nav a:nth-child(n+4){display:none}.account-link{padding:0 14px;font-size:.8rem}.hotels-hero{padding:44px 0 28px}.hotels-hero h1{font-size:3.1rem;line-height:1.05}.intro{font-size:1rem}.search-card{grid-template-columns:1fr;padding:8px;border-radius:22px}.search-card .field{border-left:0;border-radius:0;padding:10px 16px}.search-card .field+.field{border-top:1px solid var(--line)}.where-field{grid-column:auto;border-bottom:0}.search-button{margin:6px 0 0;min-height:56px}.quick-picks{gap:6px}.quick-picks>span{width:100%;margin-bottom:4px}.quick-picks button{padding:0 15px}.results-heading{display:block}.sort-control{margin-top:20px;max-width:220px}.hotel-card{grid-template-columns:1fr;border-radius:20px}.hotel-photo{height:210px;min-height:0;object-fit:cover}.hotel-body{padding:22px 20px}.hotel-body h3{font-size:1.7rem}.hotel-price{flex-shrink:1}.hotel-price strong{font-size:1.9rem}.notice,.empty-state{padding:26px}.notice h2,.empty-state h3{font-size:1.7rem}.rejected-rates{padding:0 16px}footer{display:block;padding:24px 0}footer p{margin:12px 0 0}}
@media(prefers-reduced-motion:reduce){.skeleton i,.pulse{animation:none}}
