/* ============================================================
   NJ VISUALS — style.css  |  Exact design replica
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ── Variables ── */
:root {
  --bg:         #0B0B0B;
  --bg2:        #151515;
  --bg3:        #111111;
  --light:      #F5F0E8;   /* legacy section bg */
  --text:       #F2F2F2;
  --text-dim:   #B8B8B8;
  --text-dark:  #1a1a1a;   /* text on light bg */
  --gold:       #C6A86E;
  --gold-h:     #D8BB82;
  --gold-dim:   rgba(198,168,110,.20);
  --border:     rgba(198,168,110,.18);

  --fh:  'Playfair Display', Georgia, serif;
  --fb:  'Inter', system-ui, sans-serif;

  --nav-h: 72px;
  --r:     2px;
  --ease:  .38s cubic-bezier(.25,.46,.45,.94);
  --mw:    1300px;

  /* Glass system */
--glass-bg: rgba(255,255,255,0.04);
--glass-border: rgba(255,255,255,0.08);
--glass-blur: blur(18px);
--glass-highlight: rgba(255,255,255,0.06);

/* MOTION SYSTEM */
--ease-out: cubic-bezier(.22,1,.36,1);
--ease-smooth: cubic-bezier(.25,.46,.45,.94);
--ease-bounce: cubic-bezier(.34,1.56,.64,1);

--dur-fast: 180ms;
--dur-med: 320ms;
--dur-slow: 600ms;

}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--fb);
  font-size:15px;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  position:relative;

}

/* === GLOBAL LIGHT SYSTEM === */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;

  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.05), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(198,168,110,0.08), transparent 60%);
}

/* === NOISE TEXTURE === */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.04;
  mix-blend-mode:overlay;
  background-image:url("https://www.transparenttextures.com/patterns/asfalt-light.png");
}


img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}

/* ── Scroll reveal ── */
.reveal{opacity:0;transform:translateY(40px) scale(.98); filter:blur(6px);transition:opacity var(--dur-slow),transform var(--dur-slow) , filter var(--dur-slow) var(--ease-out);}
.reveal.visible{opacity:1;transform:translateY(0) scale(1); filter:blur(0);}
.reveal-delay-1{transition-delay: 80ms;}
.reveal-delay-2{transition-delay: 160ms;}
.reveal-delay-3{transition-delay: 240ms;}
.reveal-delay-4{transition-delay: 320ms;}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* ─── IMPROVING MOBILE TEXT RENDERING ─── */
@supports (font-size: clamp(1px, 1vw, 100px)) {
  body { font-size: clamp(14px, 2.1vw, 16px); }
}

/* ============================================================
   LOADER — Premium pulse animation (mobile-safe)
   ============================================================ */

/* PREMIUM GLASS EFFECT */
.glass {
  background: linear-gradient(
    145deg,
    rgba(255,255,255,0.06),
    rgba(255,255,255,0.02)
  );
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 20px 50px rgba(0,0,0,0.5);
}
.glass::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent 30%,
    rgba(255,255,255,0.25),
    transparent 70%
  );
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}

.glass:hover::before {
  opacity:0.6;
}

.loader{
  position:fixed;top:0;left:0;right:0;bottom:0;
  z-index:9999;
  background:var(--bg);
  display:flex;justify-content:center;align-items:center;
  transition:opacity .5s ease,visibility .5s ease;
  opacity:1;visibility:visible;
}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-container{width:100%;display:flex;justify-content:center;align-items:center;padding:20px}
.loader-logo{
  width:clamp(120px,25vw,200px);
  height:auto;
  max-width:90%;
  position:relative;
  animation:pulse 2s infinite ease-in-out;
}
@keyframes pulse{
  0%{opacity:0.5;transform:scale(0.98)}
  50%{opacity:1;transform:scale(1)}
  100%{opacity:0.5;transform:scale(0.98)}
}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  display:flex;align-items:center;
  padding:0 52px;gap:36px;
  background:transparent;
  transition:background .4s ease,box-shadow .4s ease;
}
.navbar.scrolled{background:var(--bg);box-shadow:0 1px 0 var(--border)}

.nav-logo{display:flex;align-items:baseline;gap:5px;flex-shrink:0}
.logo-nj{font-family:var(--fh);font-size:1.75rem;font: weight 1000;color:var(--gold);letter-spacing:.04em;line-height:2}
.logo-tag{font-family:var(--fb);font-size:.58rem;font-weight:600;letter-spacing:.28em;color:var(--text-dim);text-transform:uppercase;padding-bottom:2px}

.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto}
.nav-link{font-family:var(--fb);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text);position:relative;transition:color var(--ease)}
.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--ease)}
.nav-link:hover,.nav-link.active{color:var(--gold)}
.nav-link:hover::after,.nav-link.active::after{width:100%}

.btn-nav-cta{
  margin-left:14px;padding:9px 22px;
  background:var(--gold);color:var(--bg);
  font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  border-radius:var(--r);border:1px solid var(--gold);
  transition:background var(--ease),transform var(--ease);
}
.btn-nav-cta:hover{background:var(--gold-h);transform:translateY(-1px)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;margin-left:auto;padding:5px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--text);transition:transform .3s,opacity .3s}
.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)}

