:root{--char:#171310;--gold:#c9a227;--cream:#f4efe7;--sub:#8a8175}*{margin:0;box-sizing:border-box}body{font-family:Inter,sans-serif;color:var(--cream);background:var(--char);line-height:1.65}h1,h2,h3{font-family:EB Garamond,serif;font-weight:600}.demo-ribbon{background:#1e293b;color:#faf5f2;font-size:13px;text-align:center;padding:8px 16px;position:relative;z-index:10}.demo-ribbon a{color:#f5b06c;font-weight:600;text-decoration:none}nav{position:absolute;top:44px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 6vw;z-index:5}nav .brand{font-family:EB Garamond,serif;font-size:24px;letter-spacing:.12em}nav .brand span{color:var(--gold)}.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold);background:transparent;padding:12px 30px;font:500 13.5px Inter;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}.btn:hover{background:var(--gold);color:var(--char)}.hero{position:relative;height:100vh;min-height:560px;display:grid;place-items:center;overflow:hidden;text-align:center}.hero .bg{position:absolute;inset:-4%;background:url(/images/hero.jpg) center/cover;animation:slowzoom 18s ease-out forwards}@keyframes slowzoom{0%{transform:scale(1.12)}to{transform:scale(1)}}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#17131040,#171310e0 90%)}.hero>div{position:relative;z-index:2;padding:0 20px;animation:riseup 1.1s ease .2s backwards}@keyframes riseup{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.hero h1{font-size:clamp(42px,7vw,84px);line-height:1.02;margin-bottom:14px;white-space:pre-line}.hero p{color:#cfc5b4;font-family:EB Garamond,serif;font-style:italic;font-size:20px;margin-bottom:32px}.scrollcue{position:absolute;bottom:26px;left:50%;transform:translate(-50%);z-index:2;color:#cfc5b4;font-size:12px;letter-spacing:.2em;text-transform:uppercase;animation:bob 2.2s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}section{padding:90px 6vw}.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.rv.in{opacity:1;transform:none}.menu{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:start;max-width:1100px;margin:0 auto}.menu h2{font-size:40px;margin-bottom:8px}.menu .note{color:var(--sub);font-size:14px;margin-bottom:34px;font-style:italic}.dish{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid rgba(201,162,39,.2)}.dish h3{font-size:21px}.dish small{display:block;color:var(--sub);font-size:13.5px;margin-top:4px}.dish .price{color:var(--gold);font-family:EB Garamond;font-size:19px}.dolce img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.dolce figcaption{margin-top:14px;font-size:14px;color:var(--sub);font-style:italic;text-align:center}.band{position:relative;min-height:64vh;background:url(/images/room.jpg) center/cover fixed;display:grid;place-items:center;text-align:center;padding:90px 6vw}.band:after{content:"";position:absolute;inset:0;background:#1713109e}.band>div{position:relative;z-index:2;max-width:600px}.band h2{font-size:clamp(30px,4vw,46px);margin-bottom:14px}.band p{color:#d8cfc0;font-family:EB Garamond,serif;font-style:italic;font-size:19px;margin-bottom:30px}.visit{border-top:1px solid rgba(201,162,39,.25);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:34px;text-align:center}.visit h3{color:var(--gold);font-size:22px;margin-bottom:8px}.visit p{color:#cfc5b4;font-size:15px;white-space:pre-line}dialog{border:none;background:var(--char);color:var(--cream);border-radius:4px;border-top:2px solid var(--gold);padding:38px;max-width:430px;width:92vw}dialog::backdrop{background:#0a0806cc;backdrop-filter:blur(4px)}dialog h2{font-size:30px;margin-bottom:4px}dialog .sub2{color:var(--sub);font-size:14px;font-style:italic;margin-bottom:20px}dialog label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin-top:16px}dialog input,dialog select{width:100%;margin-top:7px;padding:11px 13px;background:#241e18;border:1px solid #3a322a;color:var(--cream);font:14.5px Inter;border-radius:3px}.times{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.times button{background:transparent;border:1px solid #3a322a;color:var(--cream);padding:9px 14px;font:500 13.5px Inter;cursor:pointer;transition:all .2s}.times button:hover{border-color:var(--gold)}.times button.sel{background:var(--gold);border-color:var(--gold);color:var(--char)}dialog .btn{width:100%;margin-top:24px}dialog .x{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--sub);font-size:22px;cursor:pointer}.thanks{text-align:center;padding:10px 0;animation:riseup .5s ease}.thanks .g{font-size:40px;color:var(--gold)}footer{padding:24px 6vw;font-size:13.5px;color:var(--sub);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}footer a{color:var(--gold)}@media(max-width:820px){.menu{grid-template-columns:1fr}.band{background-attachment:scroll;padding:70px 6vw}nav{position:static;padding:16px 5vw}.hero{height:auto;min-height:82vh}nav .brand{font-size:19px}.btn{padding:11px 18px;letter-spacing:.1em}section{padding:56px 6vw}.menu h2{font-size:32px}dialog{padding:28px 22px}dialog input,dialog select{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}nav .btn,nav .cart-btn,nav .bag{white-space:nowrap}
