*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{border:0;border-radius:8px;background:#1d4ed8;color:#fff;cursor:pointer;font-weight:700;min-height:42px;padding:10px 16px}.button-secondary{background:#edf2f7;color:#172033}button:disabled{cursor:not-allowed;opacity:.58}.hero{min-height:560px;display:grid;align-items:end;background-position:50%;background-size:cover;color:#fff;padding:56px clamp(20px,6vw,88px)}.hero__content{max-width:840px}.hero__eyebrow{font-size:15px;font-weight:700;margin:0 0 14px;text-transform:uppercase}.hero h1{font-size:clamp(36px,6vw,72px);letter-spacing:0;line-height:1;margin:0}.hero__subtitle{font-size:20px;line-height:1.5;margin:18px 0 0;max-width:680px}.page-main{margin:-72px auto 0;max-width:1120px;padding:0 20px 72px;position:relative}.booking-panel,.section{background:#fff;border:1px solid #dce4ee;border-radius:8px;box-shadow:0 12px 30px #16203314;margin-top:24px;padding:24px}.booking-panel{display:grid;gap:18px}.available-list__header,.booking-panel__header,.guest-form__header{align-items:center;display:flex;gap:16px;justify-content:space-between}.available-list__header h3,.booking-panel__header h2,.confirmation-panel h2,.guest-form__header h3{color:#172033;letter-spacing:0;line-height:1.15;margin:0}.booking-panel__eyebrow,.confirmation-panel__eyebrow{color:#526071;font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.booking-panel__badge{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#047857;flex:0 0 auto;font-size:13px;font-weight:800;padding:8px 12px}.search-form{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.booking-panel--vertical .search-form{grid-template-columns:1fr}label{color:#526071;display:grid;font-size:13px;gap:6px}input,textarea{border:1px solid #cbd5e1;border-radius:8px;color:#172033;min-height:42px;padding:10px 12px;width:100%}input:focus,textarea:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81f;outline:none}.field--invalid{color:#be123c}.input--invalid,.input--invalid:focus{background:#fff7f8;border-color:#be123c;box-shadow:0 0 0 3px #be123c1f}.field-error{color:#be123c;font-size:12px;font-weight:700;line-height:1.35;margin-top:-2px}.alert{border-radius:8px;padding:12px 14px}.alert--error{background:#fff1f2;color:#be123c}.alert--success{background:#ecfdf5;color:#047857}.available-list,.guest-form,.room-grid{display:grid;gap:16px}.available-list__header{border-bottom:1px solid #e2e8f0;padding-bottom:14px}.available-list__header span{color:#526071;font-size:14px;font-weight:700;text-align:right}.available-room{align-items:center;border:1px solid #dce4ee;border-radius:8px;display:flex;gap:18px;justify-content:space-between;padding:16px}.available-room__main{min-width:0}.available-room__meta{color:#047857;display:block;font-size:13px;font-weight:800;margin-bottom:8px}.available-room__aside{align-items:flex-end;display:grid;flex:0 0 180px;gap:10px;justify-items:end}.available-room__aside strong,.guest-form__header strong{color:#172033;font-size:20px;white-space:nowrap}.available-room--selected{border-color:#1d4ed8;box-shadow:0 0 0 2px #1d4ed81f}.available-room h3,.room-card h3,.section h2{margin:0}.available-room p,.room-card p,.section p{color:#526071;line-height:1.55}.guest-form{border-top:1px solid #e2e8f0;padding-top:20px}.guest-form__header{align-items:flex-start}.guest-form__grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.website-field{display:none}.confirmation-panel{display:grid;gap:16px;justify-items:start;padding:4px 0}.confirmation-panel__mark{align-items:center;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;display:flex;height:44px;justify-content:center;width:44px}.confirmation-panel__mark:before{background:#047857;border-radius:999px;content:"";display:block;height:18px;width:18px}.confirmation-panel__lead{color:#526071;line-height:1.55;margin:0;max-width:720px}.confirmation-details{border:1px solid #dce4ee;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow:hidden;width:100%}.confirmation-details div{border-bottom:1px solid #e2e8f0;display:grid;gap:4px;padding:14px 16px}.confirmation-details div:nth-child(odd){border-right:1px solid #e2e8f0}.confirmation-details dt{color:#526071;font-size:12px;font-weight:800;margin:0;text-transform:uppercase}.confirmation-details dd{color:#172033;font-weight:700;margin:0;overflow-wrap:anywhere}.confirmation-details__total dd{color:#047857;font-size:20px}.confirmation-details__total{background:#f8fafc;border-bottom:0;border-right:0;grid-column:1/-1}.confirmation-actions{display:flex;flex-wrap:wrap;gap:12px}.contacts-section,.section__header{align-items:center;display:flex;justify-content:space-between}.section__header span{color:#526071}.room-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.room-card{border:1px solid #dce4ee;border-radius:8px;overflow:hidden}.room-card img{aspect-ratio:4/3;display:block;-o-object-fit:cover;object-fit:cover;width:100%}.room-card__body{padding:16px}.map-link{color:#1d4ed8;font-weight:700;text-decoration:none}@media(max-width:760px){.hero{min-height:480px}.available-list__header,.booking-panel__header,.contacts-section,.guest-form__header,.search-form,.section__header{align-items:stretch;display:grid;grid-template-columns:1fr}.available-room{align-items:stretch;display:grid;gap:14px}.available-room__aside{align-items:stretch;flex:none;justify-items:stretch}.available-list__header span{text-align:left}.confirmation-details,.guest-form__grid{grid-template-columns:1fr}.confirmation-details div,.confirmation-details div:nth-child(odd){border-bottom:1px solid #e2e8f0;border-right:0}.confirmation-details div:last-child{border-bottom:0}.confirmation-actions,.confirmation-actions button{width:100%}}
