/* Shared layout and scoped readability refinements; preserve copy and artwork. */
:root{--layout-width:1200px;--layout-gutter:32px;--layout-gap:32px;--layout-section:48px}

/* A shared center line and equal outer margins throughout the seven pages. */
.home-page main .wrap,.homes-page main .wrap,
.about-content .about-container,#services-root #main-content .page-container,#services-root #main-content .hero-inner,
.investors-page .inv-wrap,.how-page .hw-wrap,.contact-page .contact-wrap,
.legacy-header .legacy-header-inner,.legacy-footer .legacy-footer-inner{
  width:min(var(--layout-width),calc(100% - 2 * var(--layout-gutter)));
  max-width:var(--layout-width);margin-inline:auto;min-width:0;
}
.home-page .hero-grid{padding-inline:0}
.home-page .home-services,.home-page .process,.home-page .values,
.how-page .hw-process,.how-page .hw-options,.how-page .hw-practical,
.investors-page .inv-options,.investors-page .inv-rental,.investors-page .inv-wholesale,
.investors-page .inv-planning,.investors-page .inv-inquiry{
  padding-block:var(--layout-section);
}

/* Home: aligned rows, matched action widths, and centered dividers. */
.home-page .home-services-grid{gap:24px}
.home-page .home-service-card{padding:24px;min-width:0}
.home-page .home-service-card h3{min-height:2.34em}
.home-page .hero-actions .btn{flex:1 1 180px}
.home-page .hero-actions{max-width:540px;align-items:stretch}
.home-page .values-grid{gap:var(--layout-gap)}
.home-page .value{position:relative;border:0;padding-inline:16px}
.home-page .value+.value:before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:1px;background:var(--line)}
.home-page .value h3{min-height:2.4em}
.home-page .step{min-width:0}
.home-page .step>div{min-width:0}
.home-page .step .icon{margin-left:0}
.home-page .step h3{min-height:2.08em}
.home-page .step-number{margin-top:0}
.home-page .purpose{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-page .purpose-image,.home-page .purpose-copy{padding-block:32px}
.home-page .purpose-image{padding-left:max(var(--layout-gutter),calc((100vw - var(--layout-width))/2));padding-right:32px}
.home-page .purpose-copy{padding-left:32px;padding-right:max(var(--layout-gutter),calc((100vw - var(--layout-width))/2))}
.home-page .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap)}

/* Browse Homes: even benefit columns, filters, and card actions. */
.homes-page .benefits-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:center}
.homes-page .manufacturer{padding:0 24px 0 0;min-width:0}
.homes-page .benefit{min-width:0;justify-content:center}
.homes-page .home-grid{gap:24px}
.homes-page .home-card .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.homes-page .card-actions>.button,.homes-page .card-actions>.details-link{width:100%;min-width:0;justify-content:center;white-space:normal;text-align:center}
.homes-page .project-grid{gap:48px}
.homes-page .project-offer{position:relative;min-width:0}
.homes-page .project-offer:first-child{padding-right:0;border-right:0}
.homes-page .project-offer:first-child:after{content:"";position:absolute;top:0;bottom:0;right:-24px;width:1px;background:#eee4d4aa}
.homes-page .project-offer>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;align-self:stretch}
.homes-page .project-offer h2{min-height:2.1em}
.homes-page .project-offer .button{margin-top:auto}
.homes-page .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap)}

