/* =========================================================================
   UVK LINK — LANDING PAGE DESIGN SYSTEM
   Extracted from application/views/index.php's old 1,265-line inline
   <style> block and rebuilt as one external, cacheable file.

   Token names below extend the --home-* variables that already existed
   inline in index.php (kept for continuity), plus a fuller system.
   Loaded AFTER assets/css/uvk-global.css. Scoped to body.home1 (the
   homepage) wherever a rule could otherwise leak onto other pages that
   also include header.php / footer.php.
   ========================================================================= */

:root{
  /* brand (kept name-compatible with the tokens already in production) */
  --home-ink:   #0b172a;
  --home-blue:  #0284c7;
  --home-cyan:  #38bdf8;
  --home-red:   #0284c7;
  --home-mist:  #f8fafc;

  /* extended system */
  --uvk-navy-950: #040e1b;
  --uvk-navy-900: #0b172a;
  --uvk-navy-800: var(--home-ink);
  --uvk-blue:      var(--home-blue);
  --uvk-blue-light:#0284c7;
  --uvk-cyan:      var(--home-cyan);
  --uvk-cyan-soft: #8ce7ff;
  --uvk-red:       #0284c7;
  --uvk-mist:      var(--home-mist);
  --uvk-surface:   #ffffff;
  --uvk-text-head: #0b1d38;
  --uvk-text-body: #4b5c72;
  --uvk-text-muted:#7a8ba1;
  --uvk-border:    #e2e8f0;

  --uvk-radius-sm: 8px;
  --uvk-radius-md: 16px;
  --uvk-radius-lg: 26px;
  --uvk-ease: cubic-bezier(.2,.8,.2,1);
  --uvk-shadow-md: 0 24px 50px -24px rgba(6,18,36,.35);
  --uvk-shadow-lg: 0 40px 80px -30px rgba(6,18,36,.45);

  --uvk-wrap: 1280px;
}

/* =========================================================================
   0. Reduced motion — global guard. WOW.js / animate.css already run
   site-wide but don't respect this by default, so we enforce it here.
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .wow{ animation: none !important; opacity: 1 !important; transform: none !important; }
  *, *::before, *::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* =========================================================================
   1. Utilities
   ========================================================================= */
body.home1 .uvk-wrap{
  max-width: var(--uvk-wrap);
  margin-inline: auto;
  padding-inline: 24px;
}

body.home1 .uvk-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:.02em;
  color: var(--uvk-blue);
  margin-bottom:14px;
}
body.home1 .uvk-eyebrow::before{
  content:''; width:22px; height:2px; background: #38bdf8; border-radius:2px; flex-shrink:0;
}
body.home1 .uvk-eyebrow.on-dark{ color:#9fe2f7; }
body.home1 .uvk-eyebrow.on-dark::before{ background: var(--uvk-cyan); }

body.home1 .uvk-section-head{ max-width:640px; margin-bottom:44px; }
body.home1 .uvk-section-head.center{ margin-inline:auto; text-align:center; }
body.home1 .uvk-section-head h2{
  font-size:clamp(26px,3.4vw,40px); font-weight:800; color:var(--uvk-text-head);
  line-height:1.18; margin:0 0 14px; letter-spacing:-.01em;
}
body.home1 .uvk-section-head.on-dark h2{ color:#fff; }
body.home1 .uvk-section-head p{ font-size:16.5px; line-height:1.7; color:var(--uvk-text-body); margin:0; }
body.home1 .uvk-section-head.on-dark p{ color:#a9bdd4; }

body.home1 .uvk-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px; border-radius:10px; font-weight:700; font-size:15px;
  border:1.5px solid transparent; cursor:pointer; text-decoration:none !important;
  transition: transform .25s var(--uvk-ease), box-shadow .25s var(--uvk-ease), background-color .25s ease, border-color .25s ease, color .25s ease;
}
body.home1 .uvk-btn svg{ width:16px; height:16px; flex-shrink:0; transition: transform .25s ease; }
body.home1 .uvk-btn-primary{ background: linear-gradient(135deg, #0284c7 0%, #38bdf8 100%); color:#fff !important; box-shadow: 0 12px 28px -8px rgba(2,132,199,.55); }
body.home1 .uvk-btn-primary:hover{ background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); transform: translateY(-2px); box-shadow: 0 16px 34px -8px rgba(2,132,199,.65); }
body.home1 .uvk-btn-primary:hover svg{ transform: translateX(3px); }
body.home1 .uvk-btn-outline{ background:transparent; color:#fff !important; border-color:rgba(255,255,255,.35); }
body.home1 .uvk-btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,.08); transform: translateY(-2px); }
body.home1 .uvk-btn-ghost{ background:transparent; color:var(--uvk-navy-900) !important; border-color:var(--uvk-border); }
body.home1 .uvk-btn-ghost:hover{ border-color:#38bdf8; color:#0284c7 !important; background:rgba(56,189,248,.08); }

/* =========================================================================
   2. HERO — enhances the existing #rs-slider / #home-slider Owl Carousel.
   Markup/IDs unchanged so assets/js/main.js's owlCarousel() init keeps working.
   Hero and the Why-UVK strip now share ONE background via .uvk-hero-merged
   (see index.php) — there is no seam between them for a gap to appear at.
   ========================================================================= */
body.home1 .uvk-hero-merged{
  background: linear-gradient(180deg, var(--uvk-navy-800) 0%, var(--uvk-navy-950) 100%);
}
body.home1 #rs-slider{ position:relative; overflow:hidden; background: transparent; }
body.home1 #home-slider{ background: transparent; }
body.home1 #rs-slider .item{ position:relative; }
body.home1 #rs-slider .item img{ object-fit:cover; width:100%; filter:saturate(1.05); }

/* readability scrim over every slide photo — kept light enough that the
   photo itself stays clearly visible, just enough for text contrast */
body.home1 #rs-slider .item::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(5,13,26,.38) 0%, rgba(6,15,30,.46) 45%, rgba(6,15,30,.6) 100%);
  z-index:1;
}

body.home1 #rs-slider .slide-content{ position:absolute; z-index:3; }

body.home1 .hero-kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 18px 8px 8px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  color:#dff2fb; font-size:13px; font-weight:600; letter-spacing:.02em;
  margin-bottom:22px;
}
body.home1 .hero-kicker .dot{
  width:26px; height:26px; border-radius:50%; flex-shrink:0;
  background: linear-gradient(135deg, var(--uvk-cyan), var(--uvk-blue));
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:800; color:#062038;
}

body.home1 #rs-slider .slider-title{
  font-weight:800 !important;
  font-size:clamp(30px, 5vw, 54px) !important;
  line-height:1.12 !important;
  letter-spacing:-.01em;
  text-shadow:none !important;
  max-width:16ch; margin-inline:auto 14px auto !important;
}
body.home1 #rs-slider .slider-desc{
  max-width:56ch; margin-inline:auto !important;
  font-size:17px !important; line-height:1.75 !important;
  color:#c5d7ea !important;
  margin-top:16px !important; margin-bottom:30px !important;
}

