:root{
  --green:#12382c; --green-2:#1d5a43; --shamrock:#1f8a4c; --cream:#fbf6ea; --paper:#fffdf7;
  --gold:#d9a441; --gold-d:#9a6b14; --ink:#1d2622; --muted:#5d6a63;
}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
h1,h2,h3,.navbar-brand,.price,.foot-name{font-family:'Fraunces',Georgia,serif}
h2{font-weight:700;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.15;color:var(--green);margin-bottom:1rem}
a{color:var(--green-2)}
.kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--shamrock);margin-bottom:.6rem}
.kicker-light{color:var(--gold)}
.muted{color:var(--muted);max-width:640px;margin:0 auto 1.5rem}
.muted-light{color:#cfe3d8;max-width:640px;margin:0 auto 1.5rem}
section{padding:6rem 0}
.section-head{margin-bottom:2.5rem}

/* nav */
.mr-nav{background:var(--cream);border-bottom:1px solid rgba(18,56,44,.12)}
.mr-nav .navbar-brand{color:var(--green);font-weight:700;font-size:1.35rem}
.mr-nav .navbar-brand i{color:var(--shamrock)}
.mr-nav .nav-link{color:var(--green);font-weight:500;padding:.5rem .8rem}
.mr-nav .nav-link:hover{color:var(--shamrock)}
.btn-call{background:var(--green);color:#fff;border-radius:50px;padding:.45rem 1.1rem;font-weight:500;white-space:nowrap}
.btn-call:hover{background:var(--shamrock);color:#fff}
.btn-gold{background:var(--gold);color:var(--green);font-weight:700;border:0}
.btn-gold:hover{background:#e8b755;color:var(--green)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--shamrock);color:#fff}

/* hero: split panel */
.hero{display:grid;grid-template-columns:42fr 58fr;min-height:560px;height:calc(100vh - 62px);max-height:720px}
.hero-text{background:var(--green);display:flex;align-items:center;padding:4rem clamp(1.5rem,5vw,5rem)}
.hero-content{max-width:560px;color:#fff}
.hero-eyebrow{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hero-title{font-size:clamp(2.6rem,4.8vw,4.4rem);font-weight:700;line-height:1.05;margin:.4rem 0 1.2rem}
.hero-subtitle{font-size:1.15rem;color:#e6f1ea}
.hero-tagline{font-family:'Fraunces',serif;font-style:italic;font-size:1.35rem;color:var(--gold);margin:1rem 0 1.8rem}
.hero-deliver{margin:1.6rem 0 0;color:#cfe3d8;font-size:.95rem}
.hero-photo{background:url('img/hero.webp') 30% center/cover no-repeat;min-height:320px}

/* about */
.about{background:var(--cream)}
.lead-copy{font-size:1.08rem}
.cat-callout{margin-top:1.5rem;font-weight:500}
.cat-callout i{color:var(--gold-d)}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.about-photos img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:14px}
.about-photos img:last-child{margin-top:2.5rem}
.awards{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem;margin-top:4rem;padding:2rem;background:#fff;border-radius:16px}
.awards img{height:140px;width:auto;max-width:100%}

/* menu */
.menu-tabs{gap:.5rem;margin-bottom:3rem}
.menu-tabs .nav-link{color:var(--green);border:1px solid rgba(18,56,44,.25);border-radius:50px;font-weight:500;padding:.5rem 1.3rem}
.menu-tabs .nav-link.active{background:var(--green);color:#fff;border-color:var(--green)}
.menu-h{font-size:1.5rem;color:var(--green);border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:.2rem;margin-bottom:.6rem}
.menu-note{color:var(--muted);font-size:.92rem}
.menu-list{list-style:none;padding:0;margin:1rem 0 0}
.menu-list.two-col{columns:2;column-gap:3.5rem}
.mi{break-inside:avoid;padding:.7rem 0;border-bottom:1px dotted rgba(18,56,44,.25)}
.mi-top{display:flex;align-items:baseline;gap:.6rem}
.mi-name{font-weight:700;color:var(--ink)}
.mi-dots{flex:1}
.price{color:var(--gold-d);font-weight:700;font-size:1.1rem;white-space:nowrap;text-align:right}
.mi-desc{margin:.15rem 0 0;font-size:.92rem;color:var(--muted)}
.fav{font-size:1.05rem}
.drinks{list-style:none;padding:0;margin:1rem 0 0}
.drinks li{padding:.55rem 0 .55rem 1.6rem;border-bottom:1px dotted rgba(18,56,44,.25);position:relative}
.drinks li::before{content:"\2618";position:absolute;left:0;color:var(--shamrock)}
.tea-img{width:100%;height:auto;border-radius:14px}

/* catering */
.catering{background:var(--green);color:#fff}
.catering h2{color:#fff}
.cat-card{background:#fff;color:var(--ink);border-radius:16px;padding:2rem;height:100%}
.cat-card h3{font-size:1.4rem;color:var(--green);margin-bottom:.8rem}
.cat-note{font-size:.92rem;color:var(--muted)}
.cat-card .mi-top{flex-wrap:wrap}
.cat-card .mi-name{flex:1 1 60%}

/* gallery */
.g-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block}

/* visit */
.visit{background:var(--cream)}
.hours-list{list-style:none;padding:0;margin:1.5rem 0 0}
.hours-list li{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid rgba(18,56,44,.15);font-weight:500}
.hours-list li:last-child{color:var(--muted)}
.contact-info{font-style:normal;line-height:1.9;margin-bottom:1.2rem}
.contact-info i{color:var(--shamrock)}
.map-wrap{border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(18,56,44,.15)}
.map-wrap iframe{display:block;width:100%;height:340px;border:0}

/* footer */
.mr-footer{background:#0b241c;color:#cfe3d8;padding:3.5rem 0 2rem}
.mr-footer a{color:#cfe3d8}
.foot-name{font-size:1.5rem;color:#fff;margin:0}
.foot-sub{margin:.3rem 0 0}
.foot-links{display:flex;flex-wrap:wrap;gap:1.2rem}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--gold)}
.social{font-size:1.6rem;text-decoration:none}
.powered{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:.9rem}
.powered a{color:var(--gold);font-weight:700}

@media (max-width:991.98px){
  section{padding:4.5rem 0}
  .hero{grid-template-columns:1fr;height:auto;max-height:none;min-height:0}
  .hero-text{padding:3.5rem 1.5rem}
  .hero-photo{min-height:300px;order:2}
  .mr-nav .btn-call{display:inline-block;margin:.5rem 0}
}
@media (max-width:767.98px){
  .menu-list.two-col{columns:1}
  .about-photos img:last-child{margin-top:0}
  .awards img{height:110px}
  .cat-card{padding:1.4rem}
}
