/* Urban Opulence – warm luxe theme (gold · cream · beige · mocha) */
:root{
  --uo-white:#fffdf9;--uo-cream:#fbf6ee;--uo-beige:#f2e8d9;--uo-sand:#e6d5bd;
  --uo-espresso:#281d16;--uo-mocha:#3d2c21;--uo-brown:#5b3f2c;--uo-cocoa:#7a5a43;
  --uo-head:#2b1e16;--uo-text:#4e3c30;--uo-soft:#7a6555;
  --uo-gold:#c99a3e;--uo-gold-deep:#9a7127;--uo-gold-light:#f1d68f;
  --uo-line:#e2d2bb;--uo-shadow:0 22px 50px rgba(74,48,26,.12);
  --uo-serif:"Lora",Georgia,"Times New Roman",serif;
  --uo-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --uo-ui:"Work Sans","Helvetica Neue",Arial,sans-serif;
}
html body{background:var(--uo-espresso);font-family:var(--uo-ui)}
/* keep the homepage + services hero exactly as designed */
.uo-keep-hero .hero{font-family:Manrope,Arial,sans-serif}

/* ---------- Typography (Toast-style: condensed display + Lora reading text) ---------- */
:is(h1,h2):not(.uo-keep-hero .hero *):not(.logo *):not(.brand *){
  font-family:var(--uo-display)!important;font-weight:600!important;line-height:1.02!important;letter-spacing:.005em!important}
:is(h3,h4):not(.uo-keep-hero .hero *):not(.logo *):not(.brand *):not(.uo-footer *){
  font-family:var(--uo-serif)!important;font-weight:500!important;line-height:1.25!important;letter-spacing:0!important}
:is(p,li,dd,blockquote,figcaption,td,details>div,.desc,.review-card p,.faq-a,.answer):not(.uo-keep-hero .hero *):not(nav *):not(.uo-footer *):not(.uo-seo-service-areas *):not(.list *){
  font-family:var(--uo-serif)!important;font-size:max(16px,1em)!important;line-height:1.75!important;letter-spacing:0!important;text-transform:none!important}
.section-head p,.head p,.venues-head p,.client-logos-head p,.gallery-subcopy,.dj-video-intro p{font-size:18px!important}
:is(.kicker,.eyebrow,.section-kicker,.num,.tag,.seo-city-label,.review-source,.review-name):not(.uo-keep-hero .hero *){
  font-family:var(--uo-ui)!important;font-weight:600!important;letter-spacing:.2em!important}
:is(nav a,.btn,.cta,.ghost,button,.top-book,.uo-seo-area-cta,.seo-city-read,summary):not(.uo-keep-hero .hero *){font-family:var(--uo-ui)!important}
:is(.btn,.cta,.top-book,.uo-seo-area-cta):not(.uo-keep-hero .hero *){font-weight:600!important;letter-spacing:.14em!important}
summary{font-size:15px!important;font-weight:600!important;letter-spacing:.02em!important}