body.home1 .hero-cta-row{
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
}

/* owl nav / dots restyle */
body.home1 #rs-slider .owl-nav{ display:block; }
body.home1 #rs-slider .owl-nav .owl-prev,
body.home1 #rs-slider .owl-nav .owl-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%;
  background:rgba(6,15,30,.45) !important; border:1px solid rgba(255,255,255,.2);
  color:#fff !important; display:flex; align-items:center; justify-content:center;
  z-index:5; transition: background-color .25s ease, transform .25s ease;
}
body.home1 #rs-slider .owl-nav .owl-prev{ left:22px; }
body.home1 #rs-slider .owl-nav .owl-next{ right:22px; }
body.home1 #rs-slider .owl-nav .owl-prev:hover,
body.home1 #rs-slider .owl-nav .owl-next:hover{ background:var(--uvk-red) !important; }
body.home1 #rs-slider .owl-dots{ position:absolute; bottom:26px; left:0; right:0; z-index:5; text-align:center; }
body.home1 #rs-slider .owl-dot span{ background:rgba(255,255,255,.35) !important; }
body.home1 #rs-slider .owl-dot.active span{ background:var(--uvk-cyan) !important; }

@media (max-width:767px){
  body.home1 #rs-slider .owl-nav{ display:none; }
}

/* =========================================================================
   3. WHY UVK strip — polished version of the existing services-item cards.
   Class names / DOM shape kept identical to what assets/js/main.js already
   observes (.rs-services-style1 .services-item) for its reveal animation.
   ========================================================================= */
