:root {
  --obsidian:#0c0009;--charcoal:#140010;--dark-card:#1d0016;--warm-dark:#250019;
  --gold:#cc0077;--gold-light:#ff6eb4;--gold-pale:#ffd6e8;
  --cream:#FFF0F5;--warm-off:#FFE8F3;--muted:#905870;
  --ff-display:'Playfair Display',Georgia,serif;--ff-body:'Raleway',sans-serif;
  --r-sm:6px;--r-md:14px;--r-lg:22px;
  --shadow:0 8px 40px rgba(0,0,0,.18);--shadow-lg:0 20px 80px rgba(0,0,0,.32);
  --shadow-gold:0 8px 40px rgba(204,0,119,.22);--ease:cubic-bezier(.4,0,.2,1);
  --gold-grad:linear-gradient(135deg,#cc0077 0%,#ff6eb4 50%,#cc0077 100%);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
::selection{background:rgba(204,0,119,.2);color:var(--charcoal);}
html{scroll-behavior:smooth;scroll-padding-top:calc(88px + env(safe-area-inset-top, 0px));font-size:16px;background:var(--cream);}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}
body{font-family:var(--ff-body);background:var(--cream);color:var(--charcoal);line-height:1.65;overflow-x:hidden;}
.site-main{background:var(--cream);}
a{color:inherit;text-decoration:none;cursor:pointer;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
ul{list-style:none;}
img{display:block;max-width:100%;object-fit:cover;}

/* ====== UPGRADED PRELOADER ====== */
#preloader{
  position:fixed;inset:0;z-index:9999;
  background:linear-gradient(165deg,#fffafc 0%,var(--cream) 55%,#ffeef6 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  transition:opacity .9s ease,visibility .9s ease;
}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none;}

/* Animated background grain */
#preloader::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:.4;pointer-events:none;
}

/* Radial golden glow behind everything */
#preloader::after{
  content:'';position:absolute;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(204,0,119,.1) 0%,transparent 70%);
  animation:glowBreath 3s ease-in-out infinite;
  pointer-events:none;
}
@keyframes glowBreath{0%,100%{transform:scale(1);opacity:.6;}50%{transform:scale(1.15);opacity:1;}}

.pre-scene{
  position:relative;width:280px;height:280px;
  display:flex;align-items:center;justify-content:center;
}

/* Orbit rings */
.pre-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1px solid transparent;
}
.pre-ring-1{
  border-color:rgba(204,0,119,.3);
  animation:orbit1 6s linear infinite;
}
.pre-ring-1::before{
  content:'';position:absolute;top:-5px;left:50%;
  transform:translateX(-50%);width:6px;height:6px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 10px rgba(204,0,119,.55);
}
.pre-ring-2{
  inset:22px;
  border-color:rgba(204,0,119,.15);
  animation:orbit1 4s linear infinite reverse;
}
.pre-ring-2::before{
  content:'';position:absolute;top:-3px;left:50%;
  transform:translateX(-50%);width:4px;height:4px;border-radius:50%;
  background:var(--gold-light);opacity:.75;
}
.pre-ring-3{
  inset:44px;
  border-color:rgba(204,0,119,.08);
  animation:orbit1 8s linear infinite;
}
@keyframes orbit1{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* Sweeping arc progress */
.pre-arc-track{
  position:absolute;inset:0;border-radius:50%;
  border:1.5px solid rgba(204,0,119,.08);
}
.pre-arc-fill{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--gold) 0deg,rgba(204,0,119,.15) 0deg,transparent 0deg);
  animation:arcSweep 2.4s cubic-bezier(.4,0,.2,1) forwards;
  mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff calc(100% - 2px));
}
@keyframes arcSweep{
  0%{background:conic-gradient(var(--gold) 0deg,transparent 0deg);}
  100%{background:conic-gradient(var(--gold) 360deg,transparent 0deg);}
}

/* Inner glow disc */
.pre-glow-disc{
  position:absolute;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(204,0,119,.2) 0%,rgba(204,0,119,.05) 55%,transparent 100%);
  border:1px solid rgba(204,0,119,.2);
  animation:discPulse 2.5s ease-in-out infinite;
}
@keyframes discPulse{0%,100%{transform:scale(1);box-shadow:0 0 30px rgba(204,0,119,.08);}50%{transform:scale(1.06);box-shadow:0 0 60px rgba(204,0,119,.2);}}

/* Center content */
.pre-center{
  position:relative;z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  text-align:center;
}
.pre-icon-wrap{
  width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(204,0,119,.22);
  box-shadow:0 6px 28px rgba(204,0,119,.12);
  display:flex;align-items:center;justify-content:center;
  animation:iconFloat 3s ease-in-out infinite,iconReveal .6s ease .2s both;
}
.pre-brand-mark{display:block;width:34px;height:34px;object-fit:contain;}
@keyframes iconReveal{from{opacity:0;transform:scale(.6);}to{opacity:1;transform:scale(1);}}
@keyframes iconFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.pre-icon-char{
  font-size:1.8rem;color:var(--gold);
  filter:drop-shadow(0 0 12px rgba(204,0,119,.7));
  animation:iconGlow 2.5s ease-in-out infinite;
}
@keyframes iconGlow{0%,100%{filter:drop-shadow(0 0 8px rgba(204,0,119,.5));}50%{filter:drop-shadow(0 0 20px rgba(204,0,119,.9));}}

.pre-brand{animation:textReveal .7s ease .5s both;}
.pre-brand-name{
  display:block;font-family:var(--ff-display);font-size:1.5rem;font-weight:400;
  color:var(--charcoal);letter-spacing:.04em;line-height:1.2;
}
.pre-brand-sub{
  display:block;font-size:.56rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-top:.25rem;opacity:.8;
}
@keyframes textReveal{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* Floating particles */
.pre-particle{
  position:absolute;border-radius:50%;background:var(--gold);
  opacity:0;animation:particleFloat 3s ease-in-out infinite;
}
.pre-particle:nth-child(1){width:3px;height:3px;top:12%;left:18%;animation-delay:0s;}
.pre-particle:nth-child(2){width:2px;height:2px;top:18%;right:14%;animation-delay:.5s;}
.pre-particle:nth-child(3){width:3px;height:3px;bottom:14%;left:22%;animation-delay:1s;}
.pre-particle:nth-child(4){width:2px;height:2px;bottom:20%;right:16%;animation-delay:1.5s;}
.pre-particle:nth-child(5){width:2px;height:2px;top:50%;left:6%;animation-delay:.8s;}
.pre-particle:nth-child(6){width:3px;height:3px;top:50%;right:6%;animation-delay:.3s;}
@keyframes particleFloat{0%,100%{opacity:0;transform:translateY(0) scale(0);}40%,60%{opacity:.9;transform:translateY(-8px) scale(1);}}

/* Status line */
.pre-status-line{
  position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  animation:textReveal .7s ease .8s both;
}
.pre-dots{display:flex;gap:.4rem;}
.pre-dot{
  width:5px;height:5px;border-radius:50%;background:rgba(204,0,119,.4);
  animation:dotPulse 1.2s ease-in-out infinite;
}
.pre-dot:nth-child(2){animation-delay:.2s;}
.pre-dot:nth-child(3){animation-delay:.4s;}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.4;}50%{transform:scale(1.4);opacity:1;background:var(--gold);}}
.pre-label{
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(26,0,18,.38);white-space:nowrap;
}

/* ====== TOAST ====== */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);z-index:8000;background:#fff;color:var(--charcoal);padding:.85rem 2rem;border-radius:50px;font-size:.84rem;font-weight:500;letter-spacing:.06em;border:1px solid rgba(204,0,119,.22);box-shadow:0 12px 40px rgba(204,0,119,.18),0 4px 16px rgba(0,0,0,.06);opacity:0;transition:opacity .35s,transform .35s;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.hidden{display:none;}

/* ====== HEADER ====== */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(76px + env(safe-area-inset-top, 0px));display:flex;align-items:center;gap:1.5rem;padding:env(safe-area-inset-top, 0px) max(1.1rem, env(safe-area-inset-right, 0px)) 0 max(1.1rem, env(safe-area-inset-left, 0px));box-sizing:border-box;background:rgba(255,253,254,.92);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(204,0,119,.12);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:height .35s var(--ease),background .35s,box-shadow .35s;}
#site-header.scrolled{height:calc(62px + env(safe-area-inset-top, 0px));background:rgba(255,253,254,.98);box-shadow:0 8px 32px rgba(204,0,119,.08);}
.nav-brand{display:flex;align-items:center;gap:.7rem;cursor:pointer;flex-shrink:0;user-select:none;}
.brand-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:var(--gold);}
.brand-mark-img{display:block;width:28px;height:28px;object-fit:contain;}
.footer-brand .brand-mark-img{width:26px;height:26px;}
.mouse-sparkle-dot{position:fixed;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:9999;opacity:1;transition:opacity .55s ease,transform .55s ease;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 10px rgba(204,0,119,.45);}
.brand-mark-img{display:block;width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(204,0,119,.2));}
.brand-text{display:flex;flex-direction:column;line-height:1.15;}
.brand-name{font-family:var(--ff-display);font-size:1.35rem;font-weight:600;color:var(--charcoal);letter-spacing:.02em;}
.brand-tagline{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-left:auto;}
.nav-item{position:relative;padding:.5rem 1.1rem;font-size:.76rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(26,0,18,.52);border-radius:50px;transition:color .25s,background .25s;cursor:pointer;user-select:none;white-space:nowrap;}
.nav-item::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%) scaleX(0);width:16px;height:1.5px;background:var(--gold-grad);border-radius:2px;transition:transform .3s var(--ease);}
.nav-item:hover{color:var(--gold);}
.nav-item:hover::after,.nav-item.active::after{transform:translateX(-50%) scaleX(1);}
.nav-item.active{color:var(--gold);}
.nav-order-btn{margin-left:.75rem;padding:.55rem 1.5rem;background:var(--gold-grad);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;flex-shrink:0;box-shadow:0 4px 18px rgba(204,0,119,.35);transition:transform .25s,box-shadow .25s,filter .25s;}
.nav-order-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold);filter:brightness(1.1);}
.hamburger{display:none;flex-direction:column;gap:5px;margin-left:auto;padding:.45rem;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--gold);border-radius:2px;transition:transform .3s,opacity .3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,4px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-4px);}

/* ====== MULTI-PAGE LAYOUT ====== */
.site-main{min-height:100vh;padding-top:calc(76px + env(safe-area-inset-top, 0px));animation:pgIn .75s cubic-bezier(.22,1,.36,1) both;}
@keyframes pgIn{from{opacity:0;transform:translateY(22px) scale(.995);}to{opacity:1;transform:translateY(0) scale(1);}}
@media(prefers-reduced-motion:reduce){.site-main{animation:none;}}

/* ====== SHARED ====== */
.section-label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;}
.section-title{font-family:var(--ff-display);font-size:clamp(1.95rem,3.9vw,3.35rem);font-weight:500;color:var(--charcoal);line-height:1.18;margin-bottom:2rem;letter-spacing:-.01em;}
.section-title em{font-style:italic;color:var(--gold);}
.eyebrow-light{display:block;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* Buttons */
.btn-gold{display:inline-flex;align-items:center;gap:.55rem;padding:.88rem 2.2rem;background:var(--gold-grad);color:var(--obsidian);font-family:var(--ff-body);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;box-shadow:0 6px 24px rgba(204,0,119,.3);transition:transform .25s,box-shadow .25s,filter .25s;position:relative;overflow:hidden;}
.btn-gold::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 60%);opacity:0;transition:opacity .25s;}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(204,0,119,.45);filter:brightness(1.08);}
.btn-gold:hover::before{opacity:1;}
.btn-gold i{font-style:normal;transition:transform .25s;}
.btn-gold:hover i{transform:translateX(4px);}
.btn-outline-light{display:inline-flex;align-items:center;gap:.5rem;padding:.88rem 2.2rem;background:transparent;color:var(--cream);font-family:var(--ff-body);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;border:1.5px solid rgba(255,255,255,.4);transition:border-color .25s,color .25s,background .25s,transform .25s;}
.btn-outline-light:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}
.btn-outline-dark{display:inline-flex;align-items:center;gap:.5rem;padding:.82rem 2rem;background:transparent;color:var(--charcoal);font-family:var(--ff-body);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;border:1.5px solid rgba(26,20,16,.3);transition:border-color .25s,color .25s,transform .25s;}
.btn-outline-dark:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.btn-sm-gold{padding:.45rem 1.1rem;background:var(--gold-grad);color:var(--obsidian);font-family:var(--ff-body);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:50px;border:none;cursor:pointer;transition:transform .2s,filter .2s;}
.btn-sm-gold:hover{transform:scale(1.05);filter:brightness(1.1);}
.center-btn{display:block;margin:3rem auto 0;width:max-content;}
.full-btn{width:100%;justify-content:center;}

/* CTA Banner */
.cta-banner{background:var(--warm-off);padding:6rem clamp(1.5rem,8vw,8rem);position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(204,0,119,.08) 0%,transparent 70%);}
.cta-inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.cta-banner h2{font-family:var(--ff-display);font-size:clamp(1.9rem,4vw,3.2rem);font-weight:400;color:var(--charcoal);}
.cta-banner h2 em{font-style:italic;color:var(--gold);}
.cta-banner p{color:var(--muted);font-size:.95rem;}

