/* ═══════════════════════════════════════
   DEFERRANTI LIMITED — style.css
   Dark Navy · White · Electric Yellow
═══════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;700;800&family=Plus+Jakarta+Sans:wght@300;400;600&display=swap');

:root {
  /* ── Color Palette ── */
  --navy:      #0b1e3d;
  --navy2:     #0f2856;
  --navy-lt:   #163470;
  --yellow:    #f5c518;
  --yellow2:   #ffd740;
  --white:     #ffffff;
  --off:       #f5f7fa;
  --border:    #e2e8f0;
  --text:      #0f1923;
  --mid:       #4a5568;
  --light:     #8896a8;
  --wa:        #25d366;

  /* ── Layout & Spacing ── */
  --nav-h:     72px;
  --r:         5px; 
  --rl:        12px;

  /* ── Typography (The Better Pair) ── */
  --font-d:    'Lexend', sans-serif;         /* Industrial & Bold for Headings */
  --font-b:    'Plus Jakarta Sans', sans-serif; /* Clean & High-Tech for Body */

  /* ── Effects ── */
  --shadow:    0 4px 24px rgba(11,30,61,.1);
  --shadow-lg: 0 12px 48px rgba(11,30,61,.16);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--text);font-family:var(--font-b);font-size:1rem;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#eee}::-webkit-scrollbar-thumb{background:var(--navy);border-radius:3px}

/* ── NAV ── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);transition:box-shadow .3s,background .3s;backdrop-filter:blur(14px)}
#navbar.scrolled{box-shadow:var(--shadow)}
#navbar.dark-mode{background:rgba(11,30,61,.97);border-bottom-color:rgba(255,255,255,.08)}
#navbar.dark-mode .nav-link{color:rgba(255,255,255,.65)}
#navbar.dark-mode .nav-link:hover,#navbar.dark-mode .nav-link.active{color:#fff;background:rgba(255,255,255,.08)}
#navbar.dark-mode .lt-main{color:#fff}
#navbar.dark-mode .lt-sub{color:rgba(255,255,255,.4)}
.nav-inner{max-width:1400px;margin:0 auto;padding:0 1.75rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex-shrink:0}
.logo-mark{width:42px;height:42px;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:var(--r);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(11,30,61,.3)}
.logo-mark span{font-family:var(--font-d);font-size:1.4rem;font-weight:800;color:var(--yellow)}
.logo-mark.sm{width:36px;height:36px}
.logo-mark.sm span{font-size:1.1rem}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.lt-main{font-family:var(--font-d);font-size:1rem;font-weight:400;color:var(--navy);letter-spacing:.03em}
.lt-main strong{font-weight:700}
.lt-sub{font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--light)}
.nav-links{display:flex;align-items:center;gap:.15rem}
.nav-link{font-family:var(--font-b);font-size:.82rem;font-weight:500;color:var(--mid);padding:.45rem .8rem;border-radius:var(--r);cursor:pointer;transition:color .2s,background .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.nav-link:hover,.nav-link.active{color:var(--navy);background:var(--off)}
.nav-link.active{font-weight:600;color:var(--navy)}
.nav-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--yellow);color:var(--navy)!important;font-family:var(--font-b);font-weight:700;font-size:.8rem;padding:.48rem 1.1rem;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none}
.nav-cta:hover{background:var(--yellow2);transform:translateY(-1px)}
.nav-line{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,var(--navy),var(--yellow));width:0%;transition:width .12s}
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--off);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;padding:.6rem .7rem;min-width:48px;min-height:48px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0;z-index:1100}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--navy);border-radius:2px;transition:.3s;pointer-events:none}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── PAGE SYSTEM ── */
#app{margin-top:var(--nav-h)}
.page{display:none;opacity:0;transform:translateY(12px);transition:opacity .33s ease,transform .33s ease;min-height:80vh}
.page.active{display:block}
.page.visible{opacity:1;transform:translateY(0)}

