/* Typography values come from QTLAB's shared design tokens. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);letter-spacing:var(--tracking-body);word-break:keep-all;overflow-wrap:anywhere;font-synthesis:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;background:var(--color-disabled-surface);color:var(--color-disabled-text)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:var(--weight-semibold);text-wrap:balance}h1{font-size:var(--text-hero);line-height:var(--leading-hero);letter-spacing:var(--tracking-hero)}h2{font-size:var(--text-section);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}h3{font-size:var(--text-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}p{text-wrap:pretty}strong{font-weight:var(--weight-semibold)}.wrap{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}.eyebrow{font-family:var(--font-latin);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);line-height:var(--leading-control);letter-spacing:var(--tracking-eyebrow);color:var(--color-accent-strong)}.caption{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--color-text-muted)}.supporting,.muted{font-size:var(--text-supporting);line-height:var(--leading-supporting);color:var(--color-text-secondary)}.sample-notice{padding:9px 5%;display:flex;justify-content:center;gap:22px;background:var(--color-inverse-surface);color:var(--color-inverse-text);font-size:var(--text-caption);line-height:var(--leading-caption)}.sample-notice span{color:var(--color-inverse-muted)}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:108px}.wordmark{font-size:var(--text-wordmark);font-weight:var(--weight-semibold);line-height:var(--leading-title);letter-spacing:var(--tracking-heading);white-space:nowrap}.wordmark span{display:block;font-family:var(--font-latin);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-medium)}.header nav{display:flex;gap:36px;font-size:var(--text-control);font-weight:var(--weight-medium)}.header nav a{padding:12px 0}.button,button{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-inverse-text);padding:12px 22px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:var(--text-control);font-weight:var(--weight-medium);line-height:var(--leading-control);border-radius:2px}.button:hover,button:hover{background:var(--color-action-hover)}.secondary{background:transparent;color:var(--color-ink);border-color:var(--color-line-strong)}.secondary:hover{background:var(--color-white)}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:var(--text-control);font-weight:var(--weight-medium);border-bottom:1px solid var(--color-line-strong);padding:10px 0;min-height:44px}.skip{position:fixed;left:16px;top:-100px;z-index:10;background:var(--color-white);padding:12px}.skip:focus{top:16px}.hero{position:relative;min-height:690px;display:flex;align-items:flex-end;isolation:isolate;background:var(--color-inverse-surface)}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#151d18c9 0%,#151d1866 52%,transparent 100%);z-index:-1}.hero-content{width:100%;padding-top:100px;padding-bottom:80px;color:var(--color-white)}.hero .eyebrow{color:var(--color-inverse-muted)}.hero h1{max-width:900px;margin-bottom:24px}.hero p.supporting{color:var(--color-inverse-text);font-size:var(--text-body);max-width:480px;margin-bottom:32px}.hero .button{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:64px;color:var(--color-inverse-muted);font-family:var(--font-latin);font-size:var(--text-caption)}.search-band{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:24px;align-items:end;padding:32px max(6%,24px);border-bottom:1px solid var(--color-line);background:var(--color-field)}label{display:flex;flex-direction:column;gap:9px;font-size:var(--text-control);font-weight:var(--weight-medium);line-height:var(--leading-control)}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--color-field-line);background:var(--color-field);border-radius:2px;padding:12px;font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-caption)}textarea{min-height:110px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input[type=checkbox]{width:20px;min-height:20px;margin:2px 0;accent-color:var(--color-accent-strong)}.checkbox{flex-direction:row;align-items:start;gap:12px}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:440px;margin-bottom:0}.story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story h2{font-size:var(--text-statement);line-height:var(--leading-heading)}.story p{color:var(--color-text-secondary)}.story-image{position:relative}.story-image img{aspect-ratio:1.15}.story-image .caption{margin:14px 0 0}.divider{border-top:1px solid var(--color-line)}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.room-picture{position:relative;overflow:hidden}.room-picture img{width:100%;aspect-ratio:1.24;transition:transform .4s}.room-picture:hover img{transform:scale(1.035)}.room-number{position:absolute;top:16px;left:16px;background:var(--color-paper);padding:5px 12px;font-size:var(--text-caption)}.room-info{padding:24px 0 0}.room-info h3{margin:6px 0 12px}.room-info p{margin-bottom:18px}.tags{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--text-caption);color:var(--color-text-muted)}.room-bottom{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.price{font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-title)}.room-bottom small{font-size:var(--text-caption);font-weight:var(--weight-regular)}.room-bottom .text-link{flex-shrink:0}.stay-band{background:var(--color-inverse-surface);color:var(--color-inverse-text)}.stay-band .eyebrow{color:var(--color-inverse-muted)}.stay-band .supporting{color:var(--color-inverse-muted)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.experience-grid article{padding-top:30px;border-top:1px solid var(--color-inverse-line)}.experience-grid .index{font-family:var(--font-serif);font-size:var(--text-step-number);color:var(--color-inverse-muted)}.experience-grid h3{margin-top:24px}.experience-grid p{margin-bottom:0}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.guide-list{margin:0}.guide-list div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--color-line)}dt{font-weight:var(--weight-semibold)}dd{margin:0;color:var(--color-text-secondary)}details{border-bottom:1px solid var(--color-line);padding:20px 0}summary{cursor:pointer;font-weight:var(--weight-semibold);min-height:32px}details p{margin:20px 0 0;color:var(--color-text-secondary)}.cta{background:var(--color-accent);padding-top:60px;padding-bottom:60px;display:flex;align-items:center;justify-content:space-between;gap:32px}.cta h2{margin-bottom:12px}.cta p{margin-bottom:0}.footer{padding-top:65px;padding-bottom:32px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px}.footer p{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:7px}.footer .wordmark+p{margin-top:18px}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:var(--text-control);font-weight:var(--weight-medium)}.footer-links a{min-height:32px}.footer-bottom{grid-column:1/-1;padding-top:28px;border-top:1px solid var(--color-line)}.page-intro{padding-top:64px;padding-bottom:40px}.page-intro h1{font-size:var(--text-statement);margin:16px 0 20px}.page-intro p{max-width:720px}.demo-bar{border:1px solid var(--color-line-strong);padding:18px 24px;background:var(--color-field);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.demo-bar p{margin-bottom:0}.page-body{padding-bottom:90px;min-height:45vh}.booking-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:40px}.panel{border:1px solid var(--color-line);padding:28px;background:var(--color-field)}.stack{display:flex;flex-direction:column;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-summary img{aspect-ratio:1.6;width:100%;margin-bottom:24px}.totals{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--color-line)}.totals strong{font-size:var(--text-title)}.notice{padding:18px 22px;background:var(--color-accent);font-size:var(--text-supporting);margin-bottom:24px}.notice.error{background:var(--color-field);color:var(--color-error);border:1px solid var(--color-error)}.empty{padding:44px 24px;text-align:center;border:1px solid var(--color-line);margin:24px 0}.reservation{display:grid;grid-template-columns:1fr auto;gap:24px;padding:28px 0;border-bottom:1px solid var(--color-line)}.reservation h3{margin:12px 0}.reservation p{margin-bottom:8px}.status{display:inline-flex;padding:5px 12px;background:var(--color-accent);font-size:var(--text-caption);font-weight:var(--weight-medium)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.tabs button[aria-pressed=true]{background:var(--color-ink);color:var(--color-inverse-text)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.stats>div{border:1px solid var(--color-line);padding:24px}.stats strong{display:block;font-size:var(--text-section)}.manage-room{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--color-line)}.manage-room img{width:160px;aspect-ratio:1.3}.manage-room h3{margin-bottom:12px}.manage-room p{margin-bottom:0}.live-access{max-width:640px}.dialog{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:#151d18b3}.dialog>div{background:var(--color-paper);width:min(700px,100%);max-height:90dvh;overflow:auto;padding:32px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--color-inverse-surface);color:var(--color-inverse-text);padding:16px 24px;z-index:30;max-width:90vw;font-size:var(--text-supporting)}[hidden]{display:none!important}
@media(max-width:1000px){.header nav{gap:20px}.hero{min-height:620px}.rooms-grid{grid-template-columns:1fr}.room-card{display:grid;grid-template-columns:1fr 1fr;gap:32px}.room-info{padding-top:12px}.story{gap:6%}.booking-grid{grid-template-columns:1fr 320px}.experience-grid{gap:24px}.search-band{gap:16px}.search-band .button{padding:12px 16px;gap:12px}}
@media(max-width:700px){.wrap{padding-left:24px;padding-right:24px}.sample-notice{flex-direction:column;align-items:center;gap:0;padding:7px 16px}.header{min-height:132px;flex-wrap:wrap;gap:12px;padding-top:20px;padding-bottom:15px}.header nav{order:3;width:100%;justify-content:space-between;gap:16px}.header nav a{padding:6px 0;min-height:36px}.header-book{padding:12px 16px;gap:14px}.hero{min-height:590px}.hero:before{background:linear-gradient(0deg,#151d18df 0%,#151d1855 85%)}.hero-content{padding-top:100px;padding-bottom:40px}.hero h1{margin-bottom:20px}.hero-bottom{margin-top:40px;flex-direction:column;gap:4px}.hero .eyebrow{margin-bottom:20px}.search-band{grid-template-columns:1fr 1fr;gap:20px 12px;padding:24px}.search-band .button{width:100%}.section{padding-top:64px;padding-bottom:64px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading p{max-width:none}.story{grid-template-columns:1fr;gap:32px}.story-image{order:2}.rooms-grid{gap:44px}.room-card{grid-template-columns:1fr;gap:20px}.room-info{padding:0}.room-picture img{aspect-ratio:1.25}.room-bottom{margin-top:20px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-grid article{display:grid;grid-template-columns:40px 1fr;gap:0 20px;padding-top:24px}.experience-grid h3{margin-top:5px}.experience-grid p{grid-column:2}.guide-grid{grid-template-columns:1fr;gap:40px}.guide-list div{grid-template-columns:92px 1fr;gap:12px}.cta{flex-direction:column;align-items:flex-start;padding-top:40px;padding-bottom:40px}.cta .button{width:100%}.footer{grid-template-columns:1fr;gap:28px;padding-top:44px}.footer-links{gap:8px}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-bottom{margin-top:0}.page-intro{padding-top:40px;padding-bottom:24px}.demo-bar{align-items:stretch;flex-direction:column;padding:20px;gap:14px}.booking-grid{grid-template-columns:1fr;gap:28px}.booking-summary{order:-1}.panel{padding:22px}.form-grid{grid-template-columns:1fr}.reservation{grid-template-columns:1fr;gap:16px;padding:24px 0}.reservation .actions{justify-content:flex-start}.stats{gap:10px}.stats>div{padding:16px 12px}.stats strong{font-size:var(--text-title)}.stats p{font-size:var(--text-caption);margin:0}.manage-room{grid-template-columns:85px 1fr;gap:18px}.manage-room img{width:85px;height:100%;aspect-ratio:auto}.manage-room .actions{grid-column:1/-1}.manage-room .actions button{flex:1}.tabs{gap:8px}.tabs button{padding:12px 15px;flex:1;white-space:nowrap}.dialog{padding:12px}.dialog>div{padding:24px}.page-body{padding-bottom:56px}.actions>.button,.actions>button{flex-grow:1}input[type=date]{appearance:none;min-width:0}.search-band input{padding:12px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
