
:root{--black:#0a0a09;--black2:#10100f;--cream:#efe9df;--ink:#11110f;--cream-muted:#6b645b;--dark-muted:#aaa298;--dark-line:#34312d;--cream-line:#c9c0b4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.5}body.form-open{overflow:hidden}a{color:inherit}button,input{font:inherit}button{border-radius:0}.wrap{width:min(1200px,calc(100% - 42px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{position:sticky;top:0;z-index:30;background:rgba(10,10,9,.96);border-bottom:1px solid var(--dark-line);backdrop-filter:blur(8px)}.nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:Georgia,serif;font-size:17px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:22px;font-size:12px;color:#d0c9bf}.nav-links a{text-decoration:none}.nav-cta{border:1px solid #cbc3b8;padding:9px 13px;background:transparent;color:var(--cream);cursor:pointer;font-size:11px;letter-spacing:.06em}
.hero{background:#090909;border-bottom:1px solid var(--dark-line);overflow:hidden}.hero-reference,.hero-reference img{width:100%;height:100%}
.cta-band{background:var(--cream);color:var(--ink);border-bottom:1px solid var(--cream-line)}.cta-inner{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:28px;padding:42px 0}.cta-title{font-family:Georgia,serif;font-size:clamp(40px,4.2vw,64px);line-height:1.02;letter-spacing:-.025em;margin:0;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;background:var(--ink);color:var(--cream);border:1px solid var(--ink);cursor:pointer;font-weight:700;font-size:11px;letter-spacing:.1em}
.facts{display:grid;grid-template-columns:repeat(6,1fr);background:var(--black);border-bottom:1px solid var(--dark-line)}.fact{min-height:132px;padding:20px 16px;border-right:1px solid var(--dark-line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fact:last-child{border-right:0}.fact strong{display:block;font-family:Georgia,serif;font-size:clamp(22px,2vw,30px);font-weight:400;line-height:1.08;margin-bottom:8px}.fact span{color:var(--dark-muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;line-height:1.35}
section.content{padding:78px 0;border-bottom:1px solid}section.light{background:var(--cream);color:var(--ink);border-color:var(--cream-line)}section.dark{background:var(--black);color:var(--cream);border-color:var(--dark-line)}.section-grid{display:grid;grid-template-columns:185px 1fr;gap:58px}.section-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding-top:8px}.light .section-label{color:var(--cream-muted)}.dark .section-label{color:var(--dark-muted)}.section-copy h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);line-height:1.02;font-weight:400;letter-spacing:-.025em;margin:0 0 24px;max-width:900px}.section-copy>p{font-size:18px;max-width:820px;margin:0 0 18px}.light .section-copy>p{color:#4f4942}.dark .section-copy>p{color:#d0c9bf}
.point-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;margin-top:30px;max-width:880px}.point-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;margin:0 0 14px}.light .point-group h3{color:var(--cream-muted)}.dark .point-group h3{color:var(--dark-muted)}.point-list{list-style:none;margin:0;padding:0}.point-list li{position:relative;padding:10px 0 10px 18px;border-top:1px solid;font-size:16px}.point-list li:before{content:'•';position:absolute;left:0;top:10px}.light .point-list li{border-color:var(--cream-line);color:#332f2a}.dark .point-list li{border-color:var(--dark-line);color:#d4cec4}
.people-list{columns:3;column-gap:52px;max-width:900px;margin-top:28px;padding:0;list-style:none}.people-list li{break-inside:avoid;padding:9px 0;border-top:1px solid;font-size:16px}.light .people-list li{border-color:var(--cream-line)}
.location-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px;max-width:880px;margin-top:30px}.location-points div{padding:14px 0;border-top:1px solid var(--cream-line)}.location-points strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--cream-muted);margin-bottom:4px}.location-points span{font-size:16px;color:#332f2a}
.closing{background:var(--black);color:var(--cream);padding:86px 0;text-align:center;border-bottom:1px solid var(--dark-line)}.closing .cta-title{white-space:nowrap;margin:0 auto 28px}.closing .button{background:var(--cream);color:var(--ink);border-color:var(--cream)}footer{background:var(--cream);color:var(--cream-muted);padding:28px 0 38px;font-size:11px}.footer-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
/* form */
.form-overlay{position:fixed;inset:0;z-index:100;background:#0a0a0a;display:none;color:var(--cream);overflow:auto}.form-overlay.open{display:block}.form-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #2d2d2d;background:#0a0a0a}.form-progress{width:min(360px,60vw);height:2px;background:#2d2d2d;overflow:hidden}.form-progress span{display:block;height:100%;width:0;background:var(--cream);transition:width .22s ease}.close{border:0;background:transparent;color:var(--cream);cursor:pointer;font-size:28px}.form-shell{width:min(860px,calc(100% - 36px));min-height:calc(100vh - 62px);margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:52px 0}.form-step{display:none}.form-step.active{display:block}.form-step h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,7vw,76px);line-height:.98;letter-spacing:-.03em;margin:0 0 30px;max-width:800px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice{min-height:66px;border:1px solid #5b564f;background:transparent;color:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:0 18px;cursor:pointer;font-size:16px}.choice:hover,.choice.selected{background:var(--cream);color:#111}.field{width:100%;background:transparent;border:0;border-bottom:1px solid #5f5a53;color:var(--cream);font-size:22px;padding:14px 0;margin-bottom:20px;outline:none}.form-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.form-actions button{min-height:49px;padding:0 18px;border:1px solid var(--cream);background:var(--cream);color:#111;cursor:pointer;font-weight:700}.form-actions .back{background:transparent;color:var(--cream);border-color:#5f5a53;font-weight:400;margin-right:auto}.form-small,.multi-note{color:#8d857c;font-size:12px}.multi-note{margin:-18px 0 18px}.range-wrap{max-width:760px;padding:14px 0 4px}.range-row{display:grid;grid-template-columns:120px 1fr 120px;gap:20px;align-items:center}.range-row span{color:#c9c1b7;font-size:14px}.range-row span:last-child{text-align:right}.range{width:100%;height:28px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#34312d}.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--cream);border:2px solid #0a0a0a;margin-top:-8px;box-shadow:0 0 0 1px #6b645b}.range::-moz-range-track{height:6px;border-radius:999px;background:#34312d}.range::-moz-range-progress{height:6px;border-radius:999px;background:var(--cream)}.range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cream);border:2px solid #0a0a0a}.range-value{text-align:center;color:#c9c1b7;font-size:13px;margin-top:12px}.contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 20px}
.budget-range{max-width:760px;margin:8px 0 6px}.budget-values{display:flex;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:28px;margin-bottom:22px}.dual-range{position:relative;height:34px;--lo:0%;--hi:100%}.dual-range:before{content:'';position:absolute;left:0;right:0;top:16px;height:5px;border-radius:999px;background:#34312d}.dual-range:after{content:'';position:absolute;left:var(--lo);width:calc(var(--hi) - var(--lo));top:16px;height:5px;border-radius:999px;background:var(--cream);pointer-events:none}.dual-range input{position:absolute;left:0;top:5px;width:100%;height:28px;margin:0;pointer-events:none;appearance:none;-webkit-appearance:none;background:transparent;z-index:2}.dual-range input::-webkit-slider-runnable-track{height:5px;background:transparent}.dual-range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--cream);border:2px solid #0a0a0a;margin-top:-7px;box-shadow:0 0 0 1px #6b645b;cursor:pointer}.dual-range input::-moz-range-track{height:5px;background:transparent}.dual-range input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--cream);border:2px solid #0a0a0a;box-shadow:0 0 0 1px #6b645b;cursor:pointer}.budget-scale{display:flex;justify-content:space-between;color:#918a81;font-size:11px;margin-top:8px}.notes{min-height:90px;resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;color:#aaa298;font-size:12px;line-height:1.45;margin-top:18px}.consent input{margin-top:3px}.privacy-link{border:0;background:none;color:inherit;text-decoration:underline;padding:0;cursor:pointer}.submit-status{min-height:20px;color:#aaa298;font-size:12px;margin-top:12px}.privacy-modal{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:24px}.privacy-modal.open{display:flex}.privacy-card{width:min(720px,100%);max-height:86vh;overflow:auto;background:var(--cream);color:var(--ink);padding:38px;position:relative}.privacy-card h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:0 0 20px}.privacy-card p{color:#4f4942}.privacy-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.footer-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:1050px){.facts{grid-template-columns:repeat(3,1fr)}.fact:nth-child(3){border-right:0}.fact:nth-child(-n+3){border-bottom:1px solid var(--dark-line)}.people-list{columns:2}}
@media(max-width:900px){.nav-links{display:none}.section-grid{grid-template-columns:1fr;gap:18px}.section-label{padding-top:0}.point-columns,.location-points{grid-template-columns:1fr;gap:28px}.cta-title,.closing .cta-title{white-space:normal}.cta-title .line{display:block}}
@media(max-width:600px){.wrap{width:min(100% - 24px,1200px)}.cta-inner{min-height:220px;padding:38px 0}.facts{grid-template-columns:repeat(2,1fr)}.fact{border-bottom:1px solid var(--dark-line)!important;border-right:1px solid var(--dark-line)!important}.fact:nth-child(even){border-right:0!important}.fact:nth-last-child(-n+2){border-bottom:0!important}section.content{padding:58px 0}.people-list{columns:1}.choice-grid,.contact-methods{grid-template-columns:1fr}.range-row{grid-template-columns:1fr 1fr}.range-row input{grid-column:1/-1;grid-row:1}.range-row span:first-child{grid-column:1;grid-row:2}.range-row span:last-child{grid-column:2;grid-row:2;text-align:right}}

/* Locked CTA line break at all viewport widths */
.cta-title .line, .closing .cta-title .line{display:block !important;}
/* Interactive button states */
.button{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.cta-band .button:hover{background:var(--cream);color:var(--ink);border-color:var(--ink)}
.closing .button:hover{background:var(--black);color:var(--cream);border-color:var(--cream)}
.nav-cta{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.nav-cta:hover{background:var(--cream);color:var(--ink)}
.form-actions button{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.form-actions button:hover{background:transparent;color:var(--cream)}
.form-actions .back:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

.architecture-note{margin-top:30px!important}
@media(max-width:600px){.brand{font-size:14px;letter-spacing:.11em}.nav{gap:12px}.cta-title{font-size:38px}.form-step h2{font-size:42px}.form-shell{padding:36px 0}.budget-values{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
section[id]{scroll-margin-top:84px}.related-guides{display:inline-block;margin-top:8px}

.people-columns .people-list{columns:1;margin-top:0}.property-place{display:block;font-size:12px;color:var(--dark-muted);margin-top:3px}@media(max-width:700px){.cta-title{white-space:normal}.brand{font-size:14px;letter-spacing:.1em}.people-columns{grid-template-columns:1fr}}

/* Match the OLP/Vista hero dimensions; crop the image rather than stretching it. */
.hero-reference{width:100%;height:100%}


.hero{position:relative}.hero-caption{position:absolute;right:20px;bottom:10px;margin:0;padding:4px 8px;background:rgba(9,9,9,.8);color:var(--dark-muted);font-size:10px;letter-spacing:.04em}

.choice[hidden]{display:none!important}

/* Shared responsive hero dimensions for the three-site assemblage. */
.hero-stage{height:clamp(440px,40vw,650px)}
.hero-reference,.hero-reference img{width:100%;height:100%}
.hero-reference img{display:block;object-fit:cover;object-position:center center}
@media(max-width:900px){.hero-stage{height:clamp(360px,45vw,500px)}}
@media(max-width:600px){.hero-stage{height:330px}.hero-reference img{object-fit:contain;object-position:center center}}

@media(min-width:601px){.hero-reference img{object-position:center top}}

@media(max-width:1200px){.nav-links{display:none}}