/* ── SHARED ── */
.wrap{max-width:1400px;margin:0 auto;padding:5rem 2rem}
.stag{font-family:var(--font-d);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--yellow);display:block;margin-bottom:.6rem}
.stag.light{color:rgba(245,197,24,.85)}
.sh2{font-family:var(--font-d);font-size:clamp(1.9rem,3.8vw,3rem);font-weight:700;line-height:1.15;color:var(--navy);margin-bottom:1.25rem}
.sh2 em{font-style:normal;color:var(--yellow);-webkit-text-stroke:1px var(--navy2)}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.sec-center{text-align:center;margin-bottom:3.5rem}

/* ── BUTTONS ── */
.btn-yellow{display:inline-flex;align-items:center;gap:.4rem;background:var(--yellow);color:var(--navy);font-family:var(--font-b);font-weight:700;font-size:.88rem;padding:.82rem 1.85rem;border:none;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn-yellow:hover{background:var(--yellow2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,197,24,.4)}
.btn-yellow.sm{padding:.5rem 1.1rem;font-size:.8rem}
.btn-yellow.mt{margin-top:1.25rem}
.btn-dark{display:inline-flex;align-items:center;gap:.4rem;background:var(--navy);color:#fff;font-family:var(--font-b);font-weight:600;font-size:.88rem;padding:.82rem 1.85rem;border:none;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn-dark:hover{background:var(--navy2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(11,30,61,.3)}
.btn-dark.lg{padding:1rem 2.25rem;font-size:.95rem}
.btn-dark.full{width:100%;justify-content:center}
.btn-dark.sm{padding:.5rem 1.1rem;font-size:.8rem}
.btn-ghost-w{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.12);color:#fff;font-family:var(--font-b);font-weight:500;font-size:.88rem;padding:.82rem 1.85rem;border:1.5px solid rgba(255,255,255,.45);border-radius:var(--r);cursor:pointer;transition:all .2s;backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn-ghost-w:hover{background:rgba(255,255,255,.2);border-color:#fff}
.btn-outline{display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--navy);font-family:var(--font-b);font-weight:600;font-size:.88rem;padding:.82rem 1.85rem;border:1.5px solid var(--navy);border-radius:var(--r);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-outline.sm{padding:.5rem 1.1rem;font-size:.8rem}
.btn-wa{display:inline-flex;align-items:center;gap:.55rem;background:var(--wa);color:#fff;font-family:var(--font-b);font-weight:700;font-size:.88rem;padding:.82rem 1.85rem;border:none;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none;-webkit-tap-highlight-color:transparent}
.btn-wa:hover{background:#1ebe59;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.35)}
.btn-wa-lg{display:inline-flex;align-items:center;gap:.65rem;background:var(--wa);color:#fff;font-family:var(--font-b);font-weight:700;font-size:.92rem;padding:.9rem 2rem;border:none;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .15s;text-decoration:none;margin-top:1.5rem}
.btn-wa-lg:hover{background:#1ebe59;transform:translateY(-2px)}
/* ── HERO CAROUSEL — FULL REPLACEMENT ── */
.hero-carousel{position:relative;height:calc(100vh - var(--nav-h));min-height:580px;overflow:hidden;background:var(--navy)}
.hc-track{position:relative;width:100%;height:100%}

/* Fix: Slide Transitions */
.hc-slide{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1}
.hc-slide.active{
  position:relative;
  opacity:1;
  pointer-events:all;
  z-index:3;
  animation:hcIn 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.hc-slide.leaving{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  animation:hcOut .8s ease-in forwards;
}

@keyframes hcIn{
  from{opacity:0;transform:scale(1.08)}
  to{opacity:1;transform:scale(1)}
}
@keyframes hcOut{
  from{opacity:1;transform:scale(1)}
  to{opacity:0;transform:scale(0.97)}
}

.hc-bg{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.hc-veil{position:absolute;inset:0;background:linear-gradient(110deg,rgba(11,30,61,.88) 0%,rgba(11,30,61,.5) 55%,rgba(0,0,0,.1) 100%)}

.hc-content{position:relative;z-index:3;max-width:1400px;margin:0 auto;padding:0 3rem;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1.25rem}

/* Desktop: Left Aligned Content */
@media (min-width: 769px) {
  .hc-content { text-align: left; align-items: flex-start; }
}

.hc-tag{font-family:var(--font-d);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);font-weight:700;display:flex;align-items:center;gap:.75rem}
.hc-tag::before{content:'';display:inline-block;width:32px;height:2px;background:var(--yellow)}

.hc-title {
  font-family: var(--font-d);
  font-size: clamp(3rem, 8vw, 7.5rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em; /* Added this for a tighter, premium feel */
  color: #fff;
  max-width: 900px;
  animation: htIn .9s .1s both;
}
.hc-title em{font-style:normal;color:var(--yellow)}

.hc-content p{font-size:clamp(.95rem,1.8vw,1.12rem);color:rgba(255,255,255,.78);max-width:520px;line-height:1.72;opacity:0}
.hc-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0}

/* Text Stagger Animation */
.hc-slide.active .hc-title{ animation: htIn .8s .2s cubic-bezier(0.23, 1, 0.32, 1) forwards; }
.hc-slide.active .hc-content p{ animation: htIn .8s .35s cubic-bezier(0.23, 1, 0.32, 1) forwards; }
.hc-slide.active .hc-btns{ animation: htIn .8s .5s cubic-bezier(0.23, 1, 0.32, 1) forwards; }

@keyframes htIn{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}

/* ── Carousel UI ── */
.hc-ui {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-end; /* Moves navigation to the right on desktop */
  gap: 2rem;
  padding: 0 3rem 2.5rem;
}
.hc-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.1)}
.hc-prog-fill{height:100%;background:var(--yellow);width:0;transition:width 0.1s linear}

.hc-nav{display:flex;align-items:center;gap:1.25rem}
.hc-arr{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,0.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;backdrop-filter:blur(10px)}
.hc-arr:hover{background:var(--yellow);border-color:var(--yellow);color:var(--navy);transform:translateY(-3px)}

.hc-dots{display:flex;gap:.5rem}
.hc-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:0.3s}
.hc-dot.active{background:var(--yellow);transform:scale(1.3)}

.hc-idx{font-family:var(--font-d);font-size:.95rem;color:#fff;font-weight:600}
.hci-sep{margin:0 .35rem;opacity:0.3}

/* ── MOBILE FIX: Center Buttons and UI ── */
/* ── MOBILE FIX: Keep it Centered ── */
@media (max-width: 768px) {
  .hc-content {
    text-align: center;
    align-items: center;
    padding: 0 1.5rem;
  }
  .hc-btns {
    justify-content: center;
    margin-bottom: 20px; /* Space for the UI below */
  }
  .hc-ui {
    justify-content: center; /* Center UI on mobile */
    padding: 0 1.5rem 3rem;
    flex-direction: column; /* Stack arrows/dots if screen is tiny */
    gap: 1rem;
  }
}

/* ── STATS BAR — right under hero, NO gap ── */
.stats-bar{background:var(--navy);padding:0;margin:0;border-top:1px solid rgba(255,255,255,.08)}
.stats-inner{max-width:1400px;margin:0 auto;padding:2.25rem 2rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 3rem;position:relative}
.si-num{font-family:var(--font-d);font-size:2.8rem;font-weight:800;color:var(--yellow);line-height:1;display:inline}
.si-plus{font-family:var(--font-d);font-size:1.5rem;font-weight:800;color:var(--yellow);display:inline;margin-left:2px}
.si-lbl{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.3rem}
.si-div{width:1px;height:52px;background:rgba(255,255,255,.1);flex-shrink:0}

/* ── INTRO ── */
.intro-section{background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center}
.intro-imgs{position:relative}
.ii-main{height:480px;border-radius:var(--rl);box-shadow:var(--shadow-lg)}
.ii-sm{height:200px;border-radius:var(--rl);box-shadow:var(--shadow);margin-top:1rem;border:3px solid var(--yellow)}
.ii-tag{position:absolute;top:1.5rem;right:-1.5rem;background:var(--navy);color:var(--yellow);font-family:var(--font-d);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1rem;border-radius:var(--r);font-weight:700}
.intro-text p{color:var(--mid);line-height:1.82;margin-bottom:1rem}
.intro-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}
.ib-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;color:var(--navy);background:var(--off);border:1px solid var(--border);padding:.38rem .9rem;border-radius:20px}
.ib-item span{color:var(--yellow);font-size:.9rem}

/* ── SERVICES SNAP ── */
.services-snap{background:var(--off);padding:5rem 0}
.services-snap .wrap{padding-top:0;padding-bottom:0;padding-left:2rem;padding-right:2rem}
.svcs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.svc-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:2rem 1.75rem;transition:transform .25s,box-shadow .25s,border-color .25s;cursor:pointer;position:relative;overflow:hidden}
.svc-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(245,197,24,.3)}
.svc-card:hover::before{transform:scaleX(1)}
.sc-icon{font-size:2rem;margin-bottom:1rem}
.sc-title{font-family:var(--font-d);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
.sc-desc{font-size:.84rem;color:var(--mid);line-height:1.65}

/* ── CTA BAND ── */
.cta-band{background:var(--yellow);padding:4.5rem 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap}
.cta-text h2{font-family:var(--font-d);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--navy);font-weight:700;margin-bottom:.5rem}
.cta-text h2 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--navy);text-underline-offset:4px}
.cta-text p{color:rgba(11,30,61,.7);font-size:.95rem;max-width:520px;line-height:1.7}
.cta-actions{display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0}

