.ch-lp { --text:#524e4b; --grey:#767575; --accent:#9f9794; --beige:#d9d1c7; --beige-2:#c8c1b9; --beige-soft:#eeeae5;
  color:var(--text); font-family:"Open Sans",Helvetica,Arial,sans-serif; font-size:18px; line-height:1.7; overflow-wrap:break-word; }
.ch-lp * { box-sizing:border-box; }
.ch-lp a { color:var(--text); }
.ch-lp a:hover { color:var(--grey); }
.ch-lp img { max-width:100%; display:block; }
.ch-lp h1, .ch-lp h2, .ch-lp h3 { font-family:"Marcellus",Georgia,serif; font-weight:400; color:var(--text); line-height:1.2; margin:0 0 20px; }
.ch-lp h1 { font-size:50px; }
.ch-lp h2 { font-size:40px; }
.ch-lp h3 { font-size:24px; }
.ch-lp p { margin:0 0 18px; }
.ch-lp strong { font-weight:600; }
.ch-lp .ch-wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.ch-lp .ch-narrow { max-width:900px; }
.ch-lp .ch-center { text-align:center; }
.ch-lp .ch-btn { display:inline-block; background:var(--grey); color:#fff; border:0; border-radius:50px; padding:14px 32px;
  font-size:16px; text-decoration:none; box-shadow:0 4px 8px rgba(50,50,93,.25); }
.ch-lp .ch-btn.light { background:#fff; color:var(--text); }
.ch-lp .ch-btn.light:hover { color:var(--grey); }
.ch-lp .ch-hero { position:relative; min-height:min(78vh,760px); display:flex; align-items:center; justify-content:center;
  background-size:cover; background-position:center; text-align:center; color:#fff; }
.ch-lp .ch-hero::before { content:""; position:absolute; inset:0; background:rgba(82,78,75,.55); }
.ch-lp .ch-hero-inner { position:relative; max-width:900px; padding:90px 24px; }
.ch-lp .ch-hero h1 { color:#fff; margin-bottom:22px; }
.ch-lp .ch-hero p { color:#fff; margin:0 auto 28px; max-width:800px; }
.ch-lp .ch-section { padding:84px 0; }
.ch-lp .ch-section.alt, .ch-lp .ch-contact { background:linear-gradient(90deg,var(--beige-2),var(--beige-soft)); }
.ch-lp .ch-section h2 { color:var(--grey); }
.ch-lp .ch-section h3 { color:var(--grey); margin-top:34px; }
.ch-lp .ch-section .lead { font-size:20px; }
.ch-lp .ch-section ul { padding-left:22px; margin:0 0 18px; }
.ch-lp .ch-section li { margin-bottom:8px; }
.ch-lp .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:34px; }
.ch-lp .card { background:#fff; padding:34px 30px; box-shadow:0 6px 24px rgba(82,78,75,.12); }
.ch-lp .card h3 { margin:0 0 12px; color:var(--text); }
.ch-lp .card p { margin:0; font-size:17px; }
.ch-lp ul.lots { list-style:none; padding:0; margin:26px 0 30px; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.ch-lp .lot { background:#fff; border-top:3px solid var(--accent); padding:24px 24px 22px; margin:0; box-shadow:0 6px 24px rgba(82,78,75,.12); }
.ch-lp .lot .addr { font-family:"Marcellus",serif; font-size:23px; line-height:1.25; color:var(--text); }
.ch-lp .lot .area { color:var(--grey); font-size:16px; margin-top:4px; }
.ch-lp .lot .status { margin-top:16px; padding-top:12px; border-top:1px solid var(--beige-soft); font-size:12px; line-height:1.5;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); }
.ch-lp ol.steps { list-style:none; counter-reset:step; padding:0; margin:30px 0 0; }
.ch-lp ol.steps li { counter-increment:step; position:relative; padding:4px 0 22px 74px; margin:0; min-height:62px; }
.ch-lp ol.steps li::before { content:counter(step); position:absolute; left:0; top:0; width:50px; height:50px; border-radius:50%;
  border:1px solid var(--accent); color:var(--grey); font-family:"Marcellus",serif; font-size:22px;
  display:flex; align-items:center; justify-content:center; background:#fff; }
.ch-lp .photos { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:30px; }
.ch-lp .photos.single { grid-template-columns:1fr; max-width:800px; margin-left:auto; margin-right:auto; }
.ch-lp .photos figure { margin:0; }
.ch-lp .photos img { width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--beige); }
.ch-lp .photos figcaption { font-size:13px; line-height:1.5; color:#6a4a00; background:#fff3cd; border:1px dashed #c9a227; padding:8px 12px; margin-top:8px; }
.ch-lp .photos figcaption.real { color:var(--grey); background:none; border:0; padding:8px 0 0; font-size:15px; text-align:left; }
.ch-lp .photos figure.todo figcaption { margin:0; padding:26px 16px; text-align:center; }
.ch-lp .faq { margin-top:26px; }
.ch-lp .faq details { border-bottom:1px solid var(--beige-2); }
.ch-lp .faq details:first-child { border-top:1px solid var(--beige-2); }
.ch-lp .faq summary { cursor:pointer; list-style:none; padding:20px 44px 20px 0; position:relative; font-family:"Marcellus",serif; font-size:22px; color:var(--text); }
.ch-lp .faq summary::-webkit-details-marker { display:none; }
.ch-lp .faq summary::after { content:"+"; position:absolute; right:8px; top:14px; font-size:28px; color:var(--accent); font-family:"Open Sans",sans-serif; }
.ch-lp .faq details[open] summary::after { content:"\2013"; }
.ch-lp .faq .answer { padding:0 44px 22px 0; }
.ch-lp .ch-contact-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:start; }
.ch-lp .ch-contact .office { margin-top:26px; color:var(--grey); font-size:16px; }
.ch-lp .ch-form { background:#fff; padding:36px 34px; box-shadow:0 6px 24px rgba(82,78,75,.12); }
@media (max-width:991px) {
  .ch-lp .cards { grid-template-columns:1fr; }
  .ch-lp .ch-contact-grid { grid-template-columns:1fr; gap:34px; }
}
@media (max-width:767px) {
  .ch-lp { font-size:17px; }
  .ch-lp h1 { font-size:36px; }
  .ch-lp h2 { font-size:30px; }
  .ch-lp .ch-wrap { padding:0 20px; }
  .ch-lp .ch-section { padding:56px 0; }
  .ch-lp .ch-hero { min-height:min(70vh,600px); }
  .ch-lp .ch-hero-inner { padding:60px 20px; }
  .ch-lp .photos { grid-template-columns:1fr; }
  .ch-lp .ch-form { padding:26px 20px; }
  .ch-lp .faq summary { font-size:19px; }
  .ch-lp ol.steps li { padding-left:64px; }
}
