/* Readability and a unified architectural icon family. */
:root{--readable-ink:#24221c;--readable-muted:#514b40}
.section p,.service-intro>p:last-child{font-size:17px;line-height:1.8}
.section h2{letter-spacing:-.035em;line-height:1.16}
.section h3{letter-spacing:-.02em;line-height:1.3}
.button,.text-link{font-size:15px;font-weight:600}
.site-header nav a{font-size:15px;font-weight:600}
.eyebrow,.tiny-label{letter-spacing:1.2px}
.space-card-copy{position:relative;padding:30px!important;background:#fffdf9}
.space-card-copy p{color:var(--readable-muted);min-height:3.6em}
.space-card-copy h3{font-size:29px;margin-block:16px 12px}
.space-card-copy .text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#24221c;border-bottom:1px solid #9e8a61}
.space-card{border:1px solid #c8bda8;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px #3529180a;transition:transform .3s ease,box-shadow .3s ease}
.space-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px #35291816}
.object-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:linear-gradient(145deg,#f9f5ed,#eee4d1);border:1px solid #cdbb94;color:#2f4839}
.object-icon svg{width:52px;height:52px;overflow:visible}
.object-detail{stroke:#8d6a24;transform-box:fill-box;transform-origin:center}
.service-icon{display:grid;place-items:center;min-width:66px;width:66px;height:66px;border:1px solid #cdbb94;border-radius:16px;background:linear-gradient(145deg,#faf7ef,#eee5d4)}
.service-icon .engineering-icon{width:42px;height:42px;color:#344637;stroke-width:1.8}
.quick-access>a{padding:26px;gap:20px;border:1px solid #c8bda8;border-radius:16px}
.quick-access strong{font-size:19px;line-height:1.35;color:#24221c}
.quick-access small{font-size:14px;line-height:1.6;color:#514b40;margin-top:7px}
.icon-playing .object-detail,.icon-playing .svg-accent{animation:architectDetail 4s ease-in-out infinite}
.object-icon.icon-playing svg{animation:architectLift 6s ease-in-out infinite}
.object-office.icon-playing svg{animation-delay:-2s}.object-home.icon-playing svg{animation-delay:-4s}
@keyframes architectLift{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes architectDetail{0%,100%{opacity:1}50%{opacity:.55}}
.object-icon:not(.icon-playing) *,.service-icon:not(.icon-playing) *{animation-play-state:paused!important}
#unit-results button{font-size:15px;line-height:1.6;min-height:48px;color:#24221c}
.unit-filters label,.price-field,.visual-filters>div>span{color:#302c24;font-size:15px}
.hero-description{color:#fff!important;text-shadow:0 1px 8px #0009}
.hero-topics button{min-height:44px;font-weight:500}
.section .small-note,.space-footnote,.plan-disclaimer,.material-note{font-size:14px;line-height:1.75}
.applicant-guide p{color:#e9e4db!important}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #176642!important;outline-offset:4px}
.hero a:focus-visible,.hero button:focus-visible,.expanded-footer a:focus-visible{outline-color:#fff!important}
@media(prefers-reduced-motion:reduce){.object-icon *,.service-icon *{animation:none!important}.space-card{transition:none}.space-card:hover{transform:none}}
.motion-off .object-icon *,.motion-off .service-icon *{animation:none!important}
@media(max-width:600px){.section p{font-size:16px}.space-card-copy{padding:24px!important}.space-card-copy h3{font-size:27px}.quick-access>a{padding:22px;gap:16px}.quick-access strong{font-size:18px}.service-icon{min-width:54px;width:54px;height:54px}.service-icon .engineering-icon{width:36px;height:36px}.object-icon{width:64px;height:64px}.object-icon svg{width:46px;height:46px}.hero .button{font-size:14px}}
