/* ----------------------------
   SITE NAV
----------------------------- */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  pointer-events:none; /* allow hero to feel open; we re-enable inside nav */
}

.nav{
  pointer-events:auto;
  width:min(1480px, calc(100% - 2rem));
  margin: 1rem auto;
  padding: .75rem 1rem;
  border-radius: 15px;

  position: relative;

  background: rgba(10,8,7,.22);
  backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 30px rgba(0,0,0,.28);

  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 1rem;

  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.nav.scrolled{
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    rgba(10,8,7,.60);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 18px 45px rgba(0,0,0,.45);
}

.nav-left{ display:flex; align-items:center; justify-content:flex-start; min-width: 0; }
.nav-center{ display:flex; align-items:center; justify-content:center; }
.nav-right{ display:flex; align-items:center; justify-content:flex-end; gap:.35rem; min-width: 0; }

.nav-center .nav-links{ justify-content:center; }

.brand{ min-width: 0; }
.brand-name{
  font-size: .82rem;
  letter-spacing: .14em;
  white-space: nowrap;
}

.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width: 210px;
}

.brand-logo{
  width:46px;
  height:46px;
  object-fit:contain;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.20);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  padding: 6px;
}

.brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  background: linear-gradient(135deg, var(--gold), var(--brown));
  box-shadow: 0 10px 25px rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.22);
}

.brand-text{ display:flex; flex-direction:column; line-height:1; }

.brand-name{
  font-weight:800;
  letter-spacing:.12em;
  font-size:.92rem;
}

.brand-sub{
  font-size:.72rem;
  letter-spacing:.18em;
  color: var(--muted);
  margin-top:.25rem;
}

.nav-links{
  display:flex;
  gap:1.25rem;
  align-items:center;
}

.nav-links a{
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  color: rgba(243,239,232,.9);
  padding:.45rem .65rem;
  border-radius:999px;
}

.nav-links a:hover{
  background: rgba(210,169,52,.10);
  border:1px solid rgba(210,169,52,.22);
  padding:.4rem .6rem;
}

.nav-social{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.icon-btn{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.12);
  line-height: 0;
  font-size: 0;
  padding: 0;
}

.icon-btn:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}

.icon-btn img{
  width:18px;
  height:18px;
  display:block;
  flex: 0 0 auto;
}

.nav-toggle{
  display:none;
  width:44px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.12);
  color:var(--text);
}

.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  background: rgba(243,239,232,.9);
  margin:4px auto;
  border-radius:999px;
}

/* ----------------------------
   HERO HEADER
----------------------------- */
.hero{
  position:relative;
  height: 100vh;
  min-height: 640px;
  display:grid;
  place-items: start start;
  isolation:isolate;
  overflow:hidden;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(1000px 650px at 10% 10%, rgba(210,169,52,.22), transparent 60%),
    url("/_assets/media/images/IMG_001B.webp");
  background-size: cover;
  background-position: right;
  margin-right: -5px;
  transform: scale(1.03);
  z-index:-3;
  filter: saturate(1.05) contrast(1.08) brightness(.80) sepia(.12);
}

.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.6),
    rgba(0,0,0,.4)
  );
}

@keyframes staticShift{
  0%{ transform: translate(0,0); }
  25%{ transform: translate(-6px,3px); }
  50%{ transform: translate(5px,-4px); }
  75%{ transform: translate(-3px,-2px); }
  100%{ transform: translate(0,0); }
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(1200px 900px at 50% 35%,
      rgba(0,0,0,.25), rgba(0,0,0,.78));
}

.hero-content{
  width:min(1100px, calc(100% - 3rem));
  margin:0 auto;
  padding-top: 6.1rem;
  padding-bottom: 3rem;
  text-align:center;
  transform: translate(var(--hero-shift-x), var(--hero-shift-y));
}

.hero-head{
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  width: fit-content;
}

.hero-title{
  margin:0;
  font-size: clamp(2.6rem, 5.5vw, 4.8rem);
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:900;
  line-height:.98;
  white-space: nowrap;
  text-shadow: 0 18px 50px rgba(0,0,0,.55);
}

.hero-lede{
  margin-top: 1rem;
  color: rgba(243,239,232,.82);
  font-size: 1rem;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.02em;
  width: 100%;
  text-align: right;
}

.hero-info{
  margin: 2.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  color: rgba(243,239,232,.78);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  font-size:18px;
  justify-content:center;
}

