:root {
  --kr-navy: #052230;
  --kr-navy-soft: #0b3444;
  --kr-gold: #fad643;
  --kr-gold-deep: #cb852e;
  --kr-white: #dde6e8;
  --kr-paper: #f4f4f0;
  --kr-ink: #10252d;
  --kr-muted: #64747b;
  --kr-border: rgba(5, 34, 48, 0.16);
  --kr-container: min(1280px, calc(100vw - 64px));
  --kr-display: "Roboto Condensed", "Arial Narrow", Calibri, Arial, sans-serif;
  --kr-body: Calibri, "Roboto Condensed", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.kr-site {
  margin: 0;
  color: var(--kr-ink);
  background: var(--kr-paper);
  font-family: var(--kr-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.kr-site.admin-bar .kr-header { top: 32px; }
.kr-site img { display: block; max-width: 100%; }
.kr-site a { color: inherit; }
.kr-container { width: var(--kr-container); min-width: 0; margin-inline: auto; }
.kr-skip-link {
  position: fixed; left: 16px; top: -100px; z-index: 99999;
  padding: 12px 18px; background: var(--kr-gold); color: var(--kr-navy);
}
.kr-skip-link:focus { top: 16px; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.kr-header {
  position: fixed; inset: 0 0 auto; z-index: 1000;
  height: 92px; color: var(--kr-white);
  background: linear-gradient(180deg, rgba(5,34,48,.96), rgba(5,34,48,.84));
  border-bottom: 1px solid rgba(221,230,232,.15);
  backdrop-filter: blur(12px);
}
.kr-header__inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.kr-logo { flex: 0 0 225px; overflow: hidden; }
.kr-logo img { width: 225px; height: 88px; object-fit: cover; }
.kr-nav { display: flex; align-items: center; gap: clamp(14px, 1.5vw, 28px); margin-left: auto; }
.kr-nav a {
  position: relative; text-decoration: none; text-transform: uppercase; letter-spacing: .08em;
  font-family: var(--kr-display); font-weight: 600; font-size: 14px; white-space: nowrap;
}
.kr-nav a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px;
  background: linear-gradient(90deg, var(--kr-gold), var(--kr-gold-deep)); transition: right .25s ease;
}
.kr-nav a:hover::after, .kr-nav a.is-active::after { right: 0; }
.kr-languages { display: flex; gap: 8px; padding-left: 18px; border-left: 1px solid rgba(221,230,232,.2); }
.kr-languages a { opacity: .55; text-decoration: none; font: 600 12px/1 var(--kr-display); letter-spacing: .07em; }
.kr-languages a:hover, .kr-languages a.is-active { color: var(--kr-gold); opacity: 1; }
.kr-header__cta {
  padding: 12px 15px; border: 1px solid var(--kr-gold); color: var(--kr-gold);
  text-decoration: none; text-transform: uppercase; letter-spacing: .08em;
  font: 600 12px/1 var(--kr-display); white-space: nowrap;
}
.kr-menu-toggle { display: none; }

.kr-hero {
  min-height: 100svh; position: relative; display: grid; align-items: end;
  color: white; background: var(--kr-navy) var(--kr-hero-image) center/cover no-repeat;
}
.kr-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(3,24,34,.9) 0%, rgba(3,24,34,.58) 42%, rgba(3,24,34,.15) 72%),
              linear-gradient(0deg, rgba(3,24,34,.7), transparent 50%);
}
.kr-grid-motif {
  position: absolute; top: 140px; right: 7vw; width: 190px; height: 190px; opacity: .8;
  background-image: radial-gradient(circle, var(--kr-gold) 2px, transparent 2.5px);
  background-size: 28px 28px;
}
.kr-grid-motif::after {
  content: ""; position: absolute; inset: -25px 45px 40px -55px;
  border-left: 1px solid var(--kr-gold); border-bottom: 1px solid var(--kr-gold); transform: skewY(-18deg);
}
.kr-hero__content { position: relative; z-index: 2; padding: 200px 0 12vh; }
.kr-eyebrow, .kr-kicker {
  margin: 0 0 18px; color: var(--kr-gold); font: 600 13px/1.3 var(--kr-display);
  letter-spacing: .19em; text-transform: uppercase;
}
.kr-hero h1, .kr-page-hero h1 {
  max-width: 850px; margin: 0; color: white; font: 600 clamp(54px, 7vw, 106px)/.93 var(--kr-display);
  letter-spacing: -.035em; text-transform: uppercase; overflow-wrap: anywhere;
}
.kr-lang-hy .kr-hero h1 {
  max-width: 930px;
  font-size: clamp(48px, 5vw, 82px);
  line-height: 1.02;
}
.kr-lang-hy .kr-hero__content { padding-top: 160px; padding-bottom: 7vh; }
.kr-hero__lead { max-width: 650px; margin: 30px 0 0; font-size: clamp(18px, 2vw, 25px); line-height: 1.45; color: rgba(255,255,255,.88); }
.kr-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.kr-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px;
  border: 0; text-decoration: none; text-transform: uppercase; letter-spacing: .09em;
  font: 700 14px/1 var(--kr-display); cursor: pointer; transition: transform .2s ease, background .2s ease;
}
.kr-button:hover { transform: translateY(-2px); }
.kr-button--gold { background: linear-gradient(120deg, var(--kr-gold), var(--kr-gold-deep)); color: var(--kr-navy); }
.kr-button--line { border: 1px solid rgba(255,255,255,.62); color: white; background: rgba(255,255,255,.04); }
.kr-scroll-cue { position: absolute; z-index: 2; right: 5vw; bottom: 8vh; width: 34px; height: 58px; border: 1px solid rgba(255,255,255,.55); border-radius: 20px; }
.kr-scroll-cue span { position: absolute; top: 12px; left: 15px; width: 3px; height: 10px; background: var(--kr-gold); animation: kr-scroll 1.7s infinite; }
@keyframes kr-scroll { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(23px); opacity: 0; } }

