/* ============================================================
   AUMKAR SWEETS & SAVOURIES — PREMIUM CREAM DESIGN SYSTEM v3
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;500;600;700&family=Raleway:wght@300;400;500;600&display=swap');

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  /* Cream palette */
  --cream:        #FDF8F0;
  --cream-deep:   #F5EDD8;
  --cream-border: #E8D9B8;
  --cream-dark:   #EDE4CC;

  /* Ink / text */
  --ink:          #1C0E00;
  --ink-mid:      rgba(28,14,0,0.65);
  --ink-muted:    rgba(28,14,0,0.4);

  /* Brand */
  --crimson:      #8B1A1A;
  --crimson-deep: #5c1010;
  --crimson-light:#b02525;
  --gold:         #B8821A;
  --gold-rich:    #C9972B;
  --gold-light:   #D4A843;
  --gold-pale:    #F0D898;

  /* Dark sections */
  --dark:         #100803;
  --dark2:        #1a0c04;
  --dark3:        #220f05;

  /* Borders */
  --border-cream: rgba(184,130,26,0.2);
  --border-gold:  rgba(201,151,43,0.45);

  --nav-h: 70px;
}

html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'Raleway', sans-serif; background: var(--cream); color: var(--ink); overflow-x: hidden; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--cream-deep); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 2px; }
::selection { background: var(--gold-pale); color: var(--ink); }

/* ── NAVIGATION (cream) ── */
nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 900;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3rem;
  transition: background 0.4s, box-shadow 0.4s, border-color 0.4s;
  background: transparent;
}
nav.scrolled {
  background: rgba(253,248,240,0.97);
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 var(--border-cream);
}
nav.dark-nav { /* on dark hero pages */
  background: transparent;
}
nav.dark-nav.scrolled {
  background: rgba(16,8,3,0.96);
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}

.nav-logo { height: 44px; filter: drop-shadow(0 1px 8px rgba(184,130,26,0.15)); }
.nav-links { display: flex; align-items: center; gap: 1.8rem; list-style: none; }
.nav-links a {
  font-family: 'Cinzel', serif; font-size: 0.58rem; letter-spacing: 0.26em;
  color: var(--ink-mid); text-decoration: none; text-transform: uppercase;
  position: relative; transition: color 0.3s; white-space: nowrap;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: -3px; left: 0; right: 100%;
  height: 1px; background: var(--gold); transition: right 0.35s ease;
}
.nav-links a:hover, .nav-links a.active { color: var(--crimson); }
.nav-links a:hover::after, .nav-links a.active::after { right: 0; }

/* Dark hero navlinks */
nav.dark-nav .nav-links a { color: rgba(255,255,255,0.6); }
nav.dark-nav .nav-links a:hover, nav.dark-nav .nav-links a.active { color: var(--gold-light); }
nav.dark-nav .nav-links a::after { background: var(--gold-light); }