.mobile-nav{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;
  background:var(--bg);border-top:1px solid var(--border);
  padding:32px 36px 40px;z-index:999;
  flex-direction:column;gap:24px;
  opacity:0;transform:translateY(-6px);
  transition:opacity .3s,transform .3s;
}
.mobile-nav.open{display:flex;opacity:1;transform:translateY(0)}
.mobile-nav .nav-link{font-size:.9rem}
.mobile-nav .btn-primary{align-self:flex-start;margin-top:8px}

/* ============================================================
   BUTTONS (shared)
   ============================================================ */
.btn-primary{
  display:inline-block;padding:13px 32px;
  background: linear-gradient(
  145deg,
  #D8BB82,
  #C6A86E
);
box-shadow:
  inset 0 1px 0 rgba(255,255,255,0.3),
  0 10px 30px rgba(198,168,110,0.3);
  font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  border-radius:var(--r);border:1px solid var(--gold);
  transition:background var(--ease),transform var(--ease);
}
.btn-primary:hover{background:var(--gold-h);transform:translateY(-2px)}

/* ============================================================
   HERO — Split two-panel
   ============================================================ */
.hero{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  min-height:100svh;
  background:var(--bg);
}

/* BACKGROUND IMAGE */
.hero-bg{
  position:relative;
  grid-column:1;grid-row:1;
  overflow:hidden;
  min-height:calc(100svh - 56px); /* minus stats bar */
}
.hero-img-bg{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{
  position:absolute;inset:0;
  background: radial-gradient(
  circle at 60% 40%,
  rgba(198,168,110,0.12),
  transparent 60%
),
linear-gradient(
  110deg,
  rgba(11,11,11,.85),
  rgba(11,11,11,.4)
);
}

/* Hero text sits on top of background overlay */
.hero-content{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;
  padding:var(--nav-h) 60px 80px 60px;
  z-index:2;
  animation:fadeUp .9s .15s both;
}
.hero-logo{margin-bottom:16px}
.hero-logo img{width:130px;height:auto;display:block;object-fit:contain}
.hero-title{
  font-family:var(--fh);
  font-size:clamp(36px,5.8vw,68px);
  font-weight:900;
  line-height:1.02;
  letter-spacing:-0.015em;
  text-shadow: 0 2px 10px rgba(198,168,110,0.2), 0 10px 40px rgba(198,168,110,0.15);
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:20px;
}
.hero-tagline{
  font-family:var(--fb);
  font-size:clamp(13px,1.2vw,16px);
  font-weight:400;
  color:var(--text-dim);
  line-height:1.65;
  margin-bottom:24px;
}
.hero-logo{
  display:block;
  margin: 0%;
  max-width:180px;
  height:auto;
}
.hero-body{
  font-family:var(--fb);
  font-size:13px;font-weight:400;
  color:var(--text-dim);
  line-height:1.7;
  margin-bottom:36px;
  max-width:480px;
}
.hero-btns{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.hero-socials{display:flex;gap:14px;margin:14px auto 0;justify-content:center}
.hero-socials a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);transition:transform var(--ease),color var(--ease),border-color var(--ease)}
.hero-socials a:hover{color:var(--bg);border-color:var(--gold);background:var(--gold);transform:translateY(-2px)}

/* Hero buttons — match design exactly */
.btn-hero-primary{
  display:inline-block;padding:12px 28px;
  background:var(--gold);color:var(--bg);
  font-family:var(--fb);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  border-radius:var(--r);border:1px solid var(--gold);
  transition:background var(--ease),transform var(--ease);
}
.btn-hero-primary:hover{background:var(--gold-h);transform:translateY(-2px)}

.btn-hero-outline{
  display:inline-block;padding:12px 28px;
  background:transparent;color:var(--text);
  font-family:var(--fb);font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  border-radius:var(--r);border:1px solid rgba(242,242,242,.4);
  transition:border-color var(--ease),color var(--ease),transform var(--ease);
}
.btn-hero-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

/* STATS BAR — full gold, full width */
.hero-stats{
  grid-column:1;grid-row:2;
  background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0;
  padding:14px 60px;
}
.stats-item{
  display:flex;align-items:baseline;gap:5px;
  padding:0 28px;
  font-family:var(--fb);
  font-size:12px;font-weight:400;
  color:var(--bg);
  letter-spacing:.08em;text-transform:uppercase;
  white-space:nowrap;
}
.stats-item strong{font-weight:700;font-size:14px;letter-spacing:.04em}
.stats-num{font-weight:700;font-size:14px}
.stats-sep{
  font-family:var(--fb);font-size:14px;font-weight:300;
  color:rgba(11,11,11,.4);
  padding:0 4px;
  flex-shrink:0;
}
.stats-highlight{
  font-family:var(--fb);font-size:12px;font-weight:700;
  color:var(--bg);letter-spacing:.1em;
  text-transform:uppercase;padding:0 28px;
  white-space:nowrap;
}

/* ============================================================
   CHOOSE YOUR LEGACY — Light background
   ============================================================ */
.legacy-section{
  background:var(--bg);
  padding:80px 60px 90px;
}
.legacy-wrap{max-width:var(--mw);margin:0 auto}

.legacy-heading{
  font-family:var(--fh);
  font-size:clamp(24px,3.2vw,38px);
  font-weight:800;
  color:var(--text);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin-bottom:48px;
}

.trusted-section {
  background: #0d0d0d;
  padding: 80px 20px;
  text-align: center;
}

.trusted-wrap h2 {
  font-family:var(--fh);
  color:var(--gold);
  font-size:clamp(34px, 6vw, 72px);
  line-height:1.1;
  letter-spacing:.004em;
  text-transform:uppercase;
  margin:0 auto;
  max-width:960px;
}

