/* Property detail */
.gal-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(360px,62vh,640px)}
.gal-grid button{position:relative;padding:0;border:0;background:var(--paper-2);overflow:hidden;cursor:zoom-in;display:block}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal-grid button:hover img{transform:scale(1.02)}
.g-main{grid-row:span 2}
.g-more{position:absolute;right:12px;bottom:12px;background:rgba(20,19,18,.75);color:#fff;font-size:12px;padding:6px 10px}
.gal-bar{display:flex;flex-wrap:wrap;gap:6px 24px;padding:16px 0 0}
.gal-bar button,.gal-bar a{background:none;border:0;padding:6px 0;font:500 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.gal-bar button:hover,.gal-bar a:hover{color:var(--accent);border-color:var(--accent)}
@media (max-width:760px){.gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}.g-main{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}.g-side{aspect-ratio:4/3}}

.prop-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(40px,5vw,88px);align-items:start;padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(48px,6vw,96px)}
@media (max-width:1100px){.prop-grid{grid-template-columns:minmax(0,1fr) 340px}}
@media (max-width:999px){.prop-grid{grid-template-columns:minmax(0,1fr)}.lisle{order:-1}}
.prop-main{min-width:0}
.title-block{padding:clamp(28px,4vw,52px) 0 36px;border-bottom:1px solid var(--hair)}
.pblock:first-child{padding-top:0}
.title-block .eyebrow{margin-bottom:14px}
.p-title{font-size:clamp(42px,5vw,72px)}
.p-loc{font-size:16px;color:var(--ink-2);margin:12px 0 0;letter-spacing:.02em}
.p-sub{font:400 clamp(19px,1.6vw,23px)/1.45 var(--serif);font-style:italic;margin:22px 0 0;max-width:46ch}
.p-price{margin:20px 0 0;font-size:16px}
.p-price span{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-left:6px}
.pblock{padding:clamp(40px,5vw,64px) 0;border-bottom:1px solid var(--hair)}
.pblock>.eyebrow{display:block;margin-bottom:22px}
.pb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.story p{font-size:17.5px;line-height:1.7;max-width:64ch}
.story p:first-child::first-letter{font:400 3.4em/0.8 var(--serif);float:left;margin:6px 10px 0 0;color:var(--accent)}
.kf-h{display:block;margin:34px 0 8px}
.kf{list-style:none;columns:2;column-gap:40px}
.kf li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--hair-2);font-size:15.5px}
@media (max-width:600px){.kf{columns:1}}
.arch{margin-top:22px;font-size:12.5px;color:var(--ink-2)}
.fp{background:var(--card);border:1px solid var(--hair-2);padding:clamp(12px,2vw,28px);margin-bottom:10px}
.fp svg,.lb-paper svg{width:100%;height:auto}
.fp-wall{fill:none;stroke:var(--ink);stroke-width:5}
.fp-room{fill:var(--card);stroke:var(--ink);stroke-width:1.6}
.fp-out{fill:var(--paper-2)}
.fp-name{font:400 22px var(--serif);fill:var(--ink)}
.fp-dim{font:400 12.5px var(--mono);fill:var(--ink-2)}
.fp-stair line{stroke:var(--ink-2);stroke-width:1}
.toggles{display:flex;gap:6px;flex-wrap:wrap}
.loc-map{height:clamp(300px,40vw,440px)}
.loc-map.no-parks .park{fill:#E7E0D4}
.loc-map>.map-note{position:absolute;left:12px;bottom:12px;margin:0;font:400 11px var(--mono);background:rgba(243,238,230,.9);padding:4px 8px}
.loc-map:has(.paris){position:relative}
.loc-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px}
.loc-cols .eyebrow{display:block;margin-bottom:8px}
@media (max-width:760px){.loc-cols{grid-template-columns:1fr}}
.lst{list-style:none}
.lst li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair-2);font-size:14.5px}
.lst li small{display:block;font-size:12.5px;color:var(--ink-2)}
.lst li .mono{font-size:12.5px;white-space:nowrap;color:var(--ink-2)}
.paris{width:100%;height:100%}
.pa-bg{fill:#E7E0D4}.pa-river{fill:#C9D2D3}.pa-road{stroke:#FBF8F2;stroke-width:6;fill:none}
.pa-lbl{font:italic 15px var(--serif);fill:#7C8466}.pa-pin{fill:#1C1A19}.pa-pt{font:500 11px var(--mono);fill:#fff}.pa-st{fill:#fff;stroke:#1C1A19;stroke-width:1.5}.pa-s{font:500 10px var(--sans);fill:#4A4541}
.calcs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.calcs{grid-template-columns:1fr}}
.calc{background:var(--card);border:1px solid var(--hair-2);padding:24px;display:grid;gap:16px;align-content:start}
.calc:only-child{grid-column:1/-1}
.calc-h{font:400 24px/1.1 var(--serif)}
.calc input[type=range]{width:100%;accent-color:var(--accent)}
.calc-out{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--hair-2);padding-top:16px}
.calc-out b{display:block;font-size:19px;font-weight:500;margin-top:6px}
.sd-type{border:0;padding:0;margin:0;display:grid;gap:8px}
.sd-type legend{margin-bottom:8px}
.sd-detail summary{cursor:pointer;color:var(--ink-2)}
.booking{max-width:760px}
.bk-when{margin:0 0 18px;font-size:13.5px}
.bk-partner{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.bk-partner img{width:72px;height:90px;object-fit:cover}
.bk-pn{font:400 22px/1.1 var(--serif);margin:4px 0}
.mi summary{cursor:pointer;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:6px 0}
.mi-body{padding-top:18px;color:var(--ink-2)}
.mi-dl{display:grid;grid-template-columns:160px 1fr;gap:8px 20px;margin:0 0 14px}
.mi-dl dt{font-weight:500;color:var(--ink)}
.mi-dl dd{margin:0}
@media (max-width:560px){.mi-dl{grid-template-columns:1fr}.mi-dl dd{margin-bottom:6px}}

/* Lisle card */
.lisle{position:sticky;top:96px}
@media (max-width:999px){.lisle{position:static}}
.lisle-in{background:var(--card);border:1px solid var(--hair);padding:28px 28px 24px}
.lc-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.lc-h{font:400 26px/1 var(--serif);font-style:italic}
.lc-ref{font-size:11.5px;color:var(--ink-2)}
.lc-units{display:flex;gap:0;margin:14px 0 4px;justify-content:flex-end}
.lc-units .u{border:1px solid var(--hair);background:transparent;font:400 12px/1 var(--mono);padding:7px 10px;min-height:32px}
.lc-units .u[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lc-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12.8px}
.lc-table th,.lc-table td{padding:9px 0;border-bottom:1px dotted var(--hair);vertical-align:top;text-align:left}
.lc-table th{font-weight:400;color:var(--ink-2);width:44%;padding-right:10px}
.lc-table td{color:var(--ink)}
.lc-cur{margin:10px 0 0;font-size:11px}
.lc-actions{display:grid;gap:8px;margin-top:20px}
.lc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lc-save[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.share{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0 0}
.share .tlink{background:none;border:0;border-bottom:1px solid var(--hair);padding:0 0 4px;color:var(--ink)}
.agent{display:flex;gap:16px;align-items:flex-start;margin-top:22px;padding-top:20px;border-top:1px solid var(--hair-2)}
.agent img{width:64px;height:80px;object-fit:cover}
.agent p{margin:0}
.ag-n{font:400 20px/1.1 var(--serif)}
.agent a{display:inline-block;margin:4px 0;text-decoration:none}

.similar{border-top:1px solid var(--hair)}
.jr{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.jr-media{aspect-ratio:4/3;overflow:hidden}
.jr-media img{width:100%;height:100%;object-fit:cover}
.jr h2{margin:12px 0 14px}
@media (max-width:860px){.jr{grid-template-columns:1fr}}

/* lightbox */
.lb{background:#0F0E0D;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0}
.lb-top{display:flex;align-items:center;gap:16px;padding:8px 16px;color:#EDE7DD;border-bottom:1px solid #2A2724}
.lb-tabs{flex:1;border:0}
.lb-tabs [role=tab]{color:#A79F94}
.lb-tabs [role=tab][aria-selected="true"]{color:#fff;border-bottom-color:#B98AAB}
.lb-top .icon-btn{color:#fff}
.lb-count{font-size:12px;color:#C9C1B5;white-space:nowrap}
.lb-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:16px;min-height:0;touch-action:pan-y}
.lb-stage>img{max-width:100%;max-height:100%;object-fit:contain}
.lb-paper{background:var(--paper);padding:clamp(16px,3vw,40px);width:min(1000px,100%);max-height:100%;overflow:auto}
.lb-map{width:min(1100px,100%);height:100%;min-height:300px}
.lb .film-f{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain;opacity:0;transition:opacity 1.2s}
.lb .film-f.on{opacity:1}
.lb-filmcap{position:absolute;left:24px;bottom:24px;color:#EDE7DD;font-size:12px;background:rgba(0,0,0,.5);padding:6px 10px}
.lb-nav{position:absolute;top:50%;width:52px;height:52px;border:1px solid #4A4541;background:rgba(15,14,13,.6);color:#fff;font-size:20px}
.lb-prev{left:16px}.lb-next{right:16px}
.epc-t{font:500 13px var(--mono)}.epc-b{font:600 20px var(--sans)}.epc-h{font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:var(--ink-2)}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--paper);border-top:1px solid var(--hair);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px 10px 16px}
.sticky-cta .mono{font-size:14px}
@media (max-width:999px){.pg-property .concept{bottom:70px}}

@media print{
  .util,.hdr,.menu,.crumbs,.gal,.prop-main,.similar,.journal,.ftr,.concept,.lc-actions,.lc-units,.sticky-cta,.toast,.modal{display:none!important}
  body{background:#fff;color:#000}
  .prop-grid{display:block;padding:0}
  .lisle{position:static}
  .lisle-in{border:0;padding:0}
  @page{size:A5;margin:12mm}
}
