:root {
  --ua-ink: #171314;
  --ua-ink-soft: #211b20;
  --ua-violet: #a986c2;
  --ua-paper: #f5efe9;
  --ua-muted: #c9bec6;
}

/* The supplied logo is transparent and nearly square. Preserve its native
   proportions in every legacy Elementor logo frame. */
img.ua-supplied-logo {
  object-fit: contain !important;
  filter: brightness(1.3) saturate(1.16) drop-shadow(0 0 1px rgb(245 239 233 / .72)) drop-shadow(0 0 10px rgb(116 74 137 / .68)) drop-shadow(0 5px 12px rgb(0 0 0 / .58));
}
.ua-header-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
.ua-header-logo-link:focus-visible {
  outline: 3px solid var(--ua-paper);
  outline-offset: 4px;
}

/* Give the monogram a clear brand presence in every page header without
   increasing the header itself or crowding the navigation. */
@media (min-width: 1366px) {
  .elementor-location-header .elementor-element-864d68d img.ua-supplied-logo {
    width: 118px !important;
    max-width: none !important;
    height: auto !important;
  }
}

/* Elementor's horizontal motion effects extend beyond the viewport before
   sliding into place. Clip that paint without creating a scroll container, so
   Mac trackpad gestures cannot pan the entire document sideways and sticky
   roll-up panels continue to work. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}
body.home :is(
  .elementor-element-a6cc2f1,
  .elementor-element-2d4f06b,
  .elementor-element-966543d,
  .elementor-element-6b497ad,
  .elementor-element-e4612b6,
  .elementor-element-87805cf,
  .elementor-element-80b2760,
  .elementor-element-6a1d3eb,
  .elementor-element-1c4b0c1,
  .elementor-element-20f98fc
) {
  overflow: clip;
}

/* Instant mobile/tablet navigation. The links are rendered with the page and
   do not depend on Elementor's delayed off-canvas initialisation. */
.ua-fast-menu[hidden] { display: none !important; }
.ua-fast-menu { display: none; }