.why-nj-section {
  background: #0b0b0b;
  padding: 80px 20px 120px;
  text-align: center;
}

.why-nj-wrap {
  max-width: 960px;
  margin: 0 auto;
}

.why-rotator {
  position: relative;
  height: 96px;
  overflow: hidden;
  margin: 24px auto 0;
  width: min(100%, 920px);
}

.why-rotator-line {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(100%);
  transition: transform .45s ease, opacity .45s ease;
  font-family:var(--fh);
  font-size:clamp(24px, 6vw, 50px);
  line-height:1.1;
  color: var(--text);
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

.why-rotator-line.visible {
  opacity: 1;
  transform: translateY(0);
}

.why-rotator-line.exit {
  opacity: 0;
  transform: translateY(-100%);
}

.services-section {
  background: #0d0d0d;
}

.services-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.service-row {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 48px 40px 48px 32px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  position: relative;
  min-height: 220px;
}
.service-row:last-child { border-bottom: none; }

/* Number */
.service-num {
  font-family: 'Bebas Neue', sans-serif; /* or your display font */
  font-size: 13px;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.3);
  min-width: 32px;
  align-self: flex-start;
  padding-top: 4px;
}

/* Text block */
.service-content {
  flex: 1;
  padding: 0 32px 0 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}

.service-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(22px, 3vw, 38px);
  color: #ffffff;
  letter-spacing: 2px;
  line-height: 1.1;
  margin: 0 0 10px;
}

.service-desc {
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 1.7;
  margin: 0 0 18px;
}

.service-icons {
  display: flex;
  gap: 12px;
  margin-bottom: 0;
}

.service-icon {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-icon svg {
  width: 14px;
  height: 14px;
  stroke: rgba(255,255,255,0.45);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* CTA */
.service-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  text-decoration: none;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 10px 22px;
  align-self: flex-start;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.service-cta .arrow { transition: transform 0.3s; }
.service-cta:hover { background: #fff; color: #0d0d0d; border-color: #fff; }
.service-cta:hover .arrow { transform: translateX(5px); }

/* Photo mosaic */
.service-photos {
  width: 470px;
  flex-shrink: 0;
  display: grid;
  grid-template-columns: repeat(4, 2fr);
  grid-template-rows: repeat(3, 2fr);
  gap: 1px;
  height: 300px;
}

.photo-slot {
  border-radius: 6px;
  overflow: hidden;
  background: #1a1a1a;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
  transition: transform .35s ease, box-shadow .35s ease;
}

.photo-slot:first-child {
  grid-column: 1 / span 2;
  grid-row: 1 / span 2;
}

.photo-slot:hover { transform: translateY(-4px) scale(1.01); box-shadow: 0 8px 20px rgba(0,0,0,.35); }

.photo-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85);
  transition: transform .6s ease;
}

.photo-slot:hover img { transform: scale(1.08); }

/* ============================================================
   PORTFOLIO — Dark, filter tabs + grid
   ============================================================ */
.portfolio-section{
  background:var(--bg2);
  padding:72px 60px 80px;
}
.portfolio-wrap{max-width:var(--mw);margin:0 auto}

/* Filter tabs */
.port-filters{
  display:flex;align-items:center;justify-content:center;
  gap:0;margin-bottom:36px;
}
.port-filter{
  font-family:var(--fb);font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-dim);
  padding:8px 20px;
  position:relative;
  transition:color var(--ease);
}
.port-filter:hover{color:var(--text)}
.port-filter.active{color:var(--text);font-weight:600}
.port-filter-sep{
  font-family:var(--fb);font-size:13px;
  color:rgba(184,184,184,.35);
  pointer-events:none;user-select:none;
}

/* Grid — exact asymmetric layout from design:
   3 columns, left col tall, right 2 cols in 3 rows */
.port-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:260px 220px 220px;
  gap:8px;
}

/* Item 1 spans full left column height (rows 1-3) */
.port-item:nth-child(1){ grid-column:1; grid-row:1/4; }
/* Items 2-7 fill remaining 2 cols × 3 rows */
.port-item:nth-child(2){ grid-column:2; grid-row:1; }
.port-item:nth-child(3){ grid-column:3; grid-row:1; }
.port-item:nth-child(4){ grid-column:2; grid-row:2; }
.port-item:nth-child(5){ grid-column:3; grid-row:2; }
.port-item:nth-child(6){ grid-column:2; grid-row:3; }
.port-item:nth-child(7){ grid-column:3; grid-row:3; }

.port-item{
  position:relative;
  border-radius:var(--r);
  overflow:hidden;
  cursor:pointer;
  background:var(--glass-bg);
  backdrop-filter: blur(12px);
}
.port-item img{
  object-fit:cover;
  filter: contrast(1.05) brightness(0.95);
  transition: transform .7s ease, filter .7s ease;
}

.port-item:hover img{
  transform: scale(1.08);
  filter: contrast(1.1) brightness(1);
}

.port-item::after{
  background:linear-gradient(to top,rgba(11,11,11,.85),transparent),
             linear-gradient(circle at 60% 40%,rgba(255,255,255,.0.12),transparent 60%);
  transition:opacity var(--ease);
}
.port-item:hover::after{opacity:1;}

