/* Review v27: requested image fit, visible text, search, captions and footer spacing.
   The approved Portfolio and Marketing/Concierge hero layouts are not restyled. */
:root{--v27-sage:#48533e;--v27-sage-soft:#e8e9e1;--v27-paper:#f8f7f3;--v27-ink:#30382e;--v27-rule:#cdd1c3}

/* Full image, at its intrinsic aspect ratio: no cropped heads or clipped frames. */
html body.ss18 #main img.v27-natural-photo{
 display:block!important;width:100%!important;height:auto!important;min-height:0!important;
 max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;
 object-fit:contain!important;object-position:center center!important;transform:none!important;
}
html body.ss18 #main .v27-photo-frame{
 height:auto!important;min-height:0!important;aspect-ratio:auto!important;
 overflow:visible!important;background:transparent!important;
}
html body.ss18 #main .ss22-service-card{overflow:visible!important}
html body.ss18 #main .ss22-service-card>img.v27-natural-photo{aspect-ratio:auto!important;object-fit:contain!important}
html body.ss18 #main .ss18-card-photo{aspect-ratio:auto!important;height:auto!important;min-height:0!important}
html body.ss18 #main .ss18-card-photo img.v27-natural-photo{max-height:none!important}
html body.ss18 #main .final-design-gallery figure{background:transparent!important}
html body.ss18 #main .final-design-gallery img{background:transparent!important}

/* The Coming Soon photos are landscape originals, not portrait crops. */
html body.ss18 #main #coming-soon.ss90-marketing-coming{
 display:grid!important;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;
 align-items:center!important;gap:28px!important;max-width:1200px!important;
 margin:0 auto!important;padding:34px 32px!important;
}
html body.ss18 #main #coming-soon .ss24-chapter-copy{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
html body.ss18 #main #coming-soon .v27-full-collage{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:auto auto!important;gap:14px!important;width:100%!important;height:auto!important;
 align-items:start!important;
}
html body.ss18 #main #coming-soon .v27-full-collage figure{
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 grid-row:auto!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;
 overflow:visible!important;background:transparent!important;
}
html body.ss18 #main #coming-soon .v27-full-collage figure:first-child{grid-column:1/-1!important;grid-row:auto!important}
html body.ss18 #main #coming-soon .v27-full-collage img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important}

/* Joined property preference bar, matching the reference structure in the sage palette. */
html body.ss18 #main.ss22-home .ss22-search{
 display:block!important;margin:0!important;padding:40px 24px 44px!important;
 background:var(--v27-sage-soft)!important;border-top:1px solid var(--v27-rule)!important;
 border-bottom:1px solid var(--v27-rule)!important;
}
html body.ss18 #main.ss22-home .ss22-search .homeSearchBelowStoryInner{max-width:1120px!important;margin:0 auto!important}
html body.ss18 #main.ss22-home .ss22-search .homeSearchKicker{display:block!important;text-align:center!important;margin:0 0 12px!important;font-size:11px!important;letter-spacing:.18em!important;line-height:1.5!important;color:var(--v27-sage)!important}
html body.ss18 #main.ss22-home .ss22-search h2{font-size:clamp(28px,3.1vw,42px)!important;text-align:center!important;line-height:1.2!important;margin:0 0 26px!important}
html body.ss18 #main.ss22-home .ss22-search .heroSearch{display:block!important;position:static!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body.ss18 #main.ss22-home .ss22-search .searchBar{
 display:grid!important;grid-template-columns:minmax(180px,1.9fr) minmax(100px,1fr) minmax(100px,1fr) minmax(130px,1fr) minmax(155px,1fr)!important;
 gap:0!important;align-items:stretch!important;border:1px solid var(--v27-rule)!important;background:#fff!important;
 box-shadow:0 12px 24px rgba(48,56,46,.08)!important;border-radius:0!important;margin:0!important;padding:0!important;
}
html body.ss18 #main.ss22-home .ss22-search .searchBar label{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;margin:0!important;padding:12px 14px!important;min-width:0!important;background:#fff!important;border:0!important;border-right:1px solid #dcded5!important}
html body.ss18 #main.ss22-home .ss22-search .searchBar label>span{font-size:10px!important;line-height:1.3!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--v27-ink)!important}
html body.ss18 #main.ss22-home .ss22-search .searchBar :is(input,select){width:100%!important;min-width:0!important;height:26px!important;line-height:1.4!important;font-size:14px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--v27-ink)!important;box-shadow:none!important}
html body.ss18 #main.ss22-home .ss22-search input::placeholder{color:#666d5f!important;opacity:1!important}
html body.ss18 #main.ss22-home .ss22-search .searchBar button{height:100%!important;min-height:72px!important;padding:14px 18px!important;border:0!important;background:var(--v27-sage)!important;color:#fff!important;font-size:11px!important;font-weight:600!important;letter-spacing:.09em!important;text-transform:uppercase!important;white-space:normal!important}