/* Services: natural card heights and enough room for readable offer copy. */
#services-root #main-content .choice-section{padding-block:24px}
#services-root #main-content .section-heading{padding-block:10px 18px}
#services-root #main-content .choice-grid{gap:12px}
#services-root #main-content .choice-card{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:18px 14px 36px}
#services-root #main-content .choice-card h3{min-height:2.5em}
#services-root #main-content .choice-card .card-arrow{bottom:12px;right:14px}
#services-root #main-content .services-section{padding-block:24px 32px}
#services-root #main-content .services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#services-root #main-content .service-card{padding:20px 18px;align-items:start}
#services-root #main-content .service-card>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#services-root #main-content .service-card h3{min-height:0;margin-bottom:8px}
#services-root #main-content .service-card .detail-link{margin-top:auto;padding-top:8px}
#services-root #main-content .service-card>div{height:100%}
#services-root #main-content .featured-section,#services-root #main-content .inquiry-section{
  width:min(var(--layout-width),calc(100% - 2 * var(--layout-gutter)));margin-inline:auto;
}
#services-root #main-content .featured-section{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:0 28px;align-items:start}
#services-root #main-content .property-offers{padding:20px}
#services-root #main-content .property-offers .section-heading{padding-top:0}
#services-root #main-content .property-grid{column-gap:16px}
#services-root #main-content .offer-card{padding:18px 16px}
#services-root #main-content .property-offers>.related-services,#services-root #main-content .offer-pricing-note{margin-inline:0}
/* Give the original bright photo its own space beyond the copy column. */
#services-root #main-content .wholesale{margin:0;min-width:0;min-height:0;border-radius:4px;background:#002550}
#services-root #main-content .wholesale-image{inset:0 0 0 auto;width:48%;height:100%;object-fit:cover;object-position:right center}
#services-root #main-content .wholesale:before{inset:0 0 0 auto;width:48%;background:linear-gradient(90deg,#002550,rgba(0,37,80,.4) 18%,transparent 42%)}
#services-root #main-content .wholesale-copy{width:52%;padding:32px;max-width:none}
#services-root #main-content .wholesale-copy>p:not(.scope-note),#services-root #main-content .wholesale .scope-note,#services-root #main-content .wholesale .related-services{max-width:none}
#services-root #main-content .wholesale .gold-button{max-width:100%;min-height:44px;height:auto;line-height:1.4;white-space:normal}
#services-root #main-content .wholesale .gold-button svg{flex:none}
#services-root #main-content .wholesale :is(a,button):focus-visible{outline:2px solid #fff;outline-offset:3px}
#services-root #main-content .inquiry-heading{display:block;margin-bottom:16px}
#services-root #main-content .inquiry-heading .required-note{min-width:0;text-align:left;margin-top:8px}

/* About: a centered introduction above four equal experience columns. */
.about-content .about-experience-band,.about-content .about-clearer-path,
.about-content .about-family-section,.about-content .simplified-approach,
.about-content .about-values-section{padding-block:var(--layout-section);min-height:0}
.about-content .about-experience-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--layout-gap);row-gap:0;padding:0}
.about-content .about-experience-intro{grid-column:1/-1;text-align:center;padding-top:16px;margin-bottom:28px}
.about-content .about-experience-intro:before{left:50%;transform:translateX(-50%)}
.about-content .about-experience-intro h2{white-space:normal}
.about-content .about-experience-motto,.about-content .about-experience-story{max-width:760px;margin-inline:auto;padding-right:0}
.about-content .about-experience-motto .about-copy-line{display:inline}
.about-content .about-stat{display:grid;grid-template-rows:auto auto 1fr auto;align-content:start;min-width:0;padding-inline:8px}
.about-content .about-stat .about-stat-number{min-height:56px;margin:12px 0 0;display:flex;align-items:center;justify-content:center;white-space:normal}
.about-content .about-stat .about-stat-label{margin:8px 0 0;min-height:3.75em}
.about-content .about-stat .about-stat-support{margin:12px 0 0;align-self:start}
.about-content .about-stat+.about-stat:before{display:block;left:-16px;top:0;bottom:0;height:auto;width:1px}
.about-content .about-experience-qualifier{margin-top:28px;padding:16px 0 0}
.about-content .about-path-grid,.about-content .about-family-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:center}
.about-content .about-road-photo,.about-content .about-family-photo{margin-top:0}
.about-content .about-our-approach>h2{text-align:center;margin:0}
.about-content .simplified-approach .about-approach-grid{gap:var(--layout-gap);margin-top:28px}
.about-content .about-approach{display:flex;flex-direction:column;align-items:center;min-width:0;padding-inline:16px;text-align:center}
.about-content .about-approach>.about-icon{margin-inline:auto}
.about-content .about-approach h3{text-align:center;margin-top:16px;min-height:2.24em}
.about-content .about-approach p{margin-top:8px}
.about-content .about-approach+.about-approach:before{left:-16px;top:0;bottom:0;height:auto}
.about-content .about-values-layout{gap:48px}
.about-content .about-purpose:before{left:-24px}
.about-content .about-values-grid{gap:28px 24px}
.about-content .about-value-title{min-height:3.3em}
.about-content .about-contact-row{justify-content:space-between}

