#ccp-burger{
display:none;
width:42px; height:42px; border-radius:12px; flex:none;
flex-direction:column; align-items:center; justify-content:center; gap:5px;
background:rgba(240,235,225,0.08); border:1px solid rgba(240,235,225,0.28);
cursor:pointer; padding:0;
}
#ccp-burger.floating{ position:fixed; top:12px; right:14px; z-index:900;
background:rgba(10,26,18,0.88); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
#ccp-burger span{
display:block; width:20px; height:2px; border-radius:2px; background:#F0EBE1;
transition:transform .22s ease, opacity .18s ease;
}
body.ccp-menu-open #ccp-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.ccp-menu-open #ccp-burger span:nth-child(2){ opacity:0; }
body.ccp-menu-open #ccp-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
#ccp-mmenu{
position:fixed; inset:0; z-index:890; background:#10261A; color:#F0EBE1;
display:flex; flex-direction:column; padding:18px 26px 30px;
opacity:0; pointer-events:none; transform:translateY(-8px);
transition:opacity .22s ease, transform .22s ease;
}
body.ccp-menu-open #ccp-mmenu{ opacity:1; pointer-events:auto; transform:none; }
body.ccp-menu-open{ overflow:hidden; }
.ccp-mmenu-head{ display:flex; align-items:center; justify-content:space-between; min-height:46px; }
.ccp-mmenu-brand{ font-family:'Newsreader',Georgia,serif; font-size:24px; }
.ccp-mmenu-brand span{ color:#E4633C; }
.ccp-mmenu-close{
width:42px; height:42px; border-radius:12px; border:1px solid rgba(240,235,225,0.28);
background:rgba(240,235,225,0.08); color:#F0EBE1; font-size:26px; line-height:1; cursor:pointer;
}
#ccp-mmenu nav{ display:flex; flex-direction:column; margin-top:9vh; }
#ccp-mmenu nav a{
font-family:'Newsreader',Georgia,serif; font-size:34px; line-height:1.2;
color:#F0EBE1; text-decoration:none; padding:12px 0;
border-bottom:1px solid rgba(240,235,225,0.12);
display:flex; justify-content:space-between; align-items:baseline;
}
#ccp-mmenu nav a::after{ content:'→'; font-size:20px; color:rgba(240,235,225,0.35); }
#ccp-mmenu nav a.on{ color:#E4633C; }
#ccp-mmenu nav a.on::after{ color:#E4633C; }
.ccp-mmenu-foot{ margin-top:auto; display:flex; flex-direction:column; gap:16px; }
.ccp-mmenu-cur{ display:inline-flex; border:1px solid rgba(240,235,225,0.28); border-radius:999px; padding:4px; align-self:flex-start; }
.ccp-mmenu-cur [data-cur]{
border:none; background:transparent; color:rgba(240,235,225,0.72);
font:inherit; font-size:14px; padding:9px 18px; border-radius:999px; cursor:pointer;
}
.ccp-mmenu-cur [data-cur].on{ background:#F0EBE1; color:#10261A; }
.ccp-mmenu-links{ display:flex; gap:10px; flex-wrap:wrap; }
.ccp-mmenu-links a{
display:inline-block; border:1px solid rgba(240,235,225,0.45); border-radius:999px;
padding:12px 28px; color:#F0EBE1; text-decoration:none; font-size:15px;
}
.ccp-mmenu-saved span{ color:#E4633C; }
@media (max-width: 1024px){
.wrap, .pagewrap, .mast-in{
padding-left:32px !important;
padding-right:32px !important;
}
.pg-hero{ height:auto !important; overflow:visible !important; }
.pg-hero > *:first-child{ aspect-ratio:16/10; height:auto !important; }
h1{ font-size:38px !important; line-height:1.12 !important; }
}
@media (max-width: 900px){
.mast-in{
padding-top:14px !important;
padding-bottom:12px !important;
gap:10px 18px !important;
}
.mnav{ display:none !important; }
.mast-brand{ width:75px !important; height:44px !important; }
img[src$="logo-light.png"]{ height:44px !important; }
.mast-right{ gap:10px !important; }
.mast-saved, .mast-signin, .mast-right > .cur{ display:none !important; }
#ccp-burger{ display:flex; }
.pg-hero{
grid-template-columns:1fr !important;
gap:8px !important;
}
.pg-hero > *:first-child{ aspect-ratio:4/3; border-radius:16px; }
.pg-hero > *:nth-child(2){
grid-template-columns:1fr 1fr !important;
grid-template-rows:none !important;
height:auto !important;
gap:8px !important;
}
.pg-hero > *:nth-child(2) > *{ aspect-ratio:16/10; height:auto !important; }
.pg-body{
grid-template-columns:1fr !important;
gap:44px !important;
padding-top:36px !important;
padding-bottom:56px !important;
}
.pg-body > *:last-child{ position:static !important; }
.pg-stats{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.pg-stats > *{ padding:16px 18px !important; }
.rent-row, .sale-row{
grid-template-columns:1fr !important;
gap:14px !important;
padding:14px !important;
}
.rent-row > div:first-child, .sale-row > div:first-child{
width:100% !important;
height:auto !important;
aspect-ratio:16/9;
}
.ex-split{ flex-direction:column !important; }
.results{
width:100% !important;
flex:none !important;
overflow:visible !important;
padding:18px 20px 40px !important;
}
.ex-map{
width:100% !important;
flex:none !important;
height:320px;
border-left:none !important;
border-top:1px solid rgba(16,38,26,0.14);
}
.rowcard{
grid-template-columns:minmax(0,1fr) !important;
min-height:0 !important;
}
h1{ font-size:30px !important; }
h2{ font-size:23px !important; }
.pg-body .serif[style*="font-size:38px"],
.pg-body .serif[style*="font-size:42px"],
.pg-body .serif[style*="font-size:34px"]{ font-size:29px !important; }
}
@media (max-width: 640px){
.wrap, .pagewrap, .mast-in{
padding-left:20px !important;
padding-right:20px !important;
}
[style*="padding:0 44px"], [style*="padding:52px 44px"]{
padding-left:20px !important;
padding-right:20px !important;
}
.mkt-grid{
display:flex !important;
overflow-x:auto;
gap:12px !important;
scroll-snap-type:x mandatory;
padding-bottom:10px;
-webkit-overflow-scrolling:touch;
}
.mkt-grid > *{
flex:0 0 76vw;
max-width:300px;
scroll-snap-align:start;
}
.mkt-shot{ height:auto !important; aspect-ratio:16/10; }
#projGrid{ grid-template-columns:1fr !important; gap:20px !important; }
.pg-stats{ grid-template-columns:1fr 1fr !important; }
.pg-stats .serif{ font-size:23px !important; }
h1{ font-size:27px !important; letter-spacing:-0.01em !important; }
h2{ font-size:21px !important; }
.kicker{ font-size:18px !important; }
[style*="grid-template-columns:repeat(auto-fit,minmax(280px,1fr))"],
[style*="grid-template-columns:repeat(auto-fit,minmax(260px,1fr))"]{
grid-template-columns:1fr !important;
}
.sitefoot .pagewrap, .wrap[style*="justify-content:space-between"]{
flex-direction:column;
gap:8px !important;
}
.mast-row{
flex-direction:row !important;
align-items:center !important;
gap:12px !important;
}
.btn-pop, .mast-cta{ padding-top:13px !important; padding-bottom:13px !important; }
.ex-map{ height:260px; }
#map{ min-height:240px; }
}
@media (max-width: 900px){
.hp-hero-split{ grid-template-columns:1fr !important; }
.hp-hero-photo{ display:none !important; }
.hp-hero-copy{ padding:34px 20px 26px !important; gap:14px !important; }
.hp-hero-copy > div:nth-child(1){ font-size:10.5px !important; }
.hp-hero-copy > div:nth-child(2){ font-size:36px !important; line-height:1.04 !important; }
.hp-hero-copy > div:nth-child(3){ font-size:15.5px !important; }
.hp-hero-stats{
display:grid !important;
grid-template-columns:1fr 1fr 1fr;
gap:12px !important;
margin-top:18px !important;
padding-top:18px;
border-top:1px solid rgba(240,235,225,0.18);
}
.hp-hero-stats .hp-stat-v{ font-size:19px !important; }
.hp-hero-stats .hp-stat-u{ font-size:11px !important; }
.hp-hero-stats .hp-stat-l{ font-size:11.5px !important; line-height:1.35; }
.hp-hero-search{ margin-top:0 !important; padding:0 20px 30px !important; }
.hp-hero-search .hp-search-card{ border-radius:18px; padding:12px; box-shadow:none; }
.hp-search-row{ flex-direction:column !important; gap:0 !important; }
.hp-search-card .hp-panel{ flex-direction:column; align-items:stretch; }
.hp-rule{ display:none !important; }
.hp-field{
flex:none !important;
padding:11px 4px !important;
border-bottom:1px solid rgba(16,38,26,0.14);
}
.hp-go{
margin-top:12px;
padding:15px 0 !important;
justify-content:center;
border-radius:12px !important;
}
.hp-chips{
flex-wrap:nowrap !important;
overflow-x:auto;
scrollbar-width:none;
font-size:12px !important;
}
.hp-chips::-webkit-scrollbar{ display:none; }
.hp-chips a{ flex:none; white-space:nowrap; }
.hp-market{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.hp-mrow{ min-width:600px; }
.hp-grid3{ grid-template-columns:1fr !important; gap:22px !important; }
.hp-grid3 a.imgzoom, .hp-grid3 [style*="height:190px"]{
height:auto !important;
aspect-ratio:16/10;
}
.hp-journal{ grid-template-columns:1fr !important; gap:34px !important; }
.hp-foot{ flex-direction:column; gap:34px !important; }
.hp-foot-links{
display:grid !important;
grid-template-columns:1fr 1fr;
gap:26px 40px !important;
}
}
@media (max-width: 1024px){
html, body{ overflow-x:hidden; }
img{ max-width:100%; }
}