/* Layout: an airy estate journal. Full-bleed photo bands, a centred reading column, indigo actions, sage and limestone grounds. Palette and section order follow the La Encantada visual proposal. */
:root{
  --indigo:#455C73; --indigo-deep:#34485C; --mineral:#71899A; --forest:#344F43; --sage:#A5B19A; --terra:#B87558;
  --limestone:#E9E1D2; --ivory:#FAF8F2; --paper:#FFFFFF;
  --bg:var(--ivory); --surface:var(--paper); --soft:var(--limestone); --ink:#25302B; --muted:#5E6862; --line:#DDD5C5;
  --on-dark:#FAF8F2; --on-dark-muted:#D6DCD3;
  --display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --text:"Mulish","Avenir Next","Segoe UI",Arial,sans-serif;
  --step-0:1rem; --step-1:1.15rem; --step-2:1.6rem; --step-3:2.2rem; --step-4:clamp(2.4rem,4.6vw,3.4rem); --step-5:clamp(2.8rem,6vw,4.6rem);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --indigo:#8FA6BD; --indigo-deep:#A9BDD0; --mineral:#93A9B8; --forest:#22352C; --sage:#5C6A57; --terra:#D9967A;
  --bg:#171D1A; --surface:#1F2723; --soft:#252E29; --ink:#ECE7DC; --muted:#AAB3AC; --line:#35403A; --on-dark:#F2EEE6; --on-dark-muted:#C2CCC4; color-scheme:dark}}
:root[data-theme="dark"]{
  --indigo:#8FA6BD; --indigo-deep:#A9BDD0; --mineral:#93A9B8; --forest:#22352C; --sage:#5C6A57; --terra:#D9967A;
  --bg:#171D1A; --surface:#1F2723; --soft:#252E29; --ink:#ECE7DC; --muted:#AAB3AC; --line:#35403A; --on-dark:#F2EEE6; --on-dark-muted:#C2CCC4; color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:16.5px;line-height:1.65;font-weight:400}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.05;text-wrap:balance;margin:0;letter-spacing:-.005em}
h1{font-size:var(--step-5)} h2{font-size:var(--step-4)} h3{font-size:var(--step-2);line-height:1.15}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.col{max-width:760px}
.band{padding-block:clamp(56px,8vw,104px)}
.band.tight{padding-block:clamp(40px,5vw,64px)}
.band.soft{background:var(--soft)}
.band.dark{background:var(--forest);color:var(--on-dark)}
.band.dark .muted,.band.dark .lede{color:var(--on-dark-muted)}
.stack{display:flex;flex-direction:column;gap:18px}
.stack.lg{gap:32px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.eyebrow{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:700}
.band.dark .eyebrow{color:var(--on-dark-muted)}
.lede{font-size:var(--step-1);color:var(--muted);max-width:60ch;font-weight:300}
.muted{color:var(--muted)}
.small{font-size:.88rem}

/* Draft review bar */
.draftbar{background:var(--ink);color:var(--bg);font-size:.82rem}
.draftbar .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding-block:8px}
.draftbar button{font:inherit;font-size:.78rem;background:transparent;color:var(--bg);border:1px solid currentColor;border-radius:999px;padding:3px 12px;cursor:pointer;margin-left:auto}
.v{text-decoration:underline dotted var(--terra) 2px;text-underline-offset:4px;cursor:help}
html.hide-verify .v{text-decoration:none;cursor:auto}
.pending{display:inline-block;font-family:var(--text);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--terra);border:1px solid currentColor;border-radius:999px;padding:1px 9px;vertical-align:middle;line-height:1.6}
html.hide-verify .pending{display:none}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:28px;padding-block:12px}
.brand{text-decoration:none;display:flex;flex-direction:column;align-items:center;line-height:1;gap:4px;color:var(--indigo)}
.brand svg{width:64px;height:10px}
.brand .wm{font-family:var(--display);font-size:1.15rem;letter-spacing:.24em;font-weight:500;white-space:nowrap}
.brand small{font-size:.55rem;letter-spacing:.32em;color:var(--muted);font-weight:700}
nav.main{display:flex;gap:26px;margin-left:auto;align-items:center}
nav.main a{text-decoration:none;font-size:.92rem;color:var(--muted);padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--terra)}
nav.main a.owners{font-size:.85rem;border-left:1px solid var(--line);padding-left:22px;color:var(--indigo)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;color:var(--ink);cursor:pointer;padding:8px}
.menu-btn svg{width:22px;height:22px}
@media (max-width:880px){
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;padding:14px max(20px,env(safe-area-inset-left,0px)) 20px}
  nav.main.open{display:flex}
  nav.main a{font-size:1.05rem}
  nav.main a.owners{border:0;padding-left:0}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.02em;padding:12px 22px;border-radius:1px;border:1px solid transparent;cursor:pointer;font-family:var(--text);line-height:1.2}
