@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root {
  --forest: #19372d;
  --forest-2: #244a3d;
  --olive: #667153;
  --olive-light: #d8dcc9;
  --cream: #f7f1e5;
  --paper: #fffdf8;
  --ink: #21332d;
  --muted: #5f6963;
  --terra: #b85f45;
  --terra-dark: #91442f;
  --line: #d8d2c4;
  --shadow: 0 18px 45px rgba(25,55,45,.11);
  --radius: 1.15rem;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Source Sans 3', system-ui, sans-serif;
  --mono: 'DM Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font: 1rem/1.65 var(--sans); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--terra-dark); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #e59a74; outline-offset: 3px; border-radius: .2rem; }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 99; transform: translateY(-160%); background: var(--paper); color: var(--forest); padding: .7rem 1rem; }
.skip-link:focus { transform: none; }
.container { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.narrow { width: min(760px, calc(100% - 2rem)); margin-inline: auto; }
.announcement { color: var(--paper); background: var(--terra-dark); text-align: center; font-size: .9rem; padding: .42rem 1rem; letter-spacing: .02em; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(247,241,229,.95); border-bottom: 1px solid rgba(25,55,45,.13); backdrop-filter: blur(12px); }
.nav-shell { min-height: 4.7rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--forest); }
.brand:hover { color: var(--forest); }
.brand-mark { width: 2.5rem; aspect-ratio: 1; display: grid; place-items: center; background: var(--forest); color: var(--cream); border-radius: 50% 50% 50% .35rem; font: 700 1.1rem var(--serif); }
.brand-copy { font: 700 1.2rem/1 var(--serif); }
.brand-copy small { display: block; font: 500 .65rem/1.2 var(--mono); color: var(--olive); letter-spacing: .11em; text-transform: uppercase; margin-top: .28rem; }
.nav-toggle { border: 1px solid var(--forest); background: transparent; color: var(--forest); border-radius: 99px; padding: .5rem .8rem; font-weight: 700; }
.site-nav { display: none; position: absolute; left: 1rem; right: 1rem; top: calc(100% + .5rem); padding: .8rem; background: var(--paper); border: 1px solid var(--line); border-radius: .8rem; box-shadow: var(--shadow); }
.site-nav.open { display: block; }
.site-nav a { display: block; padding: .65rem .75rem; border-radius: .5rem; text-decoration: none; font-weight: 600; }
.site-nav a[aria-current='page'], .site-nav a:hover { background: var(--olive-light); color: var(--forest); }
.nav-apply { color: var(--paper)!important; background: var(--terra)!important; }
main { overflow: hidden; }
.hero { position: relative; padding: 4.4rem 0 3.6rem; background: var(--forest); color: var(--paper); isolation: isolate; }
.hero:before { content:''; position:absolute; inset:0; z-index:-1; opacity:.24; background-image: linear-gradient(30deg, transparent 47%, #a7b18d 48%, #a7b18d 49%, transparent 50%), linear-gradient(150deg, transparent 47%, #a7b18d 48%, #a7b18d 49%, transparent 50%); background-size: 60px 104px; }
.hero:after { content:''; position:absolute; width:21rem; height:21rem; right:-9rem; top:-9rem; border:4rem solid rgba(184,95,69,.4); border-radius:50%; z-index:-1; }
.hero-grid { display: grid; gap: 2.5rem; align-items: end; }
.eyebrow { margin: 0 0 1rem; font: 500 .75rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #d9d8b3; }
h1, h2, h3 { font-family: var(--serif); line-height: 1.08; margin-top: 0; text-wrap: balance; }
h1 { max-width: 13ch; margin-bottom: 1.25rem; font-size: clamp(2.7rem, 10vw, 5.5rem); letter-spacing: -.035em; }
h2 { font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: -.025em; }
h3 { font-size: 1.55rem; }
.lead { max-width: 60ch; font-size: clamp(1.1rem, 2vw, 1.28rem); color: #e4e1d6; }
.hero .lead { max-width: 49ch; }
.hero-actions, .card-actions, .inline-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.btn { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .45rem; border: 1px solid transparent; border-radius: 99px; padding: .72rem 1.2rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .18s, background .18s, box-shadow .18s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 9px 20px rgba(25,55,45,.17); }
.btn-primary { background: var(--terra); color: white; }
.btn-primary:hover { background: var(--terra-dark); color: white; }
.btn-light { background: var(--paper); color: var(--forest); }
.btn-outline { border-color: currentColor; background: transparent; color: inherit; }
.hero-note { padding: 1.25rem; border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.hero-note strong { display:block; color:#fff; font: 600 1.15rem var(--serif); margin-bottom:.3rem; }
.hero-note p { margin:0; color:#e4e1d6; }
.stats-ribbon { background: var(--olive-light); border-bottom: 1px solid #c4c9b4; }
.stat-grid { display:grid; grid-template-columns: repeat(2,1fr); }
.stat { padding: 1.1rem .6rem; border-right: 1px solid #bec5ae; }
.stat:nth-child(even) { border-right:0; }
.stat strong { display:block; font: 600 1.25rem var(--serif); color:var(--forest); }
.stat span { color:var(--muted); font-size:.87rem; }
section { padding: 4.5rem 0; }
.section-head { display:flex; flex-direction:column; gap:.5rem; margin-bottom:2rem; }
.section-head h2, .section-head p { margin-bottom:0; }
.section-head p { max-width:60ch; color:var(--muted); }
.kicker { display:inline-block; margin-bottom:.9rem; color:var(--terra-dark); font:500 .74rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.listing-grid, .feature-grid, .steps { display:grid; gap:1rem; }
.listing-card { overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 7px 22px rgba(25,55,45,.06); transition:transform .2s, box-shadow .2s; }
.listing-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.card-media { height:14rem; position:relative; overflow:hidden; background:var(--forest); }
.card-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.listing-card:hover .card-media img { transform:scale(1.025); }
.card-photo-note { position:absolute; bottom:.55rem; right:.55rem; padding:.28rem .5rem; border-radius:.35rem; background:rgba(25,55,45,.84); color:white; font-size:.7rem; }
.arch-placeholder { height:100%; position:relative; overflow:hidden; background:linear-gradient(150deg,#afba95 0 47%,#728161 47%); }
.arch-placeholder:before { content:''; position:absolute; width:70%; height:61%; left:15%; bottom:0; background:var(--cream); clip-path:polygon(0 28%,50% 0,100% 28%,100% 100%,0 100%); box-shadow:inset 0 -1.4rem 0 #c87356; }
.arch-placeholder:after { content:'PHOTOS COMING'; position:absolute; left:50%; top:52%; translate:-50% -50%; width:max-content; color:var(--forest); font:500 .7rem var(--mono); letter-spacing:.15em; border:1px solid var(--forest); padding:.55rem .7rem; background:rgba(247,241,229,.88); }
.status { position:absolute; top:.8rem; left:.8rem; z-index:2; display:inline-flex; align-items:center; gap:.4rem; padding:.36rem .62rem; border-radius:99px; background:var(--paper); color:var(--forest); font-size:.79rem; font-weight:700; box-shadow:0 3px 12px rgba(0,0,0,.13); }
.status:before { content:''; width:.48rem; height:.48rem; border-radius:50%; background:#5f854e; box-shadow:0 0 0 3px #dfe8d7; }
.card-body { padding:1.25rem; }
.card-body h3 { margin-bottom:.45rem; }
.card-body h3 a { text-decoration:none; }
.address { color:var(--muted); margin:.2rem 0 1rem; }
.facts { display:flex; flex-wrap:wrap; gap:.4rem 1rem; padding:0; margin:0 0 1rem; list-style:none; font:500 .82rem var(--mono); color:var(--forest); }
.rent-line { margin:0; padding-top:1rem; border-top:1px solid var(--line); font-weight:700; color:var(--forest); }
.market-line { color:var(--muted); font-size:.9rem; margin:.4rem 0 0; }
.tint { background:#ece8d8; }
.feature { padding:1.35rem; background:var(--paper); border-top:3px solid var(--olive); border-radius:.3rem .3rem .8rem .8rem; }
.feature .number { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:50%; margin-bottom:1.2rem; background:var(--forest); color:white; font:500 .8rem var(--mono); }
.feature p { color:var(--muted); margin-bottom:0; }
.voucher-band { background:var(--terra); color:white; padding:1.5rem 0; }
.voucher-inner { display:flex; gap:1rem; flex-direction:column; justify-content:space-between; align-items:flex-start; }
.voucher-inner h2 { font-size:1.55rem; margin:0; }
.voucher-inner p { margin:.2rem 0 0; color:#ffe8df; }
.cta-panel { display:grid; gap:1.5rem; align-items:center; background:var(--forest); color:white; border-radius:var(--radius); padding:clamp(1.5rem,5vw,3.2rem); position:relative; overflow:hidden; }
.cta-panel:after { content:'↗'; position:absolute; right:1rem; bottom:-2.5rem; font:700 11rem/1 var(--serif); color:rgba(255,255,255,.06); }
.cta-panel h2 { margin-bottom:.5rem; }
.cta-panel p { color:#dfe4dd; margin:0; }
.page-hero { padding:3.8rem 0 2.8rem; background:var(--forest); color:white; }
.page-hero h1 { font-size:clamp(2.5rem,8vw,4.8rem); max-width:18ch; margin-bottom:1rem; }
.page-hero .breadcrumb { margin-bottom:1rem; color:#ced8cc; font-size:.88rem; }
.page-hero .breadcrumb a { color:inherit; }
.listing-shell { display:grid; gap:2rem; padding:2rem 0 4.5rem; }
.gallery { display:grid; gap:.75rem; }
.listing-photo { min-height:19rem; border-radius:var(--radius); overflow:hidden; position:relative; background:#d8dcc9; }
.listing-photo img { width:100%; height:100%; min-height:19rem; object-fit:cover; }
.photo-caption { color:var(--muted); font-size:.78rem; margin:0; }
.map-frame { display:block; width:100%; height:18rem; border:0; border-radius:var(--radius); background:#ddd; }
.details h2 { font-size:2rem; }
.detail-block { padding:1.5rem 0; border-bottom:1px solid var(--line); }
.detail-block:first-child { padding-top:0; }
.amenity-list { display:grid; grid-template-columns:1fr; gap:.65rem; padding:0; list-style:none; }
.amenity-list li { display:flex; gap:.65rem; }
.amenity-list li:before { content:'✓'; color:var(--terra-dark); font-weight:800; }
.notice { padding:1rem 1.1rem; background:#ece8d8; border-left:4px solid var(--terra); border-radius:.25rem .65rem .65rem .25rem; }
.notice strong { color:var(--forest); }
.data-label { font:500 .7rem var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.estimate-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:1rem; }
.estimate { padding:1rem; background:var(--paper); border:1px solid var(--line); border-radius:.7rem; }
.estimate strong { display:block; color:var(--forest); font:600 1.3rem var(--serif); }
.estimate small { color:var(--muted); }
.form-card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.25rem,4vw,2rem); box-shadow:var(--shadow); }
.form-card h2 { font-size:2rem; margin-bottom:.35rem; }
.form-intro { color:var(--muted); margin-top:0; }
.form-grid { display:grid; gap:1rem; }
.field { display:grid; gap:.35rem; color:var(--forest); font-weight:700; }
.field span { display:block; }
.field input, .field select, .field textarea { width:100%; border:1px solid #b9bdaf; border-radius:.55rem; background:#fffefa; color:var(--ink); padding:.72rem .78rem; font-weight:400; }
.field textarea { min-height:7rem; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--terra); box-shadow:0 0 0 3px rgba(184,95,69,.16); outline:none; }
.radio-fieldset { border:0; margin:0; padding:0; }
.radio-fieldset legend { color:var(--forest); font-weight:700; margin-bottom:.35rem; }
.radio-options { display:flex; gap:1rem; }
.radio-options label { display:flex; align-items:center; gap:.4rem; font-weight:400; }
.form-note { color:var(--muted); font-size:.86rem; }
.form-status { display:none; margin-top:1.25rem; padding:1rem; border:1px solid #96a683; background:#edf2e7; border-radius:.7rem; }
.form-status.visible { display:block; }
.form-status h3 { margin:0 0 .35rem; color:var(--forest); }
.form-status pre { max-height:13rem; overflow:auto; background:var(--forest); color:#f4f0e5; border-radius:.5rem; padding:.75rem; font:400 .7rem/1.5 var(--mono); white-space:pre-wrap; }
.compact-form { box-shadow:none; background:#ece8d8; }
.compact-form .form-grid { gap:.8rem; }
.process-list { counter-reset:process; list-style:none; padding:0; }
.process-list li { counter-increment:process; display:grid; grid-template-columns:2.4rem 1fr; gap:.8rem; margin-bottom:1.3rem; }
.process-list li:before { content:counter(process); display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:50%; color:white; background:var(--terra); font:500 .8rem var(--mono); }
.process-list strong { display:block; color:var(--forest); }
.about-grid { display:grid; gap:2rem; align-items:start; }
.editorial-quote { font:600 clamp(1.8rem,5vw,3rem)/1.2 var(--serif); color:var(--forest); margin:0; }
.fact-table { border-collapse:collapse; width:100%; background:var(--paper); border-radius:.8rem; overflow:hidden; }
.fact-table th, .fact-table td { padding:.9rem 1rem; border-bottom:1px solid var(--line); text-align:left; }
.fact-table th { color:var(--muted); font-weight:500; }
.site-footer { color:#d9ded8; background:#112920; padding:3rem 0 1.5rem; }
.footer-grid { display:grid; gap:2rem; }
.footer-brand { color:white; font:600 1.8rem var(--serif); margin:0 0 .5rem; }
.footer-nav { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; }
.footer-nav a { color:#d9ded8; }
.footer-bottom { margin-top:2rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.15); font-size:.88rem; color:#aeb9b2; }
[data-reveal] { opacity:0; transform:translateY(16px); transition:.6s ease; }
[data-reveal].revealed { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { scroll-behavior:auto!important; transition:none!important; } [data-reveal] { opacity:1; transform:none; } }
@media (min-width:700px) {
  .nav-toggle { display:none; }
  .site-nav { display:flex; align-items:center; gap:.15rem; position:static; padding:0; background:transparent; border:0; box-shadow:none; }
  .site-nav a { display:inline-block; padding:.55rem .72rem; }
  .hero { padding:6.5rem 0 5rem; }
  .hero-grid { grid-template-columns:1.5fr .7fr; }
  .stat-grid { grid-template-columns:repeat(4,1fr); }
  .stat:nth-child(even) { border-right:1px solid #bec5ae; }
  .stat:last-child { border-right:0; }
  .listing-grid { grid-template-columns:repeat(2,1fr); gap:1.3rem; }
  .feature-grid, .steps { grid-template-columns:repeat(3,1fr); }
  .section-head { flex-direction:row; justify-content:space-between; align-items:end; }
  .voucher-inner { flex-direction:row; align-items:center; }
  .cta-panel { grid-template-columns:1.4fr auto; }
  .listing-shell { grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:3rem; }
  .listing-shell .gallery { position:sticky; top:6rem; align-self:start; }
  .amenity-list { grid-template-columns:1fr 1fr; }
  .form-grid.two { grid-template-columns:1fr 1fr; }
  .full { grid-column:1/-1; }
  .about-grid { grid-template-columns:1fr 1fr; gap:4rem; }
  .footer-grid { grid-template-columns:1.3fr 1fr; }
}

/* —— Content expansion (2026-09-22) —— */
.badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .22rem .55rem;
  border-radius: 99px;
  font: 600 .68rem/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  vertical-align: middle;
}
.badge-verified { background: #dfe8d7; color: #2f5a2c; }
.badge-estimate { background: #efe4c8; color: #7a5a18; }
.badge-tbd { background: #e8ddd6; color: #7a3d2a; }
.badge-row { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0 1rem; }
.status-panel {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
  padding: 1rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .8rem;
}
.status-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem 1rem;
  align-items: baseline;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--line);
}
.status-row:last-child { border-bottom: 0; padding-bottom: 0; }
.status-row .label { font-weight: 700; color: var(--forest); }
.status-row .value { color: var(--muted); text-align: right; }
.shared-facts {
  margin: 1.25rem 0;
  padding: 1rem 1.15rem;
  background: #ece8d8;
  border-radius: .8rem;
}
.shared-facts h3 { font-size: 1.15rem; margin-bottom: .35rem; }
.shared-facts p { margin: 0; color: var(--muted); font-size: .95rem; }
.know-grid {
  display: grid;
  gap: 1rem;
}
.know-card {
  padding: 1.25rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .8rem;
}
.know-card h3 { font-size: 1.25rem; margin-bottom: .6rem; }
.know-card ul { margin: 0; padding-left: 1.15rem; color: var(--muted); }
.know-card li { margin-bottom: .4rem; }
.checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .55rem;
}
.checklist li {
  display: grid;
  grid-template-columns: 1.4rem 1fr;
  gap: .55rem;
  align-items: start;
  padding: .7rem .85rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .55rem;
}
.checklist li:before {
  content: '☐';
  color: var(--terra-dark);
  font-weight: 700;
  line-height: 1.4;
}
.faq-list { display: grid; gap: .75rem; }
.faq-item {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .7rem;
  padding: 0;
  overflow: hidden;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 1.15rem;
  font-weight: 700;
  color: var(--forest);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:after {
  content: '+';
  float: right;
  color: var(--terra);
  font-weight: 700;
}
.faq-item[open] summary:after { content: '–'; }
.faq-item .faq-body {
  padding: 0 1.15rem 1.1rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
}
.faq-item .faq-body p:last-child { margin-bottom: 0; }
.process-cols {
  display: grid;
  gap: 1rem;
}
.process-col {
  padding: 1.35rem;
  background: var(--paper);
  border-radius: .8rem;
  border: 1px solid var(--line);
  border-top: 3px solid var(--terra);
}
.process-col .step-num {
  display: inline-grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--forest);
  color: white;
  font: 500 .75rem var(--mono);
  margin-bottom: .9rem;
}
.process-col p { color: var(--muted); margin-bottom: 0; }
.hero-visual {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
  min-height: 12rem;
}
.hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 12rem;
}
.css-hero-paths {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .55rem;
  padding: 1rem;
  min-height: 12rem;
}
.css-hero-paths .lane {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: .45rem;
  padding: .85rem .7rem;
  border-radius: .65rem;
  background: linear-gradient(180deg, rgba(167,177,141,.35), rgba(25,55,45,.55));
  border: 1px solid rgba(255,255,255,.18);
  color: #f4f0e5;
  font: 600 .78rem/1.25 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
}
.css-hero-paths .lane span {
  display: block;
  width: 2rem;
  height: 2rem;
  margin: 0 auto .35rem;
  border-radius: 50%;
  background: var(--terra);
  box-shadow: 0 0 0 4px rgba(184,95,69,.28);
}
.img-placeholder {
  display: grid;
  place-items: center;
  min-height: 10rem;
  padding: 1.25rem;
  text-align: center;
  background:
    linear-gradient(135deg, #d8dcc9 25%, transparent 25%) -20px 0 / 40px 40px,
    linear-gradient(225deg, #d8dcc9 25%, transparent 25%) -20px 0 / 40px 40px,
    linear-gradient(315deg, #c9cfb4 25%, transparent 25%) 0 0 / 40px 40px,
    linear-gradient(45deg, #c9cfb4 25%, #ece8d8 25%) 0 0 / 40px 40px;
  border: 1px dashed #9aa586;
  border-radius: .8rem;
  color: var(--forest);
}
.img-placeholder strong { display: block; font: 600 1rem var(--serif); margin-bottom: .35rem; }
.img-placeholder span { font-size: .85rem; color: var(--muted); }
.article-grid { display: grid; gap: 1rem; }
.article-card {
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.article-card .meta {
  font: 500 .72rem var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--olive);
}
.article-card h3 { margin-bottom: .35rem; font-size: 1.45rem; }
.article-card h3 a { text-decoration: none; }
.article-card p { color: var(--muted); margin: 0; }
.insight-article {
  max-width: 42rem;
  margin: 0 auto;
  padding: 0 0 3rem;
}
.insight-article .meta {
  font: 500 .72rem var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--olive);
  margin-bottom: 1rem;
}
.insight-article h2 {
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  margin-bottom: .75rem;
}
.insight-article p, .insight-article li { color: var(--muted); }
.insight-article ul, .insight-article ol { margin-bottom: 1.25rem; }
.city-blurb {
  padding: 1.35rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .8rem;
}
.city-blurb h3 { margin-bottom: .45rem; }
.city-blurb p { color: var(--muted); margin: 0; }
.disclaimer-box {
  margin: 1.25rem 0;
  padding: 1.1rem 1.2rem;
  background: #f3ebe3;
  border: 1px solid #e0cfc2;
  border-left: 4px solid var(--terra);
  border-radius: .25rem .7rem .7rem .25rem;
}
.disclaimer-box strong { color: var(--forest); }
.last-updated {
  font: 500 .72rem var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: .75rem;
}
@media (min-width: 700px) {
  .process-cols { grid-template-columns: repeat(3, 1fr); }
  .know-grid { grid-template-columns: 1fr 1fr; }
  .article-grid { grid-template-columns: repeat(3, 1fr); }
  .checklist.two-col { grid-template-columns: 1fr 1fr; }
  .city-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .hero-grid.has-visual { grid-template-columns: 1.35fr .9fr; align-items: center; }
}

/* —— Portfolio, Property Management, contact (2026-10-08) —— */
@media (min-width:700px) and (max-width:1199px) {
  .nav-toggle { display:inline-block; }
  .site-nav { display:none; position:absolute; left:1rem; right:1rem; top:calc(100% + .5rem); padding:.8rem; background:var(--paper); border:1px solid var(--line); border-radius:.8rem; box-shadow:var(--shadow); }
  .site-nav.open { display:grid; grid-template-columns:1fr 1fr; gap:.2rem; }
  .site-nav a { display:block; padding:.65rem .75rem; }
}
@media (min-width:1200px) { .site-nav a { padding:.5rem .55rem; font-size:.93rem; } }
.photo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin:1.2rem 0 .4rem; }
.photo-grid a { position:relative; display:block; border-radius:.7rem; overflow:hidden; background:var(--olive-light); aspect-ratio:4/3; }
.photo-grid a img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.photo-grid a:hover img, .photo-grid a:focus-visible img { transform:scale(1.04); }
.photo-grid a.wide { grid-column:span 2; aspect-ratio:16/9; }
.photo-grid .zoom { position:absolute; right:.45rem; bottom:.45rem; background:rgba(25,55,45,.78); color:#fff; font:500 .68rem var(--mono); padding:.18rem .45rem; border-radius:99px; letter-spacing:.04em; }
@media (min-width:700px) { .photo-grid { grid-template-columns:repeat(4,1fr); } }
.building { padding:2.4rem 0; border-top:1px solid var(--line); }
.building:first-of-type { border-top:0; }
.building-head { display:grid; gap:1rem; }
@media (min-width:900px) { .building-head { grid-template-columns:1.2fr .8fr; align-items:end; } }
.building-head h2 { margin:.2rem 0 .4rem; }
.building-meta, .area-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin:.4rem 0 0; padding:0; list-style:none; }
.building-meta li, .area-chips li { background:var(--paper); border:1px solid var(--line); border-radius:99px; padding:.2rem .7rem; font-size:.86rem; color:var(--forest); }
.space-grid { display:grid; gap:1rem; margin-top:1.4rem; }
@media (min-width:800px) { .space-grid { grid-template-columns:repeat(3,1fr); } }
.space-card { background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terra); border-radius:.4rem .4rem .9rem .9rem; padding:1.1rem; display:flex; flex-direction:column; }
.space-card h3 { margin:.1rem 0 .3rem; }
.space-card .size { font:500 .82rem var(--mono); color:var(--terra-dark); }
.space-card .photo-grid { grid-template-columns:repeat(3,1fr); margin:.8rem 0; }
.space-card .card-actions { margin-top:auto; }
.photo-strip { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,1fr); gap:.6rem; overflow-x:auto; padding-bottom:.4rem; scroll-snap-type:x mandatory; }
.photo-strip figure { margin:0; scroll-snap-align:start; }
.photo-strip a { display:block; border-radius:.7rem; overflow:hidden; aspect-ratio:4/3; background:var(--olive-light); }
.photo-strip img { width:100%; height:100%; object-fit:cover; }
.photo-strip figcaption { font-size:.8rem; color:var(--muted); margin-top:.3rem; }
.pm-path { display:grid; gap:1.2rem; align-items:center; background:var(--paper); border:1px solid var(--line); border-left:5px solid var(--terra); border-radius:var(--radius); padding:clamp(1.2rem,4vw,2rem); }
@media (min-width:800px) { .pm-path { grid-template-columns:1.3fr .7fr; } }
.pm-path img { border-radius:.8rem; aspect-ratio:4/3; object-fit:cover; width:100%; }
.service-grid { display:grid; gap:1rem; }
@media (min-width:760px) { .service-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1050px) { .service-grid { grid-template-columns:repeat(3,1fr); } }
.service { background:var(--paper); border:1px solid var(--line); border-radius:.9rem; padding:1.2rem; }
.service h3 { margin:0 0 .35rem; font-size:1.15rem; }
.service p { margin:0; color:var(--muted); }
.policy-list { display:grid; gap:.55rem; padding:0; list-style:none; }
.policy-list li { background:var(--paper); border:1px solid var(--line); border-radius:.6rem; padding:.7rem .9rem; }
.policy-list strong { color:var(--forest); }
.source-note { font-size:.8rem; color:var(--muted); }
.talk-line { margin:.9rem 0 0; padding:.7rem .9rem; background:var(--olive-light); border-radius:.6rem; color:var(--forest); font-size:.95rem; }
.talk-line a { font-weight:700; }
.contact-block { display:grid; gap:1rem; background:var(--forest); color:#fff; border-radius:var(--radius); padding:clamp(1.3rem,4vw,2.2rem); margin-bottom:1.4rem; }
.contact-block h2 { margin:0; }
.contact-block p { margin:0; color:#dfe4dd; }
.contact-block .inline-actions { margin:0; }
.contact-block .btn-outline { color:#fff; border-color:#fff; }
.footer-contact { margin-top:.8rem; line-height:1.8; }
.footer-contact a { font-weight:600; }
.footer-broker { margin-top:.5rem; font-size:.9rem; opacity:.9; }
.lb { position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; background:rgba(12,24,20,.92); padding:3.2rem 1rem 4.5rem; }
.lb.open { display:flex; }
.lb figure { margin:0; max-width:min(1200px,100%); max-height:100%; display:flex; flex-direction:column; align-items:center; }
.lb img { max-width:100%; max-height:calc(100vh - 9rem); object-fit:contain; border-radius:.4rem; box-shadow:0 20px 60px rgba(0,0,0,.45); }
.lb figcaption { color:#e9efe9; margin-top:.7rem; text-align:center; font-size:.95rem; }
.lb figcaption span { display:block; font:500 .72rem var(--mono); color:#aab8ae; margin-top:.2rem; }
.lb button { position:absolute; background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:99px; width:2.8rem; height:2.8rem; font-size:1.3rem; cursor:pointer; }
.lb button:hover { background:rgba(255,255,255,.25); }
.lb .lb-close { top:.8rem; right:.8rem; }
.lb .lb-prev { left:.8rem; top:50%; transform:translateY(-50%); }
.lb .lb-next { right:.8rem; top:50%; transform:translateY(-50%); }
body.lb-lock { overflow:hidden; }
/* Guides (2026-10-08) */
.nav-drop { position:relative; }
.nav-drop summary { list-style:none; cursor:pointer; display:block; padding:.65rem .75rem; border-radius:.5rem; font-weight:600; }
.nav-drop summary::-webkit-details-marker { display:none; }
.nav-drop summary:after { content:' ▾'; font-size:.75em; }
.nav-drop summary:hover, .nav-drop.is-current summary { background:var(--olive-light); color:var(--forest); }
.nav-drop-menu a { display:block; }
@media (min-width:1200px) {
  .nav-drop summary { padding:.5rem .55rem; font-size:.93rem; }
  .nav-drop-menu { position:absolute; right:0; top:calc(100% + .3rem); min-width:14rem; background:var(--paper); border:1px solid var(--line); border-radius:.7rem; box-shadow:var(--shadow); padding:.4rem; z-index:60; }
}
.guide-switch { display:flex; flex-wrap:wrap; gap:.5rem; }
@media (min-width:1200px) {
  .site-nav > a[href="index.html"] { display:none; }
  .site-nav a, .nav-drop summary { white-space:nowrap; }
}
/* Rental application (2026-10-08) */
.form-section { margin:1.2rem 0 0; font-size:1.1rem; color:var(--forest); border-top:1px solid var(--line); padding-top:1rem; }
.form-section small { font-weight:400; color:var(--muted); font-size:.85rem; }
.coapplicant { border:1px solid var(--line); border-radius:.7rem; padding:.8rem; margin:0 0 .8rem; }
.coapplicant legend { font-weight:600; padding:0 .3rem; }
.hp-field { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent { display:flex; gap:.6rem; align-items:flex-start; font-size:.92rem; }
.consent input { margin-top:.3rem; }
.fair-housing { font-size:.85rem; color:var(--muted); margin-top:1.2rem; border-top:1px solid var(--line); padding-top:1rem; }
.leased-banner { margin-top:1rem; padding:.8rem 1rem; border-radius:.6rem; background:var(--olive-light); color:var(--forest); }
.btn-lg { padding:.95rem 1.5rem; font-size:1.05rem; }
[hidden] { display:none !important; }
/* Property list (2026-10-13) */
.prop-list h3 { margin:0 0 .8rem; color:var(--forest); }
.prop-chips { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.7rem; }
.prop-chip { display:grid; gap:.2rem; padding:.9rem 1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--paper); text-decoration:none; color:inherit; }
.prop-chip:hover { box-shadow:var(--shadow); }
.prop-chip span { color:var(--muted); font-size:.9rem; }
.prop-chip em { font-style:normal; font-size:.8rem; font-family:var(--mono); color:var(--terra-dark); text-transform:uppercase; }
