/* A consistent, readable scale across marketing sections and interactive flows. */
:root{--copy:18px;--support:18px;--label:15px;--heading-font:'DM Sans',Arial,sans-serif}
body{font-size:var(--copy);text-align:left}
h2{font-family:var(--heading-font);font-weight:650;font-size:clamp(46px,4.7vw,76px);letter-spacing:-.055em;line-height:1.08}
h2 em{font-style:normal;font-weight:inherit}
h3{font-weight:650;letter-spacing:-.035em;line-height:1.2}
p{line-height:1.65}
small,.fine-print{font-size:15px;line-height:1.6}
.eyebrow{font-size:15px;letter-spacing:.12em;line-height:1.5}
.header{gap:22px;padding-left:3.5vw;padding-right:3.5vw}
.header nav{font-size:16px;gap:22px}
.header-actions{gap:20px}
.brand small{font-size:11px;letter-spacing:.16em}
.button,.button.compact,.text-button,.line-link{font-size:18px;line-height:1.45}
.button{padding:16px 22px;min-height:52px}
.button.compact{padding:13px 18px;min-height:48px}
.line-link{gap:25px;max-width:100%;font-weight:500;padding:10px 0}
.line-link span{flex-shrink:0}
.hero-content>.eyebrow{font-size:15px;letter-spacing:.13em}
.hero-content>p:not(.eyebrow){font-size:20px;line-height:1.6}
.hero-top{font-size:13px;letter-spacing:.1em}
.hero-tour{font-size:18px}
.hero-bottom{font-size:12px;letter-spacing:.08em}
.hero-bottom a{font-size:16px}
.availability-strip{font-size:17px;flex-wrap:wrap;justify-content:space-between;text-align:left}
.availability-strip p{font-size:17px}
.availability-strip p span{margin:0 6px}
.intro h2,.amenities h2{font-size:clamp(44px,4.2vw,66px)}
.body-copy{font-size:18px;max-width:520px;color:#5e6659}
.intro-note{font-size:17px;gap:16px}
.intro-photo figcaption{font-size:13px;letter-spacing:.08em;gap:15px}
.section-heading,.section-top{display:block;text-align:left}
.section-heading h2{margin-bottom:26px}
.section-heading>p:last-child,.section-top>p{font-size:20px;color:#606a58;max-width:760px;justify-self:start;margin-bottom:38px;text-align:left}
.section-top h2{margin-bottom:22px}
.care-grid{display:flex;flex-direction:column;gap:48px}
.care-grid article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,76px);align-items:center;border-top:1px solid #bec6b3;padding-top:48px}
.care-photo{width:100%;height:auto;aspect-ratio:1.32;object-fit:cover;border-radius:3px}
.care-copy{min-width:0;text-align:left}
.care-grid .care-copy>.eyebrow{font-size:14px;font-weight:600;letter-spacing:.12em;color:#6c795f;margin:0 0 18px;max-width:none}
.care-grid h3{font-family:var(--heading-font);font-size:clamp(30px,2.8vw,43px);font-weight:700;line-height:1.14;margin-bottom:20px;letter-spacing:-.04em;max-width:590px}
.care-grid .care-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#5f6957;max-width:600px}
.care-grid ul{font-size:18px;line-height:1.55;margin:24px 0}
.care-grid li{position:relative;padding-left:25px;margin:13px 0}
.care-grid li:before{position:absolute;left:0;margin:0;top:0}
.care-grid .line-link{font-size:18px}
.care .fine-print{max-width:950px;font-size:15px;margin-top:40px}
.filters{gap:18px;flex-wrap:wrap}
.segmented button{font-size:17px;padding:10px 17px}
.filter-right{font-size:16px;gap:24px}
.filter-right label{font-size:16px;gap:10px}
.filter-right select{font-size:17px;padding:10px 24px 10px 12px}
.filter-right #saved-count{font-size:15px;width:25px;height:25px}
.results-meta{font-size:15px;gap:20px}
.results-meta span:last-child{text-align:left}
.home-label{font-size:14px;padding:6px 10px;max-width:calc(100% - 72px)}
.home-info{padding:25px}
.home-title{align-items:baseline;flex-wrap:wrap;gap:5px 12px}
.home-title h3{font-family:var(--heading-font);font-size:30px;font-weight:650;letter-spacing:-.04em}
.home-title span{font-size:14px}
.home-specs{font-size:17px;line-height:1.6;margin-top:14px}
.home-price{font-size:24px;gap:7px;flex-wrap:wrap}
.home-price small{font-size:15px}
.home-card-bottom{gap:15px;flex-wrap:wrap}
.home-card-bottom .line-link{font-size:17px;gap:18px}
.compare-label{font-size:15px;gap:7px}
.compare-label input{width:17px;height:17px}
.pricing-note{font-size:15px;max-width:1000px}
.compare-bar{font-size:17px}
.amenities-copy{padding:75px 5vw}
.amenity-tabs{gap:22px;flex-wrap:wrap;margin:28px 0}
.amenity-tabs button{font-size:17px;min-height:44px}
.amenities-copy h3{font-size:29px;font-weight:650}
.amenities-copy p:not(.eyebrow){font-size:18px;max-width:540px;line-height:1.65;color:#5f6a54}
.amenities-copy ul{font-size:17px;gap:16px 20px;line-height:1.6}
.image-label{font-size:13px;letter-spacing:.1em;max-width:calc(100% - 40px)}
.neighborhood-categories button{font-size:17px;padding:10px 17px}
.neighborhood-explorer{height:600px}
.places-panel-title h3{font-family:var(--heading-font);font-size:27px;font-weight:650}
.places-panel-title span{font-size:15px;white-space:nowrap;margin-left:10px}
.distance-filter{font-size:16px;line-height:1.6}
.distance-filter input{margin-top:17px;margin-bottom:6px}
.place-row{padding:22px 0;gap:12px}
.place-row b{font-size:19px;font-weight:550;line-height:1.4}
.place-row small{font-size:16px}
.place-row>span:last-child{font-size:15px}
.place-icon{font-size:15px;width:36px;height:36px}
.map-heading{font-size:13px;letter-spacing:.06em;max-width:calc(100% - 32px);left:16px}
.map-heading small{font-size:14px;margin-left:0;line-height:1.45}
.map-legend{font-size:14px;max-width:calc(100% - 76px)}
.map-selection{font-size:17px;max-width:280px}
.map-selection h4{font-size:18px}
.map-pin{font-size:16px;width:38px;height:38px}
.building-pin b{font-size:13px}
.move-heading p:not(.eyebrow){font-size:19px;max-width:500px;line-height:1.65;color:#606b54}
.journey-step summary{gap:20px;padding:25px 0}
.journey-step summary>span:first-child{font-size:16px}
.journey-step h3{font-size:24px;font-weight:650;line-height:1.2}
.journey-body{font-size:19px;line-height:1.65;padding-left:40px}
.faq summary{font-size:18px;line-height:1.5;font-weight:500;padding:23px 0}
.faq details p{font-size:19px;line-height:1.65;max-width:none}
.final-cta{text-align:left;place-items:center start;padding:0 7vw}
.final-cta>div:last-child{text-align:left;padding:75px 0}
.final-cta h2{font-size:clamp(54px,6.2vw,92px);font-weight:650}
.final-cta p:not(.eyebrow){font-size:20px}
.final-cta small{font-size:16px}
.footer-main{grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:32px}
.footer-main p{font-size:14px;letter-spacing:.08em}
.footer-main div>a,.footer-main div>button:not(.line-link){font-size:18px;line-height:1.5;margin:12px 0}
.footer-location>span{font-size:19px;line-height:1.6}
.footer-location .line-link{font-size:17px}
.footer-main .brand small{font-size:11px}
.footer-bottom,.footer-bottom button{font-size:14px;line-height:1.6;text-align:left}
.guide-launcher{font-size:17px;gap:12px}

.guide-panel{width:440px;height:660px}
.guide-panel h3{font-size:18px;font-weight:600}
.guide-panel header p{font-size:14px;line-height:1.5}
.chat-message{font-size:18px;line-height:1.6;padding:14px 16px}
.guide-topic{font-size:16px;padding:8px 11px}
.guide-panel input{font-size:18px;padding:13px 12px}
.guide-panel form input::placeholder{font-size:16px}
.guide-disclaimer{font-size:13px;text-align:left;margin:12px 18px}
.modal-pad h2,.detail-columns h2{font-size:clamp(38px,4vw,54px);font-weight:650}
.modal-lede,.detail-columns p{font-size:19px;line-height:1.65;color:#627156}
.modal-eyebrow{font-size:14px;letter-spacing:.1em}
.detail-columns h3{font-size:25px;font-weight:650}
.detail-columns ul{font-size:18px;line-height:1.6}
.detail-tabs button{font-size:18px;padding:8px 0}
.cost-row{font-size:18px;line-height:1.5;padding:11px 0}
.cost-row.total{font-size:23px}
.cost-card label{font-size:17px;line-height:1.5;align-items:flex-start}
.cost-card label input{margin-top:5px;flex-shrink:0;width:17px;height:17px}
.cost-card small{font-size:15px;line-height:1.6}
.cost-card .button{font-size:18px;gap:14px}
.tour-type button{font-size:18px;min-height:48px}
.field-label{font-size:18px;line-height:1.5;margin-top:23px}
.date-option{font-size:15px;line-height:1.45;padding:12px 4px}
.date-option b{font-size:27px}
.time-option{font-size:16px;min-height:45px;padding:10px 5px}
.tour-summary{font-size:18px}
.tour-summary h3{font-family:var(--heading-font);font-weight:650;font-size:29px;line-height:1.15}
.tour-summary small{font-size:15px;margin-top:14px;display:block}
.confirmation{text-align:left;max-width:740px}
.confirmation h2{font-size:52px;font-weight:650}
.confirmation p{font-size:19px;line-height:1.65}
.confirmation .button{margin-left:0;margin-right:10px}
.handbook-search{font-size:19px;padding:15px}
.handbook-tabs button{font-size:17px;padding:9px 13px}
.handbook-entry{padding:22px 0}
.handbook-entry summary{font-size:19px;font-weight:550;line-height:1.4}
.handbook-entry .tag{font-size:14px;margin-bottom:9px}
.handbook-entry p{font-size:19px;line-height:1.7}
.handbook-bottom h3{font-size:25px}
.checklist label{font-size:19px;padding:17px 0;line-height:1.5}
.checklist input{width:18px;height:18px;flex-shrink:0}
.comparison-table th{font-size:21px;font-weight:650}
.comparison-table td{font-size:18px}
.comparison-table td:first-child{font-size:17px}
.comparison-table .button{font-size:16px;min-height:46px}
.portal-card h3{font-size:26px;font-weight:650}
.portal-card p{font-size:19px;line-height:1.6}
.portal-card label{font-size:17px}
.portal-card select,.portal-card textarea{font-size:18px}
.portal-card .fine-print{font-size:15px}
.empty-state{text-align:left}
.empty-state h3{font-family:var(--heading-font);font-size:32px;font-weight:650}
.empty-state p{font-size:19px}
#toast{font-size:17px;text-align:left}
@media(max-width:1250px){
 .header nav{gap:16px;font-size:15px}.header .resident-link{display:none}
 .footer-main{grid-template-columns:1fr 1fr;gap:35px}
 .home-info{padding:21px}.home-title h3{font-size:28px}
 .care-grid article{gap:40px}.care-photo{aspect-ratio:1.1}
 .care-grid h3{font-size:34px}.care-grid .care-copy>p:not(.eyebrow){font-size:18px}
}
@media(max-width:1050px){
 .header{height:82px;padding:0 24px}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#f7f5ef;padding:24px;border-bottom:1px solid #cbd4bd;flex-direction:column;gap:22px;font-size:19px}.header nav.open{display:flex}.menu-button{display:block}
 .header .button{font-size:17px;padding:12px 17px;gap:25px}
 .hero{min-height:650px}.hero-content>p:not(.eyebrow){font-size:19px}
 .intro{gap:40px}.intro h2,.amenities h2{font-size:48px}
 .care-grid article{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
 .care-photo{aspect-ratio:.9}.care-grid h3{font-size:32px}
 .care-grid ul{font-size:18px}.care-grid .line-link{font-size:17px}
 .amenities-copy{padding:55px 30px}.amenity-tabs{gap:15px}.amenity-tabs button{font-size:16px}
 .amenities-copy ul{grid-template-columns:1fr;font-size:18px}
 .amenities-copy h3{font-size:26px}
 .neighborhood-explorer{grid-template-columns:1.1fr 1fr;height:620px}
 .move{gap:40px}.move-heading h2,.faq h2{font-size:48px}
 .journey-step h3{font-size:22px}.journey-body{padding-left:0}
 .final-cta h2{font-size:70px}
}
@media(max-width:750px){
 .care-grid{gap:36px}.care-grid article{grid-template-columns:1fr;gap:28px;padding-top:36px}
 .care-photo{aspect-ratio:1.5;max-height:420px}.care-grid h3{font-size:34px;max-width:600px}
 .care-grid .care-copy>p:not(.eyebrow){font-size:19px;max-width:none}
 .care-grid ul{font-size:19px}.care-grid .line-link{font-size:18px}
 .care-grid .care-copy>.eyebrow{font-size:14px;margin-bottom:15px}
 .intro{grid-template-columns:1fr}.intro-photo img{height:470px}
 .amenities{display:flex;flex-direction:column-reverse}.amenities-image{min-height:430px}
 .amenities-copy{padding:60px 25px 45px}.amenities-copy ul{grid-template-columns:1fr 1fr}
 .neighborhood-explorer{display:flex;flex-direction:column;height:auto}.map{height:460px;flex-shrink:0}.places-panel{max-height:460px;padding:25px 23px 0}
 .move,.faq{grid-template-columns:1fr;gap:35px}
 .detail-columns{grid-template-columns:1fr;padding:30px}.detail-columns>div:first-child ul{font-size:18px}
 .form-grid{grid-template-columns:1fr}.tour-summary img{display:none}
 .portal-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
 :root{--copy:17px;--support:18px}
 .section{padding:64px 24px}h2,.intro h2,.amenities h2,.move-heading h2,.faq h2{font-size:clamp(40px,10.5vw,56px);line-height:1.08}
 .eyebrow{font-size:13px;letter-spacing:.1em}
 .header{height:78px;padding:0 18px;gap:12px}.header nav{top:78px}
 .brand{font-size:20px;gap:10px}.brand small{font-size:9px;letter-spacing:.12em}.brand-symbol{font-size:40px}
 .header .button{font-size:16px;padding:11px 14px;gap:15px;min-height:44px}.header-actions{gap:10px}.menu-button{font-size:23px;padding:6px}
 .hero{height:700px;min-height:610px;max-height:none}.hero-content{left:24px;right:24px;top:48%;transform:translateY(-38%)}
 .hero h1{font-size:clamp(52px,12.5vw,74px)}.hero-content>.eyebrow{font-size:13px;letter-spacing:.08em}
 .hero-content>p:not(.eyebrow){font-size:18px;line-height:1.6}.hero-content>p:not(.eyebrow) br{display:none}
 .hero-top{font-size:11px;letter-spacing:.05em;left:24px;right:24px;align-items:flex-start;gap:20px}.hero-top .demo-tag{font-size:12px;padding:4px 8px;white-space:nowrap}
 .hero-buttons{gap:18px;flex-wrap:wrap}.hero-buttons .button{font-size:18px;padding:14px 18px;gap:25px}.hero-tour{font-size:17px}
 .hero-bottom{font-size:11px;gap:15px;flex-wrap:wrap}.hero-bottom a{font-size:15px}.hero-bottom>span:first-child{font-size:11px}
 .availability-strip{font-size:17px;padding:25px 24px;justify-content:flex-start;gap:12px}.availability-strip>div{font-size:18px}.availability-strip p{font-size:16px;line-height:1.8}.availability-strip a{font-size:17px}
 .body-copy{font-size:18px;max-width:none}.intro-note{font-size:17px}.intro-photo img{height:400px}.intro-photo figcaption{font-size:12px;flex-wrap:wrap}
 .section-heading>p:last-child,.section-top>p{font-size:19px;max-width:none;margin-bottom:32px}.section-heading>p:last-child br,.section-top>p br{display:none}
 .care-grid h3{font-size:32px;line-height:1.18}.care-grid .care-copy>p:not(.eyebrow){font-size:18px;line-height:1.65}.care-grid ul{font-size:19px}.care-grid .line-link{font-size:18px;gap:20px}.care .fine-print{font-size:15px}
 .filters{gap:18px}.segmented{gap:3px;flex-wrap:wrap;justify-content:flex-start}.segmented button{font-size:16px;padding:10px 12px;min-height:44px}
 .filter-right{flex-wrap:wrap;gap:12px}.filter-right label{font-size:16px}.filter-right select{font-size:18px;max-width:185px}.text-button{font-size:17px}
 .results-meta{font-size:14px;gap:12px}.results-meta span:last-child{max-width:170px;text-align:left}
 .home-info{padding:23px}.home-title h3{font-size:32px}.home-title span{font-size:15px}.home-label{font-size:14px}.home-specs{font-size:18px}
 .home-price{font-size:26px}.home-price small{font-size:16px}.home-card-bottom .line-link{font-size:18px}.compare-label{font-size:16px}.home-card-bottom{gap:12px}
 .pricing-note{font-size:15px}.compare-bar{font-size:15px;flex-wrap:wrap;gap:10px}.compare-bar .button{font-size:16px;padding:11px;gap:10px}
 .amenity-tabs{gap:18px}.amenity-tabs button{font-size:17px}.amenities-copy h3{font-size:28px}.amenities-copy p:not(.eyebrow){font-size:18px}.amenities-copy ul{grid-template-columns:1fr;font-size:19px;gap:12px}
 .image-label{left:20px;bottom:20px;font-size:12px;letter-spacing:.08em}
 .neighborhood-categories{gap:8px}.neighborhood-categories button{font-size:16px;padding:10px 13px}
 .places-panel-title h3{font-size:27px}.map-heading{font-size:13px;padding:11px;top:16px;left:14px}.map-heading small{font-size:14px}.map-legend{font-size:13px;padding:8px}
 .place-row b{font-size:19px}.place-row small{font-size:16px}.place-row>span:last-child{font-size:15px}.map-selection{max-width:235px;font-size:16px}
 .move-heading p:not(.eyebrow){font-size:18px;max-width:none}.journey-step h3{font-size:24px}.journey-body{font-size:19px;padding-left:0}.journey-step summary{gap:16px}
 .faq summary{font-size:18px}.faq details p{font-size:19px}
 .final-cta{padding:0 24px;min-height:460px;text-align:left}.final-cta h2{font-size:clamp(44px,11vw,62px)}.final-cta .eyebrow{font-size:13px}.final-cta p:not(.eyebrow){font-size:19px}.final-cta small{font-size:15px}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px 22px}.footer-main>.brand{grid-column:1/-1}.footer-main p{font-size:13px}.footer-main div>a,.footer-main div>button:not(.line-link){font-size:17px}.footer-location{grid-column:1/-1}.footer-location>span{font-size:19px}.footer-location .line-link{font-size:17px}.footer-bottom,.footer-bottom button{font-size:14px;gap:10px}
 .guide-launcher{font-size:16px;padding:11px 13px;gap:10px}.guide-launcher .guide-mark{width:34px;height:34px;font-size:26px}
 .guide-panel h3{font-size:19px}.guide-panel header p{font-size:13px}.guide-panel>header{padding:17px 15px;gap:10px}.guide-panel #guide-messages{padding:17px}.chat-message{font-size:18px}.guide-topic{font-size:15px}.guide-panel input{font-size:18px}.guide-panel form input::placeholder{font-size:14px}
 .modal-pad{padding:48px 23px 30px}.modal-pad h2,.detail-columns h2{font-size:40px}.modal-lede,.detail-columns p{font-size:19px}.modal-eyebrow{font-size:13px}
 .detail-columns{padding:25px}.detail-columns>div:first-child ul{display:block;font-size:18px}.detail-columns>div:first-child li{margin:10px 0}.detail-columns h3{font-size:25px}
 .cost-card{padding:21px}.cost-row{font-size:18px}.cost-row.total{font-size:22px}.cost-card label{font-size:17px}.cost-card small{font-size:15px}
 .field-label{font-size:18px}.tour-type button{font-size:18px}.date-option{font-size:15px}.date-option b{font-size:27px}.time-option{font-size:16px}.tour-summary{font-size:18px}.tour-summary h3{font-size:29px}.tour-summary small{font-size:15px}
 .confirmation{padding:55px 25px;text-align:left}.confirmation h2{font-size:41px}.confirmation p{font-size:19px}.confirmation .button{font-size:17px;gap:15px}
 .handbook-tabs{gap:7px}.handbook-tabs button{font-size:16px}.handbook-entry summary{font-size:19px}.handbook-entry p{font-size:19px}.handbook-entry .tag{font-size:14px}.handbook-bottom h3{font-size:24px}.handbook-bottom small{font-size:15px}
 .checklist label{font-size:19px}.portal-card{padding:22px}.portal-card h3{font-size:26px}.portal-card p{font-size:19px}.portal-card .fine-print{font-size:15px}
 .empty-state{padding:40px 23px}.empty-state h3{font-size:30px}.empty-state p{font-size:19px}
}
@media(max-width:390px){.header{padding:0 14px}.header .button{font-size:15px;padding:10px 11px;gap:10px}.brand{font-size:18px}.brand small{font-size:8px}.brand-symbol{font-size:36px}.hero-top>span:first-child{max-width:145px}.home-card-bottom .line-link{font-size:17px}.care-grid h3{font-size:30px}.segmented button{font-size:15px;padding:10px}}

/* A single button language: tactile, softly rounded, black and white. */
:root{--button-radius:8px;--button-ink:#181818;--button-border:#d0d3cb}
.filter-right select,.portal-card select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2330362e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:20px 20px;padding:12px 48px 12px 16px;border:1px solid var(--button-border);border-radius:var(--button-radius);min-height:48px;line-height:1.4;cursor:pointer}
.filter-right select{min-width:196px;max-width:100%}
.filter-right label{flex-wrap:wrap;gap:10px 12px}
@media(forced-colors:active){.filter-right select,.portal-card select{appearance:auto;-webkit-appearance:auto;background-image:none}}
button{border-radius:var(--button-radius)}
:is(.button,.text-button,.line-link,.hero-tour,.availability-strip>a){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid var(--button-border);border-radius:var(--button-radius);background:#fff;color:var(--button-ink);font-weight:550;font-size:18px;line-height:1.4;text-decoration:none;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
:is(.button,.text-button,.line-link,.hero-tour,.availability-strip>a):hover{background:#f3f3ef;color:var(--button-ink);border-color:#989d92;box-shadow:0 3px 10px #1820180b;transform:translateY(-1px)}
.button:not(.light):not(.outline),.hero .hero-tour{background:var(--button-ink);color:#fff;border-color:var(--button-ink)}
.button:not(.light):not(.outline):hover,.hero .hero-tour:hover{background:#333;color:#fff;border-color:#333}
.button.light,.button.outline{background:#fff;color:var(--button-ink);border:1px solid var(--button-border)}
.button.light:hover,.button.outline:hover{background:#f2f2ed;color:var(--button-ink);border-color:#aaa}
.button.compact{font-size:17px;padding:12px 18px}
.line-link span,.button span{font-size:inherit}
.home-card-bottom .line-link{padding:11px 15px;border:1px solid var(--button-border);font-size:17px;min-height:46px}
.care-grid .line-link{font-size:18px;padding:12px 20px}
.cost-card .line-link{width:100%;padding:12px;margin-top:12px}
.cost-card .button{margin-top:18px}
.chat-message .line-link{font-size:16px;padding:10px 13px;min-height:44px}
.availability-strip>a{font-size:17px;padding:11px 17px}
.compare-bar{background:#181818}
.compare-bar .text-button{color:#181818}
.hero-buttons{gap:16px}
.hero-tour{padding:15px 22px}
.amenities-copy li:before{content:'✓'}
.amenity-tabs,.detail-tabs{border:0;gap:8px;display:flex;flex-wrap:wrap}
.amenity-tabs button,.detail-tabs button{padding:11px 15px;min-height:46px;border:1px solid var(--button-border);border-radius:var(--button-radius);background:#fff;color:#181818;font-size:17px}
.amenity-tabs button[aria-selected=true],.detail-tabs button.active{background:#181818;color:#fff;border-color:#181818}
.segmented button,.neighborhood-categories button,.handbook-tabs button,.tour-type button,.date-option,.time-option,.guide-topic{background:#fff;color:#181818;border:1px solid var(--button-border);border-radius:var(--button-radius)}
.segmented button.active,.neighborhood-categories button.active,.handbook-tabs button.active,.tour-type button.active,.date-option.active,.time-option.active{background:#181818;color:#fff;border-color:#181818}
.save-home,.map-pin,.building-pin,.modal-close{border-radius:50%}
.save-home[aria-pressed=true]{color:#181818;background:#fff}
.map-pin{background:#fff;color:#181818}
.map-pin:hover,.map-pin.active,.building-pin{background:#181818;color:#fff;border-color:#181818}
.building-pin b{color:#181818;background:#fff}
.map-controls{border-radius:8px;background:#fff;overflow:hidden}
.map-controls button{color:#181818;background:#fff;border-radius:0}
.place-row{border-radius:8px;padding-left:10px;padding-right:10px}
.place-row.active{background:#181818;color:#fff;border-color:#181818}
.place-row.active small{color:#eee}
.place-row.active .place-icon{color:#181818;background:#fff}
.place-row:hover:not(.active){background:#fff;color:#181818}
.guide-topic:hover{background:#f1f1ec;color:#181818;border-color:#a6ac9e}
.guide-panel form button{background:#181818;color:#fff;border-radius:8px;width:46px}
.guide-panel .icon-button{background:#fff;border:1px solid var(--button-border);border-radius:8px;color:#181818;flex-shrink:0}
.guide-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover;object-position:center;border:1px solid #00000010}
.guide-launcher{background:#fff;color:#181818;border-radius:12px;padding:11px 15px;gap:12px;font-size:18px;min-height:76px}
.guide-launcher>span:last-child{margin-left:0}

.guide-launcher:hover{border-color:#969d8c;box-shadow:0 6px 28px #16240d24}
.guide-panel header p{font-size:14px}
.guide-panel h3{font-size:20px}
.guide-panel>header>div{min-width:0}
.guide-panel .guide-avatar{width:48px;height:48px;flex-basis:48px}
.guide-disclaimer{font-size:13px}
.guide-launcher[hidden]{display:none}
.header{gap:20px;padding-left:3vw;padding-right:3vw}
.header nav{gap:5px;font-size:16px;align-items:center;flex-shrink:0}
.header nav a{padding:10px 14px;line-height:1.4;min-height:44px;display:flex;align-items:center;border-radius:999px;border:1px solid #dedfd9;background:#fff;color:#30362e;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}
.header nav a:hover{background:#efefea;color:#181818;border-color:#bbc0b4}
.header nav a.active,.header nav a[aria-current=location]{background:#181818;border-color:#181818;color:#fff;font-weight:600}
.header-actions{gap:12px}
.header .button{font-size:17px;white-space:nowrap;padding:12px 18px}
.header .resident-link{font-size:17px;padding:12px 16px}
.brand small{font-size:10px;letter-spacing:.1em}
.menu-button{width:44px;height:44px;padding:4px;background:#fff;border:1px solid var(--button-border);color:#181818;border-radius:8px}
.footer-main div>button:not(.line-link){padding:10px 14px;border:1px solid var(--button-border);background:#fff;color:#181818;border-radius:8px;width:fit-content;max-width:100%;font-size:17px}
.footer-location .line-link{font-size:17px;padding:12px 17px}
.footer-bottom button{padding:8px 12px;background:#fff;color:#181818;border:1px solid var(--button-border);border-radius:8px;font-size:14px;min-height:40px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#181818}
@media(max-width:1500px){.header .resident-link{display:none}}
@media(max-width:1150px){
 .header{height:82px;padding:0 24px}.header .menu-button{display:block}
 .header nav{display:none;position:absolute;left:0;right:0;top:82px;background:#f7f5ef;border-bottom:1px solid #d0d3cb;padding:18px 24px;flex-wrap:wrap;flex-direction:row;gap:9px;font-size:17px}
 .header nav.open{display:flex}.header nav a{padding:11px 17px}
}
@media(max-width:650px){
 .header{height:78px;padding:0 16px;gap:12px}.header nav{top:78px;padding:16px}
 .header .brand{gap:9px;font-size:19px}.header .brand small{font-size:9px;letter-spacing:.02em}
 .header .brand-symbol{font-size:39px}.header .button{font-size:15px;padding:10px 13px;min-height:44px}
 .header-actions{gap:8px}.menu-button{width:40px;height:44px;font-size:23px}
 .hero-buttons .button,.hero-tour{font-size:17px;padding:13px 18px;min-height:50px}
 .hero-bottom{font-size:11px}.hero-bottom>span:first-child{font-size:11px}
 .care-grid .line-link{font-size:17px;padding:12px 17px}
 .amenity-tabs{gap:8px}.amenity-tabs button{font-size:16px;padding:10px 12px}
 .home-card-bottom .line-link{font-size:17px;padding:11px 14px}
 .guide-launcher{bottom:16px;right:16px;padding:10px 12px;gap:10px;min-height:64px;font-size:17px}
 .guide-launcher .guide-avatar{width:44px;height:44px;flex-basis:44px}
 .guide-panel h3{font-size:18px}.guide-panel header p{font-size:13px}.guide-panel>header{gap:10px}
 .guide-panel .guide-avatar{width:42px;height:42px;flex-basis:42px}
 .guide-panel .icon-button{padding:7px}.guide-disclaimer{font-size:12px}
 .footer-main div>button:not(.line-link){font-size:16px;padding:10px 12px}.footer-location .line-link{font-size:17px}
}
@media(max-width:370px){.header{padding:0 12px;gap:8px}.header .brand{font-size:17px;gap:7px}.header .brand small{font-size:8px}.header .brand-symbol{font-size:35px}.header .button{font-size:14px;padding:10px}.header-actions{gap:6px}}
