:root{--navy:#0b0b0b;--navy2:#1c1c1c;--gold:#dbba53;--gold2:#e7cd7a;--golddk:#7a5f14;--ink:#1a1a1a;--bg:#f8f6f1;--w:1120px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2}
a{color:var(--navy2)}img{max-width:100%}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:var(--w);margin:auto;padding:0 20px}
header{background:var(--navy);position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;max-width:var(--w);margin:auto}
.brand{color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.15rem}.brand span{color:var(--gold)}
.menu-btn{background:none;border:1px solid var(--gold);color:#fff;padding:6px 12px;border-radius:4px;font-size:1rem}
nav ul{list-style:none;margin:0;padding:0;display:none;flex-direction:column;width:100%}
nav ul.open{display:flex}nav a{color:#fff;text-decoration:none;padding:10px 0;display:block}nav a[aria-current]{color:var(--gold2)}
@media(min-width:900px){.menu-btn{display:none}nav ul{display:flex;flex-direction:row;gap:22px;width:auto}}
.nav{flex-wrap:wrap}
.hero{background:linear-gradient(120deg,rgba(5,5,5,.88) 0%,rgba(11,11,11,.6) 60%,rgba(11,11,11,.35) 100%),url("hero.jpg") center/cover;color:#fff;padding:80px 0 90px}
.hero h1{color:#fff;font-size:clamp(2rem,6vw,3.4rem);margin:0 0 12px}.hero p{font-size:1.15rem;max-width:640px}
.page-hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:50px 0}.page-hero h1{color:#fff;margin:0}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:12px 22px;border-radius:4px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}
.btn:hover,.btn:focus{background:var(--gold2)}.btn.outline{background:transparent;color:#fff;border:2px solid var(--gold)}
.search{background:#fff;border-radius:6px;padding:14px;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;max-width:720px}
.search input,.search select{flex:1 1 180px;padding:12px;border:1px solid #ccc;border-radius:4px;font-size:1rem}
section{padding:56px 0}.alt{background:#fff}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(11,11,11,.08);overflow:hidden;border-top:4px solid var(--gold)}
.card .body{padding:18px}.card h3{margin-top:0}
.listing .img{height:170px;background:linear-gradient(135deg,var(--navy2),var(--gold));position:relative}
.badge{position:absolute;top:10px;left:10px;background:#b00020;color:#fff;font-weight:700;padding:3px 10px;border-radius:3px;font-size:.85rem;letter-spacing:.05em}
.idx{border:3px dashed var(--gold);padding:20px;border-radius:8px;background:#fffdf6}
.idx-label{font-weight:700;color:var(--golddk)}
.placeholder{border:2px dashed #999;padding:24px;text-align:center;background:#f2f2f2;border-radius:8px;color:#444}
.cta{background:var(--navy);color:#fff;text-align:center}.cta h2{color:#fff}
form{display:grid;gap:14px;max-width:640px}label{font-weight:600;display:block}
input,select,textarea{width:100%;padding:11px;border:1px solid #bbb;border-radius:4px;font:inherit}
input:focus,select:focus,textarea:focus,a:focus,button:focus{outline:3px solid var(--gold);outline-offset:2px}
ul.check{padding-left:1.2em}iframe.map{width:100%;height:360px;border:0;border-radius:8px}
footer{background:#050505;color:#d8dbe3;padding:40px 0 20px;font-size:.95rem}footer a{color:var(--gold2)}footer h2{color:#fff;font-size:1.1rem}
.eho{display:flex;gap:10px;align-items:center;margin-top:18px;border-top:1px solid #2a2a2a;padding-top:16px}
.eho svg{flex:none}
/* v2 polish */
body{font-size:17px}h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 22px}
h2::after{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-top:12px}
.cta h2::after{margin:12px auto 0}
header{box-shadow:0 2px 14px rgba(0,0,0,.25)}.nav{padding:14px 20px}.brand{font-size:1.3rem;letter-spacing:.02em}
nav a{font-size:.95rem;letter-spacing:.03em}nav a:hover{color:var(--gold2)}
.hero{padding:110px 0 120px;min-height:560px}.eyebrow{color:var(--gold2);font-weight:700;letter-spacing:.14em;font-size:.85rem}
.search{box-shadow:0 10px 30px rgba(0,0,0,.25);padding:10px}
.card{border-top:0;border-radius:10px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(11,11,11,.14)}
.services .card .body{padding:26px}.services .card{border-top:3px solid var(--gold)}
.listing .img{height:210px;background:#e9e4d8;overflow:hidden}.listing .img img{width:100%;height:100%;object-fit:cover;display:block}
.nophoto{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 70%,#2e2e2e 100%)}
.nophoto span{color:var(--gold2);font-family:Georgia,serif;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;border:1px solid rgba(230,201,122,.5);padding:8px 16px}
.badge{background:rgba(11,11,11,.85);color:var(--gold2);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;padding:5px 10px}
.price{font-family:Georgia,serif;font-size:1.45rem;color:var(--navy);margin:0 0 4px;font-weight:700}
.listing h3{margin:0;font-size:1.1rem;font-family:system-ui,sans-serif}.loc{margin:0 0 8px;color:#555}.meta{margin:0;font-size:.92rem;color:#333;border-top:1px solid #eee;padding-top:10px}
.preview-note{font-size:.82rem;color:#666;margin:18px 0 26px;font-style:italic}
.placeholder{border:1px dashed #b9b2a0;background:#faf8f2;color:#555;padding:40px 20px}
.page-hero{padding:70px 0 60px;background:linear-gradient(120deg,rgba(5,5,5,.92),rgba(28,28,28,.8)),url("hero.jpg") center 40%/cover}
.page-hero p{color:#e3e6ee;font-size:1.1rem;margin:8px 0 0}
.about-img{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 12px rgba(11,11,11,.08)}
form{background:#fff;padding:26px;border-radius:10px;box-shadow:0 2px 12px rgba(11,11,11,.08)}form.search{background:#fff}
footer .grid{gap:30px}
@media(min-width:1000px){.services{grid-template-columns:repeat(4,1fr)}}address{font-style:normal}
@media(max-width:600px){.hero{padding:60px 0 70px;min-height:0}.search .btn{flex:1 1 100%}.eyebrow{font-size:.75rem}}

/* logo palette header */
header{background:#fff;border-bottom:3px solid var(--gold);box-shadow:0 2px 14px rgba(0,0,0,.08)}
.brand{color:var(--navy);display:flex;align-items:center;gap:12px;font-size:1.35rem}.brand img{height:46px;width:auto}
nav a{color:var(--navy);font-weight:500}nav a:hover,nav a[aria-current]{color:var(--golddk)}nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--gold)}
.menu-btn{color:var(--navy);border-color:var(--navy)}
a{color:var(--golddk)}.card a,.services a{color:var(--golddk);font-weight:600}
.btn{color:#0b0b0b}
.foot-logo{background:#fff;padding:10px 14px;border-radius:8px;display:inline-block}.foot-logo img{height:70px;width:auto;display:block}
.about-img{max-width:360px;justify-self:center}
.wm{font-weight:400}.brand .wm span{color:var(--golddk)}.brand>span{display:none}@media(max-width:600px){.brand{font-size:1.05rem;gap:8px}.brand img{height:36px}.menu-btn{padding:5px 10px}}
.tagline{font-family:Georgia,serif;font-style:italic;color:var(--gold2);font-size:1.25rem;margin:0 0 14px}
.tagline-dk{font-family:Georgia,serif;font-style:italic;color:var(--golddk);font-size:1.2rem}
.sop{max-width:820px}.sop p{margin:0 0 18px}
/* For Sale / For Rent tabs and badges */
.tabs{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.tabs button{background:#fff;border:1px solid #7a5f14;color:#7a5f14;padding:8px 18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;cursor:pointer;border-radius:2px}
.tabs button[aria-selected="true"]{background:#0b0b0b;color:#dbba53;border-color:#0b0b0b}
.listing .img .kind-rent{background:#dbba53;color:#0b0b0b}.listing .img .kind-commercial{background:#7a5f14;color:#fff}
.listing .img .badge.status{left:auto;right:10px;background:#f8f6f1;color:#7a5f14}
.price small{font-size:.6em;font-weight:500;color:#555;margin-left:2px}.src{margin:8px 0 0;font-size:.85rem}.src a{color:#7a5f14}
.empty{background:#f8f6f1;border-left:3px solid #dbba53;padding:12px 16px}.biz-h{margin-top:34px}.listing[hidden]{display:none}
.grid.biz{grid-template-columns:repeat(auto-fill,minmax(280px,360px))}
.oh{margin:10px 0 4px;background:#0b0b0b;color:#dbba53;font-weight:600;font-size:.85rem;padding:6px 10px;border-radius:2px;display:inline-block}.ct{margin:4px 0 0;font-size:.88rem}.ct a{color:#7a5f14;font-weight:600}
.hiring{background:#0b0b0b;color:#f8f6f1;padding:48px 0;border-bottom:3px solid #dbba53}.hiring h2{color:#dbba53;margin-top:4px}.hiring .eyebrow{color:#dbba53;letter-spacing:.15em;font-size:.8rem;margin:0}.hiring .two{font-weight:600;color:#fff}.hiring .btn{margin:0 4px}
.lsec[data-kind="commercial"] .grid{grid-template-columns:repeat(auto-fill,minmax(280px,360px))}
/* listing detail pages */
.listing{position:relative}.listing .stretch::after{content:"";position:absolute;inset:0}.listing:hover{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.detail{padding:30px 0 50px}.back a{color:#7a5f14;font-weight:600}.dgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin:18px 0 30px;align-items:start}
.dphoto{position:relative;border-radius:4px;overflow:hidden;background:#e9e4d8}.dphoto img{width:100%;max-height:560px;object-fit:cover;display:block}.dphoto .nophoto{height:340px}
.dphoto .badge{position:absolute;top:12px;left:12px}.dphoto .badge.status{left:auto;right:12px}
.price.big{font-size:2.2rem;margin:0;color:#0b0b0b;font-family:Georgia,serif}.detail h1{margin:6px 0 2px;font-size:1.7rem}
.dcall{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.outline-dk{background:transparent!important;color:#7a5f14!important;border:2px solid #7a5f14}
.inq{background:#0b0b0b;color:#f8f6f1;padding:24px;border-top:4px solid #dbba53;border-radius:4px}.inq h2{color:#dbba53;margin-top:0;font-size:1.35rem}.inq label{color:#f8f6f1}
@media(max-width:800px){.dgrid{grid-template-columns:1fr;gap:20px}.price.big{font-size:1.8rem}}
.crumbs{font-size:.88rem;color:#555}.crumbs a{color:#7a5f14}.dmail{margin-top:10px}.dmail a{color:#7a5f14;font-weight:600}
.rsvp{margin-top:26px;background:#f8f6f1;border:1px solid #dbba53;border-radius:4px;padding:20px}.rsvp h2{margin-top:0}
.stickybar{display:none}
@media(max-width:800px){.stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#0b0b0b;border-top:2px solid #dbba53}.stickybar a{flex:1;text-align:center;padding:14px 6px;color:#dbba53;font-weight:700;text-decoration:none}.stickybar a+a{background:#dbba53;color:#0b0b0b}body:has(.stickybar){padding-bottom:56px}}
.alerts{background:#0b0b0b;color:#f8f6f1;padding:22px;border-top:4px solid #dbba53;border-radius:4px;max-width:720px}.alerts h3{color:#dbba53;margin-top:0}.alerts label{color:#f8f6f1}
.empty .alerts{margin-top:14px}.alt-box{margin:30px 0}.ohgrid{grid-template-columns:repeat(auto-fill,minmax(280px,380px))}
.inq form label,.alerts form label,.rsvp form label{color:#0b0b0b}.crumbs a,.crumbs span{display:inline}
/* language switcher (always visible, incl. mobile) */
.langsw{display:flex;gap:2px;margin-left:auto;margin-right:12px;border:1px solid #7a5f14;border-radius:3px;overflow:hidden}
.langsw a{padding:6px 9px;font-size:.82rem;font-weight:600;color:#7a5f14;text-decoration:none;line-height:1.2;min-width:36px;text-align:center}
.langsw a[aria-current]{background:#0b0b0b;color:#dbba53}
@media(min-width:900px){.langsw{order:3;margin:0 0 0 18px}}
@media(max-width:600px){.langsw a{padding:8px 7px;font-size:.78rem;min-width:34px}.langsw{margin-right:8px}}
/* CJK typography */
html:lang(zh-Hans) body,html:lang(zh-Hans) input,html:lang(zh-Hans) select,html:lang(zh-Hans) textarea,html:lang(zh-Hans) button{font-family:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif}
html:lang(zh-Hant) body,html:lang(zh-Hant) input,html:lang(zh-Hant) select,html:lang(zh-Hant) textarea,html:lang(zh-Hant) button{font-family:system-ui,-apple-system,"PingFang TC","PingFang HK","Noto Sans CJK TC","Noto Sans TC","Source Han Sans TC","Microsoft JhengHei",sans-serif}
html:lang(zh-Hans) :is(h1,h2,h3,.price,.tagline){font-family:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif}
html:lang(zh-Hant) :is(h1,h2,h3,.price,.tagline){font-family:"Songti TC","Noto Serif CJK TC","Source Han Serif TC",Georgia,serif}
html:lang(zh-Hans) body,html:lang(zh-Hant) body{line-break:strict;word-break:normal;overflow-wrap:anywhere;letter-spacing:.01em}
html:lang(zh-Hans) .badge,html:lang(zh-Hant) .badge,html:lang(zh-Hans) .tabs button,html:lang(zh-Hant) .tabs button,html:lang(zh-Hans) .eyebrow,html:lang(zh-Hant) .eyebrow{letter-spacing:.04em}
.govern{background:#f8f6f1;border-left:3px solid #dbba53;padding:10px 14px;font-weight:600}
img{max-width:100%;height:auto}.listing .img img,.dphoto img{height:100%}
.about-img{box-sizing:border-box;width:100%}
.listing .img .kind-sold{background:#7a1f1f;color:#fff}.sold-note{margin:8px 0 0;font-size:.85rem;color:#7a5f14;font-weight:600}.lsec[data-kind="sold"] .listing{opacity:.95}
.ct{margin:6px 0 0;font-size:.85rem;color:#555}.askdanny a{font-weight:700;color:#7a5f14}
.credit{display:inline-block;margin-left:.6em;opacity:.55;font-size:.85em}
.credit a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.credit a:hover{color:#dbba53}
.social{display:flex;gap:12px;margin:.4em 0 1em}
.social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#0b0b0b;color:#dbba53;border:1px solid #7a5f14;text-decoration:none;transition:background .2s,color .2s}
.social a:hover,.social a:focus-visible{background:#dbba53;color:#0b0b0b}
.social-lg a{width:52px;height:52px}.social-lg svg{width:26px;height:26px}
/* Danny contact block (big) + compact letterhead (small) */
.danny{margin:14px 0 8px}
.danny .dlabel{margin:0 0 4px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#7a5f14;font-weight:700}
.danny .dbig{display:block;font-weight:800;text-decoration:none;line-height:1.25;padding:6px 0;min-height:44px;box-sizing:border-box;overflow-wrap:anywhere}
.danny .dcall{font-size:1.55rem;color:#7a5f14}
.danny .dmailbig{font-size:1.3rem;color:#0b0b0b;border-bottom:2px solid #dbba53;display:inline-block;padding-bottom:2px}
.danny .dbig:hover{color:#dbba53}
.danny.sm .dcall{font-size:1.15rem}.danny.sm .dmailbig{font-size:1rem}.danny.sm .dlabel{font-size:.7rem}
.danny.lg .dcall{font-size:2.1rem;color:#dbba53}.danny.lg .dmailbig{font-size:1.6rem;color:#f8f6f1}.danny.lg .dlabel{color:#dbba53}
.danny.ft .dcall{font-size:1.25rem;color:#dbba53}.danny.ft .dmailbig{font-size:1.05rem;color:#f8f6f1}.danny.ft .dlabel{display:none}
.lhead{display:flex;gap:8px;align-items:flex-start;margin:8px 0 12px;font-size:.74rem;line-height:1.45;color:#6b6b6b}
.lhead img{width:34px;height:auto;flex:none;margin-top:2px}
.lhead b{display:block;font-size:.8rem;color:#0b0b0b;font-family:Georgia,serif}
.lhead span{display:block}.lhead a{color:inherit}
.lhead.sm{font-size:.68rem}.lhead.sm img{width:26px}
.lhead.dk{color:#b9b3a6}.lhead.dk b{color:#f8f6f1}
.ftag{font-size:.78rem;color:#b9b3a6}.ftag em{color:#dbba53}
.cband{background:#0b0b0b;color:#f8f6f1;padding:48px 0;text-align:left}
.cband .preapp a{color:#dbba53}
.preapp{margin:10px 0}.preapp a{font-weight:700;color:#7a5f14}
.needs{background:#fff;border-left:4px solid #dbba53;padding:14px 20px;border-radius:6px;max-width:640px}
@media(max-width:600px){.danny .dcall{font-size:1.3rem}.danny.lg .dcall{font-size:1.6rem}.danny.lg .dmailbig{font-size:1.2rem}}
.preapp-cta{margin-top:16px;font-size:1.1rem}.preapp-cta a{font-weight:800;color:#7a5f14}
/* partners / advertising */
.advban{background:#0b0b0b;color:#f8f6f1;border:1px solid #7a5f14;border-left:5px solid #dbba53;border-radius:8px;padding:22px 26px;margin:10px 0 28px}
.advban .advh{margin:0 0 10px;font-family:Georgia,serif;font-size:1.5rem;color:#dbba53;font-weight:700}
.advlinks{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0}
.advlinks a{color:#f8f6f1;font-weight:800;font-size:1.15rem;text-decoration:none;border-bottom:2px solid #dbba53;min-height:40px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.advlinks a.advcall{color:#dbba53}
.advban.lg .advh{font-size:2rem}.advban.lg .advlinks a{font-size:1.35rem}
.advban.sm{padding:14px 18px}.advban.sm .advh{font-size:1.1rem}.advban.sm .advlinks a{font-size:1rem}
.advband{padding:18px 0;background:#f8f6f1}.advban.slim{margin:0;padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.advban.slim .advh{margin:0;font-size:1.15rem}.advban.slim .advlinks a{font-size:1rem}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:10px 0 24px}
.slot{background:linear-gradient(160deg,#141414,#0b0b0b);border:1px dashed #7a5f14;border-radius:10px;padding:26px 20px;text-align:center;color:#f8f6f1;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:170px;justify-content:center}
.slotcat{margin:0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#dbba53;font-weight:700}
.slotph{margin:0;font-family:Georgia,serif;font-size:1.3rem;color:#f8f6f1;opacity:.85}
.slotcta{font-size:.82rem;font-weight:700;color:#0b0b0b;background:#dbba53;padding:7px 14px;border-radius:4px;text-decoration:none}
.slotcta:hover{background:#f8f6f1}
.fine{font-size:.78rem;color:#6b6b6b}
@media(max-width:600px){.advban .advh,.advban.lg .advh{font-size:1.3rem}.advban.lg .advlinks a{font-size:1.1rem}}