.nav-pill {
  padding: 8px 18px; border: 1px solid var(--crimson);
  font-family: 'Cinzel', serif; font-size: 0.55rem; letter-spacing: 0.18em;
  color: var(--crimson); text-decoration: none; transition: all 0.3s; white-space: nowrap;
}
.nav-pill:hover { background: var(--crimson); color: #fff !important; }
.nav-pill.filled { background: var(--crimson); border-color: var(--crimson); color: #fff !important; }
.nav-pill.filled:hover { background: var(--gold); border-color: var(--gold); }

nav.dark-nav .nav-pill { border-color: var(--gold-light); color: var(--gold-light) !important; }
nav.dark-nav .nav-pill:hover { background: var(--gold-light); color: var(--dark) !important; }
nav.dark-nav .nav-pill.filled { background: var(--crimson); border-color: var(--crimson); color: #fff !important; }

.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 910; }
.hamburger span { width: 24px; height: 1.5px; background: var(--ink); display: block; transition: all 0.35s; }
nav.dark-nav .hamburger span { background: rgba(255,255,255,0.8); }
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(4.5px,4.5px); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(4.5px,-4.5px); }

.nav-mobile-overlay {
  display: none; position: fixed; inset: 0;
  background: var(--cream); z-index: 905;
  flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem;
}
.nav-mobile-overlay.open { display: flex; }
.nav-mobile-overlay a {
  font-family: 'Cinzel', serif; font-size: 1rem; letter-spacing: 0.28em;
  color: var(--ink-mid); text-decoration: none; text-transform: uppercase; transition: color 0.3s;
}
.nav-mobile-overlay a:hover, .nav-mobile-overlay a.active { color: var(--crimson); }
.nav-mobile-divider { width: 40px; height: 1px; background: var(--border-cream); }

/* ── TYPOGRAPHY ── */
.eyebrow {
  font-family: 'Cinzel', serif; font-size: 0.57rem; letter-spacing: 0.5em;
  color: var(--gold-rich); text-transform: uppercase;
  display: flex; align-items: center; justify-content: center; gap: 1rem;
}
.eyebrow::before, .eyebrow::after { content: ''; width: 28px; height: 1px; background: var(--gold); opacity: 0.5; }
.eyebrow.left { justify-content: flex-start; }
.eyebrow.left::before { display: none; }

.section-title {
  font-family: 'Cinzel', serif; font-size: clamp(1.7rem, 3.5vw, 2.8rem);
  font-weight: 600; color: var(--ink); letter-spacing: 0.03em; line-height: 1.1;
}
.section-title .crimson { color: var(--crimson); }
.section-title .gold { color: var(--gold); }
/* On dark bg override */
.on-dark .section-title, .on-dark.section-title { color: #fff; }

.section-lead {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--ink-muted); line-height: 1.85; max-width: 640px;
}

.ornament { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0; }
.ornament-line { flex: 1; max-width: 90px; height: 1px; background: linear-gradient(to right, transparent, var(--gold)); }
.ornament-line.rev { background: linear-gradient(to left, transparent, var(--gold)); }
.ornament-gem { color: var(--gold); font-size: 0.7rem; }

/* ── LAYOUT ── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 2.5rem; }
.section { padding: 110px 0; position: relative; }
.section-sm { padding: 70px 0; position: relative; }
.section-header { text-align: center; margin-bottom: 64px; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.section-header.left { text-align: left; align-items: flex-start; }

/* ── BACKGROUNDS ── */
.bg-cream { background: var(--cream); }
.bg-cream-deep { background: var(--cream-deep); }
.bg-dark { background: var(--dark); }
.bg-dark2 { background: var(--dark2); }
.bg-pattern-cream {
  position: relative;
  background: var(--cream-deep);
}
.bg-pattern-cream::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(184,130,26,0.1) 1px, transparent 1px);
  background-size: 32px 32px;
}
.bg-pattern-dark {
  position: relative;
  background: var(--dark2);
}
.bg-pattern-dark::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(255,178,0,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 34px; font-family: 'Cinzel', serif; font-size: 0.6rem;
  letter-spacing: 0.28em; text-transform: uppercase; text-decoration: none;
  position: relative; overflow: hidden; transition: all 0.4s; cursor: pointer; border: none; white-space: nowrap;
}
.btn span { position: relative; z-index: 1; }
.btn::before { content: ''; position: absolute; inset: 0; transform: translateX(-101%); transition: transform 0.4s cubic-bezier(0.77,0,0.175,1); z-index: 0; }
.btn:hover::before { transform: translateX(0); }

