:root {
  --cream: #fff8ef;
  --cream-2: #f7ead8;
  --espresso: #3a2417;
  --espresso-2: #241a14;
  --gold: #c9962e;
  --gold-2: #d8a85f;
  --gold-3: #e8c87f;
  --wood: #7a4a2a;
  --text: #241a14;
  --muted: #735f50;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(36, 26, 20, 0.15);
  --radius: 24px;
}

/* ===== ORNAMENTAL DIVIDERS ===== */
.ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 24px 0;
  color: var(--gold);
}
.ornament::before,
.ornament::after {
  content: "";
  flex: 1;
  max-width: 112px;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: 0.7;
}
.swirly {
  display: block;
  flex: 0 0 auto;
  width: clamp(36px, 5vw, 56px);
  height: auto;
  opacity: 0.9;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(201, 150, 46, 0.12));
}
.hero-ornament { color: var(--gold-2); }
.hero-ornament .swirly { width: clamp(42px, 6vw, 64px); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--cream);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  padding-top: 42px;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.development-flag {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  padding: 10px clamp(18px, 5vw, 72px);
  background: linear-gradient(90deg, var(--espresso), #5a371f);
  color: var(--gold-3);
  border-bottom: 1px solid rgba(255, 228, 173, 0.32);
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: 0 8px 24px rgba(36, 26, 20, 0.22);
}

/* ===== HEADER ===== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px clamp(18px, 5vw, 72px);
  background: rgba(255, 248, 239, 0.97);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(201, 150, 46, 0.15);
}
.site-header::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: min(190px, 44vw);
  height: 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.7;
  pointer-events: none;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: max-content;
}
.brand-logo {
  height: 56px;
  width: auto;
  border-radius: 50%;
  border: 2px solid rgba(201, 150, 46, 0.3);
}
.nav { display: flex; align-items: center; gap: 22px; font-weight: 700; font-size: 0.92rem; }
.nav a:not(.nav-cta) { color: var(--muted); }
.nav a:hover { color: var(--espresso); }
.nav-cta {
  padding: 11px 20px;
  border-radius: 999px;
  color: var(--white);
  background: var(--espresso);
  border: 1px solid rgba(201, 150, 46, 0.3);
  transition: all 0.3s ease;
}
.nav-cta:hover {
  background: var(--gold);
  color: var(--espresso);
  border-color: var(--gold);
}

/* ===== HERO ===== */
.hero {
  position: relative;
  min-height: 700px;
  display: grid;
  align-items: center;
  padding: 100px clamp(22px, 6vw, 92px) 80px;
  overflow: hidden;
  color: var(--white);
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(0.5);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(36, 26, 20, 0.88), rgba(58, 36, 23, 0.75));
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -22% 50%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255,255,255,0.1) 0 12%, transparent 13% 100%),
    radial-gradient(circle at 40% 40%, rgba(255, 226, 166, 0.3), rgba(122, 74, 42, 0.12) 50%, transparent 70%);
  filter: blur(0.2px);
}
.hero-content { position: relative; z-index: 1; max-width: 780px; text-align: center; margin: 0 auto; }
.hero-logo {
  max-width: 240px;
  margin: 0 auto 28px;
  position: relative;
}
.hero-logo::before,
.hero-logo::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.hero-logo::before { right: calc(100% + 16px); }
.hero-logo::after { left: calc(100% + 16px); }
.hero-logo img {
  width: 100%;
  border-radius: 50%;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
  border: 3px solid rgba(201, 150, 46, 0.5);
}
.hero-ornament {
  margin: 20px auto;
  max-width: 200px;
}
.eyebrow, .section-kicker {
  margin: 0 0 14px;
  color: var(--gold);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 0.72rem;
  font-family: "Inter", sans-serif;
}
.gold { color: var(--gold-2); }
h1, h2, h3 { line-height: 1.05; margin: 0; }
h1, h2 { font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif; font-weight: 500; }
h1 { font-size: clamp(2.6rem, 5vw, 5rem); max-width: 800px; letter-spacing: -0.01em; font-weight: 400; }
h2 { font-weight: 500; }


