.menu-box em {
    color: white;
}
h3 small.text-muted {
    color: white !important;
}
:root{
  --bs-body-bg:#0b0b0c;
  --bs-body-color:#f3f5f7;
  --muted:#b3b9c3;
  --line:#1f2125;
  --gold:#d1b06b;
}
body{background:var(--bs-body-bg);color:var(--bs-body-color);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
a{text-decoration:none;color:inherit}
/* Header (brand centered, menu left, actions right) */
.site-header{background:rgba(5,5,5,.9);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.site-header .nav-link{color:var(--muted);text-transform:uppercase;letter-spacing:.24em;font-weight:600;font-size:.85rem}
.site-header .nav-link:hover{color:#fff}
.site-header .brand{color:#eef0f3;letter-spacing:.36em;text-transform:uppercase;font-weight:700}
.btn-outline-light{border-color:#2b2f36;color:#e9edf2}
.btn-outline-light:hover{background:#2b2f36}
.btn-gold{background:var(--gold);color:#141414;border-color:transparent}
.btn-gold:hover{filter:brightness(1.05)}

/* Split Hero */
.hero-split{min-height:88vh}
.hero-split .left{display:flex;align-items:center;justify-content:center;padding:5rem 2rem}
.hero-split .right{background:url('../img/findus.jpg') center/cover no-repeat;min-height:88vh}
.hero-title{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(40px,6.5vw,84px);line-height:1.06;letter-spacing:.22em;text-transform:uppercase;text-align:center}
.hero-schedule{color:var(--muted);text-align:center;margin-top:1rem}
.btn-outline-white{border:2px solid #fff;color:#fff;background:transparent;letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.btn-outline-white:hover{background:#fff;color:#111}
.hero-cta{display:flex;justify-content:center;margin-top:2rem}

/* FULLWIDTH PROMOS 3-UP (no margin/padding/gaps) */
.promos-fw{background:#0b0b0c}
.promos-fw .col{padding:0!important}
.promo-fw{position:relative;min-height:52vh;background:#0f1012;overflow:hidden}
.promo-fw .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.75)}
.promo-fw::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.2))}
.promo-fw .copy{position:absolute;left:0;right:0;bottom:2.2rem;z-index:1;text-align:center}
.promo-fw .eyebrow{color:#cfd3da;opacity:.9;letter-spacing:.3em;text-transform:uppercase;font-size:.8rem}
.promo-fw .title{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:clamp(22px,2.6vw,20px)}

.about-text p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 1.2rem;
}
.about-text strong {
  color: #fff;
  font-weight: 600;
}


/* Menu reference styles */
.menu-ref .eyebrow{color:#b3b9c3;letter-spacing:.3em}
.menu-ref .divider{width:2px;height:36px;background:#fff;opacity:.9}
.menu-ref .menu-tabs .nav-link{color:#b3b9c3;text-transform:uppercase;letter-spacing:.25em;font-weight:600}
.menu-ref .menu-tabs .nav-link.active{color:#fff}
.menu-ref .menu-panel{background:#1a1c1f;border:1px solid #2a2d31}
.menu-ref .menu-box{background:#151719;border:1px solid #2a2d31}
.menu-ref .menu-item{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;padding:.65rem 0;border-bottom:1px dashed #31343a}
.menu-ref .menu-item:last-child{border-bottom:0}
.menu-ref .menu-item .title{font-weight:700}
.menu-ref .menu-item .desc{grid-column:1 / -1;color:#9aa3af;font-size:.95rem}

/* Masonry gallery */
.gallery-masonry{background:#0b0b0c}
.gallery-masonry .masonry{
  column-count: 1;
  column-gap: 0;
}
@media (min-width: 576px){ .gallery-masonry .masonry{ column-count: 2; } }
@media (min-width: 992px){ .gallery-masonry .masonry{ column-count: 3; } }

.gallery-masonry .mitem{
  position: relative;
  break-inside: avoid;
  margin: 0;
}
.gallery-masonry .mitem img{
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.95);
  transition: filter .3s ease, transform .5s ease;
}
.gallery-masonry .mitem::after{
  content:'';
  position:absolute; inset:0;
  background: rgba(0,0,0,.15);
  opacity: 0; transition: opacity .3s ease;
}
.gallery-masonry .mitem figcaption{
  position:absolute; left:0; right:0; bottom:1rem;
  color:#fff; text-align:center;
  text-transform:uppercase; letter-spacing:.18em; font-weight:800;
  opacity:0; transform: translateY(6px); transition: all .3s ease;
  pointer-events:none;
}
.gallery-masonry .mitem:hover img{ filter: brightness(0.6); transform: scale(1.02); }
.gallery-masonry .mitem:hover::after{ opacity: .15; }
.gallery-masonry .mitem:hover figcaption{ opacity:1; transform: translateY(0); }


/* Team-like two card block */
.team-ref .eyebrow{color:#b3b9c3;letter-spacing:.25em}
.team-ref .divider{width:2px;height:36px;background:#fff;opacity:.9}
.tcard{
  position:relative;
  min-height:520px;
  background: #101214;
  border-radius: .75rem;
  overflow:hidden;
  border:1px solid #2a2d31;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: translateZ(0);
}
.tcard .overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.1) 10%, rgba(0,0,0,.8) 80%);
  transition: opacity .35s ease;
}
.tcard .copy{
  position:absolute; left:0; right:0; bottom:2.2rem;
  text-align:left; padding:0 2rem; color:#fff;
}
.tcard .copy .eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.3em;color:#d6d8dc}
.tcard .copy .name{font-size:1.5rem;font-weight:800;margin:.25rem 0 .35rem;text-transform:none}
.tcard .copy .meta{color:#c3c8d0; max-width: 36rem;}
.tcard .foot{
  position:absolute; left:0; right:0; bottom:.6rem;
  color:#9aa3af; text-align:center; font-size:.8rem; letter-spacing:.15em; text-transform:uppercase;
}
.tcard:hover .overlay{opacity:.95}
.tcard:hover{filter:brightness(.98)}

/* Reviews Slider */
.reviews-slider{background:#1a1c1f;border-top:1px solid #2a2d31;border-bottom:1px solid #2a2d31}
.reviews-slider .review-wrap{
  padding: clamp(2rem, 5vw, 4.5rem);
  max-width: 1100px;
  margin: 0 auto;
  text-align:center;
  color:#e9edf2;
}
.reviews-slider .review-text{
  font-size: clamp(1.4rem, 3.6vw, 2.8rem);
  line-height: 1.3;
  font-weight: 700;
  margin: 0;
}
.reviews-slider .review-text strong{font-weight:800;color:#fff}
.reviews-slider .review-meta{
  margin-top: 1rem;
  color:#aeb6c2;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.85rem;
}
.reviews-slider .carousel-indicators [data-bs-target]{
  width:.6rem;height:.6rem;border-radius:50%;background:#666;opacity:.6
}
.reviews-slider .carousel-indicators .active{background:#fff;opacity:1}
.reviews-slider .carousel-control-prev, .reviews-slider .carousel-control-next{
  width:8%; opacity:.6;
}
.reviews-slider .carousel-control-prev:hover, .reviews-slider .carousel-control-next:hover{opacity:1}


/* Find Us split */
.findus-split .img-side{
  min-height: 60vh;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
}
.findus-split .text-side{background:#0f1012;color:#e8edf3}
.findus-split .eyebrow{color:#b3b9c3;letter-spacing:.25em}
.findus-split .btn-outline-white{border:2px solid #fff;color:#fff}
.findus-split .btn-outline-white:hover{background:#fff;color:#111}
.findus-split .amen-list{list-style:none;padding-left:0;margin:0}
.findus-split .amen-list li{
  position:relative;padding-left:1.5rem;margin:.35rem 0;color:#c7ced8
}
.findus-split .amen-list li::before{
  content:"✓";position:absolute;left:0;top:0;color:#d1b06b;font-weight:800
}

/* Footer */
.site-footer{background:#141517;color:#e8edf3;border-top:1px solid #2a2d31}
.site-footer .ft-title{color:#fff;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:.75rem}
.site-footer .ft-text{color:#c7ced8}
.site-footer .btn-outline-white{border:2px solid #fff;color:#fff}
.site-footer .btn-outline-white:hover{background:#fff;color:#111}
.site-footer .ft-links{list-style:none;margin:0;padding:0}
.site-footer .ft-links a{color:#c7ced8;text-decoration:none}
.site-footer .ft-links a:hover{color:#fff;text-decoration:underline}
.site-footer .ft-icon{margin-right:.35rem}
.site-footer .ft-pin::before{content:"📍"}
.site-footer .ft-social .ft-social-link{color:#c7ced8}
.site-footer .ft-social .ft-social-link:hover{color:#fff}
.site-footer .ft-bottom{background:#0f1012;border-top:1px solid #2a2d31}
.site-footer .brand{letter-spacing:.35em}

/* ===== Custom Fonts Integration ===== */
@font-face {
  font-family: 'Miju';
  src: url('../fonts/miju.otf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Apply: titles & buttons use Miju; body uses Montserrat */
h1,h2,h3,h4,h5,h6,
.navbar-brand,.nav-link,
.btn,.btn-outline-white,.btn-gold,
.hero-title,.menu-ref .h4,.menu-ref h2,.team-ref h2,.reviews-slider .review-text {
  font-family: 'Miju', sans-serif;
}

body, p, li, a, small, blockquote, figcaption {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}


/* 3 fullwidth tiles (no gutters) */
.tiles3 .tile{
  position:relative; display:flex; align-items:flex-end; justify-content:center;
  min-height: 55vh; width:100%; text-align:center; color:#fff;
  background-image: var(--bg); background-size: cover; background-position:center;
  padding: 2.5rem 1rem; overflow:hidden;
}
.tiles3 .tile::after{
  content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15) 20%, rgba(0,0,0,.75) 85%);
  transition: opacity .3s; opacity:.9;
}
.tiles3 .tile .eyebrow{position:relative; z-index:1; text-transform:uppercase; letter-spacing:.35em; color:#d2d5db; font-size:.8rem; margin-bottom:.25rem}
.tiles3 .tile h3{position:relative; z-index:1; font-size: clamp(1.8rem, 2.2vw + 1rem, 3rem); letter-spacing:.12em; margin:0}
.tiles3 .tile:hover::after{opacity:1}
.gallery-masonry .mitem figcaption{display: none!important}
@media (max-width: 991.98px){ .tiles3 .tile{min-height:40vh} }
