/* Stable viewport baseline: mobile browser chrome never drives a dynamic height. */
.restaurant-space{min-height:100svh;padding:105px var(--gutter) 32px;background:#181410;align-items:center}
.space-image picture{display:block;width:100%;height:100%}
.space-image img{object-position:50% 40%}
.restaurant-space:after{background:linear-gradient(90deg,#0f100cc2,#0f100c40 62%,#0f100c2e),linear-gradient(0deg,#0f100c8c,transparent 70%)}
.space-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.8fr);gap:7vw;align-items:center;width:100%;max-width:1600px;margin:auto}
.space-copy h2{font-size:clamp(64px,7vw,115px)}
.space-copy p{max-width:440px;font-size:19px;margin:25px 0 30px}
.review-reveal{transform:rotate(-1.2deg);scroll-margin-top:92px}
.review-note{position:relative;padding:24px 30px 20px;background:#f3eddf;color:#203b2e;box-shadow:0 25px 65px #0005}
.review-note-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15px;padding-bottom:14px;border-bottom:1px solid #203b2e30}
.review-flower{display:block;color:#987237;font-size:38px;line-height:.8}
.review-note h3{font:400 clamp(30px,2.7vw,40px)/1.06 Young,Georgia,serif;letter-spacing:-.035em;margin:16px 0}
.review-rating{border:0;padding:0;margin:0;min-width:0}
.review-rating legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rating-stars{display:flex;gap:8px;max-width:100%;width:max-content}
.rating-star{position:relative;display:block;width:44px;height:44px;cursor:pointer}
.rating-star input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}
.rating-star svg{display:block;width:100%;height:100%;padding:3px;overflow:visible;transform-origin:center;pointer-events:none}
.rating-star path{fill:transparent;stroke:#987237;stroke-width:1.3;stroke-linejoin:round;transition:fill .16s ease}
.rating-star.is-filled path{fill:#b68a43}
.rating-star input:focus-visible+svg{outline:2px solid #203b2e;outline-offset:3px;border-radius:4px}
.rating-label{font-size:15px;margin:7px 0 0;color:#40574b}
.rating-result{margin-top:14px;border-top:1px solid #203b2e30;padding-top:14px}
.review-response{font:400 18px/1.4 Young,Georgia,serif;min-height:76px;margin:0 0 10px}
.rating-actions{display:grid;gap:0}
/* Fixed link slots keep pointer targets stable when a score changes. */
.rating-result.awaiting-rating .rating-actions{visibility:hidden;pointer-events:none}
.review-share{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-decoration:none}
.review-primary{padding:15px 18px;font-size:16px;min-height:50px;background:#203b2e;color:#f3eddf;transition:background-color .18s ease}
.review-primary:hover,.review-primary:focus-visible{background:#2f4d3d;color:#f3eddf}
.review-secondary{font-size:15px;padding:11px 0;min-height:44px;color:#203b2e;background:transparent;text-decoration:underline;text-underline-offset:4px}
.review-secondary:hover{color:#40574b;background:transparent}
.review-share>span[aria-hidden],.review-read>span{display:inline-block;transition:transform .2s ease;pointer-events:none}
.review-share:hover>span[aria-hidden],.review-read:hover>span{transform:translate(2px,-2px)}
.review-send-note{font-size:14px;line-height:1.4;margin:5px 0 0;color:#40574b}
.review-read{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;padding:12px 0 0;min-height:38px;text-decoration:underline;text-underline-offset:4px}
.visit{padding:55px var(--gutter)}
.visit-info{margin:0;padding:0;border:0;gap:8vw}
.visit-info h3{font-size:24px;margin-bottom:14px}
.visit-info address,.visit-info p{font-size:18px;line-height:1.55;margin-bottom:16px}
.visit-info strong{font-size:24px}
.visit-info .phone{margin-top:14px;font-size:17px}
.social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}
.social-links a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;border:1px solid #f3eddf66;font-size:16px;transition:background-color .2s ease,color .2s ease}
.social-links svg{width:20px;height:20px;flex-shrink:0}
.social-links a:hover,.social-links a:focus-visible{background:#f3eddf;color:#203b2e}
.social-links a>span{margin-left:12px;transition:transform .2s ease}
.social-links a:hover>span{transform:translate(2px,-2px)}
.visit-questions{margin-top:45px;column-gap:8vw}
.visit-questions h3{font-size:26px}
.visit-questions details{padding:18px 0}
.visit-questions summary{font-size:18px}
.visit-questions details p{font-size:17px}
@media(max-width:1000px) and (min-width:761px){.space-layout{gap:4vw;grid-template-columns:1fr 1fr}.space-copy h2{font-size:7.5vw}.review-note{padding:22px}.space-copy p{font-size:18px}}
@media(max-width:760px){
 .restaurant-space{min-height:0;padding:90px 6vw 40px}
 .space-layout{grid-template-columns:1fr;gap:36px}
 .space-copy h2{font-size:15vw}
 .space-copy p{font-size:18px;margin:20px 0 24px;max-width:390px}
 .space-image img{object-position:50% 30%}
 .restaurant-space:after{background:linear-gradient(180deg,#17141138,#17141199 30%,#171411eb 80%)}
 .review-reveal{width:100%;max-width:440px;justify-self:center;transform:none;scroll-margin-top:90px}
 .review-note{padding:20px 22px 16px}
 .review-note h3{font-size:32px;margin:14px 0}
 .review-note-top{font-size:14px;padding-bottom:12px}
 .review-flower{font-size:32px}
 .rating-stars{gap:5px}
 .review-response{font-size:18px;min-height:76px}
 .review-primary{font-size:15px;padding:14px 16px}
 .review-secondary{font-size:14px}
 .review-send-note{font-size:13px}
 .visit{padding:40px var(--gutter)}
 .visit-info{gap:30px}
 .visit-questions{margin-top:35px}
 .visit-questions h3{font-size:24px;margin-bottom:20px}
 .social-links{gap:10px}
 .social-links a{padding:12px;font-size:15px}
 .social-links a>span{margin-left:0}
}
@media(max-width:350px){.review-note{padding:18px 18px 14px}.review-note h3{font-size:29px}.rating-stars{gap:2px}.review-primary{font-size:14px;padding:14px}.review-note-top{font-size:13px}.review-response{font-size:17px;min-height:72px}}
@media(max-height:740px) and (min-width:761px){.restaurant-space{padding-top:92px;padding-bottom:20px}.review-note{padding:18px 24px 16px}.review-note h3{font-size:31px;margin:12px 0}.review-note-top{padding-bottom:10px}.review-flower{font-size:30px}.review-response{min-height:52px;font-size:17px}.review-read{min-height:32px;padding-top:8px}.space-copy h2{font-size:6.5vw}}
@media(prefers-reduced-motion:reduce){.rating-star path,.review-primary,.review-share>span,.review-read>span,.social-links a,.social-links a>span{transition:none}}
