/* ==========================================================================
   Events By Maryam: "Luxe" design layer (build 8)
   Loaded last on every page. Frosted glass surfaces, soft rounded geometry,
   hairline borders, a champagne-gold gradient and ambient light.
   Colors only get lighter or darker in ways that keep text contrast ≥ 4.5:1.
   ========================================================================== */
:root{
  --lx-gold-grad: linear-gradient(135deg,#f3e0a0 0%,#dcb94c 38%,#c79d2c 70%,#a77f1c 100%);
  --lx-gold-soft: rgba(212,175,55,.14);
  --lx-hair: rgba(255,255,255,.09);
  --lx-hair-gold: rgba(212,175,55,.28);
  --lx-glass: linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  --lx-glass-solid: rgba(22,22,24,.62);
  --lx-shadow: 0 30px 60px -30px rgba(0,0,0,.75), 0 1px 0 rgba(255,255,255,.06) inset;
  --lx-shadow-lift: 0 40px 80px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(212,175,55,.35) inset, 0 0 40px -10px rgba(212,175,55,.25);
  --lx-r-xl: 32px; --lx-r-lg: 24px; --lx-r-md: 18px; --lx-r-sm: 14px; --lx-pill: 999px;
  --lx-ease: cubic-bezier(.22,1,.36,1);
  --lx-light-card: rgba(255,255,255,.72);
  --lx-light-shadow: 0 24px 60px -28px rgba(60,45,10,.28), 0 1px 0 rgba(255,255,255,.9) inset;
}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:rgba(212,175,55,.35);color:#fff}

/* ---------- Ambient light behind dark pages ---------- */
body.page-inner,body.page-tool{background:#121213}
body.page-inner::before,body.page-tool::before{
  content:"";position:fixed;inset:-10vh -10vw;z-index:-1;pointer-events:none;
  background:
    radial-gradient(55vw 45vh at 8% 0%,rgba(212,175,55,.13),transparent 62%),
    radial-gradient(50vw 50vh at 100% 35%,rgba(128,0,32,.16),transparent 60%),
    radial-gradient(60vw 50vh at 30% 100%,rgba(212,175,55,.07),transparent 60%);
}
body.page-inner .section-dark,body.page-inner .stats-section{background:rgba(6,6,7,.42)!important;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
body.page-inner .site-links{background:rgba(6,6,7,.72);border-top:1px solid var(--lx-hair)}
body.page-inner footer,body.page-tool footer{background:rgba(6,6,7,.85)}

/* ---------- Typography polish ---------- */
h1,h2,h3{letter-spacing:.005em}
.hero h1,#hero .hero-title{text-shadow:0 8px 40px rgba(0,0,0,.45)}
.section-label,.section-header .section-label,.about-text .section-label{letter-spacing:.32em;font-weight:700;font-size:.7rem}
.section h2,.section-dark h2{letter-spacing:-.005em}

/* ---------- Navigation: floating glass capsule ---------- */
nav,.site-nav{
  top:12px!important;left:16px!important;right:16px!important;
  border-radius:var(--lx-pill);
  background:rgba(18,18,20,.55)!important;
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px -25px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.06) inset;
  padding:.55rem .65rem .55rem 1.4rem!important;
  transition:background .4s var(--lx-ease),top .4s var(--lx-ease);
}
nav.scrolled{background:rgba(14,14,16,.72)!important}
.nav-logo img{max-height:46px!important}
.nav-links a{letter-spacing:.14em;font-weight:400;opacity:.88;transition:opacity .25s,color .25s}
.nav-links a:hover{opacity:1}
.nav-links a::after{border-radius:2px;background:var(--lx-gold-grad)}
.nav-cta{border-radius:var(--lx-pill)!important;background:var(--lx-gold-grad)!important;color:#1a1405!important;
  box-shadow:0 8px 24px -8px rgba(212,175,55,.6),0 1px 0 rgba(255,255,255,.5) inset;border:0!important;padding:.7rem 1.35rem!important}
.nav-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}
.hamburger{border-radius:50%;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important}
.hamburger span{width:20px!important;border-radius:2px;margin:0 auto}
@media (max-width:768px){
  nav,.site-nav{top:10px!important;left:10px!important;right:10px!important;border-radius:22px;padding:.45rem .5rem .45rem 1rem!important}
  .nav-logo img{max-height:40px!important}
}
/* full-screen menu: dark glass */
.mobile-menu,.mobile-menu.active{background:rgba(10,10,12,.86)!important;background-color:rgba(10,10,12,.86)!important;
  -webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.mobile-menu a{padding:.2rem 1.2rem;border-radius:var(--lx-pill);transition:background .25s,color .25s}
.mobile-menu a:hover{background:rgba(255,255,255,.05)}

/* ---------- Buttons ---------- */
.btn-gold,.cta-btn,.btn-submit,.est-result-box .est-cta-btn,.result-box .cta-btn,.btn.start,.hero-cta.primary{
  border-radius:var(--lx-pill)!important;border:0!important;
  background-image:var(--lx-gold-grad);background-color:#D4AF37;color:#1a1405!important;
  box-shadow:0 14px 34px -14px rgba(212,175,55,.75),0 1px 0 rgba(255,255,255,.55) inset,0 -1px 0 rgba(0,0,0,.12) inset;
  letter-spacing:.16em;font-weight:700;
  transition:transform .35s var(--lx-ease),box-shadow .35s var(--lx-ease),filter .35s;
}
.btn-gold[style*="background"]{background-image:none}
.btn-gold:hover,.cta-btn:hover,.btn-submit:hover,.est-result-box .est-cta-btn:hover,.result-box .cta-btn:hover{
  transform:translateY(-2px);filter:brightness(1.06);color:#1a1405!important;
  box-shadow:0 22px 44px -16px rgba(212,175,55,.85),0 1px 0 rgba(255,255,255,.6) inset}
.btn-gold:not([style*="background"]):hover,.btn-submit:hover,.cta-btn:hover{background-image:var(--lx-gold-grad);background-color:#D4AF37}
.btn-gold:active,.cta-btn:active,.btn-submit:active{transform:translateY(0) scale(.985)}
/* secondary: glass pill */
.btn-outline,.hero-cta,.share-btn,.cities-list a,.industries-list span,.filter-wrap label,.filter-btn,
.est-result-box .est-alt-link,.bundle-box .tag,.lang-toggle a{
  border-radius:var(--lx-pill)!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:all .35s var(--lx-ease);
}
body:not(.page-home) .btn-outline,.hero-cta,.share-btn,.cities-list a,.industries-list span,.filter-wrap label,.bundle-box .tag{
  background:rgba(255,255,255,.05);border:1px solid var(--lx-hair-gold)!important;box-shadow:0 1px 0 rgba(255,255,255,.06) inset}
body:not(.page-home) .btn-outline:hover,.hero-cta:hover,.share-btn:hover,.cities-list a:hover,.filter-wrap label:hover{
  background:rgba(212,175,55,.14);border-color:rgba(212,175,55,.7)!important;color:#f1d67a;transform:translateY(-1px)}
.filter-wrap input[type="radio"]:checked + label{background-image:var(--lx-gold-grad);color:#1a1405;border-color:transparent!important}
.cta-links{gap:.8rem}

/* ---------- Inner-page hero ---------- */
.hero,section.hero{position:relative;isolation:isolate}
.hero::after,section.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(18,18,19,.9))}
.hero-badge{display:inline-block;padding:.5rem 1.15rem;border-radius:var(--lx-pill);
  background:rgba(12,12,12,.35);border:1px solid rgba(212,175,55,.35);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  letter-spacing:.28em!important;font-size:.68rem!important;line-height:1.7;max-width:100%}
.hero p{color:#dcdcdc}

/* ---------- Glass cards (dark pages) ---------- */
.service-card,.why-card,.review-card,.package-card,.bundle-box,.est-card,.summary-card,
body.page-inner .testimonial,body.page-inner .step,.corporate-card,.venue-card,.blog-card,.theme-card,.option-card,.process-step{
  border-radius:var(--lx-r-lg)!important;
  background:var(--lx-glass)!important;
  border:1px solid var(--lx-hair)!important;
  box-shadow:var(--lx-shadow);
  transition:transform .5s var(--lx-ease),box-shadow .5s var(--lx-ease),border-color .5s var(--lx-ease);
  position:relative;overflow:hidden;
}
/* top highlight line */
.service-card::after,.review-card::after,.package-card::after,.why-card::after,.corporate-card::after,.venue-card::after,.blog-card::after,body.page-inner .testimonial::after{
  content:"";position:absolute;left:18%;right:18%;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.55),transparent);opacity:.7}
@media (hover:hover){
  .service-card,.review-card,.package-card,.why-card,.corporate-card,.venue-card,.blog-card,.bundle-box,.est-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .service-card:hover,.review-card:hover,.package-card:hover,.why-card:hover,.corporate-card:hover,.venue-card:hover,.blog-card:hover{
    transform:translateY(-6px);box-shadow:var(--lx-shadow-lift);border-color:rgba(212,175,55,.35)!important}
}
.service-card{padding:2.2rem 1.8rem!important}
.service-card .icon{
  width:60px;height:60px;margin:0 auto 1.1rem;display:grid;place-items:center;border-radius:20px;font-size:1.55rem;
  background:radial-gradient(circle at 30% 25%,rgba(212,175,55,.3),rgba(212,175,55,.06) 70%);
  border:1px solid rgba(212,175,55,.28);box-shadow:0 10px 24px -12px rgba(212,175,55,.5)}
.services-grid{gap:1.25rem!important}
/* left accent bars become soft glass quotes */
body.page-inner .testimonial,.why-card{border-left:1px solid var(--lx-hair)!important;padding:1.8rem 1.9rem 1.6rem!important}
body.page-inner .testimonial::before{content:"\201C";position:absolute;top:-.6rem;right:1.2rem;font-family:var(--font-heading);font-size:6rem;line-height:1;color:rgba(212,175,55,.18);pointer-events:none}
.package-card .savings,.review-type,.card-tag,.tag{border-radius:var(--lx-pill)}

/* ---------- FAQ: soft glass rows ---------- */
.faq-item{border-radius:var(--lx-r-md);padding:1.25rem 1.4rem;margin-bottom:.8rem!important;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--lx-hair)}
.faq-item h3{margin-bottom:.45rem}
.faq-item p:last-child{margin-bottom:0}

/* ---------- CTA band: floating glass panel ---------- */
.cta-section,.leave-review,.money-cta-band{
  margin:3.5rem auto!important;max-width:1100px;width:calc(100% - 32px);border-radius:var(--lx-r-xl)!important;
  background:
    radial-gradient(120% 140% at 0% 0%,rgba(212,175,55,.2),transparent 55%),
    radial-gradient(100% 120% at 100% 100%,rgba(128,0,32,.28),transparent 55%),
    rgba(20,20,22,.7)!important;
  border:1px solid rgba(212,175,55,.22);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.07) inset;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  overflow:hidden;
}
@media (max-width:768px){.cta-section,.leave-review,.money-cta-band{width:calc(100% - 20px);border-radius:26px!important;margin:2.5rem auto!important}}