body.home1 .rs-services-style1{
  background: transparent;
  padding:76px 0;
  position:relative;
}
body.home1 .rs-services-style1 [class*="col-"]{
  margin-bottom: 0 !important; /* was 30px via .mb-30, making the bottom
    of the section visibly heavier than the top since the section's own
    padding is already symmetric (76px both sides) */
}
body.home1 .rs-services-style1 .services-item{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center;
  width:100%; min-height:250px; padding:30px 24px 26px;
  overflow:hidden; border:1px solid rgba(129,211,238,.22);
  border-radius: var(--uvk-radius-md);
  background: linear-gradient(145deg, rgba(20,66,95,.78), rgba(7,31,53,.85));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 40px rgba(0,0,0,.22);
  opacity:0; transform: translateY(28px) scale(.98);
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .45s ease;
}
body.home1 .rs-services-style1 .services-desc{ display:flex; width:100%; flex:1; flex-direction:column; }
body.home1 .rs-services-style1 .services-item::before{
  position:absolute; top:0; right:0; left:0; height:3px; content:'';
  background: linear-gradient(90deg, var(--uvk-cyan), var(--uvk-cyan-soft), var(--uvk-blue));
  transform: scaleX(.2); transform-origin:left; transition: transform .45s ease;
}
body.home1 .rs-services-style1 .services-item::after{
  position:absolute; right:-50px; bottom:-60px; width:150px; height:150px; content:'';
  border:1px solid rgba(85,199,238,.16); border-radius:50%; transition: transform .5s ease;
}
body.home1 .rs-services-style1 .services-item.is-visible{
  opacity:1; animation: uvkRiseIn .75s cubic-bezier(.22,1,.36,1) forwards !important;
}
body.home1 .rs-services-style1 .col-lg-3:nth-child(2) .services-item{ animation-delay:.1s; }
body.home1 .rs-services-style1 .col-lg-3:nth-child(3) .services-item{ animation-delay:.2s; }
body.home1 .rs-services-style1 .col-lg-3:nth-child(4) .services-item{ animation-delay:.3s; }
@keyframes uvkRiseIn{ from{ opacity:0; transform:translateY(28px) scale(.98);} to{ opacity:1; transform:translateY(0) scale(1);} }

body.home1 .rs-services-style1 .services-item:hover{
  border-color: rgba(123,222,248,.7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 26px 52px rgba(0,0,0,.32), 0 0 28px rgba(66,195,233,.14);
  transform: translateY(-8px) !important;
}
body.home1 .rs-services-style1 .services-item:hover::before{ transform:scaleX(1); }
body.home1 .rs-services-style1 .services-item:hover::after{ transform:scale(1.25); }

body.home1 .rs-services-style1 .services-icon{
  position:relative; top:auto; left:auto; right:auto; bottom:auto; z-index:2;
  display:flex; width:56px; height:56px; flex:0 0 56px;
  align-items:center; justify-content:center; margin:0 auto 16px;
  border:1px solid rgba(126,222,247,.4); border-radius:50%;
  background:rgba(6,34,57,.72); color:#70d7f3; font-size:24px; line-height:1;
  box-shadow: 0 0 0 7px rgba(66,195,233,.06), 0 0 24px rgba(66,195,233,.14);
  transition: transform .45s ease, color .45s ease, box-shadow .45s ease;
  animation: uvkIconFloat 3.6s ease-in-out infinite;
}
@keyframes uvkIconFloat{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-6px); } }
body.home1 .rs-services-style1 .services-item:hover .services-icon{
  color:#b8f2ff; box-shadow:0 0 0 10px rgba(66,195,233,.1), 0 0 32px rgba(66,195,233,.36);
  transform: translateY(-4px) scale(1.08) rotate(4deg);
}
body.home1 .rs-services-style1 .services-title{ margin-bottom:9px; color:#f5fcff; font-size:17px; font-weight:700; text-align:center; }
body.home1 .rs-services-style1 .services-desc p{ margin:0; color:rgba(222,241,249,.82); font-size:13.5px; line-height:1.6; text-align:center; }

@media (max-width:575px){
  body.home1 .rs-services-style1{ padding:48px 0; }
  body.home1 .rs-services-style1 .services-item{ min-height:0; margin-bottom:18px; padding:26px 22px; }
}

/* =========================================================================
   4. TRUST MARQUEE — auto-scaling client logo strip.
   HTML contract: put any number of <img> tags inside #uvkTrustSource;
   uvk-landing.js clones them into an infinite, seamless, pause-on-hover
   marquee. Add a logo -> add one <img> line. Nothing else to touch.
   ========================================================================= */
#uvk-trust, body.home1 #uvk-trust {
  background: linear-gradient(180deg, #041021 0%, #071930 50%, #041021 100%) !important;
  padding: 40px 0 44px !important;
  border-top: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.18) !important;
  box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.6) !important;
  position: relative;
  overflow: hidden;
}

#uvk-trust::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 160px;
  background: radial-gradient(ellipse at center, rgba(56, 189, 248, 0.15) 0%, rgba(0, 0, 0, 0) 70%);
  pointer-events: none;
  z-index: 1;
}

.uvk-trust-header {
  position: relative;
  z-index: 3;
  text-align: center;
  margin-bottom: 22px;
}

.uvk-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 20px;
  border-radius: 50px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.28);
  color: #38bdf8;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(56, 189, 248, 0.12);
  margin-bottom: 8px;
}

.uvk-trust-badge i {
  font-size: 13px;
  color: #7dd3fc;
}

