:root {
  --ifl-primary: #b56f3d;
  --ifl-ink: #182220;
  --ifl-ink-soft: #34403d;
  --ifl-muted: #697572;
  --ifl-paper: #ffffff;
  --ifl-canvas: #f4f1eb;
  --ifl-canvas-soft: #f8f7f4;
  --ifl-line: rgba(24, 34, 32, .14);
  --ifl-radius-sm: 14px;
  --ifl-radius: 24px;
  --ifl-radius-lg: 36px;
  --ifl-shadow: 0 24px 60px rgba(21, 32, 29, .12);
  --ifl-shell: 1240px;
  --ifl-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ifl-display: Iowan Old Style, Baskerville, "Times New Roman", serif;
}

html { scroll-behavior: smooth; }
body.ifl-site { margin: 0; overflow-x: hidden; color: var(--ifl-ink); background: var(--ifl-paper); font-family: var(--ifl-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.ifl-site * { box-sizing: border-box; }
.ifl-site img { max-width: 100%; height: auto; }
.ifl-site a { color: inherit; }
.ifl-site button, .ifl-site input, .ifl-site select, .ifl-site textarea { font: inherit; }
.ifl-shell { width: min(calc(100% - 40px), var(--ifl-shell)); margin-inline: auto; }
.ifl-skip-link { position: fixed; z-index: 99999; top: 10px; left: 10px; padding: 10px 14px; transform: translateY(-180%); color: #fff !important; background: var(--ifl-ink); border-radius: 8px; }
.ifl-skip-link:focus { transform: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.ifl-header { position: sticky; z-index: 1000; top: 0; height: 84px; border-bottom: 1px solid transparent; background: rgba(255,255,255,.96); transition: box-shadow .25s ease, border-color .25s ease; }
.admin-bar .ifl-header { top: 32px; }
.ifl-header.is-scrolled { border-color: var(--ifl-line); box-shadow: 0 12px 30px rgba(21,32,29,.06); }
.ifl-header__inner { display: flex; align-items: center; height: 100%; gap: 34px; }
.ifl-brand { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 10px; max-width: min(190px, 48vw); color: var(--ifl-ink); text-decoration: none; }
.ifl-brand__mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50% 50% 50% 12px; color: #fff; background: var(--ifl-primary); font-family: var(--ifl-display); font-size: 25px; font-style: italic; }
.ifl-brand__name { max-width: 190px; font-size: 16px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ifl-site .ifl-brand__image { display: block; flex: 0 0 auto; width: auto; max-width: 190px; height: 52px; max-height: 52px; object-fit: contain; object-position: left center; }
.ifl-site .ifl-header .ifl-brand__image { max-width: min(190px, 48vw); height: 56px; max-height: 56px; }
.ifl-nav { margin-left: auto; }
.ifl-nav__list, .ifl-nav .menu { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.ifl-nav a { position: relative; padding-block: 8px; color: var(--ifl-ink-soft); font-size: 14px; font-weight: 650; text-decoration: none; }
.ifl-nav a::after { position: absolute; right: 0; bottom: 1px; left: 0; height: 2px; content: ''; background: var(--ifl-primary); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.ifl-nav a:hover::after, .ifl-nav a:focus-visible::after { transform: scaleX(1); }
.ifl-header__actions { display: flex; align-items: center; gap: 14px; }
.ifl-header__phone { color: var(--ifl-muted); font-size: 13px; text-decoration: none; }
.ifl-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; gap: 10px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 780; line-height: 1; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.ifl-button:hover, .ifl-button:focus-visible { transform: translateY(-2px); }
.ifl-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ifl-primary) 32%, transparent); outline-offset: 3px; }
.ifl-button--primary { color: #fff !important; background: var(--ifl-primary); box-shadow: 0 12px 25px color-mix(in srgb, var(--ifl-primary) 26%, transparent); }
.ifl-button--dark { color: #fff !important; background: var(--ifl-ink); }
.ifl-button--light { color: var(--ifl-ink) !important; background: #fff; }
.ifl-menu-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 0; border-radius: 50%; background: var(--ifl-canvas); }
.ifl-menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 4px 0; background: var(--ifl-ink); }

.ifl-eyebrow { display: inline-block; color: var(--ifl-primary); font-size: 11px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.ifl-hero { position: relative; min-height: 760px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: #27322f var(--ifl-hero-image) center/cover no-repeat; }
.ifl-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,22,20,.82) 0%, rgba(13,22,20,.44) 48%, rgba(13,22,20,.08) 100%), linear-gradient(0deg, rgba(13,22,20,.5), transparent 58%); }
.ifl-hero__content { position: relative; z-index: 1; padding-block: 95px 58px; }
.ifl-hero__copy { max-width: 760px; margin-bottom: 46px; }
.ifl-hero__copy .ifl-eyebrow { color: #e2b28f; }
.ifl-hero__copy h1 { max-width: 720px; margin: 12px 0 18px; color: #fff; font-family: var(--ifl-display); font-size: clamp(54px, 7.2vw, 92px); font-weight: 500; letter-spacing: -.045em; line-height: .92; }
.ifl-hero__copy p { max-width: 650px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(17px, 2vw, 21px); line-height: 1.5; }
.ifl-search-bar { display: grid; grid-template-columns: 1fr 1fr 1.35fr auto; align-items: end; gap: 0; padding: 10px; border-radius: 18px; background: #fff; box-shadow: var(--ifl-shadow); }
.ifl-search-bar label { display: grid; min-width: 0; gap: 2px; padding: 4px 18px; border-right: 1px solid var(--ifl-line); }
.ifl-search-bar label span { color: var(--ifl-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ifl-search-bar select { width: 100%; height: 38px; padding: 0 28px 0 0; border: 0; outline: 0; color: var(--ifl-ink); background: transparent; font-weight: 700; }
.ifl-search-bar .ifl-button { min-height: 62px; margin-left: 10px; }
.ifl-hero__proof { display: flex; gap: 50px; margin-top: 26px; color: rgba(255,255,255,.66); font-size: 12px; }
.ifl-hero__proof span { display: grid; }
.ifl-hero__proof strong { color: #fff; font-size: 13px; }

.ifl-section { padding-block: 110px; }
.ifl-split { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: clamp(40px, 8vw, 120px); }
.ifl-split h2, .ifl-section-head h2, .ifl-process__head h2, .ifl-final-cta h2, .ifl-archive-hero h1, .ifl-single__title h1, .ifl-description h2 { margin: 12px 0 0; font-family: var(--ifl-display); font-size: clamp(42px, 5vw, 68px); font-weight: 500; letter-spacing: -.04em; line-height: .98; }
.ifl-split p { margin: 0 0 24px; color: var(--ifl-muted); font-size: 18px; line-height: 1.75; }
.ifl-text-link { display: inline-flex; gap: 8px; color: var(--ifl-ink); font-size: 14px; font-weight: 800; text-decoration: none; }
.ifl-text-link span { color: var(--ifl-primary); }
.ifl-text-link--light { color: #fff; }
.ifl-link-button { padding:0; border:0; background:transparent; cursor:pointer; font:inherit; }
.ifl-featured { background: var(--ifl-canvas-soft); }
.ifl-section-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 48px; }
.ifl-section-head h2 { font-size: clamp(42px, 4.5vw, 62px); }
.ifl-section-head > p { max-width: 480px; margin: 0; color: var(--ifl-muted); font-size: 16px; }
.ifl-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.ifl-property-card { overflow: hidden; border: 1px solid var(--ifl-line); border-radius: var(--ifl-radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.ifl-property-card:hover { transform: translateY(-6px); box-shadow: var(--ifl-shadow); }
.ifl-property-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.34; background: #dfe4e1; }
.ifl-property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.ifl-property-card:hover .ifl-property-card__media img { transform: scale(1.035); }
.ifl-property-card__purpose { position: absolute; top: 16px; left: 16px; padding: 7px 11px; border-radius: 999px; color: var(--ifl-ink); background: rgba(255,255,255,.9); backdrop-filter: blur(8px); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ifl-property-card__status { position:absolute; right:16px; bottom:16px; padding:6px 10px; border-radius:999px; color:#fff; background:rgba(24,34,32,.78); backdrop-filter:blur(8px); font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.ifl-property-card__body { padding: 22px; }
.ifl-property-card__top { display: flex; justify-content: space-between; gap: 10px; color: var(--ifl-primary); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ifl-property-card__top small { color: var(--ifl-muted); }
.ifl-property-card h3 { margin: 9px 0 5px; font-size: 20px; line-height: 1.25; }
.ifl-property-card h3 a { text-decoration: none; }
.ifl-property-card__location { margin: 0; color: var(--ifl-muted); font-size: 13px; }
.ifl-property-card__construction { display:grid; gap:7px; margin:14px 0 0; padding:11px 12px; border-radius:10px; background:#f3f0eb; }
.ifl-property-card__construction > div { display:flex; justify-content:space-between; gap:10px; color:var(--ifl-ink-soft); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.ifl-property-card__construction > div strong { color:var(--ifl-primary); }
.ifl-property-card__construction i { display:block; height:5px; overflow:hidden; border-radius:999px; background:#dcd8d1; }
.ifl-property-card__construction i b { display:block; height:100%; border-radius:inherit; background:var(--ifl-primary); }
.ifl-property-card__facts { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 18px 0; padding: 15px 0; border-block: 1px solid var(--ifl-line); color: var(--ifl-ink-soft); font-size: 12px; list-style: none; }
.ifl-property-card__facts li { display:flex; gap:4px; }
.ifl-property-card__facts li strong { color:var(--ifl-ink); }
.ifl-property-card__facts .is-highlight { color:var(--ifl-primary); }
.ifl-property-card__price { display: grid; gap: 1px; }
.ifl-property-card__price small { color: var(--ifl-muted); font-size: 10px; }
.ifl-property-card__price strong { font-size: 19px; }
.ifl-property-card__broker { display:flex; align-items:center; gap:10px; margin-top:17px; padding-top:16px; border-top:1px solid var(--ifl-line); }
.ifl-property-card__broker img { width:38px; height:38px; border-radius:50%; object-fit:cover; }
.ifl-property-card__broker span { display:grid; line-height:1.25; }
.ifl-property-card__broker small { color:var(--ifl-muted); font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.ifl-property-card__broker strong { font-size:12px; }
.ifl-empty-state { grid-column: 1/-1; padding: 70px 30px; border: 1px dashed var(--ifl-line); border-radius: var(--ifl-radius); text-align: center; }
.ifl-empty-state h2 { margin-top: 0; }

.ifl-process { color: #fff; background: var(--ifl-ink); }
.ifl-process .ifl-eyebrow { color: #d69d78; }
.ifl-process__head { max-width: 760px; margin-bottom: 64px; }
.ifl-process__head h2 { color: #fff; }
.ifl-process__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.18); }
.ifl-process__grid article { min-height: 280px; padding: 32px 26px 0 0; border-right: 1px solid rgba(255,255,255,.18); }
.ifl-process__grid article + article { padding-left: 26px; }
.ifl-process__grid article:last-child { border-right: 0; }
.ifl-process__grid article > span { color: #d69d78; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.ifl-process__grid h3 { margin: 45px 0 12px; color: #fff; font-size: 20px; }
.ifl-process__grid p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; }

.ifl-broker-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ifl-broker-card { display: grid; grid-template-columns: 138px 1fr; align-items: center; gap: 22px; padding: 22px; border: 1px solid var(--ifl-line); border-radius: var(--ifl-radius); }
.ifl-broker-card img { width: 138px; height: 164px; border-radius: 18px; object-fit: cover; filter: saturate(.75); }
.ifl-broker-card h3 { margin: 0; font-size: 20px; }
.ifl-broker-card span { color: var(--ifl-primary); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.ifl-broker-card p { margin: 12px 0; color: var(--ifl-muted); font-size: 13px; line-height: 1.55; }
.ifl-broker-card a { font-size: 12px; font-weight: 800; text-decoration: none; }
.ifl-final-cta { padding-top: 0; }
.ifl-final-cta__inner { position: relative; overflow: hidden; padding: clamp(50px, 8vw, 96px); border-radius: var(--ifl-radius-lg); color: #fff; background: var(--ifl-primary); }
.ifl-final-cta__inner::after { position: absolute; right: -160px; bottom: -220px; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; content: ''; box-shadow: 0 0 0 60px rgba(255,255,255,.04), 0 0 0 120px rgba(255,255,255,.035); }
.ifl-final-cta .ifl-eyebrow { color: rgba(255,255,255,.75); }
.ifl-final-cta h2 { position: relative; z-index: 1; max-width: 820px; margin-bottom: 38px; color: #fff; font-size: clamp(46px, 6vw, 74px); }
.ifl-final-cta__inner > div { position: relative; z-index: 2; display: flex; align-items: center; gap: 24px; }

.ifl-footer { padding: 80px 0 28px; color: #fff; background: #101816; }
.ifl-footer .ifl-brand { color: #fff; }
.ifl-site .ifl-footer .ifl-brand__image { width: auto; max-width: 190px; height: 72px; max-height: 72px; padding: 7px 10px; border-radius: 12px; background: #fff; object-position: center; }
.ifl-footer__top { display: grid; grid-template-columns: 1.4fr .7fr .8fr 1fr; gap: 50px; padding-bottom: 65px; }
.ifl-footer__top > div { display: flex; align-items: flex-start; flex-direction: column; }
.ifl-footer__top > div:first-child p { max-width: 310px; margin: 20px 0 0; color: rgba(255,255,255,.58); }
.ifl-footer h2 { margin: 0 0 18px; color: #fff; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.ifl-footer a, .ifl-footer span { margin: 4px 0; color: rgba(255,255,255,.66); font-size: 13px; text-decoration: none; }
.ifl-footer a:hover { color: #fff; }
.ifl-footer__cta p { margin: 0 0 20px; color: rgba(255,255,255,.62); font-size: 13px; }
.ifl-footer__cta .ifl-button { color: var(--ifl-ink); }
.ifl-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.ifl-footer__bottom span { font-size: 11px; }

.ifl-archive-hero { padding: 90px 0 70px; background: var(--ifl-canvas); }
.ifl-archive-hero h1 { max-width: 850px; }
.ifl-archive-hero p { max-width: 560px; margin: 18px 0 0; color: var(--ifl-muted); font-size: 18px; }
.ifl-archive-search { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(190px,.7fr) auto; gap:10px; max-width:980px; margin-top:34px; padding:10px; border:1px solid var(--ifl-line); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(21,32,29,.08); }
.ifl-archive-search input,.ifl-archive-search select { width:100%; min-height:52px; padding:0 15px; border:0; border-right:1px solid var(--ifl-line); color:var(--ifl-ink); background:#fff; font:inherit; }
.ifl-archive { padding: 55px 0 110px; }
.ifl-archive__layout { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: start; gap: 42px; }
.ifl-filters { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--ifl-line); border-radius: var(--ifl-radius); background: #fff; }
.ifl-filters form { display: grid; gap: 18px; }
.ifl-filters__head { display: flex; align-items: center; justify-content: space-between; }
.ifl-filters__head h2 { margin: 0; font-size: 20px; }
.ifl-filters__head .ifl-eyebrow { font-size:9px; }
.ifl-filters__head a { color: var(--ifl-primary); font-size: 12px; font-weight: 800; }
.ifl-filters label, .ifl-filters legend { display: grid; gap: 7px; color: var(--ifl-ink-soft); font-size: 12px; font-weight: 750; }
.ifl-filters fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.ifl-filters input, .ifl-filters select, .ifl-sort select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--ifl-line); border-radius: 10px; background: #fff; }
.ifl-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ifl-checks label { display: flex; grid-template-columns: 18px 1fr; align-items: center; font-weight: 500; }
.ifl-checks input { width: 17px; min-height: 17px; }
.ifl-filter-toggle { display:grid !important; grid-template-columns:18px 1fr; align-items:center; padding:12px; border-radius:10px; background:var(--ifl-canvas-soft); }
.ifl-filter-toggle input { width:17px; min-height:17px; }
.ifl-results__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 54px; margin-bottom: 20px; }
.ifl-results__bar strong { font-size: 22px; }
.ifl-sort label { display: flex; align-items: center; gap: 10px; color: var(--ifl-muted); font-size: 12px; }
.ifl-sort select { width: auto; }
.ifl-property-grid--results { grid-template-columns: repeat(2,minmax(0,1fr)); }
.navigation.pagination { margin-top: 42px; }
.nav-links { display: flex; justify-content: center; gap: 8px; }
.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; border: 1px solid var(--ifl-line); border-radius: 50%; text-decoration: none; }
.page-numbers.current { color: #fff; background: var(--ifl-ink); }

.ifl-single__head { padding: 55px 0 30px; }
.ifl-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; color: var(--ifl-muted); font-size: 11px; }
.ifl-breadcrumb a { text-decoration: none; }
.ifl-single__title { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.ifl-single__title > div:first-child { max-width: 840px; }
.ifl-single__title h1 { font-size: clamp(44px, 5.5vw, 72px); }
.ifl-single__title p { margin: 14px 0 0; color: var(--ifl-muted); }
.ifl-single__price { display: grid; flex: 0 0 auto; padding-bottom: 8px; text-align: right; }
.ifl-single__price small { color: var(--ifl-muted); font-size: 11px; }
.ifl-single__price strong { font-size: clamp(26px, 3vw, 38px); }
.ifl-gallery { padding-bottom: 65px; }
.ifl-gallery__grid { position:relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0,280px)); gap: 12px; overflow: hidden; border-radius: var(--ifl-radius); }
.ifl-gallery figure { min-height: 0; margin: 0; background: var(--ifl-canvas); }
.ifl-gallery__main { grid-row: 1/-1; }
.ifl-gallery img { width: 100%; height: 100%; object-fit: cover; }
.ifl-gallery__count { position:absolute; right:18px; bottom:18px; padding:8px 12px; border-radius:999px; color:#fff; background:rgba(24,34,32,.76); font-size:11px; font-weight:800; }
.ifl-gallery__grid:has(> :only-child) { display: block; }
.ifl-gallery__grid:has(> :only-child) .ifl-gallery__main { height: min(68vw,650px); }
.ifl-single__layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); align-items: start; gap: clamp(40px, 7vw, 100px); }
.ifl-fact-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 0 0 65px; padding: 24px 0; border-block: 1px solid var(--ifl-line); list-style: none; }
.ifl-fact-row li { display: grid; gap: 3px; padding: 0 18px; border-right: 1px solid var(--ifl-line); }
.ifl-fact-row li:first-child { padding-left: 0; }
.ifl-fact-row li:last-child { border-right: 0; }
.ifl-fact-row strong { font-size: 19px; }
.ifl-fact-row span { color: var(--ifl-muted); font-size: 11px; }
.ifl-description { padding-bottom: 55px; }
.ifl-description h2 { max-width: 680px; font-size: clamp(38px, 4.4vw, 56px); }
.ifl-richtext { margin-top: 28px; color: var(--ifl-ink-soft); font-size: 17px; line-height: 1.85; }
.ifl-richtext > *:first-child { margin-top: 0; }
.ifl-features, .ifl-costs, .ifl-property-details, .ifl-location { padding: 45px 0; border-top: 1px solid var(--ifl-line); }
.ifl-features h2, .ifl-costs h2, .ifl-property-details h2, .ifl-location h2 { margin: 0 0 24px; font-size: 26px; }
.ifl-property-details > div h2 { margin-top:6px; }
.ifl-property-details dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; border-top:1px solid var(--ifl-line); }
.ifl-property-details dl > div { display:flex; justify-content:space-between; gap:15px; padding:15px 0; border-bottom:1px solid var(--ifl-line); }
.ifl-property-details dl > div:nth-child(odd) { padding-right:20px; }
.ifl-property-details dl > div:nth-child(even) { padding-left:20px; border-left:1px solid var(--ifl-line); }
.ifl-property-details dt { color:var(--ifl-muted); font-size:12px; }
.ifl-property-details dd { margin:0; font-size:13px; font-weight:800; text-align:right; }
.ifl-construction,.ifl-floor-plans { padding:45px 0; border-top:1px solid var(--ifl-line); }
.ifl-construction__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.ifl-construction__head h2,.ifl-floor-plans > h2 { margin:7px 0 8px; font-size:30px; }
.ifl-construction__head p { margin:0; color:var(--ifl-muted); }
.ifl-construction__summary { display:grid; min-width:210px; text-align:right; }
.ifl-construction__summary strong { color:var(--ifl-primary); font-family:var(--ifl-display); font-size:48px; font-weight:500; line-height:1; }
.ifl-construction__summary span { color:var(--ifl-muted); font-size:11px; }
.ifl-progress { height:10px; margin:22px 0 30px; overflow:hidden; border-radius:999px; background:#e4e7e4; }
.ifl-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--ifl-primary),#d8a27a); }
.ifl-construction-timeline { display:grid; gap:18px; padding-left:22px; border-left:1px solid var(--ifl-line); }
.ifl-construction-update { position:relative; padding:22px; border:1px solid var(--ifl-line); border-radius:16px; background:var(--ifl-canvas-soft); }
.ifl-construction-update::before { position:absolute; top:28px; left:-29px; width:11px; height:11px; border:4px solid #fff; border-radius:50%; background:var(--ifl-primary); box-shadow:0 0 0 1px var(--ifl-line); content:''; }
.ifl-construction-update > header { display:flex; justify-content:space-between; gap:18px; }
.ifl-construction-update time { color:var(--ifl-primary); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ifl-construction-update h3 { margin:5px 0; font-size:20px; }
.ifl-construction-update > header > strong { color:var(--ifl-primary); font-family:var(--ifl-display); font-size:31px; font-weight:500; }
.ifl-construction-update > p { color:var(--ifl-ink-soft); line-height:1.7; }
.ifl-construction-update__gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:16px; }
.ifl-construction-update__gallery img { width:100%; height:170px; border-radius:10px; object-fit:cover; }
.ifl-tour.ifl-tour--compact { min-height:280px; margin:18px 0 0; }
.ifl-tour--compact .ifl-tour__copy { padding:30px; }
.ifl-tour--compact .ifl-tour__copy h2 { font-size:34px; }
.ifl-floor-plans__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.ifl-floor-plan { overflow:hidden; border:1px solid var(--ifl-line); border-radius:16px; background:#fff; }
.ifl-floor-plan__media { aspect-ratio:1.75; overflow:hidden; background:var(--ifl-canvas-soft); }
.ifl-floor-plan__media img { width:100%; height:100%; object-fit:contain; }
.ifl-floor-plan__body { padding:21px; }
.ifl-floor-plan h3 { margin:0 0 16px; font-size:21px; }
.ifl-floor-plan ul { display:flex; flex-wrap:wrap; gap:12px 18px; margin:0; padding:0; list-style:none; }
.ifl-floor-plan li { display:grid; color:var(--ifl-muted); font-size:10px; }
.ifl-floor-plan li strong { color:var(--ifl-ink); font-size:14px; }
.ifl-floor-plan__price { display:grid; margin:18px 0 0; padding-top:15px; border-top:1px solid var(--ifl-line); }
.ifl-floor-plan__price small { color:var(--ifl-muted); font-size:10px; }
.ifl-floor-plan__price strong { font-size:20px; }
.ifl-floor-plan__actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:17px; }
.ifl-button--outline { border:1px solid var(--ifl-line); background:#fff; color:var(--ifl-ink); }
.ifl-features ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.ifl-features li { display: flex; gap: 9px; font-size: 14px; }
.ifl-features li span { color: var(--ifl-primary); font-weight: 800; }
.ifl-costs > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.ifl-costs span { display: flex; justify-content: space-between; padding: 18px; border-radius: 12px; background: var(--ifl-canvas-soft); }
.ifl-tour { position:relative; min-height:410px; display:flex; align-items:flex-end; margin:10px 0 55px; overflow:hidden; border-radius:var(--ifl-radius); color:#fff; background:linear-gradient(125deg,#17221f,#34433f); }
.ifl-tour::after { position:absolute; width:360px; height:360px; right:-80px; top:-90px; border:1px solid rgba(255,255,255,.18); border-radius:50%; content:''; box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025); }
.ifl-tour__copy { position:relative; z-index:2; max-width:590px; padding:46px; }
.ifl-tour__copy .ifl-eyebrow { color:#d9a983; }
.ifl-tour__copy h2 { margin:8px 0 12px; color:#fff; font-family:var(--ifl-display); font-size:46px; font-weight:500; line-height:1; }
.ifl-tour__copy p { color:rgba(255,255,255,.7); }
.ifl-tour__stage { position:absolute; inset:0; display:grid; place-content:center; text-align:center; }
.ifl-tour__stage > span { color:rgba(255,255,255,.1); font-family:var(--ifl-display); font-size:150px; }
.ifl-tour__stage > p { color:rgba(255,255,255,.54); }
.ifl-tour__stage iframe { width:100%; height:100%; border:0; }
.ifl-tour.is-loaded { display:block; height:min(68vw,620px); }
.ifl-tour.is-loaded::after,.ifl-tour.is-loaded .ifl-tour__copy { display:none; }
.ifl-tour--external { min-height:320px; }
.ifl-location { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.ifl-location h2 { margin:5px 0 8px; }
.ifl-location p { max-width:680px; margin:0; color:var(--ifl-muted); }
.ifl-single__aside { position: sticky; top: 116px; }
.ifl-contact-card { padding: 34px; border: 1px solid var(--ifl-line); border-radius: var(--ifl-radius); box-shadow: 0 18px 50px rgba(21,32,29,.08); }
.ifl-contact-card h2 { margin: 0 0 5px; font-family: var(--ifl-display); font-size: 34px; font-weight: 500; line-height: 1; }
.ifl-contact-card p { margin: 0 0 24px; color: var(--ifl-muted); }
.ifl-contact-card .ifl-button { width: 100%; }
.ifl-contact-card__broker { display:flex; align-items:center; gap:14px; margin:14px 0 16px; }
.ifl-contact-card__broker img { width:74px; height:74px; border-radius:18px; object-fit:cover; }
.ifl-contact-card__broker p { margin:0; font-size:11px; }
.ifl-contact-card__whatsapp { display: block; width:100%; margin-top: 12px; padding:13px; border:0; color:#1c8d59; background:transparent; cursor:pointer; font-size: 12px; font-weight: 800; text-align: center; }
.ifl-contact-card > small { display:block; color:var(--ifl-muted); font-size:9px; line-height:1.45; text-align:center; }
.ifl-scheduler-wrap { padding-block: 90px 110px; }
.ifl-similar { background: var(--ifl-canvas-soft); }
.ifl-page { padding: 80px 0 110px; }
.ifl-page__content { max-width: 850px; }
.ifl-page h1 { font-family: var(--ifl-display); font-size: clamp(44px,6vw,76px); font-weight: 500; line-height: 1; }

@media (max-width: 1120px) {
  .ifl-header__phone { display: none; }
  .ifl-nav__list, .ifl-nav .menu { gap: 20px; }
  .ifl-property-grid { gap: 18px; }
  .ifl-broker-card { grid-template-columns: 100px 1fr; padding: 16px; }
  .ifl-broker-card img { width: 100px; height: 130px; }
  .ifl-footer__top { grid-template-columns: 1.2fr .7fr .8fr; }
  .ifl-footer__cta { grid-column: 1/-1; }
}

@media (max-width: 900px) {
  .admin-bar .ifl-header { top: 46px; }
  .ifl-header { height: 72px; }
  .ifl-header__actions > .ifl-button, .ifl-header__phone { display: none; }
  .ifl-menu-toggle { display: block; }
  .ifl-nav { position: fixed; z-index: 999; inset: 72px 0 auto; display: none; margin: 0; padding: 28px 20px 38px; border-top: 1px solid var(--ifl-line); background: #fff; box-shadow: var(--ifl-shadow); }
  .admin-bar .ifl-nav { top: 118px; }
  .ifl-nav.is-open { display: block; }
  .ifl-nav__list, .ifl-nav .menu { align-items: stretch; flex-direction: column; gap: 8px; }
  .ifl-nav a { display: block; padding: 12px 4px; font-size: 17px; }
  body.ifl-menu-open { overflow: hidden; }
  .ifl-hero { min-height: 730px; }
  .ifl-search-bar { grid-template-columns: repeat(2,1fr); }
  .ifl-search-bar label:nth-child(2) { border-right: 0; }
  .ifl-search-bar__location { border-top: 1px solid var(--ifl-line); }
  .ifl-search-bar .ifl-button { margin: 10px 0 0; }
  .ifl-split { grid-template-columns: 1fr; }
  .ifl-property-grid, .ifl-property-grid--results { grid-template-columns: repeat(2,1fr); }
  .ifl-process__grid { grid-template-columns: repeat(2,1fr); }
  .ifl-process__grid article:nth-child(2) { border-right: 0; }
  .ifl-process__grid article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }
  .ifl-broker-grid { grid-template-columns: 1fr; }
  .ifl-broker-card { grid-template-columns: 140px 1fr; }
  .ifl-broker-card img { width: 140px; height: 170px; }
  .ifl-archive__layout { grid-template-columns: 1fr; }
	.ifl-archive-search { grid-template-columns:1fr 1fr; }
	.ifl-archive-search .ifl-button { grid-column:1/-1; }
  .ifl-filters { position: static; }
  .ifl-single__title { align-items: flex-start; flex-direction: column; gap: 24px; }
  .ifl-single__price { text-align: left; }
  .ifl-single__layout { grid-template-columns: 1fr; }
  .ifl-single__aside { position: static; order: -1; }
}

@media (max-width: 640px) {
  .ifl-shell { width: min(calc(100% - 26px), var(--ifl-shell)); }
  .ifl-brand__name { font-size: 13px; }
  .ifl-site .ifl-header .ifl-brand__image { max-width: min(150px, 48vw); height: 46px; max-height: 46px; }
  .ifl-hero { min-height: 820px; }
  .ifl-hero__content { padding-block: 70px 34px; }
  .ifl-hero__copy h1 { font-size: 50px; }
  .ifl-search-bar { grid-template-columns: 1fr; border-radius: 15px; }
  .ifl-search-bar label { border-right: 0; border-bottom: 1px solid var(--ifl-line); }
  .ifl-search-bar .ifl-button { min-height: 56px; margin-left: 0; }
  .ifl-hero__proof { display: none; }
  .ifl-section { padding-block: 78px; }
  .ifl-section-head { align-items: flex-start; flex-direction: column; gap: 22px; margin-bottom: 32px; }
  .ifl-property-grid, .ifl-property-grid--results { grid-template-columns: 1fr; }
  .ifl-process__grid { grid-template-columns: 1fr; }
  .ifl-process__grid article, .ifl-process__grid article + article { min-height: auto; padding: 28px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .ifl-process__grid h3 { margin-top: 24px; }
  .ifl-broker-card { grid-template-columns: 92px 1fr; }
  .ifl-broker-card img { width: 92px; height: 125px; }
  .ifl-final-cta__inner > div { align-items: flex-start; flex-direction: column; }
  .ifl-footer__top { grid-template-columns: 1fr 1fr; }
  .ifl-footer__top > div:first-child, .ifl-footer__cta { grid-column: 1/-1; }
  .ifl-footer__bottom { align-items: flex-start; flex-direction: column; }
  .ifl-archive-hero { padding: 65px 0 50px; }
  .ifl-archive-hero h1 { font-size: 48px; }
	.ifl-archive-search { grid-template-columns:1fr; padding:8px; }
	.ifl-archive-search input,.ifl-archive-search select { border-right:0; border-bottom:1px solid var(--ifl-line); }
	.ifl-archive-search .ifl-button { grid-column:auto; }
  .ifl-results__bar { align-items: flex-start; flex-direction: column; }
  .ifl-gallery__grid { display: block; }
  .ifl-gallery__main { height: 420px; }
  .ifl-gallery__grid figure:not(:first-child) { display: none; }
  .ifl-fact-row { grid-template-columns: repeat(2,1fr); }
  .ifl-fact-row li { min-height: 75px; justify-content: center; padding: 12px !important; border-right: 0; border-bottom: 1px solid var(--ifl-line); }
  .ifl-features ul { grid-template-columns: repeat(2,1fr); }
  .ifl-costs > div { grid-template-columns: 1fr; }
	.ifl-property-details dl { grid-template-columns:1fr; }
	.ifl-property-details dl > div:nth-child(n) { padding:14px 0; border-left:0; }
	.ifl-construction__head { align-items:flex-start; flex-direction:column; }
	.ifl-construction__summary { min-width:0; text-align:left; }
	.ifl-floor-plans__grid { grid-template-columns:1fr; }
	.ifl-construction-update__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifl-construction-update__gallery img { height:145px; }
	.ifl-tour__copy { padding:32px 24px; }
	.ifl-tour__copy h2 { font-size:38px; }
	.ifl-location { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
