:root {
  --luxury-ink: #03050a;
  --luxury-ink-soft: #090c14;
  --luxury-panel: rgba(17, 18, 24, 0.88);
  --luxury-panel-solid: #111218;
  --luxury-ivory: #f2efe9;
  --luxury-ivory-soft: #d8d5ce;
  --luxury-silver: #9298aa;
  --luxury-blue: #2d4fe5;
  --luxury-blue-deep: #142c9a;
  --luxury-champagne: #b9a77f;
  --luxury-line: rgba(170, 183, 225, 0.16);
  --luxury-line-strong: rgba(92, 119, 238, 0.34);
  --luxury-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --luxury-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
  background: var(--luxury-ink);
}

body.arkova-luxury-v23 {
  min-width: 0;
  overflow-x: clip;
  color: var(--luxury-ivory);
  background:
    radial-gradient(circle at 72% 2%, rgba(28, 54, 160, 0.14), transparent 33rem),
    radial-gradient(circle at 12% 48%, rgba(185, 167, 127, 0.055), transparent 28rem),
    linear-gradient(145deg, #050812 0%, #02040a 52%, #06070b 100%);
  color-scheme: dark;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.arkova-luxury-v23::selection {
  background: rgba(61, 91, 229, 0.42);
  color: #ffffff;
}

.arkova-luxury-v23 .page,
.arkova-luxury-v23 footer {
  position: relative;
  z-index: 1;
}

.arkova-luxury-glow {
  position: fixed;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.arkova-luxury-glow::before {
  position: absolute;
  width: min(68vw, 940px);
  height: min(68vw, 940px);
  top: -48%;
  right: -19%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(39, 73, 220, 0.14), rgba(12, 28, 96, 0.035) 48%, transparent 70%);
  content: "";
  transform: translate3d(0, 0, 0);
  animation: arkovaLuxuryDrift 26s var(--luxury-ease-soft) infinite alternate;
}

.arkova-luxury-glow::after {
  position: absolute;
  width: min(46vw, 680px);
  height: min(46vw, 680px);
  bottom: -32%;
  left: -14%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(185, 167, 127, 0.065), transparent 70%);
  content: "";
}

@keyframes arkovaLuxuryDrift {
  from { transform: translate3d(-3%, 1%, 0) scale(0.98); }
  to { transform: translate3d(5%, 7%, 0) scale(1.05); }
}

/* Retire the layered infinite effects that caused visual trails and repaints. */
.arkova-luxury-v23 .v9-silk-field,
.arkova-luxury-v23 .arkova-v8-atmosphere,
.arkova-luxury-v23 .arkova-flow-orb,
.arkova-luxury-v23 .arkova-flow-ribbon,
.arkova-luxury-v23 .soft-card.hero-card,
.arkova-luxury-v23 .showreel-shell,
.arkova-luxury-v23 .showreel-screen,
.arkova-luxury-v23 .pulse,
.arkova-luxury-v23 .arkova-scroll-cue {
  animation: none !important;
}

.arkova-luxury-v23 .v9-silk-field,
.arkova-luxury-v23 .arkova-v8-atmosphere,
.arkova-luxury-v23 .arkova-flow-orb,
.arkova-luxury-v23 .arkova-flow-ribbon {
  opacity: 0.22 !important;
}

.arkova-luxury-v23 .reveal,
.arkova-luxury-v23 .v9-reveal {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.arkova-luxury-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 820ms var(--luxury-ease),
    transform 820ms var(--luxury-ease);
  transition-delay: var(--luxury-delay, 0ms);
}

.arkova-luxury-reveal.is-luxury-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Navigation */
.arkova-luxury-v23 .nav-wrap {
  position: fixed !important;
  z-index: 1200 !important;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(18, 29, 62, 0.12) !important;
  background: rgba(242, 240, 235, 0.91) !important;
  box-shadow: 0 10px 34px rgba(1, 5, 18, 0.055) !important;
  -webkit-backdrop-filter: blur(22px) saturate(120%);
  backdrop-filter: blur(22px) saturate(120%);
  transform: none !important;
  transition: transform 560ms var(--luxury-ease) !important;
}

.arkova-luxury-v23 .nav-wrap.arkova-luxury-nav-hidden {
  transform: translate3d(0, -110%, 0) !important;
}

.arkova-luxury-v23 .nav-wrap > .container.nav {
  min-height: 74px;
}

.arkova-luxury-v23 .nav-wrap .arkova-menu-toggle,
.arkova-luxury-v23 .nav-wrap .arkova-brand-link,
.arkova-luxury-v23 .nav-wrap .arkova-logo-crop {
  animation: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.arkova-luxury-v23 .arkova-menu-toggle {
  position: relative;
  z-index: 1220;
  min-width: 104px;
  min-height: 44px;
  overflow: hidden;
  border: 1px solid rgba(15, 31, 80, 0.15) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    0 8px 22px rgba(13, 26, 72, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
  color: #07102b !important;
  transition:
    color 260ms ease,
    border-color 260ms ease,
    background-color 260ms ease,
    box-shadow 260ms ease !important;
}

.arkova-luxury-v23 .arkova-menu-lines,
.arkova-luxury-v23 .arkova-menu-lines::before,
.arkova-luxury-v23 .arkova-menu-lines::after {
  transition: transform 420ms var(--luxury-ease), opacity 220ms ease !important;
}

.arkova-luxury-v23 .arkova-menu-label {
  letter-spacing: 0.2em !important;
}

.arkova-luxury-v23 .nav-wrap .brand {
  position: relative;
  z-index: 1220;
}

.arkova-luxury-progress {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
}

.arkova-luxury-progress > span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--luxury-champagne), #4164ee 68%, #8ba2ff);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

/* Bespoke menu panel: desktop from left, mobile from top. */
.arkova-luxury-v23 .nav-wrap .menu {
  position: fixed !important;
  z-index: 1180 !important;
  display: flex !important;
  width: min(440px, 92vw) !important;
  height: 100dvh !important;
  inset: 0 auto 0 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 112px clamp(36px, 6vw, 82px) 54px !important;
  visibility: hidden !important;
  overflow-y: auto !important;
  border-right: 1px solid rgba(119, 137, 205, 0.18) !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(49, 78, 211, 0.17), transparent 28rem),
    linear-gradient(160deg, rgba(9, 12, 22, 0.985), rgba(3, 5, 10, 0.995)) !important;
  box-shadow: 34px 0 80px rgba(0, 0, 0, 0.34) !important;
  opacity: 0 !important;
  transform: translate3d(-104%, 0, 0) !important;
  transition:
    transform 720ms var(--luxury-ease),
    opacity 400ms ease,
    visibility 0s linear 720ms !important;
}

.arkova-luxury-v23 .nav-wrap .arkova-menu-toggle[aria-expanded="true"] + .menu {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: 0s !important;
}

.arkova-luxury-v23 .nav-wrap .menu > a {
  position: relative;
  width: 100%;
  padding: 14px 0 !important;
  border: 0 !important;
  background: none !important;
  color: rgba(242, 239, 233, 0.72) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(29px, 3vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
  text-align: left !important;
  text-transform: none !important;
  transition: color 240ms ease, transform 420ms var(--luxury-ease) !important;
}

.arkova-luxury-v23 .nav-wrap .menu > a::before,
.arkova-luxury-v23 .nav-wrap .menu > a::after {
  display: none !important;
  content: none !important;
}

.arkova-luxury-v23 .nav-wrap .menu > a:hover,
.arkova-luxury-v23 .nav-wrap .menu > a:focus-visible {
  color: #ffffff !important;
  transform: translate3d(8px, 0, 0) !important;
}

.arkova-luxury-v23 .nav-wrap .menu > .cta {
  margin-top: 22px !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.arkova-luxury-v23 .nav-wrap .lang-switch {
  width: 100% !important;
  margin-top: 28px !important;
}

/* Core layout and typography */
.arkova-luxury-v23 .section {
  position: relative;
  padding-block: clamp(92px, 11vw, 164px);
}

.arkova-luxury-v23 #home {
  min-height: 100svh;
  padding-top: clamp(118px, 12vw, 166px);
}

.arkova-luxury-v23 .container {
  width: min(1180px, calc(100% - 48px));
}

.arkova-luxury-v23 .hero-grid {
  align-items: stretch !important;
  gap: clamp(34px, 5vw, 78px) !important;
}

.arkova-luxury-v23 .soft-card {
  border: 1px solid var(--luxury-line) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
    rgba(10, 12, 18, 0.7) !important;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.arkova-luxury-v23 .hero-grid > .hero-card:first-child {
  align-self: center;
  padding: clamp(18px, 3vw, 42px) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.arkova-luxury-v23 .hero-grid > .hero-card:last-child {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 3.5vw, 52px) !important;
  border-color: rgba(126, 143, 204, 0.2) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(29, 28, 31, 0.92), rgba(7, 8, 13, 0.97)),
    var(--luxury-panel-solid) !important;
  box-shadow:
    0 40px 100px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.arkova-luxury-v23 .hero-grid > .hero-card:last-child::before {
  position: absolute;
  top: 0;
  right: 14%;
  left: 14%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(76, 104, 230, 0.7), transparent);
  content: "";
}

.arkova-luxury-v23 .hero-grid > .hero-card:last-child .chip {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 8px 12px !important;
  align-items: center !important;
  border: 1px solid rgba(86, 111, 224, 0.3) !important;
  border-radius: 999px !important;
  background: rgba(41, 67, 177, 0.1) !important;
  color: #aebcf8 !important;
  writing-mode: horizontal-tb !important;
  aspect-ratio: auto !important;
  transform: none !important;
}

.arkova-luxury-v23 .hero-grid > .hero-card:last-child > div:not(.chip) {
  padding-block: clamp(22px, 2.4vw, 32px);
  border-top: 1px solid rgba(157, 167, 202, 0.14);
}

.arkova-luxury-v23 .eyebrow,
.arkova-luxury-v23 .chip,
.arkova-luxury-v23 .showreel-kicker,
.arkova-luxury-v23 .showreel-meta {
  color: #9faadc !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.arkova-luxury-v23 h1,
.arkova-luxury-v23 h2 {
  color: var(--luxury-ivory) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

.arkova-luxury-v23 h1 {
  max-width: 790px;
  font-size: clamp(58px, 7.1vw, 108px) !important;
  line-height: 0.92 !important;
}

.arkova-luxury-v23 h2 {
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: 0.98 !important;
}

.arkova-luxury-v23 .lead,
.arkova-luxury-v23 .section p {
  color: rgba(213, 216, 228, 0.62);
  line-height: 1.75;
}

.arkova-luxury-v23 .inline-tip {
  color: rgba(185, 190, 208, 0.58) !important;
}

.arkova-luxury-v23 .pulse {
  width: 5px !important;
  height: 5px !important;
  background: #6882f5 !important;
  box-shadow: 0 0 0 4px rgba(75, 101, 225, 0.08) !important;
}

.arkova-luxury-v23 .arkova-scroll-cue {
  color: rgba(172, 179, 201, 0.44) !important;
  letter-spacing: 0.2em !important;
}

/* Buttons: no oversized sweeps or trailing pseudo-elements. */
.arkova-luxury-v23 .cta,
.arkova-luxury-v23 .submit,
.arkova-luxury-v23 .muted-btn,
.arkova-luxury-v23 .chat-fab,
.arkova-luxury-v23 .chat-send,
.arkova-luxury-v23 .arkova-booking-back {
  position: relative;
  overflow: hidden !important;
  isolation: isolate;
  border: 1px solid rgba(100, 128, 244, 0.44) !important;
  background: linear-gradient(145deg, #284bd7, #152c91) !important;
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(18, 47, 164, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  font-family: "Avenir Next", "Helvetica Neue", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
  text-shadow: none !important;
  transform: none !important;
  transition:
    color 240ms ease,
    background-color 240ms ease,
    border-color 240ms ease,
    box-shadow 300ms ease,
    transform 300ms var(--luxury-ease) !important;
}

.arkova-luxury-v23 .cta::before,
.arkova-luxury-v23 .cta::after,
.arkova-luxury-v23 .submit::before,
.arkova-luxury-v23 .submit::after,
.arkova-luxury-v23 .muted-btn::before,
.arkova-luxury-v23 .muted-btn::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

.arkova-luxury-v23 .muted-btn,
.arkova-luxury-v23 .chat-fab {
  border-color: rgba(119, 139, 212, 0.28) !important;
  background: rgba(8, 12, 23, 0.92) !important;
  color: #f0eee9 !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

/* Showreel */
.arkova-luxury-v23 .showreel-shell {
  overflow: hidden;
  border: 1px solid rgba(129, 145, 205, 0.18) !important;
  border-radius: 24px !important;
  background: rgba(8, 10, 16, 0.78) !important;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.28) !important;
}

.arkova-luxury-v23 .showreel-screen {
  position: relative;
  min-height: clamp(480px, 64vw, 760px);
  background:
    linear-gradient(115deg, rgba(1, 3, 9, 0.22), rgba(2, 5, 15, 0.76)),
    radial-gradient(circle at 72% 25%, rgba(54, 82, 202, 0.24), transparent 34rem),
    linear-gradient(145deg, #131723, #05070d 64%) !important;
}

.arkova-luxury-v23 .showreel-screen::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 18%, rgba(122, 145, 238, 0.06) 48%, transparent 72%),
    linear-gradient(180deg, transparent 62%, rgba(0, 0, 0, 0.34));
  content: "";
  pointer-events: none;
}

.arkova-luxury-v23 .showreel-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
}

.arkova-luxury-v23 .showreel-play {
  border-color: rgba(255, 255, 255, 0.36) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* FAQ */
.arkova-luxury-v23 #faq .container {
  max-width: 980px;
}

.arkova-luxury-v23 #faq details {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(159, 170, 207, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.arkova-luxury-v23 #faq details:last-child {
  border-bottom: 1px solid rgba(159, 170, 207, 0.16) !important;
}

.arkova-luxury-v23 #faq summary {
  position: relative;
  padding: 27px 54px 27px 0 !important;
  color: rgba(241, 239, 234, 0.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.018em !important;
  list-style: none;
  cursor: pointer;
  transition: color 220ms ease !important;
}

.arkova-luxury-v23 #faq summary::-webkit-details-marker {
  display: none;
}

.arkova-luxury-v23 #faq summary::after {
  position: absolute;
  top: 50%;
  right: 2px;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(125, 145, 222, 0.28);
  border-radius: 50%;
  color: #91a5f4;
  content: "+";
  font: 300 16px/18px sans-serif;
  text-align: center;
  transform: translateY(-50%);
  transition: transform 360ms var(--luxury-ease), color 220ms ease, border-color 220ms ease;
}

.arkova-luxury-v23 #faq details[open] summary {
  color: #ffffff !important;
}