.uvk-trust-heading {
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin: 0;
  opacity: 0.95;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

body.home1 .uvk-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  z-index: 2;
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

body.home1 .uvk-marquee-track {
  display: flex;
  align-items: center;
  gap: 20px;
  width: max-content;
}

body.home1 .uvk-marquee-track.is-animated {
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: max-content;
  animation: uvkMarquee 38s linear infinite !important;
  will-change: transform;
}

body.home1 .uvk-marquee:hover .uvk-marquee-track.is-animated {
  animation-play-state: paused !important;
}

@keyframes uvkMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.uvk-trust-item {
  flex: 0 0 auto !important;
  height: 108px !important;
  padding: 6px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.95) !important;
  transition: all 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  margin: 0 !important;
  min-width: 215px !important;
  max-width: 255px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.uvk-trust-item img, body.home1 .uvk-marquee-track img {
  max-height: 92px !important;
  max-width: 225px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: contrast(1.04) brightness(0.98) !important;
  image-rendering: -webkit-optimize-contrast !important;
  transform: none !important;
  opacity: 1 !important;
  transition: all 0.35s ease !important;
}

.uvk-trust-item:hover {
  transform: translateY(-5px) scale(1.04) !important;
  background: #ffffff !important;
  border-color: rgba(56, 189, 248, 0.95) !important;
  box-shadow: 0 14px 36px rgba(56, 189, 248, 0.45) !important;
}

.uvk-trust-item:hover img {
  opacity: 1 !important;
  transform: scale(1.05) !important;
  filter: contrast(1.08) brightness(1) !important;
}

@media (max-width: 768px) {
  #uvk-trust, body.home1 #uvk-trust {
    padding: 28px 0 32px !important;
  }
  .uvk-trust-heading {
    font-size: 13.5px;
  }
  .uvk-trust-badge {
    font-size: 10px;
    padding: 5px 14px;
  }
  .uvk-trust-item {
    height: 75px !important;
    padding: 5px 8px !important;
    min-width: 155px !important;
    max-width: 185px !important;
  }
  .uvk-trust-item img {
    max-height: 65px !important;
    max-width: 170px !important;
    transform: none !important;
  }
  body.home1 .uvk-marquee-track {
    gap: 16px;
  }
}

/* =========================================================================
   5. COMPANY INTRO / BRIDGE — enhances #rs-about (kept id + .about-img-wrapper
   + .about-desc so assets/js/main.js's existing reveal observer keeps working)
   and adds a new two-pillar "Engineering <-> Digital" bridge visual after it.
   ========================================================================= */
body.home1 #rs-about{ background:#fff; padding:80px 0 20px; }

/* =========================================================================
   5. COMPANY INTRO / ABOUT US (#rs-about) — High-tech Dark Theme (No Red/Orange)
   ========================================================================= */
#rs-about, body.home1 #rs-about {
  background: linear-gradient(180deg, #041021 0%, #06172d 50%, #041021 100%) !important;
  padding: 85px 0 75px !important;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(56, 189, 248, 0.15) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.15) !important;
}

#rs-about::before {
  content: '';
  position: absolute;
  top: 30%;
  left: 20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.08) 0%, rgba(0, 0, 0, 0) 70%);
  pointer-events: none;
  z-index: 1;
}

body.home1 #rs-about .sec-title {
  margin-bottom: 48px;
  padding-bottom: 0;
  position: relative;
  z-index: 2;
}

body.home1 #rs-about .sec-title::after {
  display: none;
}

body.home1 #rs-about .sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 20px;
  border-radius: 50px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.28);
  color: #38bdf8;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(56, 189, 248, 0.12);
  margin-bottom: 14px;
}

body.home1 #rs-about .sub-badge::before {
  display: none;
}

body.home1 #rs-about .sec-title h2 {
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: 12px;
  letter-spacing: 1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

body.home1 #rs-about .sec-title p {
  font-size: 16px;
  color: #94a3b8;
  max-width: 60ch;
  margin-inline: auto;
}

body.home1 #rs-about .about-img-wrapper {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.3);
  opacity: 1;
  transform: none;
  transition: opacity .7s var(--uvk-ease), transform .7s var(--uvk-ease);
}

body.home1 #rs-about .about-img-wrapper.is-visible {
  opacity: 1;
  transform: none;
}

body.home1 #rs-about .about-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

body.home1 #rs-about .about-img-wrapper:hover img {
  transform: scale(1.04);
}

body.home1 #rs-about .about-img-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(4, 16, 33, 0.92) 100%);
  pointer-events: none;
}

body.home1 #rs-about .about-img-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 22px 24px;
}

body.home1 #rs-about .about-img-caption p {
  color: #38bdf8;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

body.home1 #rs-about .about-desc {
  opacity: 1;
  transform: none;
  transition: opacity .7s var(--uvk-ease) .1s, transform .7s var(--uvk-ease) .1s;
}

body.home1 #rs-about .about-desc.is-visible {
  opacity: 1;
  transform: none;
}

body.home1 #rs-about .about-desc h3 {
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