.btn::after{content:"\2192";font-weight:400}
.btn.noarrow::after{content:none}
.btn.primary{background:var(--indigo);color:#FAF8F2}
.btn.primary:hover{background:var(--indigo-deep)}
.btn.ghost{border-color:var(--indigo);color:var(--indigo);background:transparent}
.btn.light{background:var(--ivory);color:#34485C}
.textlink{font-weight:600;font-size:.92rem;text-decoration:none;color:var(--indigo);border-bottom:1px solid currentColor;padding-bottom:1px}
.textlink::after{content:" \2192"}

/* Page heroes */
.hero-photo{position:relative;height:clamp(260px,44vw,560px);overflow:hidden;background:var(--sage)}
.hero-photo img,.hero-photo video{width:100%;height:100%;object-fit:cover}
.hero-photo.short{height:clamp(220px,32vw,420px)}
.hero-photo .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,24,0) 35%,rgba(20,28,24,.62) 100%)}
.hero-photo .over{position:absolute;left:0;right:0;bottom:0;color:#FAF8F2;padding-bottom:clamp(24px,4vw,48px)}
.hero-photo .over h1{color:#FAF8F2;max-width:14ch}
.hero-photo .over .eyebrow{color:#E9E1D2;margin-top:12px}
.page-head{padding-block:clamp(36px,5vw,64px) clamp(28px,4vw,48px)}
.page-head h1{font-size:var(--step-5)}

/* Feature trio (Nature / Living / Connection) */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:28px}
.trio div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.trio div+div{border-left:1px solid var(--line)}
.trio svg{width:32px;height:32px;color:var(--indigo)}
.trio b{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase}
.trio span{font-size:.88rem;color:var(--muted);max-width:24ch}
@media (max-width:560px){.trio{gap:10px}.trio span{font-size:.78rem}}

/* Property cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cards,.cards.two{grid-template-columns:1fr}}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line)}
.pcard:hover{border-color:var(--indigo)}
.pcard .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.pcard .thumb svg{width:100%;height:100%;display:block;border:0;border-radius:0}
.pcard .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.pcard .lot{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pcard h3{font-size:1.5rem}
.pcard .facts{margin-top:auto;padding-top:10px;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pcard .facts b{color:var(--ink);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tags span{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--forest);background:color-mix(in srgb,var(--sage) 35%,transparent);padding:2px 8px}
:root[data-theme="dark"] .tags span{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tags span{color:var(--ink)}}

/* Tabs / filters */
.tabs{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center;border-bottom:1px solid var(--line)}
.tab{font:inherit;font-size:.9rem;background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.tab[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--indigo);font-weight:600}
select,input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:1px;padding:11px 12px;width:100%}
select.sort{width:auto;margin-left:auto;padding:6px 10px;font-size:.88rem;border:0;background:transparent;color:var(--muted)}

/* Split layouts */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.split.top{align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo.wide{aspect-ratio:16/9}
.photo.tall{aspect-ratio:4/5}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ph{position:relative;background:var(--soft);overflow:hidden;display:grid;place-items:center;color:var(--muted);text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:16px}
.ph svg.topo{position:absolute;inset:0;width:100%;height:100%;color:var(--sage)}
.ph span{position:relative}

/* Story card on home */
.story-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--surface);border:1px solid var(--line)}
.story-card .ph{min-height:320px}
.story-card .txt{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:16px;justify-content:center}
@media (max-width:760px){.story-card{grid-template-columns:1fr}.story-card .ph{min-height:220px}}

