.elementor-5262 .elementor-element.elementor-element-45a0e1c .section.full-slider .slide-titles .label{color:#F2F2F2;font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;letter-spacing:15px;}.elementor-5262 .elementor-element.elementor-element-45a0e1c .section.full-slider .slide-titles .title{color:#B0B0B1;font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:700;letter-spacing:20px;}.elementor-5262 .elementor-element.elementor-element-45a0e1c .section.full-slider .view-btn a{font-weight:800;}:root{--page-title-display:none;}/* Start custom CSS for oblo-hero-slider-fully, class: .elementor-element-45a0e1c *//* SLIDE 1 STYLING */
.swiper-slide:nth-child(1) .slide-titles {
  animation: fadeIn 1.2s ease forwards;
  opacity: 0;
  text-align: center;
}

.swiper-slide:nth-child(1) .slide-titles .label {
  font-family: 'Montserrat', sans-serif;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 0.35em;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.swiper-slide:nth-child(1) .slide-titles .title {
  font-family: 'Montserrat', sans-serif;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 0.35em;
  color: #888888;
  text-transform: uppercase;
}

/* Fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Make sure the parent slide is relative so we can absolutely center inside */
.swiper-slide:nth-child(1) {
  position: relative !important;
}

/* Absolute centering fix for the .titles container (inside .slide-titles) */
.swiper-slide:nth-child(1) .slide-titles .titles {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  z-index: 10;
}

/* Apply fade-in on that inner container */
.swiper-slide:nth-child(1) .slide-titles .titles {
  animation: fadeIn 1.2s ease forwards;
  opacity: 0;
}

/* Label (CANVASS) */
.swiper-slide:nth-child(1) .slide-titles .label {
  font-family: 'Montserrat', sans-serif;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 0.35em;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Title (DIGITAL) */
.swiper-slide:nth-child(1) .slide-titles .title {
  font-family: 'Montserrat', sans-serif;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 0.35em;
  color: #888888;
  text-transform: uppercase;
}

/* Fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -40%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
/* === FORCE remove letter spacing injected by Splitting.js – Slide 2 only === */
.swiper-slide:nth-child(2) .label .char,
.swiper-slide:nth-child(2) .title .char,
.swiper-slide:nth-child(2) .label .word,
.swiper-slide:nth-child(2) .title .word {
  display: inline !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
}
/* === Slide 2: FULL CENTER LOCK === */
.swiper-slide:nth-child(2) {
  position: relative;
}

.swiper-slide:nth-child(2) .slide-titles {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 20px !important;
  width: 100% !important;
  max-width: 100%;
  text-align: center !important;
  line-height: normal !important;
  opacity: 1 !important;
  z-index: 10 !important;
}

/* Kill ALL animations on slide-titles */
.swiper-slide:nth-child(2) .slide-titles.animate__active,
.swiper-slide:nth-child(2) .slide-titles.scrolla-element-anim-1 {
  animation: none !important;
  transition: none !important;
  transform: translate(-50%, -50%) !important;
  opacity: 1 !important;
}
/* === SLIDE 3 RESET + STYLING === */
.swiper-slide:nth-child(3) {
  position: relative;
}

.swiper-slide:nth-child(3) .slide-titles {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100%;
  text-align: center;
  padding: 0 20px;
  z-index: 10;
}

/* Remove injected letter spacing from theme/JS */
.swiper-slide:nth-child(3) .slide-titles .label .char,
.swiper-slide:nth-child(3) .slide-titles .title .char,
.swiper-slide:nth-child(3) .slide-titles .label,
.swiper-slide:nth-child(3) .slide-titles .title {
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
}

/* Label – first line */
.swiper-slide:nth-child(3) .slide-titles .label {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 400;
  font-style: italic;
  color: #cccccc;
  margin-bottom: 15px;
  line-height: 1.4;
}

/* Title – second line */
.swiper-slide:nth-child(3) .slide-titles .title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  color: #ffffff;
  line-height: 1.6;
}
/* === SLIDE 3: Adjust vertical alignment to actual center === */
.swiper-slide:nth-child(3) .slide-titles {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
}
/* === SLIDE 4: LOCKED CENTER FIX === */
.swiper-slide:nth-child(4) {
  position: relative;
}

/* STEP 1: Absolute center container */
.swiper-slide:nth-child(4) .slide-titles {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  max-width: 100%;
  text-align: center !important;
  z-index: 10;
  padding: 0 20px;
}

/* STEP 2: Label (LET'S TALK.) */
.swiper-slide:nth-child(4) .slide-titles .label {
  font-family: 'Montserrat', sans-serif;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin-bottom: 20px;
  display: block;
  text-align: center;
  transform: none !important;
  opacity: 1 !important;
}

/* STEP 3: Title wrapping the button */
.swiper-slide:nth-child(4) .slide-titles .title {
  display: block !important;
  text-align: center !important;
  transform: none !important;
  opacity: 1 !important;
  margin: 0 auto;
  float: none !important;
}

/* STEP 4: Actual button styling */
.swiper-slide:nth-child(4) .slide-titles .title .slide4-button {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #ffffff;
  color: #000000;
  padding: 12px 32px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  transition: background 0.3s ease;
  letter-spacing: 0.05em;
  margin-top: 10px;
}

/* STEP 5: Button hover effect */
.swiper-slide:nth-child(4) .slide-titles .title .slide4-button:hover {
  background-color: #eeeeee;
  color: #000000;
}

/* STEP 6: KILL Splitting.js spacing */
.swiper-slide:nth-child(4) .slide-titles .char,
.swiper-slide:nth-child(4) .slide-titles .word {
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  opacity: 1 !important;
  transform: none !important;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* === Slide 4: Lock horizontal centering for everything === */

/* Force inner content (text + button) to behave correctly */
.swiper-slide:nth-child(4) .slide-titles .label,
.swiper-slide:nth-child(4) .slide-titles .title {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  float: none !important;
}

/* Ensure button is also centered */
.swiper-slide:nth-child(4) .slide-titles .slide4-button {
  display: inline-block;
  margin: 10px auto 0 auto;
}
/* === SLIDE 4 — TRUE CENTER, NO DRIFT === */
.swiper-slide:nth-child(4) {
  position: relative;
}

/* STEP 1: Proper center container */
.swiper-slide:nth-child(4) .slide-titles {
  position: absolute !important;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  text-align: center !important;
  z-index: 10;
  padding: 0 20px;
  max-width: 90%;
}

/* STEP 2: LET'S TALK heading */
.swiper-slide:nth-child(4) .slide-titles .label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin-bottom: 20px;
  display: block;
  width: 100%;
  text-align: center;
}

/* STEP 3: CONTACT button */
.swiper-slide:nth-child(4) .slide-titles .title .slide4-button {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #ffffff;
  color: #000000;
  padding: 12px 32px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  transition: background 0.3s ease;
  margin: 0 auto;
}

/* Hover effect */
.swiper-slide:nth-child(4) .slide-titles .title .slide4-button:hover {
  background-color: #eeeeee;
  color: #000000;
}

/* STEP 4: Remove Splitting.js junk */
.swiper-slide:nth-child(4) .slide-titles .char,
.swiper-slide:nth-child(4) .slide-titles .word {
  display: inline !important;
  letter-spacing: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* STEP 5: Ensure .title block is not floating */
.swiper-slide:nth-child(4) .slide-titles .title {
  display: block;
  width: 100%;
  text-align: center !important;
  margin-top: 0;
}
/* === Hide bottom-left 'Contact' label on Slides 2–4 only === */
.swiper-slide:nth-child(2) .slide-titles + .view-btn,
.swiper-slide:nth-child(3) .slide-titles + .view-btn,
.swiper-slide:nth-child(4) .slide-titles + .view-btn {
  display: none !important;
}
/* === Hide the unwanted bottom-left 'Contact' link on Slides 2–4 === */
.swiper-slide:nth-child(2) .view-btn,
.swiper-slide:nth-child(3) .view-btn,
.swiper-slide:nth-child(4) .view-btn {
  display: none !important;
}
/* === MOBILE FULLSCREEN SLIDER FIX === */

/* === Slide 1: Fix footer position and scroll trap === */
.swiper-slide:nth-child(1) .view-btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

/* Ensure slide is not scrollable */
.swiper-slide:nth-child(1) {
  height: 100vh !important;
  overflow: hidden !important;
  position: relative;
}

.swiper-container,
.swiper-wrapper,
.swiper-slide {
  height: 100vh !important;
  overflow: hidden;
}
/* === CLEAN SCROLL/SLIDE SUPPORT (MOBILE & DESKTOP) === */
html, body {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
  margin: 0;
  padding: 0;
}

.swiper-container,
.swiper-wrapper,
.swiper-slide {
  height: 100vh !important;
  overflow: hidden !important;
}/* End custom CSS */