:root{
    --paper:#FCFAF4; --panel:#F1E9DA; --ink:#0d0d0d; --ink-soft:#43403a;
    --dish-img:url(../images/dish.jpg);
    --hero:url(../images/hero.jpg);
    --parking-img:url(../images/parking-desktop.jpg);
    --parking-img-m:url(../images/parking-mobile.jpg);
    --gray:#8a8276; --line:#ddd2bf; --pom:#9a3324; --pom-d:#7a2618; --flourish:#bfb29a;
    --wmark:url(../images/watermark.svg);
    --maxw:1140px; --display:"Great Vibes", cursive; --body:"EB Garamond", Georgia, serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);background-image:var(--wmark);background-repeat:repeat;background-attachment:scroll;background-position:top center;background-size:1244px auto;color:var(--ink);font-family:var(--body);font-size:1.08rem;line-height:1.6;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;}
  a{color:inherit;}
  .eyebrow{font-family:var(--body);text-transform:capitalize;letter-spacing:.04em;font-size:.82rem;color:var(--pom);font-weight:600;}
  h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1;text-wrap:balance;}
  p{text-wrap:pretty;}
  .hero-tag,.card p,.events-inner p,.about-grid p,.visit-grid p,.visit-grid .big,.parking p{text-wrap:balance;}
  .mi-desc,footer .allergen{text-wrap:pretty;}
  .section-title{font-size:clamp(2rem,6vw,4rem);text-transform:none;color:var(--pom);}
  .brand{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.16em;}

  /* nav */
  nav{position:sticky;top:0;z-index:50;background:rgba(252,250,244,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem 1.5rem;max-width:var(--maxw);margin:0 auto;}
  .nav-mark{font-family:var(--body);font-weight:600;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;}
  .nav-links{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;}
  .nav-links a{position:relative;text-decoration:none;font-size:1rem;font-weight:600;text-transform:capitalize;letter-spacing:.03em;color:var(--ink-soft);padding-bottom:2px;transition:color .2s;}
  .nav-links a::after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:5px;width:14px;height:15px;background:url(../images/nav-flourish.svg) center/contain no-repeat;opacity:0;transition:opacity .2s;pointer-events:none;}
  .nav-links a:hover{color:var(--pom);font-weight:700;}
  .nav-links a:hover::after{opacity:1;}
  .nav-call{position:relative;font-size:.86rem;letter-spacing:.06em;text-decoration:none;font-weight:600;white-space:nowrap;transition:color .2s;}
  .nav-call::after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:5px;width:14px;height:15px;background:url(../images/nav-flourish.svg) center/contain no-repeat;opacity:0;transition:opacity .2s;pointer-events:none;}
  .nav-call:hover{color:var(--pom);font-weight:700;}
  .nav-call:hover::after{opacity:1;}
  .nav-break{display:none;}
  .nav-ph{display:none;align-items:center;color:var(--ink-soft);}.nav-burger{display:none;}
  .nav-ph:hover{color:var(--pom);border-color:var(--pom);}

  /* buttons */
  .btn{font-family:var(--body);font-size:.86rem;text-transform:capitalize;letter-spacing:.04em;font-weight:600;text-decoration:none;padding:.85rem 1.7rem;border:1.5px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;border-radius:7px;transition:.2s;display:inline-block;}
  .btn:hover{background:var(--ink);color:var(--paper);}
  .btn--pom{background:var(--pom);border-color:var(--pom);color:#fff;}
  .btn--pom:hover{background:var(--pom-d);border-color:var(--pom-d);color:#fff;}
  .btn--ghost{border-color:rgba(255,255,255,.8);color:#fff;}
  .btn--ghost:hover{background:#fff;color:var(--ink);}

  /* HERO IMAGE */
  .hero-image{position:relative;min-height:min(78vh,640px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3.5rem 1.5rem 4rem;
    background:#120c08;overflow:hidden;}
  .hero-image>.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;}
  .hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero) center/cover no-repeat;opacity:0;-webkit-transition:opacity 1.1s ease-in-out;transition:opacity 1.1s ease-in-out;will-change:opacity;}
  .hero-slide.active{opacity:1;}
  html:not(.js) .hero-slide:first-child{opacity:1;}
  .hero-slide:nth-child(1){transform:scale(1.03);transform-origin:50% 50%;}
  .hero-slide:nth-child(2){transform:scale(1.55);transform-origin:50% 36%;}
  .hero-slide:nth-child(3){transform:scale(1.32);transform-origin:82% 66%;}
  .hero-bg::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(18,12,8,.5),rgba(18,12,8,.58));}
  .hero-image>*{position:relative;z-index:1;}
  .hero-logo{width:min(360px,78vw);color:#fff;margin:0 auto;}
  .hero-orn{width:min(190px,38vw);color:rgba(245,236,222,.5);margin:1.3rem auto .2rem;opacity:0;animation:fadein 1.4s ease forwards .4s;}
  .hero-tag{max-width:33rem;margin:1.2rem auto 1.8rem;color:#f3ece1;font-size:1.2rem;}
  .hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}
  @keyframes fadein{to{opacity:1;}}

  /* sections */
  section{padding:3.6rem 0;scroll-margin-top:66px;}
  .section-head{text-align:center;margin-bottom:2rem;}
  .section-head .eyebrow{display:block;margin-bottom:.3rem;}
  .divider{display:flex;justify-content:center;margin:.6rem auto 0;color:var(--flourish);}
  .divider svg{width:min(170px,40%);height:auto;display:block;}

  /* about */
  .about-grid{max-width:46rem;margin:0 auto;text-align:center;}
  .about-grid p{margin:0 0 1rem;font-size:1.18rem;color:var(--ink-soft);}
  .about-meta{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem;}
  .about-meta .eyebrow{display:block;margin-bottom:.2rem;}
  .about-meta strong{font-family:var(--body);font-weight:500;font-size:1.12rem;text-transform:capitalize;}

  /* signature */
  .signature{background-color:rgba(241,233,218,0.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
  .dish{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .dish-photo{position:relative;aspect-ratio:4/3;background:var(--panel);border-bottom:1px solid var(--line);}
  .tile{position:absolute;inset:0;width:100%;height:100%;background-image:var(--dish-img);background-size:cover;background-position:center;cursor:zoom-in;transition:filter .2s;}
  .tile:hover,.tile:focus{filter:brightness(1.06);outline:2px solid var(--pom);outline-offset:-2px;}
  .dish-photo .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
  .dish-photo .ph .eyebrow{font-size:.6rem;letter-spacing:.22em;color:var(--gray);}
  .dish-body{padding:.7rem 1.1rem 1.2rem;}
  .dish-body h3{font-family:var(--body);font-weight:600;font-size:1.4rem;line-height:1.2;margin-bottom:.25rem;text-transform:capitalize;padding-left:.55rem;}
  .dish-body p{margin:0;color:var(--ink);font-size:.98rem;line-height:1.45;}
  .ph-note{text-align:center;color:var(--gray);font-style:italic;font-size:1rem;margin-top:1.6rem;}

  /* menu */
  .menu-cats{column-count:2;column-gap:3.5rem;}
  .cat{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:0 0 2.6rem;}
  .cat-name{font-size:3rem;line-height:1;padding-left:3.1rem;text-transform:none;color:#5d4e3a;}
  .section-title,.cat-name{-webkit-text-stroke:.4px currentColor;text-stroke:.4px currentColor;}  /* faux weight for Great Vibes */
  .cat-divider{margin:-.7rem 0 .8rem;color:var(--flourish);}    /* left-justified, muted, tightened up to the name */
  .cat-divider svg{width:175px;height:auto;display:block;}     /* left-justified */
  .cat-note{font-style:italic;color:var(--gray);font-size:1.04rem;margin:0 0 .8rem;}
  .cat-aside{font-family:var(--body);font-style:italic;text-transform:none;font-weight:400;font-size:1.05rem;letter-spacing:0;color:var(--gray);vertical-align:baseline;margin-left:.2rem;}
  .cat-items{padding-left:0;}                                   /* flush-left under the note */
  .cat-foot{font-style:italic;color:var(--gray);font-size:.97rem;margin-top:1rem;padding-left:0;}
  .mi{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;margin-top:.9rem;}
  .mi-row{display:flex;gap:.85rem;align-items:flex-start;margin-top:1rem;}
  .mi-row .mi{margin-top:0;}
  .mi-thumb{flex:0 0 80px;width:80px;height:64px;border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden;border-radius:6px;margin-top:.5rem;}
  .mi-thumb .tile{border-radius:5px;}
  .mi-text{flex:1;min-width:0;}
  .mi-name{font-weight:600;font-size:1.08rem;}
  .mi-name .fav{color:var(--ink);font-style:italic;font-weight:400;font-size:.98rem;}
  .mi-dots{flex:1;border-bottom:1px dotted var(--line);min-width:.8rem;}
  .mi-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;}
  .mi-desc{margin:.12rem 0 0;color:var(--ink);font-size:.96rem;line-height:1.42;padding-left:.7rem;padding-right:2rem;}  /* indented both edges */

  /* order */
  .order{background-color:rgba(241,233,218,0.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .order-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:2rem;display:flex;flex-direction:column;}
  .card h3{font-family:var(--body);font-weight:600;font-size:1.6rem;margin-bottom:.2rem;text-transform:capitalize;}
  .card .eyebrow{display:block;margin-bottom:.4rem;}
  .card p{color:var(--ink-soft);margin:0 0 1.3rem;}
  .card .btn{margin-top:auto;align-self:flex-start;}

  /* events */
  .events-inner{max-width:44rem;margin:0 auto;text-align:center;}
  .events-inner p{font-size:1.16rem;color:var(--ink-soft);margin:0 auto 1.3rem;}

  /* visit */
  .visit{position:relative;background-color:var(--ink);color:var(--paper);}
  .visit::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--wmark);background-repeat:repeat;background-position:top center;background-size:1244px auto;background-attachment:scroll;-webkit-filter:brightness(0) invert(1) sepia(.4) saturate(1.1) brightness(1.05);filter:brightness(0) invert(1) sepia(.4) saturate(1.1) brightness(1.05);opacity:.8;z-index:0;pointer-events:none;}
  .visit>*{position:relative;z-index:1;}
  .visit a{color:var(--paper);}
  .visit .section-title,.visit h3{color:var(--paper);}
  .visit .eyebrow{color:#d9a89a;}
  .visit .divider{color:rgba(245,236,222,.5);}
  .visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;text-align:center;}
  .visit-grid .eyebrow{display:block;margin-bottom:.6rem;}
  .visit-grid p{margin:0;color:#e7e2d8;line-height:1.4;}
  .visit-grid .big{font-family:var(--body);font-weight:500;font-size:1.3rem;color:var(--paper);}

  /* footer */
  footer{position:relative;background-color:var(--ink);color:#9a9488;padding:2.4rem 1.5rem 3rem;text-align:center;border-top:1px solid #322c27;line-height:1.4;}
  footer .fmark{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:1.6rem;color:var(--paper);margin:0 0 .5rem;}
  footer .allergen{max-width:46rem;margin:0 auto .6rem;font-size:.82rem;line-height:1.35;font-style:italic;}
  footer .draft{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.6rem;color:#6f6a60;}

  .park-note{font-size:1rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.7rem 1.1rem;display:inline-block;margin-top:.6rem;}
  .park-note strong{color:var(--pom);}
  .parking{text-align:center;margin-top:2rem;}
  .parking .eyebrow{display:block;margin-bottom:.4rem;}
  .parking p{margin:0 auto;max-width:36rem;color:#e7e2d8;font-size:1.05rem;}

  .lightbox{position:fixed;inset:0;background:rgba(255,255,255,.76);display:none;align-items:center;justify-content:center;z-index:100;padding:2rem;cursor:zoom-out;}
  .lightbox.open{display:flex;}
  .lightbox .lb-img{position:relative;width:min(820px,92vw);aspect-ratio:5/4;background:var(--dish-img) center/cover no-repeat;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.28);}
  .lb-name{position:absolute;left:0;right:0;bottom:0;padding:.85rem 1.4rem;font-family:var(--body);font-weight:600;font-size:1.5rem;letter-spacing:.01em;color:var(--ink);text-align:left;background:rgba(252,250,244,.95);border-radius:0 0 10px 10px;pointer-events:none;}
  .lightbox.parking .lb-name{display:none;}
  .lightbox.parking .lb-img{width:min(840px,94vw);aspect-ratio:1480/1391;background:var(--paper) var(--parking-img) center/contain no-repeat;}
  .park-link{display:inline-block;margin-left:.2rem;font-size:.9rem;font-style:normal;color:var(--pom);border:1px solid var(--pom);border-radius:6px;padding:.28rem .75rem;cursor:pointer;background:none;text-decoration:none;vertical-align:middle;}
  .park-link:hover,.park-link:focus{background:var(--pom);color:#fff;}
  .parking .park-link{margin-top:.7rem;color:#f3ece1;border-color:rgba(243,236,225,.55);}
  .parking .park-link:hover,.parking .park-link:focus{background:#f3ece1;color:var(--ink);border-color:#f3ece1;}
  .lightbox .lb-close{position:absolute;top:16px;right:26px;color:var(--ink);font-size:2.4rem;line-height:1;cursor:pointer;}
  /* events & catering inquiry modal */
  .modal{position:fixed;inset:0;background:rgba(20,15,12,.55);display:none;align-items:center;justify-content:center;z-index:110;padding:1.5rem;}
  .modal.open{display:flex;}
  .modal-card{position:relative;background:var(--paper);color:var(--ink);width:min(520px,94vw);max-height:90vh;overflow:auto;border-radius:12px;padding:2.3rem 2rem 2rem;box-shadow:0 18px 60px rgba(0,0,0,.34);text-align:left;}
  .modal-close{position:absolute;top:8px;right:14px;background:none;border:none;color:var(--ink-soft);font-size:2rem;line-height:1;cursor:pointer;padding:.2rem .4rem;}
  .modal-close:hover,.modal-close:focus{color:var(--pom);}
  .inq-title{font-family:var(--body);font-weight:700;font-size:1.55rem;color:var(--pom);margin:0 0 .25rem;text-align:center;letter-spacing:.01em;line-height:1.15;}
  .inq-sub{font-size:.95rem;color:var(--ink-soft);margin:0 0 1.3rem;text-align:center;}
  .inq-field{display:block;margin:0 0 .85rem;}
  .inq-field>span{display:block;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .3rem;}
  .inq-field input,.inq-field textarea{width:100%;box-sizing:border-box;font-family:var(--body);font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;padding:.62rem .7rem;transition:border-color .15s,box-shadow .15s;}
  .inq-field textarea{resize:vertical;min-height:5.5rem;}
  .inq-field input:focus,.inq-field textarea:focus{outline:none;border-color:var(--pom);box-shadow:0 0 0 3px rgba(154,51,36,.16);}
  .inq-group{border:1px solid var(--line);border-radius:9px;padding:.9rem .9rem .05rem;margin:0 0 .85rem;}
  .inq-glabel{display:block;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gray);margin:0 0 .55rem;}
  .inq-submit{width:100%;margin-top:.4rem;border:none;}
  .inq-thanks{text-align:center;padding:1.4rem .5rem;}
  .inq-thanks p{font-size:1.06rem;color:var(--ink-soft);margin:0;}

  .reveal{transition:opacity .7s ease,transform .7s ease;}
  .js .reveal{opacity:0;transform:translateY(16px);}
  .js .reveal.in{opacity:1;transform:none;}

  @media(max-width:820px){
    .menu-cats{column-count:1;}
    .dish-grid{grid-template-columns:1fr 1fr;}
    .order-grid,.visit-grid{grid-template-columns:1fr;gap:1.6rem;}
  }
  @media(max-width:560px){
    .dish-grid{grid-template-columns:1fr;}
    .nav-call{display:none;}
    .nav-mark{display:block;}
    .nav-burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;box-sizing:border-box;position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;background:none;border:1.5px solid var(--flourish);border-radius:50%;cursor:pointer;}
    .nav-burger span{display:block;width:17px;height:2px;background:var(--ink-soft);border-radius:2px;transition:transform .25s,opacity .2s;}
    .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .nav-ph{display:inline-flex;justify-content:center;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1.5px solid var(--flourish);border-radius:50%;}
    .nav-break{display:none;}
    .nav-inner{position:relative;justify-content:center;padding:.7rem 1rem;}
    .nav-links{position:absolute;top:100%;left:0;right:0;width:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 14px 26px rgba(0,0,0,.12);max-height:0;overflow:hidden;transition:max-height .3s ease;flex-wrap:nowrap;z-index:60;}
    .nav-links.open{max-height:80vh;}
    .nav-links a{display:block;width:100%;text-align:center;padding:.9rem 1rem;border-bottom:1px solid var(--line);}
    .nav-links a::after{display:none;}
    section{padding:2.8rem 0;}
    .cat-name{font-size:2.4rem;padding-left:1.3rem;}
    .lightbox.parking{align-items:flex-start;overflow-y:auto;padding:.8rem;}
    .lightbox.parking .lb-img{width:94vw;aspect-ratio:860/2842;background-image:var(--parking-img-m);margin:0 auto;}
  }
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;} .hero-orn{animation:none;opacity:1;}
  }

/* ---- Additional color scheme overrides from original file ---- */

/* "Color Scheme" — matched to printed menu. Only headings + divider graphics changed; backgrounds untouched. */
/* Menu-category headings -> cobalt blue; section/info headings -> red */
.cat-name{color:#2A52A0;}
.section-title{color:#9E2B25;}
.card h3{color:#9E2B25;}
/* dividers: menu categories -> teal, section ornaments -> gold (matched to print) */
.cat-divider{color:#30BFBF;}
.divider{color:#E0A948;}
/* dark Visit band: red is illegible on dark, so heading uses turquoise; ornaments stay gold */
.visit .section-title{color:#30BFBF;}
.visit .divider{color:#E8A317;}
.visit .eyebrow,.parking .eyebrow{color:#E8A317;}
footer .fmark{color:#30BFBF;}
/* unchanged: nav brand, item names/prices, dish names, body */
body{color:#1A1A22;}
.nav-mark{color:#9E2B25;}
.nav-call{color:#2c2b33;}
.nav-links a{color:#2c2b33;}
.nav-links a:hover{color:#B33A1E;}
.nav-call:hover{color:#B33A1E;}
.nav-ph{color:#2c2b33;}
.nav-ph:hover{color:#B33A1E;border-color:#B33A1E;}
.eyebrow{color:#B33A1E;}
.about-grid p,.card p,.events-inner p{color:#34333c;}
.park-note strong{color:#B33A1E;}
.dish-body h3{color:#B33A1E;}
.dish-body p{color:#1A1A22;}
.mi-name{color:#B33A1E;}
.lb-name{color:#B33A1E;}
.mi-price{color:#B33A1E;}
.mi-desc{color:#1A1A22;}


/* WordPress admin bar compatibility */
body.admin-bar nav{top:32px;}
@media (max-width:782px){body.admin-bar nav{top:46px;}}