/* Center standalone titles/descriptions, preserve deliberately split page heroes. */
html body.ss18 #main .v27-title-block,
html body.ss18 #main .v27-title-block :is(h1,p){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body.ss18 #main :is(.qTitle,.loanHubHero,.ss23-guide-title) + p{max-width:820px!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body.ss18 #main .buyHero{background:var(--v27-paper)!important;position:relative!important;max-width:1280px!important;margin:0 auto!important;min-height:0!important}
html body.ss18 #main .buyHero::before,html body.ss18 #main .buyHero::after{content:none!important;display:none!important}
html body.ss18 #main .buyHeroCopy{max-width:850px!important;margin:0 auto!important;text-align:center!important}
html body.ss18 #main .buyHeroCopy :is(h1,p,span){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body.ss18 #main .buyHeroCopy p{max-width:720px!important}
html body.ss18 #main .buyHero>figure{max-width:850px!important;margin:0 auto!important}
html body.ss18 #main .buyHero>figure img{max-height:560px!important;object-fit:contain!important}

/* Captions align with the image they describe. */
html body.ss18 #main .v27-centered-caption{text-align:center!important;position:static!important;margin:0!important;padding:12px 10px!important;line-height:1.5!important}
html body.ss18 #main .final-design-gallery{margin-top:28px!important;margin-bottom:26px!important}
html body.ss18 #main .final-design-gallery .v27-centered-caption{font-size:14px!important;color:var(--v27-ink)!important}

/* One compact gap between the last content section and the footer. */
html body.ss18 #main.v27-review:not(.ss22-home){padding-bottom:36px!important}
html body.ss18 #main .final-single-cta{margin-top:30px!important;margin-bottom:0!important;padding:28px 24px!important;box-sizing:border-box!important}
html body.ss18 #main .final-single-cta [data-sun-conversation-open],
html body.ss18 #main .v27-primary-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--v27-sage)!important;border:1px solid var(--v27-sage)!important;color:#fff!important;padding:14px 22px!important;text-align:center!important;text-decoration:none!important;font-size:14px!important;line-height:1.4!important;min-height:44px!important;box-sizing:border-box!important}
html body.ss18 #main .final-single-cta h2{font-size:clamp(25px,2.6vw,36px)!important;margin:0 0 18px!important}
html body.ss18 #main .final-about-bottom{margin-bottom:0!important}
html body.ss18 #main .final-buyer-steps.v27-steps-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body.ss18 #main .final-buyer-steps.v27-steps-5>article:last-child{grid-column:1/-1!important}
html body.ss18 #main .final-buyer-steps article{padding:24px!important;min-height:0!important}
html body.ss18 #main .final-buyer-steps h2{font-size:clamp(22px,2.1vw,29px)!important;margin:0 0 12px!important}
html body.ss18 #main .final-buyer-steps p{font-size:16px!important;line-height:1.7!important}

/* The free evaluation is a distinct sage section, not pale text lost on the page. */
html body.ss18 #main .v27-evaluation-panel{
 display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;
 max-width:1100px!important;width:calc(100% - 48px)!important;gap:34px!important;
 align-items:center!important;margin:30px auto 0!important;padding:32px!important;
 background:var(--v27-sage)!important;color:#fff!important;box-sizing:border-box!important;
}
html body.ss18 #main .v27-evaluation-panel :is(h2,p,span){color:#fff!important}
html body.ss18 #main .v27-evaluation-panel h2{font-size:clamp(26px,2.7vw,36px)!important;margin:10px 0 0!important}
html body.ss18 #main .v27-evaluation-panel p{margin:0 0 18px!important;line-height:1.7!important}
html body.ss18 #main .v27-evaluation-panel .v27-primary-action{background:#fff!important;border-color:#fff!important;color:var(--v27-sage)!important}
html body.ss18 #main.ss90-evaluation .ss90-eval-hero,
html body.ss18 #main.ss90-design-questions .ss90-design-hero{padding:34px 24px!important;max-width:1200px!important;margin:0 auto!important;min-height:0!important;align-items:center!important;gap:40px!important}
html body.ss18 #main.ss90-evaluation .ss90-eval-hero figure,
html body.ss18 #main.ss90-design-questions .ss90-design-hero figure{margin:0!important}
html body.ss18 #main .ss90-eval-grid{max-width:1200px!important;margin:0 auto!important}
html body.ss18 #main .ss90-eval-grid article{padding:24px!important;min-height:0!important}

