/* ============================================================
   listing-page.css — Phase 19
   Individual listing pages (/properties/<slug>, /es/properties/<slug>).
   Built only from the site's existing tokens (main.css / refinements.css):
   The Agency red as an accent, the paper neutral, hairline rules, sharp
   corners, Barlow Condensed / Noto Serif Display / Roboto. Shared section
   titles (.sl, .st), buttons (.bred, .boutline), cards (.lcard) and the
   closing .lead-cta-block are reused unchanged.
   ============================================================ */

.lp-wrap{max-width:1240px;margin:0 auto}
.lp-head{margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.lp-head .st{margin-bottom:0}

/* ---- Hero: the listing's first photograph, full width ---- */
.lp-hero{position:relative;min-height:min(84vh,860px);min-height:min(84svh,860px);display:flex;align-items:flex-end;overflow:hidden;
  padding:9rem clamp(1.4rem,4vw,2.9rem) clamp(2.4rem,5vw,3.8rem);background:#151515}
.lp-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.lp-hero__ov{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.12) 34%,rgba(0,0,0,.22) 58%,rgba(0,0,0,.84) 100%)}
.lp-hero__in{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto}
.lp-crumbs{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:1.6rem;
  display:flex;flex-wrap:wrap;gap:0 .1rem;line-height:1.9}
.lp-crumbs>span[aria-hidden]{margin:0 .5rem;white-space:pre}
.lp-crumbs a{color:rgba(255,255,255,.86);border-bottom:1px solid transparent;transition:border-color .3s ease,color .3s ease}
.lp-crumbs a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
.lp-crumbs{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}   /* one line at every width: no reflow when the web fonts arrive */
.lp-crumbs>*{flex:0 0 auto}
.lp-crumbs [aria-current]{flex:0 1 auto;min-width:0;color:rgba(255,255,255,.72);overflow:hidden;text-overflow:ellipsis}
.lp-hero__loc{font-family:var(--fh);font-size:.82rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:.8rem}
.lp-hero h1{font-family:var(--fs);font-weight:500;font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.08;color:#fff;max-width:20ch;text-wrap:balance;margin:0}
.lp-hero__price{font-family:var(--fh);font-weight:400;font-size:clamp(1.35rem,2.3vw,1.8rem);letter-spacing:.06em;color:#fff;margin-top:1.1rem;
  padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.28);display:inline-block}

/* ---- Key facts: one row of figures divided by hairlines ---- */
.lp-facts{background:#fff;border-bottom:1px solid var(--hair);padding:clamp(1.6rem,3.2vw,2.4rem) clamp(1.4rem,4vw,2.9rem)}
.lp-facts__in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
.lp-facts__list{display:flex;flex-wrap:wrap;margin:0;row-gap:1rem}
.lp-fact{padding:0 clamp(1rem,2.4vw,2rem);border-left:1px solid var(--hair)}
.lp-fact:first-child{padding-left:0;border-left:0}
.lp-fact dt{font-family:var(--fh);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--t3)}
.lp-fact dd{font-family:var(--fs);font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--txt);margin:.3rem 0 0;line-height:1.3}
.lp-actions{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.5rem;border-top:1px solid var(--hair)}
.lp-act{text-align:center;white-space:nowrap}

/* ---- Gallery: a quiet mosaic of the next photographs ---- */
.lp-gallery{background:var(--paper,#faf8f5);padding:clamp(3rem,6vw,5rem) clamp(1.4rem,4vw,2.9rem)}
.lp-mosaic{display:grid;gap:6px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:16/7.4}
.lp-mosaic--1{grid-template-columns:1fr;grid-template-rows:1fr;aspect-ratio:16/8}
.lp-mosaic--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr;aspect-ratio:16/6.4}
.lp-mosaic--3{grid-template-columns:2fr 1fr}
.lp-mosaic--4{grid-template-columns:2fr 1fr 1fr}
.lp-mosaic--4 .lp-tile:nth-child(4){grid-column:2/4}
.lp-tile{position:relative;display:block;overflow:hidden;background:var(--ir3);min-height:0}
.lp-mosaic--3 .lp-tile:first-child,.lp-mosaic--4 .lp-tile:first-child,.lp-mosaic--5 .lp-tile:first-child{grid-row:1/3}
.lp-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease,ease),filter .6s ease}
.lp-tile:hover img{transform:scale(1.035)}
.lp-tile:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.lp-tile__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(17,17,17,.46);color:#fff;
  font-family:var(--fh);font-size:1.25rem;letter-spacing:.16em;z-index:1;transition:background .4s ease}
