:root{
  --blue:#302e9c;
  --blue-dark:#15136a;
  --orange:#ff4c1f;
  --orange-2:#ff7a1a;
  --ink:#161529;
  --muted:#6b6b83;
  --soft:#f5f6ff;
  --white:#fff;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{text-decoration:none}
img{max-width:100%}
.custom-navbar{padding:18px 0;transition:.3s ease;background:rgba(48,46,156,.78);backdrop-filter:blur(16px)}
.custom-navbar.scrolled{padding:10px 0;background:rgba(21,19,106,.95);box-shadow:0 12px 40px rgba(13,11,71,.25)}
.brand-logo{font-weight:900;line-height:.78;letter-spacing:-1.2px;color:#fff!important;font-size:1.65rem;display:flex;flex-direction:column;text-transform:lowercase}
.brand-logo span:nth-child(2)::before{content:'';display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:3px;vertical-align:middle;transform:translateY(-2px)}
.nav-link{color:rgba(255,255,255,.86)!important;font-weight:700;font-size:.92rem}
.nav-link:hover{color:#fff!important}
.navbar-toggler{border-color:rgba(255,255,255,.25)}
.navbar-toggler:focus{box-shadow:none}
.btn-orange{background:linear-gradient(135deg,var(--orange),var(--orange-2));border:0;color:#fff;font-weight:800;border-radius:999px;padding:.75rem 1.35rem;box-shadow:0 14px 34px rgba(255,76,31,.25)}
.btn-orange:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 45px rgba(255,76,31,.32)}
.btn-outline-light{border-radius:999px;font-weight:800;padding:.72rem 1.35rem}
.hero-section{position:relative;background:radial-gradient(circle at top left,#4540da 0,var(--blue) 34%,var(--blue-dark) 100%);color:#fff;overflow:hidden}
.hero-section:after{content:'';position:absolute;inset:auto -10% -35% -10%;height:48%;background:radial-gradient(circle,rgba(255,95,32,.22),transparent 60%);pointer-events:none}
.hero-glow{position:absolute;border-radius:50%;filter:blur(8px);opacity:.42}
.hero-glow-1{width:360px;height:360px;background:#fb2f9e;right:-140px;top:18%}
.hero-glow-2{width:260px;height:260px;background:#12d9ff;left:-80px;bottom:12%}
.eyebrow,.section-tag{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:900;color:var(--orange)}
.section-tag.orange{color:#ff8a63}
.hero-title{font-size:clamp(2.4rem,6vw,3.7rem);line-height:.94;font-weight:900;letter-spacing:-.06em}
.hero-text{font-size:1.1rem;color:rgba(255,255,255,.82);max-width:610px}
.hero-card{position:relative;border-radius:42px;overflow:hidden;transform:rotate(2deg);box-shadow:0 35px 90px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.hero-img{width:100%;height:min(68vh,690px);object-fit:cover;object-position:center}
.hero-badge{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.92);color:var(--blue);font-weight:900;border-radius:999px;padding:12px 18px;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.dot{display:inline-block;width:10px;height:10px;background:var(--orange);border-radius:50%;margin-right:8px}
.section-padding{padding:100px 0}
.section-title{font-size:clamp(2rem,4vw,3.4rem);font-weight:900;line-height:.98;letter-spacing:-.05em;margin:10px 0 0}
.section-subtitle{color:rgba(255,255,255,.74);max-width:560px}
.deep-blue{background:var(--blue)}
.service-card,.why-card,.portfolio-info-card,.contact-card{height:100%;border-radius:var(--radius);padding:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.12);transition:.25s ease}
.service-card:hover,.why-card:hover{transform:translateY(-7px);background:rgba(255,255,255,.15)}
.service-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--orange),var(--orange-2));display:grid;place-items:center;font-weight:900;margin-bottom:24px}
.service-card h5,.why-card h5{font-weight:900;color:#fff}
.service-card p,.why-card p{color:rgba(255,255,255,.72);margin:0;font-size:.93rem}
.portfolio-section{background:linear-gradient(180deg,#fff 0,#f5f6ff 100%)}
.category-pills{display:flex;gap:12px;overflow-x:auto;padding:12px 0 8px;scrollbar-width:none}
.category-pills::-webkit-scrollbar{display:none}
.category-pill{border:0;white-space:nowrap;border-radius:999px;background:#fff;color:var(--blue);font-weight:900;padding:13px 22px;box-shadow:0 12px 28px rgba(48,46,156,.09);transition:.25s ease}
.category-pill.active,.category-pill:hover{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;transform:translateY(-2px)}
.portfolio-info-card{background:#fff;border:0;color:var(--ink);box-shadow:0 26px 80px rgba(48,46,156,.13)}
.portfolio-label{display:inline-flex;color:var(--orange);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin-bottom:14px}
.portfolio-info-card h3{font-weight:900;font-size:2.35rem;letter-spacing:-.04em}
.portfolio-info-card p{color:var(--muted)}
.carousel-stage{position:relative;border-radius:34px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));padding:22px;box-shadow:0 30px 100px rgba(48,46,156,.25);overflow:hidden}
.carousel-stage:before{content:'';position:absolute;width:330px;height:330px;background:rgba(255,76,31,.28);border-radius:50%;right:-150px;top:-150px;filter:blur(18px)}
.portfolio-slide-card{position:relative;height:520px;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.portfolio-slide-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.portfolio-slide-caption{position:absolute;left:20px;right:20px;bottom:20px;padding:18px;border-radius:22px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 18px 45px rgba(0,0,0,.16)}
.portfolio-slide-caption h4{font-weight:900;margin:0 0 4px;letter-spacing:-.03em}
.portfolio-slide-caption p{margin:0;color:var(--muted);font-size:.9rem}
.carousel-control-prev,.carousel-control-next{width:48px;height:48px;top:50%;transform:translateY(-50%);border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(12px)}
.carousel-control-prev{left:34px}.carousel-control-next{right:34px}
.carousel-thumbs{display:flex;gap:12px;margin-top:16px;position:relative;z-index:2;overflow-x:auto;scrollbar-width:none}
.carousel-thumbs::-webkit-scrollbar{display:none}
.thumb-btn{border:2px solid transparent;border-radius:16px;padding:0;background:transparent;width:84px;height:64px;overflow:hidden;opacity:.7;flex:0 0 auto;transition:.2s ease}
.thumb-btn.active{border-color:var(--orange);opacity:1;transform:translateY(-2px)}
.thumb-btn img{width:100%;height:100%;object-fit:cover}
.client-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#e6e7f5;border-radius:28px;overflow:hidden;box-shadow:0 20px 70px rgba(48,46,156,.12)}
.client-grid div{background:#fff;min-height:110px;display:grid;place-items:center;font-weight:900;color:var(--blue);font-size:1.05rem;text-align:center;padding:20px}
.contact-section{background:linear-gradient(rgba(21,19,106,.88),rgba(21,19,106,.95)),url('../img/pdf/page-01.png') center/cover no-repeat}
.contact-card{background:rgba(255,255,255,.95);color:var(--ink);border:0}
.contact-card h5{font-weight:900;color:var(--blue);font-size:1.5rem}
.contact-list{display:grid;gap:10px;margin-top:18px}
.contact-list a{color:var(--blue);font-weight:800}
.site-footer{background:#0f0d4e;color:rgba(255,255,255,.75);padding:24px 0;font-weight:600;font-size:.92rem}
@media(max-width:991px){.custom-navbar{background:rgba(21,19,106,.96)}.hero-card{transform:none}.hero-img{height:520px}.section-padding{padding:72px 0}.portfolio-slide-card{height:440px}.client-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:575px){.hero-title{font-size:2.7rem}.hero-img{height:420px}.hero-badge{left:16px;right:16px;bottom:16px;text-align:center}.portfolio-slide-card{height:380px}.client-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:2.2rem}.carousel-stage{padding:14px}.portfolio-info-card,.contact-card,.service-card,.why-card{padding:22px}}

/* 3D portfolio product slideshow */
.product-3d-stage{min-height:620px;overflow:hidden;perspective:1400px}
.product-3d-topbar{position:relative;z-index:5;display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.86);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin-bottom:16px}
.product-3d-slider{position:relative;z-index:2;height:470px;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;perspective:1400px;touch-action:pan-y}
.slide-3d{position:absolute;width:min(78%,430px);height:430px;border-radius:32px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35);transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .45s ease,filter .45s ease;cursor:pointer;transform-style:preserve-3d;outline:0}
.slide-3d:focus-visible{box-shadow:0 0 0 4px rgba(255,76,31,.8),0 30px 90px rgba(0,0,0,.35)}
.slide-3d img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.02);transition:transform .7s ease}
.slide-3d:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,74,0) 35%,rgba(13,12,74,.72) 100%);pointer-events:none}
.slide-3d-caption{position:absolute;left:22px;right:22px;bottom:22px;z-index:3;padding:18px 18px 16px;border-radius:24px;color:#fff;background:rgba(10,8,75,.45);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);transform:translateZ(55px)}
.slide-3d-caption span{display:inline-flex;margin-bottom:8px;color:var(--orange);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}
.slide-3d-caption h4{font-weight:900;margin:0 0 5px;letter-spacing:-.035em;font-size:1.28rem}
.slide-3d-caption p{margin:0;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.35}
.slide-3d.is-active{opacity:1;z-index:5;filter:saturate(1.05);transform:translateX(0) translateZ(160px) rotateY(0deg) scale(1)}
.slide-3d.is-active img{transform:scale(1.06)}
.slide-3d.is-left{opacity:.82;z-index:4;filter:saturate(.9) brightness(.82);transform:translateX(-52%) translateZ(30px) rotateY(38deg) scale(.84)}
.slide-3d.is-right{opacity:.82;z-index:4;filter:saturate(.9) brightness(.82);transform:translateX(52%) translateZ(30px) rotateY(-38deg) scale(.84)}
.slide-3d.is-far-left{opacity:.36;z-index:3;filter:saturate(.7) brightness(.6);transform:translateX(-86%) translateZ(-180px) rotateY(56deg) scale(.66)}
.slide-3d.is-far-right{opacity:.36;z-index:3;filter:saturate(.7) brightness(.6);transform:translateX(86%) translateZ(-180px) rotateY(-56deg) scale(.66)}
.slide-3d.is-hidden{opacity:0;z-index:1;pointer-events:none;transform:translateX(0) translateZ(-400px) scale(.45)}
.product-3d-controls{position:relative;z-index:6;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px}
.slide-nav-btn{width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:2rem;line-height:1;font-weight:700;display:grid;place-items:center;box-shadow:0 18px 45px rgba(0,0,0,.18);backdrop-filter:blur(12px);transition:.25s ease}
.slide-nav-btn:hover{background:var(--orange);transform:translateY(-2px)}
.product-3d-thumbs{margin-top:0;justify-content:center}
.product-3d-thumbs .thumb-btn{width:78px;height:58px;border-radius:18px;background:rgba(255,255,255,.15)}
.product-3d-thumbs .thumb-btn.active{border-color:var(--orange);box-shadow:0 12px 30px rgba(255,76,31,.3)}
.portfolio-info-card.is-changing{animation:infoPulse .25s ease}
@keyframes infoPulse{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:991px){.product-3d-stage{min-height:590px}.product-3d-slider{height:430px}.slide-3d{width:min(76%,390px);height:390px}.slide-3d.is-left{transform:translateX(-46%) translateZ(10px) rotateY(34deg) scale(.82)}.slide-3d.is-right{transform:translateX(46%) translateZ(10px) rotateY(-34deg) scale(.82)}}
@media(max-width:575px){.product-3d-stage{min-height:545px}.product-3d-topbar{font-size:.68rem}.product-3d-slider{height:390px}.slide-3d{width:82%;height:360px;border-radius:26px}.slide-3d-caption{left:14px;right:14px;bottom:14px;padding:14px;border-radius:20px}.slide-3d-caption h4{font-size:1.08rem}.slide-3d-caption p{font-size:.8rem}.slide-3d.is-left{opacity:.45;transform:translateX(-39%) translateZ(-80px) rotateY(44deg) scale(.72)}.slide-3d.is-right{opacity:.45;transform:translateX(39%) translateZ(-80px) rotateY(-44deg) scale(.72)}.slide-3d.is-far-left,.slide-3d.is-far-right{opacity:0}.product-3d-controls{gap:8px}.slide-nav-btn{width:44px;height:44px}.product-3d-thumbs .thumb-btn{width:62px;height:48px;border-radius:14px}}
.client-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  align-items: center;
}

.client-logo-card {
  background: #ffffff;
  border-radius: 22px;
  padding: 24px 18px;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 40px rgba(18, 18, 60, 0.08);
  border: 1px solid rgba(50, 44, 160, 0.08);
  transition: all 0.3s ease;
}

.client-logo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 60px rgba(18, 18, 60, 0.14);
}

.client-logo-card img {
  max-width: 130px;
  max-height: 58px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: all 0.3s ease;
}

.client-logo-card:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

/* Tablet */
@media (max-width: 991px) {
  .client-logo-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Mobile */
@media (max-width: 575px) {
  .client-logo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .client-logo-card {
    min-height: 96px;
    padding: 18px 12px;
    border-radius: 18px;
  }

  .client-logo-card img {
    max-width: 105px;
    max-height: 48px;
  }
}


.floating-contact-wrapper {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.floating-contact-btn {
  position: relative;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(18, 18, 60, 0.22);
  transition: all 0.3s ease;
}

.floating-contact-btn:hover {
  color: #ffffff;
  transform: translateY(-5px) scale(1.05);
}

.floating-whatsapp {
  background: #25d366;
  box-shadow: 0 14px 34px rgba(37, 211, 102, 0.35);
}

.floating-whatsapp:hover {
  box-shadow: 0 18px 45px rgba(37, 211, 102, 0.5);
}

.floating-whatsapp::before {
  content: "";
  position: absolute;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.22);
  z-index: -1;
  animation: whatsappPulse 1.8s infinite;
}

.floating-whatsapp-2::before {
  animation-delay: 0.45s;
}

.floating-email {
  background: linear-gradient(135deg, var(--orange), var(--orange-2));
  box-shadow: 0 14px 34px rgba(255, 76, 31, 0.32);
}

.floating-email:hover {
  box-shadow: 0 18px 45px rgba(255, 76, 31, 0.46);
}

@keyframes whatsappPulse {
  0% {
    transform: scale(0.85);
    opacity: 0.9;
  }
  70% {
    transform: scale(1.25);
    opacity: 0;
  }
  100% {
    transform: scale(0.85);
    opacity: 0;
  }
}

@media (max-width: 575px) {
  .floating-contact-wrapper {
    right: 18px;
    bottom: 18px;
    gap: 10px;
  }

  .floating-contact-btn {
    width: 52px;
    height: 52px;
    font-size: 25px;
  }

  .floating-whatsapp::before {
    width: 66px;
    height: 66px;
  }
}
