.elementor-kit-2153{--e-global-color-primary:#8B7BFF;--e-global-color-secondary:#B9AFFF;--e-global-color-text:#A29FB0;--e-global-color-accent:#FFD84D;--e-global-color-f8c1903:#0E0C14;--e-global-color-114a5b4:#16121F;--e-global-color-1c27497:#2A2437;--e-global-color-52d4cc8:#F4F2EC;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-letter-spacing:-0.01em;background-color:var( --e-global-color-f8c1903 );}.elementor-kit-2153 button,.elementor-kit-2153 input[type="button"],.elementor-kit-2153 input[type="submit"],.elementor-kit-2153 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:17px;font-weight:600;line-height:24px;color:#0E0C14;border-radius:30px 30px 30px 30px;}.elementor-kit-2153 button:hover,.elementor-kit-2153 button:focus,.elementor-kit-2153 input[type="button"]:hover,.elementor-kit-2153 input[type="button"]:focus,.elementor-kit-2153 input[type="submit"]:hover,.elementor-kit-2153 input[type="submit"]:focus,.elementor-kit-2153 .elementor-button:hover,.elementor-kit-2153 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-f8c1903 );border-radius:30px 30px 30px 30px;}.elementor-kit-2153 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2153 a{color:var( --e-global-color-primary );}.elementor-kit-2153 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-2153 h1{color:var( --e-global-color-52d4cc8 );font-family:"Archivo", Sans-serif;font-size:48px;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-2153 h2{color:var( --e-global-color-52d4cc8 );font-family:"Archivo", Sans-serif;font-size:32px;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-2153 h4{color:var( --e-global-color-52d4cc8 );font-family:"Archivo", Sans-serif;font-size:28px;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;--container-default-padding-top:120px;--container-default-padding-right:0px;--container-default-padding-bottom:120px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-2153{--e-global-typography-primary-font-size:38px;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:18px;}.elementor-kit-2153 h1{font-size:38px;}.elementor-kit-2153 h2{font-size:38px;}.elementor-kit-2153 h4{font-size:38px;}.elementor-kit-2153 button,.elementor-kit-2153 input[type="button"],.elementor-kit-2153 input[type="submit"],.elementor-kit-2153 .elementor-button{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:5%;--container-default-padding-right:5%;--container-default-padding-bottom:5%;--container-default-padding-left:5%;}}
/* Start custom CSS */:root{
  --re-ink:#0E0C14;
  --re-surface:#16121F;
  --re-line:#2A2437;
  --re-purple:#8B7BFF;
  --re-purple-lt:#B9AFFF;
  --re-yellow:#FFD84D;
  --re-on-yellow:#3A2E00;
  --re-paper:#F4F2EC;
  --re-muted:#A29FB0;
}


/* 1. Italic serif accent inside headings.
   Elementor cannot style a subset of a heading's text. */
h1 em, h2 em, h3 em, .elementor-heading-title em{
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-weight:400;
  color:var(--e-global-color-secondary);
  letter-spacing:0;
}

/* 2. Eyebrow rule. Pseudo-elements are not exposed in the UI. */
/* Eyebrow label. Apply CSS class "re-eyebrow" to a Text Editor widget. */
.re-eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--re-purple); margin-bottom:18px;
}
.re-eyebrow::before{content:"";width:26px;height:1px;background:var(--re-purple);flex:none}
.re-eyebrow.re-center{justify-content:center}

/* the actual fix — kill the wrapper's margins */
.re-eyebrow > *,
.re-eyebrow p,
.re-eyebrow .elementor-widget-container{
  margin:0;
  line-height:inherit;
}

.re-eyebrow::before{
  content:"";
  width:26px;
  height:1px;
  background:var(--e-global-color-primary);
  flex:none;
  position:relative;
  top:-1px;              /* optical adjustment, see below */
}

.re-eyebrow.re-center{ justify-content:center; }

/* 3. Portfolio scrub-bar hover. Pseudo-element + transition. */
.re-tile{ position:relative; overflow:hidden; }
.re-tile::after{
  content:""; position:absolute; left:0; bottom:0;
  height:3px; width:0; background:var(--e-global-color-accent);
  transition:width .5s ease;
}
.re-tile:hover::after{ width:100%; }

/* 4. Button internals bug fix — targets spans the UI can't select. */
.elementor-button{ display:inline-flex; align-items:center; justify-content:center; }
.elementor-button .elementor-button-content-wrapper{
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.elementor-button .elementor-button-text{ flex-grow:0; }
.elementor-button .elementor-button-icon{ margin:0; }

/* 5. Accessibility floor. */
:focus-visible{ outline:2px solid var(--e-global-color-accent); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; }
}

/* Card container wrapping the embed */
.booking-card-wrapper {
  background-color: #16121F;
  border: 1px solid #1e1c2e;
  border-radius: 16px;
  padding: 24px;
  overflow: hidden;
}

/* Forces iframe to fit neatly inside the rounded container */
.booking-card-wrapper iframe {
  border: none !important;
  border-radius: 12px;
}/* End custom CSS */