:root{--paper:#fff8ed;--ink:#25151b;--cherry:#a51436;--pink:#ffc6d3;--lime:#e4f276}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 5%;border-bottom:1px solid var(--ink)}nav{display:flex;gap:clamp(12px,4vw,50px)}nav a{text-decoration:none;font-weight:650}.logo{width:110px;height:58px;display:grid;place-items:center;overflow:hidden}.logo img{width:185px;max-width:none;mix-blend-mode:multiply;justify-self:center}.pill{display:inline-block;border:1px solid transparent;border-radius:100px;background:var(--cherry);color:white;padding:12px 22px;text-decoration:none;font-weight:700;text-align:center}.pill:hover{background:#71112a}.hero,.party,.booking{display:grid;grid-template-columns:1fr 1fr}.hero-copy{padding:clamp(36px,6vw,100px) 9%;align-self:center}.tag,figcaption{letter-spacing:.14em;font-weight:750;font-size:.71rem}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:900;line-height:.92;letter-spacing:-.075em}h1{font-size:clamp(54px,7.8vw,130px);margin:22px 0}h2{font-size:clamp(44px,6vw,93px);margin:14px 0 22px}h3{font-size:clamp(23px,3vw,40px);letter-spacing:-.045em}em{color:var(--cherry)}.actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:26px}.plain{font-weight:700}.hero figure,.party figure{position:relative;min-height:360px;background:var(--pink)}.hero img,.party img{display:block;width:100%;height:100%;position:absolute;object-fit:cover}.hero figcaption,.party figcaption{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:7px 10px}.strip{text-align:center;background:var(--lime);padding:12px 10px;letter-spacing:.14em;font-size:.75rem;font-weight:900;border-block:1px solid var(--ink)}.section{padding:clamp(38px,7vw,100px) 7%}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.filters button{border-radius:100px;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:6px 13px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;background:var(--pink)}.gallery figcaption{padding:9px 0}.menu{background:var(--pink)}.service{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--ink)}.service a{font-weight:750}.booking{gap:36px;align-items:start}.booking p,.party p{max-width:48ch}.party{background:var(--lime)}form{display:grid;gap:12px;margin-top:16px}form .pill{justify-self:start}label{display:grid;gap:4px;font-size:.9rem;font-weight:700}input,select,textarea{width:100%;min-width:0;border:1px solid var(--ink);border-radius:8px;background:var(--paper);padding:8px;color:var(--ink)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}footer{padding:24px 7%;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.mobile{display:none}:focus-visible{outline:3px solid #155dda;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:700px){header{padding-inline:4%;gap:8px}nav{gap:12px;font-size:.85rem}.headcta{display:none}.hero,.party,.booking{grid-template-columns:1fr}.hero-copy{padding:35px 7%}.hero figure,.party figure{min-height:300px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.service{grid-template-columns:1fr auto}.service p{grid-row:2;grid-column:1/-1}.booking{gap:10px}.mobile{display:block;position:fixed;bottom:10px;right:12px;z-index:1;box-shadow:0 3px 15px #25151b44}footer{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.logo{position:relative;flex-shrink:0}.logo img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}@media(max-width:360px){.logo{width:86px}.logo img{width:150px}nav{gap:8px}}

.logo img{width:100%;height:auto;mix-blend-mode:normal}

#booking{max-width:min(92vw,34rem);max-height:90vh;border:1px solid #39251e;border-radius:16px;padding:1.5rem;background:#fff8ee;color:#29191a}#booking::backdrop{background:#251519a0}#reserve{display:grid;gap:.65rem}#reserve input,#reserve select{width:100%;padding:.5rem}
