/* =====================================================
   NILPRABHA INFINITY PVT. LTD.
   Design: Sheltos-inspired — clean white, navy, gold
   Fonts: Nunito Sans (body) + Cormorant Garamond (display)
   Animations: AOS-style scroll reveals, smooth hovers
====================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Nunito+Sans:wght@300;400;600;700;800&display=swap');

:root {
  --navy:     #001f3f;
  --navy2:    #003366;
  --navy3:    #00509e;
  --gold:     #c8a43a;
  --gold2:    #e8c04a;
  --gold3:    #f5d96a;
  --goldk:    #9a7c1e;
  --white:    #ffffff;
  --off:      #f7f8fa;
  --off2:     #eef0f5;
  --text:     #1a202c;
  --mid:      #4a5568;
  --muted:    #718096;
  --border:   #e2e8f0;
  --border2:  #cbd5e0;
  --red:      #e53e3e;
  --green:    #25D366;

  --r:    8px;
  --r2:   14px;
  --r3:   20px;

  --sh1:  0 2px 8px rgba(0,31,63,.06);
  --sh2:  0 8px 32px rgba(0,31,63,.12);
  --sh3:  0 20px 60px rgba(0,31,63,.18);
  --sh4:  0 32px 80px rgba(0,31,63,.22);

  --ease: cubic-bezier(.4,0,.2,1);
  --spring: cubic-bezier(.34,1.56,.64,1);
  --t1: .2s var(--ease);
  --t2: .35s var(--ease);
  --t3: .5s var(--ease);
}

/* ── RESET ─────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; font-size:16px }
body {
  font-family:'Nunito Sans', sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img { max-width:100%; display:block }
a { text-decoration:none; color:inherit }
h1,h2,h3,h4,h5,h6 {
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;
  line-height:1.15;
  color:var(--navy);
}

/* ── UTILITIES ──────────────────────────────────── */
.text-gold   { color:var(--gold) !important }
.text-navy   { color:var(--navy) !important }
.text-white  { color:#fff !important }
.text-muted  { color:var(--muted) !important }
.bg-navy     { background:var(--navy) !important }
.bg-off      { background:var(--off) !important }
.fw-700      { font-weight:700 }
.fw-600      { font-weight:600 }

/* ── SPACING ────────────────────────────────────── */
.sp-xl  { padding:100px 0 }
.sp-lg  { padding:80px 0 }
.sp-md  { padding:60px 0 }
.sp-sm  { padding:40px 0 }

/* ── SECTION LABELS ─────────────────────────────── */
.tag-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(200,164,58,.12);
  border: 1px solid rgba(200,164,58,.3);
  color: var(--goldk);
  font-family: 'Nunito Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 40px;
  margin-bottom: 16px;
}
.tag-pill i { font-size:13px; color:var(--gold) }
.tag-pill.light {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.25);
  color: var(--gold3);
}

.sec-title {
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 12px;
  letter-spacing: -.5px;
}
.sec-title.light { color:#fff }
.sec-title span  { color:var(--gold) }

.sec-sub {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  font-weight: 400;
  max-width: 580px;
}
.sec-sub.light { color:rgba(255,255,255,.65) }

.u-line {
  width: 48px; height: 3px;
  background: var(--gold);
  border-radius: 2px;
  margin: 14px 0 28px;
}
.u-line.cx { margin: 14px auto 28px }

/* ── BUTTONS ────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .3px;
  padding: 13px 28px;
  border-radius: var(--r);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--t2);
  white-space: nowrap;
}
.btn i { font-size:14px; transition:transform var(--t1) }
.btn:hover i { transform:translateX(3px) }

.btn-gold {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
}
.btn-gold:hover {
  background: var(--goldk);
  border-color: var(--goldk);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,164,58,.35);
}

.btn-navy {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.btn-navy:hover {
  background: var(--navy2);
  border-color: var(--navy2);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,31,63,.3);
}

.btn-outline-gold {
  background: transparent;
  color: var(--gold);
  border-color: var(--gold);
}
.btn-outline-gold:hover {
  background: var(--gold);
  color: var(--navy);
  transform: translateY(-2px);
}

.btn-outline-white {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.55);
}
.btn-outline-white:hover {
  background: #fff;
  color: var(--navy);
  border-color: #fff;
}

/* ── NAVBAR ─────────────────────────────────────── */
#mainNav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1050;
  padding: 0;
  transition: background var(--t2), box-shadow var(--t2), padding var(--t2);
  background: transparent;
}
#mainNav.scrolled {
  background: var(--navy);
  box-shadow: 0 4px 32px rgba(0,0,0,.25);
}
#mainNav .container-xl { padding-top:18px; padding-bottom:18px; transition:padding var(--t2) }
#mainNav.scrolled .container-xl { padding-top:11px; padding-bottom:11px }