/* ── PROJECTS GRID ── */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.proj-grid.lg{grid-template-columns:repeat(3,1fr)}
.proj-card{background:var(--white);border-radius:var(--rl);overflow:hidden;border:1px solid var(--border);transition:transform .25s,box-shadow .25s;cursor:pointer}
.proj-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pc-img{height:220px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.pc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,30,61,.6),transparent 50%)}
.pc-cat-badge{position:absolute;top:.75rem;left:.75rem;background:var(--yellow);color:var(--navy);font-family:var(--font-d);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;padding:.25rem .7rem;border-radius:3px;z-index:2}
.pc-body{padding:1.5rem}
.pc-num{font-family:var(--font-d);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--light);margin-bottom:.3rem}
.pc-name{font-family:var(--font-d);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;line-height:1.25}
.pc-loc{font-size:.8rem;color:var(--light);display:flex;align-items:center;gap:.3rem}
.pc-status{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .65rem;border-radius:20px;margin-top:.5rem}
.ps-done{background:rgba(16,185,129,.1);color:#059669}
.ps-ongoing{background:rgba(245,197,24,.15);color:#b45309}

/* ── WHY ── */
.why-section{background:var(--navy);padding:5rem 0}
.why-section .wrap{padding-top:0;padding-bottom:0;padding-left:2rem;padding-right:2rem}
.why-section .stag{color:var(--yellow)}
.why-section .sh2{color:#fff}
.why-section .sh2 em{color:var(--yellow);-webkit-text-stroke:0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem}
.why-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--rl);padding:2rem;transition:background .25s,border-color .25s,transform .25s}
.why-card:hover{background:rgba(255,255,255,.07);border-color:rgba(245,197,24,.25);transform:translateY(-4px)}
.wc-icon{font-size:1.8rem;margin-bottom:.85rem}
.why-card h4{font-family:var(--font-d);font-size:.98rem;font-weight:700;color:#fff;margin-bottom:.5rem}
.why-card p{font-size:.85rem;color:rgba(255,255,255,.55);line-height:1.7}

/* ── PAGE HERO ── */
.page-hero{position:relative;height:380px;background:var(--bg) center/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden;margin:0}
.page-hero.short{height:300px}
.ph-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,30,61,.92) 0%,rgba(11,30,61,.45) 55%,rgba(0,0,0,.1) 100%)}
.ph-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;width:100%;padding:0 2rem 3rem}
.ph-content h1{font-family:var(--font-d);font-size:clamp(2.5rem,6vw,5rem);color:#fff;font-weight:800;line-height:1.05}
.ph-content h1 em{font-style:normal;color:var(--yellow)}

/* ── ABOUT ── */
.about-story{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}
.as-text p{color:var(--mid);line-height:1.82;margin-bottom:1rem}
.as-quote{background:var(--off);border-left:4px solid var(--yellow);padding:1.25rem 1.5rem;font-family:var(--font-d);font-size:1.1rem;font-style:italic;color:var(--navy);line-height:1.65;margin-top:1.5rem;border-radius:0 var(--r) var(--r) 0}
.as-img{height:480px;border-radius:var(--rl);box-shadow:var(--shadow-lg)}
.mvv-strip{background:var(--navy);padding:5rem 0}
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.mvv-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--rl);padding:2.25rem 2rem}
.mvv-card.featured{background:var(--yellow);border-color:var(--yellow)}
.mvv-card.featured h4,.mvv-card.featured p{color:var(--navy)}
.mvv-num{font-family:var(--font-d);font-size:3.5rem;font-weight:800;color:rgba(255,255,255,.08);line-height:1;margin-bottom:.25rem;transition:color .25s}
.mvv-card.featured .mvv-num{color:rgba(11,30,61,.12)}
.mvv-card h4{font-family:var(--font-d);font-size:1.05rem;color:#fff;margin-bottom:.6rem;font-weight:700}
.mvv-card p{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.7}
.full-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
.fs-item{padding:2.5rem 2rem;text-align:center;border-right:1px solid var(--border);background:var(--off)}
.fs-item:last-child{border-right:none}
.fs-num{font-family:var(--font-d);font-size:3rem;font-weight:800;color:var(--navy);line-height:1;display:inline}
.fs-item>span:nth-child(2){font-family:var(--font-d);font-size:1.5rem;font-weight:800;color:var(--yellow)}
.fs-lbl{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--light);margin-top:.4rem}