.btn-crimson { background: var(--crimson); color: #fff; border: 1px solid var(--crimson); }
.btn-crimson::before { background: var(--dark); }
.btn-crimson:hover { color: #fff; border-color: var(--dark); }

.btn-gold { background: var(--gold-rich); color: #fff; border: 1px solid var(--gold-rich); }
.btn-gold::before { background: var(--dark); }
.btn-gold:hover { color: #fff; }

.btn-outline-dark { background: transparent; color: var(--ink); border: 1px solid var(--cream-border); }
.btn-outline-dark::before { background: var(--crimson); }
.btn-outline-dark:hover { color: #fff; border-color: var(--crimson); }

.btn-outline-light { background: transparent; color: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.3); }
.btn-outline-light::before { background: rgba(255,255,255,0.08); }
.btn-outline-light:hover { color: #fff; border-color: rgba(255,255,255,0.7); }

/* ── HERO (dark, full bleed) ── */
.hero {
  min-height: 100svh; position: relative; overflow: hidden;
  background: var(--dark);
}
.hero-bg {
  position: absolute; inset: -5%; background-size: cover; background-position: center;
  filter: brightness(0.28); transition: transform 14s ease; transform: scale(1.05);
}
.hero:hover .hero-bg { transform: scale(1.09); }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(16,8,3,0.75) 0%, rgba(16,8,3,0.15) 60%, rgba(16,8,3,0.8) 100%);
  z-index: 1;
}
.hero-content {
  position: relative; z-index: 3; min-height: 100svh;
  display: flex; flex-direction: column; justify-content: center;
  padding: calc(var(--nav-h) + 2rem) 2.5rem 4rem; max-width: 820px;
}
.hero-title {
  font-family: 'Cinzel', serif; font-size: clamp(2.8rem, 6.5vw, 5.5rem);
  font-weight: 700; color: #fff; line-height: 1.0; letter-spacing: 0.03em;
}
.hero-title .shimmer {
  background: linear-gradient(135deg, var(--gold-pale) 0%, var(--gold-light) 40%, var(--gold-pale) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; background-size: 200%;
  animation: shimmerText 4s linear infinite;
}
@keyframes shimmerText { 0%,100%{background-position:0% 50%}50%{background-position:100% 50%} }
.hero-sub {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: clamp(1.1rem, 2.2vw, 1.6rem); color: rgba(255,255,255,0.6); line-height: 1.6; margin-top: 1.2rem;
}
.hero-actions { display: flex; gap: 1rem; margin-top: 2.5rem; flex-wrap: wrap; }
.hero-scroll {
  position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 6px;
  opacity: 0; animation: fadeIn 1s ease forwards 2s;
}
.hero-scroll span { font-family: 'Cinzel', serif; font-size: 0.46rem; letter-spacing: 0.4em; color: rgba(255,255,255,0.3); }
.hero-scroll-line { width: 1px; height: 50px; background: linear-gradient(to bottom, var(--gold), transparent); animation: scrollPulse 1.8s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:0.3;transform:scaleY(0.5)} }
@keyframes fadeIn { to { opacity: 1; } }

/* ── PAGE HERO (cream bg inner pages) ── */
.page-hero-cream {
  padding: calc(var(--nav-h) + 4rem) 2.5rem 4.5rem;
  background: var(--cream-deep);
  border-bottom: 1px solid var(--cream-border);
  position: relative; overflow: hidden; text-align: center;
}
.page-hero-cream::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(184,130,26,0.07) 1px, transparent 1px);
  background-size: 28px 28px;
}
.page-hero-cream .page-hero-content { position: relative; z-index: 2; }

/* Dark page hero variant */
.page-hero-dark {
  padding: calc(var(--nav-h) + 4rem) 2.5rem 5rem;
  position: relative; overflow: hidden; text-align: center;
}
.page-hero-dark .page-hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: brightness(0.22);
}
.page-hero-dark .page-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(16,8,3,0.55) 0%, rgba(16,8,3,0.2) 50%, rgba(16,8,3,0.9) 100%);
  z-index: 1;
}
.page-hero-dark .page-hero-content { position: relative; z-index: 2; }

/* ── BREADCRUMB ── */
.breadcrumb {
  padding: 1.2rem 2.5rem; max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  border-bottom: 1px solid var(--cream-border);
}
.breadcrumb a, .breadcrumb span { font-family: 'Cinzel', serif; font-size: 0.53rem; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; }
.breadcrumb a { color: var(--gold); transition: color 0.3s; }
.breadcrumb a:hover { color: var(--crimson); }
.breadcrumb span { color: var(--ink-muted); }
.breadcrumb-sep { color: var(--border-cream); font-size: 0.5rem; }

