.qthotel-app{--navy:#963f32;--ink:#382c28;--line:#e7d6ce;--bg:#faf5f0}.qthotel-app *{box-sizing:border-box}.qthotel-app{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}.qthotel-app button,.qthotel-app input,.qthotel-app select,.qthotel-app textarea{font:inherit}.qthotel-app button{cursor:pointer}.qthotel-app button:disabled{opacity:.6;cursor:wait}.qthotel-app button:focus-visible,.qthotel-app input:focus-visible,.qthotel-app select:focus-visible,.qthotel-app textarea:focus-visible{outline:3px solid #a94d3c;outline-offset:3px}.qthotel-app header{background:var(--navy);color:white;padding:22px max(24px,calc((100vw - 1000px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.qthotel-app header strong{font:26px Georgia}.qthotel-app header span{font-size:14px;color:#f1dcd2}.qthotel-app main{max-width:1000px;margin:auto;padding:30px 24px 60px}.qthotel-app h1{font:clamp(30px,4vw,42px)/1.15 Georgia;margin:0 0 14px}.qthotel-app h2{font:26px Georgia;margin:0 0 12px}.qthotel-app h3{font-size:19px;margin:0 0 10px}.qthotel-app p{margin:0 0 16px}.qthotel-app .eyebrow{font-size:13px;letter-spacing:1.5px;color:#963f32;text-transform:uppercase;font-weight:700;margin-bottom:10px}.qthotel-app .muted{color:#766158}.qthotel-app .small{font-size:14px}.qthotel-app .services{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.qthotel-app .service{padding:24px;text-align:left;background:white;border:1px solid var(--line);color:var(--ink);border-radius:10px}.qthotel-app .service b{display:block;font:25px Georgia;margin-bottom:8px}.qthotel-app .service small{font-size:14px}.qthotel-app .service[aria-expanded=true]{background:#f5e5dd;border:2px solid var(--navy);padding:23px}.qthotel-app .card{background:white;border:1px solid var(--line);padding:28px;border-radius:12px}.qthotel-app .narrow{max-width:450px;margin:30px auto}.qthotel-app .fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qthotel-app .wide{grid-column:1/-1}.qthotel-app label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}.qthotel-app input,.qthotel-app select,.qthotel-app textarea{border:1px solid #cfb6a9;border-radius:6px;padding:11px 12px;background:white;width:100%;min-height:46px;color:var(--ink)}.qthotel-app textarea{resize:vertical;min-height:80px}.qthotel-app .check{display:flex;gap:12px;align-items:flex-start;font-weight:400}.qthotel-app .check input{width:20px;min-height:20px;flex:none;margin-top:2px}.qthotel-app .primary,.qthotel-app .secondary,.qthotel-app .danger,.qthotel-app .light{padding:12px 18px;min-height:46px;border-radius:6px;border:1px solid var(--navy);background:var(--navy);color:white;font-weight:600}.qthotel-app .primary{width:100%;margin:20px 0 12px}.qthotel-app .secondary{background:white;color:var(--navy)}.qthotel-app .danger{background:white;color:#a53535;border-color:#d8afaf}.qthotel-app .light{background:transparent;color:white;border-color:#d9a99b}.qthotel-app .section-title{margin-top:36px}.qthotel-app .requests{display:grid;gap:16px}.qthotel-app .request{padding:22px;background:white;border:1px solid var(--line);border-radius:10px}.qthotel-app .reqhead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.qthotel-app .badge{font-size:14px;border-radius:30px;padding:5px 12px;background:#fff0d4;color:#775413;white-space:nowrap}.qthotel-app .confirmed{background:#dff2e9;color:#16643e}.qthotel-app .rejected{background:#f9e2e2;color:#962f2f}.qthotel-app .details{display:flex;flex-wrap:wrap;gap:6px 24px;margin:8px 0 16px}.qthotel-app .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.qthotel-app .actions .primary{width:auto;margin:0}.qthotel-app .response{border-left:3px solid #237653;background:#edf6f1;padding:12px 16px}.qthotel-app .empty{padding:24px;text-align:center;border:1px dashed #c9ab9d;border-radius:8px;color:#766158}.qthotel-app .alert{background:#fbe9e5;color:#91342a;padding:16px;border-radius:8px;margin-bottom:22px}.qthotel-app .tabs{display:flex;gap:10px;margin:24px 0}.qthotel-app .tabs button{padding:12px 18px;border:1px solid #cfb6a9;border-radius:6px;background:white;color:var(--ink)}.qthotel-app .tabs .active{background:var(--navy);color:white;border-color:var(--navy)}.qthotel-app .toolbar{display:flex;gap:14px;align-items:center;margin-bottom:16px}.qthotel-app .toolbar select{max-width:220px}.qthotel-app .toolbar label{margin:0}.qthotel-app .link-box{margin-top:22px;padding:18px;background:#f5e5dd;border-radius:8px}.qthotel-app .link-box input{margin-bottom:12px}.qthotel-app .link-box button{margin-bottom:10px}.qthotel-app #qthotel-loginForm label{margin-top:16px}.qthotel-app footer{margin-top:36px;border-top:1px solid var(--line);padding-top:20px;font-size:14px;color:#766158}.qthotel-app #qthotel-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:14px 22px;border-radius:8px;max-width:90%;z-index:5;box-shadow:0 8px 30px #0003}.qthotel-app #qthotel-toast:empty{display:none}.qthotel-app [hidden]{display:none!important}@media(max-width:680px){.qthotel-app header{padding:18px;flex-wrap:wrap}.qthotel-app header strong{font-size:23px}.qthotel-app main{padding:24px 16px 40px}.qthotel-app .services{grid-template-columns:1fr;gap:12px}.qthotel-app .card,.qthotel-app .request{padding:20px}.qthotel-app .toolbar{flex-wrap:wrap}.qthotel-app .reqhead{flex-wrap:wrap}.qthotel-app .actions>*{flex:1}.qthotel-app .tabs button{flex:1}.qthotel-app .fields{gap:14px}}@media(max-width:400px){.qthotel-app .fields{grid-template-columns:1fr}.qthotel-app .wide{grid-column:auto}.qthotel-app .details{display:block}.qthotel-app .details span{display:block;margin-bottom:5px}.qthotel-app header .light{padding:8px;font-size:14px}}

.qthotel-app a.secondary{display:inline-flex;align-items:center;text-decoration:none;margin-top:12px}.qthotel-app a.secondary:hover{background:#f5e5dd}

/* Photograph buttons from the DOCAS experiences presentation. */
.qthotel-app .service{padding:0;overflow:hidden;border-radius:14px;display:flex;flex-direction:column;box-shadow:0 3px 12px #5c2d2010;transition:border-color .18s,box-shadow .18s}
.qthotel-app .service-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;flex:none}
.qthotel-app .service-copy{display:flex;flex-direction:column;padding:20px 22px;width:100%;flex:1}
.qthotel-app .service b{color:var(--navy);margin-bottom:6px}
.qthotel-app .service small{color:#766158;line-height:1.5}
.qthotel-app .service-cta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--navy);font-size:14px;font-weight:700}
.qthotel-app .service-cta span{font-size:22px;line-height:1}
.qthotel-app .service[aria-expanded=true]{padding:0;border:1px solid var(--navy);background:#f5e5dd;box-shadow:0 0 0 2px var(--navy)}
.qthotel-app .service:hover{border-color:var(--navy);box-shadow:0 6px 18px #5c2d2020}
.qthotel-app .service:focus-visible{outline:3px solid #a94d3c;outline-offset:4px}
.qthotel-app .primary:hover{background:#793127}
.qthotel-app .service[data-id="fitness"] .service-image{object-position:center 65%}
@media(max-width:680px){.qthotel-app .service-copy{padding:18px}.qthotel-app .service b{font-size:24px}.qthotel-app .services{gap:18px}}
@media(prefers-reduced-motion:reduce){.qthotel-app .service{transition:none}}