.kr-stats { background: var(--kr-navy); color: var(--kr-white); border-top: 1px solid rgba(221,230,232,.15); }
.kr-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.kr-stat { min-height: 180px; padding: 35px 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(221,230,232,.15); }
.kr-stat:first-child { border-left: 1px solid rgba(221,230,232,.15); }
.kr-stat strong { color: var(--kr-gold); font: 600 clamp(40px, 4vw, 68px)/1 var(--kr-display); }
.kr-stat span { margin-top: 10px; text-transform: uppercase; letter-spacing: .1em; font: 500 13px/1.4 var(--kr-display); }

.kr-section { padding: clamp(80px, 10vw, 150px) 0; }
.kr-section--navy { color: var(--kr-white); background: var(--kr-navy); }
.kr-section--navy h2, .kr-section--navy h3 { color: white; }
.kr-split { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(54px, 8vw, 130px); }
.kr-split--reverse { grid-template-columns: 1.15fr .85fr; }
.kr-section h2, .kr-cta-band h2 {
  max-width: 920px; margin: 0 0 32px; color: var(--kr-navy);
  font: 600 clamp(40px, 5vw, 76px)/1 var(--kr-display); letter-spacing: -.03em; text-transform: uppercase;
}
.kr-large-copy { color: #40545c; font-size: clamp(18px, 2vw, 24px); line-height: 1.6; }
.kr-text-link { display: inline-flex; gap: 20px; margin-top: 22px; color: var(--kr-navy); text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font: 700 14px/1 var(--kr-display); }
.kr-text-link span { color: var(--kr-gold-deep); }
.kr-angle-frame { position: relative; margin: 0; min-height: 640px; overflow: hidden; clip-path: polygon(0 7%, 92% 0, 100% 92%, 8% 100%); background: var(--kr-navy); }
.kr-angle-frame::after { content: ""; position: absolute; right: 0; bottom: 0; width: 36%; height: 6px; background: var(--kr-gold); }
.kr-angle-frame img { width: 100%; height: 100%; min-height: 640px; object-fit: cover; }

.kr-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 55px; border-top: 1px solid rgba(221,230,232,.2); border-left: 1px solid rgba(221,230,232,.2); }
.kr-feature { min-width: 0; min-height: 290px; padding: 36px; border-right: 1px solid rgba(221,230,232,.2); border-bottom: 1px solid rgba(221,230,232,.2); transition: background .25s ease; overflow-wrap: anywhere; }
.kr-feature:hover { background: var(--kr-navy-soft); }
.kr-feature__number { color: var(--kr-gold); font: 500 14px/1 var(--kr-display); letter-spacing: .16em; }
.kr-feature h3, .kr-benefit h3 { margin: 68px 0 12px; font: 600 27px/1.1 var(--kr-display); text-transform: uppercase; }
.kr-feature p { margin: 0; color: rgba(221,230,232,.72); }
.kr-visual-break { min-height: 78vh; position: relative; background: var(--kr-navy) var(--kr-break-image) center/cover fixed no-repeat; }
.kr-visual-break__line { position: absolute; left: 7vw; top: 0; bottom: 0; width: 1px; background: rgba(250,214,67,.8); }
.kr-visual-break__line::after { content: ""; position: absolute; top: 17%; left: -5px; width: 11px; height: 11px; background: var(--kr-gold); transform: rotate(45deg); }
.kr-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 50px; background: var(--kr-border); }
.kr-benefit { min-width: 0; padding: 38px; min-height: 260px; background: var(--kr-paper); overflow-wrap: anywhere; }
.kr-benefit__icon { display: block; width: 52px; height: 52px; border: 1px solid var(--kr-gold-deep); transform: rotate(45deg); }
.kr-benefit h3 { margin-top: 40px; color: var(--kr-navy); }
.kr-benefit p { color: var(--kr-muted); }
.kr-cta-band { padding: 80px 0; color: white; background: linear-gradient(115deg, var(--kr-navy) 0 72%, var(--kr-gold-deep) 72%); }
.kr-cta-band__inner { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.kr-cta-band h2 { color: white; margin-bottom: 14px; }
.kr-cta-band p { margin-bottom: 0; color: rgba(255,255,255,.7); }

.kr-page-hero {
  min-height: 70vh; position: relative; display: flex; align-items: end; color: white;
  background: var(--kr-navy) var(--kr-page-image) center/cover no-repeat;
}
.kr-page-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,24,34,.9), rgba(3,24,34,.22)), linear-gradient(0deg, rgba(3,24,34,.62), transparent 55%); }
.kr-page-hero__content { position: relative; padding: 190px 0 9vh; }
.kr-page-hero__content > p:last-child { max-width: 720px; margin: 26px 0 0; font-size: 23px; color: rgba(255,255,255,.82); }
.kr-details-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; border: 1px solid rgba(221,230,232,.18); }
.kr-details-grid div { min-height: 210px; display: flex; flex-direction: column; justify-content: center; padding: 35px; border-right: 1px solid rgba(221,230,232,.18); border-bottom: 1px solid rgba(221,230,232,.18); }
.kr-details-grid strong { color: var(--kr-gold); font: 600 58px/1 var(--kr-display); }
.kr-details-grid span { margin-top: 14px; text-transform: uppercase; letter-spacing: .08em; font: 500 14px/1.4 var(--kr-display); }

