/* ==========================================================================
   Properties (Page 2). This page's own stylesheet, by owner ruling of
   2026-10-08, 12:07 PM (docs/rulings/2026-10-08_ruling-page-2-properties.txt).
   Linked from the Properties page alone, after the shared stylesheet. Every
   rule begins with .page-sold, the page's body class, so nothing here
   can reach Home or any other page. The gate "mobile" holds that
   (PAGE_STYLESHEETS). Colours come only from the palette; type only from the
   shared families and scale. Record: docs/PROPERTIES.md.

   The idea: each listing is an image position hung at its own height, like
   pictures in a private viewing. Window-shaped (3:2), door-shaped (4:5) and
   wide (16:10); the label sits under its picture. While no photograph has
   been supplied, the position is a plain tonal well (owner ruling of
   2026-10-08, 1:11 PM: no double rule, no card chrome); a photograph, when it
   comes, fills it unframed. Until a real home is supplied, the label is the
   placeholder.

   The well's tone is an alpha step of the palette, declared here once per
   ground (--props-well): Graphite at 7 percent on ivory, Warm Ivory at 6
   percent on graphite. tokens.css, frozen with the desktop, is where tints
   are otherwise declared; docs/PROPERTIES.md records why these two are here.
   ========================================================================== */

/* ---------- Image positions: the well and its label ---------- */

.page-sold .props-slot {
  margin: 0;
}


.page-sold .props-past {
  --props-well: rgb(243 239 233 / 0.06);
}

.page-sold .props-well {
  width: 100%;
  background: var(--props-well);
}

.page-sold .props-well--window {
  aspect-ratio: 3 / 2;
}

.page-sold .props-well--door {
  aspect-ratio: 4 / 5;
}

.page-sold .props-well--wide {
  aspect-ratio: 16 / 10;
}


/* ---------- Opening ---------- */

.page-sold .props-open {
  padding-block: var(--space-6) var(--space-5);
}

.page-sold .props-open__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-3);
}

.page-sold .props-open__title {
  grid-column: 1 / 11;
  margin: 0;
  max-width: 13ch;
}

.page-sold .props-open__dek {
  grid-column: 8 / 13;
  margin: var(--space-4) 0 0;
}









/* Where subgrid is not understood, the hang stands under its heading. */
@supports not (grid-template-rows: subgrid) {





}

/* ---------- Selected Representation: one sill line ---------- */

.page-sold .props-past {
  padding-block: var(--space-6);
}

.page-sold .props-past__title {
  margin: 0 0 var(--space-5);
}

.page-sold .props-past__list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-3);
  align-items: end;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-sold .props-slot--past-1 {
  grid-column: 1 / 6;
}

.page-sold .props-slot--past-2 {
  grid-column: 6 / 9;
}

.page-sold .props-slot--past-3 {
  grid-column: 9 / 13;
}

/* ---------- Looking for something specific? ---------- */

.page-sold .props-ask {
  padding-block: var(--space-6);
}

.page-sold .props-ask__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-3);
  align-items: end;
}

.page-sold .props-ask__question {
  grid-column: 1 / 12;
  margin: 0 0 var(--space-5);
  /* Warm Ivory final correction, 2026-10-10, 7:25 AM: at Display L's line height of 1 the descender of the g in
     "Looking" met the dot of the i in "something", at every width. A little more line height for this question
     only, as on About's closing question; the size, tracking, columns and markup are unchanged. */
  line-height: 1.1;
}

.page-sold .props-ask__sentence {
  grid-column: 1 / 7;
  margin: 0;
  max-width: 28ch;
}

.page-sold .props-ask__actions {
  grid-column: 8 / 13;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-3);
}



/* Call Shirin, the second choice (sitewide call ruling of 2026-10-10): one link under the way in, the words in
   Display S over the number, which comes from the site's contact data. Set to the actions' own alignment. */
