.apmeta-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 26px; padding: 13px 23px; border: 1px solid transparent; border-radius: var(--ap-radius-sm); font-size: 13px; font-weight: 650; line-height: 1.25; text-align: center; text-decoration: none; white-space: nowrap; transition: background var(--ap-transition), color var(--ap-transition), border-color var(--ap-transition), transform var(--ap-transition); }
.apmeta-button:hover { text-decoration: none; transform: translateY(-2px); }
.apmeta-button--header { background: var(--ap-color-accent); color: #1e211d; min-height: 42px; padding: 10px 17px; }
.apmeta-button--header:hover { background: #d9bd87; }
.apmeta-button--gold { background: var(--ap-color-accent); color: #1e211d; }
.apmeta-button--gold:hover { background: #ddc18b; }
.apmeta-button--dark { background: var(--ap-color-dark); color: #fff; }
.apmeta-button--dark:hover { background: #39463d; }
.apmeta-button--outline-light { color: #fff; border-color: rgba(255,255,255,.48); background: rgba(20, 28, 22, .08); }
.apmeta-button--outline-light:hover { border-color: rgba(255,255,255,.82); background: rgba(255,255,255,.12); }
.apmeta-hero__actions .apmeta-button { min-height: 52px; font-size: 13.5px; font-weight: 700; }
.apmeta-hero__actions .apmeta-button--gold { min-width: 171px; padding-inline: 30px; }
.apmeta-hero__actions .apmeta-button:focus-visible { outline-color: #f0d69a; outline-offset: 4px; }
.apmeta-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: #8e7754; font-size: 11px; font-weight: 750; line-height: 1.4; letter-spacing: .17em; text-transform: uppercase; }
.apmeta-eyebrow--light { color: #ddc79e; }
.apmeta-eyebrow--light span { width: 22px; height: 1px; background: currentColor; }
.apmeta-section { padding-block: var(--ap-space-7); }
.apmeta-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 43px; }
.apmeta-section-heading h2 { max-width: 760px; margin: 0; color: var(--ap-color-ink); font: 400 clamp(32px, 3.7vw, 55px)/var(--ap-line-heading) var(--ap-font-display); letter-spacing: -.035em; }
.apmeta-section-heading__description { max-width: 560px; margin: 18px 0 0; color: var(--ap-color-muted); font-size: 16px; }
.apmeta-text-link { display: inline-flex; align-items: center; gap: 12px; width: fit-content; padding-bottom: 5px; color: var(--ap-color-ink); border-bottom: 1px solid var(--ap-color-accent-strong); font-size: 13px; font-weight: 650; text-decoration: none; white-space: nowrap; transition: gap var(--ap-transition); }
.apmeta-text-link:hover { gap: 18px; text-decoration: none; }
.apmeta-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.apmeta-property-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.apmeta-property-grid--single { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.apmeta-property-grid--single .apmeta-property-card__link { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); }
.apmeta-property-grid--single .apmeta-property-card__media { min-height: 330px; height: 100%; aspect-ratio: auto; }
.apmeta-property-card { min-width: 0; background: var(--ap-color-surface); border: 1px solid #e7e5df; border-radius: var(--ap-radius-md); overflow: hidden; transition: transform var(--ap-transition), box-shadow var(--ap-transition), border-color var(--ap-transition); }
.apmeta-property-card:hover { transform: translateY(-4px); border-color: #c9bb9f; box-shadow: var(--ap-shadow-soft); }
.apmeta-property-card__link { display: flex; flex-direction: column; height: 100%; min-width: 0; color: inherit; text-decoration: none; }
.apmeta-property-card__link:hover { text-decoration: none; }
.apmeta-property-card__media { position: relative; flex: 0 0 auto; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 4/3; overflow: hidden; background: #e8e8e1; }
.apmeta-property-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.apmeta-property-card:hover .apmeta-property-card__image { transform: scale(1.025); }
.apmeta-property-card__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px; background: radial-gradient(circle at 50% 44%, rgba(196,177,139,.17), transparent 37%), repeating-linear-gradient(135deg, transparent 0 46px, rgba(159,164,145,.055) 47px 48px), #e8e8e1; color: #536055; text-align: center; }
.apmeta-property-card__placeholder span { font-size: 22px; font-weight: 500; letter-spacing: .13em; }
.apmeta-property-card__placeholder small { font-size: 11px; letter-spacing: .03em; }
.apmeta-property-card__badge { position: absolute; top: 17px; left: 17px; padding: 8px 12px; background: rgba(255,255,255,.96); border-radius: 3px; color: #25302a; font-size: 11px; font-weight: 700; }
.apmeta-property-card__body { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; padding: 23px 25px 21px; }
.apmeta-property-card__location { margin: 0 0 9px; color: #7a7d72; font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.apmeta-property-card h3 { margin: 0; overflow-wrap: anywhere; font: 400 clamp(23px, 2vw, 31px)/1.16 var(--ap-font-display); letter-spacing: -.025em; }
.apmeta-property-card__details { display: flex; flex-wrap: wrap; gap: 8px 17px; margin-top: 18px; color: var(--ap-color-muted); font-size: 12px; }
.apmeta-property-card__details span + span::before { content: '·'; margin-right: 17px; color: var(--ap-color-accent-strong); }
.apmeta-property-card__bottom { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 23px; }
.apmeta-property-card__bottom small { display: block; color: var(--ap-color-muted); font-size: 11px; }
.apmeta-property-card__bottom strong { display: block; overflow-wrap: anywhere; font-size: 19px; font-weight: 650; line-height: 1.3; }
.apmeta-property-card__arrow { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid var(--ap-color-border); border-radius: 50%; font-size: 17px; }
.apmeta-property-card__cta { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--ap-color-border); color: #314036; font-size: 12px; font-weight: 700; }
.apmeta-property-card__cta span { font-size: 17px; font-weight: 400; }
.apmeta-property-card:focus-within { outline: 3px solid var(--ap-color-accent-strong); outline-offset: 3px; }
.apmeta-empty-feature { display: flex; align-items: center; gap: 35px; padding: 55px; background: #e8ebe5; border-radius: var(--ap-radius-md); }
.apmeta-empty-feature__mark { font-size: 25px; font-weight: 600; letter-spacing: -.07em; color: #65766b; }
.apmeta-empty-feature h3 { margin: 0 0 5px; font: 400 30px/1.2 var(--ap-font-display); }
.apmeta-empty-feature p { margin: 0; color: var(--ap-color-muted); }
.apmeta-empty-feature .apmeta-text-link { margin-left: auto; }