.arkova-luxury-v23 #faq details[open] summary::after {
  border-color: rgba(145, 165, 244, 0.6);
  color: #ffffff;
  transform: translateY(-50%) rotate(45deg);
}

.arkova-luxury-v23 #faq details > p {
  max-width: 760px;
  margin: -4px 0 26px !important;
  color: rgba(196, 201, 219, 0.62) !important;
}

/* Booking */
.arkova-luxury-v23 #booking {
  min-height: 100svh;
  padding-top: clamp(150px, 14vw, 210px);
}

.arkova-luxury-v23 #booking > .container.soft-card {
  padding: clamp(34px, 5vw, 72px) !important;
  border-color: rgba(125, 143, 208, 0.2) !important;
  background:
    linear-gradient(150deg, rgba(31, 30, 34, 0.94), rgba(9, 10, 16, 0.975)),
    var(--luxury-panel-solid) !important;
  box-shadow:
    0 46px 120px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.arkova-luxury-v23 #bookingForm {
  display: grid;
  gap: 12px;
}

.arkova-luxury-v23 #bookingForm input,
.arkova-luxury-v23 #bookingForm select,
.arkova-luxury-v23 #bookingForm textarea {
  width: 100%;
  min-height: 54px;
  padding: 15px 16px !important;
  border: 1px solid rgba(151, 162, 198, 0.15) !important;
  border-radius: 12px !important;
  outline: none !important;
  background: rgba(255, 255, 255, 0.032) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.018) !important;
  color: rgba(241, 240, 236, 0.9) !important;
  font-size: 14px !important;
  animation: none !important;
  transform: none !important;
  transition:
    border-color 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease !important;
}

