/* Luxe Legacy Realty Group — shared styles for community pages. Brand: Gold #D6A649, Charcoal #4D4D4D, Warm Gray #868282 on white */
:root{--gold:#D6A649;--gold-d:#A77D22;--char:#4D4D4D;--grey:#868282;--line:#e4e1e1;--wash:#f6f5f5;--serif:"Cinzel",Georgia,serif;--sans:"Montserrat",system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--char);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.lockup{display:flex;align-items:center;gap:14px;text-decoration:none}
.mark{display:block;height:44px}.mark svg{height:100%;width:auto;display:block}.mark .fr{fill:var(--char)}
.lk{display:inline-flex;flex-direction:column;align-items:center}
.lk b{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:.3em;padding-left:.3em;line-height:1}
.rule{display:flex;align-items:center;gap:5px;width:100%;margin:5px 0 4px}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--gold)}
.rule i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.lk small{font-size:8.5px;letter-spacing:.42em;padding-left:.42em;color:var(--grey);line-height:1}
.top nav{display:flex;align-items:center;gap:26px}
.top nav a{font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.top nav a:hover{color:var(--gold-d)}
.top nav .cta{border:1px solid var(--char);padding:10px 14px}
@media (max-width:760px){.top{padding:12px 16px}.top nav a:not(.cta){display:none}.mark{height:36px}.lk b{font-size:14px}}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px 40px}
@media (max-width:760px){.wrap{padding:0 16px 30px}}
.crumbs{font-size:11.5px;letter-spacing:.06em;color:var(--grey);padding:22px 0 0}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold-d)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d)}
h1,h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.12em;line-height:1.15;margin:0}
h1{font-size:clamp(30px,4.4vw,48px);margin:10px 0 12px}
h2{font-size:clamp(18px,2vw,22px);margin-bottom:18px}
.lead{font-size:16px;max-width:620px;margin:0 0 24px}
.price{font-family:var(--serif);font-size:24px;letter-spacing:.06em;margin:0 0 14px}
.muted{color:var(--grey)}

.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s}
.btn.gold{background:var(--gold);color:var(--char)}.btn.gold:hover{background:var(--char);color:#fff}
.btn.line{border:1px solid var(--char)}.btn.line:hover{background:var(--char);color:#fff}
.btn.dark{background:var(--char);color:#fff}.btn.dark:hover{background:var(--gold);color:var(--char)}

.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:26px 0 46px;border-bottom:1px solid var(--line)}
.loc{margin:0}.loc img{border:1px solid var(--line);box-shadow:0 24px 50px -30px rgba(0,0,0,.4)}
.loc figcaption{font-size:12px;color:var(--grey);margin-top:10px}
.loc figcaption a{color:var(--gold-d)}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:28px}}

.facts{padding:46px 0;border-bottom:1px solid var(--line)}
.facts table{width:100%;max-width:820px;border-collapse:collapse}
.facts th{text-align:left;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);padding:12px 24px 12px 0;width:200px;vertical-align:top;border-bottom:1px solid var(--line)}
.facts td{padding:12px 0;border-bottom:1px solid var(--line)}
.asof{font-size:12.5px;color:var(--grey);margin-top:16px;max-width:820px}
@media (max-width:600px){.facts th{width:120px;padding-right:12px}}

.more{padding:46px 0 10px}
.minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:22px}
.mini{display:block;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--gold);text-decoration:none;transition:background .2s}
.mini:hover{background:var(--wash)}
.mini b{display:block;font-family:var(--serif);font-weight:400;letter-spacing:.08em;font-size:16px}
.mini span{font-size:12.5px;color:var(--grey)}
.arrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold-d)}

.intro{padding:26px 0 30px}
.vjump{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.vjump a{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid var(--line);padding:8px 12px}
.vjump a:hover{border-color:var(--gold)}
.village{padding:40px 0 10px;border-top:1px solid var(--line);scroll-margin-top:90px}
.vh{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:20px}
.vh h2{margin:0}.vh span{color:var(--grey);font-size:13px}
.vh a{margin-left:auto;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold-d)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.card{display:block;border:1px solid var(--line);text-decoration:none;transition:box-shadow .25s,transform .25s;background:#fff}
.card:hover{box-shadow:0 18px 40px -24px rgba(0,0,0,.35);transform:translateY(-2px)}
.card img{aspect-ratio:900/480;object-fit:cover;border-bottom:3px solid var(--gold)}
.card div{padding:14px 16px 16px;display:grid;gap:2px}
.card b{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:.08em}
.card span{font-size:12.5px;color:var(--grey)}
.card em{font-style:normal;font-weight:600;margin-top:4px}
.card small{font-size:12px;color:var(--grey)}

.tourband{background:var(--char);color:#fff;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;padding:60px max(28px,calc((100% - 1124px)/2));margin-top:40px;border-top:3px solid var(--gold)}
.tourband .eyebrow{color:var(--gold)}
.tourband h2{color:#fff;margin:10px 0 12px}
.tourband p{color:rgba(255,255,255,.85);margin:0;max-width:600px}
.tourband .btns{justify-content:flex-end}
.tourband .btn.line{border-color:#fff;color:#fff}.tourband .btn.line:hover{background:#fff;color:var(--char)}
.tourband .btn.gold:hover{background:#fff;color:var(--char)}
@media (max-width:760px){.tourband{grid-template-columns:1fr;padding:46px 16px}.tourband .btns{justify-content:flex-start}}

.foot{background:var(--char);color:rgba(255,255,255,.8);padding:34px max(28px,calc((100% - 1124px)/2)) 40px;border-top:1px solid rgba(255,255,255,.14);font-size:12.5px}
.foot .mark .fr{fill:#fff}.foot .lk b{color:#fff}.foot .lk small{color:rgba(255,255,255,.75)}
.foot p{margin:16px 0 0}.foot .fine{font-size:11px;color:rgba(255,255,255,.6);max-width:820px}
.foot a{color:#fff}
@media (max-width:760px){.foot{padding:30px 16px}}
.booknote{margin:34px 0 0;padding:16px 20px;background:var(--wash);border-left:3px solid var(--gold);font-size:14px;max-width:820px}
.booknote a{color:var(--gold-d)}