/* Numbered steps (Buy + Build) */
ol.journey{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
ol.journey li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;padding:16px 0;position:relative}
ol.journey li:not(:last-child)::before{content:"";position:absolute;left:25px;top:64px;bottom:-12px;width:1px;background:var(--line)}
ol.journey .n{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--terra) 14%,var(--surface));color:var(--terra);display:grid;place-items:center;font-family:var(--display);font-size:1.5rem;border:1px solid color-mix(in srgb,var(--terra) 35%,transparent)}
ol.journey b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:500;line-height:1.2}
ol.journey span{color:var(--muted);font-size:.95rem}

/* Quote band over photo */
.quote-band{position:relative;min-height:clamp(320px,40vw,480px);display:flex;align-items:flex-end;color:#FAF8F2;overflow:hidden}
.quote-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.quote-band .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,22,.05),rgba(18,24,22,.7))}
.quote-band .wrap{position:relative;width:100%;padding-block:clamp(32px,5vw,64px)}
.quote-band blockquote{margin:0 0 20px;font-family:var(--display);font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.2;max-width:22ch;color:#FAF8F2}

/* Life Here list rows */
.rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rows a{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.rows a:hover h3{color:var(--indigo)}
.rows img,.rows .ph{width:120px;height:84px;object-fit:cover;padding:0}
.rows h3{font-size:1.45rem}
.rows .muted{font-size:.88rem}
.rows .go{color:var(--indigo);font-size:1.2rem}
@media (max-width:520px){.rows a{grid-template-columns:88px minmax(0,1fr)}.rows img,.rows .ph{width:88px;height:66px}.rows .go{display:none}}

/* Icon features (equestrian) */
.ifeat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 36px}
.ifeat div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.ifeat svg{width:40px;height:40px;color:var(--mineral);border:1px solid var(--line);border-radius:50%;padding:9px}
.ifeat b{display:block;font-weight:600}
.ifeat span{font-size:.9rem;color:var(--muted)}
@media (max-width:560px){.ifeat{grid-template-columns:1fr}}

.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:860px){.pillars{grid-template-columns:1fr}}
.pillars>div{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.band.dark .pillars>div{border-top-color:color-mix(in srgb,var(--on-dark) 25%,transparent)}
.wild{columns:2 180px;column-gap:28px;padding:0;margin:0;list-style:none}
.wild li{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--on-dark) 18%,transparent);break-inside:avoid}
.box{background:var(--surface);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:14px}
.note{border-left:2px solid var(--terra);padding:2px 0 2px 14px;font-size:.9rem;color:var(--muted)}
.dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 24px;margin:0}
.dl dt{color:var(--muted);font-size:.9rem}
.dl dd{margin:0;font-weight:600}
blockquote.q{margin:0;font-family:var(--display);font-style:italic;font-size:var(--step-2);line-height:1.35}
details{border-bottom:1px solid var(--line)}
details summary{cursor:pointer;padding:16px 0;font-family:var(--display);font-size:1.4rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-family:var(--text);color:var(--terra)}
details[open] summary::after{content:"\2212"}
details ul{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.ticks li{padding-left:22px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:var(--terra)}
.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.timeline li{padding:0 0 22px 22px;position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--terra)}
.timeline b{font-family:var(--display);font-size:1.3rem;font-weight:500;display:block}