.kr-filter-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 26px; background: var(--kr-navy); }
.kr-filter-bar label { display: grid; gap: 8px; color: var(--kr-white); text-transform: uppercase; font: 600 12px/1 var(--kr-display); letter-spacing: .1em; }
.kr-filter-bar select { width: 100%; min-height: 50px; padding: 0 14px; color: var(--kr-navy); background: white; border: 0; font: 500 16px/1 var(--kr-display); }
.kr-table-wrap { overflow-x: auto; margin-top: 24px; }
.kr-apartment-table { width: 100%; min-width: 850px; border-collapse: collapse; background: white; }
.kr-apartment-table th { padding: 17px 16px; color: var(--kr-white); background: var(--kr-navy-soft); text-align: left; text-transform: uppercase; letter-spacing: .07em; font: 600 13px/1.2 var(--kr-display); }
.kr-apartment-table td { padding: 16px; border-bottom: 1px solid var(--kr-border); }
.kr-apartment-table tr[hidden] { display: none; }
.kr-status { display: inline-block; padding: 6px 9px; font: 600 12px/1 var(--kr-display); text-transform: uppercase; letter-spacing: .06em; }
.kr-status--available { color: #24613e; background: #e2f3e9; }
.kr-status--reserved { color: #845e08; background: #fff2c8; }
.kr-status--sold { color: #793434; background: #f5dede; }
.kr-disclaimer { color: var(--kr-muted); font-size: 14px; }

.kr-gallery { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 330px; gap: 18px; }
.kr-gallery__item { padding: 0; border: 0; overflow: hidden; cursor: zoom-in; background: var(--kr-navy); }
.kr-gallery__item--1 { grid-column: span 7; }
.kr-gallery__item--2 { grid-column: span 5; }
.kr-gallery__item--3 { grid-column: span 5; }
.kr-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.kr-gallery__item:hover img { transform: scale(1.035); }
.kr-lightbox { width: min(1200px, 92vw); max-height: 92vh; padding: 0; border: 0; background: transparent; }
.kr-lightbox::backdrop { background: rgba(3,24,34,.94); }
.kr-lightbox img { width: 100%; max-height: 88vh; object-fit: contain; }
.kr-lightbox button { position: fixed; right: 24px; top: 20px; z-index: 2; width: 48px; height: 48px; color: white; background: transparent; border: 1px solid rgba(255,255,255,.5); font-size: 30px; cursor: pointer; }

.kr-faq { max-width: 980px; }
.kr-faq details { border-top: 1px solid var(--kr-border); }
.kr-faq details:last-child { border-bottom: 1px solid var(--kr-border); }
.kr-faq summary { display: flex; justify-content: space-between; gap: 24px; padding: 28px 0; color: var(--kr-navy); cursor: pointer; list-style: none; font: 600 clamp(20px, 2.3vw, 31px)/1.25 var(--kr-display); text-transform: uppercase; }
.kr-faq summary::-webkit-details-marker { display: none; }
.kr-faq summary span { color: var(--kr-gold-deep); transition: transform .25s ease; }
.kr-faq details[open] summary span { transform: rotate(45deg); }
.kr-faq details p { max-width: 780px; margin: 0; padding: 0 0 30px; color: var(--kr-muted); font-size: 19px; }

.kr-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 8vw, 120px); }
.kr-contact-card h2 { margin-bottom: 32px; }
.kr-contact-card dl { margin: 0; }
.kr-contact-card dl div { padding: 18px 0; border-top: 1px solid var(--kr-border); }
.kr-contact-card dt { color: var(--kr-muted); text-transform: uppercase; letter-spacing: .1em; font: 600 12px/1 var(--kr-display); }
.kr-contact-card dd { margin: 8px 0 0; font-size: 19px; }
.kr-success { padding: 15px; color: #24613e; background: #e2f3e9; }
.kr-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: clamp(28px, 5vw, 60px); color: white; background: var(--kr-navy); }
.kr-form label { display: grid; gap: 8px; }
.kr-form label span { color: var(--kr-gold); text-transform: uppercase; letter-spacing: .1em; font: 600 12px/1 var(--kr-display); }
.kr-form input, .kr-form textarea { width: 100%; padding: 14px 0; color: white; background: transparent; border: 0; border-bottom: 1px solid rgba(221,230,232,.4); border-radius: 0; font: 18px/1.4 var(--kr-body); outline: 0; }
.kr-form input:focus, .kr-form textarea:focus { border-color: var(--kr-gold); }
.kr-form__wide { grid-column: 1 / -1; }
.kr-honeypot { position: absolute; left: -10000px; }

.kr-footer { padding: 80px 0 28px; color: rgba(221,230,232,.75); background: #031923; }
.kr-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 70px; }
.kr-footer__logo { width: 250px; height: 98px; object-fit: cover; margin-bottom: 18px; }
.kr-footer h2 { margin: 0 0 18px; color: white; text-transform: uppercase; letter-spacing: .08em; font: 600 17px/1 var(--kr-display); }
.kr-social { display: grid; gap: 8px; }
.kr-social a { text-decoration: none; }
.kr-social a:hover { color: var(--kr-gold); }
.kr-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 65px; padding-top: 24px; border-top: 1px solid rgba(221,230,232,.13); font-size: 13px; }

