/* Lumisync Index Page Styles
   Extracted from index(2).html for easier maintenance.
   Loaded by index.html from assets/css/home.css. */

/* ============================================================
   LUMISYNC — PREMIUM EDITION V2
   Design philosophy: Quiet Luxury. Every pixel earns its place.
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  --white:#F5F0EB;
  --warm:#FAF7F2;
  --cream:#EDE8E1;
  --cream-dark:#E5DFD6;
  --charcoal:#3D2B1F;
  --ink:#4A3728;
  --ink-light:#6B4E3D;
  --muted:#9E948A;
  --border:#B5ADA5;
  --border-light:rgba(74,55,40,0.06);
  --gold:#C4A882;
  --gold-light:#B8956A;
  --gold-pale:#E8DCC8;
  --gold-ghost:rgba(196,168,130,0.05);
  --gold-12:rgba(196,168,130,0.12);
  --accent-rose:#D4A5A5;
  --accent-rose-soft:rgba(212,165,165,0.1);
}

/* ===== SECTION SIZING — controlled per-section for exact one-page fit ===== */

html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto;}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--white);
  color:var(--ink);
  overflow-x:hidden;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}

::selection{background:var(--gold-pale);color:var(--ink);}

/* —— Typography —— */
.t-h1{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(48px,7vw,100px);
  font-weight:300;
  line-height:0.95;
  letter-spacing:-0.02em;
  color:#F5F0EC;
}
.t-h1 em{font-style:normal;font-weight:400;color:var(--gold-light);}

.t-h2{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(32px,4.5vw,64px);
  font-weight:300;
  line-height:1.0;
  letter-spacing:-0.02em;
  color:var(--ink);
}
.t-h2 em{font-style:normal;font-weight:400;color:var(--gold);}

.t-h3{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(20px,2.5vw,36px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-0.01em;
  color:var(--ink);
}

.t-label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:10px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
  font-family:'DM Sans',sans-serif;
}
.t-label::before{
  content:'';
  width:24px;
  height:1px;
  background:var(--gold);
}

.t-label-center{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:10px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
}
.t-label-center::before,.t-label-center::after{
  content:'';
  width:20px;
  height:1px;
  background:var(--gold-light);
}

.t-body{
  font-size:15px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:0.02em;
  color:var(--muted);
}

.t-body-sm{
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:0.02em;
  color:var(--muted);
}

.t-mono{
  font-family:'DM Sans',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--muted);
}