@media (max-width: 1365px) {
  html.ua-menu-open,
  html.ua-menu-open body { overflow: hidden !important; }
  .ua-fast-menu {
    position: fixed;
    z-index: 12000;
    inset: 0;
    display: grid;
    place-items: stretch;
    padding: 0;
    background: #100e10;
    color: #fff;
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  .ua-fast-menu__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100dvh;
    padding: max(18px, env(safe-area-inset-top)) clamp(20px, 6vw, 56px) max(24px, env(safe-area-inset-bottom));
    overflow-y: auto;
    background:
      radial-gradient(circle at 8% 4%, rgb(169 134 194 / .22), transparent 30%),
      radial-gradient(circle at 100% 100%, rgb(99 67 113 / .12), transparent 35%),
      linear-gradient(145deg, #211921 0%, #171314 55%, #100e10 100%);
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  .ua-fast-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: min(100%, 720px);
    margin-inline: auto;
    padding-bottom: 14px;
    border-bottom: 1px solid rgb(255 255 255 / .13);
  }
  .ua-fast-menu__brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 52px;
    color: #fff;
    font: 800 clamp(18px, 3.8vw, 23px)/1.1 "Raleway", Arial, sans-serif;
    text-decoration: none;
  }
  .ua-fast-menu__brand img {
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain;
  }
  button.ua-fast-menu__close {
    position: relative;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgb(169 134 194 / .55);
    border-radius: 50%;
    background: rgb(255 255 255 / .04) !important;
    color: var(--ua-violet) !important;
    cursor: pointer;
  }
  .ua-fast-menu__close::before,
  .ua-fast-menu__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .ua-fast-menu__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
  .ua-fast-menu__nav {
    display: grid;
    width: min(100%, 720px);
    margin: clamp(22px, 4vh, 38px) auto 0;
  }
  .ua-fast-menu__nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 54px;
    padding: 12px 14px;
    border-bottom: 1px solid rgb(255 255 255 / .12);
    color: #fff;
    font: 700 clamp(17px, 3.3vw, 21px)/1.25 "Raleway", Arial, sans-serif;
    text-decoration: none;
  }
  .ua-fast-menu__nav a > span:last-child {
    color: var(--ua-violet);
    font-size: 24px;
    transition: none;
  }
  .ua-fast-menu__nav a:hover,
  .ua-fast-menu__nav a:focus-visible,
  .ua-fast-menu__nav a[aria-current="page"] {
    color: #171314;
    background: var(--ua-violet);
  }
  .ua-fast-menu__nav a:hover > span:last-child,
  .ua-fast-menu__nav a:focus-visible > span:last-child,
  .ua-fast-menu__nav a[aria-current="page"] > span:last-child { color: #171314; transform: translateX(3px); }
  .ua-fast-menu__close:focus-visible,
  .ua-fast-menu__brand:focus-visible,
  .ua-fast-menu__nav a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
  .ua-fast-menu__meta {
    width: min(100%, 720px);
    margin: auto auto 0;
    padding-top: 24px;
    color: #bfb3bb;
    font: 500 12px/1.5 "Raleway", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  /* The site-owned menu replaces Elementor's animated off-canvas layer on
     phones and tablets. Prevent the slower drawer from painting underneath or
     briefly taking over while Elementor initialises. */
  .elementor-46 .elementor-element.elementor-element-8527016,
  .elementor-location-header .e-off-canvas {
    display: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Keep the homepage's original video clean: no synthetic smoke layer or
   motion-control overlay is added to the live background footage. */
body.home .ua-atmosphere::after,
body.home .ua-motion-control {
  display: none !important;
}

/* The desktop hero intentionally keeps its side and lower frame. Remove only
   the bright top rule from the hero and its video overlay. */
body.home .elementor-12 .elementor-element.elementor-element-a226847,
body.home .elementor-12 .elementor-element.elementor-element-a226847 > .e-con-inner > .elementor-background-video-container {
  border-top: 0 !important;
  --border-top-width: 0px;
}
body.home .elementor-12 .elementor-element.elementor-element-a226847::before,
body.home .elementor-12 .elementor-element.elementor-element-a226847 > .e-con-inner > .elementor-background-video-container::before {
  border-top-width: 0 !important;
}

/* The restored portrait has a higher-resolution intrinsic canvas than the
   original WordPress derivative. Keep the sharper asset in the established
   hero footprint so it does not cover the headline or supporting copy. */
@media (min-width: 768px) {
  body.home .elementor-12 .elementor-element.elementor-element-9d288f7 {
    left: 50% !important;
    right: auto !important;
    width: 100% !important;
    transform: translateX(-50%);
    text-align: center;
  }
  body.home .elementor-12 .elementor-element.elementor-element-9d288f7 img {
    display: block;
    width: clamp(560px, 45vw, 800px) !important;
    max-width: calc(100vw - 48px);
    height: auto;
    margin-inline: auto;
  }
  body.home .elementor-12 .elementor-element.elementor-element-08d4173 {
    margin-top: 58px !important;
  }
}

@media (min-width: 768px) and (max-width: 1365px) {
  body.home .elementor-12 .elementor-element.elementor-element-08d4173 {
    margin-top: 8px !important;
  }
}

body.home .elementor-12 .elementor-element.elementor-element-08d4173 p:first-child {
  display: inline-block;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid rgb(177 132 198 / .78);
  color: #fff;
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 650;
  letter-spacing: .015em;
  line-height: 1.45;
  text-shadow: 0 2px 14px rgb(0 0 0 / .72);
}

@media (min-width: 1440px) {
  /* The desktop header grows with the viewport while Elementor's original
     negative hero margin was fixed at 120px, leaving an increasing strip above
     the hero on wide screens. Overlay the header and start the hero at zero. */
  body.home > header.elementor-location-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 20;
    width: 100%;
  }
  body.home .elementor-12 .elementor-element.elementor-element-a226847 {
    margin-top: 0 !important;
  }
  body:not(.home) > header.elementor-location-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 20;
    width: 100%;
  }
  body:not(.home) main > .page-content > .elementor > .e-con:first-child {
    margin-top: 0 !important;
  }
}

/* Contact form: keep Google's v2 checkbox aligned with the form and usable on
   narrow phones without introducing horizontal page overflow. */
body.page-id-25 .elementor-field-type-recaptcha {
  justify-content: center;
  margin-top: 4px;
}
body.page-id-25 .elementor-field-type-recaptcha .elementor-field {
  min-height: 78px;
}

/* Contact form: premium, high-contrast field and submission states. */
body.page-id-25 .elementor-widget-form {
  width: min(calc(100% - 32px), 620px);
  margin: 24px auto 0 !important;
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid rgb(218 181 232 / .28);
  border-radius: 24px;
  background: linear-gradient(145deg, rgb(26 20 25 / .78), rgb(18 14 18 / .68));
  box-shadow: 0 24px 60px rgb(0 0 0 / .3), inset 0 1px 0 rgb(255 255 255 / .06);
  backdrop-filter: blur(10px);
}
body.page-id-25 .elementor-form-fields-wrapper {
  width: 100%;
  margin: 0 !important;
  gap: 16px;
}
body.page-id-25 .elementor-field-group {
  margin: 0;
  padding: 0;
}
body.page-id-25 .elementor-field-group.elementor-col-50,
body.page-id-25 .elementor-field-group-message,
body.page-id-25 .elementor-field-group-recaptcha,
body.page-id-25 .elementor-field-type-submit {
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
}
body.page-id-25 .elementor-field-group > .elementor-field-label.elementor-screen-only {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 7px !important;
  padding: 0 2px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  color: rgba(255, 255, 255, .88) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.page-id-25 .elementor-field-textual,
body.page-id-25 .elementor-select-wrapper {
  min-height: 52px;
  border: 1px solid rgba(200, 160, 216, .62) !important;
  border-radius: 12px !important;
  background: rgba(24, 19, 23, .86) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 9px 28px rgba(0, 0, 0, .16);
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.4;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.page-id-25 .elementor-field-textual {
  padding: 13px 15px !important;
}
body.page-id-25 textarea.elementor-field-textual {
  width: 100%;
  min-height: 142px;
  resize: vertical;
}
body.page-id-25 .elementor-select-wrapper select.elementor-field-textual {
  width: 100%;
  padding-right: 44px !important;
  background: transparent !important;
  box-shadow: none;
}
body.page-id-25 .elementor-select-wrapper option {
  background: #211a20;
  color: #fff;
}
body.page-id-25 .elementor-field-textual::placeholder {
  color: rgba(255, 255, 255, .5) !important;
  opacity: 1;
}
body.page-id-25 .elementor-field-textual:hover,
body.page-id-25 .elementor-select-wrapper:hover {
  border-color: rgba(218, 181, 232, .88) !important;
  background: rgba(24, 19, 23, .94) !important;
}
body.page-id-25 .elementor-field-textual:focus,
body.page-id-25 .elementor-select-wrapper:focus-within {
  outline: none !important;
  border-color: #d4a9e4 !important;
  background: #211a20 !important;
  box-shadow: 0 0 0 3px rgba(179, 132, 198, .22), 0 14px 34px rgba(0, 0, 0, .24) !important;
}
body.page-id-25 .elementor-field-type-submit .elementor-button {
  min-height: 56px;
  border: 1px solid rgba(229, 201, 239, .55) !important;
  border-radius: 999px !important;
  background: linear-gradient(110deg, #8d5aa2 0%, #b987cb 58%, #d8b4e5 100%) !important;
  box-shadow: 0 14px 34px rgba(77, 38, 88, .38);
  color: #171116 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.page-id-25 .elementor-field-type-submit .elementor-button:hover,
body.page-id-25 .elementor-field-type-submit .elementor-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(91, 48, 104, .48);
  filter: brightness(1.07);
}
body.page-id-25 .elementor-field-type-submit .elementor-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .78);
  outline-offset: 3px;
}
body.page-id-25 .elementor-message-danger,
body.page-id-25 .elementor-error {
  margin-top: 7px;
  color: #ffd2d9 !important;
  font-weight: 700;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
}
body.page-id-25 .elementor-form.ua-submission-complete {
  display: none;
}
body.page-id-25 .ua-contact-success {
  position: relative;
  display: grid !important;
  justify-items: center;
  gap: 12px;
  width: min(100%, 760px);
  margin: 20px auto 10px !important;
  padding: clamp(28px, 5vw, 48px) clamp(22px, 6vw, 58px) !important;
  overflow: hidden;
  border: 1px solid rgba(211, 169, 228, .58);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% -20%, rgba(190, 137, 211, .28), transparent 48%),
    linear-gradient(145deg, rgba(35, 27, 34, .98), rgba(19, 15, 19, .98));
  box-shadow: 0 26px 70px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .08);
  color: #fff !important;
  outline: none;
  text-align: center;
}
body.page-id-25 .ua-contact-success::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(#dcb9e9, #815392);
}
body.page-id-25 .ua-contact-success__icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 3px;
  border: 1px solid rgba(226, 193, 239, .62);
  border-radius: 50%;
  background: rgba(178, 126, 199, .17);
  color: #e4c3ef;
}
body.page-id-25 .ua-contact-success__icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.page-id-25 .ua-contact-success__eyebrow {
  color: #d8b2e6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
body.page-id-25 .ua-contact-success strong {
  max-width: 620px;
  color: #fff;
  font-size: clamp(24px, 4vw, 36px);
  line-height: 1.12;
}
body.page-id-25 .ua-contact-success__copy {
  max-width: 590px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px;
  line-height: 1.65;
}
body.page-id-25 .ua-contact-success__reset {
  margin-top: 8px;
  padding: 12px 20px;
  border: 1px solid rgba(220, 185, 233, .52);
  border-radius: 999px;
  background: transparent;
  color: #f7eefa;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
}
body.page-id-25 .ua-contact-success__reset:hover,
body.page-id-25 .ua-contact-success__reset:focus-visible {
  background: rgba(185, 135, 203, .2);
  outline: none;
}
@media (max-width: 767px) {
  body.page-id-25 .ua-social-rail {
    display: none !important;
  }
  body.page-id-25 .elementor-form-fields-wrapper {
    gap: 14px;
  }
  body.page-id-25 .elementor-widget-form {
    width: min(calc(100% - 24px), 620px);
    margin-top: 18px !important;
    padding: 18px 16px 20px;
    border-radius: 18px;
  }
  body.page-id-25 .elementor-field-group.elementor-col-50 {
    width: 100%;
  }
  body.page-id-25 .elementor-field-textual,
  body.page-id-25 .elementor-select-wrapper {
    min-height: 50px;
  }
}
@media (max-width: 380px) {
  body.page-id-25 .elementor-field-type-recaptcha .elementor-g-recaptcha {
    width: 304px;
    height: 70px;
    transform: scale(.9);
    transform-origin: top left;
  }
}
@media (max-width: 340px) {
  body.page-id-25 .elementor-field-type-recaptcha .elementor-g-recaptcha {
    transform: scale(.82);
  }
}

/* Keep the final campaign panel in normal flow. Elementor's former scroll
   transforms could project its headings into the preceding sticky panel and
   leave them there when the page was scrolled upward. */
body.home .ua-big-bubba-preview {
  min-height: max(100svh, 760px);
  overflow: clip;
  isolation: isolate;
}
body.home .ua-big-bubba-preview .elementor-element-f907356 {
  justify-content: center;
  min-height: max(100svh, 760px);
  margin-block: 0 !important;
  padding-block: clamp(64px, 8vh, 96px);
}
body.home .ua-big-bubba-preview .elementor-element-91afcce,
body.home .ua-big-bubba-preview .elementor-element-333267e {
  margin-top: 0 !important;
}
body.home .ua-big-bubba-preview .elementor-motion-effects-element,
body.home .ua-big-bubba-preview .elementor-motion-effects-layer {
  transform: none !important;
}

/* Serve the audited, lightweight artwork rather than the original PNG files.
   The source media stays in WordPress for editing and rollback. */
.elementor-12 .elementor-element.elementor-element-ee4028c:not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Urban-Affinity-Ottolenghi-6.webp") !important;
}
.elementor-12 :is(.elementor-element-a6cc2f1, .elementor-element-87805cf, .elementor-element-80b2760):not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Screenshot-2026-01-26-at-15.39.19.webp") !important;
}
.elementor-12 :is(.elementor-element-966543d, .elementor-element-6b497ad, .elementor-element-6a1d3eb, .elementor-element-1c4b0c1):not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Screenshot-2026-01-26-at-15.47.09.webp") !important;
}
.elementor-12 :is(.elementor-element-e4612b6, .elementor-element-20f98fc):not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Screenshot-2026-01-26-at-15.41.11.webp") !important;
}
.elementor-12 .elementor-element.elementor-element-2d4f06b:not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Urban-Affinity-Private-Chef.webp") !important;
}
.elementor-15 .elementor-element.elementor-element-dc87248:not(.elementor-motion-effects-element-type-background) {
  background-image: url("assets/Keith-Larsen-header.webp") !important;
}