.port-overlay{
  position:absolute;bottom:0;left:0;right:0;
  z-index:2;padding:16px 16px 18px;
}
.port-info h4{
  font-family:var(--fh);font-size:.9rem;font-weight:600;
  color:var(--text);margin-bottom:4px;
}
.port-info p{
  font-family:var(--fb);font-size:11px;font-weight:400;
  color:var(--text-dim);line-height:1.5;
}
.port-label-tag{
  font-family:var(--fb);font-size:11px;font-weight:500;
  color:var(--text);background:rgba(11,11,11,.6);
  display:inline-block;padding:4px 8px;border-radius:2px;
  line-height:1.4;
}

.port-item.hidden{display:none}

/* ============================================================
   REVIEWS / VIDEO TESTIMONIALS + NJ METHOD
   ============================================================ */
.reviews-section{
  background:var(--bg);
  padding:72px 60px 80px;
}
.reviews-wrap{max-width:var(--mw);margin:0 auto}

/* Circular thumbnails row */
.vt-row{
  display:flex;align-items:center;justify-content:center;
  gap:20px;margin-bottom:60px;
}
.vt-thumb{
  position:relative;
  width:100px;height:100px;
  border-radius:50%;overflow:hidden;
  border:2px solid var(--border);
  flex-shrink:0;
  transition:border-color var(--ease),transform var(--ease);
}
.vt-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vt-thumb:hover{border-color:var(--gold);transform:scale(1.06)}
.vt-thumb:hover img{transform:scale(1.08)}
.vt-thumb.vt-large{width:120px;height:120px}

.vt-play-icon{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(11,11,11,.45);
  color:var(--gold);
  transition:background var(--ease);
}
.vt-thumb:hover .vt-play-icon{background:rgba(11,11,11,.60)}

/* Two columns below thumbnails */
.reviews-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}

/* LEFT: Hindi quote + headline + review quote */

.hindi-quote{
  font-family:var(--fh);
  font-size:clamp(16px,1.8vw,22px);
  font-weight:400;font-style:italic;
  color:var(--gold);
  margin-bottom:14px;
  line-height:1.4;
}
.reviews-headline{
  font-family:var(--fh);
  font-size:clamp(26px,3.5vw,42px);
  font-weight:900;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:1.05;
  margin-bottom:24px;
}
.reviews-quote{
  font-family:var(--fh);
  font-size:clamp(14px,1.6vw,20px);
  font-weight:400;font-style:italic;
  color:var(--text);
  line-height:1.6;
  quotes:none;
  border-left:2px solid var(--gold);
  padding-left:18px;
}

/* RIGHT: NJ Method */
.reviews-right{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:36px 32px 40px;
}
.method-label{
  font-family:var(--fb);font-size:13px;font-weight:400;
  color:var(--text-dim);
  line-height:1.6;
  margin-bottom:28px;
  border-bottom:1px solid var(--border);
  padding-bottom:20px;
}
.method-label strong{
  font-weight:600;color:var(--text);
}
.method-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.method-step{
  display:flex;flex-direction:column;gap:6px;
}
.method-step-title{
  font-family:var(--fb);font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--text);
  display:block;
}
.method-step-desc{
  font-family:var(--fb);font-size:11px;font-weight:400;
  color:var(--text-dim);
  display:block;line-height:1.5;
}


/* ============================================================
   AI MODIFICATIONs
   ============================================================ */


/* FILM GRAIN TEXTURE */
.texture-noise::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("https://www.transparenttextures.com/patterns/asfalt-light.png");
  opacity:0.05;
  pointer-events:none;
  mix-blend-mode:overlay;
}