/* Restore the designer questions as visible, illustrated content, never a reveal control. */
html body.ss18 #main .v27-design-questions{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 max-width:1200px!important;margin:0 auto!important;padding:12px 24px 0!important;gap:24px!important;align-items:start!important;
}
html body.ss18 #main .v27-design-question{display:block!important;min-width:0!important;background:#fff!important;border:1px solid var(--v27-rule)!important;overflow:hidden!important}
html body.ss18 #main .v27-design-question figure{margin:0!important}
html body.ss18 #main .v27-design-question>div{padding:22px!important}
html body.ss18 #main .v27-design-question h2{font-size:clamp(21px,1.8vw,25px)!important;line-height:1.3!important;letter-spacing:-.02em!important;text-align:center!important;margin:0 0 14px!important}
html body.ss18 #main .v27-design-question p{font-size:15px!important;line-height:1.7!important;margin:0!important;color:var(--v27-ink)!important}

/* Remove the single unrelated decorative number without leaving its empty column. */
html body.ss18 #main .ss91-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;max-width:1200px!important;padding:32px 24px!important;margin:0 auto!important;gap:36px!important}
/* These sections actually have dark backgrounds; text cannot inherit the global dark ink. */
html body.ss18 #main .ss91-process :is(h2,h3,p,span){color:#fff!important}
html body.ss18 #main .ss91-process{background:var(--v27-sage)!important}
html body.ss18 #main .buyerChapterText{background:var(--v27-sage-soft)!important;color:var(--v27-ink)!important}
html body.ss18 #main .buyerChapterText :is(h3,p,span,a){color:var(--v27-ink)!important}
html body.ss18 #main .firstBuyerClarityHeader :is(h2,p,small){color:#fff!important}

/* Readability classes are set only on text failing contrast checks. */
html body.ss18 #main .v27-readable-on-dark,html body.ss18 .sunConversation .v27-readable-on-dark{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.ss18 #main .v27-readable-on-light,html body.ss18 .sunConversation .v27-readable-on-light{color:#30382e!important;-webkit-text-fill-color:#30382e!important}
html body.ss18 #main .v27-centered-caption.v27-readable-on-light{color:#30382e!important}
html body.ss18 #main .v27-hidden-duplicate{display:none!important}

@media(max-width:900px){
 html body.ss18 #main #coming-soon.ss90-marketing-coming{grid-template-columns:1fr!important;padding:28px 24px!important;gap:24px!important}
 html body.ss18 #main #coming-soon .ss24-chapter-copy{max-width:740px!important;margin:0 auto!important}
 html body.ss18 #main #coming-soon .v27-full-collage{max-width:740px!important;margin:0 auto!important}
 html body.ss18 #main .v27-design-questions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.ss18 #main .final-buyer-steps.v27-steps-3{grid-template-columns:1fr!important}
 html body.ss18 #main.ss22-home .ss22-search .searchBar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.ss18 #main.ss22-home .ss22-search .searchBar label{border-bottom:1px solid var(--v27-rule)!important}
 html body.ss18 #main.ss22-home .ss22-search .searchBar button{grid-column:1/-1!important;min-height:52px!important}
}
@media(max-width:620px){
 html body.ss18 #main .v27-evaluation-panel{grid-template-columns:1fr!important;gap:22px!important;padding:26px 22px!important;width:calc(100% - 36px)!important;text-align:center!important}
 html body.ss18 #main .v27-design-questions{grid-template-columns:1fr!important;padding:8px 18px 0!important;gap:22px!important}
 html body.ss18 #main .ss91-intro{grid-template-columns:1fr!important;gap:18px!important}
 html body.ss18 #main .final-single-cta{margin-left:18px!important;margin-right:18px!important}
 html body.ss18 #main.v27-review:not(.ss22-home){padding-bottom:28px!important}
 html body.ss18 #main #coming-soon .v27-full-collage{grid-template-columns:1fr!important}
 html body.ss18 #main #coming-soon .v27-full-collage figure:first-child{grid-column:auto!important}
 html body.ss18 #main .final-buyer-steps.v27-steps-5>article:last-child{grid-column:auto!important}
 html body.ss18 #main.ss22-home .ss22-search{padding:30px 18px!important}
 html body.ss18 #main.ss22-home .ss22-search h2{font-size:28px!important}
 html body.ss18 #main.ss90-evaluation .ss90-eval-hero,html body.ss18 #main.ss90-design-questions .ss90-design-hero{grid-template-columns:1fr!important;padding:28px 18px!important;gap:22px!important}
}