.nav-logo-img {
  height: 42px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: filter var(--t2);
}

.navbar-nav .nav-link {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .4px !important;
  color: rgba(255,255,255,.85) !important;
  padding: 7px 12px !important;
  border-radius: 6px;
  transition: color var(--t1) !important;
  position: relative;
}
.navbar-nav .nav-link::after {
  content:'';
  position:absolute;
  bottom:4px; left:12px; right:12px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transition:transform var(--t2);
  border-radius:2px;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--gold) !important;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after { transform:scaleX(1) }

.navbar-toggler { border:none; padding:4px; box-shadow:none !important }
.navbar-toggler .bi { font-size:26px; color:#fff }

.dropdown-menu {
  background: var(--navy);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r2);
  min-width: 215px;
  padding: 8px;
  box-shadow: var(--sh4);
  animation: dropIn .2s var(--ease);
}
@keyframes dropIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.dropdown-item {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  padding: 9px 14px;
  border-radius: 6px;
  transition: background var(--t1), color var(--t1);
  display: flex;
  align-items: center;
  gap: 9px;
}
.dropdown-item i { color:var(--gold); font-size:14px }
.dropdown-item:hover { background:rgba(200,164,58,.15); color:var(--gold) }
.dropdown-divider { border-color:rgba(255,255,255,.1) }

@media(max-width:991px) {
  .navbar-collapse {
    background: var(--navy);
    border-radius: var(--r2);
    padding: 16px;
    margin-top: 8px;
    box-shadow: var(--sh4);
  }
  .dropdown-menu { background:rgba(255,255,255,.05); border:none; box-shadow:none }
}

/* ── PAGE HERO (inner pages) ────────────────────── */
.page-hero {
  min-height: 320px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.ph-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.28);
  transform: scale(1.05);
  transition: transform 6s ease;
}
.page-hero:hover .ph-bg { transform:scale(1) }
.ph-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg,rgba(0,31,63,.9) 0%,rgba(0,50,102,.6) 100%);
}
.ph-content {
  position: relative;
  z-index: 2;
  padding-top: 120px;
  padding-bottom: 56px;
}
.ph-content h1 {
  color: #fff;
  font-size: clamp(28px,4vw,52px);
}
.breadcrumb-item,
.breadcrumb-item a { color:rgba(255,255,255,.5); font-size:13px; font-family:'Nunito Sans',sans-serif }
.breadcrumb-item.active { color:var(--gold) }
.breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,.3) }

