:root{
  --navy:#2a1e1d;
  --navy2:#4c312f;
  --gold:#ce0518;
  --gold2:#375735;
  --cream:#f5dfdc;
  --offwhite:#f7efed;
  --steel:#8a7d7a;
  --light:#d9c2bf;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--offwhite);color:var(--navy);overflow-x:hidden;}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

/* ── NAV ── */
header{
  position:fixed;top:0;left:0;right:0;z-index:999;
  padding:0 60px;
  background:rgba(42,30,29,0.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(206,5,24,0.22);
  transition:all .3s;
}
nav{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;gap:18px;}
.logo-img{width:64px;height:auto;object-fit:contain;border-radius:12px;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-main{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--white);letter-spacing:3px;text-transform:uppercase;}
.logo-main span{color:var(--gold);}
.logo-sub{font-family:'DM Mono',monospace;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--light);margin-top:3px;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--light);text-decoration:none;transition:color .3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s;}
.nav-links a:hover{color:var(--gold2);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta{padding:12px 26px;background:var(--gold2);color:var(--white);font-family:'DM Mono',monospace;font-size:0.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;border-radius:999px;cursor:pointer;transition:all .3s;box-shadow:0 10px 24px rgba(55,87,53,0.16);}
.nav-cta:hover{background:#2f5133;transform:translateY(-1px);}

/* ── HERO ── */
.hero{
  min-height:100vh;
  background:radial-gradient(circle at top left, rgba(206,5,24,0.18), transparent 22%),
    linear-gradient(180deg, #2a1e1d 0%, #1d1413 100%);
  display:grid;grid-template-columns:1fr 1fr;
  position:relative;overflow:hidden;
  padding-top:72px;
}
/* geometric grid bg */
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(206,5,24,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(206,5,24,0.06) 1px,transparent 1px);
  background-size:60px 60px;
}
.hero-text{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 60px;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);margin-bottom:28px;
}
.hero-badge::before{content:'';width:30px;height:1px;background:var(--gold);}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,5vw,5.5rem);
  font-weight:900;line-height:1.0;
  color:var(--white);margin-bottom:28px;
}
.hero h1 em{font-style:italic;color:var(--gold);display:block;}
.hero-desc{font-size:1rem;line-height:1.8;color:var(--steel);max-width:420px;margin-bottom:48px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn-gold{padding:14px 32px;background:var(--gold);color:var(--white);font-family:'DM Mono',monospace;font-size:0.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s;box-shadow:0 12px 24px rgba(206,5,24,0.18);}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px);}
.btn-ghost{padding:14px 32px;background:transparent;color:var(--white);font-family:'DM Mono',sans-serif;font-size:0.72rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all .3s;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

/* elevator visual */
.hero-visual{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.shaft-wrap{position:relative;width:260px;height:480px;}
.shaft{
  position:absolute;inset:0;
  background:linear-gradient(180deg,#2a1e1d 0%,#1d1413 100%);
  border:1px solid rgba(206,5,24,0.25);
}
.shaft-rail{position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#2a1d1d,#3c2726,#2a1d1d);}
.shaft-rail.l{left:20px;} .shaft-rail.r{right:20px;}
/* floor marks */
.fmark{position:absolute;left:0;right:0;height:1px;background:rgba(206,5,24,0.12);}
.fmark span{position:absolute;right:8px;top:-10px;font-family:'DM Mono',monospace;font-size:0.5rem;color:rgba(206,5,24,0.35);letter-spacing:1px;}
/* cab */
.cab{
  position:absolute;left:30px;right:30px;height:150px;
  background:linear-gradient(135deg,#2d1f1f,#2f2323,#231716);
  border:1px solid rgba(206,5,24,0.5);
  box-shadow:0 0 30px rgba(206,5,24,0.12),inset 0 1px 0 rgba(255,255,255,0.08);
  animation:lift 5s ease-in-out infinite;
  display:flex;flex-direction:column;
}
@keyframes lift{0%,100%{top:300px;}45%,55%{top:30px;}}
.cab-header{height:6px;background:linear-gradient(90deg,#2a3a4a,var(--gold),#2a3a4a);}
.cab-body{flex:1;display:flex;gap:2px;padding:10px;}
.door{flex:1;background:linear-gradient(180deg,#2b2323,#1e1717);border:1px solid rgba(255,255,255,0.06);position:relative;}
.door::after{content:'';position:absolute;left:50%;top:20%;width:1px;height:60%;transform:translateX(-50%);background:rgba(206,5,24,0.2);}
.cab-panel{width:28px;display:flex;flex-direction:column;gap:4px;align-items:center;padding-top:4px;}
.pb{width:16px;height:16px;border-radius:50%;border:1px solid rgba(206,5,24,0.35);background:rgba(206,5,24,0.08);}
.pb.on{background:var(--gold);box-shadow:0 0 8px var(--gold);}

/* ── STATS ── */
.stats{
  background:var(--navy2);
  border-top:1px solid rgba(206,5,24,0.15);
  border-bottom:1px solid rgba(206,5,24,0.15);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat{
  padding:40px 24px;text-align:center;
  border-right:1px solid rgba(206,5,24,0.1);
  position:relative;overflow:hidden;
  transition:background .3s;
}
.stat:last-child{border-right:none;}
.stat:hover{background:rgba(206,5,24,0.05);}
.stat-n{font-family:'Playfair Display',serif;font-size:3rem;font-weight:900;color:var(--gold);line-height:1;}
.stat-l{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--steel);margin-top:8px;}

/* ── ABOUT ── */
.about-section{padding:100px 60px;background:var(--offwhite);display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1300px;margin:auto;}
.about-tag{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.about-tag::before{content:'';width:30px;height:1px;background:var(--gold);}
.about-section h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,3rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:24px;}
.about-section h2 em{color:var(--gold);font-style:italic;}
.about-section p{font-size:0.95rem;line-height:1.9;color:#4a5568;margin-bottom:20px;}
.about-right{display:flex;flex-direction:column;gap:20px;justify-content:center;}
.feat-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--white);border-left:3px solid var(--gold);box-shadow:0 2px 12px rgba(0,0,0,0.05);}
.feat-icon{font-size:1.6rem;line-height:1;}
.feat-text h4{font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.9rem;color:var(--navy);margin-bottom:4px;}
.feat-text p{font-size:0.82rem;color:#6b7a8d;line-height:1.6;}

/* ── SERVICES ── */
.services-section{padding:100px 60px;background:var(--navy);position:relative;overflow:hidden;}
.services-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(206,5,24,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(206,5,24,0.04) 1px,transparent 1px);background-size:40px 40px;}
.sec-head{text-align:center;margin-bottom:64px;position:relative;z-index:1;}
.sec-tag{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.sec-head h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,3rem);font-weight:700;color:var(--white);line-height:1.2;}
.sec-head h2 em{color:var(--gold);font-style:italic;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.card{
  background:#391f1f;padding:40px 32px;
  border:1px solid rgba(206,5,24,0.1);
  position:relative;overflow:hidden;
  transition:all .3s;
  cursor:default;
}
.card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .4s;}
.card:hover{background:#4b2d2d;transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,0.4);}
.card:hover::after{transform:scaleX(1);}
.card-num{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:3px;color:rgba(206,5,24,0.4);margin-bottom:20px;}
.card-icon{font-size:2rem;margin-bottom:16px;}
.card h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--white);margin-bottom:12px;font-weight:600;}
.card p{font-size:0.85rem;line-height:1.75;color:var(--steel);}

/* ── CONTACT ── */
.contact-section{padding:100px 60px;background:var(--offwhite);display:grid;grid-template-columns:1fr 1.2fr;gap:80px;max-width:1300px;margin:auto;}
.contact-left .sec-tag{color:var(--gold);}
.contact-left h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,3rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:24px;}
.contact-left h2 em{color:var(--gold);font-style:italic;}
.contact-left p{font-size:0.95rem;color:#4a5568;line-height:1.8;margin-bottom:40px;}
.info-items{display:flex;flex-direction:column;gap:20px;}
.info-item{display:flex;align-items:flex-start;gap:16px;}
.info-dot{width:38px;height:38px;min-width:38px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.info-body .lbl{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
.info-body .val{font-size:0.88rem;color:var(--navy);font-weight:500;}

/* form */
.form-wrap{background:var(--white);padding:48px;box-shadow:0 10px 40px rgba(0,0,0,0.08);}
.form-wrap h3{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy);margin-bottom:32px;font-weight:600;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.fg.full{grid-column:1/-1;}
.fg label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--steel);}
.fg input,.fg select,.fg textarea{
  padding:12px 14px;
  border:1px solid #d8e0ea;
  background:var(--offwhite);
  font-family:'DM Sans',sans-serif;font-size:0.9rem;
  color:var(--navy);outline:none;
  transition:border-color .3s;
  appearance:none;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);}
.fg textarea{min-height:110px;resize:vertical;}
.submit-row{margin-top:8px;display:flex;align-items:center;gap:20px;}
.success{font-family:'DM Mono',monospace;font-size:0.75rem;letter-spacing:1px;color:var(--gold);display:none;}

/* ── MAP ── */
.map-section{
  width:100%;height:500px;background:var(--offwhite);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.map-section iframe{
  width:100%;height:100%;border:none;
}

/* ── FOOTER ── */
footer{
  background:var(--navy);
  border-top:1px solid rgba(206,5,24,0.15);
  padding:36px 60px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.foot-logo{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--white);letter-spacing:2px;}
.foot-logo span{color:var(--gold);}
.foot-links{display:flex;gap:28px;}
.foot-links a{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--steel);text-decoration:none;transition:color .3s;}
.foot-links a:hover{color:var(--gold);}
.foot-copy{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:1px;color:rgba(122,143,166,0.5);}

/* ── ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* WhatsApp floating button */
.whatsapp-link{position:fixed;bottom:24px;right:24px;z-index:1001;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,0.22);transition:transform .25s ease,box-shadow .25s ease;}
.whatsapp-link:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(0,0,0,0.24);}
.whatsapp-link svg{width:28px;height:28px;fill:#ffffff;}