/* —— Hero —— */
.hero{
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 64px 120px;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
}
/* Image stack — all 3 images layered */
.hero-img-wrap{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transition:opacity 1.2s ease-in-out;
}
.hero-img.active{
  opacity:1;
}
/* Left-side gradient mask */
.hero-grad{
  position:absolute;
  inset:0;
  z-index:5;
  background:linear-gradient(to right,
    rgba(61,43,31,0.90) 0%,
    rgba(61,43,31,0.55) 8%,
    rgba(61,43,31,0.15) 14%,
    transparent 18%
  );
}
/* Bottom gradient overlay to mask next section */
.hero-grad-bottom{
  position:absolute;
  left:0;right:0;bottom:0;
  height:380px;
  z-index:5;
  background:linear-gradient(to right,
    rgba(61,43,31,0.96) 0%,
    rgba(61,43,31,0.75) 12%,
    rgba(61,43,31,0.35) 25%,
    rgba(61,43,31,0.08) 35%,
    transparent 42%
  );
  pointer-events:none;
}
.hero-grad-top{
  position:absolute;
  left:0;right:0;top:0;
  height:120px;
  z-index:1;
  background:linear-gradient(to bottom,rgba(61,43,31,0.35) 0%,transparent 100%);
  pointer-events:none;
}
.hero-wm{
  position:absolute;
  top:50%;left:64px;
  transform:translateY(-50%);
  font-family:'DM Sans',sans-serif;
  font-size:clamp(100px,16vw,240px);
  font-weight:300;
  color:rgba(245,240,235,0.018);
  line-height:1;
  pointer-events:none;
  letter-spacing:-8px;
  white-space:nowrap;
  z-index:6;
}
/* Image indicator dots */
.hero-dots{
  position:absolute;
  right:64px;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hero-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(245,240,235,0.18);
  cursor:pointer;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.hero-dot.active{
  background:var(--gold-light);
  box-shadow:0 0 0 3px rgba(196,168,130,0.25);
}
.hero-dot:hover{
  background:rgba(245,240,235,0.45);
}
/* Right-side image indicator */
.hero-indicator{
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:400;
  color:rgba(200,195,185,0.35);
  background:linear-gradient(180deg,rgba(180,175,165,0.22) 0%,rgba(160,155,145,0.18) 100%);
  border:0.5px solid rgba(200,195,185,0.35);
  border-radius:40px;
  padding:32px 4px;
  box-shadow:0 4px 20px rgba(61,43,31,0.15),inset 0 1px 0 rgba(255,255,255,0.08);
}
.hero-indicator span{
  cursor:pointer;
  padding:18px 10px;
  border-radius:50%;
  min-width:34px;
  text-align:center;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.hero-indicator span:hover{
  color:rgba(220,215,205,0.85);
}
.hero-indicator span.active{
  color:#E8E0D4;
  font-weight:500;
  font-size:16px;
  text-shadow:0 0 8px rgba(232,224,212,0.4);
}
.hero-c{position:relative;z-index:7;max-width:520px;}
.hero-tag{
  font-size:10px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
  margin-bottom:32px;
  display:flex;
  align-items:center;
  gap:16px;
  opacity:0;
}
.hero-tag::before{
  content:'';
  width:32px;
  height:0.5px;
  background:var(--gold-light);
}
.hero h1{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(32px,3.8vw,52px);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:#F5F0EC;
}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero-sub{
  font-size:15px;
  color:rgba(245,240,235,0.38);
  max-width:360px;
  font-weight:300;
  line-height:1.8;
  margin:20px 0 32px;
  letter-spacing:0.01em;
  word-spacing:0.03em;
  opacity:0;
}
.hero-acts{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  opacity:0;
}
.hero-stats{
  position:absolute;
  right:64px;
  bottom:120px;
  z-index:7;
  display:flex;
  flex-direction:column;
  gap:36px;
  text-align:right;
  opacity:0;
}
.hero-sn{
  font-family:'DM Sans',sans-serif;
  font-size:42px;
  font-weight:300;
  color:#F5F0EC;
  line-height:1;
  letter-spacing:-0.02em;
}
.hero-sl{
  font-size:9px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(245,240,235,0.30);
  margin-top:6px;
  font-weight:500;
}
.hero-scroll{
  position:absolute;
  left:64px;
  bottom:120px;
  z-index:7;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  font-size:9px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:rgba(245,240,235,0.20);
  font-weight:500;
  opacity:0;
}
.sc-line{
  width:0.5px;
  height:56px;
  background:rgba(245,240,235,0.15);
  animation:sc-pulse 2.5s ease-in-out infinite;
}
@keyframes sc-pulse{
  0%,100%{opacity:0.2;transform:translateY(0);}
  50%{opacity:1;transform:translateY(8px);}
}

/* —— Buttons —— */
.btn-p{
  display:inline-flex;
  align-items:center;
  padding:16px 40px;
  background:var(--gold);
  color:#F5F0EB;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  border:none;
  cursor:pointer;
  transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  font-weight:500;
  text-decoration:none;
  position:relative;
  overflow:hidden;
}
.btn-p::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,transparent 35%,rgba(245,240,235,0.1) 50%,transparent 65%);
  transform:translateX(-100%);
  transition:transform 0.7s ease;
}
.btn-p:hover{
  background:#A68B5B;
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(196,168,130,0.22);
}
.btn-p:hover::before{transform:translateX(100%);}

.btn-gl{
  display:inline-flex;
  align-items:center;
  padding:16px 40px;
  border:0.5px solid rgba(245,240,235,0.18);
  color:#F5F0EC;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  background:rgba(245,240,235,0.03);
  cursor:pointer;
  transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  font-weight:500;
  text-decoration:none;
  backdrop-filter:blur(4px);
}
.btn-gl:hover{
  border-color:var(--gold-light);
  color:var(--gold-light);
  background:rgba(245,240,235,0.06);
}

.btn-g{
  display:inline-flex;
  align-items:center;
  padding:14px 36px;
  border:0.5px solid var(--border);
  color:var(--ink-light);
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  background:none;
  cursor:pointer;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
  font-weight:500;
  text-decoration:none;
}
.btn-g:hover{
  border-color:var(--ink);
  color:var(--ink);
}

/* —— Section Spacing —— */
.section-pad{padding:140px 64px;}
.section-pad-sm{padding:80px 64px;}

