:root{
  --green:#0e4d39;
  --green-2:#1a6b51;
  --ink:#0e4d39;
  --muted:#5b6b63;
  --line:#cfe2d9;
}
*{box-sizing:border-box}
body{
  margin:0; background:#fff; color:var(--ink);
  font-family:'Noto Sans KR', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

header{
  position:sticky;
  top:0;
  z-index:9999;
  backdrop-filter:saturate(180%) blur(6px);
  background:rgb(255 255 255 / .9);
  border-bottom:1px solid var(--line);
}

.container{max-width:1100px; margin:0 auto; padding:16px 20px}
.brand{display:flex; align-items:flex-end; justify-content:space-between; gap:16px}
.brand h1{font-family:'Playfair Display', serif; font-weight:800; letter-spacing:.06em; margin:0; font-size:28px}
.brand small{color:var(--muted)}
nav{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px}
nav a{padding:6px 10px; border:1px solid var(--line); border-radius:999px; text-decoration:none; color:var(--green); font-weight:600; font-size:.9rem}
main{padding:20px}
section{max-width:1100px; margin:0 auto 36px; padding:0 4px}
.section-title{display:flex; align-items:center; gap:12px; margin:18px 0 14px}
.section-title h2{margin:0; font-size:22px; font-weight:800; letter-spacing:.02em}
.section-title .rule{flex:1; height:2px; background:var(--green); opacity:.2}

/* grid for menu items */
.grid{display:grid; grid-template-columns:1fr auto; gap:6px 14px}
.item{display:contents}
.name{font-weight:700}
.roman{font-weight:600; font-size:.92rem; color:var(--green-2); margin-left:6px}
.price{font-weight:700; justify-self:end}
.desc{grid-column:1 / -1; color:#4c5a54; font-size:.92rem}
.divider{border-top:1px dashed var(--line); margin:8px 0 16px}

/* 2-col layout for desktop sections that have a lot of lines */
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:24px}

@media (max-width:900px){
  .two-col{grid-template-columns:1fr}
}
@media (max-width:560px){
  nav{gap:6px}
  nav a{font-size:.85rem; padding:5px 9px}
  .grid{grid-template-columns:1fr}
  .price{justify-self:start}
}
footer{border-top:1px solid var(--line); color:#7a8a83; text-align:center; padding:22px 16px; font-size:.9rem}