.hero-info a{ color: rgba(210,169,52,.95); }
.hero-info a:hover{ opacity:.92; }
.hero-info .dot{ color: rgba(243,239,232,.45); }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.9rem 1.2rem;
  border-radius:999px;
  font-weight:750;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:.78rem;
  border:1px solid transparent;
  box-shadow: 0 16px 45px rgba(0,0,0,.35);
}

.btn-primary{
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color:#1b130e;
  border-color: rgba(255,255,255,.20);
}
.btn-primary:hover{ filter: brightness(1.03); }

.hero-wave{
  position:absolute;
  inset:auto 0 0 0;
  height: 90px;
  background:
    radial-gradient(120px 60px at 10% 100%, rgba(15,13,11,1), transparent 70%),
    radial-gradient(160px 70px at 35% 100%, rgba(15,13,11,1), transparent 70%),
    radial-gradient(220px 80px at 60% 100%, rgba(15,13,11,1), transparent 70%),
    radial-gradient(260px 90px at 85% 100%, rgba(15,13,11,1), transparent 70%),
    linear-gradient(180deg, transparent, rgba(15,13,11,1));
}

/* ----------------------------
   HOMEPAGE SECTIONS
----------------------------- */
.section{
  padding: 5.5rem 0;
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

.section-about,
.section-menu,
.section-contact{
  min-height: 100vh;
  min-height: 100svh;
}

.section-head{
  display:grid;
  gap:.6rem;
  margin-bottom: 2.2rem;
}

.section-head h2{
  margin:0;
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.section-head h3{
  margin:2rem 0 -1rem 0;
  letter-spacing:.12em;
  font-size:1.2rem;
  font-weight: 700;
  font-style: italic;
  text-decoration-line: underline;
  text-decoration-color: whitesmoke;
}

.section-head p{
  margin:0;
  max-width: 70ch;
  color: var(--muted);
  line-height:1.7;
}

.section-about{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1000px 650px at 70% 0%,
      rgba(210,169,52,.10), transparent 60%);
  min-height: max(100vh, 1000px);
  min-height: max(100svh, 1000px);
  padding-bottom: 5.5rem;
}

.section-about::before{
  content:"";
  position:absolute;
  inset: 0;
  z-index:-1;
  pointer-events:none;

  background:
    linear-gradient(180deg, rgba(15,13,11,.92), rgba(15,13,11,.82)),
    url("/_assets/media/images/IMG_4195.webp");
  background-size: cover;
  background-position: center 85%;
  background-repeat: no-repeat;

  opacity:.35;
  filter: blur(1px) saturate(.9) contrast(1.05);
  transform: scale(1.03);
}

.about-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.5rem;
  align-items: start;
}

.about-inner{
  position: relative;
  z-index: 1;
}

.about-copy p{
  margin:0 0 1rem 0;
  color: rgba(243,239,232,.80);
  line-height:1.75;
}

.about-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top: 1.2rem;
}

.pill{
  padding:.5rem .8rem;
  border-radius:999px;
  border:1px solid rgba(210,169,52,.25);
  background: rgba(210,169,52,.08);
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.7rem;
}

.star-pill{
  padding:.2rem .8rem;
  border-radius:999px;
  background: rgba(210,169,52,.08);
  border:1px solid rgba(210,169,52,.25);
  font-weight:650;
  letter-spacing:.08em;
}

.star {
  --color-full: orange;
  --color-empty: #ddd;
  --ratio: 80%;
  font-size: 1rem;

  color: var(--color-empty);
  background: linear-gradient(
    to right,
    var(--color-full),
    var(--color-full) var(--ratio),
    var(--color-empty) var(--ratio),
    var(--color-empty)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 'About'' Image Gallery */
.about-media{
  --g: .75rem;
  --mainH: 300px;
  --bottomH: 160px;

  border-radius: 20px;
  padding: .75rem;
  background: linear-gradient(135deg, rgba(207,211,214,.10), rgba(0,0,0,.22));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);

  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--g);
}

.about-media-left{
  display: grid;
  grid-template-rows: var(--mainH) var(--bottomH);
  gap: var(--g);
  min-width: 0;
}

.about-main{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  display:block;
}

.about-bottom{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g);
  height: var(--bottomH);
}

.about-media-right{
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: var(--g);
  min-width: 0;
  height: calc(var(--mainH) + var(--g) + var(--bottomH));
}

/* Thumbnails */
.about-thumb{
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
  border-radius: 16px;
  height: 100%;
  overflow: hidden;
}

.about-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  transition: transform .22s ease, filter .22s ease;
}

.about-thumb:hover img{
  transform: scale(1.02);
  filter: brightness(1.05);
}