/* —— Services —— */
/* —— Services V2 —— */
.services-s{background:var(--white);padding:12px 0 0;height:100vh;overflow:hidden;display:flex;flex-direction:column;position:relative;box-sizing:border-box;}
.services-s::before{
  content:'';
  position:absolute;
  top:-200px;right:-200px;
  width:600px;height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,168,130,0.04) 0%,transparent 70%);
  pointer-events:none;
  z-index:0;
}
.services-header{
  padding:24px 64px 20px;
  max-width:1400px;
  position:relative;
  z-index:1;
  flex-shrink:0;
}
.services-header-inner{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
  align-items:end;
}
.services-intro-text{
  font-size:14px;
  font-weight:300;
  line-height:1.7;
  color:var(--muted);
  letter-spacing:0.01em;
  padding-bottom:4px;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,1fr);
  gap:0;
  position:relative;
  z-index:1;
  flex:1;
  min-height:0;
  overflow:hidden;
}
.svc-card{
  position:relative;
  overflow:hidden;
  cursor:default;
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.svc-card:hover{
  transform:translateY(0);
  z-index:2;
}
.svc-card:hover .svc-card-img img{
  transform:scale(1.06);
}
.svc-card{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.svc-card-img{
  position:relative;
  width:100%;
  flex:1;
  min-height:0;
  overflow:hidden;
}
.svc-card-img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.9s cubic-bezier(0.4,0,0.2,1);
  filter:saturate(0.95) brightness(0.97);
}
.svc-card-body{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:48px 16px 14px;
  background:linear-gradient(to top,rgba(61,43,31,0.88) 0%,rgba(61,43,31,0.60) 40%,rgba(61,43,31,0.25) 70%,transparent 100%);
  z-index:2;
}
.svc-card-num{
  position:absolute;
  top:8px;
  right:12px;
  font-family:'DM Sans',sans-serif;
  font-size:32px;
  font-weight:300;
  color:rgba(245,240,235,0.15);
  line-height:1;
  z-index:3;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.svc-card:hover .svc-card-num{
  color:rgba(245,240,235,0.30);
}
.svc-card-tag{
  font-size:9px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
  margin-bottom:4px;
}
.svc-card-title{
  font-size:14px;
  font-weight:500;
  color:#F5F0EB;
  margin-bottom:3px;
  letter-spacing:0.01em;
  line-height:1.3;
}
.svc-card-desc{
  font-size:11px;
  color:rgba(245,240,235,0.65);
  font-weight:300;
  line-height:1.5;
}
/* —— Process V4 — Clean editorial, no images, no blur — */
.process-s{height:100vh;overflow:hidden;display:flex;flex-direction:column;
  background:var(--white);
  padding:0;
  position:relative;
  overflow:hidden;
}
/* Top gold accent line */
.process-s::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0.5;
  z-index:2;
  pointer-events:none;
}
.process-inner{
  max-width:1200px;
  width:100%;
  margin:0 auto;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100vh;
  padding:24px 64px;
}
.process-intro{
  margin-bottom:24px;
}
.process-intro .t-label{
  color:var(--gold-light);
  margin-bottom:16px;
}
.process-intro .t-h2{
  color:var(--ink);
  font-size:clamp(24px,3vw,40px);
  font-weight:300;
  letter-spacing:-0.01em;
}
.process-intro .t-h2 em{
  color:var(--gold);
}

/* Horizontal timeline line */
.process-timeline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:0;
  position:relative;
  padding-top:24px;
}
.process-timeline::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:0.5px;
  background:linear-gradient(90deg,transparent 0%,var(--border) 10%,var(--border) 90%,transparent 100%);
  opacity:0.6;
}

/* Timeline step */
.timeline-step{
  flex:1;
  text-align:center;
  padding:0 32px;
  position:relative;
  cursor:pointer;
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.timeline-step::before{
  content:'';
  position:absolute;
  top:-26px;
  left:50%;
  transform:translateX(-50%);
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--white);
  border:2px solid var(--border);
  opacity:1;
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.timeline-step:hover::before,
.timeline-step.active-step::before{
  opacity:1;
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 0 0 6px rgba(196,168,130,0.2);
}
.timeline-step:hover{
  transform:translateY(-8px) scale(1.08);
}

/* Step number */
.timeline-step .step-num{
  font-family:'DM Sans',sans-serif;
  font-size:42px;
  font-weight:300;
  color:rgba(196,168,130,0.25);
  line-height:1;
  margin-bottom:12px;
  display:block;
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.timeline-step:hover .step-num,
.timeline-step.active-step .step-num{
  color:var(--gold);
}

/* Step title */
.timeline-step .step-title{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:8px;
  line-height:1.3;
}

/* Step description */
.timeline-step .step-desc{
  font-size:12px;
  font-weight:300;
  color:var(--muted);
  line-height:1.6;
  letter-spacing:0.01em;
  transition:color 0.4s ease;
}
.timeline-step:hover .step-desc,
.timeline-step.active-step .step-desc{
  color:var(--ink-light);
}
.timeline-step.active-step .step-num{
  color:var(--gold);
  transform:scale(1.15);
}
.timeline-step.active-step{
  transform:translateY(-8px) scale(1.08);
}
.timeline-step.active-step::before{
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 0 0 6px rgba(196,168,130,0.2);
}

/* Hover image reveal area */
.process-hover-img{
  width:100%;
  height:380px;
  border-radius:6px;
  overflow:hidden;
  position:relative;
  margin-bottom:36px;
}
.process-hover-img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.0) brightness(1.02);
}
.process-hover-img::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(61,43,31,0.3) 0%,rgba(61,43,31,0.6) 100%);
}

/* Step title */
.step-row-title{
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  color:var(--ink);
  font-weight:400;
  letter-spacing:0.06em;
}

