/* Accessibility repairs, preserving the existing navy, cream and gold identity. */
:root { --kt-accessible-gold:#806018; }
.kt-cta,
.kt-page-content .wp-block-button__link,
.kt-blue-cta,.kt-page-cta a,
.kt-contact-form button,
.kt-property-info .kt-eyebrow { color:var(--kt-navy)!important; }
.kt-partner,.kt-palm-caption,.kt-footer-title,
.kt-property-info .kt-eyebrow.kt-status-past-listing { color:var(--kt-accessible-gold)!important; }
.kt-contact-form input,.kt-contact-form textarea { border:2px solid #566773; }
:focus-visible { outline:3px solid #fff; outline-offset:2px; box-shadow:0 0 0 6px #042b4e; }
.kt-skip:focus { left:8px; top:8px; }
main:focus { outline:none; }
/* Let content grow with zoom, text spacing and larger type instead of clipping. */
.kt-header-inner { height:auto; min-height:181px; overflow:visible; }
.kt-identity { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.kt-identity-line,.kt-hero-kicker,.kt-partner { white-space:normal; }
.kt-property-info>p { max-height:none; overflow:visible; }
.kt-service-caption { height:auto; min-height:70px; padding-top:8px; padding-bottom:8px; }
.kt-footer-body { line-height:1.5!important; transform:none!important; }
.kt-footer-title { line-height:1.2!important; transform:none!important; }
.kt-property-info .kt-property-title { font:normal 21px Georgia,serif; margin:7px 0 3px; color:var(--kt-navy); }
.kt-page-content,.kt-property-info,.kt-contact-form { overflow-wrap:anywhere; }
.kt-contact-form { min-width:0; }
.kt-form-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kt-form-row label { min-width:0; }
.kt-hero .kt-hero-second { display:block; font:inherit; }
/* Opaque-enough backing gives readable text on every photograph, not just one. */
.kt-hero .kt-hero-content { background:rgba(1,25,48,.86); margin-top:1rem; padding-top:1rem; padding-right:1rem; flex:0 1 auto; }
.kt-hero .ed-hero-highlights { background:rgba(1,25,48,.86); padding-bottom:4rem; }
.kt-carousel-toggle { position:absolute; z-index:4; top:12px; right:12px; border:2px solid #fff; border-radius:4px; padding:9px 12px; min-height:44px; background:#042b4e; color:#fff; cursor:pointer; }
.kt-carousel-dots { max-width:calc(100% - 24px); flex-wrap:wrap; justify-content:center; padding:4px; border-radius:4px; background:#042b4e; }
.kt-carousel-dots button::before { opacity:1; }
.kt-carousel-dots button[aria-current=true]::before { outline:2px solid #fff; outline-offset:2px; }
.kt-carousel-prev,.kt-carousel-next { min-width:44px; min-height:44px; z-index:4; background:#042b4e; color:#fff; border:2px solid #fff; }
.kt-property-fact .kt-fact-icon { color:#566773; }
#kt-listing-map .leaflet-popup-close-button { min-width:32px; min-height:32px; line-height:32px; }
#kt-listing-map .leaflet-popup-content { margin-right:32px; }
#listing-map-help { font-size:1rem; line-height:1.5; }
@media (min-width:520px) and (max-width:1200px) {
 .kt-header-inner { min-height:160px; }
}
@media (max-width:1200px) {
 .kt-palm-caption,.kt-palm-art { display:none; }
}
@media (max-width:760px) {
 .kt-hero .kt-hero-content { margin-top:4.5rem; width:100%; padding:1rem 1.25rem!important; }
 .kt-hero .ed-hero-highlights { padding-bottom:8rem; }
 .kt-carousel-prev,.kt-carousel-next { bottom:5rem!important; }
 .kt-carousel-dots { width:calc(100% - 24px); max-width:360px; }
 .kt-form-row { grid-template-columns:1fr; }
}
@media (max-width:519px) {
 html,body { overflow-x:visible; }
 .kt-header-inner { min-height:138px; }
 .kt-identity { padding-bottom:10px; }
 .kt-service-cards { grid-template-columns:1fr; }
 .kt-sunshine .kt-editable { white-space:normal!important; }
 .kt-contact-form { padding:16px; }
 #kt-listing-map { min-height:320px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
}