.depth-1 { box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.depth-2 { box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.depth-3 { box-shadow: 0 20px 60px rgba(0,0,0,.5); }



* {
  transition:
    background-color var(--dur-med) var(--ease-smooth),
    border-color var(--dur-med) var(--ease-smooth),
    transform var(--dur-med) var(--ease-out),
    opacity var(--dur-med) ease;
}

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section{
  position:relative;
  padding:120px 60px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:var(--bg);
}
.cta-bg{position:absolute;inset:0}
.cta-bg img{opacity:.35}
.cta-overlay{position:absolute;inset:0;background:rgba(11,11,11,.72)}

.cta-content{
  position:relative;z-index:2;
  text-align:center;
}
.cta-eyebrow{
  font-family:var(--fb);font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;display:block;
}
.cta-headline{
  font-family:var(--fh);
  font-size:clamp(32px,5.5vw,66px);
  font-weight:900;color:var(--gold);
  text-transform:uppercase;
  letter-spacing:-.02em;line-height:1.0;
  margin-bottom:14px;
}
.cta-sub{
  font-family:var(--fb);font-size:13px;font-weight:400;
  color:var(--text-dim);letter-spacing:.08em;
  margin-bottom:36px;display:block;
}
.cta-btns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  width:min(640px,100%);
  margin:0 auto 9px;
}
.btn-cta,
.btn-whatsapp{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 24px;
  font-family:var(--fb);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:var(--r);
  border:1px solid transparent;
  transition:background var(--ease),transform var(--ease),filter var(--ease),border-color var(--ease);
}
.btn-cta{
  background:var(--gold);
  color:var(--bg);
  border-color:var(--gold);
}
.btn-cta:hover{background:var(--gold-h);transform:translateY(-2px)}
.btn-whatsapp{
  background:#F8FBF6;
  color:#179F4B;
  border-color:rgba(23,159,75,.15);
}
.btn-whatsapp:hover{background:#eff7ef;transform:translateY(-2px);filter:brightness(1.01)}
.btn-whatsapp svg{display:block;width:18px;height:18px;fill:currentColor}
.cta-note{
  font-family:var(--fb);font-size:11px;font-weight:400;
  color:var(--text-dim);letter-spacing:.06em;display:block;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  background:var(--bg);
  border-top:1px solid var(--border);
}
.footer-inner{
  max-width:var(--mw);margin:0 auto;
  padding:64px 60px 44px;
  display:grid;
  grid-template-columns:1.2fr 1.2fr 1fr 0.8fr;
  gap:48px;
}

/* Logo — matches "Rau" style from design: large serif */
.footer-logo{
  font-family:var(--fh);
  font-size:3rem;font-weight:400;
  color:var(--text);
  letter-spacing:-.01em;
  margin-bottom:12px;
}
.footer-tagline{
  font-family:var(--fb);font-size:12px;font-weight:400;
  color:var(--text-dim);line-height:1.75;
}

.footer-h{
  font-family:var(--fb);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.footer-list{display:flex;flex-direction:column;gap:10px}
.footer-list li{font-family:var(--fb);font-size:12px;font-weight:400;color:var(--text-dim)}
.footer-list a{color:var(--text-dim);transition:color var(--ease)}
.footer-list a:hover{color:var(--gold)}

.footer-socials{display:flex;gap:14px;margin-top:4px}
.footer-socials a{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;
  border:1px solid var(--border);border-radius:50%;
  color:var(--text-dim);
  transition:border-color var(--ease),color var(--ease),transform var(--ease);
}
.footer-socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

.footer-bottom{
  border-top:1px solid var(--border);
  padding:20px 60px;text-align:center;
}
.footer-copy{
  font-family:var(--fb);font-size:11px;font-weight:400;
  color:var(--text-dim);letter-spacing:.08em;opacity:.5;
}

/* ============================================================
   CAREERS PAGE
   ============================================================ */
.careers-section{
  background:var(--bg2);
  padding:80px 60px;
  min-height:70vh;
}
.careers-wrap{max-width:var(--mw);margin:0 auto;text-align:center}

.careers-heading{
  font-family:var(--fh);
  font-size:clamp(28px,4vw,48px);
  font-weight:800;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:-.02em;
  margin-bottom:16px;
}
.careers-intro{
  font-family:var(--fb);font-size:16px;font-weight:400;
  color:var(--text-dim);line-height:1.6;
  margin-bottom:48px;max-width:600px;margin-left:auto;margin-right:auto;
}

.jobs-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}
.job-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:32px 24px;
  text-align:left;
  transition:transform var(--ease),border-color var(--ease);
}
.job-card:hover{transform:translateY(-2px);border-color:var(--gold)}
.job-title{
  font-family:var(--fh);font-size:1.25rem;font-weight:700;
  color:var(--text);margin-bottom:8px;
}
.job-desc{
  font-family:var(--fb);font-size:14px;font-weight:400;
  color:var(--text-dim);line-height:1.5;margin-bottom:20px;
}
.btn-job-apply{
  background:var(--gold);color:var(--bg);
  font-family:var(--fb);font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--gold);border-radius:var(--r);
  padding:10px 20px;
  transition:background var(--ease),transform var(--ease);
}
.btn-job-apply:hover{background:var(--gold-h);transform:translateY(-1px)}

/* ============================================================
   APPLICATION MODAL
   ============================================================ */
.apply-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center}
.apply-modal[hidden]{display:none}
.apply-modal-bg{position:absolute;inset:0;background:rgba(11,11,11,.92);backdrop-filter:blur(8px);cursor:pointer}
.apply-modal-box{position:relative;z-index:2;width:min(500px,90vw);background:var(--bg);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.apply-modal-close{position:absolute;top:12px;right:12px;z-index:3;color:var(--text-dim);padding:6px;transition:color var(--ease)}
.apply-modal-close:hover{color:var(--gold)}
.apply-modal-body{padding:32px}

.apply-modal-body h2{
  font-family:var(--fh);font-size:1.5rem;font-weight:700;
  color:var(--text);margin-bottom:24px;text-align:center;
}
.form-group{margin-bottom:20px}
.form-group label{
  display:block;font-family:var(--fb);font-size:14px;font-weight:500;
  color:var(--text);margin-bottom:6px;
}
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="file"]{
  width:100%;padding:10px 12px;
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r);color:var(--text);
  font-family:var(--fb);font-size:14px;
  transition:border-color var(--ease);
}
.form-group input:focus{border-color:var(--gold);outline:none}

.radio-group{display:flex;gap:16px;flex-wrap:wrap}
.radio-group label{
  display:flex;align-items:center;gap:6px;
  font-family:var(--fb);font-size:14px;font-weight:400;
  color:var(--text);cursor:pointer;
}
.radio-group input[type="radio"]{margin:0}

.btn-submit{
  width:100%;padding:12px;
  background:var(--gold);color:var(--bg);
  font-family:var(--fb);font-size:14px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--gold);border-radius:var(--r);
  transition:background var(--ease),transform var(--ease);
  margin-top:8px;
}
.btn-submit:hover{background:var(--gold-h);transform:translateY(-1px)}