/* Step description */
.step-row-desc{
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  letter-spacing:0.02em;
  font-weight:300;
}
.projects-s{min-height:auto;overflow:hidden;display:flex;flex-direction:column;background:var(--white);padding:0;position:relative;}
.projects-s::before{
  content:'';
  position:absolute;
  top:10%;right:-100px;
  width:400px;height:400px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,168,130,0.05) 0%,transparent 70%);
  pointer-events:none;
  z-index:0;
}
.projects-header{
  padding:24px 64px 16px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  position:relative;
  z-index:1;
}
.proj-gallery{
  display:grid;
  grid-template-columns:1.8fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:1px;
  height:55vh;
  min-height:320px;
  position:relative;
  z-index:1;
}
.proj-card{
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.proj-card:first-child{
  grid-row:span 2;
}
.proj-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform 0.8s cubic-bezier(0.4,0,0.2,1);
  will-change:transform;
}
.proj-card:hover .proj-img{transform:scale(1.05);}
.proj-grad{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(61,43,31,0.85) 0%,rgba(61,43,31,0.05) 55%);
  opacity:0;
  transition:opacity 0.5s ease;
}
.proj-card:hover .proj-grad{opacity:1;}
.proj-label{
  position:absolute;
  top:28px;left:28px;
  font-size:10px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:rgba(245,240,235,0.65);
  background:rgba(61,43,31,0.35);
  padding:7px 14px;
  backdrop-filter:blur(8px);
  transition:opacity 0.35s ease;
}
.proj-card:hover .proj-label{opacity:0;}
.proj-info{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:36px;
  opacity:0;
  transform:translateY(16px);
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.proj-card:hover .proj-info{
  opacity:1;
  transform:translateY(0);
}
.proj-type{
  font-size:9px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:8px;
  font-weight:500;
}
.proj-name{
  font-size:20px;
  font-weight:300;
  color:#F5F0EC;
  font-family:'DM Sans',sans-serif;
  letter-spacing:0.01em;
}

/* —— Stats —— */
.stats-bar{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  margin-top:1px;
}
.stat-item{
  background:var(--white);
  padding:16px 20px;
  text-align:center;
}
.stat-num{
  font-family:'DM Sans',sans-serif;
  font-size:36px;
  font-weight:300;
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.02em;
}
.stat-label{
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:10px;
  font-weight:500;
}

/* —— Why —— */
/* —— Why LumiSync — Dramatic Comparison — */
.why-s{height:100vh;overflow:hidden;display:flex;flex-direction:column;
  background:var(--white);
  padding:24px 64px 20px;
  position:relative;
  overflow:hidden;
  justify-content:center;
}

/* Header */
.why-header{
  text-align:center;
  max-width:700px;
  margin:0 auto 16px;
  position:relative;
  z-index:1;
  flex-shrink:0;
}
.why-header .t-h2{
  color:var(--ink);
  font-size:clamp(36px,5vw,64px);
  letter-spacing:-0.02em;
}
.why-header .t-h2 em{
  color:var(--gold);
  font-style:normal;
  font-weight:400;
}
.why-sub{
  font-size:14px;
  color:var(--muted);
  font-weight:300;
  line-height:1.6;
  margin-top:10px;
  letter-spacing:0.01em;
}

/* Two-column comparison — offset cards */
.why-duel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:1100px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

/* LEFT — Without Partner */
.why-col-bad{
  background:rgba(245,240,235,0.5);
  border:0.5px solid var(--border);
  border-radius:8px;
  padding:20px 24px;
  position:relative;
  transform:translateY(4px);
}
.why-col-title-bad{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:600;
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:12px;
}
.why-col-title-bad::before{
  content:'';
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(158,148,138,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.why-bad-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:8px 0;
  border-bottom:0.5px solid rgba(181,173,165,0.2);
}
.why-bad-item:last-child{border-bottom:none;}
.why-bad-x{
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(139,58,58,0.08);
  border:0.5px solid rgba(139,58,58,0.3);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
  font-size:9px;
  color:#8B3A3A;
  font-weight:500;
}
.why-bad-text{
  font-size:13px;
  color:var(--ink-light);
  font-weight:300;
  line-height:1.7;
}
.why-bad-text strong{
  color:#8B3A3A;
  font-weight:500;
}

/* RIGHT — With LumiSync */
.why-col-good{
  background:var(--charcoal);
  border-radius:8px;
  padding:20px 24px;
  position:relative;
  box-shadow:0 20px 60px rgba(61,43,31,0.2);
}
.why-col-good::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  border-radius:8px 8px 0 0;
}
.why-col-title-good{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:600;
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:12px;
}
.why-col-title-good::before{
  content:'';
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(196,168,130,0.15);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.why-good-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:8px 0;
  border-bottom:0.5px solid rgba(196,168,130,0.1);
}
.why-good-item:last-child{border-bottom:none;}
.why-good-check{
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(91,123,91,0.1);
  border:0.5px solid #5B7B5B;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
  font-size:10px;
  color:#5B7B5B;
  font-weight:500;
}
.why-good-text{
  font-size:13px;
  color:rgba(245,240,235,0.85);
  font-weight:300;
  line-height:1.7;
}
.why-good-text strong{
  color:var(--gold-light);
  font-weight:400;
}

/* CTA */
.why-cta{
  margin-top:16px;
  text-align:center;
  position:relative;
  z-index:1;
}

/* —— Reviews —— */
.rv-s{min-height:auto;overflow:hidden;display:flex;flex-direction:column;background:var(--white);border-top:0.5px solid var(--border);padding:64px 0;}
.rv-head{
  padding:0 64px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:40px;
  margin-bottom:32px;
}
.rv-score-num{
  font-family:'DM Sans',sans-serif;
  font-size:56px;
  font-weight:300;
  color:var(--ink);
  line-height:1;
  letter-spacing:-1px;
}
.rv-stars{color:var(--gold);font-size:14px;letter-spacing:4px;margin:8px 0 6px;}
.rv-score-sub{font-size:12px;color:var(--muted);font-weight:300;letter-spacing:0.02em;}
.rv-gbadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  padding:8px 14px;
  border:0.5px solid var(--border);
  font-size:10px;
  color:var(--muted);
  letter-spacing:0.06em;
  background:var(--white);
}
.rv-gdot{width:7px;height:7px;border-radius:50%;background:#4285f4;flex-shrink:0;}
.rv-ctrl-btns{display:flex;gap:10px;justify-content:flex-end;margin-bottom:16px;}
.rv-btn{
  width:48px;
  height:48px;
  border:0.5px solid var(--border);
  background:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  color:var(--ink);
}
.rv-btn:hover{background:var(--ink);color:var(--white);border-color:var(--ink);}
.rv-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none;}
.rv-progress{display:flex;gap:8px;align-items:center;justify-content:flex-end;}
.rv-dot{
  width:20px;
  height:2px;
  background:var(--border);
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
  cursor:pointer;
}
.rv-dot.active{background:var(--gold);width:32px;}
.rv-track-wrap{overflow:hidden;padding:4px 0 12px;}
.rv-track{
  display:flex;
  gap:24px;
  transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);
  padding:0 64px;
  will-change:transform;
}
.rv-card{
  flex:0 0 340px;
  background:var(--warm);
  border:0.5px solid #D4C8B8;
  padding:24px 20px;
  position:relative;
  overflow:hidden;
  transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  cursor:default;
}
.rv-card:hover{
  border-color:var(--gold);
  transform:translateY(-6px);
  box-shadow:0 16px 48px rgba(74,55,40,0.06);
}
.rv-card-bar{
  position:absolute;
  top:0;left:0;
  width:2.5px;
  height:0;
  background:var(--gold);
  transition:height 0.55s cubic-bezier(0.4,0,0.2,1);
}
.rv-card:hover .rv-card-bar{height:100%;}
.rv-card-q{
  position:absolute;
  top:18px;right:20px;
  font-family:'DM Sans',sans-serif;
  font-size:68px;
  font-weight:300;
  color:var(--gold-pale);
  line-height:1;
  pointer-events:none;
}
.rv-card-stars{color:var(--gold);font-size:12px;letter-spacing:3px;margin-bottom:18px;}
.rv-card-text{
  font-size:14.5px;
  color:var(--ink-light);
  line-height:1.9;
  font-weight:300;
  margin-bottom:24px;
}
.rv-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:18px;
  border-top:0.5px solid #DED8D0;
}
.rv-card-name{font-size:12px;color:var(--gold);font-weight:500;letter-spacing:0.06em;}
.rv-card-area{font-size:11px;color:var(--muted);font-weight:300;margin-top:4px;}
.rv-card-av{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--gold-pale);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:500;
  color:var(--gold);
  flex-shrink:0;
}

