:root{
  --foam:#fbfdfc; --sea:#1f4e5f; --sea2:#2c6577; --glass:#a9cbd2; --glass-t:#e5f0f1; --sand:#f1e9db; --sun:#f2c14e; --ink:#163845; --mute:#5f7d87; --line:#dbe7e8;
  --serif:"Young Serif",Georgia,serif; --sans:"Figtree",system-ui,sans-serif; --mono:"DM Mono",ui-monospace,monospace;
  --pad:clamp(16px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--foam);color:var(--ink);font:400 17px/1.65 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:2.5px solid var(--sea2);outline-offset:3px;border-radius:8px}
.mono{font:500 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.eyebrow{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sea2)}
h2{font:400 clamp(34px,4.6vw,62px)/1.05 var(--serif);letter-spacing:-.015em;color:var(--sea)}

.btn{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 24px;border-radius:999px;background:var(--sea);color:#fff;font-weight:600;transition:background .25s,transform .25s}
.btn:hover{background:var(--sea2);transform:translateY(-1px)}
.btn-soft{background:var(--glass-t);color:var(--sea)}
.btn-soft:hover{background:#d6e8ea}

.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--pad);background:rgba(251,253,252,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.logo{display:flex;align-items:center;gap:8px;font:400 26px/1 var(--serif);color:var(--sea)}
.logo svg{width:30px;height:16px;fill:none;stroke:var(--glass);stroke-width:4;stroke-linecap:round}
.links{display:flex;gap:28px;font-weight:600;font-size:15px;color:var(--mute)}
.links a:hover{color:var(--sea)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:#e3f5ea;color:#1c7a4a}
.status i{width:8px;height:8px;border-radius:50%;background:#2fb36b}
.status.closed{background:#f6efe2;color:#8a6a2c}
.status.closed i{background:#c9a35a}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;padding:clamp(40px,7vw,100px) var(--pad) clamp(60px,8vw,110px)}
.hero h1{font:400 clamp(44px,6.4vw,92px)/1.02 var(--serif);letter-spacing:-.02em;color:var(--sea);margin:16px 0 22px}
.hero h1 em{font-style:normal;color:var(--glass);-webkit-text-stroke:0}
.lead{font-size:clamp(17px,1.4vw,20px);color:var(--mute);max-width:44ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-art{position:relative}
.arch{aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;background:var(--glass-t)}
.arch img{width:100%;height:112%;object-fit:cover;object-position:60% 50%;margin-top:-6%}
.special{position:absolute;left:clamp(-40px,-3vw,-16px);bottom:8%;width:min(280px,70%);padding:18px 20px;border-radius:20px;background:#fff;box-shadow:0 24px 50px -20px rgba(22,56,69,.35)}
.special .mono{color:#b8892a}
.special-name{font:400 19px/1.25 var(--serif);color:var(--sea);margin:8px 0 6px}
.special-price{font-weight:700;color:var(--mute)}

.bean{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 20px;padding:22px var(--pad);background:var(--sea);color:#e7f3f4;text-align:center}
.bean .mono{color:var(--glass)}
.bean b{font:400 22px var(--serif);color:#fff}

section.menu,section.reviews,section.find{padding:clamp(80px,10vw,140px) var(--pad)}
.sec-head{display:grid;gap:14px;margin-bottom:34px}
.updated{color:var(--mute);text-transform:none;letter-spacing:.01em;font-size:13px}
.tabs{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:var(--glass-t);margin-bottom:26px}
.tabs button{padding:10px 20px;border-radius:999px;font-weight:600;color:var(--mute)}
.tabs button[aria-selected="true"]{background:#fff;color:var(--sea);box-shadow:0 2px 8px -2px rgba(22,56,69,.2)}
.menu{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(32px,6vw,90px)}
.menu .sec-head,.menu .tabs{grid-column:1}
.menu .tabs{justify-self:start}
.panel{grid-column:1}
.items{list-style:none}
.items li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px dashed var(--line)}
.items b{display:block;font:400 21px/1.3 var(--serif);color:var(--sea)}
.items span{color:var(--mute);font-size:15px}
.items em{font-style:normal;font-weight:700;font-size:17px;color:var(--sea);white-space:nowrap}
.tag{font:500 10px var(--mono);font-style:normal;padding:2px 6px;border-radius:5px;background:var(--glass-t);color:var(--sea2);vertical-align:2px}
.menu-pics{grid-column:2;grid-row:1 / span 4;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}
.menu-pics img{border-radius:22px;aspect-ratio:4/5;object-fit:cover;width:100%}
.menu-pics img:last-child{margin-top:60px}

.card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;padding:clamp(80px,10vw,140px) var(--pad);background:var(--sand)}
.card-copy{display:grid;gap:18px}
.card-copy p:not(.eyebrow):not(.k-msg){color:#6b6457;max-width:42ch}
.wallet-btns{display:flex;flex-wrap:wrap;gap:10px}
.wbtn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 18px;border-radius:12px;background:#111;color:#fff;font-weight:600;font-size:15px}
.wbtn svg{width:20px;fill:#fff}
.phone{position:relative;justify-self:center;width:min(340px,100%);padding:56px 18px 30px;border-radius:44px;background:#0d1a20;box-shadow:0 40px 80px -30px rgba(13,26,32,.6),inset 0 0 0 2px #2a3a42}
.phone::before{content:"";position:absolute;top:16px;left:50%;width:90px;height:24px;border-radius:999px;background:#000;transform:translateX(-50%)}
.pass{border-radius:20px;padding:20px;background:linear-gradient(160deg,#2c6577,#1f4e5f);color:#fff}
.pass-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}
.pass-top b{font:400 22px var(--serif)}
.pass-top .mono{color:var(--glass)}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.stamps i{aspect-ratio:1;border-radius:50%;border:2px dashed rgba(255,255,255,.35);display:grid;place-items:center;font:500 12px var(--mono);font-style:normal}
.stamps i.on{border:0;background:var(--glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Cpath d='M4 12c5-6 10-6 16 0s11 6 16 0' stroke='%231f4e5f' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/60% no-repeat}
.stamps i.free{border-color:var(--sun);color:var(--sun)}
.pass-foot{display:flex;justify-content:space-between;align-items:center;margin-top:20px}
.pass-foot .mono{color:var(--glass)}
.qr{width:52px;height:52px;border-radius:6px;background:#fff conic-gradient(#0d1a20 25%,#fff 0 50%,#0d1a20 0 75%,#fff 0) 0 0/13px 13px;border:5px solid #fff}
.notif{margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.95);color:var(--ink);font-size:14px}
.notif b{font-size:13px}

.moments{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px;padding:0 var(--pad);margin-top:clamp(80px,10vw,140px)}
.m{border-radius:22px;overflow:hidden;aspect-ratio:4/5}
.m3{aspect-ratio:auto}
.m img{width:100%;height:100%;object-fit:cover}

.reviews{text-align:center}
.rv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;text-align:left}
.rv blockquote{padding:28px;border-radius:22px;background:var(--glass-t)}
.rv p{font:400 22px/1.3 var(--serif);color:var(--sea)}
.rv cite{display:block;margin-top:14px;font-style:normal;color:var(--mute);font-size:14px;font-weight:600}

.find{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:end;border-top:1px solid var(--line)}
.find h2{margin:14px 0 16px}
.find p{color:var(--mute);max-width:42ch;margin-bottom:24px}
.hrs div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}
.hrs dt{color:var(--mute)}
.hrs dd{font-weight:700;color:var(--sea)}

.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:30px var(--pad) 90px;border-top:1px solid var(--line);color:var(--mute);font-size:14px}

@media (max-width:900px){
  .links{display:none}
  .hero,.card,.find,.menu{grid-template-columns:minmax(0,1fr)}
  .menu-pics{grid-column:1;grid-row:auto;margin-top:30px}
  .special{left:12px}
  .moments{grid-template-columns:1fr 1fr}
  .m3{grid-column:span 2;aspect-ratio:16/10}
  .rv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .status span{font-size:13px}
  .menu-pics img:last-child{margin-top:30px}
}

@media (max-width:560px){.st-more{display:none}}