/* ── TICKER ─────────────────────────────────────── */
.ticker-wrap { overflow:hidden; padding:13px 0; background:var(--gold) }
.ticker-track {
  display:flex; gap:48px;
  animation: tick 30s linear infinite;
  width:max-content; white-space:nowrap;
}
.ticker-track span {
  font-family:'Nunito Sans',sans-serif;
  font-size:11.5px; font-weight:800;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--navy);
  display:flex; align-items:center; gap:7px;
}
.ticker-dot { color:rgba(0,31,63,.3); font-size:16px }
@keyframes tick { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── CARDS ──────────────────────────────────────── */
.card-prop {
  background: #fff;
  border-radius: var(--r2);
  overflow: hidden;
  transition: transform var(--t2), box-shadow var(--t2);
  border: 1px solid var(--border);
  height: 100%;
}
.card-prop:hover {
  transform: translateY(-6px);
  box-shadow: var(--sh3);
  border-color: transparent;
}
.card-prop .img-wrap {
  position: relative;
  overflow: hidden;
  height: 210px;
}
.card-prop .img-wrap img {
  width:100%; height:100%; object-fit:cover;
  transition: transform .6s var(--ease);
}
.card-prop:hover .img-wrap img { transform:scale(1.08) }
.card-prop .img-badge {
  position:absolute; top:14px; left:14px;
  background:var(--gold); color:var(--navy);
  font-family:'Nunito Sans',sans-serif;
  font-size:10px; font-weight:800;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 12px; border-radius:4px;
}
.card-prop .img-badge.navy { background:var(--navy); color:#fff }
.card-prop-body { padding:22px 22px 24px }
.card-prop-tag {
  font-size:10px; font-family:'Nunito Sans',sans-serif;
  font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--gold); margin-bottom:8px; display:block;
}
.card-prop-title {
  font-size:18px; font-weight:700; margin-bottom:10px;
  line-height:1.3; color:var(--navy);
  transition:color var(--t1);
}
.card-prop:hover .card-prop-title { color:var(--gold) }
.card-prop-desc {
  font-size:13.5px; color:var(--muted); line-height:1.7;
  margin-bottom:16px;
}
.card-prop-feats {
  list-style:none; padding:0;
  display:flex; flex-wrap:wrap; gap:6px 16px;
  border-top:1px solid var(--border); padding-top:14px;
}
.card-prop-feats li {
  display:flex; align-items:center; gap:5px;
  font-size:12.5px; color:var(--mid); font-family:'Nunito Sans',sans-serif;
}
.card-prop-feats i { color:var(--gold); font-size:13px }

/* SVC card */
.svc-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r2);
  padding:32px 28px;
  transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2);
  height:100%;
  position:relative; overflow:hidden;
}
.svc-card::after {
  content:''; position:absolute;
  bottom:0; left:0; right:0; height:3px;
  background:var(--gold);
  transform:scaleX(0); transition:transform var(--t2);
  transform-origin:left;
}
.svc-card:hover { transform:translateY(-5px); box-shadow:var(--sh3); border-color:transparent }
.svc-card:hover::after { transform:scaleX(1) }
.svc-icon {
  width:58px; height:58px; border-radius:14px;
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-size:24px; margin-bottom:20px;
  transition:transform var(--t2);
}
.svc-card:hover .svc-icon { transform:scale(1.08) }

/* WHY card */
.why-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r2);
  padding:28px;
  height:100%;
  transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2);
  position:relative;
}
.why-card:hover { transform:translateY(-4px); box-shadow:var(--sh2); border-color:rgba(200,164,58,.35) }
.why-num {
  font-family:'Cormorant Garamond',serif;
  font-size:64px; font-weight:700;
  color:rgba(200,164,58,.1); line-height:1;
  position:absolute; top:10px; right:16px;
}
.why-icon { font-size:32px; color:var(--gold); display:block; margin-bottom:14px }

/* Testimonial */
.testi-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r2);
  padding:30px;
  height:100%;
  transition:transform var(--t2), box-shadow var(--t2);
}
.testi-card:hover { transform:translateY(-4px); box-shadow:var(--sh2) }
.testi-stars { color:var(--gold); font-size:13px; letter-spacing:3px; margin-bottom:12px }
.testi-q {
  font-family:'Cormorant Garamond',serif;
  font-size:70px; color:var(--gold); line-height:.5;
  margin-bottom:14px; opacity:.25;
}
.testi-text {
  font-size:14.5px; line-height:1.8; color:var(--mid);
  font-style:italic; margin-bottom:22px;
}
.testi-av {
  width:46px; height:46px; border-radius:50%;
  background:var(--navy); color:var(--gold);
  font-weight:800; font-size:14px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; letter-spacing:.5px;
}

