:root {
  --cream:       #FAF7F2;
  --blush:       #F5E6D8;
  --rose-gold:   #C9956B;
  --deep-rose:   #9E5F3B;
  --forest:      #2C4A3E;
  --gold:        #B8963E;
  --gold-light:  #E8D5A3;
  --charcoal:    #2D2926;
  --text-mid:    #6B5744;
  --white:       #FFFFFF;

  /* v2 additions — used by redesigned cards & background effects */
  --card-shadow:       0 4px 20px rgba(45,41,38,.07);
  --card-shadow-hover: 0 22px 50px rgba(45,41,38,.16);
  --gold-gradient:      linear-gradient(120deg, var(--gold) 0%, var(--rose-gold) 50%, var(--gold-light) 100%);
  --forest-gradient:    linear-gradient(145deg, var(--forest) 0%, #1a3329 100%);
  --pattern-gold:  url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNDAiIGhlaWdodD0iMjQwIiB2aWV3Qm94PSIwIDAgMjQwIDI0MCI+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzlBMjRCIiBzdHJva2Utd2lkdGg9IjEuNCIgb3BhY2l0eT0iMC41NSI+CiAgICA8cGF0aCBkPSJNMjAgNDAgUTQwIDEwIDcwIDI1IFE2MCA0NSAzNSA1MCBRNDUgNjUgNzAgNjAiLz4KICAgIDxjaXJjbGUgY3g9IjcwIiBjeT0iMjUiIHI9IjQiLz4KICAgIDxwYXRoIGQ9Ik0xODAgMjAwIFEyMDAgMTcwIDIzMCAxODUgUTIyMCAyMDUgMTk1IDIxMCBRMjA1IDIyNSAyMzAgMjIwIi8+CiAgICA8Y2lyY2xlIGN4PSIyMzAiIGN5PSIxODUiIHI9IjQiLz4KICAgIDxwYXRoIGQ9Ik0xNTAgMzAgUTE2NSAxNSAxODUgMjUiLz4KICAgIDxjaXJjbGUgY3g9IjE4NSIgY3k9IjI1IiByPSIyLjUiLz4KICAgIDxwYXRoIGQ9Ik00NSAxOTAgUTYwIDE3NSA4MCAxODUiLz4KICAgIDxjaXJjbGUgY3g9IjgwIiBjeT0iMTg1IiByPSIyLjUiLz4KICA8L2c+Cjwvc3ZnPgo=");
  --pattern-cream: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNDAiIGhlaWdodD0iMjQwIiB2aWV3Qm94PSIwIDAgMjQwIDI0MCI+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkFGN0YyIiBzdHJva2Utd2lkdGg9IjEuNCIgb3BhY2l0eT0iMC41Ij4KICAgIDxwYXRoIGQ9Ik0yMCA0MCBRNDAgMTAgNzAgMjUgUTYwIDQ1IDM1IDUwIFE0NSA2NSA3MCA2MCIvPgogICAgPGNpcmNsZSBjeD0iNzAiIGN5PSIyNSIgcj0iNCIvPgogICAgPHBhdGggZD0iTTE4MCAyMDAgUTIwMCAxNzAgMjMwIDE4NSBRMjIwIDIwNSAxOTUgMjEwIFEyMDUgMjI1IDIzMCAyMjAiLz4KICAgIDxjaXJjbGUgY3g9IjIzMCIgY3k9IjE4NSIgcj0iNCIvPgogICAgPHBhdGggZD0iTTE1MCAzMCBRMTY1IDE1IDE4NSAyNSIvPgogICAgPGNpcmNsZSBjeD0iMTg1IiBjeT0iMjUiIHI9IjIuNSIvPgogICAgPHBhdGggZD0iTTQ1IDE5MCBRNjAgMTc1IDgwIDE4NSIvPgogICAgPGNpcmNsZSBjeD0iODAiIGN5PSIxODUiIHI9IjIuNSIvPgogIDwvZz4KPC9zdmc+Cg==");
  --noise:         url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KICA8ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC44NSIgbnVtT2N0YXZlcz0iMiIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjxmZUNvbG9yTWF0cml4IHR5cGU9InNhdHVyYXRlIiB2YWx1ZXM9IjAiLz48L2ZpbHRlcj4KICA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9IjAuMzUiLz4KPC9zdmc+Cg==");
}

* { margin:0; padding:0; box-sizing:border-box; }
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior: smooth; }

/* ── CONTAINER ── */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

@media (max-width: 768px) {
  .container {
    padding: 0 1rem;
  }
}

@media (max-width: 460px) {
  .container {
    padding: 0 0.75rem;
  }
}

/* ── CUSTOM SCROLLBAR ── */
/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--rose-gold) var(--cream);
}

/* Chrome, Safari, Opera */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--cream);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--rose-gold) 0%, var(--deep-rose) 100%);
  border-radius: 5px;
  border: 2px solid var(--cream);
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--gold) 0%, var(--rose-gold) 100%);
}

::-webkit-scrollbar-corner {
  background: var(--cream);
}

body {
  font-family: 'Jost', sans-serif;
  background: var(--cream);
  color: var(--charcoal);
  overflow-x: hidden;
  font-size: 16px;
  position: relative;
}
/* Subtle overall film-grain texture for a premium, hand-crafted paper feel */
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: var(--noise);
  background-size: 200px 200px;
  opacity: .025;
  pointer-events: none;
  z-index: 2;
  mix-blend-mode: multiply;
}

/* ── CUSTOM CURSOR ── */
.cursor {
  width: 8px; height: 8px;
  background: var(--rose-gold);
  border-radius: 50%;
  position: fixed; top:0; left:0;
  pointer-events:none; z-index:9999;
  transform: translate(-50%,-50%);
  transition: transform .15s ease;
}
.cursor-ring {
  width: 32px; height: 32px;
  border: 1.5px solid var(--rose-gold);
  border-radius: 50%;
  position: fixed; top:0; left:0;
  pointer-events:none; z-index:9998;
  transform: translate(-50%,-50%);
  transition: all .35s cubic-bezier(.25,.46,.45,.94);
  opacity: .6;
}

/* ── NAVBAR ── */
.navbar-custom {
  background: var(--forest);
  position: fixed; top:0; left:0; right:0; z-index:1000;
  height: 70px;
  display: flex; align-items: center;
  box-shadow: 0 2px 30px rgba(0,0,0,.15);
}
.navbar-inner {
  width:100%; max-width:1200px; margin:auto;
  display:flex; align-items:center; justify-content:space-between;
  padding: 0 2rem;
  position: relative;
}
.nav-links {
  display:flex; gap:2rem; list-style:none;
  margin:0; padding:0;
}
.nav-links a {
  color: rgba(255,255,255,.85);
  text-decoration:none;
  font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
  font-weight:300;
  transition: color .3s;
}
.nav-links a:hover, .nav-links a.active { color: var(--gold-light); }

