/* Local design exploration: soft corners and drawn button rules. */
:root{--preview-feature-radius:22px;--preview-control-radius:999px;}
body:not(.dash) :is(.button,.property-hero-cta>.price-inquiry,.property-hero-cta>.property-hero-gallery,.property-concept-sidebar>.price-inquiry,.concept-hero-link){border-radius:var(--preview-control-radius)!important;display:inline-flex;align-items:center;justify-content:center;gap:22px!important;min-height:54px;line-height:1.5;}
body:not(.dash) :is(.button,.property-hero-cta>.price-inquiry,.property-hero-cta>.property-hero-gallery,.property-concept-sidebar>.price-inquiry,.concept-hero-link)::after{content:"";display:block;width:48px;height:1px;flex:0 0 48px;background:currentColor;transform-origin:left center;transition:transform .25s ease;}
body:not(.dash) :is(.button,.property-hero-cta>.price-inquiry,.property-hero-cta>.property-hero-gallery,.property-concept-sidebar>.price-inquiry,.concept-hero-link):hover::after{transform:scaleX(1.12);}
body:not(.dash) :is(.button,.property-hero-cta>.property-hero-gallery,.concept-hero-link) .arrow-icon{display:none;}
body:not(.dash) .button>span:has(>.arrow-icon),body:not(.dash) .concept-hero-link>span{display:none;}
body:not(.dash) .concept-hero-link{padding:19px 28px;background:#fff;color:#000;border:1px solid #fff;letter-spacing:1.1px;}
body:not(.dash) .concept-hero-link:hover{background:#d3d3d3;opacity:1;}
body:not(.dash) .floating-text{border-radius:999px;}
body:not(.dash) :is(.home-communities-arrow,.concept-property-controls button,.feature-controls button,.property-hero-prev,.property-hero-next,.property-lightbox-stage button,.showing-dates-prev,.showing-dates-next){border-radius:50%!important;aspect-ratio:1;}
body:not(.dash) :is(.service-tile,.home-community-card,.community-card,.featured-card-image,.property-photo-grid button,.valuation-photo){border-radius:var(--preview-feature-radius);overflow:hidden;}
body:not(.dash) :is(.home-journal .post-img,.home-journal .no-image,.portrait img,.community-property-focus>figure>img,.article.imported-article>img){border-radius:var(--preview-feature-radius);}
body:not(.dash) :is(.guide-contact .contact-copy,.property-concept-sidebar,.property-facts,.valuation-panel,.article.imported-article>aside){border-radius:var(--preview-feature-radius);}
body:not(.dash) :is(.price-dialog,.review-dialog,.showing-panel){border-radius:20px;}
body:not(.dash) .inquiry-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select){border-radius:10px!important;}
body:not(.dash) :is(.community-filter-options button,.community-search-field input){border-radius:999px;}
body:not(.dash) .showing-date{border-radius:12px;}
@media(max-width:600px){
 :root{--preview-feature-radius:16px;}
 body:not(.dash) :is(.button,.property-hero-cta>.price-inquiry,.property-hero-cta>.property-hero-gallery,.property-concept-sidebar>.price-inquiry,.concept-hero-link){gap:14px!important;}
 body:not(.dash) :is(.button,.property-concept-sidebar>.price-inquiry,.concept-hero-link)::after{width:34px;flex-basis:34px;}
 body:not(.dash) .property-hero-cta>:is(.price-inquiry,.property-hero-gallery){gap:8px!important;min-height:48px;font-size:9px;letter-spacing:.4px;}
 body:not(.dash) .property-hero-cta>:is(.price-inquiry,.property-hero-gallery)::after{width:22px;flex-basis:22px;}
 body:not(.dash) .concept-hero-link{font-size:9px;padding:17px 24px;}
}
@media(prefers-reduced-motion:reduce){body:not(.dash) :is(.button,.concept-hero-link)::after{transition:none;}}
body:not(.dash) .about-copy>.textlink{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:18px 28px;min-height:54px;border:1px solid #000;border-radius:999px;background:#000;color:#fff;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;}
body:not(.dash) .about-copy>.textlink::after{content:"";display:block;width:48px;height:1px;flex:0 0 48px;background:currentColor;}
body:not(.dash) .about-copy>.textlink .arrow-icon{display:none;}
body:not(.dash) .feature-controls button{width:46px!important;height:46px!important;}
/* Revised palette, consistent links, and image-led journal carousel. */
:root{--ink:#000;--paper:#fff;--gray:#000;--brand-grey:#d3d3d3;}
body:not(.dash){color:#000;background:#fff;}
body:not(.dash) :is(#concept-listings,#journal,.blog-index,.home-communities,.community-directory){background:#fff!important;}
body:not(.dash) :is(.button,.floating-text){background:#000;color:#fff;border-color:#000;}
body:not(.dash) .button.light{background:#fff;color:#000;border-color:#fff;}
body:not(.dash) :is(.concept-intro .textlink,#concept-intro .textlink,.home-communities-footer .textlink,.journal-footer>a,.featured-card-explore,.community-more-heading .textlink,button.review-read){display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #000;border-radius:999px;padding:15px 24px;min-height:50px;background:#000;color:#fff;font-size:10px;line-height:1.5;letter-spacing:1px;text-transform:uppercase;}
body:not(.dash) :is(#concept-intro .textlink,.home-communities-footer .textlink,.journal-footer>a,button.review-read)::after{content:'';display:block;flex:0 0 40px;width:40px;height:1px;background:currentColor;}
body:not(.dash) :is(#concept-intro .textlink,.home-communities-footer .textlink) .arrow-icon{display:none;}
body:not(.dash) .community-hero .community-down{border-radius:50%;width:52px;height:52px;border:1px solid #fff;background:transparent;color:#fff;}
body:not(.dash) .community-filter-options{gap:10px;}
body:not(.dash) .community-filter-options button{border:1px solid #d3d3d3;padding:12px 22px;border-radius:999px;color:#000;background:#fff;line-height:1.5;}
body:not(.dash) .community-filter-options button[aria-pressed=true]{background:#000;border-color:#000;color:#fff;}
body:not(.dash) :is(.blog-index .post-img,.blog-index .no-image,.article-related .post-img){border-radius:22px;overflow:hidden;}
body:not(.dash) #journal{padding:85px 3% 70px;}
body:not(.dash) #journal .journal-heading{text-align:center;margin:0 auto 44px;max-width:900px;}
body:not(.dash) #journal .journal-heading h2{font-size:clamp(27px,3.6vw,48px);}
body:not(.dash) #journal #featured-posts{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch;}
#featured-posts::-webkit-scrollbar{display:none;}
body:not(.dash) #journal #featured-posts .post{position:relative;display:flex;flex:0 0 30%;min-width:0;min-height:480px;flex-direction:column;justify-content:flex-end;gap:0;padding:30px 26px;scroll-snap-align:start;overflow:hidden;border-radius:22px;background:#000;color:#fff;isolation:isolate;}
body:not(.dash) #journal #featured-posts .post-img,body:not(.dash) #journal #featured-posts .no-image{position:absolute;inset:0;height:100%;width:100%;border-radius:0;z-index:-2;aspect-ratio:auto;}
body:not(.dash) #journal #featured-posts .post-img img{height:100%;width:100%;object-fit:cover;}
body:not(.dash) #journal #featured-posts .post::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,0) 90%);}
body:not(.dash) #journal #featured-posts .post-meta{margin:0 0 14px;color:#fff;}
body:not(.dash) #journal #featured-posts .post h3{font-size:clamp(16px,1.5vw,22px);line-height:1.5;min-height:0;margin:0 0 20px;}
body:not(.dash) #journal #featured-posts .post>.textlink{display:inline-flex;align-self:flex-start;color:#fff;font-size:9px;}
body:not(.dash) #journal .journal-footer{margin:30px 0 0;}
body:not(.dash) #journal .journal-arrows button{border-radius:50%;color:#000;border-color:#000;background:#fff;}
#journal .journal-arrows button:disabled{opacity:.35;cursor:default;}
body:not(.dash) #reviews{background:#000!important;color:#fff;margin:30px 3% 0;padding:64px 5%;border-radius:22px;}
body:not(.dash) #reviews .review-excerpt{color:#fff;font-size:clamp(22px,2.2vw,32px);line-height:1.6;margin-bottom:24px;}
body:not(.dash) #reviews>h2{margin-bottom:36px;}
body:not(.dash) #reviews #review-slides{min-height:0;}
body:not(.dash) #reviews>.eyebrow:before{background:#d3d3d3;}
body:not(.dash) #reviews button.review-read{border-color:#d3d3d3;color:#fff;background:transparent;}
body:not(.dash) #reviews .feature-controls{margin-top:22px;}
body:not(.dash) #reviews .feature-controls button{color:#fff;border-color:#d3d3d3;background:#000;}
@media(max-width:1000px){body:not(.dash) #journal #featured-posts .post{flex-basis:42%;}}
@media(max-width:600px){body:not(.dash) #journal{padding:60px 5%;}body:not(.dash) #journal #featured-posts .post{flex-basis:84%;min-height:420px;padding:26px 22px;border-radius:16px;}body:not(.dash) #journal #featured-posts .post h3{font-size:18px;}body:not(.dash) #reviews{margin:20px 5% 0;padding:40px 7%;border-radius:16px;}body:not(.dash) #reviews .review-excerpt{font-size:22px;}body:not(.dash) .community-filter-options button{padding:12px 18px;}body:not(.dash) #journal .journal-footer{flex-wrap:wrap;}}
/* Contact portrait remains a separate photograph, never a text backdrop. */
body:has(#contact.contact-form-section) #contact{grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:5%;padding:64px 6%;background:#fff;align-items:start;min-height:100dvh;}
body:has(#contact.contact-form-section) #contact .contact-copy{background:#000;color:#fff;border-radius:22px;padding:30px;min-height:0;align-self:start;overflow:hidden;}
body:has(#contact.contact-form-section) #contact .contact-copy::before{content:'';display:block;width:100%;height:260px;background:url('/assets/portrait.jpg') center 24%/cover;border-radius:16px;margin-bottom:32px;}
body:has(#contact.contact-form-section) #contact .contact-copy>.eyebrow{margin:0 0 22px;}
body:has(#contact.contact-form-section) #contact .contact-copy h2{font-size:clamp(25px,2.6vw,38px);line-height:1.4;margin-bottom:22px;}
body:has(#contact.contact-form-section) #contact .contact-copy>p:not(.eyebrow){font-size:14px;color:#fff;}
body:has(#contact.contact-form-section) #contact .contact-details{grid-template-columns:1fr;gap:20px;border-color:#d3d3d3;}
body:has(#contact.contact-form-section) #contact .contact-details span{color:#d3d3d3;}
body:has(#contact.contact-form-section) #contact .inquiry-form{padding:28px 0;align-self:start;border:0;background:#fff;}
body:has(#contact.contact-form-section) .contact-screen-close{color:#000;background:#fff;border:1px solid #d3d3d3;top:12px;right:12px;}
@media(max-width:700px){body:has(#contact.contact-form-section) #contact{grid-template-columns:1fr;gap:30px;padding:72px 6% 40px;}body:has(#contact.contact-form-section) #contact .contact-copy{grid-column:1;grid-row:1;padding:25px;border-radius:16px;}body:has(#contact.contact-form-section) #contact .contact-copy::before{height:260px;}body:has(#contact.contact-form-section) #contact .inquiry-form{grid-column:1;grid-row:2;padding:0;}}
/* Contact split-screen revision inspired by the supplied Kumara reference. */
body:has(#contact.contact-form-section) #contact{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);padding:0;gap:0;align-items:stretch;}
body:has(#contact.contact-form-section) #contact .contact-photo-panel{grid-column:2;grid-row:1;align-self:stretch;min-height:max(100svh,920px);padding:80px 9%;border-radius:0;background:linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.48) 28%,rgba(0,0,0,.05) 60%),url('/contact-background.jpeg') center 52%/cover;}
body:has(#contact.contact-form-section) #contact .contact-photo-panel::before{display:none;}
body:has(#contact.contact-form-section) #contact .contact-photo-panel h2{font-size:clamp(24px,2.7vw,40px);line-height:1.5;margin:0 0 38px;white-space:nowrap;}
.contact-photo-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:16px;font-weight:600;line-height:1.65;}
.contact-photo-links a{border-bottom:1px solid #fff;}
.contact-photo-address{margin-top:34px;font-size:15px;line-height:1.8;color:#fff;}
body:has(#contact.contact-form-section) #contact .inquiry-form{padding:76px 12% 60px;align-self:center;}
.contact-form-intro{margin-bottom:38px;}
.contact-form-intro p{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600;line-height:1.7;margin:0 0 40px;}
.contact-form-intro p::after{content:'';height:1px;flex:1;min-width:38px;background:#d3d3d3;}
body:has(#contact.contact-form-section) .contact-form-intro h1{font-size:clamp(27px,3.2vw,46px);line-height:1.4;letter-spacing:0;margin:0;}
body:has(#contact.contact-form-section) #contact .inquiry-form input:not([type=hidden]):not([type=checkbox]),body:has(#contact.contact-form-section) #contact .inquiry-form textarea{background:#fff;border-color:#d3d3d3;font-size:13px;padding:13px 15px;}
body:has(#contact.contact-form-section) #contact .inquiry-form .form-row{gap:18px;}
body:has(#contact.contact-form-section) #contact .inquiry-form textarea{min-height:130px;}
body:has(#contact.contact-form-section) .contact-screen-close{background:rgba(0,0,0,.15);color:#fff;border:0;top:22px;right:24px;}
body:has(#contact.contact-form-section) .floating-text{display:none;}
@media(min-width:1500px){body:has(#contact.contact-form-section) #contact .contact-photo-panel{background-position:center 48%;}}
@media(max-width:800px){body:has(#contact.contact-form-section) #contact{grid-template-columns:1fr;}
body:has(#contact.contact-form-section) #contact .contact-photo-panel{grid-column:1;grid-row:1;min-height:700px;padding:64px 7%;background-position:center 48%;}
body:has(#contact.contact-form-section) #contact .inquiry-form{grid-column:1;grid-row:2;padding:48px 7%;}
body:has(#contact.contact-form-section) #contact .contact-photo-panel h2{font-size:26px;margin-bottom:24px;}
.contact-photo-links{font-size:14px;}.contact-photo-address{font-size:13px;margin-top:24px;}
.contact-form-intro p{margin-bottom:28px;}}
/* Property sidebar actions use one shared size and alignment. */
body:not(.dash) .property-concept-sidebar>:is(a.button,a.price-inquiry){display:flex!important;width:100%!important;max-width:100%;min-width:0;min-height:52px;height:auto;margin:0 0 12px!important;padding:16px 20px!important;justify-content:space-between!important;gap:14px!important;font-size:9px!important;letter-spacing:1px!important;line-height:1.5!important;box-sizing:border-box;background:#000;color:#fff;border:1px solid #000;border-radius:999px!important;text-align:left;text-decoration:none;}
body:not(.dash) .property-concept-sidebar>:is(a.button,a.price-inquiry)::after{width:32px;flex:0 0 32px;height:1px;transform:none;}
body:not(.dash) .property-concept-sidebar>:is(a.button,a.price-inquiry) .arrow-icon{display:none;}
body:not(.dash) .property-concept-sidebar>:is(a.button,a.price-inquiry):hover{background:#fff;color:#000;opacity:1;}
@media(max-width:600px){body:not(.dash) .property-concept-sidebar>:is(a.button,a.price-inquiry){font-size:10px!important;min-height:52px;padding:16px 20px!important;}}
/* Consistent rounded actions on listing cards and brokerage links. */
body:not(.dash) .featured-status{border-radius:999px;padding:8px 15px;background:#fff;color:#000;}
body:not(.dash) .featured-card-arrow{display:none!important;}
body:not(.dash) .featured-card-view{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 22px;min-height:48px;border:1px solid #000;border-radius:999px;background:#000;color:#fff;font-size:9px;line-height:1.5;letter-spacing:1px;}
body:not(.dash) .featured-card-view .arrow-icon{display:none;}
body:not(.dash) .featured-card-view::after{content:'';height:1px;width:32px;flex:0 0 32px;background:currentColor;}
body:not(.dash) .featured-card-topline{align-items:center;flex-wrap:wrap;gap:12px;}
body:not(.dash) .featured-card-topline>.price-inquiry{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #000;border-radius:999px;background:#d3d3d3;color:#000;font-size:10px;line-height:1.5;font-weight:600;padding:10px 17px;text-decoration:none;white-space:nowrap;}
body:not(.dash) .featured-connect-actions>.textlink{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:16px 25px;border:1px solid #000;border-radius:999px;background:#d3d3d3;color:#000;font-size:10px;line-height:1.5;letter-spacing:1px;text-transform:uppercase;}
body:not(.dash) .featured-connect-actions>.textlink .arrow-icon{display:none;}
body:not(.dash) .featured-connect-actions>.textlink::after{content:'';height:1px;width:40px;flex:0 0 40px;background:currentColor;}
body:not(.dash) :is(.featured-card-view,.featured-card-topline>.price-inquiry,.featured-connect-actions>.textlink):hover{background:#fff;color:#000;opacity:1;}
body:not(.dash) .featured-filters{gap:10px;}
body:not(.dash) .featured-filters button{padding:10px 18px;min-height:44px;border:1px solid #d3d3d3;border-radius:999px;color:#000;background:#fff;}
body:not(.dash) .featured-filters button[aria-pressed=true]{background:#000;color:#fff;border-color:#000;}
@media(max-width:600px){body:not(.dash) .featured-connect-actions{gap:14px;}body:not(.dash) .featured-connect-actions>.textlink{width:100%;}}
/* Gallery overlays share the pill treatment on every property. */
body:not(.dash) .property-photo-grid button>span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important;background:#fff;color:#000;padding:9px 16px;line-height:1.5;border:1px solid #d3d3d3;}
body:not(.dash) .property-lightbox-close{border:1px solid #d3d3d3;border-radius:999px;padding:9px 17px;}
body:not(.dash) .property-lightbox-stage button{border-radius:999px!important;}
@media(max-width:600px){body:not(.dash) .property-photo-grid button>span{font-size:8px;padding:7px 12px;}}
body:has(#contact.contact-form-section) #contact .contact-photo-panel h2{white-space:normal;overflow-wrap:normal;}
@media(max-width:600px){body:has(#contact.contact-form-section) #contact .contact-photo-panel h2{font-size:22px;}}
/* Pricing inquiries belong on individual property pages only. */
body:not(.property-page):not(.property-concept) .price-inquiry{display:none!important;}
body:not(.dash) .featured-card .price-inquiry{display:none!important;}
/* One shared, card-relative address size keeps every listing aligned. */
body:not(.dash) .featured-card{container-type:inline-size;}
body:not(.dash) .featured-card h2{font-size:clamp(12px,5cqw,28px)!important;line-height:1.5!important;letter-spacing:0!important;width:100%;max-width:none;white-space:nowrap;word-break:normal;overflow-wrap:normal;margin-bottom:16px;}
body:not(.dash) .featured-card h2>a{white-space:nowrap;}
/* Secondary pricing action: white pill, black outline and rule. */
body:not(.dash) .property-concept-sidebar>a.price-inquiry{background:#fff;color:#000;border:1px solid #000;}
body:not(.dash) .property-concept-sidebar>a.price-inquiry:hover{background:#d3d3d3;color:#000;}