/* ---------- Header + footer: espresso, never pure black ---------- */
header:not(.hero header),.seo-header{background:rgba(40,29,22,.9)!important;border-bottom:1px solid rgba(201,154,62,.25)!important;backdrop-filter:blur(14px)}
.uo-footer,footer,.site-footer,.seo-footer{background:linear-gradient(180deg,#2f2219,#21170f)!important;border-top:1px solid rgba(201,154,62,.3)!important}
.site-menu-panel{background:#2f2219!important;border-color:rgba(201,154,62,.35)!important}

/* ---------- Gold buttons ---------- */
:is(.cta,.btn.gold,.uo-seo-area-cta,.btn-gold,a.btn:not(.outline)):not(.uo-keep-hero .hero *):not(section.cta){
  background:linear-gradient(135deg,#f3dc9c 0%,#d6ab52 48%,#b5852f 100%)!important;color:#2b1d14!important;border:1px solid #c99a3e!important;
  box-shadow:0 12px 28px rgba(154,113,39,.28)!important;transition:transform .3s,box-shadow .3s!important}
:is(.cta,.btn.gold,.uo-seo-area-cta,a.btn:not(.outline)):not(.uo-keep-hero .hero *):not(section.cta):hover{transform:translateY(-3px)!important;box-shadow:0 18px 36px rgba(154,113,39,.38)!important}
section.cta{background:radial-gradient(circle at 20% 0,rgba(201,154,62,.22),transparent 55%),linear-gradient(135deg,#4a3527,#2c2018)!important}

/* ---------- Light sections ---------- */
.uo-light{background:linear-gradient(180deg,var(--uo-cream),#f7efe2)!important;color:var(--uo-text)!important}
.uo-beige{background:linear-gradient(180deg,var(--uo-beige),#ecdfcb)!important;color:var(--uo-text)!important}
.uo-mocha{background:linear-gradient(180deg,#3d2c21,#33251c)!important}
:is(.uo-light,.uo-beige) :is(h1,h2,h3,h4,h5,strong,b,dt){color:var(--uo-head)!important;text-shadow:none!important}
:is(.uo-light,.uo-beige) :where(p,li,small,dd,td,th,label,figcaption,blockquote,summary,.desc,.note,span):not(.tag,.review-stars,.bx-tag,.bx-more){color:var(--uo-text)!important}
:is(.uo-light,.uo-beige) :is(.kicker,.eyebrow,.section-kicker,.num,.seo-city-label,.review-source,[class*="kicker"]){color:var(--uo-gold-deep)!important}
:is(.uo-light,.uo-beige) :is(h2,h1) span{color:var(--uo-gold-deep)!important}
:is(.uo-light,.uo-beige) :is(p,li,h3,h4) a:not(.cta):not(.btn){color:var(--uo-brown)!important}
:is(.uo-light,.uo-beige) :is(.price,.ap,.fact b,.review-quote,.review-stars,.seo-city-read,.stat b,.review-name,.signature,.bx-more){color:var(--uo-gold-deep)!important}
/* cards inside light sections become white with a soft warm shadow */
:is(.uo-light,.uo-beige) :is(.card,.pkg,.review-card,.venue-card,.feature,.exp-card,.experience-card,.qa-item,details,.faq-item,.seo-city-card,.addon,.media-card,.post-card,.bx-card,.coord-card,.service,.q-trad>div,.seo-card,.item,.note,.social-card,.stat-card,.fact,.trusted-item,.listed-card,.blog-card,article):not(.featured):not(.featured-review){
  background:var(--uo-white)!important;border-color:var(--uo-line)!important;box-shadow:var(--uo-shadow)}
:is(.uo-light,.uo-beige) :is(.card,.pkg,.review-card).featured,
:is(.uo-light,.uo-beige) .featured-review{background:linear-gradient(160deg,#4a3527,#2e2119)!important;border-color:var(--uo-gold)!important}
:is(.uo-light,.uo-beige) :is(.featured,.featured-review) :is(h3,h4,strong,b){color:#fff7ea!important}
:is(.uo-light,.uo-beige) :is(.featured,.featured-review) :is(p,li,span:not(.tag),div,small){color:#e9dccb!important}
:is(.uo-light,.uo-beige) :is(.featured,.featured-review) :is(.price,.review-stars,.review-quote,.review-name){color:var(--uo-gold-light)!important}
:is(.uo-light,.uo-beige) .tag{background:linear-gradient(135deg,#f3dc9c,#c99a3e)!important;color:#2b1d14!important}
:is(.uo-light,.uo-beige) .list{border-color:var(--uo-line)!important}
:is(.uo-light,.uo-beige) .list div{color:var(--uo-text)!important}
:is(.uo-light,.uo-beige) .featured .list div{color:#e9dccb!important}
:is(.uo-light,.uo-beige) .ghost,:is(.uo-light,.uo-beige) .btn.outline{border-color:var(--uo-brown)!important;color:var(--uo-brown)!important}
:is(.uo-light,.uo-beige) .tab{border-color:#b89c7c!important;color:var(--uo-brown)!important}
:is(.uo-light,.uo-beige) .tab.active,:is(.uo-light,.uo-beige) .tab:hover{background:var(--uo-mocha)!important;border-color:var(--uo-mocha)!important;color:#fff7ea!important}
:is(.uo-light,.uo-beige) .portrait{background:var(--uo-sand)!important;box-shadow:0 30px 70px rgba(74,48,26,.25)!important}
:is(.uo-light,.uo-beige) .portrait:after{color:#fff!important}
:is(.uo-light,.uo-beige) .fact,:is(.uo-light,.uo-beige) .stat{border-color:var(--uo-gold)!important;background:transparent!important;box-shadow:none!important}
:is(.uo-light,.uo-beige) input,:is(.uo-light,.uo-beige) textarea,:is(.uo-light,.uo-beige) select{background:#fff!important;color:var(--uo-head)!important;border-color:var(--uo-line)!important}
/* service-area strip */
.uo-seo-service-areas.uo-beige span{color:var(--uo-gold-deep)!important}
.uo-seo-service-areas.uo-beige nav a{border-color:#c9ae8a!important;color:var(--uo-brown)!important;background:rgba(255,255,255,.55)}
.uo-seo-service-areas.uo-beige nav a:hover{background:var(--uo-mocha)!important;color:#fff7ea!important}
.uo-seo-service-areas.uo-beige .uo-seo-area-cta{color:#2b1d14!important}
.seo-city-note{background:rgba(255,255,255,.6)!important;border-color:var(--uo-line)!important}
/* blog posts read on cream paper, like a magazine */
body:has(article.post) main{background:linear-gradient(180deg,var(--uo-cream),#f6eddf)}
article.post :is(h2,h3,h4,strong){color:var(--uo-head)!important}
article.post :is(p,li,td){color:var(--uo-text)!important}
article.post a{color:var(--uo-gold-deep)!important}
article.post :is(blockquote,.post-cta,.tldr,table){background:var(--uo-white)!important;border-color:var(--uo-line)!important;color:var(--uo-text)!important}
article.post blockquote p{color:var(--uo-head)!important}
article.post .post-cta :is(h3,p){color:var(--uo-head)!important}
article.post img{border-color:var(--uo-line)!important;box-shadow:var(--uo-shadow)}
article.post :is(th){color:var(--uo-head)!important;background:var(--uo-beige)!important}

/* ---------- Tasteful 3D touches ---------- */
@media (hover:hover){
  :is(.uo-light,.uo-beige) :is(.card,.review-card,.venue-card,.seo-city-card,.client-logo-card){transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s!important}
  :is(.uo-light,.uo-beige) :is(.card,.review-card,.venue-card,.seo-city-card):hover{transform:perspective(900px) rotateX(2deg) rotateY(-3deg) translateY(-8px)!important;box-shadow:0 34px 70px rgba(74,48,26,.22)!important}
}
.uo-reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.uo-reveal.uo-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.uo-reveal{opacity:1;transform:none;transition:none}}

/* fine-tuning */
:is(.uo-light,.uo-beige) :is(.venues-note,.rating-line,.seo-city-note){color:var(--uo-brown)!important}
:is(.uo-light,.uo-beige) .bx-chip{color:var(--uo-brown)!important;border-color:#c9ae8a!important;background:rgba(255,255,255,.6)!important}
:is(.uo-light,.uo-beige) .bx-chip[aria-pressed="true"]{background:var(--uo-mocha)!important;color:#fff7ea!important;border-color:var(--uo-mocha)!important}
.bx-tag{color:#fff7ea!important}
:is(.uo-light,.uo-beige) .seo-card span{background:var(--uo-beige)!important;border-color:var(--uo-line)!important}
:is(.uo-light,.uo-beige) .seo-btn.alt{color:var(--uo-brown)!important;border-color:var(--uo-brown)!important;background:transparent!important}
.social-follow.uo-light .social-inner a{background:var(--uo-mocha)!important;color:#fff7ea!important;border-color:var(--uo-mocha)!important}
body:has(article.post) main :is(details){background:var(--uo-white)!important;border-color:var(--uo-line)!important}
body:has(article.post) main :is(summary,details p){color:var(--uo-head)!important}
article.post em{color:var(--uo-soft)!important}
article.post :is(td,li,p,th) span{color:var(--uo-gold-deep)!important}

:is(.uo-light,.uo-beige) .seo-city-note a,.booking.uo-light a:not(.cta):not(.btn){color:var(--uo-gold-deep)!important}
:is(.uo-light,.uo-beige) .chips span{background:var(--uo-white)!important;border-color:var(--uo-line)!important;color:var(--uo-brown)!important;box-shadow:0 6px 16px rgba(74,48,26,.08)}
:is(.uo-light,.uo-beige) .seo-links a{background:var(--uo-white)!important;border-color:var(--uo-line)!important;box-shadow:var(--uo-shadow)}
:is(.uo-light,.uo-beige) .seo-links a,:is(.uo-light,.uo-beige) .seo-links a :is(span,small,p){color:var(--uo-text)!important}

/* ---------- Homepage video reel: framed portrait cards ---------- */
#gallery .uo-reel{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;max-width:1180px;margin:0 auto}
#gallery .uo-reel .gallery-tile,#gallery .uo-reel .gallery-tile:first-child{aspect-ratio:4/5!important;grid-column:auto!important;grid-row:auto!important;border-radius:18px!important;
  border:1px solid rgba(241,214,143,.45)!important;background:#1f160f!important;padding:0!important;overflow:hidden!important;
  box-shadow:0 30px 60px rgba(15,8,3,.55),0 0 0 6px rgba(241,214,143,.06)!important;transition:transform .35s ease,box-shadow .35s ease!important;transform-style:preserve-3d;will-change:transform}
#gallery .uo-reel .gallery-tile:before{display:none!important}
#gallery .uo-reel .gallery-tile:after{content:""!important;position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(20,12,7,0) 55%,rgba(20,12,7,.82) 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#gallery .uo-reel .gallery-tile video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 35%!important;filter:saturate(1.05) contrast(1.04)!important}
#gallery .uo-reel .gallery-tile .tile-shade{display:none!important}
#gallery .uo-reel .gallery-tile:hover{box-shadow:0 40px 80px rgba(15,8,3,.65),0 0 0 6px rgba(241,214,143,.14)!important}
.uo-cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:3;display:flex;flex-direction:column;gap:4px;pointer-events:none}
.uo-cap span{font:600 10px/1.2 var(--uo-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--uo-gold-light)}
.uo-cap strong{font:600 22px/1.1 var(--uo-display);color:#fff7ea;letter-spacing:.01em}
@media(max-width:900px){#gallery .uo-reel{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}}
@media(max-width:560px){#gallery .uo-reel{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  #gallery .uo-reel .gallery-tile,#gallery .uo-reel .gallery-tile:first-child{border-radius:14px!important;aspect-ratio:9/14!important}.uo-cap{left:12px;right:12px;bottom:12px}.uo-cap strong{font-size:16px}.uo-cap span{font-size:8px}}

/* ---------- Photo slideshow (gallery page) ---------- */
.uo-slideshow{position:relative;max-width:1100px;margin:34px auto 0;border-radius:22px;overflow:hidden;background:#2a1e17;
  box-shadow:0 40px 90px rgba(74,48,26,.32),0 0 0 1px rgba(201,154,62,.35);aspect-ratio:16/10}
.uo-stage{position:absolute;inset:0}
.uo-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;overflow:hidden}
.uo-slide:before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover;filter:blur(28px) brightness(.55) saturate(1.1);transform:scale(1.1)}
.uo-slide img{position:relative;width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.04);transition:transform 6s ease}
.uo-slide.is-active{opacity:1;z-index:1}
.uo-slide.is-active img{transform:scale(1)}
.uo-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid rgba(241,214,143,.6);
  background:rgba(40,29,22,.55);color:#fff7ea;font:400 30px/1 var(--uo-serif);cursor:pointer;backdrop-filter:blur(6px);transition:background .25s,transform .25s}
.uo-nav:hover{background:rgba(201,154,62,.85);color:#2b1d14}
.uo-prev{left:18px}.uo-next{right:18px}
.uo-dots{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 70px}
.uo-dot{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid rgba(255,247,234,.8);background:transparent;cursor:pointer;transition:all .3s}
.uo-dot.is-active{background:var(--uo-gold-light);border-color:var(--uo-gold-light);width:26px;border-radius:6px}
.uo-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:rgba(255,255,255,.12)}
.uo-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f3dc9c,#c99a3e)}
@media(max-width:700px){.uo-slideshow{aspect-ratio:4/5;border-radius:16px}.uo-nav{width:40px;height:40px;font-size:24px}.uo-prev{left:10px}.uo-next{right:10px}.uo-dots{bottom:16px;padding:0 54px;gap:6px}.uo-dot{width:7px;height:7px}.uo-dot.is-active{width:18px}}

/* ---------- Organizations: auto-scrolling logo slideshow ---------- */
.uo-marquee{max-width:1240px;margin:0 auto;overflow:hidden;position:relative;padding:14px 0 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.uo-marquee-track{display:flex;gap:22px;width:max-content;animation:uo-scroll 46s linear infinite}
.uo-marquee:hover .uo-marquee-track{animation-play-state:paused}
.uo-marquee-dup{display:flex;gap:22px}
.uo-marquee .client-logo-card{flex:0 0 230px;min-height:130px!important;border-radius:16px;background:var(--uo-white)!important;border:1px solid var(--uo-line)!important;box-shadow:0 16px 34px rgba(74,48,26,.12)!important}
.uo-marquee .client-logo-card img{max-height:78px!important}
@keyframes uo-scroll{to{transform:translateX(calc(-50% - 11px))}}
@media(max-width:700px){.uo-marquee .client-logo-card{flex-basis:170px;min-height:104px!important}.uo-marquee-track{animation-duration:34s}}
@media (prefers-reduced-motion:reduce){.uo-marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.uo-marquee-dup{display:none}}

/* ---------- Venues: small logo badges ---------- */
.venue-card{gap:2px}
.uo-vlogo{position:relative;width:64px;height:64px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 30% 25%,#fff8e6,#efd9a6 60%,#c99a3e);box-shadow:0 8px 20px rgba(74,48,26,.18),0 0 0 3px #fff,0 0 0 4px rgba(201,154,62,.55)}
.uo-vlogo em{font:600 19px/1 var(--uo-display);font-style:normal;color:#5b3f2c;letter-spacing:.04em}
.uo-vlogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
:is(.uo-light,.uo-beige) .venue-card span:not(.uo-vlogo){color:var(--uo-gold-deep)!important}
:is(.uo-light,.uo-beige) .venue-card{border-radius:16px}
:is(.uo-light,.uo-beige) .venue-card:after{border-color:rgba(201,154,62,.18)!important}
:is(.uo-light,.uo-beige) .venue-card strong{color:var(--uo-head)!important}
@media(max-width:560px){header :is(.book,.top-book,.cta,.btn){padding:10px 12px!important;font-size:10px!important;letter-spacing:.08em!important;white-space:nowrap}
  :is(h1,h2):not(.uo-keep-hero .hero *){overflow-wrap:break-word}}
@media(max-width:560px){.venues-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.venue-card{padding:18px 10px!important;min-height:0!important}.venue-card strong{font-size:19px!important}.uo-vlogo{width:52px;height:52px}}
.uo-vlogo img{object-fit:contain!important;padding:5px}
.uo-vlogo img.is-photo{object-fit:cover!important;padding:0!important}
.org-wordmark strong.uo-brand{color:var(--c)!important}
.head:has(.perks){max-width:1040px!important}
.head .perks li{font-size:15px!important;line-height:1.45!important;padding-left:1.6em;text-indent:-1.6em}

/* ---------- Always-visible navigation (no dropdown) ---------- */
.site-menu-toggle{display:none!important}
.site-menu{flex:1 1 auto;display:flex!important;justify-content:center;min-width:0;margin:0 14px}
.site-menu-panel{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 4px}
.site-menu-panel a{display:inline-block!important;border:0!important;padding:10px 13px!important;border-radius:999px;white-space:nowrap;
  font:600 12px/1 var(--uo-ui)!important;letter-spacing:.12em!important;text-transform:uppercase;color:#f5ead8!important;background:transparent;transition:background .25s,color .25s}
.site-menu-panel a:hover,.site-menu-panel a[aria-current="page"]{color:#2b1d14!important;background:linear-gradient(135deg,#f3dc9c,#c99a3e)!important}
header .wrap.nav{flex-wrap:wrap}
.seo-nav{display:flex!important;flex-wrap:wrap;justify-content:center;gap:4px}
.seo-nav a{white-space:nowrap}
@media(max-width:980px){
  header:has(.site-menu){flex-wrap:wrap!important;row-gap:6px;padding-top:10px!important;padding-bottom:8px!important}
  header .wrap.nav{row-gap:6px}
  header .site-menu{order:3;flex-basis:100%;margin:0}
  .site-menu-panel{gap:2px}
  .site-menu-panel a{padding:8px 10px!important;font-size:11px!important;letter-spacing:.08em!important}
  .seo-header{flex-wrap:wrap;row-gap:6px}
  .seo-nav{flex-basis:100%;order:3}
  .seo-nav a{padding:7px 9px!important;font-size:11px!important}
}
@media(max-width:560px){
  header .wrap.nav .brand{flex:1 1 auto;min-width:0}
  header .wrap.nav .brand-name{font-size:19px!important}
  header .wrap.nav .brand-mark{width:30px!important;height:30px!important;font-size:16px!important}
  header .wrap.nav .book{flex:0 0 auto}
}
@media(max-width:560px){
  header .wrap.nav{gap:6px 10px!important;min-height:0!important}
  header .wrap.nav .brand strong{font-size:19px!important}
  header .wrap.nav .brand .mark{width:30px!important;height:30px!important;font-size:16px!important}
  header .wrap.nav .top-book{flex:0 0 auto}
}