.arkova-luxury-v23 #bookingForm textarea {
  min-height: 118px;
  resize: vertical;
}

.arkova-luxury-v23 #bookingForm input::placeholder,
.arkova-luxury-v23 #bookingForm textarea::placeholder {
  color: rgba(161, 171, 204, 0.58) !important;
}

.arkova-luxury-v23 #bookingForm input:focus,
.arkova-luxury-v23 #bookingForm select:focus,
.arkova-luxury-v23 #bookingForm textarea:focus {
  border-color: rgba(84, 113, 237, 0.72) !important;
  background: rgba(34, 49, 104, 0.14) !important;
  box-shadow:
    0 0 0 3px rgba(48, 77, 202, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

.arkova-luxury-v23 #bookingForm option {
  background: #11141d;
  color: #f1efe9;
}

.arkova-luxury-v23 #bookingForm .status {
  border: 1px solid rgba(96, 122, 223, 0.2) !important;
  border-radius: 12px !important;
  background: rgba(33, 50, 120, 0.09) !important;
}

.arkova-luxury-v23 #bookingForm .submit {
  min-height: 56px;
  margin-top: 10px;
}

.arkova-luxury-v23 .arkova-booking-back {
  top: 94px !important;
  border-color: rgba(142, 156, 214, 0.24) !important;
  background: rgba(7, 11, 21, 0.88) !important;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.arkova-luxury-v23 .arkova-booking-back__icon {
  border-color: rgba(112, 137, 236, 0.25) !important;
  background: rgba(49, 75, 184, 0.12) !important;
  color: #9caef8 !important;
}

/* Live support */
.arkova-luxury-v23 .chat-panel {
  overflow: hidden !important;
  border: 1px solid rgba(117, 138, 218, 0.24) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(160deg, rgba(18, 21, 31, 0.975), rgba(5, 8, 15, 0.985)) !important;
  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}

.arkova-luxury-v23 .chat-head {
  border-bottom-color: rgba(148, 160, 203, 0.14) !important;
}

.arkova-luxury-v23 .chat-body {
  scroll-behavior: smooth;
}

.arkova-luxury-v23 .message {
  animation: arkovaLuxuryMessage 220ms var(--luxury-ease) both !important;
}

@keyframes arkovaLuxuryMessage {
  from { opacity: 0; transform: translate3d(0, 7px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.arkova-luxury-v23 .message.bot {
  border: 1px solid rgba(142, 153, 191, 0.12) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.arkova-luxury-v23 .message.user {
  background: linear-gradient(145deg, #2848c7, #172c89) !important;
}

.arkova-luxury-v23 .chat-input input {
  border-color: rgba(144, 157, 203, 0.18) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  transition: border-color 200ms ease, background-color 200ms ease !important;
}

.arkova-luxury-v23 .chat-input input:focus {
  border-color: rgba(91, 119, 235, 0.64) !important;
  background: rgba(44, 62, 131, 0.12) !important;
}

.arkova-luxury-v23 .arkova-chat-control {
  transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease !important;
}

.arkova-luxury-v23 .arkova-page-hidden .arkova-luxury-glow::before {
  animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
  .arkova-luxury-v23 .cta:hover,
  .arkova-luxury-v23 .submit:hover,
  .arkova-luxury-v23 .muted-btn:hover,
  .arkova-luxury-v23 .chat-fab:hover,
  .arkova-luxury-v23 .chat-send:hover,
  .arkova-luxury-v23 .arkova-booking-back:hover {
    border-color: rgba(130, 153, 255, 0.72) !important;
    box-shadow:
      0 18px 42px rgba(23, 55, 184, 0.27),
      inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transform: translate3d(0, -2px, 0) !important;
  }

  .arkova-luxury-v23 .arkova-menu-toggle:hover {
    border-color: rgba(36, 65, 165, 0.32) !important;
    background: #ffffff !important;
    box-shadow:
      0 12px 28px rgba(17, 34, 96, 0.11),
      inset 0 1px 0 #ffffff !important;
  }

  .arkova-luxury-v23 .soft-card:not(.hero-card):hover {
    border-color: rgba(105, 128, 220, 0.28) !important;
    transform: translate3d(0, -4px, 0);
    transition: border-color 280ms ease, transform 520ms var(--luxury-ease), box-shadow 520ms var(--luxury-ease);
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 78px;
  }

  .arkova-luxury-glow::before {
    animation: none;
    opacity: 0.72;
    transform: translate3d(0, 0, 0);
  }

  .arkova-luxury-v23 .nav-wrap > .container.nav {
    min-height: 70px;
  }

  .arkova-luxury-v23 .arkova-menu-toggle {
    min-width: 46px;
    min-height: 46px;
    padding-inline: 0 !important;
  }

  .arkova-luxury-v23 .arkova-menu-label {
    display: none !important;
  }

  .arkova-luxury-v23 .nav-wrap .menu {
    width: 100% !important;
    height: min(680px, 100dvh) !important;
    inset: 0 0 auto 0 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 102px 28px 44px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(119, 137, 205, 0.2) !important;
    box-shadow: 0 34px 80px rgba(0, 0, 0, 0.4) !important;
    transform: translate3d(0, -104%, 0) !important;
  }

  .arkova-luxury-v23 .nav-wrap .arkova-menu-toggle[aria-expanded="true"] + .menu {
    transform: translate3d(0, 0, 0) !important;
  }

  .arkova-luxury-v23 .nav-wrap .menu > a {
    max-width: 320px;
    padding: 11px 0 !important;
    font-size: clamp(30px, 9vw, 42px) !important;
    text-align: center !important;
  }

  .arkova-luxury-v23 .nav-wrap .menu > a:hover,
  .arkova-luxury-v23 .nav-wrap .menu > a:focus-visible {
    transform: none !important;
  }

  .arkova-luxury-v23 .nav-wrap .lang-switch {
    max-width: 340px;
  }

  .arkova-luxury-v23 .section {
    padding-block: clamp(78px, 22vw, 112px);
  }

  .arkova-luxury-v23 #home {
    padding-top: 108px;
  }

  .arkova-luxury-v23 .container {
    width: min(100% - 28px, 1180px);
  }

  .arkova-luxury-v23 .hero-grid {
    gap: 30px !important;
  }

  .arkova-luxury-v23 .hero-grid > .hero-card:first-child {
    padding-top: 10px !important;
  }

  .arkova-luxury-v23 .hero-grid > .hero-card:last-child {
    padding: 28px 22px !important;
    border-radius: 20px !important;
  }

  .arkova-luxury-v23 h1 {
    font-size: clamp(49px, 15vw, 72px) !important;
    line-height: 0.94 !important;
  }

  .arkova-luxury-v23 h2 {
    font-size: clamp(38px, 12vw, 56px) !important;
  }

  .arkova-luxury-v23 .showreel-shell {
    border-radius: 18px !important;
  }

  .arkova-luxury-v23 .showreel-screen {
    min-height: 560px;
  }

  .arkova-luxury-v23 #faq summary {
    padding-block: 23px !important;
    font-size: 21px !important;
  }

  .arkova-luxury-v23 #booking {
    padding-top: 150px;
  }

  .arkova-luxury-v23 #booking > .container.soft-card {
    padding: 32px 18px !important;
    border-radius: 18px !important;
  }

  .arkova-luxury-v23 #bookingForm .two-cols {
    grid-template-columns: 1fr !important;
  }

  .arkova-luxury-v23 .arkova-booking-back {
    top: 82px !important;
  }

  .arkova-luxury-reveal {
    transform: translate3d(0, 16px, 0);
    transition-duration: 660ms;
    transition-delay: 0ms;
  }
}

@media (max-width: 370px) {
  .arkova-luxury-v23 .container {
    width: min(100% - 22px, 1180px);
  }

  .arkova-luxury-v23 h1 {
    font-size: 46px !important;
  }
}

/* High-specificity safeguards against legacy version selectors. */
body.arkova-luxury-v23 .nav-wrap .menu {
  width: min(440px, 92vw) !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  inset: 0 auto 0 0 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 112px clamp(36px, 6vw, 82px) 54px !important;
  border: 0 !important;
  border-right: 1px solid rgba(119, 137, 205, 0.18) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(49, 78, 211, 0.17), transparent 28rem),
    linear-gradient(160deg, rgba(9, 12, 22, 0.99), rgba(3, 5, 10, 0.997)) !important;
  color: var(--luxury-ivory) !important;
  box-shadow: 34px 0 80px rgba(0, 0, 0, 0.38) !important;
}