/* —— Partners —— */
.partners-s{
  min-height:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--charcoal);
  padding:80px 64px;
  position:relative;
}
.partners-s::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:500px;
  height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,168,130,0.02) 0%,transparent 70%);
  pointer-events:none;
}
.partners-top{
  text-align:center;
  position:relative;
  z-index:1;
  margin-bottom:56px;
}
.partners-title{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(28px,3.5vw,44px);
  font-weight:300;
  color:#F5F0EB;
  letter-spacing:-0.02em;
  line-height:1.1;
}
.partners-title em{
  font-style:normal;
  font-weight:400;
  color:var(--gold);
}
.partners-sub{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:300;
  color:rgba(245,240,235,0.50);
  letter-spacing:0.02em;
  margin-top:12px;
  line-height:1.7;
}
/* —— Marquee Rows —— */
.marquee-wrap{
  width:100%;
  overflow:hidden;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:0;
  mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.marquee-row{
  display:flex;
  width:max-content;
  padding:20px 0;
  border-top:0.5px solid rgba(245,240,235,0.06);
}
.marquee-row:last-child{
  border-bottom:0.5px solid rgba(245,240,235,0.06);
}
.marquee-track{
  display:flex;
  align-items:center;
  gap:0;
  animation:marquee-left 60s linear infinite;
}
.marquee-track.right{
  animation:marquee-right 60s linear infinite;
}
.marquee-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 40px;
  border-right:0.5px solid rgba(245,240,235,0.08);
  white-space:nowrap;
  cursor:default;
}
.marquee-item:last-child{border-right:none;}
.marquee-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
  opacity:0.4;
  flex-shrink:0;
}
.marquee-name{
  font-size:11px;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(245,240,235,0.55);
  transition:color 0.3s ease;
}
.marquee-item:hover .marquee-name{color:rgba(245,240,235,0.85);}
.marquee-item:hover .marquee-dot{opacity:1;}
@keyframes marquee-left{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
@keyframes marquee-right{
  0%{transform:translateX(-50%);}
  100%{transform:translateX(0);}
}


/* —— Team —— */
.team-s{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--white);position:relative;overflow:hidden;}
.team-s::before{
  content:'';
  position:absolute;
  bottom:-200px;right:-150px;
  width:500px;height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,240,235,0.9) 0%,transparent 70%);
  pointer-events:none;
  z-index:0;
}
.team-inner{
  display:grid;
  grid-template-columns:38% 62%;
  min-height:0;
  height:100%;
}
.team-img{
  position:relative;
  overflow:hidden;
}
.team-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter:brightness(0.88) saturate(0.92);
}
.team-content{
  padding:24px 56px 24px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.team-content > p{
  font-size:16px;
  color:var(--muted);
  font-weight:300;
  line-height:1.8;
  margin-top:16px;
}
.team-features{
  list-style:none;
  margin:20px 0 28px;
}
.team-features li{
  font-size:14px;
  color:var(--ink-light);
  padding:8px 0;
  border-bottom:0.5px solid var(--border);
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:300;
  letter-spacing:0.01em;
}
.team-features li::before{
  content:'\2014';
  color:var(--gold);
  flex-shrink:0;
  font-weight:400;
}

/* —— Showroom —— */
.showroom-s{min-height:auto;overflow:hidden;display:flex;flex-direction:column;
  background:#F0EBE5;
  padding:48px 64px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.showroom-s::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:200px;
  background:linear-gradient(to bottom,rgba(245,240,235,0.6) 0%,transparent 100%);
  pointer-events:none;
}
/* Subtle radial texture */
.showroom-s::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 30% 20%,rgba(196,168,130,0.04) 0%,transparent 50%),
    radial-gradient(circle at 70% 80%,rgba(196,168,130,0.03) 0%,transparent 50%);
  pointer-events:none;
  z-index:0;
}
/* Rotating concentric circles */
.showroom-s .show-circles{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:700px;
  height:700px;
  border-radius:50%;
  border:0.5px solid rgba(196,168,130,0.10);
  pointer-events:none;
  animation:showroomRotate 60s linear infinite;
  z-index:0;
}
.showroom-s .show-circles::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:400px;
  height:400px;
  border-radius:50%;
  border:0.5px solid rgba(196,168,130,0.08);
}
/* Dashed ring */
.showroom-s .show-circles::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:550px;
  height:550px;
  border-radius:50%;
  border:0.5px dashed rgba(196,168,130,0.06);
}
@keyframes showroomRotate{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}
.showroom-s .show-c{
  position:relative;
  z-index:2;
}

