@font-face {
  font-family: 'KVManrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400.ttf) format('truetype');
}
@font-face {
  font-family: 'KVManrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'KVManrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'KVManrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700.ttf) format('truetype');
}
@font-face {
  font-family: 'KVManrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800.ttf) format('truetype');
}

.site-page { --sans: KVManrope, system-ui, sans-serif; --serif: KVManrope, system-ui, sans-serif; }
.kv-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0; }
.form-status:not(:empty) { padding:12px 16px; border-radius:8px; background:#fff; color:#10171f; border:1px solid #b4c5cf; }
.form-status[data-error="true"] { color:#a32020; border-color:#a32020; }
[aria-disabled="true"] { opacity:.65; pointer-events:none; }
.quote-review .form-status { margin-top:20px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
/* Restore the supplied homepage variables lost after a malformed source font import. */
.legacy-home { --sky:#00b8f1; --sky-dark:#0094c7; --graphite:#26343f; --muted:#63717c; }
.legacy-home .hero-image::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,13,18,.92) 0%,rgba(7,13,18,.58) 40%,rgba(7,13,18,.06) 75%); }
.legacy-home .hero-story--floorplan .hero-grid { background-color:#102b3a; background-size:44px 44px; }
.legacy-home .hero-story--floorplan .hero-grid::before { background:radial-gradient(circle at 72% 50%,rgba(0,184,241,.23),transparent 43%),linear-gradient(90deg,rgba(8,19,27,.94) 0%,rgba(8,19,27,.65) 44%,rgba(8,19,27,.1) 75%); }
.legacy-home .hero-story--floorplan .hero-content { pointer-events:none; padding-top:20px; }
.legacy-home .hero-story--floorplan .hero-copy { width:32%; pointer-events:auto; }
.legacy-home .hero-story--floorplan .hero-copy h1 { font-size:clamp(2.7rem,4.1vw,4.8rem); line-height:1.08; letter-spacing:-.055em; }
.legacy-home .hero-story--floorplan .hero-copy .eyebrow { font-size:.68rem; letter-spacing:.13em; }
.legacy-home .hero-story--floorplan .hero-copy > p:not(.eyebrow) { font-size:1rem; line-height:1.75; }
.legacy-home .hero-floorplan { position:absolute; z-index:2; width:min(62vw,1120px,calc((100svh - 320px) * 1.5)); right:max(24px,calc((100vw - 1760px)/2)); top:48%; transform:translateY(-50%); opacity:clamp(0,calc(1 - var(--progress,0) * 2.8),1); visibility:hidden; }
.legacy-home .hero-story--floorplan:has(.hero-step[data-step="0"].active) .hero-floorplan { visibility:visible; }
.legacy-home .hero-floorplan a { position:relative; display:block; border-radius:22px; outline-offset:6px; }
.legacy-home .hero-floorplan img { display:block; width:100%; height:auto; border-radius:22px; opacity:.32; filter:grayscale(.55); mix-blend-mode:luminosity; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.legacy-home .hero-floorplan-zoom { display:flex; align-items:center; justify-content:center; gap:9px; width:max-content; margin:15px auto 0; padding:9px 16px; border:1px solid #b6d6e138; border-radius:999px; background:#122731; color:#e2edf3; font-size:.72rem; font-weight:700; transition:background .2s; }
.legacy-home .hero-floorplan a:hover .hero-floorplan-zoom { background:#24414f; }
.legacy-home .hero-story--floorplan .hero-steps { top:126px; right:max(24px,calc((100vw - 1240px)/2)); display:flex; gap:22px; transform:none; }
.legacy-home .hero-story--floorplan .hero-step { font-size:.62rem; }
.legacy-home .hero-story--floorplan .hero-step::after { width:22px; }
.legacy-home .hero-story--floorplan .hero-step.active::after { width:34px; }
@media(min-width:1800px) {
 .legacy-home .hero-story--floorplan .hero-content { width:calc(100% - clamp(120px,8vw,360px)); }
 .legacy-home .hero-story--floorplan .hero-copy { width:29%; max-width:1000px; }
 .legacy-home .hero-story--floorplan .hero-copy h1 { max-width:none; font-size:clamp(4.8rem,3.4vw,8.2rem); }
 .legacy-home .hero-story--floorplan .hero-copy .eyebrow { font-size:clamp(.68rem,.43vw,1rem); }
 .legacy-home .hero-story--floorplan .hero-copy > p:not(.eyebrow) { max-width:34em; font-size:clamp(1rem,.72vw,1.65rem); }
 .legacy-home .hero-story--floorplan .hero-floorplan { width:min(65vw,calc((100svh - 260px) * 1.5)); right:3vw; top:49%; }
 .legacy-home .hero-story--floorplan .hero-steps { right:3vw; }
 .legacy-home .hero-story--floorplan .hero-step { font-size:clamp(.62rem,.36vw,.85rem); }
 .legacy-home .hero-story--floorplan .hero-floorplan-zoom { font-size:clamp(.72rem,.4vw,.95rem); }
}
@media(max-width:1100px) {
 .legacy-home .hero-story--floorplan { height:auto; }
 .legacy-home .hero-story--floorplan .hero-stage { position:relative; display:flex; flex-direction:column; height:auto; min-height:0; padding:130px 0 28px; }
 .legacy-home .hero-story--floorplan .hero-content { order:1; height:auto; padding-top:0; }
 .legacy-home .hero-story--floorplan .hero-copy { width:100%; max-width:660px; }
 .legacy-home .hero-story--floorplan .hero-copy h1 { font-size:clamp(2.6rem,6.7vw,4.1rem); margin-bottom:22px; }
 .legacy-home .hero-story--floorplan .hero-copy > p:not(.eyebrow) { max-width:600px; margin-bottom:24px; }
 .legacy-home .hero-story--floorplan .hero-floorplan { position:relative; order:2; top:auto; right:auto; width:calc(100% - 48px); margin:38px auto 0; transform:none; opacity:1; visibility:visible; }
 .legacy-home .hero-story--floorplan .hero-image,.legacy-home .hero-story--floorplan .hero-steps,.legacy-home .hero-story--floorplan .scroll-meter { display:none; }
 .legacy-home .hero-story--floorplan .proof-bar { position:relative; order:3; bottom:auto; margin-top:28px; }
 .legacy-home .hero-story--floorplan .proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .legacy-home .hero-story--floorplan .hero-stage::after { display:none; }
}
@media(max-width:760px) {
 .legacy-home .hero-story--floorplan .hero-stage { padding-top:118px; }
 .legacy-home .hero-story--floorplan .hero-floorplan { width:calc(100% - 28px); margin-top:30px; }
 .legacy-home .hero-floorplan img,.legacy-home .hero-floorplan a { border-radius:14px; }
 .legacy-home .hero-story--floorplan .hero-copy .eyebrow { font-size:.59rem; }
}
@media(prefers-reduced-motion:reduce) {
 .legacy-home .hero-story--floorplan { height:auto; }
 .legacy-home .hero-story--floorplan .hero-stage { position:relative; }
 .legacy-home .hero-story--floorplan .hero-floorplan { opacity:1; visibility:visible; }
 .legacy-home .hero-story--floorplan .hero-image,.legacy-home .hero-story--floorplan .hero-steps,.legacy-home .hero-story--floorplan .scroll-meter { display:none; }
}
.legacy-home .proof { margin-top:0; border-top:0; padding:18px 22px; }
.legacy-home .homes-head { flex-direction:column; align-items:center; text-align:center; }
.legacy-home .home-rail { width:max-content; max-width:calc(100% - 48px); margin-inline:auto; grid-auto-columns:380px; padding:0 0 22px; }
.legacy-home .slider-controls[hidden] { display:none; }
.legacy-home .slider-controls button:disabled { opacity:.35; cursor:default; }
@media(max-width:760px) {
 .legacy-home .proof { padding:11px 13px; }
 .legacy-home .home-rail { max-width:calc(100% - 28px); grid-auto-columns:86vw; }
}
.site-page { font-family:var(--sans); }

.house-category-filters { display:flex; flex-wrap:wrap; gap:10px; grid-column:1 / -1; margin-bottom:16px; }
.house-category-filters a { padding:10px 18px; border:1px solid #cedadf; border-radius:999px; color:#26343f; font-weight:700; font-size:.9rem; }
.house-category-filters a[aria-current="page"] { background:#10171f; border-color:#10171f; color:white; }
.house-card-price { margin:22px 0; padding-top:18px; border-top:1px solid #d7e1e5; }
.house-card-price small { display:block; color:#63717c; font-size:.8rem; }
.house-card-price strong { display:block; margin-top:4px; font-size:1.55rem; color:#10171f; }
.house-catalogue-empty { grid-column:1 / -1; padding:36px 0; }
.catalogue-media > a,.home-visual > a { display:block; height:100%; }

.kv-content-section { padding:76px 0; color:#26343f; background:#fff; font-family:KVManrope,system-ui,sans-serif; }
.kv-content-section:nth-of-type(2n) { background:#f1f5f6; }
.kv-content-inner { max-width:1160px; }
.kv-content-copy { min-width:0; }
.kv-content-copy > h2 { font-size:clamp(1.8rem,3.2vw,3rem); line-height:1.15; margin:0 0 28px; letter-spacing:-.04em; }
.kv-content-hero { background:#101b25!important; color:white; padding:130px 0 80px; }
.kv-content-hero h1 { font-size:clamp(2.5rem,6vw,5.5rem); line-height:1.07; letter-spacing:-.055em; max-width:1000px; margin:24px 0 8px; overflow-wrap:break-word; }
.kv-content-hero .eyebrow { color:#59d6f7; }
.kv-content-illustrated .kv-content-inner { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:start; gap:64px; }
.kv-content-section:nth-of-type(2n+1):not(.kv-content-hero) .kv-content-image { order:-1; }
.kv-content-section:nth-of-type(2n+1).kv-content-illustrated .kv-content-inner { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
.kv-content-image { margin:6px 0 0; position:sticky; top:115px; }
.kv-content-image img { width:100%; height:auto; max-height:620px; object-fit:contain; border-radius:6px; }
.kv-prose { font-size:1.04rem; line-height:1.85; overflow-wrap:anywhere; }
.kv-content-section:not(.kv-content-illustrated) .kv-prose { max-width:880px; }
.kv-prose > :first-child { margin-top:0; }
.kv-prose h2,.kv-prose h3,.kv-prose h4 { line-height:1.25; letter-spacing:-.03em; color:inherit; }
.kv-prose h2 { font-size:clamp(1.8rem,3vw,2.65rem); margin:44px 0 24px; }
.kv-prose h3 { font-size:1.35rem; margin:34px 0 14px; }
.kv-prose p { margin:0 0 20px; }
.kv-prose ul,.kv-prose ol { padding-left:24px; margin:20px 0; }
.kv-prose li { padding-left:4px; margin:10px 0; }
.kv-prose a { color:#007fa7; text-decoration:underline; text-underline-offset:4px; }
.kv-prose img { max-width:100%; height:auto; border-radius:6px; display:block; margin:28px 0; }
.kv-content-section .kv-content-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-width:none; }
.kv-content-gallery img { width:100%; height:230px; object-fit:cover; margin:0; }
.kv-prose figure { margin:28px 0; }
.kv-prose blockquote { border-left:3px solid #00b8f1; padding:12px 24px; margin:30px 0; background:#e9f5f8; }
.kv-prose table,.article-body table { width:100%; border-collapse:collapse; margin:28px 0; font-size:.93rem; }
.kv-prose th,.kv-prose td,.article-body th,.article-body td { border-bottom:1px solid #d4dfe4; padding:16px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.kv-prose th,.article-body th { background:#e6eef1; }
.kv-prose td:first-child { font-weight:700; min-width:120px; }
.kv-inquiry-wrap { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.kv-map { display:grid; grid-template-columns:1fr 1.4fr; gap:48px; align-items:center; }
.kv-map h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; margin:20px 0; }
.kv-map p { margin-bottom:24px; }
.kv-map-panel { height:340px; display:grid; place-items:center; background:#e4ecef; border:1px solid #cad8de; border-radius:8px; overflow:hidden; }
.kv-map-panel iframe { width:100%; height:100%; border:0; }
.kv-map-panel [hidden] { display:none; }
.kv-inquiry-wrap h2 { font-size:clamp(2rem,3.5vw,3.5rem); margin:18px 0; line-height:1.15; }
.kv-inquiry { display:grid; gap:22px; }
.kv-inquiry label { font-weight:600; font-size:.92rem; }
.kv-inquiry input:not([type=checkbox]),.kv-inquiry select,.kv-inquiry textarea { display:block; margin-top:8px; width:100%; padding:14px; border:1px solid #c6d4db; border-radius:4px; background:white; color:#26343f; font:inherit; }
.kv-inquiry .kv-consent { display:flex; align-items:start; gap:12px; font-weight:400; }
.kv-consent input { margin-top:5px; }
.kv-consent a { text-decoration:underline; }
.kv-nav-group { position:relative; display:flex; align-items:center; gap:5px; }
.kv-submenu-toggle { border:0; background:none; color:inherit; padding:8px 2px; cursor:pointer; font-size:16px; }
.kv-submenu { display:none; position:absolute; top:100%; left:-16px; min-width:210px; padding:12px; background:#fff; color:#26343f; border:1px solid #d9e3e7; border-radius:6px; box-shadow:0 12px 30px #10171f20; z-index:40; }
.kv-submenu a { display:block!important; padding:10px!important; white-space:nowrap; }
.kv-nav-group:hover .kv-submenu,.kv-nav-group:focus-within .kv-submenu,.kv-nav-group.open .kv-submenu { display:block; }
.kv-submenu a[aria-current=page] { color:#008cb6; }
.kv-footer-directory { border-top:1px solid #ffffff25; padding:30px 0; display:flex; flex-wrap:wrap; gap:14px 28px; font-size:.85rem; }
.kv-footer-directory a { color:#d0dbe0; }
.kv-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin:40px 0 0; }
.kv-pagination a,.kv-pagination span { padding:10px 16px; border:1px solid #c5d3da; border-radius:4px; }
.kv-pagination [aria-current=page] { background:#26343f; color:white; }
.kv-blog-filters { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.kv-blog-filters a { color:inherit; border:1px solid #8096a5; padding:8px 15px; border-radius:24px; font-size:.85rem; }
.kv-blog-filters [aria-current=page] { background:#c9f476; color:#10171f; border-color:#c9f476; }
.kv-blog-archive { padding:60px 0 90px; }
.kv-blog-archive .blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 28px; }
.article-body { overflow-wrap:anywhere; }
.article-body img { max-width:100%; height:auto; margin:30px 0; border-radius:6px; }
.article-body ul,.article-body ol { padding-left:24px; }
.article-body .kv-blog-filters { margin:30px 0; }
@media(max-width:1240px) {
 .main-nav { display:none; position:absolute; top:86px; left:24px; right:24px; padding:24px; flex-direction:column; align-items:flex-start; border-radius:18px; background:white; box-shadow:0 20px 50px #00000026; max-height:calc(100svh - 125px); overflow-y:auto; }
 .main-nav.open { display:flex; }
 .menu-toggle { display:grid; place-items:center; }
 .header-cta { display:none; }
 .main-nav.open .mobile-quote-link { display:block; color:#007fa7; font-weight:800; }
 .kv-nav-group { width:100%; flex-wrap:wrap; }
 .kv-submenu { position:static; flex-basis:100%; box-shadow:none; padding:4px 14px; border:0; background:#eef4f6; }
 .kv-submenu-toggle { margin-left:auto; padding:12px; }
}
@media(max-width:900px) {
 .kv-map { grid-template-columns:1fr; }
 .kv-content-section { padding:48px 0; }
 .kv-content-hero { padding:112px 0 52px; }
 .kv-content-illustrated .kv-content-inner,.kv-content-section:nth-of-type(2n+1).kv-content-illustrated .kv-content-inner,.kv-inquiry-wrap { grid-template-columns:1fr; gap:30px; }
 .kv-content-image { position:static; order:0!important; }
 .kv-content-image img { max-height:450px; }
 .kv-blog-archive .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .kv-content-section .kv-content-gallery { grid-template-columns:1fr; }
 .kv-blog-archive .blog-grid { grid-template-columns:1fr; }
 .kv-prose { font-size:1rem; }
 .kv-prose th,.kv-prose td,.article-body th,.article-body td { padding:10px 8px; }
 .kv-prose td:first-child { min-width:0; }
}

/* Típusházak: forráshű képek és letölthető tervanyagok. */
.site-page .model-gallery img { aspect-ratio:auto; height:auto; }
.house-area-note { margin:24px 0 32px; padding:18px 22px; border-left:3px solid #00b4df; background:#f0f6f8; color:#49606c; line-height:1.7; }
.house-documents { margin-top:36px; }
.house-documents a { display:grid; grid-template-columns:1fr auto; gap:6px 18px; margin-top:14px; padding:22px; border:1px solid #d7e1e5; border-radius:16px; color:#14313f; background:#f6f9fa; }
.house-documents a > span:first-child { font-weight:800; }
.house-documents small { grid-column:1; color:#63717c; }
.house-documents a > span:last-child { grid-column:2; grid-row:1 / 3; align-self:center; font-size:1.8rem; }
.house-documents a:hover { border-color:#00b4df; }
.house-card-price strong { font-size:clamp(1.15rem,1.8vw,1.55rem); }
.site-page .model-hero-bg img { object-position:center top; }
@media (max-width:760px) {
 .site-page .model-hero { display:block; height:auto; min-height:0; max-height:none; padding:92px 0 38px; background:#0d202b; }
 .site-page .model-hero-bg { position:relative; inset:auto; margin-bottom:24px; }
 .site-page .model-hero-bg img { display:block; width:100%; height:auto; object-fit:contain; }
 .site-page .model-hero-bg::after { background:linear-gradient(0deg,#0d202b,transparent 25%); }
 .site-page .model-hero-topline { align-items:center; gap:12px; margin-bottom:22px; }
 .site-page .model-hero-bottom { gap:16px; }
 .site-page .model-tagline { font-size:1.4rem; }
 .site-page .spec-strip-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-page .spec-cell strong { font-size:1.25rem; overflow-wrap:anywhere; }
}

.house-price-heading { margin:0 0 18px; font-size:1.12rem; }
.house-price-items { margin:0 0 22px; padding:0 0 18px; border-bottom:1px solid #d7e1e5; font-size:.86rem; line-height:1.55; }
.house-price-items > div { display:flex; justify-content:space-between; gap:16px; margin:8px 0; }
.house-price-items dt { color:#63717c; }
.house-price-items dd { margin:0; white-space:nowrap; font-weight:700; }
.price-option .house-price-gross { display:block; margin-top:10px; font-size:.88rem; }
