/* Direct links use the same verified destinations in every placement. */
:root{--dock-height:70px}
html{scroll-padding-bottom:calc(var(--dock-height,70px) + 16px)}
.refined-a .reservation-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.refined-a .reservation-links a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:50px;padding:8px 5px;border:1px solid #c5b49166;color:#e4d3b2;background:#172016;font:12px/1.35 var(--sans);letter-spacing:0;text-align:center;white-space:nowrap}
.refined-a .reservation-links a small{font:10px/1 var(--sans);color:#bcac8c;letter-spacing:.08em}
.refined-a .reservation-links a:hover{background:#c9af81;color:#151b14}
.refined-a .reservation-links a:hover small{color:inherit}
.refined-a .reservation-links a:focus-visible{outline:2px solid #f3dfb8;outline-offset:2px}
.refined-a .booking-options{padding-top:30px;scroll-margin-top:8px}
.refined-a .booking-options h3{font:24px/1.6 ShinoSerif;letter-spacing:.08em}
.refined-a .booking-options>p{font:12px/1.9 var(--sans);margin:10px 0 18px;color:#cfc6b4}
.refined-a .visit-reservations a{min-height:70px}
.refined-a .menu-panel nav .menu-reservations{margin-bottom:8px}
.refined-a .menu-panel nav .menu-reservations a{font:12px/1.35 var(--sans);min-height:58px;padding:8px 5px;margin:0;border:1px solid #3b472d55;background:#e5dcc9;color:#263024;justify-content:center}
.refined-a .menu-panel nav .menu-reservations a span{font:inherit;letter-spacing:0;align-self:auto}
.refined-a .menu-panel nav .menu-reservations a small{color:#615b4d}
.refined-a .mobile-dock{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:22px;position:fixed;z-index:50;inset:auto 0 0;padding:9px 4vw calc(9px + env(safe-area-inset-bottom));background:#101810f5;border-top:1px solid #c5b49155;backdrop-filter:blur(14px)}
.refined-a .dock-tools{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:4px;align-items:center}
.refined-a .dock-tools a{display:flex;justify-content:center;align-items:center;gap:6px;padding:0 3px;min-width:0;min-height:44px;border:0;background:none;color:#e3ddce;font:11px/1.2 var(--sans);letter-spacing:0;white-space:nowrap}
.refined-a .dock-tools svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.refined-a .dock-tools a:hover{color:#d1b98b;text-decoration:underline;text-underline-offset:4px}
.refined-a .dock-reservations{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.refined-a .dock-reservations a{font-size:11px;min-height:48px;padding:6px 4px;gap:5px}
.refined-a .dock-reservations a small{font-size:9px}
.refined-a .site-footer{padding-bottom:calc(var(--dock-height,70px) + 28px)}
.refined-a .scene-sticky{height:calc(100svh - var(--dock-height,70px));min-height:360px}
@media(min-width:761px){
 .refined-a .hero-bottom{bottom:calc(var(--dock-height,70px) + 26px)}
 .refined-a .hero-a-copy{bottom:calc(var(--dock-height,70px) + 85px)}
}
@media(min-width:761px) and (max-width:1100px){
 :root{--dock-height:120px}
 .refined-a .mobile-dock{grid-template-columns:190px minmax(0,1fr);gap:18px}
 .refined-a .dock-reservations{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 :root{--dock-height:163px}
 .refined-a .mobile-dock{display:block;padding:6px 12px calc(8px + env(safe-area-inset-bottom))}
 .refined-a .dock-tools{margin-bottom:5px;gap:7px;grid-template-columns:1.35fr 1fr 1fr}
 .refined-a .dock-tools a{font-size:11px;min-height:44px}
 .refined-a .dock-tools a+a{border-left:1px solid #c5b49133}
 .refined-a .dock-reservations{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .refined-a .dock-reservations a{min-height:44px;padding:5px 2px;font-size:10px;gap:5px}
 .refined-a .dock-reservations a small{font-size:9px}
 .refined-a .hero-a{min-height:360px}
 .refined-a .booking-options h3{font-size:22px}
 .refined-a .visit-reservations a{font-size:11px;min-height:64px}
 .refined-a .menu-panel nav .menu-reservations{gap:5px}
 .refined-a .menu-panel nav .menu-reservations a{font-size:10px;min-height:48px;padding:5px 2px}
}
@media(max-width:760px) and (max-height:650px){
 .refined-a .hero-a-copy{top:90px}
 .refined-a .hero-a h1 span{font-size:26px;letter-spacing:.1em}
 .refined-a .hero-a h1 span:last-child{padding-top:26px}
 .refined-a .hero-sub{font-size:10px;margin-top:14px}
 .refined-a .hero-eyebrow{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .refined-a .scene-sticky{min-height:440px}
}