@media (max-width: 1180px) {
  :root { --kr-container: min(100% - 44px, 1080px); }
  .kr-header__cta { display: none; }
  .kr-nav { gap: 15px; }
  .kr-nav a { font-size: 12px; }
  .kr-logo { flex-basis: 190px; }
  .kr-logo img { width: 190px; }
}
@media (max-width: 940px) {
  body.kr-site.admin-bar .kr-header { top: 46px; }
  .kr-header { height: 78px; }
  .kr-logo { flex-basis: 180px; }
  .kr-logo img { width: 180px; height: 72px; }
  .kr-menu-toggle { display: grid; gap: 5px; width: 42px; height: 42px; margin-left: auto; place-content: center; color: white; background: transparent; border: 1px solid rgba(255,255,255,.35); }
  .kr-menu-toggle span:not(.screen-reader-text) { display: block; width: 21px; height: 2px; background: currentColor; }
  .kr-nav { position: absolute; top: 78px; left: 0; right: 0; display: none; align-items: stretch; gap: 0; margin: 0; padding: 22px; background: var(--kr-navy); border-top: 1px solid rgba(255,255,255,.15); }
  .kr-nav.is-open { display: grid; }
  .kr-nav a { padding: 12px 0; font-size: 16px; }
  .kr-nav a::after { bottom: 5px; }
  .kr-languages { padding-left: 0; border-left: 0; }
  .kr-split, .kr-split--reverse, .kr-contact-grid { grid-template-columns: 1fr; }
  .kr-angle-frame, .kr-angle-frame img { min-height: 520px; }
  .kr-feature-grid, .kr-benefit-grid, .kr-details-grid { grid-template-columns: repeat(2, 1fr); }
  .kr-filter-bar { grid-template-columns: repeat(2, 1fr); }
  .kr-gallery { grid-auto-rows: 300px; }
  .kr-gallery__item--1, .kr-gallery__item--2, .kr-gallery__item--3 { grid-column: span 6; }
  .kr-footer__grid { grid-template-columns: 1.3fr 1fr; }
}
@media (max-width: 640px) {
  :root { --kr-container: calc(100vw - 30px); }
  .kr-header__inner { gap: 14px; }
  .kr-logo { flex-basis: 160px; }
  .kr-logo img { width: 160px; }
  .kr-languages { gap: 5px; }
  .kr-languages a { font-size: 10px; }
  .kr-hero__content { padding-bottom: 11vh; }
  .kr-hero h1, .kr-page-hero h1 { font-size: clamp(44px, 14vw, 68px); }
  .kr-lang-hy .kr-hero h1 { font-size: clamp(40px, 11vw, 56px); }
  .kr-lang-hy .kr-hero__content { padding-top: 130px; padding-bottom: 9vh; }
  .kr-grid-motif { display: none; }
  .kr-scroll-cue { display: none; }
  .kr-stats__grid { grid-template-columns: 1fr 1fr; }
  .kr-stat { min-height: 140px; padding: 24px 18px; border-bottom: 1px solid rgba(221,230,232,.15); }
  .kr-stat strong { font-size: 42px; }
  .kr-section { padding: 75px 0; }
  .kr-section h2, .kr-cta-band h2 { font-size: 42px; }
  .kr-angle-frame, .kr-angle-frame img { min-height: 430px; }
  .kr-feature-grid, .kr-benefit-grid, .kr-details-grid { grid-template-columns: 1fr; }
  .kr-feature { min-height: 240px; }
  .kr-feature h3 { margin-top: 42px; }
  .kr-visual-break { min-height: 60vh; background-attachment: scroll; }
  .kr-cta-band { background: var(--kr-navy); }
  .kr-cta-band__inner { align-items: flex-start; flex-direction: column; }
  .kr-page-hero { min-height: 66vh; }
  .kr-page-hero__content { padding-top: 150px; }
  .kr-page-hero__content > p:last-child { font-size: 19px; }
  .kr-filter-bar { grid-template-columns: 1fr; }
  .kr-gallery { display: grid; grid-template-columns: 1fr; grid-auto-rows: 360px; }
  .kr-gallery__item--1, .kr-gallery__item--2, .kr-gallery__item--3 { grid-column: auto; }
  .kr-form { grid-template-columns: 1fr; }
  .kr-form__wide { grid-column: auto; }
  .kr-footer__grid { grid-template-columns: 1fr; gap: 38px; }
  .kr-footer__bottom { flex-direction: column; }
}