body.home1 #rs-about .about-desc p {
  font-size: 15.5px;
  line-height: 1.75;
  color: #cbd5e1;
  margin-bottom: 24px;
}

/* Accordion Styling — Cyan Glassmorphism (NO RED / ORANGE) */
body.home1 #rs-about .rs-accordion-style1 .card,
.rs-accordion-style1 .card {
  background: rgba(10, 24, 46, 0.6) !important;
  border: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-left: 4px solid #0284c7 !important;
  border-radius: 12px !important;
  overflow: hidden;
  margin-bottom: 14px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.3s ease !important;
}

body.home1 #rs-about .rs-accordion-style1 .card:has(.collapse.show) {
  border-left-color: #38bdf8 !important;
  border-color: rgba(56, 189, 248, 0.45) !important;
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.18) !important;
}

body.home1 #rs-about .rs-accordion-style1 .card-header,
.rs-accordion-style1 .card .card-header {
  cursor: pointer;
  padding: 16px 22px !important;
  background: rgba(15, 32, 60, 0.7) !important;
  transition: all 0.3s ease !important;
  border-bottom: none !important;
  margin: 0 !important;
}

body.home1 #rs-about .rs-accordion-style1 .card-header:hover {
  background: rgba(56, 189, 248, 0.12) !important;
}

body.home1 #rs-about .rs-accordion-style1 .acdn-title,
.rs-accordion-style1 .card .card-header .acdn-title,
.rs-accordion-style1 .card .card-header .acdn-title:not(.collapsed) {
  margin: 0;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #38bdf8 !important;
  background: transparent !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  letter-spacing: 0.3px;
  height: auto !important;
  line-height: normal !important;
  padding: 0 !important;
}

body.home1 #rs-about .rs-accordion-style1 .acdn-title i {
  margin-right: 8px;
  color: #7dd3fc;
}

body.home1 #rs-about .rs-accordion-style1 .acdn-title::after,
.rs-accordion-style1 .card .card-header .acdn-title:after {
  content: '+' !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #38bdf8 !important;
  line-height: 1 !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
  position: static !important;
  transform: none !important;
}

body.home1 #rs-about .rs-accordion-style1 .card-header[aria-expanded="true"] .acdn-title::after,
.rs-accordion-style1 .card .card-header .acdn-title:not(.collapsed):after {
  content: '−' !important;
  color: #7dd3fc !important;
  transform: none !important;
}

body.home1 #rs-about .rs-accordion-style1 .card-body,
.rs-accordion-style1 .card .card-body {
  padding: 18px 22px 22px !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  color: #cbd5e1 !important;
  background: rgba(6, 18, 36, 0.9) !important;
  border-top: 1px solid rgba(56, 189, 248, 0.15) !important;
}

