@import url("../editorial-layout.css");
/* assets/site-audit-4711.css */
/* Screenshot 4711: one full photograph, then one closed rectangular reading box.
   This is the authoritative shared layout for every article and standalone blog. */
html body.ss4711-reading-page { background:#f8f7f3!important; }
html body main#main#main#main.ss4711-article {
 display:block!important; width:100%!important; max-width:none!important;
 margin:0!important; padding:40px 20px 70px!important; box-sizing:border-box!important;
 background:#f8f7f3!important; color:#30382e!important; font-family:Arial,Helvetica,sans-serif!important;
}
html body main#main#main#main.ss4711-article > .ss4711-title {
 display:block!important; position:static!important; width:min(100%,900px)!important;
 margin:0 auto 32px!important; padding:0!important; border:0!important; background:transparent!important; text-align:center!important;
}
html body main#main#main#main.ss4711-article .ss4711-title h1 {
 font:400 clamp(28px,2.6vw,44px)/1.2 Arial,Helvetica,sans-serif!important;
 letter-spacing:-.025em!important; color:#30382e!important; max-width:900px!important;
 margin:0 auto!important; padding:0!important; text-align:center!important;
}
html body main#main#main#main.ss4711-article .ss4711-date {
 display:block!important; font:400 12px/1.7 Arial,Helvetica,sans-serif!important; letter-spacing:.06em!important;
 margin:14px auto 0!important; text-align:center!important; color:#626957!important;
}
html body main#main#main#main.ss4711-article > .ss4711-photo {
 display:block!important; position:static!important; width:min(100%,760px)!important; max-width:760px!important;
 height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:auto!important;
 margin:0 auto!important; padding:0!important; background:transparent!important; border:0!important;
 border-radius:0!important; overflow:visible!important; box-shadow:none!important;
}
html body main#main#main#main.ss4711-article > .ss4711-photo img { display:block!important; width:100%!important; height:auto!important; }
html body main#main#main#main.ss4711-article > .ss4711-copy {
 display:block!important; position:static!important; box-sizing:border-box!important;
 width:min(100%,820px)!important; max-width:820px!important; margin:40px auto 0!important;
 padding:46px 53px 50px!important; border:1px solid #d8d9d2!important; border-radius:0!important;
 background:#fff!important; color:#30382e!important; box-shadow:none!important; overflow:visible!important;
 font:400 16px/1.85 Arial,Helvetica,sans-serif!important; text-align:left!important;
}
html body main#main#main#main.ss4711-article .ss4711-copy:before,
html body main#main#main#main.ss4711-article .ss4711-copy:after { display:none!important; content:none!important; }
html body main#main#main#main.ss4711-article .ss4711-copy :is(section,article,header,aside,.ss4711-section) {
 display:block!important; position:static!important; width:auto!important; max-width:100%!important;
 min-height:0!important; margin:0 0 28px!important; padding:0!important; border:0!important;
 border-radius:0!important; background:transparent!important; box-shadow:none!important; text-align:left!important;
}
html body main#main#main#main.ss4711-article .ss4711-copy :is(p,li) {
 font:400 16px/1.85 Arial,Helvetica,sans-serif!important; color:#30382e!important;
 max-width:none!important; padding:0!important; border:0!important; background:transparent!important;
 letter-spacing:normal!important; text-align:left!important;
}
html body main#main#main#main.ss4711-article .ss4711-copy p {margin:0 0 18px!important;}
html body main#main#main#main.ss4711-article .ss4711-copy :is(h2,h3) {
 font:400 clamp(23px,2vw,29px)/1.3 Arial,Helvetica,sans-serif!important; color:#30382e!important;
 letter-spacing:-.02em!important; text-align:left!important; margin:28px 0 15px!important;
 padding:0!important; max-width:none!important; background:transparent!important;
}
html body main#main#main#main.ss4711-article .ss4711-copy h3 {font-size:21px!important;}
html body main#main#main#main.ss4711-article .ss4711-copy strong {font-weight:600!important;}
html body main#main#main#main.ss4711-article .ss4711-copy > :first-child {margin-top:0!important;}
html body main#main#main#main.ss4711-article .ss4711-copy > :last-child {margin-bottom:0!important;}
html body main#main#main#main.ss4711-article .ss4711-copy .ss24-related-links {display:flex!important;flex-wrap:wrap!important;gap:12px!important;}
html body main#main#main#main.ss4711-article .ss4711-copy .qseo-cta,
html body main#main#main#main.ss4711-article .ss4711-copy .final-single-cta {border-top:1px solid #d8d9d2!important;padding-top:24px!important;margin-top:30px!important;}
html body main#main#main#main.ss4711-article .ss4711-copy .f4-matrix-wrap {width:100%!important;overflow-x:auto!important;}
html body main#main#main#main.ss4711-article .ss4711-copy table {width:100%!important;max-width:100%!important;}
/* Full source image, no cropping and no zoom on hover. Image-only frames use its natural ratio. */
html body main#main#main#main [data-full-photo], html body main [data-full-photo] {
 object-fit:contain!important; object-position:center center!important; transform:none!important;
 clip-path:none!important; filter:none!important;
}
html body main#main#main#main [data-full-photo-frame], html body main [data-full-photo-frame] {
 display:block!important; position:relative!important; width:100%!important;
 height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:auto!important;
 padding:0!important; overflow:visible!important; flex:0 0 auto!important;
 line-height:0!important; background:transparent!important; transform:none!important;
}
html body main#main#main#main [data-full-photo-frame] > [data-full-photo], html body main [data-full-photo-frame] > [data-full-photo] {
 display:block!important; position:static!important; inset:auto!important;
 width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
 aspect-ratio:auto!important; margin:0!important; padding:0!important; border-radius:0!important;
}
html body main#main#main#main .loanHubGrid .loanHubItem {
 display:flex!important; flex-direction:column!important; height:auto!important; min-height:0!important;
 overflow:visible!important;
}
html body main#main#main#main .loanHubGrid .loanLearn {margin-top:auto!important;}