/* LOGO CIRCLE in navbar – centered absolutely */
.nav-logo-wrap {
  position:absolute; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center;
}
.nav-logo-wrap::before {
  content:'';
  position:absolute; top: 122px; left:50%; transform:translate(-50%,-50%);
  width:150px; height:150px; border-radius:50%;
  background: radial-gradient(circle, rgba(184,150,62,.35) 0%, transparent 70%);
  animation: logoPulse 3.2s ease-in-out infinite;
  z-index:5; pointer-events:none;
}
@keyframes logoPulse {
  0%, 100% { transform:translate(-50%,-50%) scale(.92); opacity:.55; }
  50%      { transform:translate(-50%,-50%) scale(1.08); opacity:.9; }
}
.nav-logo-circle {
  width: 124px; height: 124px;
  border-radius: 50%;
  background: var(--cream);
  border: 3px solid var(--gold);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 4px 20px rgba(0,0,0,.25), 0 0 0 6px rgba(250,247,242,.9);
  margin-top: 60px; /* protrudes below nav */
  z-index:10;
  position: relative;
  transition: transform .4s ease, box-shadow .4s ease;
}
.nav-logo-circle:hover { transform: scale(1.06); box-shadow: 0 8px 28px rgba(0,0,0,.3), 0 0 0 6px rgba(250,247,242,.9); }
.nav-logo-circle img {
  width:100%; height:100%; object-fit:cover; border-radius:50%;
}
.nav-logo-fallback {
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-weight:600; font-size:1.1rem; color:var(--forest);
  line-height:1.1;
}
.nav-logo-fallback span {
  font-family:'Great Vibes',cursive;
  font-size:.85rem; color:var(--gold);
}

.nav-cta {
  background: var(--rose-gold);
  color: #fff !important;
  padding: .4rem 1.1rem;
  border-radius: 2rem;
  font-size:.8rem !important;
  transition: background .3s !important;
}
.nav-cta:hover { background: var(--deep-rose) !important; color:#fff !important; }

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span {
  display:block; width:24px; height:2px;
  background:rgba(255,255,255,.8); transition:.3s;
}

/* ── HERO ── */
#hero {
  min-height: 100vh;
  background:
    linear-gradient(100deg, rgba(250,247,242,.97) 0%, rgba(245,230,216,.9) 60%, rgba(200,149,107,.15) 100%),
    url("/Shyashwatphotos/hero.jpg") center/cover no-repeat;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding-top: 100px;
  position:relative; overflow:hidden;
}
#hero::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, transparent 40%, rgba(245,230,216,.5) 100%);
}
.hero-tagline {
  font-family:'Great Vibes',cursive;
  font-size: clamp(1.5rem,3.5vw,2.5rem);
  color: var(--rose-gold);
  margin-bottom:.5rem;
  animation: fadeUp .9s ease both;
}
.hero-title {
  font-family:'Cormorant Garamond',serif;
  font-size: clamp(2rem,6vw,4rem);
  font-weight:300; line-height:1.05;
  color: var(--charcoal);
  animation: fadeUp .9s .2s ease both;
}
.hero-title em { font-style:italic; color:var(--forest); }
.hero-sub {
  font-size: clamp(.9rem,2vw,1.1rem);
  color: var(--text-mid);
  letter-spacing:.06em; max-width:520px; margin:0.8rem auto 2rem;
  animation: fadeUp .9s .35s ease both;
}
.hero-btns { animation: fadeUp .9s .5s ease both; 
  margin-top: 1.5rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-primary-custom {
  background: var(--forest);
  color:#fff; border:none;
  padding:.75rem 2.2rem; border-radius:3rem; font-size:.9rem;
  letter-spacing:.08em; font-weight:500;
  transition: all .35s; cursor:pointer; text-decoration:none;
  display:inline-block;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-primary-custom:hover {
  background: var(--deep-rose); color:#fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(158,95,59,.3);
}
.btn-outline-custom {
  background:transparent; color:var(--forest);
  border:1.5px solid var(--forest);
  padding:.75rem 2.2rem; border-radius:3rem; font-size:.9rem;
  letter-spacing:.08em; font-weight:500;
  transition: all .35s; cursor:pointer; text-decoration:none;
  display:inline-block; margin-left:.75rem;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-outline-custom:hover {
  background:var(--forest); color:#fff; transform:translateY(-2px);
}
/* floating petals */
.petal {
  position:absolute; width:14px; height:14px;
  background: var(--rose-gold); opacity:.18;
  border-radius:50% 0 50% 0;
  animation: floatPetal linear infinite;
}

/* Portfolio Hero */
.portfolio-hero {
  background:
    linear-gradient(150deg, rgba(44,74,62,.92) 0%, rgba(44,74,62,.75) 50%, rgba(201,149,107,.3) 100%),
    url('https://images.unsplash.com/photo-1607082348824-0a96f2a4b9da?w=1600&q=80') center/cover no-repeat;
  min-height: 48vh;
  display:flex; align-items:center; justify-content:center;
  padding-top:100px; text-align:center; position:relative; overflow:hidden;
}
.portfolio-hero::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:60px;
  background:linear-gradient(to bottom, transparent, var(--cream));
}
.hero-label {
  font-family:'Great Vibes',cursive;
  font-size:clamp(1.2rem,3vw,2rem); color:var(--gold-light);
  display:block; margin-bottom:.4rem;
  animation:fadeUp .8s ease both;
}
.hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,4vw,3.2rem); font-weight:300; color:#fff; line-height:1.1;
  animation:fadeUp .8s .15s ease both;
}
.hero-h1 em { font-style:italic; color:var(--gold-light); }
.hero-sub {
  font-size:clamp(.85rem,1.8vw,1rem); color:rgba(255,255,255,.72);
  letter-spacing:.06em; max-width:480px; margin:.8rem auto 0;
  animation:fadeUp .8s .3s ease both;
}

/* ── SECTION STYLES ── */
section { padding: 5rem 0; }
.section-label {
  font-family:'Great Vibes',cursive;
  font-size:1.4rem; color:var(--rose-gold);
  display:block; margin-bottom:.2rem;
}
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size: clamp(1.5rem,3vw,2.5rem);
  font-weight:400; color:var(--charcoal);
  line-height:1.15;
  margin-bottom: 1rem;
}
.section-divider {
  width:60px; height:2px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin: 1rem 0 1.5rem;
}
.section-divider.center { margin:1rem auto 1.5rem; }

