:root{--brown:#4e3228;--deep:#3a241c;--cream:#f5f3ee;--sand:#eadfd3;--rose:#d39b92;--tan:#b98e72;--ink:#2b1e19;--muted:#6f5d54}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden}
img{max-width:100%;height:auto}a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,7vw,4.6rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.4rem}
.wrap{width:min(1120px,100% - 2.5rem);margin:auto}.narrow{max-width:720px}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(245,243,238,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--sand)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand img{height:34px;width:auto}
.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font:700 .8rem Syncopate,sans-serif;letter-spacing:.08em;color:var(--brown)}.brand i{font-style:normal;font-size:.62rem;letter-spacing:.32em;color:var(--tan)}
nav{display:flex;gap:1.5rem}nav a{text-decoration:none;font-size:.95rem;color:var(--muted);padding:.4rem 0;border-bottom:2px solid transparent;transition:.25s}
nav a:hover,nav a[aria-current]{color:var(--brown);border-color:var(--rose)}
.menu-btn{display:none;background:none;border:0;width:48px;height:48px;padding:12px;cursor:pointer}.menu-btn span{display:block;height:2px;background:var(--brown);margin:7px 0;transition:.3s}
.hero{color:var(--cream);padding:clamp(5rem,16vw,10rem) 0;background:linear-gradient(105deg,rgba(58,36,28,.9),rgba(58,36,28,.55)),url(assets/hero.jpg) center/cover,radial-gradient(circle at 80% 20%,#7a4c3d,var(--deep) 60%)}
.hero h1{max-width:12em}.hero p{max-width:34em;font-size:1.15rem;color:#eadfd3}
.btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.btn{display:inline-block;background:var(--rose);color:var(--deep);padding:.9rem 1.6rem;min-height:48px;border-radius:2px;border:2px solid var(--rose);text-decoration:none;font:500 .95rem Inter;cursor:pointer;transition:.25s}
.btn:hover{background:var(--cream);border-color:var(--cream)}.btn.ghost{background:none;color:var(--cream);border-color:var(--tan)}.btn.ghost:hover{background:var(--cream);color:var(--deep)}
.btn.dark{background:var(--brown);color:var(--cream);border-color:var(--brown);margin-top:1rem}.btn.dark:hover{background:var(--deep)}
.trust{background:var(--brown);color:var(--sand)}.trust .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:1.1rem 0;font-size:.9rem}
.sec{padding:clamp(3.5rem,9vw,6.5rem) 0}.alt{background:var(--sand)}.lead{font:500 1.5rem/1.35 "Cormorant Garamond",serif;color:var(--brown)}
.phead{background:var(--sand);padding:clamp(3.5rem,9vw,6rem) 0;border-bottom:3px solid var(--rose)}.phead h1{font-size:clamp(2.2rem,6vw,3.8rem);max-width:16em}.phead p{max-width:36em;color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.card{background:#fff;padding:2rem;border-top:3px solid var(--tan)}.alt .card{background:var(--cream)}
.slot{aspect-ratio:4/5;background:linear-gradient(160deg,var(--tan),var(--brown));display:grid;place-items:end start;padding:1.5rem;color:var(--sand);font-size:.85rem;background-size:cover;background-position:center}
.steps{list-style:none;padding:0;margin:2rem 0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}
.steps li{counter-increment:s;padding-top:1rem;border-top:2px solid var(--rose)}.steps li::before{content:counter(s);font:600 2.4rem "Cormorant Garamond",serif;color:var(--tan)}
.chips{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.chips li{background:var(--cream);padding:1.1rem 1.3rem;border-left:3px solid var(--rose);font-weight:500}
.list{padding:0;list-style:none;margin:1.2rem 0}.list li{padding:.6rem 0 .6rem 1.6rem;border-bottom:1px solid var(--sand);position:relative}.list li::before{content:"";position:absolute;left:0;top:1.15rem;width:.6rem;height:.6rem;background:var(--rose);border-radius:50%}
.note{font-size:.9rem;color:var(--muted)}.ph{color:var(--tan);font-weight:500}
.soon{text-align:center;padding:4rem 1.5rem;border:1px dashed var(--tan);max-width:640px;margin:auto}.soon:not(:only-child){display:none}
.listings:empty{display:none}.prop img{width:100%;aspect-ratio:4/3;object-fit:cover}.prop .body{padding:1.3rem}.prop dl{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0;font-size:.9rem;color:var(--muted)}.prop .rate{font:600 1.4rem "Cormorant Garamond",serif;color:var(--brown)}
.panel{background:#fff;padding:clamp(1.5rem,4vw,2.5rem);border-top:3px solid var(--rose)}
.f{margin-bottom:1.1rem}label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}
input,select,textarea{width:100%;font:inherit;padding:.8rem;min-height:48px;border:1px solid #cdbfb3;background:var(--cream);border-radius:2px}
input:focus,select:focus,textarea:focus{border-color:var(--brown);outline:none;box-shadow:0 0 0 3px rgba(211,155,146,.4)}
.f.bad input,.f.bad select,.f.bad textarea{border-color:#a23b32}.err{color:#a23b32;font-size:.85rem;display:block;min-height:1em}.status{margin:1rem 0 0;font-weight:500;color:var(--brown)}
.contact dt{font-size:.85rem;color:var(--muted);margin-top:1rem}.contact dd{margin:0;font-size:1.05rem}
.site-footer{background:var(--deep);color:var(--sand);padding:4rem 0 1.5rem}.foot{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:2.5rem}
.site-footer a{display:block;text-decoration:none;padding:.25rem 0;color:var(--sand)}.site-footer a:hover{color:var(--rose)}.site-footer h3{font-size:1.1rem;color:var(--rose)}
.fbrand{font:700 1rem/1.4 Syncopate,sans-serif;letter-spacing:.08em;color:var(--cream)}.fbrand small{font-size:.65rem;letter-spacing:.32em;color:var(--tan)}
.site-footer .ph{color:var(--rose);font-size:.85rem}.copy{margin-top:3rem;padding-top:1.2rem;border-top:1px solid #5b4238;font-size:.85rem}
.hero .wrap>*{animation:up .9s both}.hero p{animation-delay:.15s}.hero .btns{animation-delay:.3s}@keyframes up{from{opacity:0;transform:translateY(18px)}}
.reveal{opacity:0;transform:translateY(14px);transition:.7s}.reveal.in{opacity:1;transform:none}
@media(max-width:820px){.split,.foot{grid-template-columns:1fr}.menu-btn{display:block}
nav{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--sand);padding:.5rem 1.25rem 1rem;display:none}nav.open{display:flex}nav a{padding:.9rem 0;min-height:48px}
.menu-btn[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* ===== Layered branded backgrounds ===== */
.wm{position:relative;overflow:hidden;isolation:isolate}
.wm::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(760px,75vw);aspect-ratio:550/430;background:url(assets/mark.png) no-repeat center/contain;opacity:.06;right:-14%;top:50%;transform:translateY(-50%)}
.wm.left::after{right:auto;left:-16%}
.warm.wm::after{opacity:.075}
.dark.wm::after,.hero::after,.site-footer.wm::after{filter:brightness(0) invert(1);opacity:.06}
.phead.wm::after{width:min(520px,60vw);right:-6%;opacity:.07}
.soft{background:linear-gradient(180deg,var(--cream),#efe7dc 100%)}
.warm{background:linear-gradient(150deg,#e6d6c6,#dcc7b4 70%,#d6bfab)}
.phead{background:linear-gradient(120deg,var(--sand),#f0e6da 60%,var(--cream))}
.dark{color:var(--sand);background:linear-gradient(160deg,var(--brown),var(--deep))}
.dark h2{color:var(--cream)}.dark a{color:var(--rose)}.dark .contact dt{color:var(--tan)}.dark .ph{color:var(--rose)}
.dark .panel{color:var(--ink)}
.card,.panel{box-shadow:0 22px 44px -28px rgba(58,36,28,.45)}
.warm .chips li{background:rgba(245,243,238,.75)}.warm .steps li{border-color:var(--brown)}
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:min(92vh,760px);display:flex;align-items:center}
.hero .wrap{width:min(1120px,100% - 2.5rem)}
.hero::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;right:0;width:52%;background:url(assets/facade.svg) right 4% center/auto 118% no-repeat;opacity:.55;-webkit-mask-image:linear-gradient(to left,#000 35%,transparent);mask-image:linear-gradient(to left,#000 35%,transparent)}
.hero::after{content:"";position:absolute;z-index:-1;width:min(820px,80vw);aspect-ratio:550/430;background:url(assets/mark.png) no-repeat center/contain;right:-12%;bottom:-16%;opacity:.07;pointer-events:none}
.hero h1{position:relative}.hero h1::before{content:"";display:block;width:64px;height:3px;background:var(--rose);margin-bottom:1.6rem}
.slot{background:url(assets/facade.svg) center 20%/62% no-repeat,linear-gradient(160deg,var(--tan),var(--brown) 75%);box-shadow:0 30px 60px -34px rgba(58,36,28,.6);border-radius:2px}
.trust .wrap span{position:relative}
@media(max-width:820px){
.wm::after{width:92vw;right:-38%;top:auto;bottom:-6%;transform:none;opacity:.045}.wm.left::after{left:-38%;right:auto}
.dark.wm::after,.hero::after,.site-footer.wm::after{opacity:.05}
.hero{min-height:auto}.hero::before{width:100%;opacity:.2;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.hero::after{right:-30%;bottom:-8%}.slot{aspect-ratio:4/3}}