/* —— Footer —— */
footer{background:var(--charcoal);}
.footer-main{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:40px;
  padding:32px 64px 24px;
  border-bottom:0.5px solid rgba(245,240,235,0.05);
}
.footer-logo{
  font-family:'DM Sans',sans-serif;
  font-size:24px;
  letter-spacing:0.12em;
  color:rgba(245,240,235,0.90);
  margin-bottom:16px;
}
.footer-logo span{color:var(--gold);}
.footer-tagline{
  font-size:13px;
  color:rgba(245,240,235,0.65);
  font-weight:300;
  line-height:1.75;
  max-width:260px;
}
.footer-socials{
  display:flex;
  gap:10px;
  margin-top:28px;
}
.footer-socials a{
  width:40px;
  height:40px;
  border-radius:50%;
  border:0.5px solid rgba(245,240,235,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  text-decoration:none;
}
.footer-socials a:hover{
  border-color:var(--gold);
  transform:translateY(-2px);
}
.footer-socials a:hover svg{stroke:var(--gold);}
.footer-socials a svg{transition:stroke 0.3s ease;}
.footer-heading{
  font-size:9px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
  font-weight:500;
}
.footer-address{
  font-size:13px;
  color:rgba(245,240,235,0.70);
  font-weight:300;
  line-height:1.85;
}
.footer-address strong{
  color:rgba(245,240,235,0.90);
  font-weight:400;
}
.footer-wa-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  background:rgba(37,211,102,0.05);
  border:0.5px solid rgba(37,211,102,0.15);
  font-size:12px;
  color:rgba(37,211,102,0.65);
  font-family:'DM Sans',sans-serif;
  text-decoration:none;
  transition:all 0.3s ease;
  margin-top:18px;
}
.footer-wa-btn:hover{
  background:rgba(37,211,102,0.10);
  border-color:rgba(37,211,102,0.28);
}
.footer-hours{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.footer-hours span:first-child{
  font-size:14px;
  color:rgba(245,240,235,0.35);
  font-weight:300;
}
.footer-hours .sep{
  flex:1;
  height:0.5px;
  background:rgba(245,240,235,0.05);
}
.footer-hours span:last-child{
  font-size:14px;
  color:rgba(245,240,235,0.50);
  white-space:nowrap;
}
.footer-open-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 18px;
  border:0.5px solid rgba(37,211,102,0.12);
  font-size:11px;
  color:rgba(37,211,102,0.55);
  font-weight:300;
}
.open-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(37,211,102,0.60);
  animation:pulse-dot 2.5s ease-in-out infinite;
}
@keyframes pulse-dot{
  0%,100%{opacity:0.5;transform:scale(1);}
  50%{opacity:1;transform:scale(1.3);}
}
.footer-links-col{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.footer-links-col a{
  font-size:13px;
  color:rgba(245,240,235,0.65);
  text-decoration:none;
  font-weight:300;
  transition:color 0.3s ease;
}
.footer-links-col a:hover{color:var(--gold);}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 64px;
}
.footer-bottom p{
  font-size:11px;
  color:rgba(245,240,235,0.45);
  font-weight:300;
}
.footer-bottom-links{display:flex;gap:28px;}
.footer-bottom-links a{
  font-size:11px;
  color:rgba(245,240,235,0.45);
  text-decoration:none;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:color 0.3s ease;
}
.footer-bottom-links a:hover{color:var(--gold);}