/* ── CARDS (cream) ── */
.card-cream {
  background: #fff; border: 1px solid var(--cream-border);
  overflow: hidden; position: relative; transition: all 0.4s ease;
}
.card-cream::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 100%; height: 2px;
  background: linear-gradient(to right, var(--crimson), var(--gold));
  transition: right 0.4s ease;
}
.card-cream:hover { transform: translateY(-6px); box-shadow: 0 16px 50px rgba(28,14,0,0.1); border-color: var(--gold-pale); }
.card-cream:hover::after { right: 0; }
.card-cream .card-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; filter: saturate(0.85); transition: all 0.6s; }
.card-cream:hover .card-img { transform: scale(1.06); filter: saturate(1.1); }
.card-body { padding: 1.4rem 1.6rem 1.8rem; }
.card-eyebrow { font-family: 'Cinzel', serif; font-size: 0.51rem; letter-spacing: 0.38em; color: var(--gold-rich); margin-bottom: 0.4rem; }
.card-name { font-family: 'Cinzel', serif; font-size: 0.95rem; color: var(--ink); letter-spacing: 0.06em; margin-bottom: 0.4rem; line-height: 1.3; }
.card-desc { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 0.9rem; color: var(--ink-mid); line-height: 1.7; }

/* ── ALLERGEN TAGS ── */
.tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 0.7rem; }
.tag { font-size: 0.47rem; letter-spacing: 0.14em; padding: 3px 9px; border: 1px solid var(--cream-border); color: var(--ink-muted); text-transform: uppercase; font-family: 'Raleway', sans-serif; }
.tag.veg { border-color: rgba(60,140,60,0.3); color: rgba(60,140,60,0.8); }

/* ── GRIDS ── */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }

/* ── TRUST MARQUEE ── */
.marquee-wrap {
  overflow: hidden; padding: 14px 0; position: relative;
  background: var(--cream-deep); border-top: 1px solid var(--cream-border); border-bottom: 1px solid var(--cream-border);
}
.marquee-wrap::before, .marquee-wrap::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; }
.marquee-wrap::before { left: 0; background: linear-gradient(to right, var(--cream-deep), transparent); }
.marquee-wrap::after { right: 0; background: linear-gradient(to left, var(--cream-deep), transparent); }
.marquee-wrap.dark-marquee { background: var(--dark2); border-color: rgba(255,255,255,0.06); }
.marquee-wrap.dark-marquee::before { background: linear-gradient(to right, var(--dark2), transparent); }
.marquee-wrap.dark-marquee::after { background: linear-gradient(to left, var(--dark2), transparent); }
.marquee-track { display: flex; gap: 2.5rem; animation: marquee 30s linear infinite; width: max-content; }
.marquee-item { display: flex; align-items: center; gap: 0.7rem; white-space: nowrap; font-family: 'Cinzel', serif; font-size: 0.57rem; letter-spacing: 0.26em; color: var(--ink-mid); text-transform: uppercase; }
.marquee-item.light { color: rgba(255,255,255,0.6); }
.marquee-dot { width: 4px; height: 4px; background: var(--gold-rich); border-radius: 50%; flex-shrink: 0; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ── ABOUT SPLIT ── */
.about-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: 5rem; align-items: center; }
.about-imgs { position: relative; height: 520px; }
.about-img-main { position: absolute; top: 0; left: 0; width: 76%; height: 82%; object-fit: cover; filter: saturate(0.88); }
.about-img-inset { position: absolute; bottom: 0; right: 0; width: 52%; height: 52%; object-fit: cover; border: 5px solid var(--cream); }
.about-badge {
  position: absolute; top: 50%; left: 62%; transform: translate(-50%,-50%);
  width: 96px; height: 96px; background: var(--crimson); border: 2px solid var(--gold);
  border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 5;
}
.about-badge-num { font-family: 'Cinzel', serif; font-size: 1.7rem; font-weight: 700; color: var(--gold-pale); line-height: 1; }
.about-badge-label { font-family: 'Cinzel', serif; font-size: 0.36rem; letter-spacing: 0.12em; color: rgba(255,255,255,0.65); text-align: center; margin-top: 3px; }
.stat-row { display: flex; gap: 2.5rem; flex-wrap: wrap; margin: 2rem 0; }
.stat-item { text-align: center; }
.stat-num { font-family: 'Cinzel', serif; font-size: 2rem; font-weight: 700; color: var(--crimson); line-height: 1; }
.stat-label { font-family: 'Cinzel', serif; font-size: 0.48rem; letter-spacing: 0.2em; color: var(--ink-muted); margin-top: 4px; }