.page-sold .props-ask__call {
  display: inline-grid;
  justify-items: end;
  gap: 0.2rem;
  min-height: 44px;
  color: var(--graphite);
  text-align: right;
  text-decoration: none;
  transition: color var(--dur-ui) var(--ease-silk);
}

.page-sold .props-ask__call-words {
  line-height: 1.1;
}

.page-sold .props-ask__call-number {
  font-family: var(--font-ui);
  font-size: clamp(0.9375rem, 1vw, 1.0625rem);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.page-sold .props-ask__call:hover,
.page-sold .props-ask__call:focus-visible {
  color: var(--aubergine);
}

@media (max-width: 1023px) {
  .page-sold .props-ask__call {
    justify-items: start;
    text-align: left;
  }
}

@media (max-width: 719px) {
  .page-sold .props-ask__call {
    align-self: flex-start;
  }
}

/* ---------- Tablets and narrow windows: six columns ---------- */

@media (max-width: 1023px) {
  .page-sold .props-open__grid,
.page-sold .props-past__list,
.page-sold .props-ask__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .page-sold .props-open__title {
    grid-column: 1 / -1;
  }

  .page-sold .props-open__dek {
    grid-column: 3 / 7;
  }







  .page-sold .props-past__list {
    row-gap: var(--space-5);
  }

  .page-sold .props-slot--past-1 {
    grid-column: 1 / -1;
  }

  .page-sold .props-slot--past-2 {
    grid-column: 1 / 4;
  }

  .page-sold .props-slot--past-3 {
    grid-column: 4 / 7;
  }

  .page-sold .props-ask__question {
    grid-column: 1 / -1;
  }

  .page-sold .props-ask__sentence {
    grid-column: 1 / -1;
  }

  .page-sold .props-ask__actions {
    grid-column: 1 / -1;
    align-items: flex-start;
    margin-top: var(--space-5);
  }
}

/* ---------- Phones: one column, the hang kept in its widths ---------- */

@media (max-width: 719px) {
  .page-sold .props-open {
    padding-block: var(--space-5) var(--space-4);
  }

  .page-sold .props-open__dek {
    grid-column: 1 / -1;
  }

  .page-sold .props-past__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .page-sold .props-slot--past-1 {
    grid-column: 1;
    grid-row: auto;
    padding-top: 0;
  }

  .page-sold .props-slot--past-2 {
    grid-column: 1;
    grid-row: auto;
    width: 80%;
    justify-self: end;
    padding-top: 0;
  }

  .page-sold .props-slot--past-3 {
    grid-column: 1;
    grid-row: auto;
    width: 80%;
    justify-self: start;
    padding-top: 0;
  }

  .page-sold .props-past__title {
    margin-bottom: var(--space-4);
  }

  .page-sold .props-ask__question {
    margin-bottom: var(--space-4);
  }

  .page-sold .props-ask__actions {
    align-items: stretch;
    margin-top: var(--space-4);
  }

}



/* ---------- Selected Representation: photographed sales ---------- */

.page-sold .props-sale {
  margin: 0;
}

.page-sold .props-sale__well {
  overflow: hidden;
  position: relative;
}

.page-sold .props-sale__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-sold .props-sale__image--sanmiguel {
  object-position: 50% center;
}



.page-sold .props-sale__body {
  padding-top: 0.95rem;
}

.page-sold .props-sale__eyebrow {
  margin: 0;
  color: var(--gold);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-sold .props-sale__address {
  margin: 0.4rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.9vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
  text-wrap: balance;
}

.page-sold .props-sale__price {
  margin: 0.45rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.5vw, 1.45rem);
  font-weight: 500;
  line-height: 1.1;
}

.page-sold .props-sale__locale {
  margin: 0.45rem 0 0;
  color: var(--ivory-72);
  font-family: var(--font-ui);
  font-size: 0.9rem;
  line-height: 1.55;
}

.page-sold .props-sale__link {
  margin: 0.8rem 0 0;
}

.page-sold .props-sale__link a {
  color: var(--ivory);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  transition: color var(--dur-ui) var(--ease-silk);
}

.page-sold .props-sale__link a:hover,
.page-sold .props-sale__link a:focus-visible {
  color: var(--gold);
}

@media (max-width: 719px) {
  .page-sold .props-sale__address {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  .page-sold .props-sale__price {
    font-size: 1.35rem;
  }
}

/* Owner polish 2026-10-11; all prior styles retained. */
.page-sold .props-sale__eyebrow {font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.5;letter-spacing:.12em;}
.page-sold .props-sale__address {margin-top:1rem;line-height:1.15;}
.page-sold .props-sale__price {margin-top:.7rem;}
.page-sold .props-sale__locale {font-size:clamp(1.125rem,1.35vw,1.3rem);margin-top:.7rem;line-height:1.5;}
.page-sold .props-sale__link {margin-top:1.4rem;}
.page-sold .props-sale__link a {font-size:clamp(1rem,1.18vw,1.2rem);line-height:1.55;letter-spacing:.11em;}
@media(max-width:719px){.page-sold .props-sale__address{margin-top:.7rem}.page-sold .props-sale__link{margin-top:1rem}}

/* Oct 15: honest editorial title treatment while first-party Rivol photography is pending. */
.page-sold .props-sale__well--editorial { display:grid; place-items:center; min-height:300px; background:linear-gradient(155deg,rgb(243 239 233 / .075),rgb(83 51 64 / .18)); }
.page-sold .props-sale__editorial { display:grid; justify-items:center; gap:1.3rem; width:100%; padding:2rem; color:var(--ivory); text-align:center; }
.page-sold .props-sale__editorial span { color:var(--gold); font-family:var(--font-ui); font-size:clamp(.75rem,1vw,.95rem); letter-spacing:.19em; }
.page-sold .props-sale__editorial strong { font-family:var(--font-display); font-weight:500; font-size:clamp(1.65rem,3vw,3.5rem); line-height:1.08; }

/* Oct16: identical editorial ivory H1 band across Buy, Sell, Sold. */
.page-sold .props-open{min-height:clamp(24rem,43svh,34rem);padding-block:clamp(4rem,7vh,6rem);display:block;}
.page-sold .props-open__title{grid-column:1 / 12;max-width:20ch;margin:0;font-size:clamp(3rem,6vw,7.25rem);line-height:1.03;letter-spacing:-.015em;}
.page-sold .props-past .props-open__dek{max-width:52ch;margin:0 0 clamp(2rem,3vw,3rem);font-size:clamp(1.15rem,1.4vw,1.5rem);line-height:1.6;color:var(--ivory);}
@media(max-width:719px){.page-sold .props-open{min-height:clamp(22rem,40svh,28rem);padding-block:3.5rem;}.page-sold .props-open__title{font-size:clamp(3rem,10vw,4.5rem);}}

/* Oct16: an individual editorial chapter for each closed home. */
.page-sold .props-open{display:grid;align-items:center;}
.page-sold .props-open__grid{width:100%;align-items:center;}
.page-sold .props-past{padding-block:clamp(4rem,7vw,8rem);}
.page-sold .props-past__title{max-width:22ch;margin:0 0 clamp(1.2rem,2.5vw,2.5rem);font-size:clamp(2.35rem,4.4vw,5rem);line-height:1.14;}
.page-sold .props-past .props-open__dek{max-width:61ch;margin:0 0 clamp(4rem,7vw,7rem);font-size:clamp(1.15rem,1.4vw,1.45rem);}
.page-sold .props-past__list{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(4rem,7vw,8rem);}
.page-sold .props-slot--past-1,.page-sold .props-slot--past-2,.page-sold .props-slot--past-3{grid-column:1 / -1;grid-row:auto;width:100%;padding:0;margin:0;justify-self:stretch;}
.page-sold .props-slot .props-sale{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(16rem,.85fr);gap:clamp(2rem,5vw,6rem);align-items:center;min-height:clamp(34rem,72svh,56rem);}
.page-sold .props-slot .props-sale__well{height:min(65svh,39rem);width:100%;aspect-ratio:auto;overflow:hidden;}
.page-sold .props-slot .props-sale__image{width:100%;height:100%;object-fit:cover;}
.page-sold .props-slot--past-2 .props-sale__well{grid-column:2;grid-row:1;}
.page-sold .props-slot--past-2 .props-sale__body{grid-column:1;grid-row:1;}
.page-sold .props-slot .props-sale__body{max-width:34rem;}
.page-sold .props-slot .props-sale__address{font-size:clamp(2rem,3.1vw,3.5rem);line-height:1.11;}
.page-sold .props-slot .props-sale__price{font-size:clamp(1.5rem,2.1vw,2.5rem);}
.page-sold .props-slot .props-sale__locale{font-size:clamp(1.05rem,1.2vw,1.24rem);}
.page-sold .props-slot .props-sale__well--editorial{min-height:min(65svh,39rem);}
/* Same warm-ivory release used on Buy and Sell, with one conversation button. */
.page-sold .props-ask{min-height:clamp(38rem,85svh,58rem);padding-block:clamp(4rem,8vw,8rem);display:grid;align-items:center;}
.page-sold .props-ask__grid{width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;column-gap:clamp(2rem,5vw,6rem);}
.page-sold .props-ask__copy{min-width:0;}
.page-sold .props-ask__question{max-width:14ch;margin:0;color:var(--graphite);font-size:clamp(2.8rem,5vw,6rem);line-height:1.07;letter-spacing:-.012em;}
.page-sold .props-ask__sentence{max-width:32ch;margin:clamp(1.4rem,3vw,2.8rem) 0 0;font-size:clamp(1.25rem,2vw,2rem);line-height:1.4;}
.page-sold .props-ask__actions{display:block;margin-top:clamp(1.6rem,3vw,3rem);}
.page-sold .props-ask__call{justify-items:start;min-height:60px;text-align:left;}
.page-sold .props-ask__call-words{font-size:clamp(2.1rem,3.6vw,4.1rem);line-height:1.1;}
.page-sold .props-ask__call-number{font-size:clamp(1rem,1.3vw,1.3rem);}
.page-sold .props-ask__visual{justify-self:end;align-self:center;}
.page-sold .props-ask__sign{font-size:clamp(.8rem,1.3vw,1.15rem);}
.page-sold .props-ask__panel{animation:sold-cta-sign-flip 10s ease-in-out 1s infinite;}
@keyframes sold-cta-sign-flip{0%,24%{transform:rotateX(0deg);}36%,63%{transform:rotateX(180deg);}76%,100%{transform:rotateX(0deg);}}
@media(max-width:900px){
 .page-sold .props-slot .props-sale{grid-template-columns:minmax(0,1fr);min-height:0;gap:clamp(1.2rem,4vw,2.5rem);}
 .page-sold .props-slot--past-2 .props-sale__well,.page-sold .props-slot--past-2 .props-sale__body{grid-column:auto;grid-row:auto;}
 .page-sold .props-slot .props-sale__well{height:clamp(18rem,56vw,36rem);}
 .page-sold .props-slot .props-sale__well--editorial{min-height:22rem;}
 .page-sold .props-ask__grid{grid-template-columns:minmax(0,1fr);row-gap:clamp(2rem,5vw,4rem);}
 .page-sold .props-ask__visual{justify-self:center;}
 .page-sold .props-ask__sign{font-size:clamp(.75rem,2.9vw,1rem);}
}
@media(max-width:719px){
 .page-sold .props-past__title{font-size:clamp(2rem,7.5vw,3rem);}
 .page-sold .props-slot--past-1,.page-sold .props-slot--past-2,.page-sold .props-slot--past-3{width:100%;}
 .page-sold .props-ask__question{font-size:clamp(2.5rem,9vw,4.5rem);}
 .page-sold .props-ask__sentence{font-size:clamp(1.2rem,4vw,1.6rem);}
}
@media(prefers-reduced-motion:reduce){.page-sold .props-ask__panel{animation:none;}}

/* Oct17 approved six-page CTA and review polish; page-scoped only. */
.page-sold .props-ask{padding-bottom:0;align-items:end}.page-sold .props-ask__grid{align-items:end}.page-sold .props-ask__copy{align-self:center;padding-bottom:clamp(2.5rem,6vh,5rem)}.page-sold .props-ask__visual{align-self:end;line-height:0}.page-sold .props-ask__sign{vertical-align:bottom;line-height:normal}@media(max-width:900px){.page-sold .props-ask__copy{padding-bottom:0}}

/* Oct 17: after the headline, go directly to Call Shirin. */
.page-sold .props-ask__actions {margin-top:clamp(3rem,6vh,4.5rem);}

/* Oct 17: universal CTA layout: same geometry on six page-scoped sheets. */
.page-sold .cta-unified{height:clamp(42rem,82svh,56rem);min-height:clamp(42rem,82svh,56rem);padding:0;display:block;overflow:hidden;}
.page-sold .cta-unified__inner{height:100%;min-height:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:stretch;gap:clamp(2rem,5vw,6rem);}
.page-sold .cta-unified__copy{min-width:0;min-height:0;height:100%;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding-top:clamp(5rem,11svh,8.5rem);padding-bottom:clamp(5.75rem,11svh,8.5rem);}
.page-sold .cta-unified__heading{grid-row:auto;grid-column:auto;max-width:18.5ch;margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(3rem,5.15vw,5.8rem);line-height:1.09;letter-spacing:-.012em;font-style:normal;font-optical-sizing:none;font-variation-settings:"opsz" 18;color:var(--graphite);}
.page-sold .cta-unified__actions{grid-row:auto;grid-column:auto;position:static;display:block;margin:0;padding:0;align-self:start;justify-self:start;}
.page-sold .cta-unified__call{display:inline-grid;gap:.18rem;align-content:start;justify-items:start;min-height:44px;margin:0;text-align:left;color:var(--graphite);text-decoration:none;}
.page-sold .cta-unified__call-words{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,3.5vw,4rem);line-height:1.1;font-optical-sizing:none;font-variation-settings:"opsz" 14;}
.page-sold .cta-unified__number{font-family:var(--font-ui);font-size:clamp(1rem,1.2vw,1.25rem);font-weight:600;line-height:1.5;letter-spacing:.09em;}
.page-sold .cta-unified__visual{grid-row:1;grid-column:2;justify-self:end;align-self:end;line-height:0;}
.page-sold .cta-unified__visual .sign{vertical-align:bottom;line-height:normal;}
@media(max-width:900px){
.page-sold .cta-unified{height:auto;min-height:0;padding-top:clamp(3.5rem,8vw,5rem);}
.page-sold .cta-unified__inner{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem);}
.page-sold .cta-unified__copy{grid-row:1;grid-column:1;height:auto;min-height:0;gap:clamp(2.5rem,6vw,4.5rem);padding:0;}
.page-sold .cta-unified__heading{font-size:clamp(2.6rem,8.2vw,4.6rem);line-height:1.1;max-width:20ch;}
.page-sold .cta-unified__actions{margin:0;}
.page-sold .cta-unified__visual{grid-row:2;grid-column:1;justify-self:center;align-self:end;}
}
.page-sold .cta-unified__copy [hidden]{display:none!important;}

/* Oct23: Sold opening band matches Buy/Sell exactly (block flow, top-weighted). */
.page-sold .props-open{display:block;}
