/* CLASSIC — navy, burgundy, cream; Playfair Display + Source Sans 3 + Great Vibes; warm + traditional */
:root{--navy:#1f2f4d;--navy2:#2a3d60;--burg:#7a1f2b;--burg2:#93303d;--cream:#f7f1e5;--cream2:#ede3cf;--gold:#b08a4a;--ink:#2b2b2b;--muted:#6a645b;--white:#fffdf9;--serif:'Playfair Display',Georgia,serif;--sans:'Source Sans 3',system-ui,sans-serif;--script:'Great Vibes',cursive}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--navy)}
h2{font-size:clamp(2rem,4vw,2.9rem)}
.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burg);margin-bottom:.5rem}
.script{font-family:var(--script);font-size:2.6rem;color:var(--burg);line-height:1;margin-bottom:.4rem}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-head h2{margin-bottom:.3rem}
.sec-head.row{text-align:left}
.orn{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);font-size:1.3rem}
.orn::before,.orn::after{content:"";width:70px;height:1px;background:var(--gold)}
.sec-cream,.sec-alt{background:var(--cream)}
.sec-navy{background:var(--navy);color:#e8e4dc}
.sec-navy h2{color:#fff}
.sec-navy .eyebrow{color:#e3c58e}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.8rem;background:var(--burg);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.04em;border:2px solid var(--burg);border-radius:4px;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--burg2);border-color:var(--burg2)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.center .btn{margin-top:2.5rem}
.link-arrow{color:var(--burg);font-weight:700;text-decoration:none}
/* header */
.topbar{background:var(--navy);color:#dfe3ea;font-size:.88rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:1rem}
.topbar-in>span{display:flex;gap:1.75rem;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.topbar a:hover{color:#e3c58e}
.social-sm a{width:28px!important;height:28px!important}
.social-sm svg{width:14px!important;height:14px!important}
.site-header{background:var(--white);border-bottom:3px double var(--cream2);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 4px 18px -10px rgba(0,0,0,.25)}
.hdr-in{flex-direction:column;gap:.9rem;padding:1.2rem 0 0}
.logo{flex-direction:column;text-align:center;gap:.4rem}
.logo-mark{width:58px;height:58px;border-radius:50%;border:2px solid var(--burg);display:grid;place-items:center;padding:3px}
.logo-mark span{width:100%;height:100%;border-radius:50%;background:var(--burg);color:var(--cream);display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.04em}
.logo-name{font-family:var(--serif);font-size:1.75rem;font-weight:600;color:var(--navy);letter-spacing:.02em}
.logo-sub{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--burg);font-weight:700;margin-top:.25rem}
.site-nav{width:100%;justify-content:center;border-top:1px solid var(--cream2);padding:.75rem 0}
.site-nav ul{gap:2.6rem}
.site-nav ul a{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:var(--navy);padding:.3rem 0;border-bottom:2px solid transparent}
.site-nav ul a:hover,.site-nav a[aria-current]{color:var(--burg);border-color:var(--burg)}
.hdr-cta{background:var(--burg);color:#fff;padding:.55rem 1rem;border-radius:4px;font-weight:700;font-size:.85rem}
.hdr-cta:hover{background:var(--burg2)}
@media (min-width:901px){.site-header.scrolled .logo-mark{display:none}}
@media (max-width:900px){.topbar .social{display:none}.topbar-in>span{gap:1rem;font-size:.8rem}.topbar-in>span a:last-child{display:none}
 .hdr-in{flex-direction:row;padding:.75rem 0}.logo{flex-direction:row;text-align:left;gap:.7rem}.logo-mark{width:46px;height:46px}.logo-name{font-size:1.3rem}.logo-sub{font-size:.58rem;letter-spacing:.14em}
 .site-nav{background:var(--cream);border:0;padding:0}.site-nav ul a{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:1.9rem}.nav-toggle{color:var(--navy)}}
/* hero */
.hero{position:relative;min-height:640px;display:flex;align-items:center;padding:4rem 0}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,47,77,.55),rgba(31,47,77,.1));z-index:1}
.hero-in{position:relative;z-index:2}
.hero-box{background:rgba(255,253,249,.96);max-width:600px;padding:clamp(1.75rem,4vw,3rem);border-top:5px solid var(--burg);box-shadow:0 25px 50px -20px rgba(0,0,0,.45)}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.12}
.hero .lead{color:var(--muted);font-size:1.1rem}
.cl-search{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.5rem}
.cl-search label{display:flex;flex-direction:column;gap:.25rem}
.cl-search span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.cl-search button{grid-column:1/-1;background:var(--navy);color:#fff;border:0;padding:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;cursor:pointer}
.cl-search button:hover{background:var(--burg)}
@media (max-width:640px){.hero{min-height:0;padding:14rem 0 0;align-items:flex-end}.hero::before{background:linear-gradient(transparent 30%,rgba(31,47,77,.6))}.hero-in{width:100%}.hero-box{max-width:none;margin:0 -1.25rem}.cl-search{grid-template-columns:1fr 1fr}.cl-search label:first-child{grid-column:1/-1}}
/* values */
.values{background:var(--cream);border-bottom:1px solid var(--cream2)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;padding:3.5rem 0}
.value{text-align:center;padding:0 1rem}
.v-ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--burg);border:1px solid var(--cream2);margin-bottom:1rem}
.v-ic svg{width:28px;height:28px}
.value h3{font-size:1.35rem;margin-bottom:.35rem}
.value p{color:var(--muted);margin:0}
@media (max-width:800px){.values-grid{grid-template-columns:1fr;gap:2rem}}
/* cards */
.card{background:#fff;border:1px solid var(--cream2);border-radius:6px;box-shadow:0 10px 25px -18px rgba(31,47,77,.5);transition:box-shadow .3s,transform .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 35px -20px rgba(31,47,77,.6)}
.card-tag{background:var(--navy);color:#fff;font-weight:700;border-radius:3px}
.tag-new{background:var(--burg)}
.tag-pending{background:var(--gold)}
.card-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.card-body{padding:0 1.4rem 1.3rem;position:relative}
.card-price{position:relative;z-index:2;margin:-1.4rem 0 .8rem -1.4rem;display:inline-block;background:var(--burg);color:#fff;font-family:var(--serif);font-weight:600;font-size:1.3rem;padding:.4rem 1.2rem .4rem 1.4rem;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%)}
.card-title{font-size:1.3rem;margin:0}
.card-loc{color:var(--muted);margin-bottom:.9rem;font-size:.95rem}
.card-meta{border-top:1px solid var(--cream2);padding-top:.8rem;font-size:.92rem;color:var(--muted)}
.card-meta b{color:var(--navy)}
/* about */
.cl-about{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.cl-photo{position:relative;padding:12px;background:#fff;border:1px solid var(--cream2);box-shadow:0 20px 40px -25px rgba(0,0,0,.5);max-width:460px;justify-self:center;width:100%}
.cl-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.cl-badge{position:absolute;right:-1.2rem;bottom:2rem;width:118px;height:118px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-content:center;text-align:center;line-height:1.15;font-size:.82rem;border:4px solid var(--cream)}
.cl-badge b{font-family:var(--serif);font-size:2.1rem;display:block}
.cl-about>div>p:not(.eyebrow):not(.signature){color:var(--muted)}
.signature{font-family:var(--script);font-size:2.6rem;color:var(--navy);margin:.5rem 0 1rem}
.stats-inline{grid-template-columns:repeat(4,1fr);gap:1rem;border-top:1px solid var(--cream2);border-bottom:1px solid var(--cream2);padding:1.25rem 0;margin-bottom:2rem}
.stats dt{font-family:var(--serif);font-weight:600;font-size:1.9rem;color:var(--burg);line-height:1.05}
.stats dd{font-size:.82rem;color:var(--muted);margin-top:.25rem;line-height:1.3}
@media (max-width:900px){.cl-about{grid-template-columns:1fr}.stats-inline{grid-template-columns:repeat(2,1fr)}.cl-badge{right:.5rem}}
/* communities */
.area-card{position:relative;display:block;text-decoration:none;border-radius:6px;overflow:hidden;background:#fff;border:1px solid var(--cream2)}
.area-card img{width:100%;aspect-ratio:4/3.2;object-fit:cover}
.area-name{position:absolute;top:1rem;left:1rem;background:rgba(255,253,249,.95);padding:.35rem .9rem;font-family:var(--serif);font-weight:600;color:var(--navy);font-size:1.2rem;border-left:3px solid var(--burg)}
.area-body{display:block;padding:1rem 1.2rem 1.2rem;color:var(--muted);font-size:.95rem}
.area-body em{display:block;font-style:normal;color:var(--burg);font-weight:700;margin-top:.5rem}
/* testimonials */
.t-card{background:var(--navy2);padding:2rem;border-radius:6px;border-top:3px solid #e3c58e}
.t-card .stars{color:#e3c58e;margin-bottom:.8rem;letter-spacing:.12em}
.t-card blockquote{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.5;color:#fff}
.t-card b{color:#fff}
.t-card small{color:#b9c1cf}
.t-av{border:2px solid #e3c58e}
/* valuation cta */
.cl-cta{background:linear-gradient(rgba(247,241,229,.94),rgba(247,241,229,.94)),url(../img/cta.jpg) center/cover}
.cl-cta-in{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.cl-cta-in>div>p:not(.script){color:var(--muted)}
.cl-cta-form{background:#fff;padding:2rem;border-top:5px solid var(--navy);box-shadow:0 20px 40px -25px rgba(0,0,0,.4)}
.val-form .btn{grid-column:1/-1;justify-self:stretch}
@media (max-width:900px){.cl-cta-in{grid-template-columns:1fr}}
/* forms */
.fld span,.val-form span,.contact-form span,.showing-form span{font-weight:700;color:var(--navy);letter-spacing:.08em}
select,input,textarea{border:1px solid #cfc4ae;border-radius:4px;background-color:#fff;color:var(--ink)}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--burg);box-shadow:0 0 0 3px rgba(122,31,43,.12)}
.form-thanks{background:var(--cream);border-left:5px solid var(--burg)}
.thanks-title{font-family:var(--serif);color:var(--navy)}
/* page hero */
.page-hero{padding:5rem 0 4.5rem;text-align:center;color:#fff}
.page-hero::before{content:"";position:absolute;inset:0;background:rgba(31,47,77,.72);z-index:1}
.page-hero .ph-in{z-index:2}
.page-hero .crumbs{color:#dfe3ea}
.page-hero .crumbs a:hover{color:#e3c58e}
.page-hero .eyebrow{color:#e3c58e}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,5.5vw,3.8rem)}
.ph-sub{color:#e8e4dc;max-width:620px;margin:0 auto;font-size:1.1rem}
/* listings */
.listings-sec{padding-top:3rem}
.idx-slot{background:var(--cream);border:1px solid var(--cream2);border-left:5px solid var(--navy);border-radius:4px}
.idx-icon{color:var(--burg)}
.idx-title{font-family:var(--serif);font-size:1.35rem;color:var(--navy)}
.filters{background:#fff;border:1px solid var(--cream2);border-top:4px solid var(--burg);padding:1.5rem;margin-bottom:2rem;box-shadow:0 10px 25px -20px rgba(31,47,77,.5)}
.btn-reset{color:var(--burg);font-weight:700}
.results-count{color:var(--muted)}
.results-count b{color:var(--burg);font-family:var(--serif);font-size:1.3rem}
/* property */
.crumbs{color:var(--muted)}
.crumbs a{color:var(--burg)}
.prop-head{background:var(--cream);padding:2.5rem 0}
.prop-title h1{font-size:clamp(2rem,4.5vw,3.2rem)}
.prop-loc{color:var(--muted)}
.prop-price>b{font-family:var(--serif);color:var(--burg);font-size:2.4rem}
.prop-gallery-sec{padding-top:2.5rem}
.g-main{border:8px solid #fff;box-shadow:0 15px 35px -20px rgba(0,0,0,.5)}
.g-thumb{border-radius:3px}
.g-thumb.active{border-color:var(--burg)}
.prop-main h2{font-size:2rem}
.prop-main h3{margin-top:2.25rem;font-size:1.45rem;border-bottom:1px solid var(--cream2);padding-bottom:.5rem}
.prop-lead{font-family:var(--serif);font-style:italic;color:var(--navy)}
.prop-main>p{color:var(--muted)}
.facts{gap:.5rem}
.facts div{background:var(--cream);border-radius:4px}
.facts dt{color:var(--burg);font-weight:700}
.facts dd{color:var(--navy);font-size:1.1rem}
.features li::marker{color:var(--burg)}
.map-ph{background:var(--cream);border:1px dashed #cfc4ae;color:var(--navy)}
.map-ph svg{color:var(--burg)}
.side-card{background:#fff;border:1px solid var(--cream2);border-top:5px solid var(--navy);box-shadow:0 15px 35px -25px rgba(0,0,0,.5)}
.side-agent img{border:3px solid var(--cream)}
.side-agent b{font-family:var(--serif);font-size:1.25rem;color:var(--navy)}
.side-agent small{color:var(--muted)}
.side-title{font-family:var(--serif);font-size:1.35rem;color:var(--navy)}
.showing-form .btn{width:100%}
.side-call a{color:var(--burg);font-weight:700}
.prop-nav a{color:var(--burg);font-weight:700;text-decoration:none}
/* about page */
.about-photo{padding:12px;background:#fff;border:1px solid var(--cream2);box-shadow:0 20px 40px -25px rgba(0,0,0,.5)}
.about-story>p:not(.eyebrow):not(.signature){color:var(--muted)}
.about-contact a{color:var(--burg);font-weight:700}
.stats-sec .stats{text-align:center}
.stats-sec .stats div{background:#fff;padding:1.75rem 1rem;border-top:3px solid var(--burg);border-radius:4px}
.stats-sec .stats dt{font-size:2.6rem}
.creds li{background:var(--cream);border-left:3px solid var(--gold);border-radius:3px;font-weight:600;color:var(--navy)}
.creds-wrap>div>p:not(.eyebrow){color:var(--muted)}
.about-quote blockquote{margin:0 0 1rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3vw,2rem);color:var(--navy);line-height:1.4}
.about-quote .cite{color:var(--muted);margin-bottom:2rem}
/* contact */
.contact-form-wrap{background:#fff;border:1px solid var(--cream2);border-top:5px solid var(--burg);padding:clamp(1.5rem,4vw,2.5rem)}
.form-note{color:var(--muted)}
.contact-info{background:var(--cream);padding:2.25rem;border-radius:4px;text-align:center}
.contact-info ul{text-align:left}
.ci-photo{margin:0 auto 1rem;border:4px solid #fff}
.ci-title{color:var(--muted)}
.contact-info a{color:var(--navy);font-weight:600}
.contact-info svg{color:var(--burg)}
.ci-hours{color:var(--muted);text-align:left}
.contact-info .social{justify-content:center}
.contact-info .social a{background:var(--navy);color:#fff}
/* footer */
.site-footer{background:var(--navy);color:#cfd5df;padding:4.5rem 0 2rem;border-top:5px solid var(--burg)}
.site-footer .logo{flex-direction:row;text-align:left}
.site-footer .logo-name{color:#fff}
.site-footer .logo-sub{color:#e3c58e}
.site-footer .logo-mark{border-color:#e3c58e}
.ft-grid{margin-bottom:3rem}
.ft-tag{margin:1.25rem 0;max-width:320px;font-family:var(--serif);font-style:italic}
.site-footer h4{font-family:var(--serif);color:#fff;font-size:1.2rem;margin-bottom:1rem}
.ft-links a:hover,.ft-contact a:hover{color:#e3c58e}
.ft-contact svg{color:#e3c58e}
.social a{background:rgba(255,255,255,.08);color:#fff}
.social a:hover{background:var(--burg)}
.ft-legal{border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;color:#9aa5b8}
@media (max-width:640px){
 .hero{display:block;padding:0;min-height:0}
 .hero::before{display:none}
 .hero-bg{position:static;height:250px;object-position:50% 70%}
 .hero .wrap{width:100%}
 .hero-box{margin:0;box-shadow:none;border-top-width:5px;padding:1.75rem 1.25rem 2rem}
}
.page-hero .crumbs a{color:#e3c58e}
