.elementor-kit-15{--e-global-color-primary:#000000;--e-global-color-secondary:#D4AF37;--e-global-color-text:#F5E08A;--e-global-color-accent:#535353;--e-global-color-b17d4ae:#D4AF37;--e-global-color-a373a71:#C9A227;--e-global-color-507a6a8:#CFA6FF;--e-global-color-56090f4:#B8B8B8;--e-global-color-53f64aa:#FFFFFF;--e-global-color-d1c4ada:#F8DB7C;--e-global-color-12cc078:#0E0E0E;--e-global-color-3e9ec27:#F5E08A;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:22px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-font-style:normal;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Playfair Display";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Playfair";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-font-style:italic;--e-global-typography-bfbddb4-font-family:"Playfair Display";--e-global-typography-bfbddb4-font-size:28px;--e-global-typography-bfbddb4-font-weight:bold;--e-global-typography-bfbddb4-font-style:normal;--e-global-typography-0f3c7f5-font-family:"DM Sans";--e-global-typography-0f3c7f5-font-size:14px;--e-global-typography-0f3c7f5-font-weight:normal;--e-global-typography-0f3c7f5-text-transform:none;--e-global-typography-0f3c7f5-font-style:normal;background-color:#000000;color:var( --e-global-color-text );font-family:"Playfair Display", playfair;font-size:22px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;overscroll-behavior:none;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:250ms;}.elementor-kit-15 button:hover,.elementor-kit-15 button:focus,.elementor-kit-15 input[type="button"]:hover,.elementor-kit-15 input[type="button"]:focus,.elementor-kit-15 input[type="submit"]:hover,.elementor-kit-15 input[type="submit"]:focus,.elementor-kit-15 .elementor-button:hover,.elementor-kit-15 .elementor-button:focus{background-color:transparent;color:var( --e-global-color-text );background-image:radial-gradient(at center center, #D4AF3747 0%, #C9A22747 100%);box-shadow:0px 0px 10px 0px rgba(164.02343750000003, 163.2482794777883, 74.88026494565219, 0.5);}.elementor-kit-15 e-page-transition{background-color:#000000;}.site-header{background-color:#000000;}.elementor-kit-15 a:hover{color:var( --e-global-color-b17d4ae );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), playfair;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{font-family:var( --e-global-typography-secondary-font-family ), playfair;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-kit-15 label{color:#1A1A1A;font-family:"Playfair Display", playfair;font-size:20px;font-weight:600;font-style:normal;}.elementor-kit-15 input:not([type="button"]):not([type="submit"]),.elementor-kit-15 textarea,.elementor-kit-15 .elementor-field-textual{font-family:"Playfair Display", playfair;font-size:16px;font-weight:400;color:#1A1A1A;accent-color:#F5E08A;background-color:#D9B461;border-style:solid;border-width:1 1 1 1;border-color:#B88A2A;border-radius:10px 10px 10px 10px;transition:200ms;padding:12px 12px 14px 14px;}.elementor-kit-15 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-15 textarea:focus,.elementor-kit-15 .elementor-field-textual:focus{color:#000000;accent-color:#FFF1A8;background-color:#E8C978;border-style:solid;border-width:1px 1px 1px 1px;border-color:#D4AF37;border-radius:10px 10px 10px 10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:24px;--container-default-padding-right:24px;--container-default-padding-bottom:24px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){margin-block-end:28px;}.elementor-element{--widgets-spacing:28px 24px;--widgets-spacing-row:28px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-primary );--lightbox-ui-color:var( --e-global-color-b17d4ae );--lightbox-ui-color-hover:#FAE3166E;--lightbox-text-color:var( --e-global-color-d1c4ada );--lightbox-header-icons-size:18px;--lightbox-navigation-icons-size:22px;}.site-header .header-inner{width:1200px;max-width:100%;}.site-header .site-branding .site-logo img{width:148px;max-width:148px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}.site-footer .copyright p{color:var( --e-global-color-d1c4ada );font-family:var( --e-global-typography-text-font-family ), playfair;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:1024px){.elementor-kit-15 a:hover{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h3{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h4{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h5{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h6{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.site-header .site-branding .site-logo img{width:120px;max-width:120px;}}@media(max-width:767px){.elementor-kit-15 a:hover{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h3{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h4{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h5{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 h6{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.site-header .site-branding .site-logo img{width:100px;max-width:100px;}}
/* Start custom CSS *//* OPULENT MASTER SITE CSS */

/* Brand tokens */
:root{
  --op-black:#000000;
  --op-ink:#0E0E0E;
  --op-gold:#D4AF37;
  --op-gold2:#F5E08A;
  --op-lav:#CFA6FF;
  --op-white:#FFFFFF;
  --op-muted:#B8B8B8;
}

/* Typography rendering */
html, body{
  background: var(--op-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* Cinematic vignette depth (sitewide) */
body:before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(1200px 600px at 50% 0%, rgba(212,175,55,.10), rgba(0,0,0,0) 60%),
    radial-gradient(1200px 600px at 50% 100%, rgba(212,175,55,.06), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 20%, rgba(0,0,0,0) 80%, rgba(0,0,0,.55) 100%);
}
body{
  position: relative;
}

/* Smooth but not slow */
a, button, .elementor-button, input, textarea, select, .elementor-widget, .elementor-icon{
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .25s ease, transform .25s ease, opacity .25s ease, filter .25s ease;
}

/* Brand selection */
::selection{
  background: var(--op-gold);
  color: var(--op-black);
}

/* Links, luxury but safe */
a{
  text-decoration: underline;
  text-decoration-color: rgba(212,175,55,.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover{
  color: var(--op-gold);
  text-decoration-color: rgba(212,175,55,.85);
}

/* Focus styles */
:focus{
  outline: none;
}
:focus-visible{
  box-shadow: 0 0 0 2px rgba(212,175,55,.35);
  border-radius: 10px;
}

/* Premium buttons */
.elementor-button, button, input[type="submit"]{
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  transform: translateY(0);
  position: relative;
  overflow: hidden;
}
.elementor-button:hover, button:hover, input[type="submit"]:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(0,0,0,.38);
}
.elementor-button:active, button:active, input[type="submit"]:active{
  transform: translateY(0);
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
}

/* Subtle shimmer highlight on hover (buttons) */
.elementor-button:after{
  content:"";
  position: absolute;
  top: -20%;
  left: -60%;
  width: 50%;
  height: 140%;
  transform: skewX(-20deg);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(245,224,138,.35) 50%,
    rgba(255,255,255,0) 100%
  );
  opacity: 0;
}
.elementor-button:hover:after{
  opacity: 1;
  animation: opShine 1.2s ease forwards;
}
@keyframes opShine{
  0%{ left: -60%; }
  100%{ left: 130%; }
}

/* Elegant menu underline sweep */
.elementor-nav-menu--main .elementor-item{
  position: relative;
}
.elementor-nav-menu--main .elementor-item:after{
  content:"";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: rgba(212,175,55,.85);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.elementor-nav-menu--main .elementor-item:hover:after,
.elementor-nav-menu--main .elementor-item.elementor-item-active:after{
  transform: scaleX(1);
}

/* Images */
.elementor img{
  border-radius: 12px;
}

/* Glass luxury card utility class
   Use in Elementor: Advanced -> CSS Classes -> op-glass */
.op-glass{
  background: rgba(14,14,14,.55);
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
}

/* Forms */
input, textarea, select{
  border-radius: 10px;
}
input:focus, textarea:focus, select:focus{
  box-shadow: 0 0 0 2px rgba(212,175,55,.22);
}

/* Canva embed, no aspect-ratio warnings */
.op-canva-embed{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background: var(--op-black);
  border: 1px solid rgba(212,175,55,.60);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.op-canva-embed iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.op-canva-embed:hover{
  transform: translateY(-2px);
  border-color: rgba(212,175,55,.90);
  box-shadow: 0 30px 80px rgba(0,0,0,.70);
}

/* Subtle gold scrollbar (desktop) */
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: var(--op-black); }
::-webkit-scrollbar-thumb{
  background: rgba(212,175,55,.75);
  border-radius: 999px;
  border: 2px solid var(--op-black);
}
::-webkit-scrollbar-thumb:hover{
  background: rgba(212,175,55,.95);
}
/* Dramatic luxury reveal, scoped to the 4 box section */
.opulent-badges .opulent-reveal{
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Visible by default, so nothing disappears if JS fails */
.opulent-badges .opulent-reveal{
  opacity: 1;
  filter: none;
}

/* Only hide once JS says "ready" */
.opulent-badges.is-reveal-ready .opulent-reveal{
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  filter: blur(10px);
  transition:
    opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 900ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform, filter;
}

/* Reveal on */
.opulent-badges.is-reveal-ready .opulent-reveal.reveal-visible{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* Glow on reveal */
.opulent-badges.is-reveal-ready .opulent-reveal.reveal-visible{
  box-shadow:
    0 24px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(212,175,55,.18),
    0 0 42px rgba(212,175,55,.14);
}

/* Gold shimmer sweep */
.opulent-badges .opulent-reveal:before{
  content:'';
  position:absolute;
  top:-30%;
  left:-70%;
  width:55%;
  height:160%;
  transform: skewX(-18deg);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(245,224,138,.35) 45%,
    rgba(255,255,255,0) 100%
  );
  opacity: 0;
  pointer-events:none;
}

.opulent-badges.is-reveal-ready .opulent-reveal.reveal-visible:before{
  opacity: 1;
  animation: opBadgeShine 1200ms cubic-bezier(0.16, 1, 0.3, 1) 1;
}

@keyframes opBadgeShine{
  0%{ left:-70%; }
  100%{ left:140%; }
}

/* Premium hover micro interaction */
.opulent-badges.is-reveal-ready .opulent-reveal.reveal-visible:hover{
  transform: translateY(-6px) scale(1.02);
  box-shadow:
    0 34px 110px rgba(0,0,0,.62),
    0 0 0 1px rgba(212,175,55,.28),
    0 0 60px rgba(212,175,55,.18);
  transition:
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .opulent-badges.is-reveal-ready .opulent-reveal{
    transition: none;
    filter: none;
    transform: none;
    opacity: 1;
  }
  .opulent-badges .opulent-reveal:before{
    animation: none;
    opacity: 0;
  }
}/* End custom CSS */