/* ---------- Imagery: rounded, soft ---------- */
.gallery-strip{gap:.75rem!important}
.gallery-strip img,.section img:not([width="1"]):not(.emoji),.about-img,.about-img img,.portfolio-item,.insta-item,.event-card,.blog-card-img,.blog-card-img img,.map-embed,iframe[src*="google.com/maps"]{
  border-radius:var(--lx-r-md)}
.gallery-strip img{box-shadow:0 20px 40px -24px rgba(0,0,0,.8)}
.about-img::after{border-radius:var(--lx-r-lg)}
.portfolio-item,.insta-item,.event-card,.about-img{overflow:hidden;isolation:isolate}
.lightbox img{border-radius:var(--lx-r-md)}

/* ---------- Sticky bars ---------- */
/* phones: floating glass dock */
@media (max-width:768px){
  .sticky-cta{
    left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;
    border-radius:22px;border:1px solid rgba(255,255,255,.1)!important;border-top:1px solid rgba(255,255,255,.1)!important;
    background:rgba(16,16,18,.62)!important;
    -webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
    box-shadow:0 20px 50px -18px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.06) inset;
    padding:.4rem!important;gap:.4rem!important}
  .sticky-cta a{border-radius:16px!important;min-height:46px;font-size:.74rem!important;letter-spacing:.12em!important}
  .sticky-cta .cta-call,.sticky-cta a:not(.cta-book){border:1px solid rgba(212,175,55,.3)!important;background:rgba(255,255,255,.04)}
  .sticky-cta .cta-book{background-image:var(--lx-gold-grad)!important;color:#1a1405!important;border:0!important;box-shadow:0 8px 20px -8px rgba(212,175,55,.7)}
  body.page-inner,body.page-home{padding-bottom:5.2rem!important}
}
/* desktop: the old full-width Call / WhatsApp / Estimate strip becomes a centered glass capsule */
@media (min-width:769px){
  #mobileCTA{
    left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%);
    width:auto!important;gap:.3rem;padding:.35rem!important;
    border-radius:var(--lx-pill)!important;border:1px solid rgba(255,255,255,.1)!important;border-top:1px solid rgba(255,255,255,.1)!important;
    background:rgba(16,16,18,.6)!important;
    -webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
    box-shadow:0 24px 60px -20px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.06) inset;
  }
  #mobileCTA br{display:none}
  #mobileCTA a{flex:none!important;padding:.62rem 1.25rem!important;border:0!important;border-radius:var(--lx-pill);
    font-size:.72rem!important;letter-spacing:.16em!important;font-weight:700;white-space:nowrap;transition:background .3s}
  #mobileCTA a:hover{background:rgba(255,255,255,.07)}
  #mobileCTA a[href="/estimate"]{background-image:var(--lx-gold-grad);color:#1a1405!important}
  /* floating round buttons sit on the right, clear of the centered capsule */
  #scrollTopBtn,a.wa-float-desktop,a[aria-label="WhatsApp"][style*="position:fixed"],.floating-btns{bottom:22px!important}
  #scrollTopBtn{right:6rem!important}
  footer{padding-bottom:6rem!important}
}
/* round floating buttons: glass rings */
.float-btn,#scrollTopBtn,a.wa-float-desktop,a[aria-label="WhatsApp"][style*="position:fixed"]{
  box-shadow:0 14px 30px -12px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.12) inset!important}