/* Forms */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form .full{grid-column:1/-1}
@media (max-width:600px){.form{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}
label .opt{font-weight:400;color:var(--muted)}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
legend{font-weight:600;margin-bottom:6px;font-size:.95rem}
.choice{flex-direction:row;align-items:center;gap:10px;font-weight:400;font-size:.93rem}
.choice input{width:auto;accent-color:var(--indigo)}
.formmsg{padding:12px 14px;background:var(--soft);font-size:.92rem}
.guide-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guide-cards figure{margin:0;display:flex;flex-direction:column;gap:8px}
.guide-cards img{aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 8px 22px rgba(30,40,35,.12)}
.guide-cards b{font-weight:600}
.guide-cards span{font-size:.86rem;color:var(--muted)}
.side-photo{position:relative;min-height:420px;overflow:hidden}
.side-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.side-photo p{position:absolute;left:24px;right:24px;top:28px;font-family:var(--display);font-style:italic;font-size:2rem;line-height:1.2;color:#FAF8F2;text-shadow:0 2px 12px rgba(0,0,0,.35)}

/* Lot page */
.lothead{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:880px){.lothead{grid-template-columns:1fr}}
.aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);display:flex;flex-direction:column;gap:18px}
@media (max-width:880px){.aside{position:static}}
.price{font-family:var(--display);font-size:var(--step-4);line-height:1}
.story p+p{margin-top:1.05em}
.story p{font-size:1.06rem;max-width:64ch}
.story p:first-child{font-family:var(--display);font-size:1.6rem;line-height:1.35;color:var(--ink)}
.pager{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px}
.pager a{text-decoration:none;display:flex;flex-direction:column;gap:2px}
.pager small{color:var(--muted);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}

/* Finca map */
.fmap{margin:0;display:flex;flex-direction:column;gap:10px}
.fmap svg{width:100%;height:auto;max-width:100%;display:block;border:1px solid var(--line)}
.fm-ground{fill:var(--soft)}
.fm-road{fill:none;stroke:var(--mineral);stroke-width:2;opacity:.7;stroke-linecap:round;stroke-linejoin:round}
.fm-road.main{stroke-width:3.4;opacity:.9}
.fm-lot{fill:var(--surface);stroke:var(--line);stroke-width:1.2}
.fm-num{fill:var(--muted);font-family:var(--text);text-anchor:middle;dominant-baseline:middle;pointer-events:none;opacity:.8}
.fm-avail{fill:var(--terra);fill-opacity:.3;stroke:var(--terra);stroke-width:2.6;transition:fill-opacity .15s}
.fm-avail.current{fill-opacity:.62;stroke-width:4}
.fm-link:hover .fm-avail,.fm-link:focus-visible .fm-avail{fill-opacity:.55}
.fm-link:focus-visible{outline:none}
.fm-link:focus-visible .fm-avail{stroke:var(--ink);stroke-width:4}
.fm-label{fill:var(--ink);font-family:var(--text);font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.fmap figcaption{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:center;font-size:.84rem;color:var(--muted)}
.fm-legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--ink)}
.fm-legend span{display:inline-flex;align-items:center;gap:7px}
.fm-legend .k{display:inline-block;width:16px;height:11px}
.fm-legend .k.avail{background:color-mix(in srgb,var(--terra) 35%,transparent);border:2px solid var(--terra)}
.fm-legend .k.lot{background:var(--surface);border:1px solid var(--muted)}
.fm-legend .k.road{height:3px;background:var(--mineral)}
.pcard .fmap svg,.pcard svg{border:0}

