:root {
  --obsidian:#0d0a07;--charcoal:#1a1410;--dark-card:#211a13;--warm-dark:#2e2318;
  --gold:#c9a04a;--gold-light:#e8c878;--gold-pale:#f5e8c0;
  --cream:#fdf6ec;--warm-off:#f7eed8;--muted:#9a8870;
  --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(201,160,74,.22);--ease:cubic-bezier(.4,0,.2,1);
  --gold-grad:linear-gradient(135deg,#c9a04a 0%,#e8c878 50%,#c9a04a 100%);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--ff-body);background:var(--cream);color:var(--charcoal);line-height:1.65;overflow-x:hidden;}
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:var(--obsidian);
  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(201,160,74,.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(201,160,74,.3);
  animation:orbit1 6s linear infinite;
}
.pre-ring-1::before{
  content:'✦';position:absolute;top:-8px;left:50%;
  transform:translateX(-50%);font-size:.6rem;color:var(--gold);
  filter:drop-shadow(0 0 6px var(--gold));
}
.pre-ring-2{
  inset:22px;
  border-color:rgba(201,160,74,.15);
  animation:orbit1 4s linear infinite reverse;
}
.pre-ring-2::before{
  content:'·';position:absolute;top:-5px;left:50%;
  transform:translateX(-50%);font-size:1rem;color:var(--gold-light);opacity:.6;
}
.pre-ring-3{
  inset:44px;
  border-color:rgba(201,160,74,.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(201,160,74,.08);
}
.pre-arc-fill{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--gold) 0deg,rgba(201,160,74,.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(201,160,74,.2) 0%,rgba(201,160,74,.05) 55%,transparent 100%);
  border:1px solid rgba(201,160,74,.2);
  animation:discPulse 2.5s ease-in-out infinite;
}
@keyframes discPulse{0%,100%{transform:scale(1);box-shadow:0 0 30px rgba(201,160,74,.08);}50%{transform:scale(1.06);box-shadow:0 0 60px rgba(201,160,74,.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(201,160,74,.08);
  border:1px solid rgba(201,160,74,.25);
  display:flex;align-items:center;justify-content:center;
  animation:iconFloat 3s ease-in-out infinite,iconReveal .6s ease .2s both;
}
@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(201,160,74,.7));
  animation:iconGlow 2.5s ease-in-out infinite;
}
@keyframes iconGlow{0%,100%{filter:drop-shadow(0 0 8px rgba(201,160,74,.5));}50%{filter:drop-shadow(0 0 20px rgba(201,160,74,.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(--cream);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(201,160,74,.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(255,255,255,.2);white-space:nowrap;
}

/* ====== TOAST ====== */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);z-index:8000;background:var(--charcoal);color:var(--gold-pale);padding:.85rem 2rem;border-radius:50px;font-size:.84rem;font-weight:500;letter-spacing:.06em;border:1px solid rgba(201,160,74,.3);box-shadow:var(--shadow-gold);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;inset:0 0 auto 0;z-index:1000;height:76px;display:flex;align-items:center;gap:1.5rem;padding:0 clamp(1.2rem,5vw,4.5rem);background:rgba(13,10,7,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(201,160,74,.15);transition:height .35s var(--ease),background .35s;}
#site-header.scrolled{height:62px;background:rgba(13,10,7,.96);}
.nav-brand{display:flex;align-items:center;gap:.7rem;cursor:pointer;flex-shrink:0;user-select:none;}
.brand-icon{font-size:1.8rem;color:var(--gold);line-height:1;filter:drop-shadow(0 0 8px rgba(201,160,74,.5));}
.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(--cream);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(255,255,255,.55);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-pale);}
.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:var(--obsidian);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:50px;flex-shrink:0;box-shadow:0 4px 18px rgba(201,160,74,.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);}

/* ====== PAGES ====== */
.page{display:none;min-height:100vh;padding-top:76px;animation:pgIn .5s var(--ease) both;}
.page.active{display:block;}
@keyframes pgIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ====== 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.9rem,3.8vw,3.2rem);font-weight:400;color:var(--charcoal);line-height:1.2;margin-bottom:2.5rem;}
.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(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.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(201,160,74,.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(201,160,74,.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(--obsidian);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(201,160,74,.12) 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(--cream);}
.cta-banner h2 em{font-style:italic;color:var(--gold);}
.cta-banner p{color:rgba(255,255,255,.5);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:rgba(0,0,0,.62);}
.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:#fff;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:rgba(255,255,255,.7);}

/* 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(105deg,rgba(13,10,7,.88) 0%,rgba(13,10,7,.65) 55%,rgba(13,10,7,.3) 100%);}
.hero-shimmer{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0px,transparent 120px,rgba(201,160,74,.025) 120px,rgba(201,160,74,.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(201,160,74,.15);border:1px solid rgba(201,160,74,.35);border-radius:50px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);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:var(--cream);margin-bottom:1.5rem;animation:pgIn .8s var(--ease) .35s both;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1.02rem;color:rgba(255,255,255,.68);line-height:1.75;margin-bottom:2.5rem;animation:pgIn .8s var(--ease) .5s both;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;animation:pgIn .8s var(--ease) .65s both;}
.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,255,255,.45);}
.trust-div{width:1px;height:35px;background:rgba(255,255,255,.15);}
.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,255,255,.35);margin-bottom:.6rem;}
.scroll-line{width:1px;height:45px;background:linear-gradient(to bottom,rgba(201,160,74,.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(--charcoal);border-top:1px solid rgba(201,160,74,.12);border-bottom:1px solid rgba(201,160,74,.12);}
.feature{display:flex;align-items:center;gap:1rem;padding:1.5rem 2.5rem;border-right:1px solid rgba(255,255,255,.06);transition:background .25s;}
.feature:hover{background:rgba(201,160,74,.06);}
.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(--cream);}
.feature p{font-size:.72rem;color:rgba(255,255,255,.38);letter-spacing:.04em;}

/* Gallery */
.gallery-section{padding:7rem clamp(1.5rem,6vw,5rem);background:var(--obsidian);}
.gallery-section .section-title{color:var(--cream);}
.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(13,10,7,.88) 0%,rgba(13,10,7,.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(--charcoal);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(201,160,74,.08) 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(--cream);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(--obsidian);}
.services-section .section-title{color:var(--cream);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;}
.svc-card{background:var(--dark-card);border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(201,160,74,.1);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(201,160,74,.35);}
.svc-card.featured{border-color:rgba(201,160,74,.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(13,10,7,.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(--cream);margin-bottom:.65rem;}
.svc-card>.svc-body>p{font-size:.86rem;color:rgba(255,255,255,.45);margin-bottom:1.2rem;line-height:1.7;}
.svc-list{margin-bottom:1.4rem;}
.svc-list li{font-size:.81rem;color:rgba(255,255,255,.45);padding:.32rem 0;border-bottom:1px solid rgba(201,160,74,.08);display:flex;align-items:center;gap:.5rem;}
.svc-list li::before{content:'✦';font-size:.44rem;color:var(--gold);}
.svc-price{font-size:.86rem;color:rgba(255,255,255,.35);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(201,160,74,.15);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;text-align:center;}
.pay-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-gold);border-color:rgba(201,160,74,.4);}
.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(201,160,74,.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(--charcoal);text-align:center;}
.process-section .section-title{color:var(--cream);}
.process-steps{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem;}
.step{background:var(--dark-card);border-radius:var(--r-md);padding:2rem 1.5rem;width:180px;text-align:center;border:1px solid rgba(201,160,74,.12);transition:transform .3s,border-color .3s,box-shadow .3s;}
.step:hover{transform:translateY(-6px);border-color:rgba(201,160,74,.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(--cream);margin-bottom:.5rem;}
.step p{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.5;}
.step-arr{font-size:1.5rem;color:rgba(201,160,74,.3);font-family:var(--ff-display);}

/* Testimonials */
.stats-bar{display:flex;justify-content:center;flex-wrap:wrap;background:var(--charcoal);border-bottom:1px solid rgba(201,160,74,.12);}
.stat{display:flex;flex-direction:column;align-items:center;padding:2.2rem 3rem;border-right:1px solid rgba(201,160,74,.1);transition:background .25s;}
.stat:hover{background:rgba(201,160,74,.06);}
.stat:last-child{border-right:none;}
.stat strong{font-family:var(--ff-display);font-size:2.4rem;font-weight:400;color:var(--gold);}
.stat span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.reviews-section{padding:5rem clamp(1.5rem,6vw,5rem);background:var(--obsidian);}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.rv-card{background:var(--dark-card);border-radius:var(--r-md);padding:1.9rem;border:1px solid rgba(201,160,74,.1);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.rv-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-gold);border-color:rgba(201,160,74,.3);}
.rv-card.rv-large{grid-column:1/3;background:var(--warm-dark);padding:2.5rem;}
.stars{color:var(--gold);font-size:1rem;letter-spacing:.1em;margin-bottom:1rem;}
.rv-card blockquote{font-family:var(--ff-display);font-size:1rem;font-style:italic;color:rgba(255,255,255,.65);line-height:1.65;margin-bottom:1.4rem;}
.rv-large blockquote{font-size:1.28rem;color:var(--cream);}
.reviewer{display:flex;align-items:center;gap:.75rem;}
.rv-av{width:38px;height:38px;border-radius:50%;background:var(--gold-grad);color:var(--obsidian);display:flex;align-items:center;justify-content:center;font-size:.84rem;font-weight:700;flex-shrink:0;}
.reviewer strong{display:block;font-size:.86rem;color:var(--cream);}
.reviewer span{font-size:.72rem;color:rgba(255,255,255,.4);}

/* 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(--charcoal);padding:6rem clamp(1.5rem,6vw,5rem);text-align:center;}
.values-section .section-title{color:var(--cream);}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.4rem;margin-top:.5rem;}
.val-card{background:var(--dark-card);border-radius:var(--r-md);padding:2.5rem 2rem;border:1px solid rgba(201,160,74,.1);transition:transform .3s,border-color .3s,box-shadow .3s;}
.val-card:hover{transform:translateY(-6px);border-color:rgba(201,160,74,.4);box-shadow:var(--shadow-gold);}
.val-card>span{font-size:2.2rem;display:block;margin-bottom:1rem;}
.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:rgba(255,255,255,.4);line-height:1.6;}
.team-section{padding:6rem clamp(1.5rem,6vw,5rem);text-align:center;background:var(--obsidian);}
.team-section .section-title{color:var(--cream);}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:.5rem;}
.team-card{background:var(--dark-card);border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(201,160,74,.1);transition:transform .3s,border-color .3s,box-shadow .3s;}
.team-card:hover{transform:translateY(-7px);border-color:rgba(201,160,74,.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(--cream);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(--charcoal);padding:5rem clamp(1.5rem,6vw,5rem);text-align:center;}
.awards-section .section-title{color:var(--cream);}
.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:.5rem;}
.award-item{background:var(--dark-card);border:1px solid rgba(201,160,74,.15);border-radius:var(--r-md);padding:1.5rem;font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.55;transition:border-color .3s,box-shadow .3s;}
.award-item:hover{border-color:rgba(201,160,74,.4);box-shadow:var(--shadow-gold);}

/* Contact */
.contact-section{padding:5rem clamp(1.5rem,6vw,5rem);background:var(--obsidian);}
.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(--cream);margin-bottom:.4rem;}
.contact-form-wrap h2 em{font-style:italic;color:var(--gold);}
.form-sub{font-size:.86rem;color:rgba(255,255,255,.4);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:rgba(255,255,255,.05);border:1px solid rgba(201,160,74,.18);border-radius:var(--r-sm);font-family:var(--ff-body);font-size:.88rem;color:var(--cream);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(255,255,255,.22);}
.form-group select option{background:var(--charcoal);color:var(--cream);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:rgba(201,160,74,.08);box-shadow:0 0 0 3px rgba(201,160,74,.14);}
.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(201,160,74,.2);border-radius:50px;font-size:.74rem;font-weight:500;color:rgba(255,255,255,.5);transition:border-color .25s,color .25s,background .25s;}
.pay-radio input:checked+span{border-color:var(--gold);color:var(--gold);background:rgba(201,160,74,.1);}
.pay-radio:hover span{border-color:var(--gold);color:var(--gold-pale);}
.form-success{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;padding:1.2rem 1.4rem;background:rgba(40,120,60,.15);border:1px solid rgba(80,160,80,.35);border-radius:var(--r-md);}
.success-icon{font-size:2rem;}
.form-success strong{display:block;font-size:.9rem;color:var(--cream);margin-bottom:.25rem;}
.form-success p{font-size:.82rem;color:rgba(255,255,255,.45);}
.hidden{display:none!important;}
.form-secure{font-size:.72rem;color:rgba(255,255,255,.25);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:var(--dark-card);border-radius:var(--r-md);padding:1.8rem;border:1px solid rgba(201,160,74,.12);}
.info-block h3{font-family:var(--ff-display);font-size:1.2rem;font-weight:400;color:var(--cream);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(201,160,74,.08);}
.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:rgba(255,255,255,.4);line-height:1.55;}
.lead-time{display:flex;justify-content:space-between;align-items:center;padding:.58rem 0;border-bottom:1px solid rgba(201,160,74,.08);font-size:.84rem;}
.lead-time:last-child{border-bottom:none;}
.lead-time span{color:rgba(255,255,255,.4);}
.lead-time strong{color:var(--gold);}
.accept-grid{display:flex;gap:.5rem;flex-wrap:wrap;}
.accept-badge{padding:.3rem .75rem;background:rgba(201,160,74,.1);border:1px solid rgba(201,160,74,.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:rgba(255,255,255,.05);border:1px solid rgba(201,160,74,.2);border-radius:50px;font-size:.75rem;color:rgba(255,255,255,.55);font-weight:500;transition:background .25s,border-color .25s,color .25s;cursor:pointer;}
.soc-btn:hover{background:rgba(201,160,74,.1);border-color:var(--gold);color:var(--gold);}

/* Footer */
.site-footer{background:var(--obsidian);border-top:1px solid rgba(201,160,74,.12);}
.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{font-size:1.8rem;color:var(--gold);filter:drop-shadow(0 0 8px rgba(201,160,74,.4));}
.footer-brand .brand-name{font-family:var(--ff-display);font-size:1.3rem;color:var(--cream);}
.footer-brand .brand-tagline{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.footer-links h5,.footer-contact-col h5{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.footer-links a,.footer-contact-col p{display:block;font-size:.83rem;color:rgba(255,255,255,.38);margin-bottom:.6rem;cursor:pointer;transition:color .25s;}
.footer-links a:hover{color:var(--gold);}
.footer-contact-col p{cursor:default;}
.demo-tag{display:inline-block;font-size:.55rem;padding:.15rem .5rem;background:rgba(201,160,74,.1);border:1px solid rgba(201,160,74,.3);border-radius:50px;color:var(--gold);letter-spacing:.1em;vertical-align:middle;margin-left:.4rem;}
.footer-socials{display:flex;gap:.75rem;margin-top:1rem;}
.footer-socials a{font-size:1.3rem;cursor:pointer;transition:transform .2s,filter .2s;}
.footer-socials a:hover{transform:scale(1.2);filter:drop-shadow(0 0 6px var(--gold));}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.5rem clamp(1.5rem,6vw,5rem);border-top:1px solid rgba(255,255,255,.05);}
.footer-bottom p{font-size:.74rem;color:rgba(255,255,255,.2);}
.footer-bottom em{color:rgba(201,160,74,.4);font-style:normal;}
.footer-pay-icons{display:flex;gap:.75rem;font-size:1.2rem;opacity:.35;}

/* 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(201,160,74,.55);}
.chat-icon{font-size:1.6rem;}
.chat-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(201,160,74,.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:var(--charcoal);color:var(--cream);font-size:.75rem;white-space:nowrap;padding:.45rem .9rem;border-radius:50px;border:1px solid rgba(201,160,74,.25);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:var(--dark-card);border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(201,160,74,.2);box-shadow:var(--shadow-lg);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;}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(201,160,74,.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-dark);color:var(--cream);border-bottom-left-radius:4px;border:1px solid rgba(201,160,74,.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(255,255,255,.22);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(201,160,74,.08);border:1px solid rgba(201,160,74,.18);border-radius:50px;font-size:.76rem;color:var(--gold-pale);font-family:var(--ff-body);cursor:pointer;transition:background .2s,border-color .2s,transform .2s;}
.chat-suggestions button:hover{background:rgba(201,160,74,.18);border-color:var(--gold);transform:translateX(4px);}
.chat-input-row{display:flex;gap:.6rem;padding:.85rem 1rem;border-top:1px solid rgba(201,160,74,.1);background:var(--charcoal);}
#chat-input{flex:1;padding:.65rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,160,74,.2);border-radius:50px;font-family:var(--ff-body);font-size:.82rem;color:var(--cream);outline:none;transition:border-color .25s;}
#chat-input::placeholder{color:rgba(255,255,255,.25);}
#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:6rem 1.5rem 4rem;}
  .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:76px;left:0;right:0;flex-direction:column;background:rgba(13,10,7,.97);padding:1.2rem 1.5rem 2rem;gap:.25rem;border-bottom:1px solid rgba(201,160,74,.15);box-shadow:var(--shadow-lg);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 1.25rem;}
  .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(255,255,255,.05);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(201,160,74,.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:64px;padding:0 1rem;}
  .page{padding-top:64px;}
  .nav-links{top:64px;}
  .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(201,160,74,.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(13,10,7,.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(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(6px);animation:fadeIn .25s ease;}
.pay-modal-overlay.hidden{display:none;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.pay-modal-box{position:relative;background:var(--dark-card);border:1px solid rgba(201,160,74,.25);border-radius:var(--r-lg);padding:2.5rem 2rem 2rem;max-width:460px;width:100%;box-shadow:var(--shadow-lg);animation:modalSlide .3s var(--ease);}
@keyframes modalSlide{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.pay-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(201,160,74,.2);color:rgba(255,255,255,.6);font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;}
.pay-modal-close:hover{background:rgba(201,160,74,.15);color:var(--gold);}
.pay-modal-icon{font-size:2.8rem;margin-bottom:1rem;text-align:center;}
.pay-modal-title{font-family:var(--ff-display);font-size:1.6rem;font-weight:400;color:var(--cream);margin-bottom:.5rem;text-align:center;}
.pay-modal-title em{font-style:italic;color:var(--gold);}
.pay-modal-sub{font-size:.84rem;color:rgba(255,255,255,.45);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(255,255,255,.04);border:1px solid rgba(201,160,74,.1);border-radius:var(--r-sm);}
.pay-modal-item-icon{font-size:1.4rem;flex-shrink:0;}
.pay-modal-item-text strong{display:block;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--cream);margin-bottom:.2rem;}
.pay-modal-item-text span{font-size:.75rem;color:rgba(255,255,255,.38);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(255,255,255,.25);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;}}