.sec-label {
  font-family:'Great Vibes',cursive;
  font-size:1.5rem; color:var(--rose-gold);
  display:block; margin-bottom:.2rem;
}
.sec-title {
  font-family:'Cormorant Garamond',serif;
  font-size: clamp(1.rem,3.5vw,2.6rem);
  font-weight:400; color:var(--charcoal);
  line-height:1.15;
  margin-bottom: 1rem;
}
.divider {
  width:56px; height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:1rem 0 2rem;
}
.divider.center { margin:1rem auto 2rem; }

/* ─── MARQUEE ─── */
.marquee-section {
  background: linear-gradient(135deg, var(--text-mid), #3d2d15);
  padding: 20px 0;
  overflow: hidden;
}
.marquee-track {
  display: flex; gap: 0;
  animation: marquee 25s linear infinite;
}
.marquee-item {
  display: flex; align-items: center; gap: 24px;
  white-space: nowrap; padding: 0 32px;
  /* font-family: 'Cormorant Garamond', serif; */
  font-size: 18px; color: var(--blush);
  font-weight: 500; letter-spacing: 0.05em;
}
.marquee-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold); flex-shrink: 0;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ── BOOTSTRAP GRID IMPROVEMENTS ── */
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  gap: 0;
}

.col-lg-5,
.col-lg-7,
.col-md-4,
.col-md-6,
.col-md-3 {
  max-width: 100%;
  padding: 0.5rem;
}

/* ── SECTION BACKGROUND OVERLAYS & EFFECTS (v2) ──
   Soft botanical line-art corner accents (echoing the logo's floral motif)
   layered behind each section, plus glow blobs on dark sections. Purely
   CSS/SVG-based — no external image assets required. */
#about, #services, #testimonials, #contact, #portfolio,
#portfolioSection, .featured-section, .process-strip {
  position: relative;
  overflow: hidden;
}
#about::before, #services::before, #testimonials::before,
#contact::before, #portfolio::before, #portfolioSection::before,
.featured-section::before, .process-strip::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 320px; height: 320px;
  background-image: var(--pattern-gold);
  background-size: 240px 240px;
  opacity: .35;
  pointer-events: none;
  z-index: 0;
}
#about::after, #services::after, #testimonials::after,
#contact::after, #portfolio::after, #portfolioSection::after,
.featured-section::after, .process-strip::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 320px; height: 320px;
  background-image: var(--pattern-gold);
  background-size: 240px 240px;
  opacity: .28;
  pointer-events: none;
  transform: rotate(180deg);
  z-index: 0;
}
#about > .container, #services > .container, #testimonials > .container,
#contact > .container, #portfolio > .container, #portfolioSection > .container,
.featured-section > .container, .process-strip > .container {
  position: relative;
  z-index: 1;
}

/* Dark (forest-green) sections get soft glowing gold blobs instead */
#why, .cta-band {
  position: relative;
  overflow: hidden;
}
#why::before, .cta-band::before {
  content: '';
  position: absolute;
  top: -20%; left: -10%;
  width: 55%; height: 140%;
  background: radial-gradient(circle, rgba(232,213,163,.14) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
#why::after, .cta-band::after {
  content: '';
  position: absolute;
  bottom: -30%; right: -10%;
  width: 50%; height: 140%;
  background: radial-gradient(circle, rgba(201,149,107,.16) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
#why > .container, .cta-band > .container {
  position: relative;
  z-index: 1;
}
/* faint cream botanical line-art watermark on top of the glow, on dark sections */
#why {
  background-image: var(--forest-gradient), var(--pattern-cream);
  background-size: cover, 260px 260px;
  background-blend-mode: normal, soft-light;
}
.cta-band {
  background-image: var(--forest-gradient), var(--pattern-cream);
  background-size: cover, 260px 260px;
  background-blend-mode: normal, soft-light;
}

/* Hero botanical watermark, layered under the existing gradient/photo */
#hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image: var(--pattern-gold);
  background-size: 280px 280px;
  opacity: .18;
  pointer-events: none;
  z-index: 0;
}
.portfolio-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: var(--pattern-cream);
  background-size: 260px 260px;
  opacity: .16;
  pointer-events: none;
  z-index: 0;
}