/* v2 reference-flow homepage and apartment selector */
.kr-header {
  height: 124px;
  background: rgba(13, 22, 31, .98);
  backdrop-filter: none;
}
.kr-header__top {
  height: 76px;
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 28px;
}
.kr-header__top .kr-logo { width: 225px; }
.kr-header__contact {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  color: rgba(255,255,255,.82);
  font: 500 13px/1 var(--kr-display);
  letter-spacing: .08em;
}
.kr-header__contact a { text-decoration: none; }
.kr-header__messengers { display: flex; gap: 7px; }
.kr-header__messengers a {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(250,214,67,.55);
  border-radius: 50%;
  color: var(--kr-gold);
  font-size: 9px;
}
.kr-header__actions { display: flex; align-items: center; gap: 18px; }
.kr-header__nav-row { height: 48px; border-top: 1px solid rgba(255,255,255,.1); }
.kr-header__nav-row .kr-nav {
  height: 48px;
  justify-content: center;
  gap: clamp(25px, 3vw, 54px);
  margin: 0 auto;
}
.kr-header__nav-row .kr-nav a { font-size: 12px; }

.kr-map-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  color: white;
  background: url("images/hero.jpg") center 48%/cover no-repeat, var(--kr-navy);
}
.kr-image-map-pro,
.kr-map-hero__fallback {
  position: absolute;
  inset: 124px 0 0;
}
.kr-image-map-pro { z-index: 2; }
.kr-image-map-pro .imp-wrap,
.kr-image-map-pro .imp-ui-wrap,
.kr-image-map-pro .imp-zoom-outer-wrap,
.kr-image-map-pro .imp-translate-wrap,
.kr-image-map-pro .imp-zoom-wrap,
.kr-image-map-pro .imp-translate,
.kr-image-map-pro .imp-scale,
.kr-image-map-pro > div,
.kr-image-map-pro > div > [data-image-map-id],
.kr-image-map-pro .imp-container,
.kr-image-map-pro .imp-canvas-wrap,
.kr-image-map-pro .imp-canvas { width: 100% !important; height: 100% !important; max-width: none !important; }
.kr-image-map-pro .imp-main-image,
.kr-image-map-pro .imp-image { width: 100% !important; height: 100% !important; object-fit: cover; opacity: 0; }
.kr-map-hero__fallback {
  z-index: 1;
  background: var(--kr-map-image) center 46%/cover no-repeat;
}
.kr-image-map-pro:has(.imp-container) + .kr-map-hero__fallback { display: none; }
.kr-map-hero__shade {
  position: absolute;
  inset: 124px 0 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(3,24,34,.48), transparent 42%),
              linear-gradient(90deg, rgba(3,24,34,.1), transparent 24%, transparent 76%, rgba(3,24,34,.12));
}
.kr-map-hero__prompt {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 160px;
  transform: translateX(-50%);
  padding: 10px 18px;
  color: var(--kr-gold);
  border: 1px solid rgba(250,214,67,.55);
  background: rgba(3,24,34,.72);
  text-transform: uppercase;
  letter-spacing: .16em;
  font: 600 12px/1 var(--kr-display);
}
.kr-map-pins { position: absolute; inset: 124px 0 0; z-index: 6; pointer-events: none; }
.kr-map-pin {
  position: absolute;
  pointer-events: auto;
  text-decoration: none;
  transform: translate(-50%, -50%);
}
.kr-map-pin--a { left: 31%; top: 53%; }
.kr-map-pin--b { left: 51%; top: 49%; }
.kr-map-pin--c { left: 72%; top: 53%; }
.kr-map-pin__dot {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border: 2px solid white;
  border-radius: 50%;
  color: white;
  background: rgba(174,135,78,.96);
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
  font: 600 20px/1 var(--kr-display);
  transition: transform .25s ease, background .25s ease;
}
.kr-map-pin:hover .kr-map-pin__dot,
.kr-map-pin:focus .kr-map-pin__dot { transform: scale(1.08); background: var(--kr-gold-deep); }
.kr-map-pin__card {
  position: absolute;
  left: 50%;
  bottom: 84px;
  display: grid;
  width: 230px;
  padding: 17px;
  color: var(--kr-navy);
  background: rgba(252,247,241,.98);
  box-shadow: 0 18px 45px rgba(0,0,0,.2);
  opacity: 0;
  transform: translate(-50%, 12px);
  transition: opacity .25s ease, transform .25s ease;
}
.kr-map-pin__card strong { font: 700 18px/1.2 var(--kr-display); text-transform: uppercase; }
.kr-map-pin__card small { margin-top: 6px; color: var(--kr-muted); }
.kr-map-pin__card em { margin-top: 13px; color: var(--kr-gold-deep); font-style: normal; text-transform: uppercase; font: 700 12px/1 var(--kr-display); }
.kr-map-pin:hover .kr-map-pin__card,
.kr-map-pin:focus .kr-map-pin__card { opacity: 1; transform: translate(-50%, 0); }

