/* ---------- Property detail pages (property-*.html) ---------- */

.badge{font-size:11.5px;font-weight:600;background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:5px 12px;color:var(--slate)}

.pdp-cta-row .btn-ghost,.pdp-card .btn-ghost{border-color:var(--line);color:var(--navy)}
.pdp-cta-row .btn-ghost:hover,.pdp-card .btn-ghost:hover{background:var(--navy);color:#fff}

.pdp-crumb{font-size:12.5px;color:var(--slate);margin-bottom:18px}
.pdp-crumb a{color:var(--slate);text-decoration:none}
.pdp-crumb a:hover{color:var(--bronze2)}

.pdp-hero{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(20,33,27,.14)}
.pdp-hero img{width:100%;aspect-ratio:21/8;max-height:380px;object-fit:cover;display:block}
@media(max-width:640px){.pdp-hero img{aspect-ratio:4/3;max-height:280px}}
.pdp-hero .status{position:absolute;top:18px;left:18px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 15px;border-radius:20px}
.pdp-hero .pdp-tour{position:absolute;bottom:18px;right:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(15,25,20,.72);color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;border-radius:100px;border:none;cursor:pointer;backdrop-filter:blur(4px)}
.pdp-hero .pdp-tour svg{width:15px;height:15px}
.pdp-hero .pdp-tour:hover{background:rgba(15,25,20,.88)}

.pdp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:26px;flex-wrap:wrap}
.pdp-head .loc{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze2)}
.pdp-head h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,4vw,42px);color:var(--navy);margin:6px 0 0;letter-spacing:-.01em}
.pdp-price{text-align:right;flex:none}
.pdp-price .from{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.pdp-price .val{font-family:'Fraunces',serif;font-size:26px;color:var(--navy)}
@media(max-width:640px){.pdp-price{text-align:left}}

.pdp-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pdp-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}

.pdp-gal-hint{display:flex;align-items:center;gap:7px;margin-top:30px;font-size:12.5px;font-weight:600;color:var(--slate)}
.pdp-gal-hint svg{width:15px;height:15px;flex:none;color:var(--bronze2)}

.pdp-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pdp-gal .g-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--paper2)}
.pdp-gal .g-item img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .3s}
.pdp-gal .g-item:hover img{transform:scale(1.05)}
.pdp-gal .g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(10,18,14,.5) 100%);opacity:0;transition:opacity .2s}
.pdp-gal .g-item:hover::after{opacity:1}
.pdp-gal .g-item .expand{position:absolute;bottom:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;z-index:1;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}
.pdp-gal .g-item .expand svg{width:13px;height:13px;stroke:var(--navy)}
.pdp-gal .g-item:hover .expand{opacity:1;transform:scale(1)}
@media(hover:none){.pdp-gal .g-item .expand{opacity:1;transform:scale(1)}.pdp-gal .g-item::after{opacity:1;background:linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(10,18,14,.45) 100%)}}
.pdp-gal .g-item.video::before{content:"";position:absolute;inset:0;background:rgba(15,25,20,.28);z-index:0}
.pdp-gal .g-item .playdot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;z-index:1}
.pdp-gal .g-item .playdot svg{width:14px;height:14px;fill:var(--navy);margin-left:2px}
@media(max-width:760px){.pdp-gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.pdp-gal{grid-template-columns:repeat(2,1fr)}}

.pdp-body{display:grid;grid-template-columns:1.5fr 1fr;gap:46px;margin-top:46px;align-items:start}
@media(max-width:880px){.pdp-body{grid-template-columns:1fr}}
.pdp-body h2{font-family:'Fraunces',serif;font-weight:500;font-size:23px;color:var(--navy);margin-bottom:14px}
.pdp-body .desc{font-size:15.5px;line-height:1.75;color:var(--ink)}

.pdp-stats{display:flex;background:var(--paper2);border:1px solid var(--line);border-radius:12px;margin-top:22px;overflow:hidden}
.pdp-stats .pstat{flex:1;padding:11px 16px;border-right:1px solid var(--line)}
.pdp-stats .pstat:last-child{border-right:none}
.pdp-stats .pstat .n{font-family:'Fraunces',serif;font-size:16.5px;color:var(--navy);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-stats .pstat .l{font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--slate);margin-top:3px;line-height:1.25}
@media(max-width:640px){.pdp-stats{flex-wrap:wrap}.pdp-stats .pstat{flex:1 1 50%;border-bottom:1px solid var(--line)}.pdp-stats .pstat:nth-child(2n){border-right:none}.pdp-stats .pstat .n{white-space:normal}}

.pdp-feat{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin-top:22px}
.pdp-feat span{font-size:13.5px;color:var(--ink);display:flex;gap:8px;align-items:flex-start}
.pdp-feat span::before{content:"✓";color:var(--bronze2);font-weight:700;flex:none}
@media(max-width:520px){.pdp-feat{grid-template-columns:1fr}}

