/* ============================================================
   NexRise Elevators — Professional Theme
   Color Palette:
   --dark      #09090f   Deep navy-black
   --dark2     #111118   Slightly lighter dark
   --dark3     #18181f   Card background
   --gold      #c9a84c   Premium gold accent
   --gold-light #e8c96e  Lighter gold
   --orange    #ff6a00   NexRise orange (CTA only)
   --gray      #8b8fa8   Muted text
   --light     #f0f2f8   Foreground text
   ============================================================ */

   :root {
    --dark:       #09090f;
    --dark2:      #111118;
    --dark3:      #18181f;
    --dark4:      #1e1e28;
    --gold:       #c9a84c;
    --gold-light: #e8c96e;
    --orange:     #ff6a00;
    --orange-dark:#e05a00;
    --gray:       #8b8fa8;
    --gray2:      #5a5e72;
    --light:      #f0f2f8;
    --white:      #ffffff;
    --glass:      rgba(255, 255, 255, 0.035);
    --glass2:     rgba(255, 255, 255, 0.06);
    --border:     rgba(255, 255, 255, 0.07);
    --border2:    rgba(201, 168, 76, 0.25);
    --radius:     16px;
    --radius-sm:  10px;
    --shadow:     0 20px 60px rgba(0,0,0,0.5);
    --shadow-gold:0 8px 30px rgba(201,168,76,0.15);
    --transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  
  /* ============ RESET & BASE ============ */
  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior: smooth; }
  
  body {
    font-family: "Inter", "Segoe UI", Tahoma, sans-serif;
    background: var(--dark);
    color: var(--light);
    overflow-x: hidden;
    line-height: 1.6;
  }
  
  h1, h2, h3 { font-family: "Cormorant Garamond", "Poppins", serif; line-height: 1.2; }
  .btn-label, .nav-links, .section-eyebrow, .pvt-tag, .badge { font-family: "Poppins", sans-serif; }
  img { max-width: 100%; display: block; }
  a { text-decoration: none; }
  ul { list-style: none; }
  
  /* ============ SCROLL REVEAL ============ */
  .reveal { opacity:0; transition: opacity 0.8s ease, transform 0.8s ease; transition-delay: var(--delay, 0s); }
  .reveal.reveal-up    { transform: translateY(44px); }
  .reveal.reveal-left  { transform: translateX(-50px); }
  .reveal.reveal-right { transform: translateX(50px); }
  .reveal.visible { opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; transition:none; } }
  
  /* ============ BUTTONS ============ */
  .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--orange);
    color: #fff;
    padding: 14px 34px;
    border: none;
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: transform var(--transition), background var(--transition), box-shadow var(--transition);
    box-shadow: 0 8px 24px rgba(255,106,0,0.3);
    letter-spacing: 0.3px;
  }
  .btn-primary:hover { background: var(--orange-dark); transform: translateY(-3px); box-shadow: 0 14px 36px rgba(255,106,0,0.45); }
  .btn-primary.full-width { width:100%; justify-content:center; border-radius: var(--radius-sm); }
  
  .btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: var(--light);
    padding: 13px 30px;
    border: 1px solid var(--border2);
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all var(--transition);
  }
  .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
  
  /* ============ TYPOGRAPHY HELPERS ============ */
  .section-eyebrow {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
  }
  
  .section-title {
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 700;
    color: var(--light);
    margin-bottom: 20px;
    text-align: center;
  }
  .section-title.left-title { text-align: left; }
  
  .section-sub {
    color: var(--gray);
    font-size: 1.05rem;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.75;
  }
  
  .section-header {
    text-align: center;
    margin-bottom: 60px;
  }
  
  .gold-text { color: var(--gold); }
  
  /* ============ PVT LTD TAGS ============ */
  .pvt-tag {
    display: block;
    font-size: 0.52rem;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--gold);
    text-align: center;
  }
  .hero-pvt  { font-size: 0.68rem; letter-spacing: 4px; margin-top: -6px; text-align: left; }
  .footer-pvt { font-size: 0.52rem; letter-spacing: 3.5px; margin-top: 2px; }
  
  /* ============ NAVBAR ============ */
  .navbar {
    position: fixed; top: 0; width: 100%; z-index: 1000;
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 5%;
    background: rgba(9,9,15,0.6);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,0.04);
    transition: all 0.4s ease;
  }
  .navbar.scrolled {
    background: rgba(9,9,15,0.96);
    box-shadow: 0 4px 30px rgba(0,0,0,0.6);
    border-bottom-color: rgba(201,168,76,0.15);
  }
  
  .logo { display:flex; flex-direction:column; align-items:center; }
  .logo-img {
    height: 76px; width:auto; object-fit:contain;
    mix-blend-mode: lighten;
    filter: drop-shadow(0 0 8px rgba(255,106,0,0.3));
  }
  
  .nav-links { display:flex; align-items:center; gap:28px; }
  .nav-links a {
    color: var(--gray);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    position: relative;
    transition: color var(--transition);
  }
  .nav-links a::after {
    content:""; position:absolute; left:0; bottom:-6px;
    width:0; height:2px; background:var(--gold);
    transition: width var(--transition);
  }
  .nav-links a:hover, .nav-links a:hover::after { color:var(--gold); }
  .nav-links a:hover::after { width:100%; }
  .nav-links .nav-cta {
    background: var(--orange); color:#fff;
    padding: 9px 22px; border-radius: 50px; font-weight:600; font-size:0.82rem;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    box-shadow: 0 4px 16px rgba(255,106,0,0.3);
  }
  .nav-links .nav-cta::after { display:none; }
  .nav-links .nav-cta:hover { background: var(--orange-dark); color:#fff; transform:translateY(-2px); }
  
  .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
  .hamburger span { width:26px; height:2px; background:var(--light); border-radius:2px; transition:var(--transition); }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity:0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  
  /* ============ HERO ============ */
  .hero {
    min-height: 100vh;
    position: relative;
    display: flex; align-items: center;
    overflow: hidden;
    background: radial-gradient(ellipse at 70% 50%, rgba(201,168,76,0.06) 0%, transparent 55%),
                radial-gradient(ellipse at 20% 80%, rgba(255,106,0,0.08) 0%, transparent 40%),
                var(--dark);
  }
  
  .hero-bg-lines {
    position:absolute; inset:0; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  }
  
  .hero-glow {
    position:absolute; width:600px; height:600px;
    background: radial-gradient(circle, rgba(201,168,76,0.08), transparent 70%);
    top:50%; left:55%; transform:translate(-50%,-50%);
    pointer-events:none;
  }
  
  .hero-content {
    position:relative; z-index:2;
    width:100%; max-width:1280px; margin:0 auto;
    padding: 140px 5% 80px;
    display:flex; align-items:center; gap:60px; flex-wrap:wrap;
  }
  
  .hero-left { flex:1 1 440px; max-width:600px; }
  
  .hero-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    font-family:"Poppins",sans-serif;
    font-size:0.7rem; font-weight:600; letter-spacing:3px;
    text-transform:uppercase; color:var(--gold);
    margin-bottom:20px;
  }
  .eyebrow-dot {
    width:8px; height:8px; border-radius:50%; background:var(--gold);
    animation: pulse-dot 2s ease infinite;
  }
  @keyframes pulse-dot {
    0%,100% { opacity:1; transform:scale(1); }
    50%      { opacity:0.5; transform:scale(1.4); }
  }
  
  .hero-logo-wrap { margin-bottom:20px; display:flex; flex-direction:column; align-items:flex-start; }
  .hero-logo { height:100px; width:auto; object-fit:contain; mix-blend-mode:lighten; filter:drop-shadow(0 4px 20px rgba(255,106,0,0.2)); }
  
  .hero-left h1 {
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 700; margin-bottom:16px;
    line-height: 1.15;
  }
  
  .hero-tagline {
    font-family:"Poppins",sans-serif;
    font-size:0.95rem; font-weight:600;
    color: var(--gold); letter-spacing:1px;
    margin-bottom:18px;
    display:flex; align-items:center; gap:10px;
  }
  .hero-tagline i { font-size:0.7rem; opacity:0.7; }
  
  .hero-desc { color:var(--gray); font-size:1rem; line-height:1.8; margin-bottom:32px; max-width:480px; }
  
  .hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:36px; }
  
  .hero-badges { display:flex; gap:12px; flex-wrap:wrap; }
  .badge {
    display:inline-flex; align-items:center; gap:7px;
    background: var(--glass);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 7px 16px;
    font-size:0.78rem; color:var(--gray); font-weight:500;
  }
  .badge i { color:var(--gold); font-size:0.72rem; }
  
  .hero-right { flex:1 1 380px; display:flex; justify-content:center; }
  
  /* SCROLL INDICATOR */
  .hero-scroll-indicator {
    position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:8px;
    font-size:0.7rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray2);
    z-index:3;
  }
  .scroll-line {
    width:1px; height:50px;
    background: linear-gradient(to bottom, var(--gold), transparent);
    animation: scrollPulse 1.8s ease infinite;
  }
  @keyframes scrollPulse { 0%,100%{opacity:0;transform:scaleY(0)} 50%{opacity:1;transform:scaleY(1)} }
  
  /* ============ 3D ELEVATOR MODEL ============ */
  .elevator-scene {
    width: 300px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    perspective: 1400px;
    min-height:440px; cursor:grab;
  }
  .elevator-scene.dragging { cursor:grabbing; }
  
  .elevator {
    position:relative; width:220px; height:320px;
    transform-style:preserve-3d;
    animation: autoRotate 16s linear infinite;
  }
  .elevator.dragging { animation:none; }
  
  @keyframes autoRotate {
    from { transform: rotateY(0deg) rotateX(8deg); }
    to   { transform: rotateY(360deg) rotateX(8deg); }
  }
  
  .shaft {
    position:absolute; width:220px; height:320px;
    border: 1px solid rgba(201,168,76,0.1);
    background: linear-gradient(160deg, #1a1d26, #0e1014);
    box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
  }
  .shaft.front  { transform:translateZ(70px); opacity:0.15; }
  .shaft.back   { transform:translateZ(-70px) rotateY(180deg); }
  .shaft.left   { width:140px; transform:rotateY(-90deg) translateZ(70px); left:40px; }
  .shaft.right  { width:140px; transform:rotateY(90deg) translateZ(70px); left:40px; }
  
  .cabin {
    position:absolute; width:150px; height:220px;
    top:50px; left:35px;
    transform-style:preserve-3d;
    animation: cabinFloat 7s ease-in-out infinite;
  }
  @keyframes cabinFloat {
    0%,100% { transform:translateY(0); }
    50%      { transform:translateY(-22px); }
  }
  
  .cabin-face {
    position:absolute; width:150px; height:220px;
    background: linear-gradient(145deg, #2e3340, #1c1f28);
    border: 1px solid rgba(201,168,76,0.1);
  }
  .cabin-face.front     { transform:translateZ(45px); }
  .cabin-face.back      { transform:translateZ(-45px) rotateY(180deg); }
  .cabin-face.side-left { width:90px; transform:rotateY(-90deg) translateZ(45px); left:30px; }
  .cabin-face.side-right{ width:90px; transform:rotateY(90deg) translateZ(45px); left:30px; }
  .cabin-face.top { height:90px; transform:rotateX(90deg) translateZ(45px); top:-45px; background:linear-gradient(145deg,#3c4256,#252930); }
  .cabin-face.bottom { height:90px; transform:rotateX(-90deg) translateZ(45px); top:175px; background:#12141a; }
  
  .door {
    position:absolute; top:8px; bottom:8px; width:50%;
    background: linear-gradient(160deg, #c8ccd4, #a0a5af);
    border: 1px solid rgba(201,168,76,0.3);
    box-shadow: inset 0 0 12px rgba(0,0,0,0.2);
    animation-duration: 6s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
  }
  .left-door  { left:8px;  transform-origin:left;  animation-name:doorLeft; }
  .right-door { right:8px; transform-origin:right; animation-name:doorRight; }
  
  @keyframes doorLeft  { 0%,15%{transform:translateX(0)} 40%,75%{transform:translateX(-90%)} 95%,100%{transform:translateX(0)} }
  @keyframes doorRight { 0%,15%{transform:translateX(0)} 40%,75%{transform:translateX(90%)}  95%,100%{transform:translateX(0)} }
  
  .panel {
    position:absolute; top:14px; right:-26px;
    width:18px; height:72px;
    background:#0d0e14;
    border:1px solid rgba(201,168,76,0.25);
    border-radius:4px;
    display:flex; flex-direction:column; align-items:center;
    justify-content:space-evenly; padding:6px 0;
    box-shadow: 0 0 10px rgba(201,168,76,0.3);
  }
  .panel-btn {
    width:9px; height:9px; border-radius:50%;
    background: var(--gray2);
    box-shadow: none;
    transition: all 0.3s;
  }
  .panel-btn.active { background: var(--gold); box-shadow:0 0 8px var(--gold); }
  
  .scene-hint { margin-top:16px; color:var(--gray2); font-size:0.78rem; text-align:center; }
  .scene-hint i { margin-right:5px; }
  
  /* ============ STATS STRIP ============ */
  .stats-strip {
    background: linear-gradient(90deg, var(--dark2), var(--dark3), var(--dark2));
    border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
    padding: 50px 5%;
  }
  .stats-inner {
    max-width:1000px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:30px;
  }
  .stat-item { text-align:center; flex:1; min-width:120px; }
  .stat-item h3 { font-size:clamp(2.2rem,4vw,3rem); color:var(--gold); font-weight:700; margin-bottom:6px; }
  .stat-item p { color:var(--gray); font-size:0.88rem; letter-spacing:0.5px; text-transform:uppercase; }
  .stat-divider { width:1px; height:60px; background:var(--border); flex-shrink:0; }
  
  /* ============ ABOUT ============ */
  .about {
    padding: 120px 5%;
    background: var(--dark2);
  }
  .about-grid {
    max-width:1240px; margin:0 auto;
    display:flex; gap:70px; flex-wrap:wrap; align-items:center;
  }
  
  .about-visual { flex:1 1 360px; }
  .about-img-block {
    position:relative; border-radius:24px; overflow:hidden;
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 40px;
    min-height: 400px;
    display:flex; align-items:center; justify-content:center;
    box-shadow: var(--shadow-gold);
  }
  .about-card-float {
    position:absolute; top:20px; right:20px;
    background: linear-gradient(135deg, rgba(201,168,76,0.15), rgba(201,168,76,0.05));
    border: 1px solid var(--border2);
    border-radius:12px; padding:12px 16px;
    display:flex; align-items:center; gap:12px;
    backdrop-filter:blur(8px);
  }
  .about-card-float i { color:var(--gold); font-size:1.4rem; }
  .about-card-float strong { display:block; font-size:0.88rem; color:var(--light); }
  .about-card-float span { font-size:0.74rem; color:var(--gray); }
  
  /* Animated building art */
  .about-elevator-art { width:100%; display:flex; justify-content:center; }
  .ae-building {
    position:relative; width:160px;
    background: linear-gradient(180deg, #1a1d26, #0e1014);
    border: 1px solid var(--border); border-radius:8px;
    padding: 20px 15px;
    display:flex; flex-direction:column; gap:6px;
  }
  .ae-floor {
    height:28px; border-radius:4px;
    background: linear-gradient(90deg, var(--dark4), var(--dark3));
    border: 1px solid var(--border);
    position:relative;
  }
  .ae-floor::before {
    content:""; position:absolute;
    top:6px; left:8px; right:8px; bottom:6px;
    background: linear-gradient(90deg, rgba(201,168,76,0.06), transparent);
    border-radius:2px;
  }
  .ae-shaft {
    height:28px; border-radius:4px;
    background: linear-gradient(180deg, #0f1118, #0c0c12);
    border: 1px solid rgba(201,168,76,0.2);
    position:relative; overflow:hidden;
  }
  .ae-cabin-anim {
    position:absolute; left:15%; right:15%; height:70%;
    background: linear-gradient(180deg, rgba(201,168,76,0.4), rgba(201,168,76,0.15));
    border-radius:2px;
    animation: shaftMove 3s ease-in-out infinite;
    bottom:5%;
  }
  @keyframes shaftMove {
    0%,100% { transform:translateY(0); opacity:1; }
    40%      { transform:translateY(-280%); opacity:1; }
    50%      { opacity:0; }
    60%      { transform:translateY(-280%); opacity:0; }
    70%      { transform:translateY(-280%); opacity:1; }
  }
  
  .about-text { flex:1 1 420px; }
  .about-text p { color:var(--gray); font-size:1rem; line-height:1.85; margin-bottom:16px; }
  
  .about-features { margin: 28px 0 36px; display:flex; flex-direction:column; gap:12px; }
  .af-item {
    display:flex; align-items:center; gap:12px;
    font-size:0.93rem; color:var(--light);
  }
  .af-item i { color:var(--gold); font-size:0.88rem; flex-shrink:0; }
  
  /* ============ PRODUCTS ============ */
  .products {
    padding: 120px 5%;
    background: var(--dark);
  }
  .products .section-header { margin-bottom:60px; }
  
  .product-grid {
    max-width:1280px; margin:0 auto;
    display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:28px;
  }
  
  .product-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 38px 30px;
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
    display:flex; flex-direction:column; gap:12px;
  }
  .product-card:hover {
    transform: translateY(-8px);
    border-color: rgba(201,168,76,0.35);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4), var(--shadow-gold);
  }
  
  .card-icon {
    width:52px; height:52px;
    background: linear-gradient(135deg, rgba(201,168,76,0.15), rgba(201,168,76,0.05));
    border: 1px solid var(--border2);
    border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.4rem; color:var(--gold);
    margin-bottom:6px;
  }
  
  .product-card h3 { font-size:1.2rem; color:var(--light); font-weight:600; }
  .product-card p  { color:var(--gray); font-size:0.92rem; line-height:1.7; flex:1; }
  
  .card-link {
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:600; color:var(--gold);
    transition: gap var(--transition), color var(--transition);
    margin-top:8px;
  }
  .card-link:hover { gap:12px; color:var(--gold-light); }
  
  /* ============ PROCESS ============ */
  .process {
    padding: 120px 5%;
    background: var(--dark2);
  }
  .process .section-header { margin-bottom:60px; }
  
  .process-steps {
    max-width:1200px; margin:0 auto;
    display:flex; align-items:center; gap:0; flex-wrap:wrap; justify-content:center;
  }
  .process-step {
    flex: 1 1 180px; max-width:240px;
    text-align:center; padding:36px 20px;
    background: var(--dark3);
    border: 1px solid var(--border);
    border-radius:var(--radius);
    position:relative;
    transition: border-color var(--transition), transform var(--transition);
  }
  .process-step:hover { border-color: var(--border2); transform:translateY(-4px); }
  
  .step-num {
    position:absolute; top:-18px; left:50%; transform:translateX(-50%);
    font-family:"Poppins",sans-serif; font-size:0.7rem; font-weight:800;
    letter-spacing:2px; color:var(--gold);
    background: var(--dark3); padding:4px 12px; border-radius:50px;
    border: 1px solid var(--border2);
  }
  .step-icon {
    width:58px; height:58px; margin:8px auto 18px;
    background: linear-gradient(135deg, rgba(201,168,76,0.12), transparent);
    border: 1px solid var(--border2);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:1.4rem; color:var(--gold);
  }
  .process-step h3 { font-size:1.05rem; margin-bottom:10px; }
  .process-step p  { font-size:0.85rem; color:var(--gray); line-height:1.65; }
  
  .process-arrow {
    font-size:1.4rem; color:var(--border2); padding:0 16px; flex-shrink:0;
    align-self:center; margin-top:30px;
  }
  
  /* ============ PROJECTS ============ */
  .projects {
    padding: 120px 5%;
    background: var(--dark);
  }
  .projects-grid {
    max-width:1280px; margin:0 auto;
    display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px;
  }
  
  .project-card {
    border-radius: var(--radius);
    overflow:hidden;
    background: var(--dark3);
    border: 1px solid var(--border);
    transition: transform var(--transition), box-shadow var(--transition);
  }
  .project-card:hover { transform:translateY(-8px); box-shadow: var(--shadow); }
  
  .project-img {
    height:200px; position:relative; overflow:hidden;
  }
  .project-img::after {
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, transparent 40%, rgba(9,9,15,0.85));
  }
  /* Gradient placeholder images (replace with real photos) */
  .project-img.p1 { background: linear-gradient(135deg, #1a2a3a, #0a1520); }
  .project-img.p2 { background: linear-gradient(135deg, #1a2a1a, #0a1510); }
  .project-img.p3 { background: linear-gradient(135deg, #2a1a0a, #150a00); }
  .project-img.p4 { background: linear-gradient(135deg, #1a1a2a, #0a0a18); }
  .project-img.p1::before { content:"🏢"; font-size:5rem; position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); opacity:0.3; }
  .project-img.p2::before { content:"🏙️"; font-size:5rem; position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); opacity:0.3; }
  .project-img.p3::before { content:"🏭"; font-size:5rem; position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); opacity:0.3; }
  .project-img.p4::before { content:"🏨"; font-size:5rem; position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); opacity:0.3; }
  
  .project-overlay {
    position:absolute; top:16px; left:16px; z-index:2;
  }
  .project-type {
    font-family:"Poppins",sans-serif; font-size:0.65rem; font-weight:700;
    letter-spacing:2px; text-transform:uppercase;
    background: rgba(201,168,76,0.2); color:var(--gold);
    border: 1px solid var(--border2); border-radius:50px;
    padding: 5px 12px;
  }
  .project-info { padding:24px; }
  .project-info h3 { font-size:1.05rem; margin-bottom:8px; }
  .project-info p  { font-size:0.87rem; color:var(--gray); line-height:1.65; margin-bottom:14px; }
  .project-tag {
    font-size:0.72rem; font-weight:600; color:var(--gray2);
    border: 1px solid var(--border); border-radius:50px; padding:4px 12px;
    font-family:"Poppins",sans-serif; letter-spacing:0.5px;
  }
  
  /* ============ WHY US ============ */
  .why {
    padding: 120px 5%;
    background: linear-gradient(135deg, var(--dark2), var(--dark));
  }
  .why-inner {
    max-width:1280px; margin:0 auto;
    display:flex; gap:80px; flex-wrap:wrap; align-items:flex-start;
  }
  
  .why-left { flex:1 1 300px; max-width:400px; position:sticky; top:140px; }
  .why-left .section-eyebrow { display:block; margin-bottom:12px; }
  .why-desc { color:var(--gray); font-size:1rem; line-height:1.8; margin:20px 0 36px; }
  
  .why-right { flex:2 1 400px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  
  .why-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 24px;
    display:flex; gap:18px; align-items:flex-start;
    transition: border-color var(--transition), transform var(--transition);
  }
  .why-card:hover { border-color: var(--border2); transform:translateY(-4px); }
  .why-icon {
    width:44px; height:44px; flex-shrink:0;
    background: linear-gradient(135deg, rgba(201,168,76,0.12), transparent);
    border: 1px solid var(--border2); border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem; color:var(--gold);
  }
  .why-text h3 { font-size:1rem; margin-bottom:6px; font-weight:600; }
  .why-text p  { font-size:0.87rem; color:var(--gray); line-height:1.65; }
  
  /* ============ TESTIMONIALS ============ */
  .testimonials {
    padding: 120px 5%;
    background: var(--dark2);
    overflow:hidden;
  }
  
  .testimonial-track-wrap {
    overflow:hidden; margin:0 -5%; padding:0 5%;
  }
  .testimonial-track {
    display:flex; gap:24px; transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
  }
  .testimonial-card {
    flex:0 0 calc(33.33% - 16px); min-width:280px;
    background: var(--dark3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 36px 30px;
    position:relative;
  }
  .tcard-quote { font-size:1.6rem; color:var(--border2); margin-bottom:16px; }
  .testimonial-card p { color:var(--gray); font-size:0.93rem; line-height:1.75; margin-bottom:24px; }
  .tcard-author { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
  .tcard-avatar {
    width:44px; height:44px; border-radius:50%; flex-shrink:0;
    background: linear-gradient(135deg, var(--gold), var(--orange));
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:0.85rem; color:#fff;
  }
  .tcard-author strong { display:block; font-size:0.9rem; }
  .tcard-author span   { font-size:0.78rem; color:var(--gray); }
  .tcard-stars { color:var(--gold); font-size:0.78rem; display:flex; gap:3px; }
  
  .testimonial-controls {
    display:flex; align-items:center; justify-content:center; gap:20px; margin-top:36px;
  }
  .tctrl-btn {
    width:42px; height:42px; border-radius:50%;
    background:var(--dark3); border:1px solid var(--border);
    color:var(--light); cursor:pointer; font-size:0.85rem;
    display:flex; align-items:center; justify-content:center;
    transition: border-color var(--transition), background var(--transition);
  }
  .tctrl-btn:hover { border-color:var(--gold); color:var(--gold); }
  .tctrl-dots { display:flex; gap:8px; }
  .tctrl-dot {
    width:8px; height:8px; border-radius:50%;
    background: var(--border); border:none; cursor:pointer;
    transition: background var(--transition), width var(--transition);
  }
  .tctrl-dot.active { background:var(--gold); width:24px; border-radius:4px; }
  
  .client-logos { margin-top:60px; text-align:center; }
  .logos-label { font-size:0.7rem; letter-spacing:3px; text-transform:uppercase; color:var(--gray2); margin-bottom:24px; }
  .logos-row { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
  .logo-pill {
    background:var(--glass); border:1px solid var(--border);
    border-radius:50px; padding:10px 22px;
    font-size:0.82rem; color:var(--gray); font-weight:500;
    transition: border-color var(--transition), color var(--transition);
  }
  .logo-pill:hover { border-color:var(--border2); color:var(--gold-light); }
  
  /* ============ CONTACT ============ */
  .contact {
    padding: 120px 5%;
    background: var(--dark);
  }
  .contact-inner {
    max-width:1240px; margin:0 auto;
    display:flex; gap:70px; flex-wrap:wrap; align-items:flex-start;
  }
  
  .contact-left { flex:1 1 340px; max-width:440px; }
  .contact-desc { color:var(--gray); font-size:1rem; line-height:1.8; margin-bottom:36px; }
  
  .contact-details { display:flex; flex-direction:column; gap:20px; }
  .cd-item { display:flex; gap:16px; align-items:flex-start; }
  .cd-icon {
    width:40px; height:40px; flex-shrink:0;
    background: linear-gradient(135deg, rgba(201,168,76,0.12), transparent);
    border: 1px solid var(--border2); border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    color:var(--gold); font-size:0.9rem;
  }
  .cd-item strong { display:block; font-size:0.85rem; color:var(--light); margin-bottom:3px; }
  .cd-item span   { font-size:0.87rem; color:var(--gray); }
  
  .contact-right { flex:1 1 420px; }
  .contact-form {
    background: var(--dark3);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 44px 40px;
  }
  
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  
  .form-group { display:flex; flex-direction:column; gap:8px; }
  .form-group label { font-size:0.78rem; font-weight:600; letter-spacing:0.5px; color:var(--gray); text-transform:uppercase; }
  .form-group input,
  .form-group textarea,
  .form-group select {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 13px 16px;
    color: var(--light);
    font-size: 0.93rem;
    font-family: inherit;
    outline:none;
    transition: border-color var(--transition);
    resize: vertical;
  }
  .form-group select { appearance:none; cursor:pointer; }
  .form-group select option { background:var(--dark3); }
  .form-group input:focus,
  .form-group textarea:focus,
  .form-group select:focus { border-color: var(--gold); }
  .form-group textarea { min-height:110px; }
  
  .contact-form .btn-primary { margin-top:10px; }
  .form-success {
    display:none; color:#3fb950; font-size:0.9rem;
    text-align:center; margin-top:14px; padding:12px;
    background: rgba(63,185,80,0.08); border-radius:8px;
    border:1px solid rgba(63,185,80,0.2);
    gap:8px; align-items:center; justify-content:center;
  }
  .form-success.show { display:flex; }
  
  /* ============ FOOTER ============ */
  .footer { background: var(--dark2); border-top: 1px solid var(--border); }
  
  .footer-top {
    max-width:1280px; margin:0 auto;
    padding: 80px 5% 60px;
    display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:50px; flex-wrap:wrap;
  }
  
  .footer-brand .footer-logo {
    display:flex; flex-direction:column; align-items:flex-start; margin-bottom:12px;
  }
  .footer-logo-img { height:56px; width:auto; object-fit:contain; mix-blend-mode:lighten; }
  .footer-tagline {
    font-family:"Poppins",sans-serif; font-size:0.85rem;
    color:var(--gold); letter-spacing:1px; margin-bottom:14px;
  }
  .footer-about { font-size:0.88rem; color:var(--gray); line-height:1.75; margin-bottom:24px; }
  .footer-socials { display:flex; gap:12px; }
  .footer-socials a {
    width:38px; height:38px; border-radius:10px;
    background:var(--glass); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    color:var(--gray); font-size:0.88rem;
    transition: border-color var(--transition), color var(--transition), background var(--transition);
  }
  .footer-socials a:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.08); }
  
  .footer-links-group h4 {
    font-family:"Poppins",sans-serif; font-size:0.72rem; font-weight:700;
    letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:20px;
  }
  .footer-links-group ul { display:flex; flex-direction:column; gap:12px; }
  .footer-links-group ul li a { font-size:0.87rem; color:var(--gray); transition:color var(--transition); }
  .footer-links-group ul li a:hover { color:var(--light); }
  
  .footer-contact-list { display:flex; flex-direction:column; gap:14px; }
  .footer-contact-list li { font-size:0.87rem; color:var(--gray); display:flex; gap:10px; line-height:1.6; }
  .footer-contact-list li i { color:var(--gold); flex-shrink:0; margin-top:3px; }
  
  .footer-bottom {
    border-top: 1px solid var(--border);
    padding: 22px 5%;
    max-width:100%;
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
    font-size:0.82rem; color:var(--gray2);
  }
  .footer-legal { display:flex; gap:24px; }
  .footer-legal a { color:var(--gray2); transition:color var(--transition); }
  .footer-legal a:hover { color:var(--light); }
  
  /* ============ ELEVATOR DOOR INTRO ============ */
  .intro-overlay { position:fixed; inset:0; z-index:9999; pointer-events:all; overflow:hidden; }
  
  .intro-door {
    position:absolute; top:0; width:50%; height:100%; z-index:2; overflow:hidden;
    transition: transform 1.1s cubic-bezier(0.77,0,0.18,1);
    background:
      repeating-linear-gradient(90deg, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 8px),
      linear-gradient(160deg, #1e2230 0%, #11141c 40%, #0a0c12 100%);
  }
  .intro-door::before {
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background: repeating-linear-gradient(180deg, transparent 0px, transparent 98px,
      rgba(0,0,0,0.4) 98px, rgba(0,0,0,0.4) 100px,
      rgba(255,255,255,0.035) 100px, rgba(255,255,255,0.035) 102px,
      transparent 102px, transparent 200px);
  }
  .intro-door::after {
    content:""; position:absolute; top:0; bottom:0; width:60px; z-index:2; pointer-events:none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04) 40%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 60%, transparent);
  }
  .intro-door-left {
    left:0; border-right:3px solid rgba(201,168,76,0.5);
    box-shadow: inset -8px 0 24px rgba(0,0,0,0.6), 4px 0 30px rgba(201,168,76,0.15);
  }
  .intro-door-left::after  { right:30px; }
  .intro-door-right {
    right:0; border-left:3px solid rgba(201,168,76,0.5);
    box-shadow: inset 8px 0 24px rgba(0,0,0,0.6), -4px 0 30px rgba(201,168,76,0.15);
  }
  .intro-door-right::after { left:30px; }
  .intro-overlay.open .intro-door-left  { transform:translateX(-100%); }
  .intro-overlay.open .intro-door-right { transform:translateX(100%); }
  .intro-overlay.done { display:none; }
  
  .intro-content-half {
    position:absolute; top:0; height:100%; width:100vw;
    display:flex; align-items:center; justify-content:center; z-index:3;
    animation: introFadeIn 0.8s ease forwards;
  }
  .intro-content-left  { left:0; }
  .intro-content-right { left:-50vw; }
  .intro-inner {
    width:100vw; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:8px; flex-shrink:0;
  }
  @keyframes introFadeIn { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
  
  .intro-logo {
    height:120px; width:auto; object-fit:contain; mix-blend-mode:lighten;
    filter:drop-shadow(0 0 28px rgba(201,168,76,0.5)); margin-bottom:8px;
  }
  .intro-name {
    font-family:"Poppins",sans-serif; font-size:clamp(1.8rem,5vw,3rem);
    font-weight:800; color:var(--light); letter-spacing:2px; text-align:center;
  }
  .intro-pvt {
    font-family:"Poppins",sans-serif; font-size:0.85rem; font-weight:600;
    letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-top:-2px;
  }
  .intro-tagline {
    font-family:"Poppins",sans-serif; font-size:0.9rem;
    font-weight:600; color:var(--gold); letter-spacing:1px; margin-top:4px; opacity:0.85;
  }
  
  /* ============ WHATSAPP ============ */
  .whatsapp-btn {
    position:fixed; bottom:30px; right:30px; z-index:900;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.7rem;
    box-shadow: 0 8px 30px rgba(37,211,102,0.4);
    transition: transform var(--transition), box-shadow var(--transition);
  }
  .whatsapp-btn:hover { transform:scale(1.1) translateY(-3px); box-shadow:0 14px 40px rgba(37,211,102,0.5); }
  .wa-tooltip {
    position:absolute; right:68px; top:50%; transform:translateY(-50%);
    background:rgba(0,0,0,0.8); color:#fff;
    padding:6px 14px; border-radius:8px;
    font-size:0.78rem; font-weight:600; white-space:nowrap;
    opacity:0; pointer-events:none;
    transition: opacity var(--transition);
  }
  .whatsapp-btn:hover .wa-tooltip { opacity:1; }
  
  /* ============ SCROLL TO TOP ============ */
  .scroll-top-btn {
    position:fixed; bottom:30px; left:30px; z-index:900;
    width:44px; height:44px; border-radius:50%;
    background:var(--dark3); border:1px solid var(--border);
    color:var(--gray); cursor:pointer; font-size:0.88rem;
    display:flex; align-items:center; justify-content:center;
    transition: all var(--transition); opacity:0; pointer-events:none;
  }
  .scroll-top-btn.visible { opacity:1; pointer-events:all; }
  .scroll-top-btn:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-3px); }
  
  /* ============ RESPONSIVE ============ */
  @media (max-width: 1024px) {
    .footer-top { grid-template-columns:1fr 1fr; }
    .why-left { position:static; }
  }
  
  @media (max-width: 768px) {
    .nav-links {
      position:fixed; inset:0; top:80px;
      background:rgba(9,9,15,0.98);
      flex-direction:column; justify-content:center;
      gap:28px; transform:translateX(100%);
      transition: transform var(--transition);
      z-index:999; backdrop-filter:blur(16px);
    }
    .nav-links.active { transform:translateX(0); }
    .nav-links a { font-size:1.1rem; }
    .nav-links .nav-cta { font-size:1rem; padding:12px 32px; }
    .hamburger { display:flex; z-index:1001; }
  
    .hero-content { padding:120px 5% 80px; flex-direction:column; text-align:center; }
    .hero-left { max-width:100%; }
    .hero-logo-wrap { align-items:center; }
    .hero-pvt { text-align:center; }
    .hero-tagline { justify-content:center; }
    .hero-desc { margin:0 auto 32px; }
    .hero-actions { justify-content:center; }
    .hero-badges { justify-content:center; }
    .hero-right { justify-content:center; }
  
    .about-grid, .contact-inner, .why-inner { flex-direction:column; }
    .why-right { grid-template-columns:1fr; }
    .about-visual { width:100%; }
  
    .process-steps { flex-direction:column; align-items:center; }
    .process-arrow { transform:rotate(90deg); padding:8px 0; margin-top:0; }
  
    .footer-top { grid-template-columns:1fr; gap:36px; }
    .footer-bottom { flex-direction:column; text-align:center; }
  
    .testimonial-card { flex:0 0 85vw; }
  
    .contact-form { padding:28px 22px; }
    .form-row { grid-template-columns:1fr; }
  
    .stat-divider { display:none; }
    .stats-inner { gap:20px; }
  }
  
  @media (max-width: 480px) {
    .elevator-scene { width:260px; }
    .whatsapp-btn { bottom:20px; right:20px; width:52px; height:52px; font-size:1.5rem; }
    .scroll-top-btn { bottom:20px; left:20px; }
  }