/* ═══ LATTICE THEME ═══════════════════════════════════════
   Swiss design, clean grid, minimal color, lots of whitespace.
   ══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');

:root {
    --lt-primary: #1a56db;
    --lt-black: #111;
    --lt-white: #fff;
    --lt-gray: #777;
    --lt-light: #f5f5f5;
    --lt-border: #ddd;
    --lt-gap: 24px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--lt-black);
    line-height: 1.65;
    background: var(--lt-white);
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--lt-primary); text-decoration: none; }

/* ── Header (minimal-rule) ───────────────────────────── */
.lt-header {
    padding: 24px 48px;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--lt-border);
}
.lt-header .logo img { max-height: 32px; }
.lt-header .logo-text {
    color: var(--lt-black); font-size: 18px; font-weight: 600;
    letter-spacing: 0.5px;
}
.lt-header nav a {
    color: var(--lt-gray); margin-left: 32px;
    font-size: 13px; font-weight: 500;
}
.lt-header nav a:hover { color: var(--lt-black); }
.lt-prelaunch-banner {
    background: var(--lt-light); color: var(--lt-black);
    padding: 8px 20px; text-align: center;
    font-size: 12px; font-weight: 500;
    border-bottom: 1px solid var(--lt-border);
}

/* ── Masthead (hero) ─────────────────────────────────── */
.lt-masthead {
    display: grid; grid-template-columns: 1fr 1fr; min-height: 70vh;
}
.lt-masthead-text {
    display: flex; flex-direction: column; justify-content: center;
    padding: 80px 64px;
}
.lt-masthead-text h1 {
    font-size: 44px; font-weight: 700; line-height: 1.15;
    margin-bottom: 16px;
}
.lt-masthead-text p { font-size: 16px; color: var(--lt-gray); margin-bottom: 20px; }
.lt-masthead-text .lt-rera { font-size: 11px; color: var(--lt-gray); margin-top: 12px; }
.lt-masthead-img {
    background-size: cover; background-position: center;
}
.lt-hero-cta {
    display: inline-block; border: 2px solid var(--lt-primary);
    color: var(--lt-primary); padding: 10px 28px;
    font-weight: 600; font-size: 14px;
    transition: background 0.2s, color 0.2s;
}
.lt-hero-cta:hover { background: var(--lt-primary); color: #fff; }

/* ── Section base ────────────────────────────────────── */
.lt-section {
    padding: 80px 64px; max-width: 1200px; margin: 0 auto;
}
.lt-section h2 {
    font-size: 24px; font-weight: 600; margin-bottom: 4px;
}
.lt-section .lt-sub {
    color: var(--lt-gray); margin-bottom: 40px; font-size: 14px; font-weight: 300;
}
.lt-section-alt { background: var(--lt-light); }

/* ── Summary ─────────────────────────────────────────── */
.lt-summary-grid {
    display: grid; grid-template-columns: 2fr 1fr; gap: 64px; align-items: start;
}
.lt-summary-text p { font-size: 15px; color: var(--lt-gray); margin-bottom: 14px; }
.lt-summary-sidebar {
    border-left: 3px solid var(--lt-primary); padding-left: 24px;
}
.lt-summary-sidebar h3 { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; color: var(--lt-primary); }

/* ── Attributes (minimal cards) ──────────────────────── */
.lt-attr-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--lt-gap);
}
.lt-attr-card {
    border: 1px solid var(--lt-border);
    padding: 24px; text-align: left;
}
.lt-attr-card img {
    width: 48px; height: 48px; object-fit: cover;
    margin-bottom: 14px;
}
.lt-attr-card h3 { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.lt-attr-card p { font-size: 12px; color: var(--lt-gray); font-weight: 300; }

/* ── Portfolio (gallery) ─────────────────────────────── */
.lt-portfolio-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
}
.lt-portfolio-grid img {
    width: 100%; height: 240px; object-fit: cover;
}

/* ── Blur overlay (arrangement/plot/district) ────────── */
.lt-blur-wrap { position: relative; cursor: pointer; }
.lt-blur-wrap img { -webkit-filter: blur(14px) !important; filter: blur(14px) !important; transform: scale(1.06) translateZ(0); width: 100%; }
.lt-blur-overlay {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,0.2);
}
.lt-blur-overlay span {
    border: 2px solid var(--lt-primary); color: var(--lt-primary);
    background: rgba(255,255,255,0.9);
    padding: 10px 28px; font-weight: 600; font-size: 13px;
}

