/* =====================================================================
   redesign-t2.css — Template 2 "Modern" (Ghar Junction, Aug 2026)
   Loaded only when a property is set to Template 2 in admin.
   Mobile-first; desktop = two-column with sticky enquiry aside.
===================================================================== */
:root{
  --ink:#191C21; --ink-soft:#5A616C; --line:#E6E7E9;
  --canvas:#F5F5F3; --paper:#FFFFFF; --sand:#F7F2F3;
  --brand:#C9102F; --brand-dk:#A50D26; --brand-tint:#FCEBEE;
  --teal:#0E7A56; --teal-tint:#E9F5F0;                /* aliases used by ported blocks */
  --marigold:#C9102F; --marigold-dk:#A50D26;
  --wa:#1DA851; --wa-tint:#E9F7EF;
  --radius:16px;
  --shadow-card:0 1px 2px rgba(20,22,26,.05),0 8px 26px rgba(20,22,26,.07);
  --shadow-lift:0 4px 10px rgba(20,22,26,.08),0 16px 40px rgba(20,22,26,.12);
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.t2-body{margin:0;font-family:var(--font-body);background:var(--canvas);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
.t2-body img{max-width:100%}
.t2-body a{color:inherit;text-decoration:none}
.t2-body button{font:inherit;cursor:pointer;border:0;background:none}
.t2-body :focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .t2-body *{animation:none!important;transition:none!important}
}

/* ---------- buttons ---------- */
.t2btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;padding:13px 18px;border-radius:13px;transition:transform .15s,background .15s,box-shadow .15s;border:1.5px solid transparent}
.t2btn:active{transform:scale(.97)}
.t2btn.brand{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(201,16,47,.26)}
.t2btn.brand:hover{background:var(--brand-dk)}
.t2btn.wa{background:var(--wa-tint);color:#0F7A38;border-color:#BFE7CD}
.t2btn.wa:hover{background:#DDF2E5}
.t2btn.ghost{background:var(--paper);border-color:var(--line);color:var(--ink)}
.t2btn.ghost:hover{border-color:var(--ink)}
.t2btn.sm{padding:9px 14px;font-size:13.5px;border-radius:11px}

/* ---------- topbar + header ---------- */
.t2-topbar{background:var(--ink);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-align:center;padding:6px 12px}
.t2-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .2s}
.t2-header.scrolled{box-shadow:var(--shadow-card)}
.t2-header-in{max-width:1220px;margin:auto;display:flex;align-items:center;gap:14px;padding:10px 16px}
.t2-logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.01em}
.t2-logo img{display:block;max-height:36px;width:auto}
.t2-logo .gj{width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:14px}
.t2-nav{display:none;gap:20px;font-weight:600;font-size:14px;color:var(--ink-soft)}
.t2-nav a:hover{color:var(--ink)}
@media(min-width:860px){.t2-nav{display:flex}}
.t2-header-cta{margin-left:auto;display:flex;gap:8px;align-items:center}
.t2-header-cta .wa .lbl{display:none}
@media(min-width:560px){.t2-header-cta .wa .lbl{display:inline}}

/* ---------- page grid ---------- */
.t2-wrap{max-width:1220px;margin:auto;padding:14px 14px 108px}
.t2-main>section,.t2-main>header,.t2-main>p{margin-top:18px}
@media(min-width:1020px){
  .t2-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;align-items:start;padding-bottom:44px}
  .t2-aside{position:sticky;top:130px}
}
@media(max-width:1019px){
  .t2-wrap{display:flex;flex-direction:column}
  .t2-gallery{order:1}.t2-title{order:2}.t2-aside{order:3;margin-top:18px}
  .t2-facts{order:4}.t2-main{display:contents}
  .t2-lede{order:5}
  .t2-main>section{order:6}
}

