/* ==========================================================
   BHOOMI — Land Investments (prototype)
   Research-driven land-investment showcase · India
   Original CSS/SVG only. Placeholder sample data.
   ========================================================== */
:root{
  --ink:#0E1712; --forest:#132821; --panel:#172b21; --panel2:#1e3729;
  --emerald:#33A870; --emerald-d:#1f7a4e; --gold:#C9A24A; --gold-d:#a9863a;
  --paper:#F5F3EC; --paper2:#ECE7DA; --card:#FFFFFF;
  --t:#15211B; --mut:#5C665F; --t-d:#E9EDE7; --mut-d:#93A398;
  --line:rgba(16,26,20,.12); --line-soft:rgba(16,26,20,.07); --line-d:rgba(255,255,255,.10);
  --up:#33A870; --r:16px; --r-lg:22px; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--t);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,5vw,3.9rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.mono{font-family:var(--mono)}
.klabel{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--emerald-d)}
.section.dark .klabel{color:var(--gold)}
.rupee{font-family:var(--mono)}

.ribbon{background:var(--gold);color:#1c1405;text-align:center;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:7px;font-weight:600}
.ribbon span{opacity:.75;font-weight:400}

/* ---- header ---- */
.head{position:sticky;top:0;z-index:50;background:rgba(14,23,18,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-d);color:#fff}
.head .wrap{display:flex;align-items:center;height:72px;gap:20px}
.brand{display:flex;align-items:center;gap:.6em;color:#fff}
.brand .m{width:38px;height:38px;flex:none}
.brand b{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;letter-spacing:.01em}
.brand small{display:block;font-family:var(--mono);font-size:.54rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-top:2px}
.nav{margin-left:auto;display:flex;gap:4px}
.nav a{color:var(--mut-d);font-size:.95rem;padding:.5em .8em;border-radius:8px}
.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.06)}
.head .cta{background:var(--gold);color:#14210f;font-weight:600;padding:.6em 1.1em;border-radius:10px}
.head .cta:hover{background:var(--gold-d)}
@media(max-width:820px){.nav{display:none}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.98rem;padding:.82em 1.4em;border-radius:11px;cursor:pointer;border:1.5px solid transparent;transition:.2s var(--ease);white-space:nowrap}
.btn svg{width:1.05em;height:1.05em}
.btn-emb{background:var(--emerald);color:#08150e}.btn-emb:hover{background:var(--emerald-d);color:#fff;transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#14210f}.btn-gold:hover{background:var(--gold-d);transform:translateY(-2px)}
.btn-line{border-color:var(--line);color:var(--t)}.btn-line:hover{border-color:var(--t);transform:translateY(-2px)}
.btn-ghost{border-color:var(--line-d);color:#fff;background:rgba(255,255,255,.03)}.btn-ghost:hover{background:rgba(255,255,255,.08)}

/* ---- hero ---- */
.hero{background:radial-gradient(1000px 560px at 80% -10%,rgba(51,168,112,.20),transparent 60%),radial-gradient(700px 500px at 5% 120%,rgba(201,162,74,.14),transparent 55%),var(--ink);color:var(--t-d);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-d) 1px,transparent 1px),linear-gradient(90deg,var(--line-d) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(800px 460px at 78% 20%,#000,transparent 72%);mask-image:radial-gradient(800px 460px at 78% 20%,#000,transparent 72%);opacity:.5}
.hero .wrap{position:relative;padding:74px 0 66px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero h1{color:#fff;margin-bottom:.3em}
.hero h1 .g{color:var(--gold)}
.hero p{color:var(--mut-d);font-size:1.14rem;max-width:46ch;margin-bottom:26px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:34px;padding:56px 0 48px}}

/* hero card: mini appreciation snapshot */
.snap{background:linear-gradient(165deg,var(--panel),var(--forest));border:1px solid var(--line-d);border-radius:var(--r-lg);padding:26px;box-shadow:0 24px 60px -30px rgba(0,0,0,.6)}
.snap .kh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.snap .kh b{color:#fff;font-family:'Fraunces',serif;font-size:1.1rem}
.snap .chg{font-family:var(--mono);font-size:.82rem;color:var(--up);background:rgba(51,168,112,.14);border:1px solid rgba(51,168,112,.3);padding:.25em .6em;border-radius:100px}
.snap .sub{color:var(--mut-d);font-size:.85rem;margin-bottom:16px}

/* ---- sections ---- */
.section{padding:78px 0}
.section.paper2{background:var(--paper2)}
.section.dark{background:var(--ink);color:var(--t-d)}
.section.dark h2{color:#fff}
.sec-head{max-width:680px;margin-bottom:44px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{margin:12px 0 10px}
.sec-head p{color:var(--mut);font-size:1.05rem;margin:0}
.section.dark .sec-head p{color:var(--mut-d)}

/* ---- stat band ---- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr}}
.stats .sv{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2rem,3.4vw,2.8rem);color:var(--gold);line-height:1}
.stats .sl{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d);margin-top:8px}

/* ---- approach ---- */
.appro{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.appro{grid-template-columns:1fr}}
.acard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.acard .ai{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(51,168,112,.15),rgba(201,162,74,.12));border:1px solid rgba(51,168,112,.2);margin-bottom:14px}
.acard .ai svg{width:24px;height:24px;color:var(--emerald-d)}
.acard h3{margin-bottom:6px}
.acard p{color:var(--mut);font-size:.95rem;margin:0}

/* ---- portfolio grid ---- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid{grid-template-columns:1fr}}
.plot{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s var(--ease);display:flex;flex-direction:column}
.plot:hover{transform:translateY(-5px);box-shadow:0 26px 54px -30px rgba(14,23,18,.4)}
.plot .ph{position:relative;aspect-ratio:16/10;background:linear-gradient(160deg,var(--panel),var(--forest));display:grid;place-items:center;overflow:hidden}
.plot .ph .plot-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.plot .ph .cap{position:relative;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d)}
.plot .badge{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.35em .65em;border-radius:100px;font-weight:600}
.badge.avail{background:rgba(51,168,112,.9);color:#08150e}
.badge.offer{background:rgba(201,162,74,.92);color:#1c1405}
.badge.sold{background:rgba(90,102,95,.9);color:#fff}
.plot .up{position:absolute;top:12px;right:12px;font-family:var(--mono);font-size:.72rem;background:rgba(14,23,18,.8);color:var(--up);border:1px solid rgba(51,168,112,.4);padding:.3em .6em;border-radius:100px;backdrop-filter:blur(4px)}
.plot .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.plot .loc{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.plot h3{margin:5px 0 4px;font-size:1.22rem}
.plot .meta{display:flex;gap:14px;color:var(--mut);font-size:.86rem;margin-bottom:14px}
.plot .price{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.plot .price .amt{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem}
.plot .price .por{color:var(--mut);font-size:.9rem;font-style:italic}
.plot .price a{color:var(--emerald-d);font-weight:600;font-size:.9rem}

/* ---- CTA band ---- */
.cta-band{background:linear-gradient(120deg,var(--forest),var(--ink));border-radius:var(--r-lg);padding:46px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;color:var(--t-d);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(201,162,74,.24),transparent 65%)}
.cta-band>*{position:relative}
.cta-band h2{color:#fff;margin:0 0 6px}
.cta-band p{color:var(--mut-d);margin:0}

/* ---- footer ---- */
.foot{background:var(--ink);color:var(--mut-d);padding:52px 0 26px;border-top:1px solid var(--line-d)}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:34px;padding-bottom:30px;border-bottom:1px solid var(--line-d)}
@media(max-width:760px){.foot-top{grid-template-columns:1fr}}
.foot h4{color:#fff;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.foot a:hover{color:var(--gold)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.94rem}
.disclaimer{font-size:.8rem;color:var(--mut-d);line-height:1.6;max-width:70ch}
.foot-bottom{padding-top:20px;font-family:var(--mono);font-size:.72rem;color:var(--mut-d);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ========== PLOT DETAIL ========== */
.pd-hero{background:var(--ink);color:var(--t-d);padding:30px 0 0}
.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d);margin-bottom:16px}
.crumb a:hover{color:var(--gold)}
.pd-top{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:end;padding-bottom:30px}
@media(max-width:860px){.pd-top{grid-template-columns:1fr;gap:20px}}
.pd-top .loc{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.pd-top h1{color:#fff;font-size:clamp(2rem,4vw,3rem);margin-bottom:10px}
.pd-top .lede{color:var(--mut-d);margin:0}
.pd-price{background:var(--panel);border:1px solid var(--line-d);border-radius:var(--r);padding:22px}
.pd-price .lab{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d)}
.pd-price .amt{font-family:'Fraunces',serif;font-weight:600;font-size:2rem;color:#fff;margin:4px 0}
.pd-price .per{color:var(--mut-d);font-size:.9rem}
.pd-price .chg{display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:.82rem;color:var(--up);margin-top:8px}
.pd-hero-img{aspect-ratio:21/9;background:linear-gradient(160deg,var(--panel),var(--forest));border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);position:relative;overflow:hidden;display:grid;place-items:center}
.pd-hero-img .plot-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.pd-hero-img .cap{position:relative;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d)}

.pd-body{padding:52px 0}
.pd-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
@media(max-width:940px){.pd-grid{grid-template-columns:1fr}}
.block{margin-bottom:40px}
.block > h2{font-size:1.5rem;margin-bottom:6px}
.block > .sub{color:var(--mut);margin:0 0 20px;font-size:.98rem}

/* key facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:620px){.facts{grid-template-columns:1fr 1fr}}
.fact{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.fact .l{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.fact .v{font-family:'Fraunces',serif;font-size:1.12rem;margin-top:4px}
.fact .v.ok{color:var(--emerald-d)}

/* appreciation chart */
.chartcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.chart-head .big{font-family:'Fraunces',serif;font-size:1.5rem}
.chart-head .up{font-family:var(--mono);font-size:.85rem;color:var(--up);background:rgba(51,168,112,.12);border:1px solid rgba(51,168,112,.3);padding:.3em .7em;border-radius:100px}
.chart svg{width:100%;height:auto;display:block}
.chart-x{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;color:var(--mut);margin-top:6px}
.pricerow{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pricepill{font-family:var(--mono);font-size:.8rem;background:var(--paper2);border:1px solid var(--line);border-radius:100px;padding:.4em .8em}
.pricepill b{color:var(--emerald-d)}

/* comparables */
.comps{width:100%;border-collapse:collapse;font-size:.94rem}
.comps th{text-align:left;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:0 10px 10px;border-bottom:1px solid var(--line)}
.comps td{padding:13px 10px;border-bottom:1px solid var(--line-soft)}
.comps .amt{font-family:'Fraunces',serif;font-weight:600}
.comps .src{font-family:var(--mono);font-size:.72rem;color:var(--mut)}
.comps tr.mine{background:rgba(51,168,112,.06)}
.comps tr.mine .amt{color:var(--emerald-d)}

/* infra drivers */
.infra{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.infra li{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.infra .ii{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--paper2)}
.infra .ii svg{width:20px;height:20px;color:var(--emerald-d)}
.infra b{font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;display:block}
.infra span{color:var(--mut);font-size:.88rem}
.st{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;padding:.35em .6em;border-radius:100px;white-space:nowrap}
.st.live{background:rgba(51,168,112,.15);color:var(--emerald-d);border:1px solid rgba(51,168,112,.3)}
.st.build{background:rgba(201,162,74,.16);color:var(--gold-d);border:1px solid rgba(201,162,74,.35)}
.st.plan{background:rgba(92,102,95,.12);color:var(--mut);border:1px solid var(--line)}

/* sticky enquiry */
.enq{position:sticky;top:90px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:0 20px 46px -30px rgba(14,23,18,.35)}
.enq h3{margin-bottom:4px}
.enq p{color:var(--mut);font-size:.92rem;margin-bottom:16px}
.enq .btn{width:100%;justify-content:center;margin-bottom:10px}
.enq .agent{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.enq .agent .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(160deg,var(--emerald),var(--gold));display:grid;place-items:center;color:#0a1a10;font-family:'Fraunces',serif;font-weight:600;flex:none}
.enq .agent .nm{font-family:'Fraunces',serif;font-weight:600}
.enq .agent .rl{font-size:.8rem;color:var(--mut)}

.note{background:rgba(201,162,74,.1);border:1px solid rgba(201,162,74,.3);border-radius:12px;padding:14px 16px;font-size:.86rem;color:var(--t);margin-top:8px}
.note b{color:var(--gold-d)}

/* ==========================================================
   RATNAGIRI PROJECT — additions
   Interest-register phase components
   ========================================================== */

/* placeholder chips — everything awaiting real data */
.ph{font-family:var(--mono);font-size:.86em;background:rgba(201,162,74,.14);border:1px dashed rgba(201,162,74,.55);color:var(--gold-d);padding:.1em .45em;border-radius:5px;white-space:nowrap}
.section.dark .ph,.hero .ph,.foot .ph{color:var(--gold);background:rgba(201,162,74,.12);border-color:rgba(201,162,74,.4)}

/* hero status card */
.snap .stage{display:flex;align-items:center;gap:11px;padding:9px 0}
.snap .stage + .stage{border-top:1px solid var(--line-d)}
.snap .dot{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700}
.snap .dot.done{background:var(--emerald);color:#08150e}
.snap .dot.now{background:var(--gold);color:#1c1405}
.snap .dot.next{background:rgba(255,255,255,.09);border:1px solid var(--line-d);color:var(--mut-d)}
.snap .stage .tx{font-size:.9rem;color:var(--t-d);line-height:1.35}
.snap .stage .tx i{display:block;font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut-d);margin-top:1px}

/* status ladder (main section) */
.ladder{list-style:none;margin:0;padding:0;position:relative}
.ladder::before{content:"";position:absolute;left:17px;top:20px;bottom:20px;width:2px;background:var(--line)}
.ladder li{position:relative;display:grid;grid-template-columns:36px 1fr auto;gap:18px;align-items:start;padding:16px 0}
.ladder .mk{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--paper2);border:2px solid var(--line);position:relative;z-index:1;font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--mut)}
.ladder li.done .mk{background:var(--emerald);border-color:var(--emerald);color:#08150e}
.ladder li.now .mk{background:var(--gold);border-color:var(--gold);color:#1c1405}
.ladder .lb b{font-family:'Fraunces',serif;font-size:1.06rem;display:block;margin-bottom:2px}
.ladder .lb span{color:var(--mut);font-size:.92rem}
.ladder .when{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);white-space:nowrap;padding-top:9px}
@media(max-width:620px){.ladder li{grid-template-columns:36px 1fr}.ladder .when{grid-column:2;padding-top:4px}}

/* honest callout */
.honest{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:20px 22px;margin-top:30px}
.honest h3{font-size:1.08rem;margin-bottom:6px}
.honest p{color:var(--mut);font-size:.95rem;margin:0}
.honest p + p{margin-top:.7em}

/* media placeholder (drone / video) */
.media{aspect-ratio:16/9;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--panel),var(--forest));border:1px solid var(--line-d);display:grid;place-items:center;text-align:center;padding:24px;position:relative;overflow:hidden}
.media .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line-d) 1px,transparent 1px),linear-gradient(90deg,var(--line-d) 1px,transparent 1px);background-size:44px 44px;opacity:.6}
.media .in{position:relative}
.media .pl{width:60px;height:60px;border-radius:50%;background:rgba(201,162,74,.16);border:1px solid rgba(201,162,74,.4);display:grid;place-items:center;margin:0 auto 14px}
.media .pl svg{width:24px;height:24px;color:var(--gold)}
.media b{color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;display:block;margin-bottom:4px}
.media span{color:var(--mut-d);font-size:.88rem}

/* two-col split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:30px}}

/* NRI cards */
.nri{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.nri{grid-template-columns:1fr}}
.nri .c{background:rgba(255,255,255,.04);border:1px solid var(--line-d);border-radius:var(--r);padding:26px}
.nri .c .ai{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:rgba(201,162,74,.14);border:1px solid rgba(201,162,74,.3);margin-bottom:14px}
.nri .c .ai svg{width:22px;height:22px;color:var(--gold)}
.nri .c h3{color:#fff;margin-bottom:6px;font-size:1.14rem}
.nri .c p{color:var(--mut-d);font-size:.94rem;margin:0}

/* interest form */
.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,4vw,38px);box-shadow:0 24px 60px -34px rgba(14,23,18,.4)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:620px){.frow{grid-template-columns:1fr}}
.f label{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;font-family:'Inter',sans-serif;font-size:.98rem;color:var(--t);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.75em .9em;transition:.18s var(--ease)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--emerald);background:#fff;box-shadow:0 0 0 3px rgba(51,168,112,.12)}
.f textarea{resize:vertical;min-height:84px}
.fnote{font-size:.82rem;color:var(--mut);margin:14px 0 0;line-height:1.55}
.formcard .btn{width:100%;justify-content:center;margin-top:6px}

/* scarcity band */
.scarce{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:26px}
@media(max-width:620px){.scarce{grid-template-columns:1fr}}
.scarce div{background:var(--card);padding:20px}
.scarce .v{font-family:'Fraunces',serif;font-weight:600;font-size:1.7rem;color:var(--emerald-d)}
.scarce .l{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-top:4px}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--emerald-d);font-size:1.3rem;flex:none;transition:.2s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding:0 22px 20px;color:var(--mut);font-size:.96rem}
.faq details > div p{margin:0 0 .8em}
.faq details > div p:last-child{margin:0}

/* guide page */
.guide{max-width:760px;margin:0 auto}
.guide h2{margin-top:44px}
.guide h3{margin-top:28px;font-size:1.15rem}
.guide ol,.guide ul{color:var(--mut);padding-left:1.2em}
.guide li{margin-bottom:.55em}
.guide .lead{font-size:1.1rem;color:var(--mut)}

/* ==========================================================
   LAND REQUEST REGISTER — tap-first mobile form
   ========================================================== */
.req-hero{background:radial-gradient(900px 500px at 75% -10%,rgba(51,168,112,.2),transparent 60%),var(--ink);color:var(--t-d);padding:52px 0 44px;text-align:center}
.req-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem);margin-bottom:.35em}
.req-hero p{color:var(--mut-d);max-width:52ch;margin:0 auto;font-size:1.08rem}

