@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--paper:#f5f2ec;--ink:#171715;--accent:#a74920}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:15px;top:-80px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}header{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #d5cec4}.brand{text-decoration:none;color:var(--accent);font-size:26px;font-weight:700;white-space:nowrap}.brand span{color:var(--ink);font-size:13px;letter-spacing:.15em;margin-left:10px}nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}header nav a{font-size:13px;text-decoration:none}header [aria-current]{color:var(--accent);text-decoration:underline}.button{display:inline-block;text-decoration:none;background:var(--accent);color:white;padding:14px 24px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button:hover{background:#843719}.wrap{max-width:1250px;margin:auto;padding:0 5vw}.hero{background:#272724;color:white;padding:85px 0 95px}.eyebrow,.region{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--accent)}.hero .eyebrow{color:#eeaf86}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.07}h1{font-size:clamp(48px,6vw,88px);margin:24px 0}h2{font-size:clamp(34px,4vw,55px);margin:16px 0 24px}h3{font-size:24px;line-height:1.25;font-weight:500}.intro{max-width:650px;color:#e6e0d7;font-size:19px;margin-bottom:30px}.crumb{padding:30px 0;font-size:13px;color:#655e55}.lead{max-width:760px;color:#655e55}.area-jump{gap:10px;margin:30px 0}.area-jump a{padding:7px 13px;border:1px solid #d2c9bb;text-decoration:none;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}article{padding:30px;background:#fffcf7;border:1px solid #ded6ca;scroll-margin-top:25px}article p{color:#655e55}article a,.three a{font-size:13px;font-weight:700;color:var(--accent)}.neighborhoods{font-size:13px}.services,.faq{padding-top:85px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.three>div{border-top:1px solid #cfc5b6;padding-top:12px}.three p{color:#655e55}details{border-bottom:1px solid #d2c9bb;padding:20px 0}summary{cursor:pointer;font-weight:600}details p{max-width:800px;color:#655e55}.cta{margin:80px 0;padding:45px;background:#e9e1d4}.phone{display:inline-block;margin:15px 20px}footer{padding:40px 5vw;border-top:1px solid #d2c9bb;font-size:13px}@media(max-width:900px){header{align-items:flex-start;flex-direction:column}header nav{gap:16px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{padding:55px 0}.grid,.three{grid-template-columns:1fr}article{padding:25px}.cta{padding:25px}.phone{margin-left:0}.services,.faq{padding-top:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand{display:inline-flex;align-items:center;gap:12px}.brand .luxury-badge{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#C4A484,#633526);border-radius:10px;color:#faf6f0;font-size:18px}.brand .luxury-name{font-size:20px;letter-spacing:-.02em;margin:0;text-transform:none}.brand small{display:block;font-size:10px;letter-spacing:.12em;color:#633526;text-transform:uppercase}.brand .custom-brand-logo{max-width:240px;height:54px;object-fit:contain}

/* The supplied portrait photo becomes an architectural panel beside the copy. */
.hero {
    position: relative;
    display: flex;
    align-items: center;
    isolation: isolate;
    min-height: 650px;
    overflow: hidden;
    background: #1f241f;
}
.hero-photo {
    position: absolute;
    z-index: -2;
    inset: 0 0 0 auto;
    width: 53%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}
.hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, #1f241f 0%, #1f241f 37%, rgba(31,36,31,.88) 51%, rgba(31,36,31,.18) 73%, rgba(31,36,31,0) 100%);
    pointer-events: none;
}
.hero .wrap { width: 100%; }
.hero h1 { max-width: 680px; text-wrap: balance; }
.hero .intro { max-width: 580px; color: #f2ede5; }
@media (max-width: 700px) {
    .hero { min-height: 690px; }
    .hero-photo { width: 100%; object-position: 47% 57%; }
    .hero::after { background: linear-gradient(90deg, rgba(21,28,23,.87), rgba(21,28,23,.55)), linear-gradient(0deg, rgba(21,28,23,.48), transparent 60%); }
    .hero h1 { max-width: 600px; }
    .hero .intro { font-size: 17px; }
}
