JJ Promoters — Real Estate Developers & Promoters, Tamil Nadu
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
:root {
–ink: #0A0806; –ink2: #1A1008;
–cream: #F9F5EF; –gold: #C8942A; –gold2: #E8B84B;
–copper: #A0522D; –white: #FFFFFF;
–muted: rgba(255,255,255,0.5);
–border: rgba(255,255,255,0.1);
}
body { font-family:’Outfit’,sans-serif; background:var(–ink); color:#fff; overflow-x:hidden; cursor:none; }
/* CURSOR */
.cur,.cur-ring { position:fixed; top:0; left:0; pointer-events:none; z-index:9999; border-radius:50%; transform:translate(-50%,-50%); }
.cur { width:10px; height:10px; background:var(–gold); transition:width .3s,height .3s; }
.cur-ring { width:38px; height:38px; border:1.5px solid var(–gold); opacity:.5; z-index:9998; transition:width .35s,height .35s,opacity .3s; }
/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; align-items:center; justify-content:space-between; padding:26px 64px; transition:all .4s; }
nav.solid { background:rgba(10,8,6,.93); backdrop-filter:blur(18px); border-bottom:1px solid var(–border); padding:16px 64px; }
.logo { font-family:‘Playfair Display’,serif; font-size:1.45rem; font-weight:900; color:#fff; text-decoration:none; display:flex; align-items:center; }
.logo b { color:var(–gold); font-size:2rem; line-height:0; margin:0 1px; }
.nav-links { display:flex; gap:38px; }
.nav-links a { font-size:.8rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(–muted); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:#fff; }
.nav-btn { background:var(–gold); color:var(–ink); padding:11px 26px; border-radius:100px; font-size:.8rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; transition:all .25s; box-shadow:0 4px 20px rgba(200,148,42,.35); }
.nav-btn:hover { background:var(–gold2); transform:translateY(-2px); box-shadow:0 10px 30px rgba(200,148,42,.45); }
/* HERO */
#hero { height:100vh; min-height:680px; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.hero-img { position:absolute; inset:0; background:url(‘https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=1800&q=85&auto=format&fit=crop’) center 30%/cover no-repeat; animation:hzoom 20s ease-in-out infinite alternate; }
@keyframes hzoom { from{transform:scale(1)} to{transform:scale(1.07)} }
.hero-ov { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(10,8,6,.25) 0%,rgba(10,8,6,.1) 35%,rgba(10,8,6,.6) 65%,rgba(10,8,6,.97) 100%); }
.hero-content { position:relative; z-index:2; padding:0 64px 88px; width:100%; }
.hero-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; animation:fup .9s .2s both; }
.hero-label-line { width:36px; height:1px; background:var(–gold); }
.hero-label span { font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(–gold); }
h1 { font-family:‘Playfair Display’,serif; font-size:clamp(3rem,7vw,6.8rem); font-weight:900; line-height:.95; margin-bottom:28px; animation:fup .9s .35s both; }
h1 em { font-style:italic; color:var(–gold); }
.hero-row { display:flex; align-items:flex-end; justify-content:space-between; animation:fup .9s .5s both; }
.hero-desc { font-size:1rem; font-weight:300; color:rgba(255,255,255,.62); line-height:1.72; max-width:460px; }
.hero-btns { display:flex; gap:14px; flex-shrink:0; }
.btn-gold { background:var(–gold); color:var(–ink); padding:15px 34px; border-radius:100px; font-weight:700; font-size:.87rem; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; transition:all .25s; box-shadow:0 4px 24px rgba(200,148,42,.4); }
.btn-gold:hover { background:var(–gold2); transform:translateY(-3px); box-shadow:0 12px 40px rgba(200,148,42,.45); }
.btn-ghost { background:rgba(255,255,255,.08); border:1px solid var(–border); color:#fff; padding:15px 34px; border-radius:100px; font-weight:500; font-size:.87rem; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; backdrop-filter:blur(10px); transition:all .25s; }
.btn-ghost:hover { background:rgba(255,255,255,.14); transform:translateY(-3px); }
@keyframes fup { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
/* TICKER */
.ticker-bar { background:var(–gold); height:50px; overflow:hidden; display:flex; align-items:center; }
.ticker-track { display:flex; animation:tick 28s linear infinite; white-space:nowrap; }
@keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { display:flex; align-items:center; gap:10px; padding:0 32px; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(–ink); flex-shrink:0; }
.tick-sep { opacity:.3; font-size:1.1rem; }
/* ABOUT */
#about { background:var(–ink2); display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; padding:120px 64px; }
.abt-imgs { position:relative; height:600px; }
.abt-img-main { position:absolute; top:0; left:0; right:70px; bottom:70px; border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.65); }
.abt-img-main img { width:100%; height:100%; object-fit:cover; }
.abt-img-sub { position:absolute; bottom:0; right:0; width:240px; height:300px; border-radius:14px; overflow:hidden; border:4px solid var(–ink2); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.abt-img-sub img { width:100%; height:100%; object-fit:cover; }
.abt-badge { position:absolute; top:28px; right:16px; background:var(–gold); color:var(–ink); border-radius:14px; padding:20px 22px; text-align:center; box-shadow:0 12px 40px rgba(200,148,42,.5); z-index:2; }
.abt-badge-n { font-family:‘Playfair Display’,serif; font-size:2.6rem; font-weight:900; line-height:1; }
.abt-badge-t { font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; margin-top:4px; }
.s-tag { display:inline-flex; align-items:center; gap:9px; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(–gold); margin-bottom:18px; }
.s-tag::before { content:’’; width:26px; height:1px; background:var(–gold); }
.s-title { font-family:‘Playfair Display’,serif; font-size:clamp(2.2rem,4vw,3.6rem); font-weight:900; line-height:1.08; margin-bottom:18px; }
.s-sub { font-size:.97rem; color:rgba(255,255,255,.48); line-height:1.75; max-width:500px; }
.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:40px; }
.trust-item { background:rgba(255,255,255,.04); border:1px solid var(–border); border-radius:12px; padding:20px; transition:all .25s; }
.trust-item:hover { background:rgba(200,148,42,.08); border-color:rgba(200,148,42,.3); }
.trust-icon { font-size:1.5rem; margin-bottom:9px; }
.trust-label { font-size:.85rem; font-weight:600; margin-bottom:4px; }
.trust-desc { font-size:.76rem; color:rgba(255,255,255,.38); line-height:1.5; }
/* PROJECTS */
#projects { background:var(–ink); padding:120px 64px; }
.proj-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:60px; }
.proj-grid { display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:390px 290px; gap:14px; }
.p-card { position:relative; border-radius:18px; overflow:hidden; cursor:pointer; }
.p-card:first-child { grid-row:1/3; }
.p-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.25,.46,.45,.94); display:block; }
.p-card:hover img { transform:scale(1.07); }
.p-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,8,6,.88) 0%,rgba(10,8,6,.05) 55%); transition:opacity .3s; }
.p-card:hover .p-ov { opacity:.82; }
.p-info { position:absolute; bottom:0; left:0; right:0; padding:28px; }
.p-tag { display:inline-block; background:var(–gold); color:var(–ink); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; padding:4px 11px; border-radius:100px; margin-bottom:10px; }
.p-name { font-family:‘Playfair Display’,serif; font-size:1.5rem; font-weight:700; line-height:1.2; margin-bottom:6px; }
.p-card:first-child .p-name { font-size:2.1rem; }
.p-loc { font-size:.8rem; color:rgba(255,255,255,.55); }
.p-arrow { position:absolute; top:20px; right:20px; width:40px; height:40px; background:rgba(255,255,255,.1); border:1px solid var(–border); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; backdrop-filter:blur(8px); opacity:0; transform:translateY(-5px); transition:all .3s; }
.p-card:hover .p-arrow { opacity:1; transform:translateY(0); }
/* WHY */
#why { background:url(‘https://images.unsplash.com/photo-1582407947304-fd86f028f716?w=1800&q=80&auto=format&fit=crop’) center/cover no-repeat fixed; position:relative; padding:120px 64px; }
.why-ov { position:absolute; inset:0; background:rgba(10,8,6,.88); }
.why-in { position:relative; z-index:1; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:64px; border-radius:18px; overflow:hidden; }
.w-item { background:rgba(255,255,255,.04); border:1px solid var(–border); padding:40px 28px; transition:background .3s; position:relative; overflow:hidden; }
.w-item::before { content:’’; position:absolute; inset:0; background:linear-gradient(135deg,rgba(200,148,42,.12) 0%,transparent 60%); opacity:0; transition:opacity .3s; }
.w-item:hover { background:rgba(255,255,255,.07); }
.w-item:hover::before { opacity:1; }
.w-icon { font-size:1.8rem; margin-bottom:16px; }
.w-num { font-family:‘Playfair Display’,serif; font-size:3.5rem; font-weight:900; color:var(–gold); opacity:.18; line-height:1; margin-bottom:20px; }
.w-item h3 { font-family:‘Playfair Display’,serif; font-size:1.18rem; font-weight:700; margin-bottom:12px; line-height:1.3; }
.w-item p { font-size:.82rem; color:rgba(255,255,255,.42); line-height:1.7; }
/* GALLERY */
#gallery { background:var(–ink2); padding:120px 0; }
.gal-head { padding:0 64px; margin-bottom:56px; }
.gal-scroll { display:flex; gap:14px; padding:0 64px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.gal-scroll::-webkit-scrollbar { display:none; }
.gal-item { flex-shrink:0; width:380px; height:500px; border-radius:18px; overflow:hidden; position:relative; scroll-snap-align:start; cursor:pointer; }
.gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.25,.46,.45,.94); display:block; }
.gal-item:hover img { transform:scale(1.08); }
.gal-label { position:absolute; bottom:20px; left:20px; right:20px; background:rgba(10,8,6,.7); backdrop-filter:blur(12px); border:1px solid var(–border); border-radius:11px; padding:14px 18px; }
.gal-label h4 { font-family:‘Playfair Display’,serif; font-size:1rem; font-weight:700; margin-bottom:3px; }
.gal-label p { font-size:.74rem; color:rgba(255,255,255,.45); }
/* LOCATIONS */
#locations { background:var(–ink); padding:120px 64px; }
.loc-wrap { display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:start; margin-top:60px; }
.loc-side { position:sticky; top:100px; }
.loc-side .s-sub { margin-bottom:32px; }
.loc-cta { display:inline-flex; align-items:center; gap:8px; border:1px solid var(–gold); color:var(–gold); padding:13px 26px; border-radius:100px; font-size:.8rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; transition:all .25s; }
.loc-cta:hover { background:var(–gold); color:var(–ink); }
.loc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.loc-card { background:rgba(255,255,255,.04); border:1px solid var(–border); border-radius:14px; overflow:hidden; transition:all .3s; }
.loc-card:hover { transform:translateY(-6px); border-color:rgba(200,148,42,.4); box-shadow:0 18px 50px rgba(0,0,0,.4); }
.loc-card-img { height:130px; overflow:hidden; }
.loc-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; display:block; }
.loc-card:hover .loc-card-img img { transform:scale(1.09); }
.loc-card-body { padding:16px; }
.loc-type { font-size:.68rem; color:var(–gold); font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px; }
.loc-name { font-family:‘Playfair Display’,serif; font-size:1rem; font-weight:700; margin-bottom:3px; }
.loc-count { font-size:.72rem; color:rgba(255,255,255,.3); }
/* TESTIMONIALS */
#testimonials { background:url(‘https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1600&q=80&auto=format&fit=crop’) center/cover no-repeat; position:relative; padding:120px 64px; }
.test-ov { position:absolute; inset:0; background:rgba(10,8,6,.9); }
.test-in { position:relative; z-index:1; }
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.t-card { background:rgba(255,255,255,.05); border:1px solid var(–border); border-radius:18px; padding:36px; backdrop-filter:blur(10px); transition:all .3s; position:relative; overflow:hidden; }
.t-card::after { content:’”’; position:absolute; top:-12px; right:20px; font-family:‘Playfair Display’,serif; font-size:8rem; font-weight:900; color:var(–gold); opacity:.07; line-height:1; pointer-events:none; }
.t-card:hover { background:rgba(255,255,255,.08); transform:translateY(-4px); border-color:rgba(200,148,42,.25); }
.t-stars { color:var(–gold); font-size:.85rem; letter-spacing:3px; margin-bottom:18px; }
.t-quote { font-family:‘Playfair Display’,serif; font-size:1.08rem; font-style:italic; line-height:1.65; color:rgba(255,255,255,.83); margin-bottom:28px; }
.t-author { display:flex; align-items:center; gap:13px; }
.t-av { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(–gold),var(–copper)); display:flex; align-items:center; justify-content:center; font-family:‘Playfair Display’,serif; font-size:1rem; font-weight:700; color:var(–ink); flex-shrink:0; }
.t-name { font-weight:600; font-size:.88rem; margin-bottom:2px; }
.t-loc { font-size:.74rem; color:rgba(255,255,255,.38); }
/* CONTACT */
#contact { display:grid; grid-template-columns:1fr 1fr; min-height:680px; padding:0; }
.c-left { padding:90px 64px; background:url(‘https://images.unsplash.com/photo-1570129477492-45c003edd2be?w=900&q=80&auto=format&fit=crop’) center/cover no-repeat; position:relative; display:flex; flex-direction:column; justify-content:flex-end; }
.c-left-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,8,6,.96) 0%,rgba(10,8,6,.45) 100%); }
.c-left-content { position:relative; z-index:1; }
.c-left .s-title { margin-bottom:14px; }
.c-left .s-sub { margin-bottom:40px; }
.c-det { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.c-icon { width:44px; height:44px; border-radius:10px; background:rgba(200,148,42,.15); border:1px solid rgba(200,148,42,.3); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.c-det-text strong { display:block; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(–gold); margin-bottom:2px; }
.c-det-text span { font-size:.92rem; color:rgba(255,255,255,.7); }
.c-right { background:var(–ink2); padding:80px 64px; display:flex; flex-direction:column; justify-content:center; }
.form-head { font-family:‘Playfair Display’,serif; font-size:2rem; font-weight:900; margin-bottom:32px; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.f-group { margin-bottom:16px; }
.f-group label { display:block; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.38); margin-bottom:7px; }
.f-group input,.f-group select,.f-group textarea { width:100%; padding:13px 16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:9px; font-family:‘Outfit’,sans-serif; font-size:.9rem; color:#fff; outline:none; resize:none; transition:border-color .25s,background .25s; -webkit-appearance:none; }
.f-group input::placeholder,.f-group textarea::placeholder { color:rgba(255,255,255,.22); }
.f-group input:focus,.f-group select:focus,.f-group textarea:focus { border-color:var(–gold); background:rgba(200,148,42,.06); }
.f-group select option { background:#1a1008; }
.f-submit { width:100%; padding:16px; background:var(–gold); color:var(–ink); border:none; border-radius:100px; font-family:‘Outfit’,sans-serif; font-size:.88rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; transition:all .25s; box-shadow:0 4px 22px rgba(200,148,42,.35); margin-top:6px; }
.f-submit:hover { background:var(–gold2); transform:translateY(-2px); box-shadow:0 12px 38px rgba(200,148,42,.45); }
/* FOOTER */
footer { background:#060402; padding:68px 64px 32px; border-top:1px solid rgba(255,255,255,.05); }
.ft { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; padding-bottom:52px; border-bottom:1px solid rgba(255,255,255,.05); margin-bottom:32px; }
.ft-logo { font-family:‘Playfair Display’,serif; font-size:1.45rem; font-weight:900; color:#fff; text-decoration:none; display:flex; align-items:center; margin-bottom:14px; }
.ft-logo b { color:var(–gold); font-size:2rem; line-height:0; margin:0 1px; }
.ft-desc { font-size:.83rem; color:rgba(255,255,255,.28); line-height:1.75; max-width:280px; }
.ft-col h4 { font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(–gold); margin-bottom:22px; }
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
.ft-col ul a { font-size:.83rem; color:rgba(255,255,255,.33); text-decoration:none; transition:color .2s; }
.ft-col ul a:hover { color:#fff; }
.ft-bot { display:flex; justify-content:space-between; align-items:center; }
.ft-copy { font-size:.76rem; color:rgba(255,255,255,.18); }
.ft-tag { font-family:‘Playfair Display’,serif; font-style:italic; font-size:.95rem; color:var(–gold); opacity:.65; }
/* TOAST */
.toast { position:fixed; bottom:32px; right:32px; z-index:999; display:flex; align-items:center; gap:12px; background:var(–gold); color:var(–ink); padding:16px 26px; border-radius:100px; font-weight:800; font-size:.86rem; box-shadow:0 10px 36px rgba(200,148,42,.45); transform:translateY(100px); opacity:0; transition:all .5s cubic-bezier(.34,1.56,.64,1); pointer-events:none; }
.toast.show { transform:translateY(0); opacity:1; }
/* REVEAL */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .8s ease,transform .8s ease; }
.reveal.up { opacity:1; transform:translateY(0); }
/* MOBILE */
@media(max-width:1100px){
nav{padding:18px 24px;} nav.solid{padding:14px 24px;}
.nav-links{display:none;}
section,#projects,#why,#testimonials,#locations{padding:72px 24px;}
#about{grid-template-columns:1fr;gap:48px;padding:72px 24px;}
.abt-imgs{height:380px;}
h1{font-size:2.8rem;}
.hero-content{padding:0 24px 72px;}
.hero-row{flex-direction:column;align-items:flex-start;gap:24px;}
.proj-grid{grid-template-columns:1fr;grid-template-rows:auto;}
.p-card:first-child{grid-row:auto;height:360px;}
.p-card{height:260px;}
.why-grid{grid-template-columns:1fr 1fr;}
#gallery{padding:72px 0;} .gal-head{padding:0 24px;} .gal-scroll{padding:0 24px;} .gal-item{width:300px;height:400px;}
.loc-wrap{grid-template-columns:1fr;gap:36px;} .loc-side{position:static;} .loc-grid{grid-template-columns:1fr 1fr;}
.test-grid{grid-template-columns:1fr;}
#contact{grid-template-columns:1fr;}
.c-left{min-height:320px;padding:40px 24px;}
.c-right{padding:48px 24px;}
.ft{grid-template-columns:1fr 1fr;gap:36px;}
.f-row{grid-template-columns:1fr;}
}
@media(max-width:600px){
.why-grid{grid-template-columns:1fr;} .loc-grid{grid-template-columns:1fr;} .ft{grid-template-columns:1fr;} .trust-grid{grid-template-columns:1fr;}
}
JJ·Promoters
Enquire Now ↗
Tamil Nadu’s Premier Real Estate Developers
Build Your
Dream on
Solid Ground
DTCP & CMDA approved plots, villas, and commercial spaces across 15+ cities in Tamil Nadu — 100% clear titles, zero legal hassles.
500+ Plots Delivered ◆
15+ Cities Across Tamil Nadu ◆
10+ Years of Trust ◆
100% DTCP Approved ◆
Clear Title Guarantee ◆
Residential · Commercial · Villas ◆
500+ Plots Delivered ◆
15+ Cities Across Tamil Nadu ◆
10+ Years of Trust ◆
100% DTCP Approved ◆
Clear Title Guarantee ◆
Residential · Commercial · Villas ◆
About JJ Promoters
Developers Who
Keep Their Word
Founded on integrity and built on expertise — JJ Promoters has been turning land ownership dreams into reality across Tamil Nadu. Every project approved, documented, and delivered as promised.
🏛️
DTCP & CMDA Approved
All layouts carry government approval for safe investment
📋
Clear Title & Patta
EC, chitta, Patta — verified and transferred in your name
🤝
Guided Registration
Our team walks with you from agreement to sub-registrar
💰
Home Loan Assistance
EMI-friendly options and bank loan support available
Villa LayoutJJ Green Villas
📍 Coimbatore, Tamil Nadu
↗
Residential PlotJJ Sunrise Plots
📍 Salem, Tamil Nadu
↗
CommercialJJ Metro Hub
📍 Chennai, Tamil Nadu
↗
Why Choose Us
4 Reasons Families
Trust JJ Promoters
🔒
01
Zero Legal Risk
Every plot title-verified, EC-cleared, encumbrance-free. No disputes or hidden ownership surprises after purchase.
✅
02
Government Approved
DTCP and CMDA approvals protect your bank loan eligibility, legal rights, and long-term resale value.
📌
03
End-to-End Support
From site visit to sub-registrar office — our team handles every step of documentation and registration.
💳
04
Flexible Payments
Home loan tie-ups, staged payments, and EMI-friendly booking amounts designed for every budget.
Property Gallery
Inside Our Projects
Where We Build
Our Presence Across Tamil Nadu
We identify high-growth locations before they peak — giving buyers maximum appreciation potential.
Find Your City →
Residential & Commercial
Chennai
3 Active Projects
Villas & Layouts
Coimbatore
2 Active Projects
Residential Plots
Madurai
2 Active Projects
Residential Plots
Salem
1 Active Project
Commercial Plots
Hosur
1 Active Project
Residential & Commercial
Trichy
Coming Soon
Customer Stories
What Our Buyers Say
★★★★★
“Bought my first plot through JJ Promoters in Salem. Patta and EC were ready on day one. No running around — they handled everything from site visit to registration.”
RK
Ramesh Kumar
Salem, Tamil Nadu
★★★★★
“DTCP approval, clear title, road access — everything in place. JJ Promoters made land buying completely stress-free. I referred my brother too and he also bought a plot.”
PM
Priya Murugesan
Coimbatore, Tamil Nadu
★★★★★
“Being a first-time buyer I was scared of legal issues. The team explained every document clearly — chitta, EC, Patta. Very honest and professional people. Fully satisfied.”
SK
Suresh Kannan
Chennai, Tamil Nadu
✓ Enquiry sent! We’ll call you within 24 hours.
// Cursor
const cur=document.getElementById(‘cur’),ring=document.getElementById(‘ring’);
let mx=0,my=0,rx=0,ry=0;
document.addEventListener(‘mousemove’,e=>{mx=e.clientX;my=e.clientY;cur.style.transform=`translate(${mx}px,${my}px) translate(-50%,-50%)`;});
(function animR(){rx+=(mx-rx)*.1;ry+=(my-ry)*.1;ring.style.transform=`translate(${rx}px,${ry}px) translate(-50%,-50%)`;requestAnimationFrame(animR)})();
document.querySelectorAll(‘a,button,.p-card,.loc-card,.t-card,.gal-item’).forEach(el=>{
el.addEventListener(‘mouseenter’,()=>{cur.style.width=’18px’;cur.style.height=’18px’;ring.style.width=’56px’;ring.style.height=’56px’;ring.style.opacity=’.25′;});
el.addEventListener(‘mouseleave’,()=>{cur.style.width=’10px’;cur.style.height=’10px’;ring.style.width=’38px’;ring.style.height=’38px’;ring.style.opacity=’.5′;});
});
// Nav
const nav=document.getElementById(‘nav’);
window.addEventListener(‘scroll’,()=>nav.classList.toggle(‘solid’,scrollY>60),{passive:true});
// Reveal
const obs=new IntersectionObserver((entries)=>{
entries.forEach((e,i)=>{if(e.isIntersecting){setTimeout(()=>e.target.classList.add(‘up’),i*80);obs.unobserve(e.target);}});
},{threshold:.1});
document.querySelectorAll(‘.reveal’).forEach(el=>obs.observe(el));
// Form
function submit(){
const n=document.getElementById(‘fn’).value.trim();
const p=document.getElementById(‘fp’).value.trim();
if(!n||!p){alert(‘Please enter your name and phone number.’);return;}
const t=document.getElementById(‘toast’);
t.classList.add(‘show’);
setTimeout(()=>t.classList.remove(‘show’),4500);
[‘fn’,’fp’,’ft’,’fl’,’fb’,’fm’].forEach(id=>{const el=document.getElementById(id);if(el)el.value=”;});
}