.reqwrap{max-width:720px;margin:0 auto}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,32px);margin-bottom:18px;box-shadow:0 20px 50px -38px rgba(14,23,18,.4)}
.step-h{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.step-n{width:30px;height:30px;border-radius:50%;background:var(--emerald);color:#08150e;display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:.86rem;flex:none}
.step-h b{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem}
.step-h .opt{margin-left:auto;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);background:var(--paper2);border:1px solid var(--line);padding:.3em .6em;border-radius:100px}

/* tappable chip choices */
.fieldset{border:0;padding:0;margin:0 0 22px}
.fieldset > legend{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:10px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips input{position:absolute;opacity:0;width:0;height:0}
.chips label{display:inline-flex;align-items:center;font-size:.94rem;line-height:1.2;padding:.62em 1em;border-radius:100px;border:1.5px solid var(--line);background:var(--paper);color:var(--t);cursor:pointer;transition:.15s var(--ease);-webkit-tap-highlight-color:transparent}
.chips label:hover{border-color:var(--mut)}
.chips input:checked + label{background:var(--emerald);border-color:var(--emerald);color:#08150e;font-weight:600}
.chips input:focus-visible + label{box-shadow:0 0 0 3px rgba(51,168,112,.3)}

/* optional block toggle */
.moretog{width:100%;background:var(--paper2);border:1px dashed var(--line);border-radius:12px;padding:15px;font-family:'Inter',sans-serif;font-size:.96rem;font-weight:600;color:var(--emerald-d);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5em}
.moretog:hover{background:#e6e0d0}
.moretog svg{width:1em;height:1em;transition:.2s var(--ease)}
.moretog[aria-expanded="true"] svg{transform:rotate(180deg)}

/* consent */
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;color:var(--mut);line-height:1.5;margin:4px 0 18px}
.consent input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--emerald)}

/* trust strip */
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.trust span{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:100px;padding:.45em .85em;display:inline-flex;align-items:center;gap:.45em}
.trust svg{width:13px;height:13px;color:var(--emerald-d)}

/* alternative: straight to whatsapp */
.oralt{text-align:center;margin:26px 0 0;color:var(--mut);font-size:.94rem}
.oralt .line{display:flex;align-items:center;gap:14px;margin-bottom:18px;color:var(--mut);font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.oralt .line::before,.oralt .line::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-wa{background:#25D366;color:#06301a}
.btn-wa:hover{background:#1eb455;transform:translateY(-2px)}

/* floating whatsapp button */
.fab{position:fixed;right:16px;bottom:16px;z-index:80;display:inline-flex;align-items:center;gap:.55em;background:#25D366;color:#06301a;font-weight:600;font-size:.94rem;padding:.8em 1.15em;border-radius:100px;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);transition:.2s var(--ease)}
.fab:hover{background:#1eb455;transform:translateY(-2px)}
.fab svg{width:21px;height:21px;flex:none}
@media(max-width:520px){.fab span{display:none}.fab{padding:.9em;right:14px;bottom:14px}}

/* success */
.done{text-align:center;padding:20px 0}
.done .tick{width:64px;height:64px;border-radius:50%;background:rgba(51,168,112,.14);border:1px solid rgba(51,168,112,.4);display:grid;place-items:center;margin:0 auto 18px}
.done .tick svg{width:30px;height:30px;color:var(--emerald-d)}
.done h2{font-size:1.5rem;margin-bottom:8px}
.done p{color:var(--mut);max-width:44ch;margin:0 auto 1em}

/* ---- unit switcher (gaz / sq ft / guntha) ---- */
.unitbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.unitbar .lg{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.unitsw{display:inline-flex;background:var(--paper2);border:1px solid var(--line);border-radius:100px;padding:3px;gap:2px}
.unitsw input{position:absolute;opacity:0;width:0;height:0}
.unitsw label{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;padding:.4em .82em;border-radius:100px;cursor:pointer;color:var(--mut);transition:.15s var(--ease);-webkit-tap-highlight-color:transparent}
.unitsw input:checked + label{background:var(--card);color:var(--t);font-weight:600;box-shadow:0 1px 3px rgba(14,23,18,.14)}
.chips label .sub2{display:block;font-family:var(--mono);font-size:.68rem;opacity:.7;font-weight:400;margin-top:1px}
.chips input:checked + label .sub2{opacity:.85}
.chips label{flex-direction:column;align-items:flex-start;text-align:left}
.convnote{font-size:.8rem;color:var(--mut);margin:10px 0 0;font-family:var(--mono)}
