.site-feature { padding:40px 0 100px; background:var(--palette-white); color:var(--site-feature-text,var(--site-text)); }
.site-feature__container { --expertise-gap:clamp(40px,6.5vw,110px); --expertise-title-offset:clamp(40px,6vw,90px); width:min(1440px,86%); margin-inline:auto; }
.site-feature .site-feature__title { position:relative; z-index:1; width:calc((100% - var(--expertise-gap)) * .55); max-width:none; margin:0 0 -28px auto; text-indent:calc(-1 * var(--expertise-title-offset)); font-family:var(--ff-heading); font-size:clamp(52px,7.8vw,132px); line-height:.85; font-weight:400; letter-spacing:-.045em; color:inherit; text-align:left; overflow-wrap:anywhere; }
.site-feature__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:var(--expertise-gap); }
.site-feature__copy { min-width:0; padding:0; }
.site-feature__identity { margin-bottom:34px; }
.site-feature__logo { display:block; width:auto; height:auto; max-width:min(100%,380px); max-height:140px; object-fit:contain; object-position:left center; }
.site-feature__intro { margin:0 0 28px; font-family:var(--ff-body); font-size:var(--site-intro-size); font-weight:400; line-height:var(--site-intro-line-height); color:inherit; overflow-wrap:anywhere; }
.site-feature__text { font-family:var(--ff-body); font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.site-feature__text > :first-child { margin-top:0; }
.site-feature__text > :last-child { margin-bottom:0; }
.site-feature__text p { margin:0 0 22px; }
.site-feature .site-feature__text :is(h3,h4,h5,h6) { font-family:var(--ff-body); font-size:var(--site-intro-size); font-weight:400; line-height:var(--site-intro-line-height); letter-spacing:0; color:inherit; margin:0 0 24px; }
.site-feature__text a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.site-feature__button { display:inline-flex; align-items:center; justify-content:center; gap:24px; width:min(100%,380px); min-height:44px; margin-top:34px; padding:12px 24px; background:var(--site-feature-text,var(--site-text)); color:var(--site-feature-button-text,#fff); font-family:var(--ff-body); font-size:11px; font-weight:600; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; text-align:center; text-decoration:none; overflow-wrap:anywhere; }
.site-feature__button > span { flex-shrink:0; font-size:16px; }
.site-feature__button:focus-visible,.site-feature__text a:focus-visible { outline:3px solid var(--site-feature-text,var(--site-text)); outline-offset:5px; }
.site-feature__figure { position:relative; min-width:0; margin:0; }
.site-feature__figure::after { content:''; position:absolute; bottom:-58px; left:calc(100% + clamp(6px,7vw - 65px,28px)); width:50px; height:208px; background:var(--site-accent); pointer-events:none; }
.site-feature__image { display:block; width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; border-radius:36px; }
.site-feature.has-single-column .site-feature__grid { grid-template-columns:minmax(0,1fr); }
.site-feature.has-single-column .site-feature__title { width:100%; max-width:100%; margin-bottom:32px; text-indent:0; }
@media(max-width:800px) {
    .site-feature { padding:24px 0 64px; }
    .site-feature__container { --expertise-gap:clamp(40px,6.5vw,110px); --expertise-title-offset:clamp(40px,6vw,90px); width:calc(100% - 40px); }
    .site-feature .site-feature__title { width:100%; max-width:100%; text-indent:0; margin:0 0 32px; font-size:clamp(40px,10vw,72px); line-height:1; }
    .site-feature__grid { grid-template-columns:minmax(0,1fr); gap:32px; }
    .site-feature__copy { padding:0; }
    .site-feature__identity { margin-bottom:24px; }
    .site-feature__button { margin-top:24px; }
    .site-feature__image { border-radius:24px; }
    .site-feature__figure::after { left:auto; right:20px; bottom:-24px; width:16px; height:88px; }
}
.site-feature__intro > :first-child { margin-top:0; }
.site-feature__intro > :last-child { margin-bottom:0; }
.condo-sector .site-feature__grid { align-items:center; }
@media(max-width:800px) { .condo-sector .site-feature__grid { align-items:start; } }