#scrollTopBtn,.float-btn.btn-top{background:rgba(20,20,22,.6)!important;color:#f1d67a!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12)!important}
@media (max-width:768px){#scrollTopBtn{bottom:calc(5.6rem + env(safe-area-inset-bottom))!important;right:14px!important}}

/* ---------- Site directory + footer ---------- */
.site-links a{transition:color .25s,transform .25s}
.site-links a:hover{transform:translateX(3px)}
footer a{transition:color .25s}

/* ---------- Forms (shared) ---------- */
.form-group input,.form-group select,.form-group textarea{border-radius:var(--lx-r-sm)!important;
  border:1px solid rgba(0,0,0,.1)!important;background:rgba(255,255,255,.85);transition:border-color .3s,box-shadow .3s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(212,175,55,.8)!important;box-shadow:0 0 0 4px rgba(212,175,55,.16)}
.btn-submit{padding:1.05rem 1rem!important}

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
body.page-home{background:#faf7f2}
/* hero */
#hero .hero-overlay{background:
  radial-gradient(80% 60% at 50% 45%,rgba(0,0,0,.2),rgba(0,0,0,.55)),
  linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.2) 40%,rgba(18,18,19,.85) 100%)}
#hero .hero-cta{background:rgba(12,12,12,.3);border:1px solid rgba(212,175,55,.55)!important;color:#f1d67a;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:1rem 2.2rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
#hero .hero-cta:hover{background-image:var(--lx-gold-grad);color:#1a1405;border-color:transparent!important}
#hero .hero-cta-row a{border-radius:var(--lx-pill)!important}
/* light sections: soft cream with warm light */
body.page-home #about,body.page-home #weddings,body.page-home #areas,body.page-home #contact{
  background:radial-gradient(70% 60% at 0% 0%,rgba(212,175,55,.09),transparent 60%),radial-gradient(60% 60% at 100% 100%,rgba(128,0,32,.05),transparent 60%),#faf7f2}
body.page-home #portfolio,body.page-home #experience,body.page-home #instagram{
  background:radial-gradient(60% 50% at 100% 0%,rgba(212,175,55,.07),transparent 60%),#fff}
/* frosted cards on light */
.wedding-card,.area-card,.info-item{
  border-radius:var(--lx-r-lg)!important;background:var(--lx-light-card)!important;
  border:1px solid rgba(212,175,55,.16)!important;box-shadow:var(--lx-light-shadow);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:transform .5s var(--lx-ease),box-shadow .5s var(--lx-ease),border-color .5s}
.wedding-card::before{border-radius:3px;background:var(--lx-gold-grad)!important;left:25%!important;width:50%!important}
.wedding-card:hover,.area-card:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.45)!important;
  box-shadow:0 36px 70px -30px rgba(60,45,10,.4),0 1px 0 rgba(255,255,255,.9) inset}
.wedding-card .card-icon{width:62px;height:62px;margin:0 auto 1.1rem;display:grid;place-items:center;border-radius:20px;
  background:radial-gradient(circle at 30% 25%,rgba(212,175,55,.28),rgba(212,175,55,.06) 70%);border:1px solid rgba(212,175,55,.25)}
