:root { color-scheme: light; --paper:#f5f4ef; --ink:#20372f; --muted:#667168; --line:#dcded3; --accent:#b8bf96; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; font-size:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button,a,summary,input,select { -webkit-tap-highlight-color:transparent; }
button,summary,select { cursor:pointer; }
:focus-visible { outline:2px solid #617448; outline-offset:5px; }
[hidden] { display:none!important; }
.wrap { width:min(1320px,calc(100% - 96px)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link { position:absolute; left:20px; top:-100px; z-index:20; background:white; padding:15px; }
.skip-link:focus { top:10px; }
.site-header { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:12px; align-items:center; font-size:26px; letter-spacing:.13em; font-weight:700; }
.brand-mark { font-family:Georgia,serif; font-size:49px; font-weight:400; letter-spacing:-.1em; line-height:1; }
.brand-mark>span { color:#8e9c6d; }
.brand-sub { display:block; font-size:14px; letter-spacing:.22em; font-weight:500; margin-top:6px; }
.site-header nav { display:flex; gap:31px; font-size:14px; color:var(--muted); }
.site-header nav a { padding:12px 0; position:relative; }
.site-header nav a:hover,.site-header nav .active { color:var(--ink); }
.site-header nav .active:after { content:''; width:4px; height:4px; border-radius:50%; position:absolute; bottom:0; left:50%; background:var(--ink); }
.header-cta { display:flex; gap:24px; padding:13px 17px; border:1px solid #aeb6a4; font-size:14px; transition:background .2s; }
.header-cta:hover { background:#e6e9dd; }
.hero { display:grid; grid-template-columns:1.06fr 1fr; gap:40px; padding-block:44px 48px; align-items:stretch; }
.hero-copy { padding-block:48px 28px; }
.eyebrow { font-size:14px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; display:flex; align-items:center; gap:9px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#778956; box-shadow:0 0 0 4px #77895614; }
h1,h2,h3 { font-weight:400; }
h1 { font-size:clamp(46px,4.8vw,73px); line-height:1.1; letter-spacing:-.055em; margin:28px 0 25px; }
em { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:#71815d; }
h1 em { white-space:normal; }
.intro { color:var(--muted); font-size:16px; line-height:1.9; max-width:460px; }
.button { display:inline-flex; gap:35px; align-items:center; font-size:14px; background:var(--ink); color:#fff; padding:17px 21px; margin-top:21px; transition:background .2s,transform .2s; }
.button:hover { background:#385344; transform:translateY(-2px); }
.hero-footnote { display:flex; gap:10px; align-items:center; margin-top:47px; font-size:14px; color:var(--muted); }
.tiny-icon { font-size:22px; color:#8a9679; }
.separator { margin-inline:10px; color:#a0a691; }
.hero-visual { background:#1c352d; position:relative; overflow:hidden; min-height:490px; }
.hero-visual>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.visual-topline { position:absolute; top:22px; inset-inline:24px; z-index:1; display:flex; align-items:center; justify-content:space-between; color:#f1f2dfbf; font-size:14px; letter-spacing:.18em; }
.visual-topline>span:last-child { font-size:23px; }
.visual-caption { position:absolute; bottom:0; inset-inline:0; display:flex; align-items:center; gap:14px; padding:30px 24px 22px; color:#fff; background:linear-gradient(transparent,#142b25d9); }
.visual-cross { display:grid; place-items:center; height:30px; width:30px; border:1px solid #ffffff44; font-size:20px; }
.visual-caption strong { font-size:14px; font-weight:400; }
.visual-caption div>span { display:block; line-height:1.5; font-size:14px; color:#d2d7c5; margin-top:7px; }
.visual-number { margin-left:auto; white-space:nowrap; font-size:14px; letter-spacing:.12em; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); padding-block:28px; }
.metric { border-right:1px solid var(--line); padding-inline:42px; display:flex; align-items:center; gap:23px; }
.metric:first-child { padding-left:0; }
.metric:last-child { border:0; }
.metric p { color:var(--muted); font-size:14px; line-height:1.5; margin:0; max-width:155px; }
.metric strong { font-weight:400; font-size:39px; letter-spacing:-.04em; order:-1; white-space:nowrap; }
.portfolio { padding-block:82px 70px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:34px; }
h2 { font-size:clamp(34px,3.4vw,49px); letter-spacing:-.045em; line-height:1.2; margin:17px 0 0; }
.section-heading>p { font-size:14px; color:var(--muted); line-height:1.9; margin-bottom:3px; }
.toolbar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:17px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.filter-tabs,.search-sort { display:flex; gap:8px; align-items:center; }
.filter-tabs button { border:0; background:transparent; padding:11px 13px; font-size:14px; color:var(--muted); }
.filter-tabs button.selected { color:var(--ink); background:#e5e8db; }
.filter-tabs button>span { margin-left:9px; font-size:14px; background:#d7dec8; padding:2px 5px; border-radius:3px; }
.search { display:flex; align-items:center; gap:8px; border:1px solid var(--line); padding:8px 11px; background:#fafaf6; }
.search>span { font-size:20px; line-height:1; }
.search input { width:240px; min-width:0; background:transparent; border:0; font-size:14px; color:var(--ink); padding:3px; }
input::placeholder { color:#758071; }
.sort select { max-width:190px; border:1px solid var(--line); font-size:14px; padding:12px 8px; background:transparent; color:var(--muted); }
.result-count { font-size:14px; color:var(--muted); margin:20px 0; }
.lots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; margin-top:22px; }
.lot { background:#fcfcf8; border:1px solid var(--line); padding:28px; transition:box-shadow .2s,border-color .2s,transform .2s; }
.lot:hover { border-color:#acb79a; box-shadow:0 10px 28px #2b3e2e08; transform:translateY(-3px); }
.lot-top { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; margin-bottom:24px; }
.lot-index { font-size:14px; letter-spacing:.12em; color:#828d79; }
.location-badge { font-size:14px; padding:6px 8px; background:#eaf0e3; color:#4e6741; display:flex; align-items:center; gap:5px; border-radius:2px; }
.location-badge:before { content:''; height:4px; width:4px; background:currentColor; border-radius:50%; }
.location-badge.pending-badge { background:#eeeee6; color:#757566; }
.lot .eyebrow { color:#6d7b5e; font-size:14px; letter-spacing:.12em; margin:0; }
h3 { font-size:30px; font-family:Georgia,serif; margin:11px 0; letter-spacing:-.025em; line-height:1.25; }
.address { color:var(--muted); font-size:14px; line-height:1.7; min-height:48px; margin:12px 0 18px; overflow-wrap:anywhere; }
.lot-overview { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--line); padding-block:15px; margin-bottom:2px; gap:12px; }
.lot-overview>div:last-child { border-left:1px solid var(--line); padding-left:18px; }
.lot-overview span { display:block; font-size:14px; color:var(--muted); margin-bottom:7px; letter-spacing:.06em; text-transform:uppercase; }
.lot-overview strong { font-weight:500; font-size:16px; }
summary { font-size:14px; padding-block:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
summary::-webkit-details-marker { display:none; }
summary:after { content:'+'; font-size:18px; color:#647455; }
details[open]>summary:after { content:'−'; }
dl { margin:0 0 10px; }
dl>div { display:grid; grid-template-columns:1fr 1fr; gap:12px; border-top:1px solid #e8eadf; padding-block:10px; font-size:14px; line-height:1.6; }
dt { color:var(--muted); }
dd { margin:0; overflow-wrap:anywhere; }
.links { display:flex; flex-wrap:wrap; gap:16px; padding-top:14px; border-top:1px solid var(--line); }
.links a { font-size:14px; color:#536a40; }
.links a:hover { text-decoration:underline; text-underline-offset:4px; }
.pending { font-size:14px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin:0; }
.portfolio-note { display:flex; align-items:center; gap:10px; color:var(--muted); margin-top:24px; font-size:14px; line-height:1.7; }
.portfolio-note>span { font-size:18px; }
.empty-state { padding:65px 20px; text-align:center; background:#edeee5; margin-top:22px; }
.empty-state>span { font-size:32px; color:#7e8c6b; }
.empty-state p { color:var(--muted); font-size:14px; }
.empty-state button { border:1px solid #a6b194; padding:10px 20px; color:var(--ink); background:transparent; font-size:14px; }
.brief { background:#e9ece0; padding:48px; margin-bottom:66px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.brief .eyebrow { color:#687957; }
.brief h2 { font-size:40px; }
.brief-intro { font-size:14px; color:var(--muted); line-height:1.8; margin-top:23px; }
.brief-items article { display:flex; gap:20px; padding-block:21px; border-top:1px solid #cdd4c1; }
.brief-items article:first-child { border-top:0; padding-top:0; }
.brief-items article>span { font-size:14px; color:#7e8a70; margin-top:6px; }
.brief-items h3 { font-family:Arial,sans-serif; font-size:16px; margin:3px 0 8px; }
.brief-items p { font-size:14px; color:var(--muted); line-height:1.8; max-width:350px; margin:0; }
footer { display:flex; justify-content:space-between; align-items:center; padding-block:30px 38px; border-top:1px solid var(--line); gap:24px; }
.footer-brand { display:block; font-size:22px; }
footer p { font-size:14px; color:var(--muted); }
.back-top { font-size:14px; display:flex; gap:24px; }
@media(min-width:1550px) { .hero-visual { min-height:540px; } .hero-copy { padding-top:70px; } }
@media(max-width:1100px) { .toolbar { flex-direction:column; align-items:stretch; } .search-sort { justify-content:space-between; } .search { flex:1; } .search input { width:100%; } .wrap { width:calc(100% - 64px); } .hero { gap:26px; } .hero-copy { padding-top:24px; } .hero-visual { min-height:460px; } h1 { font-size:53px; } .hero-footnote { margin-top:30px; } .metric { padding-inline:22px; gap:15px; } .metric strong { font-size:32px; } .lots { grid-template-columns:repeat(2,minmax(0,1fr)); } .brief { gap:35px; padding:35px; } }
@media(max-width:800px) { .header-cta { display:none; } .hero { grid-template-columns:1fr; padding-top:28px; gap:32px; } .hero-copy { padding-top:10px; } h1 { font-size:64px; } .intro { max-width:470px; } .hero-visual { min-height:420px; } .hero-visual>img { object-position:center 60%; } .hero-footnote { margin-top:26px; } .metrics { gap:10px; } .metric { display:block; padding-inline:15px; } .metric strong { display:block; margin-bottom:8px; } .metric p { font-size:14px; } .section-heading { display:block; } .section-heading>p { margin-top:20px; } .toolbar { align-items:stretch; flex-direction:column; } .search-sort { justify-content:space-between; flex-wrap:wrap; } .search { flex:1; } .search input { width:100%; } .brief { grid-template-columns:1fr; gap:30px; } footer { flex-wrap:wrap; } footer p { width:100%; order:3; margin:0; } }
@media(max-width:500px) { .wrap { width:calc(100% - 36px); } .site-header { min-height:84px; gap:12px; } .brand { font-size:24px; gap:9px; } .brand-mark { font-size:40px; } .brand-sub { font-size:14px; } .site-header nav { gap:14px; font-size:14px; } .site-header nav a:last-child { display:none; } h1 { font-size:48px; } .intro { font-size:14px; } .hero-visual { min-height:360px; } .visual-caption { padding:24px 16px 18px; } .visual-number { display:none; } .metric strong { font-size:29px; } .portfolio { padding-block:55px; } .lots { grid-template-columns:1fr; } .lot { padding:24px; } .brief { padding:28px 22px; margin-bottom:40px; } .brief h2 { font-size:34px; } .filter-tabs button { min-height:40px; } .sort select { max-width:175px; } .search input { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; } }