/* Page Hero */
.page-hero{position:relative;padding:8rem clamp(1.5rem,8vw,7rem) 6rem;overflow:hidden;}
.ph-bg{position:absolute;inset:0;z-index:1;}
.dark-bg{background:linear-gradient(118deg,rgba(18,4,14,.9) 0%,rgba(52,8,32,.84) 45%,rgba(22,6,16,.88) 100%);}
.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(125deg,rgba(12,2,10,.92) 0%,rgba(48,6,30,.82) 42%,rgba(20,5,14,.9) 100%),
  radial-gradient(ellipse 90% 70% at 12% 20%,rgba(204,0,119,.32),transparent 55%),
  radial-gradient(ellipse 65% 55% at 92% 88%,rgba(255,77,166,.14),transparent 50%);
}
.page-hero .light-text h1{color:#fff;text-shadow:0 2px 32px rgba(0,0,0,.5);}
.page-hero .light-text h1 em{font-style:italic;}
.page-hero .light-text p{color:rgba(255,245,250,.9);text-shadow:0 1px 12px rgba(0,0,0,.35);}
.ph-img{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.04);animation:heroZoom 8s ease-out forwards;}
@keyframes heroZoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.ph-content{position:relative;z-index:2;max-width:620px;}
.light-text h1{font-family:var(--ff-display);font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:400;color:var(--charcoal);line-height:1.12;margin-bottom:1rem;}
.light-text h1 em{font-style:italic;color:var(--gold);}
.light-text p{font-size:1.05rem;color:var(--muted);}
.page-hero .light-text h1{font-size:clamp(2.35rem,5vw,4rem);}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:0 clamp(1.5rem,7vw,6rem);overflow:hidden;}
.hero-bg-img{position:absolute;inset:0;z-index:0;background:url('https://images.unsplash.com/photo-1535254973040-607b474cb50d?w=1800&q=85') center/cover no-repeat;transform:scale(1.06);animation:heroZoom 10s ease-out forwards;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(10,2,8,.9) 0%,rgba(42,6,26,.82) 48%,rgba(16,4,12,.88) 100%),radial-gradient(ellipse 85% 70% at 18% 18%,rgba(204,0,119,.22),transparent 58%);}
.hero.hero-video .hero-overlay{background:linear-gradient(118deg,rgba(12,2,9,.91) 0%,rgba(48,8,28,.8) 50%,rgba(14,4,12,.9) 100%),radial-gradient(ellipse 80% 65% at 22% 12%,rgba(255,77,166,.2),transparent 55%),radial-gradient(ellipse 55% 45% at 85% 85%,rgba(204,0,119,.16),transparent 52%);}
.hero-shimmer{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0px,transparent 120px,rgba(204,0,119,.025) 120px,rgba(204,0,119,.025) 121px);}
.hero-content{position:relative;z-index:3;max-width:680px;}
.hero-badge{display:inline-block;margin-bottom:1.5rem;padding:.45rem 1.4rem;background:rgba(204,0,119,.35);border:1px solid rgba(255,182,214,.45);border-radius:50px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#ffe8f4;animation:pgIn .8s var(--ease) .2s both;}
.hero-title{font-family:var(--ff-display);font-size:clamp(2.8rem,6.5vw,5.8rem);font-weight:400;line-height:1.08;color:#fff;margin-bottom:1.5rem;animation:pgIn .8s var(--ease) .35s both;text-shadow:0 2px 36px rgba(0,0,0,.45);}
.hero-title em{font-style:italic;}
.hero-sub{font-size:1.02rem;color:rgba(255,245,250,.9);line-height:1.75;margin-bottom:2.5rem;animation:pgIn .8s var(--ease) .5s both;text-shadow:0 1px 14px rgba(0,0,0,.35);}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;animation:pgIn .8s var(--ease) .65s both;}
.hero .btn-outline-dark{color:#fff;border-color:rgba(255,245,250,.55);}
.hero .btn-outline-dark:hover{border-color:#ffc8e8;color:#ffc8e8;}
.hero-trust{display:flex;align-items:center;gap:1.5rem;animation:pgIn .8s var(--ease) .8s both;}
.trust-item{display:flex;flex-direction:column;}
.trust-item strong{font-family:var(--ff-display);font-size:1.5rem;font-weight:600;color:var(--gold);line-height:1;}
.trust-item span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,245,250,.65);}
.trust-div{width:1px;height:35px;background:rgba(255,255,255,.22);}
.hero-scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;text-align:center;animation:pgIn .8s var(--ease) 1s both;}
.hero-scroll-hint span{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,245,250,.55);margin-bottom:.6rem;}
.scroll-line{width:1px;height:45px;background:linear-gradient(to bottom,rgba(204,0,119,.6),transparent);margin:0 auto;animation:scrollPulse 2s ease infinite;}
@keyframes scrollPulse{0%,100%{opacity:.4;transform:scaleY(1);}50%{opacity:1;transform:scaleY(1.1);}}

/* Features strip */
.features-strip{display:flex;justify-content:center;flex-wrap:wrap;background:var(--cream);border-top:1px solid rgba(204,0,119,.1);border-bottom:1px solid rgba(204,0,119,.1);}
.feature{display:flex;align-items:center;gap:1rem;padding:1.5rem 2.5rem;border-right:1px solid rgba(204,0,119,.08);transition:background .25s;}
.feature:hover{background:rgba(204,0,119,.05);}
.feature:last-child{border-right:none;}
.feat-emoji{font-size:1.6rem;}
.feature strong{display:block;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);}
.feature p{font-size:.72rem;color:var(--muted);letter-spacing:.04em;}

/* Gallery */
.gallery-section{padding:7rem clamp(1.5rem,6vw,5rem);background:var(--warm-off);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:260px 260px;gap:1rem;margin-bottom:1rem;}
.gallery-item{position:relative;border-radius:var(--r-md);overflow:hidden;cursor:pointer;}
.gallery-item.gi1{grid-row:1/3;}
.gallery-item.gi4{grid-column:2/4;}
.gallery-item img{width:100%;height:100%;transition:transform .6s var(--ease);}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.2) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:0;transition:opacity .35s;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-tag{display:inline-block;padding:.28rem .8rem;background:var(--gold-grad);color:var(--obsidian);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;margin-bottom:.6rem;width:max-content;}
.gallery-overlay p{font-size:.82rem;color:rgba(255,255,255,.75);margin-bottom:1rem;}
.party-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:200px 200px;margin-top:.5rem;}
.party-grid .gallery-item{min-height:200px;}
@media(max-width:768px){.party-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}}
@media(max-width:480px){.party-grid{grid-template-columns:1fr;}}

/* Why */
.why-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:7rem clamp(1.5rem,6vw,5rem);background:var(--warm-off);}
.why-intro{font-size:.98rem;color:var(--muted);margin-bottom:2rem;line-height:1.75;}
.why-items{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;}
.why-item{display:flex;gap:1.25rem;align-items:flex-start;}
.why-num{font-family:var(--ff-display);font-size:2.2rem;font-weight:700;color:var(--gold);line-height:1;opacity:.55;flex-shrink:0;}
.why-item h4{font-size:.9rem;font-weight:600;letter-spacing:.06em;color:var(--charcoal);margin-bottom:.35rem;}
.why-item p{font-size:.86rem;color:var(--muted);line-height:1.65;}
.why-img-stack{position:relative;}
.why-img-stack img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;height:520px;}
.why-badge-float{position:absolute;bottom:-20px;right:-20px;width:110px;height:110px;border-radius:50%;background:var(--gold-grad);color:var(--obsidian);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-gold);}
.why-badge-float strong{font-family:var(--ff-display);font-size:1.5rem;font-weight:700;line-height:1;}
.why-badge-float span{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;}

/* Quote */
.home-quote{background:var(--cream);padding:6rem clamp(1.5rem,10vw,12rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem;position:relative;overflow:hidden;}
.home-quote::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(204,0,119,.06) 0%,transparent 70%);}
.quote-decor{font-size:2.5rem;color:var(--gold);opacity:.5;position:relative;z-index:1;}
.home-quote blockquote{position:relative;z-index:1;}
.home-quote blockquote p{font-family:var(--ff-display);font-size:clamp(1.3rem,3vw,2.2rem);font-style:italic;font-weight:400;color:var(--charcoal);line-height:1.55;margin-bottom:1.25rem;}
.home-quote cite{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}

/* Services */
.services-section{padding:5rem clamp(1.5rem,6vw,5rem);background:var(--warm-off);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;}
.svc-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(204,0,119,.15);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;position:relative;}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-gold);border-color:rgba(204,0,119,.35);}
.svc-card.featured{border-color:rgba(204,0,119,.4);}
.feat-badge{position:absolute;top:16px;right:16px;z-index:5;background:var(--gold-grad);color:var(--obsidian);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .9rem;border-radius:50px;box-shadow:var(--shadow-gold);}
.svc-img-wrap{position:relative;height:200px;overflow:hidden;}
.svc-img-wrap img{width:100%;height:100%;transition:transform .5s var(--ease);}
.svc-card:hover .svc-img-wrap img{transform:scale(1.07);}
.svc-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%);}
.svc-body{padding:1.8rem;}
.svc-icon{font-size:1.8rem;margin-bottom:.9rem;}
.svc-card h3{font-family:var(--ff-display);font-size:1.45rem;font-weight:400;color:var(--charcoal);margin-bottom:.65rem;}
.svc-card>.svc-body>p{font-size:.86rem;color:var(--muted);margin-bottom:1.2rem;line-height:1.7;}
.svc-list{margin-bottom:1.4rem;}
.svc-list li{font-size:.81rem;color:var(--muted);padding:.32rem 0;border-bottom:1px solid rgba(204,0,119,.1);display:flex;align-items:center;gap:.5rem;}
.svc-list li::before{content:'✦';font-size:.44rem;color:var(--gold);}
.svc-price{font-size:.86rem;color:var(--muted);margin-bottom:1.3rem;}
.svc-price strong{font-family:var(--ff-display);font-size:1.6rem;font-weight:400;color:var(--gold);}