/* ── SERVICES DETAIL ── */
.svc-detail-list{display:flex;flex-direction:column;gap:4.5rem}
.svc-detail-item{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:center}
.svc-detail-item.rev{direction:rtl}
.svc-detail-item.rev>*{direction:ltr}
.sdi-img{height:420px;border-radius:var(--rl);box-shadow:var(--shadow-lg)}
.sdi-body{}
.sdi-num{font-family:var(--font-d);font-size:5rem;font-weight:800;color:var(--off);line-height:1;margin-bottom:.15rem}
.sdi-tag{font-family:var(--font-d);font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);font-weight:700;margin-bottom:.4rem}
.sdi-body h3{font-family:var(--font-d);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:700;color:var(--navy);margin-bottom:.85rem}
.sdi-body>p{color:var(--mid);line-height:1.82;margin-bottom:1rem}
.sdi-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}
.sdi-list li{font-size:.88rem;color:var(--mid);padding-left:1.2rem;position:relative;line-height:1.55}
.sdi-list li::before{content:'▸';position:absolute;left:0;color:var(--yellow);font-size:.75rem;top:.06rem}

/* ── PROJECTS PAGE ── */
.proj-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}
.pf-btn{font-family:var(--font-b);font-size:.78rem;font-weight:500;background:var(--off);border:1px solid var(--border);color:var(--mid);padding:.45rem 1.1rem;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap}
.pf-btn:hover,.pf-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* ── TEAM ── */
.team-intro{max-width:700px;font-size:1.05rem;color:var(--mid);line-height:1.8;margin-bottom:3.5rem}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}
.tc{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;transition:transform .25s,box-shadow .25s}
.tc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tc-img{height:240px;background-size:cover;background-position:top center;position:relative}
.tc-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(11,30,61,.5),transparent)}
.tc-body{padding:1.25rem}
.tc-body h4{font-family:var(--font-d);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.22rem}
.tc-role{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-weight:700;font-family:var(--font-d)}
.tc-body p{font-size:.83rem;color:var(--mid);line-height:1.6;margin-top:.5rem}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}
.contact-info p{color:var(--mid);line-height:1.78;margin-bottom:2rem}
.ci-items{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:.5rem}
.ci-row{display:flex;gap:1rem;align-items:flex-start}
.ci-ico{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}
.ci-row strong{display:block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:.25rem;font-family:var(--font-d);font-weight:700}
.ci-row a,.ci-row span{display:block;font-size:.9rem;color:var(--mid);transition:color .2s}
.ci-row a:hover{color:var(--navy)}
.contact-form-wrap{}
.contact-form-wrap form{background:var(--off);border:1px solid var(--border);border-radius:var(--rl);padding:2.5rem}
.contact-form-wrap h3{font-family:var(--font-d);font-size:1.5rem;font-weight:700;color:var(--navy);margin-bottom:1.75rem}
.contact-form-wrap h3 em{font-style:normal;color:var(--yellow)}
.cf-row{margin-bottom:1.1rem}
.cf-row.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cf-g{display:flex;flex-direction:column;gap:.35rem}
.cf-g label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--light);font-weight:600;font-family:var(--font-d)}
.cf-g input,.cf-g select,.cf-g textarea{background:#fff;border:1px solid var(--border);border-radius:var(--r);font-family:var(--font-b);font-size:.9rem;color:var(--text);padding:.7rem .95rem;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}
.cf-g input::placeholder,.cf-g textarea::placeholder{color:var(--light);font-size:.85rem}
.cf-g input:focus,.cf-g select:focus,.cf-g textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,30,61,.07)}
textarea{resize:vertical;min-height:130px}
.form-ok{margin-top:1rem;padding:.95rem 1.1rem;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);border-radius:var(--r);color:#065f46;font-size:.88rem}
.form-err{margin-top:1rem;padding:.95rem 1.1rem;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);border-radius:var(--r);color:#b91c1c;font-size:.88rem}
.map-embed{margin-top:1.75rem;border-radius:var(--rl);overflow:hidden;box-shadow:var(--shadow)}