.lp-tile--more:hover .lp-tile__more{background:rgba(17,17,17,.34)}
.lp-gallery__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.4rem}
.lp-allphotos{cursor:pointer;background:transparent}

/* ---- Overview: description and features beside the listing details ---- */
.lp-overview{padding:clamp(3.4rem,7vw,6rem) clamp(1.4rem,4vw,2.9rem);background:#fff}
.lp-overview__in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(2.4rem,6vw,5.5rem);align-items:start}
.lp-overview--solo .lp-overview__in{grid-template-columns:minmax(0,640px)}
.lp-lede{font-family:var(--fs);font-size:clamp(1.12rem,1.6vw,1.32rem);line-height:1.7;color:var(--txt);max-width:62ch;margin-top:.4rem}
.lp-subh{font-family:var(--fh);font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--txt);margin:2.4rem 0 .4rem}
.lp-details .lp-subh{margin-top:0}
.lp-features{list-style:none;margin:0;padding:0;columns:2;column-gap:2.4rem;border-top:1px solid var(--hair)}
.lp-features li{position:relative;padding:.9rem 0 .9rem 1.3rem;border-bottom:1px solid var(--hair);break-inside:avoid;color:var(--t2);font-size:.95rem;line-height:1.55}
.lp-features li::before{content:'';position:absolute;left:0;top:1.62rem;width:.55rem;height:1px;background:var(--red)}
.lp-details{position:sticky;top:6.5rem;border-top:1px solid var(--txt);padding-top:1.2rem}
.lp-overview--solo .lp-details{position:static;border-top:0;padding-top:0}
.lp-details__list{margin:0;border-top:1px solid var(--hair)}
.lp-overview--solo .lp-details__list{margin-top:.6rem}
.lp-details__list>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--hair)}
.lp-details__list dt{font-family:var(--fh);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);padding-top:.15rem}
.lp-details__list dd{margin:0;font-size:.95rem;color:var(--txt);line-height:1.5;overflow-wrap:anywhere}
.lp-details__list a,.lp-textlink{color:var(--txt);border-bottom:1px solid rgba(237,33,39,.45);transition:border-color .3s ease,color .3s ease}
.lp-details__list a:hover,.lp-textlink:hover{color:var(--red-a,#D71920);border-bottom-color:var(--red)}

/* ---- Location ---- */
.lp-context{background:var(--paper,#faf8f5);border-top:1px solid var(--hair);padding:clamp(3rem,6vw,5rem) clamp(1.4rem,4vw,2.9rem)}
.lp-context__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1.6rem,5vw,4.5rem);align-items:start}
.lp-context .st{margin-bottom:0}
.lp-context__text{font-size:1rem;line-height:1.85;color:var(--t2);max-width:60ch;margin:0 0 1.4rem}
.lp-context__links{display:flex;flex-wrap:wrap;gap:.9rem 1.6rem}
.lp-textlink{font-size:.92rem;padding-bottom:.15rem;display:inline-block}
.lp-textlink--quiet{color:var(--t2);border-bottom-color:var(--hair)}

/* ---- Related properties ---- */
.lp-related{background:#fff;padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem)}
.lp-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---- Photo viewer ---- */
html.lp-lock,html.lp-lock body{overflow:hidden}
.lp-lb{position:fixed;inset:0;z-index:3000;background:rgba(10,10,10,.96);display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  opacity:0;transition:opacity .35s var(--m-ease,ease)}
.lp-lb[hidden]{display:none}
.lp-lb.is-open{opacity:1}
.lp-lb__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);color:rgba(255,255,255,.8)}
.lp-lb__count{font-family:var(--fh);letter-spacing:.2em;font-size:.82rem}
.lp-lb__stage{position:relative;display:flex;align-items:center;justify-content:center;padding:0 clamp(3.2rem,7vw,5.5rem);min-height:0;touch-action:pan-y}
.lp-lb__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;user-select:none;transition:opacity .25s ease}
.lp-lb__img.is-loading{opacity:.25}
.lp-lb__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;transition:background .3s ease,border-color .3s ease}
.lp-lb__btn:hover{background:rgba(255,255,255,.1);border-color:#fff}
.lp-lb__prev{left:clamp(.5rem,2vw,1.4rem)}
.lp-lb__next{right:clamp(.5rem,2vw,1.4rem)}
.lp-lb__btn svg,.lp-lb__close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
.lp-lb__close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer}
.lp-lb__close:hover{border-color:#fff}
.lp-lb__cap{padding:.9rem clamp(1rem,3vw,2rem) 1.2rem;color:rgba(255,255,255,.62);font-size:.82rem;text-align:center;min-height:3rem}
.lp-lb :focus-visible{outline:2px solid #fff;outline-offset:3px}

/* ---- Responsive ---- */
@media (max-width:1080px){
  .lp-overview__in{grid-template-columns:minmax(0,1fr)}
  .lp-details{position:static}
  .lp-context__in{grid-template-columns:minmax(0,1fr)}
  .lp-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .lp-crumbs{letter-spacing:.1em}
  .lp-crumbs [aria-current],.lp-crumbs>span[aria-hidden]:nth-last-child(2){display:none}   /* the H1 names the page */
  .lp-hero{min-height:78svh;padding-top:7.5rem}
  .lp-facts__in{display:block}
  .lp-facts__list{display:grid;grid-template-columns:1fr 1fr;row-gap:0;margin-bottom:1.4rem}
  .lp-fact,.lp-fact:first-child{padding:.85rem 0;border-left:0;border-bottom:1px solid var(--hair)}
  .lp-fact:nth-child(even){padding-left:1rem;border-left:1px solid var(--hair)}
  .lp-actions{display:grid;grid-template-columns:1fr;padding-top:0;border-top:0}
  .lp-mosaic,.lp-mosaic--3,.lp-mosaic--4,.lp-mosaic--5{grid-template-columns:1fr 1fr;grid-template-rows:auto;aspect-ratio:auto}
  .lp-mosaic .lp-tile{aspect-ratio:4/3}
  .lp-mosaic .lp-tile:first-child{grid-column:1/3;grid-row:auto;aspect-ratio:3/2}
  .lp-mosaic--4 .lp-tile:nth-child(4){grid-column:auto}
  .lp-mosaic--5 .lp-tile:nth-child(4),.lp-mosaic--5 .lp-tile:nth-child(5){display:none}
  .lp-mosaic--1 .lp-tile:first-child,.lp-mosaic--2 .lp-tile:first-child{grid-column:auto}
  .lp-features{columns:1}
  .lp-related__grid{grid-template-columns:minmax(0,1fr)}
  .lp-lb__stage{padding:0}
  .lp-lb__btn{top:auto;bottom:-3.9rem;transform:none}
  .lp-lb__cap{padding-bottom:4.6rem}
}
@media (prefers-reduced-motion:reduce){
  .lp-tile img,.lp-lb,.lp-lb__img{transition:none}
  .lp-tile:hover img{transform:none}
}

/* ============================================================
   Phase 21 — Cap Cana project landing sections
   Rendered by the generator only for listings classified as developments,
   and each section only when its verified project data exists. Same
   tokens and vocabulary as above: hairlines, sharp corners, paper and
   black grounds, red as an accent only.
   ============================================================ */
.lp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.lp-prose p{font-size:1.02rem;line-height:1.85;color:var(--t2);max-width:64ch;margin:0 0 1.1rem}
.lp-prose p:last-child{margin-bottom:0}
.lp-prose ul{list-style:none;margin:0 0 1.2rem;padding:0;max-width:64ch;border-top:1px solid var(--hair)}
.lp-prose li{position:relative;padding:.7rem 0 .7rem 1.3rem;border-bottom:1px solid var(--hair);color:var(--t2);font-size:.97rem;line-height:1.6}
.lp-prose li::before{content:'';position:absolute;left:0;top:1.38rem;width:.55rem;height:1px;background:var(--red)}
.lp-fulldesc{margin-top:.6rem}
.lp-fine{font-size:.8rem;line-height:1.7;color:var(--t3);max-width:78ch;margin:1rem 0 0}

/* Hero additions (residence types, positioning, inquiry and brochure) */
.lp-hero__types{font-family:var(--fh);font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);margin:1.2rem 0 0}
.lp-hero__pos{font-family:var(--fs);font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.6;color:rgba(255,255,255,.92);max-width:52ch;margin:.7rem 0 0}
.lp-hero__btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.lp-hero__btns .boutline{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.lp-hero__btns .boutline:hover{border-color:#fff}

/* Introduction: text with an optional supplied image, side alternating by project */
.lp-pintro{background:#fff;padding:clamp(3.4rem,7vw,6rem) clamp(1.4rem,4vw,2.9rem);border-bottom:1px solid var(--hair)}
.lp-pintro__in{display:grid;grid-template-columns:minmax(0,680px);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.lp-pintro--img .lp-pintro__in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.lp-pintro--img.lp-pintro--flip .lp-pintro__text{order:2}
.lp-pintro__fig{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ir3)}
.lp-pintro__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* At a glance: one horizontal row of verified facts divided by hairlines */
.lp-glance{background:var(--paper,#faf8f5);padding:clamp(3rem,6vw,4.6rem) clamp(1.4rem,4vw,2.9rem)}
.lp-glance__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;border-top:1px solid var(--txt)}
.lp-glance__list>div{padding:1.1rem 1.2rem 1.2rem 0;border-bottom:1px solid var(--hair)}
.lp-glance__list>div+div{padding-left:1.2rem;border-left:1px solid var(--hair)}
.lp-glance__list dt{font-family:var(--fh);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--t3)}
.lp-glance__list dd{font-family:var(--fs);font-size:clamp(1.02rem,1.4vw,1.22rem);line-height:1.35;color:var(--txt);margin:.35rem 0 0;overflow-wrap:anywhere}

/* Residences: one column per unit type, figures never merged across types */
.lp-residences{background:#fff;padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem)}
.lp-res__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border-top:1px solid var(--txt)}
.lp-res{padding:1.4rem clamp(1rem,2.4vw,1.8rem) 1.6rem 0}
.lp-res+.lp-res{padding-left:clamp(1rem,2.4vw,1.8rem);border-left:1px solid var(--hair)}
.lp-res__name{font-family:var(--fs);font-weight:500;font-size:1.3rem;line-height:1.25;margin:0 0 .5rem}
.lp-res__note{font-size:.9rem;line-height:1.6;color:var(--t2);margin:0 0 .8rem}
.lp-res__list{margin:0;border-top:1px solid var(--hair)}
.lp-res__list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--hair)}
.lp-res__list dt{font-family:var(--fh);font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);padding-top:.15rem}
.lp-res__list dd{margin:0;font-size:.93rem;color:var(--txt);font-variant-numeric:tabular-nums}

/* Floor plans: supplied files only, shown whole (contain), enlargeable */
.lp-plans{background:var(--paper,#faf8f5);padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem)}
.lp-plans__group+.lp-plans__group{margin-top:2.4rem}
.lp-plans__group .lp-subh{margin-top:0}
.lp-plans__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1.2rem;margin-top:1rem}
.lp-plan{margin:0;background:#fff;border:1px solid var(--hair)}
.lp-plan__open{display:block;padding:clamp(.8rem,2vw,1.4rem);cursor:zoom-in}
.lp-plan img{display:block;width:auto;max-width:100%;height:auto;max-height:min(78vh,760px);margin:0 auto;object-fit:contain}
.lp-plan__open:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.lp-plan figcaption{padding:.7rem clamp(.8rem,2vw,1.4rem) .9rem;border-top:1px solid var(--hair);font-size:.85rem;color:var(--t2)}
.lp-lb--plans{background:rgba(250,248,245,.98)}
.lp-lb--plans .lp-lb__bar,.lp-lb--plans .lp-lb__cap{color:var(--t2)}
.lp-lb--plans .lp-lb__btn,.lp-lb--plans .lp-lb__close{color:var(--txt);border-color:rgba(17,17,17,.3)}
.lp-lb--plans .lp-lb__btn:hover{background:rgba(17,17,17,.05);border-color:var(--txt)}
.lp-lb--plans :focus-visible{outline-color:var(--red)}

/* Amenities: the project's own, kept apart from wider Cap Cana access */
.lp-amen{background:#fff;padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem);border-top:1px solid var(--hair)}
.lp-amen__in{display:grid;grid-template-columns:minmax(0,760px);gap:clamp(2rem,5vw,4.5rem)}
.lp-amen__in--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.lp-amen__col .lp-subh{margin-top:0}
.lp-amen__note{font-size:.84rem;line-height:1.7;color:var(--t3);margin:.9rem 0 0}
.lp-amen .lp-features{columns:1}

/* Pricing and availability */
.lp-pricing{background:var(--paper,#faf8f5);padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem)}
.lp-price__from{font-family:var(--fs);font-size:clamp(1.3rem,2vw,1.6rem);margin:.9rem 0 0;color:var(--txt)}
.lp-price__from span{font-family:var(--fh);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--t3);margin-right:.5rem}
.lp-price__date{font-size:.84rem;color:var(--t2);margin:.4rem 0 0}
.lp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--txt)}
.lp-table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums;background:#fff}
.lp-table th,.lp-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--hair);white-space:nowrap}
.lp-table thead th{font-family:var(--fh);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);background:var(--paper,#faf8f5)}
.lp-table tbody th{font-weight:500;color:var(--txt)}
.lp-st{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding-left:.9rem;position:relative}
.lp-st::before{content:'';position:absolute;left:0;top:50%;width:.45rem;height:1px;background:var(--t3)}
.lp-st--available::before{background:var(--red)}
.lp-st--sold{color:var(--t3)}
.lp-pay{margin-top:2.4rem}
.lp-pay__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--hair)}
.lp-pay__list li{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--hair)}
.lp-pay__list li+li{padding-left:1rem;border-left:1px solid var(--hair)}
.lp-pay__v{display:block;font-family:var(--fs);font-size:1.25rem;color:var(--txt)}
.lp-pay__l{display:block;font-size:.86rem;color:var(--t2);margin-top:.25rem;line-height:1.5}
.lp-disclaimer{margin-top:1.6rem}