/* Remove legacy white mattes around the staging photographs and floor plan. */
html body main#main#main#main .ss22-plan-gallery img[data-full-photo] {
 border:0!important; box-shadow:none!important;
}
html body main#main#main#main .loanHubGrid .final-static-answer {height:auto!important;min-height:0!important;}
html body main#main#main#main .loanHubGrid .final-static-answer-copy {height:auto!important;max-height:none!important;overflow:visible!important;}
/* Photo wrappers must not impose a second crop above the immediate image frame. */
html body main#main#main#main .ss22-service-card > img[data-full-photo],
html body main#main#main#main .ss22-project > img[data-full-photo],
html body main#main#main#main .portfolioParentCard > img[data-full-photo],
html body main#main#main#main .ss-city-card > img[data-full-photo] {
 display:block!important;position:static!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;
}
@media(max-width:700px) {
 html body main#main#main#main.ss4711-article {padding:28px 16px 44px!important;}
 html body main#main#main#main.ss4711-article > .ss4711-title {margin-bottom:24px!important;}
 html body main#main#main#main.ss4711-article > .ss4711-copy {margin-top:28px!important;padding:26px 22px 30px!important;}
 html body main#main#main#main.ss4711-article .ss4711-copy :is(p,li) {font-size:16px!important;line-height:1.8!important;}
}

/* Release old line clamps and fixed text rows as well as the photo frame. */
html body main#main#main#main .loanHubGrid .loanHubItem :is(.final-static-answer,.final-static-answer-copy,h2,h3,p) {
 height:auto!important; min-height:0!important; max-height:none!important;
 overflow:visible!important; -webkit-line-clamp:unset!important; line-clamp:unset!important;
 display:block!important; flex:0 0 auto!important;
}
html body main#main#main#main .loanHubGrid .final-static-answer {padding:22px 20px!important;}
html body main#main#main#main .loanHubGrid .final-static-answer h2 {margin:12px 0!important;}
html body main#main#main#main .loanHubGrid .final-static-answer-copy {padding:14px 0 0!important;}
html body main#main#main#main .loanHubGrid .final-static-answer-copy p {margin:0!important;}
html body main#main#main#main .loanHubGrid {grid-auto-rows:auto!important;grid-template-rows:none!important;align-items:stretch!important;}
html body main#main#main#main .loanHubGrid > .loanHubItem {height:auto!important;max-height:none!important;min-height:0!important;align-self:stretch!important;}
html body main#main#main#main .loanHubGrid .loanLearn {position:static!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;min-height:52px!important;display:flex!important;}

/* 4718 revision: identical photo dimensions and equal cards across every row.
   Fill maps every source edge into the frame without cropping or filler strips.
   Article photos retain their natural proportions above. */
html body main#main#main#main .loanHubGrid {
 grid-auto-rows:1fr!important; grid-template-rows:none!important;
 align-items:stretch!important;
}
html body main#main#main#main .loanHubGrid > .loanHubItem {
 box-sizing:border-box!important; height:100%!important; min-height:0!important;
 display:flex!important; flex-direction:column!important;
}
html body main#main#main#main [data-uniform-photo-frame] {
 aspect-ratio:4 / 3!important; height:auto!important; width:100%!important;
 min-height:0!important; max-height:none!important; padding:0!important;
 border:0!important; border-radius:0!important; overflow:visible!important;
 background:none!important; flex:0 0 auto!important;
}
html body main#main#main#main img[data-full-photo][data-uniform-photo][data-uniform-photo] {
 display:block!important; width:100%!important; height:auto!important;
 aspect-ratio:4 / 3!important; object-fit:fill!important;
 object-position:center!important; position:static!important;
 min-height:0!important; max-height:none!important; margin:0!important;
 padding:0!important; border:0!important; border-radius:0!important;
 transform:none!important; clip-path:none!important; filter:none!important;
}
html body main#main#main#main [data-uniform-photo-frame]::before,
html body main#main#main#main [data-uniform-photo-frame]::after {content:none!important;display:none!important;}
html body main#main#main#main .loanHubGrid .final-static-answer {flex:1 0 auto!important;}
html body main#main#main#main .loanHubGrid .loanLearn {margin-top:auto!important;}