/* ── EVENT CARD ── */
.event-card {
  display: grid; grid-template-columns: 84px 1fr;
  border: 1px solid var(--cream-border); overflow: hidden; background: #fff; transition: all 0.4s;
}
.event-card:hover { border-color: var(--gold-pale); transform: translateX(5px); box-shadow: 0 8px 30px rgba(28,14,0,0.08); }
.event-date { background: var(--crimson); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem 0.5rem; }
.event-day { font-family: 'Cinzel', serif; font-size: 2rem; font-weight: 700; color: var(--gold-pale); line-height: 1; }
.event-month { font-family: 'Cinzel', serif; font-size: 0.52rem; letter-spacing: 0.18em; color: rgba(255,255,255,0.6); margin-top: 3px; }
.event-body { padding: 1.1rem 1.4rem; }
.event-tag { font-family: 'Cinzel', serif; font-size: 0.49rem; letter-spacing: 0.28em; color: var(--gold-rich); margin-bottom: 4px; }
.event-title { font-family: 'Cinzel', serif; font-size: 0.85rem; color: var(--ink); margin-bottom: 4px; }
.event-desc { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 0.87rem; color: var(--ink-mid); line-height: 1.6; }

/* ── GALLERY ── */
.gallery-masonry {
  display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(3,180px); gap: 4px;
}
.gallery-masonry .g-item { overflow: hidden; position: relative; }
.gallery-masonry .g-item:nth-child(1) { grid-column:1/3; grid-row:1/3; }
.gallery-masonry .g-item:nth-child(6) { grid-column:3/5; grid-row:2/4; }
.g-item img { width:100%;height:100%;object-fit:cover;filter:saturate(0.8);transition:all 0.6s; }
.g-item:hover img { transform:scale(1.08);filter:saturate(1.1); }
.g-item-overlay { position:absolute;inset:0;background:rgba(28,14,0,0.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.4s; }
.g-item:hover .g-item-overlay { opacity:1; }
.g-item-overlay span { width:36px;height:36px;border:1px solid rgba(255,255,255,0.7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.9rem; }

/* ── CTA BAR ── */
.cta-bar { background: var(--crimson); padding: 70px 0; position: relative; overflow: hidden; }
.cta-bar::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(201,151,43,0.12) 0%,transparent 60%); }
.cta-bar .container { position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap; }
.cta-bar-text h3 { font-family:'Cinzel',serif;font-size:clamp(1.1rem,2.5vw,1.7rem);color:#fff;margin-bottom:4px; }
.cta-bar-text p { font-family:'Cormorant Garamond',serif;font-style:italic;color:rgba(255,255,255,0.65);font-size:1.05rem; }
.cta-tel { font-family:'Cinzel',serif;font-size:clamp(1.2rem,2.5vw,1.7rem);color:var(--gold-pale);text-decoration:none;letter-spacing:0.05em;border-bottom:1px solid rgba(240,216,152,0.35);transition:border-color 0.3s; }
.cta-tel:hover { border-color: var(--gold-pale); }

/* ── FOOTER ── */
footer { background: var(--dark); padding: 72px 0 32px; }
.footer-grid { display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3.5rem;margin-bottom:3.5rem; }
.footer-logo { height: 44px; margin-bottom: 1rem; }
.footer-brand p { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.9rem;color:rgba(253,248,240,0.45);line-height:1.85;max-width:260px; }
.footer-col h4 { font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.32em;color:var(--gold-light);margin-bottom:1.2rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.55rem; }
.footer-col ul a { font-size:0.82rem;color:rgba(253,248,240,0.4);text-decoration:none;transition:color 0.3s, padding-left 0.3s;display:block; }
.footer-col ul a:hover { color:var(--gold-light);padding-left:5px; }
.footer-contact-info p { font-size:0.82rem;color:rgba(253,248,240,0.4);line-height:2.1; }
.footer-contact-info a { color:var(--gold-light);text-decoration:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem; }
.footer-bottom p { font-size:0.7rem;color:rgba(253,248,240,0.25);letter-spacing:0.05em; }
.footer-switch { font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.18em;color:var(--gold-light);text-decoration:none;padding:7px 16px;border:1px solid rgba(255,255,255,0.1);transition:all 0.3s; }
.footer-switch:hover { border-color:var(--gold-light);background:rgba(255,178,0,0.05); }

/* ── POPUP ── */
.popup-overlay { position:fixed;inset:0;background:rgba(28,14,0,0.7);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.5s; }
.popup-overlay.show { opacity:1;pointer-events:all; }
.popup { background:var(--cream);border:1px solid var(--cream-border);max-width:540px;width:100%;position:relative;transform:translateY(24px) scale(0.97);transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1);overflow:hidden; }
.popup-overlay.show .popup { transform:translateY(0) scale(1); }
.popup-img { width:100%;height:200px;object-fit:cover;filter:saturate(0.85);display:block; }
.popup-body { padding:2rem 2.5rem 2.5rem; }
.popup-eyebrow { font-family:'Cinzel',serif;font-size:0.53rem;letter-spacing:0.42em;color:var(--gold-rich);margin-bottom:6px; }
.popup-title { font-family:'Cinzel',serif;font-size:1.3rem;color:var(--ink);margin-bottom:8px;line-height:1.2; }
.popup-desc { font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ink-mid);font-size:0.97rem;line-height:1.75;margin-bottom:1.5rem; }
.popup-close { position:absolute;top:12px;right:12px;width:30px;height:30px;background:rgba(28,14,0,0.07);border:1px solid var(--cream-border);color:var(--ink-mid);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;z-index:5; }
.popup-close:hover { background:var(--crimson);border-color:var(--crimson);color:#fff; }
.popup-bar { position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--crimson),var(--gold-light),var(--crimson)); }