/* Payment */
.payment-section{padding:6rem clamp(1.5rem,6vw,5rem);background:var(--warm-off);text-align:center;}
.payment-sub{font-size:.95rem;color:var(--muted);margin-bottom:3rem;margin-top:-.5rem;}
.payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin-bottom:3rem;}
.pay-card{background:#fff;border-radius:var(--r-lg);padding:2.2rem 2rem;box-shadow:var(--shadow);border:1px solid rgba(204,0,119,.15);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;text-align:center;}
.pay-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-gold);border-color:rgba(204,0,119,.4);}
.pay-card:active{transform:translateY(-3px) scale(.99);transition-duration:.12s;}
.pay-icon{font-size:2.2rem;margin-bottom:1rem;}
.pay-card h4{font-size:.9rem;font-weight:600;letter-spacing:.07em;color:var(--charcoal);margin-bottom:.55rem;}
.pay-card p{font-size:.82rem;color:var(--muted);margin-bottom:1.2rem;line-height:1.55;}
.pay-logos{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;}
.pay-logo{padding:.28rem .75rem;border-radius:var(--r-sm);font-size:.66rem;font-weight:700;letter-spacing:.08em;}
.pay-logo.visa{background:#1a1f71;color:#fff;}
.pay-logo.mc{background:#eb001b;color:#fff;}
.pay-logo.amex{background:#007bc1;color:#fff;}
.pay-logo.apple{background:#000;color:#fff;}
.pay-logo.gpay{background:#4285f4;color:#fff;}
.pay-logo.bank{background:#2e7d32;color:#fff;}
.pay-logo.instalment{background:var(--charcoal);color:var(--gold);border:1px solid var(--gold);}
.payment-security{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding:1.5rem 2rem;background:rgba(0,0,0,.04);border-radius:var(--r-md);border:1px solid rgba(204,0,119,.1);}
.payment-security span{font-size:.78rem;color:var(--muted);font-weight:500;letter-spacing:.05em;}

/* Process */
.process-section{padding:6rem clamp(1.5rem,6vw,5rem);background:var(--cream);text-align:center;}
.process-steps{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem;}
.step{background:#fff;border-radius:var(--r-md);padding:2rem 1.5rem;width:180px;text-align:center;border:1px solid rgba(204,0,119,.15);transition:transform .3s,border-color .3s,box-shadow .3s;}
.step:hover{transform:translateY(-6px);border-color:rgba(204,0,119,.4);box-shadow:var(--shadow-gold);}
.step-num{font-family:var(--ff-display);font-size:2.5rem;font-weight:400;color:var(--gold);line-height:1;margin-bottom:.5rem;opacity:.7;}
.step h4{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--charcoal);margin-bottom:.5rem;}
.step p{font-size:.78rem;color:var(--muted);line-height:1.5;}
.step-arr{font-size:1.5rem;color:rgba(204,0,119,.35);font-family:var(--ff-display);}

/* Testimonials */
.stats-bar{display:flex;justify-content:center;flex-wrap:wrap;background:linear-gradient(180deg,#fff 0%,var(--warm-off) 100%);border-bottom:1px solid rgba(204,0,119,.12);border-top:1px solid rgba(204,0,119,.1);position:relative;overflow:hidden;}
.stats-bar::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 50% 120%,rgba(204,0,119,.1) 0%,transparent 70%);pointer-events:none;}
.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.8rem 3.5rem;border-right:1px solid rgba(204,0,119,.1);position:relative;z-index:1;transition:background .3s;}
.stat:hover{background:rgba(204,0,119,.07);}
.stat:last-child{border-right:none;}
.stat strong{font-family:var(--ff-display);font-size:2.8rem;font-weight:400;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.35rem;transition:transform .3s var(--ease);}
.stat:hover strong{transform:scale(1.08);}
.stat span{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(26,0,18,.45);}
.reviews-section{padding:5rem clamp(1.5rem,6vw,5rem);background:var(--cream);}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.rv-card{background:#fff;border-radius:var(--r-lg);padding:2.2rem;border:1px solid rgba(204,0,119,.1);box-shadow:0 2px 18px rgba(0,0,0,.05);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;}
.rv-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(204,0,119,.15),0 4px 18px rgba(0,0,0,.06);border-color:rgba(204,0,119,.28);}
.rv-card.rv-large{grid-column:1/-1;flex-direction:row;align-items:flex-start;gap:3.5rem;background:linear-gradient(145deg,#fff 0%,var(--warm-off) 48%,#fff 100%);border-color:rgba(204,0,119,.22);border-top:3px solid var(--gold);box-shadow:0 12px 48px rgba(204,0,119,.12),0 4px 20px rgba(0,0,0,.04);padding:3rem 3.5rem;}
.rv-card.rv-large:hover{transform:translateY(-6px);box-shadow:0 22px 56px rgba(204,0,119,.18),0 4px 20px rgba(0,0,0,.06);}
.stars{color:var(--gold);font-size:1.1rem;letter-spacing:.22em;margin-bottom:.9rem;display:block;}
.rv-card.rv-large .stars{color:var(--gold);font-size:1.2rem;}
.rv-card blockquote{font-family:var(--ff-display);font-size:1.02rem;font-style:italic;color:var(--muted);line-height:1.7;margin-bottom:1.6rem;flex:1;}
.rv-card.rv-large blockquote{font-size:1.32rem;color:var(--muted);line-height:1.65;margin-bottom:1.8rem;}
.reviewer{display:flex;align-items:center;gap:.85rem;margin-top:auto;}
.rv-card.rv-large .reviewer{border-top:1px solid rgba(204,0,119,.12);padding-top:1.4rem;}
.rv-av{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2.5px solid rgba(204,0,119,.4);box-shadow:0 2px 12px rgba(204,0,119,.25);flex-shrink:0;background:var(--gold-grad);display:block;transition:border-color .3s,box-shadow .3s;}
.rv-card:hover .rv-av{border-color:var(--gold);box-shadow:0 4px 20px rgba(204,0,119,.4);}
.rv-card.rv-large .rv-av{width:60px;height:60px;border-color:rgba(204,0,119,.55);}
.reviewer strong{display:block;font-size:.88rem;font-weight:600;color:var(--charcoal);}
.rv-card.rv-large .reviewer strong{color:var(--charcoal);}
.reviewer span{font-size:.72rem;color:var(--muted);}
.rv-card.rv-large .reviewer span{color:var(--muted);}
.rv-card .quote-mark{font-family:var(--ff-display);font-size:4.5rem;line-height:.75;color:var(--gold);opacity:.25;margin-bottom:.3rem;display:block;pointer-events:none;user-select:none;transition:opacity .3s;}
.rv-card:hover .quote-mark{opacity:.45;}
.rv-card.rv-large .quote-mark{font-size:6rem;opacity:.35;flex-shrink:0;margin-top:.2rem;}
/* Card head row: stars left, event badge right */
.rv-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;}
.rv-large-body{display:flex;flex-direction:column;flex:1;min-width:0;}
.rv-event-tag{font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:.22rem .72rem;border-radius:50px;background:rgba(204,0,119,.07);border:1px solid rgba(204,0,119,.18);color:var(--gold);flex-shrink:0;white-space:nowrap;}
.rv-card.rv-large .rv-event-tag{background:rgba(204,0,119,.08);border-color:rgba(204,0,119,.25);color:var(--gold);}
.reviewer-info{display:flex;flex-direction:column;gap:.15rem;}
.reviewer-info strong{display:block;font-size:.88rem;font-weight:600;color:var(--charcoal);}
.rv-card.rv-large .reviewer-info strong{color:var(--charcoal);}
.reviewer-info span{font-size:.72rem;color:var(--muted);}
.rv-card.rv-large .reviewer-info span{color:var(--muted);}

/* About */
.about-story{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:center;padding:7rem clamp(1.5rem,6vw,5rem);background:var(--warm-off);}
.about-visual{position:relative;}
.about-img-wrap img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;height:520px;}
.about-badge{position:absolute;bottom:-20px;right:-20px;width:96px;height:96px;border-radius:50%;background:var(--gold-grad);color:var(--obsidian);display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-size:.9rem;font-weight:600;text-align:center;line-height:1.3;box-shadow:var(--shadow-gold);}
.about-copy h2{font-family:var(--ff-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:400;color:var(--charcoal);margin-bottom:1.5rem;line-height:1.2;}
.about-copy h2 em{font-style:italic;color:var(--gold);}
.about-copy p{font-size:.93rem;color:var(--muted);margin-bottom:1rem;line-height:1.78;}
.about-sig{font-family:var(--ff-display);font-size:1.5rem;font-style:italic;color:var(--gold);margin-top:1.75rem;}
.values-section{background:var(--warm-off);padding:6rem clamp(1.5rem,6vw,5rem);text-align:center;}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.4rem;margin-top:.5rem;}
.val-card{background:#fff;border-radius:var(--r-md);padding:2.5rem 2rem;border:1px solid rgba(204,0,119,.12);transition:transform .3s,border-color .3s,box-shadow .3s;}
.val-card:hover{transform:translateY(-6px);border-color:rgba(204,0,119,.4);box-shadow:var(--shadow-gold);}
.val-card>span{font-size:2.2rem;display:block;margin-bottom:1rem;}
.val-card .val-card-icon{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;}
.val-card .val-card-icon svg{width:2.35rem;height:2.35rem;color:var(--gold);stroke-width:1.5;}
.val-card h4{font-size:.84rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.65rem;}
.val-card p{font-size:.84rem;color:var(--muted);line-height:1.6;}
.team-section{padding:6rem clamp(1.5rem,6vw,5rem);text-align:center;background:var(--cream);}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:.5rem;}
.team-card{background:#fff;border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(204,0,119,.12);transition:transform .3s,border-color .3s,box-shadow .3s;}
.team-card:hover{transform:translateY(-7px);border-color:rgba(204,0,119,.4);box-shadow:var(--shadow-gold);}
.team-img-wrap{height:220px;overflow:hidden;}
.team-img-wrap img{width:100%;height:100%;transition:transform .5s var(--ease);}
.team-card:hover .team-img-wrap img{transform:scale(1.07);}
.team-card h4{font-family:var(--ff-display);font-size:1.1rem;font-weight:400;color:var(--charcoal);margin:1.1rem 1rem .3rem;}
.team-card span{display:block;font-size:.74rem;color:var(--gold);letter-spacing:.06em;padding-bottom:1.1rem;}
.awards-section{background:var(--warm-off);padding:5rem clamp(1.5rem,6vw,5rem);text-align:center;}
.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:.5rem;}
.award-item{background:#fff;border:1px solid rgba(204,0,119,.15);border-radius:var(--r-md);padding:1.5rem;font-size:.88rem;color:var(--muted);line-height:1.55;transition:border-color .3s,box-shadow .3s;}
.award-item:hover{border-color:rgba(204,0,119,.4);box-shadow:var(--shadow-gold);}

/* Contact */
.contact-section{padding:5rem clamp(1.5rem,6vw,5rem);background:var(--cream);}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:start;}
.contact-form-wrap h2{font-family:var(--ff-display);font-size:2.1rem;font-weight:400;color:var(--charcoal);margin-bottom:.4rem;}
.contact-form-wrap h2 em{font-style:italic;color:var(--gold);}
.form-sub{font-size:.86rem;color:var(--muted);margin-bottom:2rem;}
.form-group{margin-bottom:1.3rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 1.1rem;background:#fff;border:1px solid rgba(204,0,119,.2);border-radius:var(--r-sm);font-family:var(--ff-body);font-size:.88rem;color:var(--charcoal);outline:none;transition:border-color .25s,background .25s,box-shadow .25s;-webkit-appearance:none;appearance:none;}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(20,0,16,.35);}
.form-group select option{background:var(--cream);color:var(--charcoal);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(204,0,119,.12);}
.form-group textarea{resize:vertical;min-height:110px;}
.form-group input.error{border-color:#e05050;box-shadow:0 0 0 3px rgba(224,80,80,.15);}
.pay-options{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.4rem;}
.pay-radio{display:flex;align-items:center;cursor:pointer;}
.pay-radio input{display:none;}
.pay-radio span{padding:.42rem 1rem;border:1px solid rgba(204,0,119,.2);border-radius:50px;font-size:.74rem;font-weight:500;color:var(--muted);transition:border-color .25s,color .25s,background .25s;}
.pay-radio input:checked+span{border-color:var(--gold);color:var(--gold);background:rgba(204,0,119,.1);}
.pay-radio:hover span{border-color:var(--gold);color:var(--charcoal);}
.form-success{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;padding:1.2rem 1.4rem;background:rgba(40,120,60,.12);border:1px solid rgba(80,160,80,.35);border-radius:var(--r-md);}
.success-icon{font-size:2rem;line-height:0;}
.success-icon svg{display:block;width:2.25rem;height:2.25rem;color:#2d8a5e;flex-shrink:0;}
.success-burst{line-height:0;}
.success-burst svg{display:block;width:4.25rem;height:4.25rem;margin:0 auto 1.5rem;color:#cc0077;animation:successBurst .7s var(--ease) both;}
.form-success strong{display:block;font-size:.9rem;color:var(--charcoal);margin-bottom:.25rem;}
.form-success p{font-size:.82rem;color:var(--muted);}
.hidden{display:none!important;}
.form-secure{font-size:.72rem;color:var(--muted);text-align:center;margin-top:.75rem;letter-spacing:.06em;}
.contact-info-panel{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:92px;}
.info-block{background:#fff;border-radius:var(--r-md);padding:1.8rem;border:1px solid rgba(204,0,119,.12);}
.info-block h3{font-family:var(--ff-display);font-size:1.2rem;font-weight:400;color:var(--charcoal);margin-bottom:1.2rem;}
.info-block h3 em{font-style:italic;color:var(--gold);}
.info-item{display:flex;align-items:flex-start;gap:.85rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid rgba(204,0,119,.1);}
.info-item.last{border-bottom:none;margin:0;padding:0;}
.info-item>span{font-size:1.1rem;flex-shrink:0;margin-top:.1rem;}
.info-item strong{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem;}
.info-item p{font-size:.82rem;color:var(--muted);line-height:1.55;}
.lead-time{display:flex;justify-content:space-between;align-items:center;padding:.58rem 0;border-bottom:1px solid rgba(204,0,119,.1);font-size:.84rem;}
.lead-time:last-child{border-bottom:none;}
.lead-time span{color:var(--muted);}
.lead-time strong{color:var(--gold);}
.accept-grid{display:flex;gap:.5rem;flex-wrap:wrap;}
.accept-badge{padding:.3rem .75rem;background:rgba(204,0,119,.1);border:1px solid rgba(204,0,119,.25);border-radius:50px;font-size:.7rem;color:var(--gold);font-weight:500;}
.social-links{display:flex;gap:.65rem;flex-wrap:wrap;}
.soc-btn{padding:.5rem 1.1rem;background:#fff;border:1px solid rgba(204,0,119,.2);border-radius:50px;font-size:.75rem;color:var(--muted);font-weight:500;transition:background .25s,border-color .25s,color .25s;cursor:pointer;}
.soc-btn:hover{background:rgba(204,0,119,.08);border-color:var(--gold);color:var(--gold);}

/* Footer — dark pink, high-contrast type */
.site-footer{
  background:linear-gradient(188deg,#2a0a18 0%,#4a1430 44%,#321020 100%);
  border-top:1px solid rgba(255,110,180,.28);
  position:relative;
  overflow:hidden;
  color:rgba(255,245,250,.92);
}
.site-footer--home{
  --foot-ribbon:linear-gradient(90deg,#ff6eb4,#cc0077,#ffc8e8,#cc0077,#ff6eb4);
  background:linear-gradient(192deg,#261018 0%,#451428 40%,#2e101c 100%);
}
.site-footer--order{
  --foot-ribbon:linear-gradient(90deg,#ffb3d9,#cc0077,#7a1848,#cc0077,#ffb3d9);
  background:linear-gradient(185deg,#2c0c1a 0%,#4a1834 42%,#301020 100%);
}
.site-footer--services{
  --foot-ribbon:linear-gradient(90deg,#ffd0e8,#c71585,#ff6eb4,#c71585,#ffd0e8);
  background:linear-gradient(178deg,#28121c 0%,#481c32 45%,#2a1420 100%);
}
.site-footer--about{
  --foot-ribbon:linear-gradient(90deg,#ff9ec8,#cc0077,#3d0a22,#cc0077,#ff9ec8);
  background:linear-gradient(180deg,#241016 0%,#401c2c 48%,#2a1218 100%);
}
.site-footer--contact{
  --foot-ribbon:linear-gradient(90deg,#ffc0dc,#5c2348,#cc0077,#5c2348,#ffc0dc);
  background:linear-gradient(186deg,#26141a 0%,#441c30 50%,#2e1420 100%);
}
.site-footer--testimonials{
  --foot-ribbon:linear-gradient(90deg,#ffe0ee,#cc0077,#ff6eb4,#cc0077,#ffe0ee);
  background:linear-gradient(190deg,#2a0e1a 0%,#4a1832 46%,#32101c 100%);
}
.site-footer[class*="site-footer--"]::before{
  content:'';display:block;height:5px;width:100%;
  background:var(--foot-ribbon);background-size:240% 100%;
  animation:footerRibbonShift 14s ease-in-out infinite;
}
.site-footer--home .footer-kicker{border-bottom-color:rgba(255,182,214,.28);}
.site-footer--order .footer-kicker{border-bottom-color:rgba(255,182,214,.26);}
.site-footer--services .footer-kicker{border-bottom-color:rgba(255,182,214,.28);}
.site-footer--about .footer-kicker{border-bottom-color:rgba(255,182,214,.26);}
.site-footer--contact .footer-kicker{border-bottom-color:rgba(255,182,214,.28);}
.site-footer--testimonials .footer-kicker{border-bottom-color:rgba(255,182,214,.26);}
.site-footer--home .footer-bottom{background:rgba(12,4,10,.55);}
.site-footer--order .footer-bottom{background:rgba(12,4,10,.52);}
.site-footer--services .footer-bottom{background:rgba(12,4,10,.54);}
.site-footer--about .footer-bottom{background:rgba(12,4,10,.52);}
.site-footer--contact .footer-bottom{background:rgba(12,4,10,.54);}
.site-footer--testimonials .footer-bottom{background:rgba(12,4,10,.52);}
@keyframes footerRibbonShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
@media(prefers-reduced-motion:reduce){
  .site-footer[class*="site-footer--"]::before{animation:none;background-size:100% 100%;}
}
.footer-kicker{
  grid-column:1/-1;font-family:var(--ff-display);font-size:clamp(1.02rem,2.4vw,1.32rem);font-style:italic;font-weight:500;
  color:rgba(255,228,240,.9);margin:-.25rem 0 .5rem;padding-bottom:1.15rem;border-bottom:1px solid rgba(255,182,214,.25);
  animation:footerKickerIn .85s cubic-bezier(.22,1,.36,1) both;
}
@keyframes footerKickerIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem;padding:4rem clamp(1.5rem,6vw,5rem);}
.footer-brand{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;}
.footer-brand .brand-icon{color:var(--gold);}
.footer-brand .brand-name{font-family:var(--ff-display);font-size:1.3rem;color:#fff;}
.footer-brand .brand-tagline{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#ffb8d9;}
.footer-links h5,.footer-contact-col h5{font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ffc8e8;margin-bottom:1.2rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,182,214,.35);}
.footer-links a{display:flex;align-items:center;gap:.4rem;font-size:.83rem;color:rgba(255,245,250,.88);margin-bottom:.65rem;cursor:pointer;transition:color .25s var(--ease),transform .25s var(--ease);text-decoration:none;}
.footer-links a::before{content:'';width:0;height:1px;background:var(--gold);transition:width .25s var(--ease);flex-shrink:0;border-radius:1px;}
.footer-links a:hover{color:#fff;transform:translateX(6px);}
.footer-links a:hover::before{width:10px;}
.footer-contact-col p{display:block;font-size:.82rem;color:rgba(255,245,250,.82);margin-bottom:.6rem;cursor:default;line-height:1.55;}
.demo-tag{display:inline-block;font-size:.55rem;padding:.15rem .5rem;background:rgba(204,0,119,.35);border:1px solid rgba(255,182,214,.45);border-radius:50px;color:#ffe8f4;letter-spacing:.1em;vertical-align:middle;margin-left:.4rem;}
.footer-socials{display:flex;gap:.55rem;margin-top:1rem;flex-wrap:wrap;}
.footer-socials a{display:inline-flex;align-items:center;padding:.35rem 1rem;border-radius:50px;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,182,214,.4);color:rgba(255,245,250,.92);background:rgba(255,255,255,.08);text-decoration:none;transition:all .25s var(--ease);}
.footer-socials a:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.14);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.25);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.35rem clamp(1.5rem,6vw,5rem);border-top:1px solid rgba(255,182,214,.22);background:rgba(8,2,6,.45);}
.footer-bottom p{font-size:.72rem;color:rgba(255,245,250,.72);}
.footer-bottom em{color:#ffc8e8;font-style:normal;}
.footer-pay-icons{display:flex;gap:.65rem;align-items:center;color:rgba(255,245,250,.55);}

/* Chatbot */
.chatbot-bubble{position:fixed;bottom:2rem;right:2rem;z-index:5000;width:62px;height:62px;border-radius:50%;background:var(--gold-grad);color:var(--obsidian);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-gold);transition:transform .3s,box-shadow .3s;}
.chatbot-bubble:hover{transform:scale(1.1);box-shadow:0 12px 50px rgba(204,0,119,.55);}
.chat-icon{font-size:1.6rem;}
.chat-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(204,0,119,.6);animation:chatPulse 2.5s ease-in-out infinite;}
@keyframes chatPulse{0%,100%{transform:scale(1);opacity:.6;}50%{transform:scale(1.3);opacity:0;}}
.chat-tooltip{position:absolute;bottom:110%;right:0;background:#fff;color:var(--charcoal);font-size:.75rem;white-space:nowrap;padding:.45rem .9rem;border-radius:50px;border:1px solid rgba(204,0,119,.2);box-shadow:0 8px 28px rgba(204,0,119,.12);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s,transform .25s;}
.chatbot-bubble:hover .chat-tooltip{opacity:1;transform:translateY(0);}
.chatbot-window{position:fixed;bottom:6.5rem;right:2rem;z-index:5001;width:360px;max-height:calc(100vh - 8rem);background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(204,0,119,.15);box-shadow:0 24px 64px rgba(204,0,119,.14),0 8px 28px rgba(0,0,0,.06);animation:chatSlideIn .35s var(--ease);display:flex;flex-direction:column;}
.chatbot-window.hidden{display:none;}
@keyframes chatSlideIn{from{opacity:0;transform:translateY(20px) scale(.95);}to{opacity:1;transform:translateY(0) scale(1);}}
.chat-header{background:var(--gold-grad);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;}
.chat-agent{display:flex;align-items:center;gap:.75rem;}
.agent-avatar{width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.chat-agent strong{display:block;font-size:.88rem;font-weight:700;color:var(--obsidian);}
.agent-status{font-size:.68rem;color:rgba(0,0,0,.55);font-weight:500;}
.chat-close{width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.18);color:var(--obsidian);font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .2s;cursor:pointer;border:none;}
.chat-close:hover{background:rgba(0,0,0,.32);}
.chat-messages{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.9rem;max-height:320px;min-height:200px;background:linear-gradient(180deg,#fff 0%,#fff9fb 100%);}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(204,0,119,.2);border-radius:4px;}
.chat-msg{display:flex;flex-direction:column;}
.chat-msg.bot{align-items:flex-start;}
.chat-msg.user{align-items:flex-end;}
.msg-bubble{max-width:85%;padding:.75rem 1rem;border-radius:16px;font-size:.82rem;line-height:1.55;}
.bot .msg-bubble{background:var(--warm-off);color:var(--charcoal);border-bottom-left-radius:4px;border:1px solid rgba(204,0,119,.12);}
.user .msg-bubble{background:var(--gold-grad);color:var(--obsidian);font-weight:500;border-bottom-right-radius:4px;}
.msg-time{font-size:.62rem;color:rgba(26,0,18,.35);margin-top:.3rem;padding:0 .3rem;}
.chat-typing{display:flex;align-items:center;gap:.35rem;padding:.75rem 1rem;}
.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:typingBounce .9s ease infinite;}
.chat-typing span:nth-child(2){animation-delay:.15s;}
.chat-typing span:nth-child(3){animation-delay:.3s;}
@keyframes typingBounce{0%,100%{transform:translateY(0);opacity:.4;}50%{transform:translateY(-5px);opacity:1;}}
.chat-suggestions{display:flex;flex-direction:column;gap:.45rem;padding:.3rem 0;}
.chat-suggestions button{text-align:left;padding:.6rem .9rem;background:rgba(204,0,119,.06);border:1px solid rgba(204,0,119,.18);border-radius:50px;font-size:.76rem;color:var(--charcoal);font-family:var(--ff-body);cursor:pointer;transition:background .2s,border-color .2s,transform .2s;}
.chat-suggestions button:hover{background:rgba(204,0,119,.1);border-color:var(--gold);color:var(--gold);transform:translateX(4px);}
.chat-input-row{display:flex;gap:.6rem;padding:.85rem 1rem;border-top:1px solid rgba(204,0,119,.1);background:var(--warm-off);}
#chat-input{flex:1;padding:.65rem 1rem;background:#fff;border:1px solid rgba(204,0,119,.2);border-radius:50px;font-family:var(--ff-body);font-size:.82rem;color:var(--charcoal);outline:none;transition:border-color .25s;}
#chat-input::placeholder{color:rgba(26,0,18,.35);}
#chat-input:focus{border-color:var(--gold);}
.chat-send{width:38px;height:38px;border-radius:50%;background:var(--gold-grad);color:var(--obsidian);font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:transform .2s,filter .2s;}
.chat-header-btns{display:flex;align-items:center;gap:.4rem;}
.chat-back-btn{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:var(--obsidian);font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s;}
.chat-back-btn:hover{background:rgba(255,255,255,.3);transform:translateX(-2px);}
.chat-back-btn.hidden{display:none!important;}
.chat-send:hover{transform:scale(1.1);filter:brightness(1.1);}

/* ====== FULLY MOBILE RESPONSIVE ====== */
@media(max-width:1200px){
  .hero-title{font-size:clamp(2.4rem,5.5vw,4.5rem);}
  .gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:220px 220px;}
}
@media(max-width:1024px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-info-panel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
  .reviews-grid{grid-template-columns:1fr 1fr;}
  .rv-card.rv-large{grid-column:1/3;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .why-section{grid-template-columns:1fr;gap:2.5rem;}
  .why-right{display:none;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:860px){
  .about-story{grid-template-columns:1fr;gap:2.5rem;}
  .about-visual{display:none;}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .gallery-item.gi1{grid-row:auto;}
  .gallery-item.gi4{grid-column:auto;}
  .gallery-item img{min-height:200px;}
  .process-steps{flex-direction:column;align-items:center;}
  .step-arr{transform:rotate(90deg);font-size:1.2rem;}
  .step{width:100%;max-width:300px;}
  .contact-info-panel{grid-template-columns:1fr;}
  .page-hero{padding:max(5.5rem,calc(env(safe-area-inset-top,0px) + 4.5rem)) 1.5rem max(3.5rem,env(safe-area-inset-bottom,0px));}
  .light-text h1{font-size:clamp(2rem,5vw,3.5rem);}
  .cta-banner{padding:4rem 1.5rem;}
}
@media(max-width:768px){
  /* Nav */
  .nav-links{position:fixed;top:calc(76px + env(safe-area-inset-top, 0px));left:0;right:0;flex-direction:column;background:rgba(255,253,254,.98);padding:1.2rem 1.5rem max(2rem, env(safe-area-inset-bottom, 0px));gap:.25rem;border-bottom:1px solid rgba(204,0,119,.12);box-shadow:0 16px 48px rgba(204,0,119,.1);transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .35s;z-index:999;}
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:all;}
  .nav-item{width:100%;text-align:center;padding:.75rem 1rem;}
  .hamburger{display:flex;}
  .nav-order-btn{display:none;}
  /* Hero */
  .hero{min-height:100svh;padding:0 max(1.25rem,env(safe-area-inset-left,0px)) 0 max(1.25rem,env(safe-area-inset-right,0px));}
  .hero-content{max-width:100%;}
  .hero-title{font-size:clamp(2.2rem,8vw,3.5rem);}
  .hero-sub{font-size:.9rem;line-height:1.65;}
  .hero-sub br{display:none;}
  .hero-cta{flex-direction:column;align-items:flex-start;}
  .hero-cta .btn-gold,.hero-cta .btn-outline-light{width:100%;justify-content:center;}
  .hero-trust{gap:1rem;flex-wrap:wrap;}
  .trust-item strong{font-size:1.2rem;}
  /* Features */
  .features-strip{flex-direction:column;}
  .feature{border-right:none;border-bottom:1px solid rgba(204,0,119,.08);width:100%;justify-content:flex-start;padding:1.1rem 1.5rem;}
  /* Gallery */
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .gallery-item.gi1,.gallery-item.gi4{grid-row:auto;grid-column:auto;}
  .gallery-item{min-height:180px;}
  /* Why */
  .why-section{padding:4rem 1.25rem;}
  /* Quote */
  .home-quote{padding:4rem 1.25rem;}
  .home-quote blockquote p{font-size:1.1rem;}
  /* Services */
  .services-section{padding:3rem 1.25rem;}
  .services-grid{grid-template-columns:1fr;}
  /* Payment */
  .payment-section{padding:3rem 1.25rem;}
  .payment-grid{grid-template-columns:1fr 1fr;}
  .payment-security{flex-direction:column;align-items:center;gap:1rem;}
  /* Process */
  .process-section{padding:3rem 1.25rem;}
  /* Reviews */
  .reviews-grid{grid-template-columns:1fr;}
  .rv-card.rv-large{grid-column:1;}
  .stats-bar{flex-wrap:wrap;}
  .stats-bar .stat{flex:1 1 45%;border-right:none;border-bottom:1px solid rgba(204,0,119,.1);padding:1.5rem 1rem;}
  /* About */
  .values-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .awards-grid{grid-template-columns:1fr;}
  /* Contact */
  .contact-section{padding:3rem 1.25rem;}
  .form-row{grid-template-columns:1fr;}
  .pay-options{flex-direction:column;gap:.4rem;}
  /* Footer */
  .footer-top{grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 1.25rem;}
  .footer-bottom{padding:1.2rem 1.25rem;flex-direction:column;text-align:center;}
  /* Chatbot */
  .chatbot-bubble{bottom:1.25rem;right:1.25rem;width:54px;height:54px;}
  .chatbot-window{width:calc(100vw - 2rem);right:1rem;bottom:5rem;max-height:75vh;}
  .chat-messages{max-height:250px;}
  /* Section padding */
  .gallery-section{padding:4rem 1.25rem;}
  .reviews-section{padding:3rem 1.25rem;}
  .team-section{padding:3rem 1.25rem;}
  .awards-section{padding:3rem 1.25rem;}
  .values-section{padding:3rem 1.25rem;}
  .about-story{padding:3.5rem 1.25rem;}
  .section-title{font-size:clamp(1.6rem,6vw,2.5rem);margin-bottom:1.5rem;}
}
@media(max-width:480px){
  #site-header{height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 1rem 0 1rem;}
  .site-main{padding-top:calc(64px + env(safe-area-inset-top,0px));}
  .page{padding-top:64px;}
  .nav-links{top:calc(64px + env(safe-area-inset-top,0px));}
  .brand-name{font-size:1.1rem;}
  .brand-tagline{display:none;}
  .hero-title{font-size:clamp(1.9rem,8.5vw,2.8rem);}
  .hero-badge{font-size:.6rem;padding:.35rem 1rem;}
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-item{min-height:220px;}
  .values-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .payment-grid{grid-template-columns:1fr;}
  .stats-bar .stat{flex:1 1 100%;}
  .step{width:100%;}
  .contact-info-panel{grid-template-columns:1fr;}
  .rv-card{padding:1.4rem;}
  .svc-card .svc-body{padding:1.4rem;}
  .pre-scene{width:220px;height:220px;}
  .chatbot-window{width:calc(100vw - 1rem);right:.5rem;}
  .hero-trust{gap:.75rem;}
  .trust-div{display:none;}
}
@media(max-width:360px){
  .hero-title{font-size:1.7rem;}
  .btn-gold,.btn-outline-light{font-size:.72rem;padding:.78rem 1.5rem;}
}


/* ====== ENHANCED RESPONSIVE PATCHES ====== */

/* Fix hero-sub line breaks on small screens */
@media(max-width:600px) {
  .hero-sub { font-size:.88rem; }
  .hero-badge { font-size:.58rem; letter-spacing:.15em; }
  .btn-gold, .btn-outline-light, .btn-outline-dark { padding:.78rem 1.6rem; font-size:.74rem; }
  .trust-item strong { font-size:1.1rem; }
  .trust-item span { font-size:.6rem; }
  /* Services */
  .svc-card .svc-body { padding:1.3rem; }
  .svc-card h3 { font-size:1.25rem; }
  /* Process arrows horizontal on tablet */
  .step-arr { font-size:1rem; color:rgba(204,0,119,.3); }
  /* Payment security wrap */
  .payment-security { gap:.75rem; padding:1rem; }
  .payment-security span { font-size:.72rem; }
  /* Gallery overlay always visible on touch */
  .gallery-overlay { opacity:1; background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 55%); }
  .gallery-overlay .btn-sm-gold { display:none; }
  /* Reviews */
  .rv-large blockquote { font-size:1rem; }
  /* Contact form */
  .pay-options { gap:.35rem; }
  .pay-radio span { font-size:.7rem; padding:.38rem .8rem; }
  /* Footer */
  .footer-brand { flex-direction:row; }
}

/* Fix pre-scene on very small screens */
@media(max-width:400px) {
  .pre-scene { width:190px; height:190px; }
  .pre-brand-name { font-size:1.2rem; }
  .hero-title { font-size:1.75rem; }
  .section-title { font-size:1.5rem; }
  .cta-banner { padding:3rem 1rem; }
  .cta-banner h2 { font-size:1.6rem; }
  /* Chatbot full-width on tiny screens */
  .chatbot-bubble { bottom:1rem; right:1rem; width:50px; height:50px; }
  .chat-icon { font-size:1.4rem; }
  .chatbot-window { right:.5rem; width:calc(100vw - 1rem); }
}

/* Tablet landscape - better service grid */
@media(min-width:601px) and (max-width:860px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-item.gi1, .gallery-item.gi4 { grid-row:auto; grid-column:auto; }
  .party-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
}

/* Fix step width on mobile */
@media(max-width:768px) {
  .step { width:100%; max-width:none; }
  .process-steps { gap:.75rem; }
}

/* Prevent horizontal scroll globally */
html, body { max-width:100vw; overflow-x:hidden; }

/* Fix gallery item heights on mobile */
@media(max-width:480px) {
  .gallery-item { min-height:200px; }
  .gallery-item img { height:200px; }
  .party-grid .gallery-item img { height:180px; }
}

/* Fix contact info panel on mobile */
@media(max-width:480px) {
  .info-block { padding:1.3rem; }
  .accept-grid { gap:.4rem; }
  .accept-badge { font-size:.65rem; padding:.25rem .6rem; }
}

/* Fix footer on very small screens */
@media(max-width:400px) {
  .footer-bottom p { font-size:.65rem; }
  .footer-links a, .footer-contact-col p { font-size:.78rem; }
}

/* Touch-friendly tap targets */
@media(hover:none) {
  .nav-item { padding:.7rem 1.1rem; }
  .btn-gold, .btn-outline-light, .btn-outline-dark { min-height:44px; }
  .chat-suggestions button { min-height:40px; }
  .soc-btn { min-height:40px; }
  .gallery-overlay { opacity:1; }
  .gallery-overlay .btn-sm-gold { display:inline-flex; }
}


/* ====== PAYMENT MODAL ====== */
.pay-modal-overlay{position:fixed;inset:0;z-index:7000;background:rgba(40,12,32,.35);display:flex;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(8px);animation:payOverlayIn .28s var(--ease);}
.pay-modal-overlay.hidden{display:none;}
.pay-modal-overlay.hidden .pay-modal-box{animation:none;}
@keyframes payOverlayIn{from{opacity:0;}to{opacity:1;}}
.pay-modal-box{position:relative;background:#fff;border:1px solid rgba(204,0,119,.18);border-radius:var(--r-lg);padding:2.5rem 2rem 2rem;max-width:460px;width:100%;box-shadow:0 28px 80px rgba(204,0,119,.15),0 8px 32px rgba(0,0,0,.06);animation:payModalBoxIn .42s cubic-bezier(.22,1,.36,1) both;}
@keyframes payModalBoxIn{from{opacity:0;transform:translateY(28px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.pay-modal-overlay:not(.hidden) .pay-modal-item{opacity:0;animation:payModalRowIn .42s var(--ease) forwards;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(1){animation-delay:.05s;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(2){animation-delay:.1s;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(3){animation-delay:.15s;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(4){animation-delay:.2s;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(5){animation-delay:.25s;}
.pay-modal-overlay:not(.hidden) .pay-modal-item:nth-child(n+6){animation-delay:.3s;}
@keyframes payModalRowIn{from{opacity:0;transform:translateX(-12px);}to{opacity:1;transform:translateX(0);}}
.pay-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:rgba(204,0,119,.06);border:1px solid rgba(204,0,119,.18);color:var(--muted);font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;}
.pay-modal-close:hover{background:rgba(204,0,119,.12);color:var(--gold);}
.pay-modal-icon{margin-bottom:1rem;text-align:center;display:flex;justify-content:center;align-items:center;}
.pay-modal-icon .pay-modal-svg{width:3rem;height:3rem;color:var(--gold);}
.pay-modal-title{font-family:var(--ff-display);font-size:1.6rem;font-weight:400;color:var(--charcoal);margin-bottom:.5rem;text-align:center;}
.pay-modal-title em{font-style:italic;color:var(--gold);}
.pay-modal-sub{font-size:.84rem;color:var(--muted);text-align:center;margin-bottom:1.6rem;line-height:1.6;}
.pay-modal-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.6rem;}
.pay-modal-item{display:flex;align-items:center;gap:.9rem;padding:.75rem 1rem;background:rgba(204,0,119,.04);border:1px solid rgba(204,0,119,.1);border-radius:var(--r-sm);}
.pay-modal-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.pay-modal-item-icon .pay-modal-svg{width:1.35rem;height:1.35rem;color:var(--gold);}
.pay-modal-item-text strong{display:block;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--charcoal);margin-bottom:.2rem;}
.pay-modal-item-text span{font-size:.75rem;color:var(--muted);line-height:1.4;}
.pay-modal-logos{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.4rem;}
.pay-modal-logo{padding:.3rem .85rem;border-radius:var(--r-sm);font-size:.68rem;font-weight:700;letter-spacing:.06em;}
.pml-visa{background:#1a1f71;color:#fff;}
.pml-mc{background:#eb001b;color:#fff;}
.pml-amex{background:#007bc1;color:#fff;}
.pml-disc{background:#ff6600;color:#fff;}
.pml-apple{background:#000;color:#fff;}
.pml-gpay{background:#4285f4;color:#fff;}
.pml-bank{background:#2e7d32;color:#fff;}
.pml-ap{background:var(--charcoal);color:var(--gold);border:1px solid var(--gold);}
.pml-kl{background:#ffb3c7;color:#1a0010;font-weight:800;}
.pay-modal-note{font-size:.72rem;color:rgba(26,0,18,.42);text-align:center;letter-spacing:.04em;}
.pay-modal-note a{color:var(--gold);text-decoration:underline;cursor:pointer;}
@media(max-width:480px){.pay-modal-box{padding:2rem 1.25rem 1.5rem;}.pay-modal-title{font-size:1.35rem;}}

/* ====== LIGHT PINK BODY BACKGROUND ====== */
body{background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(204,0,119,.055) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(255,110,180,.045) 0%,transparent 55%),#fff0f5;}

/* ====== ANIMATED GRADIENT EM TEXT ====== */
.hero-title em,.section-title em,.light-text h1 em,.cta-banner h2 em,
.contact-form-wrap h2 em,.about-copy h2 em,.info-block h3 em,.order-step-title em{
  background:linear-gradient(135deg,#cc0077 0%,#ff6eb4 38%,#d4006b 68%,#ff6eb4 100%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:gradTextFlow 4.5s linear infinite;
}
@keyframes gradTextFlow{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}

/* Dark heroes: gradient <em> on h1 reads clearly over scrim */
.page-hero .light-text p{font-size:clamp(.94rem,2.8vw,1.05rem);line-height:1.72;}
.page-hero .eyebrow-light{color:#ffc8e8;letter-spacing:.26em;}

/* Inner page hero — no card; text sits on dark scrim */
.page-hero .ph-content.light-text{
  max-width:min(620px,100%);
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-radius:0;
}

/* Per-page dark scrim accents */
.page-hero--services.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(128deg,rgba(14,4,12,.93) 0%,rgba(58,10,36,.82) 48%,rgba(18,6,14,.9) 100%),radial-gradient(ellipse 72% 58% at 6% 22%,rgba(255,110,180,.28),transparent 58%);
}
.page-hero--about.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(118deg,rgba(16,6,10,.92) 0%,rgba(50,12,28,.84) 45%,rgba(20,8,12,.91) 100%),radial-gradient(ellipse 78% 52% at 88% 18%,rgba(196,0,107,.22),transparent 55%);
}
.page-hero--contact.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(122deg,rgba(10,8,14,.93) 0%,rgba(42,14,32,.83) 50%,rgba(16,8,14,.9) 100%),radial-gradient(ellipse 68% 48% at 22% 78%,rgba(204,0,119,.26),transparent 60%);
}
.page-hero--order.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(120deg,rgba(12,3,10,.94) 0%,rgba(55,8,32,.85) 40%,rgba(18,5,12,.92) 100%),radial-gradient(ellipse 85% 60% at 50% 4%,rgba(204,0,119,.3),transparent 55%);
}
.page-hero--testimonials.page-hero.page-hero-video .ph-bg.dark-bg{
  background:linear-gradient(115deg,rgba(14,4,14,.92) 0%,rgba(48,8,34,.82) 50%,rgba(18,6,16,.9) 100%),radial-gradient(ellipse 72% 52% at 82% 72%,rgba(255,77,166,.24),transparent 58%);
}

/* ====== HERO BADGE PULSE ====== */
.hero-badge{animation:badgeBreath 3.5s ease-in-out infinite;}
@keyframes badgeBreath{0%,100%{box-shadow:0 0 0 rgba(204,0,119,0);}50%{box-shadow:0 0 28px rgba(204,0,119,.32),inset 0 0 14px rgba(204,0,119,.1);}}

/* ====== BUTTON GLOW ====== */
.btn-gold{position:relative;}
.btn-gold::after{content:'';position:absolute;inset:-5px;border-radius:inherit;background:var(--gold-grad);opacity:0;filter:blur(15px);z-index:-1;transition:opacity .4s;}
.btn-gold:hover::after{opacity:.5;}
.nav-order-btn{animation:orderBtnPulse 3s ease-in-out infinite;}
@keyframes orderBtnPulse{0%,100%{box-shadow:0 4px 18px rgba(204,0,119,.35);}50%{box-shadow:0 4px 35px rgba(204,0,119,.72),0 0 0 4px rgba(204,0,119,.12);}}

/* ====== CARD SHIMMER ====== */
.svc-card,.rv-card,.val-card,.team-card,.pay-card,.award-item{position:relative;overflow:hidden;}
.svc-card::after,.val-card::after,.team-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);
  transform:translateX(-100%);transition:transform .65s var(--ease);pointer-events:none;z-index:5;
}
.svc-card:hover::after,.val-card:hover::after,.team-card:hover::after{transform:translateX(100%);}

/* ====== FLOATING ORBS ON LIGHT SECTIONS ====== */
.why-section,.payment-section,.about-story{position:relative;overflow:hidden;}
.why-section::before{
  content:'';position:absolute;width:550px;height:550px;border-radius:50%;
  background:radial-gradient(circle,rgba(204,0,119,.07) 0%,transparent 70%);
  top:-150px;right:-180px;pointer-events:none;animation:orbDrift 14s ease-in-out infinite;
}
.payment-section::before{
  content:'';position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(204,0,119,.06) 0%,transparent 70%);
  bottom:-120px;left:-100px;pointer-events:none;animation:orbDrift 16s ease-in-out infinite reverse;
}
.about-story::before{
  content:'';position:absolute;width:350px;height:350px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,110,180,.07) 0%,transparent 70%);
  top:50%;right:-80px;transform:translateY(-50%);pointer-events:none;animation:orbDrift 12s ease-in-out infinite;
}
@keyframes orbDrift{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(30px,-40px) scale(1.06);}66%{transform:translate(-25px,22px) scale(.94);}}

/* ====== DARK SECTION AMBIENT MAGENTA GLOW ====== */
.gallery-section,.services-section,.home-quote,.reviews-section,.team-section,.contact-section,.process-section,.values-section,.awards-section{position:relative;}
.gallery-section::before,.services-section::before,.reviews-section::before,.contact-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 45% at 85% 50%,rgba(204,0,119,.09) 0%,transparent 100%);
  pointer-events:none;z-index:0;
}
.gallery-section>*,.services-section>*,.reviews-section>*,.contact-section>*{position:relative;z-index:1;}

/* ====== BRAND ICON SWAY ====== */
.brand-icon,.footer-brand .brand-icon{display:inline-block;animation:iconSway 5s ease-in-out infinite;}
@keyframes iconSway{0%,100%{transform:rotate(-7deg);}50%{transform:rotate(7deg);}}

/* ====== INFO BLOCK HOVER ====== */
.info-block{transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;}
.info-block:hover{transform:translateY(-4px);border-color:rgba(204,0,119,.3);box-shadow:0 10px 35px rgba(204,0,119,.12);}

/* ====== SOCIAL BUTTON SHINE ====== */
.soc-btn{position:relative;overflow:hidden;}
.soc-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.14) 50%,transparent 75%);transform:translateX(-150%);transition:transform .4s;}
.soc-btn:hover::after{transform:translateX(150%);}

/* ====== FEATURES HOVER ====== */
.feature:hover{background:linear-gradient(135deg,rgba(204,0,119,.07),rgba(255,110,180,.04));}

/* ====== CUSTOM SCROLLBAR ====== */
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:var(--gold-grad);border-radius:3px;}

/* ====== STAT STRONG GRADIENT ====== */
.stat strong{background:var(--gold-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.stat:hover{background:rgba(204,0,119,.08);}

/* ====== REVEAL DIRECTION VARIANTS ====== */
.reveal-left{opacity:0;transform:translateX(-44px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(44px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.reveal-scale{opacity:0;transform:scale(.88);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.reveal-scale.visible{opacity:1;transform:scale(1);}

/* ====== MISC ENHANCEMENTS ====== */
.scroll-line{background:linear-gradient(to bottom,rgba(204,0,119,.75),transparent);}
.gallery-tag{background:linear-gradient(135deg,#cc0077,#ff6eb4);color:#fff;}

/* ====== LUCIDE ICON BASE ====== */
.lucide{stroke-width:1.5;vertical-align:middle;fill:none;flex-shrink:0;}
.feat-emoji .lucide{width:1.75rem;height:1.75rem;color:var(--gold);}
.svc-icon .lucide{width:2.2rem;height:2.2rem;color:var(--gold);}
.pay-icon .lucide{width:2.4rem;height:2.4rem;color:var(--gold);}
.val-card>span .lucide{width:2.3rem;height:2.3rem;color:var(--gold);}
.award-item .lucide{width:1.1rem;height:1.1rem;color:var(--gold);margin-right:.4rem;}
.info-item>span .lucide{width:1.3rem;height:1.3rem;color:var(--gold);}
.footer-socials a .lucide{width:1.4rem;height:1.4rem;}
.footer-pay-icons .lucide{width:1.3rem;height:1.3rem;opacity:.85;color:rgba(255,245,250,.75);}
.chat-icon .lucide{width:1.7rem;height:1.7rem;}
.chat-send .lucide{width:1rem;height:1rem;}
.ac-icon .lucide{width:1.5rem;height:1.5rem;color:var(--gold);}
.step-icon .lucide{width:2rem;height:2rem;color:var(--gold);}

/* ====== NAV ORDER LINK SPECIAL ====== */
.nav-order-link{color:var(--gold)!important;border:1.5px solid rgba(204,0,119,.35)!important;border-radius:50px!important;background:rgba(204,0,119,.07)!important;transition:all .25s!important;}
.nav-order-link:hover,.nav-order-link.active{background:rgba(204,0,119,.16)!important;border-color:var(--gold)!important;}
.nav-order-link::after{display:none!important;}

/* ===================================================
   ORDER BUILDER
   =================================================== */
.order-progress-wrap{
  position:sticky;top:76px;z-index:100;
  background:rgba(255,240,245,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(204,0,119,.14);
  padding:1.4rem clamp(1.5rem,6vw,5rem);
  box-shadow:0 4px 24px rgba(204,0,119,.08);
}
.order-progress-steps{display:flex;align-items:center;justify-content:center;gap:0;overflow-x:auto;padding-bottom:.25rem;}
.op-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0;}
.op-step-num{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.76rem;font-weight:700;
  border:2px solid rgba(204,0,119,.22);color:rgba(204,0,119,.5);background:#fff;
  transition:all .4s var(--ease);position:relative;z-index:1;
}
.op-step.active .op-step-num{background:var(--gold-grad);color:#fff;border-color:var(--gold);box-shadow:0 4px 20px rgba(204,0,119,.45);transform:scale(1.14);}
.op-step.done .op-step-num{background:var(--gold);color:#fff;border-color:var(--gold);}
.op-step-label{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(204,0,119,.4);white-space:nowrap;transition:color .4s;}
.op-step.active .op-step-label,.op-step.done .op-step-label{color:var(--gold);}
.op-connector{flex:1;min-width:18px;max-width:55px;height:2px;background:rgba(204,0,119,.12);margin-bottom:1.3rem;position:relative;overflow:hidden;}
.op-connector::after{content:'';position:absolute;inset:0;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.op-connector.filled::after{transform:scaleX(1);}

/* Step Panels */
.order-steps-container{background:var(--cream);padding-bottom:5rem;}
.order-step-panel{display:none;padding:3.5rem clamp(1.5rem,6vw,5rem);animation:stepSlideIn .4s var(--ease) both;}
.order-step-panel.active{display:block;}
@keyframes stepSlideIn{from{opacity:0;transform:translateX(34px);}to{opacity:1;transform:translateX(0);}}
.order-step-title{font-family:var(--ff-display);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;color:var(--charcoal);margin-bottom:.4rem;line-height:1.2;}
.order-step-sub{font-size:.9rem;color:var(--muted);margin-bottom:2.5rem;line-height:1.65;}

/* Occasion */
.occasion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem;margin-bottom:2rem;}
.occasion-card{border:2.5px solid rgba(204,0,119,.14);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;background:#fff;position:relative;transition:all .3s var(--ease);box-shadow:0 2px 14px rgba(0,0,0,.05);}
.occasion-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 16px 48px rgba(204,0,119,.22);}
.occasion-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px rgba(204,0,119,.22),0 12px 40px rgba(204,0,119,.2);}
.occasion-card img{width:100%;height:148px;object-fit:cover;transition:transform .45s var(--ease);}
.occasion-card:hover img,.occasion-card.selected img{transform:scale(1.07);}
.oc-check{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:var(--gold-grad);color:#fff;font-size:.8rem;font-weight:700;display:none;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(204,0,119,.45);animation:checkPop .3s var(--ease) both;}
.occasion-card.selected .oc-check{display:flex;}
@keyframes checkPop{from{transform:scale(0);}to{transform:scale(1);}}
.oc-price{position:absolute;bottom:54px;right:8px;background:var(--gold-grad);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.06em;padding:.22rem .7rem;border-radius:50px;}
.occasion-card-body{padding:.9rem 1rem;}
.occasion-card-body strong{display:block;font-size:.88rem;font-weight:600;color:var(--charcoal);margin-bottom:.18rem;}
.occasion-card-body span{font-size:.76rem;color:var(--muted);}

/* Size */
.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:2rem;}
.size-card{border:2.5px solid rgba(204,0,119,.14);border-radius:var(--r-md);padding:1.8rem 1rem 1.4rem;cursor:pointer;text-align:center;background:#fff;transition:all .3s var(--ease);box-shadow:0 2px 10px rgba(0,0,0,.04);}
.size-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 10px 32px rgba(204,0,119,.18);}
.size-card.selected{border-color:var(--gold);background:linear-gradient(135deg,rgba(204,0,119,.07),rgba(255,110,180,.04));box-shadow:0 0 0 3px rgba(204,0,119,.2);}
.size-icon{font-size:2.2rem;display:block;margin-bottom:.6rem;}
.size-label{display:block;font-size:.86rem;font-weight:700;color:var(--charcoal);margin-bottom:.3rem;}
.size-serves{font-size:.72rem;color:var(--muted);display:block;}
.size-price-add{font-size:.7rem;font-weight:600;color:var(--gold);margin-top:.45rem;display:block;}

/* Tier */
.tier-selector{display:flex;align-items:center;gap:1.5rem;background:#fff;border:2px solid rgba(204,0,119,.15);border-radius:var(--r-md);padding:1.4rem 2rem;width:max-content;max-width:100%;box-shadow:0 2px 12px rgba(0,0,0,.04);margin-bottom:2.5rem;}
.tier-btn{width:42px;height:42px;border-radius:50%;background:var(--gold-grad);color:#fff;font-size:1.3rem;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,filter .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(204,0,119,.3);}
.tier-btn:hover{transform:scale(1.1);filter:brightness(1.1);}
.tier-count{font-family:var(--ff-display);font-size:2.4rem;font-weight:400;color:var(--charcoal);min-width:60px;text-align:center;line-height:1;transition:transform .2s;}
.tier-label{font-size:.78rem;color:var(--muted);margin-top:.2rem;}

/* Flavours */
.flavour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.9rem;margin-bottom:.75rem;}
.flavour-chip{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border:2px solid rgba(204,0,119,.14);border-radius:var(--r-md);cursor:pointer;background:#fff;transition:all .25s var(--ease);user-select:none;box-shadow:0 1px 8px rgba(0,0,0,.04);}
.flavour-chip:hover{border-color:var(--gold);background:rgba(204,0,119,.04);transform:translateX(4px);}
.flavour-chip.selected{border-color:var(--gold);background:linear-gradient(135deg,rgba(204,0,119,.09),rgba(255,110,180,.05));transform:translateX(4px);}
.fc-icon{font-size:1.35rem;}
.fc-name{font-size:.82rem;font-weight:600;color:var(--charcoal);flex:1;}
.fc-check{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(204,0,119,.25);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:transparent;transition:all .25s;flex-shrink:0;}
.flavour-chip.selected .fc-check{background:var(--gold);border-color:var(--gold);color:#fff;}
.flavour-limit-msg{display:none;font-size:.8rem;color:var(--gold);padding:.5rem 1rem;background:rgba(204,0,119,.08);border-radius:var(--r-sm);margin-bottom:1.5rem;}
.flavour-limit-msg.show{display:block;}

/* Decoration */
.deco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.2rem;margin-bottom:2rem;}
.deco-card{border:2.5px solid rgba(204,0,119,.14);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;background:#fff;transition:all .3s var(--ease);box-shadow:0 2px 12px rgba(0,0,0,.05);position:relative;}
.deco-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 16px 48px rgba(204,0,119,.22);}
.deco-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px rgba(204,0,119,.22),0 10px 35px rgba(204,0,119,.18);}
.deco-card img{width:100%;height:155px;object-fit:cover;transition:transform .45s var(--ease);}
.deco-card:hover img,.deco-card.selected img{transform:scale(1.07);}
.deco-card-body{padding:.95rem 1.1rem;}
.deco-card-body strong{display:block;font-size:.86rem;font-weight:600;color:var(--charcoal);margin-bottom:.2rem;}
.deco-card-body span{font-size:.76rem;color:var(--muted);}
.deco-check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--gold-grad);color:#fff;font-size:.78rem;font-weight:700;display:none;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(204,0,119,.4);animation:checkPop .3s var(--ease) both;}
.deco-card.selected .deco-check{display:flex;}

/* Add-ons */
.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.95rem;margin-bottom:2rem;}
.addon-chip{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;border:2px solid rgba(204,0,119,.14);border-radius:var(--r-md);cursor:pointer;background:#fff;transition:all .25s var(--ease);box-shadow:0 1px 8px rgba(0,0,0,.04);user-select:none;}
.addon-chip:hover{border-color:var(--gold);background:rgba(204,0,119,.04);transform:translateY(-3px);box-shadow:0 8px 24px rgba(204,0,119,.14);}
.addon-chip.selected{border-color:var(--gold);background:linear-gradient(135deg,rgba(204,0,119,.08),rgba(255,110,180,.05));box-shadow:0 0 0 2px rgba(204,0,119,.18),0 6px 20px rgba(204,0,119,.12);}
.ac-icon{font-size:1.5rem;flex-shrink:0;}
.ac-info{flex:1;}
.ac-info strong{display:block;font-size:.82rem;font-weight:600;color:var(--charcoal);margin-bottom:.15rem;}
.ac-info span{font-size:.75rem;color:var(--gold);font-weight:600;}
.ac-check{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(204,0,119,.28);display:flex;align-items:center;justify-content:center;font-size:.68rem;color:transparent;transition:all .25s;}
.addon-chip.selected .ac-check{background:var(--gold);border-color:var(--gold);color:#fff;}

/* Details form */
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.order-form-group{margin-bottom:1.3rem;}
.order-form-group label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.order-form-group input,.order-form-group select,.order-form-group textarea{width:100%;padding:.85rem 1.1rem;background:#fff;border:2px solid rgba(204,0,119,.16);border-radius:var(--r-sm);font-family:var(--ff-body);font-size:.88rem;color:var(--charcoal);outline:none;transition:border-color .25s,box-shadow .25s;}
.order-form-group input:focus,.order-form-group select:focus,.order-form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(204,0,119,.12);}
.order-form-group textarea{resize:vertical;min-height:90px;}
.order-form-group input::placeholder,.order-form-group textarea::placeholder{color:rgba(0,0,0,.28);}

/* Summary */
.order-summary-card{background:#fff;border:2px solid rgba(204,0,119,.18);border-radius:var(--r-lg);padding:2.5rem;margin-bottom:1.5rem;box-shadow:0 4px 30px rgba(204,0,119,.1);}
.os-title{font-family:var(--ff-display);font-size:1.35rem;font-weight:400;color:var(--charcoal);margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid rgba(204,0,119,.12);}
.os-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid rgba(204,0,119,.07);font-size:.87rem;}
.os-row:last-of-type{border-bottom:none;}
.os-row-key{color:var(--muted);}
.os-row-val{color:var(--charcoal);font-weight:500;text-align:right;max-width:60%;}
.os-total-row{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0 0;margin-top:.6rem;border-top:2px solid rgba(204,0,119,.2);font-size:1rem;font-weight:700;color:var(--charcoal);}
.os-total-row .price{font-family:var(--ff-display);font-size:2rem;font-weight:400;background:var(--gold-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* Sticky price bar */
.order-price-bar{position:sticky;bottom:0;z-index:200;background:linear-gradient(135deg,#cc0077 0%,#e0006b 50%,#ff6eb4 100%);padding:1rem clamp(1.5rem,6vw,5rem);display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 -6px 32px rgba(204,0,119,.32);}
.opb-label{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.opb-price{font-family:var(--ff-display);font-size:2rem;font-weight:400;color:#fff;line-height:1;transition:all .3s;}
.opb-actions{display:flex;gap:.75rem;align-items:center;}
.opb-back{background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.35);padding:.65rem 1.5rem;border-radius:50px;font-family:var(--ff-body);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .25s;}
.opb-back:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.7);}
.opb-next{background:#fff;color:var(--gold);border:none;padding:.7rem 2rem;border-radius:50px;font-family:var(--ff-body);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.opb-next:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.22);}

/* Order success */
.order-success{display:none;text-align:center;padding:6rem clamp(1.5rem,8vw,8rem);background:var(--cream);}
.order-success.active{display:block;}
@keyframes successBurst{0%{transform:scale(0) rotate(-20deg);opacity:0;}65%{transform:scale(1.2) rotate(4deg);}100%{transform:scale(1) rotate(0);opacity:1;}}
.order-success h2{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:var(--charcoal);margin-bottom:1rem;}
.order-success p{font-size:.95rem;color:var(--muted);max-width:520px;margin:0 auto 2.5rem;line-height:1.8;}
.order-success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* Order page responsive */
@media(max-width:860px){.occasion-grid{grid-template-columns:repeat(3,1fr);}.deco-grid{grid-template-columns:repeat(2,1fr);}.op-step-label{font-size:.52rem;}.op-connector{min-width:12px;max-width:35px;}}
@media(max-width:640px){.occasion-grid{grid-template-columns:1fr 1fr;}.size-grid{grid-template-columns:repeat(2,1fr);}.flavour-grid{grid-template-columns:1fr 1fr;}.deco-grid{grid-template-columns:1fr 1fr;}.addon-grid{grid-template-columns:1fr 1fr;}.details-grid{grid-template-columns:1fr;}.op-step-label{display:none;}.op-connector{min-width:10px;}.tier-selector{width:100%;}.order-price-bar{flex-wrap:wrap;}.order-step-panel{padding:2.5rem 1.25rem;}}
@media(max-width:400px){.occasion-grid{grid-template-columns:1fr;}.addon-grid{grid-template-columns:1fr;}.flavour-grid{grid-template-columns:1fr;}}

/* ====== READABILITY (home hero — dark scrim, light type) ====== */
.hero .hero-sub{color:rgba(255,245,250,.9);text-shadow:0 1px 14px rgba(0,0,0,.35);line-height:1.75;}
.hero .hero-title{color:#fff;text-shadow:0 2px 36px rgba(0,0,0,.45);}
.hero .trust-item span{color:rgba(255,245,250,.65);}
.section-label,.eyebrow-light{opacity:1;}
.feature p{color:var(--muted);}
.footer-contact-col a{color:rgba(255,245,250,.85);transition:color .2s;}
.footer-contact-col a:hover{color:#fff;}

/* ====== PHOTO HERO BACKGROUNDS ====== */
.hero-photo-bg,.page-hero-photo-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transform:scale(1.06);
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .hero-photo-bg,.page-hero-photo-bg{transform:scale(1.05);}
}
.page-hero.page-hero-photo{
  min-height:72vh;display:flex;align-items:flex-end;padding-bottom:4rem;padding-top:2rem;
}
.page-hero-photo .ph-content{padding-top:4.5rem;}
.hero.hero-photo{position:relative;min-height:100vh;}
.hero.hero-photo .hero-photo-bg{min-height:100%;}

/* ====== VIDEO HERO (per-page cake footage + poster fallback) ====== */
.hero-video-layer,.page-hero-video-layer{
  position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:0;
}
.hero.hero-video .hero-video-layer{z-index:0;}
.hero-video-el,.page-hero-video-el{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:1;pointer-events:none;
}
.hero-video-fallback.hero-photo-bg,.page-hero-video-fallback.page-hero-photo-bg{
  z-index:0;transition:opacity .7s var(--ease);
}
.hero-video-layer.is-video-ready .hero-video-fallback,
.page-hero-video-layer.is-video-ready .page-hero-video-fallback{
  opacity:0;pointer-events:none;
}
.hero-video-layer.is-video-fallback .hero-video-fallback,
.page-hero-video-layer.is-video-fallback .page-hero-video-fallback{opacity:1;}
.page-hero.page-hero-video{
  position:relative;min-height:min(88vh,900px);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding-bottom:clamp(2.25rem,6vw,4.5rem);
  padding-top:max(clamp(5.5rem,12vw,7rem),calc(env(safe-area-inset-top,0px) + 4.75rem));
  padding-left:max(clamp(1.25rem,6vw,7rem),env(safe-area-inset-left,0px));
  padding-right:max(clamp(1.25rem,6vw,7rem),env(safe-area-inset-right,0px));
}
.page-hero.page-hero-video .hero-video-layer.page-hero-video-layer{position:absolute;inset:0;}
.page-hero.page-hero-video .ph-bg.dark-bg{z-index:2;}
.page-hero.page-hero-video .ph-content{z-index:4;position:relative;padding-top:0;margin-top:0;}
.hero.hero-video .hero-overlay{z-index:2;}
.hero.hero-video .hero-shimmer{z-index:3;}
.hero.hero-video .hero-content{z-index:5;}
.hero.hero-video .hero-scroll-hint{z-index:6;}
@media(max-width:768px){
  .page-hero.page-hero-video{
    min-height:min(82svh,780px);
    align-items:flex-end;
    padding-top:max(4.75rem,calc(env(safe-area-inset-top,0px) + 4.25rem));
    padding-bottom:max(1.75rem,env(safe-area-inset-bottom,0px));
  }
  .page-hero .ph-content.light-text{
    padding:0;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .hero.hero-video{min-height:min(100svh,920px);}
}
@media(prefers-reduced-motion:reduce){
  .hero-video-el,.page-hero-video-el{display:none!important;}
  .hero-video-fallback,.page-hero-video-fallback{opacity:1!important;}
}

/* Section motion polish */
.features-strip .feature{transition:transform .35s var(--ease),box-shadow .35s;}
.features-strip .feature:hover{transform:translateY(-3px);}
.gallery-item{transition:transform .4s var(--ease),box-shadow .4s;}
.gallery-item:hover{box-shadow:0 16px 48px rgba(204,0,119,.12);}
.cart-line{
  animation:cartLineIn .48s var(--ease) both;
  animation-delay:var(--stagger,0ms);
}
@keyframes cartLineIn{
  from{opacity:0;transform:translateX(14px);}
  to{opacity:1;transform:translateX(0);}
}
.cart-empty{
  text-align:center;padding:2rem 1.25rem;color:var(--muted);font-size:.9rem;line-height:1.65;
  background:linear-gradient(180deg,rgba(204,0,119,.06),transparent);border-radius:var(--r-md);
  border:1px dashed rgba(204,0,119,.2);
}
.cart-drawer-body{padding-bottom:env(safe-area-inset-bottom,0);}
.cart-drawer-foot{padding-bottom:max(1.25rem, env(safe-area-inset-bottom));}

.modal-option-block{margin-bottom:1.15rem;}
.modal-option-label{display:block;font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.55rem;}
.modal-opt-row{display:flex;flex-wrap:wrap;gap:.45rem;}
.modal-opt-row--wrap{max-width:100%;}
.modal-opt-chip{
  padding:.52rem 1rem;border-radius:999px;font-size:.78rem;font-weight:500;color:var(--charcoal);
  border:1.5px solid rgba(204,0,119,.22);background:rgba(255,255,255,.95);
  transition:transform .2s var(--ease),border-color .2s,box-shadow .2s,background .2s,color .2s;
}
.modal-opt-chip:hover{border-color:rgba(204,0,119,.45);transform:translateY(-1px);box-shadow:0 4px 14px rgba(204,0,119,.12);}
.modal-opt-chip.is-selected{
  border-color:var(--gold);background:linear-gradient(135deg,rgba(204,0,119,.1) 0%,rgba(255,214,232,.35) 100%);
  color:var(--obsidian);font-weight:600;box-shadow:0 4px 18px rgba(204,0,119,.18);
}

.line-opt-group{margin:.55rem 0 .35rem;}
.line-opt-label{display:block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.35rem;}
.line-opt-row{display:flex;flex-wrap:wrap;gap:.35rem;}
.line-opt-row--wrap{max-width:100%;}
.line-opt-chip{
  padding:.32rem .65rem;border-radius:999px;font-size:.68rem;font-weight:500;
  border:1px solid rgba(204,0,119,.25);background:#fff;color:var(--charcoal);
  transition:transform .18s,border-color .18s,box-shadow .18s;
}
.line-opt-chip:hover{border-color:rgba(204,0,119,.5);transform:translateY(-1px);}
.line-opt-chip.is-selected{border-color:var(--gold);background:rgba(204,0,119,.08);font-weight:600;}
.reviewer img.rv-av{background:none!important;display:block;object-fit:cover;padding:0;}
.val-card>span img{display:block;margin:0 auto;}
.section-pulse{animation:sectionPulse .75s var(--ease);}
@keyframes sectionPulse{0%,100%{box-shadow:inset 0 0 0 0 transparent;}50%{box-shadow:inset 0 0 0 3px rgba(204,0,119,.35);}}

/* ====== FEATURE THUMBS (replace icon font row) ====== */
.feat-thumb{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(204,0,119,.35);box-shadow:0 4px 16px rgba(0,0,0,.25);}
.feat-thumb img{width:100%;height:100%;object-fit:cover;}

/* ====== HEADER CART ====== */
.header-cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-left:.5rem;margin-right:.25rem;border-radius:50%;background:rgba(204,0,119,.08);border:1px solid rgba(204,0,119,.28);color:var(--gold);transition:transform .25s,background .25s,border-color .25s,box-shadow .25s;}
.header-cart-btn:hover{transform:scale(1.05);background:rgba(204,0,119,.14);border-color:var(--gold);box-shadow:0 4px 20px rgba(204,0,119,.18);}
.header-cart-ico{display:block;}
.cart-badge{position:absolute;top:-5px;right:-5px;min-width:21px;height:21px;padding:0 6px;border-radius:50px;background:var(--gold-grad);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(204,0,119,.5);}
.cart-badge.is-empty{opacity:.85;}
body.cart-open{overflow:hidden;}

/* ====== SHOP ====== */
.shop-section{padding:4rem clamp(1.5rem,6vw,5rem) 2rem;background:var(--cream);}
.shop-intro,.checkout-intro{max-width:700px;font-size:.95rem;color:var(--muted);margin-bottom:2rem;line-height:1.75;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem;}
.shop-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(204,0,119,.15);box-shadow:0 6px 28px rgba(0,0,0,.07);transition:transform .4s var(--ease),box-shadow .4s,border-color .35s;}
.shop-card:hover{transform:translateY(-8px);box-shadow:0 22px 56px rgba(204,0,119,.14);border-color:rgba(204,0,119,.32);}
.shop-card-img{height:220px;overflow:hidden;}
.shop-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease);}
.shop-card:hover .shop-card-img img{transform:scale(1.06);}
.shop-card-body{padding:1.35rem 1.4rem 1.6rem;}
.shop-card h3{font-family:var(--ff-display);font-size:1.2rem;font-weight:500;color:var(--charcoal);margin-bottom:.5rem;}
.shop-card-desc{font-size:.87rem;color:var(--muted);line-height:1.65;margin-bottom:1.15rem;}
.shop-card-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.shop-price{font-family:var(--ff-display);font-size:1.4rem;color:var(--gold);}
.shop-add{padding:.68rem 1.35rem;font-size:.72rem;letter-spacing:.1em;}

/* ====== CART DRAWER ====== */
.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:6500;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;backdrop-filter:blur(5px);}
.cart-backdrop.open{opacity:1;visibility:visible;}
.cart-drawer{position:fixed;top:0;right:0;width:min(440px,100vw);height:100%;z-index:6600;background:var(--warm-off);box-shadow:-16px 0 56px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .42s var(--ease);display:flex;flex-direction:column;border-left:1px solid rgba(204,0,119,.18);}
.cart-drawer.open{transform:translateX(0);}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.25rem;border-bottom:1px solid rgba(204,0,119,.12);background:#fff;}
.cart-drawer-head h2{font-family:var(--ff-display);font-size:1.28rem;font-weight:500;margin:0;color:var(--charcoal);}
.cart-drawer-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(204,0,119,.22);background:#fff;font-size:1.5rem;line-height:1;color:var(--charcoal);cursor:pointer;transition:background .2s,transform .25s;}
.cart-drawer-close:hover{background:rgba(204,0,119,.1);transform:rotate(90deg);}
.cart-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.15rem 1.5rem;}
.cart-drawer-foot{padding:1rem 1.25rem 1.5rem;border-top:1px solid rgba(204,0,119,.12);background:#fff;}
.cart-drawer-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.92rem;color:var(--charcoal);}
.cart-drawer-total strong{font-family:var(--ff-display);font-size:1.55rem;color:var(--gold);}
.cart-empty{text-align:center;color:var(--muted);padding:2.5rem 1rem;font-size:.9rem;line-height:1.6;}

.cart-line{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(204,0,119,.1);animation:cartLineIn .5s var(--ease) both;animation-delay:var(--stagger,0ms);}
@keyframes cartLineIn{from{opacity:0;transform:translateX(16px);}to{opacity:1;transform:translateX(0);}}
.cart-line-media{width:76px;height:76px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;border:1px solid rgba(204,0,119,.15);}
.cart-line-media img{width:100%;height:100%;object-fit:cover;}
.cart-line-body{flex:1;min-width:0;}
.cart-line-title{font-size:.86rem;font-weight:600;margin:0 0 .28rem;color:var(--charcoal);}
.cart-line-meta{font-size:.76rem;color:var(--muted);margin:0;line-height:1.45;}
.cart-line-note{font-size:.74rem;color:var(--gold);margin:.4rem 0 0;line-height:1.4;}
.cart-line-customize{margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(204,0,119,.08);}
.cart-line-total{font-family:var(--ff-display);font-size:1.05rem;color:var(--gold);align-self:flex-start;white-space:nowrap;}
.cart-line-actions{display:flex;align-items:center;gap:.85rem;margin-top:.65rem;flex-wrap:wrap;}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid rgba(204,0,119,.28);border-radius:50px;overflow:hidden;background:#fff;}
.qty-btn{width:34px;height:34px;border:none;background:transparent;font-size:1.15rem;font-weight:600;color:var(--gold);cursor:pointer;transition:background .2s;}
.qty-btn:hover{background:rgba(204,0,119,.1);}
.qty-val{min-width:30px;text-align:center;font-size:.86rem;font-weight:600;color:var(--charcoal);}
.cart-line-del{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;}
.cart-line-del:hover{color:#b44;}
.cart-line-schedule{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.7rem;}
.cart-line-schedule label{display:flex;flex-direction:column;gap:.25rem;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.cart-line-schedule input{font-size:.78rem;padding:.4rem .55rem;border:1px solid rgba(204,0,119,.22);border-radius:var(--r-sm);color:var(--charcoal);}

/* ====== CHECKOUT REVIEW ====== */
.checkout-review-section{padding:4.75rem clamp(1.5rem,6vw,5rem) 6rem;background:var(--cream);border-top:1px solid rgba(204,0,119,.1);}
.checkout-lines{max-width:760px;margin-bottom:1rem;}
.checkout-total-bar{max-width:760px;display:flex;justify-content:space-between;align-items:center;padding:1.35rem 0;border-top:2px solid rgba(204,0,119,.22);font-size:1.05rem;margin-bottom:2rem;color:var(--charcoal);}
.checkout-total-bar strong{font-family:var(--ff-display);font-size:2rem;color:var(--gold);}
.checkout-empty-hint{font-size:.92rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.65;}
.checkout-complete-cta{max-width:560px;margin-top:.5rem;animation:fadeUpCheckout .55s var(--ease) both;}
.checkout-complete-cta__lead{font-size:.92rem;color:var(--muted);margin-bottom:1rem;line-height:1.65;}
@keyframes fadeUpCheckout{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.demo-inline{font-weight:500;opacity:.85;font-size:.88em;}

/* ====== CHECKOUT COMPLETE MODAL (pink payment gateway) ====== */
.checkout-complete-modal{position:fixed;inset:0;z-index:7200;display:flex;align-items:center;justify-content:center;padding:1.25rem;pointer-events:none;}
.checkout-complete-modal:not(.hidden){pointer-events:auto;}
.checkout-complete-modal.hidden{display:none!important;}
.checkout-complete-modal__backdrop{position:absolute;inset:0;z-index:0;background:rgba(40,18,32,.25);backdrop-filter:blur(10px);}
.checkout-complete-modal__panel{
  position:relative;width:100%;max-width:440px;max-height:calc(100vh - 2rem);overflow-y:auto;
  background:#fff;border-radius:16px;border:1px solid rgba(204,0,119,.16);
  box-shadow:0 28px 80px rgba(204,0,119,.12),0 8px 32px rgba(0,0,0,.06);
  padding:1.75rem 1.5rem 1.5rem;margin:auto;z-index:1;animation:checkoutModalIn .42s var(--ease) both;
}
.checkout-complete-modal--pink{
  --co-bg:#fff;--co-surface:#fff8fb;--co-input:#fff;--co-border:rgba(204,0,119,.2);
  --co-accent:#cc0077;--co-accent-soft:rgba(204,0,119,.08);--co-accent-glow:rgba(204,0,119,.2);
  --co-green:#2d8a5e;--co-muted:#7a5a6c;--co-text:#1a0f14;
  background:linear-gradient(165deg,#fff 0%,var(--warm-off) 50%,#fff 100%);
  border-color:rgba(204,0,119,.18);
}
@keyframes checkoutModalIn{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.checkout-complete-modal__close{
  position:absolute;top:.65rem;right:.65rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--co-border);
  background:transparent;color:var(--co-text);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s;
}
.checkout-complete-modal__close:hover{background:rgba(204,0,119,.06);border-color:rgba(204,0,119,.28);}

.checkout-stepper{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:1.35rem;padding:0 .25rem;}
.checkout-stepper__seg{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:0 0 auto;}
.checkout-stepper__node{
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--co-border);color:var(--co-muted);background:var(--co-surface);
}
.checkout-stepper__node--done{border-color:var(--co-green);color:var(--co-green);background:rgba(45,138,94,.1);box-shadow:0 0 16px rgba(45,138,94,.15);}
.checkout-stepper__node--active{
  border-color:var(--co-accent);color:var(--co-accent);background:var(--co-accent-soft);
  box-shadow:0 0 24px var(--co-accent-glow);
}
.checkout-stepper__label{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--co-muted);}
.checkout-stepper__label--done{color:var(--co-green);}
.checkout-stepper__label--active{color:var(--co-accent);}
.checkout-stepper__line{flex:1;min-width:12px;height:2px;background:rgba(204,0,119,.12);border-radius:1px;margin-top:19px;}
.checkout-stepper__line--accent{background:linear-gradient(90deg,var(--co-accent),rgba(204,0,119,.2));}

.checkout-modal-title{font-family:var(--ff-display);font-size:1.55rem;font-weight:500;color:var(--co-text);margin-bottom:.35rem;line-height:1.2;}
.checkout-modal-ssl{font-size:.72rem;color:var(--co-muted);line-height:1.5;margin-bottom:1.25rem;}

.checkout-modal-total-card{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--co-surface);border:1px solid var(--co-border);border-radius:12px;padding:1rem 1.15rem;margin-bottom:1.5rem;
}
.checkout-modal-total-card__label{display:block;font-size:.88rem;font-weight:600;color:var(--co-text);}
.checkout-modal-total-card__hint{display:block;font-size:.68rem;color:var(--co-muted);margin-top:.2rem;line-height:1.4;}
.checkout-modal-total-card__amount{font-family:var(--ff-display);font-size:1.85rem;font-weight:600;color:var(--co-accent);letter-spacing:.02em;}

.checkout-form--modal{margin:0;}
.checkout-modal-section-title{font-family:var(--ff-display);font-size:1rem;font-weight:500;color:var(--co-accent);margin:1.15rem 0 .65rem;}
.checkout-modal-pay-intro{font-size:.78rem;color:var(--co-muted);line-height:1.55;margin:-.35rem 0 1rem;}
.checkout-modal-section-title:first-of-type{margin-top:0;}
.checkout-modal-field{margin-bottom:1rem;}
.checkout-modal-field label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(26,0,18,.72);margin-bottom:.4rem;}
.checkout-modal-field .optional-label{font-weight:500;letter-spacing:0;text-transform:none;opacity:.65;}
.checkout-modal-field input,.checkout-modal-field textarea{
  width:100%;padding:.8rem 1rem;background:var(--co-input);border:1px solid var(--co-border);border-radius:10px;
  font-family:var(--ff-body);font-size:.88rem;color:var(--co-text);outline:none;transition:border-color .2s,box-shadow .2s;
}
.checkout-modal-field textarea{resize:vertical;min-height:72px;}
.checkout-modal-field input::placeholder,.checkout-modal-field textarea::placeholder{color:rgba(26,0,18,.38);}
.checkout-modal-field input:focus,.checkout-modal-field textarea:focus{border-color:var(--co-accent);box-shadow:0 0 0 3px rgba(204,0,119,.18);}
.checkout-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
@media(max-width:400px){.checkout-modal-row{grid-template-columns:1fr;}}
.checkout-modal-field--notes{margin-bottom:1.15rem;}

.checkout-pay-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem;}
@media(max-width:400px){.checkout-pay-tiles{grid-template-columns:1fr;}}
.checkout-pay-tile{display:block;position:relative;cursor:pointer;margin:0;transition:transform .16s var(--ease);}
.checkout-pay-tile.is-pressing{transform:scale(.98);}
.checkout-pay-tile.pay-picked{animation:checkoutPayCardPop .55s cubic-bezier(.34,1.45,.64,1);}
@keyframes checkoutPayCardPop{0%,100%{transform:scale(1);}35%{transform:scale(.97);}65%{transform:scale(1.02);}}
.checkout-pay-tile input{
  position:absolute;left:.5rem;top:.5rem;width:1px;height:1px;margin:0;padding:0;opacity:.01;
  clip-path:inset(50%);overflow:hidden;border:0;white-space:nowrap;appearance:none;-webkit-appearance:none;
}
.checkout-pay-tile__inner{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;
  min-height:76px;padding:.65rem .5rem;border-radius:10px;border:2px solid var(--co-border);background:var(--co-surface);
  transition:border-color .25s,box-shadow .25s,background .25s;
}
.checkout-pay-tile__icon{display:flex;align-items:center;justify-content:center;color:var(--co-muted);}
.checkout-pay-tile input:checked + .checkout-pay-tile__inner .checkout-pay-tile__icon:not(.checkout-pay-tile__icon--gpay){color:var(--co-accent);}
.checkout-pay-tile__icon--gpay svg{display:block;}
.checkout-pay-tile input:checked + .checkout-pay-tile__inner .checkout-pay-tile__icon--gpay{filter:brightness(1.12) saturate(1.05);}
.checkout-pay-tile__text{font-size:.72rem;font-weight:600;color:rgba(26,0,18,.82);letter-spacing:.02em;}
.checkout-pay-tile:hover .checkout-pay-tile__inner{border-color:rgba(204,0,119,.35);}
.checkout-pay-tile input:focus-visible + .checkout-pay-tile__inner{outline:2px solid var(--co-accent);outline-offset:2px;}
.checkout-pay-tile input:checked + .checkout-pay-tile__inner{
  border-color:var(--co-accent);background:var(--co-accent-soft);box-shadow:0 0 22px rgba(204,0,119,.14);
}
.checkout-pay-tile input:checked + .checkout-pay-tile__inner .checkout-pay-tile__text{color:var(--co-accent);}

.checkout-card-panel{margin-bottom:.25rem;}
.checkout-card-panel.is-collapsed{display:none;}
.checkout-card-brands{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;}
.checkout-card-brands span{
  font-size:.58rem;font-weight:700;letter-spacing:.1em;color:var(--co-muted);
  padding:.28rem .45rem;border-radius:6px;border:1px solid var(--co-border);background:rgba(204,0,119,.04);
}

.checkout-modal-submit{
  width:100%;margin-top:.5rem;padding:1rem 1.25rem;border-radius:10px;border:none;cursor:pointer;
  font-family:var(--ff-body);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#1a0510;background:linear-gradient(180deg,#ff9ed4 0%,#ff4da6 45%,#cc0077 100%);
  box-shadow:0 10px 36px rgba(204,0,119,.45);transition:transform .2s,box-shadow .2s;
}
.checkout-modal-submit:hover{transform:translateY(-1px);box-shadow:0 14px 40px rgba(204,0,119,.35);}
.checkout-modal-submit:disabled{opacity:.72;cursor:not-allowed;transform:none;}
.checkout-modal-footnote{text-align:center;font-size:.64rem;color:var(--co-muted);margin-top:.85rem;line-height:1.55;}
.checkout-kbd{
  display:inline-block;font-size:.6rem;font-family:ui-monospace,monospace;padding:.12rem .3rem;border-radius:5px;
  background:rgba(204,0,119,.08);border:1px solid rgba(204,0,119,.22);color:var(--co-text);
}

.checkout-stripe-live{margin-bottom:.25rem;}
.checkout-stripe-loading{
  font-size:.78rem;color:var(--co-muted);padding:.65rem .85rem;border-radius:10px;background:var(--co-accent-soft);
  border:1px solid rgba(204,0,119,.18);margin-bottom:.75rem;text-align:center;
}
.checkout-stripe-error{min-height:0;font-size:.76rem;color:#b01050;margin:0 0 .65rem;line-height:1.45;}
.stripe-payment-mount{min-height:120px;margin-bottom:.5rem;padding:.15rem 0;}
.checkout-stripe-badge{
  font-size:.65rem;color:var(--co-muted);text-align:center;margin:0 0 .25rem;letter-spacing:.04em;
}
.checkout-stripe-badge strong{color:var(--co-accent);font-weight:600;}

/* ====== ADD TO CART MODAL ====== */
.cart-modal{position:fixed;inset:0;z-index:6800;background:rgba(40,18,32,.28);display:flex;align-items:center;justify-content:center;padding:1.25rem;backdrop-filter:blur(8px);}
.cart-modal.hidden{display:none!important;}
.cart-modal-box{position:relative;background:#fff;border-radius:var(--r-lg);max-width:720px;width:100%;max-height:calc(100vh - 2.5rem);overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid rgba(204,0,119,.2);animation:modalSlide .36s var(--ease);}
.cart-modal-close{position:absolute;top:.7rem;right:.7rem;width:40px;height:40px;border-radius:50%;border:1px solid rgba(204,0,119,.2);background:#fff;font-size:1.35rem;cursor:pointer;z-index:2;transition:transform .2s,background .2s;}
.cart-modal-close:hover{transform:scale(1.06);background:rgba(204,0,119,.08);}
.cart-modal-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:0;}
@media(max-width:720px){.cart-modal-grid{grid-template-columns:1fr;}}
.cart-modal-img{min-height:200px;max-height:320px;}
.cart-modal-img img{width:100%;height:100%;object-fit:cover;}
.cart-modal-box h3{font-family:var(--ff-display);font-size:1.32rem;margin:1.2rem 1.25rem .35rem;color:var(--charcoal);}
.cart-modal-box .shop-price{margin:0 1.25rem .85rem;}
.cart-modal-box form{padding:0 1.25rem 1.5rem;}
.cart-modal-box .modal-option-block:first-of-type{margin-top:.25rem;}

/* ====== DESIGNER CREDIT (Web Launch Co.) ====== */
.footer-designer{border-top:1px solid rgba(255,182,214,.22);background:linear-gradient(180deg,#1c080f 0%,#2a1018 100%);padding:1.85rem clamp(1.5rem,6vw,5rem);position:relative;}
.footer-designer::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 120% at 50% 0%,rgba(204,0,119,.12),transparent 55%);pointer-events:none;}
.designer-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;text-align:center;}
.designer-inner--wlc{flex-direction:column;gap:.65rem;position:relative;z-index:1;}
.designer-text{display:flex;flex-direction:column;gap:.2rem;}
.designer-label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,182,214,.75);}
.designer-name{font-size:1rem;font-weight:600;color:#fff;letter-spacing:.04em;}
.designer-loc{font-size:.82rem;color:rgba(255,245,250,.75);}
.designer-tagline{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffc8e8;margin-top:.15rem;}
.designer-logo{height:52px;width:auto;max-width:200px;object-fit:contain;opacity:.9;transition:opacity .3s,transform .35s,filter .3s;}
.designer-logo--full{height:auto;max-width:min(280px,88vw);max-height:76px;width:auto;opacity:1;filter:drop-shadow(0 4px 16px rgba(0,0,0,.35)) brightness(1.08);}
a.designer-logo-link{display:inline-flex;border-radius:var(--r-sm);transition:transform .3s var(--ease);}
a.designer-logo-link:hover .designer-logo--full{transform:scale(1.03);filter:drop-shadow(0 6px 20px rgba(0,0,0,.4)) brightness(1.12);}
a.designer-logo-link:focus-visible{outline:2px solid rgba(255,77,166,.6);outline-offset:4px;}

.quote-mark{font-family:var(--ff-display);font-size:2rem;color:var(--gold);opacity:.65;line-height:1;}

@media(max-width:768px){
  .header-cart-btn{margin-left:auto;}
  .cart-line-schedule{grid-template-columns:1fr;}
  .cart-line-actions{align-items:center;}
  .page-hero.page-hero-photo{min-height:min(70svh,640px);padding-bottom:max(2rem,env(safe-area-inset-bottom,0px));}
  .page-hero-photo .ph-content{padding-top:0;max-width:100%;}
  .modal-opt-chip{padding:.48rem .85rem;font-size:.74rem;}
}

/* Footer ambient glow orbs */
.site-footer::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 55% 38% at 15% 110%,rgba(255,77,166,.14) 0%,transparent 70%),
    radial-gradient(ellipse 40% 30% at 85% 105%,rgba(204,0,119,.12) 0%,transparent 70%);
}
.site-footer .footer-top,
.site-footer .footer-bottom,
.site-footer .footer-designer{position:relative;z-index:1;}


/* ====================================================
   TESTIMONIALS — EXTRAS (shimmer, reveal, responsive)
   ==================================================== */

/* Shimmer sweep on hover */
.rv-card::after{
  content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(204,0,119,.05),transparent);
  transform:skewX(-18deg);transition:left .55s var(--ease);pointer-events:none;
}
.rv-card:hover::after{left:130%;}
.rv-card.rv-large::after{background:linear-gradient(90deg,transparent,rgba(255,110,180,.06),transparent);}

/* Stagger scroll-reveal for cards — override rv-card's short transition */
.rv-card.reveal{
  opacity:0;transform:translateY(30px);
  transition:opacity .75s var(--ease), transform .75s var(--ease), box-shadow .35s, border-color .35s;
}
.rv-card.reveal.visible{opacity:1;transform:translateY(0);}
.rv-card.reveal.visible:hover{transform:translateY(-7px);}

/* Testimonials page: CTA band after reviews (light, matches site) */
.reviews-section+.home-quote{
  background:linear-gradient(135deg,#fff 0%,var(--cream) 42%,#fff8fb 100%);
  border-top:1px solid rgba(204,0,119,.1);
}
.reviews-section+.home-quote .quote-decor{opacity:.75;}

/* Responsive */
@media(max-width:900px){
  .rv-card.rv-large{flex-direction:column;gap:1.5rem;padding:2.2rem;}
  .rv-card.rv-large .quote-mark{font-size:4rem;margin-bottom:.2rem;}
  .reviews-grid{grid-template-columns:1fr 1fr;}
  .rv-card.rv-large{grid-column:1/-1;}
}
@media(max-width:580px){
  .reviews-grid{grid-template-columns:1fr;}
  .rv-card.rv-large{grid-column:1;}
  .stats-bar .stat{padding:2rem 1.5rem;}
  .stat strong{font-size:2.2rem;}
  .footer-top{grid-template-columns:1fr 1fr;gap:1.75rem;padding:3rem 1.25rem 2.5rem;}
  .footer-kicker{font-size:.95rem;}
}

/* ====================================================
   MODAL ANIMATIONS (add-to-cart & checkout)
   ==================================================== */

/* Backdrop fade */
.cart-modal{transition:opacity .28s var(--ease);}
.cart-modal.hidden{pointer-events:none;}

/* Box spring entry */
@keyframes modalSlide{
  0%  {opacity:0;transform:translateY(32px) scale(.95);}
  55% {opacity:1;transform:translateY(-6px)  scale(1.012);}
  80% {transform:translateY(3px)   scale(.997);}
  100%{transform:translateY(0)    scale(1);}
}

/* Cart modal backdrop dim-in */
.cart-modal:not(.hidden){animation:cartBackdropIn .28s var(--ease) both;}
@keyframes cartBackdropIn{from{opacity:0;}to{opacity:1;}}

/* Image peel-in when modal opens */
.cart-modal-img img{animation:modalImgIn .55s var(--ease) .06s both;}
@keyframes modalImgIn{from{opacity:0;transform:scale(1.07);}to{opacity:1;transform:scale(1);}}

/* Right-panel form stagger */
.cart-modal-box h3{animation:pgIn .4s var(--ease) .1s both;}
.cart-modal-box .shop-price{animation:pgIn .4s var(--ease) .15s both;}
.cart-modal-box .modal-option-block{animation:pgIn .4s var(--ease) .22s both;}
.cart-modal-box form .btn-gold{animation:pgIn .45s var(--ease) .28s both;}

/* Add-to-cart button: ripple flash on click */
.shop-add{position:relative;overflow:hidden;}
.shop-add::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.35);opacity:0;border-radius:inherit;transition:opacity .35s;}
.shop-add:active::after{opacity:1;transition:none;}

/* Cart badge bounce when count changes */
@keyframes badgeBounce{0%,100%{transform:scale(1);}40%{transform:scale(1.5);}70%{transform:scale(.88);}}
.cart-badge.bump{animation:badgeBounce .45s cubic-bezier(.34,1.45,.64,1);}

/* Checkout modal enhanced entry */
@keyframes checkoutModalIn{
  0%  {opacity:0;transform:translateY(24px) scale(.96);}
  60% {opacity:1;transform:translateY(-4px)  scale(1.008);}
  100%{opacity:1;transform:translateY(0)    scale(1);}
}

/* Payment tile "selected" glow pulse */
.checkout-pay-tile input:checked ~ .checkout-pay-tile__inner{
  border-color:var(--co-accent);
  background:var(--co-accent-soft);
  box-shadow:0 0 0 3px rgba(255,77,166,.18),0 4px 22px rgba(255,77,166,.22);
}

/* Cart drawer lines stagger reveal */
.cart-line{animation:cartLineIn .48s var(--ease) var(--stagger,0ms) both;}

/* Shop card "Add to cart" pulse on hover */
.shop-add:hover{animation:shopAddPulse .55s cubic-bezier(.34,1.56,.64,1);}
@keyframes shopAddPulse{0%,100%{transform:none;}45%{transform:scale(1.06);}75%{transform:scale(.97);}}

/* Review card hover lift */
.rv-card{transition:transform .32s var(--ease),box-shadow .32s,border-color .32s;}

/* About values card icon pop */
.val-card>span{display:block;transition:transform .3s var(--ease);}
.val-card:hover>span{transform:scale(1.12) translateY(-3px);}

/* Services card image scale-in on hover */
.svc-img-wrap{overflow:hidden;}
.svc-img-wrap img{transition:transform .55s var(--ease);}
.svc-card:hover .svc-img-wrap img{transform:scale(1.06);}

/* Checkout complete modal stepper done-node glow pulse */
.checkout-stepper__node--done{animation:doneNodeGlow 2.2s ease infinite;}
@keyframes doneNodeGlow{0%,100%{box-shadow:0 0 20px rgba(61,158,109,.2);}50%{box-shadow:0 0 30px rgba(61,158,109,.45);}}

/* Payment tile press micro-feedback */
.checkout-pay-tile:active .checkout-pay-tile__inner{transform:scale(.96);}

/* Cart drawer footer button shine */
.cart-drawer-foot .btn-gold{position:relative;overflow:hidden;}
.cart-drawer-foot .btn-gold::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .55s var(--ease);}
.cart-drawer-foot .btn-gold:hover::before{left:130%;}

/* Checkout submit button breathe */
.checkout-modal-submit{transition:transform .2s var(--ease),box-shadow .2s,opacity .2s;}
.checkout-modal-submit:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,77,166,.4);}
.checkout-modal-submit:active{transform:translateY(0);box-shadow:none;}

/* ======================================================
   ENHANCED SCROLL-REVEAL TEXT & SECTION ANIMATIONS
   ====================================================== */

/* Section label: letter-spacing bloom as it reveals */
@keyframes labelBloom{
  from{opacity:0;letter-spacing:.06em;transform:translateY(10px);}
  to  {opacity:1;letter-spacing:.28em;transform:none;}
}
.section-label.reveal.visible,.eyebrow-light.reveal.visible{
  animation:labelBloom .62s cubic-bezier(.22,1,.36,1) both;
  opacity:1;transform:none;
}

/* Section title: rise with slight warp */
@keyframes titleRise{
  from{opacity:0;transform:translateY(24px) skewY(.5deg);}
  to  {opacity:1;transform:none;}
}
.section-title.reveal.visible{
  animation:titleRise .75s cubic-bezier(.22,1,.36,1) .07s both;
  opacity:1;transform:none;
}

/* Gallery items: scale + blur lift */
@keyframes galleryReveal{
  from{opacity:0;transform:scale(.9) translateY(22px);filter:blur(5px);}
  to  {opacity:1;transform:none;filter:blur(0);}
}
.gallery-item.reveal-scale.visible{
  animation:galleryReveal .72s cubic-bezier(.22,1,.36,1) both;
  opacity:1;transform:none;
}

/* Feature strip items: cascade from below */
.features-strip .feature{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.features-strip .feature.visible{opacity:1;transform:none;}

/* Process steps: rise */
.step.reveal.visible{transition-duration:.55s;}

/* Service cards */
.svc-card.reveal.visible{transition-duration:.65s;}

/* About-copy paragraphs */
.reveal-para{opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease);}
.reveal-para.visible{opacity:1;transform:none;}

/* Contact info items */
.info-item.reveal.visible{transition-duration:.55s;}

/* CTA banner title */
.cta-banner h2.reveal.visible,.cta-banner p.reveal.visible{transition-duration:.6s;}

/* Home quote reveal */
.home-quote blockquote.reveal.visible{transition-duration:.8s;}

/* Why section intro */
.why-intro.reveal.visible{transition-duration:.65s;}

@media(prefers-reduced-motion:reduce){
  .section-label.reveal.visible,.section-title.reveal.visible,
  .gallery-item.reveal-scale.visible,.features-strip .feature{animation:none;}
}
