:root{
  --gold:#c9a96e;
  --gold-dark:#a07840;
  --gold-light:#e8d5b0;
  --cream:#faf7f2;
  --ivory:#f5f0e8;
  --warm-white:#fefcf8;
  --charcoal:#2a2a2a;
  --muted:#7a7167;
  --border:rgba(201,169,110,.25);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;}
h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;}
a{text-decoration:none;}
img{display:block;max-width:100%;}

/* ── NAVBAR ──────────────────────────────────────── */
.navbar{background:rgba(250,247,242,.96)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:14px 0;}
.navbar-brand{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;color:var(--charcoal)!important;}
.navbar-brand em{font-style:italic;}
.navbar-brand span{color:var(--gold);}
.nav-link{font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted)!important;transition:color .3s;}
.nav-link:hover,.nav-link.active{color:var(--gold-dark)!important;}
.navbar-toggler{border:none;padding:4px;}
.navbar-toggler:focus{box-shadow:none;}
.btn-gold{background:var(--gold);color:#fff;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;border-radius:0;border:none;transition:background .3s;}
.btn-gold:hover{background:var(--gold-dark);color:#fff;}

/* ── PAGE HERO ───────────────────────────────────── */
.page-hero{
  background:url('https://images.unsplash.com/photo-1560066984-138dadb4c035?w=1600&q=80') center/cover no-repeat;
  position:relative;padding:160px 0 80px;text-align:center;
}
.page-hero::before{content:'';position:absolute;inset:0;background:rgba(250,247,242,.87);}
.page-hero .inner{position:relative;z-index:2;}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold);flex-shrink:0;}
.page-title{font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.15;color:var(--charcoal);}
.page-title em{font-style:italic;color:var(--gold-dark);}
.gold-rule{width:36px;height:1px;background:var(--gold);margin:18px auto;}
.page-sub{font-size:13px;font-weight:300;line-height:1.9;color:var(--muted);max-width:480px;margin:0 auto;}

/* ── FILTER TABS ─────────────────────────────────── */
.filter-bar{background:var(--warm-white);border-bottom:1px solid var(--border);padding:0;position:sticky;top:65px;z-index:100;}
.filter-scroll{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.filter-scroll::-webkit-scrollbar{display:none;}
.filter-btn{
  font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;
  padding:16px 22px;white-space:nowrap;cursor:pointer;transition:color .3s,border-color .3s;
  flex-shrink:0;
}
.filter-btn:hover{color:var(--gold-dark);}
.filter-btn.active{color:var(--gold-dark);border-bottom-color:var(--gold);}

/* ── SECTION WRAPPER ─────────────────────────────── */
.services-section{padding:80px 0;}
.services-section:nth-child(even){background:var(--ivory);}
.services-section:nth-child(odd){background:var(--cream);}

.section-header{margin-bottom:40px;}
.section-number{
  font-family:'Playfair Display',serif;font-size:72px;font-weight:400;
  color:var(--gold-light);line-height:1;margin-bottom:-16px;display:block;
}
.section-title-lg{font-size:clamp(24px,3.5vw,36px);font-weight:400;color:var(--charcoal);margin-bottom:10px;}
.section-title-lg em{font-style:italic;color:var(--gold-dark);}
.section-rule{width:28px;height:1px;background:var(--gold);margin:14px 0 16px;}
.section-desc{font-size:13px;font-weight:300;line-height:1.85;color:var(--muted);max-width:400px;}

/* ── SERVICE ITEMS ───────────────────────────────── */
.service-list{display:flex;flex-direction:column;gap:1px;}
.service-item{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--warm-white);padding:16px 22px;
  border-left:2px solid transparent;
  transition:border-color .3s,background .3s;
  cursor:default;
}
.service-item:hover{border-left-color:var(--gold);background:#fff;}
.service-item-name{font-size:13px;font-weight:400;color:var(--charcoal);}
.service-item-icon{font-size:11px;color:var(--gold);opacity:0;transition:opacity .3s;}
.service-item:hover .service-item-icon{opacity:1;}

/* ── SECTION IMAGE ───────────────────────────────── */
.section-img{width:100%;height:100%;min-height:340px;object-fit:cover;filter:brightness(.93) saturate(.9);}
.img-frame{position:relative;}
.img-frame::before{
  content:'';position:absolute;top:-10px;left:-10px;
  width:70px;height:70px;border:1.5px solid var(--gold);opacity:.4;z-index:0;pointer-events:none;
}
.img-frame img{position:relative;z-index:1;}

/* ── CTA BAND ────────────────────────────────────── */
.cta-band{
  background:var(--charcoal);padding:72px 0;text-align:center;
}
.cta-band h2{font-size:clamp(26px,4vw,40px);font-weight:400;color:#fff;margin-bottom:10px;}
.cta-band h2 em{font-style:italic;color:var(--gold);}
.cta-band p{font-size:13px;font-weight:300;color:rgba(255,255,255,.6);margin-bottom:28px;}
.btn-gold-outline{
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold);background:none;
  padding:12px 28px;transition:background .3s,color .3s;border-radius:0;
}
.btn-gold-outline:hover{background:var(--gold);color:#fff;}

/* ── MARQUEE ─────────────────────────────────────── */
.marquee-bar{background:var(--charcoal);padding:14px 0;overflow:hidden;}
.marquee-track{display:flex;gap:48px;white-space:nowrap;animation:marquee 24s linear infinite;}
.marquee-track span{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);flex-shrink:0;}
.marquee-track .dot{color:var(--gold);font-size:5px;vertical-align:middle;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── FOOTER ──────────────────────────────────────── */
footer{background:var(--charcoal);color:rgba(255,255,255,.55);padding:56px 0 22px;}
.footer-brand{font-family:'Playfair Display',serif;font-size:20px;color:#fff;margin-bottom:10px;}
.footer-brand span{color:var(--gold);}
.footer-tagline{font-size:13px;line-height:1.8;max-width:220px;}
.footer-gold-rule{width:24px;height:1px;background:var(--gold);margin:16px 0;}
.footer-contact{font-size:13px;line-height:2.2;}
.footer-contact a{color:rgba(255,255,255,.55);}
.footer-h{font-family:'Playfair Display',serif;font-size:15px;color:#fff;margin-bottom:16px;}
.footer-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.5);transition:color .3s;}
.footer-links a:hover{color:var(--gold);}
.footer-hours{font-size:13px;line-height:2.1;}
.footer-hours .day{color:rgba(255,255,255,.65);}
.footer-hours .time{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;margin-top:40px;}
.social-btn{width:30px;height:30px;border:1px solid rgba(201,169,110,.4);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--gold);transition:background .3s,color .3s;}
.social-btn:hover{background:var(--gold);color:#fff;}

/* ── REVEAL ──────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:991px){
  .img-frame{margin-bottom:36px;}
  .img-frame::before{display:none;}
  .section-img{min-height:260px;}
}
@media(max-width:767px){
  .filter-btn{padding:14px 16px;font-size:10px;}
  .section-number{font-size:52px;}
  .services-section{padding:56px 0;}
}