/* ---------- cards ---------- */
.t2-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}
.t2-card>h2{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.015em;margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.t2-sub{color:var(--ink-soft);font-size:13.5px;margin:-8px 0 14px}
.t2-note{color:var(--ink-soft);font-size:12.5px;margin:12px 0 0}
.t2-note a{color:var(--brand);font-weight:700}

/* ---------- gallery ---------- */
.t2-gallery{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}
.t2-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.t2-strip::-webkit-scrollbar{display:none}
.t2-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:16/10;background:#dfe1e4;cursor:zoom-in}
.t2-slide img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:1020px){.t2-slide{aspect-ratio:16/9}}
.t2-gcount{position:absolute;bottom:12px;left:12px;background:rgba(20,22,26,.72);color:#fff;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;display:flex;gap:6px;align-items:center;backdrop-filter:blur(4px)}
.t2-gvideo{position:absolute;bottom:12px;right:12px;background:#fff;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:999px}
.t2-dots{position:absolute;top:12px;right:12px;display:flex;gap:5px}
.t2-dots i{width:6px;height:6px;border-radius:99px;background:rgba(255,255,255,.55);transition:width .2s}
.t2-dots i.on{background:#fff;width:16px}

/* ---------- title ---------- */
.t2-crumbs{font-size:12.5px;color:var(--ink-soft);display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.t2-crumbs a:hover{color:var(--ink)}
.t2-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-soft)}
.t2-title h1{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,6vw,38px);letter-spacing:-.02em;line-height:1.12;margin:6px 0 0}
.t2-loc{display:flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:14px;margin:8px 0 0}
.t2-loc svg{flex:none;color:var(--brand)}
.t2-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.t2b{font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.t2b.rera{background:var(--brand-tint);border-color:#F3C9D1;color:var(--brand-dk)}
.t2b.soft{color:var(--ink-soft)}

/* ---------- facts ---------- */
.t2-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.t2-facts{grid-template-columns:repeat(4,1fr)}}
.t2f{background:var(--paper);border-radius:13px;box-shadow:var(--shadow-card);padding:12px 14px;min-width:0}
.t2f .k{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.t2f b{display:block;margin-top:3px;font-size:14.5px;overflow-wrap:anywhere}
.t2-lede{color:var(--ink-soft);font-size:15px}

/* ---------- amenities ---------- */
.t2-amen{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:680px){.t2-amen{grid-template-columns:repeat(4,1fr)}}
.t2a{background:var(--canvas);border-radius:13px;padding:13px 8px;text-align:center;font-size:12.5px;font-weight:600;color:#3A404A}
.t2a .ic{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 8px;border-radius:12px;background:var(--paper);box-shadow:var(--shadow-card)}
.t2a .ic img{width:30px;height:30px;object-fit:contain}

/* ---------- SIGNATURE: junction line ---------- */
.t2-junction{position:relative;padding-left:34px}
.t2-junction .rail{position:absolute;left:12px;top:10px;bottom:10px;width:4px;border-radius:99px;background:linear-gradient(var(--brand) 0 0);background-size:100% 0%;background-repeat:no-repeat;background-color:#EDD2D8;transition:background-size 1.4s ease .1s}
.t2-junction.play .rail{background-size:100% 100%}
.t2-junction .stop{position:relative;padding:10px 0}
.t2-junction .stop::before{content:"";position:absolute;left:-28px;top:17px;width:12px;height:12px;border-radius:99px;background:var(--paper);border:3.5px solid var(--brand);opacity:0;transform:scale(.4);transition:all .4s ease}
.t2-junction.play .stop::before{opacity:1;transform:scale(1)}
.t2-junction .stop:nth-child(3)::before{transition-delay:.2s}.t2-junction .stop:nth-child(4)::before{transition-delay:.35s}
.t2-junction .stop:nth-child(5)::before{transition-delay:.5s}.t2-junction .stop:nth-child(6)::before{transition-delay:.65s}
.t2-junction .stop:nth-child(7)::before{transition-delay:.8s}.t2-junction .stop:nth-child(8)::before{transition-delay:.95s}
.t2-junction .stop.origin::before{background:var(--brand);width:16px;height:16px;left:-30px;top:13px;box-shadow:0 0 0 5px var(--brand-tint)}
.t2-junction .n{font-weight:700;font-size:15px}
.t2-junction .n .g{font-weight:600;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-left:8px}
.t2-junction .d{color:var(--ink-soft);font-size:13px;margin-top:1px}
.t2-junction .origin .n{font-family:var(--font-display);font-size:16.5px;color:var(--brand-dk)}
.t2-morestops{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.t2-morestops summary{cursor:pointer;font-weight:700;color:var(--brand);font-size:14px;list-style:none}
.t2-morestops summary::-webkit-details-marker{display:none}
.t2-morestops ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.t2-morestops li b{font-weight:600}
.t2-morestops li span{color:var(--ink-soft);font-size:13px}

/* ---------- configurations ---------- */
.t2-brochure{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line);padding:6px 13px;border-radius:999px}
.t2-brochure:hover{border-color:var(--brand);background:var(--sand)}
.t2-cfg{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.t2c{border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;background:var(--paper)}
.t2c:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.t2c-top{display:flex;align-items:baseline;gap:8px}
.t2c-top b{font-family:var(--font-display);font-size:18px;font-weight:800}
.t2c-top span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}
.t2c-price{font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--brand-dk);margin:7px 0}
.t2c-price small{font-family:var(--font-body);font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--ink-soft)}
.t2c-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ink-soft);font-size:13px;margin-bottom:13px;flex:1}
.t2c-act{display:flex;gap:8px}
.t2c-act .t2btn{flex:1}

/* ---------- media (video/map) ---------- */
.t2-media{position:relative;display:block;width:100%;border-radius:13px;overflow:hidden;aspect-ratio:16/9;background:#e6e7e9;padding:0}
.t2-media img{width:100%;height:100%;object-fit:cover;display:block}
.t2-media .play{position:absolute;inset:0;display:grid;place-items:center}
.t2-media .play i{width:62px;height:62px;border-radius:99px;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:var(--shadow-card);color:var(--brand);font-style:normal;font-size:22px;padding-left:4px}
.t2-mapshield{display:grid;place-items:center;cursor:pointer;background:linear-gradient(180deg,#EDEFF2,#E2E6EA)}
.t2-mapshield .mappin{font-size:34px}
.t2-mapshield .maplbl{font-weight:700;color:var(--ink-soft);margin-top:6px}
.t2-mapshield.loaded{display:block;cursor:default;aspect-ratio:auto;min-height:280px}
.t2-mapshield.loaded iframe{width:100%;height:340px;border:0;display:block}

/* ---------- banks ---------- */
.t2-banks{display:flex;flex-wrap:wrap;gap:10px}
.t2bk{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-weight:600;font-size:13.5px;background:var(--paper)}
.t2bk img{width:30px;height:30px;object-fit:contain;border-radius:6px}

/* ---------- RERA ---------- */
.t2-rera{border:1.5px solid #F3C9D1;background:linear-gradient(180deg,var(--paper),#FDF4F6)}
.t2-rera-grid{display:grid;gap:14px}
@media(min-width:640px){.t2-rera-grid{grid-template-columns:1fr 1fr}}
.t2-rera .ri span{display:block;font-size:12px;color:var(--ink-soft);font-weight:600}
.t2-rera .ri b{font-size:15px;overflow-wrap:anywhere}
.t2-rera .ri.qr{display:flex;align-items:center;gap:12px}
.t2-rera .ri.qr img{width:86px;height:86px;border-radius:10px;border:1px solid var(--line);background:#fff}
.t2-rera .ri.qr span{font-size:12px;max-width:110px}
.rera-phase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.rera-phase{border:1px solid var(--line);border-radius:13px;padding:14px;text-align:center;background:var(--paper)}
.rera-phase img{width:96px;height:96px;object-fit:contain;margin:0 auto 8px;display:block}
.rera-phase b{display:block;font-size:14px}
.rera-phase .num{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px;overflow-wrap:anywhere}
.rera-phase .scan{display:block;font-size:11px;color:var(--ink-soft);margin-top:6px}

/* ---------- enquiry aside ---------- */
.t2-enq h3{font-family:var(--font-display);font-weight:700;font-size:19px;margin:0 0 4px}
.t2-enq-price{border-bottom:1px dashed var(--line);padding-bottom:13px;margin-bottom:14px}
.t2-enq-price .k{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.t2-enq-price b{font-family:var(--font-display);font-weight:800;font-size:27px;letter-spacing:-.02em;display:block;margin-top:2px}
.t2-enq-price .s{display:block;color:var(--ink-soft);font-size:13px;margin-top:2px}
.t2-enq .f{margin-top:11px}
.t2-enq label{font-size:12.5px;font-weight:600;color:var(--ink-soft);display:block;margin-bottom:4px}
.t2-enq input[type=text],.t2-enq input[type=tel],.t2-enq input[type=email],.t2-enq select{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:11px;font:inherit;background:var(--paper)}
.t2-enq input:focus,.t2-enq select:focus{border-color:var(--brand);outline:none}
.t2-enq .consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ink-soft);margin-top:12px}
.t2-enq .consent input{width:auto;margin-top:2px}
.t2-enq .consent a{color:var(--brand);font-weight:700}
.t2-enq .submit{width:100%;margin-top:12px;background:var(--brand);color:#fff;font-weight:700;font-size:15px;padding:14px;border-radius:13px;box-shadow:0 6px 18px rgba(201,16,47,.26);transition:background .15s,transform .15s}
.t2-enq .submit:hover{background:var(--brand-dk)}
.t2-enq .submit:active{transform:scale(.98)}
.form-msg{font-weight:600;font-size:13px;margin-top:10px;min-height:1em}
.form-msg.ok{color:var(--teal)}
.form-msg.err{color:var(--brand-dk)}
.t2-enq-alt{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.t2-advisor{display:flex;gap:12px;align-items:center;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:14px 16px;margin-top:14px}
.t2-advisor .av{flex:none;width:42px;height:42px;border-radius:99px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800}
.t2-advisor b{display:block;font-size:14px}
.t2-advisor span span{display:block;font-size:12.5px;color:var(--ink-soft)}

/* ---------- footer ---------- */
.t2-footer{border-top:1px solid var(--line);background:var(--paper);margin-top:34px}
.t2-footer-in{max-width:1220px;margin:auto;padding:22px 16px 26px}
.t2-disc{font-size:12px;color:var(--ink-soft);line-height:1.6;margin:0 0 14px}
.t2-footer-row{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font-size:13px;font-weight:600}
.t2-footer-row .links{display:flex;gap:18px}
.t2-footer-row a:hover{color:var(--brand)}
.t2-copy{font-size:11.5px;color:var(--ink-soft);margin:14px 0 0}

/* ---------- mobile sticky bar ---------- */
.t2-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--paper);border-top:1px solid var(--line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:54px 1fr 54px;gap:10px}
@media(min-width:1020px){.t2-stickybar{display:none}}
.t2-stickybar .sb{display:grid;place-items:center;border-radius:13px;border:1.5px solid var(--line);min-height:46px;font-weight:700}
.t2-stickybar .sb.wa{background:var(--wa);border-color:var(--wa);color:#fff}
.t2-stickybar .sb.main{background:var(--brand);border-color:var(--brand);color:#fff;font-size:15px;box-shadow:0 6px 18px rgba(201,16,47,.26)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ===== ported: prose / clamp / key-features / FAQ (Template 1 engine) ===== */
/* Key features list */
/* check-grid applies only when key features is a pure list (decided server-side) */
.kf-grid ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px 22px}
.kf-grid ul > li{position:relative;padding-left:25px;color:var(--ink);font-size:14.5px;margin:0}
.kf-grid ul > li::before{content:"✓";position:absolute;left:0;top:.05em;width:auto;height:auto;background:none;transform:none;color:var(--teal);font-weight:800}
/* FAQ content from btf_description (admin HTML) */
.faq-content strong,.faq-content b{color:var(--ink);font-weight:700}
.faq-content h2,.faq-content h3,.faq-content h4,.faq-content h5{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink);margin:20px 0 7px}
.faq-content h2:first-child,.faq-content h3:first-child,.faq-content p:first-child{margin-top:0}
.faq-content a{color:var(--teal);font-weight:600;text-decoration:underline}
/* ============ Long-section Read more clamp ============ */
.js-clamp{transition:max-height .4s ease}
.js-clamp.clamped{overflow:hidden;position:relative}
.js-clamp.clamped:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 88%);pointer-events:none}
.t2 .prose{overflow-wrap:anywhere;word-break:break-word}
.t2 .prose iframe,.t2 .prose video,.t2 .prose embed,.t2 .prose object{max-width:100%;border:0}

/* ===== ported: lightbox (Template 1 engine, unchanged) ===== */
.lightbox{position:fixed;inset:0;z-index:130;background:rgba(15,15,14,.93);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lb-stage{max-width:92vw;max-height:86vh;display:flex}
.lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55);background:#1D1D1B}
.lb-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s;z-index:2}
.lb-close:hover{background:rgba(255,255,255,.28)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s;z-index:2}
.lb-nav:hover{background:rgba(255,255,255,.3)}
.lb-nav.prev{left:22px}
.lb-nav.next{right:22px}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:13.5px;font-weight:600;background:rgba(0,0,0,.45);padding:6px 15px;border-radius:999px}
@media (max-width:640px){
  .lightbox{padding:16px}
  .lb-nav{width:42px;height:42px}.lb-nav.prev{left:10px}.lb-nav.next{right:10px}
  .lb-close{top:10px;right:12px}
}

/* QR inside RERA & legal card */
.rera-card{position:relative}
.rera-qr{float:right;margin:0 0 10px 16px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.rera-qr img{width:110px;height:110px;object-fit:contain;display:block}
.rera-qr span{display:block;margin-top:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);max-width:110px}
@media (max-width:640px){ .rera-qr{float:none;margin:0 auto 12px} }

/* ============ Long-section Read more clamp ============ */
.js-clamp{transition:max-height .4s ease}
.js-clamp.clamped{overflow:hidden;position:relative}
.js-clamp.clamped:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 88%);pointer-events:none}
.clamp-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:9px 18px;
  border:1.5px solid var(--line);border-radius:999px;background:var(--paper);
  font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--teal);cursor:pointer;
  transition:all .18s}
