/* Urban Opulence – "Luxe" layer: gold, black, brown & cream with monograms, glow, 3D and motion.
   Loads after uo-theme.css on every page. All motion respects prefers-reduced-motion. */
:root{
  --lx-black:#0b0907;--lx-onyx:#14100c;--lx-brown:#4a3222;--lx-brown-2:#6b4a33;--lx-cream:#f6efe2;--lx-cream-2:#efe3cd;
  --lx-gold:#c9a24d;--lx-gold-2:#e8cf8a;--lx-gold-3:#f7e8bf;--lx-gold-deep:#8f6b28;
  --lx-foil:linear-gradient(115deg,#9c7425 0%,#e8cf8a 28%,#fff4d2 42%,#d6b05e 58%,#a97f33 78%,#f1dca0 100%);
  --lx-glow:0 0 18px rgba(232,207,138,.45),0 0 42px rgba(201,162,77,.25);
  --lx-tick:38px;
}
@media(max-width:560px){:root{--lx-tick:32px}}

/* ---------- Black & gold canvas ---------- */
html body{background:var(--lx-black)}
header:not(.hero header),.seo-header{background:linear-gradient(180deg,rgba(11,9,7,.96),rgba(20,16,12,.92))!important;border-bottom:1px solid rgba(201,162,77,.45)!important;box-shadow:0 10px 30px -18px rgba(0,0,0,.9),0 1px 0 rgba(232,207,138,.08)}
.uo-footer,footer,.site-footer,.seo-footer{background:radial-gradient(ellipse at 50% 0,rgba(201,162,77,.14),transparent 60%),linear-gradient(180deg,#120e0a,#070605)!important;border-top:1px solid rgba(201,162,77,.55)!important}
.uo-mocha{background:radial-gradient(ellipse at 15% 0,rgba(201,162,77,.10),transparent 55%),linear-gradient(180deg,#1b140f,#0e0a08)!important}
section.cta{background:radial-gradient(circle at 20% 0,rgba(232,207,138,.22),transparent 55%),radial-gradient(circle at 85% 100%,rgba(107,74,51,.55),transparent 60%),linear-gradient(135deg,#1c1510,#0b0907)!important}
.uo-light{background:radial-gradient(ellipse at 50% -10%,rgba(232,207,138,.18),transparent 60%),linear-gradient(180deg,var(--lx-cream),#f3e8d6)!important}
.uo-beige{background:radial-gradient(ellipse at 90% 0,rgba(255,255,255,.5),transparent 55%),linear-gradient(180deg,var(--lx-cream-2),#e8d9bf)!important}

/* ---------- "Now Booking" scrolling ticker ---------- */
body.lx-ticker-on{padding-top:var(--lx-tick)!important}
body.lx-ticker-on :is(header,.seo-header):not(.hero header){top:var(--lx-tick)!important}
.lx-ticker{position:fixed;top:0;left:0;right:0;height:var(--lx-tick);z-index:1000;display:flex;align-items:center;overflow:hidden;text-decoration:none!important;
  background:linear-gradient(90deg,#0b0907,#2a1d14 20%,#0b0907 50%,#2a1d14 80%,#0b0907);border-bottom:1px solid rgba(232,207,138,.55);
  box-shadow:0 0 22px rgba(201,162,77,.25)}
.lx-ticker:before,.lx-ticker:after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
.lx-ticker:before{left:0;background:linear-gradient(90deg,#0b0907,transparent)}.lx-ticker:after{right:0;background:linear-gradient(-90deg,#0b0907,transparent)}
.lx-ticker-track{display:flex;width:max-content;animation:lx-tick 38s linear infinite}
.lx-ticker:hover .lx-ticker-track{animation-play-state:paused}
.lx-ticker-run{display:flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap}
.lx-ticker-run b{font:600 12px/1 var(--uo-ui);letter-spacing:.28em;text-transform:uppercase;background:var(--lx-foil);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:lx-foil 5s linear infinite}
.lx-ticker-run i{font:italic 500 16px/1 var(--uo-serif);color:var(--lx-cream);letter-spacing:.02em}
.lx-ticker-run .lx-mono{width:20px;height:20px;flex:0 0 20px;filter:drop-shadow(0 0 6px rgba(232,207,138,.6))}
.lx-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--lx-p,0));z-index:3;
  background:linear-gradient(90deg,var(--lx-gold-deep),var(--lx-gold-3),var(--lx-gold));box-shadow:0 0 10px var(--lx-gold-2)}
@keyframes lx-tick{to{transform:translateX(-50%)}}
@keyframes lx-foil{to{background-position:-200% 0}}
@media(max-width:560px){.lx-ticker-run b{font-size:10px;letter-spacing:.2em}.lx-ticker-run i{font-size:13px}.lx-ticker-run .lx-mono{width:16px;height:16px;flex-basis:16px}}

/* ---------- Monograms ---------- */
.lx-mono{display:inline-block;vertical-align:middle;line-height:0}
.lx-mono svg{width:100%;height:100%;display:block;overflow:visible}
/* header medallion */
.lx-logo-mono{position:absolute;left:0;top:50%;width:38px;height:38px;margin-top:-19px;filter:drop-shadow(0 0 8px rgba(232,207,138,.45));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
:is(header .logo,header .brand,.seo-brand):hover .lx-logo-mono{transform:rotate(360deg)}
:is(header .logo,header .brand,.seo-brand).lx-has-mono{position:relative;padding-left:50px!important}
@media(max-width:700px){.lx-logo-mono{display:none!important}:is(header .logo,header .brand,.seo-brand).lx-has-mono{padding-left:0!important}}
/* section-head ornament: ——— ◎ ——— */
.lx-orn{display:flex;align-items:center;gap:14px;margin:0 0 14px;max-width:260px}
.lx-orn:before,.lx-orn:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--lx-gold))}
.lx-orn:after{background:linear-gradient(90deg,var(--lx-gold),transparent)}
.lx-orn .lx-mono{width:34px;height:34px;flex:0 0 34px;filter:drop-shadow(0 0 10px rgba(232,207,138,.5))}
.lx-orn.lx-center{margin-left:auto;margin-right:auto}
/* hero watermark */
.lx-hero-mono{position:absolute;z-index:1;pointer-events:none;right:4vw;top:50%;width:min(46vw,520px);aspect-ratio:1;opacity:.16;
  transform:translateY(calc(-50% + var(--lx-par,0px))) rotate(var(--lx-rot,0deg));filter:drop-shadow(0 0 30px rgba(232,207,138,.55));mix-blend-mode:screen}
.lx-hero-mono .lx-mono{width:100%;height:100%}
@media(max-width:800px){.lx-hero-mono{right:-18vw;width:80vw;opacity:.12}}
/* footer seal */
.lx-seal{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px 6px;text-align:center}
.lx-seal .lx-mono{width:92px;height:92px;filter:drop-shadow(0 0 18px rgba(232,207,138,.5));animation:lx-breathe 5s ease-in-out infinite}
.lx-seal strong{font:600 22px/1.1 var(--uo-display);letter-spacing:.32em;text-transform:uppercase;background:var(--lx-foil);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:lx-foil 6s linear infinite}
.lx-seal small{font:500 10px/1.4 var(--uo-ui);letter-spacing:.42em;text-transform:uppercase;color:var(--lx-gold-2)}
@keyframes lx-breathe{0%,100%{filter:drop-shadow(0 0 10px rgba(232,207,138,.35))}50%{filter:drop-shadow(0 0 26px rgba(232,207,138,.85))}}
/* faint monogram watermark on package cards */
.packages .card{position:relative;overflow:visible}
.packages .card>.lx-card-mono{position:absolute;right:14px;bottom:14px;width:110px;height:110px;opacity:.08;pointer-events:none;transform:rotate(-12deg)}
.packages .card.featured>.lx-card-mono{opacity:.16}

/* ---------- Glow of elegance ---------- */
.hero-title span,.hero h1 span{text-shadow:0 0 22px rgba(232,207,138,.55),0 0 60px rgba(201,162,77,.35),0 2px 0 #8f6b28,0 4px 0 #6b4f1d,0 10px 30px rgba(0,0,0,.6)!important;animation:lx-shimmer 4.5s ease-in-out infinite}
@keyframes lx-shimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
section:not(.uo-light):not(.uo-beige) h2 :is(span,em){text-shadow:var(--lx-glow)}
:is(.cta,a.btn:not(.outline),.btn.gold,.uo-seo-area-cta,.btn-gold):not(section.cta){position:relative;isolation:isolate}
:is(.cta,a.btn:not(.outline),.btn.gold,.uo-seo-area-cta):not(section.cta)::after{content:"";position:absolute;inset:-3px;border-radius:inherit;z-index:-1;pointer-events:none;
  box-shadow:0 0 0 0 rgba(232,207,138,.55);animation:lx-halo 2.8s ease-out infinite}
@keyframes lx-halo{0%{box-shadow:0 0 0 0 rgba(232,207,138,.5)}70%{box-shadow:0 0 0 12px rgba(232,207,138,0)}100%{box-shadow:0 0 0 0 rgba(232,207,138,0)}}
.stat b,.hero-stats b{text-shadow:0 0 16px rgba(232,207,138,.55)}
/* animated gold border on featured / most-booked cards */
.packages .card.featured{border:1px solid transparent!important;background:
  linear-gradient(160deg,#2b1e15,#120d09) padding-box,
  conic-gradient(from var(--lx-ang,0deg),#8f6b28,#f7e8bf,#c9a24d,#4a3222,#e8cf8a,#8f6b28) border-box!important;
  animation:lx-spin 6s linear infinite;box-shadow:0 0 0 1px rgba(232,207,138,.25),0 30px 70px -20px rgba(201,162,77,.55),0 0 40px rgba(201,162,77,.18)!important}
@property --lx-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes lx-spin{to{--lx-ang:360deg}}

/* ---------- 3D tilt + light sheen on cards ---------- */
.lx-tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s!important;will-change:transform}
.lx-tilt.lx-tilting{transition:transform .08s linear,box-shadow .3s!important}
.lx-tilt>.lx-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .4s;
  background:radial-gradient(circle at var(--lx-mx,50%) var(--lx-my,50%),rgba(255,244,210,.35),transparent 45%);mix-blend-mode:soft-light}
.lx-tilt.lx-tilting>.lx-sheen{opacity:1}
.lx-tilt.lx-tilting{box-shadow:0 40px 80px -30px rgba(60,38,20,.6),0 0 30px rgba(232,207,138,.25)!important}
.packages .card h3,.packages .card .price{transform:translateZ(30px)}

/* ---------- Pop-in on scroll ---------- */
.lx-pop{opacity:0;transform:translateY(30px) scale(.9)}
.lx-pop.lx-popped{animation:lx-popin .9s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes lx-popin{0%{opacity:0;transform:translateY(30px) scale(.9)}60%{opacity:1;transform:translateY(-4px) scale(1.03)}100%{opacity:1;transform:none}}
.packages .tag{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.packages .card:hover .tag{transform:scale(1.08)}
:is(.cta,a.btn,.ghost,.tab):active{transform:scale(.96)!important}

/* gold confetti burst on CTA clicks */
.lx-spark{position:fixed;z-index:2000;width:7px;height:7px;pointer-events:none;border-radius:1px;background:var(--lx-foil);box-shadow:0 0 6px rgba(232,207,138,.9)}

/* hero gold dust */
.lx-dust{position:absolute;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}

/* ---------- Typewriter ---------- */
.lx-type{border-right:2px solid var(--lx-gold-2);padding-right:3px;animation:lx-caret .9s step-end infinite;white-space:pre-wrap}
.lx-type.lx-done{border-right-color:transparent;animation:none}
@keyframes lx-caret{50%{border-right-color:transparent}}
.hero-sub.lx-type{display:inline-block;min-height:1.6em;color:var(--lx-gold-3)!important;text-shadow:0 0 18px rgba(232,207,138,.35),0 2px 18px rgba(0,0,0,.85)!important}

/* ---------- Corporate coverage line + karaoke note ---------- */
#corporate .coverage{border-bottom:1px solid rgba(184,145,47,.45);padding:2px 4px 14px;margin:0 0 4px}
#corporate .cov-big{display:block;font:600 24px/1.1 "Cormorant Garamond",Georgia,serif;letter-spacing:.08em;text-transform:uppercase;color:#2b1d14}
#corporate .featured .cov-big{color:#fff7ea}
.uo-addon-note{margin:18px 0 0!important;padding:14px 16px;border:1px dashed rgba(201,162,77,.7);border-radius:12px;background:linear-gradient(135deg,rgba(247,232,191,.35),rgba(201,162,77,.08));
  font-size:15px!important;line-height:1.6!important}
.uo-addon-note em{font-family:var(--uo-serif);font-size:1.12em;font-weight:600;color:var(--lx-gold-deep)!important}
.featured .uo-addon-note{background:rgba(232,207,138,.08);border-color:rgba(232,207,138,.6)}
.featured .uo-addon-note em{color:var(--lx-gold-2)!important}

/* ---------- Scroll-to-top monogram button ---------- */
.lx-top{position:fixed;right:18px;bottom:18px;z-index:900;width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,207,138,.6);cursor:pointer;padding:9px;
  background:radial-gradient(circle at 30% 25%,#2e2118,#0b0907);box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 18px rgba(201,162,77,.3);
  opacity:0;transform:translateY(20px) scale(.8);transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.lx-top.lx-show{opacity:1;transform:none}
.lx-top:hover{box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 30px rgba(232,207,138,.7)}
.lx-top .lx-mono{width:100%;height:100%}

@media (prefers-reduced-motion:reduce){
  .lx-ticker-track{animation-duration:120s}
  .lx-pop{opacity:1;transform:none}.lx-pop.lx-popped{animation:none}
  .hero-title span,.hero h1 span,.lx-seal .lx-mono,.lx-ticker-run b,.lx-seal strong,.packages .card.featured{animation:none!important}
  :is(.cta,a.btn,.btn.gold,.uo-seo-area-cta)::after{animation:none!important}
  .lx-type{animation:none;border-right-color:transparent}
}

/* footer seal as the footer logo (before the menu) */
.lx-seal.lx-seal-top{padding:8px 16px 26px}
.footer-logo-wrap:has(.lx-seal){display:flex;justify-content:center;width:auto!important;max-width:none!important;height:auto!important;background:none!important;border:0!important;box-shadow:none!important}
.footer-grid>div>.lx-seal.lx-seal-top,.site-footer .lx-seal.lx-seal-top{align-items:flex-start;text-align:left;padding:0 0 22px}