/* ============================
   MENU (FOOD)
============================ */
.section-menu{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(950px 600px at 20% 0%,
      rgba(107,63,42,.18), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.25));
}

.menu-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.menu-bg-grid{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.menu-bg-tile{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: saturate(.95) contrast(1.05) brightness(.70);
  transform: scale(1.02);
}

.menu-bg-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 600px at 30% 10%, rgba(210,169,52,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 40%, rgba(107,63,42,.22), transparent 62%),
    linear-gradient(180deg, rgba(15,13,11,.70), rgba(15,13,11,.85));
  backdrop-filter: blur(2px);
}

.menu-inner{
  position: relative;
  z-index: 1;
}

.menu-layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
  gap: 1.5rem;
  align-items: stretch;
}

.menu-main,
.specials-card{
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.24));
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.menu-main{
  display:flex;
}

.menu-cta{
  width:100%;
  min-height: 100%;
  padding: 1.4rem 1.35rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.menu-cta{
  gap: .95rem;
}

.menu-preview-card{
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  box-shadow: 0 20px 60px rgba(0,0,0,.38);
}

.menu-preview-trigger{
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-preview-frame{
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  background: rgba(255,255,255,.96);
  pointer-events: none;
}

.menu-preview-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.3));
  z-index: 1;
}

.menu-preview-badge{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(15,13,11,.68);
  color: rgba(243,239,232,.96);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.btn-menu-pdf{
  align-self: center;
  padding: .7rem 1rem;
  font-size: .84rem;
  margin-top: 2rem
}

.menu-note{
  margin:1rem 0 calc(-2.5%) 0;
  text-align: right;
  color: rgba(243,239,232,.70);
  font-size:.68rem;
  line-height:1.6;
}

.menu-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.menu-modal.is-open{
  display: block;
}

.menu-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
}

.menu-modal-dialog{
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 1.25rem;
}

.menu-modal-content{
  position: relative;
  width: min(1100px, 96vw);
  height: min(92vh, 1100px);
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
  background: rgba(255,255,255,.98);
}

.menu-modal-frame{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #fff;
}

.menu-modal-close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.45);
  color: rgba(243,239,232,.95);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
  z-index: 2;
}

.menu-modal-close:hover{
  background: rgba(210,169,52,.14);
  border-color: rgba(210,169,52,.30);
}

.specials-card{
  padding: 1.2rem 1.2rem 1.1rem;
}

.specials-head{
  display:grid;
  gap:.35rem;
  margin-bottom: .85rem;
}

.specials-head h3{
  margin:0;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:1.55rem;
  margin-bottom: .85rem;
}

.specials-head p{
  margin:0;
  color: rgba(243,239,232,.72);
  line-height:1.5;
  font-size:.92rem;
}

.specials-table-wrap{
  overflow-x:auto;
}

.specials-table{
  width:100%;
  border-collapse: collapse;
  min-width: 100%;
}

.specials-table th,
.specials-table td{
  padding: .72rem .35rem;
  text-align:left;
  border-bottom:1px dashed rgba(255,255,255,.12);
  font-size:.92rem;
}

.specials-table th{
  padding-top: 0;
  color: rgba(210,169,52,.95);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.74rem;
}

.specials-table tbody tr:last-child td{
  border-bottom:0;
}

.specials-table td:first-child{
  font-weight:700;
  color: rgba(243,239,232,.92);
}

/* ============================
   LIGHTBOX / MODAL
============================ */
.lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.lightbox.is-open{ display:block; }

.lightbox-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(6px);
}

.lightbox-dialog{
  position:relative;
  height: 100%;
  width: 100%;
  display:grid;
  place-items: center;
  padding: 1.5rem;
}

.lightbox-content{
  position:relative;
  width: min(1100px, 92vw);
  max-height: 86vh;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
  background: rgba(0,0,0,.35);
}

.lightbox-img{
  width:100%;
  height: 100%;
  max-height: 86vh;
  object-fit: contain;
  display:block;
  background: rgba(0,0,0,.25);
}

.lightbox-close{
  position:absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  color: rgba(243,239,232,.95);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size: 22px;
  line-height: 1;
}

.lightbox-close:hover{
  background: rgba(210,169,52,.10);
  border-color: rgba(210,169,52,.28);
}

/* CONTACT / HOURS */
.hours{
  margin-top:.25rem;
  display:grid;
  gap:.35rem;
}

.hr{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.35rem;
  border-bottom:1px dashed rgba(255,255,255,.14);
  color: rgba(243,239,232,.78);
}

.hrl{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.05rem;
  border-bottom:0px dashed rgba(255,255,255,.14);
  color: rgba(243,239,232,.78);
}