/* ── REVEAL ── */
[data-r] { opacity:0;transition:opacity 0.75s ease,transform 0.75s ease; }
[data-r]:not([data-r="l"]):not([data-r="r"]) { transform:translateY(28px); }
[data-r="l"] { transform:translateX(-28px); }
[data-r="r"] { transform:translateX(28px); }
[data-r].in { opacity:1!important;transform:none!important; }
[data-delay="1"]{transition-delay:0.1s}[data-delay="2"]{transition-delay:0.2s}[data-delay="3"]{transition-delay:0.3s}[data-delay="4"]{transition-delay:0.4s}[data-delay="5"]{transition-delay:0.5s}[data-delay="6"]{transition-delay:0.6s}

/* ── MANDALA ── */
.mandala { position:absolute;pointer-events:none;opacity:0.06; }
.mandala svg { animation:rotateMandala var(--speed,60s) linear infinite; }
.mandala.rev svg { animation-direction:reverse; }
@keyframes rotateMandala { to { transform:rotate(360deg); } }

/* ── RESPONSIVE ── */
@media(max-width:1100px){ .grid-4{grid-template-columns:repeat(2,1fr)} .footer-grid{grid-template-columns:1fr 1fr;gap:2rem} }
@media(max-width:900px){ .about-split{grid-template-columns:1fr}.about-imgs{display:none} .grid-3{grid-template-columns:repeat(2,1fr)} }
@media(max-width:768px){
  :root{--nav-h:60px}
  nav{padding:0 1.2rem}
  .nav-links{display:none}
  .hamburger{display:flex}
  .container{padding:0 1.2rem}
  .section{padding:70px 0}.section-sm{padding:50px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .cta-bar .container{flex-direction:column;text-align:center}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .gallery-masonry{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gallery-masonry .g-item:nth-child(1),.gallery-masonry .g-item:nth-child(6){grid-column:auto;grid-row:auto}
  .gallery-masonry .g-item{aspect-ratio:1}
}
@media(max-width:480px){ .hero-title{font-size:2.2rem} .btn{padding:13px 26px;font-size:0.57rem} }
</style>