/* —— Floating WhatsApp —— */
#wa-float{
  position:fixed;
  bottom:32px;right:32px;
  z-index:9999;
  width:60px;height:60px;
  border-radius:50%;
  background:#25d366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,0.3);
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  text-decoration:none;
  animation:wa-pulse 2.5s ease-in-out infinite;
}
#wa-float:hover{
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(37,211,102,0.45);
}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.3),0 0 0 0 rgba(37,211,102,0.25);}
  70%{box-shadow:0 4px 20px rgba(37,211,102,0.3),0 0 0 14px rgba(37,211,102,0);}
}

/* —— Noise Texture —— */
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9998;
  opacity:0.015;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:256px 256px;
}

/* —— Responsive —— */
@media(max-width:1024px){
  .hero{padding:0 32px 80px;}
  .hero-grad{
    background:linear-gradient(to right,
      rgba(61,43,31,0.97) 0%,
      rgba(61,43,31,0.88) 25%,
      rgba(61,43,31,0.65) 40%,
      rgba(61,43,31,0.30) 55%,
      rgba(61,43,31,0.08) 65%,
      transparent 72%
    );
  }
  .hero-stats{right:32px;bottom:80px;}
  .hero-scroll{left:32px;bottom:80px;}
  .hero h1{font-size:clamp(40px,9vw,56px);}
  .hero-c{max-width:420px;}
  .hero-dots{right:32px;}
  .section-pad{padding:100px 32px;}
  .section-pad-sm{padding:60px 32px;}
  .services-header{padding:8px 32px 0;}
  .services-header-inner{grid-template-columns:1fr;gap:12px;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .svc-card-img{padding-top:0;flex:1;}
  .process-inner{padding:40px 32px;max-width:100%;}
  .process-timeline{flex-wrap:wrap;gap:24px;padding-top:0;}
  .process-timeline::before{display:none;}
  .timeline-step{flex:1 1 30%;min-width:140px;padding:0;text-align:left;}
  .timeline-step::before{display:none;}
  .timeline-step .step-num{font-size:32px;margin-bottom:8px;}
  .timeline-step .step-title{font-size:12px;}
  .projects-header{padding:60px 32px 32px;}
  .proj-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:50vh;min-height:320px;}
  .proj-card:first-child{grid-row:span 1;min-height:260px;}
  .proj-card{min-height:200px;}
  .proj-stats-bar{flex-direction:column;}
  .proj-stat{border-right:none;border-bottom:0.5px solid var(--border);}
  .why-s{padding:24px 32px 20px;}
  .why-grid{grid-template-columns:1fr;}
  .rv-head{grid-template-columns:1fr;gap:24px;padding:0 32px;}
  .rv-card{flex:0 0 340px;}
  .partners-s{padding:0 32px;}
  .logo-grid{flex-wrap:wrap;}
  .logo-cell{flex:1 1 33%;padding:28px 20px;}
  .logo-cell + .logo-cell{border-left:none;border-top:0.5px solid rgba(245,240,235,0.08);}
  .partners-top{margin-bottom:36px;}
  .team-inner{grid-template-columns:1fr;}
  .team-img{min-height:240px;}
  .team-content{padding:24px 36px;}
  .showroom-s{padding:72px 32px;}
  .footer-main{grid-template-columns:1fr 1fr;gap:36px;padding:44px 32px 32px;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;padding:24px 32px;}
}
@media(max-width:768px){

  .hero{padding:0 24px 60px;justify-content:center;padding-top:100px;}
  .hero-grad{
    background:linear-gradient(to right,
      rgba(61,43,31,0.96) 0%,
      rgba(61,43,31,0.90) 35%,
      rgba(61,43,31,0.75) 50%,
      rgba(61,43,31,0.40) 65%,
      rgba(61,43,31,0.15) 75%,
      transparent 85%
    );
  }
  .hero-c{max-width:100%;text-align:center;align-items:center;display:flex;flex-direction:column;}
  .hero h1{font-size:clamp(36px,11vw,52px);}
  .hero-sub{max-width:90%;margin-left:auto;margin-right:auto;}
  .hero-acts{justify-content:center;}
  .hero-stats{display:none;}
  .hero-dots{flex-direction:row;right:auto;left:50%;transform:translateX(-50%);top:auto;bottom:36px;}
  .hero-scroll{display:none;}
  .services-header{padding:8px 24px 0;}
  .services-grid{grid-template-columns:1fr;}
  .svc-card-img{padding-top:0;flex:1;}
  .svc-card-body{padding:40px 16px 12px;}
  .process-inner{padding:32px 24px;max-width:100%;}
  .process-timeline{flex-direction:column;gap:16px;padding-top:0;}
  .process-timeline::before{display:none;}
  .timeline-step{display:flex;align-items:center;gap:16px;text-align:left;padding:0;}
  .timeline-step::before{display:none;}
  .timeline-step .step-num{font-size:28px;margin-bottom:0;flex-shrink:0;width:48px;}
  .timeline-step .step-title{font-size:12px;margin-bottom:4px;}
  #process-dot{display:none;}
  .projects-header{padding:80px 24px 48px;}
  .proj-gallery{grid-template-columns:1fr;}
  .proj-card:first-child{grid-column:span 1;min-height:280px;}
  .proj-card:not(:first-child){min-height:240px;}
  .stats-bar{grid-template-columns:1fr;}
  .stat-item{padding:28px 20px;}
  .why-s{padding:20px 24px 16px;}
  .why-duel{grid-template-columns:1fr;}
  .why-col-bad,.why-col-good{padding:16px 20px;}
  .rv-head{padding:0 24px;}
  .rv-track{padding:0 24px;}
  .rv-card{flex:0 0 300px;}
  .partners-s{padding:0 24px;}
  .logo-cell{flex:1 1 50%;padding:24px 16px;}
  .partners-title{font-size:24px;}
  .partners-top{flex-direction:column;align-items:flex-start;gap:16px;}
  .team-img{min-height:280px;}
  .team-content{padding:20px 24px;}
  .showroom-s{padding:100px 24px;}
  .footer-main{grid-template-columns:1fr;gap:40px;}
  .footer-bottom{padding:20px 24px;}
}
/* =========================================
   MOBILE HERO HOTFIX
   Removes desktop slide indicator and reduces WhatsApp size on phone.
========================================= */
@media (max-width: 768px){
  .hero{
    min-height:100svh;
    height:auto;
    padding:112px 24px 96px !important;
  }

  .hero-indicator{
    display:none !important;
  }

  .hero h1{
    font-size:clamp(44px, 15vw, 66px) !important;
    line-height:1.03 !important;
  }

  .hero-sub{
    font-size:16px !important;
    line-height:1.8 !important;
    max-width:92% !important;
  }

  .hero-acts{
    width:100%;
    gap:14px;
  }

  .hero-acts .btn{
    width:100%;
    max-width:520px;
  }

  #wa-float{
    width:56px !important;
    height:56px !important;
    right:20px !important;
    bottom:24px !important;
    z-index:99999 !important;
  }

  #wa-float svg{
    width:28px !important;
    height:28px !important;
  }
}

@media (max-width: 420px){
  .hero h1{
    font-size:clamp(40px, 14vw, 58px) !important;
  }

  .hero-tag{
    font-size:9px !important;
    letter-spacing:.22em !important;
    gap:12px !important;
  }
}

/* =========================================
   MOBILE HERO FINAL FIX
   Hide desktop side indicator on tablet/mobile and keep headline inside screen.
========================================= */
@media (max-width: 1024px){
  .hero-indicator{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

@media (max-width: 768px){
  .hero{
    overflow:hidden !important;
  }

  .hero-c{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .hero h1{
    font-size:clamp(38px, 12.2vw, 54px) !important;
    line-height:1.08 !important;
    max-width:100% !important;
    overflow-wrap:normal !important;
  }

  .hero-sub{
    font-size:15px !important;
    max-width:88% !important;
  }
}

@media (max-width: 430px){
  .hero{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .hero h1{
    font-size:clamp(36px, 11.4vw, 49px) !important;
  }

  .hero-acts .btn{
    max-width:100% !important;
  }
}
