.reservation-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(44px,8vw,130px); max-width:1440px; margin:auto; padding:160px var(--gutter) 100px; align-items:start; }
.reservation-intro .section-label,.mr-form-heading .section-label { font-size:10px; letter-spacing:.17em; color:#727e70; }
.reservation-intro h1 { margin:27px 0 23px; font:300 clamp(36px,4vw,58px)/1.5 var(--font-serif); letter-spacing:-.045em; }
.reservation-intro p { font-size:13px; line-height:2; color:#73776e; }
.reservation-intro figure { margin:38px 0 0; }
.reservation-intro img { display:block; width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; }
.reservation-intro figcaption { margin-top:13px; color:#7b8077; font-size:11px; }
.reservation-page .mr-section { width:100%; max-width:none; padding:0; margin:0; min-width:0; }
.reservation-page .mr-lookup { display:flex; flex-direction:column; gap:25px; padding:clamp(24px,3.5vw,48px); background:#fffdf7; border:1px solid #daddcf; margin:0 0 24px; }
.mr-form-heading { border-bottom:1px solid #e0e2d7; padding-bottom:25px; }
.mr-form-heading h2 { font:300 30px/1.5 var(--font-serif); margin:12px 0; }
.mr-form-heading p { font-size:12px; line-height:1.8; color:#767a70; }
.mr-field label { display:block; font-size:12px; margin-bottom:10px; color:#424b41; }
.reservation-page .mr-lookup input { width:100%; border:1px solid #cfd4c7; border-radius:0; padding:16px; min-height:54px; background:#f9f9f1; color:#303c35; font-size:16px; }
.reservation-page .mr-lookup input:focus { outline:2px solid #71866c; outline-offset:2px; background:#fff; }
.mr-field small { display:block; color:#7c8075; font-size:11px; line-height:1.8; margin-top:8px; }
.reservation-page .mr-lookup button { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:16px 20px; border-radius:0; background:#3d4c43; font-size:14px; transition:background .2s; }
.reservation-page .mr-lookup button:hover { background:#52654e; }
.reservation-page .mr-lookup button:focus-visible { outline:2px solid #71866c; outline-offset:3px; }
.mr-channel-note { margin-top:3px; padding-top:24px; border-top:1px solid #e0e2d7; font-size:12px; line-height:1.8; }
.mr-channel-note strong { font-weight:500; }.mr-channel-note p { color:#767a70; margin:4px 0 11px; }
.mr-channel-note a { color:#52724e; text-decoration:underline; text-underline-offset:4px; }
.reservation-page .mr-card { padding:26px; border-radius:0; box-shadow:none; border-color:#cfd5c8; background:#fffdf7; }
.reservation-page .mr-room { font-size:25px; }.reservation-page .mr-meta { overflow-wrap:anywhere; line-height:2; font-size:13px; margin:18px 0; }
.reservation-page .mr-btn { min-height:44px; border-radius:0; padding:10px 14px; }.reservation-page .mr-msg { border-radius:0; line-height:1.8; }.reservation-page .mr-empty { padding:32px 20px; border:1px solid #daddcf; background:#ecefe3; font-size:13px; line-height:1.9; }
@media(max-width:767px) { .reservation-layout { grid-template-columns:1fr; padding-top:112px; gap:32px; padding-bottom:55px; }.reservation-intro h1 { font-size:35px; margin:17px 0; }.reservation-intro figure { display:none; }.reservation-intro p { font-size:12px; }.reservation-page .mr-lookup { padding:24px 20px; gap:22px; }.mr-form-heading h2 { font-size:26px; } }
@media(prefers-reduced-motion:reduce) { .reservation-page .mr-lookup button { transition:none; } }