/* How It Works: equal paired options and shared step/title baselines. */
.how-page .hw-options-grid{gap:64px}
.how-page .hw-option{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0;position:relative}
.how-page .hw-option:first-child{border-right:0;padding-left:0}
.how-page .hw-option:first-child:after{content:"";position:absolute;right:-32px;top:0;bottom:0;width:1px;background:#cbbda7}
.how-page .hw-option .hw-link{margin-top:auto;padding-top:16px}
.how-page .hw-option>p:not(.hw-eyebrow){margin-bottom:16px}
.how-page .hw-steps{gap:28px}
.how-page .hw-steps h3{min-height:2.16em}
.how-page .hw-practical-grid h3{min-height:2.16em}
.how-page .hw-practical-grid{gap:var(--layout-gap)}

/* Investors: mirrored insets, equal halves, and level inquiry links. */
.investors-page .inv-option:nth-child(n){padding:28px;min-width:0}
.investors-page .inv-option>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;align-self:stretch}
.investors-page .inv-option h3{min-height:2.12em}
.investors-page .inv-option p{max-width:none;margin-bottom:14px!important}
.investors-page .inv-option .inv-text-link{margin-top:auto}
.investors-page .inv-rental-inner,.investors-page .inv-wholesale,.investors-page .inv-inquiry-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.investors-page .inv-wholesale-action{position:relative;border-left:0;padding-left:0}
.investors-page .inv-wholesale-action:before{content:"";position:absolute;left:-24px;top:0;bottom:0;width:1px;background:var(--inv-line)}
.investors-page .inv-inquiry-copy{padding-top:26px}
.investors-page .inv-planning li{display:flex;align-items:center;justify-content:center}
.investors-page .inv-form-grid{align-items:start}

/* Contact: equal columns and aligned heading tops inside copy and form. */
.contact-page .contact-intro{padding-block:var(--layout-section)}
.contact-page .contact-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-bottom:var(--layout-section)}
.contact-page .contact-copy{padding-top:32px}
.contact-page .contact-card{padding:32px}
.contact-page .contact-methods li{gap:20px}
.contact-page .contact-partners>.contact-wrap{align-items:center}