@media (max-width: 1024px) {
  body.home .ua-big-bubba-preview,
  body.home .ua-big-bubba-preview .elementor-element-f907356 {
    min-height: auto;
  }
  body.home .ua-big-bubba-preview .elementor-element-f907356 {
    padding: 64px 24px 72px;
  }
  body.home .ua-big-bubba-preview .elementor-element-333267e .elementor-heading-title {
    font-size: clamp(30px, 5vw, 45px);
  }
  body.home .ua-big-bubba-preview .elementor-element-2ed2ee7 .elementor-heading-title {
    font-size: clamp(38px, 6.2vw, 55px);
  }
}

/* Elementor only defined image dimensions below 768px. Keep the tablet header compact. */
@media (min-width: 768px) and (max-width: 1365px) {
  .elementor-location-header .elementor-element-7135e1e { display: none !important; }
  .elementor-location-header .elementor-element-f3936e8 { display: flex !important; }
  .elementor-location-header .elementor-element-f3936e8 {
    --min-height: 92px;
    --justify-content: space-between;
    --align-items: center;
    --flex-wrap: nowrap;
    --padding-top: 12px;
    --padding-right: 24px;
    --padding-bottom: 12px;
    --padding-left: 24px;
    min-height: 92px;
    position: relative;
    z-index: 1000;
  }
  .elementor-location-header .elementor-element-e8389ab,
  .elementor-location-header .elementor-element-75594b0 {
    --width: auto;
    --justify-content: center;
    flex: 0 0 auto;
    width: auto;
    min-width: 72px;
    padding: 0;
  }
  .elementor-location-header .elementor-element-289b19b,
  .elementor-location-header .elementor-element-4a52164 { width: auto; max-width: none; }
  .elementor-location-header .elementor-element-289b19b img {
    display: block;
    width: 78px;
    height: 78px;
    object-fit: contain;
  }
  .elementor-location-header .elementor-element-4a52164 a {
    display: grid;
    place-items: center;
    position: relative;
    width: 52px;
    height: 52px;
    color: var(--ua-violet);
  }
  .elementor-location-header .elementor-element-4a52164 img {
    display: none;
  }
  .elementor-location-header .elementor-element-4a52164 a::before {
    content: "";
    width: 30px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -9px 0 currentColor, 0 9px 0 currentColor;
  }

  /* Elementor only supplied off-canvas sizing for phones. Rebuild the tablet
     panel so the close control, brand and full navigation remain in view. */
  .elementor-46 .elementor-element.elementor-element-8527016 {
    --e-off-canvas-width: min(78vw, 380px);
  }
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__content {
    overflow-x: hidden;
    overflow-y: auto;
  }
  .elementor-46 .elementor-element.elementor-element-42f9160 {
    --min-height: 100%;
    --justify-content: flex-start;
    --gap: 0px;
    position: relative;
    min-height: 100%;
    padding: 22px 28px 30px;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    width: 48px;
    height: 48px;
    margin: 0;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b .elementor-widget-container,
  .elementor-46 .elementor-element.elementor-element-602b08b a {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b img { display: none; }
  .elementor-46 .elementor-element.elementor-element-602b08b a::before,
  .elementor-46 .elementor-element.elementor-element-602b08b a::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: var(--ua-violet);
    transform: rotate(45deg);
  }
  .elementor-46 .elementor-element.elementor-element-602b08b a::after { transform: rotate(-45deg); }
  .elementor-46 .elementor-element.elementor-element-29f1713 {
    width: 100%;
    margin: 46px 0 0;
    text-align: center;
  }
  .elementor-46 .elementor-element.elementor-element-29f1713 img {
    width: 118px;
    max-width: 36vw;
    height: auto;
  }
  .elementor-46 .elementor-element.elementor-element-e31c3fb { display: none; }
  .elementor-46 .elementor-element.elementor-element-1043984 {
    width: 100%;
    margin-top: 24px;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu {
    width: 100%;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item {
    justify-content: center;
    min-height: 44px;
    padding: 10px 12px;
    font-size: clamp(18px, 2.35vw, 22px);
    line-height: 1.25;
  }
  .elementor-46 .elementor-element.elementor-element-14c9b93 {
    width: 100%;
    margin-top: 16px;
  }
  .elementor-46 .elementor-element.elementor-element-14c9b93 .elementor-divider-separator {
    width: 76%;
    margin-inline: auto;
  }
  .elementor-46 .elementor-element.elementor-element-1097776 { display: none; }
}

/* Replace the legacy one-line footer while retaining it in Elementor for easy rollback. */
.elementor-location-header .elementor-widget-social-icons { display: none !important; }
.elementor-location-footer { display: none; }
.elementor-location-footer .elementor-widget-social-icons { display: none !important; }
body.page-id-25 .elementor-element-0376f6f { display: none !important; }
.ua-site-footer {
  position: relative;
  z-index: 700;
  padding: 74px clamp(24px, 5vw, 76px) 24px;
  border-top: 1px solid #544451;
  color: var(--ua-paper);
  background:
    radial-gradient(circle at 8% 15%, rgb(169 134 194 / .18), transparent 27%),
    linear-gradient(135deg, #171314, #211920 65%, #151214);
  font-family: "Raleway", Arial, sans-serif;
}
.ua-footer-inner {
  display: grid;
  grid-template-columns: minmax(280px, 1.35fr) minmax(140px, .55fr) minmax(260px, .85fr);
  gap: clamp(40px, 7vw, 100px);
  width: min(100%, 1240px);
  margin-inline: auto;
}
.ua-footer-brand { display: grid; grid-template-columns: 74px 1fr; gap: 22px; align-items: start; }
.ua-footer-mark {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border: 1px solid rgb(169 134 194 / .6);
  border-radius: 50%;
  text-decoration: none;
}
.ua-footer-mark img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}
.ua-footer-name { margin: 1px 0 13px; color: #fff; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; line-height: 1.1; }
.ua-footer-brand div > p:last-child { max-width: 38ch; margin: 0; color: var(--ua-muted); font-size: 15px; line-height: 1.7; }
.ua-footer-nav, .ua-footer-connect { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ua-footer-nav p, .ua-footer-connect p { margin: 0 0 8px; color: var(--ua-violet); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ua-footer-nav a, .ua-footer-connect > a:not(.ua-footer-cta) { color: var(--ua-paper); text-decoration: none; line-height: 1.5; }
.ua-footer-nav a:hover, .ua-footer-connect > a:hover { color: var(--ua-violet); }
.ua-footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  width: min(100%, 300px);
  min-height: 52px;
  margin-bottom: 8px;
  padding: 13px 18px;
  border: 1px solid var(--ua-violet);
  border-radius: 999px;
  color: #171314;
  background: var(--ua-violet);
  font-weight: 800;
  text-decoration: none;
}
.ua-footer-cta:hover { color: #171314; background: #c5a8d8; }
.ua-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  width: min(100%, 1240px);
  margin: 60px auto 0;
  padding-top: 20px;
  border-top: 1px solid #4c3f49;
  color: #a99ea6;
  font-size: 12px;
  letter-spacing: .04em;
}
.ua-site-footer a:focus-visible, .ua-social-rail a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

.ua-social-rail {
  position: fixed;
  z-index: 1100;
  top: 50%;
  right: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transform: translateY(-50%);
  transition: opacity .2s ease, visibility .2s ease;
}
.ua-social-rail.is-footer-hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.ua-social-rail a {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgb(255 255 255 / .24);
  border-radius: 50%;
  color: #fff;
  background: rgb(28 22 27 / .92);
  box-shadow: 0 10px 25px rgb(0 0 0 / .22);
  text-decoration: none;
  backdrop-filter: blur(10px);
}
.ua-social-rail svg { width: 19px; height: 19px; fill: currentColor; }
.ua-social-rail svg.ua-icon-stroke { fill: none; stroke: currentColor; stroke-width: 1.8; }
.ua-social-rail svg.ua-icon-stroke .ua-icon-dot { fill: currentColor; stroke: none; }
.ua-social-rail span {
  position: absolute;
  right: calc(100% + 10px);
  padding: 7px 10px;
  border-radius: 7px;
  color: #fff;
  background: #211b20;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.ua-social-rail a:hover, .ua-social-rail a:focus-visible { color: #171314; background: var(--ua-violet); }
.ua-social-rail a:hover span, .ua-social-rail a:focus-visible span { opacity: 1; transform: none; }

@media (min-width: 768px) and (max-width: 900px) {
  .ua-footer-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 42px 60px; }
  .ua-footer-brand { grid-column: 1 / -1; }
  .ua-footer-connect { min-width: 0; }
  .ua-footer-connect > a:not(.ua-footer-cta) { overflow-wrap: anywhere; }
}

@media (max-width: 767px) {
  /* Elementor positioned the portrait absolutely over the heading and body
     copy. Put the hero back into a stable single-column reading order. */
  body.home .elementor-12 .elementor-element.elementor-element-a226847 {
    min-height: auto;
    margin-top: 0;
    padding: 0;
    border-width: 0 0 1px;
    background-image: url("assets/home-hero-mobile.jpg") !important;
    background-position: center;
    background-size: cover;
  }
  body.home .elementor-12 .elementor-element.elementor-element-818aff8 {
    min-height: min(820px, 100svh);
    margin: 0;
    padding: 78px 18px 42px;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
  }
  body.home .elementor-12 .elementor-element.elementor-element-9d288f7 {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 390px) !important;
    margin: 0 auto;
    text-align: center;
  }
  body.home .elementor-12 .elementor-element.elementor-element-9d288f7 img {
    display: block;
    width: min(100%, 390px);
    height: auto;
    margin-inline: auto;
    border-radius: 0;
  }
  body.home .elementor-12 .elementor-element.elementor-element-6904a0e {
    width: 100%;
    margin: 16px 0 0;
  }
  body.home .elementor-12 .elementor-element.elementor-element-6904a0e .elementor-heading-title {
    font-size: clamp(36px, 11.5vw, 48px);
    line-height: .98;
  }
  body.home .elementor-12 .elementor-element.elementor-element-fa271c1 {
    width: 100%;
    margin: 14px 0 0;
    font-size: clamp(16px, 4.7vw, 19px);
    line-height: 1.35;
  }
  body.home .elementor-12 .elementor-element.elementor-element-fa271c1 p,
  body.home .elementor-12 .elementor-element.elementor-element-08d4173 p {
    margin-block: 0 12px;
  }
  body.home .elementor-12 .elementor-element.elementor-element-08d4173 {
    width: min(100%, 560px);
    max-width: 100%;
    margin: 16px auto 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.55;
  }

  .elementor-location-header .elementor-element-4a52164 a {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-left: auto;
    color: var(--ua-violet);
  }
  .elementor-location-header .elementor-element-4a52164 img { display: none; }
  .elementor-location-header .elementor-element-4a52164 a::before {
    content: "";
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -8px 0 currentColor, 0 8px 0 currentColor;
  }
  .elementor-46 .elementor-element.elementor-element-8527016 {
    --e-off-canvas-width: min(88vw, 360px);
  }
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__content {
    overflow-x: hidden;
    overflow-y: auto;
  }
  .elementor-46 .elementor-element.elementor-element-42f9160 {
    --min-height: 100%;
    --justify-content: flex-start;
    --gap: 0px;
    position: relative;
    min-height: 100%;
    padding: 18px 22px 26px;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    width: 46px;
    height: 46px;
    margin: 0;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b .elementor-widget-container,
  .elementor-46 .elementor-element.elementor-element-602b08b a {
    position: relative;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b img { display: none; }
  .elementor-46 .elementor-element.elementor-element-602b08b a::before,
  .elementor-46 .elementor-element.elementor-element-602b08b a::after {
    content: "";
    position: absolute;
    width: 26px;
    height: 3px;
    border-radius: 999px;
    background: var(--ua-violet);
    transform: rotate(45deg);
  }
  .elementor-46 .elementor-element.elementor-element-602b08b a::after { transform: rotate(-45deg); }
  .elementor-46 .elementor-element.elementor-element-29f1713 {
    width: 100%;
    margin: 42px 0 0;
    text-align: center;
  }
  .elementor-46 .elementor-element.elementor-element-29f1713 img {
    width: 104px;
    max-width: 34vw;
    height: auto;
  }
  .elementor-46 .elementor-element.elementor-element-e31c3fb { display: none; }
  .elementor-46 .elementor-element.elementor-element-1043984 {
    width: 100%;
    margin-top: 20px;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu { width: 100%; }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item {
    justify-content: center;
    min-height: 42px;
    padding: 9px 10px;
    font-size: 18px;
    line-height: 1.25;
  }
  .elementor-46 .elementor-element.elementor-element-14c9b93 {
    width: 100%;
    margin-top: 12px;
  }
  .elementor-46 .elementor-element.elementor-element-14c9b93 .elementor-divider-separator {
    width: 76%;
    margin-inline: auto;
  }
  .elementor-46 .elementor-element.elementor-element-1097776 { display: none; }

  .ua-site-footer { padding: 52px 22px 92px; }
  .ua-footer-inner { grid-template-columns: 1fr; gap: 38px; }
  .ua-footer-brand { grid-template-columns: 60px 1fr; gap: 17px; }
  .ua-footer-mark { width: 60px; height: 60px; font-size: 20px; }
  .ua-footer-bottom { flex-direction: column; gap: 8px; margin-top: 42px; }
  .ua-social-rail {
    top: 50%;
    right: 10px;
    bottom: auto;
    flex-direction: column;
    transform: translateY(-50%);
  }
  .ua-social-rail a { width: 42px; height: 42px; }
  .ua-social-rail span { display: none; }
}

@media (max-width: 480px) {
  /* The fixed rail crosses the hero heading on narrow phones. Social links
     remain available in the footer without obscuring the primary content. */
  .ua-social-rail {
    display: none !important;
  }
}

/* Mobile and tablet navigation: use a fully opaque, full-screen menu instead
   of exposing the current page through a narrow translucent drawer. */
@media (max-width: 1365px) {
  .elementor-location-header .elementor-element-f3936e8 {
    z-index: 5000;
  }
  .elementor-46 .elementor-element.elementor-element-8527016 {
    --e-off-canvas-width: 100vw;
  }
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__overlay {
    background: #171314;
    opacity: 1;
  }
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__main,
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__content,
  .elementor-46 .elementor-element.elementor-element-42f9160 {
    background:
      radial-gradient(circle at 12% 8%, rgb(169 134 194 / .18), transparent 31%),
      linear-gradient(145deg, #201820 0%, #171314 62%, #110f10 100%);
    opacity: 1;
  }
  .elementor-46 .elementor-element.elementor-element-8527016 .e-off-canvas__main {
    width: 100vw;
    max-width: none;
    border-left: 0;
    box-shadow: none;
  }
  .elementor-46 .elementor-element.elementor-element-42f9160 {
    align-items: center;
    min-height: 100dvh;
    padding: 24px clamp(24px, 7vw, 72px) 40px;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b {
    top: 20px;
    right: clamp(18px, 4vw, 42px);
    border: 1px solid rgb(169 134 194 / .5);
    border-radius: 50%;
    background: rgb(255 255 255 / .04);
  }
  .elementor-46 .elementor-element.elementor-element-602b08b a {
    border-radius: inherit;
  }
  .elementor-46 .elementor-element.elementor-element-602b08b a:hover,
  .elementor-46 .elementor-element.elementor-element-602b08b a:focus-visible {
    background: rgb(169 134 194 / .14);
  }
  .elementor-46 .elementor-element.elementor-element-29f1713 {
    margin-top: 36px;
  }
  .elementor-46 .elementor-element.elementor-element-29f1713 img {
    width: clamp(92px, 18vw, 124px);
    max-width: none;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 {
    width: min(100%, 520px);
    margin-top: 24px;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item {
    justify-content: flex-start;
    min-height: 48px;
    padding: 12px 16px;
    border-bottom: 1px solid rgb(255 255 255 / .12);
    color: #fff;
    font-size: clamp(17px, 2.4vw, 21px);
    font-weight: 650;
    letter-spacing: .01em;
    text-align: left;
    transition: color .18s ease, background-color .18s ease, padding-left .18s ease;
  }
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item:hover,
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item:focus-visible,
  .elementor-46 .elementor-element.elementor-element-1043984 .elementor-nav-menu .elementor-item.elementor-item-active {
    padding-left: 22px;
    color: #c5a8d8;
    background: rgb(169 134 194 / .08);
  }
  .elementor-46 .elementor-element.elementor-element-14c9b93 {
    display: none !important;
  }
  body:has(.e-off-canvas[aria-hidden="false"]) .ua-social-rail {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
  body:has(.e-off-canvas[aria-hidden="false"]) {
    overflow: hidden !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ua-social-rail, .ua-social-rail span { transition: none; }
}
@media (forced-colors: active) {
  .ua-site-footer, .ua-social-rail a, .ua-footer-cta { border: 1px solid ButtonText; background: Canvas; color: ButtonText; }
}