/* ── ABOUT ── */
#about { background:var(--white); padding: 5rem 0; }
.about-img-wrap {
  position:relative;
  border-radius:2px;
}
.about-img-wrap::before {
  content:'';
  position:absolute; top:-16px; left:-16px;
  right:16px; bottom:16px;
  border:2px solid var(--gold-light);
  border-radius:2px; z-index:0;
}
.about-img-wrap img {
  width:100%; border-radius:2px;
  position:relative; z-index:1;
  filter: saturate(.9);
}
.about-stat {
  text-align:center;
  padding:1.5rem 1rem;
  background: linear-gradient(160deg, var(--cream) 0%, var(--blush) 130%);
  border: 1px solid rgba(184,150,62,.15);
  border-radius:.85rem;
  transition: transform .3s ease, box-shadow .3s ease;
}
.about-stat:hover { transform:translateY(-4px); box-shadow: var(--card-shadow); }
.about-stat .num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem; font-weight:600; color:var(--forest);
  line-height:1;
}
.about-stat .lbl {
  font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-mid); margin-top:.3rem;
}
.badge-pill {
  display:inline-block;
  background: var(--blush);
  color:var(--deep-rose); border:1px solid var(--rose-gold);
  padding:.35rem 1rem; border-radius:2rem; font-size:.78rem;
  font-weight:500; letter-spacing:.05em; margin:.25rem .2rem;
  transition: background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.badge-pill:hover {
  background: var(--forest); color:#fff; border-color:var(--forest);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(44,74,62,.25);
}

/* ── SERVICES ── */
#services { background: var(--cream); padding: 5rem 0; }
.service-card {
  background:var(--white);
  border-radius:1.25rem;
  overflow:hidden; position:relative;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(184,150,62,.12);
  transition: transform .4s ease, box-shadow .4s, border-color .4s;
  cursor:default;
  min-height:220px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:2.2rem 1.5rem;
}
.service-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:4px;
  background: var(--gold-gradient);
  transform: scaleX(0); transform-origin:left;
  transition: transform .45s ease;
}
.service-card:hover::before { transform: scaleX(1); }
.service-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--card-shadow-hover);
  border-color: rgba(184,150,62,.3);
}
.service-card .reveal-overlay {
  position:absolute; inset:0;
  background: var(--forest-gradient);
  color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:1.5rem;
  opacity:0; transform:scale(.95);
  transition: opacity .4s ease, transform .4s ease;
  border-radius:1.25rem;
}
.service-card:hover .reveal-overlay {
  opacity:1; transform:scale(1);
}
.service-icon {
  width:64px; height:64px;
  background: linear-gradient(150deg, var(--blush) 0%, #efd9c4 100%);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--rose-gold);
  margin-bottom:1rem;
  box-shadow: inset 0 0 0 1px rgba(184,150,62,.15);
  transition: transform .35s ease, box-shadow .35s ease;
}
.service-card:hover .service-icon { transform:scale(1.12) rotate(-6deg); box-shadow: 0 6px 16px rgba(184,150,62,.25); }
.service-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; font-weight:500; color:var(--charcoal);
}
.service-desc {
  font-size:.82rem; color:#fff; opacity:.9;
  line-height:1.6; margin-top:.5rem;
}
.reveal-overlay .service-icon { background:rgba(255,255,255,.12); color:var(--gold-light); box-shadow:inset 0 0 0 1px rgba(255,255,255,.2); }
.reveal-overlay .service-name { color:#fff; font-size:1.2rem; }

/* ── PORTFOLIO ── */
#portfolio { background:var(--white); padding: 5rem 0; }
.portfolio-filter { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:center; margin-bottom:2.5rem; }
.filter-btn {
  background:var(--cream); color:var(--text-mid);
  border:1.5px solid var(--gold-light);
  padding:.4rem 1.2rem; border-radius:2rem;
  font-size:.82rem; letter-spacing:.06em; cursor:pointer;
  transition:.3s;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.filter-btn.active, .filter-btn:hover {
  background:var(--forest); color:#fff; border-color:var(--forest);
}
.portfolio-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap:1.25rem;
}
.port-item {
  position:relative; overflow:hidden; border-radius:1rem;
  aspect-ratio: 4/3;
  cursor:pointer;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(184,150,62,.12);
  transition: box-shadow .4s ease, transform .4s ease, border-color .4s ease;
}
.port-item:hover {
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-4px);
  border-color: rgba(184,150,62,.4);
}
.port-item img {
  width:100%; height:100%; object-fit:cover;
  transition: transform .6s ease;
}
.port-item:hover img { transform:scale(1.08); }
.port-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(44,74,62,.9) 0%, rgba(44,74,62,.15) 55%, transparent 75%);
  opacity:0; transition:.4s;
  display:flex; align-items:flex-end;
  padding:1.2rem;
}
.port-item:hover .port-overlay { opacity:1; }
.port-label {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem; color:#fff; font-weight:400;
}

/* Masonry Grid for Portfolio Page */
.portfolio-grid {
  columns: 3 320px;
  column-gap: 1.1rem;
}
.port-card {
  break-inside:avoid;
  margin-bottom:1.1rem;
  border-radius:1rem; overflow:hidden;
  position:relative; cursor:pointer;
  display:block;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(184,150,62,.12);
  transition:transform .4s cubic-bezier(.25,.46,.45,.94), box-shadow .4s, border-color .4s;
}
.port-card:hover { transform:translateY(-6px) scale(1.012); box-shadow: var(--card-shadow-hover); border-color: rgba(184,150,62,.4); }
.port-card img {
  width:100%; display:block;
  transition:transform .6s ease;
}
.port-card:hover img { transform:scale(1.06); }
.port-ribbon {
  position:absolute; top:14px; left:-6px;
  background:var(--forest); color:var(--gold-light);
  font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:.28rem .85rem .28rem .9rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%);
}
.port-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(44,74,62,.88) 0%, rgba(44,74,62,.3) 50%, transparent 75%);
  opacity:0; transition:.4s; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem;
}
.port-card:hover .port-overlay { opacity:1; }
.port-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem; color:#fff; font-weight:500; line-height:1.2;
}
.port-meta { font-size:.75rem; color:var(--gold-light); margin-top:.25rem; letter-spacing:.06em; }
.port-zoom {
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:.9rem;
  position:absolute; top:14px; right:14px;
  opacity:0; transform:scale(.7);
  transition:opacity .3s .1s, transform .3s .1s;
}
.port-card:hover .port-zoom { opacity:1; transform:scale(1); }
.port-card.hidden { display:none; }

/* ── LIGHTBOX ── */
.lightbox {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.88); z-index:9000;
  align-items:center; justify-content:center;
}
.lightbox.open { display:flex; }
.lightbox img {
  max-width:90vw; max-height:88vh;
  border-radius:.5rem; border:2px solid rgba(255,255,255,.15);
}
.lightbox-close {
  position:absolute; top:1.5rem; right:2rem;
  font-size:2rem; color:#fff; cursor:pointer; z-index:2;
}

/* Portfolio Page Lightbox */
.lb-img-wrap {
  position:relative; max-width:88vw; max-height:82vh;
}
.lb-img-wrap img {
  max-width:88vw; max-height:80vh;
  border-radius:.75rem; display:block;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
}
.lb-close {
  position:absolute; top:-18px; right:-18px;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3);
  color:#fff; font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:.3s;
}
.lb-close:hover { background:var(--rose-gold); border-color:var(--rose-gold); }
.lb-caption {
  margin-top:1.2rem; text-align:center;
}
.lb-caption h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:#fff; }
.lb-caption p  { font-size:.8rem; color:rgba(255,255,255,.6); margin-top:.2rem; }
.lb-nav {
  position:fixed; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.25);
  color:#fff; font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; z-index:9001;
  transition:.3s;
}
.lb-nav:hover { background:var(--rose-gold); border-color:var(--rose-gold); }
#lbPrev { left:1.5rem; }
#lbNext { right:1.5rem; }

/* ── WHY CHOOSE US ── */
#why { background: linear-gradient(135deg, var(--forest) 0%, #1e3a30 100%); padding: 5rem 0; }
#why .section-title { color:var(--cream); }
#why .section-label { color:var(--gold-light); }
#why .section-divider { background:linear-gradient(90deg,var(--gold-light),transparent); }
.why-card {
  background:rgba(255,255,255,.06);
  backdrop-filter: blur(6px);
  border:1px solid rgba(232,213,163,.18);
  border-radius:1.1rem; padding:1.75rem 1.5rem;
  transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
  position:relative;
}
.why-card:hover {
  background:rgba(255,255,255,.11);
  transform:translateY(-6px);
  border-color: rgba(232,213,163,.5);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}