/* -- two-pillar bridge -- */
body.home1 .uvk-bridge{ padding:80px 0 90px; background: linear-gradient(180deg, #041021 0%, #081a33 100%); border-top: 1px solid rgba(56, 189, 248, 0.15); border-bottom: 1px solid rgba(56, 189, 248, 0.15); }
body.home1 .uvk-bridge-grid{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:0;
  max-width:1040px; margin-inline:auto;
}
body.home1 .uvk-pillar{
  padding:38px 34px; border-radius: 16px;
  border: 1px solid rgba(56, 189, 248, 0.25);
  transition: transform .35s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow .35s ease;
}
body.home1 .uvk-pillar:hover{ transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4), 0 0 25px rgba(56, 189, 248, 0.2); }
body.home1 .uvk-pillar.engineering{ background: linear-gradient(160deg, #0f2540, #0b1d38); color:#fff; border-color: rgba(245, 158, 11, 0.3); }
body.home1 .uvk-pillar.digital{ background: linear-gradient(160deg, #072a47, #051a2e); color:#fff; border-color: rgba(56, 189, 248, 0.3); }
body.home1 .uvk-pillar-tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px; margin-bottom:18px;
}
body.home1 .uvk-pillar.engineering .uvk-pillar-tag{ background:rgba(245, 158, 11, 0.18); color:#fcd34d; border: 1px solid rgba(245, 158, 11, 0.3); }
body.home1 .uvk-pillar.digital .uvk-pillar-tag{ background:rgba(56, 189, 248, 0.18); color:#7dd3fc; border: 1px solid rgba(56, 189, 248, 0.3); }
body.home1 .uvk-pillar h3{ color:#fff; font-size:22px; font-weight:800; margin-bottom:14px; }
body.home1 .uvk-pillar-list{ list-style:none; margin:0; padding:0; }
body.home1 .uvk-pillar-list li{
  display:flex; align-items:center; gap:10px; font-size:14.5px; color:#cbd5e1;
  padding:10px 0; border-top:1px solid rgba(255,255,255,.08);
}
body.home1 .uvk-pillar-list li:first-child{ border-top:none; }
body.home1 .uvk-pillar-list li::before{ content:''; width:6px; height:6px; border-radius:50%; flex-shrink:0; }
body.home1 .uvk-pillar.engineering .uvk-pillar-list li::before{ background:#f59e0b; box-shadow: 0 0 8px rgba(245, 158, 11, 0.6); }
body.home1 .uvk-pillar.digital .uvk-pillar-list li::before{ background:#38bdf8; box-shadow: 0 0 8px rgba(56, 189, 248, 0.6); }

body.home1 .uvk-bridge-link{
  display:flex; align-items:center; justify-content:center; padding:0 28px; position:relative;
}
body.home1 .uvk-bridge-link .uvk-bridge-mark{
  width:84px; height:84px; border-radius:50%; flex-shrink:0;
  background: linear-gradient(135deg, #d97706, #0284c7);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-size:17px; letter-spacing:.02em;
  box-shadow: 0 0 0 10px rgba(56, 189, 248, 0.12), 0 12px 30px rgba(0,0,0,0.5);
  position:relative; z-index:2;
  animation: uvkBridgePulse 4s ease-in-out infinite;
}
@keyframes uvkBridgePulse{
  0%,100%{ box-shadow: 0 0 0 10px rgba(56, 189, 248, 0.12), 0 12px 30px rgba(0,0,0,0.5); }
  50%{ box-shadow: 0 0 0 16px rgba(56, 189, 248, 0.22), 0 16px 36px rgba(56, 189, 248, 0.3); }
}
body.home1 .uvk-bridge-link::before{
  content:''; position:absolute; left:0; right:0; top:50%; height:2px;
  background: repeating-linear-gradient(90deg, rgba(56, 189, 248, 0.3) 0 6px, transparent 6px 12px);
}

@media (max-width:900px){
  body.home1 .uvk-bridge-grid{ grid-template-columns:1fr; gap:18px; }
  body.home1 .uvk-bridge-link{
    padding: 12px 0;
    min-height: 80px;
    height: auto;
    transform: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  body.home1 .uvk-bridge-link::before{
    top: 0;
    bottom: 0;
    left: 50%;
    right: auto;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
    background: repeating-linear-gradient(180deg, rgba(56, 189, 248, 0.3) 0 6px, transparent 6px 12px);
  }
  body.home1 .uvk-bridge-link .uvk-bridge-mark{
    transform: none !important;
    width: 72px;
    height: 72px;
    font-size: 16px;
  }
}

/* =========================================================================
   6. TWO CORE VERTICALS — Slate Neutral Section for Clear Contrast
   ========================================================================= */
body.home1 #verticals{ padding:90px 0; background: #f8fafc; scroll-margin-top:96px; border-bottom: 1px solid #e2e8f0; }
body.home1 .uvk-vert-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
body.home1 .uvk-vert-card{
  background:#ffffff; border-radius: 18px; overflow:hidden;
  border:1px solid #e2e8f0; box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
  display:flex; flex-direction:column;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
body.home1 .uvk-vert-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
  border-color: rgba(56, 189, 248, 0.5);
}
body.home1 .uvk-vert-head{
  padding:34px 32px 26px; position:relative; overflow:hidden; color:#fff;
}
body.home1 .uvk-vert-card.eng .uvk-vert-head{ background: linear-gradient(135deg, #0b172a, #0d2847); }
body.home1 .uvk-vert-card.digi .uvk-vert-head{ background: linear-gradient(135deg, #072540, #04182e); }
body.home1 .uvk-vert-head::after{
  content:''; position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:28px 28px; -webkit-mask-image: linear-gradient(180deg,#000,transparent); mask-image: linear-gradient(180deg,#000,transparent);
}
body.home1 .uvk-vert-icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.12); margin-bottom:18px; position:relative; z-index:1;
}
body.home1 .uvk-vert-icon svg{ width:26px; height:26px; }
body.home1 .uvk-vert-head h3{ position:relative; z-index:1; color:#fff; font-size:23px; font-weight:800; margin-bottom:8px; }
body.home1 .uvk-vert-head p{ position:relative; z-index:1; font-size:14.5px; color:#c3d5e8; margin:0; max-width:38ch; }

body.home1 .uvk-vert-list{ list-style:none; margin:0; padding:16px 16px 20px; flex:1; display:flex; flex-direction:column; gap:2px; }
body.home1 .uvk-vert-list li a{
  display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:9px;
  color: #334155; font-size:14.5px; font-weight:600; text-decoration:none;
  border-bottom:1px solid #f1f5f9;
  transition: background-color .2s ease, color .2s ease, padding-left .2s ease;
}
body.home1 .uvk-vert-list li:last-child a{ border-bottom:none; }
body.home1 .uvk-vert-list li a svg{ width:14px; height:14px; flex-shrink:0; opacity:.5; margin-left:auto; transition: transform .2s ease, opacity .2s ease; }
body.home1 .uvk-vert-card.eng .uvk-vert-list li a:hover{ background: rgba(245, 158, 11, 0.08); color: #d97706; padding-left:20px; }
body.home1 .uvk-vert-card.digi .uvk-vert-list li a:hover{ background: rgba(2, 132, 199, 0.08); color: #0284c7; padding-left:20px; }
body.home1 .uvk-vert-list li a:hover svg{ transform: translateX(3px); opacity:1; }

@media (max-width:900px){
  body.home1 .uvk-vert-grid{ grid-template-columns:1fr; }
}

/* =========================================================================
   7. DELIVERED SERVICES CAROUSEL (#rs-courses) — Dark Sapphire Glassmorphism
   ========================================================================= */
body.home1 #rs-courses{ padding:90px 0; background: linear-gradient(180deg, #071325 0%, #0a1b33 100%); scroll-margin-top:96px; border-top: 1px solid rgba(56, 189, 248, 0.15); border-bottom: 1px solid rgba(56, 189, 248, 0.15); }
body.home1 #rs-courses .sub-badge{
  display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:600; color:#38bdf8; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom:14px;
  padding: 6px 18px; border-radius: 50px; background: rgba(56, 189, 248, 0.08); border: 1px solid rgba(56, 189, 248, 0.28);
}
body.home1 #rs-courses .sub-badge::before{ display:none; }
body.home1 #rs-courses h2{ font-size:clamp(28px,3.4vw,38px); font-weight:800; color:#ffffff; }
body.home1 #rs-courses .sec-title p{ max-width:64ch; margin-inline:auto; color:#94a3b8; font-size:16px; line-height:1.7; }

body.home1 #rs-courses .cource-item{
  border-radius: 16px; overflow:hidden; background: rgba(15, 25, 45, 0.85);
  border: 1px solid rgba(56, 189, 248, 0.22); box-shadow: 0 18px 40px -24px rgba(0,0,0,0.5);
  transition: transform .35s var(--uvk-ease), box-shadow .35s var(--uvk-ease), border-color .35s ease;
}
body.home1 #rs-courses .cource-item:hover{ transform: translateY(-6px); box-shadow: 0 20px 40px rgba(56, 189, 248, 0.2); border-color: rgba(56, 189, 248, 0.5); }
body.home1 #rs-courses .cource-img{ position:relative; height:320px; overflow:hidden; }
body.home1 #rs-courses .cource-img img{ width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
body.home1 #rs-courses .cource-item:hover .cource-img img{ transform:scale(1.08); }
body.home1 #rs-courses .cource-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(6,18,36,.55) 68%, rgba(5,13,26,.92) 100%);
  pointer-events:none;
}
body.home1 #rs-courses .cource-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:22px 22px 20px;
}
body.home1 #rs-courses .cource-caption h4{ color:#fff; font-size:18px; font-weight:800; margin:0 0 6px; }
body.home1 #rs-courses .cource-caption p{
  color:rgba(255,255,255,.85); font-size:13.5px; line-height:1.5; margin:0;
  max-height:0; opacity:0; overflow:hidden;
  transition: max-height .35s ease, opacity .3s ease;
}
body.home1 #rs-courses .cource-item:hover .cource-caption p{ max-height:60px; opacity:1; }
body.home1 #rs-courses .owl-dots{ text-align:center; margin-top:26px; }
body.home1 #rs-courses .owl-dot span{ background:rgba(255,255,255,0.2) !important; }
body.home1 #rs-courses .owl-dot.active span{ background:#38bdf8 !important; box-shadow: 0 0 10px rgba(56, 189, 248, 0.8); }
body.home1 #rs-courses .owl-nav{ display:none; }

@media (max-width:575px){
  body.home1 #rs-courses .cource-img{ height:240px; }
  body.home1 #rs-courses .cource-caption p{ max-height:60px; opacity:1; }
}

/* =========================================================================
   8. SIGNATURE STORY WORKFLOW — Tech Cyan & Amber Gradient Nodes
   ========================================================================= */
body.home1 .uvk-story-merged{
  background: linear-gradient(180deg, #050d1a 0%, #030812 100%);
}
body.home1 #uvk-story{
  background: transparent;
  padding:90px 0 100px; position:relative; overflow:hidden;
}
body.home1 #uvk-story::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(56,189,248,.14), transparent 65%);
  pointer-events:none;
}
body.home1 .uvk-story-track{ position:relative; z-index:1; max-width:1040px; margin-inline:auto; }

body.home1 .uvk-story-rail{ position:relative; margin-top:60px; }
body.home1 .uvk-story-rail-bg,
body.home1 .uvk-story-rail-fill{
  position:absolute; top:29px; left:0; right:0; height:3px; border-radius:3px;
}
body.home1 .uvk-story-rail-bg{ background:rgba(255,255,255,.14); }
body.home1 .uvk-story-rail-fill{
  background: linear-gradient(90deg, #0284c7, #38bdf8, #f59e0b);
  width: calc(var(--uvk-progress, 0) * 100%);
  min-width: 3px;
  transition: width .15s linear;
}

body.home1 .uvk-story-steps{
  display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:16px; position:relative;
}
body.home1 .uvk-story-step{
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
body.home1 .uvk-story-node{
  position:relative;
  width:60px; height:60px; border-radius:50%; margin-bottom:18px; flex-shrink:0;
  background: linear-gradient(145deg, #0284c7 0%, #0369a1 55%, #0f172a 100%);
  border:1.5px solid rgba(56,189,248,.4);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:21px;
  box-shadow: 0 10px 24px -8px rgba(2,132,199,.5);
  transition: transform .35s ease, box-shadow .35s ease;
}
body.home1 .uvk-story-node::before{
  content: attr(data-step);
  position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%;
  background: #040e1b; border:1px solid rgba(56,189,248,.5);
  color:#38bdf8; font-size:10.5px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
body.home1 .uvk-story-step.is-active .uvk-story-node{
  transform: scale(1.08);
  background: linear-gradient(145deg, #38bdf8 0%, #0284c7 100%);
  box-shadow: 0 0 0 8px rgba(56,189,248,.18), 0 14px 30px -8px rgba(56,189,248,.6);
}
body.home1 .uvk-story-step h4{ font-size:15px; font-weight:700; color:#fff; margin:0 0 7px; }
body.home1 .uvk-story-step p{ font-size:12.5px; color:#9fb2c8; margin:0; line-height:1.55; max-width:22ch; }

@media (max-width:900px){
  body.home1 .uvk-story-steps{ grid-template-columns:1fr; gap:28px; text-align:left; }
  body.home1 .uvk-story-step{ flex-direction:row; align-items:flex-start; text-align:left; }
  body.home1 .uvk-story-step p{ max-width:none; }
  body.home1 .uvk-story-node{ margin-bottom:0; margin-right:18px; }
  body.home1 .uvk-story-rail{ display:none; }
}
@media (min-width:901px) and (max-width:1180px){
  body.home1 .uvk-story-step p{ display:none; }
}

/* =========================================================================
   9. FINAL CTA
   ========================================================================= */
body.home1 .uvk-final-cta{
  position:relative; overflow:hidden; padding:86px 0;
  background: transparent;
  text-align:center; color:#fff;
}
body.home1 .uvk-final-cta::before{
  content:''; position:absolute; top:-30%; right:-10%; width:60%; height:160%;
  pointer-events:none;
}
body.home1 .uvk-final-cta h2{
  position:relative; z-index:1; color:#fff; font-size:clamp(28px,4vw,44px); font-weight:800; margin:0 0 16px; letter-spacing:-.01em;
}
body.home1 .uvk-final-cta p{ position:relative; z-index:1; font-size:17px; color:#c3d5e8; max-width:56ch; margin:0 auto 32px; line-height:1.7; }
body.home1 .uvk-final-cta .hero-cta-row{ position:relative; z-index:1; }

/* =========================================================================
   10. Responsive sweep — explicit checkpoints across the requested device
   range, layered on top of the fluid clamp()/grid rules above.
   ========================================================================= */
@media (min-width: 1440px) {
  body.home1 .uvk-wrap,
  body.home1 .container {
    max-width: 1360px !important;
    margin-inline: auto !important;
  }
}
@media (max-width:1366px){
  body.home1 .uvk-wrap{ padding-inline:32px; }
}
@media (max-width:1024px){
  body.home1 #verticals, body.home1 #rs-courses, body.home1 #uvk-story, body.home1 .uvk-bridge{ padding-top:70px; padding-bottom:70px; }
}
@media (max-width:900px){
  body.home1 .uvk-bridge-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media (max-width:768px){
  body.home1 .uvk-wrap{ padding-inline:20px; }
  body.home1 #rs-about{ padding-top:56px; }
  body.home1 .uvk-final-cta{ padding:64px 0; }
  body.home1 #rs-slider .item img {
    height: 520px !important;
    object-fit: cover;
  }
}
@media (max-width:480px){
  body.home1 #rs-slider .slider-title{ max-width:none; font-size: clamp(22px, 6vw, 30px); }
  body.home1 #rs-slider .item img {
    height: 440px !important;
    object-fit: cover;
  }
  body.home1 .hero-kicker{ font-size:12px; padding:7px 14px 7px 7px; }
  body.home1 .uvk-vert-head{ padding:28px 22px 22px; }
}
@media (max-width:360px){
  body.home1 .uvk-btn{ padding:13px 20px; font-size:14px; }
}