h2 { font-size: clamp(2.1rem, 4vw, 4.2rem); letter-spacing: -0.035em; }
h3 { font-size: 1.15rem; }
p { margin: 0; }
.hero-copy { max-width: 560px; margin: 16px auto 28px; font-size: clamp(1rem, 1.8vw, 1.15rem); color: rgba(255,255,255,0.84); }
.hero-actions, .centered-action { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; }
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { 
  color: var(--espresso); 
  background: linear-gradient(135deg, #ffe4ad, var(--gold)); 
  box-shadow: 0 16px 36px rgba(201, 150, 46, 0.28);
  border: 1px solid rgba(201, 150, 46, 0.3);
}
.btn-primary:hover {
  background: linear-gradient(135deg, #ffecd0, var(--gold-2));
  box-shadow: 0 20px 44px rgba(201, 150, 46, 0.35);
}
.btn-secondary { color: var(--white); border: 1px solid rgba(255,255,255,0.38); background: rgba(255,255,255,0.08); }
.quick-contact { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; color: rgba(255,255,255,0.8); font-weight: 700; justify-content: center; align-items: center; }
.quick-contact a { color: var(--gold-2); transition: color 0.2s ease; }
.quick-contact a:hover { color: var(--gold-3); }
.quick-contact .divider { color: var(--gold); font-size: 0.5rem; }

/* ===== TRUST STRIP ===== */
.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(58, 36, 23, 0.12);
  border-bottom: 1px solid rgba(58, 36, 23, 0.1);
  position: relative;
}
.trust-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(230px, 56vw);
  height: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.72;
  pointer-events: none;
}
.trust-strip div { padding: 44px clamp(18px, 4vw, 42px) 28px; background: var(--white); text-align: center; }
.trust-strip strong { display: block; color: var(--espresso); font-family: "Playfair Display", Georgia, serif; font-size: 1.1rem; margin-bottom: 4px; }
.trust-strip span { display: block; color: var(--muted); font-size: 0.9rem; }

/* ===== SECTIONS ===== */
.section { padding: clamp(60px, 8vw, 100px) clamp(22px, 6vw, 92px); }
.section:first-of-type {
  padding-top: clamp(50px, 6vw, 80px);
}
.split { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(32px, 7vw, 96px); align-items: center; }
.split p { color: var(--muted); font-size: 1.05rem; }
.split p + p { margin-top: 16px; }
.muted { color: var(--muted); }
.section-heading { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.section-heading p:last-child { margin-top: 20px; color: var(--muted); font-size: 1.1rem; }

/* ===== MENU CARDS ===== */
.menu-section { 
  background: linear-gradient(180deg, var(--cream), #fff);
  position: relative;
}
.menu-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.cards { display: grid; gap: 20px; }
.four-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card {
  padding: 0;
  border-radius: var(--radius);
  background: var(--white);
  border: 1px solid rgba(58, 36, 23, 0.08);
  box-shadow: 0 12px 32px rgba(36, 26, 20, 0.07);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(36, 26, 20, 0.12);
}
.card-image {
  height: 200px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.card-image::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(180deg, transparent, var(--white));
}
.card h3 { 
  margin: 20px 20px 10px; 
  font-family: "Playfair Display", Georgia, serif;
}
.card p { color: var(--muted); margin: 0 20px 20px; }
.centered-action { justify-content: center; margin-top: 34px; }

/* ===== DARK SECTION ===== */
.dark-section {
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(36, 26, 20, 0.96), rgba(58, 36, 23, 0.94)),
    repeating-linear-gradient(90deg, #5f3b25 0 14px, #70462b 14px 28px);
}
.dark-section p { color: rgba(255,255,255,0.78); }
.reverse { grid-template-columns: 1fr 1fr; }
.feature-list { display: grid; gap: 18px; }
.feature-list div {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}
.feature-list strong { color: var(--gold-2); font-family: "Playfair Display", serif; font-size: 2rem; line-height: 1; }
.feature-list span { color: rgba(255,255,255,0.84); }

/* ===== GALLERY ===== */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 240px;
  gap: 20px;
}
.gallery-card {
  position: relative;
  display: flex;
  align-items: end;
  padding: 20px;
  overflow: hidden;
  border-radius: var(--radius);
  color: var(--white);
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(36, 26, 20, 0.2);
}
.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(36, 26, 20, 0.85));
  transition: background 0.3s ease;
}
.gallery-card:hover .gallery-overlay {
  background: linear-gradient(180deg, transparent 20%, rgba(36, 26, 20, 0.9));
}
.gallery-card span { 
  position: relative; 
  z-index: 1; 
  font-weight: 800; 
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
}
.gallery-card.tall { grid-row: span 2; }
.gallery-card.wide { grid-column: span 2; }

