/* Shared styles for search.html and listing.html. Tokens mirror index.html. */
:root{
  --paper:#fbfaf8;--stone:#f1eee9;--ink:#1b1f27;--muted:#6b6f78;--navy:#1f2b45;--navy-ink:#f5f3ef;
  --oak:#a9825a;--line:#e2ddd5;--card:#ffffff;--ok:#4c7a5a;--warn:#b07a2a;
  --display:"Cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;--wrap:1240px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#13161c;--stone:#1a1e26;--ink:#ece8e1;--muted:#a3a39f;--navy:#0e1424;--navy-ink:#ece8e1;--oak:#c49a6c;--line:#2c313b;--card:#1a1e26;--ok:#7fb08d;--warn:#d6a35a;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#13161c;--stone:#1a1e26;--ink:#ece8e1;--muted:#a3a39f;--navy:#0e1424;--navy-ink:#ece8e1;--oak:#c49a6c;--line:#2c313b;--card:#1a1e26;--ok:#7fb08d;--warn:#d6a35a;color-scheme:dark}

*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--oak);outline-offset:3px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
h1,h2,h3{font-family:var(--display);font-weight:300;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(24px, env(safe-area-inset-left, 0px));padding-right:max(24px, env(safe-area-inset-right, 0px))}
@media (max-width:600px){.wrap{padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--oak);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--oak)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:transparent;color:var(--ink)}
.btn.light{border-color:var(--navy-ink);color:var(--navy-ink)}
.btn.light:hover{background:var(--navy-ink);color:var(--navy)}
.btn:disabled{opacity:.5;cursor:default}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.logo{text-decoration:none;display:flex;align-items:center}
.logo-svg{display:block;height:52px;width:auto;--l-ink:var(--ink);--l-oak:var(--oak);--l-paper:var(--paper)}
@media (max-width:420px){.nav .logo-svg{height:42px}}
.nav nav{display:flex;gap:30px;align-items:center}
.nav nav a{text-decoration:none;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.nav nav a:not(.btn):hover,.nav nav a[aria-current="page"]{color:var(--oak)}
.nav nav .btn{padding:12px 22px}
.menu-toggle{display:none;background:none;border:0;color:var(--ink);font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:10px 0}
@media (max-width:900px){
  .menu-toggle{display:block}
  .nav nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:22px;background:var(--paper);border-bottom:1px solid var(--line);padding:28px max(24px, env(safe-area-inset-right, 0px)) 32px max(24px, env(safe-area-inset-left, 0px))}
  .nav nav.open{display:flex}
}

/* sample-data notice */
.demo-note{background:color-mix(in srgb,var(--oak) 14%,var(--paper));border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}
.demo-note .wrap{padding-block:10px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.demo-note b{font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--oak)}

/* listing cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.lcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0}
.lcard .img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.lcard img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.lcard:hover img{transform:scale(1.04)}
.pill{position:absolute;top:14px;left:14px;background:var(--paper);color:var(--ink);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:7px 11px;display:flex;align-items:center;gap:7px}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.pill.pending::before{background:var(--warn)}
.pill.soon::before{background:var(--oak)}
.sample-tag{position:absolute;top:14px;right:14px;background:rgba(20,26,40,.72);color:#f5f3ef;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 9px}
.lcard .body{padding-top:18px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line);padding-bottom:18px}
.lcard .price{font-family:var(--display);font-size:32px;font-weight:400;line-height:1;font-variant-numeric:lining-nums}
.lcard .facts{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.lcard .addr{font-size:15px}
.lcard .area{font-size:13.5px;color:var(--muted)}

/* footer */
footer{background:var(--navy);color:var(--navy-ink);padding-block:44px}
footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:start}
footer .logo-svg{height:60px;--l-ink:var(--navy-ink);--l-oak:var(--oak);--l-paper:var(--navy)}
footer small{display:block;font-size:12.5px;opacity:.65;line-height:1.7;max-width:52em}
footer nav{display:flex;gap:24px;flex-wrap:wrap}
footer nav a{text-decoration:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.8}

/* form fields shared */
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld label,.lbl{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:500}
.fld input,.fld select,.fld textarea{font:300 15.5px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line);padding:12px 14px;border-radius:0;width:100%;appearance:none;-webkit-appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--oak)}