.info-item{padding:1rem 1.1rem;align-items:center}
.info-item .icon{border-radius:14px!important;background-image:var(--lx-gold-grad)!important;color:#1a1405!important;box-shadow:0 10px 22px -10px rgba(212,175,55,.8)}
.social-link{border-radius:50%!important;border:1px solid rgba(0,0,0,.15)!important;background:rgba(255,255,255,.7)}
/* chip links inside the weddings section */
body.page-home #weddings a[style*="border:1px solid"]{border-radius:var(--lx-pill)!important;background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1.25rem!important}
/* portfolio */
.portfolio-grid{gap:1rem!important}
.portfolio-item{box-shadow:0 24px 50px -30px rgba(0,0,0,.55)}
.portfolio-overlay{background:linear-gradient(180deg,transparent 35%,rgba(10,10,10,.78) 100%)!important}
.filter-btn{border:1px solid rgba(0,0,0,.12)!important;background:rgba(255,255,255,.7)}
.filter-btn.active,.filter-btn:hover{background:#1a1a1a!important;color:#fff!important;border-color:#1a1a1a!important}
body.page-home .btn-outline{border-radius:var(--lx-pill)!important;border:1px solid rgba(26,26,26,.5)!important;background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.page-home .btn-outline:hover{background:#1a1a1a;color:#fff}
.insta-grid{gap:.75rem!important}
/* dark homepage sections get the same ambient glow as inner pages */
body.page-home #corporate,body.page-home #estimate,body.page-home #testimonials,body.page-home #homepage-faq{
  background:radial-gradient(60% 70% at 0% 0%,rgba(212,175,55,.12),transparent 60%),radial-gradient(60% 70% at 100% 100%,rgba(128,0,32,.18),transparent 60%),#141415!important}
.corporate-card{padding:2.2rem 1.6rem!important}
.corporate-card .card-icon{width:56px;height:56px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:18px;
  background:radial-gradient(circle at 30% 25%,rgba(212,175,55,.3),rgba(212,175,55,.06) 70%);border:1px solid rgba(212,175,55,.28)}
/* experience steps */
.step-number{box-shadow:0 14px 30px -16px rgba(212,175,55,.7),0 0 0 6px rgba(212,175,55,.08)}
body.page-home .step-number{background:rgba(255,255,255,.9)!important}
/* testimonial slider on the homepage */
#testimonials .testimonial blockquote{font-size:1.45rem}
.dot{width:8px;height:8px;transition:all .35s var(--lx-ease)}
.dot.active{width:26px;border-radius:8px;background-image:var(--lx-gold-grad)}
/* homepage estimator widget */
.est-card{border-radius:var(--lx-r-xl)!important;padding:2.4rem!important}
.est-btn,.opt-btn{border-radius:var(--lx-r-sm)!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;
  transition:all .3s var(--lx-ease)!important}
.est-btn:hover,.opt-btn:hover{border-color:rgba(212,175,55,.6)!important;background:rgba(212,175,55,.08)!important;transform:translateY(-1px)}
.est-btn.est-selected,.opt-btn.selected{border-color:rgba(212,175,55,.9)!important;background:rgba(212,175,55,.14)!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.12),0 14px 30px -18px rgba(212,175,55,.6)!important}
.est-result-box,.result-box{border-radius:var(--lx-r-lg)!important;border:1px solid rgba(212,175,55,.5)!important;
  background:radial-gradient(100% 120% at 0% 0%,rgba(212,175,55,.2),transparent 60%),rgba(20,20,22,.8)!important}
@media (max-width:768px){.est-card{padding:1.5rem!important;border-radius:26px!important}}
/* homepage floating buttons: slight glass ring (keeps brand colours) */
.floating-btns{gap:.7rem}

/* ==========================================================================
   /inquiry wizard
   ========================================================================== */
.steps-wrapper .cat-card,.steps-wrapper .style-card,.steps-wrapper .budget-card,.steps-wrapper .guest-seg{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;border:1px solid rgba(255,255,255,.1)!important;
  border-radius:22px!important;box-shadow:0 20px 40px -26px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.06) inset!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.steps-wrapper .guest-seg,.steps-wrapper .style-card{border-radius:18px!important}
.steps-wrapper .cat-card:hover,.steps-wrapper .style-card:hover,.steps-wrapper .budget-card:hover,.steps-wrapper .guest-seg:hover{border-color:rgba(212,175,55,.55)!important}
.steps-wrapper .cat-card.selected,.steps-wrapper .style-card.selected,.steps-wrapper .budget-card.selected,.steps-wrapper .guest-seg.selected{
  background:linear-gradient(180deg,rgba(212,175,55,.2),rgba(212,175,55,.08))!important;border-color:rgba(212,175,55,.9)!important;color:#fff!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.15),0 18px 40px -20px rgba(212,175,55,.55)!important}
.steps-wrapper .cat-card .icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;
  background:radial-gradient(circle at 30% 25%,rgba(212,175,55,.3),rgba(212,175,55,.06) 70%);border:1px solid rgba(212,175,55,.28)}
.steps-wrapper .form-input{border-radius:16px!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 10px 24px -18px rgba(0,0,0,.9)}
.steps-wrapper .btn{border-radius:var(--lx-pill)!important;background-image:var(--lx-gold-grad)!important;
  box-shadow:0 16px 36px -14px rgba(212,175,55,.8),0 1px 0 rgba(255,255,255,.55) inset!important}
.step,.welcome{background-color:transparent}
body.page-tool .welcome{background:radial-gradient(70% 50% at 50% 0%,rgba(212,175,55,.16),transparent 60%),radial-gradient(60% 50% at 100% 100%,rgba(128,0,32,.2),transparent 60%),#121213!important}
.back-btn{border-radius:50%!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.summary-card{background:rgba(255,255,255,.8)!important;color:#1a1a1a!important;border:1px solid rgba(212,175,55,.2)!important}
.summary-card .val,.summary-card .lbl{color:inherit}
.summary-card .lbl{color:#5c5c5c}

/* ==========================================================================
   Page-specific finishing
   ========================================================================== */
/* /packages */
.package-card{padding:2.4rem 2rem!important}
.bundle-box{border-style:solid!important;border-color:rgba(212,175,55,.35)!important}
/* /portfolio event cards */
.event-card{border-radius:var(--lx-r-lg)!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.event-card::before,.event-card .corner-tl,.event-card .corner-tr,.event-card .corner-bl,.event-card .corner-br{border-radius:14px}
/* /reviews */
.review-card{padding:2rem!important}
.stat-item h3{background:var(--lx-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* blog */
.article-hero{border-radius:0 0 var(--lx-r-xl) var(--lx-r-xl);
  background:radial-gradient(90% 120% at 0% 0%,rgba(212,175,55,.2),transparent 55%),linear-gradient(135deg,#5a0016 0%,#1a1a1a 100%)!important}
.highlight-box{border-radius:var(--lx-r-md)!important;background:rgba(212,175,55,.08)!important}
.cta-box{border-radius:var(--lx-r-lg)!important;border:1px solid rgba(212,175,55,.45)!important;
  background:radial-gradient(100% 120% at 0% 0%,rgba(212,175,55,.2),transparent 55%),linear-gradient(135deg,#5a0016,#2a0a12)!important;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.content table{border-radius:var(--lx-r-md);overflow:hidden;border-collapse:separate;border-spacing:0}
/* /links (link-in-bio) */
body.page-links .link-btn{border-radius:20px!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

/* motion safety */
@media (prefers-reduced-motion:reduce){
  .service-card,.review-card,.package-card,.wedding-card,.area-card,.btn-gold,.cta-btn{transition:none!important}
}
/* print: plain */
@media print{nav,.sticky-cta,#mobileCTA,.floating-btns,#scrollTopBtn{display:none!important}}

/* ---------- Build 8 QA fixes ---------- */
/* ghost variant of the gold button (inline style="background:transparent") */
.btn-gold[style*="background:transparent"]{
  background:rgba(255,255,255,.05)!important;color:#f1d67a!important;border:1px solid rgba(212,175,55,.5)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn-gold[style*="background:transparent"]:hover{background:rgba(212,175,55,.14)!important;border-color:rgba(212,175,55,.85)!important;color:#fff3c4!important}
.btn-gold[style*="#25D366"]{color:#0b2e17!important}
/* bars over light sections need more body */
nav,.site-nav{background:rgba(16,16,18,.8)!important}
nav.scrolled{background:rgba(14,14,16,.86)!important}
@media (min-width:769px){#mobileCTA{background:rgba(14,14,16,.86)!important}
  #hero .scroll-indicator{bottom:6.5rem}}
@media (max-width:768px){.sticky-cta{background:rgba(14,14,16,.84)!important}}
/* long-form content: editorial rhythm */
body.page-inner .section{padding-top:5rem;padding-bottom:5rem}
body.page-inner .section > h2,body.page-inner .section-dark .inner > h2,body.page-inner .faq-section h2{
  font-size:clamp(1.7rem,3.2vw,2.55rem);line-height:1.18;margin-bottom:1.1rem;max-width:22ch}
body.page-inner .section > p,body.page-inner .section-dark .inner > p{font-size:1.04rem;line-height:1.85;max-width:72ch;color:#c9c9c9}
body.page-inner .section > p + p,body.page-inner .section-dark .inner > p + p{margin-top:1.05rem}
body.page-inner .section > .section-label,body.page-inner .section-dark .inner > .section-label{
  display:inline-block;padding:.38rem .9rem;border-radius:999px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.22);margin-bottom:1rem}
.internal-links a,.section p a:not([class]){text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s}
.internal-links a:hover,.section p a:not([class]):hover{background-size:100% 1px}
/* stray FAQ rows that sit directly in <body> on some pages: align them to the content column */
body > .faq-item{max-width:1100px;width:calc(100% - 10%);margin-left:auto!important;margin-right:auto!important}
@media (min-width:1440px){body > .faq-item{max-width:1180px}}
/* headings: balanced wrapping instead of a hard width cap (keeps centered headings centered) */
body.page-inner .section > h2,body.page-inner .section-dark .inner > h2,body.page-inner .faq-section h2{max-width:none;text-wrap:balance}

/* small helper text on glass buttons: keep ≥4.5:1 */
.opt-btn .sub,.opt-btn .desc,.est-btn .est-sub,.est-tier-opt .est-desc,.tier-opt .desc{color:#b3b3b3!important}
/* v8.1 merge: the hero's decorative "scroll" hint collided with the trust line above the bottom capsule on desktop */
@media (min-width:769px){#hero .scroll-indicator{display:none!important}}
/* v7.2 SVG icons inside the glass bars */
#mobileCTA .ebm-social-icon,.sticky-cta .ebm-social-icon{width:16px;height:16px}
#mobileCTA a.ebm-social-link{gap:.45rem}

/* ==========================================================================
   Portfolio (build 9): signature feature + photo-first gallery + lightbox
   ========================================================================== */
.pf-feature{position:relative;max-width:1180px;width:calc(100% - 32px);margin:3rem auto 0;border-radius:32px;overflow:hidden;
  box-shadow:0 60px 120px -50px rgba(0,0,0,.95),0 0 0 1px rgba(212,175,55,.22);isolation:isolate}
.pf-feature-img{display:block;width:100%;padding:0;border:0;background:#111;cursor:zoom-in}
.pf-feature-img img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;transition:transform 1.2s var(--lx-ease)}
.pf-feature:hover .pf-feature-img img{transform:scale(1.025)}
.pf-feature-cap{position:absolute;left:24px;bottom:24px;max-width:430px;padding:1.5rem 1.6rem;border-radius:24px;
  background:rgba(14,14,16,.55);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.pf-feature-cap h2{font-size:clamp(1.6rem,3vw,2.3rem);color:#fff;margin:.35rem 0 .5rem}
.pf-feature-cap p{color:#dedede;font-size:.95rem;line-height:1.6;margin-bottom:1.1rem}
.pf-tag{display:inline-block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#f1d67a;font-weight:700}
@media (max-width:700px){
  .pf-feature{width:calc(100% - 20px);border-radius:24px;margin-top:2rem}
  .pf-feature-img img{aspect-ratio:4/3}
  .pf-feature-cap{position:relative;left:auto;bottom:auto;max-width:none;border-radius:0;border:0;border-top:1px solid rgba(255,255,255,.08);background:rgba(18,18,20,.9)}
}
.pf-section{max-width:1240px!important}
.pf-section > h2,.pf-section > .section-label{display:block;text-align:center;margin-left:auto;margin-right:auto}
.pf-section > .section-label{display:table}
.pf-intro{max-width:680px!important;margin:0 auto 1.8rem!important;text-align:center;color:#c9c9c9}
.pf-intro a{color:#f1d67a}
.pf-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 auto 2.2rem}
.pf-filter{font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;
  padding:.7rem 1.2rem;min-height:44px;border-radius:999px;color:#e9e1cc;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .35s var(--lx-ease)}
.pf-filter:hover{border-color:rgba(212,175,55,.6);color:#fff}
.pf-filter.is-active{background-image:var(--lx-gold-grad);color:#1a1405;border-color:transparent;box-shadow:0 10px 26px -12px rgba(212,175,55,.8)}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
@media (max-width:1100px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
@media (max-width:600px){.pf-grid{grid-template-columns:1fr;gap:1.1rem}}
.pf-card{position:relative;margin:0;border-radius:24px;overflow:hidden;isolation:isolate;background:#151517;
  box-shadow:0 34px 70px -34px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.07);transition:transform .6s var(--lx-ease),box-shadow .6s var(--lx-ease)}
.pf-card[hidden]{display:none}
.pf-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pf-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 45%;transition:transform 1s var(--lx-ease),filter .6s}
.pf-card figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:1rem 1.1rem 1.05rem;border-radius:18px;
  background:rgba(12,12,14,.58);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);pointer-events:none}
.pf-card figcaption a{pointer-events:auto}
.pf-card h3{font-size:1.18rem;color:#fff;margin:.3rem 0 .35rem;line-height:1.25}
.pf-card figcaption a{display:inline-block;color:#f1d67a;font-size:.86rem;font-weight:700;letter-spacing:.02em;text-decoration:none;min-height:24px}
.pf-card figcaption a:hover{color:#fff3c4}
@media (hover:hover){
  .pf-card:hover{transform:translateY(-6px);box-shadow:0 50px 90px -40px rgba(0,0,0,1),0 0 0 1px rgba(212,175,55,.45)}
  .pf-card:hover img{transform:scale(1.05)}
}
.pf-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2.8rem}
/* lightbox */
.pf-lightbox{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;
  background:rgba(6,6,8,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.pf-lightbox[hidden]{display:none}
.pf-lightbox img{max-width:100%;max-height:84vh;border-radius:18px;box-shadow:0 40px 100px -30px rgba(0,0,0,1)}
.pf-lb-cap{position:absolute;bottom:3vh;left:0;right:0;text-align:center;color:#f1d67a;font-family:var(--font-heading);font-size:1.1rem}
.pf-lb-close,.pf-lb-nav{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;cursor:pointer;
  color:#fff;font-size:1.8rem;line-height:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pf-lb-close{top:3vh;right:3vw}
.pf-lb-prev{left:2vw;top:50%;transform:translateY(-50%)}.pf-lb-next{right:2vw;top:50%;transform:translateY(-50%)}
.pf-lb-close:hover,.pf-lb-nav:hover{background:rgba(212,175,55,.25);border-color:rgba(212,175,55,.6)}
@media (max-width:600px){.pf-lb-nav{top:auto;bottom:9vh;transform:none}}

/* ==========================================================================
   Stage heroes (build 9): every inner page hero shows a real stage
   ========================================================================== */
.hero.hero-stage{
  background-image:
    radial-gradient(80% 70% at 50% 45%,rgba(8,8,10,.25),rgba(8,8,10,.6)),
    linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,.35) 45%,rgba(18,18,19,.97) 100%),
    var(--hero)!important;
  background-size:cover!important;background-position:center 40%!important;background-repeat:no-repeat!important;
  min-height:62vh}
@media (max-width:768px){.hero.hero-stage{background-image:
    radial-gradient(90% 70% at 50% 45%,rgba(8,8,10,.3),rgba(8,8,10,.62)),
    linear-gradient(180deg,rgba(8,8,10,.5) 0%,rgba(8,8,10,.4) 45%,rgba(18,18,19,.97) 100%),
    var(--hero-sm)!important;min-height:58vh}}
.hero.hero-stage h1{text-shadow:0 6px 30px rgba(0,0,0,.7)}
.hero.hero-stage p{text-shadow:0 2px 14px rgba(0,0,0,.8)}
/* homepage: the Burgundy Dream stage on desktop, the tall Mughal stage on phones */
body.page-home #hero .hero-bg{background-image:url('/images/stages/09-burgundy-dream-stage.webp')!important;background-position:center 45%!important}
@media (max-width:768px){body.page-home #hero .hero-bg{background-image:url('/images/stages/16-blush-gold-jali-reception-stage-800.webp')!important;background-position:center 55%!important}}
/* hero tuning: let the stage show, keep headline legible with a soft central vignette */
.hero.hero-stage{background-image:
    radial-gradient(60% 55% at 50% 48%,rgba(8,8,10,.48),rgba(8,8,10,.12) 70%),
    linear-gradient(180deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.08) 40%,rgba(8,8,10,.25) 70%,rgba(18,18,19,.98) 100%),
    var(--hero)!important}
@media (max-width:768px){.hero.hero-stage{background-image:
    radial-gradient(85% 55% at 50% 50%,rgba(8,8,10,.55),rgba(8,8,10,.15) 75%),
    linear-gradient(180deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.1) 40%,rgba(8,8,10,.3) 72%,rgba(18,18,19,.98) 100%),
    var(--hero-sm)!important}}
.hero.hero-stage h1{text-shadow:0 4px 24px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.6)}
.hero.hero-stage p{text-shadow:0 2px 12px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,.8)}
/* blog article heroes get a stage backdrop too */
.article-hero{background-image:
    radial-gradient(70% 60% at 50% 50%,rgba(8,8,10,.62),rgba(8,8,10,.3) 75%),
    linear-gradient(180deg,rgba(8,8,10,.4),rgba(18,18,19,.98)),
    url('/images/stages/16-blush-gold-jali-reception-stage.webp')!important;
  background-size:cover!important;background-position:center 45%!important}
@media (max-width:768px){.article-hero{background-image:
    radial-gradient(90% 60% at 50% 50%,rgba(8,8,10,.62),rgba(8,8,10,.3) 75%),
    linear-gradient(180deg,rgba(8,8,10,.4),rgba(18,18,19,.98)),
    url('/images/stages/16-blush-gold-jali-reception-stage-800.webp')!important}}
.article-hero h1{text-shadow:0 4px 24px rgba(0,0,0,.85)}

/* ---------- Photo viewers: always on top, always closable ---------- */
.lightbox{z-index:6000!important;background:rgba(6,6,8,.92)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.lightbox img{border-radius:18px;max-height:80vh!important;box-shadow:0 40px 100px -30px rgba(0,0,0,1)}
.lightbox-close,.lightbox-nav{display:grid!important;place-items:center;width:52px!important;height:52px!important;padding:0!important;border-radius:50%;
  font:inherit;font-size:1.5rem!important;line-height:1;color:#fff!important;cursor:pointer;z-index:2;
  background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.22)!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .25s,border-color .25s}
.lightbox-close{top:max(18px,env(safe-area-inset-top))!important;right:18px!important}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(212,175,55,.3)!important;border-color:rgba(212,175,55,.7)!important}
.lightbox-caption{bottom:3vh!important;color:#f1d67a!important}
@media (max-width:600px){.lightbox-nav{top:auto!important;bottom:9vh!important;transform:none!important}.lightbox-prev{left:18px!important}.lightbox-next{right:18px!important}}
/* hide the floating bars while a photo is open so nothing sits over the close button */
body.lb-open nav,body.lb-open .site-nav,body.lb-open .sticky-cta,body.lb-open #mobileCTA,body.lb-open .floating-btns,body.lb-open #scrollTopBtn,body.lb-open a.wa-float-desktop,
body:has(.pf-lightbox:not([hidden])) nav,body:has(.pf-lightbox:not([hidden])) .sticky-cta,body:has(.pf-lightbox:not([hidden])) #mobileCTA,
body:has(.pf-lightbox:not([hidden])) #scrollTopBtn,body:has(.pf-lightbox:not([hidden])) .ebm-social-float{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
.pf-lightbox{z-index:6000}
.pf-lb-close{top:max(18px,env(safe-area-inset-top))!important;right:18px!important}

/* ---------- Homepage hero: same Burgundy Dream stage on phones as on desktop ---------- */
@media (max-width:768px){body.page-home #hero .hero-bg{background-image:url('/images/stages/09-burgundy-dream-stage.webp')!important;background-position:50% 50%!important}}

/* ---------- Phone hero: show more of the stage (less zoom) ---------- */
@media (max-width:768px){
  body.page-home #hero{isolation:isolate;background:#120c0c}
  /* soft glow of the same stage fills the whole hero */
  body.page-home #hero::before{content:"";position:absolute;inset:-40px;z-index:0;pointer-events:none;
    background:url('/images/stages/09-burgundy-dream-stage-800.webp') center/cover no-repeat;
    filter:blur(28px) saturate(1.1) brightness(.55);transform:scale(1.1)}
  /* the crisp stage: sized to ~half the screen height instead of the full height, so far more of it is visible */
  body.page-home #hero .hero-bg{z-index:1;animation:none;
    background-size:auto 52%!important;background-repeat:no-repeat!important;background-position:50% 30%!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 3%,#000 13%,#000 49%,transparent 60%);
            mask-image:linear-gradient(180deg,transparent 3%,#000 13%,#000 49%,transparent 60%)}
  body.page-home #hero .hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(10,6,6,.25) 0%,rgba(10,6,6,.1) 30%,rgba(10,6,6,.55) 58%,rgba(18,18,19,.9) 100%)!important}
  body.page-home #hero .hero-content{z-index:2}
}
/* phone hero, round 2: stage sits clearly in the top half, headline below it */
@media (max-width:768px){
  body.page-home #hero{align-items:flex-end}
  body.page-home #hero .hero-content{padding-top:0!important;padding-bottom:calc(7.2rem + env(safe-area-inset-bottom))!important}
  body.page-home #hero .hero-bg{background-size:auto 47%!important;background-position:50% 13%!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 2%,#000 10%,#000 44%,transparent 55%);
            mask-image:linear-gradient(180deg,transparent 2%,#000 10%,#000 44%,transparent 55%)}
  body.page-home #hero .hero-overlay{background:linear-gradient(180deg,rgba(10,6,6,.2) 0%,rgba(10,6,6,0) 22%,rgba(10,6,6,.35) 46%,rgba(14,10,10,.88) 62%,rgba(18,18,19,.96) 100%)!important}
  body.page-home #hero .scroll-indicator{display:none!important}
  body.page-home #hero .hero-badge{margin-bottom:.9rem}
  body.page-home #hero .hero-title{font-size:clamp(1.85rem,8.4vw,2.4rem)!important;margin-bottom:.8rem}
  body.page-home #hero .hero-sub{font-size:.9rem!important;margin-bottom:1.1rem!important}
}
@media (max-width:768px) and (max-height:700px){
  body.page-home #hero .hero-bg{background-size:auto 40%!important;background-position:50% 12%!important}
  body.page-home #hero .hero-badge{display:none}
  body.page-home #hero .hero-sub{font-size:.84rem!important}
}
@media (max-width:768px) and (max-height:700px){
  body.page-home #hero .hero-bg{background-size:auto 34%!important;background-position:50% 11%!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 2%,#000 9%,#000 36%,transparent 45%);mask-image:linear-gradient(180deg,transparent 2%,#000 9%,#000 36%,transparent 45%)}
  body.page-home #hero .hero-title{font-size:1.7rem!important}
  body.page-home #hero .hero-cta{padding:.8rem 1.6rem!important}
  body.page-home #hero .hero-content{padding-bottom:calc(6.4rem + env(safe-area-inset-bottom))!important}
}
.pf-credit{display:block;margin-top:.35rem;font-size:.66rem;letter-spacing:.06em;color:rgba(255,255,255,.7)}
/* never letterbox: photos always fill their frame */
.pf-card img,.portfolio-item img,.gallery-strip img,.insta-item img{object-fit:cover;background:transparent}
/* phone hero: primary button is solid gold so it's the first thing the eye finds */
@media (max-width:768px){
  body.page-home #hero .hero-cta{background-image:var(--lx-gold-grad)!important;background-color:#D4AF37!important;color:#1a1405!important;
    border:0!important;font-weight:700;box-shadow:0 14px 34px -12px rgba(212,175,55,.8),0 1px 0 rgba(255,255,255,.5) inset!important;
    padding:1rem 2.2rem!important;letter-spacing:.18em}
}
@media (max-width:380px){body.page-home #hero .hero-badge{display:none}}

/* ==========================================================================
   Build 10.7 — image sharpness
   Tiles are sized so every photo is shown at or below its real resolution on phones.
   ========================================================================== */
@media (max-width:768px){
  /* homepage gallery: 2 columns on phones (each tile needs ~500 px → every original is sharp) */
  body.page-home .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem!important}
  body.page-home .portfolio-item{aspect-ratio:4/5!important;border-radius:16px!important}
  body.page-home .portfolio-item.tall{grid-row:span 1!important}
  body.page-home .portfolio-overlay{opacity:1!important;padding:.7rem .75rem!important;background:linear-gradient(180deg,transparent 52%,rgba(10,10,10,.82) 100%)!important}
  body.page-home .portfolio-overlay h3{font-size:.86rem!important;line-height:1.25}
  body.page-home .portfolio-overlay span{font-size:.58rem!important;letter-spacing:.14em!important}
  /* About photo: framed at a size its 800 px original renders crisply */
  body.page-home .about-img{max-width:290px;margin:0 auto}
  body.page-home .about-img img{height:auto!important;aspect-ratio:4/5;object-fit:cover}
  /* hero: full-resolution original, sized so it is never enlarged past its pixels */
  body.page-home #hero .hero-bg{background-size:auto 44%!important}
}
@media (max-width:768px) and (max-height:700px){body.page-home #hero .hero-bg{background-size:auto 34%!important}}

/* ---------- Inner-page headers (10.7): never stretched ----------
   ::before = soft blurred glow of the photo (fills any width; blur hides resolution)
   ::after  = the sharp photo, shown no wider than its real pixels (≤1072 px), edges feathered into the glow */
.hero.hero-stage{background:#121213!important;background-image:none!important}
.hero.hero-stage::before{content:"";position:absolute;inset:-60px;z-index:-2;pointer-events:none;
  background:var(--hero-lq,var(--hero-sm)) center/cover no-repeat;filter:blur(38px) saturate(1.15) brightness(.42);transform:scale(1.08)}
.hero.hero-stage::after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);
  width:min(1072px,100%);height:auto;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(62% 55% at 50% 48%,rgba(8,8,10,.52),rgba(8,8,10,.14) 72%),
    linear-gradient(180deg,rgba(8,8,10,.4) 0%,rgba(8,8,10,.06) 36%,rgba(8,8,10,.2) 70%,rgba(18,18,19,.96) 100%),
    var(--hero);
  background-size:auto,auto,cover;background-position:center,center,center 42%;background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%)}
@media (max-width:768px){
  .hero.hero-stage{background-image:none!important}
  /* phones: full-resolution original across the full width (≈1.0× on a 385 px / 2.8× screen) */
  .hero.hero-stage::after{width:100%;-webkit-mask-image:none;mask-image:none;
    background-image:
      radial-gradient(85% 55% at 50% 50%,rgba(8,8,10,.56),rgba(8,8,10,.16) 76%),
      linear-gradient(180deg,rgba(8,8,10,.38) 0%,rgba(8,8,10,.08) 38%,rgba(8,8,10,.28) 70%,rgba(18,18,19,.97) 100%),
      var(--hero)!important}
}

/* ---------- 10.7: phones show photo grids 2-up so every original stays sharp ---------- */
@media (max-width:768px){
  .gallery-strip{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.5rem!important;grid-template-columns:none!important}
  .gallery-strip img{flex:0 0 calc(50% - .25rem)!important;width:calc(50% - .25rem)!important;max-width:calc(50% - .25rem)!important;
    height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important;border-radius:14px!important;margin:0!important}
  .lb-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important}
  .lb-grid img{aspect-ratio:4/5;object-fit:cover;height:auto!important;border-radius:14px}
  .lb-grid figcaption{font-size:.72rem!important}
  /* portfolio: 2-up cards with compact glass captions */
  .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem!important}
  .pf-card{border-radius:18px!important}
  .pf-card figcaption{left:6px!important;right:6px!important;bottom:6px!important;padding:.55rem .6rem .6rem!important;border-radius:12px!important}
  .pf-card .pf-tag{display:none!important}
  .pf-card h3{font-size:.84rem!important;margin:0 0 .2rem!important}
  .pf-card figcaption a{font-size:.7rem!important}
  .pf-credit{font-size:.56rem!important}
}

/* ---------- 10.7: blog article template (breadcrumbs / article-header / article-body) ---------- */
.breadcrumbs{max-width:780px;margin:0 auto;padding:7.2rem 1.25rem 0;font-size:.78rem;letter-spacing:.04em;color:#a9a9a9}
.breadcrumbs a{color:#f1d67a;text-decoration:none}
.article-header{max-width:780px;margin:0 auto;padding:1.1rem 1.25rem 1.6rem;text-align:center}
.article-header .date{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#f1d67a;margin-bottom:.8rem}
.article-header h1{font-size:clamp(1.8rem,4.6vw,2.8rem);line-height:1.18;color:#fff;margin:0 auto .9rem;max-width:22ch;text-wrap:balance}
.article-header .subtitle{color:#cfcfcf;font-size:1.05rem;line-height:1.7;max-width:60ch;margin:0 auto}
div.article-hero{background:none!important;padding:0!important;border-radius:0!important;max-width:880px;margin:0 auto 1rem;padding:0 1.25rem!important}
div.article-hero img{width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:24px;box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.article-body{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 3.5rem;color:#e3dccf;font-size:1.04rem;line-height:1.85}
.article-body p{margin:0 0 1.15rem}
.article-body h2{font-family:var(--font-heading);color:#fff;font-size:clamp(1.45rem,3.4vw,1.9rem);line-height:1.25;margin:2.6rem 0 1rem;padding-top:1.4rem;border-top:1px solid rgba(212,175,55,.2)}
.article-body h3{font-family:var(--font-heading);color:#f1d67a;font-size:1.22rem;margin:1.8rem 0 .7rem}
.article-body ul,.article-body ol{margin:0 0 1.3rem 1.3rem}
.article-body li{margin-bottom:.45rem}
.article-body strong{color:#fff}
.article-body a{color:#f1d67a}
.article-body img{max-width:100%;height:auto;border-radius:18px;margin:1.2rem 0}
.article-body table{width:100%;border-collapse:separate;border-spacing:0;margin:1.4rem 0;font-size:.92rem;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);display:block;overflow-x:auto}
.article-body th{background:rgba(212,175,55,.14);color:#f1d67a;text-align:left;padding:.75rem .8rem;font-weight:700;white-space:nowrap}
.article-body td{padding:.7rem .8rem;border-top:1px solid rgba(255,255,255,.07);color:#ddd;vertical-align:top}
.article-body blockquote{margin:1.6rem 0;padding:1.1rem 1.3rem;border-radius:16px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.25);color:#eee;font-style:italic}
@media (max-width:768px){.breadcrumbs{padding-top:6.2rem}.article-body{font-size:1rem}}
.founder-stage img[hidden]{display:none!important}
@media (max-width:768px){body.page-home .portfolio-overlay{background:linear-gradient(180deg,transparent 40%,rgba(10,10,10,.55) 62%,rgba(10,10,10,.9) 100%)!important}
  body.page-home .portfolio-overlay h3{text-shadow:0 1px 8px rgba(0,0,0,.8)}}

/* ---------- 10.8 phone homepage hero: Blush & Gold Mughal stage as a full-screen backdrop ----------
   Phones only. Desktop keeps Burgundy Dream. The stage fills the whole hero behind the headline
   (the look from build 9), using the full 900x1600 original instead of the old 450x800 copy. */
@media (max-width:768px){
  body.page-home #hero{align-items:center!important;background:#121213}
  body.page-home #hero::before{content:none!important;display:none!important}
  body.page-home #hero .hero-bg{background-image:url('/images/stages/08-blush-gold-mughal-stage.webp')!important;
    background-size:cover!important;background-position:50% 55%!important;background-repeat:no-repeat!important;
    -webkit-mask-image:none!important;mask-image:none!important;filter:none!important;animation:none!important}
  body.page-home #hero .hero-overlay{background:
      radial-gradient(80% 60% at 50% 45%,rgba(0,0,0,.22),rgba(0,0,0,.55)),
      linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.2) 40%,rgba(18,18,19,.88) 100%)!important}
  body.page-home #hero .hero-content{padding-top:5.5rem!important;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))!important}
  body.page-home #hero .hero-title{text-shadow:0 4px 26px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.6)!important}
  body.page-home #hero .hero-badge{background:rgba(14,10,10,.5)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}

/* crawlers render with very tall viewports: keep the hero from swallowing the whole first render */
#hero{max-height:1200px}