.kr-centered-heading { max-width: 940px; margin: 0 auto 60px; text-align: center; }
.kr-centered-heading h2 { margin-inline: auto; }
.kr-offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #b8b3ae;
  gap: 1px;
}
.kr-offer-card { position: relative; min-height: 520px; overflow: hidden; color: white; background: #a9a4a0; }
.kr-offer-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kr-offer-card::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(3,24,34,.88), rgba(3,24,34,.05) 62%); }
.kr-offer-card--plain::after { display: none; }
.kr-offer-card > div { position: absolute; inset: auto 0 0; z-index: 2; padding: 34px; }
.kr-offer-card--plain > div { inset: 0; display: flex; flex-direction: column; justify-content: space-between; }
.kr-offer-card span { color: var(--kr-gold); font: 600 12px/1 var(--kr-display); letter-spacing: .16em; }
.kr-offer-card h3 { margin: 12px 0; font: 600 clamp(24px,2vw,34px)/1.05 var(--kr-display); text-transform: uppercase; }
.kr-offer-card p { margin: 0; color: rgba(255,255,255,.8); }

.kr-benefits-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; }
.kr-benefits-layout > *,
.kr-benefit-list,
.kr-benefit-list article { min-width: 0; overflow-wrap: anywhere; }
.kr-benefits-layout > div:first-child { position: sticky; top: 170px; align-self: start; }
.kr-benefit-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.13); }
.kr-benefit-list article { min-height: 260px; padding: 34px; background: var(--kr-navy); }
.kr-benefit-list span { color: var(--kr-gold); letter-spacing: .15em; font: 600 12px/1 var(--kr-display); }
.kr-benefit-list h3 { margin: 64px 0 12px; color: white; text-transform: uppercase; font: 600 23px/1.1 var(--kr-display); }
.kr-benefit-list p { margin: 0; color: rgba(255,255,255,.62); }

.kr-project-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.kr-project-card { border: 1px solid var(--kr-border); background: white; }
.kr-project-card__image { position: relative; height: 340px; overflow: hidden; }
.kr-project-card__image img { width:100%; height:100%; object-fit:cover; }
.kr-project-card__image span { position:absolute; right:14px; top:14px; padding:8px 10px; color:var(--kr-navy); background:white; text-transform:uppercase; font:600 11px/1 var(--kr-display); }
.kr-project-card > div:last-child { padding: 28px; }
.kr-project-card h3 { margin: 7px 0 14px; color:var(--kr-navy); text-transform:uppercase; font:600 28px/1.1 var(--kr-display); }
.kr-project-card p { color:var(--kr-muted); }
.kr-project-card a { color:var(--kr-gold-deep); text-decoration:none; text-transform:uppercase; font:700 13px/1 var(--kr-display); letter-spacing:.09em; }

.kr-faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; }
.kr-home-faq .kr-faq details { border-color:rgba(255,255,255,.16); }
.kr-home-faq .kr-faq summary { color:white; font-size:clamp(18px,1.8vw,25px); }
.kr-home-faq .kr-faq details p { color:rgba(255,255,255,.65); }
.kr-partner-band { padding:65px 0; text-align:center; background:var(--kr-paper); }
.kr-partner-band .kr-container { display:grid; gap:12px; }
.kr-partner-band p { margin:0; color:var(--kr-gold-deep); text-transform:uppercase; letter-spacing:.1em; font:600 clamp(25px,3vw,48px)/1.1 var(--kr-display); }
.kr-partner-band strong { margin-top:20px; color:var(--kr-navy); font:700 30px/1 var(--kr-display); letter-spacing:.16em; }
.kr-partner-band span { color:var(--kr-muted); font-size:12px; letter-spacing:.12em; }
.kr-location { padding:90px 0 0; background:var(--kr-navy); }
.kr-location__heading { max-width:950px; margin:0 auto 55px; padding:0 25px; text-align:center; }
.kr-location__heading h2 { margin:0; color:var(--kr-gold-deep); text-transform:uppercase; font:600 clamp(36px,4vw,66px)/1 var(--kr-display); }
.kr-location iframe { display:block; width:100%; height:520px; border:0; filter:grayscale(1) contrast(.92); }
.kr-home-register .kr-large-copy { color:rgba(255,255,255,.68); }

.kr-selector-hero { padding:220px 0 95px; color:white; background:var(--kr-navy); text-align:center; }
.kr-selector-hero h1 { margin:0; color:var(--kr-gold-deep); text-transform:uppercase; font:600 clamp(50px,7vw,108px)/.95 var(--kr-display); }
.kr-selector-hero > .kr-container > p:last-child { max-width:780px; margin:28px auto 0; color:rgba(255,255,255,.7); font-size:20px; }
.kr-selector-shell { background:#f7f2ec; }
.kr-selector-steps { position:sticky; top:124px; z-index:50; display:grid; grid-template-columns:repeat(5,1fr); background:#111a24; border-top:1px solid rgba(255,255,255,.1); }
.kr-selector-steps button { min-height:78px; padding:15px; color:rgba(255,255,255,.45); background:transparent; border:0; border-right:1px solid rgba(255,255,255,.1); text-transform:uppercase; font:600 12px/1.2 var(--kr-display); letter-spacing:.08em; }
.kr-selector-steps button span { display:grid; width:25px; height:25px; margin:0 auto 7px; place-items:center; border:1px solid currentColor; border-radius:50%; }
.kr-selector-steps button.is-complete,
.kr-selector-steps button.is-active { color:var(--kr-gold); }
.kr-selector-stage { display:none; min-height:760px; padding:90px 0 110px; }
.kr-selector-stage.is-active { display:block; }
.kr-selector-heading { max-width:900px; margin:0 0 48px; }
.kr-selector-heading h2,
.kr-floor-picker h2,
.kr-plan-stage h2,
.kr-unit-detail h2,
.kr-calculator h2 { margin:0; color:var(--kr-navy); text-transform:uppercase; font:600 clamp(40px,5vw,76px)/1 var(--kr-display); }
.kr-floor-picker h2,
.kr-plan-stage h2 { font-size: clamp(34px, 3.1vw, 52px); line-height: 1.04; }
.kr-complex-picker { position:relative; min-height:720px; overflow:hidden; background:var(--kr-complex-image) center/cover no-repeat; }
.kr-complex-picker__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,24,34,.55),transparent 55%); }
.kr-complex-choice { position:absolute; width:175px; padding:20px; color:var(--kr-navy); background:rgba(252,247,241,.95); border:0; box-shadow:0 15px 35px rgba(0,0,0,.2); text-align:left; cursor:pointer; transition:transform .2s ease; }
.kr-complex-choice:hover { transform:translateY(-6px); }
.kr-complex-choice strong { display:grid; width:52px; height:52px; margin-top:-47px; place-items:center; color:white; background:var(--kr-gold-deep); border:2px solid white; border-radius:50%; font:600 20px/1 var(--kr-display); }
.kr-complex-choice span { display:block; margin-top:16px; text-transform:uppercase; font:700 18px/1 var(--kr-display); }
.kr-complex-choice small { display:block; margin-top:7px; color:var(--kr-muted); }
.kr-complex-choice--a { left:19%; top:58%; }
.kr-complex-choice--b { left:46%; top:46%; }
.kr-complex-choice--c { right:14%; top:55%; }