.why-icon {
  width:52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--gold-light);
  background: rgba(232,213,163,.1);
  border: 1px solid rgba(232,213,163,.3);
  border-radius:50%;
  margin-bottom:1rem;
  transition: transform .35s ease, background .35s ease;
}
.why-card:hover .why-icon { transform:scale(1.1) rotate(-6deg); background:rgba(232,213,163,.2); }
.why-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:#fff; margin-bottom:.4rem; }
.why-desc { font-size:.82rem; color:rgba(255,255,255,.65); line-height:1.6; }

/* ── TESTIMONIALS ── */
#testimonials { background:var(--cream); padding: 5rem 0; }
.testimonial-card {
  background:var(--white);
  border-radius:1.25rem; padding:2.2rem 2rem;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(184,150,62,.1);
  position:relative;
  overflow:hidden;
  transition: transform .4s ease, box-shadow .4s ease;
}
.testimonial-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--card-shadow-hover);
}
.testimonial-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:4px;
  background: var(--gold-gradient);
}
.testimonial-card::after {
  content:'\201C';
  font-family:'Cormorant Garamond',serif;
  font-size:5.5rem; color:var(--gold-light);
  position:absolute; top:.4rem; right:1.2rem; line-height:1;
  opacity:.6;
}
.stars { color:var(--gold); font-size:.85rem; margin-bottom:.75rem; }
.testi-text { font-size:.9rem; line-height:1.7; color:var(--text-mid); font-style:italic; margin-bottom:1.25rem; position:relative; z-index:1; }
.testi-footer { display:flex; align-items:center; gap:.75rem; }
.testi-avatar {
  width:42px; height:42px; border-radius:50%;
  background: var(--forest-gradient);
  color: var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.05rem;
  flex-shrink:0;
}
.testi-author { font-weight:600; font-size:.85rem; color:var(--charcoal); }
.testi-role { font-size:.78rem; color:var(--rose-gold); }

/* ── CONTACT ── */
#contact { background:var(--white); padding: 5rem 0; }
.contact-info-item {
  display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.5rem;
}
.contact-icon-wrap {
  width:48px; height:48px; min-width:48px;
  background:var(--blush); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--rose-gold); font-size:1rem;
}
.contact-info-item h6 { font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-mid); margin-bottom:.15rem; }
.contact-info-item p { font-size:.9rem; color:var(--charcoal); margin:0; }
.contact-form input,
.contact-form textarea,
.contact-form select {
  border:1.5px solid var(--gold-light);
  border-radius:.5rem; background:var(--cream);
  padding:.75rem 1rem; font-size:.9rem;
  width:100%; margin-bottom:1rem;
  color:var(--charcoal); outline:none;
  transition: border-color .3s;
  font-family:'Jost',sans-serif;
  -webkit-appearance: none;
  appearance: none;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus { border-color:var(--rose-gold); background:#fff; box-shadow: 0 0 0 3px rgba(201,149,107,.1); }
.contact-form textarea { min-height:130px; resize:vertical; }
.btn-submit {
  background: var(--forest); color:#fff; border:none;
  padding:.8rem 2.5rem; border-radius:3rem;
  font-size:.9rem; letter-spacing:.08em; font-weight:500;
  cursor:pointer; transition:.35s; width:100%;
  min-height: 44px;
}
.btn-submit:hover { background:var(--deep-rose); transform:translateY(-2px); box-shadow:0 8px 24px rgba(158,95,59,.3); }
.form-success {
  display:none; background:#e8f5e9; color:#2e7d32;
  border:1px solid #a5d6a7; padding:1rem;
  border-radius:.5rem; text-align:center; margin-top:1rem;
}

/* ── Portfolio Page Specific Styles ── */
#portfolioSection { padding:3.5rem 0 5rem; }
.filter-section { background:var(--white); padding:2rem 0 1rem; position:sticky; top:70px; z-index:100; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.filter-wrap { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; }
.filter-btn {
  background:var(--cream); color:var(--text-mid);
  border:1.5px solid var(--gold-light);
  padding:.45rem 1.3rem; border-radius:2rem;
  font-size:.8rem; letter-spacing:.07em; cursor:pointer;
  transition:.3s; font-family:'Jost',sans-serif; font-weight:500;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.filter-btn.active, .filter-btn:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
.count-badge {
  display:inline-block; background:var(--blush); color:var(--deep-rose);
  font-size:.65rem; padding:.05rem .4rem; border-radius:1rem;
  font-weight:600; margin-left:.3rem; vertical-align:middle;
}
.filter-btn.active .count-badge { background:rgba(255,255,255,.25); color:#fff; }
.stats-strip {
  background: var(--forest-gradient);
  background-image: var(--forest-gradient), var(--pattern-cream);
  background-size: cover, 220px 220px;
  background-blend-mode: normal, soft-light;
  padding:1.5rem 0;
  position: relative;
}
.stat-item { text-align:center; }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem; font-weight:600; color:var(--gold-light); line-height:1;
}
.stat-lbl { font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.6); margin-top:.2rem; }

.featured-section { padding:4rem 0; background:var(--white); }
.featured-section .sec-label {
  font-family:'Great Vibes',cursive; font-size:1.5rem; color:var(--rose-gold);
}
.featured-section .sec-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:400; color:var(--charcoal);
}
.divider { width:56px; height:2px; background:linear-gradient(90deg,var(--gold),transparent); margin:1rem 0 2rem; }
.divider.center { margin:1rem auto 2rem; }

.featured-card {
  border-radius:1.2rem; overflow:hidden; position:relative;
  box-shadow: var(--card-shadow);
  border: 2px solid transparent;
  cursor:pointer;
  transition:transform .4s, box-shadow .4s, border-color .4s;
}
.featured-card:hover { transform:translateY(-8px); box-shadow: var(--card-shadow-hover); border-color: rgba(184,150,62,.5); }
.featured-card img { width:100%; height:320px; object-fit:cover; display:block; transition:transform .6s; }
.featured-card:hover img { transform:scale(1.05); }
.featured-info {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(44,74,62,.95) 0%, transparent 100%);
  padding:2rem 1.5rem 1.5rem;
  transform:translateY(30%); transition:transform .4s;
}
.featured-card:hover .featured-info { transform:translateY(0); }
.featured-title { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:#fff; margin-bottom:.3rem; }
.featured-desc { font-size:.8rem; color:rgba(255,255,255,.75); line-height:1.6; }

.category-header {
  display:flex; align-items:center; gap:1rem; margin:3rem 0 1.5rem;
}
.cat-icon {
  width:48px; height:48px; border-radius:50%;
  background:var(--blush); display:flex; align-items:center; justify-content:center;
  color:var(--rose-gold); font-size:1.1rem; flex-shrink:0;
}
.cat-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.8rem; font-weight:400; color:var(--charcoal);
}
.cat-count { font-size:.78rem; color:var(--text-mid); letter-spacing:.08em; }
.cat-line { flex:1; height:1px; background:linear-gradient(90deg,var(--gold-light),transparent); }

.process-strip { background:var(--blush); padding:4rem 0; }
.process-step { text-align:center; }
.process-num {
  width:56px; height:56px; border-radius:50%;
  background: var(--forest-gradient); color:var(--gold-light);
  font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600;
  display:flex; align-items:center; justify-content:center; margin:0 auto 1rem;
  box-shadow: 0 8px 20px rgba(44,74,62,.25), inset 0 0 0 1px rgba(232,213,163,.25);
  transition: transform .35s ease, box-shadow .35s ease;
}
.process-step:hover .process-num { transform: translateY(-4px) scale(1.06); box-shadow: 0 14px 28px rgba(44,74,62,.32), inset 0 0 0 1px rgba(232,213,163,.4); }
.process-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--charcoal); margin-bottom:.35rem; }
.process-desc { font-size:.8rem; color:var(--text-mid); line-height:1.6; }
.process-arrow {
  font-size:1.2rem; color:var(--rose-gold); opacity:.6; margin-top:1.5rem;
}