.pdp-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px}
@media(max-width:880px){.pdp-side{position:static}}
.pdp-card{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:22px}
.pdp-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:16.5px;color:var(--navy);margin-bottom:8px}
.pdp-card p{font-size:13.5px;color:var(--slate);line-height:1.6}
.pdp-card .btn{margin-top:14px;width:100%;text-align:center;display:block}
.pdp-ridge{display:flex;gap:12px;align-items:flex-start}
.pdp-ridge .ric{flex:none;width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--sand);display:flex;align-items:center;justify-content:center}
.pdp-ridge .ric svg{width:19px;height:19px}

.pdp-lightbox{position:fixed;inset:0;background:rgba(10,18,14,.94);z-index:400;display:none;align-items:center;justify-content:center;padding:20px}
.pdp-lightbox.open{display:flex}
.pdp-lightbox .lb-stage{max-width:min(1100px,94vw);max-height:86vh;width:100%;display:flex;align-items:center;justify-content:center}
.pdp-lightbox img,.pdp-lightbox video{max-width:100%;max-height:86vh;border-radius:8px;display:block}
.pdp-lightbox .lb-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;border:none;font-size:22px;cursor:pointer;line-height:1}
.pdp-lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pdp-lightbox .lb-nav svg{width:20px;height:20px}
.pdp-lightbox .lb-prev{left:16px}
.pdp-lightbox .lb-next{right:16px}
.pdp-lightbox .lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:12.5px;background:rgba(255,255,255,.12);padding:5px 12px;border-radius:100px}
@media(max-width:560px){.pdp-lightbox .lb-nav{width:36px;height:36px}.pdp-lightbox .lb-close{width:34px;height:34px;top:10px;right:10px}}

.pdp-area{margin-top:52px;padding-top:46px;border-top:1px solid var(--line)}
.pdp-area h2{font-family:'Fraunces',serif;font-weight:500;font-size:23px;color:var(--navy);margin-bottom:6px}
.pdp-area .lede{font-size:14.5px;color:var(--slate);max-width:70ch;line-height:1.65}
.pdp-area-stats-row{margin-top:24px}
.pdp-map{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper2);margin-top:36px}
.pdp-map iframe{width:100%;height:440px;display:block;border:0}
@media(max-width:640px){.pdp-map iframe{height:320px}}
.pdp-map-cap{padding:13px 18px;font-size:12.5px;color:var(--slate);display:flex;justify-content:space-between;gap:10px;align-items:center}
.pdp-map-cap a{color:var(--bronze2);font-weight:600;text-decoration:none}

.pdp-case{background:linear-gradient(135deg,var(--sand),#EDCBA6);border-radius:14px;padding:20px 24px;margin-top:28px}
.pdp-case .eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B3E1E;display:block;margin-bottom:8px}
.pdp-case p{font-size:15px;color:#3A2410;line-height:1.65;margin:0}
.pdp-case p b{font-weight:700}

.pdp-area-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:32px}
@media(max-width:700px){.pdp-area-cols{grid-template-columns:1fr}}
.pdp-area-col h4{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bronze2);margin-bottom:12px}
.pdp-area-col p{font-size:13.5px;color:var(--ink);line-height:1.6}

.pdp-projs,.pdp-conns{display:flex;flex-direction:column;gap:12px}
.pdp-proj{display:flex;gap:12px;align-items:baseline}
.pdp-proj b{font-family:'Fraunces',serif;font-weight:600;font-size:14px;color:var(--navy);flex:none;min-width:56px}
.pdp-proj span{font-size:12.5px;font-weight:700;color:var(--ink);display:block}
.pdp-proj p{font-size:12.5px;color:var(--slate);line-height:1.5;margin:2px 0 0}
.pdp-proj > div{min-width:0}

.pdp-conn{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px}
.pdp-conn:last-child{border-bottom:none;padding-bottom:0}
.pdp-conn b{font-size:13px;color:var(--ink);font-weight:600;flex:none}
.pdp-conn span{font-size:12px;color:var(--slate);text-align:right}

.pdp-emps{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pdp-emp{font-size:11px;font-weight:600;color:var(--navy);background:var(--paper2);border:1px solid var(--line);border-radius:100px;padding:5px 11px}

.pdp-related{margin-top:56px}
.pdp-related h2{font-family:'Fraunces',serif;font-weight:500;font-size:22px;color:var(--navy);margin-bottom:16px}
.pdp-rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,320px));gap:16px}
.pdp-rel-grid.n1{grid-template-columns:minmax(0,320px)}
.pdp-rel-grid.n2{grid-template-columns:repeat(2,minmax(0,320px))}
@media(max-width:760px){.pdp-rel-grid,.pdp-rel-grid.n1,.pdp-rel-grid.n2{grid-template-columns:1fr!important}}
.pdp-rel-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);transition:transform .15s,box-shadow .15s}
.pdp-rel-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,33,27,.1)}
.pdp-rel-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pdp-rel-card .rc-body{padding:14px 16px}
.pdp-rel-card .loc{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze2)}
.pdp-rel-card h4{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--navy);margin-top:4px}
.pdp-rel-card .p{font-size:12.5px;color:var(--slate);margin-top:4px}
