@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(./cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(./cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}:root{color-scheme:light;--canvas: #faf8f4;--surface: #ffffff;--wash: #f1ece4;--wash-strong: #e7dfd2;--ink: #0e2439;--ink-2: #42556a;--ink-3: #5b6d7f;--on-dark: #f6f3ee;--gold: #856427;--gold-decor: #ac8a4d;--gold-wash: #f7efdd;--line: #cabfad;--line-interactive: #918470;--cta: #12314f;--cta-hover: #0a2135;--alert: #8c3410;--alert-wash: #fbeee7;--focus: #12314f;--font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--font-ui: "Inter Variable", Inter, -apple-system, "Segoe UI", system-ui, sans-serif;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: clamp(1.5rem, 1.15rem + 1.2vw, 2rem);--text-2xl: clamp(2rem, 1.5rem + 2vw, 2.75rem);--text-3xl: clamp(2.375rem, 1.6rem + 3.2vw, 3.75rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(14, 36, 57, .05);--shadow-2: 0 1px 2px rgba(14, 36, 57, .05), 0 8px 24px -14px rgba(14, 36, 57, .22);--shadow-3: 0 2px 4px rgba(14, 36, 57, .05), 0 22px 48px -22px rgba(14, 36, 57, .3)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.6;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5{margin:0;color:var(--ink);text-wrap:balance}h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-3xl);line-height:1.04;letter-spacing:-.015em}h2{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);line-height:1.14;letter-spacing:-.01em;font-variant-numeric:lining-nums}h3{font-size:var(--text-md);font-weight:600;line-height:1.3;letter-spacing:-.006em}h4{font-size:var(--text-base);font-weight:600;line-height:1.35}h5{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;line-height:1.25;font-variant-numeric:lining-nums}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg{display:block;max-width:100%}::selection{background:var(--gold-wash);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.fine-print{font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.search-button,.secondary-button{font-family:inherit;font-size:var(--text-sm);font-weight:600;letter-spacing:.01em;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.search-button{background:var(--cta);color:#fff;border:1px solid var(--cta);box-shadow:var(--shadow-2);padding-inline:var(--space-6)}.search-button:hover{background:var(--cta-hover);border-color:var(--cta-hover);transform:translateY(-1px)}.search-button:active{transform:translateY(0)}.secondary-button{background:var(--surface);color:var(--ink);border:1px solid var(--line-interactive)}.secondary-button:hover:not(:disabled){background:var(--gold-wash);border-color:var(--gold);color:var(--ink)}.secondary-button:disabled{background:var(--wash);color:var(--ink-3);border-color:var(--line-interactive);cursor:not-allowed;box-shadow:none}a{color:var(--cta);text-underline-offset:.18em;text-decoration-thickness:from-font}a:hover{color:var(--cta-hover)}.booking-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--cta);color:#fff;border:1px solid var(--cta);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,transform .18s ease}.booking-link:after{content:"↗";font-size:.9em}.booking-link:hover{background:var(--cta-hover);color:#fff;transform:translateY(-1px)}input,select{font-family:inherit;font-size:var(--text-base);color:var(--ink);background:var(--surface);border:1px solid var(--line-interactive);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);min-height:44px;width:100%;transition:border-color .16s ease,box-shadow .16s ease}input:hover,select:hover{border-color:var(--ink-3)}input:focus,select:focus{border-color:var(--cta);box-shadow:0 0 0 3px #12314f24}label{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.app-shell{width:min(100% - var(--space-6),1180px);margin-inline:auto;padding-block:var(--space-4) var(--space-8)}.site-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:3.5rem}.wordmark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.wordmark span{color:var(--gold)}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);position:relative}.nav-link{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-interactive);padding-bottom:2px;white-space:nowrap}.nav-link:hover{color:var(--gold);border-bottom-color:var(--gold)}.how-it-works{position:relative}.how-it-works>summary{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px}.how-it-works>summary:after{content:"+";font-size:var(--text-md);line-height:1;color:var(--gold)}.how-it-works[open]>summary:after{content:"−"}.how-it-works>p{position:absolute;z-index:20;top:calc(100% + var(--space-2));right:0;width:min(30rem,calc(100vw - var(--space-6)));padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);font-size:var(--text-sm);color:var(--ink-2)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19rem);align-items:end;gap:var(--space-6);padding-block:var(--space-7) var(--space-6);border-bottom:1px solid var(--line)}.hero-copy-block{display:grid;gap:var(--space-3)}.hero h1{max-width:15ch}.hero-copy{font-size:var(--text-md);line-height:1.55;color:var(--ink-2);max-width:46ch}.hero-note{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.hero-aside{display:grid;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold-decor);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.hero-aside span{font-size:var(--text-2xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.hero-aside strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.15;color:var(--ink)}.hero-aside p{font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}.panel-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.panel-heading h2{margin-top:var(--space-1)}.panel-heading h2:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.dataset-details{margin-top:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.dataset-details>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.dataset-details>summary span{font-size:var(--text-xs);font-weight:500;color:var(--ink-3)}.dataset-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--line)}.dataset-detail-grid span{display:grid;gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-2)}.dataset-detail-grid b{font-size:var(--text-2xs);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.status-banner{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--alert-wash);border:1px solid var(--alert);color:var(--alert)}.status-banner-poc{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);background:var(--gold-wash);border-color:var(--gold);color:var(--ink-2)}.status-banner-poc p{margin:0;max-width:84ch;line-height:1.55}.status-banner-poc b{color:var(--ink)}.status-banner-poc a{white-space:nowrap;font-weight:600;display:inline-flex;align-items:center;min-height:24px;padding-block:var(--space-1)}.status-panel{margin-top:var(--space-5);padding:var(--space-6);display:grid;gap:var(--space-3);justify-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.status-panel h2{font-size:var(--text-xl)}.status-panel h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.status-panel p{color:var(--ink-2);max-width:60ch}.status-panel pre{margin:0;width:100%;overflow-x:auto;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--wash);border:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-2)}.status-panel-inline{margin-top:0;background:var(--wash);box-shadow:none}.status-inline{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--wash);border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-2)}.search-form{margin-top:var(--space-6);padding:var(--space-6);display:grid;gap:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.search-heading h2{font-size:var(--text-xl)}.launch-occupancy{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-left:2px solid var(--gold-decor);font-size:var(--text-xs);color:var(--ink-3);text-align:right;max-width:22rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.field-group{display:grid;gap:var(--space-2);align-content:start}.field-group>legend,.field-group>label{margin-bottom:var(--space-1)}.field-window>div{display:grid;gap:var(--space-2)}.field-window{gap:var(--space-4)}.field-window>.window-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.preset-button{font-family:inherit;font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;padding:var(--space-2) var(--space-4);min-height:40px;border:1px solid var(--line-interactive);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.preset-button:hover{background:var(--gold-wash);border-color:var(--gold);color:var(--ink)}.preset-button[aria-pressed=true]{background:var(--cta);border-color:var(--cta);color:#fff}.budget-toggle>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.budget-toggle label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:44px;border:1px solid var(--line-interactive);border-radius:var(--radius-pill);background:var(--surface);font-weight:500;color:var(--ink-2);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.budget-toggle label:hover{background:var(--gold-wash);border-color:var(--gold)}.budget-toggle label:has(input:checked){background:var(--cta);border-color:var(--cta);color:#fff;font-weight:600}.budget-toggle input{width:auto;min-height:0;accent-color:var(--cta)}.budget-toggle label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.field-help{font-size:var(--text-xs);line-height:1.5;color:var(--ink-3)}.field-error{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--alert)}.field-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:var(--radius-pill);background:var(--alert);color:#fff;font-size:var(--text-2xs);flex:none}.field-location{grid-column:1 / -1;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas)}.field-location>summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);min-height:44px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.field-location>summary:after{content:"+";color:var(--gold);font-size:var(--text-md);line-height:1}.field-location[open]>summary:after{content:"−"}.location-fields{display:grid;gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--line)}.location-fields>label{display:grid;gap:var(--space-2)}.location-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.form-footnote{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--line)}.form-footnote p{font-size:var(--text-xs);color:var(--ink-3);max-width:52ch}.results-panel{margin-top:var(--space-7);display:grid;gap:var(--space-5)}.results-copy{font-size:var(--text-sm);color:var(--ink-3);max-width:34ch}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:stretch}.hotel-result-group{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.hotel-result-group:hover{box-shadow:var(--shadow-3)}.hotel-result-group-featured{border-color:var(--gold-decor);box-shadow:var(--shadow-3)}.hotel-result-group-featured:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-decor) 100%)}.hotel-result-group-expanded{grid-column:1 / -1}.hotel-result-group>.result-card{background:transparent;border:0;border-radius:0;box-shadow:none;flex:1 1 auto}.hotel-group-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--wash);border-top:1px solid var(--line)}.hotel-group-summary p{font-size:var(--text-sm);color:var(--ink-2)}.hotel-group-summary strong{color:var(--ink)}.hotel-group-toggle{background:var(--surface)}.hotel-group-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding:var(--space-5);background:var(--canvas);border-top:1px solid var(--line)}.hotel-group-details-heading,.hotel-group-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.hotel-group-details-heading h4{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.hotel-group-details-heading p{font-size:var(--text-xs);color:var(--ink-3)}.hotel-group-actions{justify-content:flex-start}.result-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.result-card-compact{gap:var(--space-3)}.result-card-compact .price-block{border-bottom:0;padding-bottom:0}.result-card-compact .card-footer{flex-direction:column;align-items:stretch;gap:var(--space-2)}.result-card-compact .booking-link{width:100%}.result-kicker{align-self:flex-start;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--gold);border:1px solid var(--gold);color:#fff;font-size:var(--text-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.result-card-header{display:grid;gap:var(--space-1)}.result-card-header h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.2;letter-spacing:0}.stay-window{font-size:var(--text-sm);color:var(--ink-2)}.price-block{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5);padding-block:var(--space-3);border-block:1px solid var(--line)}.price-primary,.price-secondary{display:flex;flex-direction:column;gap:var(--space-1)}.price-figure{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}.price-nightly{font-size:var(--text-md);font-weight:600;line-height:1;color:var(--ink-2);font-variant-numeric:tabular-nums}.price-caption{font-size:var(--text-2xs);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.price-strip-block{display:grid;gap:var(--space-2)}.strip-label{font-size:var(--text-2xs);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.price-strip{display:flex;flex-wrap:wrap;gap:var(--space-2)}.price-strip li{display:grid;gap:2px;flex:1 1 4.5rem;min-width:4.5rem;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--wash);border:1px solid var(--line);text-align:center}.price-strip span{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.price-strip strong{font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto}.occupancy-note{font-size:var(--text-xs);color:var(--ink-3)}.card-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.card-meta>span:first-child{font-size:var(--text-xs);font-weight:600;color:var(--ink-3);white-space:nowrap}.results-more{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--line)}.results-more p{font-size:var(--text-sm);color:var(--ink-3)}.heatmap-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.heatmap-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);min-height:44px;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--ink)}.heatmap-panel>summary:after{content:"+";font-family:var(--font-ui);font-size:var(--text-md);line-height:1;color:var(--gold)}.heatmap-panel[open]>summary:after{content:"−"}.heatmap-content{display:grid;gap:var(--space-4);padding:var(--space-5);border-top:1px solid var(--line)}.heatmap-copy{font-size:var(--text-sm);color:var(--ink-2);max-width:72ch}.heatmap-controls{display:flex;flex-wrap:wrap;gap:var(--space-5)}.heatmap-controls>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.heatmap-controls span{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.heatmap-table-wrapper{overflow-x:auto;contain:paint;border:1px solid var(--line);border-radius:var(--radius-md);scrollbar-width:thin;scrollbar-color:var(--line-interactive) var(--wash)}.heatmap-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:var(--text-xs)}.heatmap-table caption{text-align:left;padding:var(--space-3) var(--space-4);background:var(--wash);border-bottom:1px solid var(--line);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.heatmap-table th,.heatmap-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left}.heatmap-table thead th{background:var(--wash);font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.heatmap-table tbody th{background:var(--canvas);min-width:12rem}.heatmap-table tbody tr:last-child th,.heatmap-table tbody tr:last-child td{border-bottom:0}.heatmap-hotel-name{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.heatmap-hotel-place{display:block;font-size:var(--text-2xs);font-weight:500;color:var(--ink-3)}.heatmap-cell{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:5.5rem;min-height:24px;font-variant-numeric:lining-nums tabular-nums;color:var(--ink-2)}.heatmap-cell-link{text-decoration:none;border-radius:var(--radius-sm);padding:2px 4px;margin:-2px -4px}.heatmap-cell-link:hover,.heatmap-cell-link:focus-visible{text-decoration:underline;text-underline-offset:3px}.heatmap-cell-link:hover strong{color:var(--cta)}.heatmap-sort-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:24px;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:0;cursor:pointer;white-space:nowrap}.heatmap-sort-button:hover{color:var(--cta)}@media (pointer: coarse){.heatmap-cell,.heatmap-sort-button{min-height:44px}}.heatmap-sort-marker{font-size:var(--text-2xs);color:var(--ink-3)}.heatmap-table thead th[aria-sort=ascending],.heatmap-table thead th[aria-sort=descending]{background:var(--gold-wash);box-shadow:inset 0 -2px 0 var(--gold)}.heatmap-table thead th[aria-sort=ascending] .heatmap-sort-marker,.heatmap-table thead th[aria-sort=descending] .heatmap-sort-marker{color:var(--gold)}.heatmap-cell strong{font-weight:600;color:var(--ink)}.about-panel{margin-top:var(--space-8);padding:var(--space-7) var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:grid;gap:var(--space-6);scroll-margin-top:var(--space-5)}.about-intro{display:grid;gap:var(--space-3);max-width:68ch}.about-intro h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}.about-intro p{font-size:var(--text-md);line-height:1.65;color:var(--ink-2)}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr));gap:var(--space-4);align-items:stretch}.about-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-md)}.about-card h3{font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.about-card p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-2)}.about-card .about-footnote{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-3)}.about-card-support{background:var(--gold-wash);border-color:var(--gold-decor)}.support-link{margin-top:auto;align-self:start;font-size:var(--text-sm);font-weight:600;color:var(--ink);text-decoration:none;padding:var(--space-3) var(--space-5);min-height:44px;display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius-pill);transition:background-color .18s ease,color .18s ease}.support-link:hover{background:var(--gold);color:#fff}.contact-hidden,.contact-revealed{margin-top:auto;display:grid;gap:var(--space-2);justify-items:start}.contact-revealed a{font-size:var(--text-md);font-weight:600;color:var(--ink);word-break:break-word}.contact-hint{font-size:var(--text-xs);color:var(--ink-3)}.privacy-panel{margin-top:var(--space-5);padding:var(--space-5);display:grid;gap:var(--space-2);background:var(--wash);border:1px solid var(--line);border-radius:var(--radius-md);scroll-margin-top:var(--space-5)}.privacy-panel h2{font-size:var(--text-xl)}.privacy-panel>p:not(.eyebrow){max-width:78ch;font-size:var(--text-sm);color:var(--ink-2)}.privacy-choice{margin-top:var(--space-2)}.privacy-choice strong{color:var(--ink)}.cookie-banner{position:fixed;z-index:100;left:50%;bottom:var(--space-4);transform:translate(-50%);width:min(calc(100% - var(--space-6)),58rem);padding:var(--space-5);display:flex;align-items:end;justify-content:space-between;gap:var(--space-5);background:var(--surface);border:1px solid var(--line-interactive);border-top:3px solid var(--gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}.cookie-banner-copy{display:grid;gap:var(--space-2);max-width:57ch}.cookie-banner-copy h2{font-size:var(--text-xl)}.cookie-banner-copy>p:last-child{font-size:var(--text-sm);color:var(--ink-2)}.cookie-banner-actions{display:flex;flex-shrink:0;gap:var(--space-3)}.site-footer{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--line);display:grid;gap:var(--space-2)}.site-footer p{font-size:var(--text-xs);line-height:1.6;color:var(--ink-3);max-width:78ch}.site-footer strong{color:var(--ink-2)}.footer-meta{color:var(--ink-3)}.cookie-settings-button{justify-self:start;min-height:44px;padding:var(--space-2) 0;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--cta);background:transparent;border:0;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.cookie-settings-button:hover{color:var(--cta-hover)}@media (max-width: 1000px){.hotel-group-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.app-shell{width:min(100% - var(--space-4),1180px)}.hero{grid-template-columns:1fr;align-items:start;gap:var(--space-4);padding-block:var(--space-5) var(--space-5)}.hero h1{max-width:100%}.hero-copy{font-size:var(--text-base)}.hero-note{display:none}.hero-aside{grid-template-columns:1fr;padding:var(--space-3) var(--space-4)}.hero-aside p{display:none}.dataset-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form{margin-top:var(--space-5);padding:var(--space-5) var(--space-4)}.launch-occupancy{text-align:left;max-width:none}.form-grid,.results-grid,.hotel-group-details{grid-template-columns:1fr}.results-panel{margin-top:var(--space-6)}.hotel-result-group-expanded{grid-column:auto}.price-strip li{flex-basis:4rem;min-width:4rem}.cookie-banner{align-items:stretch;flex-direction:column}}@media (max-width: 640px){.site-nav{align-items:flex-start}.card-footer,.form-footnote,.hotel-group-summary,.hotel-group-details-heading,.hotel-group-actions,.location-actions,.heatmap-controls>div,.results-more{align-items:stretch;flex-direction:column}.cookie-banner{bottom:var(--space-2);width:min(calc(100% - var(--space-4)),58rem);padding:var(--space-4)}.cookie-banner-actions{align-items:stretch;flex-direction:column-reverse}.card-footer .booking-link,.form-footnote .search-button,.hotel-group-summary .secondary-button,.hotel-group-details-heading .secondary-button,.hotel-group-actions .secondary-button,.location-actions .secondary-button,.heatmap-controls .secondary-button,.results-more .secondary-button,.cookie-banner-actions .search-button,.cookie-banner-actions .secondary-button{width:100%}.heatmap-content,.result-card{padding:var(--space-4)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