/* Land tile */
.land-tile {
  position:relative; border-radius:var(--r2); overflow:hidden;
  display:block; cursor:pointer;
}
.land-tile img {
  width:100%; object-fit:cover;
  transition:transform .6s var(--ease);
}
.land-tile:hover img { transform:scale(1.07) }
.land-tile .lt-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,31,63,.92) 0%,rgba(0,31,63,.1) 60%);
  display:flex; flex-direction:column;
  justify-content:flex-end; padding:22px;
  transition:background var(--t2);
}
.land-tile:hover .lt-ov { background:linear-gradient(to top,rgba(0,31,63,.97) 0%,rgba(0,31,63,.35) 100%) }
.lt-title { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:700; color:#fff }
.lt-sub { font-family:'Nunito Sans',sans-serif; font-size:12px; color:rgba(255,255,255,.65); margin-top:4px }
.lt-arr { font-size:20px; color:var(--gold); margin-top:10px; opacity:0; transform:translateX(-8px); transition:all var(--t2) }
.land-tile:hover .lt-arr { opacity:1; transform:translateX(0) }

/* image overlay */
.img-ov {
  position:relative; border-radius:var(--r2); overflow:hidden; display:block;
}
.img-ov img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease) }
.img-ov:hover img { transform:scale(1.05) }
.img-ov .ov {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,31,63,.9) 0%,transparent 55%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:24px;
  transition:background var(--t2);
}
.img-ov:hover .ov { background:linear-gradient(to top,rgba(0,31,63,.96) 0%,rgba(0,31,63,.25) 100%) }

/* ── FORM ────────────────────────────────────────── */
.flabel {
  font-family:'Nunito Sans',sans-serif;
  font-size:12px; font-weight:700;
  letter-spacing:.3px;
  color:var(--mid); margin-bottom:6px; display:block;
  text-transform:uppercase;
}
.finput {
  width:100%;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  padding:11px 14px;
  font-size:14px; font-family:'Nunito Sans',sans-serif;
  color:var(--text); background:#fff;
  outline:none; transition:border-color var(--t1), box-shadow var(--t1);
  -webkit-appearance:none; appearance:none;
}
.finput:focus {
  border-color:var(--navy2);
  box-shadow:0 0 0 3px rgba(0,80,158,.1);
}
.finput::placeholder { color:var(--muted) }
select.finput { cursor:pointer }

/* ── STATS BAND ─────────────────────────────────── */
.stats-band { background:var(--navy); padding:56px 0 }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:46px; font-weight:700; color:var(--gold); line-height:1;
}
.stat-lbl {
  font-family:'Nunito Sans',sans-serif;
  font-size:11px; color:rgba(255,255,255,.45);
  letter-spacing:1.5px; text-transform:uppercase; margin-top:6px;
}
.stat-div { width:1px; height:52px; background:rgba(255,255,255,.12); align-self:center }