.thank-you{text-align:center;padding:20px 0}
.thank-you h3{
  font-family:var(--fh);font-size:1.25rem;font-weight:700;
  color:var(--gold);margin-bottom:8px;
}
.thank-you p{
  font-family:var(--fb);font-size:14px;color:var(--text-dim);
}
.v-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center}
.v-modal[hidden]{display:none}
.v-modal-bg{position:absolute;inset:0;background:rgba(11,11,11,.92);backdrop-filter:blur(8px);cursor:pointer}
.v-modal-box{position:relative;z-index:2;width:min(820px,92vw);background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.v-modal-close{position:absolute;top:12px;right:12px;z-index:3;color:var(--text-dim);padding:6px;transition:color var(--ease)}
.v-modal-close:hover{color:var(--gold)}
.v-modal-body{aspect-ratio:16/9;background:#000}
.v-modal-body iframe{width:100%;height:100%;border:none}

/* Image Lightbox Modal */
.image-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center}
.image-modal[hidden]{display:none}
.image-modal-bg{position:absolute;inset:0;background:rgba(11,11,11,.92);backdrop-filter:blur(8px);cursor:pointer}
.image-modal-box{position:relative;z-index:2;width:min(95vw,920px);max-height:min(90vh,90vw);background:transparent;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.image-modal-img{width:100%;height:auto;max-width:100%;max-height:90vh;object-fit:contain;display:block;border-radius:8px}
.image-modal-close{position:absolute;top:10px;right:10px;z-index:3;color:#fff;background:rgba(0,0,0,.45);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;cursor:pointer;transition:transform .2s ease,color .2s ease}
.image-modal-close:hover{transform:scale(1.08);color:var(--gold)}

.booking-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .28s ease both}
.booking-modal[hidden]{display:none}
.booking-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(6px);cursor:pointer}
.booking-modal-box{position:relative;z-index:2;width:min(560px,92vw);max-height:min(90vh,760px);background:#0b0b0b;border:1px solid #3a2c10;border-radius:12px;overflow:auto;box-shadow:0 14px 40px rgba(0,0,0,.55);animation:modalScaleIn .25s ease both}
.booking-modal-close{position:absolute;top:14px;right:14px;font-size:18px;font-weight:700;color:#ded3b8;background:rgba(255,255,255,.08);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,color .2s ease}
.booking-modal-close:hover{transform:scale(1.08);color:#fff}
.booking-modal-content{padding:30px 24px 26px;color:#f2f0ea}
.booking-modal-content h2{font-family:var(--fh);font-size:1.48rem;margin-bottom:6px;color:#d4af37;letter-spacing:.02em}
.booking-modal-subtitle{font-size:13px;color:#ccc;margin-bottom:18px}
.booking-whatsapp-btn{width:100%;padding:13px 16px;background:#d4af37;color:#0b0b0b;border:none;border-radius:7px;font-family:var(--fb);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;transition:transform .2s ease,filter .2s ease;cursor:pointer}
.booking-whatsapp-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.booking-divider{margin:16px 0 14px;text-align:center;color:#ad9771;font-size:12px;font-weight:600;letter-spacing:.08em}
.booking-divider span{display:inline-block;padding:0 16px;background:#0b0b0b;position:relative;z-index:1}
.booking-divider::before{content:'';position:absolute;top:50%;left:14px;right:14px;height:1px;background:rgba(212,175,55,.28);transform:translateY(-50%);z-index:0}
.booking-form{display:grid;gap:12px}
.booking-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#ccc}
.booking-field label{font-size:12px;color:#bbb}
.booking-field input,.booking-field select,.booking-field textarea{background:#111;border:1px solid #4c472c;border-radius:6px;color:#f5f0e8;padding:10px 11px;font-family:var(--fb);font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.booking-message{min-height:80px}
.booking-feedback{min-height:22px;font-size:13px;margin-top:4px;color:#e0b96a}
.booking-feedback.error{color:#f19696}
.booking-feedback.success{color:#9fdb9f}
.booking-submit-btn{margin-top:6px;width:100%;padding:12px 14px;background:#d4af37;color:#070700;font-family:var(--fb);font-weight:700;font-size:13px;text-transform:uppercase;border-radius:6px;border:1px solid #b4943e;transition:transform .2s ease,filter .2s ease}
.booking-submit-btn:hover{transform:translateY(-1px) scale(0.96);filter:brightness(1.06)}

@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalScaleIn{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}




/* ============================================================
   RESPONSIVE — TABLET ≤ 1024px (iPad / Medium Screens)
   ============================================================ */
@media(max-width:1024px){
  .navbar{
    padding:0 28px;
    gap:20px;
  }
  .nav-links,.btn-nav-cta{display:none}
  .hamburger{display:flex}

  .hero{grid-template-columns:1fr}
  .hero-bg{min-height:100svh}
  .hero-content{
    padding:var(--nav-h) 36px 90px;
    gap:16px;
  }
  .hero-title{font-size:clamp(32px,5.2vw,56px)}
  .hero-tagline{font-size:clamp(13px,2vw,15px)}
  
  .hero-stats{
    grid-column:1;
    padding:14px 28px;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-start;
  }
  .stats-item{padding:0 12px}
  .stats-sep{display:none}
  .stats-highlight{padding:0 12px}

  .legacy-section{padding:60px 36px 70px}
  .legacy-grid{grid-template-columns:1fr 1fr;gap:16px}
  .legacy-grid .legacy-card:nth-child(3){
    grid-column:1/3;
    max-width:400px;
    justify-self:center;
  }
  .legacy-heading{font-size:clamp(26px,3.5vw,36px)}

  .service-row{
    flex-direction:column;
    align-items:flex-start;
    padding:36px 32px;
    gap:20px;
  }
  .service-content{padding:0}
  .service-title{font-size:clamp(20px,2.8vw,32px)}
  .service-photos{
    width:100%;
    height:auto;
    grid-template-columns:repeat(3, minmax(0,1fr));
    grid-template-rows:auto auto;
  }

  .portfolio-section{padding:60px 36px 70px}
  .careers-section{padding:60px 36px}
  .jobs-list{grid-template-columns:1fr}
  .port-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(4,200px);
  }
  .port-item:nth-child(1){grid-column:1;grid-row:1/3}
  .port-item:nth-child(2){grid-column:2;grid-row:1}
  .port-item:nth-child(3){grid-column:2;grid-row:2}
  .port-item:nth-child(4){grid-column:1;grid-row:3}
  .port-item:nth-child(5){grid-column:2;grid-row:3}
  .port-item:nth-child(6){grid-column:1;grid-row:4}
  .port-item:nth-child(7){grid-column:2;grid-row:4}

  .reviews-section{padding:60px 36px 70px}
  .vt-row{gap:16px}
  .vt-thumb{width:88px;height:88px}
  .reviews-cols{grid-template-columns:1fr;gap:36px}
  .hindi-quote{font-size:clamp(15px,2vw,20px)}
  .reviews-headline{font-size:clamp(26px,3vw,38px)}
  .reviews-quote{font-size:clamp(13px,1.8vw,18px)}
  .method-row{grid-template-columns:repeat(2,1fr)}
  .method-step-title{font-size:11px}
  .method-step-desc{font-size:11px}

  .cta-section{
    padding:90px 36px;
  }
  .cta-eyebrow{font-size:11px}
  .cta-headline{font-size:clamp(36px,4.5vw,56px)}
  .cta-sub{font-size:13px}
  .cta-btns{grid-template-columns:repeat(2,1fr)}

  .footer-inner{
    grid-template-columns:repeat(2,1fr);
    gap:40px;
    padding:52px 36px 36px;
  }
  .footer-logo{font-size:2.8rem}
  .footer-h{font-size:11px}
  .footer-list{gap:10px}
  .footer-list li{font-size:12px}
  
  .trusted-section{padding:70px 36px}
  .trusted-wrap h2{font-size:clamp(32px,4.5vw,56px)}
  
  .why-nj-section{padding:70px 36px 110px}
  .why-rotator-line{font-size:clamp(26px,4vw,44px)}

  .footer-bottom{
    padding:18px 36px;
    font-size:11px;
  }
}

/* ============================================================
   RESPONSIVE — MEDIUM TABLET ≤ 800px (Smooth Transition)
   ============================================================ */
@media(max-width:800px){
  .navbar{padding:0 24px}
  .hero-content{padding:var(--nav-h) 32px 80px}
  .hero-title{font-size:clamp(30px,4.8vw,48px)}
  .legacy-section{padding:56px 32px 64px}
  .services-wrap{gap:20px}
  .service-row{padding:32px 28px;gap:18px}
  .service-title{font-size:clamp(19px,2.6vw,30px)}
  .portfolio-section{padding:56px 32px 64px}
  .port-grid{grid-template-rows:repeat(4,180px)}
  .reviews-section{padding:56px 32px 64px}
  .cta-section{padding:80px 32px}
  .footer-inner{gap:36px;padding:48px 32px 32px}
  .footer-bottom{padding:16px 32px}
  .trusted-section{padding:64px 32px}
  .why-nj-section{padding:64px 32px 100px}
}

/* ============================================================
   RESPONSIVE — MOBILE ≤ 640px (Mobile-First Enhanced)
   ============================================================ */
@media(max-width:640px){
  :root{--nav-h:60px}
  
  /* ─── NAVBAR ─── */
  .navbar{padding:0 16px;gap:12px}
  .nav-logo{gap:4px}
  .logo-nj{font-size:1.4rem}
  .logo-tag{font-size:0.5rem}
  .hamburger{display:flex}

  /* ─── HERO SECTION ─── */
  .hero-content{
    padding:var(--nav-h) 18px 80px 18px;
    gap:14px;
  }
  .hero-title{
    font-size:clamp(28px,7vw,48px);
    line-height:1.05;
    margin-bottom:12px;
    letter-spacing:-0.01em;
  }
  .hero-tagline{
    font-size:clamp(12px,3vw,14px);
    margin-bottom:18px;
  }
  .hero-logo{max-width:120px}
  .hero-btns{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    width:100%;
  }
  .btn-hero-primary{
    width:100%;
    padding:14px 24px;
    text-align:center;
  }
  .btn-hero-outline{
    width:100%;
    padding:14px 24px;
    text-align:center;
  }
  .hero-socials{
    gap:12px;
    margin-top:12px;
  }
  .hero-socials a{width:36px;height:36px}

  /* ─── STATS BAR ─── */
  .hero-stats{
    padding:14px 16px;
    gap:4px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .stats-item{
    padding:0 10px;
    font-size:11px;
  }
  .stats-item strong{font-size:13px}
  .stats-highlight{
    padding:0 10px;
    font-size:10px;
    width:100%;
    text-align:center;
  }
  .stats-sep{display:none}

  /* ─── LEGACY SECTION ─── */
  .legacy-section{padding:48px 16px 56px}
  .legacy-heading{
    font-size:clamp(22px,5.5vw,32px);
    margin-bottom:36px;
  }
  .legacy-grid{grid-template-columns:1fr}
  .legacy-grid .legacy-card{padding:28px}
  .legacy-grid .legacy-card:nth-child(3){
    grid-column:auto;
    max-width:100%;
    justify-self:auto;
  }

  /* ─── SERVICES SECTION ─── */
  .services-wrap{gap:16px}
  .service-row{
    flex-direction:column;
    align-items:flex-start;
    padding:28px 18px;
    min-height:auto;
    gap:18px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .service-row:last-child{border-bottom:none}
  .service-num{
    font-size:12px;
    min-width:24px;
  }
  .service-content{
    padding:0;
    width:100%;
    gap:16px;
  }
  .service-title{
    font-size:clamp(18px,4.5vw,28px);
    line-height:1.15;
    margin:0 0 8px;
  }
  .service-desc{
    font-size:10px;
    margin:0 0 12px;
  }
  .service-cta{
    padding:11px 18px;
    font-size:10px;
  }
  .service-photos{
    width:100%;
    height:auto;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:auto auto;
    gap:2px;
  }
  .service-photos .photo-slot:first-child{
    grid-column:1/2;
    grid-row:1;
  }

  /* ─── PORTFOLIO SECTION ─── */
  .portfolio-section{padding:48px 16px 56px}
  .careers-section{padding:48px 16px}
  .jobs-list{grid-template-columns:1fr}
  .job-card{padding:22px 16px}

  .port-filters{
    gap:0;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }
  .port-filter{
    padding:8px 14px;
    white-space:nowrap;
    font-size:11px;
  }
  .port-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(5,140px);
    gap:6px;
  }
  .port-item:nth-child(1){grid-column:1/3;grid-row:1}
  .port-item:nth-child(2){grid-column:1;grid-row:2}
  .port-item:nth-child(3){grid-column:2;grid-row:2}
  .port-item:nth-child(4){grid-column:1;grid-row:3}
  .port-item:nth-child(5){grid-column:2;grid-row:3}
  .port-item:nth-child(6){grid-column:1;grid-row:4}
  .port-item:nth-child(7){grid-column:2;grid-row:4}

  .reviews-section{padding:52px 18px 60px}
  .vt-row{gap:12px;flex-wrap:wrap;justify-content:center}
  .vt-thumb{width:72px;height:72px}
  .vt-thumb.vt-large{width:88px;height:88px}
  .reviews-cols{grid-template-columns:1fr;gap:28px}
  .method-row{grid-template-columns:1fr 1fr}
  
  /* ─── REVIEWS TYPOGRAPHY ─── */
  .hindi-quote{font-size:clamp(14px,3.5vw,18px)}
  .reviews-headline{font-size:clamp(22px,5vw,36px)}
  .reviews-quote{font-size:clamp(12px,3vw,16px)}
  .method-label{font-size:12px}
  .method-step-title{font-size:10px}
  .method-step-desc{font-size:10px}

  /* ─── CTA SECTION ─── */
  .cta-section{padding:72px 18px}
  .cta-eyebrow{font-size:10px}
  .cta-headline{
    font-size:clamp(28px,6vw,44px);
    letter-spacing:-0.01em;
  }
  .cta-sub{font-size:12px}
  .cta-btns{
    grid-template-columns:1fr;
    gap:12px;
  }
  .btn-cta,.btn-whatsapp{
    padding:14px 20px;
    font-size:11px;
  }

  /* ─── FOOTER ─── */
  .footer-inner{
    grid-template-columns:1fr;
    gap:28px;
    padding:44px 18px 32px;
  }
  .footer-logo{font-size:2.2rem;margin-bottom:8px}
  .footer-h{font-size:10px;margin-bottom:14px}
  .footer-list{gap:8px}
  .footer-list li{font-size:11px}
  .footer-socials{gap:12px}
  .footer-socials a{width:32px;height:32px}
  .footer-bottom{
    padding:16px 18px;
    font-size:10px;
  }

  /* ─── TRUSTED SECTION ─── */
  .trusted-section{padding:60px 18px}
  .trusted-wrap h2{
    font-size:clamp(28px,6vw,48px);
  }

  /* ─── WHY ROTATOR SECTION ─── */
  .why-nj-section{padding:60px 18px 100px}
  .why-rotator-line{font-size:clamp(20px,5vw,42px)}

  /* ─── TOUCH OPTIMIZATIONS ─── */
  /* Increase touch target sizes */
  .nav-link{padding:8px 12px}
  .btn-primary,.btn-hero-primary,.btn-hero-outline{min-height:44px;min-width:44px}
  /* Better tap feedback */
  button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
  a,button{touch-action:manipulation}
  
  /* ─── REDUCED MOTION ─── */
  @media(prefers-reduced-motion:reduce){
    *{
      animation-duration:0.01ms!important;
      animation-iteration-count:1!important;
      transition-duration:0.01ms!important;
    }
  }
}

/* ============================================================
   RESPONSIVE — EXTRA SMALL ≤ 430px (Very Small Phones)
   ============================================================ */
@media(max-width:430px){
  .hero-title{font-size:clamp(24px,6vw,42px)}
  .hero-content{padding:var(--nav-h) 14px 70px 14px}
  .service-title{font-size:clamp(16px,4vw,24px)}
  .legacy-heading{font-size:clamp(18px,5vw,28px)}
  .cta-headline{font-size:clamp(24px,5vw,38px)}
  .reviews-headline{font-size:clamp(18px,4.5vw,30px)}
  .trusted-wrap h2{font-size:clamp(24px,5.5vw,40px)}
}
