:root {
    --navy: #0d1025;
    --navy-soft: #171b36;
    --gold: #d9ad43;
    --gold-light: #f2d780;
    --ivory: #f8f5ed;
    --white: #fff;
    --ink: #171925;
    --muted: #666a76;
    --line: rgba(18, 22, 45, .12);
    --shadow: 0 24px 60px rgba(13, 16, 37, .12);
    --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--white); font: 16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3 { margin: 0; color: inherit; font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.1; }
p { margin: 0; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 110px 0; }
.section-muted { background: var(--ivory); }
.section-dark { color: var(--white); background: var(--navy); }
.section-dark h2, .section-dark h3 { color: var(--white); }
.content-narrow { max-width: 880px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1000; padding: 10px 16px; color: var(--navy); background: var(--gold-light); border-radius: 0 0 8px 8px; }
.skip-link:focus { top: 0; }
.eyebrow { display: block; margin-bottom: 16px; color: #9b7424; font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section-dark .eyebrow, .hero .eyebrow, .project-hero .eyebrow { color: var(--gold-light); }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 24px; color: var(--navy); background: linear-gradient(135deg, var(--gold-light), var(--gold)); border: 1px solid transparent; border-radius: 999px; font-size: .9rem; font-weight: 800; letter-spacing: .02em; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(216, 173, 67, .24); }
.button-small { min-height: 42px; padding: 9px 18px; }
.button-ghost { color: var(--white); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.42); }
.button-dark { color: var(--white); background: var(--navy); }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: #886318; font-weight: 800; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: 88px; color: var(--white); background: rgba(9, 12, 31, .78); border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(18px); transition: height .25s, background .25s; }
.site-header.is-scrolled { height: 72px; background: rgba(9, 12, 31, .96); box-shadow: 0 8px 30px rgba(0,0,0,.16); }
.site-header.header-solid { background: var(--navy); backdrop-filter: none; }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; }
.brand img { width: 154px; height: 64px; object-fit: contain; }
.site-header.is-scrolled .brand img { height: 54px; }
.site-nav { display: flex; align-items: center; gap: 32px; font-size: .88rem; font-weight: 700; }
.site-nav > a:not(.button) { position: relative; color: rgba(255,255,255,.82); }
.site-nav > a:not(.button)::after { content: ""; position: absolute; right: 100%; bottom: -8px; left: 0; height: 1px; background: var(--gold); transition: right .2s; }
.site-nav > a:not(.button):hover::after { right: 0; }
.nav-toggle { display: none; width: 44px; height: 44px; place-content: center; gap: 5px; padding: 0; color: white; background: transparent; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.nav-toggle span { display: block; width: 18px; height: 2px; background: currentColor; }

.hero, .project-hero { position: relative; min-height: 790px; display: grid; align-items: center; color: var(--white); background-color: var(--navy); background-image: var(--hero-image), linear-gradient(135deg, var(--navy), var(--navy-soft)); background-size: cover; background-position: center; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,11,30,.96) 0%, rgba(8,11,30,.78) 46%, rgba(8,11,30,.25) 100%); }
.hero-content, .project-hero-content { position: relative; z-index: 1; padding-top: 110px; }
.hero h1 { max-width: 820px; font-size: clamp(3rem, 7vw, 6.3rem); letter-spacing: -.04em; }
.hero-content > p { max-width: 690px; margin-top: 24px; color: rgba(255,255,255,.75); font-size: clamp(1rem, 2vw, 1.2rem); }
.hero-actions, .project-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero-trust { display: flex; gap: 48px; margin-top: 66px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
.hero-trust div { display: grid; }
.hero-trust strong { color: var(--gold-light); font-family: Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.hero-trust span { color: rgba(255,255,255,.63); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 48px; }
.section-heading h2, .content-narrow h2, .why-grid h2, .contact-grid h2 { max-width: 720px; font-size: clamp(2.2rem, 5vw, 4.25rem); letter-spacing: -.03em; }
.section-heading > p { max-width: 430px; color: var(--muted); }
.section-dark .section-heading > p { color: rgba(255,255,255,.65); }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.project-card { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 30px rgba(15,18,39,.05); transition: transform .25s, box-shadow .25s; }
.project-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.project-image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--navy); }
.project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.project-card:hover .project-image img { transform: scale(1.04); }
.project-badge { position: absolute; top: 16px; left: 16px; padding: 7px 12px; color: var(--navy); background: var(--gold-light); border-radius: 999px; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.project-card-body { padding: 26px; }
.card-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #8c691f; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.project-card h3 { margin-top: 12px; font-size: 1.85rem; }
.project-card-body > p { min-height: 78px; margin-top: 14px; color: var(--muted); font-size: .93rem; }
.project-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; padding: 18px 0; border-block: 1px solid var(--line); }
.project-facts span { display: grid; }
.project-facts small { color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
.project-facts strong { margin-top: 2px; font-size: .88rem; }
.empty-state { padding: 60px; text-align: center; background: var(--ivory); border-radius: var(--radius); }
.empty-state h3 { font-size: 2rem; }
.empty-state p { margin-top: 10px; color: var(--muted); }

.why-section { color: var(--white); background: var(--navy); }
.why-section h2, .why-section h3 { color: var(--white); }
.why-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.why-grid > div:first-child > p { margin: 25px 0; color: rgba(255,255,255,.66); font-size: 1.05rem; }
.why-section .text-link { color: var(--gold-light); }
.value-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.value-grid article { padding: 32px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.value-grid article > span { color: var(--gold); font-size: .72rem; letter-spacing: .1em; }
.value-grid h3 { margin-top: 34px; font-size: 1.5rem; }
.value-grid p { margin-top: 12px; color: rgba(255,255,255,.58); font-size: .9rem; }

.contact-section { background: #f1eadb; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.contact-grid > div > p { max-width: 560px; margin-top: 24px; color: var(--muted); }
.contact-direct { display: grid; gap: 5px; margin-top: 34px; color: #825f18; font-weight: 800; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 42px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.lead-form label { display: grid; gap: 8px; color: #343746; font-size: .82rem; font-weight: 800; }
.lead-form label span, .lead-form small { color: var(--muted); font-weight: 500; }
.lead-form label:nth-of-type(4), .lead-form .button, .lead-form > small { grid-column: 1 / -1; }
.lead-form input, .lead-form textarea { width: 100%; padding: 13px 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid #c9c5bc; border-radius: 0; outline: 0; transition: border .2s; }
.lead-form textarea { resize: vertical; }
.lead-form input:focus, .lead-form textarea:focus { border-color: var(--gold); }
.lead-form .button { width: fit-content; border: 0; }

.project-hero { min-height: 690px; }
.project-hero-content { padding-bottom: 55px; align-self: end; }
.property-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.property-badges span { padding: 7px 11px; color: var(--navy); background: var(--gold-light); border-radius: 999px; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb { display: inline-block; margin-bottom: 70px; color: rgba(255,255,255,.72); font-size: .86rem; }
.project-hero h1 { max-width: 900px; font-size: clamp(3.2rem, 7vw, 6rem); letter-spacing: -.04em; }
.project-hero-content > p { max-width: 720px; margin-top: 22px; color: rgba(255,255,255,.76); font-size: 1.1rem; }
.project-summary { position: relative; z-index: 2; margin-top: -1px; color: var(--white); background: var(--navy); border-top: 1px solid rgba(255,255,255,.12); }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.summary-grid > div { display: grid; padding: 28px; border-right: 1px solid rgba(255,255,255,.12); }
.summary-grid > div:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.summary-grid small { color: var(--gold-light); font-size: .69rem; text-transform: uppercase; letter-spacing: .09em; }
.summary-grid strong { margin-top: 4px; font-size: .92rem; }
.prose { margin-top: 28px; color: #555b67; font-size: 1.06rem; line-height: 1.9; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-grid article, .detail-grid article { padding: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; }
.feature-grid article > span { color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.feature-grid h3, .detail-grid h3 { margin-top: 22px; font-size: 1.45rem; }
.feature-grid p, .detail-grid p { margin-top: 12px; color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 20px; }
.gallery-grid figure { position: relative; min-height: 300px; margin: 0; overflow: hidden; background: var(--navy); border-radius: var(--radius); }
.gallery-grid figure:first-child { grid-row: span 2; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.gallery-grid figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 9px 12px; color: var(--white); background: rgba(9,12,31,.72); border-radius: 9px; font-size: .78rem; }
.table-wrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; }
.table-wrap table { width: 100%; min-width: 720px; border-collapse: collapse; }
.table-wrap th, .table-wrap td { padding: 20px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.12); }
.table-wrap th { color: var(--gold-light); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.table-wrap td { color: rgba(255,255,255,.75); }
.table-wrap td strong { color: var(--white); }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.detail-grid h3 { margin-top: 0; }
.detail-type { display: block; margin-bottom: 8px; color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.developer-panel { display: grid; grid-template-columns: 240px 1fr; gap: 55px; align-items: center; }
.developer-panel img { width: 100%; height: 150px; object-fit: contain; background: white; border: 1px solid var(--line); border-radius: 16px; }
.developer-monogram { display: grid; width: 150px; height: 150px; place-items: center; color: var(--gold-light); background: var(--navy); border-radius: 16px; font-size: 2rem; font-weight: 900; }
.developer-panel h2 { margin-top: 10px; }
.facts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); }
.facts-grid div { display: grid; gap: 6px; min-height: 110px; align-content: center; padding: 24px; background: var(--white); }
.facts-grid small, .price-facts small { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.facts-grid strong { font-size: 1rem; }
.price-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 28px; overflow: hidden; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); border-radius: 14px; }
.price-facts div { display: grid; gap: 6px; padding: 22px; background: rgba(255,255,255,.06); }
.price-facts small { color: rgba(255,255,255,.55); }
.price-facts strong { color: white; }
.resource-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.resource-links a { display: grid; min-height: 170px; align-content: end; gap: 7px; padding: 24px; color: white; background: linear-gradient(145deg, var(--navy-soft), var(--navy)); border-radius: 16px; transition: transform .2s; }
.resource-links a:hover { transform: translateY(-4px); }
.resource-links small { color: var(--gold-light); font-size: .64rem; font-weight: 900; letter-spacing: .11em; }
.resource-links strong { font: 500 1.35rem/1.2 Georgia, serif; }
.resource-links span { color: rgba(255,255,255,.65); font-size: .75rem; }
.map-section iframe { display: block; width: 100%; border-radius: var(--radius); }
.video-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.error-page { min-height: 70vh; padding-top: 190px; }
.error-page h1 { max-width: 760px; font-size: clamp(3rem, 7vw, 5rem); }
.error-page p { margin: 22px 0 32px; color: var(--muted); }

.site-footer { padding-top: 75px; color: rgba(255,255,255,.65); background: #090c1f; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .7fr; gap: 70px; padding-bottom: 55px; }
.footer-logo { width: 180px; height: 94px; object-fit: contain; margin-bottom: 18px; }
.footer-grid > div:first-child p { max-width: 440px; }
.footer-grid h2 { margin-bottom: 18px; color: var(--gold-light); font-family: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a:hover { color: var(--gold-light); }
.footer-push { margin-top: 14px; padding: 9px 13px; color: var(--gold-light); background: transparent; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; cursor: pointer; font-size: .68rem; font-weight: 800; }
.footer-push:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.footer-push:disabled { opacity: .55; cursor: wait; }
.footer-bottom { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; }
.floating-whatsapp, .back-to-top { position: fixed; right: 22px; z-index: 80; display: grid; width: 52px; height: 52px; place-items: center; color: white; border: 0; border-radius: 50%; box-shadow: 0 10px 30px rgba(0,0,0,.2); cursor: pointer; }
.floating-whatsapp { bottom: 24px; background: #20b858; font-size: .75rem; font-weight: 900; letter-spacing: .04em; }
.back-to-top { bottom: 87px; opacity: 0; pointer-events: none; background: var(--navy); transition: opacity .2s, transform .2s; transform: translateY(8px); }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.alert { position: fixed; top: 100px; right: 20px; z-index: 120; width: min(430px, calc(100% - 40px)); padding: 14px 18px; color: white; border-radius: 12px; box-shadow: var(--shadow); }
.alert-success { background: #177648; }
.alert-error { background: #aa3131; }

@media (max-width: 980px) {
    .project-grid { grid-template-columns: 1fr 1fr; }
    .why-grid, .contact-grid { grid-template-columns: 1fr; gap: 55px; }
    .summary-grid { grid-template-columns: 1fr 1fr; }
    .feature-grid, .detail-grid, .facts-grid, .resource-links { grid-template-columns: 1fr 1fr; }
    .developer-panel { grid-template-columns: 190px 1fr; gap: 30px; }
}

@media (max-width: 760px) {
    .container { width: min(100% - 28px, 1180px); }
    .section { padding: 75px 0; }
    .site-header { height: 76px; }
    .brand img { width: 130px; height: 56px; }
    .nav-toggle { display: grid; }
    .site-nav { position: fixed; top: 76px; right: 14px; left: 14px; display: grid; gap: 0; padding: 14px; opacity: 0; pointer-events: none; color: white; background: rgba(9,12,31,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; transform: translateY(-10px); transition: opacity .2s, transform .2s; }
    .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .site-nav a { padding: 13px; }
    .site-nav .button { margin-top: 8px; }
    .hero { min-height: 760px; }
    .hero-overlay { background: linear-gradient(90deg, rgba(8,11,30,.94), rgba(8,11,30,.63)); }
    .hero h1 { font-size: clamp(2.8rem, 14vw, 4.5rem); }
    .hero-trust { gap: 22px; margin-top: 48px; }
    .section-heading { display: grid; gap: 20px; margin-bottom: 34px; }
    .project-grid, .value-grid, .feature-grid, .detail-grid, .facts-grid, .price-facts, .resource-links { grid-template-columns: 1fr; }
    .project-card-body > p { min-height: 0; }
    .lead-form { grid-template-columns: 1fr; padding: 26px; }
    .lead-form label, .lead-form label:nth-of-type(4) { grid-column: 1; }
    .project-hero { min-height: 640px; }
    .breadcrumb { margin-bottom: 52px; }
    .summary-grid { width: 100%; grid-template-columns: 1fr 1fr; }
    .summary-grid > div { padding: 20px 14px; }
    .gallery-grid { grid-template-columns: 1fr; }
    .gallery-grid figure:first-child { grid-row: auto; }
    .developer-panel { grid-template-columns: 1fr; }
    .developer-panel img, .developer-monogram { width: 150px; }
    .footer-grid { grid-template-columns: 1fr; gap: 35px; }
}

@media (max-width: 460px) {
    .hero-trust { display: grid; grid-template-columns: 1fr 1fr; }
    .hero-actions .button { width: 100%; }
    .project-grid { grid-template-columns: 1fr; }
    .summary-grid { grid-template-columns: 1fr; }
    .summary-grid > div { border-left: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
    .floating-whatsapp, .back-to-top { right: 14px; }
}

/* Phase 4: editable luxury property landing pages */
.property-landing { color: #101318; background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 400; }
.property-landing .property-page-header { color: #101318; background: rgba(255,255,255,.82); border-bottom: 1px solid rgba(16,19,24,.08); backdrop-filter: blur(22px); }
.property-landing .property-page-header.is-scrolled { background: rgba(255,255,255,.95); box-shadow: 0 12px 38px rgba(40,87,120,.1); }
.property-landing .property-page-header.header-solid { background: rgba(255,255,255,.95); backdrop-filter: blur(22px); }
.property-landing .property-page-header .site-nav > a:not(.button) { color: #252a31; font-weight: 600; }
.property-landing .property-page-header .site-nav > a:not(.button)::after { background: #59b7f2; }
.property-landing .property-page-header .button { color: #fff; background: #101318; }
.property-landing .property-page-header .nav-toggle { color: #101318; border-color: rgba(16,19,24,.18); }
.property-landing .back-to-top { bottom: 152px; color: #101318; background: rgba(255,255,255,.9); border: 1px solid rgba(16,19,24,.1); backdrop-filter: blur(14px); }
.luxury-property-page { --lp-blue: #64b9f2; --lp-blue-deep: #298ecc; --lp-blue-soft: #eaf7ff; --lp-blue-pale: #f5fbff; --lp-ink: #101318; --lp-muted: #68727c; --lp-line: rgba(36,100,140,.12); --lp-shadow: 0 25px 70px rgba(52,112,148,.12); overflow: hidden; }
.luxury-property-page h1, .luxury-property-page h2, .luxury-property-page h3 { color: var(--lp-ink); font-family: inherit; font-weight: 300; line-height: 1.08; }
.lp-section { padding: 92px 0; background: #fff; }
.luxury-property-page > .lp-section:first-child { padding-top: 150px; }
.lp-blue-section { background: linear-gradient(135deg, var(--lp-blue-pale), var(--lp-blue-soft)); }
.lp-eyebrow { display: block; margin-bottom: 15px; color: var(--lp-blue-deep); font-size: .68rem; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.lp-heading { max-width: 690px; margin-bottom: 42px; }
.lp-heading h2 { font-size: clamp(2rem, 4.2vw, 3.65rem); letter-spacing: -.045em; }
.lp-heading > p { max-width: 610px; margin-top: 18px; color: var(--lp-muted); font-size: .96rem; line-height: 1.75; }
.lp-disclaimer { display: block; max-width: 570px; margin-top: 22px; color: #77818a; font-size: .72rem; line-height: 1.55; }
.lp-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 15px 28px; border: 1px solid transparent; border-radius: 16px; font-size: .86rem; font-weight: 750; letter-spacing: .01em; transition: transform .2s, box-shadow .2s, background .2s; }
.lp-button:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(43,142,204,.18); }
.lp-button-primary { color: #fff; background: linear-gradient(135deg, #52b4f1, #2e94d2); }
.lp-button-secondary { color: var(--lp-ink); background: rgba(255,255,255,.72); border-color: rgba(25,101,148,.16); backdrop-filter: blur(12px); }
.lp-text-link { display: inline-flex; margin-top: 23px; color: var(--lp-blue-deep); font-size: .82rem; font-weight: 750; }
.glass-card { background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.85); border-radius: 28px; box-shadow: var(--lp-shadow); backdrop-filter: blur(22px); }
.lp-hero { min-height: 790px; padding: 140px 0 70px; background: linear-gradient(125deg, #fff 0%, #fff 48%, #f2faff 48%, #e8f6ff 100%); }
.lp-hero-grid { display: grid; grid-template-columns: .93fr 1.07fr; gap: 70px; align-items: center; }
.lp-hero-copy { position: relative; z-index: 2; }
.lp-back { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 45px; color: #6d7881; font-size: .72rem; font-weight: 650; }
.lp-back a:hover { color: var(--lp-blue-deep); }
.lp-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.lp-pills span { padding: 7px 11px; color: #237eaf; background: var(--lp-blue-soft); border: 1px solid rgba(64,161,218,.16); border-radius: 999px; font-size: .61rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lp-hero h1 { max-width: 650px; font-size: clamp(3.1rem, 6.4vw, 6.25rem); letter-spacing: -.065em; }
.lp-hero-lead { max-width: 620px; margin-top: 24px; color: #4d5660; font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.75; }
.lp-section-note { max-width: 570px; margin-top: 11px; color: #8a949c; font-size: .78rem; }
.lp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.lp-quick-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 45px; overflow: hidden; background: var(--lp-line); border: 1px solid var(--lp-line); border-radius: 18px; }
.lp-quick-facts div { display: grid; gap: 5px; min-width: 0; padding: 17px; background: rgba(255,255,255,.9); }
.lp-quick-facts small { color: #89939b; font-size: .6rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.lp-quick-facts strong { overflow: hidden; color: #22272c; font-size: .78rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.lp-hero-visual { position: relative; }
.lp-hero-image { position: relative; height: min(650px, 70vh); min-height: 530px; overflow: hidden; background: #d9effb; border: 8px solid rgba(255,255,255,.75); border-radius: 34px; box-shadow: 0 38px 90px rgba(42,111,151,.2); }
.lp-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.lp-hero-image > span { position: absolute; right: 20px; bottom: 20px; left: 20px; padding: 15px 18px; color: #fff; background: rgba(15,26,34,.52); border: 1px solid rgba(255,255,255,.24); border-radius: 15px; font-size: .76rem; font-weight: 650; backdrop-filter: blur(15px); }
.lp-builder-glass { position: absolute; bottom: 35px; left: -45px; display: flex; min-width: 250px; align-items: center; gap: 12px; padding: 14px 18px; background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.9); border-radius: 18px; box-shadow: 0 18px 44px rgba(45,102,136,.16); backdrop-filter: blur(20px); }
.lp-builder-glass img { width: 58px; height: 42px; object-fit: contain; border-radius: 8px; }
.lp-builder-glass div { display: grid; }
.lp-builder-glass small { color: #8b949b; font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; }
.lp-builder-glass strong { color: #20252a; font-size: .79rem; }
.lp-preview-grid { display: grid; grid-template-columns: 1.35fr .8fr; grid-template-rows: 240px 240px; gap: 18px; }
.lp-preview-grid figure, .lp-full-gallery figure { position: relative; margin: 0; overflow: hidden; background: var(--lp-blue-soft); border-radius: 26px; box-shadow: 0 16px 45px rgba(56,108,140,.08); }
.lp-preview-grid .lp-preview-large { grid-row: 1 / 3; }
.lp-preview-grid img, .lp-full-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.lp-preview-grid figure:hover img, .lp-full-gallery figure:hover img { transform: scale(1.035); }
.lp-preview-grid figcaption, .lp-full-gallery figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 10px 13px; color: #fff; background: rgba(16,24,30,.5); border: 1px solid rgba(255,255,255,.2); border-radius: 12px; font-size: .7rem; backdrop-filter: blur(14px); }
.lp-video-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.lp-video-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lp-video-cards a { display: grid; min-height: 265px; align-content: end; padding: 27px; color: #fff; background: linear-gradient(145deg, rgba(31,122,174,.94), rgba(74,177,237,.84)), var(--lp-blue); border-radius: 28px; box-shadow: 0 24px 55px rgba(43,137,193,.2); }
.lp-video-cards a:nth-child(even) { background: linear-gradient(145deg, #111820, #25333e); }
.lp-play { display: grid; width: 54px; height: 54px; margin-bottom: auto; place-items: center; color: #238bc7; background: #fff; border-radius: 50%; font-size: .9rem; }
.lp-video-cards small { margin-top: 55px; color: rgba(255,255,255,.68); font-size: .59rem; font-weight: 800; letter-spacing: .13em; }
.lp-video-cards strong { margin-top: 7px; font-size: 1.25rem; font-weight: 450; }
.lp-video-cards em { margin-top: 18px; color: rgba(255,255,255,.72); font-size: .7rem; font-style: normal; }
.lp-price-section { background: #fbfdff; }
.lp-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-price-card { display: flex; min-height: 330px; flex-direction: column; align-items: flex-start; padding: 32px; background: #fff; border: 1px solid var(--lp-line); border-radius: 28px; box-shadow: 0 18px 50px rgba(50,103,134,.08); }
.lp-price-card h2 { font-size: 1.35rem; }
.lp-price-card > strong { margin-top: 35px; color: var(--lp-ink); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 300; letter-spacing: -.04em; }
.lp-price-card > p { margin-top: 17px; color: var(--lp-muted); font-size: .83rem; line-height: 1.65; }
.lp-price-card > small, .lp-price-card > a { margin-top: auto; padding-top: 25px; color: var(--lp-blue-deep); font-size: .71rem; font-weight: 700; }
.lp-price-offer { color: #fff; background: linear-gradient(145deg, #2f9dd9, #6ac3f6); border-color: transparent; }
.lp-price-offer h2, .lp-price-offer > strong { color: #fff; }
.lp-price-offer .lp-eyebrow, .lp-price-offer > p, .lp-price-offer > a { color: rgba(255,255,255,.78); }
.lp-config-list { display: grid; gap: 1px; margin-top: 24px; overflow: hidden; background: var(--lp-line); border: 1px solid var(--lp-line); border-radius: 20px; }
.lp-config-list > div { display: grid; grid-template-columns: 1fr .8fr .8fr 1fr; gap: 18px; align-items: center; padding: 18px 22px; background: #fff; }
.lp-config-list strong, .lp-config-list b { font-size: .82rem; }
.lp-config-list span, .lp-config-list small { color: var(--lp-muted); font-size: .75rem; }
.lp-connect-section { background: linear-gradient(145deg, #f7fcff, #e8f7ff); }
.lp-connect-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; }
.lp-connect-points { display: grid; gap: 11px; margin-top: 28px; }
.lp-connect-points span { display: flex; align-items: center; gap: 10px; color: #52616b; font-size: .78rem; }
.lp-connect-points span::before { content: "✓"; display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; color: #238dc9; background: rgba(255,255,255,.82); border-radius: 50%; font-size: .68rem; font-weight: 850; }
.lp-connect-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 36px; }
.lp-connect-form label { display: grid; gap: 7px; color: #4d5861; font-size: .69rem; font-weight: 700; }
.lp-connect-form label span, .lp-connect-form > small { color: #7f8991; font-weight: 450; }
.lp-connect-form input, .lp-connect-form textarea, .lp-connect-form select { width: 100%; min-height: 49px; padding: 11px 13px; color: var(--lp-ink); background: rgba(250,253,255,.92); border: 1px solid rgba(39,126,176,.13); border-radius: 12px; outline: 0; }
.lp-connect-form textarea { resize: vertical; }
.lp-connect-form input:focus, .lp-connect-form textarea:focus, .lp-connect-form select:focus { border-color: var(--lp-blue); box-shadow: 0 0 0 4px rgba(79,179,239,.12); }
.lp-connect-form > small { font-size: .66rem; }
.lp-calculator-section { background: linear-gradient(140deg, #eff9ff, #e5f5ff); }
.lp-projection-section { background: linear-gradient(180deg, #fff, #f3faff); }
.lp-tool-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 80px; align-items: center; }
.lp-tool-grid-reverse { grid-template-columns: 1.32fr .68fr; }
.lp-calculator { padding: 34px; }
.lp-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lp-input-grid label { display: grid; gap: 7px; color: #59636c; font-size: .68rem; font-weight: 700; }
.lp-input-grid input { width: 100%; min-height: 50px; padding: 11px 13px; color: var(--lp-ink); background: rgba(246,252,255,.9); border: 1px solid rgba(44,133,185,.13); border-radius: 12px; outline: 0; }
.lp-input-grid input:focus { border-color: var(--lp-blue); box-shadow: 0 0 0 4px rgba(79,179,239,.13); }
.lp-result-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 24px; }
.lp-result-grid > div { display: grid; gap: 7px; min-height: 112px; align-content: center; padding: 19px; background: rgba(241,249,253,.78); border: 1px solid rgba(52,140,191,.09); border-radius: 16px; }
.lp-result-grid small { color: #74808a; font-size: .61rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.lp-result-grid strong { font-size: 1.15rem; font-weight: 500; }
.lp-result-grid .lp-result-primary { color: #fff; background: linear-gradient(135deg, #41a9e4, #75c9f7); }
.lp-result-primary small { color: rgba(255,255,255,.72); }
.lp-result-primary strong { color: #fff; font-size: 1.55rem; }
.lp-investment-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.lp-investment-heading .lp-heading { margin-bottom: 0; }
.lp-assumption-list { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 1px; min-width: min(100%, 520px); overflow: hidden; background: var(--lp-line); border: 1px solid var(--lp-line); border-radius: 18px; }
.lp-assumption-list div { display: grid; gap: 5px; padding: 15px 17px; background: rgba(255,255,255,.92); }
.lp-assumption-list small { color: #86919a; font-size: .57rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lp-assumption-list strong { color: #273038; font-size: .76rem; font-weight: 700; }
.lp-investment-engine { overflow: hidden; padding: 8px; background: rgba(255,255,255,.8); }
.lp-investment-summary { display: grid; grid-template-columns: 1.45fr .78fr .9fr; gap: 8px; }
.lp-investment-summary article { display: grid; min-height: 175px; align-content: center; gap: 8px; padding: 26px; background: #f4faff; border: 1px solid rgba(51,139,190,.08); border-radius: 21px; }
.lp-investment-summary .lp-future-value { color: #fff; background: linear-gradient(140deg, #10202b, #294352); border-color: transparent; }
.lp-investment-summary small { color: #74818b; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lp-investment-summary strong { color: #162029; font-size: clamp(1.8rem, 3.3vw, 3rem); font-weight: 300; letter-spacing: -.045em; }
.lp-investment-summary span { color: #77838c; font-size: .67rem; }
.lp-investment-summary .lp-future-value small, .lp-investment-summary .lp-future-value span { color: rgba(255,255,255,.6); }
.lp-investment-summary .lp-future-value strong { color: #fff; }
.lp-investment-chart { margin: 8px 0 0; padding: 28px 28px 20px; background: #fbfdff; border: 1px solid var(--lp-line); border-radius: 22px; }
.lp-investment-chart figcaption { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.lp-investment-chart figcaption div { display: grid; gap: 3px; }
.lp-investment-chart figcaption small { color: var(--lp-blue-deep); font-size: .58rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.lp-investment-chart figcaption strong { color: #222a30; font-size: 1rem; font-weight: 550; }
.lp-investment-chart figcaption > span { color: #7b8790; font-size: .67rem; }
.lp-chart-bars { height: 300px; display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(10px, 3vw, 38px); padding: 12px 10px 0; border-bottom: 1px solid rgba(49,122,164,.14); }
.lp-chart-column { height: 100%; display: grid; grid-template-rows: 32px minmax(0, 1fr) 28px; align-items: end; justify-items: center; }
.lp-chart-column > span { color: #71808a; font-size: clamp(.5rem, .8vw, .64rem); font-weight: 650; white-space: nowrap; }
.lp-chart-column em { width: 100%; height: 100%; display: flex; align-items: end; justify-content: center; font-style: normal; }
.lp-chart-column i { display: block; width: min(72px, 72%); min-height: 12px; background: linear-gradient(180deg, #81d0fb, #3ba5df); border-radius: 12px 12px 3px 3px; box-shadow: 0 12px 28px rgba(54,157,214,.18); }
.lp-chart-column:first-child i { background: linear-gradient(180deg, #344b59, #13242e); }
.lp-chart-column b { align-self: center; color: #4e5c66; font-size: .63rem; letter-spacing: .05em; }
.lp-horizon-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.lp-horizon-grid article { display: grid; gap: 8px; padding: 21px; background: #fff; border: 1px solid var(--lp-line); border-radius: 18px; }
.lp-horizon-grid span { color: var(--lp-blue-deep); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lp-horizon-grid strong { color: #1f282f; font-size: clamp(1.15rem, 2vw, 1.6rem); font-weight: 400; letter-spacing: -.03em; }
.lp-horizon-grid small { color: #75818a; font-size: .67rem; }
.lp-rental-estimate { display: grid; grid-template-columns: 1.35fr .8fr .8fr; gap: 8px; margin-top: 8px; }
.lp-rental-estimate > div, .lp-rental-estimate article { display: grid; align-content: center; gap: 7px; min-height: 150px; padding: 24px; background: linear-gradient(140deg, #e9f7ff, #f7fcff); border: 1px solid rgba(49,139,190,.1); border-radius: 19px; }
.lp-rental-estimate h3 { font-size: 1.35rem; }
.lp-rental-estimate p { color: #71808a; font-size: .72rem; line-height: 1.55; }
.lp-rental-estimate article small { color: #74818b; font-size: .59rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lp-rental-estimate article strong { color: #1c272e; font-size: clamp(1.3rem, 2.5vw, 2rem); font-weight: 350; letter-spacing: -.035em; }
.lp-investment-disclaimer { margin: 8px 0 0; padding: 17px 20px; color: #707d86; background: #f8fafb; border: 1px solid rgba(48,105,138,.08); border-radius: 17px; font-size: .68rem; line-height: 1.55; }
.lp-investment-disclaimer strong { color: #424e56; }
.lp-card-grid, .lp-nearby-grid, .lp-amenity-grid, .lp-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lp-soft-card { min-height: 245px; padding: 28px; background: #fff; border: 1px solid var(--lp-line); border-radius: 26px; box-shadow: 0 16px 45px rgba(50,103,134,.07); }
.lp-soft-card > span { color: var(--lp-blue-deep); font-size: .65rem; font-weight: 800; }
.lp-soft-card h3 { margin-top: 50px; font-size: 1.35rem; }
.lp-soft-card p { margin-top: 13px; color: var(--lp-muted); font-size: .82rem; line-height: 1.7; }
.lp-nearby-grid article { min-height: 210px; padding: 27px; background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.9); border-radius: 26px; box-shadow: 0 18px 48px rgba(49,115,153,.08); backdrop-filter: blur(16px); }
.lp-nearby-grid article > span { color: var(--lp-blue-deep); font-size: .58rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.lp-nearby-grid h3 { margin-top: 40px; font-size: 1.3rem; }
.lp-nearby-grid p { margin-top: 12px; color: var(--lp-muted); font-size: .8rem; }
.lp-connectivity-layout, .lp-legal-layout, .lp-faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; align-items: start; }
.lp-route-list, .lp-legal-list { overflow: hidden; border: 1px solid var(--lp-line); border-radius: 26px; }
.lp-route-list > div { display: grid; grid-template-columns: 45px .8fr 1.2fr; gap: 15px; align-items: center; padding: 22px 25px; border-bottom: 1px solid var(--lp-line); }
.lp-route-list > div:last-child, .lp-legal-list > div:last-child { border-bottom: 0; }
.lp-route-list span { color: var(--lp-blue-deep); font-size: .65rem; font-weight: 800; }
.lp-route-list strong { font-size: .88rem; }
.lp-route-list p { color: var(--lp-muted); font-size: .78rem; }
.lp-amenities-section { background: #f8fcff; }
.lp-amenity-grid article { min-height: 215px; padding: 27px; background: #fff; border: 1px solid var(--lp-line); border-radius: 25px; }
.lp-amenity-grid article > span { display: grid; width: 44px; height: 44px; place-items: center; color: var(--lp-blue-deep); background: var(--lp-blue-soft); border-radius: 13px; font-size: .65rem; font-weight: 850; }
.lp-amenity-grid h3 { margin-top: 28px; font-size: 1.25rem; }
.lp-amenity-grid p { margin-top: 11px; color: var(--lp-muted); font-size: .8rem; }
.lp-legal-list > div { display: grid; gap: 5px; padding: 22px 25px; border-bottom: 1px solid var(--lp-line); }
.lp-legal-list small { color: var(--lp-blue-deep); font-size: .59rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.lp-legal-list strong { font-size: .85rem; font-weight: 550; }
.lp-map-section { background: linear-gradient(180deg, #f4fbff, #fff); }
.lp-map-card { position: relative; overflow: hidden; border: 8px solid #fff; border-radius: 30px; box-shadow: var(--lp-shadow); }
.lp-map-card iframe { display: block; width: 100%; }
.lp-map-glass { position: absolute; bottom: 22px; left: 22px; display: grid; gap: 4px; min-width: 250px; padding: 17px 20px; background: rgba(255,255,255,.84); border: 1px solid rgba(255,255,255,.92); border-radius: 16px; backdrop-filter: blur(18px); }
.lp-map-glass small { color: #7c8790; font-size: .59rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.lp-map-glass strong { font-size: .83rem; }
.lp-full-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 310px; gap: 16px; }
.lp-full-gallery figure:nth-child(4n+1) { grid-column: span 2; }
.lp-testimonial-section { background: var(--lp-blue-pale); }
.lp-testimonial-grid blockquote { display: flex; min-height: 300px; flex-direction: column; margin: 0; padding: 29px; background: rgba(255,255,255,.82); border: 1px solid #fff; border-radius: 27px; box-shadow: 0 18px 48px rgba(56,110,141,.08); }
.lp-stars { color: #3ba8e6; font-size: .72rem; letter-spacing: .12em; }
.lp-testimonial-grid blockquote > p { margin-top: 38px; color: #353c43; font-size: .98rem; font-weight: 350; line-height: 1.75; }
.lp-testimonial-grid footer { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 28px; }
.lp-testimonial-grid footer img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.lp-testimonial-grid footer div { display: grid; }
.lp-testimonial-grid footer strong { font-size: .79rem; }
.lp-testimonial-grid footer small { color: #7b858d; font-size: .66rem; }
.lp-faq-list { border-top: 1px solid var(--lp-line); }
.lp-faq-list details { border-bottom: 1px solid var(--lp-line); }
.lp-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 4px; color: #252a30; font-size: .94rem; font-weight: 600; cursor: pointer; list-style: none; }
.lp-faq-list summary::-webkit-details-marker { display: none; }
.lp-faq-list summary span { color: var(--lp-blue-deep); font-size: 1.3rem; font-weight: 300; transition: transform .2s; }
.lp-faq-list details[open] summary span { transform: rotate(45deg); }
.lp-faq-list details > p { max-width: 720px; padding: 0 40px 24px 4px; color: var(--lp-muted); font-size: .82rem; line-height: 1.75; }
.lp-site-visit { background: linear-gradient(135deg, #def3ff, #f1faff); }
.lp-visit-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; }
.lp-contact-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.lp-contact-links a { padding: 11px 14px; color: #267fab; background: rgba(255,255,255,.7); border: 1px solid rgba(49,139,190,.13); border-radius: 11px; font-size: .7rem; font-weight: 750; }
.lp-visit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 36px; }
.lp-visit-form label { display: grid; gap: 7px; color: #4d5861; font-size: .69rem; font-weight: 700; }
.lp-visit-form label span, .lp-visit-form > small { color: #7f8991; font-weight: 450; }
.lp-visit-form input, .lp-visit-form textarea, .lp-visit-form select { width: 100%; min-height: 49px; padding: 11px 13px; color: var(--lp-ink); background: rgba(250,253,255,.9); border: 1px solid rgba(39,126,176,.13); border-radius: 12px; outline: 0; }
.lp-visit-form textarea { resize: vertical; }
.lp-visit-form input:focus, .lp-visit-form textarea:focus, .lp-visit-form select:focus { border-color: var(--lp-blue); box-shadow: 0 0 0 4px rgba(79,179,239,.12); }
.lp-form-wide { grid-column: 1 / -1; }
.lp-visit-form > small { font-size: .66rem; }
.lp-floating-actions { position: fixed; right: 22px; bottom: 24px; z-index: 81; display: grid; gap: 10px; }
.lp-floating-actions a { display: grid; width: 52px; height: 52px; place-items: center; color: #fff; border-radius: 50%; box-shadow: 0 12px 30px rgba(30,68,91,.2); font-size: .67rem; font-weight: 850; }
.lp-float-call { background: #101820; }
.lp-float-whatsapp { background: #20b858; }
.lp-mobile-bar { display: none; }
.lead-handoff { min-height: 76vh; display: grid; place-items: center; padding: 150px 0 90px; background: linear-gradient(145deg, #f7fcff, #e7f6ff); }
.lead-handoff-card { width: min(720px, calc(100% - 30px)); display: grid; justify-items: start; gap: 20px; padding: clamp(30px, 6vw, 64px); background: rgba(255,255,255,.86); border: 1px solid #fff; border-radius: 30px; box-shadow: 0 30px 80px rgba(42,105,143,.14); backdrop-filter: blur(20px); }
.lead-handoff-card .lp-eyebrow { color: #298ecc; }
.lead-handoff-card h1 { max-width: 600px; color: #101318; font: 350 clamp(2.2rem, 6vw, 4rem)/1.04 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: -.05em; }
.lead-handoff-card p { max-width: 590px; color: #66727b; line-height: 1.7; }
.lead-handoff-back { color: #277fae; font-size: .76rem; font-weight: 750; }

@media (max-width: 980px) {
    .lp-hero-grid, .lp-tool-grid, .lp-tool-grid-reverse, .lp-video-layout, .lp-connect-grid, .lp-connectivity-layout, .lp-legal-layout, .lp-faq-layout, .lp-visit-grid { grid-template-columns: 1fr; gap: 45px; }
    .lp-hero { padding-top: 125px; }
    .lp-hero-visual { max-width: 720px; }
    .lp-builder-glass { left: 22px; }
    .lp-price-grid, .lp-card-grid, .lp-nearby-grid, .lp-amenity-grid, .lp-testimonial-grid { grid-template-columns: 1fr 1fr; }
    .lp-full-gallery { grid-template-columns: 1fr 1fr; }
    .lp-investment-heading { align-items: stretch; flex-direction: column; }
    .lp-assumption-list { width: 100%; }
    .lp-investment-summary { grid-template-columns: 1.2fr 1fr; }
    .lp-investment-summary .lp-future-value { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .property-landing { padding-bottom: 70px; }
    .property-landing .property-page-header .site-nav { color: #101318; background: rgba(255,255,255,.98); border-color: rgba(16,19,24,.08); box-shadow: 0 16px 40px rgba(42,89,117,.12); }
    .lp-section { padding: 68px 0; }
    .lp-hero { min-height: 0; padding: 110px 0 60px; background: linear-gradient(180deg, #fff 0%, #fff 58%, #edf9ff 58%, #e7f6ff 100%); }
    .lp-hero-grid { gap: 38px; }
    .lp-back { margin-bottom: 28px; }
    .lp-hero h1 { font-size: clamp(2.9rem, 14vw, 4.8rem); }
    .lp-hero-actions { display: grid; }
    .lp-button { width: 100%; }
    .lp-quick-facts { grid-template-columns: 1fr; }
    .lp-hero-image { height: 520px; min-height: 0; border-width: 5px; border-radius: 27px; }
    .lp-builder-glass { right: 14px; bottom: 16px; left: 14px; min-width: 0; }
    .lp-preview-grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, 290px); }
    .lp-preview-grid .lp-preview-large { grid-row: auto; }
    .lp-video-cards, .lp-price-grid, .lp-card-grid, .lp-nearby-grid, .lp-amenity-grid, .lp-testimonial-grid, .lp-result-grid { grid-template-columns: 1fr; }
    .lp-video-cards a { min-height: 240px; }
    .lp-price-card { min-height: 280px; }
    .lp-config-list > div { grid-template-columns: 1fr 1fr; }
    .lp-input-grid { grid-template-columns: 1fr; }
    .lp-calculator { padding: 23px; border-radius: 22px; }
    .lp-investment-engine { padding: 5px; border-radius: 22px; }
    .lp-assumption-list, .lp-investment-summary, .lp-horizon-grid, .lp-rental-estimate { grid-template-columns: 1fr; }
    .lp-investment-summary .lp-future-value { grid-column: auto; }
    .lp-investment-chart { padding: 23px 14px 16px; }
    .lp-investment-chart figcaption { align-items: flex-start; flex-direction: column; }
    .lp-chart-bars { height: 250px; gap: 8px; padding-right: 0; padding-left: 0; }
    .lp-chart-column > span { transform: rotate(-45deg); transform-origin: center; }
    .lp-route-list > div { grid-template-columns: 34px 1fr; }
    .lp-route-list p { grid-column: 2; }
    .lp-map-card { border-width: 5px; border-radius: 23px; }
    .lp-map-card iframe { height: 440px; }
    .lp-map-glass { right: 14px; bottom: 14px; left: 14px; min-width: 0; }
    .lp-full-gallery { grid-template-columns: 1fr; grid-auto-rows: 290px; }
    .lp-full-gallery figure:nth-child(4n+1) { grid-column: auto; }
    .lp-visit-form, .lp-connect-form { grid-template-columns: 1fr; padding: 23px; }
    .lp-form-wide { grid-column: 1; }
    .lp-floating-actions { display: none; }
    .lp-mobile-bar { position: fixed; right: 10px; bottom: 9px; left: 10px; z-index: 110; display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: 5px; padding: 6px; background: rgba(255,255,255,.9); border: 1px solid rgba(34,105,146,.12); border-radius: 17px; box-shadow: 0 16px 45px rgba(24,70,97,.2); backdrop-filter: blur(20px); }
    .lp-mobile-bar a { display: grid; min-height: 48px; place-items: center; color: #26313a; border-radius: 12px; font-size: .68rem; font-weight: 800; }
    .lp-mobile-bar .lp-mobile-primary { color: #fff; background: linear-gradient(135deg, #4aaee8, #2c91ca); }
    .property-landing .back-to-top { right: 14px; bottom: 82px; }
    .property-landing .site-footer { padding-bottom: 15px; }
}

@media (max-width: 440px) {
    .lp-hero-image { height: 430px; }
    .lp-price-card, .lp-soft-card, .lp-nearby-grid article, .lp-amenity-grid article { border-radius: 22px; }
    .lp-heading h2 { font-size: 2.25rem; }
}

/* Phase 7: premium database-driven homepage */
.home-public { background: #f7fafc; }
.premium-home { --hp-blue: #56b6ef; --hp-blue-deep: #268ecb; --hp-blue-pale: #edf8ff; --hp-ink: #10151c; --hp-muted: #68737d; --hp-line: rgba(25,78,111,.12); --hp-soft-shadow: 0 22px 65px rgba(28,77,107,.11); overflow: hidden; color: var(--hp-ink); background: #fff; }
.premium-home h1, .premium-home h2, .premium-home h3, .public-blog h1, .public-blog h2 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 300; letter-spacing: -.045em; }
.hp-eyebrow { display: block; margin-bottom: 13px; color: var(--hp-blue-deep); font-size: .65rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hp-button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 13px 25px; border: 1px solid transparent; border-radius: 15px; font-size: .78rem; font-weight: 800; letter-spacing: .02em; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.hp-button:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(35,99,137,.18); }
.hp-button-primary { color: #fff; background: linear-gradient(135deg, #66c2f7, #278fcf); }
.hp-button-glass { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); backdrop-filter: blur(14px); }
.hp-button-dark { color: #fff; background: #101924; }
.hp-inline-link { display: inline-flex; align-items: center; gap: 9px; color: var(--hp-blue-deep); font-size: .75rem; font-weight: 800; }
.hp-inline-link span { transition: transform .2s; }
.hp-inline-link:hover span { transform: translateX(4px); }

.hp-hero { position: relative; min-height: 820px; display: grid; align-items: center; color: #fff; background: #0b1220; }
.hp-hero-media { position: absolute; inset: 0; background-image: var(--hp-hero-image); background-position: center; background-size: cover; transform: scale(1.01); }
.hp-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,14,27,.98) 0%, rgba(7,14,27,.85) 48%, rgba(7,14,27,.28) 100%), linear-gradient(0deg, rgba(8,14,27,.34), transparent 55%); }
.hp-hero-inner { position: relative; z-index: 1; display: grid; align-content: center; min-height: 820px; padding-top: 100px; }
.hp-hero-copy { max-width: 790px; }
.hp-hero .hp-eyebrow { color: #9fdbff; }
.hp-hero h1 { max-width: 780px; font-size: clamp(3.5rem, 7.2vw, 6.7rem); line-height: .98; }
.hp-hero-copy > p { max-width: 650px; margin-top: 25px; color: rgba(255,255,255,.72); font-size: clamp(.98rem, 1.6vw, 1.14rem); line-height: 1.75; }
.hp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 33px; }
.hp-hero-stats { display: flex; gap: 52px; margin-top: 65px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.18); }
.hp-hero-stats div { display: grid; gap: 2px; }
.hp-hero-stats strong { color: #aee0fb; font-size: 1.45rem; font-weight: 350; }
.hp-hero-stats span { color: rgba(255,255,255,.57); font-size: .63rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.hp-search-wrap { position: relative; z-index: 5; margin-top: -62px; }
.hp-search-panel { display: grid; grid-template-columns: .72fr 1.28fr; gap: 42px; padding: 34px; background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.95); border-radius: 28px; box-shadow: 0 28px 80px rgba(12,40,61,.18); backdrop-filter: blur(22px); }
.hp-search-intro { align-self: center; padding: 6px 10px; }
.hp-search-intro h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.hp-search-intro p { max-width: 390px; margin-top: 13px; color: var(--hp-muted); font-size: .82rem; line-height: 1.7; }
.hp-search-fields { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 13px; align-items: end; }
.hp-search-fields .hp-field-wide { grid-column: span 2; }
.hp-intent { display: flex; min-height: 51px; gap: 5px; align-items: center; margin: 0; padding: 4px; border: 1px solid var(--hp-line); border-radius: 13px; }
.hp-intent legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hp-intent label { flex: 1; cursor: pointer; }
.hp-intent input { position: absolute; opacity: 0; }
.hp-intent span { display: grid; min-height: 41px; place-items: center; border-radius: 10px; color: #66727d; font-size: .72rem; font-weight: 800; }
.hp-intent input:checked + span { color: #fff; background: #172330; }
.hp-field { display: grid; gap: 6px; color: #65717a; font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hp-field input, .hp-field select { width: 100%; min-height: 51px; padding: 11px 13px; color: #1b252d; background: #f9fcfe; border: 1px solid var(--hp-line); border-radius: 13px; outline: 0; text-transform: none; }
.hp-field input:focus, .hp-field select:focus { border-color: var(--hp-blue); box-shadow: 0 0 0 4px rgba(86,182,239,.12); }
.hp-search-fields > .hp-button { min-height: 51px; }
.hp-clear-filter { align-self: center; justify-self: center; color: #6d7880; font-size: .7rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

.hp-section { padding: 105px 0; }
.hp-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 43px; }
.hp-section-heading h2 { max-width: 730px; font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.02; }
.hp-section-heading > p { max-width: 420px; color: var(--hp-muted); font-size: .87rem; line-height: 1.75; }
.hp-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hp-property-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--hp-line); border-radius: 25px; box-shadow: 0 10px 34px rgba(27,75,104,.06); transition: transform .25s, box-shadow .25s; }
.hp-property-card:hover { transform: translateY(-6px); box-shadow: var(--hp-soft-shadow); }
.hp-card-image { position: relative; display: block; aspect-ratio: 1.36 / 1; overflow: hidden; background: #101924; }
.hp-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.hp-property-card:hover .hp-card-image img { transform: scale(1.04); }
.hp-card-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,17,27,.48), transparent 48%); }
.hp-card-badge, .hp-card-status { position: absolute; top: 15px; padding: 7px 11px; border-radius: 999px; font-size: .57rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(12px); }
.hp-card-badge { left: 15px; color: #123249; background: rgba(228,246,255,.9); }
.hp-card-status { right: 15px; color: #fff; background: rgba(11,20,30,.58); }
.hp-card-body { padding: 24px; }
.hp-card-meta { display: flex; flex-wrap: wrap; gap: 7px 15px; color: var(--hp-blue-deep); font-size: .59rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.hp-card-body h3 { margin-top: 10px; font-size: 1.55rem; line-height: 1.15; }
.hp-card-location { margin-top: 10px; color: var(--hp-muted); font-size: .76rem; }
.hp-card-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin: 20px 0; padding: 17px 0; border-block: 1px solid var(--hp-line); }
.hp-card-facts span { display: grid; gap: 2px; min-width: 0; }
.hp-card-facts small { color: #899198; font-size: .57rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hp-card-facts strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.hp-card-link { display: inline-flex; align-items: center; gap: 8px; color: #1e80b7; font-size: .72rem; font-weight: 800; }
.hp-card-link span { transition: transform .2s; }
.hp-card-link:hover span { transform: translateX(4px); }
.hp-empty { display: grid; min-height: 250px; align-content: center; justify-items: start; gap: 12px; padding: 34px; background: var(--hp-blue-pale); border: 1px dashed rgba(38,142,203,.25); border-radius: 25px; }
.hp-empty h3 { font-size: 1.7rem; }
.hp-empty p { max-width: 520px; color: var(--hp-muted); font-size: .83rem; }
.hp-empty .hp-button { margin-top: 8px; }
.hp-search-results { padding-bottom: 35px; background: #f6fbfe; }

.hp-investment { color: #fff; background: radial-gradient(circle at 90% 0, rgba(72,166,221,.18), transparent 34%), #0d1723; }
.hp-investment .hp-eyebrow { color: #8ed2fa; }
.hp-investment .hp-section-heading > p { color: rgba(255,255,255,.6); }
.hp-investment .hp-property-card { color: var(--hp-ink); border-color: rgba(255,255,255,.1); }
.hp-empty-dark { color: #fff; background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.16); }
.hp-empty-dark p { color: rgba(255,255,255,.6); }

.hp-markets { background: #f5faff; }
.hp-market-row { display: grid; grid-template-columns: .66fr 1.34fr; gap: 65px; align-items: center; padding: 92px 0; border-bottom: 1px solid var(--hp-line); }
.hp-market-row:last-child { border-bottom: 0; }
.hp-market-copy { position: relative; padding-left: 45px; }
.hp-market-number { position: absolute; top: 0; left: 0; color: #9fcde8; font-size: .64rem; font-weight: 850; letter-spacing: .1em; }
.hp-market-copy h2 { max-width: 450px; font-size: clamp(2.25rem, 4vw, 3.7rem); line-height: 1.03; }
.hp-market-copy > p { max-width: 450px; margin: 20px 0 25px; color: var(--hp-muted); font-size: .86rem; line-height: 1.75; }
.hp-market-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.hp-market-cards .hp-card-image { aspect-ratio: 1.45 / 1; }
.hp-market-cards .hp-card-body { padding: 20px; }
.hp-market-cards .hp-card-facts { display: none; }
.hp-market-cards .hp-card-link { margin-top: 18px; }
.hp-market-cards > .hp-empty { grid-column: 1 / -1; }
.hp-latest { background: #fff; }

.hp-why { color: #fff; background: #101924; }
.hp-why .hp-eyebrow { color: #8ed2fa; }
.hp-why-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 75px; }
.hp-why-grid > div:first-child h2 { max-width: 480px; font-size: clamp(2.6rem, 5vw, 4.7rem); }
.hp-why-grid > div:first-child p { max-width: 500px; margin-top: 24px; color: rgba(255,255,255,.62); line-height: 1.8; }
.hp-value-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); }
.hp-value-grid article { padding: 28px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.hp-value-grid article > span { color: #7ec8f4; font-size: .6rem; font-weight: 800; }
.hp-value-grid h3 { margin-top: 32px; font-size: 1.35rem; }
.hp-value-grid p { margin-top: 10px; color: rgba(255,255,255,.55); font-size: .78rem; line-height: 1.7; }

.hp-editorial { background: #fff; }
.hp-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hp-blog-card { overflow: hidden; background: #f9fcfe; border: 1px solid var(--hp-line); border-radius: 24px; }
.hp-blog-image { display: block; aspect-ratio: 1.65 / 1; overflow: hidden; background: #14202c; }
.hp-blog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.hp-blog-card:hover .hp-blog-image img { transform: scale(1.04); }
.hp-blog-card > div { padding: 24px; }
.hp-blog-card > div > span { color: var(--hp-blue-deep); font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hp-blog-card h3 { margin-top: 12px; font-size: 1.5rem; line-height: 1.2; }
.hp-blog-card p { margin: 13px 0 20px; color: var(--hp-muted); font-size: .8rem; line-height: 1.7; }

.hp-testimonials { background: linear-gradient(145deg, #e9f7ff, #f8fcff); }
.hp-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hp-testimonial-grid blockquote { display: flex; min-height: 330px; flex-direction: column; margin: 0; padding: 30px; background: rgba(255,255,255,.8); border: 1px solid #fff; border-radius: 25px; box-shadow: 0 15px 45px rgba(35,96,132,.08); }
.hp-stars { color: #dfb24f; font-size: .76rem; letter-spacing: .16em; }
.hp-testimonial-grid blockquote > p { margin-top: 36px; color: #303a43; font-size: .94rem; line-height: 1.75; }
.hp-testimonial-grid footer { display: grid; gap: 2px; margin-top: auto; padding-top: 28px; }
.hp-testimonial-grid footer strong { font-size: .77rem; }
.hp-testimonial-grid footer span { color: #7b858d; font-size: .65rem; }

.hp-contact { background: #fff; }
.hp-contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 75px; align-items: center; }
.hp-contact-grid h2 { max-width: 520px; font-size: clamp(2.6rem, 5vw, 4.6rem); }
.hp-contact-grid > div > p { max-width: 520px; margin-top: 22px; color: var(--hp-muted); line-height: 1.8; }
.hp-contact-direct { display: grid; gap: 5px; margin-top: 28px; color: var(--hp-blue-deep); font-size: .82rem; font-weight: 800; }
.hp-lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 36px; background: #f4faff; border: 1px solid rgba(36,124,177,.1); border-radius: 27px; box-shadow: var(--hp-soft-shadow); }
.hp-lead-form label { display: grid; gap: 7px; color: #53616a; font-size: .67rem; font-weight: 800; }
.hp-lead-form label span, .hp-lead-form > small { color: #818b92; font-weight: 450; }
.hp-lead-form input, .hp-lead-form textarea { width: 100%; min-height: 50px; padding: 12px 13px; color: #131b22; background: rgba(255,255,255,.9); border: 1px solid var(--hp-line); border-radius: 12px; outline: 0; }
.hp-lead-form textarea { resize: vertical; }
.hp-lead-form input:focus, .hp-lead-form textarea:focus { border-color: var(--hp-blue); box-shadow: 0 0 0 4px rgba(86,182,239,.12); }
.hp-lead-form label:nth-of-type(4), .hp-lead-form > .hp-button, .hp-lead-form > small { grid-column: 1 / -1; }
.hp-lead-form > .hp-button { width: fit-content; }
.hp-lead-form > small { font-size: .62rem; }

.hp-faq { background: #f6fbfe; }
.hp-faq-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 75px; }
.hp-faq-grid > div:first-child h2 { max-width: 460px; font-size: clamp(2.5rem, 4.7vw, 4.2rem); }
.hp-faq-grid > div:first-child p { max-width: 450px; margin-top: 22px; color: var(--hp-muted); line-height: 1.8; }
.home-faq-list { border-top: 1px solid var(--hp-line); }
.home-faq-list details { border-bottom: 1px solid var(--hp-line); }
.home-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 23px 4px; color: #253039; font-size: .9rem; font-weight: 700; cursor: pointer; list-style: none; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary span { color: var(--hp-blue-deep); font-size: 1.3rem; font-weight: 300; transition: transform .2s; }
.home-faq-list details[open] summary span { transform: rotate(45deg); }
.home-faq-list details > p { padding: 0 35px 23px 4px; color: var(--hp-muted); font-size: .8rem; line-height: 1.75; }

.pwa-install-prompt { position: fixed; bottom: 22px; left: 22px; z-index: 130; display: grid; width: min(470px, calc(100% - 44px)); grid-template-columns: 72px 1fr; gap: 19px; align-items: start; padding: 22px; background: rgba(255,255,255,.94); border: 1px solid rgba(38,116,160,.15); border-radius: 23px; box-shadow: 0 25px 70px rgba(15,49,70,.24); backdrop-filter: blur(24px); }
.pwa-install-prompt[hidden] { display: none; }
.pwa-install-prompt > img { width: 72px; height: 72px; object-fit: cover; border-radius: 17px; }
.pwa-install-prompt .hp-eyebrow { margin-bottom: 7px; }
.pwa-install-prompt h2 { padding-right: 22px; font-size: 1.5rem; }
.pwa-install-prompt p { margin-top: 9px; color: var(--hp-muted); font-size: .76rem; line-height: 1.6; }
.pwa-install-prompt > div > div { display: flex; gap: 13px; align-items: center; margin-top: 15px; }
.pwa-install-prompt .hp-button { min-height: 43px; padding: 9px 16px; }
.pwa-install-close { position: absolute; top: 11px; right: 12px; width: 32px; height: 32px; color: #66727b; background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 1.35rem; }
.pwa-text-button { padding: 8px; color: #66727b; background: transparent; border: 0; cursor: pointer; font-size: .7rem; font-weight: 700; }

.public-blog { min-height: 70vh; padding-bottom: 100px; background: #fff; }
.public-blog-hero { padding: 180px 0 80px; background: linear-gradient(145deg, #f1faff, #fff); }
.public-blog-back { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 55px; color: #2c87b9; font-size: .72rem; font-weight: 800; }
.public-blog-hero h1 { max-width: 900px; color: #111923; font-size: clamp(3rem, 7vw, 6rem); line-height: 1.02; }
.public-blog-hero p { max-width: 700px; margin-top: 22px; color: #66727c; font-size: 1rem; line-height: 1.8; }
.public-blog-meta { margin-top: 25px; color: #298ecc; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.public-blog-image { margin-top: 60px; }
.public-blog-image img { width: 100%; max-height: 680px; object-fit: cover; border-radius: 28px; }
.public-blog-content { max-width: 780px; padding-top: 60px; color: #424c54; font-size: 1.05rem; line-height: 2; }
.public-blog-cta { display: flex; max-width: 900px; align-items: center; justify-content: space-between; gap: 30px; margin-top: 70px; padding: 32px; background: #eef9ff; border-radius: 24px; }
.public-blog-cta h2 { max-width: 570px; font-size: 2rem; }

@media (max-width: 980px) {
    .hp-search-panel, .hp-market-row, .hp-why-grid, .hp-contact-grid, .hp-faq-grid { grid-template-columns: 1fr; }
    .hp-search-fields { grid-template-columns: 1fr 1fr 1fr; }
    .hp-card-grid, .hp-blog-grid, .hp-testimonial-grid { grid-template-columns: 1fr 1fr; }
    .hp-market-row { gap: 40px; }
    .hp-market-copy { max-width: 680px; }
    .hp-why-grid, .hp-contact-grid, .hp-faq-grid { gap: 48px; }
}

@media (max-width: 760px) {
    .hp-hero, .hp-hero-inner { min-height: 760px; }
    .hp-hero-inner { padding-top: 90px; padding-bottom: 60px; }
    .hp-hero h1 { font-size: clamp(3rem, 13.5vw, 5rem); }
    .hp-hero-scrim { background: linear-gradient(90deg, rgba(7,14,27,.95), rgba(7,14,27,.6)); }
    .hp-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 45px; }
    .hp-search-wrap { margin-top: -35px; }
    .hp-search-panel { gap: 28px; padding: 23px; border-radius: 22px; }
    .hp-search-fields { grid-template-columns: 1fr 1fr; }
    .hp-search-fields .hp-field-wide { grid-column: 1 / -1; }
    .hp-search-fields > .hp-button { grid-column: 1 / -1; }
    .hp-section { padding: 72px 0; }
    .hp-section-heading { display: grid; gap: 18px; margin-bottom: 32px; }
    .hp-card-grid, .hp-blog-grid, .hp-testimonial-grid, .hp-market-cards, .hp-value-grid { grid-template-columns: 1fr; }
    .hp-property-card { border-radius: 22px; }
    .hp-market-row { padding: 70px 0; }
    .hp-market-copy { padding-left: 34px; }
    .hp-value-grid { border-left: 1px solid rgba(255,255,255,.12); }
    .hp-lead-form { grid-template-columns: 1fr; padding: 23px; }
    .hp-lead-form label, .hp-lead-form label:nth-of-type(4), .hp-lead-form > .hp-button, .hp-lead-form > small { grid-column: 1; }
    .pwa-install-prompt { right: 12px; bottom: 12px; left: 12px; width: auto; grid-template-columns: 58px 1fr; padding: 18px; }
    .pwa-install-prompt > img { width: 58px; height: 58px; border-radius: 14px; }
    .public-blog-hero { padding: 135px 0 60px; }
    .public-blog-back { margin-bottom: 38px; }
    .public-blog-content { padding-top: 45px; font-size: .96rem; }
    .public-blog-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .hp-hero-actions { display: grid; }
    .hp-hero-actions .hp-button { width: 100%; }
    .hp-search-fields { grid-template-columns: 1fr; }
    .hp-search-fields .hp-field-wide, .hp-search-fields > .hp-button { grid-column: 1; }
    .hp-card-facts { grid-template-columns: 1fr; }
    .pwa-install-prompt { grid-template-columns: 1fr; }
    .pwa-install-prompt > img { display: none; }
}