/* ===== PROCESS ===== */
.process-section { 
  background: var(--white);
  position: relative;
}
.process-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.steps article {
  padding: 26px;
  border-left: 3px solid var(--gold);
  background: var(--cream);
  border-radius: 18px;
}
.steps span {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  margin-bottom: 18px;
  color: var(--espresso);
  background: var(--gold-2);
  font-weight: 900;
}
.steps p { color: var(--muted); }

/* ===== EVENTS ===== */
.events-section { 
  background: linear-gradient(180deg, var(--cream), var(--cream-2));
  position: relative;
}
.events-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.event-pills { display: flex; flex-wrap: wrap; gap: 12px; }
.event-pills span {
  padding: 13px 20px;
  border-radius: 999px;
  background: var(--white);
  color: var(--espresso);
  font-weight: 800;
  box-shadow: 0 12px 30px rgba(36, 26, 20, 0.08);
  border: 1px solid rgba(201, 150, 46, 0.2);
  transition: all 0.3s ease;
}
.event-pills span:hover {
  background: var(--gold);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(201, 150, 46, 0.25);
}

/* ===== TESTIMONIAL ===== */
.testimonial-section {
  padding-top: clamp(58px, 7vw, 82px);
  background: var(--cream-2);
  position: relative;
}
.testimonial-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.testimonial-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(32px, 6vw, 62px);
  border-radius: 34px;
  color: var(--white);
  background: var(--espresso);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.testimonial-card::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 150, 46, 0.15), transparent 70%);
}
.quote { 
  font-family: "Playfair Display", serif; 
  font-size: clamp(1.6rem, 4vw, 3rem); 
  line-height: 1.15; 
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

/* ===== FAQ ===== */
.faq-section {
  position: relative;
}
.faq-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
details {
  padding: 20px 22px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid rgba(58, 36, 23, 0.08);
  transition: box-shadow 0.3s ease;
}
details:hover {
  box-shadow: 0 8px 24px rgba(36, 26, 20, 0.08);
}
summary { 
  cursor: pointer; 
  font-weight: 900; 
  color: var(--espresso); 
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.05rem;
}
details p { margin-top: 12px; color: var(--muted); }

/* ===== QUOTE SECTION ===== */
.quote-section {
  padding: clamp(70px, 10vw, 132px) clamp(22px, 6vw, 92px);
  background:
    radial-gradient(circle at 92% 20%, rgba(216, 168, 95, 0.22), transparent 28%),
    radial-gradient(circle at 10% 80%, rgba(201, 150, 46, 0.1), transparent 50%),
    var(--espresso);
  color: var(--white);
  position: relative;
  overflow: hidden;
}
.quote-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(310px, 70vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.quote-panel {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(28px, 5vw, 72px);
  max-width: 1180px;
  margin: 0 auto;
  align-items: start;
}
.quote-panel p { color: rgba(255,255,255,0.78); margin-top: 16px; }
.contact-card {
  display: grid;
  gap: 10px;
  margin-top: 28px;
  padding: 22px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  color: var(--gold-2);
  font-weight: 800;
}
.contact-card span { color: rgba(255,255,255,0.78); font-weight: 600; }
.quote-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: clamp(20px, 4vw, 34px);
  border-radius: 28px;
  background: var(--white);
  color: var(--text);
  box-shadow: var(--shadow);
}
.quote-form label { display: grid; gap: 6px; font-weight: 800; font-size: 0.9rem; }
.quote-form input, .quote-form select, .quote-form textarea {
  width: 100%;
  border: 1px solid rgba(58, 36, 23, 0.14);
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  color: var(--text);
  background: var(--cream);
}
.full { grid-column: 1 / -1; }
.quote-form .btn { width: 100%; }

/* ===== FOOTER ===== */
.site-footer {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 32px;
  padding: 104px clamp(22px, 6vw, 92px) 48px;
  background: #1d130f;
  color: rgba(255,255,255,0.78);
  position: relative;
}
.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(270px, 62vw);
  height: 58px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 58'%3E%3Cg fill='none' stroke='%23c9962e' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.56' stroke-width='3.2' d='M8 35 C42 10 70 10 103 34 C111 40 116 43 120 43 C124 43 129 40 137 34 C170 10 198 10 232 35'/%3E%3Cpath stroke-width='4.2' d='M63 36 C45 21 34 29 39 42 C43 52 58 51 58 39 M91 31 C78 12 56 15 55 34 M149 31 C162 12 184 15 185 34 M177 36 C195 21 206 29 201 42 C197 52 182 51 182 39'/%3E%3Cpath opacity='.7' stroke-width='2.4' d='M105 26 C111 13 116 8 120 3 C124 8 129 13 135 26 M120 6 L120 31 M80 27 C71 17 66 14 58 13 M160 27 C169 17 174 14 182 13 M96 42 C88 50 80 52 71 49 M144 42 C152 50 160 52 169 49'/%3E%3C/g%3E%3Cg fill='%23c9962e' opacity='.86'%3E%3Ccircle cx='120' cy='34' r='4'/%3E%3Ccircle cx='73' cy='39' r='3'/%3E%3Ccircle cx='167' cy='39' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  opacity: 0.78;
  pointer-events: none;
}
.site-footer h3 { color: var(--white); margin-bottom: 12px; }
.site-footer a { display: block; color: var(--gold-2); font-weight: 800; margin-bottom: 8px; }
.footer-brand { color: var(--white); margin-bottom: 14px; }
.footer-brand .brand-logo { height: 72px; }