html body footer .ss22-footer-action[hidden]{display:none!important}

/* Life Changes uses a more specific legacy selector: override both its frame and photo. */
html body.ss18 #main.v27-review .loanHubItem .ss18-card-photo.v27-photo-frame{
 height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;
}
html body.ss18 #main.v27-review .loanHubItem .ss18-card-photo img.v27-natural-photo{
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;
}
html body.ss18 #main.v27-review .loanHubItem{height:auto!important;min-height:0!important;align-self:start!important;}
html body.ss18 #main.v27-review .loanHubItem .final-static-answer{
 display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
 height:auto!important;min-height:0!important;padding:20px!important;gap:12px!important;
}
html body.ss18 #main.v27-review .loanHubItem .final-static-answer .topic{
 display:block!important;position:static!important;margin:0!important;padding:0!important;
 text-align:center!important;line-height:1.4!important;
}
html body.ss18 #main.v27-review .loanHubItem .final-static-answer h2{
 display:block!important;position:static!important;inset:auto!important;height:auto!important;
 min-height:0!important;margin:0!important;padding:0!important;transform:none!important;
 font-size:22px!important;line-height:1.3!important;text-align:center!important;
}
html body.ss18 #main.v27-review .loanHubItem .final-static-answer-copy{
 height:auto!important;min-height:0!important;padding:12px 0 0!important;margin:0!important;
}
html body.ss18 #main.v27-review .loanHubItem .loanLearn{
 height:auto!important;min-height:0!important;margin:0!important;padding:14px 20px!important;
}
html body.ss18 #main.v27-review .loanHubGrid{align-items:start!important;}

/* A naturally sized photo must not be clipped by an older fixed-height outer grid. */
html body.ss18 #main.v27-review .propertyCollageHero{
 height:auto!important;min-height:0!important;grid-template-rows:auto auto!important;
 overflow:visible!important;
}
html body.ss18 #main.v27-review .propertyCollageHero figure.v27-photo-frame{
 height:auto!important;min-height:0!important;overflow:visible!important;
}
html body.ss18 #main.v27-review .ss23-regions>a{
 height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;
 display:flex!important;flex-direction:column!important;background:#fff!important;
}
html body.ss18 #main.v27-review .ss23-regions>a>.ss23-region-caption{
 position:static!important;inset:auto!important;transform:none!important;width:auto!important;
 margin:0!important;padding:18px!important;min-height:0!important;text-align:center!important;
}

/* Content stays visible while scrolling; Portfolio controls are untouched. */
html body.ss18 #main .v27-visible-details{
 display:block!important;max-width:1100px;margin:16px auto;padding:20px 24px;
 border-top:1px solid var(--v27-rule);height:auto!important;min-height:0!important;
}
html body.ss18 #main .v27-visible-details>h3{
 display:block!important;cursor:default!important;font-size:21px!important;line-height:1.4!important;
 margin:0 0 12px!important;padding:0!important;color:var(--v27-ink)!important;
}
html body.ss18 #main .v27-visible-details>h3::before,
html body.ss18 #main .v27-visible-details>h3::after{content:none!important;display:none!important;}
html body.ss18 #main .v27-visible-details p{font-size:16px!important;line-height:1.7!important;margin:0 0 12px!important;}
html body.ss18 #main .ss24-property-invitation [data-sun-conversation-open]{
 display:inline-flex!important;margin-top:18px!important;align-items:center!important;
 justify-content:center!important;background:var(--v27-sage)!important;color:#fff!important;
 border:1px solid var(--v27-sage)!important;padding:14px 22px!important;text-decoration:none!important;
}
