/* Vendor partnership: editorial photo and copy, followed by six practical services. */
#vendors{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);background:#38463a;color:#f6f2e9;align-items:stretch}
#vendors .vendor-photo{height:auto;min-height:0;position:relative;align-self:stretch;overflow:hidden}
#vendors .vendor-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;filter:saturate(.9)}
#vendors .vendor-copy{min-width:0;padding:clamp(44px,4.3vw,68px) clamp(36px,5vw,80px);align-items:flex-start;background:linear-gradient(135deg,#ffffff03,transparent)}
#vendors .vendor-partnership-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.3vw,54px);line-height:1.16;letter-spacing:-.025em;margin:0 0 22px;max-width:100%}
#vendors .vendor-partnership-title>span,#vendors .vendor-partnership-title>em{display:block;white-space:normal;font-weight:400;font-style:normal;margin:0}
#vendors .vendor-partnership-title:after{content:'';display:block;width:62px;height:1px;background:#b4aa8d;margin-top:26px}
#vendors .vendor-copy .vendor-lede{font-family:Georgia,'Times New Roman',serif;font-size:20px!important;line-height:1.6!important;color:#f1eee3!important;margin:0 0 24px;max-width:34ch}
#vendors .vendor-copy>p:not(.vendor-lede){font-size:15px;line-height:1.8;color:#d6dbcf;margin:0;max-width:58ch}
#vendors .vendor-copy>.button-light{margin-top:30px;min-height:58px;padding:18px 24px;gap:30px;background:#f2eee2;border-color:#f2eee2;color:#29372b;letter-spacing:.12em;font-size:11px;line-height:1.5;white-space:normal;max-width:100%}
#vendors .vendor-copy>.button-light:hover{background:#fffaf0;border-color:#fffaf0}
#vendors .vendor-copy>.button-light .ui-symbol{height:20px;width:20px}
#vendors .vendor-benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:22px 3.5% 26px;border-top:1px solid #b2b59a66;background:#ffffff03}
#vendors .vendor-benefits article{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:20px;min-width:0;padding:28px 26px}
#vendors .vendor-benefits article:not(:nth-child(3n)){border-right:1px solid #b2b59a4d}
#vendors .vendor-benefits article:nth-child(n+4){border-top:1px solid #b2b59a4d}
#vendors .vendor-service-icon{display:grid;place-items:center;width:48px;height:48px;color:#c3b28e;border:1px solid #b9a88199;border-radius:12px}
#vendors .vendor-service-icon svg{width:28px;height:28px;display:block}
#vendors .vendor-service-copy{min-width:0}
#vendors .vendor-benefits h3{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;line-height:1.3;margin:1px 0 9px;color:#f2eee3}
#vendors .vendor-benefits p{font-size:13px;line-height:1.75;margin:0;color:#d6dbcf}
@media(min-width:901px) and (max-width:1150px){#vendors .vendor-copy{padding:38px 32px}#vendors .vendor-benefits article{padding:24px 18px;gap:14px;grid-template-columns:40px minmax(0,1fr)}#vendors .vendor-service-icon{width:40px;height:40px;border-radius:10px}#vendors .vendor-service-icon svg{width:24px;height:24px}#vendors .vendor-benefits h3{font-size:19px}}
@media(min-width:621px) and (max-width:900px){#vendors{grid-template-columns:minmax(0,1fr)}#vendors .vendor-photo{height:420px;min-height:0}#vendors .vendor-photo img{position:absolute;object-position:center 42%}#vendors .vendor-copy{padding:42px 7% 48px}#vendors .vendor-partnership-title{font-size:clamp(34px,5.8vw,46px)}#vendors .vendor-copy .vendor-lede{max-width:100%}#vendors .vendor-copy>p:not(.vendor-lede){max-width:100%}#vendors .vendor-benefits{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 4% 18px}#vendors .vendor-benefits article{border:0!important;padding:26px 20px;gap:17px}#vendors .vendor-benefits article:nth-child(odd){border-right:1px solid #b2b59a4d!important}#vendors .vendor-benefits article:nth-child(n+3){border-top:1px solid #b2b59a4d!important}}
@media(max-width:620px){#vendors{grid-template-columns:minmax(0,1fr)}#vendors .vendor-photo{height:auto;aspect-ratio:1.15;min-height:0}#vendors .vendor-copy{padding:36px 22px 40px}#vendors .vendor-partnership-title{font-size:clamp(32px,8.3vw,42px);line-height:1.18;margin-bottom:22px}#vendors .vendor-partnership-title:after{margin-top:22px;width:50px}#vendors .vendor-copy .vendor-lede{font-size:19px!important;margin-bottom:21px}#vendors .vendor-copy>p:not(.vendor-lede){font-size:15px;line-height:1.8}#vendors .vendor-copy>.button-light{width:100%;font-size:10px;gap:16px;letter-spacing:.1em;margin-top:26px;padding:17px 20px}#vendors .vendor-benefits{grid-template-columns:minmax(0,1fr);padding:6px 22px 14px}#vendors .vendor-benefits article{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:24px 0;border:0!important}#vendors .vendor-benefits article+article{border-top:1px solid #b2b59a4d!important}#vendors .vendor-service-icon{width:42px;height:42px;border-radius:10px}#vendors .vendor-service-icon svg{width:25px;height:25px}#vendors .vendor-benefits h3{font-size:21px}#vendors .vendor-benefits p{font-size:14px;line-height:1.7}}

.space-header .store-map-intro{font-size:16px;line-height:1.6;color:#6e695f;margin:14px 0 0}

/* Resale invitation uses the homepage type scale with a shorter layout. */
#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:center;gap:clamp(36px,6vw,88px);padding:60px 5.6%}
#sell-items.sell-items-compact h2{font-size:clamp(44px,4.6vw,64px);line-height:1.15;margin:16px 0 24px}
#sell-items.sell-items-compact .sell-items-lead,#sell-items.sell-items-compact .sell-items-context{font-size:17px;line-height:1.8;max-width:680px;margin:0 0 16px}
#sell-items.sell-items-compact .sell-items-context strong{font-weight:600}
#sell-items.sell-items-compact .sell-items-disclaimer{font-size:14px;line-height:1.75;color:#69705f;border:0;padding:0;margin:22px 0 0;max-width:680px}
#sell-items .sell-items-action{width:100%;max-width:300px}
#sell-items .sell-items-action .button-dark{width:100%;min-height:56px;white-space:normal;line-height:1.5;text-align:left;padding:18px 23px;font-size:12px;max-width:100%}
#sell-items.sell-items-compact .sell-items-purpose{font-size:14px;line-height:1.75;margin:18px 0 0}
@media(max-width:850px){#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr);gap:28px;padding:48px 7%}#sell-items.sell-items-compact h2{font-size:48px}#sell-items .sell-items-action{max-width:340px}}
@media(max-width:560px){#sell-items.sell-items-compact{gap:26px;padding:44px 22px}#sell-items.sell-items-compact h2{font-size:40px;margin:14px 0 20px}#sell-items.sell-items-compact .sell-items-lead,#sell-items.sell-items-compact .sell-items-context{font-size:16px;line-height:1.75}#sell-items .sell-items-action{max-width:100%}}

/* Keep the resale action aligned with the copy at every screen size. */
#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr);gap:24px}
#sell-items.sell-items-compact .sell-items-action{justify-self:start;max-width:340px}
#sell-items.sell-items-compact .sell-items-action .button-dark{width:auto;min-width:0}
#sell-items.sell-items-compact .sell-items-purpose br{display:none}
#sell-items.sell-items-compact .sell-items-purpose a{margin-left:4px}
@media(max-width:560px){#sell-items.sell-items-compact .sell-items-action{width:100%;max-width:100%}#sell-items.sell-items-compact .sell-items-action .button-dark{width:100%}}

/* Preserve the map for later without displaying it on the homepage. */
#spaces[hidden]{display:none!important}

/* Recruitment invitation follows the vendor services. */
#vendors + .careers-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:32px 7%;background:#f4efe5;border-top:0;border-bottom:1px solid #d9d3c6}
#vendors + .careers-invite h2{font-size:clamp(28px,2.8vw,38px);line-height:1.25;margin:0 0 10px}
#vendors + .careers-invite p{font-size:16px;line-height:1.7;max-width:620px}
#vendors + .careers-invite .button-dark{min-height:52px;font-size:11px;line-height:1.5;gap:28px;white-space:normal;justify-self:start}
@media(max-width:700px){#vendors + .careers-invite{grid-template-columns:minmax(0,1fr);padding:30px 7%;gap:22px}#vendors + .careers-invite h2{font-size:30px}}
@media(max-width:560px){#vendors + .careers-invite{padding:30px 20px}#vendors + .careers-invite .button-dark{width:100%}}

/* Pair the resale invitation with the supplied store photograph. */
#sell-items.sell-items-compact{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:center}
#sell-items .sell-items-content{min-width:0}
#sell-items .sell-items-content .sell-items-action{margin-top:24px}
#sell-items .sell-items-photo{margin:0;width:100%;max-width:460px;justify-self:end;overflow:hidden;aspect-ratio:4/5}
#sell-items .sell-items-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:850px){#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr);gap:32px}#sell-items .sell-items-photo{max-width:520px;justify-self:start;aspect-ratio:4/3}#sell-items .sell-items-photo img{object-position:center 55%}}

/* Full-width photo treatment echoes the vendor partnership section. */
#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;align-items:stretch}
#sell-items .sell-items-content{padding:clamp(40px,4.3vw,68px) clamp(28px,5vw,80px)}
#sell-items .sell-items-photo{position:relative;align-self:stretch;justify-self:stretch;width:100%;max-width:none;aspect-ratio:auto;min-height:0;margin:0}
#sell-items .sell-items-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
@media(max-width:850px){#sell-items.sell-items-compact{grid-template-columns:minmax(0,1fr);gap:0;padding:0}#sell-items .sell-items-content{padding:40px 7%}#sell-items .sell-items-photo{aspect-ratio:4/3;min-height:0;max-width:none}}
@media(max-width:560px){#sell-items .sell-items-content{padding:36px 22px}#sell-items .sell-items-photo{aspect-ratio:1.15}}

/* Shorter resale strip with one concise paragraph. */
#sell-items .sell-items-content{padding:34px clamp(28px,5vw,80px)}
#sell-items.sell-items-compact h2{margin:0 0 18px}
#sell-items.sell-items-compact .sell-items-lead{margin:0;font-size:16px;line-height:1.75}
#sell-items .sell-items-content .sell-items-action{margin-top:22px}
@media(max-width:850px){#sell-items .sell-items-content{padding:32px 7%}#sell-items .sell-items-photo{aspect-ratio:16/9}}
@media(max-width:560px){#sell-items .sell-items-content{padding:30px 22px}#sell-items.sell-items-compact h2{font-size:38px}#sell-items .sell-items-photo{aspect-ratio:4/3}}

#sell-items .sell-items-photo img{object-position:center center}
#opening .opening-visit-button{margin-top:24px;min-height:52px;max-width:100%;font-size:11px;line-height:1.5;white-space:normal;gap:28px}

/* Let the introduction title read as one line without a forced break. */
#opening h2{font-size:clamp(28px,3.1vw,48px);line-height:1.2}
@media(min-width:851px){#opening{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:32px}#opening h2{white-space:nowrap}}
@media(max-width:850px){#opening h2{font-size:clamp(25px,4.7vw,40px);white-space:normal}}

/* Shared homepage CTA sizing overrides older section-specific dimensions. */
#publicSite :is(.button-dark,.button-light,.button-outline){
 min-height:44px!important;height:auto!important;padding:12px 20px!important;
 font-family:'DM Sans',sans-serif!important;font-size:11px!important;font-weight:700!important;
 line-height:18px!important;letter-spacing:.1em!important;
 display:inline-flex;align-items:center;gap:24px!important;white-space:normal;max-width:100%;
}
#publicSite :is(.button-dark,.button-light,.button-outline) .ui-symbol{width:18px!important;height:18px!important;flex-shrink:0}

#vendors .vendor-copy .vendor-opening-notice{margin-top:22px;padding:16px 18px;border:1px solid #b2b59a66;font-size:14px;line-height:1.7;color:#f1eee3}

/* Match the spring timeline notice to the surrounding copy. */
#vendors .vendor-copy .vendor-opening-notice{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.8;font-weight:400;color:#d6dbcf}
#vendors .vendor-copy .vendor-opening-notice strong{display:inline-block;font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.4;font-weight:400;color:#f1eee3;margin-bottom:5px}
.application-opening-notice{font-size:14px;line-height:1.7;font-weight:400}
.application-opening-notice strong{font-size:16px;font-weight:500}

/* More space around the vendor copy and opening timeline. */
#vendors .vendor-copy{padding-top:clamp(52px,5vw,80px);padding-bottom:clamp(52px,5vw,80px)}
#vendors .vendor-partnership-title{line-height:1.22;margin-bottom:30px}
#vendors .vendor-partnership-title>em{margin-top:8px}
#vendors .vendor-copy .vendor-lede{margin-bottom:28px;line-height:1.65!important}
#vendors .vendor-copy>p:not(.vendor-lede){line-height:1.9}
#vendors .vendor-copy .vendor-opening-notice{margin-top:32px;padding:22px 24px;line-height:1.85}
#vendors .vendor-copy .vendor-opening-notice strong{margin-bottom:10px}
#vendors .vendor-copy>.button-light{margin-top:32px}
@media(max-width:620px){#vendors .vendor-copy{padding:44px 24px 48px}#vendors .vendor-partnership-title{margin-bottom:26px}#vendors .vendor-copy .vendor-opening-notice{margin-top:28px;padding:20px}#vendors .vendor-copy>.button-light{margin-top:28px}}

/* Override the generic paragraph margin reset for the bordered notice. */
#vendors .vendor-copy>p.vendor-opening-notice{margin:36px 0 0;padding:22px 24px}
@media(max-width:620px){#vendors .vendor-copy>p.vendor-opening-notice{margin-top:32px;padding:20px}}

/* Light services band separates the practical benefits from the green invitation. */
#vendors .vendor-benefits{background:#f7f5ef;border-top:0;color:#293c30;padding-top:26px;padding-bottom:30px}
#vendors .vendor-benefits h3{color:#293c30}
#vendors .vendor-benefits p{color:#596254}
#vendors .vendor-service-icon{color:#52694d;border-color:#c7cfbd;background:#e9eddf}
#vendors .vendor-benefits article{border-color:#d4dacd!important}
#vendors .vendor-copy>p.vendor-opening-notice{background:#f7f5ef;border-color:#f7f5ef;color:#465640}
#vendors .vendor-copy>p.vendor-opening-notice strong{color:#293c30}

/* Match the mobile opening heading to the vendor partnership title. */
@media(max-width:850px){#opening h2{font-size:clamp(34px,5.8vw,46px);line-height:1.22;white-space:normal}}
@media(max-width:620px){#opening h2{font-size:clamp(32px,8.3vw,42px);line-height:1.22}}
/* Keep modal dismiss controls circular beside multiline headings. */
.modal-head{align-items:flex-start;gap:16px}.modal-head h2{min-width:0}
.modal-head .close-round{box-sizing:border-box;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;flex:0 0 40px;aspect-ratio:1;border-radius:50%;padding:0;display:grid;place-items:center;line-height:1}

/* Give the family story comfortable mobile reading rhythm. */
@media(max-width:620px){#story.story-section{padding:54px 24px}#story .story-body{width:100%;max-width:38ch;margin-left:auto;margin-right:auto;text-align:left}#story .story-body p{font-size:15px;line-height:1.9;letter-spacing:normal;margin:0 0 26px;padding:0;text-align:left}#story .story-body p:last-child{margin-bottom:0}}

/* Compact original monogram beside the recruitment copy. */
#publicSite .careers-invite{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:28px;padding:36px 7%;background:#f4efe5;border-bottom:1px solid #d9d3c6}
#publicSite .careers-invite .careers-monogram{display:block;width:82px;height:82px;object-fit:contain;filter:none;opacity:1}
#publicSite .careers-invite h2{font-size:clamp(26px,2.8vw,38px);line-height:1.25;margin:0 0 10px}
#publicSite .careers-invite p{font-size:16px;line-height:1.7;margin:0;max-width:620px}
#publicSite .careers-invite .button-dark{justify-self:start}
@media(max-width:700px){#publicSite .careers-invite{grid-template-columns:64px minmax(0,1fr);gap:20px;padding:30px 24px}#publicSite .careers-invite .careers-monogram{width:64px;height:64px}#publicSite .careers-invite h2{font-size:28px}#publicSite .careers-invite .button-dark{grid-column:2;width:auto}}

#modalBody .newsletter-topics{margin:0 0 30px;line-height:1.8}#modalBody .newsletter-topics + #welcomeSignup{margin-top:0}

/* A stronger title gives the newsletter signup a clear focal point. */
#modal:has(#welcomeSignup) #modalTitle{font-size:clamp(36px,5vw,46px);line-height:1.15;letter-spacing:-.025em}
#modal:has(#welcomeSignup) .modal-head{margin-bottom:26px}

#modalBody .newsletter-description{font-size:16px;line-height:1.75;letter-spacing:normal;text-transform:none;margin:0 0 30px;color:#596254}

/* Pair the application action with an in-page introduction to our services. */
#vendors .vendor-copy .vendor-community-label{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.09em;color:#d4d9c8;margin:0 0 24px;max-width:none}
#vendors .vendor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:28px;width:100%}
#vendors .vendor-actions .button-light,#vendors .vendor-actions .vendor-learn-more{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:13px 18px;margin:0;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.5;white-space:normal;text-align:center;max-width:100%}
#vendors .vendor-actions .button-light{background:#f2eee2;color:#29372b;border:1px solid #f2eee2}
#vendors .vendor-actions .vendor-learn-more{background:transparent;color:#f2eee2;border:1px solid #c4c9b799}
#vendors .vendor-actions .vendor-learn-more:hover{background:#ffffff0d;border-color:#f2eee2}
#vendors .vendor-actions svg{width:18px;height:18px;flex-shrink:0}
#vendor-services{scroll-margin-top:24px}
@media(max-width:620px){#vendors .vendor-copy .vendor-community-label{font-size:11px;margin-bottom:22px}#vendors .vendor-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px}#vendors .vendor-actions .button-light,#vendors .vendor-actions .vendor-learn-more{width:100%;min-height:46px;padding:13px 16px}#vendor-services{scroll-margin-top:12px}}

/* Use the established cream palette for the opening announcement. */
#opening.opening-announcement{background:var(--cream)}

/* Coordinate the application notice and keep the paired actions level. */
#vendors{--vendor-cta-cream:#f2eee2}
#vendors .vendor-copy>p.vendor-opening-notice{background:var(--vendor-cta-cream);border-color:var(--vendor-cta-cream);color:#465640}
#vendors .vendor-actions .button-light{background:var(--vendor-cta-cream);border-color:var(--vendor-cta-cream)}
#publicSite #vendors .vendor-actions>.button-light,#publicSite #vendors .vendor-actions>.vendor-learn-more{box-sizing:border-box;height:48px!important;min-height:48px!important;padding:10px 16px!important;align-items:center;justify-content:center;line-height:18px!important}
@media(max-width:620px){#publicSite #vendors .vendor-actions>.button-light,#publicSite #vendors .vendor-actions>.vendor-learn-more{height:60px!important;min-height:60px!important}}

/* A calm amenities strip between the invitation and the service grid. */
#vendors .vendor-space-strip{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:center;gap:clamp(32px,6vw,90px);background:var(--stone);color:#344432;padding:42px 7%;border-top:1px solid #d4cebf;border-bottom:1px solid #d4cebf}
#vendors .vendor-space-heading{min-width:0;border-left:2px solid #a38b6d;padding-left:26px}
#vendors .vendor-space-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.3vw,48px);font-weight:400;line-height:1.14;letter-spacing:-.02em;margin:0}
#vendors .vendor-space-description{max-width:680px;min-width:0}
#vendors .vendor-space-description p{font-size:16px;line-height:1.8;color:#56614d;margin:0}
#vendors .vendor-space-description p+p{margin-top:13px}
@media(max-width:850px){#vendors .vendor-space-strip{grid-template-columns:minmax(0,1fr);gap:24px;padding:34px 7%}#vendors .vendor-space-heading h3{font-size:36px}#vendors .vendor-space-heading h3 br{display:none}#vendors .vendor-space-description{max-width:100%}}
@media(max-width:620px){#vendors .vendor-space-strip{padding:32px 24px;gap:22px}#vendors .vendor-space-heading{padding-left:18px}#vendors .vendor-space-heading h3{font-size:32px;line-height:1.2}#vendors .vendor-space-description p{font-size:15px;line-height:1.8}}