.kr-floor-picker,
.kr-plan-stage { display:grid; grid-template-columns:360px 1fr; gap:70px; align-items:start; }
.kr-selector-back { margin-bottom:45px; padding:0; color:var(--kr-gold-deep); background:none; border:0; text-transform:uppercase; font:700 13px/1 var(--kr-display); cursor:pointer; }
.kr-floor-picker__aside,
.kr-plan-stage__aside { position:sticky; top:235px; }
.kr-floor-picker dl,
.kr-plan-stage dl,
.kr-unit-detail dl { margin:35px 0; }
.kr-floor-picker dl div,
.kr-plan-stage dl div,
.kr-unit-detail dl div { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid var(--kr-border); }
.kr-floor-picker dt,
.kr-plan-stage dt,
.kr-unit-detail dt { color:var(--kr-muted); text-transform:uppercase; font:600 12px/1 var(--kr-display); letter-spacing:.08em; }
.kr-floor-picker dd,
.kr-plan-stage dd,
.kr-unit-detail dd { margin:0; color:var(--kr-navy); font:600 17px/1 var(--kr-display); }
.kr-status-key { display:grid; gap:11px; }
.kr-status-key span { display:flex; align-items:center; gap:10px; color:var(--kr-muted); font-size:14px; }
.kr-dot { width:15px; height:15px; border-radius:50%; }
.kr-dot--available { background:#617a43; }
.kr-dot--reserved { background:#c1a67d; }
.kr-dot--sold { background:#a26d63; }
.kr-building-elevation { position:relative; min-height:940px; background:var(--kr-elevation-image) center top/cover no-repeat; }
.kr-building-elevation::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,24,34,.18),transparent 30%,transparent 70%,rgba(3,24,34,.18)); pointer-events:none; }
.kr-building-elevation__floors { position:absolute; z-index:2; left:18%; right:18%; top:7%; bottom:8%; display:grid; grid-template-rows:repeat(15,1fr); }
.kr-building-elevation__floors button { position:relative; color:white; background:rgba(250,214,67,0); border:0; border-bottom:1px solid rgba(255,255,255,.12); cursor:pointer; transition:background .18s ease; }
.kr-building-elevation__floors button:hover { background:rgba(250,214,67,.42); }
.kr-building-elevation__floors button span,
.kr-building-elevation__floors button small { position:absolute; top:50%; opacity:0; transform:translateY(-50%); transition:opacity .18s ease; white-space:nowrap; }
.kr-building-elevation__floors button span { left:12px; }
.kr-building-elevation__floors button small { right:12px; }
.kr-building-elevation__floors button:hover span,
.kr-building-elevation__floors button:hover small { opacity:1; }

