@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600&display=swap');
.listingfilters label select,.listingfilters label input{height:48px;box-sizing:border-box;padding:10px 12px;line-height:1.4;font:inherit}.launchconstruction{text-align:center;padding:35px 0 80px;max-width:680px;margin:0 auto}.constructiongraphic{display:block;width:min(100%,440px);height:auto;margin:0 auto 24px}.launchconstruction h1{font-size:clamp(36px,6vw,60px)}.launchconstruction .lead{margin:20px auto 30px;max-width:580px}
.modal.contactmodal{width:min(100%,460px);max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box}.contactmethods{display:grid;gap:14px;margin:24px 0}.contactmethod{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #cbd7d5;border-radius:5px;text-decoration:none;color:#19344c;min-width:0}.contactmethod:hover{background:#e9efec}.contactmethod:focus-visible,.contactmodal button:focus-visible{outline:3px solid #287b75;outline-offset:4px}.contactmethod>span{min-width:0}.contacticon{width:25px;height:25px;flex:0 0 25px}.whatsappicon{color:#168b50}.contactlabel{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.contactvalue{display:block;font-size:16px;overflow-wrap:anywhere}@media(max-width:480px){.modal.contactmodal{padding:24px}.contactmethod{gap:10px;padding:12px}}
:root{--navy:#17324d;--ivory:#f7f5f0;--teal:#28766f;--ink:#28323b;--line:#e2e6e8;--muted:#5d6a74}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 'DM Sans','Noto Sans SC',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;object-fit:cover;display:block}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:12px}.reviewbar{background:var(--navy);color:white;text-align:center;font-size:13px;padding:7px 20px}.wrap{max-width:1240px;margin:auto;padding:0 44px}header{background:var(--ivory);border-bottom:1px solid var(--line)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.brand{display:flex;align-items:center;gap:14px;color:var(--navy)}.monogram{font-family:Georgia,serif;font-size:35px;border-right:1px solid #bfc9cd;padding-right:15px;letter-spacing:-3px}.brandname{font-size:16px;font-weight:700;letter-spacing:2px;line-height:1.3}.brandname small{display:block;font-size:10px;letter-spacing:3.3px;margin-top:5px;font-weight:500}.navlinks{display:flex;align-items:center;gap:26px;font-size:14px}.navlinks a:hover,.navlinks a.active{color:var(--teal)}.language{border:1px solid #c5cfd0;background:transparent;border-radius:3px;color:var(--navy);padding:6px 10px;font-size:14px}.menu{display:none;background:transparent;border:1px solid var(--line);padding:7px 12px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.herocopy{padding:75px 58px 65px 0;align-self:center}.eyebrow{font-size:13px;color:var(--teal);font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:0 0 20px}.hero h1,.pageintro h1{font-family:Georgia,'Noto Sans SC',serif;font-weight:400;letter-spacing:-2px;font-size:clamp(40px,4.4vw,66px);line-height:1.1;color:var(--navy);margin:0 0 26px}.hero h1 em{font-weight:400;color:var(--teal)}.lead{font-size:18px;color:var(--muted);max-width:460px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 22px;border:1px solid var(--navy);background:var(--navy);color:white;font-weight:500;font-size:15px;border-radius:3px}.button.secondary{background:transparent;color:var(--navy)}.button:hover{background:var(--teal);border-color:var(--teal);color:white}.herovisual{position:relative;min-height:500px;background:#d7e1e3;overflow:hidden}.herovisual img{width:100%;height:100%;position:absolute}.photolabel{position:absolute;bottom:20px;left:20px;right:20px;color:white;text-shadow:0 1px 5px #000;background:#17324dab;padding:8px 12px;font-size:13px}.herofoot{border-top:1px solid var(--line);display:flex;gap:36px;padding:20px 0;font-size:14px;color:var(--muted)}.herofoot strong{color:var(--navy);font-weight:500}.section{padding:78px 0}.section.white{background:white}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}h2{font-family:Georgia,'Noto Sans SC',serif;font-weight:400;font-size:38px;line-height:1.2;color:var(--navy);letter-spacing:-1px;margin:0 0 14px}h3{color:var(--navy);font-size:21px;line-height:1.35;margin:0 0 14px}.textlink{color:var(--teal);font-weight:600;border-bottom:1px solid #98bcb7;font-size:14px}.featuregrid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}.propertyphoto{height:360px;width:100%;background:#d7e1e3}.featurecopy{align-self:center}.pill{display:inline-block;padding:5px 10px;border:1px solid #b9cfca;background:#eef5f3;color:#205e58;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}.price{font-size:30px;color:var(--navy);margin:20px 0 10px}.facts{display:flex;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:20px 0;color:var(--muted);font-size:14px}.facts b{color:var(--navy);display:block;font-size:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.service{border-top:2px solid var(--teal);padding-top:22px}.service .num{font-family:Georgia,serif;color:#617a86;font-size:28px}.service p{color:var(--muted)}.insightgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.articlecard{border:1px solid var(--line);background:white;padding:34px;box-shadow:0 10px 30px #17324d05}.articlecard h3{font-family:Georgia,'Noto Sans SC',serif;font-size:30px;font-weight:400}.meta{font-size:14px;color:var(--muted)}.contact{background:var(--navy);color:white;padding:65px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{color:var(--ivory)}.contact p{color:#d4dfe5}.contact .button{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}footer{padding:28px 0;color:var(--muted);font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:20px}.crumb{font-size:14px;color:var(--muted);margin:30px 0}.pageintro{padding:25px 0 32px}.pageintro h1{font-size:50px;max-width:850px}.detailgrid{display:grid;grid-template-columns:1.65fr 1fr;gap:48px;margin:45px 0 75px}.detailgrid h2{font-size:29px;margin-top:30px}.asidecard{background:white;border:1px solid var(--line);padding:28px;align-self:start;position:sticky;top:24px}.notice{font-size:14px;background:#edf3f1;border-left:3px solid var(--teal);padding:14px 18px;color:#34554f}.galleryhero{height:480px;width:100%;background:#d7e1e3}.articlelayout{display:grid;grid-template-columns:minmax(0,740px) 230px;justify-content:center;gap:65px;margin:15px auto 80px}.articlebody{font-size:18px;line-height:1.85}.articlebody h2{font-size:30px;margin-top:38px}.articlebody ul{padding-left:22px}.toc{border-top:2px solid var(--teal);padding-top:16px;font-size:14px;align-self:start;position:sticky;top:25px}.toc a{display:block;margin:13px 0;color:var(--muted)}.checklist{padding:24px;background:white;border:1px solid var(--line)}.photo-credit{font-size:12px;color:var(--muted);margin-top:8px}.modalback{position:fixed;inset:0;background:#0c243baa;z-index:20;display:grid;place-items:center;padding:20px}.modal{max-width:460px;background:var(--ivory);padding:34px;border-radius:5px}.modal h2{font-size:28px}.modal .button{margin-top:15px}.hidden{display:none!important}@media(min-width:1450px){.wrap{max-width:1360px}.hero{min-height:640px}}@media(max-width:1000px){.wrap{padding:0 28px}.navlinks{gap:15px}.herocopy{padding-right:28px}.hero h1{font-size:48px}.featuregrid{gap:25px}.articlelayout{gap:30px;grid-template-columns:minmax(0,1fr) 190px}}@media(max-width:760px){.wrap{padding:0 22px}.navrow{min-height:84px;flex-wrap:wrap;padding:15px 0}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;flex-wrap:wrap;padding:8px 0}.navlinks.open{display:flex}.hero{grid-template-columns:1fr}.herocopy{padding:45px 0}.hero h1{font-size:48px}.herovisual{min-height:330px}.herofoot{flex-wrap:wrap;gap:10px 24px}.section{padding:50px 0}h2{font-size:32px}.sectionhead{align-items:start}.featuregrid,.insightgrid,.detailgrid,.articlelayout{grid-template-columns:1fr;gap:25px}.services{grid-template-columns:1fr;gap:15px}.service{padding-top:16px}.propertyphoto{height:280px}.contact .wrap,footer .wrap{display:block}.pageintro h1{font-size:39px;letter-spacing:-1px}.galleryhero{height:300px}.asidecard,.toc{position:static}.toc{order:-1}.articlebody{font-size:17px}.articlecard{padding:25px}.facts{gap:18px}.reviewbar{font-size:12px}.brandname{font-size:14px}}

/* Review revision: full wordmark and personal introduction. */
.brandname{font-size:19px;letter-spacing:.2px;white-space:nowrap}.monogram{letter-spacing:-2px;font-size:32px}.navlinks{gap:20px}.portraitgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.portraitspace{min-height:390px;background:#e8eeed;border:1px solid #c9d7d4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--navy);padding:30px}.portraitmonogram{font-family:Georgia,serif;font-size:70px;letter-spacing:-4px;border-bottom:1px solid #b8cac5;padding-bottom:18px;margin-bottom:22px}.portraitspace small{color:var(--muted);font-size:14px;margin-top:6px}.reviewplaceholder{background:white;border:1px solid var(--line);padding:32px 40px;max-width:840px}.reviewplaceholder p{color:var(--muted)}.reviewquote{font-family:Georgia,serif;font-size:60px;line-height:1;color:var(--teal)}.herovisual{align-self:center;min-height:0;aspect-ratio:1.45}.herovisual img{object-fit:contain}.photolabel{font-size:12px}.portraitgrid p{max-width:520px}@media(max-width:1000px){.navlinks{gap:12px}.brandname{font-size:17px}.portraitgrid{gap:40px}}@media(max-width:850px){.menu{display:block;margin-left:auto}.navrow{flex-wrap:wrap}.navlinks{display:none;width:100%;flex-wrap:wrap;padding:8px 0}.navlinks.open{display:flex}}@media(max-width:760px){.portraitgrid{grid-template-columns:1fr;gap:30px}.portraitspace{min-height:330px;max-width:420px;width:100%;margin:auto}.herovisual{min-height:0;width:100%;aspect-ratio:1.45}.reviewplaceholder{padding:25px}.brandname{font-size:17px}.monogram{font-size:30px}.hero{min-height:0}.photolabel{left:12px;right:12px;bottom:12px}}

.herovisual img{object-fit:cover;object-position:52% center}

.portraitspace{padding:0;overflow:hidden;min-height:0;height:460px;background:linear-gradient(145deg,#e3eeeb,#f3f6f4)}.jamesportrait{height:100%;width:100%;object-fit:contain;object-position:center bottom}.listingcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.listingcard{border:1px solid var(--line);background:white;min-width:0;display:block;transition:box-shadow .2s}.listingcard:hover{box-shadow:0 10px 24px #17324d12}.cardimage{position:relative;height:230px;overflow:hidden}.cardimage img{width:100%;height:100%;object-fit:cover}.listingcard:nth-child(2) img{object-position:20% center}.listingcard:nth-child(3) img{object-position:80% center}.cardimage .pill{position:absolute;left:14px;top:14px;background:#f7f5f0f0}.cardcontent{padding:24px}.cardcontent h3{font-size:20px;min-height:54px}.cardprice{font-size:25px;color:var(--navy);margin:8px 0}.cardfacts{font-size:14px;color:var(--muted);margin:0 0 20px}.swipehint{display:none;font-size:14px;color:var(--muted)}.listingfilters{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 20px}.listingfilters label{display:flex;flex-direction:column;font-size:14px;gap:6px}.listingfilters select{font:inherit;border:1px solid #bac8ca;padding:10px 34px 10px 12px;background:white;color:var(--navy);min-width:180px;border-radius:3px}.allcards{margin:25px 0 35px}@media(max-width:760px){.portraitspace{height:420px}.listingcards:not(.allcards){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 18px;gap:16px;-webkit-overflow-scrolling:touch}.listingcards:not(.allcards) .listingcard{flex:0 0 86%;scroll-snap-align:start}.allcards{grid-template-columns:1fr}.cardimage{height:220px}.swipehint{display:block}.cardcontent h3{min-height:0}.listingfilters{gap:12px}.listingfilters label{flex:1}.listingfilters select{min-width:0;width:100%}}

.socialrow{align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px!important;margin-bottom:24px!important}.socialrow strong{font-size:16px;color:var(--navy)}.socialrow p{margin:5px 0 0}.socialplatforms{display:flex;gap:12px;flex-wrap:wrap}.socialplatforms span{border:1px solid #cbd5d6;color:var(--muted);font-size:14px;padding:7px 12px;border-radius:3px}@media(max-width:760px){.socialplatforms{margin-top:18px}.brandname{font-size:16px}}

/* Intentional frameless head-and-upper-chest portrait. */
.portraitspace{position:relative;width:300px;height:350px;max-width:100%;min-height:0;margin:auto;background:transparent;border:0;overflow:hidden}.jamesportrait{position:absolute;top:0;left:-36px;width:calc(100% + 72px);max-width:none;height:auto;object-fit:initial;object-position:initial}@media(max-width:760px){.portraitspace{width:280px;height:325px}.jamesportrait{left:-34px;width:calc(100% + 68px)}}

.illustratedcard{padding:0;display:block;overflow:hidden}.illustratedcard>img{width:100%;height:240px;object-fit:cover}.articlecardcopy{padding:28px}.articlecardcopy h3{font-size:29px}.articlecarousel{min-width:0}.carouselcontrols{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.carouselcontrols button{background:white;border:1px solid #b9c9ca;color:var(--navy);padding:8px 14px;border-radius:3px;font-size:14px}.carouselcontrols [data-play]{margin-left:auto}.carouselcontrols span{font-size:14px;color:var(--muted)}.carouselnote{font-size:13px}.articlehero{margin:0 0 30px}.articlehero img{width:100%;height:390px;object-fit:cover}.articlehero figcaption{font-size:12px;color:var(--muted);margin-top:8px}.blogarchive{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.blogarchive details{margin:12px 0}.blogarchive details details{margin-left:16px}.blogarchive summary{cursor:pointer;font-size:15px;color:var(--navy);padding:4px 0}.blogarchive a{font-size:14px;line-height:1.5;padding:4px 0}.blogarchive a[aria-current=page]{font-weight:700;color:var(--teal)}.relatedposts{border-top:1px solid var(--line);margin-top:40px;padding-top:10px}.articlevideo{position:relative;aspect-ratio:16/9;margin:30px 0}.articlevideo iframe{width:100%;height:100%;border:0}.socialplatforms a{border:1px solid #cbd5d6;color:var(--navy);font-size:14px;padding:7px 12px;border-radius:3px}.socialplatforms a:hover{color:var(--teal);border-color:var(--teal)}.agencydetails p{line-height:1.8;margin:0 0 24px}.articlelayout .toc{position:static}.articlecarousel a:focus-visible{outline-offset:3px}@media(max-width:760px){.articlehero img{height:240px}.illustratedcard>img{height:210px}.articlecardcopy{padding:22px}.carouselcontrols{gap:8px}.carouselcontrols button{padding:8px 10px}.articlecardcopy h3{font-size:26px}}

.compactarticlebanner{position:relative;min-height:330px;margin-bottom:8px;overflow:hidden}.compactarticlebanner .bannerphoto{position:absolute;inset:0 0 0 auto;width:58%;margin:0}.compactarticlebanner .bannerphoto img{height:100%;width:100%;object-fit:cover}.bannercopy{position:relative;z-index:1;width:76%;padding:28px 100px 28px 0;background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 64%,#f7f5f000 100%)}.bannercopy h1{font-size:clamp(32px,3vw,45px);max-width:690px;letter-spacing:-1px}.bannercopy .lead{font-size:17px;max-width:520px}.bannercredit{margin:0 0 30px;font-size:12px;color:var(--muted)}.articlewindow{overflow:hidden}.articletrack{display:flex;align-items:stretch;will-change:transform}.articletile{flex:0 0 100%;min-width:0;display:flex}.articletile .illustratedcard{position:relative;width:100%;min-height:335px;background:var(--ivory);display:block}.articletile .illustratedcard>img{position:absolute;inset:0 0 0 auto;width:53%;height:100%;object-fit:cover}.articlecardcopy{position:relative;z-index:1;width:90%;padding:25px 90px 25px 25px;background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 57%,#f7f5f0ee 66%,#f7f5f000 100%)}.articlecardcopy h3{font-size:25px;max-width:350px}.articlecardcopy p{font-size:15px;max-width:325px;margin:12px 0}.articlecardcopy .meta{font-size:13px}.articledots{display:flex;justify-content:center;gap:4px;padding-top:10px}.articledots button{background:transparent;border:0;width:36px;height:36px;display:grid;place-items:center;padding:0}.articledots span{width:9px;height:9px;background:#b7c4c7;border-radius:50%}.articledots [aria-current=true] span{background:var(--teal);width:11px;height:11px}.reviewrail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.reviewcard{flex:0 0 calc((100% - 48px)/3);background:white;border:1px solid var(--line);padding:25px;min-width:0;scroll-snap-align:start}.reviewcard .pill{font-size:12px}.reviewcard h3{font-family:Georgia,'Noto Sans SC',serif;font-size:25px;font-weight:400}.reviewcard p{color:var(--muted);font-size:15px}.reviewcard .reviewquote{display:block}.reviewcontrols{display:flex;justify-content:flex-end;gap:12px;margin:10px 0}.reviewcontrols button{border:1px solid #c5d2d1;background:transparent;padding:8px 14px;color:var(--navy);border-radius:3px}.allreviews{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:65px}.allreviews .reviewcard{height:100%}.allreviews details{margin-top:20px}.allreviews summary{cursor:pointer;color:var(--teal);font-weight:600}.allreviews>div{scroll-margin-top:30px}@media(max-width:760px){.compactarticlebanner{display:flex;flex-direction:column;min-height:0}.bannercopy{width:100%;padding:20px 0;background:transparent}.compactarticlebanner .bannerphoto{position:relative;width:100%;height:180px}.compactarticlebanner .bannerphoto img{height:180px}.bannercopy h1{font-size:34px}.articletile .illustratedcard{display:flex;flex-direction:column;min-height:0}.articlecardcopy{width:100%;padding:22px;background:var(--ivory);min-height:285px;order:0}.articletile .illustratedcard>img{position:relative;width:100%;height:145px;order:1}.articlecardcopy h3{font-size:24px;max-width:none}.articlecardcopy p{max-width:none}.reviewcard{flex-basis:86%;padding:22px}.allreviews{grid-template-columns:1fr}.reviewcontrols{justify-content:center}}

.articlecardcopy{align-self:stretch;min-height:335px;box-sizing:border-box}
@media(max-width:760px){.articlecardcopy{min-height:285px}}

.reviewbrowser{position:relative;padding:0 48px}.reviewrail{scrollbar-width:none;padding-bottom:0}.reviewrail::-webkit-scrollbar{display:none}.reviewcontrols{display:contents}.reviewcontrols .reviewarrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;padding:0;display:grid;place-items:center;background:white;font-size:30px;line-height:1;border:1px solid var(--line)}.reviewarrow.previous{left:0}.reviewarrow.next{right:0}.reviewarrow:disabled{opacity:.3;cursor:default}@media(max-width:760px){.reviewbrowser{padding:0 40px}.reviewcontrols .reviewarrow{width:36px;height:44px}.reviewcard{flex-basis:90%}}

.legalpage{max-width:900px;padding-bottom:65px}.legalpage section{margin:30px 0}.legalpage section h2{font-size:28px}.legalpage section p{line-height:1.8}

.portraitgrid{align-items:start}.biocopy p{font-size:17px;line-height:1.75}.biocredentials{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.biocredentials p{font-size:14px;color:var(--muted);line-height:1.8}.biostory{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.biostory summary{cursor:pointer;color:var(--teal);font-weight:600}.biostory p{font-size:16px;line-height:1.8}

.aboutportraitspace{text-align:center}.aboutportrait{display:block;width:100%;max-height:880px;object-fit:contain;object-position:top;margin:auto}.biocopy h2{font-size:28px;margin-top:30px}.biocopy h2:first-child{margin-top:0}@media(max-width:760px){.aboutportrait{max-height:580px}}

.servicecard{display:block;text-decoration:none;color:inherit}.servicecard:hover h3{color:var(--teal)}.servicecard:focus-visible{outline:2px solid var(--teal);outline-offset:6px}.servicerelated{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}

.servicepage{max-width:1160px;padding-bottom:65px}.servicepoints{max-width:900px;margin:38px auto 0}.servicepoint{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.servicepoint h2{font-size:28px;margin:0 0 14px}.servicepoint p{line-height:1.8;margin:0}.serviceillustration{display:grid;place-items:center;width:64px;height:64px;background:#e8f1ef;color:var(--teal);border-radius:16px}.serviceillustration svg{width:38px;height:38px}.servicecard .serviceillustration{margin:18px 0}.servicebanner{min-height:290px}.servicebanner .bannercopy{min-height:290px}.servicebanner h1{font-size:clamp(32px,3.5vw,48px)}@media(max-width:760px){.servicepoint{grid-template-columns:48px 1fr;gap:16px}.servicepoint .serviceillustration{width:48px;height:48px;border-radius:12px}.servicepoint svg{width:30px;height:30px}.servicepoint h2{font-size:25px}.servicebanner .bannercopy{min-height:0}}

.reviewcard blockquote{margin:0 0 24px;font-size:1.1rem;line-height:1.7;color:var(--navy);white-space:pre-wrap}.reviewcard .meta strong{color:var(--navy)}

.reviewstars{display:flex;gap:4px;color:#b38a36;margin:0 0 20px}.reviewstars svg{width:20px;height:20px;fill:currentColor}.reviewphoto{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;margin-bottom:20px;border-radius:3px}.reviewcard:has(.reviewphoto) .reviewquote{display:none}

.reviewstars{justify-content:center}.listingfilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.listingfilters label[hidden]{display:none}.listingfilters input,.amenityfilter{width:100%;padding:16px;border:1px solid #b8caca;border-radius:3px;background:white;color:#19344c;font:inherit}.galleryframe{position:relative}.galleryimage{display:block;width:100%;padding:0;border:0;background:#edf3f1;cursor:zoom-in}.galleryimage img{display:block;width:100%;height:min(60vh,550px);object-fit:contain}.galleryprev,.gallerynext{position:absolute;top:45%;width:44px;height:44px;border-radius:50%;background:white;border:1px solid #cad6d6;font-size:30px;color:#19344c}.galleryprev{left:12px}.gallerynext{right:12px}.galleryprev:disabled,.gallerynext:disabled{opacity:.3}.gallerythumbs{display:flex;gap:12px;overflow:auto;margin:12px 0 24px}.gallerythumbs button{padding:3px;border:2px solid transparent;background:white}.gallerythumbs button[aria-current=true]{border-color:#287b75}.gallerythumbs img{width:100px;height:75px;object-fit:contain}.gallerylightbox{border:0;max-width:95vw;max-height:95vh;background:#fff;padding:35px}.gallerylightbox::backdrop{background:#000b}.gallerylightbox img{max-width:85vw;max-height:80vh;object-fit:contain}.galleryclose{position:absolute;right:5px;top:0;font-size:30px;border:0;background:white}.neighbourhoodmap{margin:24px 0}.neighbourhoodmap iframe{border:0;width:100%;height:380px;margin:16px 0}.neighbourhoodmap label{display:block}.galleryframe{touch-action:pan-y}@media(max-width:800px){.listingfilters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.listingfilters{grid-template-columns:1fr}.galleryimage img{height:300px}}

.herofoot a{color:#287b75;text-decoration:underline;text-underline-offset:5px}.herofoot a:visited{color:#71558a}.herofoot a:hover{color:#19344c}.herofoot a:focus-visible{outline:2px solid #287b75;outline-offset:4px}
.landingcarousel{min-width:0}.landingcarousel .articlewindow{touch-action:pan-y pinch-zoom;cursor:grab}.landingcarousel .articlewindow:active{cursor:grabbing}.landingcarousel .articlewindow a,.landingcarousel .articlewindow img{-webkit-user-drag:none}.landingcarousel .articletile>.reviewcard{flex:1 1 100%;width:100%;margin:0}.landingcarousel .articletile>.listingcard{width:100%;flex:1 1 100%}.landingcarousel .articletile>.reviewcard:has(.reviewphoto){display:flex;flex-direction:column}.landingcarousel .reviewphoto{max-height:440px}.landingcarousel .articledots{flex-wrap:wrap}
.landingcarousel .articlewindow{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:auto;-webkit-overflow-scrolling:touch}.landingcarousel .articlewindow::-webkit-scrollbar{display:none}.landingcarousel .articletrack{transform:none;will-change:auto}.landingcarousel .articletile{scroll-snap-align:start;scroll-snap-stop:always}.landingcarousel .articlewindow a,.landingcarousel .articlewindow button{touch-action:auto}.article-sidebar{min-width:0;align-self:start}.article-sidebar .toc{position:static}
@media(max-width:760px){.articlelayout>.article-sidebar{display:contents}.articlelayout>.article-sidebar>.toc{order:0}.articlelayout>.articlebody{order:1}.articlelayout>.article-sidebar>.blogarchive{order:2}}
.carouseltilegroup{display:grid;grid-template-columns:repeat(var(--tiles-per-page),minmax(0,1fr));gap:24px;width:100%;min-width:0}.carouseltilegroup>.reviewcard,.carouseltilegroup>.listingcard{width:100%;min-width:0;margin:0;overflow-wrap:anywhere}.carouseltilegroup>.illustratedcard{width:100%;min-width:0}.landingcarousel[data-per-page="3"] .reviewcard{padding:22px}.landingcarousel[data-per-page="3"] .reviewphoto{max-height:340px}
@media(max-width:760px){.landingcarousel[data-per-page="3"] .carouseltilegroup{gap:8px}.landingcarousel[data-per-page="3"] .reviewcard{padding:8px}.landingcarousel[data-per-page="3"] .reviewcard p,.landingcarousel[data-per-page="3"] .reviewcard .meta{font-size:12px}.landingcarousel[data-per-page="3"] .reviewcard h3{font-size:17px}.landingcarousel[data-per-page="3"] .listingcard .listingcopy{padding:8px}.landingcarousel[data-per-page="3"] .listingcard h3{font-size:16px}.landingcarousel[data-per-page="3"] .reviewcard .pill{font-size:10px;padding:3px}.landingcarousel[data-per-page="3"] .listingcard img{height:120px}}
@media(max-width:760px){.landingcarousel[data-per-page="3"] .cardcontent{padding:8px}.landingcarousel[data-per-page="3"] .cardprice{font-size:15px}.landingcarousel[data-per-page="3"] .cardfacts,.landingcarousel[data-per-page="3"] .textlink{font-size:12px}.landingcarousel[data-per-page="3"] .cardimage .pill{font-size:9px;padding:3px;left:4px;right:4px;white-space:normal}}

/* Imported draft facts and full floor-plan visibility. */
.draftfacts{display:grid;grid-template-columns:max-content 1fr;gap:12px 24px;margin:24px 0 36px}.draftfacts dt{font-weight:600}.draftfacts dd{margin:0}.propertygallery .galleryimage img,.gallerylightbox img{object-fit:contain;background:#f2f1ed}.gallerythumbs{overflow-x:auto}.gallerythumbs button{flex-shrink:0}

/* Readable single-card slides on narrow screens. */
.landingcarousel[data-per-page="1"] .carouseltilegroup>.reviewcard{padding:22px;flex-basis:100%}.landingcarousel[data-per-page="1"] .cardcontent h3{min-height:0}.landingcarousel .carouseltilegroup>.listingcard,.landingcarousel .carouseltilegroup>.reviewcard{overflow-wrap:normal}.landingcarousel[data-per-page="1"] .cardimage{height:230px}.landingcarousel[data-per-page="1"] .cardcontent{padding:24px}.landingcarousel[data-per-page="1"] .cardcontent h3{font-size:20px}.landingcarousel[data-per-page="1"] .cardprice{font-size:25px}.landingcarousel[data-per-page="1"] .cardfacts{font-size:14px}

.sellerfaq{margin:36px 0}.sellerfaq details{border-bottom:1px solid var(--line);padding:16px 0}.sellerfaq summary{cursor:pointer;color:var(--navy);font-weight:600}.servicepage .actions{margin-bottom:20px}

.servicepoint.servicecopy{display:block}.servicepoint.servicecopy>div{width:100%;min-width:0}.servicepoint>div{min-width:0}.servicepage .servicepoints{width:100%;max-width:900px}.servicepoint h2,.servicepoint p{overflow-wrap:break-word}.servicepoint.servicecopy p{max-width:75ch}.listingfilters{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.listingfilters label{min-width:0}.listingfilters input{min-width:0;box-sizing:border-box}.listingfilters label[hidden]{display:none}@media(max-width:600px){.listingfilters{grid-template-columns:1fr}}

.mapfilters{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.mapfilters label{display:grid;gap:6px;min-width:0}.mapfilters select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #b8caca;background:white;color:var(--navy);font:inherit}.propertylivemap{height:440px;z-index:0}.home-pin{background:none;border:0}.home-pin span{display:grid;place-items:center;width:34px;height:34px;background:#cf3b35;color:white;border:3px solid white;box-shadow:0 2px 6px #0005;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font-size:24px}.mapamenities{max-height:190px;overflow:auto}.mapamenities p{margin:8px 0}.propertylivemap .leaflet-control-attribution{font-size:10px}.propertylivemap a{color:#176b67}@media(max-width:600px){.mapfilters{grid-template-columns:1fr}.propertylivemap{height:360px}}