.hr span:first-child{
  color: rgba(243,239,232,.86);
}

.hours-row.today { font-weight: 700; }
.hours-row.today.open-now { color: #22c55e; }
.hours-row.today.closed-now { color: #ef4444; }

/* VISIT BLOCK */
.visit-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 1.25rem;
}

.visit-addr p{
  margin:0;
  color: rgba(243,239,232,.78);
  line-height:1.7;
}

.visit-maps{
  margin:calc(1%) 0 0 0;
  display:flex;
  flex-direction:row;
  gap:1.75rem;
  text-align:right;
  align-items:flex-end;
  white-space:nowrap;
}

.visit-maps a{ text-decoration:none; }

.map-link img{
  width: 48px;
  height: 48px;
  display: block;
}

.map-embed{
  height: 320px;
  border-radius: 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  box-shadow: var(--shadow);
}

.map-embed iframe{
  width:100%;
  height:100%;
  border:0;
  filter: saturate(0.95) contrast(1.05);
}

/* CONTACT */
.section-contact{
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(15,13,11,.74), rgba(15,13,11,.88)),
    radial-gradient(1000px 650px at 80% 15%,
      rgba(210,169,52,.10), transparent 60%),
    url("/_assets/media/images/IMG_4021.webp");
  background-size: cover;
  background-position: center;
}

.contact-layout{
  display:grid;
  gap: 1.25rem;
}

.contact-top{
  display:grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 1.25rem;
  align-items: stretch;
}

.contact-stack{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap: 1.25rem;
}

.info-block{
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.24));
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
  padding: 1.2rem 1.2rem 1.1rem;
}

.info-block h3{
  margin:0 0 .85rem 0;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.85rem;
  color: rgba(210,169,52,.92);
  border-bottom:2.5px solid rgba(210,169,52,.22);
  padding-bottom:.35rem;
}

.info-block p{
  margin:0;
  color: rgba(243,239,232,.78);
  line-height:1.7;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6rem 1.2rem;
}

.contact-item{
  display:flex;
  flex-direction:column;
  text-align:center;
}

.contact-label{
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.65;
}

.inline-link{
  color: rgba(210,169,52,.95);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
}

/* HOMEPAGE EVENTS PREVIEW */

.events-callout{
  display:flex;
  align-items:stretch;
}

.events-callout-block{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  width:100%;
}

.events-callout-block h3{
  margin:0;
}

.events-callout-block p{
  margin:0;
}

.events-teaser-list{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.55rem;
  margin:.35rem 0 .4rem;
  min-height:48px;
}

.event-teaser-card{
  display:grid;
  gap:.28rem;
  padding:.7rem .75rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  min-width:0;
}

.events-teaser-date{
  display:block;
  font-size:.78rem;
  font-weight:700;
  line-height:1.3;
  opacity:.82;
}

.events-teaser-title{
  display:block;
  min-width:0;
  font-size:.9rem;
  line-height:1.25;
  opacity:.95;
}

.events-callout-block .btn{
  margin-top:.35rem;
  align-self:flex-start;
}

@media (max-width: 900px){
  .events-teaser-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .events-teaser-list{
    grid-template-columns:1fr;
  }

  .contact-grid{
    grid-template-columns:1fr;
  }
}

/* HOMEPAGE EVENTS PREVIEW */

.events-callout{
  display:flex;
  align-items:stretch;
}

.events-callout-block{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  width:100%;
}

.events-callout-block h3{
  margin:0;
}

.events-callout-block p{
  margin:0;
}

.events-teaser-list .event-teaser{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;

  font-size:.9rem;
  line-height:1.35;
}

.events-teaser-date{
  font-weight:700;
  opacity:.85;
}

.events-teaser-title{
  flex:1;
  opacity:.95;
}

.events-callout-block .btn{
  margin-top:.35rem;
  align-self:flex-start;
}

/* FOOTER */

.footer{
  padding: 2rem 0 3rem;
  border-top:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.15);
}

.footer-inner{
  display:flex;
  gap:1rem;
  justify-content:space-between;
  align-items:top;
  flex-wrap:wrap;
}

.footer p{
  margin:0;
  color: rgba(243,239,232,.70);
  text-transform:uppercase;
  font-size:.70rem;
}

.footer-right a{
  color: rgba(210,169,52,.95);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.70rem;
}

.jstag a{
  color: rgba(68, 79, 92, 0.95);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.45rem;
  align-self: center;
}

.jstag p{
  color: rgba(243,239,232,.70);
  text-transform:uppercase;
  font-size:.45rem;
}