/* Preserve existing informational-panel spacing; article styling is imported. */
html body.ss18 main#main#main#main#main .loanHubGrid:not(:has(> .loanHubItem > .loanLearn)):has(> .loanHubItem > .final-static-answer) {
 grid-auto-rows:auto!important; align-items:stretch!important;
}
html body.ss18 main#main#main#main#main .loanHubGrid:not(:has(> .loanHubItem > .loanLearn)) > .loanHubItem:has(> .final-static-answer) {
 height:auto!important; min-height:0!important; max-height:none!important; align-self:stretch!important;
}
html body.ss18 main#main#main#main#main .loanHubGrid:not(:has(> .loanHubItem > .loanLearn)) > .loanHubItem > .final-static-answer {
 display:flex!important; flex-direction:column!important; flex:0 0 auto!important;
 height:auto!important; min-height:0!important; max-height:none!important; align-self:stretch!important;
 justify-content:flex-start!important;
}
html body.ss18 main#main#main#main#main .loanHubGrid:not(:has(> .loanHubItem > .loanLearn)) > .loanHubItem:has(> .final-static-answer) > .loanLearn {
 margin-top:auto!important;
}

/* Keep all cards equal across rows, including home, portfolio, and platform grids. */
/* Keep the collage captions in the exposed outer edges beside the title card. */
html body main#main#main#main .propertyCollageHero {
 background:transparent!important; padding:0!important; gap:12px!important;
}
html body main#main#main#main .propertyCollageHero > figure {
 margin:0!important; align-self:start!important;
}
@media (min-width:821px) {
 html body main#main#main#main .propertyCollageHero {
  width:min(1240px,calc(100% - 48px),calc((100svh - 230px) * 4 / 3))!important;
  margin:18px auto!important; display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 html body main#main#main#main .propertyCollageTitle {
  width:min(500px,44%)!important; min-height:0!important;
  box-sizing:border-box!important; padding:28px 24px!important;
 }
 html body main#main#main#main .propertyCollageTitle h1 {
  font-size:clamp(28px,3.2vw,48px)!important; line-height:1.05!important;
  margin:14px 0!important;
 }
 html body main#main#main#main .propertyCollageTitle p {
  font-size:14px!important; line-height:1.5!important; margin:0!important;
 }
 html body main#main#main#main .propertyCollageHero > figure > figcaption {
  padding:10px 14px!important; box-sizing:border-box!important;
  min-height:40px!important; font-size:9px!important; letter-spacing:.08em!important;
 }
 html body main#main#main#main .propertyCollageHero > figure:nth-of-type(odd) > figcaption {
  text-align:left!important; justify-content:flex-start!important;
 }
 html body main#main#main#main .propertyCollageHero > figure:nth-of-type(even) > figcaption {
  text-align:right!important; justify-content:flex-end!important;
 }
}
@media (max-width:820px) {
 html body main#main#main#main .propertyCollageHero {
  width:min(calc(100% - 28px),calc((100svh - 360px) * 4 / 3))!important;
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:auto auto auto!important; gap:8px!important;
  margin:12px auto 20px!important; height:auto!important; min-height:0!important;
 }
 html body main#main#main#main .propertyCollageTitle {
  grid-column:1 / -1!important; grid-row:1!important; order:0!important;
  position:relative!important; inset:auto!important; transform:none!important;
  width:100%!important; min-height:0!important; padding:12px 14px!important;
  box-sizing:border-box!important;
 }
 html body main#main#main#main .propertyCollageTitle span {
  font-size:9px!important; line-height:1.4!important; letter-spacing:.12em!important;
 }
 html body main#main#main#main .propertyCollageTitle h1 {
  font-size:32px!important; line-height:1.05!important; margin:8px 0!important;
 }
 html body main#main#main#main .propertyCollageTitle p {
  font-size:12px!important; line-height:1.45!important; margin:0!important;
 }
 html body main#main#main#main .propertyCollageHero > figure > figcaption {
  display:flex!important; align-items:center!important; justify-content:center!important;
  height:32px!important; min-height:32px!important; flex:0 0 32px!important;
  padding:4px!important; font-size:8px!important; line-height:1.35!important;
  letter-spacing:.04em!important; text-align:center!important; box-sizing:border-box!important;
 }
}
html body main#main#main#main :is(.ss22-services-grid,.portfolioParentGrid,.ss34-platform-grid) {
 grid-auto-rows:1fr!important; align-items:stretch!important;
}
html body main#main#main#main :is(.ss22-services-grid > .ss90-home-card,.portfolioParentGrid > .portfolioParentCard,.ss34-platform-grid > .ss34-platform-card) {
 box-sizing:border-box!important; height:100%!important; min-height:0!important;
 align-self:stretch!important; display:flex!important; flex-direction:column!important;
}

