/* Shared compact navigation, customer pages v49 */
.header{position:relative;z-index:30}.header nav{gap:8px}.header nav>.nav-main,.header .more-nav summary{font-family:Arial,sans-serif;font-size:13px;font-weight:600;min-height:44px;padding:8px 13px;border-radius:10px;letter-spacing:.01em;transition:background .18s,border-color .18s,box-shadow .18s}.header nav>.nav-menu{background:linear-gradient(135deg,#f0d39d,#d9b16e);border-color:#e8c68a;box-shadow:0 3px 10px #10180f33;color:#233022}.header nav>.nav-order,.header .more-nav summary{background:#ffffff05;border:1px solid #bdb49459;color:#f5efdf}.header .more-nav summary{display:flex;gap:7px;align-items:center}.more-nav summary svg{width:17px;height:17px}.header nav>.nav-main:hover,.header .more-nav summary:hover{border-color:#e8bf7a;box-shadow:0 3px 12px #0002}.more-nav[open] summary{background:#3e4938;color:#f2d49d;border-color:#d5b77b}.header .more-links{width:480px;max-width:calc(100vw - 28px);padding:18px;border-radius:16px;border:1px solid #a3977066;background:#202b21;box-shadow:0 20px 65px #0008;max-height:calc(100dvh - 125px);overscroll-behavior:contain;z-index:6000;scrollbar-width:thin}.more-heading{font:10px/1.5 Arial,sans-serif!important;letter-spacing:.18em;text-transform:uppercase;color:#d1b985;margin:0 0 12px!important}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.header .more-links .more-grid a{display:flex;align-items:center;gap:10px;margin:0;padding:11px 9px;min-height:65px;border:1px solid transparent;border-radius:10px;background:transparent;text-decoration:none}.header .more-links .more-grid a:hover,.header .more-links a[aria-current=page]{background:#354232;border-color:#83926766}.more-icon{width:33px;height:36px;display:grid;place-items:center;flex-shrink:0;color:#ddbd85}.more-icon svg{width:23px;height:23px}.header .more-links a strong{font:600 13px/1.4 Arial,sans-serif;color:#f2ecd9}.header .more-links a small{font:11px/1.5 Arial,sans-serif;color:#bbc5b3;margin-top:3px}.header .more-links .staff-link{display:flex;justify-content:space-between;align-items:center;margin:12px 0 0;padding:12px 9px 0;min-height:44px;border:0;border-top:1px solid #76826555;border-radius:0;background:transparent;color:#c9d1c1;font:12px Arial,sans-serif}.header .more-links .staff-link small{margin:0}.header a:focus-visible,.header summary:focus-visible{outline:2px solid #f0ce92;outline-offset:3px}.header .brand img{filter:drop-shadow(0 2px 10px #eac16b33)}footer{padding:22px 16px;display:flex;gap:8px 24px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:.75rem}footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.info-page main{padding:24px 24px 54px}.back-home{font-size:.75rem;display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#d8c399;margin-bottom:20px}.back-home::before{content:'‹';font-size:1.4rem}.info-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:start}.info-content h1{font:normal clamp(2rem,4.5vw,3.8rem)/1.06 Georgia,serif;letter-spacing:-.03em;margin:12px 0 20px}.info-content .eyebrow{font-size:.66rem}.info-content>p{font-size:.9375rem;line-height:1.7;margin-bottom:16px;color:#d2d7c8}.info-content .info-lead{font-size:1.05rem;color:#ead8b6}.info-image{width:100%;height:440px;object-fit:cover;border-radius:130px 130px 12px 12px}.info-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.info-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:9px;border:1px solid #a6ac8966;font-size:.8125rem;font-weight:600}.info-actions .primary{background:#e8bf7a;color:#233022}.info-hours{margin-top:28px}.info-hours h2{font:1.65rem Georgia,serif;margin-bottom:12px}.info-hours>p{font-size:.8rem;margin:10px 0}.contact-hours-row{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;padding:10px 0;border-bottom:1px solid #73826144}.contact-hours-row small{display:block;color:#c1c9b5}.reservation-modal[data-inline]{display:block;position:static;transform:none;width:100%;max-height:none;overflow:visible;padding:20px;margin-top:22px;border-radius:14px;background:#20291f}.info-page #reservationBackdrop{display:none!important}.reservation-modal[data-inline] label{display:block}.reservation-modal[data-inline] .reservation-grid{grid-template-columns:1fr 1fr}.reservation-modal[data-inline] .reservation-grid label:last-child{grid-column:1/-1}
@media(max-width:760px){.header .more-links{width:340px;padding:13px;max-height:calc(100dvh - 160px)}.more-grid{grid-template-columns:1fr;gap:1px}.header .more-links .more-grid a{min-height:59px;padding:8px}.info-layout{gap:25px;grid-template-columns:1fr}.info-image{height:240px;border-radius:80px 80px 10px 10px;order:2}.info-page main{padding:12px 18px 30px}.info-content h1{font-size:2.35rem}.info-content>p{font-size:.875rem}.back-home{margin-bottom:12px}.reservation-modal[data-inline]{padding:15px}footer{gap:0 14px}footer strong{width:100%;text-align:center}}
@media(max-width:600px){.header nav>.nav-main,.header .more-nav summary{padding:8px 12px;font-size:12px}.header nav{gap:7px}.header .more-links{max-width:calc(100vw - 28px);right:0;width:320px}}
@media(max-height:500px) and (orientation:landscape){.header .more-links{width:470px;max-height:calc(100dvh - 82px)}.more-grid{grid-template-columns:1fr 1fr}.header .more-links .more-grid a{min-height:58px}.info-layout{grid-template-columns:1.1fr .9fr;gap:28px}.info-image{height:260px}}
@media(prefers-reduced-motion:reduce){.header nav>.nav-main,.header .more-nav summary{transition:none}}

/* v50: native iOS form sizing and restrained accessible focus */
.reservation-form,.reservation-grid,.reservation-field{min-width:0;max-width:100%}
.reservation-modal[data-inline] .reservation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reservation-form input,.reservation-form textarea,.reservation-form select{box-sizing:border-box;min-width:0;min-inline-size:0;width:100%;max-width:100%;max-inline-size:100%;border:1px solid #68735b;border-radius:9px;background:#182117;font-size:16px;font-weight:400;line-height:1.35}
.reservation-form input[type=date],.reservation-form input[type=time]{-webkit-appearance:none;appearance:none;display:block;padding:12px 10px;min-height:50px;text-align:left}
.reservation-form input::-webkit-date-and-time-value{text-align:left;min-height:1.35em}
.reservation-form input::-webkit-datetime-edit{padding:0;min-width:0}
.assistant textarea:focus,.reservation-form input:focus,.reservation-form textarea:focus,.reservation-form select:focus{border-color:#e8bf7a;outline:1px solid #e8bf7a;outline-offset:1px;box-shadow:none}
.footer-org{flex-basis:100%;text-align:center;font-size:11px;letter-spacing:.025em;color:#c4c9b9}
.site-legal{background:#1c251c;color:#c4c9b9;border-top:1px solid #505c44;margin:0;font:12px/1.5 Arial,sans-serif}
.welcome-image img{object-position:center}
@media(max-width:480px){.reservation-modal[data-inline] .reservation-grid{grid-template-columns:minmax(0,1fr);gap:0}.reservation-modal[data-inline] .reservation-grid label:last-child{grid-column:auto}.welcome-image img{object-position:52% center}}

.sakura-footer{display:block;text-align:center;background:#1c251c;color:#c4c9b9;border-top:1px solid #505c44;padding:25px 16px calc(30px + env(safe-area-inset-bottom));font:14px/1.7 Arial,sans-serif}.sakura-footer strong{display:block;font-size:16px;color:#f5efdf}.sakura-footer p{margin:5px 0;color:#c4c9b9}.sakura-footer a{display:inline;min-height:0;color:#e8bf7a;text-decoration:none;white-space:nowrap}.sakura-footer small{display:block;font-size:12px}.sakura-menu .sakura-footer{padding-bottom:110px}.visit-section{border-top:1px solid #4f5b46;margin-top:28px}@media(max-width:600px){.sakura-footer{font-size:13px;padding-top:22px}.sakura-footer strong{font-size:15px}.sakura-footer small{font-size:11px}.visit-section{padding-top:24px}}