/* ── Detail ──────────────────────────────────────────── */
.lt-detail-cols {
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--lt-gap);
}
.lt-detail-item { border-top: 2px solid var(--lt-black); padding-top: 16px; }
.lt-detail-item h3 { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.lt-detail-item p { font-size: 14px; color: var(--lt-gray); font-weight: 300; }

/* ── Form Section (lead form) ────────────────────────── */
.lt-form-wrap {
    max-width: 440px;
}
.lt-form-wrap h3 { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
.lt-form-wrap input, .lt-form-wrap textarea {
    width: 100%; padding: 10px 0; margin-bottom: 16px;
    border: none; border-bottom: 1px solid var(--lt-border);
    background: transparent; font-size: 14px; color: var(--lt-black);
    font-family: "IBM Plex Sans", sans-serif;
}
.lt-form-wrap input:focus, .lt-form-wrap textarea:focus {
    outline: none; border-bottom-color: var(--lt-primary);
}
.lt-form-wrap input::placeholder, .lt-form-wrap textarea::placeholder { color: var(--lt-gray); }
.lt-form-wrap button {
    border: 2px solid var(--lt-primary); background: transparent;
    color: var(--lt-primary);
    padding: 10px 32px; font-weight: 600; font-size: 14px;
    cursor: pointer; transition: background 0.2s, color 0.2s;
    font-family: "IBM Plex Sans", sans-serif;
}
.lt-form-wrap button:hover { background: var(--lt-primary); color: #fff; }

/* ── Inline Minimal CTA ──────────────────────────────── */
.lt-inline-cta {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 0; border-top: 1px solid var(--lt-border);
    border-bottom: 1px solid var(--lt-border); margin-top: 40px;
}
.lt-inline-cta p { font-size: 14px; color: var(--lt-gray); }
.lt-inline-cta a {
    border: 1px solid var(--lt-primary); color: var(--lt-primary);
    padding: 8px 20px; font-weight: 500; font-size: 13px;
    transition: background 0.2s, color 0.2s;
}
.lt-inline-cta a:hover { background: var(--lt-primary); color: #fff; }

/* ── Footer (single-row) ─────────────────────────────── */
.lt-footer {
    padding: 32px 64px; border-top: 1px solid var(--lt-border);
}
.lt-footer-row {
    display: flex; align-items: center; justify-content: space-between;
    max-width: 1200px; margin: 0 auto;
}
.lt-footer p, .lt-footer a { font-size: 12px; color: var(--lt-gray); }
.lt-footer-links { display: flex; gap: 24px; }
.lt-footer-contact { display: flex; gap: 16px; align-items: center; }

/* ── Floating buttons ────────────────────────────────── */
.lt-floating { position: fixed; bottom: 24px; right: 24px; z-index: 200; display: flex; flex-direction: column; gap: 10px; }
.lt-float-btn {
    width: 48px; height: 48px; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 20px; text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.lt-float-phone { background: var(--lt-primary); }
.lt-float-whatsapp { background: #25d366; }

/* Hamburger in header */
.lt-header { display: flex; align-items: center; justify-content: space-between; }
.lt-header .hamburger-btn { position: static; background: none; border: none; color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55); font-size: 24px; cursor: pointer; padding: 8px; line-height: 1; width: auto; height: auto; border-radius: 0; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 768px) {
    .lt-masthead { grid-template-columns: 1fr; }
    .lt-masthead-text { padding: 48px 24px; }
    .lt-masthead-img { min-height: 300px; }
    .lt-section { padding: 48px 24px; }
    .lt-summary-grid { grid-template-columns: 1fr; }
    .lt-attr-grid { grid-template-columns: 1fr 1fr; }
    .lt-portfolio-grid { grid-template-columns: 1fr; }
    .lt-detail-cols { grid-template-columns: 1fr; }
    .lt-footer-row { flex-direction: column; gap: 12px; text-align: center; }
    .lt-header { padding: 16px 24px; }
    .lt-inline-cta { flex-direction: column; gap: 12px; text-align: center; }
}

/* lattice bespoke sections */
.lt-swissrows{max-width:820px;margin:0 auto}
.lt-swissrow{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--lt-border);border-left:3px solid var(--lt-primary);padding-left:20px}
.lt-swissrow-t{font-weight:600;font-size:15px;color:#222}
.lt-swissrow-d{font-size:14px;color:var(--lt-gray);line-height:1.6}
@media(max-width:768px){.lt-swissrow{grid-template-columns:1fr;gap:4px}}

.lt-prose{max-width:800px;margin:0 auto}
.lt-prose p{font-size:15px;line-height:1.85;margin-bottom:16px;color:#2a2a2a}