/* Status, delivery and project team */
.lp-status{background:#fff;padding:clamp(3.2rem,6vw,5.2rem) clamp(1.4rem,4vw,2.9rem);border-top:1px solid var(--hair)}
.lp-status__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(2rem,5vw,4.5rem)}
.lp-status .lp-subh{margin-top:0}
.lp-context__proj{margin-bottom:1.4rem}

/* Project inquiry: the closing section of a development page */
.lp-inq{background:var(--blk);color:#fff;padding:clamp(3.4rem,7vw,6rem) clamp(1.4rem,4vw,2.9rem);scroll-margin-top:72px}
.lp-inq__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.lp-inq .st{color:#fff}
.lp-inq__lede{font-size:1rem;line-height:1.8;color:rgba(255,255,255,.72);max-width:48ch;margin:1rem 0 0}
.lp-broker{font-family:var(--fs);font-size:1.02rem;line-height:1.75;color:rgba(255,255,255,.9);max-width:50ch;margin:1.6rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16)}
.lp-inq__all{margin:1.6rem 0 0}
.lp-textlink--light{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.lp-textlink--light:hover{color:#fff;border-bottom-color:var(--red)}
.lp-inq__box textarea{resize:vertical;min-height:7rem}
.lp-inq__box .cf-submit{box-shadow:none;min-height:48px}
.lp-inq__box input,.lp-inq__box textarea{min-height:44px}
.lp-hp{display:none}
.lp-psrc{background:#fff;padding:1.4rem clamp(1.4rem,4vw,2.9rem);border-top:1px solid var(--hair)}
.lp-psrc .lp-fine{margin:0}

@media (max-width:1080px){
  .lp-table th,.lp-table td{white-space:normal;padding:.75rem .55rem}
  .lp-pintro--img .lp-pintro__in,.lp-inq__in,.lp-amen__in--2{grid-template-columns:minmax(0,1fr)}
  .lp-pintro--img.lp-pintro--flip .lp-pintro__text{order:0}
  .lp-pintro__fig{aspect-ratio:3/2}
}
@media (max-width:760px){
  .lp-glance__list{grid-template-columns:1fr 1fr}
  .lp-glance__list>div,.lp-glance__list>div+div{padding:.9rem .9rem .9rem 0;border-left:0}
  .lp-glance__list>div:nth-child(even){padding-left:.9rem;border-left:1px solid var(--hair)}
  .lp-res+.lp-res{padding-left:0;border-left:0;border-top:1px solid var(--hair)}
  .lp-pay__list li+li{padding-left:0;border-left:0}
  /* the unit table becomes one labelled block per unit */
  .lp-table-wrap{overflow:visible}
  .lp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lp-table,.lp-table tbody,.lp-table tr,.lp-table th,.lp-table td{display:block;width:100%}
  .lp-table tr{border-bottom:1px solid var(--txt);padding:.4rem 0}
  .lp-table th,.lp-table td{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.8rem;padding:.5rem 1rem;border-bottom:0;white-space:normal}
  .lp-table th::before,.lp-table td::before{content:attr(data-label);font-family:var(--fh);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);font-weight:500}
  .lp-inq__box{padding:1.1rem}
}