footer.site{background:var(--forest);color:var(--on-dark);padding-block:52px 28px;font-size:.9rem}
footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}
@media (max-width:760px){footer.site .cols{grid-template-columns:1fr 1fr}}
footer.site a{color:var(--on-dark-muted);text-decoration:none;display:block;padding:3px 0}
footer.site a:hover{color:var(--on-dark)}
footer.site .h{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:8px;font-weight:700}
footer.site .brand{color:var(--on-dark);align-items:flex-start}
footer.site .brand small{color:var(--on-dark-muted)}
footer.site .base{margin-top:38px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--on-dark) 20%,transparent);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;color:var(--on-dark-muted);font-size:.8rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
footer.site a.brand{display:flex;padding:0}
footer.site .cols{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
@media (max-width:760px){footer.site .cols{grid-template-columns:repeat(2,minmax(0,1fr))}footer.site .cols>div:first-child{grid-column:1/-1}}
@media (max-width:420px){.brand .wm{font-size:1rem;letter-spacing:.18em}}
figure{margin:0}
/* Lot profile (summary + concept) */
.profile{border-top:1px solid var(--line);padding-top:32px}
.pf-head{font-family:var(--display);font-size:var(--step-3);line-height:1.1;font-variant-numeric:lining-nums}
.pf-lead{font-size:1.12rem;color:var(--ink);max-width:62ch}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.pf-cell{background:var(--surface);padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.pf-cell h3{font-family:var(--text);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.pf-cell p{font-size:.95rem}
@media (max-width:640px){.pf-grid{grid-template-columns:1fr}}
.concepts{display:grid;gap:18px}
.concepts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.concepts.two{grid-template-columns:1fr}}
.concept{background:var(--soft);padding:24px;display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--terra)}
.concept h3{font-size:1.8rem}
.concept dl{margin:0;display:flex;flex-direction:column;gap:10px}
.concept dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--indigo)}
.concept dd{margin:0;font-size:.95rem}
/* Lot profile (Lot 37 summary format) */
.profile{border-top:1px solid var(--line);padding-top:32px}
.pf-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.pf-facts div{background:var(--surface);padding:14px 18px;display:flex;flex-direction:column;gap:2px}
.pf-facts span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.pf-facts b{font-family:var(--display);font-weight:500;font-size:1.35rem;line-height:1.25}
.pf-secs{display:flex;flex-direction:column}
.pf-sec{padding:20px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.pf-sec h3{font-size:1.5rem}
.pf-sec h3 span{color:var(--terra)}
.pf-sec p{max-width:66ch;font-size:.98rem}
.pf-table{border-collapse:collapse;width:100%;font-size:.93rem}
.pf-table th{text-align:left;font-weight:600;padding:9px 16px 9px 0;vertical-align:top;width:34%;border-top:1px solid var(--line)}
.pf-table td{padding:9px 0;border-top:1px solid var(--line);color:var(--muted)}
.concepts{display:grid;gap:18px}
.concepts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.concepts.two{grid-template-columns:1fr}}
.concept{background:var(--soft);padding:24px;display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--terra)}
.concept h3{font-size:1.8rem}
.concept dl{margin:0;display:flex;flex-direction:column;gap:10px}
.concept dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--indigo)}
.concept dd{margin:0;font-size:.95rem}
.pf-key{font-family:var(--display);font-size:1.45rem;line-height:1.25;color:var(--ink)}
.pf-table.limits{min-width:620px}
.pf-table.limits thead th{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;border-top:0;padding-bottom:10px}
.pf-table.limits th{width:22%}
.pf-table.limits td:last-child{color:var(--terra)}
.landbar{display:flex;height:40px;max-width:100%;border:1px solid var(--line)}
.landbar span{display:flex;align-items:center;padding-left:10px;font-size:.82rem;font-weight:700;color:#FAF8F2;min-width:0}
.landbar .b1,.landkey .b1{background:var(--terra)}
.landbar .b2,.landkey .b2{background:var(--sage)}
.landbar .b3,.landkey .b3{background:var(--forest)}
.landbar .b2{color:#25302B}
.landkey{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.88rem;color:var(--muted)}
.landkey span{display:inline-flex;align-items:center;gap:8px}
.landkey i{display:inline-block;width:14px;height:10px}
/* From the Welcome & Property Brochure */
.kw{color:var(--terra);text-transform:uppercase;letter-spacing:.02em}
.fm-lot.f1{fill:color-mix(in srgb,#C9B48A 45%,var(--surface))}
.fm-lot.f2{fill:color-mix(in srgb,#A5B19A 50%,var(--surface))}
.fm-lot.f3{fill:color-mix(in srgb,#6F8E7B 45%,var(--surface))}
.fm-legend .k.lot.f1{background:color-mix(in srgb,#C9B48A 45%,var(--surface))}
.fm-legend .k.lot.f2{background:color-mix(in srgb,#A5B19A 50%,var(--surface))}
.fm-legend .k.lot.f3{background:color-mix(in srgb,#6F8E7B 45%,var(--surface))}
.fm-finca{fill:var(--ink);font-family:var(--display);font-size:34px;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--surface);stroke-width:6px;opacity:.85}
.special{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.special dt{font-family:var(--display);font-size:1.45rem;color:var(--terra);padding-top:16px}
.special dd{margin:4px 0 0;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--muted)}
.grow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.grow.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grow div{background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:6px}
.grow b{font-family:var(--display);font-weight:500;font-size:1.15rem}
.grow span{font-size:.88rem;color:var(--muted)}
@media (max-width:860px){.grow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.grow,.grow.two{grid-template-columns:1fr}}
.infra{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.infra>div{border-top:2px solid var(--terra);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.infra h3{font-family:var(--text);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--terra)}
@media (max-width:860px){.infra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.infra{grid-template-columns:1fr}}
.pf-table.who{min-width:560px;background:var(--surface)}
.pf-table.who th{width:30%;padding-left:16px}
.pf-table.who tr:nth-child(odd) td,.pf-table.who tr:nth-child(odd) th{background:color-mix(in srgb,var(--soft) 60%,transparent)}
.eqgrid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:10px}
.eqgrid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.eqgrid img:first-child{grid-row:span 2;aspect-ratio:auto}
@media (max-width:700px){.eqgrid{grid-template-columns:1fr 1fr}.eqgrid img:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}}
.posters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.posters img{width:100%;box-shadow:0 6px 18px rgba(30,40,35,.14)}
ol.journey.compact li{padding:10px 0}
ol.journey.compact .n{width:40px;height:40px;font-size:1.2rem}
.fm-access{fill:none;stroke:var(--terra);stroke-width:3;stroke-dasharray:8 6}
.fm-mark circle{fill:var(--terra);stroke:var(--surface);stroke-width:3}
.fm-mark-n{fill:#fff;font-family:var(--text);font-weight:800;font-size:16px;text-anchor:middle;dominant-baseline:central}
.fm-mark-t{fill:var(--ink);font-family:var(--text);font-weight:700;font-size:17px;paint-order:stroke;stroke:var(--surface);stroke-width:5px}
.fm-legend .k.mark{width:18px;height:18px;border-radius:50%;background:var(--terra);color:#fff;font-size:.7rem;font-style:normal;font-weight:800;display:inline-grid;place-items:center}
.eventstrip{background:var(--soft);border-bottom:1px solid var(--line)}
.eventstrip .wrap{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding-block:12px;font-size:.95rem}

/* ---------- Events ---------- */
.evlist{display:grid;gap:18px}
.evcard{display:grid;grid-template-columns:auto 1fr;gap:18px 22px;align-items:start;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;padding:20px}
.evcard:has(.evimg){grid-template-columns:auto 1fr 200px}
.evdate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;padding:10px 8px;border-radius:10px;background:var(--forest,#344F43);color:#fff;line-height:1}
.evdate .evd{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:600}
.evdate .evm{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;opacity:.85}
.evbody{display:flex;flex-direction:column;gap:10px;min-width:0}
.evbody h3{margin:0}
.evbody details summary{cursor:pointer;font-weight:600;font-size:.9rem}
.evbody details .dl{margin-top:10px}
.evimg{width:100%;border-radius:10px;object-fit:cover;aspect-ratio:4/5}
.evdoc{font-size:.85rem}
.eventstrip[hidden]{display:none}
.sr-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:720px){.evcard,.evcard:has(.evimg){grid-template-columns:auto 1fr}.evimg{grid-column:1/-1;max-width:260px}}

/* ---------- Story chapters ---------- */
.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-top:clamp(20px,3vw,36px);border-top:1px solid var(--line)}
.chapter.flip>:first-child{order:2}
.chapter h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:0}
.chapter .photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.strip.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.thennow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.thennow figure{margin:0;display:flex;flex-direction:column;gap:6px}
.thennow img{width:100%;aspect-ratio:4/3;object-fit:cover}
.thennow .ph span{font-size:.7rem}
.tl summary{cursor:pointer;font-weight:600;padding:12px 0;border-top:1px solid var(--line)}
.tl .timeline{margin-top:14px}
@media (max-width:760px){.chapter{grid-template-columns:1fr}.chapter.flip>:first-child{order:0}}
.pair{display:grid;grid-template-columns:1.45fr 1fr;gap:12px}
.pair img{width:100%;height:100%;min-height:240px;max-height:420px;object-fit:cover}
.mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(3,1fr);gap:10px;aspect-ratio:5/4}
.mosaic img{width:100%;height:100%;object-fit:cover;min-height:0}
.mosaic .big{grid-row:1/4}
.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover}
@media (max-width:760px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.pair img{min-height:180px}}
.mosaic .big{object-position:65% 35%}
[hidden]{display:none!important}
.capfig{margin:0;display:flex;flex-direction:column;gap:8px}
.capfig .photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.capfig figcaption{font-style:italic}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* ---------- Brand logo ---------- */
.brand.logo{flex-direction:row;align-items:center;gap:12px}
.brand.logo .mark{height:48px;width:auto;display:block}
.brand.logo .bt{display:flex;flex-direction:column;align-items:center;gap:6px}
.brand.logo .wmimg{height:14px;width:auto;display:block}
.brand.logo small{letter-spacing:.3em}
.th-d{display:none!important}
:root[data-theme="dark"] .th-l{display:none!important}
:root[data-theme="dark"] .th-d{display:block!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .th-l{display:none!important}:root:not([data-theme="light"]) .th-d{display:block!important}}
footer.site .brand.flogo img{width:200px;height:auto;display:block}
@media (max-width:420px){.brand.logo .mark{height:40px}.brand.logo .wmimg{height:11px}.brand.logo{gap:9px}}
/* ---------- Broker area ---------- */
.steps-l{margin:0;padding-left:1.3em;display:grid;gap:12px;color:var(--muted)}
.steps-l b{color:var(--ink)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.inv{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
table.inv th,table.inv td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
table.inv th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
table.inv td:nth-child(4){font-weight:600;white-space:nowrap}
.mats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mat{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);text-decoration:none;color:var(--ink);transition:border-color .15s}
.mat:hover{border-color:var(--indigo)}
.mat b{font-family:var(--display);font-size:1.15rem;font-weight:500}
.mat span{font-size:.85rem;color:var(--muted)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.mcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);font-size:.85rem}
.mcard img,.mcard .noimg{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block}
.mcard .noimg{display:grid;place-items:center;background:var(--line);color:var(--muted);font-size:.75rem}
.mcard span{color:var(--muted)}.mcard b{color:var(--ink)}
@media (max-width:600px){.mats{grid-template-columns:1fr}}
.prose h2{font-size:1.5rem;margin:36px 0 10px}
.prose p{color:var(--muted);margin:0 0 12px;line-height:1.65}
.prose .ticks{margin:0 0 12px}
/* ---------- Lot media ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.pano-open{position:relative;border:0;padding:0;cursor:pointer;border-radius:10px;overflow:hidden;background:none;text-align:left}
.pano-open img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block;transition:transform .4s}
.pano-open:hover img{transform:scale(1.04)}
.pano-open span{position:absolute;left:10px;bottom:10px;background:rgba(20,30,25,.72);color:#fff;font-size:.78rem;padding:5px 10px;border-radius:999px}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.vgrid video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#111;display:block}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gimg img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block}
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,14,12,.88);display:grid;place-items:center;padding:24px}
.lb[hidden]{display:none}
.lb-body{width:min(1200px,100%);max-height:88vh;display:grid;place-items:center}
.lb-body img{max-width:100%;max-height:86vh;border-radius:8px}
.lb .pano{width:min(1200px,100%);height:min(70vh,640px);border-radius:10px;overflow:hidden}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}