.cta-band {
  background:linear-gradient(135deg, var(--forest) 0%, #1e3a30 100%);
  padding:4rem 0; text-align:center;
}
.cta-band .label { font-family:'Great Vibes',cursive; font-size:1.8rem; color:var(--gold-light); }
.cta-band h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,4vw,3rem); color:#fff; font-weight:300; margin:.4rem 0 1rem; }
.cta-band p { color:rgba(255,255,255,.65); font-size:.9rem; max-width:480px; margin:0 auto 2rem; }
.cta-actions {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; flex-wrap:wrap; margin-top:1rem;
}
.btn-cta-white,
.btn-cta-ghost {
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem; min-height:46px; padding:.85rem 1.8rem;
  border-radius:999px; font-size:.95rem; font-weight:600;
  letter-spacing:.07em; cursor:pointer; text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn-cta-white {
  background:#fff; color:var(--forest); border:none;
  box-shadow:0 10px 25px rgba(0,0,0,.12);
}
.btn-cta-white:hover,
.btn-cta-white:focus-visible { background:var(--gold-light); color:var(--charcoal); transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.2); }
.btn-cta-ghost {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,.5);
}
.btn-cta-ghost:hover,
.btn-cta-ghost:focus-visible { border-color:#fff; background:rgba(255,255,255,.12); color:#fff; transform:translateY(-2px); }
.btn-cta-white:focus-visible,
.btn-cta-ghost:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }

@media (max-width: 576px) {
  .cta-actions { flex-direction:column; gap:.75rem; }
  .btn-cta-white,
  .btn-cta-ghost { width:100%; max-width:280px; margin:0; }
}

/* ── MAP / ADDRESS BANNER ── */
.address-banner {
  background: linear-gradient(90deg, var(--blush), var(--cream));
  border-top: 1px solid var(--gold-light);
  border-bottom: 1px solid var(--gold-light);
  padding:2rem 0; text-align:center;
}
.address-banner p { margin:0; font-size:.88rem; color:var(--text-mid); }
.address-banner strong { color:var(--charcoal); }

/* ── FOOTER ── */
footer {
  background: var(--charcoal); color:rgba(255,255,255,.6);
  padding:2.5rem 0 1.5rem;
  font-size:.82rem;
}
footer .logo-text {
  font-family:'Great Vibes',cursive;
  font-size:2rem; color:var(--gold-light);
}
footer a { color:rgba(255,255,255,.5); text-decoration:none; transition:color .3s; }
footer a:hover { color:var(--gold-light); }
.social-links a {
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:inline-flex; align-items:center; justify-content:center;
  margin:.2rem; transition:.3s;
}
.social-links a:hover { background:var(--rose-gold); border-color:var(--rose-gold); color:#fff; }

/* ── SCROLL TO TOP ── */
.scroll-top {
  position:fixed; bottom:2rem; right:2rem;
  width:44px; height:44px; border-radius:50%;
  background:var(--forest); color:#fff;
  border:none; cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(20px);
  transition:.4s; z-index:500;
}
.scroll-top.visible { opacity:1; transform:translateY(0); }
.scroll-top:hover { background:var(--deep-rose); }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes floatPetal {
  0%   { transform:translateY(100vh) rotate(0deg); opacity:0; }
  10%  { opacity:.2; }
  90%  { opacity:.15; }
  100% { transform:translateY(-10vh) rotate(720deg) translateX(60px); opacity:0; }
}
.reveal {
  opacity:0; transform:translateY(40px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

.stagger > * { opacity:0; transform:translateY(28px); transition:opacity .5s ease, transform .5s ease; }
.stagger.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:.05s; }
.stagger.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:.12s; }
.stagger.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:.19s; }
.stagger.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:.26s; }
.stagger.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:.33s; }
.stagger.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:.40s; }

#noResults {
  display:none; text-align:center; padding:4rem 0;
  color:var(--text-mid); font-family:'Cormorant Garamond',serif; font-size:1.6rem;
}

/* ── RESPONSIVE ── */