/* ── FOOTER ── */
#footer{background:var(--navy)}
.footer-top{padding:1px 0 0}
.footer-inner{max-width:1400px;margin:0 auto;padding:4.5rem 2rem 3rem;display:grid;grid-template-columns:2fr 1fr 1.2fr 1.4fr;gap:3rem}
.footer-brand p{font-size:.86rem;line-height:1.75;margin-top:1.25rem;max-width:320px;color:rgba(255,255,255,.5)}
.footer-social{display:flex;gap:.6rem;margin-top:1.5rem}
.fso{width:38px;height:38px;border-radius:var(--r);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.8rem;transition:all .2s;cursor:pointer}
.fso:hover{border-color:rgba(255,255,255,.35);color:#fff}
.fso.wa{background:var(--wa);border-color:var(--wa);color:#fff}
.footer-nav h5,.footer-contact h5{font-family:var(--font-d);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,197,24,.7);margin-bottom:1.25rem;font-weight:700}
.footer-nav ul{display:flex;flex-direction:column;gap:.55rem}
.footer-nav ul a{font-size:.86rem;color:rgba(255,255,255,.5);cursor:pointer;transition:color .2s}
.footer-nav ul a:hover{color:var(--yellow)}
.footer-contact p{font-size:.86rem;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:.5rem}
.footer-contact a{color:rgba(255,255,255,.5);transition:color .2s}
.footer-contact a:hover{color:var(--yellow)}
.hours{font-size:.75rem;color:rgba(255,255,255,.35)!important}
.footer-bottom{max-width:1400px;margin:0 auto;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.72rem;color:rgba(255,255,255,.28)}
.footer-bottom a{color:var(--yellow);opacity:.7;transition:opacity .2s}
.footer-bottom a:hover{opacity:1}

/* ── WA FLOAT ── */
.wa-float{position:fixed;bottom:1.75rem;right:1.75rem;z-index:999;width:56px;height:56px;background:var(--wa);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 18px rgba(37,211,102,.4);animation:waPulse 2.5s infinite;transition:transform .25s}
.wa-float:hover{transform:scale(1.12);animation:none;box-shadow:0 8px 30px rgba(37,211,102,.55)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 18px rgba(37,211,102,.4)}50%{box-shadow:0 4px 32px rgba(37,211,102,.65),0 0 0 8px rgba(37,211,102,.1)}}

