/* Project pages, listing and compare. Design v3 (2026-10-22): the blue look Shail locked, rounded edges, dense marketplace listing.
   Loads after site.css; everything is scoped to body.proj so the other static pages are untouched. */
body.proj{
  --bg:#F4F6FA;--panel:#fff;--line:#DCE3EB;--ink:#14202E;--muted:#556272;
  --hdr:#14213D;--hdr-muted:#B9C4E0;--cta:#1456C8;--accent:#14213D;--chip:#E8EEFB;
  --r:14px;--rb:999px;--read:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:16px;line-height:1.5;
}
body.proj *{box-sizing:border-box}
body.proj a{color:inherit}
body.proj h1,body.proj h2,body.proj h3{font-family:inherit;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--accent);margin:0}
body.proj h1{font-size:clamp(1.6rem,4.4vw,2.1rem)}
body.proj h2{font-size:clamp(1.25rem,2.6vw,1.5rem);margin-bottom:12px}
body.proj h3{font-size:1.05rem}
body.proj p{margin:0 0 .7em}
body.proj button{font-family:inherit;font-size:inherit;cursor:pointer}
body.proj input,body.proj select,body.proj textarea{font-family:inherit;font-size:16px}
body.proj :focus-visible{outline:3px solid #F59E0B;outline-offset:2px}
.w{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.proj main.w{padding-bottom:40px}
.mut{color:var(--muted);font-size:14px}
.fine{font-size:14px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- header ---------- */
.hdr{background:var(--hdr);color:#fff;position:relative;z-index:30;display:flow-root}
.ft[hidden],.fctl[hidden]{display:none}
.hdr .nav{display:flex;align-items:center;justify-content:flex-start;gap:16px;height:84px}
.hdr .logo{display:flex;align-items:center;flex:none}
.hdr .logo img{height:34px;width:auto;display:block}
.hdr .links{display:flex;gap:26px;margin-left:28px;font-size:16px;list-style:none;padding:0!important}
.hdr .links a{color:#fff;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.hdr .links a.on,.hdr .links a:hover{border-color:#fff}
.hdr .navr{margin-left:auto;display:flex;align-items:center;gap:16px}
.hdr .tel{color:#fff;text-decoration:none;font-weight:600;white-space:nowrap}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border:2px solid rgba(255,255,255,.85);border-radius:var(--rb);color:#fff;text-decoration:none;font-weight:700;font-size:16px;white-space:nowrap}
.pill:hover{background:rgba(255,255,255,.14)}
.hdr .menu{display:none;width:46px;height:46px;border:1px solid var(--hdr-muted);border-radius:12px;background:transparent;color:#fff;align-items:center;justify-content:center;padding:0}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}
.bars{position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}.bars::after{top:6px}

/* ---------- buttons, tags, price ---------- */
body.proj .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:2px solid var(--cta);border-radius:var(--rb);background:var(--cta);color:#fff;font-weight:700;font-size:16px;letter-spacing:0;text-decoration:none;cursor:pointer;text-align:center}
body.proj .btn:hover{filter:brightness(.93)}
body.proj .btn.dark{background:var(--accent);border-color:var(--accent)}
body.proj .btn.line{background:transparent;color:var(--accent);border-color:var(--accent)}
body.proj .btn[disabled]{opacity:.6;cursor:wait}
.tag{display:inline-flex;align-items:center;height:24px;margin-left:10px;padding:0 10px;border-radius:var(--rb);background:var(--chip);color:var(--accent);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle;position:relative;top:-1px}
.pn{font-weight:700;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em}
.pu{font-size:.68em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:.28em}
.pto{font-size:.78em;font-weight:400;color:var(--muted);margin:0 .15em}
.amt{white-space:nowrap}
.price{font-size:1.2rem;font-weight:700;color:var(--accent);line-height:1.25}
.price.lg{font-size:clamp(1.4rem,3.6vw,1.9rem)}
.price.sm{font-size:1rem;margin-top:4px;display:block}
.facts2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px 28px;margin-top:10px;align-items:start}
.kv{display:flex;flex-direction:column;gap:3px;min-width:0}
.kv small{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.kv b{font-size:16px;font-weight:600;line-height:1.3;color:var(--ink)}

/* ---------- breadcrumbs ---------- */
.crumbs{font-size:14px;color:var(--muted);padding:16px 0 10px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span span,.crumbs .trail>span{color:var(--accent);font-weight:600}
.crumbs .back{display:none;align-items:center;min-height:40px;font-weight:600;color:var(--accent);font-size:16px}
.preview-note{background:#FEF3C7;color:#78350F;padding:8px 14px;font-weight:600;font-size:14px;border-radius:12px;margin:0 0 12px}

/* ---------- listing search (inside the header) ---------- */
.search{display:flex;background:#fff;border-radius:var(--rb);overflow:hidden;color:var(--ink);height:58px;margin:0 0 30px;box-shadow:0 1px 0 rgba(0,0,0,.25)}
.hdr .nav+.search{margin-top:0}
.sbox{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0 10px 0 16px}
.loc{display:inline-flex;align-items:center;gap:7px;flex:none;height:34px;padding:0 6px 0 12px;border-radius:var(--rb);background:var(--chip);color:var(--accent);font-weight:600;font-size:16px;white-space:nowrap}
.loc[hidden]{display:none}
.loc button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--accent);padding:0}
.loc button:hover{background:rgba(0,0,0,.08)}
.sbox input{flex:1;min-width:0;height:100%;border:0;background:transparent;padding:0 4px;font-size:16px;outline-offset:-3px;-webkit-appearance:none}
.search select{font-size:16px;appearance:none;-webkit-appearance:none;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 38px 0 18px;margin:0;height:100%;width:150px;flex:none;color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23556272' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center}
.search .btn{border-radius:0;min-width:130px;min-height:58px;font-size:16px;margin:0}

/* ---------- listing page ---------- */
.hub main.w{padding-top:18px}
.feat{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-bottom:14px}
.feat .lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cta);flex:none}
.frow{flex:1;min-width:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:14px}
.ft{display:flex;gap:10px;align-items:center;text-decoration:none;min-width:0}
.ft img,.ft-empty{width:68px;height:52px;object-fit:cover;border-radius:10px;flex:none;background:var(--line)}
.ft-t{display:flex;flex-direction:column;min-width:0}
.ft-t b{font-size:16px;color:var(--accent);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-t>span{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fctl{display:flex;align-items:center;gap:8px;flex:none}
.dots{display:flex;gap:4px;align-items:center;height:34px}
.dots i{width:6px;height:6px;border-radius:3px;background:#B8C4D6;display:block}
.dots i.on{width:16px;background:var(--cta)}
.circ{width:34px;height:34px;border-radius:50%;border:1px solid #B8C4D6;background:#fff;color:var(--ink);padding:0;display:inline-flex;align-items:center;justify-content:center;flex:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.chips .l{font-size:14px;font-weight:700;color:var(--muted);margin:0 2px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.chips .l:first-child{margin-left:0}
.chip{border:1px solid #B8C4D6;background:#fff;border-radius:var(--rb);padding:0 14px;min-height:36px;color:var(--ink);font-size:14px}
.chip[aria-pressed="true"]{background:var(--chip);border:2px solid var(--accent);font-weight:700;padding:0 13px}
.rhead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:10px}
.rhead h1{font-size:1.3rem}
.sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.sort select{appearance:none;-webkit-appearance:none;border:1px solid #B8C4D6;border-radius:var(--rb);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23556272' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;padding:0 38px 0 16px;height:40px;color:var(--ink);font-weight:600;font-size:14px;min-width:220px;cursor:pointer}
.list{display:flex;flex-direction:column;gap:14px}
.pc{display:grid;grid-template-columns:270px minmax(0,1fr) 250px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pc[hidden]{display:none}
.pc-img{position:relative;display:block;min-height:176px;background:var(--line)}
.pc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pimg-empty{display:flex;height:100%;min-height:120px;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--accent);font-weight:700}
.pc-mid{padding:14px 20px;display:flex;flex-direction:column;gap:2px;min-width:0;justify-content:center}
.pc-mid h2{margin:0 0 2px;font-size:1.2rem;line-height:1.25}
.pc-mid h2 a{text-decoration:none;color:var(--accent)}
.pc-mid h2 a:hover{text-decoration:underline}
.pc-rt{border-left:1px solid var(--line);padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.pc-rt .price{white-space:nowrap}
.addcmp{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted);cursor:pointer}
.addcmp input{width:18px;height:18px;accent-color:var(--accent)}
.empty{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-align:center}
.empty[hidden]{display:none}
.need{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--chip);border-radius:var(--r);padding:18px 22px;margin-top:24px}
.need p{margin:0}
.tray{position:sticky;bottom:0;z-index:40;background:var(--hdr);color:#fff;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));font-size:16px}
.tray[hidden]{display:none}
.tray-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tray .btn{background:#fff;color:var(--accent);border-color:#fff}

/* ---------- project page ---------- */
.ptitle{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin:0 0 16px}
.ptitle .sub{color:var(--muted);font-size:16px;margin:4px 0 0}
.ptitle .pr{text-align:right}
.ptitle .pr .fine{display:block;margin-top:2px}
.pcols{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.pmain{min-width:0}
.sec{padding:24px 0 4px}
.pmain>.sec:first-child{padding-top:0}
.gal{margin:0}
.gal-main{position:relative;background:var(--accent);aspect-ratio:16/10;overflow:hidden;border-radius:var(--r)}
.gal-main .gal-open{display:block;width:100%;height:100%;cursor:zoom-in}
.gal-main img{width:100%;height:100%;object-fit:cover;display:block}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(20,33,61,.7);color:#fff;display:flex;align-items:center;justify-content:center;padding:0}
.gal-nav:hover,.gal-nav:focus-visible{background:rgba(20,33,61,.92)}
.gal-nav.prev{left:12px}.gal-nav.next{right:12px}
.gal-count{position:absolute;right:12px;bottom:12px;background:rgba(20,33,61,.75);color:#fff;font-size:14px;padding:4px 12px;border-radius:var(--rb)}
.gal-thumbs{list-style:none;margin:10px 0 0;padding:0!important;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.gal-thumbs li{flex:0 0 auto;margin:0;scroll-snap-align:start}
.gal-thumbs a{display:block;width:92px;height:64px;border:2px solid transparent;opacity:.7;overflow:hidden;border-radius:10px}
.gal-thumbs a.on{border-color:var(--accent);opacity:1}
.gal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,12,24,.96);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:94vw;max-height:82vh;object-fit:contain;display:block}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 3px}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.28)}
.lb .x{top:14px;right:14px;font-size:26px;padding:0}
.lb .prev{left:14px;top:50%;transform:translateY(-50%)}
.lb .next{right:14px;top:50%;transform:translateY(-50%)}
.lb .cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#cbd5e1;font-size:14px;padding:0 70px;margin:0}
.fstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 16px;margin:16px 0 0;padding:0;border-block:1px solid var(--line)}
.fstrip div{padding:12px 0}
.fstrip dt{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.fstrip dd{margin:2px 0 0;font-size:16px;font-weight:700;color:var(--ink)}
/* Overview reads in Nunito Sans with extra word spacing (Shail, 22 Oct) */
.ov{font-family:var(--read)}
.ov p{font-size:16px;line-height:1.8;letter-spacing:.012em;word-spacing:.08em;color:#1F2D3D;max-width:760px;margin:0 0 1em}
.hl{list-style:none;margin:0;padding:0!important;display:grid;gap:10px}
.hl li{position:relative;margin:0;padding-left:22px;font-size:16px;line-height:1.55}
.hl li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--cta)}
body.proj .facts{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:0 16px;max-width:none;margin:0}
body.proj .facts dt,body.proj .facts dd{padding:9px 0;border-bottom:1px solid var(--line);font-size:16px;margin:0;overflow-wrap:anywhere}
body.proj .facts dt{font-weight:700;color:var(--accent)}
body.proj .facts dd{color:var(--ink)}
.amen-grid{list-style:none;margin:0;padding:0!important;display:grid;grid-template-columns:repeat(2,1fr);gap:18px 8px}
.amen-grid li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:0 4px;margin:0}
.amen-grid .ico{width:38px;height:38px;color:var(--cta);flex:none}
.amen-grid .ico .a{stroke:#38A3C9}
.amen-grid .ico .f{fill:var(--cta);stroke:none}
.amen-grid span{font-size:14px;font-weight:600;color:var(--muted);line-height:1.3}
.amen-grid.collapsed li:nth-child(n+5){display:none}
.amen-toggle{margin-top:16px;border:2px solid var(--accent);background:#fff;color:var(--accent);padding:0 20px;min-height:42px;border-radius:var(--rb);font-weight:700;font-size:14px}
body.proj .gallery{display:grid;gap:12px;grid-template-columns:1fr}
body.proj .gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
body.proj .gallery figure{margin:0}
body.proj .gallery figcaption{font-size:14px;color:var(--muted);padding-top:6px}
.embed{position:relative;aspect-ratio:16/9;background:var(--line);border-radius:var(--r);overflow:hidden}
.embed.map{aspect-ratio:16/8;margin-top:14px}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nearby-grid{display:grid;gap:12px;grid-template-columns:1fr;margin:8px 0 6px}
.ncard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.nhead{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.nhead .ico{color:var(--cta);flex:none}
.nhead .ico .a{stroke:#38A3C9}
.nhead h3{font-size:1.02rem;margin:0}
.ncard ul{list-style:none;margin:0;padding:0!important}
.ncard li{display:grid;grid-template-columns:minmax(0,1fr) 60px 56px;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);margin:0}
.nname{font-size:14px;line-height:1.3}
.nbar{height:4px;background:#E8EEF7;border-radius:2px;overflow:hidden}
.nbar i{display:block;height:100%;background:#38A3C9;border-radius:2px}
.ndist{font-size:14px;color:var(--accent);text-align:right;white-space:nowrap}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--accent);font-size:16px}
.faq p{margin:8px 0 0;color:var(--ink)}
.cmpbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--chip);border-radius:var(--r);padding:16px 20px;margin-top:26px}
.cmpbar b{display:block;font-size:1.05rem;color:var(--accent)}
.cmpbar span{color:var(--muted);font-size:14px}
.enq{position:sticky;top:16px;background:#fff;border:1px solid #B8C4D6;border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px}
.enq h2{font-size:1.15rem;margin:0}
.enq h3{font-size:1.02rem}
.enq hr{border:0;border-top:1px solid var(--line);width:100%;margin:6px 0}
.lead-form{display:flex;flex-direction:column;gap:8px;margin:0}
.lead-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:var(--ink)}
.lead-form input[type=text],.lead-form input[type=tel],.lead-form input[type=email],.lead-form input[type=date],.lead-form input:not([type]),.lead-form textarea{height:42px;border:1px solid #B8C4D6;border-radius:12px;padding:0 14px;background:#fff;color:var(--ink);font-weight:400}
.lead-form.call input[type=tel]{border:2px solid var(--accent)}
.lead-form textarea{height:auto;padding:10px 14px}
.lead-form .em,.lead-form .opt{font-weight:400;color:var(--muted)}
.lead-form label.check{flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;font-weight:400;color:var(--muted)}
.lead-form label.check input{margin-top:3px;width:auto}
.lead-form label.check a{color:var(--cta)}
body.proj .msg{min-height:1.3em;margin:0;font-size:14px;font-weight:600;color:#0F6B3A!important}
body.proj .msg.err{color:#B42318!important}
.why .gbp{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:6px 0 14px}
.gbp-main{padding:20px}
.gbp-name{font-weight:700;color:var(--accent);margin:0 0 6px}
.gbp-name span{color:var(--muted);font-weight:500}
.gbp-rate{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.gbp-rate b{font-size:2rem;line-height:1;color:var(--accent)}
.gbp-rate .stars{color:#F5A623;font-size:20px;letter-spacing:2px}
.gbp-rate a{color:var(--cta);font-weight:600;font-size:16px}
.gbp-addr,.gbp-phone{margin:0 0 6px;font-size:16px}
.gbp-phone a{color:var(--cta);font-weight:600}
.gbp-quotes{display:grid;gap:10px;margin:12px 0}
.gbp-quotes blockquote{margin:0;padding:10px 14px;background:#F8FAFC;border-radius:12px;font-size:16px;line-height:1.5}
.gbp-quotes cite{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--muted)}
.gbp-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px}
.gbp-asof{margin:0;font-size:12px;color:var(--muted)}
.gbp-map{min-height:240px;background:#E2E8F0}
.gbp-map iframe{width:100%;height:100%;min-height:240px;border:0;display:block}
.why-grid{display:grid;gap:12px;grid-template-columns:1fr}
.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.why-card b{display:block;font-size:1.02rem;color:var(--accent);margin-bottom:4px}
.why-card p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.mgrid{display:grid;gap:14px;grid-template-columns:1fr}
.mc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit}
.mc:hover{border-color:var(--accent)}
.mc-img{display:block;aspect-ratio:3/2;background:var(--line);overflow:hidden}
.mc-img img{width:100%;height:100%;object-fit:cover}
.mc-b{display:flex;flex-direction:column;gap:2px;padding:12px 16px 14px}
.mc-b b{font-size:1.02rem;color:var(--accent)}
.mbar{display:none}

/* ---------- pop-ups ---------- */
.modal{position:fixed;inset:0;z-index:110;background:rgba(10,20,35,.6);display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:16px}
.modal[hidden]{display:none}
.modal-card{position:relative;background:#fff;color:var(--ink);width:100%;max-width:420px;padding:24px 22px 22px;border-radius:var(--r)}
.modal-card h2{margin:0 0 6px}
.modal-card .intro{color:var(--muted);margin:0 0 12px;font-size:16px}
.modal-x{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--muted);font-size:28px;line-height:1;cursor:pointer;padding:4px 10px}

/* ---------- compare ---------- */
.chead-top{padding:4px 0 14px}
.chead-top .sub{color:var(--muted);margin:6px 0 0}
.adder{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:16px}
.adder[hidden]{display:none}
.adder label{display:block;font-weight:700;color:var(--accent);margin-bottom:6px}
.adder-box{position:relative}
.adder input{width:100%;height:48px;border:2px solid var(--accent);border-radius:var(--rb);padding:0 18px;background:#fff;-webkit-appearance:none}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;list-style:none;margin:0;padding:6px!important;background:#fff;border:1px solid #B8C4D6;border-radius:var(--r);box-shadow:0 8px 24px rgba(20,33,61,.15);max-height:300px;overflow:auto}
.sugg[hidden]{display:none}
.sugg li{margin:0;padding:10px 12px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column}
.sugg li:hover,.sugg li[aria-selected="true"]{background:var(--chip)}
.sugg li b{color:var(--accent)}
.sugg li span{font-size:14px;color:var(--muted)}
.cmpwrap{--n:2}
.jump{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:none;text-decoration:none;border:1px solid #B8C4D6;background:#fff;border-radius:var(--rb);padding:8px 16px;font-size:14px;font-weight:600;color:var(--accent)}
.jump a:hover{background:var(--chip)}
.cells{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px}
.cell{min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:600}
.cell .dash{color:var(--muted);font-weight:400}
.cmp-head{padding:6px 0 10px}
.cmp-names{position:sticky;top:0;z-index:20;background:var(--bg);padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:6px}
.cmp-names .cell{font-weight:700;color:var(--accent);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chead{position:relative;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 12px}
.chead .ci{display:block;height:170px;border-radius:10px;overflow:hidden;background:var(--line);margin-bottom:8px}
.chead .ci img{width:100%;height:100%;object-fit:cover}
.chead b{font-size:1.05rem;color:var(--accent);padding:0 6px}
.chead b a{text-decoration:none}
.chead .mut{padding:0 6px;font-weight:400}
.chead .rm{position:absolute;top:14px;right:14px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--accent);display:flex;align-items:center;justify-content:center;border:1px solid #B8C4D6}
.cs{padding:18px 0 4px;scroll-margin-top:60px}
.cs h2{font-size:1.15rem}
.crow{margin:0 0 14px}
.clabel{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ctas{padding-top:8px}
.ctas .btn{width:100%}


/* ---------- home ---------- */
.home .hero-h{padding:4px 0 20px;max-width:780px}
.home .hero-h .eyebrow{color:#9FB4DF;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 8px}
.home .hero-h h1{color:#fff;font-size:clamp(2rem,5.2vw,3.1rem);line-height:1.1}
.home .hero-h .lead{color:#D7E0F2;font-size:1.05rem;margin:10px 0 0;max-width:640px}
.home .search{margin-bottom:14px}
.quickrow{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}
.quickrow a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.45);border-radius:var(--rb);padding:8px 16px;font-size:14px;font-weight:600}
.quickrow a:hover{background:rgba(255,255,255,.14)}
.home main.w{padding-top:6px}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.sec-h h2{margin:0}
.more{color:var(--cta);font-weight:700;text-decoration:none;white-space:nowrap}
.more:hover{text-decoration:underline}
.rail-wrap{position:relative}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px;scroll-behavior:smooth}
.rail::-webkit-scrollbar{display:none}
.rail .mc{flex:0 0 min(300px,82%);scroll-snap-align:start}
.circ.rb{position:absolute;top:34%;z-index:2;box-shadow:0 2px 8px rgba(20,33,61,.22)}
.circ.rb.prev{left:-10px}.circ.rb.next{right:-10px}
.browse-in{display:grid;gap:18px;grid-template-columns:1fr}
.browse h2{margin-bottom:4px}
.chips-l{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
.chips a.chip{text-decoration:none;display:inline-flex;align-items:center}
.cmp-teaser{background:var(--chip);border-radius:var(--r);padding:20px}
.cmp-teaser h3{font-size:1.15rem;margin:0 0 6px}
.cmp-teaser p{margin:0 0 12px;color:#2F3F52;font-size:16px}
.group{display:grid;gap:16px;grid-template-columns:1fr;margin-top:8px}
.gcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.gcard img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.gb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.gname{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--cta);margin:0}
.gname span{color:var(--muted);font-weight:600;letter-spacing:.04em}
.gb h3{font-size:1.15rem;margin:0}
.gb p{margin:0;font-size:16px;line-height:1.6;color:#2F3F52}
.gtags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0!important;margin:4px 0}
.gtags li{margin:0;background:var(--chip);color:var(--accent);border-radius:var(--rb);padding:3px 10px;font-size:12px;font-weight:600}
.gb .gline{font-weight:600;color:var(--accent)}
.glinks{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:auto!important;padding-top:6px}
.glinks a:not(.btn){color:var(--cta);font-weight:600;text-decoration:none}
.glinks a:not(.btn):hover{text-decoration:underline}
.trustline{list-style:none;margin:26px 0 0;padding:14px 0!important;border-block:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:center;font-size:14px;color:var(--muted)}
.trustline li{margin:0}
.trustline b{color:var(--accent)}
.trustline a{color:var(--cta);font-weight:600}
.founder{display:grid;gap:20px;grid-template-columns:1fr;margin-top:8px}
.fphoto img{border-radius:var(--r);width:100%;max-width:320px;aspect-ratio:4/5;object-fit:cover;object-position:top;display:block}
.fname{display:flex;flex-direction:column;margin:10px 0 0}
.fname span{color:var(--muted);font-size:14px}
.ftext blockquote{margin:0 0 14px;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.35;font-weight:700;color:var(--accent);max-width:680px}
.ftext p{font-family:var(--read);font-size:16px;line-height:1.75;word-spacing:.06em;max-width:680px}
.phil p{max-width:680px}
.phil .steps3{display:grid;gap:10px;grid-template-columns:1fr;padding:0!important;list-style:none;margin:14px 0 0}
.steps3 li{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;font-weight:700;color:var(--accent)}
.steps3 span{color:var(--cta);margin-right:8px}
.contact-in{display:grid;gap:22px;grid-template-columns:1fr}
.channels{list-style:none;padding:0!important;margin:14px 0 0;display:grid;gap:10px}
.channels li{margin:0;display:flex;flex-direction:column}
.channels b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.channels a{color:var(--accent);font-weight:600;text-decoration:none}
.channels span{font-size:14px;color:var(--muted)}
.enq-home{background:#fff;border:1px solid #B8C4D6;border-radius:var(--r);padding:18px}
.enq-home h3{margin:0}
.enq-home select{height:42px;border:1px solid #B8C4D6;border-radius:12px;padding:0 12px;background:#fff;font-weight:400}
.home .wa-float{position:fixed;right:16px;bottom:16px;z-index:60;background:#25D366;color:#052e16;font-weight:700;font-size:14px;padding:12px 18px;border-radius:var(--rb);box-shadow:0 8px 24px rgba(0,0,0,.25);text-decoration:none;display:inline-flex}
@media(min-width:760px){.browse-in{grid-template-columns:1.2fr 1fr}.group{grid-template-columns:repeat(3,1fr)}.founder{grid-template-columns:300px 1fr;gap:36px}.contact-in{grid-template-columns:1fr 1fr}.phil .steps3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.home .hero-h h1{font-size:1.9rem}.quickrow{margin-bottom:24px}.circ.rb{display:none}.home .wa-float{padding:12px 14px}}

.trio{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.trio-h{font-weight:700;color:var(--accent);margin:0 0 10px!important}
.trio ul{list-style:none;margin:0;padding:0!important;display:grid;gap:10px;grid-template-columns:1fr}
.trio li{margin:0}
.trio a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.trio a:hover{border-color:var(--accent)}
.trio b{font-size:12px;letter-spacing:.12em;color:var(--cta)}
@media(min-width:760px){.trio ul{grid-template-columns:repeat(3,1fr)}}
/* ---------- footer ---------- */
body.proj .foot{background:#0C1730;color:#CBD5E1;padding:36px 0;font-size:14px}
body.proj .foot a{color:#BFDBFE}
body.proj .foot .eyebrow{color:#93C5FD;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin:0 0 6px}
body.proj .foot p{margin:4px 0}
.foot-in{display:grid;gap:24px;grid-template-columns:1fr}
.foot .copy{grid-column:1/-1;color:#94A3B8;font-size:12px}

/* ---------- wide screens ---------- */
@media(min-width:760px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .mgrid{grid-template-columns:repeat(3,1fr)}
  .nearby-grid{grid-template-columns:repeat(2,1fr)}
  body.proj .gallery{grid-template-columns:repeat(2,1fr)}
  .amen-grid{grid-template-columns:repeat(3,1fr)}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media(min-width:1000px){
  .why .gbp{grid-template-columns:1.1fr 1fr}
  .why-grid{grid-template-columns:repeat(4,1fr)}
  .amen-grid{grid-template-columns:repeat(4,1fr)}
  .amen-grid.collapsed li:nth-child(n+5){display:flex}.amen-grid.collapsed li:nth-child(n+9){display:none}
}

/* ---------- tablet ---------- */
@media(max-width:1100px){.hdr .tel{display:none}}
@media(max-width:980px){
  .hdr .links{gap:18px}
  .pcols{grid-template-columns:minmax(0,1fr)}
  .enq{position:static}
  .pc{grid-template-columns:230px minmax(0,1fr)}
  .pc-rt{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
}

/* ---------- phone ---------- */
@media(max-width:760px){
  body.proj{font-size:16px}
  .hdr .nav{height:88px}
  .hdr .links,.hdr .pill{display:none}
  .hdr .menu{display:inline-flex}
  .hdr .links.open{display:flex;position:absolute;left:0;right:0;top:88px;background:var(--hdr);flex-direction:column;padding:10px 16px 16px;gap:2px;z-index:30;margin:0}
  .hdr .links.open a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .hdr .logo img{height:36px}
  .search{height:auto;flex-wrap:wrap;border-radius:18px;margin-bottom:26px}
  .sbox{flex-basis:100%;min-height:52px}
  .search select{flex:1;width:auto;min-width:0;min-height:46px;height:auto;border-top:1px solid var(--line)}
  .search .btn{flex-basis:100%;min-height:50px}
  .feat{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:10px 12px}
  .feat .lbl{grid-column:1;grid-row:1}
  .feat .fctl{grid-column:2;grid-row:1}
  .feat .frow{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(0,1fr)}
  .ft-t b,.ft-t>span{white-space:normal}
  .chips{gap:8px}
  .chips .l{width:100%;margin:4px 0 0}
  .chip{min-height:40px}
  .sort{width:100%}
  .sort select{flex:1;min-width:0;height:44px}
  .list{gap:12px;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)))}
  .pc{grid-template-columns:minmax(0,1fr);border-radius:0;border-left:0;border-right:0}
  .pc-img{min-height:0;aspect-ratio:16/10}
  .pc-rt{flex-direction:column;align-items:stretch;gap:10px}
  .pc-rt .btn{min-height:46px}
  .facts2{grid-template-columns:minmax(0,1fr)}
  .crumbs .trail{display:none}
  .crumbs .back{display:inline-flex}
  .ptitle h1{font-size:1.55rem}
  .ptitle .pr{text-align:left}
  .gal-main{aspect-ratio:4/3}
  .fstrip{grid-template-columns:1fr 1fr}
  body.proj .facts{grid-template-columns:minmax(0,1fr)}
  body.proj .facts dt{border-bottom:0;padding-bottom:0}
  body.proj .facts dd{padding-top:2px}
  body.has-mbar{padding-bottom:68px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--hdr);gap:10px;padding:8px max(16px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .mbar .btn{flex:1}
  body.proj .mbar .btn.line{color:#fff;border-color:rgba(255,255,255,.85);background:transparent}
  body.proj .mbar .btn:not(.line){background:#fff;color:var(--accent);border-color:#fff}
  .tray{bottom:0}
  /* compare: two projects on a phone, read top to bottom */
  .cmpwrap{--n:2!important}
  .cells>:nth-child(n+3){display:none}
  .adder .fine{display:none}
  .cmp-head{top:0}
  .lb .prev,.lb .next{top:auto;bottom:10px;transform:none}.lb .cap{bottom:62px}
}
@media(max-width:480px){.hdr .nav{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- accessibility pass (2026-10-22): 44px tap targets, readable gold, 16px text on phones ---------- */
.chip{min-height:44px}
.circ{width:44px;height:44px}
.hdr .logo{min-height:44px}
.more{display:inline-flex;align-items:center;min-height:44px}
.crumbs .back{min-height:44px}
[data-loc-x]{position:relative}
[data-loc-x]::after{content:"";position:absolute;inset:-11px}
.pc-mid h2 a{display:inline-block;padding:8px 0}
.addcmp{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.addcmp input{width:22px;height:22px;margin:0}
.faq summary{padding:11px 0}
.gbp-rate .stars{color:#B45309}
.glinks a{display:inline-flex;align-items:center;min-height:44px}
body.pg .cols h3 a,body.proj .cols h3 a{display:inline-block;padding:10px 0}
.chead .rm{width:44px;height:44px}
@media(max-width:760px){.chip{min-height:44px}}
.quickrow a{min-height:44px;display:inline-flex;align-items:center}
.gal-nav{width:44px;height:44px}
.amen-toggle{min-height:44px}
.lead-form input[type=text],.lead-form input[type=tel],.lead-form input[type=email],.lead-form input[type=date],.lead-form input:not([type]),.lead-form select{min-height:44px}
body.proj .foot a{display:inline-block;padding:9px 0}
.check{display:flex;align-items:flex-start;gap:10px;min-height:44px}
.check input{width:22px;height:22px;flex:none;margin:0}

/* ---------- design polish 2026-10-22: calmer sections, no spaced-out caps labels ---------- */
.ov p{font-size:16px;line-height:1.65;letter-spacing:0;word-spacing:.03em}
.home .hero-h .eyebrow{letter-spacing:0;text-transform:none;font-size:16px;font-weight:600;color:#B9C8E6}

/* highlights as tiles */
.hl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hl li{padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:4px;font-size:16px;line-height:1.4}
.hl li::before{display:none}
.hl li span{font-size:14px;color:var(--muted)}
.hl li b{font-size:16px;color:var(--accent)}
@media(min-width:900px){.hl{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* home: trust strip */
.trustline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;justify-content:stretch;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 12px!important;margin:30px 0 0;font-size:14px}
.trustline li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}
.trustline b{font-size:18px;color:var(--accent)}
.trustline span,.trustline a{font-size:14px;color:var(--muted);font-weight:500}
.trustline a{color:var(--cta);font-weight:600}
@media(min-width:760px){.trustline{grid-template-columns:repeat(4,minmax(0,1fr))}.trustline li+li{border-left:1px solid var(--line)}}

/* home: three companies, three steps, contact */
.trio{margin-top:34px;padding-top:0;border-top:0}
.trio-h{font-size:1.15rem;margin:0 0 14px!important}
.trio a{background:transparent;border:0;border-left:3px solid var(--chip);border-radius:0;padding:4px 0 4px 16px;gap:3px}
.trio a:hover{border-left-color:var(--cta)}
.trio b{font-size:16px;letter-spacing:0;color:var(--accent)}
.trio ul{gap:18px}
.phil{padding-top:36px}
.phil .steps3{gap:16px;margin-top:20px}
.phil .steps3 li{display:flex;align-items:center;gap:14px;background:transparent;border:0;padding:0;font-weight:600;font-size:16px;color:var(--accent)}
.phil .steps3 li span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--chip);color:var(--cta);font-size:14px;font-weight:700}
.channels{list-style:none;margin:22px 0 0;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.channels li{margin:0;display:flex;flex-direction:column;gap:2px}
.channels li.wide{grid-column:1/-1}
.channels b{font-size:14px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.channels a,.channels span{font-size:16px;font-weight:600;color:var(--accent);text-decoration:none}
.channels span{font-weight:500;font-size:16px;color:var(--muted)}
.channels a:hover{color:var(--cta)}

/* footer: three columns */
body.proj .foot{padding:44px 0 30px}
.foot-in{gap:28px 40px}
.foot .fh{font-size:16px;font-weight:700;color:#fff;margin:0 0 12px!important;letter-spacing:0;text-transform:none}
.foot ul{list-style:none;margin:0;padding:0!important}
.foot li{margin:0}
body.proj .foot a{text-decoration:none;color:#C9D6F2;padding:6px 0}
body.proj .foot a:hover{color:#fff;text-decoration:underline}
.foot .copy{padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
@media(min-width:760px){.foot-in{grid-template-columns:1.5fr 1fr 1fr}}
body.proj .foot{display:block;grid-template-columns:none}
@media(min-width:900px){body.proj .foot{padding:44px 0 30px}}

/* pre-leased and commercial pages */
.cat-lead{max-width:760px;margin:0 0 16px}
.cat-empty{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;margin:6px 0 0}
.cat-empty h2{margin-bottom:8px}
.cat-empty p{max-width:640px}
.cat-act{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0!important}
.guide{margin-top:34px}
.guide>.band:first-child{border-top:0}
.guide .cols{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* compare on large screens: labels in a column on the left, projects across */
@media(min-width:900px){
  .cmp-head,.cmp-names{padding-left:204px}
  .cs .crow{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0 14px;margin:0;padding:13px 0;border-bottom:1px solid var(--line)}
  .cs .crow:last-child{border-bottom:0}
  .clabel{margin:0;padding-top:2px;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
  .chead .ci{height:190px}
}
.cmp-names.auto{display:none}
.cmp-names.auto.on{display:block}
@media(max-width:899px){
  .cs .crow{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
  .cs .crow:last-child{border-bottom:0}
  .clabel{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;margin-bottom:5px}
  .cell{font-size:16px;line-height:1.4}
  .chead .ci{height:150px}
  .chead b{font-size:1rem}
}
.lead-form label.check{display:block;min-height:0;font-size:14px;line-height:1.45}
.lead-form label.check input{float:left;margin:1px 10px 0 0}

/* polish round 3 (2026-10-22) */
body.proj .search .btn{border-radius:0}
.cmp-teaser h3{margin:0 0 10px}
.cmp-teaser p{line-height:1.6;margin:0 0 16px}
.glinks{flex-direction:column;align-items:flex-start;gap:14px;padding-top:10px}
.glinks .gl{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.glinks .gl a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #B8C4D6;border-radius:var(--rb);background:#fff;color:var(--accent);font-size:14px;font-weight:600;text-decoration:none}
.glinks .gl a:hover{background:var(--chip);border-color:var(--accent);text-decoration:none}
.channels{gap:12px}
.channels li{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;gap:3px}
.channels li:hover{border-color:var(--accent)}
.channels b{font-size:14px}
.channels a{font-size:16px}

/* polish round 4 (2026-10-22) */
.home .hero-h h1{line-height:1.16;word-spacing:.12em}
.home .hero-h h1 span{display:inline-block}
.home .hero-h .lead{margin-top:16px}
body.proj .cmp-teaser h3{margin:0 0 14px;line-height:1.3}
.gname{font-size:16px;letter-spacing:.06em;font-weight:800;margin:0 0 2px}
.reach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0}
.rbtn{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--accent);text-decoration:none;font-size:16px;min-width:0}
.rbtn:hover{border-color:var(--accent)}
.rbtn.wide{grid-column:1/-1}
.rbtn b{font-weight:700;overflow-wrap:anywhere}
.ric{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--chip);color:var(--cta)}
.rbtn.wa .ric{background:#E3F8EA;color:#128C4A}
.visit{margin-top:16px}
.vmap{height:220px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#E2E8F0}
.vmap iframe{width:100%;height:100%;border:0;display:block}
.vaddr{display:flex;align-items:center;gap:12px;margin-top:12px;color:var(--accent);text-decoration:none}
.vaddr .vt{display:flex;flex-direction:column;gap:2px;min-width:0}
.vaddr b{font-size:16px;line-height:1.35}
.vaddr small{font-size:14px;color:var(--muted)}
.vaddr:hover b{color:var(--cta)}
.rbtn{gap:10px;padding:12px 12px;font-size:16px}
.rbtn:not(.wide) b{white-space:nowrap}
@media(max-width:760px){.home .hero-h h1 span{display:block}}

/* polish round 5 (2026-10-22) */
.rhead{margin-bottom:18px}
.list{margin-top:4px}
.home-feat{padding-top:6px}
body.hub .home-feat{margin-bottom:8px}
@media(max-width:760px){
  .rhead{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}
  .sort{min-width:0;width:100%}
  .sort select{max-width:100%}
  .need{flex-direction:column;align-items:stretch;margin-inline:0}
  .need .btn{width:100%}
  body.proj .foot{padding:32px 0 24px}
  .foot-in{grid-template-columns:1fr 1fr;gap:26px 20px}
  .foot .fcol:first-child{grid-column:1/-1}
  .foot .fcol:first-child p{margin:0 0 10px;font-size:16px;line-height:1.5}
  .foot .fcol:first-child p:nth-of-type(3){font-size:14px;color:#9FB0D0}
  .foot .fh{margin-bottom:8px!important}
  .foot .copy{padding-top:18px;font-size:12px;line-height:1.5}
}
@media(max-width:760px){
  .hdr .links.open{padding:8px 16px 14px!important}
  .foot .fcol:first-child p:nth-of-type(3){font-size:16px;color:inherit}
  .foot .fcol:first-child p:nth-of-type(4){font-size:14px;color:#9FB0D0}
}
.hub .chips{margin-bottom:20px}
.hub .rhead{margin-top:10px;margin-bottom:20px;gap:14px}
@media(max-width:760px){.hub .rhead{gap:16px;margin-bottom:22px}}

/* ===================== 2026-10-27: Shail's designs. Home (portal look) and project page option 3 ===================== */
body.proj svg.i{flex:none;display:inline-block;vertical-align:middle}
.pill.solid{background:#fff;color:var(--hdr);border-color:#fff}
.pill.solid:hover{background:#E8EEFB}
.hdr .links .req-m{display:none}
@media(max-width:1100px){.hdr .pill:not(.solid){display:none}}

/* ---- home hero ---- */
body.h2025 .hdr{background:linear-gradient(90deg,#14213D 0%,rgba(20,33,61,.94) 36%,rgba(20,33,61,.45) 68%,rgba(20,33,61,.2) 100%),url(/images/procon-6.webp) right center/cover no-repeat,#14213D}
.hero2{padding:44px 0 34px;max-width:720px}
.hero2 h1{color:#fff!important;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.1;letter-spacing:-.02em}
.hero2 .lead{color:#DCE5F5;font-size:clamp(1.05rem,2vw,1.35rem);margin:14px 0 0}
.hs{position:relative;z-index:5;margin:0 0 -64px;color:var(--ink)}
.hs-tabs{display:inline-flex;gap:6px;background:#fff;border-radius:18px 18px 0 0;padding:10px 10px 0}
.hs-tabs a{display:inline-flex;align-items:center;gap:8px;padding:0 22px;min-height:46px;border-radius:12px;text-decoration:none;font-weight:600;color:var(--ink)}
.hs-tabs a.on{background:var(--cta);color:#fff}
.hs-tabs a:not(.on):hover{background:var(--chip)}
.hs-panel{background:#fff;border-radius:0 18px 18px 18px;padding:18px 18px 14px;box-shadow:0 14px 34px rgba(20,33,61,.18)}
.hs-form{display:grid;grid-template-columns:190px minmax(0,1fr) 170px 170px 160px;gap:12px}
.hs-form label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;height:54px;color:var(--muted);background:#fff}
.hs-form label select,.hs-form label input{border:0;outline:0;background:transparent;height:100%;width:100%;min-width:0;color:var(--ink);font-size:16px}
.hs-form label select{appearance:none;-webkit-appearance:none;font-weight:600;cursor:pointer}
.hs-form>select{appearance:none;-webkit-appearance:none;height:54px;border:1px solid var(--line);border-radius:10px;padding:0 34px 0 14px;color:var(--ink);font-weight:600;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23556272' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;cursor:pointer}
.hs-form .btn{min-height:54px;border-radius:10px;gap:8px}
.hs-pop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0!important;font-size:14px}
.hs-pop span{font-weight:700;margin-right:4px}
.hs-pop a{border:1px solid #B8C4D6;border-radius:var(--rb);padding:5px 14px;text-decoration:none;color:var(--ink)}
.hs-pop a:hover{border-color:var(--cta);color:var(--cta)}
body.h2025 main.w{padding-top:88px}
.stats{list-style:none;margin:0 0 8px;padding:0!important;display:grid;grid-template-columns:repeat(4,1fr)}
.stats li{display:flex;align-items:center;gap:14px;justify-content:center;padding:10px 14px;margin:0;border-left:1px solid var(--line)}
.stats li:first-child{border-left:0}
.stats svg{color:var(--accent)}
.stats span{display:flex;flex-direction:column;font-size:16px;color:var(--muted);line-height:1.3}
.stats b{font-size:1.15rem;color:var(--accent)}
.xgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.xc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 4px 14px rgba(20,33,61,.06)}
.xc:hover{border-color:var(--accent)}
.xc-img{aspect-ratio:16/10;overflow:hidden;background:var(--line)}
.xc-img img{width:100%;height:100%;object-fit:cover;display:block}
.xc-b{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 16px}
.xc-b b{display:block;font-size:1.1rem;color:var(--accent)}
.xc-b span span{font-size:14px;color:var(--muted)}
.xc-b i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #B8C4D6;border-radius:50%;flex:none;color:var(--accent)}

/* ---- project page, option 3 ---- */
.p3 .phero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:start;margin:4px 0 26px}
.p3 .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6px 0 8px}
.p3 .phero h1{font-size:clamp(1.8rem,3.6vw,2.5rem)}
.p3 .by{font-weight:600;margin:6px 0 4px;color:var(--ink)}
.p3 .addr{display:flex;gap:6px;align-items:flex-start;color:var(--muted);font-size:14px;margin:0 0 14px}
.p3 .addr svg{color:var(--cta);margin-top:2px}
.p3 .price.xl{font-size:clamp(1.7rem,3.4vw,2.2rem)}
.p3 .phero .fine{margin:2px 0 16px}
.pchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.pchips div{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 10px 10px 40px;min-height:62px}
.pchips svg{position:absolute;left:11px;top:12px;color:var(--cta)}
.pchips .ok svg{color:#16A34A}
.pchips dt{font-size:12px;color:var(--muted);line-height:1.3}
.pchips dd{margin:2px 0 0;font-size:14px;font-weight:700;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
.pacts{display:flex;flex-wrap:wrap;gap:12px}
.pacts .btn{gap:8px;border-radius:10px}
.p3 .gal-main{aspect-ratio:16/10.5}
.gal-share{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--rb);background:#fff;color:var(--ink);font-weight:600;font-size:14px;padding:6px 12px}
.p3 .gal-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;gap:8px}
.p3 .gal-thumbs a{width:auto;height:auto;aspect-ratio:4/3;opacity:1}
.p3 .gal-thumbs.has-more li:nth-child(n+6):not(.gal-more){display:none}
.gal-more button{width:100%;aspect-ratio:4/3;border:0;border-radius:10px;background:var(--accent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.gal-more b{font-size:1.2rem}
.gal-more span{font-size:12px}
.gal-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.gal-acts button,.gal-acts a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:600;font-size:14px;text-decoration:none}
.gal-acts button:hover,.gal-acts a:hover{border-color:var(--accent)}
.p3 .pcols{grid-template-columns:minmax(0,1fr) 380px}
.p3 .pmain .sec:first-child{padding-top:0}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.tiles div{align-content:start;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.tiles svg{grid-row:1/3;color:var(--cta)}
.tiles dt{font-size:14px;color:var(--muted)}
.tiles dd{margin:0;font-weight:700;color:var(--ink);font-size:16px;overflow-wrap:anywhere}
.p3 .hl{margin-top:14px}
.cfg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cfg-c{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.cfg-c h3{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:12px}
.cfg-c h3 svg{color:var(--cta)}
.cfg-c dl{margin:0 0 14px;flex:1}
.cfg-c dt{font-size:12px;color:var(--muted);margin-top:8px}
.cfg-c dd{margin:0;font-weight:700;color:var(--ink)}
.cfg-c dd small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.cfg-c .cp{font-size:1.1rem;color:var(--accent)}
body.proj .btn.soft{background:var(--chip);border-color:var(--chip);color:var(--cta);min-height:40px;border-radius:10px}
.p3 .amen-grid{grid-template-columns:repeat(4,1fr);gap:14px 6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 8px}
@media(min-width:1000px){.p3 .amen-grid{grid-template-columns:repeat(8,1fr)}}
.p3 .amen-grid span{font-size:12px}
.p3 .enq{top:12px;padding:20px;gap:10px;box-shadow:0 8px 24px rgba(20,33,61,.08);border-color:var(--line)}
.p3 .enq h2{font-size:1.2rem}
.p3 .enq .fine{margin:0}
.p3 .enq .lead-form .btn{border-radius:10px}
.cc{display:flex;align-items:center;border:1px solid #B8C4D6;border-radius:12px;overflow:hidden;background:#fff}
.cc>span{padding:0 12px;font-weight:600;color:var(--ink);border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center}
.lead-form .cc input[type=tel]{border:0!important;border-radius:0;flex:1;min-width:0}
.or{display:flex;align-items:center;gap:10px;margin:2px 0!important;color:var(--muted);font-size:12px;font-weight:700}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}
body.proj .btn.wa{background:#E7F8EE;border-color:#E7F8EE;color:#0F6B3A;gap:8px;border-radius:10px}
body.proj .btn.wa svg{color:#25D366}
.badges{list-style:none;margin:6px 0 0;padding:0!important;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.badges li{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;line-height:1.25;color:var(--muted)}
.badges svg{color:var(--cta)}
.badges li:first-child svg{color:#F59E0B}
.locgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:start}
.locgrid .embed.map{position:relative;margin:0}
.locgrid .embed.map iframe{min-height:330px}
.maplink{position:absolute;left:10px;top:10px;background:#fff;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600;color:var(--cta)!important;text-decoration:none;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.p3 .nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.p3 .ncard li{grid-template-columns:minmax(0,1fr) auto}
.p3 .ncard .nbar{display:none}
.faq.two{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.why4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.w4{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.w4>svg{color:var(--cta);margin-top:2px}
.w4 b{display:block;color:var(--accent);margin-bottom:4px}
.w4 p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.w4 .stars{color:#F59E0B;font-size:14px;letter-spacing:1px}
.mhgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mh{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none;color:inherit}
.mh:hover{border-color:var(--accent)}
.mh-img{flex:0 0 120px;border-radius:8px;overflow:hidden;background:var(--line)}
.mh-img img{width:100%;height:100%;object-fit:cover;display:block}
.mh-b{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted);min-width:0}
.mh-b b{font-size:16px;color:var(--accent)}
.mh-b .price{color:var(--ink)}
.more{gap:6px}

@media(max-width:1100px){
  .hs-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-form .hs-q{grid-column:1/-1;order:-1}
  .hs-form .btn{grid-column:1/-1}
  .p3 .pcols{grid-template-columns:minmax(0,1fr) 330px}
  .why4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .p3 .phero{grid-template-columns:minmax(0,1fr);gap:18px}
  .p3 .phero-r{order:-1}
  .p3 .pcols{grid-template-columns:minmax(0,1fr)}
  .tiles,.cfg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .locgrid{grid-template-columns:minmax(0,1fr)}
  .mhgrid{grid-template-columns:minmax(0,1fr)}
  .xgrid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr);gap:8px 0}
  .stats li:nth-child(3){border-left:0}
}
@media(max-width:760px){
  .hdr .links .req-m{display:block;font-weight:700}
  .hdr .pill.solid{display:none}
  .hero2{padding:22px 0 20px}
  .hs{margin-bottom:-24px}
  .hs-tabs{display:flex;padding:8px 8px 0;gap:4px}
  .hs-tabs a{flex:1;justify-content:center;padding:0 6px;font-size:14px;gap:5px;min-height:44px}
  .hs-tabs a svg{display:none}
  .hs-tabs a{white-space:nowrap;font-size:14px}
  .gal-acts svg{display:none}
  .gal-acts button,.gal-acts a{white-space:nowrap;padding:0 4px}
  .hs-panel{border-radius:0 0 18px 18px;padding:14px 12px 12px}
  .hs-form{gap:8px}
  .hs-form label,.hs-form>select,.hs-form .btn{height:50px;min-height:50px}
  .hs-form .hs-city{grid-column:1/-1}
  body.h2025 main.w{padding-top:44px}
  .stats li{justify-content:flex-start;padding:10px 6px;gap:10px}
  .stats svg{width:30px;height:30px}
  .stats span{font-size:14px}
  .stats b{font-size:1rem}
  .xgrid{grid-template-columns:minmax(0,1fr)}
  .pchips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pacts .btn{flex:1 1 100%}
  .gal-acts button,.gal-acts a{font-size:14px;gap:5px}
  .tiles,.cfg{grid-template-columns:minmax(0,1fr)}
  .p3 .nearby-grid{grid-template-columns:minmax(0,1fr)}
  .faq.two{grid-template-columns:minmax(0,1fr)}
  .why4{grid-template-columns:minmax(0,1fr)}
  .badges{grid-template-columns:minmax(0,1fr)}
  .p3 .crumbs{padding-bottom:4px}
}

/* ---------- design fixes (2026-10-29, Shail's review) ---------- */
/* 1. listing search = the home search fields (city, locality, type, budget) */
.hs.hs-bar{margin:0 0 28px}
.hs.hs-bar .hs-panel{border-radius:18px}
/* 3. amenities: icons never touch the pill edge; the collapsed count matches the column count */
.p3 .amen-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px;padding:20px 16px!important}
.p3 .amen-grid li{padding:0 2px;min-width:0}
.p3 .amen-grid span{font-size:12px;line-height:1.3;overflow-wrap:break-word}
.p3 .amen-grid.collapsed li{display:flex}
.p3 .amen-grid.collapsed li:nth-child(n+7){display:none}
@media(min-width:760px){
  .p3 .amen-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .p3 .amen-grid.collapsed li:nth-child(n+7){display:flex}
  .p3 .amen-grid.collapsed li:nth-child(n+9){display:none}
}
@media(min-width:1000px){.p3 .amen-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1280px){.p3 .amen-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:20px 8px;padding:20px 14px!important}}
/* 5. hero fact tiles and enquiry badges: equal, centred, never cramped */
.pchips{grid-template-columns:repeat(2,minmax(0,1fr))}
.pchips div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding:12px 14px;min-height:68px}
.pchips svg{position:static;grid-row:1/3;align-self:center}
.pchips dt{grid-column:2;align-self:end}
.pchips dd{grid-column:2;align-self:start;margin:2px 0 0}
.badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:10px;border-top:1px solid var(--line);padding-top:14px!important}
.badges li{flex-direction:column;justify-content:flex-start;text-align:center;gap:6px;padding:0 6px;font-size:12px}
.badges li+li{border-left:1px solid var(--line)}
/* 4 + 6. map: bigger, as tall as the nearby cards, the link sits under it and covers nothing */
.locgrid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}
.mapcol{display:flex;flex-direction:column;gap:8px;min-width:0}
.locgrid .embed.map{aspect-ratio:auto;flex:1;min-height:420px}
.maplink{position:static;align-self:flex-start;background:transparent;box-shadow:none;padding:2px 0;font-size:14px}
.maplink:hover{text-decoration:underline}
/* 8. no light strip above the mobile bar: the dark footer carries the bar's height */
@media(max-width:760px){
  body.has-mbar{padding-bottom:0}
  body.has-mbar .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .locgrid .embed.map{min-height:300px}
  /* 7. photos / floor plans / brochure: three equal buttons, icon over label */
  .gal-acts{gap:8px}
  .gal-acts button,.gal-acts a{flex-direction:column;gap:4px;min-height:58px;padding:8px 4px;font-size:12px;line-height:1.2;text-align:center}
  .gal-acts svg{display:block}
  .badges{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* mobile home + shared search: same field order as desktop, tabs fit the card, popular searches in one swipeable row */
@media(max-width:1100px){.hs-form .hs-city,.hs-form .hs-q{grid-column:1/-1;order:0}}
@media(max-width:760px){
  body.proj .hs-tabs a svg.i{display:none}
  .hs-tabs a{font-size:14px}
  .hs-form label,.hs-form>select,.hs-form .btn{height:48px;min-height:48px}
  .hs-form label select,.hs-form label input{font-size:16px}
  .hs-form>select{font-size:16px;padding:0 30px 0 12px}
  .hs-pop{display:none}
  .hs.hs-bar{margin-bottom:22px}
}
@media(max-width:760px){
  .stats li{gap:8px;padding:10px 4px}
  body.proj .stats svg{width:26px;height:26px;flex:none}
  .stats b{font-size:.95rem;white-space:nowrap}
}
/* Type scale (Shail, 2026-10-29): one font, six sizes. 36/28 page title, 24/22 section, 18 card title, 16 body+buttons+inputs, 14 labels+secondary, 12 legal */
:root{--t-h1:36px;--t-h2:24px;--t-card:18px;--t-body:16px;--t-sub:14px;--t-fine:12px}
body.proj h1,.p3 .phero h1,.ptitle h1,.rhead h1{font-size:var(--t-h1)}
body.proj h2,.enq h2,.p3 .enq h2,.cs h2,.trio-h{font-size:var(--t-h2)}
body.proj h3,.pc-mid h2,.cmp-teaser h3,.gb h3,.why-card b,.mc-b b,.nhead h3,.enq h3,.cfg-c h3,.chead b,.cmpbar b,.xc-b b,.ft-t b,.trustline b{font-size:var(--t-card);font-weight:600}
.ov p,.ftext p,.hl li,.hl li b,.faq summary,.hs-form label select,.hs-form label input,.cell,.tiles dd,.fstrip dd,.kv b,.facts dt,.facts dd{font-size:var(--t-body)}
.price,.cfg-c .cp,.stats b,.gal-more b{font-size:var(--t-card)}
.price.lg,.p3 .price.xl{font-size:var(--t-h2)}
.pu,.pto,.stats span,.kv span,.hs-form label,.ptitle .sub{font-size:var(--t-sub)}
body.proj label{font-size:var(--t-sub)}
.home .hero-h .lead,.hero2 .lead{font-size:var(--t-card)}
.ftext blockquote{font-size:var(--t-h2)}
@media(max-width:760px){
  :root{--t-h1:28px;--t-h2:22px}
  .home .hero-h h1,.hero2 h1{font-size:28px}
  .stats b{font-size:var(--t-body);white-space:nowrap}
}
.xc-b b{min-height:calc(var(--t-card)*1.5*2)}
@media(max-width:760px){.xc-b b{min-height:0}}
/* Heading rhythm: space above a heading is larger than the space below it, on every page */
body.pg .band h2:not(:first-child){margin-top:32px}
body.pg .band h3:not(:first-child){margin-top:22px}
body.pg .band.enquire h2:not(:first-child){margin-top:6px}
body.pg .band ul+h2,body.pg .band ul+h3{margin-top:28px}
/* No sideways scroll on phones: long registration numbers wrap, form columns can shrink */
body.pg .cmp td,body.pg .cmp th{overflow-wrap:anywhere}
body.pg .enquire form,body.pg .enquire label,body.pg .enquire input,body.pg .enquire select{min-width:0;max-width:100%;box-sizing:border-box}
/* Stray 13px sizes join the scale */
body.pg .enquire .fine{font-size:var(--t-fine,12px)}
.pprice span,.pfilter label,.pchips li{font-size:var(--t-sub,14px)}
body.pg .band.enquire{box-sizing:border-box;max-width:100%}
/* One reading style for long text on every page: ink colour, 16px, 1.75 line height, same word spacing */
body.pg .band:not(.enquire) p,body.pg .band:not(.enquire) li,.ov p,.ftext p{color:var(--ink);font-size:var(--t-body);line-height:1.75;word-spacing:.05em;letter-spacing:0}
body.pg .band:not(.enquire) p{max-width:760px}
body.proj .pc-mid h2{font-size:var(--t-card);font-weight:600}

/* Search fields: same weight in every field (Shail: Ahmedabad / Property Type / Budget looked like a different font next to the search box) */
.hs-form label select,.hs-form label input,.hs-form>select,.search select,.search input,.sbox input{font-weight:500}
.hs-form label input::placeholder,.sbox input::placeholder{color:var(--muted);font-weight:500;opacity:1}
/* Phones: compact city label, 16px subtitle, featured listings straight after the search, round WhatsApp button */
@media(max-width:760px){
  .hs-form label.hs-city{height:auto;min-height:0;border:0;background:none;padding:0 2px;width:max-content;gap:6px}
  .hs-form label.hs-city select{font-size:14px;height:24px;width:auto;color:var(--accent);font-weight:600}
  .hero2 .lead{font-size:16px}
  body.home main.w{display:flex;flex-direction:column}
  body.home .home-feat{order:-2}
  body.home .stats{order:-1}
  html body .wa-float.wa-float{width:48px;height:48px;min-height:48px;padding:0;font-size:0;color:transparent;background:#25D366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23052e16' d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.2 14.2c-.2.6-1.2 1.1-1.7 1.2-.5.1-1 .1-3.2-.8-2.7-1.1-4.4-3.8-4.5-4-.1-.2-1.1-1.4-1.1-2.7s.7-1.9.9-2.2c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 1.9c.1.2.1.4 0 .5l-.3.5-.4.4c-.1.2-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.8-1c.2-.3.4-.2.6-.1l1.8.9c.3.1.5.2.5.3.1.2.1.8-.1 1.3z'/%3E%3C/svg%3E") center/26px no-repeat}
}
/* Every form field on the site: same font, 16px, weight 500 (enquiry forms were 400, 600 and 700 on different pages) */
body.proj :is(input,select,textarea),body.pg :is(input,select,textarea),body :is(input,select,textarea){font-family:inherit!important;font-size:16px!important;font-weight:500!important}
body :is(input,textarea)::placeholder{font-weight:500!important}
/* Phones (Siddhant's review 2026-10-29): tab pill gets room below it, city label lines up with the fields, map and nearby cards stack instead of squeezing side by side */
@media(max-width:760px){
  .hs-tabs{padding:8px 8px 6px}
  .hs-panel{padding-top:8px}
  .hs-form label.hs-city{padding:0 13px;margin:0 0 2px}
  .locgrid{grid-template-columns:minmax(0,1fr)}
  .locgrid .embed.map{min-height:260px;flex:none}
}

/* RERA chip: tick always visible, the number shows on hover or tap */
.pchips .tip{cursor:help}
.pchips .tip::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:20;background:#0f172a;color:#fff;font-size:12px;line-height:1.45;padding:8px 10px;border-radius:8px;width:max-content;max-width:min(300px,80vw);overflow-wrap:anywhere;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}
.pchips .tip:hover::after,.pchips .tip:focus::after{opacity:1;visibility:visible}
/* Configuration cards: title, details and button rows line up across all cards, even when a title wraps */
.cfg-c{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
.cfg-c h3{align-items:flex-start}
.cfg-c dl{margin:0 0 14px}

/* Phone and tablet polish (Siddhant 2026-10-30): no half-cut buttons, no empty grid spots, even chips */
.p3 .by{margin:6px 0 10px}
.p3 .phero .fine{text-wrap:pretty}
.pchips div{grid-template-columns:24px minmax(0,1fr)}
.pchips svg{justify-self:start}
/* last tile fills the row instead of leaving a hole */
@media(max-width:980px){
  .tiles div:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:560px){
  .p3 .phero .eyebrow{display:none}
  .tiles div:last-child:nth-child(odd){grid-column:auto}
  .hl{grid-template-columns:minmax(0,1fr)}
  .mbar{gap:8px}
  .mbar .btn{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px;white-space:nowrap;font-size:15px}
}

/* Phone: price and its note sit in one full-width card, so the row is never half empty */
@media(max-width:560px){
  .p3 .pbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 16px}
  .p3 .pbox .price{margin:0}
  .p3 .pbox .fine{margin:4px 0 0;font-size:13px;line-height:1.4}
}

/* Desktop (Siddhant 2026-10-30): glance tiles and highlight cards share a 6-column grid, three per row.
   A short last row splits the width evenly (two cards = half each, one card = full), so there is never a hole or a lopsided tile. */
@media(min-width:981px){
  .tiles,.hl{grid-template-columns:repeat(6,minmax(0,1fr))}
  .tiles div,.hl li{grid-column:span 2}
  .tiles div:nth-last-child(2):nth-child(3n+1),.tiles div:last-child:nth-child(3n+2),
  .hl li:nth-last-child(2):nth-child(3n+1),.hl li:last-child:nth-child(3n+2){grid-column:span 3}
  .tiles div:last-child:nth-child(3n+1),.hl li:last-child:nth-child(3n+1){grid-column:1/-1}
  .tiles{margin-bottom:12px}
}
/* Tablet: two per row, an odd last card takes the full row */
@media(min-width:561px) and (max-width:980px){
  .hl li:last-child:nth-child(odd){grid-column:1/-1}
}

/* Phone: show 4 glance tiles, "See N more" opens the rest. All tiles stay in the HTML for crawlers; no script needed. */
.tmore-cb{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.tmore{display:none}
@media(max-width:560px){
  .tmore-cb ~ .tiles div:nth-child(n+5){display:none}
  .tmore-cb:checked ~ .tiles div:nth-child(n+5){display:grid}
  .tmore{display:flex;justify-content:center;align-items:center;margin:10px 0 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--cta);font-weight:600;font-size:15px;cursor:pointer}
  .tmore .less{display:none}
  .tmore-cb:checked ~ .tmore .more{display:none}
  .tmore-cb:checked ~ .tmore .less{display:inline}
  .tmore-cb:focus-visible ~ .tmore{outline:2px solid var(--cta);outline-offset:2px}
  .tmore-cb ~ .hl{margin-top:16px}
}

/* Siddhant 2026-11-02: one size per line in configuration cards; nearby cards flow in two even columns (no short card beside a tall one); FAQ answers keep line breaks */
.cfg-c dd .sz{display:block}
.cfg-c dd small{white-space:normal}
.p3 .nearby-grid{display:block;column-count:2;column-gap:12px}
.p3 .nearby-grid .ncard{break-inside:avoid;margin:0 0 12px}
@media(max-width:560px){.p3 .nearby-grid{column-count:1}}
.cfg-c dd small.more{margin-top:2px}

/* Siddhant 2026-11-02: long IDs (RERA numbers) wrap inside their card instead of spilling out */
.w4>div{min-width:0}
.w4 p,.w4 b,.faq p,.ov p,.ftext p,.hl li,.pchips *{overflow-wrap:anywhere}