/* TABLETS & SMALL DEVICES (768px and below) */
@media(max-width:768px) {
  /* ── NAVBAR ── */
  .navbar-inner {
    padding: 0 1rem;
  }
  
  .nav-links {
    display: none !important;
    flex-direction: column;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: rgba(44, 74, 62, 0.98);
    backdrop-filter: blur(8px);
    padding: 1.5rem;
    gap: 0;
    list-style: none;
    z-index: 999;
    overflow-y: auto;
    width: 100%;
    margin: 0 !important;
    max-height: calc(100vh - 70px);
  }
  
  #leftLinks {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    z-index: 999;
  }
  
  #rightLinks {
    position: fixed;
    left: 0;
    right: 0;
    top: auto;
    z-index: 999;
  }
  
  #leftLinks.open {
    display: flex !important;
  }
  
  #rightLinks.open {
    display: flex !important;
  }
  
  .nav-links a {
    font-size: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    display: block;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 500;
    transition: color 0.3s;
  }
  
  .nav-links a:hover,
  .nav-links a.active {
    color: var(--gold-light);
  }
  
  .nav-links li:last-child a {
    border-bottom: none;
  }
  
  .hamburger {
    display: flex;
    gap: 6px;
    cursor: pointer;
    z-index: 1001;
  }
  
  .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  
  .hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
  }
  
  .hamburger.open span:nth-child(2) {
    opacity: 0;
  }
  
  .hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
  }
  
  /* ── LOGO CIRCLE ── */
  .nav-logo-wrap {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
  }
  
  .nav-logo-circle {
    width: 70px;
    height: 70px;
    border: 2.5px solid var(--gold);
    margin-top: 50px;
  }

  .nav-logo-wrap::before {
    top: 85px;
    width: 90px;
    height: 90px;
  }
  
  .nav-cta {
    background: var(--rose-gold);
    border-radius: 2rem;
    padding: 0.5rem 1rem;
  }
  
  /* ── HERO SECTION ── */
  #hero {
    padding-top: 80px;
    padding: 80px 1rem 2rem;
    min-height: auto;
  }
  
  .hero-tagline {
    font-size: 1.5rem;
  }
  
  .hero-title {
    font-size: 2.2rem;
    line-height: 1.1;
    margin-bottom: 1rem;
  }
  
  .hero-sub {
    font-size: 0.9rem;
    max-width: 100%;
    padding: 0 0.5rem;
    margin-bottom: 1.5rem;
  }
  
  .hero-btns {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  
  .btn-primary-custom,
  .btn-outline-custom {
    width: 100%;
    max-width: 280px;
    margin: 0;
    padding: 0.8rem 1.5rem;
    font-size: 0.9rem;
  }
  
  /* ── MARQUEE ── */
  .marquee-item {
    padding: 0 20px;
    font-size: 14px;
  }
  
  /* ── ABOUT SECTION ── */
  #about {
    padding: 2rem 1rem;
  }
  
  .row {
    gap: 2rem !important;
  }
  
  .col-lg-5,
  .col-lg-7 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  
  .about-stat {
    padding: 1.2rem 1rem;
    margin: 0.75rem 0;
  }
  
  .about-stat .num {
    font-size: 2rem;
  }
  
  /* ── SERVICES ── */
  #services {
    padding: 2rem 1rem;
  }
  
  .service-card {
    min-height: auto;
    padding: 1.5rem 1rem;
  }
  
  .col-md-6,
  .col-md-4 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 1.5rem;
  }
  
  .col-md-3 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 1.5rem;
  }
  
  /* ── PORTFOLIO GRID ── */
  .portfolio-grid {
    columns: 1;
    column-gap: 0;
  }
  
  .port-item {
    margin-bottom: 1rem;
  }
  
  .port-card {
    margin-bottom: 1rem;
  }
  
  /* ── LIGHTBOX ── */
  .lightbox img {
    max-width: 95vw;
    max-height: 80vh;
  }
  
  .lb-img-wrap img {
    max-width: 95vw;
    max-height: 75vh;
  }
  
  #lbPrev {
    left: 0.5rem;
  }
  
  #lbNext {
    right: 0.5rem;
  }
  
  .lb-nav {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
  
  /* ── WHY CHOOSE US ── */
  #why {
    padding: 2rem 1rem;
  }
  
  .why-card {
    padding: 1.2rem;
    margin-bottom: 1.2rem;
  }
  
  /* ── TESTIMONIALS ── */
  #testimonials {
    padding: 2rem 1rem;
  }
  
  .testimonial-card {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }
  
  .testimonial-card::before {
    font-size: 3rem;
  }
  
  /* ── CONTACT ── */
  #contact {
    padding: 2rem 1rem;
  }
  
  .contact-form input,
  .contact-form textarea,
  .contact-form select {
    padding: 0.65rem 0.9rem;
    font-size: 16px;
  }
  
  .btn-submit {
    padding: 0.8rem 1.5rem;
  }
  
  /* ── FEATURED SECTION ── */
  .featured-section {
    padding: 2rem 1rem;
  }
  
  .featured-card img {
    height: 220px;
  }
  
  /* ── FILTER SECTION ── */
  .filter-section {
    top: 70px;
    padding: 1.5rem 1rem 1rem;
  }
  
  .filter-wrap {
    gap: 0.4rem;
  }
  
  .filter-btn {
    padding: 0.4rem 1rem;
    font-size: 0.75rem;
  }
  
  .count-badge {
    font-size: 0.6rem;
  }
  
  /* ── STATS STRIP ── */
  .stats-strip {
    padding: 1.2rem 1rem;
  }
  
  .stat-num {
    font-size: 1.8rem;
  }
  
  .stat-lbl {
    font-size: 0.65rem;
  }
  
  /* ── CATEGORY HEADER ── */
  .category-header {
    margin: 2rem 0 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  
  .cat-name {
    font-size: 1.4rem;
  }
  
  /* ── PROCESS STRIP ── */
  .process-strip {
    padding: 2rem 1rem;
  }
  
  .process-num {
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
  }
  
  .process-title {
    font-size: 0.95rem;
  }
  
  .process-desc {
    font-size: 0.75rem;
  }
  
  /* ── CTA BAND ── */
  .cta-band {
    padding: 2rem 1rem;
  }
  
  .cta-band h2 {
    font-size: 1.6rem;
    margin: 0.75rem 0 1rem;
  }
  
  .cta-band p {
    max-width: 100%;
    font-size: 0.85rem;
    margin: 0 1rem 1.5rem;
  }
  
  .btn-cta-white,
  .btn-cta-ghost {
    width: 100%;
    max-width: 240px;
    padding: 0.75rem 1.5rem;
    margin: 0.5rem auto;
    display: block;
  }
  
  /* ── ADDRESS BANNER ── */
  .address-banner {
    padding: 1.5rem 1rem;
  }
  
  .address-banner p {
    font-size: 0.8rem;
  }
  
  /* ── FOOTER ── */
  footer {
    padding: 2rem 1rem 1rem;
  }
  
  footer .container {
    text-align: center;
  }
  
  .social-links {
    margin-top: 1rem;
  }
  
  /* ── SECTION STYLES ── */
  section {
    padding: 3rem 0;
  }
  
  .section-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
  }
  
  .section-label {
    font-size: 1.3rem;
  }
  
  .divider {
    margin: 1rem auto 1.5rem;
  }
}