.clamp-btn:hover{border-color:var(--teal);background:var(--sand)}
.clamp-btn svg{transition:transform .2s}

/* Mobile gallery: single hero tile with count badge; side tiles removed */
@media (max-width:640px){
  .g-grid{display:block}
  .g-side{display:none !important}
  .g-main{width:100%;border-radius:14px}
}
/* Lightbox zoom controls */
.lb-zoom{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.lbz{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(20,20,20,.6);
  color:#fff;font-size:22px;font-weight:700;cursor:pointer;line-height:1}
.lbz:active{background:rgba(255,255,255,.25)}
.lightbox .lb-img{touch-action:none;will-change:transform;cursor:zoom-in}
.lightbox.zoomed .lb-img{cursor:grab}
.lightbox.zoomed .lb-nav{display:none !important}

/* ============ Containment: nothing escapes its card ============ */
.detail .main-col,.detail .side-col{min-width:0;max-width:100%}
.sec{overflow-wrap:anywhere}
.sec .prose{overflow-wrap:anywhere;word-break:break-word}
.sec .prose iframe,.sec .prose video,.sec .prose embed,.sec .prose object{max-width:100%;border:0}
@media (max-width:640px){
  .sec .prose iframe{width:100%;height:220px}
}


/* no-JS / very old browser fallback: never hide content */
html:not(.t2js) .reveal{opacity:1;transform:none}
html:not(.t2js) .t2-junction .rail{background-size:100% 100%}
html:not(.t2js) .t2-junction .stop::before{opacity:1;transform:scale(1)}

/* ============================================================
   Template 3 — Modern Luxe (dark & gold). Same engine, new skin.
============================================================ */
.t3{--canvas:#111317;--paper:#1B1E24;--ink:#F1F2F4;--ink-soft:#A6ADBA;--line:#2B303A;
    --sand:#232730;--brand:#C9A24B;--brand-dk:#B08A35;--brand-tint:#2A2517;
    --teal:#7FC8A9;--teal-tint:#1E2A25;--marigold:#C9A24B;--marigold-dk:#E2C06A;
    --wa-tint:#173423;
    --shadow-card:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
    --shadow-lift:0 6px 14px rgba(0,0,0,.5),0 20px 44px rgba(0,0,0,.45)}
.t3 .t2btn.brand,.t3 .t2-enq .submit,.t3 .t2-stickybar .sb.main{color:#15130C;box-shadow:0 6px 18px rgba(201,162,75,.28)}
.t3 .t2btn.wa{color:#8FE0B0;border-color:#245538}
.t3 .t2-topbar{background:#000}
.t3 .t2-header{background:rgba(23,25,31,.9)}
.t3 .t2b.rera{border-color:#4A3D1F;color:#E6C87A}
.t3 .t2-rera{border-color:#4A3D1F;background:linear-gradient(180deg,var(--paper),#221F16)}
.t3 .t2-mapshield{background:linear-gradient(180deg,#20242C,#191C22)}
.t3 .t2-slide{background:#20242C}
.t3 .t2a{background:#161920;color:#C7CCD4}
.t3 .t2-footer,.t3 .t2-stickybar{background:var(--paper)}

/* ============================================================
   Template 4 — Modern Minimal (clean white, bordered, flat).
============================================================ */
.t4{--canvas:#FFFFFF;--sand:#F6F6F7;--brand-tint:#F1F2F4;--radius:12px;
    --shadow-card:none;--shadow-lift:0 10px 26px rgba(20,22,26,.10)}
.t4 .t2-card,.t4 .t2f,.t4 .t2-advisor,.t4 .t2-gallery,.t4 .t2a .ic{border:1px solid var(--line)}
.t4 .t2-topbar{background:#FFF;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.t4 .t2b.rera{background:#FFF;border-color:var(--line);color:var(--ink)}
.t4 .t2-rera{background:var(--paper);border-color:var(--line)}
.t4 .t2btn.brand,.t4 .t2-enq .submit{box-shadow:none}
.t4 .t2-stickybar .sb.wa{background:#FFF;color:#0F7A38;border-color:var(--line)}

/* ============================================================
   Template 5 — Modern Lead-Focus (warm ivory, form first on mobile).
============================================================ */
.t5{--canvas:#FBF6EE;--sand:#F4EBDD;--line:#E7DFD2;--brand-tint:#F9E8DC}
.t5 .t2-enq{border:2px solid var(--brand)}
.t5 .t2-enq h3{color:var(--brand-dk)}
.t5 .t2-enq-price b{color:var(--brand-dk);font-size:30px}
.t5 .t2-stickybar .sb.main{font-size:16px}
@media(max-width:1019px){.t5 .t2-aside{order:2}.t5 .t2-title{order:3}}

/* ============================================================
   Structural styles — Template 3 "Luxe Showcase"
============================================================ */
.t3-page{padding-bottom:96px}
@media(min-width:1020px){.t3-page{padding-bottom:0}}
.t3-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;background:#0C0E11}
@media(min-width:1020px){.t3-hero{min-height:84vh}}
.t3-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.t3-hero .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,14,17,.15) 30%,rgba(12,14,17,.88) 92%);pointer-events:none}
.t3-hero-in{position:relative;width:100%;max-width:980px;margin:auto;padding:26px 18px 34px;color:#fff}
.t3-hero-in .t2-eyebrow{color:#D9C089}
.t3-hero-in h1{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,7.5vw,58px);letter-spacing:-.02em;line-height:1.05;margin:8px 0 0;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.t3-addr{color:#C8CDD6;margin:10px 0 0;font-size:15px}
.t3-hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.t3-film{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;background:#0C0E11;scrollbar-width:none}
.t3-film::-webkit-scrollbar{display:none}
.t3-film .g-open{flex:0 0 118px;aspect-ratio:4/3;border-radius:9px;overflow:hidden;cursor:zoom-in;border:1px solid #23262d}
.t3-film img{width:100%;height:100%;object-fit:cover}
.t3-stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #2B303A;border-bottom:1px solid #2B303A;background:#14161B}
@media(min-width:720px){.t3-stats{grid-template-columns:repeat(4,1fr)}}
.t3-stats>div{padding:16px 18px;border-right:1px solid #22262E}
.t3-stats>div:last-child{border-right:0}
.t3-stats span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8B93A1}
.t3-stats b{display:block;margin-top:4px;color:#F1F2F4;font-size:15px;overflow-wrap:anywhere}
.t3-col{max-width:860px;margin:auto;padding:30px 18px;display:grid;gap:30px}
.t3-lede{font-size:17px;color:var(--ink-soft);line-height:1.65;margin:0}
.t3-sec h2{font-family:var(--font-display);font-weight:700;font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin:0 0 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.t3-sec h2::after{content:"";flex:1;min-width:40px;height:1px;background:var(--line)}
.t3-drop>p:first-of-type::first-letter{font-family:var(--font-display);font-weight:800;font-size:3.1em;float:left;line-height:.82;margin:4px 10px 0 0;color:var(--brand)}
.t3-amen{display:flex;flex-wrap:wrap;gap:10px 22px}
.t3-amen span{position:relative;padding-left:16px;font-size:14px;color:var(--ink)}
.t3-amen span::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:99px;background:var(--brand)}
.t3-cfg{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.t3-cfg .t2c{flex:0 0 250px}
.t3-form{background:#0C0E11;border-top:1px solid #2B303A;padding:38px 18px 44px}
.t3-form-in{max-width:560px;margin:auto}
.t3-form .t2-enq-price b,.t3-form h3{color:#F1F2F4}
.t3-fab{display:none;position:fixed;right:26px;bottom:26px;z-index:85;background:var(--brand);color:#15130C;font-weight:800;font-size:15px;padding:15px 26px;border-radius:999px;box-shadow:0 12px 30px rgba(201,162,75,.4)}
@media(min-width:1020px){.t3-fab{display:block}}
.t3 .t2-topbar{letter-spacing:.06em}

/* ============================================================
   Structural styles — Template 4 "Spec Sheet"
============================================================ */
.t4-page{max-width:1220px;margin:auto;padding:16px 14px 108px}
@media(min-width:1020px){.t4-page{padding-bottom:44px}}
.t4-top h1{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,5vw,34px);letter-spacing:-.02em;margin:6px 0 0}
.t4-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:4px;scrollbar-width:thin}
.t4-thumbs .g-open{flex:0 0 128px;aspect-ratio:16/10;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:zoom-in}
.t4-thumbs img{width:100%;height:100%;object-fit:cover}
.t4-grid{margin-top:20px}
@media(min-width:1020px){.t4-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:26px;align-items:start}
  .t4-rail{position:sticky;top:120px}}
.t4-rail{display:grid;gap:16px;margin-bottom:22px}
.t4-nav{display:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
@media(min-width:1020px){.t4-nav{display:grid;gap:8px}}
.t4-nav b{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.t4-nav a{font-size:13.5px;font-weight:600;color:var(--ink);padding:3px 0;border-left:2px solid transparent;padding-left:9px}
.t4-nav a:hover{border-color:var(--brand);color:var(--brand)}
.t4-main{display:grid;gap:26px;min-width:0}
.t4-sec h2{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em;border-bottom:2px solid var(--ink);padding-bottom:7px;margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.t4-table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--paper)}
.t4-table th,.t4-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:middle}
.t4-table th{background:var(--sand);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.t4-kv td:first-child{width:42%;color:var(--ink-soft)}
.t4-sub{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.t4-scroll{overflow-x:auto}
.t4-scroll .t4-table{min-width:560px}
.t4-link{background:none;border:0;padding:0;color:var(--brand);font-weight:700;font-size:13.5px;cursor:pointer;text-decoration:underline}
.t4-check{list-style:none;margin:0;padding:0;columns:2;column-gap:26px}
@media(min-width:680px){.t4-check{columns:3}}
.t4-check li{position:relative;padding:3px 0 3px 22px;font-size:14px;break-inside:avoid}
.t4-check li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:800}
.t4-qr{display:flex;gap:14px;align-items:center;margin-top:12px;font-size:12.5px;color:var(--ink-soft)}
.t4-qr img{border:1px solid var(--line);border-radius:8px;background:#fff}
.t4-page .t2-enq{border:1px solid var(--line)}

/* ============================================================
   Structural styles — Template 5 "Campaign"
============================================================ */
.t5-page{max-width:1220px;margin:auto;padding:16px 14px 108px}
@media(min-width:1020px){.t5-page{padding-bottom:44px}}
.t5-hero{display:grid;gap:20px}
@media(min-width:1020px){.t5-hero{grid-template-columns:1.05fr .95fr;align-items:start;gap:30px}}
.t5-hero-l h1{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,6vw,42px);letter-spacing:-.02em;line-height:1.08;margin:6px 0 0}
.t5-sub{color:var(--ink-soft);font-size:15px;margin:10px 0 0}
.t5-usps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.t5-usps li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}
.t5-usps li:first-child{background:var(--brand);border-color:var(--brand);color:#fff}
.t5-collage{display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:1fr;gap:8px;margin-top:16px}
.t5-collage .g-open{position:relative;border-radius:12px;overflow:hidden;cursor:zoom-in;min-height:96px}
.t5-collage .g-open:first-child{grid-row:span 2;min-height:200px}
.t5-collage img{width:100%;height:100%;object-fit:cover;display:block}
.t5-collage .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,22,26,.5);color:#fff;font-weight:800;font-size:20px}
.t5-hero-r .t2-enq{border:2px solid var(--brand);box-shadow:var(--shadow-lift)}
.t5-steps{display:grid;gap:10px;margin:24px 0 0}
@media(min-width:720px){.t5-steps{grid-template-columns:repeat(3,1fr)}}
.t5-steps>div{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:13px 15px}
.t5-steps b{display:block;font-size:14px;color:var(--brand-dk)}
.t5-steps span{font-size:12.5px;color:var(--ink-soft)}
.t5-col{display:grid;gap:20px;margin-top:22px}
.t5-plans{display:grid;gap:10px}
.t5pp{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:13px;padding:12px 14px;flex-wrap:wrap}
.t5pp .i b{font-family:var(--font-display);font-size:16.5px}
.t5pp .i span{display:block;font-size:13px;color:var(--ink-soft)}
.t5pp .a{display:flex;gap:8px}
.t5-cta{background:linear-gradient(120deg,var(--brand),var(--brand-dk));border-radius:var(--radius);padding:22px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#fff}
.t5-cta b{font-family:var(--font-display);font-size:19px}
.t5-cta .t2btn.brand{background:#fff;color:var(--brand-dk);box-shadow:none}
.t5-acc{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.t5-acc summary{cursor:pointer;list-style:none;font-weight:700;font-family:var(--font-display);font-size:16.5px;padding:15px 44px 15px 17px;position:relative}
.t5-acc summary::-webkit-details-marker{display:none}
.t5-acc summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--brand);font-weight:600}
.t5-acc[open] summary::after{content:"–"}
.t5-acc .prose{padding:0 17px 17px}

/* white-label text mark when a builder page has no logo */
.t2-logo .wlname{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.01em}

/* ===== ported: enquiry popup (Template 1 engine) ===== */
/* ===== Enquiry popup (gjEnq) ===== */
#gjEnqToggle{display:none}
.pu-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;pointer-events:none;visibility:hidden}
#gjEnqToggle:checked ~ .pu-modal{pointer-events:auto;visibility:visible}
.pu-scrim{position:absolute;inset:0;background:rgba(20,20,19,.62);opacity:0;transition:opacity .25s;cursor:pointer}
#gjEnqToggle:checked ~ .pu-modal .pu-scrim{opacity:1}
.pu-card{position:relative;width:min(400px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:18px;border-top:6px solid var(--marigold,#C9102F);box-shadow:0 30px 80px rgba(0,0,0,.38);opacity:0;transform:translateY(20px) scale(.97);transition:opacity .3s ease,transform .3s ease}
#gjEnqToggle:checked ~ .pu-modal .pu-card{opacity:1;transform:none}
.pu-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #E7E5E3;border-radius:10px;cursor:pointer;background:#fff;z-index:2}
.pu-close svg{width:16px;height:16px;color:#1D1D1B}
.pu-close:hover{border-color:var(--marigold,#C9102F);background:#FBE9ED}
.pu-head{padding:24px 26px 4px;text-align:center}
.pu-head img{height:48px;width:auto;margin:0 auto 12px;display:block}
.pu-head b{display:block;font-family:var(--font-display,"Bricolage Grotesque",sans-serif);font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:#1D1D1B}
.pu-head span{display:block;font-size:13px;color:#61605E;margin-top:7px}
.pu-form{padding:18px 26px 0}
.pu-f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.pu-f label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#61605E}
.pu-f input,.pu-f select{font:inherit;font-size:15px;padding:12px 13px;border:1.5px solid #E7E5E3;border-radius:10px;background:#FAFAF9;transition:border-color .18s,box-shadow .18s}
.pu-f input:focus,.pu-f select:focus{outline:none;border-color:var(--marigold,#C9102F);box-shadow:0 0 0 3px #FBE9ED}
.pu-consent{display:flex;gap:9px;align-items:flex-start;font-size:11.5px;color:#61605E;margin-bottom:13px}
.pu-consent input{margin-top:2px;accent-color:var(--marigold,#C9102F)}
.pu-consent a{color:var(--marigold,#C9102F);font-weight:700;text-decoration:underline}
.pu-msg{font-size:12.5px;font-weight:600;margin-bottom:10px}
.pu-msg.ok{color:#1FAF57}
.pu-msg.err{color:var(--marigold,#C9102F)}
.pu-submit{width:100%;background:var(--marigold,#C9102F);color:#fff;border:none;border-radius:11px;padding:14px;font-family:var(--font-display,"Bricolage Grotesque",sans-serif);font-weight:800;font-size:15.5px;cursor:pointer;transition:background .2s,transform .2s;box-shadow:0 8px 20px rgba(201,16,47,.3)}
.pu-submit:hover{background:var(--marigold-dk,#A50D26);transform:translateY(-1px)}
.pu-or{display:flex;align-items:center;gap:12px;padding:16px 26px 0;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8B8B89}
.pu-or::before,.pu-or::after{content:"";flex:1;height:1px;background:#E7E5E3}
.pu-alt{display:flex;gap:9px;padding:14px 26px 0}
.pu-alt a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:10px;font-weight:700;font-size:13.5px;transition:all .18s;text-decoration:none}
.pu-alt svg{width:16px;height:16px}
.pu-wa{background:#1FAF57;color:#fff}.pu-wa:hover{background:#178A44}
.pu-call{background:#EDEDEC;color:#1D1D1B}.pu-call:hover{background:#1D1D1B;color:#fff}
.pu-foot{padding:14px 26px 20px;text-align:center;font-size:11px;color:#8B8B89}
@media (max-width:640px){
  .pu-modal{padding:0;place-items:end stretch}
  .pu-card{width:100%;max-height:92vh;border-radius:18px 18px 0 0;transform:translateY(100%)}
  #gjEnqToggle:checked ~ .pu-modal .pu-card{transform:none}
}
@media (prefers-reduced-motion:reduce){.pu-card,.pu-scrim{transition:none}}
