/* Public presentation, independent of the compiled Tailwind bundle. */
.kmc-public { background: #fbfaf7; }
.kmc-public .kmc-footer { background: #071f43; color: #fff; border-top: 1px solid #c4a35a66; }
.kmc-footer p, .kmc-footer ul { color: #d1dbea; }
.kmc-footer h3, .kmc-footer p:first-child.text-gold { color: #d7bd82; }
.kmc-footer [class*="text-white/"] { color: #c2cfdf; }
.kmc-footer a:hover { color: #ecd7a9; }
.kmc-contact-band { background: #f7f4ee; padding: 3rem 1rem; }
.kmc-contact-panel { background: #071f43; color: white; border: 1px solid #c4a35a55; border-radius: 24px; padding: clamp(2rem, 6vw, 4.5rem) 1.5rem; box-shadow: none; }
.kmc-contact-panel h2 { color: #fff; }
.kmc-contact-panel p { color: #d2dcea; }
.kmc-contact-panel p.text-gold { color: #d7bd82; }
.kmc-contact-panel > span[aria-hidden] { display: none; }
.kmc-action { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .85rem 1.5rem; border-radius: 8px; font-size: .75rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; transition: background .2s, border-color .2s; }
.kmc-action--light, .kmc-footer .kmc-action--light { background: #fff; color: #102f55; border: 1px solid #fff; }
.kmc-action--light:hover { background: #f2e7cf; color: #102f55; }
.kmc-action--outline { color: #fff; border: 1px solid #ffffff66; background: transparent; }
.kmc-action--outline:hover { background: #ffffff0d; border-color: #d7bd82; }
.kmc-action--navy { background: #102f55; color: white; border: 1px solid #102f55; }
.kmc-action--navy:hover { background: #071f43; color: white; }
.kmc-action:focus-visible, .kmc-event-thumb:focus-visible { outline: 3px solid #c4a35a; outline-offset: 4px; }
.kmc-event-hero { background: #0b274b; color: #fff; padding: clamp(2rem, 5vw, 4rem) 0; }
.kmc-event-shell { width: min(100% - 2rem, 1200px); margin-inline: auto; }
.kmc-event-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.kmc-event-breadcrumb { display: flex; flex-wrap: wrap; gap: .55rem; color: #c6d3e5; font-size: .68rem; line-height: 1.8; margin-bottom: 2rem; }
.kmc-event-breadcrumb a:hover { color: #fff; }
.kmc-event-date { color: #e0c68d; font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.kmc-event-title { font-size: clamp(1.9rem, 3.5vw, 3.2rem); line-height: 1.15; font-weight: 650; letter-spacing: -.035em; margin: 1rem 0 1.3rem; color: #fff; text-wrap: balance; text-shadow: none; }
.kmc-event-location { color: #d2dcea; font-size: .9rem; line-height: 1.8; }
.kmc-event-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.kmc-event-poster { padding: .65rem; border: 1px solid #c4a35a66; border-radius: 16px; background: #061d38; }
.kmc-event-poster img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; border-radius: 9px; }
.kmc-event-story { background: #fff; }
.kmc-event-story article { max-width: 760px; }
.kmc-event-story article > p { color: #15375b; font-weight: 500; line-height: 1.7; }
.kmc-event-prose { color: #374b62; font-size: 1rem; line-height: 1.9; }
.kmc-event-prose p + p { margin-top: 1.2rem; }
.kmc-event-facts { border: 1px solid #dce3e9; border-top: 3px solid #c4a35a; background: #f7f8fa; border-radius: 14px; padding: 1.5rem; }
.kmc-event-facts ul { color: #40566f; }
.kmc-event-facts li > span:last-child { color: #14355a; }
.kmc-event-facts .kmc-action { margin-top: 1.5rem; width: 100%; }
.kmc-event-viewer { margin-top: 1.5rem; background: #e9edf1; border: 1px solid #d1dae3; border-radius: 16px; position: relative; overflow: hidden; }
.kmc-event-viewer > button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 1rem; height: clamp(300px, 48vw, 540px); }
.kmc-event-viewer > button > img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.kmc-event-thumb { display: flex; align-items: center; justify-content: center; background: #e5eaf0; }
.kmc-event-thumb img { object-fit: contain; }
.kmc-event-media-credit { margin-top: 1rem; color: #52657a; font-size: .75rem; line-height: 1.7; }
.kmc-event-media-credit a { text-decoration: underline; text-underline-offset: 3px; }
.kmc-event-video { max-width: 900px; margin-inline: auto; }
.kmc-event-video iframe, .kmc-event-video video { width: 100%; height: 100%; display: block; }
.kmc-event-video .aspect-video { aspect-ratio: 16 / 9; }
.kmc-event-video--portrait { max-width: 420px; }
.kmc-event-video--portrait .aspect-video { aspect-ratio: 9 / 16; }
.kmc-event-index-card { border: 1px solid #dce2e8; border-radius: 16px; box-shadow: 0 8px 28px #102f5508; }
.kmc-event-index-card p { color: #465a70; }
.kmc-event-index-card h2 { color: #102f55; }
.kmc-related-event { display: block; overflow: hidden; background: white; border: 1px solid #dce2e8; border-radius: 14px; }
.kmc-related-event > img { width: 100%; height: 190px; object-fit: contain; background: #0b274b; }
.kmc-related-event > div { padding: 1.3rem; }
.kmc-related-event p { color: #53667c; font-size: .72rem; }
.kmc-related-event h3 { margin-top: .6rem; font-weight: 650; color: #12365c; }
.kmc-related-event span { display: inline-block; margin-top: 1rem; font-size: .75rem; font-weight: 700; color: #12365c; }
@media (max-width: 767px) {
    .kmc-event-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
    .kmc-event-breadcrumb { margin-bottom: 1.3rem; }
    .kmc-event-poster { width: 100%; max-width: 480px; margin-inline: auto; }
    .kmc-event-poster img { max-height: 250px; }
    .kmc-event-actions .kmc-action { flex: 1 1 140px; }
    .kmc-event-facts { padding: 1.2rem; }
    .kmc-event-viewer > button { height: 390px; height: min(65vh, 440px); padding: .5rem; }
    .kmc-contact-panel .kmc-action { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .kmc-action { transition: none; } }

/* KMC public identity: architectural, quiet and consistent across pages. */
.kmc-public { --kmc-ink:#102d4e; --kmc-muted:#526477; --kmc-paper:#f7f5f0; --kmc-gold:#ad8943; --kmc-line:#dce1e5; --kmc-serif:Georgia,'Times New Roman',serif; background:var(--kmc-paper); color:var(--kmc-ink); }
.kmc-public .kmc-site-header { background:#fffffff5; border-bottom:1px solid #e5e5e0; backdrop-filter:blur(14px); box-shadow:none; }
.kmc-public .kmc-site-header nav { color:#4b5d72; letter-spacing:.11em; }
.kmc-public .kmc-site-header .kmc-nav-link { position:relative; }
.kmc-public .kmc-site-header .kmc-nav-link.is-on { color:#0b274b; }
.kmc-public .kmc-site-header .kmc-nav-link.is-on:after { content:''; position:absolute; bottom:0; inset-inline:0; height:2px; background:#ad8943; }
.kmc-public .kmc-cta-gold { background:#102d4e; color:white; border-radius:5px; padding:.9rem 1.1rem; }
.kmc-public #kmc-mobile-menu { max-height:calc(100svh - 76px); overflow-y:auto; }
.kmc-public #kmc-mobile-menu > div > a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:.9rem 1rem; border-radius:6px; background:#102d4e; color:#fff; line-height:1.4; }
.kmc-public #kmc-mobile-menu .grid a { min-height:44px; display:flex; align-items:center; }
.kmc-public #main { min-height:50vh; }
.kmc-public #main h1, .kmc-public #main h2 { font-family:var(--kmc-serif); font-weight:400; letter-spacing:-.035em; text-wrap:balance; }
.kmc-public #main h2 { line-height:1.2; }
.kmc-public #main .kmc-backlight { text-shadow:none; }
.kmc-public #main :is(p,li,span,label)[class*="text-navy/"] { color:var(--kmc-muted); }
.kmc-public #main :is(p,li)[class*="text-white/"] { color:#d2dce7; }
.kmc-public #main .shadow-soft { box-shadow:0 8px 30px #15324c08; }
.kmc-public #main :is(a,button,input,select,textarea):focus-visible { outline:2px solid #b48d43; outline-offset:4px; }
.kmc-public #main section.bg-mist { background:#f7f5f0; }
.kmc-public #main .bg-ink { background-color:#102d4e; }
.kmc-public #main :is(a,button).bg-navy { background-color:#102d4e; color:#fff; border-radius:6px; min-height:46px; }
.kmc-public #main a.bg-white[class*="text-navy"] { color:#102d4e; }
.kmc-public #main :is(a,button)[class*="uppercase"] { letter-spacing:.1em; }
.kmc-public #main .text-gold { color:#a8833e; }
.kmc-public #main :is(.bg-ink,.kmc-property-hero,.kmc-event-hero,.kmc-home-hero) .text-gold { color:#ddc18b; }
.kmc-eyebrow { display:block; font-family:Montserrat,Arial,sans-serif; font-size:.66rem; font-weight:650; line-height:1.6; letter-spacing:.17em; text-transform:uppercase; color:#8b6c32; }
.kmc-public #main .kmc-home-hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.25fr); min-height:min(760px,calc(100svh - 84px)); background:#0b274b; color:#fff; }
.kmc-public .kmc-hero__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; text-align:start; padding:5rem clamp(1.5rem,4vw,5rem); position:relative; }
.kmc-public .kmc-hero__copy:before { content:''; height:48px; width:1px; background:#c4a35a; position:absolute; top:2rem; }
.kmc-public .kmc-hero-eyebrow { color:#dfc792; margin-bottom:.5rem; }
.kmc-public #main .kmc-home-title { font-size:clamp(2.8rem,4.6vw,5.5rem); line-height:1.02; max-width:11ch; margin-top:1.4rem; font-family:var(--kmc-serif); font-weight:400; letter-spacing:-.045em; }
.kmc-public #main .kmc-home-signature { font-family:Montserrat,Arial,sans-serif; font-size:.85rem; font-weight:500; color:#dfc792; margin-top:1.7rem; }
.kmc-public .kmc-hero__copy > p[class*="text-white/70"] { max-width:35ch; line-height:1.85; font-size:.93rem; }
.kmc-public .kmc-hero__copy > div { align-items:stretch; }
.kmc-public .kmc-hero__copy :is(a,button) { min-height:48px; font-size:.65rem; border-radius:5px; }
.kmc-public .kmc-hero__copy > p:last-child { font-size:.61rem; line-height:1.8; color:#d0d9e4; }
.kmc-public .kmc-hero__media { position:relative; min-height:440px; background:#e3e4e1; overflow:hidden; }
.kmc-public .kmc-hero__media video { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; }
.kmc-public .kmc-hero__play { display:flex; align-items:center; justify-content:center; width:76px; height:76px; border:1px solid #ffffffb3; background:#102d4e30; color:#fff; border-radius:50%; backdrop-filter:blur(5px); transition:background .2s; }
.kmc-public .kmc-hero__play:hover { background:#102d4e88; }
.kmc-public .kmc-hero-caption { background:#0b274be8; border:1px solid #ffffff35; border-radius:6px; padding:1rem 1.2rem; backdrop-filter:none; }
.kmc-explore-strip { background:#eeece5; border-bottom:1px solid #dddcd6; padding:2rem 1.5rem; }
.kmc-explore-inner { width:min(1200px,100%); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.kmc-public #main .kmc-explore-inner h2 { font-size:clamp(1.6rem,2.7vw,2.3rem); margin:.35rem 0; }
.kmc-explore-inner p { font-size:.82rem; color:#536174; line-height:1.7; }
.kmc-explore-links { display:flex; flex-wrap:wrap; gap:.8rem; flex-shrink:0; }
.kmc-explore-links a { display:flex; align-items:center; justify-content:space-between; gap:2.5rem; padding:1rem 1.2rem; border:1px solid #cbd0d3; background:#ffffff85; font-size:.8rem; font-weight:600; border-radius:6px; min-height:52px; }
.kmc-explore-links a:hover { background:white; border-color:#a8833e; }
.kmc-public #main > section:not(.kmc-explore-strip):not(.kmc-stats-strip):not(.kmc-contact-band), .kmc-public .kmc-page > section:not(.kmc-property-hero):not(.kmc-page-masthead):not(.kmc-contact-band) { padding-top:clamp(2.7rem,5vw,5rem); padding-bottom:clamp(2.7rem,5vw,5rem); }
.kmc-public .kmc-page-masthead { min-height:0; background:#f0eee7; border-bottom:1px solid #dfdfd8; color:#102d4e; }
.kmc-public .kmc-page-masthead > .pointer-events-none { display:none; }
.kmc-public .kmc-page-masthead > .relative { min-height:0; padding-top:3.5rem; padding-bottom:3.5rem; }
.kmc-public .kmc-page-masthead nav { color:#596a7b; margin-bottom:1.4rem; }
.kmc-public .kmc-page-masthead nav span:last-child { color:#244363; }
.kmc-public .kmc-page-masthead h1 { font-size:clamp(2.5rem,4.5vw,4.7rem); color:#102d4e; line-height:1.05; }
.kmc-public #main .kmc-page-masthead p[class*="text-white/"] { color:#526477; max-width:65ch; line-height:1.8; }
.kmc-public .kmc-page-masthead img.kmc-logo { display:none; }
.kmc-public .kmc-page-masthead:has(> img) { background:#0b274b; }
.kmc-public .kmc-page-masthead:has(> img) h1, .kmc-public .kmc-page-masthead:has(> img) nav { color:#fff; }
.kmc-property-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dedfdc; border-radius:12px; background:#fff; color:#102d4e; text-decoration:none; box-shadow:0 4px 20px #14344d04; transition:border-color .2s,box-shadow .2s; }
.kmc-property-card:hover { border-color:#b99a62; box-shadow:0 12px 30px #14344d0b; }
.kmc-property-card__link { display:flex; flex-direction:column; height:100%; color:inherit; }
.kmc-property-card__media { position:relative; aspect-ratio:4/3; background:#e5e8e8; overflow:hidden; }
.kmc-property-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.kmc-property-card:hover .kmc-property-card__media img { transform:scale(1.025); }
.kmc-property-badge, .kmc-property-type { position:absolute; top:1rem; padding:.45rem .7rem; background:#fffffff0; color:#173a5b; border:1px solid #ffffff80; border-radius:4px; font-size:.63rem; font-weight:650; line-height:1.4; }
.kmc-property-badge { inset-inline-start:1rem; }
.kmc-property-type { inset-inline-end:1rem; }
.kmc-property-card__body { padding:1.5rem; display:flex; flex:1; flex-direction:column; }
.kmc-property-card__body h3 { font-family:var(--kmc-serif); font-size:clamp(1.45rem,2vw,1.8rem); font-weight:400; line-height:1.25; letter-spacing:-.025em; margin:.65rem 0; color:#102d4e; }
.kmc-card-description { color:#526477; font-size:.85rem; line-height:1.8; margin-bottom:1.2rem; }
.kmc-property-facts { display:flex; flex-wrap:wrap; gap:.5rem 1rem; color:#526477; font-size:.76rem; padding:.4rem 0 1.1rem; }
.kmc-property-card__bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1rem; margin-top:auto; border-top:1px solid #e5e6e2; }
.kmc-card-availability { color:#526477; font-size:.73rem; line-height:1.7; }
.kmc-card-price { color:#102d4e; font-size:.85rem; font-weight:650; margin-top:.3rem; }
.kmc-card-arrow { display:flex; align-items:center; justify-content:center; border:1px solid #d1d7da; width:40px; height:40px; flex-shrink:0; border-radius:50%; color:#153a5d; }
.kmc-property-card:hover .kmc-card-arrow { background:#102d4e; border-color:#102d4e; color:#fff; }
.kmc-public .kmc-project-card--compact { width:82vw; max-width:480px; flex-shrink:0; }
.kmc-public .kmc-property-hero { min-height:520px; background:#0b274b; }
.kmc-public .kmc-property-hero > img { height:100%; object-fit:cover; }
.kmc-public .kmc-property-hero > .relative { min-height:520px; padding-top:3.5rem; padding-bottom:3.5rem; }
.kmc-public .kmc-property-hero h1 { font-size:clamp(2.5rem,5vw,5.2rem); max-width:15ch; }
.kmc-property-hero > .pointer-events-none { display:none; }
.kmc-property-hero > .bg-gradient-to-r { background:linear-gradient(90deg,#071f43e8,#071f4370 65%,#071f4320); }
.kmc-property-hero > .bg-gradient-to-t { background:linear-gradient(0deg,#071f43b0,transparent 70%); }
.kmc-public .kmc-gallery-tile { background:#e9e9e3; border-radius:8px; }
.kmc-public .kmc-gallery-tile img { aspect-ratio:4/3; object-fit:contain; }
.kmc-public .kmc-catalog-filters { position:relative; background:#fff; }
.kmc-public .kmc-catalog-filters form > div { padding:1.2rem; border:1px solid #dedfdc; border-radius:10px; background:#f6f5f1; }
.kmc-public .kmc-catalog-filters select { min-height:34px; font-size:.85rem; padding-inline-end:1.5rem; }
.kmc-public .kmc-page-contact form, .kmc-public .kmc-page-about aside > div { border:1px solid #dcdfdd; border-radius:14px; box-shadow:none; }
.kmc-public .kmc-contact-form { padding:clamp(1.5rem,3vw,2.5rem); }
.kmc-public .kmc-contact-form :is(input:not([type=hidden]),textarea) { background:#fbfbf8; border:1px solid #cbd1d3; border-radius:6px; padding:.8rem 1rem; line-height:1.5; font-size:1rem; }
.kmc-public .kmc-contact-form textarea { min-height:140px; }
.kmc-public .kmc-contact-form button { padding:.95rem 1.2rem; min-height:48px; }
.kmc-public .kmc-page-faq details { border:1px solid #dcdfdd; border-radius:9px; box-shadow:none; }
.kmc-public .kmc-page-faq details[open] { border-color:#b69a62; background:#fffefa; }
.kmc-public .kmc-page-faq summary { padding:1.25rem 1.5rem; line-height:1.65; }
.kmc-public .kmc-page-faq details > div { line-height:1.85; color:#526477; padding-bottom:1.5rem; }
.kmc-public .kmc-page-legal article { max-width:760px; line-height:1.9; }
.kmc-public .kmc-page-services ol > li, .kmc-public .kmc-page-about article { border:1px solid #dedfdc; border-radius:12px; box-shadow:none; }
.kmc-public .kmc-page-services ol > li > div:first-child, .kmc-public .kmc-page-about article > div:first-child { background:#edf0ef; border-bottom:1px solid #dce1dd; padding:1.5rem; }
.kmc-public .kmc-page-services ol h3, .kmc-public .kmc-page-about article h3 { color:#102d4e; }
.kmc-public .kmc-page-about article > div:first-child p { color:#8b6c32; }
.kmc-public .kmc-story-card, .kmc-public .kmc-event-index-card { background:#fff; border:1px solid #dcdfdd; border-radius:12px; box-shadow:none; }
.kmc-public .kmc-story-card h3 { font-family:var(--kmc-serif); font-size:1.4rem; font-weight:400; color:#102d4e; }
.kmc-public .kmc-contact-panel { border-radius:14px; border-color:#c4a35a50; }
.kmc-public .kmc-contact-panel h2 { font-size:clamp(2rem,4vw,3.7rem); max-width:20ch; margin-inline:auto; }
.kmc-public .kmc-contact-panel .pointer-events-none { display:none; }
.kmc-public .kmc-footer { background:#081f3b; }
.kmc-footer > div:last-child > div > span:last-child { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
.kmc-stats-strip { background:#102d4e; color:#fff; padding:2.5rem 1.5rem; }
.kmc-stats-inner { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:2rem; width:min(1200px,100%); margin:auto; }
.kmc-stats-inner > div { text-align:center; }
.kmc-stats-inner strong { display:block; font-family:var(--kmc-serif); font-size:2.5rem; font-weight:400; color:#dfc792; }
.kmc-stats-inner span { display:block; margin-top:.5rem; font-size:.68rem; line-height:1.6; text-transform:uppercase; letter-spacing:.1em; }
[dir=rtl] .kmc-public { --kmc-serif:Tahoma,Arial,sans-serif; }
[dir=rtl] .kmc-public :is(h1,h2,h3,.kmc-eyebrow) { letter-spacing:0!important; line-height:1.55; }
[dir=rtl] .kmc-public .kmc-site-header nav { letter-spacing:0; }
[dir=rtl] .kmc-public .kmc-property-hero > .bg-gradient-to-r { background:linear-gradient(270deg,#071f43e8,#071f4370 65%,#071f4320); }
@media (min-width:1024px) { .kmc-public .kmc-project-card--compact { width:auto; max-width:none; } }
@media (max-width:1100px) and (min-width:1024px) { .kmc-public .kmc-site-header nav { gap:1rem; font-size:.57rem; } .kmc-public .kmc-site-header > div { gap:.6rem; } }
@media (min-width:768px) and (max-width:1023px) {
    .kmc-public #main .kmc-home-hero { grid-template-columns:1fr; min-height:0; }
    .kmc-public .kmc-hero__copy { padding:3.5rem 2.5rem; }
    .kmc-public #main .kmc-home-title { max-width:16ch; font-size:4rem; }
    .kmc-public .kmc-hero__media { min-height:420px; aspect-ratio:16/9; }
}
@media (max-width:767px) {
    .kmc-public #main .kmc-home-hero { grid-template-columns:1fr; min-height:0; }
    .kmc-public .kmc-hero__copy { padding:3rem 1.5rem 2.5rem; }
    .kmc-public .kmc-hero__copy:before { top:1.2rem; height:20px; }
    .kmc-public #main .kmc-home-title { max-width:14ch; font-size:clamp(2.7rem,10vw,4rem); margin-top:.9rem; }
    .kmc-public .kmc-hero__media { min-height:300px; aspect-ratio:4/3; }
    .kmc-public .kmc-hero__copy > div { width:100%; flex-direction:row; flex-wrap:wrap; }
    .kmc-public .kmc-hero__copy > div > :is(a,button) { flex:1 1 145px; padding:.9rem .8rem; }
    .kmc-explore-inner { flex-direction:column; align-items:stretch; gap:1.2rem; }
    .kmc-explore-links { flex-direction:row; }
    .kmc-explore-links a { flex:1 1 140px; gap:1rem; padding:.85rem; }
    .kmc-public .kmc-page-masthead > .relative { padding-top:2.5rem; padding-bottom:2.5rem; }
    .kmc-public .kmc-page-masthead h1 { font-size:clamp(2.2rem,9vw,3rem); }
    .kmc-public .kmc-property-hero, .kmc-public .kmc-property-hero > .relative { min-height:470px; }
    .kmc-public .kmc-property-hero h1 { font-size:2.7rem; max-width:16ch; }
    .kmc-property-card__body { padding:1.2rem; }
    .kmc-public .kmc-property-hero nav { line-height:1.9; }
    .kmc-public .kmc-contact-panel { padding:2.5rem 1.25rem; }
}
@media (prefers-reduced-motion:reduce) { .kmc-property-card, .kmc-property-card__media img, .kmc-public .kmc-hero__play { transition:none; } .kmc-property-card:hover img { transform:none; } }

/* Facebook Reels: preserve the original portrait frame and keep a source link. */
.kmc-public .kmc-hero__media--facebook { background:#081c34; min-height:640px; }
.kmc-home-facebook-player { position:absolute; inset:0 0 52px; display:flex; align-items:center; justify-content:center; }
.kmc-home-facebook-player iframe { width:min(100%,420px); height:100%; max-height:750px; border:0; background:#081c34; }
.kmc-home-video-source { position:absolute; bottom:0; inset-inline:0; display:flex; align-items:center; justify-content:center; gap:.75rem; min-height:52px; padding:.7rem 1rem; font-size:.75rem; color:#fff; background:#102d4e; border-top:1px solid #ffffff24; }
.kmc-home-video-source:hover { color:#e6cd98; }
.kmc-home-video-modal { width:min(100%,420px); max-height:90svh; background:#081c34; border-radius:12px; overflow:hidden; border:1px solid #ffffff30; }
.kmc-home-video-modal iframe { width:100%; height:min(76svh,740px); display:block; border:0; }
.kmc-home-video-modal > a { display:block; color:white; padding:1rem; text-align:center; font-size:.8rem; }
.kmc-promo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.5rem; align-items:start; }
.kmc-promo-grid--single { grid-template-columns:minmax(0,1fr); max-width:900px; margin-inline:auto; }
.kmc-promo-grid--single:has(.kmc-promo-frame--portrait) { max-width:420px; }
.kmc-promo-card { min-width:0; overflow:hidden; border:1px solid #d6dfe5; border-radius:12px; background:white; }
.kmc-promo-frame { aspect-ratio:16/9; background:#081c34; }
.kmc-promo-frame--portrait { aspect-ratio:9/16; }
.kmc-promo-frame :is(video,iframe) { display:block; width:100%; height:100%; border:0; object-fit:contain; }
.kmc-promo-caption { padding:1rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; font-size:.72rem; color:#526477; }
.kmc-promo-caption a { color:#14395d; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:767px) { .kmc-public .kmc-hero__media--facebook { min-height:650px; aspect-ratio:auto; } }

/* Portrait video: explicit dimensions avoid inherited absolute positioning and cropping. */
.kmc-public .kmc-hero__media--native {
 display:flex; align-items:center; justify-content:center;
 min-width:0; min-height:0; aspect-ratio:auto; padding:24px;
 background:#081c34;
}
.kmc-public .kmc-hero__media--native video {
 position:static; inset:auto; display:block; flex:none; margin:0 auto;
 width:auto; height:auto; max-width:100%; max-height:680px;
 max-height:min(76svh,680px); aspect-ratio:9/16; object-fit:contain;
 object-position:center; border-radius:12px; background:#081c34;
}
.kmc-home-video-modal { width:min(100%,calc(82svh * 9 / 16)); }
.kmc-home-video-modal video { display:block; width:100%; height:auto; max-height:82svh; object-fit:contain; background:#081c34; }
.kmc-video-error { position:absolute; inset:auto 16px 16px; padding:14px; background:#081c34; color:#fff; text-align:center; font-size:.85rem; }
.kmc-video-error a { display:block; margin-top:8px; text-decoration:underline; }
@media(max-width:1023px) {
 .kmc-public .kmc-hero__media--native { padding:20px 16px; }
 .kmc-public .kmc-hero__media--native video { max-height:70svh; max-width:100%; }
}

/* A continuous hero surface, with an inset portrait film rather than a separate panel. */
.kmc-public #main .kmc-home-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); background:#0d294b; min-height:0; align-items:center; }
.kmc-public .kmc-hero__media--native { background:transparent; padding:32px clamp(20px,4vw,72px); }
.kmc-video-stage { position:relative; width:min(100%,380px); margin-inline:auto; overflow:hidden; border-radius:20px; border:1px solid #c4a35a55; background:#081c34; }
.kmc-public .kmc-hero__media--native .kmc-video-stage video { width:100%; height:auto; max-height:none; border-radius:0; }
.kmc-video-sound { position:absolute; top:16px; inset-inline-end:12px; padding:11px 16px; border-radius:30px; border:1px solid #ffffff70; background:#0b274be8; color:white; font-size:.75rem; font-weight:600; cursor:pointer; }
.kmc-video-sound[hidden] { display:none; }
@media(max-width:1023px) {
 .kmc-public #main .kmc-home-hero { grid-template-columns:1fr; }
 .kmc-public .kmc-hero__media--native { padding:0 20px 32px; }
 .kmc-video-stage { width:min(100%,340px); }
 .kmc-public .kmc-hero__copy { padding-bottom:28px; }
}