/* Automatic shared rows expand with text instead of clipping it. */
@supports(grid-template-rows:subgrid){
  .home-page .home-service-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-items:start}
  .home-page .home-service-card h3{min-height:0}
  .home-page .value{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .home-page .value h3{min-height:0}
  .home-page .step{grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .home-page .step-number{grid-row:1/4;align-self:start}
  .home-page .step>div{display:grid;grid-template-rows:subgrid;grid-row:1/4;row-gap:0}
  .home-page .step h3{min-height:0}
  .about-content .about-stat{grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
  .about-content .about-stat .about-stat-label{min-height:0}
  .about-content .about-approach{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 3;row-gap:0;justify-items:center}
  .about-content .about-approach h3{min-height:0}
  .about-content .about-value{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
  .about-content .about-value-title{min-height:0}
  .how-page .hw-steps li{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;align-content:start}
  .how-page .hw-steps h3{min-height:0}
  .how-page .hw-practical-grid article{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;justify-items:start}
  .how-page .hw-practical-grid h3{min-height:0}
  .how-page .hw-option{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;justify-items:start}
  .investors-page .inv-option{grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .investors-page .inv-option>.inv-service-icon{grid-row:1/4}
  .investors-page .inv-option>div{display:grid;grid-template-rows:subgrid;grid-row:1/4;row-gap:0;justify-items:start}
  .investors-page .inv-option h3{min-height:0}
}

/* Keep the two prices and request buttons aligned without confining the
   entire description beside the illustration. */
@media(min-width:521px){
  @supports(grid-template-rows:subgrid){
    #services-root #main-content .offer-content>.offer-image{grid-row:1 / span 2}
    #services-root #main-content .offer-content p{grid-column:1 / -1;grid-row:3;margin-top:12px}
  }
}

@media(min-width:1101px){
  .legacy-footer .legacy-footer-top{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
}
@media(max-width:1100px){
  #services-root #main-content .featured-section{grid-template-columns:minmax(0,1fr)}
  #services-root #main-content .wholesale-copy{max-width:660px}
  .investors-page .inv-option:nth-child(n){padding:24px}
  .investors-page .inv-rental-inner,.investors-page .inv-wholesale,.investors-page .inv-inquiry-inner,.contact-page .contact-layout{gap:32px}
  .investors-page .inv-wholesale-action:before{left:-16px}
  .investors-page .inv-inquiry-copy{padding-top:22px}
  .legacy-footer .legacy-footer-top{gap:24px}
}
@media(max-width:1000px){
  .homes-page .benefits-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homes-page .manufacturer{padding:0;border-right:0}
  .homes-page .benefit{justify-content:flex-start}
  .about-content .about-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0}
  .about-content .about-stat{padding-block:16px}
  .about-content .about-stat:nth-child(even):before{display:none}
  .about-content .about-stat:nth-child(odd):before{display:block}
}
@media(max-width:900px){
  #services-root #main-content .wholesale{margin-inline:0;display:flex;flex-direction:column}
  #services-root #main-content .wholesale-copy{width:100%;max-width:none;padding:24px;order:0}
  #services-root #main-content .wholesale-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2;object-fit:cover;object-position:70% 60%;order:1;z-index:auto}
  #services-root #main-content .wholesale:before{display:none}
  #services-root #main-content .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #services-root #main-content .service-card:last-child{grid-column:1/-1;width:calc((100% - 16px)/2);justify-self:center}
  .about-content .about-path-grid,.about-content .about-family-section{grid-template-columns:1fr}
  .about-content .about-approach p{grid-column:auto}
  .about-content .about-values-layout{gap:36px}
  .home-page .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
  .home-page .step:nth-child(2):after{display:none}
  .home-page .step:not(:last-child):after{right:-28px}
}
@media(max-width:800px){
  .home-page .contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--layout-gutter:20px;--layout-gap:24px;--layout-section:36px}
  .home-page .purpose{grid-template-columns:1fr}
  .home-page .purpose-image,.home-page .purpose-copy{padding:28px var(--layout-gutter)}
  .home-page .value+.value:before{display:none}
  .home-page .value h3,.home-page .home-service-card h3{min-height:0}
  .homes-page .contact-grid{grid-template-columns:1fr}
  .homes-page .project-grid{grid-template-columns:1fr;gap:32px}
  .homes-page .project-offer:first-child:after{display:none}
  .homes-page .project-offer h2{min-height:0}
  .homes-page .project-offer .button{margin-top:8px}
  .how-page .hw-options-grid{gap:0}
  .how-page .hw-option:first-child:after{display:none}
  .how-page .hw-option h3,.how-page .hw-practical-grid h3{min-height:0}
  .how-page .hw-option .hw-link{padding-top:5px;margin-top:0}
  .investors-page .inv-option:nth-child(n){padding:24px 0}
  .investors-page .inv-rental-inner,.investors-page .inv-wholesale,.investors-page .inv-inquiry-inner,.contact-page .contact-layout{grid-template-columns:1fr;gap:28px}
  .investors-page .inv-wholesale-action:before{display:none}
  .investors-page .inv-option h3{min-height:0}
  .investors-page .inv-inquiry-copy{padding-top:0}
  .contact-page .contact-card{padding:26px 22px}
  .contact-page .contact-copy{padding-top:0}
  .contact-page .contact-copy>p{max-width:none}
  .legacy-footer .legacy-footer-top{column-gap:24px}
}
@media(max-width:600px){
  #services-root #main-content .services-grid{grid-template-columns:1fr}
  #services-root #main-content .service-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .about-content .simplified-approach .about-approach-grid{grid-template-columns:1fr}
  .about-content .about-approach{padding-inline:0}
  .about-content .about-approach h3{min-height:0}
  .about-content .about-hero-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:420px}
  .about-content .about-hero-actions .about-button{width:100%;min-width:0}
  .about-content .about-contact-row{justify-content:flex-start}
}
@media(max-width:640px){
  .home-page .step{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto;grid-row:auto;gap:14px}
  .home-page .step-number{grid-row:auto}
  .home-page .step>div{display:block;grid-row:auto}
  .home-page .step .icon{position:static;inset:auto;margin:0 0 8px}
}
@media(max-width:520px){
  #services-root #main-content .property-offers{padding:20px 16px}
  #services-root #main-content .offer-content{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 16px;align-items:start}
  #services-root #main-content .offer-content>div{display:contents}
  #services-root #main-content .offer-content>.offer-image{grid-column:1;grid-row:1 / span 2}
  #services-root #main-content .offer-content h3{grid-column:2;grid-row:1}
  #services-root #main-content .offer-pricing{grid-column:2;grid-row:2}
  #services-root #main-content .offer-content p{grid-column:1 / -1;grid-row:3;margin-top:12px}
  #services-root #main-content .choice-card{padding:18px 14px 36px}
  #services-root #main-content .choice-card h3{min-height:0}
  .homes-page .home-card .card-actions{grid-template-columns:1fr;gap:8px}
  .home-page .contact-actions{grid-template-columns:1fr}
  .home-page .steps{grid-template-columns:1fr;gap:24px}
  .home-page .step:not(:last-child):after{display:none}
}
@media(max-width:380px){
  :root{--layout-gutter:16px}
  .homes-page .benefits-inner{grid-template-columns:1fr}
  .contact-page .contact-card{padding:24px 18px}
  .about-content .about-stat{padding-inline:0}
  .legacy-footer .legacy-footer-top{column-gap:18px}
}
