/*
Theme Name: Bukit Prana 2
Theme URI: https://example.com/bukit-prana-2
Author: Ayam Ketawa Dwiyana
Description: Tema landing page properti premium untuk penjualan tanah/villa Bukit Prana 2 - Ayam Ketawa Dwiyana. Hijau alam, beige, cokelat kayu, elegan dan mobile responsive.
Version: 1.0.0
License: GPLv2 or later
Text Domain: bukit-prana-2
*/

:root{
  --green:#2f5d43;
  --green-dark:#1e3d2c;
  --deep:#16281f;
  --accent:#b8813f;
  --sand:#e8dcc8;
  --beige:#f6f1e7;
  --bg:#fdfbf7;
  --card:#ffffff;
  --border:#e3dccf;
  --text:#22271f;
  --muted:#6f7368;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.15;margin:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:14px 28px;font-size:.9rem;font-weight:600;transition:transform .2s,opacity .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#fff}
.btn-accent{background:var(--accent);color:#fff}
.btn-outline{border:1px solid rgba(232,220,200,.5);color:#fff}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(253,251,247,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px}
.brand-name{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600}
.brand-sub{font-size:.7rem;color:var(--muted)}
.site-header .btn{padding:10px 20px}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(22,40,31,.95),rgba(22,40,31,.65),rgba(22,40,31,.3))}
.hero .wrap{position:relative;padding-top:130px;padding-bottom:80px;color:#fff}
.hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:900px;margin-top:18px;color:#fff}
.hero p.sub{max-width:620px;margin-top:22px;color:rgba(232,220,200,.9);font-size:1.05rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero .eyebrow{color:rgba(232,220,200,.9)}

/* stats */
.stats{background:var(--card);border-bottom:1px solid var(--border)}
.stats .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}
.stats .item{background:var(--card);padding:36px 20px;text-align:center}
.stats .lbl{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:8px 0 4px}
.stats .val{font-family:'Fraunces',serif;font-size:1.3rem}

section.pad{padding:88px 0}
h2{font-size:clamp(1.7rem,3.5vw,2.3rem);margin-top:14px}
.lead{color:var(--muted);margin-top:20px}

/* features */
.features{display:grid;grid-template-columns:1fr;gap:32px;margin-top:52px}
.feature{border-top:1px solid var(--border);padding-top:22px}
.feature h3{font-size:1.05rem;margin-bottom:8px}
.feature p{margin:0;font-size:.9rem;color:var(--muted)}

/* potensi */
.potensi{background:var(--deep);color:#fff}
.potensi h2,.potensi h3{color:#fff}
.potensi .eyebrow{color:var(--accent)}
.potensi .grid{display:grid;grid-template-columns:1fr;gap:34px;margin-top:52px}
.potensi .item{border-top:1px solid rgba(232,220,200,.25);padding-top:26px}
.potensi .num{font-family:'Fraunces',serif;font-size:1.6rem;color:var(--accent)}
.potensi .item p{color:rgba(232,220,200,.72);font-size:.92rem}
.disclaimer{margin-top:44px;max-width:620px;font-size:.78rem;color:rgba(232,220,200,.5)}

/* split */
.split{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
.split img{border-radius:3px;object-fit:cover;width:100%;height:100%}
.checklist{list-style:none;padding:0;margin:28px 0 0}
.checklist li{display:flex;gap:10px;font-size:.92rem;margin-bottom:12px}
.checklist li:before{content:"✓";color:var(--green);font-weight:700}

/* lokasi */
.lokasi{background:var(--beige)}
.lokasi .cols{display:grid;grid-template-columns:1fr;gap:36px;margin-top:44px}
.lokasi ul{list-style:none;padding:0;margin:0}
.lokasi li{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px;font-size:.92rem}
.map-box{min-height:280px;border:1px dashed var(--border);background:var(--card);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px}
.map-box iframe{width:100%;min-height:320px;border:0;border-radius:3px}

/* harga */
.price-card{max-width:620px;margin:0 auto;border:1px solid var(--border);background:var(--card);border-radius:3px;text-align:center;overflow:hidden}
.price-card .top{background:rgba(232,220,200,.4);border-bottom:1px solid var(--border);padding:22px}
.price-card .top .eyebrow{color:var(--green)}
.price-card .body{padding:48px 32px}
.price-main{font-family:'Fraunces',serif;font-size:clamp(2.4rem,6vw,3.4rem)}
.price-unit{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.price-total{max-width:340px;margin:34px auto 0;border-top:1px solid var(--border);padding-top:28px}
.price-total strong{display:block;font-family:'Fraunces',serif;font-size:1.7rem;color:var(--green);font-weight:600;margin-top:6px}

/* galeri */
.gallery{display:grid;grid-template-columns:1fr;gap:18px;margin-top:44px}
.gallery figure{margin:0;background:var(--sand);border-radius:3px;overflow:hidden}
.gallery img{width:100%;height:240px;object-fit:cover;transition:transform .7s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{padding:12px 16px;font-size:.76rem;color:var(--muted)}

/* cta */
.cta-band{position:relative;overflow:hidden;text-align:center;color:#fff}
.cta-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-band .overlay{position:absolute;inset:0;background:rgba(22,40,31,.9)}
.cta-band .wrap{position:relative;padding:88px 20px}
.cta-band h2{color:#fff}
.cta-band p{max-width:560px;margin:18px auto 0;color:rgba(232,220,200,.75)}
.cta-band .btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}

/* footer */
.site-footer{background:var(--card);border-top:1px solid var(--border)}
.site-footer .cols{display:grid;grid-template-columns:1fr;gap:28px;padding:52px 0}
.site-footer .name{font-family:'Fraunces',serif;font-size:1.15rem}
.site-footer p{color:var(--muted);font-size:.9rem}
.site-footer .phone{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--green)}
.copyright{border-top:1px solid var(--border);text-align:center;padding:20px;font-size:.76rem;color:var(--muted)}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--green);color:#fff;border-radius:999px;padding:14px 22px;font-weight:600;font-size:.9rem;box-shadow:0 10px 24px rgba(0,0,0,.18)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

@media(min-width:640px){
  .features{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .site-footer .contact{text-align:right}
}
@media(min-width:900px){
  .stats .grid{grid-template-columns:repeat(4,1fr)}
  .features{grid-template-columns:repeat(4,1fr)}
  .potensi .grid{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:1fr 1fr}
  .lokasi .cols{grid-template-columns:1fr 1.15fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .gallery figure.big{grid-column:span 2;grid-row:span 2}
  .gallery figure.big img{height:498px}
}