/* ── SCROLL REVEAL ── */
.r{opacity:0;transform:translateY(20px);transition:opacity .52s ease,transform .52s ease}
.r.on{opacity:1;transform:translateY(0)}
.r:nth-child(2){transition-delay:.07s}
.r:nth-child(3){transition-delay:.14s}
.r:nth-child(4){transition-delay:.21s}
.r:nth-child(5){transition-delay:.28s}
.r:nth-child(6){transition-delay:.35s}
.r:nth-child(7){transition-delay:.42s}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .svcs-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .proj-grid.lg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .hamburger{display:flex}
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(255,255,255,.99);flex-direction:column;padding:.6rem 1rem 1.25rem;gap:.1rem;border-bottom:2px solid var(--border);transform:translateY(-110%);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;z-index:999;pointer-events:none;max-height:calc(100vh - var(--nav-h));overflow-y:auto;backdrop-filter:blur(20px)}
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:all}
  .nav-links li{width:100%}
  .nav-link{display:flex;align-items:center;width:100%;padding:.95rem 1.1rem !important;font-size:.95rem !important;min-height:52px;border-radius:var(--r) !important;-webkit-tap-highlight-color:transparent}
  .nav-cta{margin-top:.5rem !important;justify-content:center;width:100%}
  .hc-content{padding:0 1.5rem}
  .hc-ui{padding:0 1.5rem 1.5rem}
  .hc-idx{display:none}
  .intro-grid,.about-story,.contact-grid{grid-template-columns:1fr}
  .ii-tag{display:none}
  .as-img{height:280px}
  .svc-detail-item,.svc-detail-item.rev{grid-template-columns:1fr;direction:ltr}
  .sdi-img{height:260px}
  .mvv-grid{grid-template-columns:1fr}
  .full-stats{grid-template-columns:1fr 1fr}
  .proj-grid,.proj-grid.lg{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .cta-inner{flex-direction:column}
  .svcs-grid{grid-template-columns:1fr 1fr}
  .stat-item{padding:0 1.5rem}
}
@media(max-width:600px){
  .wrap{padding:3.5rem 1.25rem}
  .hc-title{font-size:clamp(2.5rem,12vw,4rem)}
  .stats-inner{padding:1.75rem 1.25rem}
  .stat-item{padding:0 1rem}
  .si-div{height:36px}
  .proj-grid,.proj-grid.lg,.why-grid,.svcs-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .cf-row.two{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:2rem;padding:3rem 1.25rem 2rem}
  .full-stats{grid-template-columns:1fr 1fr}
  .fs-item{padding:2rem 1rem}
}