/* SMALL PHONES (460px and below) */
@media(max-width: 460px) {
  /* ── NAVBAR ── */
  .navbar-inner {
    padding: 0 0.75rem;
  }
  
  .nav-links a {
    font-size: 0.9rem;
  }
  
  .nav-logo-circle {
    width: 60px;
    height: 60px;
    margin-top: 45px;
  }

  .nav-logo-wrap::before {
    top: 75px;
    width: 78px;
    height: 78px;
  }
  
  /* ── HERO ── */
  #hero {
    padding: 75px 1rem 1.5rem;
  }
  
  .hero-tagline {
    font-size: 1.2rem;
  }
  
  .hero-title {
    font-size: 1.8rem;
  }
  
  .hero-title br {
    display: none;
  }
  
  .hero-sub {
    font-size: 0.8rem;
  }
  
  /* ── BUTTONS ── */
  .btn-primary-custom,
  .btn-outline-custom {
    padding: 0.7rem 1.2rem;
    font-size: 0.8rem;
    max-width: 100%;
  }
  
  /* ── MARQUEE ── */
  .marquee-item {
    padding: 0 12px;
    font-size: 12px;
  }
  
  .marquee-dot {
    width: 4px;
    height: 4px;
  }
  
  /* ── ABOUT ── */
  #about {
    padding: 1.5rem 0.75rem;
  }
  
  .about-stat .num {
    font-size: 1.6rem;
  }
  
  .about-stat .lbl {
    font-size: 0.7rem;
  }
  
  .badge-pill {
    padding: 0.25rem 0.7rem;
    font-size: 0.7rem;
  }
  
  /* ── SERVICES ── */
  .service-card {
    padding: 1.2rem 0.8rem;
  }
  
  .service-icon {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }
  
  .service-name {
    font-size: 1.1rem;
  }
  
  /* ── PORTFOLIO ── */
  .portfolio-grid {
    columns: 1;
  }
  
  .filter-section {
    top: 70px;
    padding: 1.2rem 0.75rem 0.8rem;
  }
  
  .filter-btn {
    padding: 0.35rem 0.9rem;
    font-size: 0.7rem;
  }
  
  .featured-card img {
    height: 180px;
  }
  
  /* ── LIGHTBOX ── */
  .lightbox img {
    max-width: 96vw;
    max-height: 70vh;
  }
  
  .lb-nav {
    width: 32px;
    height: 32px;
    font-size: 0.8rem;
  }
  
  #lbPrev {
    left: 0.25rem;
  }
  
  #lbNext {
    right: 0.25rem;
  }
  
  .lb-caption h3 {
    font-size: 1.1rem;
  }
  
  .lb-caption p {
    font-size: 0.7rem;
  }
  
  /* ── WHY CHOOSE US ── */
  #why {
    padding: 1.5rem 0.75rem;
  }
  
  .why-card {
    padding: 1rem;
  }
  
  .why-icon {
    font-size: 1.3rem;
  }
  
  .why-title {
    font-size: 1rem;
  }
  
  .why-desc {
    font-size: 0.75rem;
  }
  
  /* ── TESTIMONIALS ── */
  #testimonials {
    padding: 1.5rem 0.75rem;
  }
  
  .testimonial-card {
    padding: 1.2rem;
  }
  
  .testi-text {
    font-size: 0.8rem;
  }
  
  .testi-author {
    font-size: 0.8rem;
  }
  
  /* ── CONTACT ── */
  #contact {
    padding: 1.5rem 0.75rem;
  }
  
  .contact-info-item {
    gap: 0.75rem;
  }
  
  .contact-icon-wrap {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
  
  .contact-form input,
  .contact-form textarea,
  .contact-form select {
    padding: 0.6rem 0.8rem;
    font-size: 16px;
    margin-bottom: 0.8rem;
  }
  
  .btn-submit {
    padding: 0.7rem 1.2rem;
    font-size: 0.85rem;
  }
  
  /* ── FEATURED ── */
  .featured-section {
    padding: 1.5rem 0.75rem;
  }
  
  /* ── STATS ── */
  .stats-strip {
    padding: 1rem 0.75rem;
  }
  
  .stat-num {
    font-size: 1.5rem;
  }
  
  /* ── PROCESS ── */
  .process-strip {
    padding: 1.5rem 0.75rem;
  }
  
  .process-num {
    width: 40px;
    height: 40px;
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
  
  .process-title {
    font-size: 0.9rem;
  }
  
  .process-desc {
    font-size: 0.7rem;
  }
  
  /* ── CTA ── */
  .cta-band {
    padding: 1.5rem 0.75rem;
  }
  
  .cta-band .label {
    font-size: 1.4rem;
  }
  
  .cta-band h2 {
    font-size: 1.4rem;
    margin: 0.5rem 0 0.75rem;
  }
  
  .cta-band p {
    font-size: 0.8rem;
    margin: 0 0.75rem 1.2rem;
  }
  
  .btn-cta-white,
  .btn-cta-ghost {
    padding: 0.65rem 1.2rem;
    font-size: 0.8rem;
    width: 100%;
    margin: 0.4rem auto;
  }
  
  /* ── ADDRESS ── */
  .address-banner {
    padding: 1.2rem 0.75rem;
  }
  
  .address-banner p {
    font-size: 0.75rem;
  }
  
  /* ── FOOTER ── */
  footer {
    padding: 1.5rem 0.75rem 1rem;
    font-size: 0.75rem;
  }
  
  footer .logo-text {
    font-size: 1.5rem;
  }
  
  .social-links a {
    width: 32px;
    height: 32px;
    margin: 0.1rem;
  }
  
  /* ── SCROLL TO TOP ── */
  .scroll-top {
    width: 38px;
    height: 38px;
    bottom: 1.5rem;
    right: 1.5rem;
    font-size: 0.9rem;
  }
  
  /* ── GENERAL ── */
  section {
    padding: 2rem 0;
  }
  
  .section-title {
    font-size: 1.4rem;
  }
  
  .section-label {
    font-size: 1rem;
  }
  
  .petal {
    display: none;
  }
}

/* EXTRA SMALL PHONES (360px and below) */
@media(max-width: 360px) {
  .navbar-inner {
    padding: 0 0.5rem;
  }
  
  .nav-logo-circle {
    width: 55px;
    height: 55px;
  }
  
  #hero {
    padding: 70px 0.5rem 1rem;
  }
  
  .hero-title {
    font-size: 1.6rem;
    line-height: 1;
  }
  
  .hero-sub {
    font-size: 0.75rem;
  }
  
  .btn-primary-custom,
  .btn-outline-custom {
    padding: 0.6rem 1rem;
    font-size: 0.75rem;
  }
  
  section {
    padding: 1.5rem 0;
  }
  
  .section-title {
    font-size: 1.2rem;
  }
}

@media (min-width: 992px) {
    #about .col-lg-5 {
        padding-right: 50px;
    }

    #about .col-lg-7 {
        padding-left: 50px;
    }
}