.kr-plan-map { position:relative; min-height:720px; display:grid; place-items:center; background:white; border:1px solid var(--kr-border); }
.kr-plan-map > img { width:100%; height:auto; }
.kr-unit-markers { position:absolute; inset:0; }
.kr-unit-marker { position:absolute; display:grid; width:64px; height:64px; place-items:center; transform:translate(-50%,-50%); color:white; border:2px solid white; border-radius:50%; box-shadow:0 8px 20px rgba(0,0,0,.2); font:700 15px/1 var(--kr-display); cursor:pointer; }
.kr-unit-marker--available { background:#617a43; }
.kr-unit-marker--reserved { background:#b39470; }
.kr-unit-marker--sold { background:#9d6a62; cursor:not-allowed; }
.kr-unit-marker:hover:not(:disabled) { scale:1.1; }
.kr-unit-detail { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:center; }
.kr-unit-detail__plan { position:relative; padding:35px; background:white; border:1px solid var(--kr-border); }
.kr-unit-detail__plan img { width:100%; }
.kr-unit-detail__plan > span { position:absolute; left:50%; top:50%; display:grid; width:90px; height:90px; place-items:center; transform:translate(-50%,-50%); color:white; background:var(--kr-gold-deep); border-radius:50%; font:700 15px/1 var(--kr-display); }
.kr-calculator { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; align-items:start; }
.kr-calculator__form { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:45px; color:white; background:var(--kr-navy); }
.kr-calculator__form label { display:grid; gap:9px; }
.kr-calculator__form label span,
.kr-calculator__form output span { color:var(--kr-gold); text-transform:uppercase; font:600 12px/1 var(--kr-display); letter-spacing:.09em; }
.kr-calculator__form input { width:100%; min-height:52px; padding:0 15px; color:var(--kr-navy); background:white; border:0; font:600 18px/1 var(--kr-display); }
.kr-calculator__form output { grid-column:1/-1; display:grid; gap:12px; padding:28px 0; border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.kr-calculator__form output strong { color:white; font:600 clamp(38px,4vw,66px)/1 var(--kr-display); }
.kr-calculator__form .kr-button { grid-column:1/-1; }
.kr-apartment-list { background:white; }
.kr-footer__grid { grid-template-columns:1.2fr 1fr 1fr .7fr; }
.kr-footer a { text-decoration:none; }

@media (max-width: 1100px) {
  .kr-header__top { grid-template-columns:220px 1fr auto; }
  .kr-header__nav-row .kr-nav { gap:24px; }
  .kr-offer-card { min-height:450px; }
  .kr-benefits-layout { grid-template-columns:1fr; gap:55px; }
  .kr-benefits-layout > div:first-child { position:static; }
  .kr-floor-picker,.kr-plan-stage { grid-template-columns:300px 1fr; gap:38px; }
  .kr-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 940px) {
  .kr-header { height:78px; }
  .kr-header__top { height:78px; display:flex; }
  .kr-header__contact,.kr-header__top .kr-header__cta,.kr-header__nav-row { display:none; }
  .kr-header__actions { margin-left:auto; }
  .kr-nav { position:absolute; top:78px; }
  .kr-header:has(.kr-nav.is-open) .kr-header__nav-row { display:block; position:absolute; top:78px; left:0; right:0; height:auto; border:0; }
  .kr-header__nav-row .kr-nav { position:static; height:auto; display:none; }
  .kr-header__nav-row .kr-nav.is-open { display:grid; }
  .kr-image-map-pro,.kr-map-hero__fallback,.kr-map-hero__shade,.kr-map-pins { inset-top:78px; }
  .kr-map-hero__fallback,.kr-image-map-pro { inset:78px 0 0; }
  .kr-map-hero__shade,.kr-map-pins { inset:78px 0 0; }
  .kr-map-hero__prompt { top:105px; }
  .kr-offer-grid,.kr-project-cards { grid-template-columns:1fr 1fr; }
  .kr-benefit-list { grid-template-columns:1fr 1fr; }
  .kr-faq-layout,.kr-floor-picker,.kr-plan-stage,.kr-unit-detail,.kr-calculator { grid-template-columns:1fr; }
  .kr-floor-picker__aside,.kr-plan-stage__aside { position:static; }
  .kr-building-elevation { min-height:850px; }
  .kr-selector-steps { top:78px; }
}
@media (max-width: 640px) {
  .kr-map-hero { min-height:720px; }
  .kr-map-hero__fallback { background-position:55% center; }
  .kr-map-pins { inset:78px 0 0; }
  .kr-map-pin__dot { width:50px; height:50px; font-size:16px; }
  .kr-map-pin--a { left:24%; top:56%; }
  .kr-map-pin--b { left:52%; top:49%; }
  .kr-map-pin--c { left:78%; top:56%; }
  .kr-map-pin__card { display:none; }
  .kr-map-hero__prompt { width:calc(100% - 40px); text-align:center; }
  .kr-offer-grid,.kr-project-cards,.kr-benefit-list { grid-template-columns:1fr; }
  .kr-offer-card { min-height:400px; }
  .kr-offer-card--plain { min-height:300px; }
  .kr-location iframe { height:380px; }
  .kr-selector-hero { padding:150px 0 70px; }
  .kr-selector-hero h1 { font-size:46px; }
  .kr-selector-steps { overflow-x:auto; grid-template-columns:repeat(5,minmax(115px,1fr)); }
  .kr-selector-stage { padding:65px 0; }
  .kr-complex-picker { min-height:650px; background-position:58% center; }
  .kr-complex-choice { width:140px; padding:14px; }
  .kr-complex-choice--a { left:5%; top:57%; }
  .kr-complex-choice--b { left:43%; top:40%; }
  .kr-complex-choice--c { right:4%; top:67%; }
  .kr-building-elevation { min-height:700px; }
  .kr-building-elevation__floors { left:9%; right:9%; }
  .kr-plan-map { min-height:320px; overflow:auto; }
  .kr-plan-map > img { min-width:780px; }
  .kr-unit-markers { min-width:780px; }
  .kr-unit-marker { width:50px; height:50px; font-size:12px; }
  .kr-calculator__form { grid-template-columns:1fr; padding:28px 20px; }
  .kr-calculator__form output,.kr-calculator__form .kr-button { grid-column:auto; }
  .kr-footer__grid { grid-template-columns: 1fr; }
}