/* ── SCROLL REVEAL ───────────────────────────────── */
/* Fade + slide up */
[data-ani] {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
[data-ani].ani-in { opacity:1; transform:translateY(0) }

/* Fade + slide left */
[data-ani="left"] { transform:translateX(-32px) }
[data-ani="left"].ani-in { transform:translateX(0) }

/* Fade + slide right */
[data-ani="right"] { transform:translateX(32px) }
[data-ani="right"].ani-in { transform:translateX(0) }

/* Zoom in */
[data-ani="zoom"] { transform:scale(.94) }
[data-ani="zoom"].ani-in { transform:scale(1) }

/* Stagger delay helpers */
[data-delay="1"] { transition-delay:.08s }
[data-delay="2"] { transition-delay:.16s }
[data-delay="3"] { transition-delay:.24s }
[data-delay="4"] { transition-delay:.32s }
[data-delay="5"] { transition-delay:.4s }
[data-delay="6"] { transition-delay:.48s }

/* Respect prefers-reduced-motion */
@media(prefers-reduced-motion:reduce) {
  [data-ani] { opacity:1 !important; transform:none !important; transition:none !important }
}

/* ── PROCESS STEP ────────────────────────────────── */
.ps-wrap { position:relative }
.ps-wrap::before {
  content:'';
  position:absolute;
  top:28px; left:28px; right:28px;
  height:2px;
  background:linear-gradient(90deg,var(--gold),rgba(200,164,58,.15));
  z-index:0;
}
@media(max-width:767px) { .ps-wrap::before { display:none } }
.ps-step { position:relative; z-index:1; text-align:center }
.ps-num {
  width:56px; height:56px; border-radius:50%;
  background:var(--navy); color:var(--gold);
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  border:2px solid rgba(200,164,58,.3);
  transition:background var(--t2), transform var(--t2);
}
.ps-step:hover .ps-num { background:var(--gold); color:var(--navy); transform:scale(1.1) }
.ps-step.done .ps-num { background:var(--gold); color:var(--navy); border-color:var(--gold) }

/* ── FOOTER ──────────────────────────────────────── */
.site-footer { background:var(--navy); padding:72px 0 0 }
.fcol-title {
  font-family:'Nunito Sans',sans-serif;
  font-size:10px; font-weight:800;
  letter-spacing:2.5px; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px;
}
.flinks { list-style:none; padding:0 }
.flinks li { margin-bottom:10px }
.flinks a {
  font-family:'Nunito Sans',sans-serif;
  font-size:13px; color:rgba(255,255,255,.5);
  transition:color var(--t1), padding-left var(--t1);
  display:inline-flex; align-items:center; gap:6px;
}
.flinks a:hover { color:var(--gold); padding-left:4px }
.footer-bar {
  border-top:1px solid rgba(255,255,255,.07);
  padding:20px 0; margin-top:48px;
}
.footer-bar p {
  font-family:'Nunito Sans',sans-serif;
  font-size:12.5px; color:rgba(255,255,255,.3);
}
.footer-legal a {
  font-family:'Nunito Sans',sans-serif; font-size:12px;
  color:rgba(255,255,255,.3); transition:color var(--t1);
}
.footer-legal a:hover { color:var(--gold) }

/* ── FLOAT BUTTONS ───────────────────────────────── */
.float-btns {
  position:fixed; bottom:28px; right:28px;
  z-index:999;
  display:flex; flex-direction:column; gap:10px; align-items:flex-end;
  opacity:0; transform:translateY(16px);
  transition:opacity .35s var(--ease), transform .35s var(--ease);
  pointer-events:none;
}
.float-btns.show { opacity:1; transform:translateY(0); pointer-events:all }

.float-btn {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Nunito Sans',sans-serif; font-weight:800;
  font-size:13px; padding:13px 22px;
  border-radius:40px; transition:all var(--t2); cursor:pointer; white-space:nowrap;
}
.float-btn-wa {
  background:#25D366; color:#fff;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
}
.float-btn-wa:hover { background:#1ebe5d; color:#fff; transform:translateY(-2px); box-shadow:0 8px 28px rgba(37,211,102,.45) }
.float-btn-call {
  background:var(--gold); color:var(--navy);
  box-shadow:0 4px 20px rgba(200,164,58,.4);
}
.float-btn-call:hover { background:var(--goldk); color:#fff; transform:translateY(-2px); box-shadow:0 8px 28px rgba(200,164,58,.45) }

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:991px) { .sp-xl{padding:72px 0} .sp-lg{padding:60px 0} }
@media(max-width:767px) {
  .sp-xl{padding:56px 0} .sp-lg{padding:48px 0} .sp-md{padding:40px 0}
  .float-btns{bottom:16px;right:16px}
  .float-btn{font-size:12px;padding:11px 18px}
  .sec-title{font-size:clamp(24px,6vw,36px)}
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — MOBILE FIRST OVERHAUL
   Fixes: alignment, spacing, hero, cards, nav, forms
══════════════════════════════════════════════════ */

/* ── TABLET (≤ 991px) ─────────────────────────── */
@media (max-width: 991px) {
  /* NAV */
  #mainNav { background: var(--navy) !important; }
  #mainNav .container-xl { padding-top: 12px !important; padding-bottom: 12px !important; }
  .nav-logo-img { height: 36px !important; }
  .navbar-collapse {
    background: #001228;
    border-radius: 12px;
    padding: 16px;
    margin-top: 8px;
    border: 1px solid rgba(255,255,255,.08);
  }
  .navbar-nav .nav-link { padding: 10px 14px !important; font-size: 14px !important; }
  .navbar-nav .nav-link::after { display: none; }
  .dropdown-menu { box-shadow: none; border: none; background: rgba(255,255,255,.04); }

  /* SPACING */
  .sp-xl { padding: 64px 0; }
  .sp-lg { padding: 52px 0; }
  .sp-md { padding: 36px 0; }

  /* STATS */
  .stats-band { padding: 44px 0; }
  .stat-num { font-size: 36px; }

  /* ABOUT MOSAIC */
  .about-mosaic { grid-template-rows: 180px 180px; gap: 10px; }
}

/* ── MOBILE (≤ 767px) ─────────────────────────── */
@media (max-width: 767px) {

  /* HERO */
  .hero-wrap { min-height: 100svh; }
  .hero-content { padding-top: 110px !important; padding-bottom: 60px !important; }
  .hero-eyebrow { font-size: 9px !important; letter-spacing: 2px !important; padding: 6px 14px !important; }
  .hero-title { font-size: clamp(30px, 9vw, 46px) !important; line-height: 1.1 !important; }
  .hero-desc { font-size: 14.5px !important; margin-bottom: 28px !important; }
  .hero-btns .btn { font-size: 13px !important; padding: 11px 22px !important; }
  .hero-trust { gap: 12px !important; }
  .trust-chip { font-size: 11px !important; }
  .founder-card { display: none; } /* shown in col-lg-5 d-none d-lg-block anyway */
  .scroll-ind { display: none; }

  /* SPACING */
  .sp-xl { padding: 52px 0; }
  .sp-lg { padding: 44px 0; }
  .sp-md { padding: 32px 0; }

  /* SECTION HEADERS */
  .tag-pill { font-size: 10px !important; letter-spacing: 1.5px !important; padding: 5px 14px !important; }
  .sec-title { font-size: clamp(24px, 7vw, 34px) !important; letter-spacing: 0 !important; }
  .sec-sub { font-size: 14px !important; }

  /* BUTTONS */
  .btn { font-size: 13px !important; padding: 11px 22px !important; }

  /* STATS BAND */
  .stats-band { padding: 36px 0; }
  .stat-num { font-size: 32px !important; }
  .stat-lbl { font-size: 10px !important; }
  .stat-div { display: none !important; }

  /* ABOUT MOSAIC — stack on mobile */
  .about-mosaic {
    grid-template-columns: 1fr !important;
    grid-template-rows: 220px 140px 140px !important;
  }
  .about-mosaic .am-1 { grid-row: auto !important; }

  /* LAND TILES — 1 col on mobile */
  .land-tile img { height: 200px !important; }
  .land-tile { height: 200px !important; }
  .lt-title { font-size: 18px !important; }
  .lt-sub { font-size: 11.5px !important; }

  /* HOW WE WORK — panels */
  [style*="padding:38px"] { padding: 24px !important; }

  /* LAYOUT PROCESS CARDS */
  .lp-card { padding: 22px 20px !important; }
  .lp-big-num { font-size: 48px !important; }
  .lp-icon { width: 44px !important; height: 44px !important; font-size: 18px !important; }

  /* WHY CARDS */
  .why-card { padding: 22px 20px !important; }
  .why-num { font-size: 48px !important; }
  .why-icon { font-size: 26px !important; }

  /* TESTIMONIAL */
  .testi-card { padding: 22px 20px !important; }
  .testi-q { font-size: 52px !important; }

  /* INDUSTRIAL DIVISIONS */
  .img-ov[style*="height:300px"] { height: 220px !important; }
  .img-ov img[style*="height:300px"] { height: 220px !important; }

  /* CTA BAND */
  [style*="background:var(--gold)"] .col-lg-5 { text-align: left !important; }

  /* FOOTER */
  .site-footer { padding: 52px 0 0; }
  .footer-hl { font-size: 18px; }
  .flinks a { font-size: 13px; }

  /* FLOAT BUTTONS */
  .float-btns { bottom: 14px; right: 14px; gap: 8px; }
  .float-btn { font-size: 12px !important; padding: 10px 16px !important; }
  .float-btn svg { width: 14px; height: 14px; }

  /* LANDS PAGE — filter tabs */
  .ftab { font-size: 12px !important; padding: 8px 16px !important; }
  .enq-panel { padding: 24px !important; border-radius: 14px !important; }

  /* CONTACT PAGE */
  .ci-panel { padding: 24px !important; }
  .form-card { padding: 24px !important; }
}

/* ── SMALL MOBILE (≤ 480px) ───────────────────── */
@media (max-width: 480px) {
  .hero-title { font-size: clamp(26px, 8.5vw, 38px) !important; }
  .hero-btns { flex-direction: column !important; align-items: flex-start; }
  .hero-btns .btn { width: 100%; justify-content: center; }
  .trust-chip { font-size: 10.5px !important; }

  /* Stats — 2 column grid on tiny mobile */
  .stats-band .d-flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 24px !important;
    padding: 0 8px;
  }

  /* Land tiles full width */
  .land-tile { height: 180px !important; }
  .land-tile img { height: 180px !important; }

  /* Tabs wrap nicely */
  .d-flex.flex-wrap.gap-2 { gap: 8px !important; }

  /* Hero pills */
  .hero-eyebrow { display: none !important; }

  /* footer cols */
  .site-footer .col-6 { flex: 0 0 100% !important; max-width: 100% !important; }

  /* Contact location section */
  [style*="padding:48px 40px"] { padding: 28px 20px !important; }
  [style*="padding:36px 40px"] { padding: 20px 16px !important; }

  /* Section headers center on mobile */
  .text-center .sec-sub { text-align: center !important; }
}

/* ── GENERAL touch improvements ───────────────── */
@media (max-width: 767px) {
  /* Bigger tap targets */
  .navbar-nav .nav-link { min-height: 44px; display: flex; align-items: center; }
  .btn { min-height: 44px; }
  .ftab { min-height: 40px; }
  .flinks a { padding: 4px 0; }

  /* No hover transform on touch — prevent stuck states */
  .card-prop:hover,
  .svc-card:hover,
  .why-card:hover,
  .testi-card:hover,
  .lp-card:hover {
    transform: none !important;
  }
  .land-tile:hover img { transform: none !important; }
  .img-ov:hover img { transform: none !important; }

  /* Ensure images never overflow */
  img { max-width: 100% !important; }
  .about-mosaic img { width: 100% !important; height: 100% !important; }
}

/* ── CONTAINER padding on small screens ────────── */
@media (max-width: 575px) {
  .container-xl {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── EXTRA MOBILE PATCHES ─────────────────────── */

/* HOW WE WORK panels — fix padding selector */
@media (max-width: 767px) {
  /* Seller / Buyer panels */
  .col-lg-6 > div[style*="border-radius:20px"] { padding: 24px !important; }
  .col-lg-6 > div[style*="background:var(--navy)"] { padding: 24px !important; }

  /* Location section in contact */
  div[style*="padding:48px 40px"] { padding: 28px 20px !important; }
  div[style*="padding:36px 40px"] { padding: 20px 16px !important; }

  /* Map iframe full width on mobile */
  div[style*="border-radius:14px;overflow:hidden;height:320px"] {
    height: 240px !important;
  }
  div[style*="border-radius:14px;overflow:hidden;height:320px"] iframe {
    height: 240px !important;
  }

  /* Lands page enquiry panel — not sticky on mobile */
  .enq-panel { position: static !important; }

  /* Contact info panel */
  .ci-panel { border-radius: 14px !important; }

  /* Silver company name — smaller on mobile */
  h2[style*="background: linear-gradient(135deg, #c0c0c0"] {
    font-size: clamp(22px, 6vw, 36px) !important;
  }

  /* Stats grid layout on mobile */
  .stats-band .d-flex {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 24px 32px !important;
  }
  .stats-band .px-4 { padding: 0 16px !important; }
}

/* ── CONTACT MAP full-width on mobile ─────────── */
@media (max-width: 767px) {
  .col-md-7, .col-md-5 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ── LANDS filter tabs scroll horizontal on mobile  */
@media (max-width: 575px) {
  .d-flex.flex-wrap.gap-2.mb-4 {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    scrollbar-width: none;
  }
  .d-flex.flex-wrap.gap-2.mb-4::-webkit-scrollbar { display: none; }
  .ftab { flex-shrink: 0 !important; }
}

/* ── NAVBAR always solid on scroll for inner pages  */
@media (max-width: 991px) {
  #mainNav {
    background: var(--navy) !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.2) !important;
  }
}

/* ── LP CARD (Layout Process / Hydro steps) ──── */
.lp-card {
  background:#fff; border:1px solid var(--border);
  border-radius:14px; padding:28px; height:100%;
  position:relative; overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.lp-card:hover { transform:translateY(-5px); box-shadow:0 20px 60px rgba(0,31,63,.18); border-color:rgba(200,164,58,.3) }
.lp-big-num {
  font-family:'Cormorant Garamond',serif;
  font-size:64px; font-weight:700;
  color:rgba(200,164,58,.1); line-height:1;
  position:absolute; top:10px; right:16px;
}
.lp-icon {
  width:52px; height:52px; border-radius:12px;
  background:linear-gradient(135deg,#001f3f,#003366);
  display:flex; align-items:center; justify-content:center;
  color:#c8a43a; font-size:22px; margin-bottom:16px;
  transition:transform .35s ease;
}
.lp-card:hover .lp-icon { transform:scale(1.1) }

/* ══════════════════════════════════════════════════
   HORIZONTAL OVERFLOW FIX — prevents mobile scroll
   Cause: scale() on hero-bg, ticker-track width,
   float-btn right offset, position:absolute elements
══════════════════════════════════════════════════ */

/* Nuclear fix — nothing escapes the viewport */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Hero bg scale causes right overflow — clip it */
.hero-wrap {
  overflow: hidden !important;
}
.hero-slides {
  overflow: hidden !important;
}

/* Ticker — infinite width track, must be clipped */
.ticker-wrap {
  overflow: hidden !important;
  max-width: 100vw !important;
}
.ticker-track {
  /* keep width:max-content for animation but clip parent */
  max-width: none;
}

/* Parallax hero-bg: scale on desktop only */
@media (max-width: 991px) {
  .hero-bg {
    transform: none !important;
    will-change: auto !important;
  }
}

/* Float buttons — ensure they don't push viewport width */
.float-btns {
  max-width: calc(100vw - 28px) !important;
}

/* Stats band flex — prevent children from overflowing */
.stats-band .d-flex {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* About mosaic — fixed widths can overflow on small screens */
@media (max-width: 575px) {
  .about-mosaic {
    grid-template-columns: 1fr !important;
    grid-template-rows: 220px 140px 140px !important;
  }
}

/* Row gutters — Bootstrap g-4/g-5 can add negative margins that overflow */
@media (max-width: 575px) {
  .row {
    --bs-gutter-x: 1rem !important;
  }
}

/* Sections with inline padding that may overflow */
@media (max-width: 575px) {
  div[style*="padding:38px"],
  div[style*="padding:36px 40px"],
  div[style*="padding:48px 40px"] {
    padding: 20px 16px !important;
  }
}

/* Process step connector line — absolute positioned, can overflow */
.ps-wrap::before {
  display: none !important;
}

/* Nav toggler — ensure hamburger icon aligns */
.navbar-toggler {
  flex-shrink: 0;
}

/* Container edge safety */
.container-xl {
  overflow-x: hidden;
}

/* Image mosaic grid safety */
.about-mosaic {
  max-width: 100%;
  overflow: hidden;
}
