:root{--accent:#e3ef9c;--ink:#203628}body:has(.kibo){--accent:#f7d967;--ink:#36283b}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb4580;outline-offset:4px}.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:#db4885;z-index:20;transform-origin:left;pointer-events:none}.nav{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #20251f18}html{scroll-padding-top:110px}.hero-copy>.eyebrow{animation:rise .7s both}.hero h1{animation:rise .85s .1s both}.hero-copy>.intro{animation:rise .8s .2s both}.hero-copy>.cta,.hero-actions{animation:rise .8s .3s both}.hero-image{animation:photo-in 1.4s ease-out both}.cta{border:0;transition:transform .25s,box-shadow .25s,background .25s}.cta:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0002}.cta svg,.text-link svg,.nav-contact svg{transition:transform .25s}.cta:hover svg,.text-link:hover svg,.nav-contact:hover svg{transform:translate(3px,-3px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.revealed{opacity:1;transform:none}.menu-band{grid-template-columns:.8fr 1.2fr;align-items:start;padding-top:85px;padding-bottom:85px}.menu-list>.menu-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;border:0;padding:0 0 22px}.menu-filters button{border:1px solid #d3d4cf;border-radius:4px;padding:10px 14px;font-size:12px;min-height:42px;background:transparent;color:inherit}.menu-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.menu-list>.dish-grid{display:grid;grid-template-columns:1fr;align-content:start;gap:0;padding:0;border:0;min-height:390px}.dish{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 0;border-bottom:1px solid #20251f25;animation:dish-in .35s calc(var(--i)*.045s) both}.dish h3{font-size:15px;font-weight:500;margin:0}.dish p{font-size:12px;color:#62635d;margin-top:6px;line-height:1.5;max-width:280px}.dish strong{font-size:14px;white-space:nowrap}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:85px 7%;background:#203628;color:white}.kibo .contact-section{background:#36283b}.contact-heading h2{font:normal 57px/1.05 Georgia,serif;margin-bottom:28px}.contact-heading em{color:var(--accent)}.contact-heading>p{font-size:16px;line-height:1.7}.contact-heading>.eyebrow{font-size:11px}.contact-heading>.contact-note{font-size:12px;opacity:.75;max-width:320px;margin-top:22px}.inquiry-form{display:grid;gap:10px}.inquiry-form label{font-size:12px;margin-top:5px;display:block}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;min-width:0;color:#20251f;background:white;border:1px solid #d4d9d3;border-radius:3px;min-height:48px;padding:12px;font-size:16px}.inquiry-form textarea{resize:vertical;min-height:85px}.inquiry-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row label{margin-bottom:10px}.inquiry-form .cta{width:100%;margin-top:10px;background:var(--accent);color:var(--ink)}.message-result:empty{display:none}.message-result{border-top:1px solid #ffffff50;margin-top:10px;padding-top:16px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.message-result .text-link{margin-top:14px;color:var(--accent)}.message-result small{display:block;margin-top:12px;font-size:11px;opacity:.8}.mobile-actions{display:none}.visit-links a{transition:transform .25s}.visit-links a:hover{transform:translateX(4px)}.hero{min-height:555px}.hero-bottom>a:hover{transform:translateY(4px)}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes photo-in{from{transform:scale(1.055);filter:saturate(.65)}to{transform:scale(1);filter:saturate(1)}}@keyframes dish-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:700px){html{scroll-padding-top:96px}.hero{min-height:520px;height:calc(100svh - 220px)}.menu-band{grid-template-columns:1fr;padding:48px 7%;gap:30px}.menu-list>.dish-grid{min-height:450px}.dish{padding:19px 0}.dish h3{font-size:14px}.dish p{font-size:11px;max-width:210px}.dish strong{font-size:13px}.menu-filters button{font-size:11px;padding:10px 12px}.contact-section{grid-template-columns:1fr;gap:34px;padding:50px 7%}.contact-heading h2{font-size:43px}.contact-heading>.contact-note{max-width:none}.mobile-actions{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:12;border-top:1px solid #ddd;box-shadow:0 -4px 20px #0001;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-actions a{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;min-height:46px;font-size:12px;border:1px solid #d6d8d3;border-radius:3px}.mobile-actions a:last-child{background:var(--accent);color:var(--ink);border-color:var(--accent)}.mobile-actions svg{width:17px}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.hero-bottom{bottom:15px}.hero-copy,.kibo .hero-copy{padding-top:34px}.hero-copy .intro{margin-top:20px;margin-bottom:20px}.kibo h1{font-size:70px}.kibo h1 span{font-size:54px}.reservation-note{font-size:9px}.contact-section .eyebrow{margin-bottom:18px}}
.reservation-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding:18px 0;margin:8px 0}.reservation-summary dt{opacity:.7}.reservation-summary dd{margin:0;overflow-wrap:anywhere}.edit-reservation{display:block;background:transparent;color:white;border:1px solid #ffffff80;border-radius:3px;padding:12px 16px;min-height:44px;font-size:13px}.message-result h3{font-size:19px;margin:0 0 10px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
