 :root {
   --black: #080507;
   --black-2: #100c0e;
   --black-3: #181215;
   --rose-gold: #c4786e;
   --rose-light: #dbb0a8;
   --rose-deep: #8b4f49;
   --champagne: #d4af72;
   --champagne-lt: #e8d09e;
   --cream: #f6ede4;
   --text-muted: #9a8880;
   --text-cream: #f0e8e0;
   --glass-bg: rgba(255, 255, 255, 0.035);
   --glass-border: rgba(212, 175, 114, 0.14);
   --glow-rose: rgba(196, 120, 110, 0.45);
   --glow-gold: rgba(212, 175, 114, 0.38);
 }

 *,
 *::before,
 *::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 html {
   scroll-behavior: smooth;
   overflow-x: hidden;
 }

 body {
   background: var(--black);
   color: var(--text-cream);
   font-family: 'Lato', sans-serif;
   font-weight: 300;
   line-height: 1.7;
   overflow-x: hidden;
   cursor: none;
 }

 img {
   max-width: 100%;
   display: block;
 }

 a {
   text-decoration: none;
   color: inherit;
 }

 ::-webkit-scrollbar {
   width: 3px;
 }

 ::-webkit-scrollbar-track {
   background: var(--black);
 }

 ::-webkit-scrollbar-thumb {
   background: linear-gradient(var(--rose-gold), var(--champagne));
 }

 /* CURSOR */
 #cursor {
   position: fixed;
   width: 10px;
   height: 10px;
   background: var(--champagne);
   border-radius: 50%;
   pointer-events: none;
   z-index: 99999;
   transform: translate(-50%, -50%);
   mix-blend-mode: difference;
 }

 #cursor-ring {
   position: fixed;
   width: 34px;
   height: 34px;
   border: 1px solid rgba(212, 175, 114, .45);
   border-radius: 50%;
   pointer-events: none;
   z-index: 99998;
   transform: translate(-50%, -50%);
   transition: width .3s, height .3s, border-color .3s;
 }

 .mouse-glow {
   position: fixed;
   pointer-events: none;
   z-index: 0;
   width: 500px;
   height: 500px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(196, 120, 110, .05) 0%, transparent 70%);
   transform: translate(-50%, -50%);
   transition: left .7s ease, top .7s ease;
 }

 /* SCROLL BAR */
 #scroll-progress {
   position: fixed;
   top: 0;
   left: 0;
   height: 2px;
   width: 0%;
   background: linear-gradient(90deg, var(--rose-gold), var(--champagne));
   z-index: 9999;
 }

 /* LOADER */
 #loader {
   position: fixed;
   inset: 0;
   background: var(--black);
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 99997;
 }

 .loader-logo-img {
   max-width: 85vw;
   max-height: 85vh;
   width: auto;
   height: auto;
   object-fit: contain;
   animation: loaderPulse 2s ease-in-out infinite;
 }

 @keyframes loaderPulse {
   0%, 100% {
     transform: scale(0.98);
     filter: drop-shadow(0 0 10px rgba(212, 175, 114, 0.15));
   }
   50% {
     transform: scale(1.02);
     filter: drop-shadow(0 0 25px rgba(212, 175, 114, 0.4));
   }
 }

 @keyframes spin {
   to {
     transform: rotate(360deg);
   }
 }

 @keyframes fadeUp {
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @keyframes barSlide {
   0% {
     transform: translateX(-100%);
   }

   100% {
     transform: translateX(100%);
   }
 }

 /* NAV */
 nav {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1000;
   padding: 1.2rem 5%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   transition: background .4s, padding .4s;
 }

 nav.scrolled {
   background: rgba(8, 5, 7, .9);
   backdrop-filter: blur(24px);
   border-bottom: 1px solid var(--glass-border);
   padding: .8rem 5%;
 }

 .nav-logo {
   font-family: 'Cinzel', serif;
   font-size: .95rem;
   letter-spacing: .35em;
   color: var(--champagne);
   display: flex;
   flex-direction: column;
   line-height: 1.2;
 }

 .nav-logo span {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: .65rem;
   letter-spacing: .15em;
   color: var(--rose-light);
   font-weight: 300;
 }

 .nav-links {
   display: flex;
   gap: 2rem;
   list-style: none;
 }

 .nav-links a {
   font-family: 'Cinzel', serif;
   font-size: .62rem;
   letter-spacing: .18em;
   color: var(--text-muted);
   text-transform: uppercase;
   transition: color .3s;
   position: relative;
 }

 .nav-links a::after {
   content: '';
   position: absolute;
   bottom: -3px;
   left: 0;
   width: 0;
   height: 1px;
   background: var(--champagne);
   transition: width .3s;
 }

 .nav-links a:hover {
   color: var(--champagne);
 }

 .nav-links a:hover::after {
   width: 100%;
 }

 .nav-cta {
   background: transparent;
   border: 1px solid var(--champagne);
   color: var(--champagne);
   padding: .4rem 1.3rem;
   font-family: 'Cinzel', serif;
   font-size: .62rem;
   letter-spacing: .2em;
   cursor: none;
   transition: all .3s;
 }

 .nav-cta:hover {
   background: var(--champagne);
   color: var(--black);
 }

 .hamburger {
   display: none;
   flex-direction: column;
   gap: 5px;
   cursor: none;
   background: none;
   border: none;
   padding: 4px;
 }

 .hamburger span {
   width: 22px;
   height: 1px;
   background: var(--champagne);
   display: block;
   transition: all .3s;
 }

 .mobile-menu {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(8, 5, 7, .97);
   backdrop-filter: blur(20px);
   z-index: 999;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 2.5rem;
 }

 .mobile-menu.open {
   display: flex;
 }

 .mobile-menu a {
   font-family: 'Cinzel', serif;
   font-size: 1.1rem;
   letter-spacing: .3em;
   color: var(--champagne);
 }

 .mobile-close {
   position: absolute;
   top: 1.5rem;
   right: 5%;
   font-family: 'Cinzel', serif;
   font-size: .72rem;
   letter-spacing: .2em;
   color: var(--rose-light);
   background: none;
   border: none;
   cursor: none;
 }

 /* HERO */
 #hero {
   position: relative;
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
 }

 .hero-bg {
   position: absolute;
   inset: 0;
   background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(196, 120, 110, .13) 0%, transparent 65%), radial-gradient(ellipse 60% 80% at 100% 100%, rgba(212, 175, 114, .09) 0%, transparent 60%), var(--black);
 }

 .hero-video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   opacity: .22;
   transform: scale(1.06);
   animation: heroZoom 22s ease-in-out infinite alternate;
   pointer-events: none;
 }

 .hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(8, 5, 7, .4) 0%, rgba(8, 5, 7, .1) 35%, rgba(8, 5, 7, .65) 75%, var(--black) 100%);
 }

 @keyframes heroZoom {
   to {
     transform: scale(1.0);
   }
 }

 #particles-container {
   position: absolute;
   inset: 0;
   overflow: hidden;
   pointer-events: none;
   z-index: 1;
 }

 .particle {
   position: absolute;
   pointer-events: none;
   animation: floatUp linear infinite;
 }

 @keyframes floatUp {
   0% {
     transform: translateY(0) rotate(0deg);
     opacity: 0;
   }

   10% {
     opacity: 1;
   }

   90% {
     opacity: .2;
   }

   100% {
     transform: translateY(-105vh) rotate(360deg);
     opacity: 0;
   }
 }

 .hero-content {
   position: relative;
   z-index: 2;
   text-align: center;
   padding: 0 5%;
   max-width: 900px;
 }

 .hero-eyebrow {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: clamp(.78rem, 2vw, 1rem);
   letter-spacing: .35em;
   color: var(--rose-light);
   margin-bottom: 1.4rem;
   opacity: 0;
   transform: translateY(18px);
   animation: heroReveal .9s .8s forwards;
 }

 .hero-title {
   font-family: 'Cinzel', serif;
   font-weight: 700;
   font-size: clamp(1.8rem, 7.5vw, 5.8rem);
   line-height: 1.05;
   letter-spacing: .06em;
   color: var(--cream);
   text-shadow: 0 0 80px rgba(212, 175, 114, .2);
   opacity: 0;
   transform: translateY(30px);
   animation: heroReveal .9s 1.1s forwards;
 }

 .hero-title .accent {
   display: block;
   background: linear-gradient(135deg, var(--champagne) 0%, var(--rose-light) 50%, var(--champagne-lt) 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
 }

 .hero-line {
   width: 80px;
   height: 1px;
   background: linear-gradient(90deg, transparent, var(--champagne), transparent);
   margin: 1.5rem auto;
   opacity: 0;
   animation: heroReveal .9s 1.4s forwards;
 }

 .hero-sub {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: clamp(1rem, 2.5vw, 1.3rem);
   color: var(--text-muted);
   letter-spacing: .05em;
   max-width: 580px;
   margin: 0 auto 2.5rem;
   opacity: 0;
   transform: translateY(18px);
   animation: heroReveal .9s 1.6s forwards;
 }

 .hero-btns {
   display: flex;
   gap: 1rem;
   justify-content: center;
   flex-wrap: wrap;
   opacity: 0;
   transform: translateY(18px);
   animation: heroReveal .9s 1.9s forwards;
 }

 @keyframes heroReveal {
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .btn-primary {
   background: linear-gradient(135deg, var(--rose-gold), var(--champagne));
   color: var(--black);
   padding: .9rem 2.6rem;
   font-family: 'Cinzel', serif;
   font-size: .7rem;
   letter-spacing: .25em;
   border: none;
   cursor: none;
   transition: transform .3s, box-shadow .3s;
   position: relative;
   overflow: hidden;
 }

 .btn-primary::after {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, var(--champagne-lt), var(--rose-light));
   opacity: 0;
   transition: opacity .3s;
 }

 .btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 14px 45px var(--glow-gold);
 }

 .btn-primary:hover::after {
   opacity: 1;
 }

 .btn-primary span {
   position: relative;
   z-index: 1;
 }

 .btn-ghost {
   background: transparent;
   border: 1px solid rgba(212, 175, 114, .5);
   color: var(--champagne);
   padding: .9rem 2.6rem;
   font-family: 'Cinzel', serif;
   font-size: .7rem;
   letter-spacing: .25em;
   cursor: none;
   transition: all .3s;
 }

 .btn-ghost:hover {
   border-color: var(--champagne);
   background: rgba(212, 175, 114, .08);
 }

 .scroll-ind {
   position: absolute;
   bottom: 2.5rem;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: .5rem;
   opacity: 0;
   animation: heroReveal .9s 2.3s forwards;
 }

 .scroll-ind span {
   font-family: 'Cinzel', serif;
   font-size: .5rem;
   letter-spacing: .3em;
   color: var(--text-muted);
 }

 .scroll-line {
   width: 1px;
   height: 38px;
   background: linear-gradient(var(--champagne), transparent);
   animation: scrollPulse 1.6s ease-in-out infinite;
 }

 @keyframes scrollPulse {

   0%,
   100% {
     opacity: .3;
   }

   50% {
     opacity: 1;
   }
 }

 /* SHARED SECTION */
 section {
   position: relative;
   padding: 6rem 5%;
 }

 .eyebrow {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: clamp(.78rem, 1.8vw, .95rem);
   letter-spacing: .3em;
   color: var(--rose-light);
   text-align: center;
   margin-bottom: .7rem;
   display: block;
 }

 .sec-title {
   font-family: 'Cinzel', serif;
   font-weight: 600;
   font-size: clamp(1.6rem, 4vw, 2.9rem);
   letter-spacing: .08em;
   text-align: center;
   color: var(--cream);
   margin-bottom: .7rem;
 }

 .sec-line {
   width: 55px;
   height: 1px;
   background: linear-gradient(90deg, transparent, var(--champagne), transparent);
   margin: .7rem auto 3rem;
 }

 .reveal {
   opacity: 0;
   transform: translateY(38px);
   transition: opacity .8s ease, transform .8s ease;
 }

 .reveal.visible {
   opacity: 1;
   transform: translateY(0);
 }

 .glass {
   background: var(--glass-bg);
   border: 1px solid var(--glass-border);
   backdrop-filter: blur(14px);
 }

 /* ── SIGNATURE CAKES — CAROUSEL ── */
 #cakes {
   background: linear-gradient(180deg, var(--black) 0%, var(--black-2) 50%, var(--black) 100%);
 }

 .cakes-swiper-container {
   position: relative;
   max-width: 1240px;
   margin: 0 auto;
   padding: 0 3.5rem;
 }

 @media (max-width: 768px) {
   .cakes-swiper-container {
     padding: 0 1.5rem;
   }
 }

 .cakesSwiper {
   padding-bottom: 3.5rem !important; /* space for pagination */
 }

 .cakesSwiper .cake-card {
   height: auto;
   aspect-ratio: 4/5;
   width: 100%;
   margin-top: 0.5rem;
   margin-bottom: 0.5rem;
 }

 @media (max-width: 600px) {
   .cakesSwiper .cake-card {
     aspect-ratio: 3/4;
   }
 }

 /* Specific navigation styles for cakes swiper */
 .cakes-prev,
 .cakes-next {
   color: var(--champagne) !important;
   width: 44px !important;
   height: 44px !important;
   background: rgba(8, 5, 7, 0.8) !important;
   backdrop-filter: blur(8px);
   border: 1px solid var(--glass-border) !important;
   border-radius: 50% !important;
   transition: all 0.3s ease !important;
   top: 50% !important;
   transform: translateY(-50%) !important;
   z-index: 10 !important;
 }

 .cakes-prev {
   left: 0.5rem !important;
 }

 .cakes-next {
   right: 0.5rem !important;
 }

 .cakes-prev:hover,
 .cakes-next:hover {
   background: rgba(212, 175, 114, 0.15) !important;
   border-color: var(--champagne) !important;
   box-shadow: 0 0 15px rgba(212, 175, 114, 0.3);
 }

 .cakes-prev::after,
 .cakes-next::after {
   font-size: 0.85rem !important;
   font-weight: bold;
 }

 .cakes-pagination {
   bottom: 0.8rem !important;
 }

 .cake-card {
   position: relative;
   border-radius: 4px;
   overflow: hidden;
   cursor: none;
   aspect-ratio: 4/5;
 }

 .cake-card-img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .7s ease, filter .5s ease;
 }

 .cake-card:hover .cake-card-img {
   transform: scale(1.08);
   filter: brightness(.7);
 }

 .cake-card-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(0deg, rgba(8, 5, 7, .95) 0%, rgba(8, 5, 7, .5) 45%, rgba(8, 5, 7, .1) 100%);
   transition: background .5s;
 }

 .cake-card:hover .cake-card-overlay {
   background: linear-gradient(0deg, rgba(8, 5, 7, .98) 0%, rgba(8, 5, 7, .7) 55%, rgba(8, 5, 7, .2) 100%);
 }

 .cake-card-badge {
   position: absolute;
   top: 1.2rem;
   right: 1.2rem;
   font-family: 'Cinzel', serif;
   font-size: .52rem;
   letter-spacing: .2em;
   padding: .28rem .7rem;
   border: 1px solid var(--champagne);
   color: var(--champagne);
   background: rgba(8, 5, 7, .6);
   backdrop-filter: blur(6px);
 }

 .cake-card-body {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   padding: 1.8rem;
   transform: translateY(4px);
   transition: transform .4s;
 }

 .cake-card:hover .cake-card-body {
   transform: translateY(0);
 }

 .cake-card-num {
   font-family: 'Cormorant Garamond', serif;
   font-size: .8rem;
   color: var(--rose-light);
   letter-spacing: .2em;
   margin-bottom: .4rem;
   display: block;
 }

 .cake-card-body h3 {
   font-family: 'Cinzel', serif;
   font-size: 1.05rem;
   letter-spacing: .15em;
   color: var(--cream);
   margin-bottom: .5rem;
   line-height: 1.3;
 }

 .cake-card-body p {
   font-size: .82rem;
   color: rgba(154, 136, 128, .85);
   line-height: 1.8;
   max-height: 0;
   overflow: hidden;
   transition: max-height .5s ease, opacity .4s;
   opacity: 0;
 }

 .cake-card:hover .cake-card-body p {
   max-height: 120px;
   opacity: 1;
 }

 .cake-card-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: .9rem;
 }

 .cake-price {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: 1.1rem;
   color: var(--champagne);
 }

 .cake-arrow {
   width: 32px;
   height: 32px;
   border: 1px solid rgba(212, 175, 114, .4);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: .75rem;
   color: var(--champagne);
   transition: background .3s, border-color .3s;
 }

 .cake-card:hover .cake-arrow {
   background: var(--champagne);
   color: var(--black);
   border-color: var(--champagne);
 }

 .cake-card-shine {
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, rgba(212, 175, 114, .06) 0%, transparent 60%);
   opacity: 0;
   transition: opacity .4s;
 }

 .cake-card:hover .cake-card-shine {
   opacity: 1;
 }

 /* GALLERY */
 #gallery {
   background: var(--black-2);
 }

 .gallery-wrap {
   max-width: 1160px;
   margin: 0 auto;
   position: relative;
 }

 .swiper {
   border-radius: 3px;
   overflow: hidden;
 }

 .gallerySwiper .swiper-slide {
   position: relative;
   height: 560px;
   overflow: hidden;
 }

 .gallerySwiper .swiper-slide img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transform: scale(1.05);
   transition: transform 6s ease;
 }

 .gallerySwiper .swiper-slide-active img {
   transform: scale(1);
 }

 .slide-caption {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   padding: 2rem 2.5rem;
   background: linear-gradient(transparent, rgba(8, 5, 7, .9));
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: 1.15rem;
   color: var(--cream);
   letter-spacing: .1em;
 }

 .slide-num {
   font-family: 'Cinzel', serif;
   font-size: .58rem;
   letter-spacing: .3em;
   color: var(--champagne);
   margin-bottom: .3rem;
   display: block;
 }

 .swiper-button-next,
 .swiper-button-prev {
   color: var(--champagne) !important;
   width: 42px !important;
   height: 42px !important;
   background: rgba(8, 5, 7, .72);
   backdrop-filter: blur(8px);
   border: 1px solid var(--glass-border);
   border-radius: 50%;
   transition: background .3s, border-color .3s;
 }

 .swiper-button-next:hover,
 .swiper-button-prev:hover {
   background: rgba(212, 175, 114, .12);
   border-color: var(--champagne);
 }

 .swiper-button-next::after,
 .swiper-button-prev::after {
   font-size: .75rem !important;
 }

 .swiper-pagination-bullet {
   background: var(--champagne) !important;
   opacity: .4 !important;
 }

 .swiper-pagination-bullet-active {
   opacity: 1 !important;
 }

 /* WHY */
 #why {
   background: var(--black);
 }

  .why-swiper-container {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 3.5rem;
  }

  @media (max-width: 768px) {
    .why-swiper-container {
      padding: 0 1.5rem;
    }
  }

  .whySwiper {
    padding-bottom: 3.5rem !important; /* space for pagination */
  }

  .whySwiper .why-card {
    width: 100%;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  /* Specific navigation styles for why swiper */
  .why-prev,
  .why-next {
    color: var(--champagne) !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(8, 5, 7, 0.8) !important;
    backdrop-filter: blur(8px);
    border: 1px solid var(--glass-border) !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
  }

  .why-prev {
    left: 0.5rem !important;
  }

  .why-next {
    right: 0.5rem !important;
  }

  .why-prev:hover,
  .why-next:hover {
    background: rgba(212, 175, 114, 0.15) !important;
    border-color: var(--champagne) !important;
    box-shadow: 0 0 15px rgba(212, 175, 114, 0.3);
  }

  .why-prev::after,
  .why-next::after {
    font-size: 0.85rem !important;
    font-weight: bold;
  }

  .why-pagination {
    bottom: 0.8rem !important;
  }

  .why-card {
    padding: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  }

  .why-card-img-wrap {
    width: 390px;
    height: 390px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--champagne);
    box-shadow: 0 8px 25px rgba(212, 175, 114, 0.25);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
  }

  .why-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.12);
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  }

  .why-card:hover {
    transform: translateY(-5px);
  }

  .why-card:hover .why-card-img-wrap {
    border-color: var(--rose-gold);
    box-shadow: 0 0 35px rgba(212, 175, 114, 0.5);
    transform: scale(1.05);
  }

  .why-card:hover .why-card-img {
    transform: scale(1.2);
  }

 /* ABOUT */
 #about {
   background: linear-gradient(135deg, var(--black-2) 0%, var(--black-3) 100%);
 }

 .about-inner {
   max-width: 1100px;
   margin: 0 auto;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 4.5rem;
   align-items: center;
 }

 .about-img-wrap {
   position: relative;
 }

 .about-img {
   width: 100%;
   height: 520px;
   object-fit: cover;
   border-radius: 3px;
   filter: brightness(.88) saturate(.9);
 }

 .about-frame {
   position: absolute;
   top: 18px;
   left: 18px;
   right: -18px;
   bottom: -18px;
   border: 1px solid var(--glass-border);
   border-radius: 3px;
   z-index: 0;
   pointer-events: none;
 }

 .about-badge {
   position: absolute;
   bottom: -1.8rem;
   right: -1.8rem;
   width: 116px;
   height: 116px;
   background: linear-gradient(135deg, var(--rose-gold), var(--champagne));
   border-radius: 50%;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   box-shadow: 0 0 50px rgba(212, 175, 114, .38);
   z-index: 2;
 }

 .about-badge strong {
   font-family: 'Cinzel', serif;
   font-size: 1.5rem;
   color: var(--black);
   font-weight: 700;
   line-height: 1;
 }

 .about-badge span {
   font-family: 'Cormorant Garamond', serif;
   font-size: .58rem;
   color: var(--black);
   letter-spacing: .12em;
   text-align: center;
   line-height: 1.4;
   margin-top: .15rem;
 }

 /* ── MOBILE ABOUT IMAGE ── */
 .about-mobile-img {
   display: none;
   width: 100%;
   height: 280px;
   object-fit: cover;
   border-radius: 3px;
   margin-bottom: 2rem;
   filter: brightness(.88) saturate(.9);
 }

 .about-content .eyebrow,
 .about-content .sec-title {
   text-align: left;
 }

 .about-content .sec-line {
   margin-left: 0;
 }

 .about-content p {
   font-size: .88rem;
   color: var(--text-muted);
   line-height: 1.95;
   margin-bottom: 1.1rem;
 }

 .stats-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 1.2rem;
   margin-top: 2rem;
 }

 .stat-item {
   padding: 1.2rem 1.4rem;
   border: 1px solid var(--glass-border);
   background: var(--glass-bg);
   backdrop-filter: blur(8px);
   border-radius: 2px;
 }

 .stat-num {
   font-family: 'Cinzel', serif;
   font-size: 1.9rem;
   font-weight: 600;
   background: linear-gradient(135deg, var(--champagne), var(--rose-light));
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   line-height: 1;
 }

 .stat-label {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: .78rem;
   color: var(--text-muted);
   letter-spacing: .08em;
   margin-top: .25rem;
 }

 /* OCCASIONS */
  #occasions {
    background: var(--black);
  }

  .occasions-swiper-container {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 3.5rem;
  }

  @media (max-width: 768px) {
    .occasions-swiper-container {
      padding: 0 1.5rem;
    }
  }

  .occasionsSwiper {
    padding-bottom: 3.5rem !important; /* space for pagination */
  }

  .occasionsSwiper .occ-card {
    width: 100%;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  /* Navigation buttons for occasions swiper */
  .occasions-prev,
  .occasions-next {
    color: var(--champagne) !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(8, 5, 7, 0.8) !important;
    backdrop-filter: blur(8px);
    border: 1px solid var(--glass-border) !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
  }

  .occasions-prev {
    left: 0.5rem !important;
  }

  .occasions-next {
    right: 0.5rem !important;
  }

  .occasions-prev:hover,
  .occasions-next:hover {
    background: rgba(212, 175, 114, 0.15) !important;
    border-color: var(--champagne) !important;
    box-shadow: 0 0 15px rgba(212, 175, 114, 0.3);
  }

  .occasions-prev::after,
  .occasions-next::after {
    font-size: 0.85rem !important;
    font-weight: bold;
  }

  .occasions-pagination {
    bottom: 0.8rem !important;
  }

  .occ-card {
    position: relative;
    padding: 3.5rem 1.8rem;
    text-align: center;
    border-radius: 8px;
    background: var(--glass-bg);
    border: 1px solid rgba(212, 175, 114, 0.08);
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: none;
  }

  .occ-bg {
    position: absolute;
    inset: 0;
    background-image: var(--bg-img);
    background-size: cover;
    background-position: center;
    opacity: 0.12;
    filter: grayscale(100%) brightness(0.4);
    transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1),
                opacity 0.6s cubic-bezier(0.25, 0.8, 0.25, 1),
                filter 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 0;
    pointer-events: none;
  }

  .occ-content {
    position: relative;
    z-index: 2;
    width: 100%;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  }

  @keyframes occIconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
  }

  .occ-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: inline-block;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    animation: occIconFloat 3.2s ease-in-out infinite;
    filter: drop-shadow(0 4px 8px rgba(212, 175, 114, 0.3));
  }

  .occ-card h3 {
    font-family: 'Cinzel', serif;
    font-size: 0.95rem;
    letter-spacing: 0.18em;
    color: var(--cream);
    margin-bottom: 0.6rem;
    transition: color 0.4s;
  }

  .occ-desc {
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.75;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s ease, opacity 0.4s ease, margin-top 0.4s ease;
  }

  .occ-more {
    display: block;
    font-family: 'Cinzel', serif;
    font-size: 0.62rem;
    color: var(--champagne);
    letter-spacing: 0.2em;
    margin-top: 1rem;
    opacity: 0;
    transform: translateY(12px);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  }

  .occ-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--rose-gold), var(--champagne), transparent);
    transform: scaleX(0);
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    transform-origin: center;
    z-index: 3;
  }

  .occ-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
      45deg,
      transparent 45%,
      rgba(212, 175, 114, 0.08) 50%,
      transparent 55%
    );
    transform: rotate(45deg);
    transition: transform 0.9s ease;
    pointer-events: none;
    z-index: 1;
  }

  /* Hover effects */
  .occ-card:hover {
    transform: translateY(-8px);
    border-color: rgba(212, 175, 114, 0.38);
    box-shadow: 0 20px 45px rgba(212, 175, 114, 0.15);
  }

  .occ-card:hover::before {
    transform: scaleX(1);
  }

  .occ-card:hover::after {
    transform: translate(50%, 50%) rotate(45deg);
  }

  .occ-card:hover .occ-bg {
    opacity: 0.45;
    filter: grayscale(0%) brightness(0.65);
    transform: scale(1.08);
  }

  .occ-card:hover .occ-icon {
    animation-play-state: paused;
    transform: scale(1.15) rotate(5deg);
    filter: drop-shadow(0 0 12px var(--champagne));
  }

  .occ-card:hover h3 {
    color: var(--champagne);
  }

  .occ-card:hover .occ-desc {
    max-height: 80px;
    opacity: 1;
    margin-top: 0.5rem;
  }

  .occ-card:hover .occ-more {
    opacity: 1;
    transform: translateY(0);
  }

  /* Mobile/Tablet default visibility behavior */
  @media (max-width: 768px) {
    .occ-card {
      min-height: 230px;
      padding: 2.8rem 1.5rem;
    }
    
    .occ-bg {
      opacity: 0.28;
      filter: grayscale(0%) brightness(0.48);
    }
    
    .occ-desc {
      max-height: 80px;
      opacity: 0.95;
      margin-top: 0.5rem;
    }
    
    .occ-more {
      opacity: 0.95;
      transform: translateY(0);
    }

    .occ-icon {
      animation-play-state: running;
    }
  }

  /* TIMINGS */
 #timings {
   background: linear-gradient(135deg, var(--black-2), var(--black-3));
 }

 .timings-inner {
   max-width: 580px;
   margin: 0 auto;
   text-align: center;
 }

 .status-badge {
   display: inline-flex;
   align-items: center;
   gap: .6rem;
   padding: .5rem 1.4rem;
   border: 1px solid currentColor;
   font-family: 'Cinzel', serif;
   font-size: .7rem;
   letter-spacing: .25em;
   margin-bottom: 2rem;
 }

 .status-dot {
   width: 7px;
   height: 7px;
   border-radius: 50%;
   animation: sPulse 1.5s ease-in-out infinite;
 }

 @keyframes sPulse {

   0%,
   100% {
     transform: scale(1);
   }

   50% {
     transform: scale(1.5);
     opacity: .6;
   }
 }

 .s-open .status-badge {
   color: var(--champagne);
 }

 .s-open .status-dot {
   background: var(--champagne);
   box-shadow: 0 0 8px var(--champagne);
 }

 .s-closed .status-badge {
   color: var(--rose-light);
 }

 .s-closed .status-dot {
   background: var(--rose-light);
   box-shadow: 0 0 8px var(--rose-light);
 }

 .timing-table {
   width: 100%;
   border-collapse: collapse;
   font-family: 'Cormorant Garamond', serif;
   font-size: 1rem;
 }

 .timing-table td {
   padding: .8rem 1rem;
   border-bottom: 1px solid var(--glass-border);
   color: var(--text-muted);
 }

 .timing-table td:first-child {
   color: var(--cream);
   letter-spacing: .08em;
 }

 .timing-table td:last-child {
   text-align: right;
   color: var(--champagne);
 }

 .timings-note {
   margin-top: 1.4rem;
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: .88rem;
   color: var(--text-muted);
 }

 /* LOCATION */
 #location {
   background: var(--black-2);
 }

 .location-inner {
   max-width: 1100px;
   margin: 0 auto;
   display: grid;
   grid-template-columns: 1fr 1.3fr;
   gap: 2.5rem;
   align-items: start;
 }

 .location-card {
   padding: 2.5rem;
   border-radius: 3px;
 }

 .loc-item {
   display: flex;
   gap: 1rem;
   align-items: flex-start;
   margin-bottom: 1.4rem;
 }

 .loc-icon {
   font-size: 1.15rem;
   flex-shrink: 0;
   margin-top: .1rem;
   filter: drop-shadow(0 0 6px rgba(212, 175, 114, .4));
 }

 .loc-item h4 {
   font-family: 'Cinzel', serif;
   font-size: .68rem;
   letter-spacing: .2em;
   color: var(--champagne);
   margin-bottom: .25rem;
 }

 .loc-item p,
 .loc-item a {
   font-size: .83rem;
   color: var(--text-muted);
   line-height: 1.7;
   transition: color .3s;
 }

 .loc-item a:hover {
   color: var(--rose-light);
 }

 .map-wrap {
   border: 1px solid var(--glass-border);
   overflow: hidden;
   position: relative;
   border-radius: 3px;
   height: 400px;
 }

 .map-wrap::after {
   content: '';
   position: absolute;
   inset: -1px;
   box-shadow: inset 0 0 40px rgba(8, 5, 7, .5);
   z-index: 1;
   pointer-events: none;
 }

 .map-wrap iframe {
   width: 100%;
   height: 100%;
   border: none;
   filter: invert(.86) hue-rotate(160deg) saturate(.8) brightness(.82);
 }

 /* CONTACT */
 #contact {
   background: var(--black);
 }

 .contact-inner {
   max-width: 1100px;
   margin: 0 auto;
 }

 .contact-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
   gap: 1.4rem;
 }

 .contact-card {
   padding: 2rem 1.8rem;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: .65rem;
   border-radius: 3px;
 }

 .contact-icon {
   font-size: 1.9rem;
   filter: drop-shadow(0 0 10px rgba(212, 175, 114, .4));
 }

 .contact-card h3 {
   font-family: 'Cinzel', serif;
   font-size: .74rem;
   letter-spacing: .2em;
   color: var(--champagne);
 }

 .contact-card p,
 .contact-card a {
   font-size: .83rem;
   color: var(--text-muted);
   line-height: 1.7;
   transition: color .3s;
 }

 .contact-card a:hover {
   color: var(--rose-light);
 }

 .contact-cta {
   display: flex;
   gap: 1rem;
   justify-content: center;
   flex-wrap: wrap;
   margin-top: 3rem;
 }

 .btn-call {
   background: transparent;
   border: 1px solid var(--champagne);
   color: var(--champagne);
   padding: .82rem 2rem;
   font-family: 'Cinzel', serif;
   font-size: .7rem;
   letter-spacing: .2em;
   cursor: none;
   transition: all .3s;
   display: flex;
   align-items: center;
   gap: .5rem;
 }

 .btn-call:hover {
   background: rgba(212, 175, 114, .1);
 }

 .btn-wa {
   background: transparent;
   border: 1px solid #25d366;
   color: #25d366;
   padding: .82rem 2rem;
   font-family: 'Cinzel', serif;
   font-size: .7rem;
   letter-spacing: .2em;
   cursor: none;
   transition: all .3s;
   display: flex;
   align-items: center;
   gap: .5rem;
 }

 .btn-wa:hover {
   background: rgba(37, 211, 102, .08);
 }

 /* FOOTER */
 footer {
   background: var(--black-3);
   border-top: 1px solid var(--glass-border);
   padding: 3rem 5% 2rem;
   text-align: center;
 }

 .footer-logo {
   font-family: 'Cinzel', serif;
   font-size: 1.1rem;
   letter-spacing: .4em;
   color: var(--champagne);
   margin-bottom: .35rem;
 }

 .footer-sub {
   font-family: 'Cormorant Garamond', serif;
   font-style: italic;
   font-size: .82rem;
   color: var(--text-muted);
   letter-spacing: .15em;
   margin-bottom: 2rem;
 }

 .footer-links {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 1.5rem;
   list-style: none;
   margin-bottom: 2rem;
 }

 .footer-links a {
   font-family: 'Cinzel', serif;
   font-size: .58rem;
   letter-spacing: .2em;
   color: var(--text-muted);
   text-transform: uppercase;
   transition: color .3s;
 }

 .footer-links a:hover {
   color: var(--champagne);
 }
  .footer-contact-icons {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 1.8rem;
    margin-bottom: 1.2rem;
  }

 .footer-icon-link {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
 }

  /* TESTIMONIALS (GOOGLE REVIEWS WIDGET) */
  #testimonials {
    background: var(--black-2);
  }

  .testi-widget-container {
    display: flex;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    align-items: stretch;
  }

  .testi-google-badge {
    width: 260px;
    flex-shrink: 0;
    padding: 3rem 1.5rem;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid var(--glass-border);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  }

  .testi-google-badge h3 {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    letter-spacing: 0.12em;
    color: var(--text-cream);
    margin-bottom: 0.6rem;
  }

  .badge-stars {
    font-size: 1.8rem;
    color: #FBBC05;
    margin-bottom: 0.4rem;
  }

  .badge-reviews-count {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: 1.6rem;
  }

  .badge-google-logo {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .testi-google-carousel {
    flex-grow: 1;
    min-width: 0;
    position: relative;
    padding: 0 0.5rem;
  }

  .testi-google-card {
    padding: 2rem 1.8rem;
    border-radius: 6px;
    border: 1px solid var(--glass-border);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.015) 100%);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: left;
  }

  .testi-google-card:hover {
    border-color: rgba(212, 175, 114, 0.3);
    box-shadow: 0 12px 35px rgba(212, 175, 114, 0.08);
    transform: translateY(-2px);
  }

  .testi-google-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
    width: 100%;
  }

  .testi-google-card .header-left {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-grow: 1;
    min-width: 0;
  }

  .testi-google-card .user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
  }

  /* Avatar Colors */
  .color-avatar-1 { background-color: #ea4335; }
  .color-avatar-2 { background-color: #4285f4; }
  .color-avatar-3 { background-color: #fbbc05; }
  .color-avatar-4 { background-color: #34a853; }
  .color-avatar-5 { background-color: #ab47bc; }

  .testi-google-card .user-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: left;
  }

  .testi-google-card .user-name {
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-cream);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .testi-google-card .review-date {
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-top: 0.1rem;
  }

  .testi-google-card .google-badge-top {
    display: flex;
    align-items: center;
    opacity: 0.85;
    flex-shrink: 0;
  }

  .testi-google-card .card-stars-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
  }

  .testi-google-card .stars-gold {
    color: #FBBC05;
    font-size: 1.05rem;
    letter-spacing: 0.05em;
  }

  .testi-google-card .verified-icon {
    opacity: 0.9;
  }

  .testi-google-card .review-text {
    font-family: 'Lato', sans-serif;
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--text-cream);
    margin-bottom: 0.8rem;
    flex-grow: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
  }

  .testi-google-card .read-more-link {
    font-family: 'Lato', sans-serif;
    font-size: 0.76rem;
    color: var(--champagne);
    text-decoration: underline;
    align-self: flex-start;
    transition: color 0.3s;
  }

  .testi-google-card .read-more-link:hover {
    color: var(--text-cream);
  }

  /* Swiper Controls overrides for Testimonials */
  .testi-prev,
  .testi-next {
    color: var(--champagne) !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(8, 5, 7, 0.8) !important;
    backdrop-filter: blur(8px);
    border: 1px solid var(--glass-border) !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
  }

  .testi-prev {
    left: -0.8rem !important;
  }

  .testi-next {
    right: -0.8rem !important;
  }

  .testi-prev:hover,
  .testi-next:hover {
    background: rgba(212, 175, 114, 0.15) !important;
    border-color: var(--champagne) !important;
    box-shadow: 0 0 15px rgba(212, 175, 114, 0.3);
  }

  .testi-prev::after,
  .testi-next::after {
    font-size: 0.85rem !important;
    font-weight: bold;
  }

  .testi-pagination {
    bottom: -0.5rem !important;
  }

  .footer-icon-link svg {
    width: 20px;
    height: 20px;
    transition: transform 0.4s ease;
  }

  /* Default brand background colors */
  .footer-icon-link.icon-call {
    background: #007bf5;
    border: 1px solid #007bf5;
  }

  .footer-icon-link.icon-wa {
    background: #25d366;
    border: 1px solid #25d366;
  }

  .footer-icon-link.icon-email {
    background: #ea4335;
    border: 1px solid #ea4335;
  }

  .footer-icon-link.icon-insta {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    border: 1px solid transparent;
  }

  /* Hover effect: Glow and grow */
  .footer-icon-link.icon-call:hover {
    box-shadow: 0 0 25px rgba(0, 123, 245, 0.7);
    transform: translateY(-3px);
  }

  .footer-icon-link.icon-wa:hover {
    box-shadow: 0 0 25px rgba(37, 211, 102, 0.7);
    transform: translateY(-3px);
  }

  .footer-icon-link.icon-email:hover {
    box-shadow: 0 0 25px rgba(234, 67, 53, 0.7);
    transform: translateY(-3px);
  }

  .footer-icon-link.icon-insta:hover {
    box-shadow: 0 0 25px rgba(214, 36, 159, 0.7);
    transform: translateY(-3px);
  }

  .footer-icon-link:hover svg {
    transform: scale(1.18);
  }

 .footer-rule {
   width: 100%;
   height: 1px;
   background: linear-gradient(90deg, transparent, var(--glass-border), transparent);
   margin: 1.5rem 0;
 }

 .footer-copy {
   font-size: .72rem;
   color: rgba(154, 136, 128, .45);
   letter-spacing: .08em;
 }

 /* FLOATING */
 .floating-btns {
   position: fixed;
   right: 1.5rem;
   bottom: 2rem;
   display: flex;
   flex-direction: column;
   gap: .8rem;
   z-index: 900;
 }

 .fab {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   border: none;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.3rem;
   cursor: none;
   position: relative;
   transition: transform .3s, box-shadow .3s;
 }

 .fab::before {
   content: '';
   position: absolute;
   inset: -5px;
   border-radius: 50%;
   animation: fabPulse 2s ease-in-out infinite;
   opacity: .5;
 }

 .fab:hover {
   transform: scale(1.1);
 }

 .fab-wa {
   background: linear-gradient(135deg, #25d366, #128c7e);
 }

 .fab-wa::before {
   border: 1px solid #25d366;
   animation-delay: .5s;
 }

 .fab-wa:hover {
   box-shadow: 0 8px 32px rgba(37, 211, 102, .4);
 }

 .fab-call {
   background: linear-gradient(135deg, var(--rose-gold), var(--champagne));
 }

 .fab-call::before {
   border: 1px solid var(--champagne);
 }

 .fab-call:hover {
   box-shadow: 0 8px 32px var(--glow-gold);
 }

 @keyframes fabPulse {
   0% {
     transform: scale(1);
     opacity: .35;
   }

   70% {
     transform: scale(1.65);
     opacity: 0;
   }

   100% {
     transform: scale(1.65);
     opacity: 0;
   }
 }

 /* SPARKLE */
 .sparkle {
   position: fixed;
   pointer-events: none;
   z-index: 99990;
   border-radius: 50%;
   animation: sparkAnim .6s ease-out forwards;
 }

 @keyframes sparkAnim {
   0% {
     opacity: 1;
     transform: scale(1);
   }

   100% {
     opacity: 0;
     transform: scale(0) translateY(-22px);
   }
 }

 /* RESPONSIVE */
 @media(max-width:900px) {
   .about-inner {
     grid-template-columns: 1fr;
   }

   .about-img-wrap {
     display: none;
   }

   .about-mobile-img {
     display: block;
   }

   .location-inner {
     grid-template-columns: 1fr;
   }

   .map-wrap {
     height: 300px;
   }

   .nav-links,
   .nav-cta {
     display: none;
   }

   .hamburger {
     display: flex;
   }

   .about-content .eyebrow,
   .about-content .sec-title {
     text-align: center;
   }

   .about-content .sec-line {
     margin: 0 auto 3rem;
   }

   .stats-grid {
     grid-template-columns: 1fr 1fr;
   }

   .testi-widget-container {
     flex-direction: column;
     align-items: center;
     gap: 1.8rem;
   }

   .testi-google-badge {
     width: 100%;
     max-width: 320px;
     padding: 2rem 1rem;
   }

   .testi-google-carousel {
     width: 100%;
     overflow: hidden;
   }
 }

 @media(max-width:600px) {
   section {
     padding: 4rem 5%;
   }

   .hero-btns {
     flex-direction: column;
     align-items: center;
   }

   .gallerySwiper .swiper-slide {
     height: 340px;
   }

   .cakes-grid {
     grid-template-columns: 1fr;
     gap: 1.2rem;
   }

   .cake-card {
     aspect-ratio: 3/4;
   }

   .cake-card-body p {
     max-height: 100px;
     opacity: 1;
   }

   .floating-btns {
     right: 1rem;
     bottom: 1.5rem;
   }

   .fab {
     width: 46px;
     height: 46px;
     font-size: 1.1rem;
   }

   .stats-grid {
     grid-template-columns: 1fr 1fr;
   }

   .why-card-img-wrap {
     width: 310px;
     height: 310px;
     max-width: 90vw;
     max-height: 90vw;
   }
 }

 /* Transparent navigation buttons and custom cursor overrides on mobile */
 @media (max-width: 768px) {
   body {
     cursor: auto !important;
   }
   
   a, button, .glass, .cake-card, .fab, .swiper-slide {
     cursor: pointer !important;
   }

   #cursor, #cursor-ring {
     display: none !important;
   }

   .cakes-prev,
   .cakes-next,
   .why-prev,
   .why-next,
   .testi-prev,
   .testi-next,
   .occasions-prev,
   .occasions-next {
     opacity: 0.35 !important;
     width: 36px !important;
     height: 36px !important;
   }
   
   .cakes-prev:active,
   .cakes-next:active,
   .why-prev:active,
   .why-next:active,
   .testi-prev:active,
   .testi-next:active {
     opacity: 0.8 !important;
   }
   
   .cakes-prev::after,
   .cakes-next::after,
   .why-prev::after,
   .why-next::after,
   .testi-prev::after,
   .testi-next::after {
     font-size: 0.72rem !important;
   }

   .testi-prev {
     left: 0.2rem !important;
   }

   .testi-next {
     right: 0.2rem !important;
   }
 }
