/* ===== THEME ===== */
:root{
  --bg1:#f8efe2; --bg2:#f8efe2;
  --ink:#0f0f0f; --muted:#6b5e54;
  --gold:#e3a248; --gold-700:#c57b2b; --accent:#2f9c8d; --accent-700:#1f776a;
  --blush:#f2bca6;
  --paper:#fffdf6; --border:rgba(17,17,17,.1);
  --shadow:0 12px 28px rgba(15,10,5,.08);
  --shadow-soft:0 6px 16px rgba(15,10,5,.08);
  --shadow-deep:0 26px 60px rgba(15,10,5,.18);
  --radius:18px;
}
*{ box-sizing:border-box; }
html,body{ height:100%; scroll-behavior:smooth; }
html{ background: var(--bg1); }
body{
  margin:0; color:var(--ink);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  background: var(--bg1);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.04;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)" opacity="0.06"/></svg>');
}

/* Helpers */
.container{ max-width:1140px; margin-inline:auto; padding-inline:20px; }
.muted{ color:var(--muted); }
.hide-sm{ display:none; }
@media (min-width: 640px){ .hide-sm{ display:inline-flex; } }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.78rem 1.25rem; border-radius:999px; font-weight:700; font-size:.95rem;
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition: transform .2s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  letter-spacing:.01em;
}
.btn-fill{ background:linear-gradient(180deg,#1b1b1b,#0e0e0e); color:#fff; box-shadow:var(--shadow-soft); }
.btn-fill:hover{ transform:translateY(-1px); box-shadow:var(--shadow-deep); }
.btn-outline{ border-color:rgba(17,17,17,.2); color:var(--ink); background:rgba(255,255,255,.65); }
.btn-outline:hover{ background:var(--ink); color:#fff; box-shadow:var(--shadow-soft); }
.btn-alt{ border-color:var(--blush); color:var(--ink); background:linear-gradient(180deg,#fff, #fff1ea); box-shadow:var(--shadow-soft); }
.btn-alt:hover{ background:#fff; border-color:rgba(17,17,17,.2); box-shadow:var(--shadow-deep); }
.btn-light{ background:#fff; color:#111; border-color:#fff; box-shadow:var(--shadow-soft); }
.btn-outline-light{ border-color:rgba(255,255,255,.7); color:#fff; background:transparent; }
.btn-outline-light:hover{ background:#fff; color:#111; box-shadow:var(--shadow-soft); }

/* Pills */
.pill{ display:inline-flex; padding:.35rem .7rem; border-radius:999px; font-weight:700; font-size:.78rem; }
.pill-gold{ background:var(--gold); color:#C7A774; }
.pill-light{ background:#fff; color:#111; border: 1px solid rgba(154, 154, 154, 0.35);}
.pill-dark{ background:#111; color:#fff; }
.pill-glass{ background: rgba(255,255,255,.22); color:#fff; }

/* Cards */
.card{
  background:linear-gradient(180deg,#fff,#fbf7f1);
  border:1px solid rgba(17,17,17,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  margin:0; /* reset figure/blockquote default margins to prevent overflow */
}
.glass{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow-soft);
}

/* Typography */
h1,h2{ font-family:"Playfair Display",serif; line-height:1.15; margin:0 0 .5rem; letter-spacing:-0.01em; }
.kicker{ letter-spacing:.26em; text-transform:uppercase; font-size:.8rem; color:var(--muted); }

/* ===== NAVBAR ===== */

.navbar{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  backdrop-filter: blur(22px) saturate(200%);
  -webkit-backdrop-filter: blur(22px) saturate(200%);
  background-color: var(--bg1);
  background-image:
    linear-gradient(180deg, var(--bg1) 0%, rgba(255,255,255,.92) 55%, rgba(248,243,234,.88) 100%),
    linear-gradient(120deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 65%);
  border-bottom:1px solid rgba(227,162,72,.45);
  box-shadow:
    0 22px 44px rgba(17,10,5,.14),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.6);
  overflow:hidden;
  padding-top: env(safe-area-inset-top, 0px);
}
.navbar-cap{
  position:absolute;
  top:0; left:0; right:0;
  height: env(safe-area-inset-top, 0px);
  background: var(--bg1);
  z-index:2;
  pointer-events:none;
}
.navbar::before{
  content:"";
  position:absolute;
  inset:-70% -10% 35%;
  background:
    radial-gradient(130% 90% at 50% 0%, rgba(255,255,255,.98), transparent 60%),
    linear-gradient(90deg, transparent 10%, rgba(255,255,255,.6) 50%, transparent 90%);
  pointer-events:none;
  opacity:.95;
}
.navbar::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(227,162,72,.6), transparent);
  pointer-events:none;
}
.navbar > *{ position:relative; z-index:1; }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.brand{ display:flex; align-items:center; gap:.75rem; text-decoration:none; color:inherit; }
.mark{ width:42px; height:42px; border-radius:999px; border:1px solid #dedede; display:grid; place-items:center; background:linear-gradient(135deg,#fff,#f5f5f5); box-shadow:0 1px 6px rgba(0,0,0,.06); font-family:"Playfair Display",serif; transition: transform .25s ease; }
.mark:hover{ transform: rotate(-4deg) scale(1.04); }
.bline{ display:flex; gap:.45rem; align-items:flex-end; }
.brand-script{ font-family:"Great Vibes",cursive; font-size:1.6rem; line-height:1; }
.brand-serif{ font-family:"Playfair Display",serif; font-size:1.25rem; line-height:1.1; }
.brand-sub{ font-size:.65rem; letter-spacing:.28em; color:#6b6b6b; margin-top:-2px; }
.nav-links{ display:none; align-items:center; gap:1rem; }
.nav-link{ position:relative; font-weight:700; text-decoration:none; color:var(--ink); padding-inline:.2rem; }
.nav-link::after{ content:""; position:absolute; left:.2rem; right:.2rem; bottom:-6px; height:2px; width:0; background: linear-gradient(90deg,var(--gold),transparent); transition:width .25s; }
.nav-link:hover::after{ width:calc(100% - .4rem); }
.rating-pill{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.25rem .55rem; border-radius:999px;
  border:1px solid rgba(227,162,72,.35);
  background:linear-gradient(180deg,#fff,#fff8f1);
  font-weight:800; color:#3b352c; box-shadow:var(--shadow-soft);
}
.nav-toggle{
  display:inline-grid; place-items:center;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px; padding:.5rem;
  background:linear-gradient(180deg,#fff,#f6efe4);
  box-shadow:var(--shadow-soft);
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  accent-color:var(--ink);
  touch-action:manipulation;
}
.nav-toggle svg{ stroke:currentColor; }
.navbar .btn-outline{
  border-color:rgba(227,162,72,.75);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.7));
  box-shadow:
    0 10px 24px rgba(227,162,72,.18),
    inset 0 0 0 1px rgba(255,255,255,.9);
}
.navbar .btn-outline:hover{
  background:var(--ink);
  color:#fff;
  border-color:rgba(15,10,5,.85);
  box-shadow:
    0 12px 26px rgba(15,10,5,.25),
    inset 0 0 0 1px rgba(255,255,255,.12);
}
@media (min-width:920px){ .nav-links{ display:flex; } .nav-toggle{ display:none; } }

/* Mobile menu */
.mobile{ border-top:1px solid #eee; background:#fff; }
.mobile a{ display:block; padding:12px 20px; font-weight:700; color:var(--ink); text-decoration:none; }
.mobile a:hover{ background:#f7f7f7; }

/* ===== HERO ===== */
.hero{ position:relative; overflow:clip;} 
.hero-bg{
  position:absolute; inset:0; pointer-events:none;
  background:none;
  animation:none;
}
@keyframes gradientShift{
  0%{ background-position: left top, right bottom, left top; }
  100%{ background-position: right bottom, left top, right bottom; }
}
.hero-grid{ display:grid; gap:2.5rem; align-items:center; padding-block: clamp(4rem,10vw,7.5rem); }
@media (min-width:992px){ .hero-grid{ grid-template-columns:1.05fr .95fr; } }
@media (max-width:640px){ .hero-grid{ padding-top:6.5rem; } }
.hero-title{
  font-size: clamp(2.8rem,6vw,4.6rem);
  letter-spacing:-0.02em;
  text-shadow:0 18px 36px rgba(17,10,5,.12);
}
.lead{ font-size:1.12rem; color:#2f2a24; max-width:560px; line-height:1.75; }
.gold-rule{ display:block; height:3px; width:128px; margin:.35rem 0 1rem; background: linear-gradient(90deg,var(--gold),transparent); opacity:.9; }
.rating{ display:flex; align-items:center; gap:.6rem; margin-top:.6rem; color:#5c5247; font-weight:600; }
.actions{ display:flex; gap:.6rem; flex-wrap:wrap; margin:.8rem 0 0; }
.card.hero-card{ overflow:hidden;}
.ph-img{ display:grid; place-items:center; min-height:420px; min-width: auto; background:url('images/inside.webp'); background-size: cover; color:#5a5a5a; text-align:center; padding:1.5rem; }
.ph-title{ font-family:"Playfair Display",serif; font-size:1.6rem; }
.promo{ position:absolute; left:-1rem; bottom:-1rem; width:260px; padding:1rem; }
.promo-badge{ display:inline-block; margin-top:.55rem; padding:.4rem .75rem; border-radius:999px; background:var(--gold); color:#fff; font-weight:700; font-size:.78rem; }
.hero-right{ position:relative; }
.hero-right .card.quote {
  padding:1rem;
  min-height:200px;
  width: auto;
}
@media (max-width: 425px) {
  .hero-card,
  .hero-right .card.quote {
    width: 100%;
    max-width: none;
  }
}

/* Mini gallery */
.gallery{ margin-top:2rem; display:grid; gap:10px; grid-template-columns:repeat(6,1fr); }
.gallery img{
  width:100%; height:120px; object-fit:cover; border-radius:12px;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 10px 24px rgba(17,10,5,.12);
  filter:grayscale(.1) contrast(1.05);
  transition: transform .3s ease, filter .3s ease, box-shadow .3s ease;
}
.gallery img:hover{ transform: scale(1.04); filter: brightness(1.05); box-shadow:0 14px 30px rgba(17,10,5,.16); }
@media (max-width:640px){ .gallery{ grid-template-columns:repeat(3,1fr); } }

/* ===== SECTIONS / LAYOUT ===== */
.section{ padding-block: clamp(4rem,8vw,6rem); }
.section-plain{ background: transparent; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.grid{ display:grid; gap:1rem; }
@media (min-width:640px){ .grid.cols-2{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .grid.cols-3{ grid-template-columns:repeat(3,1fr);} }

.gallery-thumb.more-thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.1); /* subtle placeholder background */
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  backdrop-filter: blur(4px);
}


.gallery-thumb.more-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(227,162,72,0.45), /* gold — slightly stronger */
    rgba(0,0,0,0.6)        /* deeper shadow */
  );
}

.gallery-thumb.more-thumb span {
  position: relative;
  z-index: 2;
  color: #fff; /* keep white text */
}

/* Hover — also deepened just a touch from original */
.gallery-thumb.more-thumb:hover::before {
  background: linear-gradient(
    135deg,
    rgba(227,162,72,0.60),
    rgba(0,0,0,0.75)
  );
}
  
/*
.gallery-thumb.more-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(35, 35, 35, 0.65),
    rgba(15, 15, 15, 0.85)
  );
  backdrop-filter: blur(2px);
}

.gallery-thumb.more-thumb:hover::before {
  background: linear-gradient(
    135deg,
    rgba(25, 25, 25, 0.85),
    rgba(0, 0, 0, 0.95)
  );
}

.gallery-thumb.more-thumb span {
  position: relative;
  z-index: 2;
  color: var(--gold);
  font-weight: 600;
}
*/
.hidden-gallery-img {
  display: none;
}



/* ===== ABOUT (Premium refined) ===== */
:root{
  --bg1:#f8efe2; --bg2:#f8efe2;
  --ink:#0f0f0f; --muted:#6b5e54;
  --gold:#e3a248; --gold-700:#c57b2b; --accent:#2f9c8d; --accent-700:#1f776a;
  --blush:#f2bca6;
  --paper:#fffdf6; --border:rgba(17,17,17,.1);
  --shadow:0 12px 28px rgba(15,10,5,.08);
  --shadow-soft:0 6px 16px rgba(15,10,5,.08);
  --shadow-deep:0 26px 60px rgba(15,10,5,.18);
  --radius:18px;
}

.about-premium{ position:relative; overflow:clip; padding-bottom: clamp(2.5rem, 6vw, 3.5rem); }
.about-bg{
  position:absolute; inset:0; pointer-events:none;
  background:none;
  opacity:0;
}

/* Grid shell */
.about-grid{ display:grid; gap:2rem; align-items:start; }
@media (min-width: 992px){
  .about-grid{ grid-template-columns: 1.1fr 1.35fr; }
}

/* Left col */
.about-left{ display:grid; gap:1rem; }
.about-media{
  overflow:hidden; padding:0; position:relative; border-radius:22px;
  height:clamp(19rem, 34vw, 26rem);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-deep);
}
.about-media img{ width:100%; height:100%; object-fit:cover; display:block; object-position:center 45%; }
@media (max-width: 992px){
  .about-left{ display:grid; gap:1rem; }
  .about-media{ height:clamp(17rem, 65vw, 24rem); }
  .about-media img{ width:100%; height:100%; object-fit:cover; display:block; object-position:center 25%; }
}
.about-badge{
  position:absolute; right:14px; bottom:14px; padding:.45rem .7rem;
  background:rgba(17,17,17,.72); color:#fff; border-radius:10px; font-weight:800; font-size:.78rem;
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(6px);
}

/* Right col */
.about-right{ display:grid; gap:1rem; padding-top:.5rem; }
.about-title{ display:flex; align-items:center; gap:.6rem; }
.about-title::after{ content:""; height:2px; flex:1; background:linear-gradient(90deg,var(--gold),transparent); }
.about-sub{ color:#3f3a34; max-width:60ch; }
.about-note{ margin:.25rem 0 .75rem; color:#5c5247; max-width:58ch; }

.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:.4rem 0 .9rem; }
.stat{
  background:linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(227,162,72,.25);
  border-radius:12px; text-align:center; padding:.7rem .5rem;
  box-shadow:var(--shadow-soft);
}
.stat-num{ font-weight:900; font-size:1.28rem; }
.stat-label{ color:#6b6156; font-size:.86rem; }

.badge-row{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.2rem 0 .8rem; }
.badge{
  border:1px solid rgba(227,162,72,.35);
  background:linear-gradient(180deg,#fff,#fff7ef);
  padding:.35rem .6rem; border-radius:999px; font-weight:800; font-size:.78rem;
  letter-spacing:.02em;
}

.hours{ padding:1.1rem; margin-top:.2rem; }
.hours-grid{ display:grid; grid-template-columns:1fr auto; gap:.45rem 1.25rem; }
.hours-note{ margin-top:.6rem; color:var(--muted); font-size:.95rem; }



/* ===== Natural Morphism for Feature Cards ===== */
.feature-grid-left {
  display: grid;
  grid-template-columns: 1fr; /* single column vertically stacked */
  gap: 1rem;
  margin-top: 0.5rem;
}

.feature-card.morph {
  background: linear-gradient(180deg, #ffffff, #fdf8f2);
  border: 1px solid rgba(230, 220, 205, 0.7);
  border-radius: 18px;
  padding: 1.2rem 1.1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  transition: all 0.25s ease;
  box-shadow:
    0 4px 10px rgba(190, 175, 145, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* Make them lift slightly with gold tint on hover */
.feature-card.morph:hover {
  transform: translateY(-3px);
  background: linear-gradient(180deg, #fffdf9, #f8f3eb);
  border-color: rgba(201, 166, 92, 0.35);
  box-shadow:
    0 10px 20px rgba(201, 166, 92, 0.12),
    inset 0 1px 1px rgba(255, 255, 255, 0.5);
}

/* Icon container */
.icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #ffffff, #f8f3ec);
  border: 1px solid rgba(225, 210, 190, 0.6);
  color: #7a6745;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

/* Typography */
.feature-title {
  margin: 0;
  font-weight: 800;
  font-size: 1rem;
  color: #2d2416;
}
@media (min-width: 1200px) {
  .feature-grid-left .feature-card:nth-child(2) .feature-title,
  .feature-grid-left .feature-card:nth-child(3) .feature-title {
    margin-bottom: 0.75rem;
    margin-top:0.45rem;
  }
}
.feature-desc {
  margin: 0.3rem 0 0;
  font-size: 0.95rem;
  color: #4c4433;
  line-height: 1.5;
}

/* Add responsive spacing */
@media (min-width: 992px) {
  .feature-grid-left {
    max-width: 420px; /* keeps the left column neat next to photo */
  }
}

/* ===== Morphic Icon Enhancement ===== */

/* Base icon container: soft, translucent, glowing */
.icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(201, 180, 140, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    0 4px 8px rgba(201, 166, 92, 0.08);
  color: #7a6745;
  backdrop-filter: blur(8px) saturate(160%);
  -webkit-backdrop-filter: blur(8px) saturate(160%);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Soft golden highlight inside */
.icon-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 30% 20%,
    rgba(255, 255, 255, 0.5),
    rgba(201, 166, 92, 0.15) 45%,
    transparent 70%
  );
  opacity: 0.6;
  z-index: 0;
  transition: opacity 0.3s ease;
}

/* Slight hover glow */
.feature-card.morph:hover .icon-wrap {
  background: rgba(255, 249, 235, 0.65);
  border-color: rgba(201, 166, 92, 0.45);
  box-shadow:
    0 6px 14px rgba(201, 166, 92, 0.2),
    inset 0 1px 1px rgba(255, 255, 255, 0.5);
  transform: translateY(-1px);
}

.feature-card.morph:hover .icon-wrap::before {
  opacity: 1;
}

/* SVG icon refinement */
.icon-wrap svg {
  position: relative;
  z-index: 1;
  stroke: #7a6745;
  stroke-width: 2;
  transition: stroke 0.3s ease, transform 0.3s ease;
}

/* On hover, give the icon a soft gold tone and lift */
.feature-card.morph:hover .icon-wrap svg {
  stroke: var(--gold, #c9a45c);
  transform: scale(1.05);
}



/* ===== FANCY SERVICES ===== */
.fancy-services .service{
  position:relative; padding:1rem; overflow:hidden;
  background: linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(227,162,72,.18);
  box-shadow:var(--shadow-soft);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fancy-services .service::before{
  content:""; position:absolute; inset:-1px; border-radius:calc(var(--radius) - 2px);
  padding:1px; background:linear-gradient(135deg, rgba(227,162,72,.35), rgba(255,255,255,0));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.service:hover{ transform: translateY(-3px); box-shadow:var(--shadow-deep); border-color:rgba(227,162,72,.35); }
.service-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; }
.service-title{ margin:0; font-size:1.06rem; font-weight:800; }
.service-desc{ margin:.45rem 0 .9rem; color:#4b4b4b; }
.s-cta{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.s-cta .btn{ padding:.55rem .9rem; font-size:.9rem; }
.s-kicker{ display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#6b6b6b; }
.s-kicker .dot{ width:8px; height:8px; background:#111; border-radius:999px; box-shadow:0 0 0 3px rgba(17,17,17,.08); }
.s-kicker .dot-gold{ background:var(--gold); }
.legend{ display:flex; gap:1rem; align-items:center; color:#555; }
.legend .dot{ width:10px; height:10px; background:#111; border-radius:999px; display:inline-block; margin-right:.35rem; box-shadow:0 0 0 3px rgba(17,17,17,.08); }
.legend .dot-gold{ background:var(--gold); }
.s-icon{
  width:38px; height:38px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(180deg,#fff,#f7efe3);
  border:1px solid rgba(227,162,72,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  flex:0 0 auto;
}
.s-head-left{ display:flex; align-items:flex-s; gap:1rem; }


/* ===== REVIEWS ===== */
.reviews{ display:grid; gap:1rem; }
.quote{ padding:1rem; }
.stars{ letter-spacing:2px; color: var(--gold, #c9a45c); }
.star-gold{ color: var(--gold, #c9a45c); }
.avatar{ width:38px; height:38px; border-radius:999px; background:#ddd; margin-right:.6rem; }
.q-head{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.hero-review{ margin-top:1.25rem; background:linear-gradient(180deg,#fff,#fff9f5); border:1px solid #efe6db; }
.hero-review .meta{ display:flex; align-items:center; gap:.6rem; }

/* ===== REVIEWS (final) ============================================== */
/* Carousel shell */
.reviews-carousel{ position:relative; }
.rc-viewport{ overflow:hidden; }
.rc-track{
  display:flex; gap:1rem; padding:2px;
  will-change:transform;
  transition: transform .4s cubic-bezier(.22,.61,.36,1);
}
/* slides per breakpoint */
.rc-slide{ flex:0 0 100%; max-width:100%; display:flex; }
@media (min-width:700px){ .rc-slide{ flex-basis:50%;  max-width:50%;  } }
@media (min-width:1024px){ .rc-slide{ flex-basis:33.3333%; max-width:33.3333%; } }

/* Card (uniform/taller) */
.rc-card,
.quote{
  width:100%;
  min-height: clamp(320px, 35vw, 380px);
  max-height: 440px;
  padding: 20px 22px;
  display:flex; flex-direction:column;
  background: linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(227,162,72,.2); border-radius: var(--radius);
  box-shadow: var(--shadow), inset 0 -40px 60px rgba(227,162,72,.08);
  overflow:hidden;
}

/* Header */
.rc-card .q-head,
.quote .q-head{
  display:flex; flex-wrap:wrap; align-items:center;
  column-gap:.75rem; row-gap:.4rem;
  margin-bottom:.55rem;
}
@media (max-width:700px){
  .reviews-carousel .q-head{ flex-direction:column; align-items:flex-start; }
  .reviews-carousel .q-head > .pill.badge{ margin-top:.25rem; }
}
.rc-card .q-head > div:first-child,
.quote .q-head > div:first-child{
  display:flex; align-items:center; gap:.6rem;
  flex: 1 1 auto; min-width:0;
}

/* Avatar */
.rc-card .avatar,
.quote .avatar{
  width:46px; height:46px; flex:0 0 46px;
  border-radius:50%; display:grid; place-items:center;
  background:#efe7db; color:#6b6048; font-weight:800;
  border:1px solid #e7dfd4;
}

/* Full name (no truncation) */
.rc-card strong,
.quote strong{
  display:block;
  font-weight:800; color:#1a1a1a; font-size:1rem;
  white-space:normal; overflow:visible; text-overflow:clip;
  line-height:1.15;
}

/* “Google Review” pill */
.pill.badge{
  border:1px solid #eadfcd;
  background:linear-gradient(180deg,#fff,#fff8f0);
  color:#6a5a3a;
  border-radius:999px;
  padding:6px 12px;
  font-weight:700; font-size:.82rem;
  white-space:nowrap; flex:0 0 auto;
  align-self:flex-start;
}

/* Stars (gold) */
.rc-card .stars,
.quote .stars{
  color: var(--gold, #c9a45c);
  font-size:1.05rem; letter-spacing:2px;
  margin:.3rem 0 .65rem;
}

/* Body text (clamped for equal heights) */
.rc-card p,
.quote p{
  margin:0; color:#262626; font-size:1rem; line-height:1.55;
  display:-webkit-box; -webkit-box-orient:vertical;
  -webkit-line-clamp: 7; overflow:hidden;
}

/* Dots */
.rc-dots{ display:flex; gap:.4rem; justify-content:center; margin-top:10px; }
.rc-dot{
  width:8px; height:8px; border-radius:999px;
  background:#d9d1c6; border:1px solid #cfc3b3; transition:all .2s;
}
.rc-dot[aria-selected="true"]{
  width:18px; background:var(--gold,#c9a45c); border-color:var(--gold-700,#9f7f43);
}

/* (Optional) keep base non-carousel review styles */
.reviews{ display:grid; gap:1rem; }
.quote{ padding:0; } /* already padded via .rc-card/.quote above */



/* ===== TEAM ===== */
.team-grid{ align-items:stretch; }
.team-card{ overflow:hidden; border:1px solid rgba(17,17,17,.08); box-shadow:var(--shadow); background:linear-gradient(180deg,#fff,#fbf7f1); }
.team-card img{ width:100%; height:450px; object-fit:cover; display:block; filter:saturate(1.05) contrast(1.02); }
.team-grid > .team-card:first-child img{
 object-position: 50% 15%;
}
.team-body{ padding:1rem; background:linear-gradient(180deg,#fff,#fff7ef); }
.team-body h3{ margin:.1rem 0 .25rem;}

/* ===== INSTAGRAM STRIP ===== */




/* === Wrapper for each embed === */
.insta-embed {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(17,17,17,.06);
  box-shadow: var(--shadow);
  max-height: 820px; /* crop before comment field */
}

/* === The actual Instagram embed === */
.insta-embed blockquote.instagram-media {
  width: 100% !important;
  max-width: 540px !important;
  margin: 0 auto !important;
  border: 0 !important;
  overflow: hidden;
}

/* === Fade overlay (hides comment box visually) === */
.insta-embed::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30px; /* adjust to match the comment box height */
  background: linear-gradient(transparent, #fff);
  pointer-events: none;
}

/* === Responsive Adjustments === */
@media (max-width: 992px) {
  .insta-embed { max-height: 760px; }
}

@media (max-width: 725px) {

  .insta-embed { max-height: 640px; }
  .insta-embed::after { height: 60px; }
}

.insta{ background: transparent; padding-block:2.2rem; }
.insta-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
/*.insta-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }*/
.insta-grid img{ width:100%; height:140px; object-fit:cover; border-radius:12px; transition: transform .25s ease; }
.insta-grid img:hover{ transform: translateY(-3px); }
@media (max-width:920px){
  .insta-grid {
    grid-template-columns: repeat(3, 1fr);
  }

}

.insta-grid {
  display: grid;
  gap: 30px;
  justify-content: center; /* keeps posts centered if fewer columns fit */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* Instagram embeds fill the column fully */
.insta-grid blockquote.instagram-media {
  width: 100% !important;
  max-width: 100% !important;
}

/* Optional breakpoints for tighter control */
@media (max-width: 1075px) {
  .insta-grid {

    grid-template-columns: repeat(2, minmax(260px, 1fr));
  }
}

@media (max-width: 725px) {
  .insta-grid {
    grid-template-columns: repeat(1, minmax(220px, 1fr));
  }
}


/*
.insta {
  background: #fff;
  border-top: 1px solid #e9e6e1;
  padding-block: 2.2rem;
}

.insta-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.insta-carousel {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center; /* ✅ Center the whole track itself */


.insta-track {
  
  display: flex;
  align-items: flex-start;
  transition: transform 0.5s ease;
  justify-content: center;
  gap: 30px; /* consistent spacing */
  width: auto; /* ✅ shrink to fit its content */
  max-width: 100%;
}

.insta-slide {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
}

.insta-slide blockquote.instagram-media {
  max-width: 540px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.insta-slide blockquote {
  width: 100% !important;
  max-width: none !important;
}

.insta-prev,
.insta-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #00000066;
  color: #fff;
  border: none;
  font-size: 1.5rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.3s;
  z-index: 2;
  display: none;
}

.insta-prev:hover,
.insta-next:hover {
  background: #000000cc;
}

.insta-prev { left: 0; }
.insta-next { right: 0; }


@media (min-width: 1076px) {
  .insta-track {
    justify-content: center;
  }
}

@media (max-width: 1075px) and (min-width: 726px) {
  .insta-track {
    
    gap: 40px; 
    justify-content: space-evenly; 
  }
}

@media (max-width: 725px) {
  .insta-track {
    justify-content: center;
    gap: 0;
  }
  .insta-slide {
    flex: 0 0 auto;
  }
}

/* ===== CONTACT ===== */
.contact{
  background: transparent;
  color:var(--ink); position:relative; overflow:hidden; padding-block: clamp(4rem,8vw,6rem);
}
.contact .container{ position:relative; }
.contact-glow{
  position:absolute; inset:0; pointer-events:none;
  background:none;
  opacity:0;
}
.contact-grid{ display:grid; gap:1.5rem; align-items:start; }
@media (min-width:992px){ .contact-grid{ grid-template-columns:1.05fr 1.45fr; } }
.contact-panel{
  display:flex; flex-direction:column; gap:1rem;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  border-radius: var(--radius);
  border:1px solid rgba(17,17,17,.08);
  background: linear-gradient(180deg,#fff,#fff7ef);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
}
.contact-title{ font-size: clamp(2rem, 3.2vw, 3rem); margin:0; letter-spacing:-0.01em; }
.contact-lede{ margin:0; color:#5c5247; font-size:1.08rem; }
.contact-actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.contact-divider{ height:1px; background: linear-gradient(90deg, transparent, rgba(17,17,17,.2), transparent); }
.contact-note{ margin:0; color:#6b6156; font-size:.92rem; }
.contact .btn-light{
  background: linear-gradient(180deg,#1b1b1b,#0e0e0e);
  color:#fff; border-color:#0f0f0f;
}
.contact .btn-outline-light{
  border-color: rgba(17,17,17,.2);
  color: var(--ink);
  background: transparent;
}
.contact .btn-outline-light:hover{
  background: var(--ink);
  color:#fff;
}
.contact .pill-glass{
  background: rgba(227,162,72,.18);
  color:#3b342a;
  border:1px solid rgba(227,162,72,.35);
}
.info-list{ display:grid; gap:.5rem; }
.contact-panel .info-list{ gap:.6rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.chip{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(255,255,255,.75);
  color:#2f2923;
  padding:.5rem .8rem; border-radius:10px; font-weight:700;
}
.contact-panel .chip{ background: rgba(255,255,255,.9); border-color: rgba(17,17,17,.12); }
.chip a{ color:#2f2923; text-decoration:none; }
.form-card{ padding:1rem; background:#fff; color:#111; height:100%;}
.label{ display:block; font-size:.9rem; margin-bottom:.6rem; }
.input{ width:100%; padding:.7rem .9rem; border:1px solid #d1d5db; border-radius:10px; font:inherit; }
.input:focus{ outline:none; border-color:#111; box-shadow: 0 0 0 3px rgba(17,17,17,.2); }
.form-note{ margin:.5rem 0 0; color:#e6e6e6; }
.map-card{ overflow:hidden; padding:1em; height:100%; display:flex; flex-direction:column; }
.map-wrap{ position:relative; width:100%; border-radius:inherit; overflow:hidden; flex:1; min-height:360px; }
.map-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(.08) contrast(1.08) saturate(.95); }
.map-actions{ display:flex; gap:.6rem; margin-top:.8rem; }
@media (max-width:991px){
  .map-card{ height:auto; }
  .map-wrap{ flex:0 0 auto; aspect-ratio:16/10; min-height:0; }
}

/* Mobile sticky CTA */
.sticky-cta{
  position:fixed; left:50%; transform:translateX(-50%); bottom:14px; z-index:999;
  display:flex; gap:6px; padding:6px; border-radius:999px;
  background: rgba(255, 255, 255, 0.9); border:1px solid rgba(17,17,17,.12);
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(6px);
}
.sticky-cta a{
  text-decoration: none;
}

@media (min-width:768px){ .sticky-cta{ display:none; } }

/* ===== FOOTER ===== */
.footer{
  background: transparent;
  color:#2f2923;
  padding: 2rem 0 1.25rem;
}
.footer-grid{
  display:grid;
  gap:1.25rem;
}
@media (min-width:900px){
  .footer-grid{
    grid-template-columns:1.4fr minmax(200px, 1fr);
    align-items:start;
  }
}
.footer-brand{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.footer-img{
  width:64px;
  height:auto;
  object-fit:contain;
}
.footer-brand h3{
  margin:0;
  font-size:1.1rem;
  font-weight:800;
  color:#2b251f;
}
.footer-tagline{
  margin:.25rem 0 0;
  font-size:.92rem;
  color:#6a6359;
}
.footer-social{
  display:flex;
  gap:.55rem;
  margin-top:.6rem;
}
.footer-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(255,255,255,.8);
  box-shadow:var(--shadow-soft);
  color:#2f2923;
  transition: transform .2s ease, box-shadow .2s ease, color .2s ease, border-color .2s ease;
}
.footer-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.footer-icon:hover{
  transform:translateY(-1px);
  color:var(--gold-700);
  border-color:rgba(227,162,72,.35);
  box-shadow:var(--shadow);
}
.footer-col{
  display:grid;
  gap:.45rem;
  align-content:start;
}
.footer-title{
  font-size:.75rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#8a7b66;
  margin:0 0 .3rem;
  font-weight:800;
}
.footer-text{
  margin:0;
  color:#6a6359;
}
.footer-link{
  color:#2f2923;
  text-decoration:none;
  font-weight:600;
}
.footer-link:hover{ color:var(--gold-700); }
.footer-bottom{
  margin-top:1.25rem;
  padding-top:.75rem;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  gap:.5rem;
  color:#6a6359;
  font-size:.85rem;
}
@media (min-width:700px){
  .footer-bottom{ flex-direction:row; align-items:center; justify-content:space-between; }
}
.footer-copy{ margin:0; letter-spacing:.02em; }
.footer-meta{ margin:0; color:#6b6156; }

/* ===== LUX DIVIDER ===== */
hr.lux{ border:none; height:1px; width:60%; margin:2.2rem auto; background: linear-gradient(90deg, transparent, var(--gold), transparent); }

/* ===== SCROLL REVEAL ===== */
.reveal{ opacity:0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform: translateY(0); }


/* ===== SERVICE IMAGE BLOCK ===== */
.service-img {
  margin: 0.8rem 0 1rem;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, #f7f2ea, #efe5d7);
  border:1px solid rgba(227,162,72,.2);
  box-shadow:var(--shadow-soft);
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5; /* 2.2 maintains consistent size */
  
  
}
.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease, filter 0.3s ease;
  object-position: left center;
  
}
.service-img:hover img {
  transform: scale(1.05);
  filter: brightness(1.05);
}

/* ===== ABOUT (Premium refined) ===== */
:root{
  --bg1:#f8efe2; --bg2:#f8efe2;
  --ink:#0f0f0f; --muted:#6b5e54;
  --gold:#e3a248; --gold-700:#c57b2b; --accent:#2f9c8d; --accent-700:#1f776a;
  --blush:#f2bca6;
  --paper:#fffdf6; --border:rgba(17,17,17,.1);
  --shadow:0 12px 28px rgba(15,10,5,.08);
  --shadow-soft:0 6px 16px rgba(15,10,5,.08);
  --shadow-deep:0 26px 60px rgba(15,10,5,.18);
  --radius:18px;
}
.about-premium{ position:relative; overflow:clip; padding-bottom:clamp(2.5rem,6vw,3.5rem); }
.about-bg{
  position:absolute; inset:0; pointer-events:none;
  background:none;
  opacity:0;
}

/* Top grid */
.about-grid{ display:grid; gap:2rem; align-items:start; }
@media (min-width:992px){ .about-grid{ grid-template-columns:1.1fr 1.35fr; } }



.about-badge{
  position:absolute; right:14px; bottom:14px; padding:.45rem .7rem;
  background:rgba(17,17,17,.72); color:#fff; border-radius:10px; font-weight:800; font-size:.78rem;
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(6px);
}

.about-right{ display:grid; gap:1rem; padding-top:.5rem; }
.about-title{ display:flex; align-items:center; gap:.6rem; margin:0; }
.about-title::after{ content:""; height:2px; flex:1; background:linear-gradient(90deg,var(--gold),transparent); }
.about-sub{ color:#3f3a34; max-width:60ch; }
.about-note{ margin:.25rem 0 .75rem; color:#5c5247; max-width:58ch; }

.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:.4rem 0 .9rem; }
.stat{
  background:linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(227,162,72,.25);
  border-radius:12px; text-align:center; padding:.7rem .5rem;
  box-shadow:var(--shadow-soft);
}
.stat-num{ font-weight:900; font-size:1.28rem; }
.stat-label{ color:#6b6156; font-size:.86rem; }

.badge-row{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.2rem 0 .8rem; }
.badge{
  border:1px solid rgba(227,162,72,.35);
  background:linear-gradient(180deg,#fff,#fff7ef);
  padding:.35rem .6rem; border-radius:999px; font-weight:800; font-size:.78rem;
  letter-spacing:.02em;
}

/* Hours base */
.hours{ padding:1.1rem; margin-top:.2rem; }
.hours-grid{ display:grid; grid-template-columns:1fr auto; gap:.45rem 1.25rem; }
.hours-note{ margin-top:.6rem; color:var(--muted); font-size:.95rem; }

/* ===== Feature card (morphic) ===== */
.feature-card.morph{
  background:linear-gradient(180deg,#ffffff,#fff7ef);
  border:1px solid rgba(227,162,72,.2);
  border-radius:18px;
  padding:1.1rem;
  display:flex; align-items:flex-start; gap:1rem;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.6);
}
.feature-card.morph:hover{
  transform:translateY(-3px);
  border-color:rgba(227,162,72,.4);
  box-shadow:0 14px 28px rgba(227,162,72,.16), inset 0 1px 1px rgba(255,255,255,.6);
}
.icon-wrap{
  flex-shrink:0;                       /* prevents squish */
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(227,162,72,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 6px 12px rgba(227,162,72,.1);
  position:relative; overflow:hidden;
  backdrop-filter: blur(8px) saturate(160%);
  -webkit-backdrop-filter: blur(8px) saturate(160%);
}
.icon-wrap::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.5), rgba(227,162,72,.15) 45%, transparent 70%);
  opacity:.65;
}
.icon-wrap svg{ position:relative; z-index:1; width:20px; height:20px; stroke:#7a6745; stroke-width:2; transition:transform .3s ease, stroke .3s ease; }
.feature-card.morph:hover .icon-wrap svg{ transform:scale(1.05); stroke:var(--gold); }

.feature-title{ margin:0; font-weight:800; font-size:1rem; color:#2d2416; line-height:1.18; }
.feature-desc{ margin:.3rem 0 0; font-size:.95rem; color:#4c4433; line-height:1.55; }

/* ===== Bottom row (features + hours) ===== */
.about-premium .about-bottom-row{
  display:grid;
  grid-template-columns: 1fr minmax(360px, 440px); /* features | hours */
  gap: 4rem;
  align-items: stretch;
  margin-top: clamp(1.25rem, 3vw, 2rem);
}
.about-premium .about-bottom-row > * {
  min-height: 0;  /* allows shrinking */


}
.about-premium .about-bottom-row .hours-stack{
  display:grid;
  gap: .8rem;
  align-content: start;
  grid-auto-rows: max-content;
}
/* Features in 1×4 (desktop), responsive down */
.about-premium .about-bottom-row .feature-grid-left {
  display: grid;
  grid-template-columns: repeat(2, 1fr);  /* ✅ 2 columns → 2x2 layout */
  gap: 1rem 2rem;
  width:100%;
  max-width: 100%;
  align-items: start;
  align-content: start;
 
}
.about-premium .about-bottom-row .feature-card{
  width:100%;
  height: clamp(160px, 15vw, 185px);
  padding-bottom: 1.4rem;
}

/* Hours card stretches and keeps tidy spacing */
.about-premium .about-bottom-row .card.hours{
  align-self:stretch;
  height: 100%;
  display:flex; flex-direction:column; gap:.8rem;
  border-radius:16px; padding:1.3rem 1.5rem;
  background:linear-gradient(180deg,#fffefb 0%, #fff6ef 100%);
  border:1px solid rgba(227,162,72,.25);
  box-shadow:0 12px 28px rgba(17,13,6,.08), inset 0 1px 0 rgba(255,255,255,.75);
  position:relative;
  overflow:hidden;
  backdrop-filter:none;
}
.about-premium .about-bottom-row .hours-grid{ margin-top:.4rem; }
.about-premium .about-bottom-row .hours-note{ margin-top:auto; color:#6b5a3f; }
.about-premium .about-bottom-row .card.hours::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(120% 60% at 0% 0%, rgba(227,162,72,.18), transparent 60%);
  opacity:.7;
  pointer-events:none;
}
.about-premium .about-bottom-row .card.hours > *{
  position:relative;
  z-index:1;
}
.about-premium .about-bottom-row .card.hours .kicker{
  color:#8c7650;
  font-weight:700;
}
.about-premium .about-bottom-row .hours-grid{
  padding:.6rem .8rem;
  border-radius:12px;
  border:1px solid rgba(227,162,72,.2);
  background: rgba(255,255,255,.65);
}
.about-premium .about-bottom-row .hours-grid span:nth-child(odd){
  font-weight:700;
  color:#3f3524;
}
.about-premium .about-bottom-row .hours-grid span:nth-child(even){
  color:#5a4c35;
}

/* ===== Responsive ===== */
@media (max-width:1200px){
  .about-premium .about-bottom-row{ grid-template-columns:1.5fr 1.5fr; gap: 2rem;}
  .about-premium .about-bottom-row .feature-grid-left{ grid-template-columns:repeat(2, 1fr); gap: 1rem 1rem;} 
  .about-premium .about-bottom-row .card.hours{
    width:100%;
  }
  .feature-card.morph {
  gap: 0.5rem;
  }
  .feature-desc {
  font-size: 0.85rem;
  }
  .icon-wrap {
    width: 35px;
    height: 35px;
    border-radius: 10px;
  }
  .icon-wrap svg {
  transform: scale(0.9);
  }

}
@media (max-width:1050px){
  .about-premium .about-bottom-row{ grid-template-columns:1fr 1fr; gap:1rem; align-items: start; }
  .about-premium .about-bottom-row .feature-grid-left{ grid-template-columns:1fr; gap: 1rem;} /* 1-col */
  .about-premium .about-bottom-row .feature-card{ height: auto; }
  .about-premium .about-bottom-row .card.hours{ width:100%;}
}
@media (max-width:780px){
  .about-premium .about-bottom-row{ grid-template-columns:1fr; gap:2.5rem; align-items: start;}
  .about-premium .about-bottom-row .feature-grid-left{ grid-template-columns:1fr; gap: 2rem;} /* 1-col */
  .about-premium .about-bottom-row .card.hours{ width:100%;}
}

/* ===== Lightbox (fullscreen carousel) ===== */
body.lb-open { overflow: hidden; }
body.lb-open .navbar { opacity: 0; pointer-events: none; transform: translateY(-8px); }

.lightbox{
  position: fixed; inset: 0; z-index: 9999;
  display: grid; grid-template-columns: 1fr; place-items: center;
  background: rgba(0,0,0,.92);
}
.lightbox[hidden]{ display:none; }

.lightbox__backdrop{
  position:absolute; inset:0;
}

.lb-stage {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  
  z-index: 9;
}

.lb-img {
  width: auto;
  height: auto;
  max-width: min(90vw, 90vh * (16 / 9));  /* adaptive: wide images */
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 80px rgba(0,0,0,.6);
  z-index: 1;
}



.lb-caption {
  position: absolute;
  left: 50%;
  bottom: 50px;
  transform: translateX(-50%);
  color: #ddd;
  font: 700 12px/1 Inter, system-ui, sans-serif;
  background: rgba(255,255,255,.3);
  border: 1px solid rgba(255,255,255,.12);
  padding: .4rem .55rem;
  border-radius: 999px;
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
  text-shadow: none;
}



.lb-btn{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; display:grid; place-items:center;
  font: 900 26px/1 Inter, system-ui, sans-serif; color:#fff;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
  cursor: pointer; user-select:none;
  z-index: 10;
}
.lb-btn:hover{ background: rgba(255,255,255,.18); }
.lb-prev{ left: 18px; }
.lb-next{ right: 18px; }

.lb-close{
  top: 18px; right: 18px; transform:none; width: 40px; height: 40px; font-size: 24px;
  background: rgba(0,0,0,.35);
}
@media (max-width: 800px) {
  .lb-img {
    max-width: 95vw;
    max-height: 85vh;
  }
}

@media (max-width: 640px){
  .lb-prev{ left: 10px; }
  .lb-next{ right: 10px; }
  .lb-caption{ font-size: 12px; bottom: 8px; }
}






.navbar.disabled {
  pointer-events: none;
  opacity: 0; /* optional dimming */

}


/* --- Extras area under Hours --- */
.hours-extras {
  padding: 1.3rem 1.5rem;
  border-radius: 16px;
  background: linear-gradient(180deg,#fffefb 0%, #fff6ef 100%);
  border: 1px solid rgba(227,162,72,.25);
  box-shadow: 0 12px 28px rgba(17,13,6,.08), inset 0 1px 0 rgba(255,255,255,.75);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  position: relative;
  overflow: hidden;
}
.hours-extras::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(120% 60% at 0% 0%, rgba(227,162,72,.18), transparent 60%);
  opacity:.7;
  pointer-events:none;
}
.hours-extras > *{
  position: relative;
  z-index: 1;
}
.hours-extras .kicker{
  color:#8c7650;
  font-weight:700;
}

.extras-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .4rem;
  margin: 0 0 .4rem 0;
  padding: 0;
  list-style: none;
  font-size: .95rem;
}
.extras-list li{
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .6rem;
  padding: .15rem 0;
  border-bottom: 1px dashed rgba(227,162,72,.2);
}
.extras-list li:last-child{
  border-bottom: 0;
}
.extras-list strong{
  color:#4a3d2a;
}

.extras-list .ico {
  display: inline-block;
  width: 1.25rem;
  text-align: center;
  margin-right: .35rem;
}

.extras-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: auto;
}

.hours-extras a{
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}
.hours-extras a:hover{
  text-decoration: underline;
}

.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.78rem 1.25rem; border-radius:999px; font-weight:700; font-size:.95rem;
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition: transform .2s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  letter-spacing:.01em;
}

.btn.book {
  background: linear-gradient(180deg,#1b1b1b,#0e0e0e);
  color: #fff;
  box-shadow: var(--shadow-soft);
}

.btn.call {
  background: #fff;
  color: #111;
  border-color: rgba(17,17,17,.12);
  box-shadow: var(--shadow-soft);
}

/* --- Belt/ticker that "wraps" around the bottom of the card --- */
.card.hours { position: relative; }
.card.hours.has-belt{ padding-bottom: 3.25rem; }

.contact-belt {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -14px; /* slight overlap below card for a wrapped look */
  height: 38px;
  border-radius: 999px;
  background: var(--brand, #111);
  color: #fff;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  display: flex;
  align-items: center;
}

/* Give the belt a subtle glossy wrap */
.contact-belt::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 35%);
  pointer-events: none;
}

.ticker {
  position: relative;
  width: 100%;
  height: 100%;
}

.track {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 2rem;
  white-space: nowrap;
  will-change: transform;
  animation: beltScroll 22s linear infinite;
  padding-inline: 1rem;
}

.item {
  font-size: .95rem;
  letter-spacing: .2px;
  opacity: .95;
}

/* Scroll animation */
@keyframes beltScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Make sure it stays tidy on small screens */
@media (max-width: 520px) {
  .contact-belt { height: 34px; }
  .item { font-size: .9rem; }
}


    
