.hero-actions{display:flex;align-items:center;gap:28px}.primary-cta{display:inline-flex;align-items:center;justify-content:center;min-width:126px;padding:15px 25px;background:var(--gold);color:#1b120b;font-size:13px;font-weight:700;transition:.25s}.primary-cta:hover{background:#edbd5c;transform:translateY(-2px)}
.marquee{overflow:hidden;background:var(--gold);color:#1a1009;padding:17px 0;white-space:nowrap}.marquee div{display:inline-flex;align-items:center;gap:38px;min-width:max-content;font:700 12px Arial;letter-spacing:.28em;animation:marquee 24s linear infinite}.marquee i{font-style:normal;font-size:9px}
.story h2 em{font-style:normal;color:var(--gold)}.reserve{padding:120px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;background:var(--cream);color:var(--ink)}.reserve h2{font-size:clamp(34px,3.7vw,54px);line-height:1.3;margin:0}.reserve-intro>p:nth-of-type(2){color:#786c5d;line-height:1.9;margin:28px 0 45px}.reserve-note{display:grid;grid-template-columns:32px 1fr;gap:18px 10px;border-top:1px solid #1a120d22;padding-top:24px}.reserve-note span{font:11px Arial;color:var(--red);padding-top:5px}.reserve-note p{margin:0;color:#756859;font-size:13px;line-height:1.7}
.reserve-form{background:#fffaf1;padding:42px;box-shadow:0 25px 70px #3c231018;display:flex;flex-direction:column;gap:22px}.reserve-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600}.reserve-form input,.reserve-form select,.reserve-form textarea{width:100%;border:0;border-bottom:1px solid #b9aa97;background:transparent;padding:11px 2px;color:#21170f;font:14px inherit;outline:none;border-radius:0}.reserve-form input:focus,.reserve-form select:focus,.reserve-form textarea:focus{border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reserve-form .consent{flex-direction:row;align-items:flex-start;color:#7d7163;font-weight:400;line-height:1.5}.consent input{width:15px;margin:3px 4px 0 0;accent-color:var(--red)}.reserve-form button{border:0;background:var(--ink);color:var(--cream);padding:18px 22px;display:flex;justify-content:space-between;cursor:pointer;font:600 13px inherit}.reserve-form button:hover{background:#332219}.reserve-form button:disabled{opacity:.6}.form-result{margin:0;text-align:center;min-height:20px;color:var(--red);font-size:13px}
footer{padding:0 7vw;display:block;background:#0b0806}.footer-top{min-height:190px;display:flex;align-items:center;border-bottom:1px solid #ffffff13}.footer-reserve{margin-left:auto;display:flex;align-items:center;gap:70px;color:var(--cream);font-size:18px;border-bottom:1px solid var(--gold);padding:12px 0}.footer-reserve b{color:var(--gold)}.footer-bottom{min-height:88px;display:flex;align-items:center;gap:6vw}.footer-bottom p:first-child{margin-right:auto}.footer-bottom a{color:var(--gold);font:9px Arial;letter-spacing:.18em}.footer-brand{margin:0}.footer-brand img{width:58px;height:58px}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:800px){.hero-actions{justify-content:center;flex-wrap:wrap}.reserve{grid-template-columns:1fr;padding:85px 24px}.reserve-form{padding:28px 22px}.form-row{grid-template-columns:1fr}footer{padding:0 24px}.footer-top,.footer-bottom{flex-direction:column;justify-content:center;text-align:center;gap:18px;padding:32px 0}.footer-reserve{margin:0;gap:25px;font-size:15px}.footer-bottom p:first-child{margin:0}}
@media(prefers-reduced-motion:reduce){.marquee div{animation:none}.hero-mark img{animation:none}}

/* Keep the reservation area compact and easy to scan. */
.reserve{padding:78px 7vw;gap:7vw}
.reserve h2{font-size:clamp(32px,3.2vw,46px);line-height:1.24}
.reserve-intro>p:nth-of-type(2){line-height:1.75;margin:20px 0 30px}
.reserve-note{gap:12px 10px;padding-top:18px}
.reserve-form{padding:30px 34px;gap:16px}
.reserve-form label{gap:6px}
.reserve-form input,.reserve-form select,.reserve-form textarea{padding:8px 2px}
.reserve-form textarea{min-height:54px;resize:vertical}
.reserve-form button{padding:15px 20px}
.form-result{min-height:16px}

@media(max-width:800px){
  .reserve{padding:60px 24px;gap:32px}
  .reserve-form{padding:24px 22px;gap:15px}
  .form-row{grid-template-columns:1fr 1fr;gap:16px}
}
@media(max-width:480px){.form-row{grid-template-columns:1fr}}