body.arkova-luxury-v23 .nav-wrap .menu::before,
body.arkova-luxury-v23 .nav-wrap .menu::after {
  display: none !important;
  background: none !important;
  content: none !important;
  animation: none !important;
}

body.arkova-luxury-v23 .nav-wrap .menu > a {
  border: 0 !important;
  background: transparent !important;
  color: rgba(242, 239, 233, 0.72) !important;
  text-align: left !important;
}

body.arkova-luxury-v23 .nav-wrap .menu > a[data-v8-active="true"] {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

body.arkova-luxury-v23 .nav-wrap .menu > a:hover,
body.arkova-luxury-v23 .nav-wrap .menu > a:focus-visible {
  color: #ffffff !important;
}

body.arkova-luxury-v23 .nav-wrap .menu > .cta {
  border: 1px solid rgba(100, 128, 244, 0.44) !important;
  background: linear-gradient(145deg, #284bd7, #152c91) !important;
  color: #ffffff !important;
  text-align: center !important;
}

body.arkova-luxury-v23 .nav-wrap .arkova-language-trigger,
body.arkova-luxury-v23 .nav-wrap .arkova-language-options {
  border-color: rgba(126, 145, 219, 0.24) !important;
  background: rgba(9, 13, 24, 0.92) !important;
  color: var(--luxury-ivory) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

body.arkova-luxury-v23 .nav-wrap .arkova-language-option {
  color: rgba(229, 228, 224, 0.75) !important;
}

body.arkova-luxury-v23 .nav-wrap .arkova-language-option:hover,
body.arkova-luxury-v23 .nav-wrap .arkova-language-option[aria-selected="true"] {
  background: rgba(48, 75, 190, 0.18) !important;
  color: #ffffff !important;
}

body.arkova-luxury-v23 .hero-grid > .hero-card:last-child .chip {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  width: fit-content !important;
  max-width: max-content !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 12px !important;
  justify-self: start !important;
  align-self: start !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  writing-mode: horizontal-tb !important;
  aspect-ratio: auto !important;
}

body.arkova-luxury-v23 #booking .container.soft-card {
  padding: clamp(34px, 5vw, 72px) !important;
  border-color: rgba(125, 143, 208, 0.2) !important;
  background:
    linear-gradient(150deg, rgba(31, 30, 34, 0.94), rgba(9, 10, 16, 0.975)),
    var(--luxury-panel-solid) !important;
  box-shadow:
    0 46px 120px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body.arkova-luxury-v23 .arkova-booking-back {
  z-index: 1150 !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}

@media (max-width: 760px) {
  body.arkova-luxury-v23 .nav-wrap .menu {
    width: 100% !important;
    height: min(610px, calc(100dvh - 70px)) !important;
    min-height: 0 !important;
    inset: 70px 0 auto 0 !important;
    align-items: center !important;
    padding: 102px 28px 44px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(119, 137, 205, 0.2) !important;
    text-align: center !important;
  }

  body.arkova-luxury-v23 .nav-wrap .menu > a {
    text-align: center !important;
  }

  body.arkova-luxury-v23 #booking .container.soft-card {
    padding: 32px 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .arkova-luxury-v23 *,
  .arkova-luxury-v23 *::before,
  .arkova-luxury-v23 *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .arkova-luxury-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
