  :root{
    --cream:#FFFFFF;
    --card:#FFFFFF;
    --ink:#4A3A34;
    --rose:#C99A8E;
    --rose-deep:#B07E71;
    --muted:#9A857C;
    --line:#E3D0C8;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:'EB Garamond',Georgia,serif;
    background:var(--cream);color:var(--ink);
    line-height:1.55;font-size:18px;-webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:720px;margin:0 auto;padding:0 26px}

  /* ---------- Sticky brand bar ---------- */
  .stickybar{
    position:fixed;top:0;left:0;right:0;z-index:60;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    padding:11px 20px;text-align:center;
    transform:translateY(-100%);
    transition:transform .28s ease;
  }
  .stickybar.show{transform:translateY(0)}
  .stickybar .sb-script{
    font-family:'Great Vibes',cursive;
    font-size:27px;line-height:1;color:var(--ink);
    vertical-align:middle;
  }
  .stickybar .sb-sub{
    font-family:'Cormorant Garamond',serif;font-weight:600;
    text-transform:uppercase;letter-spacing:.24em;
    font-size:11px;color:var(--rose-deep);
    vertical-align:middle;margin-left:12px;
  }

  /* ---------- Hero ---------- */
  header{text-align:center;padding:64px 0 40px}
  .script{
    font-family:'Great Vibes',cursive;
    font-size:clamp(76px,17vw,128px);
    line-height:.9;color:var(--ink);font-weight:400;
  }
  .subtitle{
    display:flex;align-items:center;justify-content:center;gap:18px;
    font-family:'Cormorant Garamond',serif;
    text-transform:uppercase;letter-spacing:.42em;
    font-size:clamp(16px,3.4vw,22px);color:var(--ink);
    margin:6px 0 0 .42em;font-weight:600;
  }
  .subtitle::before,.subtitle::after{
    content:"";height:1px;width:34px;background:var(--rose);
  }
  .tagline{
    font-style:italic;color:var(--muted);
    font-size:19px;margin-top:22px;
  }

  /* ---------- Menu card ---------- */
  main{padding-bottom:40px}
  .menu{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:26px;
    padding:44px 40px 48px;
    box-shadow:0 18px 46px -34px rgba(74,58,52,.30);
  }
  .group{margin-bottom:38px}
  .group:last-child{margin-bottom:0}
  .group-title{
    font-family:'Cormorant Garamond',serif;
    text-transform:uppercase;letter-spacing:.24em;
    font-size:15px;color:var(--rose-deep);font-weight:600;
    text-align:center;margin-bottom:6px;
  }
  .divider{
    width:44px;height:1px;background:var(--rose);
    margin:0 auto 20px;
  }

  .note{
    font-style:italic;color:var(--muted);
    font-size:15px;text-align:center;
    margin:-6px auto 18px;max-width:46ch;line-height:1.5;
  }

  .item{
    display:flex;align-items:baseline;gap:10px;
    padding:9px 0;
  }
  .item .name{font-size:18.5px}
  .item .lead{
    flex:1;border-bottom:1.5px dotted var(--line);
    transform:translateY(-5px);min-width:18px;
  }
  .item .price{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;font-size:19px;white-space:nowrap;color:var(--ink);
  }
  .item .price .plus{color:var(--muted);font-size:14px;font-style:italic}
  

  footer{
    text-align:center;padding:30px 0 64px;color:var(--muted);
    font-style:italic;font-size:15px;
  }
  
  @media(max-width:600px){
    .menu{padding:34px 22px 38px}
    footer{padding-bottom:56px}
  }
  @media(prefers-reduced-motion:reduce){*{transition:none!important}}