/* Use the client-supplied clean SVG artwork for the small swirly dividers. */
.site-header::after,
.trust-strip::before,
.menu-section::before,
.process-section::before,
.events-section::before,
.testimonial-section::before,
.faq-section::before,
.quote-section::before,
.site-footer::before {
  background-image: url("../assets/Bottom_Swirly.svg") !important;
  background-color: transparent;
  -webkit-mask: none;
  mask: none;
}
.site-header::after,
.trust-strip::before {
  background-image: url("../assets/Top_Swirly.svg") !important;
}

/* Keep decorative pseudo-element SVGs to the same small/subtle scale as the inline ornaments. */
.site-header::after {
  width: min(95px, 22vw);
  height: 17px;
}
.trust-strip::before {
  width: min(115px, 28vw);
  height: 22px;
}
.menu-section::before,
.process-section::before,
.events-section::before,
.testimonial-section::before,
.faq-section::before,
.quote-section::before,
.site-footer::before {
  width: min(135px, 32vw);
  height: 29px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 980px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  .nav { width: 100%; overflow-x: auto; padding-bottom: 4px; }
  .trust-strip, .four-cards, .steps { grid-template-columns: repeat(2, 1fr); }
  .split, .reverse, .quote-panel, .site-footer { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .hero { min-height: 680px; padding-top: 90px; }
  h1 { font-size: clamp(2.8rem, 15vw, 4.2rem); }
  .trust-strip, .four-cards, .steps, .faq-grid, .quote-form { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 180px; }
  .gallery-card.tall, .gallery-card.wide { grid-row: auto; grid-column: auto; }
  .nav a:not(.nav-cta) { display: none; }
  .nav { justify-content: flex-end; }
  .hero-actions .btn { width: 100%; }
  .hero-logo { max-width: 200px; }
  .brand-logo { height: 44px; }
}