/* Keep loading image descriptions from flashing as blue text in photo links. */
html body img[data-full-photo]{color:transparent!important;font-size:0!important;}

/* Page content is present immediately, without entrance or reveal delays. */
html body main#main > section:not(.videoHero):not(.heroDominique),
html body main#main > .ctPage > section {animation:none!important;}
html body main#main.final-about > section {opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;}
html body main#main :is(.cityReveal,.reveal,[data-reveal]) {opacity:1!important;transform:none!important;transition:none!important;}

/* Preserve the existing property hero and title; expose all numbered captions. */
html body main#main#main#main .propertyCollageHero > figure {aspect-ratio:auto!important;}
html body main#main#main#main .propertyCollageHero > figure > img{flex:0 0 auto!important;}
html body main#main#main#main .propertyCollageHero > figure > figcaption{position:relative!important;inset:auto!important;z-index:5!important;transform:none!important;width:fit-content!important;max-width:56%!important;margin:0!important;box-shadow:none!important;background:#30382ebf!important;color:#fff!important;}
html body main#main#main#main :is(.f4-matrix-wrap,.f4-matrix-wrap){width:100%!important;overflow-x:auto!important;}

@media(min-width:821px){
html body main#main#main#main .propertyCollageHero > figure:nth-of-type(odd) > figcaption{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important;}
html body main#main#main#main .propertyCollageHero > figure:nth-of-type(even) > figcaption{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important;}
}
@media(max-width:820px){html body main#main#main#main .propertyCollageHero > figure > figcaption{width:100%!important;max-width:100%!important;}}

/* Reserve the source photo ratio before lazy images arrive. */
html body main#main#main#main img[data-full-photo]:not([data-uniform-photo]){aspect-ratio:var(--ss-photo-ratio,auto)!important;}

/* Room collections reuse the portfolio cards; individual galleries stay fully visible. */
html body main#main#main#main .portfolioRoomCards {padding-top:36px!important;padding-bottom:48px!important;}
html body main#main#main#main.portfolioRoomPage .portfolioRoomGallery {width:min(1240px,calc(100% - 40px));margin:0 auto;padding:24px 0 36px;}
html body main#main#main#main .portfolioBackLink {display:inline-block;margin-bottom:18px;font-size:13px;}
html body main#main#main#main .portfolioBottomBack {margin:0 20px 40px;}
/* Number boxes sit on the photographs at the exposed outer corners. */
html body main#main#main#main .propertyCollageHero > figure {position:relative!important;}
html body main#main#main#main .propertyCollageHero > figure > figcaption {position:absolute!important;top:auto!important;bottom:12px!important;max-width:52%!important;}
html body main#main#main#main .propertyCollageHero > figure:nth-of-type(odd) > figcaption {left:12px!important;right:auto!important;}
html body main#main#main#main .propertyCollageHero > figure:nth-of-type(even) > figcaption {right:12px!important;left:auto!important;}
@media(max-width:820px){html body main#main#main#main .propertyCollageHero > figure > figcaption {left:4px!important;right:4px!important;bottom:4px!important;width:calc(100% - 8px)!important;max-width:100%!important;}}

@media(max-width:820px){html body main#main#main#main .propertyCollageHero > figure:nth-of-type(n) > figcaption {left:4px!important;right:auto!important;}}

/* Room photos keep their full card frame; captions expand without squeezing the photo. */
html body main#main#main#main .portfolioRoomCards > .portfolioParentCard {aspect-ratio:auto!important;height:100%!important;}
html body main#main#main#main .portfolioRoomCards > .portfolioParentCard > img[data-full-photo][data-uniform-photo] {flex:0 0 auto!important;aspect-ratio:4 / 3!important;height:auto!important;}
html body main#main#main#main .portfolioRoomCards .portfolioParentCardContent {height:auto!important;min-height:0!important;max-height:none!important;flex:1 0 auto!important;}


/* assets/dominique-brand-20261010.css */
/* Approved Dominique Duncan-Nelson key and signature logo. */
html body.ss18 #ss22-header .ss22-brand {
  flex:0 1 260px!important;width:260px!important;min-width:0!important;max-width:260px!important;gap:0!important;
}
html body.ss18 #ss22-header .ss22-brand>img.ddn-wordmark {
  display:block!important;width:100%!important;height:auto!important;min-width:0!important;max-width:100%!important;max-height:none!important;flex:0 1 auto!important;object-fit:contain!important;filter:none!important;opacity:1!important;
}
html body .sunConversation__brand {width:min(360px,calc(100% - 44px));flex:0 1 360px;min-width:0;gap:0}
html body .sunConversation__brand>img {width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;min-width:0!important;object-fit:contain!important;display:block!important;filter:none!important}
html body .sunConversation__top {align-items:center;gap:12px}
html body .sunConversation__close {flex:0 0 32px}
html body .ddn-footer-brand {display:block!important;width:min(360px,100%)!important;max-width:100%!important;margin:0 0 24px!important;padding:0!important;background:transparent!important;border:0!important;text-decoration:none!important;}
html body .ddn-footer-brand>img {display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;filter:none!important;}
html body .v10-brand-patch .ddn-wordmark, html body .v4-property-sign .ddn-wordmark {width:100%!important;height:auto!important;object-fit:contain!important;max-width:280px!important;}
@media(min-width:821px) and (max-width:1490px){html body.ss18 #ss22-header .ss22-brand{width:220px!important;max-width:220px!important;flex-basis:220px!important}}
@media(max-width:820px){html body.ss18 #ss22-header .ss22-brand{width:230px!important;max-width:calc(100vw - 145px)!important;flex-basis:230px!important;min-height:0!important}}
@media(max-width:360px){html body.ss18 #ss22-header .ss22-brand{width:190px!important;max-width:calc(100vw - 124px)!important;flex-basis:190px!important}}


/* assets/dominique-rebrand.css */
/* Contact identity and honest property requests; approved photographs and cards stay intact. */
html body.ss18 #ss22-header#ss22-header{padding-top:24px!important;height:114px!important;min-height:114px!important;box-sizing:border-box!important}
html body #ss22-header .ddn-contact-strip{position:absolute;top:4px;right:28px;left:28px;display:flex;justify-content:flex-end;align-items:center;gap:18px;font-size:11px;line-height:18px;color:#405441;white-space:nowrap}
html body .ddn-contact-strip a{color:inherit;text-decoration:none}
html body .ddn-contact-lockup{display:flex;flex-direction:column;gap:8px;line-height:1.6;font-size:13px}
html body .ddn-phone-pair{display:flex;gap:16px;flex-wrap:wrap}
html body .ddn-neighborhood-support{max-width:1100px;margin:32px auto 48px;padding:24px;line-height:1.75}
html body .ddn-neighbor-links{display:flex;gap:20px;flex-wrap:wrap}
html body main#main .ddn-service-h1{font-size:clamp(28px,4vw,56px)!important;line-height:1.2!important;white-space:normal!important}
html body .ddn-contact-page-details,html body .ddn-about-contact{max-width:960px;margin:24px auto 48px;padding:0 24px;display:flex;flex-direction:column;gap:12px}
html body .ddn-home-faq{max-width:1100px;margin:48px auto;padding:24px;display:grid;gap:24px}
html body .ddn-home-faq article{border-top:1px solid #c8cec1;padding-top:20px}
html body .ddn-home-faq h2{font-size:clamp(24px,3vw,38px);line-height:1.25}
html body .ddn-home-faq h3{font-size:20px;line-height:1.4}
html body .ddn-home-faq p{font-size:16px;line-height:1.75;margin:10px 0}
html body main#main .searchBar.ddn-property-request{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid #c8cec1!important;padding:28px!important;gap:20px!important;background:#f6f4ed!important;box-shadow:none!important;border-radius:0!important;height:auto!important}
html body .ddn-request-copy{grid-column:1/-1;font-size:16px!important;line-height:1.7!important;margin:0!important;text-align:left!important;color:#354535!important;letter-spacing:normal!important;text-transform:none!important}
html body main#main .ddn-property-request label{width:auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;padding:0!important;border:0!important;gap:8px!important}
html body main#main .ddn-property-request :is(input,select){height:48px!important;width:100%!important;border:1px solid #bbc4b6!important;background:white!important;padding:10px!important;box-sizing:border-box!important;color:#283728!important}
html body main#main .ddn-property-request button{grid-column:1/-1;width:auto!important;min-height:48px!important;padding:12px 20px!important;justify-self:start!important}
html body main#main .videoHeroTitle h1{font-size:clamp(24px,3vw,46px)!important;line-height:1.2!important;margin:0 0 12px!important;white-space:normal!important;color:white!important;letter-spacing:normal!important;text-transform:none!important}
html body main#main .ddn-city-h1{font-size:clamp(25px,2.8vw,42px)!important;line-height:1.2!important}
@media(min-width:821px){html body main#main#main#main .propertyCollageHero{width:min(1240px,calc(100% - 48px),calc((100svh - 254px) * 4 / 3))!important}}
@media(max-width:820px){
 html body.ss18 #ss22-header#ss22-header{height:136px!important;min-height:136px!important;padding-top:34px!important}
 html body #ss22-header .ddn-contact-strip{left:10px;right:10px;top:3px;display:grid;grid-template-columns:auto auto;gap:0 14px;justify-content:center;font-size:10px;line-height:15px;text-align:center}
 html body .ddn-contact-strip a:last-child{grid-column:1/-1}
 html body main#main#main#main .propertyCollageHero{width:min(calc(100% - 28px),calc((100svh - 394px) * 4 / 3))!important}
 html body main#main#main#main .propertyCollageTitle h1{font-size:clamp(24px,7vw,32px)!important}
 html body main#main .searchBar.ddn-property-request{grid-template-columns:1fr!important;padding:20px!important;gap:16px!important}
 html body main#main .ddn-property-request button{width:100%!important;white-space:normal!important}
 html body main#main .videoHeroTitle h1{font-size:clamp(22px,6vw,32px)!important;line-height:1.2!important}
}


/* assets/layout-restoration.css */
/* Keep the approved homepage composition and make header contact details readable. */
html body #ss22-header .ddn-contact-strip{font-size:15px!important;line-height:22px!important;gap:22px!important;top:5px!important}
html body.ss18 #ss22-header .ss22-brand{width:320px!important;max-width:320px!important;flex-basis:320px!important}
html body.ss18 #ss22-header#ss22-header{height:138px!important;min-height:138px!important;padding-top:28px!important}
html body main#main#main#main.ss22-home .ss23-home-story>h1.ddn-restored-story-heading{grid-column:1/-1;max-width:960px;margin:0 auto 8px!important;font-size:clamp(28px,2.8vw,40px)!important;font-weight:400!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important;text-align:center!important}
html body main#main#main#main.ss22-home .ss23-home-story>h1.ddn-restored-story-heading em{color:#617153!important}
@media(min-width:821px) and (max-width:1490px){html body.ss18 #ss22-header .ss22-brand{width:260px!important;max-width:260px!important;flex-basis:260px!important}}
@media(min-width:821px){html body main#main#main#main .propertyCollageHero{width:min(1240px,calc(100% - 48px),calc((100svh - 278px) * 4 / 3))!important}}
@media(max-width:820px){
 html body #ss22-header .ddn-contact-strip{font-size:13px!important;line-height:20px!important;gap:0 18px!important;top:4px!important}
 html body.ss18 #ss22-header#ss22-header{height:158px!important;min-height:158px!important;padding:46px 16px 8px!important;gap:8px!important}
 html body.ss18 #ss22-header .ss22-brand{width:calc(100vw - 94px)!important;max-width:300px!important;flex:0 1 auto!important;min-width:0!important}
 html body.ss18 #ss22-header .ss22-menu-toggle{width:54px!important;min-width:54px!important;padding:10px 6px!important;font-size:11px!important;letter-spacing:.08em!important;flex:0 0 54px!important}
 html body main#main#main#main.ss22-home .ss23-home-story>h1.ddn-restored-story-heading{font-size:26px!important}
 html body main#main#main#main .propertyCollageHero{width:min(calc(100% - 28px),calc((100svh - 416px) * 4 / 3))!important}
}

/* Keep every step number attached to its own text in a clearly bounded card. */
html body main#main#main#main#main#main .ss24-roadmap{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;padding:24px 0!important;background:transparent!important;align-items:stretch!important}
html body main#main#main#main#main#main .ss24-roadmap article{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:14px!important;padding:20px!important;border:1px solid #d4d7ca!important;background:#f7f7f2!important;text-align:left!important;align-items:start!important;min-width:0!important}
html body main#main#main#main#main#main .ss24-roadmap article>span{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;margin:0!important;border:0!important;border-radius:3px!important;background:#4b5740!important;color:white!important;font-size:14px!important;line-height:1!important}
html body main#main#main#main#main#main .ss24-roadmap article h3{font-size:21px!important;line-height:1.3!important;margin:3px 0 10px!important;text-align:left!important}
html body main#main#main#main#main#main .ss24-roadmap article p{font-size:15px!important;line-height:1.65!important;margin:0!important;text-align:left!important}
html body main#main#main#main .portfolioParentCardContent{padding:28px 24px!important;min-height:0!important}
html body main#main#main#main .portfolioParentCardContent h2{font-size:26px!important;line-height:1.25!important;font-weight:400!important;margin:0!important;letter-spacing:normal!important;text-transform:none!important}
html body main#main#main#main .ss23-home-portrait img{height:auto!important;aspect-ratio:933 / 1400!important;object-fit:contain!important;max-height:none!important}
@media(max-width:600px){html body main#main#main#main#main#main .ss24-roadmap{grid-template-columns:1fr!important}html body main#main#main#main#main#main .ss24-roadmap article{padding:18px!important}html body main#main#main#main .portfolioParentCardContent{padding:24px 16px!important}}

/* Natural photo proportions, contact breathing room, and editorial portfolio numerals. */
html body main#main#main#main#main.ss22-home .ss22-service-card>img,
html body main#main#main#main#main.ss22-home .ss22-project>img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1400 / 933!important;object-fit:contain!important;object-position:center!important}
html body #ss22-header#ss22-header .ddn-contact-strip{top:14px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:16px!important;line-height:24px!important;letter-spacing:.015em!important;gap:26px!important}
html body.ss18 #ss22-header#ss22-header#ss22-header{height:150px!important;min-height:150px!important;padding-top:40px!important}
html body main#main#main#main#main .portfolioParentCardContent{padding:24px 28px!important}
html body main#main#main#main#main .portfolioParentCardContent h2{display:flex!important;justify-content:center!important;align-items:center!important;gap:20px!important;text-align:left!important}
html body main#main#main#main#main .portfolioParentCardContent .ddn-portfolio-number{font:italic 400 52px/1 Georgia,'Times New Roman',serif!important;color:#617153!important;letter-spacing:-.06em!important;border-right:1px solid #cbd0bf!important;padding-right:22px!important;flex:0 0 auto!important}
html body main#main#main#main#main .portfolioParentCardContent .ddn-portfolio-name{font-size:26px!important;line-height:1.25!important;min-width:0!important}
html body main#main#main#main#main .portfolioParentCard:hover .ddn-portfolio-number{color:#dfe7d4!important;border-color:#8b967e!important}
@media(min-width:821px){html body main#main#main#main#main .propertyCollageHero{width:min(1240px,calc(100% - 48px),calc((100svh - 290px) * 4 / 3))!important}}
@media(max-width:820px){
 html body #ss22-header#ss22-header .ddn-contact-strip{top:12px!important;font-size:14px!important;line-height:21px!important;gap:0 18px!important}
 html body.ss18 #ss22-header#ss22-header#ss22-header{height:170px!important;min-height:170px!important;padding:58px 16px 8px!important}
 html body main#main#main#main#main .propertyCollageHero{width:min(calc(100% - 28px),calc((100svh - 428px) * 4 / 3))!important}
 html body main#main#main#main#main .portfolioParentCardContent{padding:22px 18px!important}
 html body main#main#main#main#main .portfolioParentCardContent h2{gap:14px!important}
 html body main#main#main#main#main .portfolioParentCardContent .ddn-portfolio-number{font-size:44px!important;padding-right:16px!important}
 html body main#main#main#main#main .portfolioParentCardContent .ddn-portfolio-name{font-size:24px!important}
}
html body main#main#main#main#main.ss22-home .ss22-project{aspect-ratio:1400 / 933!important}
html body main#main#main#main#main.ss22-home .ss22-service-card.ss90-home-card{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important}
html body main#main#main#main#main.ss22-home .ss22-service-card>img{flex-shrink:0!important;flex:none!important}

html body #ss22-header#ss22-header .ddn-contact-strip a{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
html body main#main#main#main#main .portfolioParentCardContent .ddn-portfolio-name{text-transform:none!important;letter-spacing:normal!important}


/* assets/mobile-refinements.css */
/* Requested mobile refinements. Desktop rules and layout stay unchanged. */
@media(max-width:820px){
 html body #ss22-header#ss22-header#ss22-header .ss22-menu-toggle{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;letter-spacing:.04em!important;padding:10px 3px!important;display:flex!important;align-items:center!important;justify-content:center!important}
 html body main#main#main#main#main#main.ss22-home .ss23-home-story-copy{box-sizing:border-box!important;padding:26px 24px!important;text-align:center!important}
 html body main#main#main#main#main#main.ss22-home .ss23-home-story-copy p{font-size:16px!important;line-height:1.75!important;text-align:center!important;margin:0 0 22px!important;max-width:100%!important;word-break:normal!important;overflow-wrap:normal!important}
 html body main#main#main#main#main#main.ss22-home .ss23-home-story-copy .ss22-text-link{display:inline-block!important;margin-top:4px!important}
 html body main#main#main#main#main#main .propertyCollageHero{width:calc(100% - 40px)!important;gap:10px!important;margin:12px auto 20px!important;grid-auto-rows:auto!important}
 html body main#main#main#main#main#main .propertyCollageTitle{background:transparent!important;border:0!important;box-shadow:none!important;padding:20px 12px 24px!important;min-height:0!important}
 html body main#main#main#main#main#main .propertyCollageTitle>span{display:block!important;font-size:10px!important;line-height:1.6!important;letter-spacing:.1em!important}
 html body main#main#main#main#main#main .propertyCollageTitle h1{font-size:32px!important;line-height:1.2!important;margin:16px 0!important}
 html body main#main#main#main#main#main .propertyCollageTitle p{font-size:13px!important;line-height:1.6!important;margin:0 auto!important;max-width:360px!important}
 html body main#main#main#main#main#main .propertyCollageHero>figure{width:min(100%,max(96px,calc((100svh - 480px) * .75)))!important;justify-self:center!important;min-height:0!important;height:auto!important}
 html body main#main#main#main#main#main .portfolioParentCard{display:flex!important;flex-direction:column!important;aspect-ratio:auto!important;height:100%!important;overflow:visible!important;background:#fff!important}
 html body main#main#main#main#main#main .portfolioParentCardContent{position:relative!important;inset:auto!important;margin:0!important;width:100%!important;padding:18px 16px!important;min-height:110px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;background:#f8f8f5!important;border:0!important;box-sizing:border-box!important;flex:1!important}
 html body main#main#main#main#main#main .portfolioParentCardContent h2{font-size:22px!important;line-height:1.3!important;margin:0 0 8px!important}
 html body main#main#main#main#main#main.ss22-home .ss22-project{display:flex!important;flex-direction:column!important;aspect-ratio:auto!important;height:100%!important;background:#f8f8f5!important;overflow:visible!important}
 html body main#main#main#main#main#main.ss22-home .ss22-project>img{position:relative!important;inset:auto!important;flex:0 0 auto!important}
 html body main#main#main#main#main#main.ss22-home .ss22-project::after{display:none!important}
 html body main#main#main#main#main#main.ss22-home .ss22-project>span{position:relative!important;inset:auto!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:18px 16px!important;min-height:110px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:#f8f8f5!important;flex:1!important}
 html body main#main#main#main#main#main.ss22-home .ss22-project strong{font-size:22px!important;line-height:1.3!important}
}
@media(max-width:820px){html body main#main#main#main#main#main .propertyCollageTitle::before,html body main#main#main#main#main#main .propertyCollageTitle::after{content:none!important;display:none!important}}
@media(max-width:820px) and (max-height:700px){html body main#main#main#main#main#main .propertyCollageTitle{padding:12px 10px 16px!important}html body main#main#main#main#main#main .propertyCollageTitle h1{font-size:28px!important;line-height:1.18!important;margin:12px 0!important}}

html body main#main#main#main#main#main.ss22-home .ddn-home-about-heading{display:block!important;font:400 36px/1.25 Georgia,serif!important;color:#47533c!important;margin:0 0 22px!important;text-align:center!important}
@media(max-width:820px){html body main#main#main#main#main#main.ss22-home .ddn-home-about-heading{display:block!important;font:400 28px/1.25 Georgia,serif!important;color:#47533c!important;margin:0 0 22px!important;text-align:center!important}}

/* Mobile reading pages match the approved homepage About panel. */
@media(max-width:820px){
 html body.ss4711-reading-page{background:#fff!important}
 html body main#main#main#main#main#main.ss4711-article{padding:28px 22px 44px!important;background:#fff!important}
 html body main#main#main#main#main#main.ss4711-article>.ss4711-copy{background:rgb(245,243,237)!important;border:0!important;padding:26px 24px!important;margin:28px auto 0!important;text-align:center!important;font:400 16px/1.75 Arial,Helvetica,sans-serif!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy :is(section,article,header,aside,.ss4711-section){text-align:center!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy :is(p,li){text-align:center!important;font:400 16px/1.75 Arial,Helvetica,sans-serif!important;overflow-wrap:anywhere!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy p{margin:0 0 22px!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy :is(h2,h3){font:400 28px/1.25 Georgia,serif!important;color:#47533c!important;text-align:center!important;margin:28px 0 18px!important;letter-spacing:normal!important;overflow-wrap:anywhere!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy h3{font-size:24px!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy :is(ul,ol){padding-left:0!important;list-style-position:inside!important;text-align:center!important;margin:0 0 22px!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy li{margin:0 0 14px!important}
 html body main#main#main#main#main#main.ss4711-article .ss4711-copy .ss24-related-links{justify-content:center!important}
}
@media(max-width:820px){html body main#main#main#main#main#main.ss4711-article .ss4711-copy .f4-feature{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}html body main#main#main#main#main#main.ss4711-article .ss4711-copy .f4-feature>strong{display:block!important;font-size:32px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}}
