@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#171717; --paper:#f5f3ef; --muted:#77736d; --line:#d8d4cd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.nav { height:82px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(245,243,239,.94); backdrop-filter:blur(10px); z-index:10; }
.logo { font-weight:600; letter-spacing:.12em; font-size:14px; }
.nav nav { display:flex; align-items:center; gap:30px; font-size:13px; }
.nav-cta { border:1px solid var(--ink); padding:11px 17px; }
.hero { min-height:calc(100vh - 82px); display:grid; grid-template-columns:1fr 1fr; padding:6vw 5vw; gap:6vw; align-items:center; }
.hero-copy { max-width:650px; }
.eyebrow { font-size:11px; letter-spacing:.18em; font-weight:600; margin:0 0 24px; }
h1,h2 { margin:0; font-weight:500; letter-spacing:-.045em; }
h1 { font-size:clamp(60px,7vw,110px); line-height:.92; }
h1 em,h2 em { font-family:"Playfair Display",serif; font-weight:500; }
.hero-text { max-width:530px; margin:34px 0; font-size:18px; line-height:1.65; color:#55514c; }
.buttons { display:flex; gap:10px; flex-wrap:wrap; }
.button { display:inline-block; padding:15px 22px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:600; border:1px solid var(--ink); }
.button.dark { background:var(--ink); color:white; }
.button.light { background:transparent; }
.button.white { background:white; color:var(--ink); border-color:white; }
.hero-image { height:min(720px,72vh); overflow:hidden; background:#ddd; }
.hero-image img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.stats { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); padding:30px 5vw; gap:25px; }
.stats div { display:flex; flex-direction:column; gap:7px; }
.stats strong { font-size:20px; letter-spacing:.04em; }
.stats span { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.intro { display:grid; grid-template-columns:1fr 2fr; gap:6vw; padding:12vw 10vw; }
.section-label { font-size:10px; letter-spacing:.18em; color:var(--muted); }
.intro h2,.areas h2 { font-size:clamp(48px,5vw,78px); line-height:.98; max-width:850px; }
.intro p { font-size:20px; line-height:1.7; max-width:800px; color:#5c5852; margin:35px 0; }
.text-link { font-size:12px; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:6px; }
.split { display:grid; grid-template-columns:1fr 1fr; min-height:680px; }
.panel { padding:7vw; display:flex; align-items:flex-end; }
.buy-panel { background:linear-gradient(120deg,#6e675f,#332f2b); color:white; }
.sell-panel { background:#dedbd4; }
.panel h2 { font-size:clamp(45px,5vw,75px); line-height:.98; }
.panel p:not(.eyebrow) { max-width:490px; font-size:16px; line-height:1.7; margin:28px 0; }
.areas { padding:12vw 5vw; }
.areas-head { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin:35px 0 70px 15%; }
.areas-head p { color:#5c5852; line-height:1.7; max-width:520px; font-size:16px; }
.area-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; }
.area-grid div { padding:28px 5px; border-bottom:1px solid var(--line); font-family:"Playfair Display",serif; font-size:28px; display:flex; justify-content:space-between; }
.area-grid span { font-family:"DM Sans"; font-size:14px; }
.quote { background:#1a1a1a; color:white; padding:12vw 12vw; text-align:center; }
.quote blockquote { font-family:"Playfair Display",serif; font-size:clamp(38px,4.4vw,70px); line-height:1.08; max-width:1100px; margin:0 auto 35px; }
.signature { color:#aaa; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.contact { padding:10vw 8vw; display:grid; grid-template-columns:1.3fr .7fr; gap:8vw; align-items:center; }
.contact h2 { font-size:clamp(55px,6vw,95px); line-height:.94; }
.contact-card { border-top:1px solid var(--line); padding-top:25px; }
.contact-card p { color:#5c5852; line-height:1.7; margin-bottom:30px; }
footer { border-top:1px solid var(--line); padding:35px 5vw; display:grid; grid-template-columns:1fr 1fr 1fr; font-size:11px; color:var(--muted); }
footer .logo { color:var(--ink); }
footer p:last-child { text-align:right; }

@media (max-width: 800px) {
  .nav { height:70px; } .nav nav a:not(.nav-cta) { display:none; }
  .hero { grid-template-columns:1fr; padding-top:45px; min-height:auto; }
  .hero-image { height:500px; order:-1; }
  .stats { grid-template-columns:1fr 1fr; }
  .intro,.contact,.areas-head { grid-template-columns:1fr; }
  .intro { padding:80px 8vw; }
  .areas-head { margin-left:0; gap:20px; }
  .split { grid-template-columns:1fr; }
  .panel { min-height:560px; }
  .area-grid { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; gap:15px; }
  footer p:last-child { text-align:left; }
}


.testimonials { padding:12vw 5vw; background:#ebe8e2; }
.testimonials-head { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin:35px 0 70px 15%; align-items:end; }
.testimonials-head h2 { font-size:clamp(48px,5vw,78px); line-height:.98; }
.testimonials-head p { color:#5c5852; line-height:1.7; max-width:520px; }
.testimonial-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.testimonial { background:var(--paper); padding:45px; min-height:300px; display:flex; flex-direction:column; justify-content:space-between; }
.testimonial p { font-family:"Playfair Display",serif; font-size:26px; line-height:1.25; margin:25px 0; }
.testimonial span { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.stars { letter-spacing:.18em; font-size:12px; }
.featured-testimonial { background:#1a1a1a; color:white; }
.featured-testimonial span { color:#aaa; }
.review-link-wrap { margin-top:35px; }
.contact-details { display:flex; flex-direction:column; gap:8px; margin:0 0 25px; }
.contact-details a { font-family:"Playfair Display",serif; font-size:25px; }
.social-links { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:30px; }
.social-links a { font-size:10px; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:4px; }

@media (max-width: 800px) {
  .testimonials-head { grid-template-columns:1fr; margin-left:0; gap:20px; }
  .testimonial-grid { grid-template-columns:1fr; }
  .testimonial { min-height:260px; padding:32px; }
}

.sales { padding:12vw 5vw; background:#f0eee9; }
.sales-head { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin:35px 0 65px 15%; align-items:end; }
.sales-head h2 { font-size:clamp(48px,5vw,78px); line-height:.98; }
.sales-head p { color:#5c5852; line-height:1.7; max-width:520px; margin-bottom:25px; }
.sales-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sales-grid article { padding:30px 22px; min-height:210px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.sales-grid article:last-child { border-right:0; }
.sales-grid span { font-size:24px; font-family:"Playfair Display",serif; }
.sales-grid h3 { font-size:16px; font-weight:500; line-height:1.25; margin:25px 0 8px; }
.sales-grid p { margin:0; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.community { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; padding:11vw 10vw; align-items:center; }
.community-logo { display:flex; justify-content:center; align-items:center; }
.community-logo img { max-width:270px; max-height:360px; width:auto; height:auto; object-fit:contain; }
.community-copy h2 { font-size:clamp(48px,5vw,75px); line-height:.98; margin-bottom:30px; }
.community-copy > p:not(.eyebrow):not(.community-note) { font-size:18px; line-height:1.7; color:#5c5852; max-width:720px; }
.community-note { font-family:"Playfair Display",serif; font-size:25px; line-height:1.3; max-width:700px; margin:30px 0; }
@media (max-width: 1000px) {
  .sales-grid { grid-template-columns:1fr 1fr; }
  .sales-grid article:nth-child(2n) { border-right:0; }
}
@media (max-width: 800px) {
  .sales-head { grid-template-columns:1fr; margin-left:0; gap:20px; }
  .sales-grid { grid-template-columns:1fr; }
  .sales-grid article { border-right:0; border-bottom:1px solid var(--line); min-height:170px; }
  .community { grid-template-columns:1fr; padding:80px 8vw; }
}
