:root {
    --font-base: "Manrope", sans-serif;
    --ink: #0e2033;
    --ink-soft: #475569;
    --bg: #f0f9ff;
    --card: #ffffff;
    --line: rgba(6, 182, 212, 0.15);
    --brand: #06b6d4;
    --brand-deep: #0e7490;
    --secondary: #22d3ee;
    --secondary-deep: #0891b2;
    --night: #071522;
    --shadow: 0 16px 42px rgba(6, 182, 212, 0.16);
    --radius: 20px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    background:
        radial-gradient(circle at 10% 8%, rgba(6, 182, 212, 0.07), transparent 32%),
        radial-gradient(circle at 88% 11%, rgba(34, 211, 238, 0.06), transparent 30%),
        var(--bg);
    color: var(--ink);
    font-family: var(--font-base);
}
input, select, textarea, button, h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
}
a { color: inherit; }
.container { width: min(1180px, 92vw); margin: 0 auto; }
main { overflow: hidden; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    backdrop-filter: blur(16px);
    background: rgba(240, 249, 255, 0.88);
    border-bottom: 1px solid rgba(6, 182, 212, 0.12);
    transition: background .25s ease, box-shadow .25s ease;
}
.site-header.scrolled { background: rgba(255, 255, 255, 0.96); box-shadow: 0 4px 20px rgba(6, 182, 212, 0.1); }

/* ── 3-column nav bar: brand | links | actions ── */
.nav-wrap {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 14px;
}
.brand {
    text-decoration: none;
    font-family: "Manrope", sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
    line-height: 1;
}
.brand-badge {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    background: linear-gradient(140deg, #0e7490, #06b6d4);
    box-shadow: 0 6px 14px rgba(6, 182, 212, 0.4);
}
.brand-logo-image {
    width: 156px;
    height: 116px;
    max-width: min(156px, 24vw);
    max-height: 116px;
    object-fit: contain;
    object-position: center;
    display: block;
    flex-shrink: 0;
}
.brand span { color: #38bdf8; }

/* Nav links pill — fills the middle column */
.nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(18, 38, 58, 0.08);
    border-radius: 999px;
    padding: 4px 6px;
    overflow-x: visible;
    overflow-y: visible;
    scrollbar-width: none;
    white-space: nowrap;
}
.nav::-webkit-scrollbar { display: none; }
.nav-link {
    position: relative;
    padding: 6px 11px;
    text-decoration: none;
    color: var(--ink-soft);
    font-weight: 600;
    font-size: .82rem;
    border-radius: 999px;
    transition: color .18s, background .18s;
    white-space: nowrap;
}
.nav-link:hover { color: #0e7490; background: rgba(6,182,212,0.08); }
.nav-link.is-active {
    color: #0e7490;
    background: rgba(6,182,212,0.1);
    font-weight: 700;
}
.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
    overflow: visible;
}
.nav-dropdown-toggle {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: var(--ink-soft);
    box-shadow: none;
    padding: 6px 11px;
}
.nav-dropdown-toggle:hover {
    color: #0e7490;
    background: rgba(6,182,212,0.08);
}
.nav-dropdown-toggle svg {
    transition: transform .18s ease;
}
.nav-dropdown.is-open .nav-dropdown-toggle svg,
.nav-dropdown:hover .nav-dropdown-toggle svg {
    transform: rotate(180deg);
}
.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    min-width: 190px;
    padding: 8px;
    border-radius: 16px;
    border: 1px solid rgba(6,182,212,0.14);
    background: rgba(255,255,255,0.98);
    box-shadow: 0 18px 36px rgba(14, 116, 144, 0.14);
    display: none;
    z-index: 20;
}
.nav-dropdown.is-open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu {
    display: grid;
    gap: 4px;
}
.nav-dropdown-item {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    text-decoration: none;
    color: var(--ink-soft);
    font-size: .82rem;
    font-weight: 700;
}
.nav-dropdown-item:hover,
.nav-dropdown-item.is-active {
    background: rgba(6,182,212,0.1);
    color: #0e7490;
}

/* Auth action buttons — right column */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.translate-widget {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
}
.translate-widget .goog-te-gadget {
    font-family: "Manrope", sans-serif !important;
    color: #0f172a !important;
    font-size: 0 !important;
}
.translate-widget .goog-te-gadget-simple {
    border: 1px solid rgba(6, 182, 212, 0.18) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    padding: 7px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.translate-widget .goog-te-gadget-simple .goog-te-menu-value {
    color: #0f172a !important;
    font-size: .82rem !important;
    font-weight: 700;
    font-family: "Manrope", sans-serif !important;
}
.translate-widget .goog-te-gadget-simple .goog-te-menu-value span {
    border: 0 !important;
}
.translate-widget .goog-te-gadget-icon {
    display: none !important;
}
.translate-widget-floating .goog-te-gadget-simple {
    min-width: 58px;
    min-height: 58px;
    border-radius: 18px !important;
    justify-content: center !important;
    padding: 0 12px !important;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
}
.translate-widget-floating .goog-te-gadget-simple .goog-te-menu-value {
    font-size: 0 !important;
    line-height: 1 !important;
}
.translate-widget-floating .goog-te-gadget-simple .goog-te-menu-value::before {
    content: "\1F310";
    font-size: 1.15rem;
    line-height: 1;
    color: #0f172a;
}
.translate-widget-floating .goog-te-gadget-simple .goog-te-menu-value::after {
    content: "";
    margin-left: 0;
}
body {
    top: 0 !important;
}
.nav-actions .btn { padding: 8px 16px; font-size: .82rem; white-space: nowrap; }

/* Mobile hamburger — hidden on desktop */
.menu-toggle {
    display: none;
    border: 0;
    border-radius: 10px;
    padding: 7px 9px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    cursor: pointer;
    width: auto;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

/* Mobile dropdown panel */
.mobile-menu {
    display: none;
    margin: 8px 12px 0;
    padding: 8px;
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.22), transparent 34%),
        linear-gradient(180deg, rgba(240, 249, 255, 0.98), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(6,182,212,0.14);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(14, 116, 144, 0.1);
    backdrop-filter: blur(14px);
}
.mobile-menu.open { display: block; }
.mobile-menu-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 10px;
    padding: 0;
}
.mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 8px;
    text-decoration: none;
    color: #184257;
    font-weight: 700;
    font-size: .82rem;
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    box-shadow: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.mobile-nav-link:hover {
    background: rgba(207, 250, 254, 0.72);
    color: #0e7490;
    border-color: rgba(6,182,212,0.14);
}
.mobile-nav-link.is-active {
    background: linear-gradient(135deg, rgba(34, 211, 238, 0.12), rgba(14, 116, 144, 0.07));
    color: #0e7490;
    font-weight: 800;
    border-color: rgba(6,182,212,0.16);
}
.mobile-nav-group {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 10px;
    padding: 4px 0 2px;
    border-radius: 30px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.ab-hero,
.ct-hero {
    width: calc(100vw - 32px);
    max-width: none;
    margin-left: calc(50% - 50vw + 16px);
    margin-right: calc(50% - 50vw + 16px);
    border-radius: 30px;
    overflow: hidden;
}

.bl-hero {
    width: calc(100vw - 32px);
    max-width: none;
    margin-left: calc(50% - 50vw + 16px);
    margin-right: calc(50% - 50vw + 16px);
    border-radius: 30px !important;
    overflow: hidden !important;
}

.lp-hero-buy,
.lp-hero-rent,
.lp-hero-commercial {
    width: calc(100vw - 32px);
    max-width: none;
    margin-left: calc(50% - 50vw + 16px);
    margin-right: calc(50% - 50vw + 16px);
    border-radius: 30px;
    overflow: hidden;
}

@media (max-width: 640px) {
    .bl-hero,
    .ab-hero,
    .ct-hero {
        width: calc(100vw - 16px);
        margin-left: calc(50% - 50vw + 8px);
        margin-right: calc(50% - 50vw + 8px);
        border-radius: 20px;
    }
    .lp-hero-buy,
    .lp-hero-rent,
    .lp-hero-commercial {
        width: calc(100vw - 16px);
        margin-left: calc(50% - 50vw + 8px);
        margin-right: calc(50% - 50vw + 8px);
        border-radius: 20px;
    }
}
.mobile-nav-group-title {
    grid-column: 1 / -1;
    padding: 2px 10px 3px;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0e7490;
}
.mobile-nav-group-title.is-active {
    color: #0891b2;
}
.mobile-nav-group .mobile-nav-link + .mobile-nav-link {
    margin-top: 0;
}
.mobile-menu-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 0 0;
    margin-top: 6px;
    border-top: 1px solid rgba(6,182,212,0.1);
}
.mobile-menu-actions .btn {
    width: 100%;
    justify-content: center;
    padding: 9px 12px;
    font-size: .84rem;
    border-radius: 12px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    border: 0;
    text-decoration: none;
    font-weight: 800;
    color: #fff !important;
    background: linear-gradient(140deg, #06b6d4, #0e7490);
    box-shadow: 0 10px 24px rgba(6, 182, 212, 0.32);
    transition: transform .15s, box-shadow .15s;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(6, 182, 212, 0.42); }
.btn-soft {
    color: #0e7490 !important;
    background: #cffafe;
    box-shadow: none;
}
.btn-soft:hover { background: #a5f3fc; }

.hero-post-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 0;
}

.hero-post-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 0;
    text-decoration: none;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
    background: linear-gradient(140deg, #06b6d4, #0e7490);
    box-shadow: 0 10px 24px rgba(6, 182, 212, 0.32);
    transition: transform .15s, box-shadow .15s;
}

.hero-post-btn-property {
    background: linear-gradient(140deg, #06b6d4, #0e7490);
}

.hero-post-btn-service {
    background: linear-gradient(140deg, #06b6d4, #0e7490);
}

.hero-post-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(6, 182, 212, 0.42);
}

.hero { padding: 36px 0 10px; }
.hero-slider {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: var(--shadow);
    position: relative;
}
.hero-slide {
    height: 530px;
    display: none;
    color: #fff;
    position: relative;
    isolation: isolate;
    border-radius: 26px;
    overflow: hidden;
    background: #071522;
}
.hero-bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: -2;
    background: #071522;
}
.hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(118deg, rgba(7, 21, 34, 0.88) 24%, rgba(6, 182, 212, 0.45) 61%, rgba(7, 21, 34, 0.45) 100%);
    z-index: -1;
}
.hero-slide.active { display: block; animation: fadeSlide .85s ease; }
@keyframes fadeSlide {
    from { opacity: .38; transform: scale(1.03); }
    to { opacity: 1; transform: scale(1); }
}
.hero-inner {
    padding: clamp(34px, 5vw, 64px);
    height: 100%;
    max-width: none;
    width: 100%;
}
.hero-shell {
    position: relative;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    align-items: end;
    gap: clamp(28px, 4vw, 56px);
}
.hero-content {
    position: relative;
    width: 100%;
    max-width: 640px;
    min-width: 0;
    display: grid;
    grid-template-rows: auto auto auto auto auto auto;
    align-content: end;
    align-items: flex-start;
    gap: 12px;
    align-self: end;
    z-index: 2;
}
.hero-content h1 {
    width: 100%;
    margin: 0;
}
.hero-kicker {
    display: inline-flex;
    border-radius: 999px;
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.16);
    font-size: .82rem;
    font-weight: 800;
    margin-bottom: 10px;
    align-self: start;
}
.hero h1 {
    margin: 0;
    font-family: "Manrope", sans-serif;
    line-height: 1.08;
    font-size: clamp(2.1rem, 4vw, 3.45rem);
    display: flex;
    align-items: end;
    max-width: 640px;
}
.hero p {
    margin: 0;
    color: #e0f2fe;
    font-size: 1.07rem;
}
.hero-content > p:first-of-type {
    width: 100%;
    max-width: 430px !important;
    display: flex;
    align-items: start;
}
.hero-content > p:nth-of-type(2) {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 420px !important;
    max-width: 420px !important;
    min-width: 420px;
    margin-top: 8px;
}
.chip-row {
    min-height: 40px;
    width: 470px !important;
    max-width: 470px !important;
    min-width: 470px;
    align-items: center;
    margin-top: 0;
}
.hero-sidecard {
    position: relative;
    width: min(380px, 100%);
    border: 1px solid rgba(125, 211, 252, 0.22);
    border-radius: 22px;
    padding: 18px;
    background:
        linear-gradient(180deg, rgba(5, 14, 24, 0.96), rgba(7, 21, 34, 0.92));
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 40px rgba(2, 8, 23, 0.52);
    align-self: center;
    overflow: hidden;
    justify-self: end;
    align-self: end;
    margin-bottom: 26px;
    z-index: 2;
}
.hero-sidecard h3 { margin: 0 0 6px; font-size: 1.08rem; color: #fff; }
.hero-sidecard p { margin: 0 0 12px; color: #bae6fd; font-size: .92rem; line-height: 1.45; }
.hero-sidecard-cta {
    position: relative;
    display: grid;
    gap: 12px;
}
.hero-sidecard-cta::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #22d3ee, #06b6d4, #67e8f9);
}
.hero-sidecard-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(34, 211, 238, 0.1);
    border: 1px solid rgba(125, 211, 252, 0.22);
    color: #d7f9ff;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-free-wrap {
    display: flex;
    justify-content: flex-start;
}
.hero-free-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #facc15, #f59e0b);
    color: #2b1600;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .12em;
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.34);
    overflow: hidden;
    animation: heroFreePulse 2.2s ease-in-out infinite;
}
.hero-free-badge::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.22) 50%, transparent 82%);
    transform: translateX(-140%);
    animation: heroFreeShine 2.2s ease-in-out infinite;
}
@keyframes heroFreePulse {
    0%, 100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 10px 24px rgba(245, 158, 11, 0.34);
    }
    50% {
        transform: translateY(-1px) scale(1.04);
        box-shadow: 0 16px 30px rgba(250, 204, 21, 0.42);
    }
}
@keyframes heroFreeShine {
    0%, 20% {
        transform: translateX(-140%);
    }
    55%, 100% {
        transform: translateX(140%);
    }
}
.hero-sidecard-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.hero-sidecard-actions .hero-post-btn {
    min-height: 52px;
    padding-inline: 16px;
    white-space: normal;
    text-align: center;
    border: 1px solid rgba(186, 230, 253, 0.12);
    background: linear-gradient(135deg, #0f172a, #164e63);
    box-shadow: 0 12px 24px rgba(3, 10, 20, 0.32);
}
.hero-sidecard-contact {
    display: grid;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(125, 211, 252, 0.16);
}
.hero-sidecard-contact a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.82);
    border: 1px solid rgba(125, 211, 252, 0.12);
    color: #e0f2fe;
    text-decoration: none;
    font-size: .92rem;
    font-weight: 700;
    word-break: break-word;
}
.hero-sidecard-contact a[href^="tel:"] {
    animation: heroPhoneGlowBlink 1.9s ease-in-out infinite;
    border-color: rgba(250, 204, 21, 0.34);
    box-shadow: 0 0 0 rgba(250, 204, 21, 0);
}
.hero-sidecard-contact a:hover {
    color: #67e8f9;
    border-color: rgba(103, 232, 249, 0.34);
    background: rgba(12, 26, 42, 0.96);
}
@keyframes heroPhoneGlowBlink {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 0 rgba(250, 204, 21, 0);
        background: rgba(15, 23, 42, 0.82);
    }
    50% {
        opacity: 1;
        box-shadow: 0 0 22px rgba(250, 204, 21, 0.34);
        border-color: rgba(250, 204, 21, 0.52);
        background: rgba(44, 33, 10, 0.92);
    }
}
.hero-side-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.hero-side-stats > div {
    border: 1px solid rgba(125, 211, 252, 0.22);
    border-radius: 11px;
    padding: 8px;
    background: rgba(7, 21, 34, 0.5);
}
.hero-side-stats b { display: block; color: #7dd3fc; font-size: 1rem; line-height: 1.1; }
.hero-side-stats small { color: #bae6fd; font-size: .76rem; }
.hero-controls {
    position: absolute;
    inset: 0 0 auto 0;
    height: 530px;
    pointer-events: none;
    z-index: 3;
}
.hero-controls button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 0;
    background: rgba(7, 21, 34, 0.54);
    border: 1px solid rgba(186, 230, 253, 0.5);
    color: #fff;
    cursor: pointer;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    line-height: 1;
    box-shadow: 0 14px 28px rgba(7, 21, 34, 0.3);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.hero-controls button:hover {
    background: rgba(8, 145, 178, 0.9);
    border-color: rgba(186, 230, 253, 0.85);
    transform: translateY(-50%) scale(1.04);
}
#heroPrev { left: clamp(32px, 3vw, 44px); }
#heroNext { right: clamp(32px, 3vw, 44px); }

@media (max-width: 860px) {
    .nav-wrap {
        min-height: 72px;
    }
    .brand {
        font-size: 1.35rem;
        gap: 10px;
    }
    .brand-logo-image {
        width: 132px;
        height: 98px;
        max-width: min(132px, 30vw);
        max-height: 98px;
    }
    .hero-controls {
        height: 460px;
    }
}


@media (max-width: 640px) {
    .nav-wrap {
        min-height: 66px;
    }
    .brand {
        font-size: 1.18rem;
        gap: 8px;
    }
    .brand-logo-image {
        width: 108px;
        height: 82px;
        max-width: min(108px, 34vw);
        max-height: 82px;
    }
    .hero-controls {
        height: 400px;
    }

}

.search-panel {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 10px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid var(--line);
    padding: 12px;
}
.search-hub {
    margin-top: -28px;
    position: relative;
    z-index: 5;
    padding: 0;
    width: min(calc(100% - 20px), 1360px);
    max-width: 1360px;
    margin-inline: auto;
    overflow-x: clip;
    overflow-y: visible;
}
.home-search-shell {
    position: relative;
    overflow: visible;
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.3), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,0.98), rgba(236,254,255,0.98));
    border: 1px solid rgba(6, 182, 212, 0.16);
    border-radius: 28px;
    box-shadow: 0 22px 50px rgba(14, 116, 144, 0.14);
    padding: 26px 30px;
}
.home-search-shell::before {
    content: "";
    position: absolute;
    inset: auto -70px -80px auto;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(6, 182, 212, 0.08);
    pointer-events: none;
}
.home-search-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding-inline: 10px;
}
.home-search-kicker {
    display: inline-flex;
    padding: 6px 12px;
    margin-bottom: 10px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.1);
    color: #0e7490;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.home-search-top h3 {
    margin: 0 0 6px;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}
.home-search-top p {
    margin: 0;
    max-width: 560px;
    color: var(--ink-soft);
    font-size: .94rem;
}
.home-search-modes {
    display: inline-flex;
    gap: 8px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(7, 21, 34, 0.06);
}
.home-search-modes span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    color: #0e7490;
    font-size: .8rem;
    font-weight: 800;
}
.home-search-modes span.active {
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    color: #fff;
    box-shadow: 0 8px 18px rgba(6,182,212,0.24);
}
.home-search-grid {
    display: grid;
    grid-template-columns: minmax(210px, 1.15fr) minmax(260px, 1.35fr) repeat(5, minmax(0, .92fr));
    gap: 14px;
    margin-bottom: 18px;
    padding-inline: 10px;
}
.home-search-grid--locations {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(280px, 1.35fr);
}
.home-search-grid--details {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.home-search-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(6, 182, 212, 0.12);
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(4px);
}
.home-search-field > span {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #0e7490;
}
.home-search-field input,
.home-search-field select {
    border: 0;
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    color: var(--ink);
    font-weight: 600;
}
.home-search-field input:focus,
.home-search-field select:focus {
    outline: none;
    border: 0;
    box-shadow: none;
}
.home-search-field-wide { grid-column: span 1; }
.home-search-field--multiselect {
    position: relative;
    overflow: visible;
    z-index: 6;
}

.home-search-field--multiselect.is-open {
    z-index: 120;
}
.home-search-field--multiselect .lp-multiselect {
    width: 100%;
}
.home-search-field--multiselect .lp-multiselect-toggle {
    color: var(--ink);
    font-weight: 600;
    min-height: 32px;
}
.home-search-field--multiselect .lp-multiselect-panel {
    top: calc(100% + 12px);
    min-width: 100%;
    width: 360px;
    max-width: min(360px, calc(100vw - 32px));
    z-index: 60;
}
.home-search-field-wide .lp-multiselect-panel {
    width: 100%;
    max-width: none;
}
.home-search-field--multiselect .lp-multiselect-search {
    border: 1px solid rgba(148,163,184,0.35);
    background: #fff;
    padding: 10px 12px;
}
.home-search-choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
    padding-inline: 10px;
}
.home-search-map-card {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    gap: 14px;
    margin: 2px 10px 16px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(6, 182, 212, 0.14);
    background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(236,254,255,0.95));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 12px 30px rgba(14, 116, 144, 0.08);
}
.home-search-map-copy {
    display: grid;
    align-content: start;
    gap: 10px;
}
.home-search-map-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.1);
    color: #0e7490;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.home-search-map-copy h4 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.2;
    color: #0f172a;
}
.home-search-map-copy p {
    margin: 0;
    color: #475569;
    font-size: .86rem;
    line-height: 1.45;
}
.home-search-map-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0891b2, #06b6d4);
    color: #fff;
    text-decoration: none;
    font-size: .86rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(6, 182, 212, 0.2);
}
.home-search-map-frame {
    min-height: 180px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(6, 182, 212, 0.14);
    background: #dff7fb;
}
.home-search-map-frame iframe {
    width: 100%;
    height: 100%;
    min-height: 180px;
    border: 0;
    display: block;
}
.home-search-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 10px 0;
    border-top: 1px solid rgba(6, 182, 212, 0.12);
}
.home-search-choice-block {
    padding: 14px;
    border-radius: 20px;
    border: 1px solid rgba(6, 182, 212, 0.12);
    background: rgba(255,255,255,0.82);
}
.home-search-choice-select {
    width: 100%;
    min-height: 46px;
    margin-top: 12px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid rgba(6, 182, 212, 0.14);
    background: #fff;
    color: #0f172a;
    font-size: .98rem;
    font-weight: 600;
}
.home-search-choice-title {
    display: inline-flex;
    margin-bottom: 10px;
    color: #0e7490;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.home-search-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.home-search-chip-group button {
    width: auto;
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid rgba(6, 182, 212, 0.14);
    background: #f8fdff;
    color: #155e75;
    font-size: .82rem;
    font-weight: 700;
    box-shadow: none;
}
.home-search-chip-group button.active {
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 18px rgba(6,182,212,0.18);
}
.home-search-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(6, 182, 212, 0.12);
    position: relative;
    z-index: 1;
}
.home-search-submit {
    position: relative;
    z-index: 2;
    width: auto;
    min-width: 220px;
    padding: 14px 24px;
    border-radius: 18px;
    font-size: .92rem;
}
.search-tabs {
    display: inline-flex;
    gap: 6px;
    margin-bottom: 10px;
}
.search-tabs span {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: .8rem;
    font-weight: 800;
    color: #0e7490;
    background: #cffafe;
    cursor: pointer;
}
.search-tabs span.active {
    color: #fff;
    background: linear-gradient(135deg, #06b6d4, #22d3ee);
}
.search-panel button { border-radius: 12px; }
.search-meta {
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.popular-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--ink-soft);
    font-size: .82rem;
}
.popular-tags a {
    display: inline-flex;
    border-radius: 999px;
    padding: 4px 9px;
    border: 1px solid rgba(6, 182, 212, 0.2);
    background: #cffafe;
    color: #0e7490;
    text-decoration: none;
    font-weight: 700;
}
.popular-tags a:hover { background: #a5f3fc; }
.search-result-note {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 700;
}

.home-search-footer .search-result-note {
    color: #0f172a !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

input, select, textarea, button {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    padding: 11px 12px;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(6, 182, 212, 0.2); border-color: #06b6d4; }
button { cursor: pointer; border: 0; color: #fff; font-weight: 800; background: linear-gradient(135deg, #06b6d4, #0e7490); }

.section { padding: 58px 0 8px; }
.section h2 { margin: 0 0 11px; font-family: "Manrope", sans-serif; font-size: clamp(1.6rem, 2.7vw, 2.3rem); }
.muted { color: var(--ink-soft); }

.chip-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.chip { background: rgba(125, 211, 252, 0.22); color: #e0f2fe; border-radius: 999px; padding: 7px 12px; font-size: .84rem; font-weight: 700; border: 1px solid rgba(125,211,252,0.3); }

.card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 18px; }
.card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 12px 28px rgba(18, 38, 58, 0.08);
    padding: 16px;
    transform: translateY(16px);
    opacity: 0;
}
.card h3 { margin: 8px 0 6px; font-size: 1.13rem; }
.card.revealed, .panel.revealed, .stat.revealed { opacity: 1; transform: translateY(0); transition: .55s ease; }
.pill { display: inline-flex; border-radius: 999px; padding: 5px 10px; background: #cffafe; color: #0e7490; font-size: .76rem; font-weight: 800; }
.price { margin: 9px 0; color: #06b6d4; font-weight: 800; font-size: 1.15rem; }
.split { display: flex; justify-content: space-between; gap: 10px; color: var(--ink-soft); font-size: .89rem; }

/* ── Trending Section ───────────────────────────────── */
.trending-section { background: linear-gradient(180deg, transparent, rgba(6, 182, 212, 0.04) 40%, transparent); }
.trending-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.trending-head h2 { margin: 4px 0 6px; }
.trending-head .muted { margin: 0; max-width: 54ch; }
.trending-all-btn { white-space: nowrap; align-self: flex-start; margin-top: 8px; }

.home-quick-grid-section {
    padding-top: 34px;
}

.home-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.home-quick-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 22px;
    border-radius: 24px;
    text-decoration: none;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 34px rgba(14, 116, 144, 0.16);
    animation: homeQuickFloat 4s ease-in-out infinite;
    transition: transform .22s ease, box-shadow .22s ease;
}

.home-quick-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--home-quick-bg);
    background-size: cover;
    background-position: center;
    opacity: .7;
    filter: saturate(1.08) contrast(1.05);
}

.home-quick-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 88%, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(120deg, rgba(14, 116, 144, 0.68) 0%, rgba(8, 145, 178, 0.46) 48%, rgba(6, 182, 212, 0.18) 100%);
    pointer-events: none;
}

.home-quick-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 24px 46px rgba(15, 23, 42, 0.22);
}

.home-quick-title {
    display: block;
    position: relative;
    z-index: 1;
    margin-bottom: 14px;
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    line-height: 1;
    font-weight: 800;
    text-shadow: 0 2px 8px rgba(15, 23, 42, 0.3);
}

.home-quick-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 1.85rem;
    line-height: 1;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

@keyframes homeQuickFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
}

.home-quick-card small {
    display: block;
    margin-top: 8px;
    font-size: .88rem;
    font-weight: 700;
    opacity: .95;
    position: relative;
    z-index: 1;
}

.home-quick-visual {
    position: absolute;
    right: -4px;
    bottom: -6px;
    width: 170px;
    max-width: 52%;
    z-index: 1;
    opacity: .96;
    filter: drop-shadow(0 14px 20px rgba(8, 47, 73, 0.22));
    animation: homeQuickVisualFloat 5.5s ease-in-out infinite;
}

.home-quick-visual svg {
    display: block;
    width: 100%;
    height: auto;
}

@keyframes homeQuickVisualFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(-2px, -3px, 0);
    }
}

.home-quick-search {
    min-height: 220px;
    background: linear-gradient(145deg, #06b6d4 0%, #0e7490 55%, #083344 100%);
}

.home-quick-post {
    background: linear-gradient(145deg, #0ea5e9 0%, #0891b2 55%, #164e63 100%);
}

.home-quick-services {
    background: linear-gradient(145deg, #22d3ee 0%, #0891b2 60%, #155e75 100%);
}

@media (max-width: 860px) {
    .home-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .home-quick-card,
    .home-quick-search {
        min-height: 150px;
        padding: 18px 74px 18px 16px;
        border-radius: 18px;
    }

    .home-quick-search {
        grid-column: span 2;
        padding-right: 118px;
    }

    .home-quick-title {
        font-size: 1.35rem;
        margin-bottom: 10px;
    }

    .home-quick-card small {
        font-size: .82rem;
    }

    .home-quick-visual {
        width: 80px;
        max-width: none;
        right: -8px;
        bottom: -2px;
        opacity: .72;
    }

    .home-quick-search .home-quick-visual {
        width: 120px;
        right: -6px;
        bottom: -4px;
        opacity: .88;
    }
}
.home-story-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 24px;
    align-items: stretch;
    margin-top: 4px;
}
.home-story-copy,
.home-story-side {
    min-width: 0;
}
.home-story-copy {
    padding: 30px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.18), transparent 30%),
        linear-gradient(180deg, #ffffff, #f7fcff);
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: 0 18px 38px rgba(7, 21, 34, 0.08);
}
.home-story-copy h2 {
    margin: 6px 0 14px;
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    line-height: 1.1;
    color: #0c1f2e;
}
.home-story-copy .muted {
    margin: 0 0 18px;
    max-width: 60ch;
    line-height: 1.7;
}
.home-story-points {
    display: grid;
    gap: 14px;
}
.home-story-point {
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(240, 249, 255, 0.95);
    border: 1px solid rgba(6, 182, 212, 0.1);
}
.home-story-point strong {
    display: block;
    margin-bottom: 6px;
    color: #0f172a;
}
.home-story-point span {
    display: block;
    color: #4b6476;
    line-height: 1.65;
    font-size: .95rem;
}
.home-story-side {
    display: grid;
    gap: 16px;
}
.home-story-note {
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(6, 182, 212, 0.12);
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.22), transparent 34%),
        linear-gradient(180deg, #ffffff, #f4fbff);
    box-shadow: 0 16px 34px rgba(7, 21, 34, 0.08);
}
.home-story-note span {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.08);
    color: #0e7490;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.home-story-note strong {
    display: block;
    color: #0f172a;
    line-height: 1.35;
    font-size: 1.08rem;
}
.home-story-note p {
    margin: 10px 0 0;
    color: #4b6476;
    line-height: 1.7;
}
.home-ads-section { padding-top: 34px; }
.home-wide-section > .home-wide-container {
    width: min(calc(100% - 20px), 1440px) !important;
    max-width: 1440px !important;
    margin-inline: auto;
}
.home-ads-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
    margin-bottom: 18px;
}
.home-ads-head h2 { margin: 4px 0 6px; }
.home-ads-head .muted { margin: 0; max-width: 60ch; }
.home-ads-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.home-ad-card {
    position: relative;
    display: block;
    min-height: 220px;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #0f172a, #164e63);
    border: 1px solid rgba(14, 116, 144, 0.14);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
    text-decoration: none;
    isolation: isolate;
}
.home-ad-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.home-ad-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.04), rgba(15, 23, 42, 0.72));
    z-index: 0;
}
.home-ad-card:hover img { transform: scale(1.04); }
.home-ad-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 18px;
    z-index: 1;
    display: grid;
    gap: 8px;
}
.home-ad-overlay span {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ecfeff;
    background: rgba(6, 182, 212, 0.22);
    border: 1px solid rgba(103, 232, 249, 0.28);
}
.home-ad-overlay strong {
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.25;
    color: #fff;
    max-width: 24ch;
}
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #06b6d4;
    background: rgba(6, 182, 212, 0.08);
    border: 1px solid rgba(6, 182, 212, 0.18);
    margin-bottom: 6px;
}
.prop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.prop-hidden { display: none !important; }

/* Property Card */
.prop-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(6, 182, 212, 0.06);
    transition: transform .22s ease, box-shadow .22s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}
.prop-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 18px;
}
.prop-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 36px rgba(6, 182, 212, 0.14);
}
.prop-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: #e8e8f8;
}
.prop-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .36s ease;
}
.prop-card:hover .prop-img-wrap img { transform: scale(1.05); }
.prop-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .72rem;
    font-weight: 800;
    color: #fff;
    background: rgba(6, 182, 212, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.2);
}
.prop-badge.pill-sale { background: rgba(5, 150, 105, 0.88); }
.prop-badge.pill-rent { background: rgba(2, 132, 199, 0.88); }
.prop-badge.pill-commercial { background: rgba(124, 58, 237, 0.88); }
.prop-views {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .72rem;
    font-weight: 800;
    color: #fff;
    background: rgba(7, 21, 34, 0.72);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.22);
    z-index: 2;
}
.prop-views svg {
    flex: 0 0 auto;
}
.prop-featured {
    position: absolute;
    top: 42px;
    right: 10px;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: .7rem;
    font-weight: 800;
    color: #fff;
    background: rgba(234, 179, 8, 0.9);
    backdrop-filter: blur(4px);
}
.prop-price-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 22px 12px 10px;
    background: linear-gradient(to top, rgba(10,8,30,0.72), transparent);
    font-size: .95rem;
    font-weight: 800;
    color: #fff;
}
.prop-body {
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.prop-body h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ink);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.prop-loc {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .8rem;
    color: var(--ink-soft);
    margin: 0;
}
.prop-type-chip {
    margin-left: 6px;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: .7rem;
    font-weight: 700;
    background: rgba(6, 182, 212, 0.08);
    color: #06b6d4;
    border: 1px solid rgba(6, 182, 212, 0.16);
}
.prop-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.prop-specs span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .76rem;
    color: var(--ink-soft);
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 3px 8px;
}
.prop-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 9px 14px;
    border-radius: 12px;
    font-size: .83rem;
    font-weight: 700;
    color: #06b6d4;
    background: rgba(6, 182, 212, 0.07);
    border: 1.5px solid rgba(6, 182, 212, 0.2);
    text-decoration: none;
    transition: background .18s, color .18s;
    position: relative;
    z-index: 2;
}
.prop-cta:hover { background: #06b6d4; color: #fff; }
.prop-cta-disabled { opacity: .55; pointer-events: none; }
.media-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

/* View All Button */
.trending-view-all {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}
.trending-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    font-size: .9rem;
    font-weight: 700;
    border-radius: 999px;
    background: linear-gradient(135deg, #06b6d4, #38bdf8);
    color: #fff;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 22px rgba(6, 182, 212, 0.3);
    transition: transform .18s, box-shadow .18s;
    width: auto;
}
.trending-view-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(6, 182, 212, 0.42);
}
.trending-view-btn svg { transition: transform .2s; }
.trending-view-btn.expanded svg { transform: rotate(180deg); }

.mini-slider-wrap {
    margin-top: 18px;
    overflow: hidden;
    position: relative;
    padding: 8px 0;
}
.mini-slider-wrap::before,
.mini-slider-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 54px;
    z-index: 2;
    pointer-events: none;
}
.mini-slider-wrap::before {
    left: 0;
    background: linear-gradient(90deg, var(--bg), rgba(240, 249, 255, 0));
}
.mini-slider-wrap::after {
    right: 0;
    background: linear-gradient(270deg, var(--bg), rgba(240, 249, 255, 0));
}
.mini-track {
    display: flex;
    gap: 14px;
    width: max-content;
    will-change: transform;
}
.mini-slide {
    min-width: 240px;
    max-width: 240px;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 10px 24px rgba(18, 38, 58, 0.16);
    position: relative;
    background: #fff;
}
.mini-slide img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
    filter: saturate(1.02) contrast(1.02);
}
.mini-slide .meta {
    position: static;
    padding: 9px 11px 10px;
    background: #071522;
    line-height: 1.2;
}

.home-service-slider-wrap {
    position: relative;
    margin-top: 20px;
    width: min(100% - 24px, 1240px);
    margin-left: auto;
    margin-right: auto;
}
.home-service-slider-viewport {
    overflow: hidden;
}
.home-service-slider-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 4px 2px 18px;
    overscroll-behavior-x: contain;
}
.home-service-slider-track::-webkit-scrollbar {
    display: none;
}
.home-service-slide {
    min-width: calc((100% - 60px) / 4);
    max-width: calc((100% - 60px) / 4);
    flex: 0 0 calc((100% - 60px) / 4);
}
.home-service-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(186, 230, 253, 0.45);
    background: rgba(7, 21, 34, 0.72);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(7, 21, 34, 0.18);
    z-index: 3;
}
.home-service-slider-prev {
    left: -18px;
}
.home-service-slider-next {
    right: -18px;
}
.home-service-slider-btn:hover {
    background: rgba(8, 145, 178, 0.94);
}

@media (max-width: 1100px) {
    .home-service-slide {
        min-width: calc((100% - 20px) / 2);
        max-width: calc((100% - 20px) / 2);
        flex-basis: calc((100% - 20px) / 2);
    }
}

@media (max-width: 860px) {
    .home-service-slider-wrap {
        width: 100%;
    }
    .home-service-slider-track {
        gap: 16px;
        padding: 4px 0 18px;
    }
    .home-service-slide {
        min-width: 100%;
        max-width: 100%;
        flex-basis: 100%;
    }
    .home-service-slider-prev {
        left: 8px;
    }
    .home-service-slider-next {
        right: 8px;
    }
}

@media (max-width: 640px) {
    .home-service-slide {
        min-width: 100%;
        max-width: 100%;
        flex-basis: 100%;
    }
    .home-service-slide .prop-img-wrap img {
        height: 190px;
    }
    .home-service-slide .prop-badge {
        font-size: .72rem;
        padding: 6px 10px;
    }
    .home-service-slide .prop-body {
        padding: 12px 12px 14px;
        gap: 6px;
    }
    .home-service-slide .prop-body h3 {
        font-size: .95rem;
    }
    .home-service-slide .prop-loc,
    .home-service-slide .prop-specs {
        font-size: .8rem;
    }
    .home-service-slide .prop-type-chip,
    .home-service-slide .prop-specs span {
        font-size: .72rem;
        padding: 4px 8px;
    }
    .home-service-slide .prop-cta {
        padding: 11px 14px;
        font-size: .88rem;
    }
    .home-service-slider-btn {
        display: none;
    }
}
.mini-slide .meta strong,
.mini-slide .meta small {
    display: block;
    color: #fff;
    text-shadow: none;
}
.mini-slide .meta strong {
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .01em;
    padding: 0;
    border-radius: 0;
    line-height: 1.05;
    margin: 0;
}
.mini-slide .meta small {
    margin-top: 0;
    color: #e0f2fe;
    font-size: .74rem;
    font-weight: 700;
    padding: 0;
    border-radius: 0;
    line-height: 1.05;
}

.highlight { display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px; margin-top: 14px; }
.panel {
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--line);
    box-shadow: 0 10px 22px rgba(18, 38, 58, 0.08);
    padding: 21px;
    transform: translateY(16px);
    opacity: 0;
}
.panel ul { margin: 0; padding-left: 18px; color: var(--ink-soft); }
.panel li { margin: 6px 0; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; margin-top: 13px; }
.stat {
    background: linear-gradient(140deg, var(--night), #1e293b);
    border-radius: 14px;
    color: #f8fbff;
    text-align: center;
    padding: 12px;
    transform: translateY(14px);
    opacity: 0;
}
.stat b { display: block; font-size: 1.35rem; color: #7dd3fc; }

.page-banner {
    border-radius: 24px;
    padding: 30px;
    color: #fff;
    background: linear-gradient(125deg, #071522, #0b2238 56%, #06b6d4);
    box-shadow: var(--shadow);
}
.page-banner h1 { margin: 0; font-family: "Manrope", sans-serif; }
.page-banner p { margin: 8px 0 0; color: #bae6fd; }

/* ── Listing Pages (Buy / Rent / Commercial) ────────── */
.lp-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 44px;
    color: #fff;
    background: linear-gradient(135deg, #071522 0%, #0b2238 55%, #0c4a6e 100%);
}
.lp-hero-orb {
    position: absolute;
    width: 500px; height: 500px;
    border-radius: 999px;
    filter: blur(80px);
    pointer-events: none;
    top: -180px; right: -100px;
    background: rgba(6,182,212,0.18);
}
.lp-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.lp-hero-left { flex: 1; }
.lp-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 13px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: rgba(6,182,212,0.2);
    border: 1px solid rgba(34,211,238,0.35);
    color: #67e8f9;
    margin-bottom: 14px;
}
.lp-hero-left h1 {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 800;
    font-family: "Manrope", sans-serif;
    margin: 0 0 12px;
    line-height: 1.15;
}
.lp-hero-left h1 span { color: #22d3ee; }
.lp-hero-left > p { color: #bae6fd; margin: 0; font-size: .97rem; line-height: 1.6; max-width: 50ch; }
.lp-hero-stats {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}
.lp-hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 22px;
    border-radius: 16px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(125,211,252,0.2);
    text-align: center;
    min-width: 80px;
}
.lp-hero-stat b {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #22d3ee;
    font-family: "Manrope",sans-serif;
    line-height: 1;
}
.lp-hero-stat span { font-size: .72rem; color: #7dd3fc; font-weight: 600; margin-top: 4px; }

/* Filter bar */
.lp-filter-wrap {
    margin-top: -28px;
    position: relative;
    z-index: 5;
}
.lp-filter-shell {
    display: grid;
    grid-template-columns: minmax(240px, .92fr) minmax(0, 1.6fr);
    gap: 18px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(6,182,212,0.14);
    box-shadow: 0 14px 36px rgba(6,182,212,0.12);
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(10px);
}
.lp-filter-buy .lp-filter-shell {
    background:
        radial-gradient(circle at top right, rgba(103,232,249,0.24), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,0.97), rgba(236,254,255,0.97));
}
.lp-filter-rent .lp-filter-shell {
    background:
        radial-gradient(circle at top right, rgba(103,232,249,0.24), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,0.97), rgba(236,254,255,0.97));
}
.lp-filter-commercial .lp-filter-shell {
    background:
        radial-gradient(circle at top right, rgba(103,232,249,0.24), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,0.97), rgba(236,254,255,0.97));
}
.lp-filter-side {
    padding: 18px;
    border-radius: 20px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    min-height: 100%;
}
.lp-filter-buy .lp-filter-side {
    background: linear-gradient(145deg, #082f49, #0f766e 70%, #06b6d4);
}
.lp-filter-rent .lp-filter-side {
    background: linear-gradient(145deg, #082f49, #0f766e 70%, #06b6d4);
}
.lp-filter-commercial .lp-filter-side {
    background: linear-gradient(145deg, #082f49, #0f766e 70%, #06b6d4);
}
.lp-filter-kicker {
    display: inline-flex;
    align-self: flex-start;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.92);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.lp-filter-side h3 {
    margin: 0;
    font-size: clamp(1.35rem, 2.1vw, 1.8rem);
    line-height: 1.12;
}
.lp-filter-side p {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: .92rem;
    line-height: 1.6;
}
.lp-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.lp-filter-pills span {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    font-size: .76rem;
    font-weight: 700;
    color: #fff;
}
.lp-filter-main {
    padding: 4px;
}
.lp-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}
.lp-filter-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 14px 15px;
    border-radius: 18px;
    border: 1px solid rgba(6,182,212,0.12);
    background: rgba(255,255,255,0.88);
}
.lp-filter-field label {
    font-size: .7rem;
    font-weight: 800;
    color: #0e7490;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.lp-filter-field input,
.lp-filter-field select {
    border-radius: 0;
    border: 0;
    background: transparent;
    padding: 0;
    font-size: .88rem;
    color: var(--ink);
    width: 100%;
    transition: none;
    box-shadow: none;
}
.lp-filter-field input:focus,
.lp-filter-field select:focus {
    outline: none;
    box-shadow: none;
    background: transparent;
}
.lp-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    height: 42px;
    border-radius: 14px;
    font-size: .8rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(6,182,212,0.3);
    white-space: nowrap;
    width: auto;
    min-width: 132px;
    justify-self: start;
    align-self: center;
    transition: transform .15s, box-shadow .15s;
}
.lp-filter-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(6,182,212,0.4); }

/* Section */
.lp-section { padding-top: 36px; }

/* Feature row */
.lp-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}
.lp-feature {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 2px 10px rgba(6,182,212,0.05);
    transition: transform .18s, box-shadow .18s;
}
.lp-feature:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(6,182,212,0.1); }
.lp-feat-icon { font-size: 1.6rem; flex-shrink: 0; line-height: 1; }
.lp-feature b { display: block; font-size: .9rem; font-weight: 800; color: var(--ink); margin-bottom: 3px; }
.lp-feature p { margin: 0; font-size: .8rem; color: var(--ink-soft); line-height: 1.5; }

/* Results bar */
.lp-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding: 10px 14px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 10px;
}
.lp-result-count { margin: 0; font-size: .85rem; color: var(--ink-soft); font-weight: 600; }
.lp-result-tag {
    display: inline-flex;
    border-radius: 999px;
    padding: 3px 12px;
    font-size: .72rem;
    font-weight: 800;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    border: 1px solid rgba(6,182,212,0.2);
    white-space: nowrap;
}

/* Empty state */
.lp-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 60px 24px;
    text-align: center;
    color: var(--ink-soft);
}
.lp-empty span { font-size: 3rem; }
.lp-empty p { margin: 0; font-size: .95rem; }
.lp-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 26px;
    flex-wrap: wrap;
}
.lp-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 800;
    color: #0e7490;
    background: #fff;
    border: 1px solid rgba(6,182,212,0.16);
    box-shadow: 0 6px 18px rgba(6,182,212,0.08);
}
.lp-page-link:hover,
.lp-page-link.is-active {
    color: #fff;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    border-color: transparent;
}

/* Listing page responsive */
@media (max-width: 860px) {
    .lp-hero-inner { flex-direction: column; align-items: flex-start; gap: 20px; }
    .lp-hero-stats { width: 100%; }
    .lp-hero-stat { flex: 1; }
    .lp-filter-shell { grid-template-columns: 1fr; }
    .lp-filter-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .search-hub {
        width: min(calc(100% - 16px), 1360px);
        overflow-x: clip;
    }
    .home-wide-section > .home-wide-container {
        width: min(calc(100% - 16px), 1440px) !important;
    }
    .lp-hero { padding: 38px 0 32px; }
    .lp-filter-grid { grid-template-columns: 1fr; }
    .lp-filter-shell { padding: 14px; border-radius: 18px; }
    .lp-filter-side { padding: 16px; border-radius: 16px; }
    .lp-filter-btn { width: 100%; min-width: 0; justify-self: stretch; }
    .lp-features { grid-template-columns: 1fr; }
    .lp-hero-stats { flex-wrap: wrap; }
}


/* ── Contact Page ───────────────────────────────────── */
.ct-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(140deg, #071522 0%, #0b2238 55%, #0c4a6e 100%);
    padding: 64px 0 52px;
    text-align: center;
    color: #fff;
}
.ct-hero-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    pointer-events: none;
}
.ct-orb-1 { width: 380px; height: 380px; top: -120px; left: -100px; background: rgba(6,182,212,0.28); }
.ct-orb-2 { width: 320px; height: 320px; bottom: -100px; right: -80px; background: rgba(34,211,238,0.18); }
.ct-hero-inner { position: relative; z-index: 1; }
.ct-hero-inner .section-kicker { margin-bottom: 12px; display: inline-flex; }
.ct-hero-inner h1 {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 800;
    margin: 8px 0 14px;
    line-height: 1.15;
}
.ct-hero-inner h1 span { color: #7dd3fc; }
.ct-hero-inner > p { color: #bae6fd; max-width: 54ch; margin: 0 auto 20px; font-size: 1rem; }
.ct-hero-chips {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.ct-hero-chips span {
    font-size: .78rem;
    font-weight: 600;
    color: #bae6fd;
    background: rgba(6,182,212,0.18);
    border: 1px solid rgba(6,182,212,0.3);
    border-radius: 999px;
    padding: 5px 14px;
}
.ct-section { padding-top: 36px; }
.ct-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 28px;
    align-items: start;
}

/* Form Card */
.ct-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(6,182,212,0.09);
}
.ct-form-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px 18px;
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    color: #fff;
}
.ct-form-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ct-form-header h2 { margin: 0 0 3px; font-size: 1.08rem; font-weight: 800; }
.ct-form-header p { margin: 0; font-size: .82rem; color: rgba(255,255,255,0.78); }
.ct-success {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 20px 24px 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(5,150,105,0.07);
    border: 1px solid rgba(5,150,105,0.22);
}
.ct-success-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #059669;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ct-success b { display: block; color: #065f46; font-size: .9rem; }
.ct-success p { margin: 3px 0 0; font-size: .82rem; color: #047857; }
.ct-form {
    display: grid;
    gap: 14px;
    padding: 22px 24px 24px;
}
.ct-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-field { display: flex; flex-direction: column; gap: 6px; }
.ct-field label {
    font-size: .78rem;
    font-weight: 700;
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.ct-field input,
.ct-field select,
.ct-field textarea {
    border-radius: 12px;
    border: 1.5px solid var(--line);
    background: var(--bg);
    padding: 11px 14px;
    font-size: .9rem;
    color: var(--ink);
    transition: border-color .15s, box-shadow .15s;
    width: 100%;
}
.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus {
    outline: none;
    border-color: #06b6d4;
    box-shadow: 0 0 0 3px rgba(6,182,212,0.12);
    background: #fff;
}
.ct-field textarea { resize: vertical; min-height: 120px; }
.ct-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 13px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 6px 22px rgba(6,182,212,0.32);
    transition: transform .15s, box-shadow .15s;
}
.ct-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(6,182,212,0.42); }

/* Info Panel */
.ct-info { display: flex; flex-direction: column; gap: 12px; }
.ct-info-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(6,182,212,0.05);
    transition: transform .15s, box-shadow .15s;
}
.ct-info-card:hover { transform: translateX(4px); box-shadow: 0 6px 20px rgba(6,182,212,0.1); }
.ct-info-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.ct-info-card b { display: block; font-size: .85rem; color: var(--ink); margin-bottom: 2px; }
.ct-info-card span { font-size: .8rem; color: var(--ink-soft); }
.ct-map {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}
.ct-map iframe { width: 100%; height: 200px; border: 0; display: block; }
.ct-quick { padding: 16px; background: linear-gradient(135deg, rgba(6,182,212,0.05), rgba(34,211,238,0.04)); border: 1px solid rgba(6,182,212,0.14); border-radius: 16px; }
.ct-quick-label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: #06b6d4; margin: 0 0 10px; }
.ct-quick-links { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-quick-links a {
    font-size: .8rem;
    font-weight: 700;
    color: #0e7490;
    background: rgba(6,182,212,0.08);
    border: 1px solid rgba(6,182,212,0.18);
    border-radius: 999px;
    padding: 5px 13px;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.ct-quick-links a:hover { background: #06b6d4; color: #fff; }

@media (max-width: 860px) {
    .ct-layout { grid-template-columns: 1fr; }
    .ct-hero { padding: 44px 0 36px; }
}
@media (max-width: 640px) {
    .ct-form-row { grid-template-columns: 1fr; }
    .ct-hero-inner h1 { font-size: 1.6rem; }
    .ct-hero-chips { flex-direction: column; align-items: center; }
}

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }
.feature { background: #fff; border-radius: 16px; border: 1px solid var(--line); padding: 14px; box-shadow: 0 8px 16px rgba(18, 38, 58, 0.06); }
.media-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 16px; }
.media-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    min-height: 260px;
    box-shadow: 0 12px 24px rgba(18, 38, 58, 0.14);
    border: 1px solid var(--line);
}
.media-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.04);
    transition: transform .45s ease;
}
.media-card:hover img { transform: scale(1.12); }
.media-card .overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 14px;
    color: #fff;
    background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.76));
}
.journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 16px; }
.journey-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: 0 8px 16px rgba(18, 38, 58, 0.06); }
.journey-card .num { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #cffafe; color: #0e7490; font-weight: 800; margin-bottom: 8px; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stack { display: grid; gap: 12px; }
.center-card { width: min(580px, 92vw); margin: 52px auto; background: #fff; border-radius: 20px; border: 1px solid var(--line); box-shadow: var(--shadow); padding: 24px; }
.form-message { margin: 0 0 12px; border-radius: 12px; padding: 10px 12px; font-weight: 700; font-size: .92rem; }
.form-message.error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.form-message.success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }

.auth-shell { padding: 34px 0 10px; }
.auth-wrap {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 18px;
    align-items: stretch;
}
.auth-glow {
    border-radius: 24px;
    padding: 26px;
    color: #e0f2fe;
    border: 1px solid rgba(125, 211, 252, 0.3);
    background:
        radial-gradient(circle at 80% 16%, rgba(6, 182, 212, 0.35), transparent 34%),
        radial-gradient(circle at 12% 90%, rgba(34, 211, 238, 0.25), transparent 38%),
        linear-gradient(145deg, #071522, #0b2238 65%, #0e7490);
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
    animation: authFloat 6.8s ease-in-out infinite;
}
.auth-glow::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: rgba(125, 211, 252, 0.2);
    right: -65px;
    bottom: -75px;
    filter: blur(2px);
}
.auth-kicker {
    display: inline-flex;
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(224, 242, 254, 0.17);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.auth-glow h2 {
    margin: 12px 0 10px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.5rem, 2.6vw, 2.2rem);
    color: #fff;
}
.auth-glow p { margin: 0 0 16px; color: #bae6fd; line-height: 1.6; }
.auth-points { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.auth-points li {
    border: 1px solid rgba(125, 211, 252, 0.22);
    border-radius: 12px;
    padding: 9px 10px;
    background: rgba(7, 21, 34, 0.3);
    font-size: .89rem;
}
.auth-points strong { color: #7dd3fc; }

.auth-card {
    border-radius: 24px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 24px;
    position: relative;
    overflow: hidden;
}
.auth-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, rgba(6, 182, 212, 0.06), rgba(34, 211, 238, 0.04), transparent 60%);
    pointer-events: none;
}
.auth-head { position: relative; z-index: 1; }
.auth-head h1 {
    margin: 2px 0 7px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.5rem, 2.3vw, 1.9rem);
}
.auth-head p { margin: 0 0 14px; color: var(--ink-soft); }
.auth-form { position: relative; z-index: 1; display: grid; gap: 11px; }
.auth-form label {
    font-size: .78rem;
    font-weight: 800;
    color: #06b6d4;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 3px;
}
.auth-form .field { display: grid; gap: 5px; }
.auth-pass-wrap { position: relative; }
.auth-form input,
.auth-form select {
    border-radius: 12px;
    padding: 11px 12px;
    border: 1px solid rgba(6, 182, 212, 0.18);
    background: #f0fdff;
}
.auth-pass-wrap input { padding-right: 42px; }
.auth-pass-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #06b6d4;
    cursor: pointer;
    padding: 0;
}
.auth-pass-toggle:hover { background: rgba(6, 182, 212, 0.1); }
.auth-pass-toggle svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.auth-form input:focus,
.auth-form select:focus {
    outline: none;
    border-color: #06b6d4;
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.14);
    background: #fff;
}
.auth-btn {
    margin-top: 2px;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: .98rem;
    background: linear-gradient(135deg, #06b6d4, #22d3ee 60%, #38bdf8);
    box-shadow: 0 12px 24px rgba(6, 182, 212, 0.3);
}
.auth-sub { margin-top: 10px; font-size: .88rem; color: var(--ink-soft); }
.auth-sub a { color: #06b6d4; font-weight: 800; text-decoration: none; }
.auth-sub a:hover { text-decoration: underline; }
.auth-demo {
    margin-top: 8px;
    border-radius: 10px;
    border: 1px dashed rgba(6, 182, 212, 0.3);
    background: #f0fdff;
    color: #0e7490;
    padding: 8px 10px;
    font-size: .82rem;
}

.reveal-seq > * {
    opacity: 0;
    transform: translateY(10px);
    animation: authReveal .55s ease forwards;
}
.reveal-seq > *:nth-child(1) { animation-delay: .07s; }
.reveal-seq > *:nth-child(2) { animation-delay: .12s; }
.reveal-seq > *:nth-child(3) { animation-delay: .18s; }
.reveal-seq > *:nth-child(4) { animation-delay: .24s; }
.reveal-seq > *:nth-child(5) { animation-delay: .30s; }
.reveal-seq > *:nth-child(6) { animation-delay: .36s; }
.reveal-seq > *:nth-child(7) { animation-delay: .42s; }
.reveal-seq > *:nth-child(8) { animation-delay: .48s; }
.reveal-seq > *:nth-child(9) { animation-delay: .54s; }

@keyframes authReveal {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes authFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

.buyer-shell { padding-top: 26px; }
.buyer-hero {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    background: linear-gradient(130deg, #071522, #0b2238 54%, #06b6d4);
    color: #f1f5f9;
    border-radius: 24px;
    box-shadow: var(--shadow);
    padding: clamp(18px, 3.2vw, 30px);
}
.buyer-hero h1 { margin: 4px 0 0; font-size: clamp(1.4rem, 2.6vw, 2rem); font-family: "Manrope", sans-serif; }
.buyer-kicker { margin: 0; display: inline-flex; border-radius: 999px; padding: 6px 10px; background: rgba(255, 255, 255, 0.2); font-size: .8rem; font-weight: 800; letter-spacing: .03em; }
.buyer-role-badge {
    min-width: 210px;
    border-radius: 14px;
    padding: 12px;
    background: rgba(9, 20, 35, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: grid;
    gap: 5px;
}
.buyer-role-badge strong { color: #7dd3fc; }

.buyer-tabs {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}
.buyer-tabs a {
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--ink-soft);
    padding: 10px 12px;
    border-radius: 12px;
    text-align: center;
    font-weight: 700;
    font-size: .88rem;
}
.buyer-tabs a.active {
    color: #fff;
    background: linear-gradient(135deg, #06b6d4, #22d3ee);
    border-color: transparent;
}

.buyer-stats {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.buyer-stat {
    border-radius: 16px;
    color: #e2e8f0;
    background: linear-gradient(150deg, #0f172a, #1f2937);
    padding: 14px;
}
.buyer-stat span { display: block; font-size: .84rem; color: #bae6fd; }
.buyer-stat b { display: block; font-size: 1.5rem; color: #38bdf8; margin-top: 4px; }

.buyer-layout {
    margin-top: 14px;
    display: grid;
    gap: 14px;
    grid-template-columns: 1.1fr 1fr;
}
.buyer-block {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(18, 38, 58, 0.08);
    padding: 16px;
}
.buyer-block h3 { margin: 0 0 8px; font-family: "Manrope", sans-serif; }

.buyer-mini-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.buyer-mini-card {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 10px;
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 10px;
    align-items: center;
}
.buyer-mini-card h4 { margin: 0 0 3px; font-size: .96rem; }
.buyer-thumb {
    width: 82px;
    height: 82px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
}

.buyer-list { display: grid; gap: 10px; }
.buyer-list-row {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.buyer-search-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}
.buyer-results-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.buyer-property-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(18, 38, 58, 0.08);
}
.buyer-card-image {
    min-height: 180px;
    background-size: cover;
    background-position: center;
}
.buyer-card-body { padding: 14px; }
.buyer-card-body h4 { margin: 0 0 6px; }
.buyer-actions { display: grid; gap: 8px; margin-top: 8px; }
.buyer-actions form { display: grid; gap: 6px; }

.buyer-inline-actions {
    display: flex;
    gap: 6px;
}
.btn-danger {
    background: linear-gradient(135deg, #b91c1c, #991b1b) !important;
}

.buyer-status {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: .76rem;
    font-weight: 800;
}
.buyer-status.new { background: #ffedd5; color: #9a3412; }
.buyer-status.contacted { background: #cffafe; color: #0e7490; }
.buyer-status.closed { background: #dcfce7; color: #15803d; }

.buyer-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border: 1px solid var(--line);
    border-radius: 12px;
    font-weight: 600;
}
.buyer-check input { width: auto; }

/* ── Property Details Page ─────────────────────────── */

/* Breadcrumb */
.pd-breadcrumb {
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 11px 0;
    font-size: .82rem;
    color: var(--ink-soft);
}
.pd-breadcrumb .container { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }
.pd-breadcrumb a { color: #06b6d4; text-decoration: none; font-weight: 600; }
.pd-breadcrumb a:hover { color: #0e7490; text-decoration: underline; }
.pd-breadcrumb span { margin: 0 4px; color: #c4c4dc; }

/* ── Page wrapper ── */
.pd-page { background: #fff; padding: 28px 0 52px; }

/* ══════════════════════════════════════
   PHOTO MOSAIC  (Airbnb-style)
══════════════════════════════════════ */
.pd-mosaic {
    position: relative;
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: 1fr;
    gap: 6px;
    height: 460px;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 22px;
    background: #0b1f35;
}
.pd-mosaic-solo { grid-template-columns: 1fr; }

/* Main photo — div, fills grid cell naturally */
.pd-mosaic-main {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.pd-mosaic-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s ease;
}
.pd-mosaic-main:hover img { transform: scale(1.04); }
.pd-mosaic-hover-hint {
    position: absolute;
    bottom: 52px;
    right: 14px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(7,21,34,0.6);
    color: rgba(255,255,255,0.8);
    font-size: .74rem;
    font-weight: 600;
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none;
}
.pd-mosaic-main:hover .pd-mosaic-hover-hint { opacity: 1; }

/* Badges on main photo */
.pd-badge {
    position: absolute;
    z-index: 3;
    border-radius: 999px;
    padding: 6px 13px;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .04em;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.25);
    box-shadow: 0 3px 10px rgba(0,0,0,0.22);
    top: 14px;
    left: 14px;
}
.pd-badge + .pd-badge { left: auto; right: 14px; }
.pd-badge-sale { background: linear-gradient(135deg, #059669, #10b981); }
.pd-badge-rent { background: linear-gradient(135deg, #0284c7, #38bdf8); }
.pd-badge-commercial { background: linear-gradient(135deg, #7c3aed, #a78bfa); }
.pd-badge-featured { background: linear-gradient(135deg, #d97706, #fbbf24); }

/* Right thumb grid — 2×2 */
.pd-mosaic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 6px;
    height: 100%;           /* must be explicit for inner 1fr rows to work */
}
.pd-thumb {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background: #cce8f0;
}
.pd-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}
.pd-thumb:hover img { transform: scale(1.07); }

/* "See all" overlay */
.pd-mosaic-more::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(7,21,34,0.55);
    pointer-events: none;
}
.pd-more-label {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    pointer-events: none;
}

/* "View all photos" pill — bottom-right of mosaic */
.pd-zoom-trigger {
    position: absolute;
    bottom: 14px;
    right: 14px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
    color: var(--ink);
    font-size: .78rem;
    font-weight: 700;
    border: 1px solid rgba(0,0,0,0.1);
    backdrop-filter: blur(8px);
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14);
    transition: background .15s, color .15s, box-shadow .15s;
}
.pd-zoom-trigger:hover {
    background: #06b6d4;
    color: #fff;
    box-shadow: 0 6px 20px rgba(6,182,212,0.38);
}

/* ══════════════════════════════════════
   INFO BAR  (title · location · price)
══════════════════════════════════════ */
.pd-info-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.pd-info-left { flex: 1; min-width: 0; }
.pd-title {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 6px;
    color: var(--ink);
}
.pd-loc {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .84rem;
    color: var(--ink-soft);
    margin: 0;
}
.pd-price-box { text-align: right; flex-shrink: 0; padding-top: 2px; }
.pd-price-lbl {
    font-size: .67rem;
    font-weight: 700;
    color: #0891b2;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 4px;
}
.pd-price-val {
    font-size: 1.75rem;
    font-weight: 900;
    background: linear-gradient(135deg, #0891b2, #06b6d4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

/* ══════════════════════════════════════
   SPEC CHIPS
══════════════════════════════════════ */
.pd-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    margin-bottom: 28px;
}
.pd-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 13px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    color: var(--ink);
    background: var(--bg);
    border: 1px solid var(--line);
}
.pd-chip-ico { font-size: .95rem; }
.pd-chip b { font-weight: 700; }
.pd-chip-sep { color: var(--ink-soft); font-weight: 400; }
.pd-chip-views { background: rgba(6,182,212,0.06); border-color: rgba(6,182,212,0.2); }

/* ══════════════════════════════════════
   2-COLUMN LAYOUT
══════════════════════════════════════ */
.pd-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 28px;
    align-items: start;
    margin-bottom: 32px;
}
.pd-content { display: flex; flex-direction: column; gap: 20px; }

/* Section blocks */
.pd-sec {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px;
    transition: box-shadow .2s;
}
.pd-sec:hover { box-shadow: 0 6px 22px rgba(6,182,212,0.07); }
.pd-sec-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .97rem;
    font-weight: 800;
    color: var(--ink);
    margin: 0 0 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line);
}
.pd-sec-title-bar {
    display: block;
    width: 4px;
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, #06b6d4, #38bdf8);
    flex-shrink: 0;
}
.pd-bar-green { background: linear-gradient(180deg, #10b981, #34d399); }
.pd-bar-purple { background: linear-gradient(180deg, #8b5cf6, #a78bfa); }

/* About */
.pd-sec-about {
    background: radial-gradient(circle at top right, rgba(103,232,249,0.1), transparent 35%), #fff;
}
.pd-desc { color: var(--ink); line-height: 1.9; font-size: .93rem; margin: 0; }

/* Amenities — pill tags */
.pd-sec-amenities {
    background: radial-gradient(circle at bottom left, rgba(110,231,183,0.1), transparent 32%), #fff;
}
.pd-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.pd-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--ink);
    background: rgba(6,182,212,0.05);
    border: 1px solid rgba(6,182,212,0.18);
    transition: background .15s, transform .15s;
}
.pd-pill:hover { background: rgba(6,182,212,0.12); transform: translateY(-1px); }
.pd-pill-check {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    background: linear-gradient(135deg, #06b6d4, #38bdf8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

/* Overview grid */
.pd-sec-overview {
    background: radial-gradient(circle at top right, rgba(139,92,246,0.06), transparent 30%), #fff;
}
.pd-ov-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.pd-ov-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 13px;
    border-radius: 14px;
    border: 1px solid rgba(6,182,212,0.1);
    background: linear-gradient(160deg, #fff, #f5fafe);
    transition: transform .15s, box-shadow .15s;
}
.pd-ov-item:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(6,182,212,0.1); }
.pd-ov-ico { font-size: 1.1rem; }
.pd-ov-lbl {
    font-size: .66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-soft);
}
.pd-ov-val {
    font-size: .86rem;
    font-weight: 800;
    color: var(--ink);
    line-height: 1.3;
    word-break: break-word;
}
.pd-ov-price { border-color: rgba(6,182,212,0.2); background: linear-gradient(135deg, rgba(6,182,212,0.06), rgba(56,189,248,0.06)); }
.pd-ov-price .pd-ov-val { color: #06b6d4; }
.pd-ov-status { border-color: rgba(5,150,105,0.18); background: linear-gradient(135deg, rgba(5,150,105,0.05), rgba(16,185,129,0.04)); }
.pd-ov-status .pd-ov-val { color: #059669; }

/* ══════════════════════════════════════
   SIDEBAR
══════════════════════════════════════ */
.pd-sidebar {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* CTA Card */
.pd-cta-card {
    background: linear-gradient(155deg, #071a2e 0%, #0a3057 55%, #0e3d6e 100%);
    border: 1px solid rgba(6,182,212,0.3);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 16px 40px rgba(6,182,212,0.18);
}
.pd-cta-inner { margin-bottom: 18px; }
.pd-cta-price-lbl {
    font-size: .68rem;
    font-weight: 700;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: 5px;
}
.pd-cta-price {
    font-size: 1.85rem;
    font-weight: 900;
    background: linear-gradient(135deg, #fff 40%, #67e8f9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
}
.pd-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #06b6d4, #22d3ee);
    color: #fff;
    font-size: .93rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(6,182,212,0.4);
    margin-bottom: 9px;
    transition: transform .15s, box-shadow .15s;
}
.pd-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(6,182,212,0.52); }
.pd-cta-save {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 10px 18px;
    border-radius: 11px;
    font-size: .86rem;
    font-weight: 600;
    color: rgba(255,255,255,0.7);
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.07);
    cursor: pointer;
    transition: background .15s;
    margin-bottom: 12px;
}
.pd-cta-save:hover { background: rgba(255,255,255,0.13); }
.pd-cta-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: .73rem;
    color: rgba(255,255,255,0.4);
}

/* Owner Card */
.pd-owner-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.14);
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 4px 14px rgba(6,182,212,0.07);
}
.pd-owner-top {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 12px;
}
.pd-owner-av {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: linear-gradient(135deg, #06b6d4, #38bdf8);
    color: #fff;
    font-weight: 800;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(6,182,212,0.3);
}
.pd-owner-info { flex: 1; min-width: 0; }
.pd-owner-info strong { display: block; font-size: .88rem; font-weight: 700; color: var(--ink); }
.pd-owner-info span { font-size: .74rem; color: var(--ink-soft); }
.pd-call-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 9px 14px;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 700;
    color: #06b6d4;
    background: rgba(6,182,212,0.08);
    border: 1.5px solid rgba(6,182,212,0.22);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.pd-call-btn:hover { background: #06b6d4; color: #fff; }

/* Quick Contact */
.pd-quick-contact {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px 16px;
}
.pd-qc-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 4px 0;
}
.pd-qc-icon { font-size: 1.3rem; flex-shrink: 0; }
.pd-qc-item b { display: block; font-size: .82rem; font-weight: 700; color: var(--ink); }
.pd-qc-item small { font-size: .72rem; color: var(--ink-soft); }
.pd-qc-divider { height: 1px; background: var(--line); margin: 8px 0; }

/* ══════════════════════════════════════
   MAP  (full-width below layout)
══════════════════════════════════════ */
.pd-map-section { margin-bottom: 0; }
.pd-map-wrap {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line);
    margin-bottom: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}
.pd-map-iframe { width: 100%; height: 320px; border: 0; display: block; }
.pd-map-lbl {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    color: var(--ink-soft);
    margin: 0;
}

/* ══════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════ */
.pd-lightbox-open { overflow: hidden; }
.pd-lightbox {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 24px;
    background: rgba(7,21,34,0.93);
    backdrop-filter: blur(12px);
}
.pd-lightbox[hidden] { display: none; }
.pd-lightbox-stage { display: flex; align-items: center; justify-content: center; min-height: 0; overflow: hidden; }
.pd-lightbox-stage img {
    max-width: min(1100px, 100%);
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.4);
    transition: transform .18s ease;
    transform-origin: center;
    touch-action: none;
    will-change: transform;
    cursor: zoom-in;
}
.pd-lightbox-close,
.pd-lightbox-nav {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-size: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s;
}
.pd-lightbox-close { position: absolute; top: 18px; right: 18px; z-index: 2; }
.pd-lightbox-close:hover,
.pd-lightbox-nav:hover { background: rgba(6,182,212,0.9); }

/* ══════════════════════════════════════
   RELATED PROPERTIES
══════════════════════════════════════ */
.pd-related-section {
    padding: 40px 0 56px;
    background: #f8fbff;
    border-top: 1px solid var(--line);
}
.pd-related-head { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.pd-related-kicker {
    font-size: .7rem;
    font-weight: 800;
    color: #06b6d4;
    background: rgba(6,182,212,0.08);
    border: 1px solid rgba(6,182,212,0.18);
    border-radius: 999px;
    padding: 3px 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}
.pd-related-head h2 { font-size: 1.15rem; font-weight: 800; margin: 0; color: var(--ink); }
.pd-related-line { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line), transparent); }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 1100px) {
    .pd-layout { grid-template-columns: 1fr 290px; gap: 22px; }
    .pd-ov-grid { grid-template-columns: repeat(3, 1fr); }
    .pd-mosaic { height: 400px; }
}
@media (max-width: 860px) {
    .pd-layout { grid-template-columns: 1fr; }
    .pd-sidebar { position: static; }
    .pd-mosaic { height: 360px; }
    .pd-ov-grid { grid-template-columns: repeat(3, 1fr); }
    .pd-title { font-size: 1.25rem; }
}
@media (max-width: 640px) {
    .pd-mosaic { grid-template-columns: 1fr; height: 260px; border-radius: 14px; }
    .pd-mosaic-grid { display: none; }
    .pd-ov-grid { grid-template-columns: repeat(2, 1fr); }
    .pd-map-iframe { height: 240px; }
    .pd-chips { gap: 6px; }
    .pd-info-bar { flex-direction: column; gap: 8px; }
    .pd-price-box { text-align: left; }
    .pd-price-val { font-size: 1.45rem; }
    .pd-zoom-trigger { bottom: 10px; right: 10px; font-size: .74rem; padding: 7px 12px; }
    .pd-lightbox { grid-template-columns: 1fr; gap: 12px; padding: 18px 12px; }
    .pd-lightbox-stage img { max-height: 78vh; }
    .pd-lightbox-nav { position: absolute; bottom: 16px; z-index: 2; }
    .pd-lightbox-prev { left: 16px; }
    .pd-lightbox-next { right: 16px; }
}
/* ──────────────────────────────────── */
.pd-hero-img-wrap {
    position: relative;
    height: 62vh;
    min-height: 380px;
    max-height: 640px;
    overflow: hidden;
    cursor: zoom-in;
}
.pd-hero-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.pd-hero-img-wrap:hover img { transform: scale(1.03); }
.pd-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(7,21,34,0.1) 0%, rgba(7,21,34,0.06) 45%, rgba(7,21,34,0.76) 100%);
    pointer-events: none;
}
.pd-listing-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    border-radius: 999px;
    padding: 7px 16px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .04em;
    color: #fff;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.25);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.pd-badge-sale { background: linear-gradient(135deg, #059669, #10b981); }
.pd-badge-rent { background: linear-gradient(135deg, #0284c7, #38bdf8); }
.pd-badge-commercial { background: linear-gradient(135deg, #7c3aed, #a78bfa); }
.pd-featured-badge {
    position: absolute;
    top: 20px;
    right: 74px;
    z-index: 2;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: .74rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #d97706, #fbbf24);
    box-shadow: 0 4px 14px rgba(217,119,6,0.4);
}
.pd-zoom-trigger {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(7,21,34,0.65);
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.18);
    cursor: pointer;
    transition: background .15s;
}
.pd-zoom-trigger:hover { background: rgba(6,182,212,0.85); }
/* Hero info strip — overlaid at image bottom */
.pd-hero-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    padding: 22px 0;
}
.pd-hero-info-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.pd-hero-title-group { flex: 1; min-width: 0; }
.pd-hero-title {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 7px;
    line-height: 1.2;
    text-shadow: 0 2px 14px rgba(0,0,0,0.38);
}
.pd-hero-loc {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .88rem;
    color: rgba(255,255,255,0.78);
    margin: 0;
}
.pd-hero-price-group { text-align: right; flex-shrink: 0; }
.pd-hero-price-label {
    font-size: .7rem;
    font-weight: 700;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 5px;
}
.pd-hero-price {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #fff 40%, #67e8f9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
}

/* ── Thumbnail Strip ── */
.pd-thumb-strip {
    background: #071a2e;
    border-bottom: 1px solid rgba(6,182,212,0.2);
    padding: 10px 0;
}
.pd-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
}
.pd-thumbs::-webkit-scrollbar { height: 3px; }
.pd-thumbs::-webkit-scrollbar-thumb { background: rgba(6,182,212,0.4); border-radius: 99px; }
.pd-thumb {
    width: 82px;
    height: 58px;
    border-radius: 10px;
    overflow: hidden;
    border: 2.5px solid transparent;
    cursor: pointer;
    padding: 0;
    background: none;
    flex-shrink: 0;
    transition: border-color .18s, transform .18s, box-shadow .18s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.pd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-thumb:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(6,182,212,0.3); }
.pd-thumb.active {
    border-color: #06b6d4;
    box-shadow: 0 0 0 3px rgba(6,182,212,0.28);
}
.site-footer {
    margin-top: 56px;
    color: #bae6fd;
    background:
        radial-gradient(circle at 8% 30%, rgba(6, 182, 212, 0.18), transparent 40%),
        radial-gradient(circle at 90% 70%, rgba(34, 211, 238, 0.12), transparent 38%),
        linear-gradient(150deg, #071522, #0b2238 60%, #071a2e);
    padding: 28px 0 0;
    border-top: 1px solid rgba(6, 182, 212, 0.22);
}
.footer-inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 32px;
    align-items: start;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(6, 182, 212, 0.16);
}
.footer-brand { display: flex; flex-direction: column; gap: 8px; }
.footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
}
.footer-logo {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: .85rem;
    color: #fff;
    background: linear-gradient(135deg, #06b6d4, #38bdf8);
    box-shadow: 0 6px 16px rgba(6, 182, 212, 0.4);
}
.footer-logo-image {
    width: 60px;
    height: 60px;
    object-fit: contain;
    display: block;
}
.footer-brand-text {
    font-family: "Manrope", sans-serif;
    font-size: 1.22rem;
    font-weight: 700;
    color: #fff;
}
.footer-brand-text span { color: #67e8f9; }
.footer-brand p { margin: 0; color: #c4c9e8; font-size: .85rem; line-height: 1.5; max-width: 28ch; }
.footer-socials {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.footer-social {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #e0f2fe;
    background: rgba(6, 182, 212, 0.16);
    border: 1px solid rgba(34, 211, 238, 0.22);
    text-decoration: none;
    transition: transform .15s, background .15s, border-color .15s;
}
.footer-social:hover {
    transform: translateY(-2px);
    background: rgba(34, 211, 238, 0.24);
    border-color: rgba(103, 232, 249, 0.5);
}
.floating-contact-stack {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.translate-panel {
    position: absolute;
    right: 72px;
    top: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(10px);
    transition: opacity .18s ease, transform .18s ease;
}
.translate-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}
.floating-whatsapp,
.floating-live-chat,
.floating-translate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}
.floating-whatsapp {
    background: linear-gradient(135deg, #25d366, #128c4a);
    box-shadow: 0 16px 30px rgba(18, 140, 74, 0.3);
}
.floating-live-chat {
    background: linear-gradient(135deg, #0f172a, #0f766e);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.26);
}
.floating-translate {
    background: linear-gradient(135deg, #ffffff, #ecfeff);
    color: #0f172a;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(6, 182, 212, 0.16);
}
.floating-whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 36px rgba(18, 140, 74, 0.38);
}
.floating-live-chat:hover,
.floating-live-chat.is-active {
    transform: translateY(-3px);
    box-shadow: 0 20px 36px rgba(15, 23, 42, 0.34);
}
.floating-translate:hover,
.floating-translate.is-active {
    transform: translateY(-3px);
    box-shadow: 0 20px 36px rgba(15, 23, 42, 0.18);
}
.floating-whatsapp-icon,
.floating-live-chat-icon,
.floating-translate-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.floating-whatsapp-icon svg,
.floating-live-chat-icon svg,
.floating-translate-icon svg {
    width: 22px;
    height: 22px;
}
.translate-widget .goog-te-gadget {
    font-family: "Manrope", sans-serif !important;
    color: #0f172a !important;
    font-size: 0 !important;
}
.translate-widget .goog-te-gadget-simple {
    border: 1px solid rgba(6, 182, 212, 0.18) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    min-height: 52px;
    min-width: 180px;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
}
.translate-widget .goog-te-gadget-simple .goog-te-menu-value {
    color: #0f172a !important;
    font-size: .82rem !important;
    font-weight: 700;
    font-family: "Manrope", sans-serif !important;
}
.translate-widget .goog-te-gadget-simple .goog-te-menu-value span {
    border: 0 !important;
}
.translate-widget .goog-te-gadget-icon {
    display: none !important;
}
body {
    top: 0 !important;
}
.live-chat-widget {
    position: fixed;
    right: 20px;
    bottom: 156px;
    z-index: 41;
    width: min(360px, calc(100vw - 28px));
    border-radius: 22px;
    border: 1px solid #dbeafe;
    background: #ffffff;
    box-shadow: 0 28px 56px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    transform: translateY(18px);
    opacity: 0;
    pointer-events: none;
    transition: transform .2s ease, opacity .2s ease;
}
.live-chat-widget.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.live-chat-widget-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 14px;
    background: linear-gradient(135deg, #ecfeff, #f0fdfa);
    border-bottom: 1px solid #dbeafe;
}
.live-chat-widget-head strong {
    display: block;
    color: #0f172a;
    font-size: .98rem;
}
.live-chat-widget-head span {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: .78rem;
}
.live-chat-widget-head button {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 10px;
    background: #0f3d58;
    color: #fff;
    box-shadow: none;
}
.live-chat-thread {
    max-height: 320px;
    min-height: 240px;
    overflow-y: auto;
    padding: 16px;
    display: grid;
    gap: 10px;
}
.live-chat-row {
    display: flex;
}
.live-chat-row.sender-admin {
    justify-content: flex-start;
}
.live-chat-row.sender-visitor {
    justify-content: flex-end;
}
.live-chat-bubble {
    max-width: 85%;
    padding: 12px 13px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #dbeafe;
}
.live-chat-row.sender-visitor .live-chat-bubble {
    background: linear-gradient(135deg, #ecfeff, #f0fdfa);
    border-color: #67e8f9;
}
.live-chat-bubble strong {
    display: block;
    color: #0f172a;
    font-size: .76rem;
    margin-bottom: 6px;
}
.live-chat-bubble p {
    margin: 0;
    color: #334155;
    font-size: .84rem;
    line-height: 1.55;
}
.live-chat-bubble span {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: .72rem;
}
.live-chat-empty {
    padding: 24px 16px;
    border-radius: 18px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #64748b;
    font-size: .82rem;
    text-align: center;
}
.live-chat-form {
    padding: 0 16px 16px;
    display: grid;
    gap: 10px;
}
.live-chat-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.live-chat-form input,
.live-chat-form textarea {
    width: 100%;
    border-radius: 14px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    padding: 12px 13px;
    font: inherit;
}
.live-chat-form textarea {
    min-height: 94px;
    resize: vertical;
}
.live-chat-form input::placeholder,
.live-chat-form textarea::placeholder {
    color: #64748b;
}
.live-chat-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.live-chat-form-actions span {
    color: #64748b;
    font-size: .76rem;
    line-height: 1.5;
}
.live-chat-form-actions button {
    white-space: nowrap;
}
.footer-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.footer-chips span {
    display: inline-flex;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: .72rem;
    font-weight: 700;
    color: #e0f2fe;
    background: rgba(6, 182, 212, 0.25);
    border: 1px solid rgba(34, 211, 238, 0.45);
}
.footer-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.footer-col { display: flex; flex-direction: column; gap: 6px; }
.footer-col h4 {
    margin: 0 0 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #67e8f9;
}
.footer-col a {
    color: #bae6fd;
    text-decoration: none;
    font-size: .875rem;
    transition: color .15s;
}
.footer-col a:hover { color: #fff; }
.site-footer p { color: #c4c9e8; margin: 0; line-height: 1.5; }
@media (max-width: 640px) {
    .floating-contact-stack {
        right: 14px;
        bottom: 14px;
        gap: 10px;
    }
    .translate-panel {
        right: 64px;
        top: 0;
    }
    .live-chat-widget {
        right: 14px;
        bottom: 140px;
        width: calc(100vw - 28px);
    }
    .floating-whatsapp,
    .floating-live-chat,
    .floating-translate {
        width: 54px;
        height: 54px;
    }
    .live-chat-form-grid {
        grid-template-columns: 1fr;
    }
    .live-chat-form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .live-chat-form-actions button {
        width: 100%;
    }
}
.footer-bottom {
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: .8rem;
    color: #7dd3fc;
}
.footer-bottom-right { display: flex; align-items: center; gap: 8px; }

.bg-orb { position: fixed; z-index: -1; border-radius: 999px; filter: blur(2px); }

.lp-filter-field--multi {
    position: relative;
}

.lp-multiselect {
    position: relative;
}

.lp-multiselect-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

.lp-multiselect-toggle::after {
    content: "▾";
    float: right;
    color: #0891b2;
}

.lp-multiselect-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    min-width: 280px;
    z-index: 20;
    display: none;
    padding: 12px;
    border: 1px solid rgba(6,182,212,0.18);
    border-radius: 18px;
    background: #f8fdff;
    box-shadow: 0 18px 40px rgba(15,23,42,0.14);
}

.lp-multiselect.is-open .lp-multiselect-panel {
    display: block;
}

.lp-multiselect-search {
    width: 100%;
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(148,163,184,0.35);
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
}

.lp-multiselect-search:disabled {
    background: #eef2f7;
    cursor: not-allowed;
}

.lp-multiselect-options {
    display: grid;
    gap: 8px;
    max-height: 220px;
    overflow-y: auto;
}

.lp-multiselect-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
}

.lp-multiselect-option[hidden] {
    display: none;
}

.lp-multiselect-option:hover {
    background: #ecfeff;
}

.lp-multiselect-option input {
    width: 16px;
    height: 16px;
    accent-color: #0891b2;
}
.orb-a { width: 420px; height: 420px; left: -180px; top: -120px; background: rgba(6, 182, 212, 0.08); }
.orb-b { width: 460px; height: 460px; right: -180px; top: 160px; background: rgba(34, 211, 238, 0.07); }

@media (max-width: 1120px) {
    .card-grid, .prop-grid { grid-template-columns: repeat(3, 1fr); }
    .search-panel { grid-template-columns: repeat(4, 1fr); }
    .home-search-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .home-search-choice-row { grid-template-columns: 1fr; }
    .home-story-shell { grid-template-columns: 1fr; }
    .buyer-tabs { grid-template-columns: repeat(4, 1fr); }
    .buyer-search-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
    .nav-wrap { grid-template-columns: auto 1fr auto; }
    .nav { display: none; }
    .nav-actions { display: none; }
    .menu-toggle { display: flex; }

    .hero-slide { min-height: 640px; }
    .hero-shell {
        position: static;
        display: block;
    }
    .hero-content {
        position: static;
        width: 100%;
        min-width: 0;
        grid-template-rows: auto auto auto auto auto auto;
        align-content: start;
        gap: 10px;
    }
    .hero-sidecard {
        position: static;
        width: 100%;
        margin-top: 14px;
    }
    .search-hub { margin-top: -18px; }
    .home-search-shell { padding: 20px 22px; border-radius: 22px; }
    .home-search-top { flex-direction: column; padding-inline: 4px; }
    .home-search-grid,
    .home-search-grid--locations,
    .home-search-grid--details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-search-map-card { grid-template-columns: 1fr; }
    .home-search-footer { flex-direction: column; align-items: stretch; }
    .home-story-copy { padding: 22px; border-radius: 24px; }
    .home-story-note { padding: 20px; border-radius: 22px; }
    .highlight, .feature-grid, .stats, .media-grid, .journey-grid { grid-template-columns: 1fr 1fr; }
    .prop-grid { grid-template-columns: repeat(2, 1fr); }
    .home-ads-grid { grid-template-columns: 1fr; }
    .trending-head { align-items: flex-start; }
    .footer-inner { grid-template-columns: 1fr; gap: 20px; }
    .footer-nav { grid-template-columns: repeat(2, 1fr); }
    .buyer-hero { flex-direction: column; align-items: flex-start; }
    .buyer-role-badge { width: 100%; min-width: auto; }
    .buyer-stats, .buyer-layout, .buyer-mini-grid, .buyer-results-grid { grid-template-columns: 1fr; }
    .buyer-search-grid { grid-template-columns: 1fr 1fr; }
    .buyer-tabs { grid-template-columns: 1fr 1fr; }
    .auth-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
    .mobile-menu {
        margin: 8px 10px 0;
        padding: 7px;
        border-radius: 16px;
    }
    .mobile-menu-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mobile-nav-group {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 4px 0 2px;
    }
    .mobile-menu-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mobile-menu-actions .btn { border-radius: 12px !important; }
}
@media (max-width: 640px) {
    .menu-toggle {
        width: 46px;
        height: 40px;
        padding: 0;
        border-radius: 12px;
        justify-self: end;
    }
    .card-grid, .prop-grid, .highlight, .feature-grid, .stats, .form-grid, .media-grid, .journey-grid { grid-template-columns: 1fr; }
    .trending-head { flex-direction: column; align-items: flex-start; }
    .trending-all-btn { margin-top: 0; }
    .home-ad-card { min-height: 200px; border-radius: 20px; }
    .footer-nav { grid-template-columns: 1fr 1fr; }
    .search-hub { margin-top: -12px; }
    .home-search-shell { padding: 16px 18px; border-radius: 18px; }
    .home-search-top,
    .home-search-grid,
    .home-search-map-card,
    .home-search-choice-row,
    .home-search-footer { padding-inline: 0; }
    .home-story-copy { padding: 18px; border-radius: 20px; }
    .home-story-note { padding: 16px; border-radius: 18px; }
    .home-search-choice-block { padding: 12px; }
    .home-search-submit { width: 100%; min-width: 0; }
    .search-tabs { width: 100%; }
    .search-tabs span { flex: 1 1 0; justify-content: center; padding: 7px 8px; }
    .search-meta { align-items: flex-start; }
    .hero-slide {
        height: auto;
        min-height: 620px;
    }
    .hero-bg-image {
        object-position: center;
    }
    .hero-inner { padding: 22px 22px 76px; }
    .hero-kicker {
        padding: 6px 12px;
        font-size: .78rem;
    }
    .hero h1 {
        font-size: clamp(2.2rem, 9vw, 3.25rem);
        line-height: .98;
        margin: 0;
    }
    .hero p {
        font-size: 1rem;
        line-height: 1.45;
    }
    .hero-content > p:first-of-type {
        max-width: 100% !important;
        min-height: 0;
    }
    .hero-content > p:nth-of-type(2),
    .chip-row {
        width: 100% !important;
        min-width: 0;
        max-width: 100% !important;
    }
    .hero-content > p:nth-of-type(2) {
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 2px;
    }
    .hero-content > p:nth-of-type(2) .btn {
        min-width: 0;
    }
    .chip-row {
        gap: 8px;
        margin-top: 2px;
    }
    .chip {
        padding: 6px 10px;
        font-size: .78rem;
    }
    .hero-sidecard {
        padding: 12px;
        border-radius: 16px;
    }
    .hero-sidecard-actions {
        grid-template-columns: 1fr;
    }
    .hero-sidecard-contact a {
        justify-content: center;
        text-align: center;
    }
    .hero-controls button {
        top: auto;
        bottom: 18px;
        transform: none;
        width: 42px;
        height: 42px;
        font-size: 1rem;
    }
    .hero-controls button:hover {
        transform: scale(1.04);
    }
    #heroPrev { left: 18px; }
    #heroNext { right: 18px; }
    .buyer-list-row { flex-direction: column; }
    .buyer-search-grid, .buyer-tabs { grid-template-columns: 1fr; }
    .auth-glow, .auth-card { border-radius: 18px; padding: 18px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 4px; }
    .footer-bottom-right { flex-wrap: wrap; }
    .footer-brand-text { font-size: 1.1rem; }
    .footer-nav { grid-template-columns: 1fr; }
}

/* ── About Page ─────────────────────────────────────── */
.ab-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(140deg, #071522 0%, #0b2238 50%, #0c4a6e 100%);
    padding: 80px 0 64px;
    text-align: center;
    color: #fff;
}
.ab-hero-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(70px);
    pointer-events: none;
}
.ab-orb-1 { width: 420px; height: 420px; top: -160px; left: -100px; background: rgba(6,182,212,0.25); }
.ab-orb-2 { width: 360px; height: 360px; bottom: -120px; right: -80px; background: rgba(34,211,238,0.18); }
.ab-orb-3 { width: 280px; height: 280px; top: 40px; right: 20%; background: rgba(14,116,144,0.2); }
.ab-hero-inner { position: relative; z-index: 1; }
.ab-hero-inner .section-kicker { margin-bottom: 16px; display: inline-flex; }
.ab-hero-inner h1 {
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 800;
    font-family: "Manrope", sans-serif;
    margin: 10px 0 18px;
    line-height: 1.12;
}
.ab-hero-inner h1 span { color: #67e8f9; }
.ab-hero-inner > p { color: #bae6fd; max-width: 56ch; margin: 0 auto 28px; font-size: 1.05rem; line-height: 1.65; }
.ab-hero-pills {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.ab-hero-pills span {
    font-size: .8rem;
    font-weight: 700;
    color: #e0f2fe;
    background: rgba(6,182,212,0.2);
    border: 1px solid rgba(34,211,238,0.35);
    border-radius: 999px;
    padding: 6px 16px;
}

.ab-section { padding-top: 64px; }
.ab-section-head { text-align: center; margin-bottom: 40px; }
.ab-section-head h2 { font-size: clamp(1.6rem,2.8vw,2.3rem); font-family:"Manrope",sans-serif; margin: 8px 0 10px; }
.ab-section-head .muted { max-width: 52ch; margin: 0 auto; }

/* Mission & Vision */
.ab-mv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.ab-mv-card {
    border-radius: 24px;
    padding: 32px 28px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.ab-mv-mission {
    background: linear-gradient(145deg, #071522, #0b2238 60%, #0c4a6e);
    border: 1px solid rgba(6,182,212,0.25);
    box-shadow: 0 16px 48px rgba(6,182,212,0.14);
}
.ab-mv-vision {
    background: linear-gradient(145deg, #0a1628, #0e3554 60%, #0891b2);
    border: 1px solid rgba(34,211,238,0.2);
    box-shadow: 0 16px 48px rgba(34,211,238,0.1);
}
.ab-mv-card::after {
    content: '';
    position: absolute;
    width: 260px; height: 260px;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    right: -80px; bottom: -80px;
    pointer-events: none;
}
.ab-mv-icon {
    width: 52px; height: 52px;
    border-radius: 16px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.2);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
}
.ab-mv-tag {
    display: inline-flex;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.14);
    color: #e0f2fe;
    margin-bottom: 12px;
}
.ab-mv-card h3 { font-size: 1.28rem; font-weight: 800; margin: 0 0 12px; font-family: "Manrope",sans-serif; }
.ab-mv-card > p { color: #bae6fd; line-height: 1.65; margin: 0 0 16px; font-size: .93rem; }
.ab-mv-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.ab-mv-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .87rem;
    color: #e0f2fe;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
}
.ab-mv-list li::before {
    content: '✓';
    font-size: .78rem;
    font-weight: 800;
    color: #22d3ee;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: rgba(34,211,238,0.18);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

/* Stats */
.ab-stats-section {
    background: linear-gradient(135deg, #071522 0%, #0b2238 50%, #071a2e 100%);
    padding: 56px 0;
    margin-top: 48px;
    position: relative;
    overflow: hidden;
}
.ab-stats-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(6,182,212,0.12), transparent 65%);
    pointer-events: none;
}
.ab-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    position: relative;
    z-index: 1;
}
.ab-stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 24px 16px;
    border-radius: 20px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(6,182,212,0.2);
    text-align: center;
    transition: transform .2s, background .2s;
}
.ab-stat-card:hover { transform: translateY(-4px); background: rgba(6,182,212,0.08); }
.ab-stat-icon { font-size: 1.8rem; margin-bottom: 4px; }
.ab-stat-card b {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: #22d3ee;
    font-family: "Manrope",sans-serif;
    line-height: 1;
}
.ab-stat-card span { font-size: .82rem; color: #7dd3fc; font-weight: 600; }

/* Offer Grid */
.ab-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.ab-offer-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 4px 18px rgba(6,182,212,0.06);
    transition: transform .2s, box-shadow .2s;
    position: relative;
    overflow: hidden;
}
.ab-offer-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #06b6d4, #22d3ee);
    opacity: 0;
    transition: opacity .2s;
}
.ab-offer-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(6,182,212,0.12); }
.ab-offer-card:hover::before { opacity: 1; }
.ab-offer-icon {
    width: 50px; height: 50px;
    border-radius: 15px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}
.ab-offer-card h4 { margin: 0 0 8px; font-size: 1rem; font-weight: 800; color: var(--ink); }
.ab-offer-card > p { margin: 0; font-size: .86rem; color: var(--ink-soft); line-height: 1.6; }

/* Steps */
.ab-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
}
.ab-steps::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(12.5%);
    right: calc(12.5%);
    height: 2px;
    background: linear-gradient(90deg, #06b6d4, #22d3ee, #67e8f9, transparent);
    z-index: 0;
}
.ab-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 16px;
    position: relative;
    z-index: 1;
}
.ab-step-line { display: none; }
.ab-step-num {
    width: 56px; height: 56px;
    border-radius: 999px;
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
    box-shadow: 0 8px 24px rgba(6,182,212,0.35);
    border: 3px solid #f0f9ff;
    font-family: "Manrope",sans-serif;
}
.ab-step-body h4 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--ink); }
.ab-step-body p { margin: 0; font-size: .84rem; color: var(--ink-soft); line-height: 1.55; }

/* Values */
.ab-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.ab-value-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 26px 22px;
    box-shadow: 0 4px 14px rgba(6,182,212,0.05);
    transition: transform .2s, box-shadow .2s;
}
.ab-value-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(6,182,212,0.1); }
.ab-value-dot {
    width: 40px; height: 6px;
    border-radius: 999px;
    margin-bottom: 16px;
}
.ab-value-card h4 { margin: 0 0 8px; font-size: 1rem; font-weight: 800; color: var(--ink); }
.ab-value-card > p { margin: 0; font-size: .86rem; color: var(--ink-soft); line-height: 1.6; }

/* CTA */
.ab-cta-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(140deg, #071522 0%, #0b2238 50%, #0c4a6e 100%);
    padding: 80px 0 72px;
    text-align: center;
    color: #fff;
    margin-top: 64px;
}
.ab-cta-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(70px);
    pointer-events: none;
}
.ab-cta-orb-1 { width: 400px; height: 400px; top: -140px; left: -80px; background: rgba(6,182,212,0.22); }
.ab-cta-orb-2 { width: 340px; height: 340px; bottom: -100px; right: -60px; background: rgba(34,211,238,0.16); }
.ab-cta-inner { position: relative; z-index: 1; }
.ab-cta-inner h2 {
    font-size: clamp(1.7rem, 3.2vw, 2.6rem);
    font-weight: 800;
    font-family: "Manrope", sans-serif;
    margin: 12px 0 14px;
}
.ab-cta-inner > p { color: #bae6fd; max-width: 54ch; margin: 0 auto 30px; font-size: 1rem; line-height: 1.65; }
.ab-cta-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ab-btn-white {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 13px 28px;
    border-radius: 999px;
    font-weight: 800;
    font-size: .95rem;
    background: #fff;
    color: #0e7490;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
    transition: transform .15s, box-shadow .15s;
}
.ab-btn-white:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,0.24); }
.ab-btn-outline {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 13px 28px;
    border-radius: 999px;
    font-weight: 800;
    font-size: .95rem;
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
    text-decoration: none;
    transition: background .15s, border-color .15s;
}
.ab-btn-outline:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); }

/* About Responsive */
@media (max-width: 1100px) {
    .ab-stats-grid { grid-template-columns: repeat(3, 1fr); }
    .ab-offer-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-values-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
    .ab-mv-grid { grid-template-columns: 1fr; }
    .ab-steps { grid-template-columns: 1fr 1fr; }
    .ab-steps::before { display: none; }
    .ab-step { align-items: flex-start; text-align: left; flex-direction: row; gap: 16px; padding: 0 0 24px; }
    .ab-step-num { flex-shrink: 0; margin-bottom: 0; }
    .ab-hero-inner h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); }
}
@media (max-width: 640px) {
    .ab-offer-grid, .ab-values-grid { grid-template-columns: 1fr; }
    .ab-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-stats-grid .ab-stat-card:last-child { grid-column: 1 / -1; }
    .ab-steps { grid-template-columns: 1fr; }
    .ab-hero { padding: 56px 0 44px; }
    .ab-cta-section { padding: 56px 0 48px; }
    .ab-cta-btns { flex-direction: column; align-items: center; }
    .ab-btn-white, .ab-btn-outline { width: min(280px, 90vw); }
}

/* ══════════════════════════════════════════════════════════
   LP — Legal Pages (Terms of Service & Privacy Policy)
   Creative redesign — March 2026
══════════════════════════════════════════════════════════ */

/* Progress bar */
.lp-progress-bar {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    width: 0;
    background: linear-gradient(90deg, #06b6d4, #22d3ee, #059669);
    z-index: 9999;
    transition: width .1s linear;
    border-radius: 0 2px 2px 0;
}

/* HERO */
.lp-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(140deg, #071522 0%, #0b2238 45%, #0c3f6e 100%);
    padding: 90px 0 70px;
    text-align: center;
    color: #fff;
}
.lp-hero-privacy {
    background: linear-gradient(140deg, #071522 0%, #0b2238 40%, #064e3b 100%);
}
.lp-hero-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(6,182,212,0.18) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
}
.lp-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(80px);
    pointer-events: none;
}
.lp-orb-a { width: 440px; height: 440px; top: -160px; left: -100px; background: rgba(6,182,212,0.28); }
.lp-orb-b { width: 360px; height: 360px; bottom: -120px; right: -80px; background: rgba(34,211,238,0.18); }
.lp-orb-c { width: 280px; height: 280px; top: 60px; right: 22%; background: rgba(14,116,144,0.22); }
.lp-hero-inner { position: relative; z-index: 1; }

.lp-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #67e8f9;
    background: rgba(6,182,212,0.14);
    border: 1px solid rgba(6,182,212,0.35);
    border-radius: 999px;
    padding: 7px 16px;
    margin-bottom: 22px;
}
.lp-hero-badge-green { color: #6ee7b7; background: rgba(5,150,105,0.15); border-color: rgba(5,150,105,0.35); }

.lp-hero-title {
    font-size: clamp(2.2rem, 5vw, 3.8rem);
    font-weight: 900;
    font-family: "Manrope", sans-serif;
    margin: 0 0 18px;
    line-height: 1.08;
    letter-spacing: -.02em;
}
.lp-hero-title em { font-style: normal; color: #67e8f9; }
.lp-hero-sub {
    color: #bae6fd;
    max-width: 52ch;
    margin: 0 auto 32px;
    font-size: 1.05rem;
    line-height: 1.68;
}

.lp-hero-stats {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 12px 28px;
    margin-bottom: 26px;
    backdrop-filter: blur(6px);
    flex-wrap: wrap;
    justify-content: center;
}
.lp-hero-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 0 20px; }
.lp-hero-stat-num { font-size: 1.35rem; font-weight: 900; color: #fff; line-height: 1; }
.lp-hero-stat span:last-child { font-size: .72rem; font-weight: 600; color: #7dd3fc; text-transform: uppercase; letter-spacing: .06em; }
.lp-hero-stat-div { width: 1px; height: 32px; background: rgba(255,255,255,0.15); }

.lp-hero-pills { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.lp-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .79rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 7px 16px;
    border: 1px solid;
}
.lp-pill-cyan { color: #22d3ee; background: rgba(34,211,238,0.1); border-color: rgba(34,211,238,0.3); }
.lp-pill-green { color: #34d399; background: rgba(52,211,153,0.1); border-color: rgba(52,211,153,0.3); }
.lp-pill-blue { color: #93c5fd; background: rgba(147,197,253,0.1); border-color: rgba(147,197,253,0.3); }
.lp-pill-emerald { color: #6ee7b7; background: rgba(110,231,183,0.1); border-color: rgba(110,231,183,0.35); }

.lp-scroll-cue {
    position: absolute;
    bottom: 22px; left: 50%;
    transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    z-index: 1;
}
.lp-scroll-cue span { font-size: .72rem; font-weight: 600; color: rgba(186,230,253,0.6); letter-spacing: .06em; text-transform: uppercase; }
.lp-scroll-arrow {
    width: 18px; height: 18px;
    border-right: 2px solid rgba(186,230,253,0.4);
    border-bottom: 2px solid rgba(186,230,253,0.4);
    transform: rotate(45deg);
    animation: lp-bounce 1.6s ease-in-out infinite;
    margin-top: -4px;
}
@keyframes lp-bounce {
    0%, 100% { transform: rotate(45deg) translateY(0); opacity: .5; }
    50% { transform: rotate(45deg) translateY(4px); opacity: 1; }
}

/* FLOATING NAV */
.lp-float-nav {
    position: sticky;
    top: 66px;
    z-index: 30;
    background: rgba(7,21,34,0.92);
    border-bottom: 1px solid rgba(6,182,212,0.2);
    backdrop-filter: blur(14px);
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.lp-float-nav-show { max-height: 56px; }
.lp-float-nav-green { border-bottom-color: rgba(5,150,105,0.25); }
.lp-float-nav-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 46px;
    overflow: hidden;
}
.lp-float-nav-label {
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #67e8f9;
    white-space: nowrap;
}
.lp-float-nav-links {
    display: flex;
    gap: 2px;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
    flex: 1;
}
.lp-float-nav-links::-webkit-scrollbar { display: none; }
.lp-float-nav-links a {
    color: #7dd3fc;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 600;
    padding: 5px 11px;
    border-radius: 6px;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.lp-float-nav-links a:hover { background: rgba(6,182,212,0.15); color: #fff; }

/* BODY LAYOUT */
.lp-body { padding: 52px 0 80px; }
.lp-body-inner {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 44px;
    align-items: start;
}

/* SIDEBAR */
.lp-sidebar {
    position: sticky;
    top: 120px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.lp-sidebar-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.2);
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 4px 24px rgba(6,182,212,0.08);
}
.lp-sidebar-green { border-color: rgba(5,150,105,0.22); box-shadow: 0 4px 24px rgba(5,150,105,0.07); }
.lp-sidebar-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(6,182,212,0.1);
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ink);
}
.lp-sidebar-icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    display: flex; align-items: center; justify-content: center;
}
.lp-sidebar-icon-green { background: rgba(5,150,105,0.1); color: #059669; }

.lp-toc { display: flex; flex-direction: column; gap: 1px; }
.lp-toc-a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 9px;
    text-decoration: none;
    font-size: .79rem;
    font-weight: 600;
    color: var(--ink-soft);
    transition: background .14s, color .14s;
    line-height: 1.35;
}
.lp-toc-a:hover { background: rgba(6,182,212,0.08); color: #0e7490; }
.lp-toc-a.active { background: rgba(6,182,212,0.12); color: #0e7490; font-weight: 700; }
.lp-toc-num { font-size: .65rem; font-weight: 900; color: #06b6d4; width: 20px; flex-shrink: 0; }

.lp-sidebar-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    color: #fff !important;
    font-size: .8rem;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    transition: opacity .15s, transform .15s;
    box-shadow: 0 6px 18px rgba(6,182,212,0.3);
}
.lp-sidebar-cta:hover { opacity: .9; transform: translateY(-1px); }
.lp-sidebar-cta-green { background: linear-gradient(135deg, #059669, #047857); box-shadow: 0 6px 18px rgba(5,150,105,0.3); }

.lp-related-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid rgba(6,182,212,0.18);
    border-radius: 14px;
    text-decoration: none;
    color: var(--ink);
    box-shadow: 0 2px 12px rgba(6,182,212,0.06);
    transition: box-shadow .2s, border-color .2s;
}
.lp-related-card:hover { box-shadow: 0 8px 28px rgba(6,182,212,0.14); border-color: rgba(6,182,212,0.35); }
.lp-related-card-green { border-color: rgba(5,150,105,0.2); }
.lp-related-card-green:hover { box-shadow: 0 8px 28px rgba(5,150,105,0.14); border-color: rgba(5,150,105,0.4); }
.lp-related-icon {
    width: 36px; height: 36px; flex-shrink: 0;
    border-radius: 10px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    display: flex; align-items: center; justify-content: center;
}
.lp-related-icon-green { background: rgba(5,150,105,0.1); color: #059669; }
.lp-related-card strong { display: block; font-size: .85rem; color: var(--ink); }
.lp-related-card p { margin: 0; font-size: .75rem; color: var(--ink-soft); }
.lp-related-arrow { margin-left: auto; color: var(--ink-soft); flex-shrink: 0; }

.lp-promise-card {
    background: linear-gradient(145deg, #064e3b, #065f46);
    border-radius: 16px;
    padding: 18px;
    color: #fff;
}
.lp-promise-shield {
    width: 48px; height: 48px;
    border-radius: 14px;
    background: rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 12px;
    color: #6ee7b7;
}
.lp-promise-card h4 { margin: 0 0 10px; font-size: .9rem; font-weight: 800; color: #d1fae5; }
.lp-promise-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.lp-promise-card ul li { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: #a7f3d0; font-weight: 600; }
.lp-promise-card ul li svg { color: #34d399; flex-shrink: 0; }

/* MAIN */
.lp-main { min-width: 0; display: flex; flex-direction: column; gap: 20px; }

.lp-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: rgba(6,182,212,0.07);
    border: 1px solid rgba(6,182,212,0.22);
    border-left: 4px solid #06b6d4;
    border-radius: 14px;
    padding: 16px 20px;
    font-size: .9rem;
    color: #0e7490;
    line-height: 1.55;
}
.lp-banner-privacy { background: rgba(5,150,105,0.07); border-color: rgba(5,150,105,0.22); border-left-color: #059669; color: #059669; }
.lp-banner-terms { background: rgba(6,182,212,0.07); border-color: rgba(6,182,212,0.22); border-left-color: #06b6d4; color: #0e7490; }
.lp-banner-icon { flex-shrink: 0; margin-top: 1px; }
.lp-banner-text strong { font-weight: 800; }

/* SECTION CARDS */
.lp-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.12);
    border-radius: 20px;
    padding: 32px 30px 28px;
    box-shadow: 0 4px 24px rgba(6,182,212,0.06);
    position: relative;
    overflow: hidden;
    transition: box-shadow .25s;
}
.lp-card:hover { box-shadow: 0 10px 40px rgba(6,182,212,0.12); }

.lp-card-accent {
    position: absolute;
    top: 0; left: 0;
    width: 4px; height: 100%;
    background: var(--accent, #06b6d4);
    border-radius: 20px 0 0 20px;
}

.lp-card-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}
.lp-card-num {
    font-size: 2rem;
    font-weight: 900;
    color: var(--nc, #06b6d4);
    background: var(--nb, rgba(6,182,212,0.1));
    width: 54px; height: 54px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    font-family: "Manrope", sans-serif;
}
.lp-card-header > div:nth-child(2) { flex: 1; padding-top: 4px; }
.lp-card-label { margin: 0 0 3px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: var(--ink-soft); }
.lp-card-title { margin: 0; font-size: 1.4rem; font-weight: 800; color: var(--ink); font-family: "Manrope", sans-serif; }
.lp-card-icon {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: var(--ic, rgba(6,182,212,0.1));
    color: var(--icc, #0e7490);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 4px;
}
.lp-card > p { margin: 0 0 16px; color: var(--ink-soft); line-height: 1.72; font-size: .93rem; }
.lp-card > p:last-child { margin-bottom: 0; }

/* CHECKLIST */
.lp-checklist { margin: 0 0 16px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.lp-checklist li {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 14px;
    background: rgba(6,182,212,0.04);
    border: 1px solid rgba(6,182,212,0.1);
    border-radius: 10px;
    font-size: .9rem; color: var(--ink-soft); line-height: 1.55;
}
.lp-checklist li svg { flex-shrink: 0; margin-top: 2px; color: #06b6d4; }
.lp-checklist-amber li { background: rgba(217,119,6,0.04); border-color: rgba(217,119,6,0.12); }
.lp-checklist-amber li svg { color: #d97706; }

/* NOTES */
.lp-note {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 13px 16px; border-radius: 12px;
    font-size: .85rem; font-weight: 600; line-height: 1.55;
    margin-top: 16px; border: 1px solid;
}
.lp-note svg { flex-shrink: 0; margin-top: 1px; }
.lp-note-cyan { background: rgba(6,182,212,0.07); border-color: rgba(6,182,212,0.2); color: #0e7490; }
.lp-note-blue { background: rgba(8,145,178,0.07); border-color: rgba(8,145,178,0.2); color: #0369a1; }
.lp-note-amber { background: rgba(217,119,6,0.07); border-color: rgba(217,119,6,0.22); color: #92400e; }
.lp-note-red { background: rgba(220,38,38,0.06); border-color: rgba(220,38,38,0.2); color: #991b1b; }
.lp-note-green { background: rgba(5,150,105,0.07); border-color: rgba(5,150,105,0.22); color: #065f46; }

/* SERVICES GRID */
.lp-services-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 16px 0; }
.lp-svc {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 14px;
    background: #f8fafc; border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
    font-size: .85rem; line-height: 1.4;
}
.lp-svc-dot { width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lp-svc > div strong { display: block; font-size: .84rem; color: var(--ink); margin-bottom: 2px; }
.lp-svc > div span { font-size: .79rem; color: var(--ink-soft); }

/* ROLES GRID */
.lp-roles-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 18px 0; }
.lp-role {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 14px 10px; border-radius: 12px; border: 1px solid;
    font-size: .76rem; font-weight: 700; text-align: center;
}
.lp-role-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: .85rem; font-weight: 900; color: #fff; }
.lp-role-buyer { color: #0e7490; border-color: rgba(6,182,212,0.25); background: rgba(6,182,212,0.05); }
.lp-role-buyer .lp-role-icon { background: linear-gradient(135deg,#06b6d4,#22d3ee); }
.lp-role-owner { color: #059669; border-color: rgba(5,150,105,0.25); background: rgba(5,150,105,0.05); }
.lp-role-owner .lp-role-icon { background: linear-gradient(135deg,#059669,#34d399); }
.lp-role-agent { color: #d97706; border-color: rgba(217,119,6,0.25); background: rgba(217,119,6,0.05); }
.lp-role-agent .lp-role-icon { background: linear-gradient(135deg,#d97706,#fbbf24); }
.lp-role-admin { color: #7c3aed; border-color: rgba(124,58,237,0.25); background: rgba(124,58,237,0.05); }
.lp-role-admin .lp-role-icon { background: linear-gradient(135deg,#7c3aed,#a78bfa); }

/* PROHIBITED GRID */
.lp-prohibit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin: 16px 0; }
.lp-prohibit {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 14px; background: rgba(220,38,38,0.04);
    border: 1px solid rgba(220,38,38,0.12); border-radius: 11px;
    font-size: .84rem; color: var(--ink-soft); line-height: 1.5;
}
.lp-prohibit-x {
    flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
    background: rgba(220,38,38,0.12); color: #dc2626;
    font-size: .72rem; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
}

/* FREE BADGE */
.lp-free-badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg,rgba(5,150,105,0.12),rgba(52,211,153,0.08));
    border: 1px solid rgba(5,150,105,0.3); border-radius: 12px;
    font-size: .88rem; font-weight: 800; color: #059669; margin-bottom: 16px;
}

/* COMPACT GRID */
.lp-compact-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.lp-compact-card {
    background: #fff; border: 1px solid rgba(6,182,212,0.12);
    border-radius: 16px; padding: 22px 20px;
    box-shadow: 0 2px 12px rgba(6,182,212,0.05); transition: box-shadow .2s;
}
.lp-compact-card:hover { box-shadow: 0 8px 28px rgba(6,182,212,0.1); }
.lp-compact-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.lp-compact-num { font-size: 1.5rem; font-weight: 900; font-family: "Manrope",sans-serif; line-height: 1; }
.lp-compact-top h3 { flex: 1; margin: 0; font-size: .95rem; font-weight: 800; color: var(--ink); }
.lp-compact-icon { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lp-compact-card > p { margin: 0 0 12px; font-size: .86rem; color: var(--ink-soft); line-height: 1.6; }
.lp-compact-note { padding: 10px 12px; border-radius: 9px; border-left: 3px solid; font-size: .8rem; font-weight: 600; line-height: 1.5; }
.lp-compact-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: .83rem; color: var(--ink-soft); line-height: 1.5; }
.lp-compact-list li { padding: 6px 10px; background: rgba(6,182,212,0.04); border-radius: 7px; }

/* CONTACT ROW */
.lp-contact-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 20px 0; }
.lp-contact-item {
    display: flex; align-items: center; gap: 12px;
    padding: 16px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.14); border-radius: 14px;
}
.lp-contact-ico {
    width: 38px; height: 38px; border-radius: 10px;
    background: rgba(6,182,212,0.1); color: #0e7490;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.lp-contact-item span { display: block; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #06b6d4; margin-bottom: 2px; }
.lp-contact-item strong { font-size: .84rem; color: var(--ink); }

/* BOTTOM ACTIONS */
.lp-bottom-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lp-action-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 22px; border-radius: 12px;
    font-size: .85rem; font-weight: 700; text-decoration: none;
    transition: transform .15s, box-shadow .15s; border: 2px solid transparent;
}
.lp-action-btn:hover { transform: translateY(-2px); }
.lp-action-cyan { background: linear-gradient(135deg,#06b6d4,#0e7490); color: #fff !important; box-shadow: 0 6px 20px rgba(6,182,212,0.3); }
.lp-action-cyan:hover { box-shadow: 0 10px 28px rgba(6,182,212,0.4); }
.lp-action-green { background: linear-gradient(135deg,#059669,#047857); color: #fff !important; box-shadow: 0 6px 20px rgba(5,150,105,0.28); }
.lp-action-green:hover { box-shadow: 0 10px 28px rgba(5,150,105,0.38); }
.lp-action-outline { background: transparent; color: #0e7490 !important; border-color: rgba(6,182,212,0.3); }
.lp-action-outline:hover { background: rgba(6,182,212,0.06); }

/* PRIVACY OVERVIEW SUMMARY */
.lp-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 20px 0; }
.lp-summary-item {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 16px 10px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
    font-size: .78rem; font-weight: 700; color: var(--ink-soft); text-align: center;
}
.lp-summary-icon { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }

/* DATA CARDS */
.lp-data-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 16px 0; }
.lp-data-card {
    background: #f8fafc; border: 1px solid rgba(6,182,212,0.12);
    border-top: 3px solid var(--dcb,#06b6d4); border-radius: 12px; padding: 16px;
    font-size: .84rem; color: var(--ink-soft); line-height: 1.5;
}
.lp-data-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.lp-data-tag { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.lp-data-when { font-size: .7rem; font-weight: 600; color: var(--ink-soft); opacity: .7; }
.lp-data-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.lp-data-card ul li { display: flex; align-items: flex-start; gap: 6px; }
.lp-data-card ul li::before { content: "·"; color: var(--dcb,#06b6d4); font-weight: 900; font-size: 1.2em; line-height: 1.2; flex-shrink: 0; }

/* USE LIST */
.lp-use-list { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.lp-use-item {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 13px 16px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 11px;
    font-size: .88rem; color: var(--ink-soft); line-height: 1.55;
}
.lp-use-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 7px; }
.lp-use-item strong { color: var(--ink); }

/* NO-SELL BADGE */
.lp-no-sell-badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 20px;
    background: linear-gradient(135deg,rgba(5,150,105,0.12),rgba(52,211,153,0.07));
    border: 1px solid rgba(5,150,105,0.3); border-radius: 12px;
    font-size: .9rem; font-weight: 800; color: #059669; margin-bottom: 16px;
}

/* SHARING GRID */
.lp-share-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 16px 0; }
.lp-share-item {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 14px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
}
.lp-share-icon { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.lp-share-item strong { display: block; font-size: .86rem; color: var(--ink); margin-bottom: 4px; }
.lp-share-item p { margin: 0; font-size: .8rem; color: var(--ink-soft); line-height: 1.5; }

/* COOKIE GRID */
.lp-cookie-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 16px 0; }
.lp-cookie-type {
    padding: 16px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
    font-size: .85rem; color: var(--ink-soft); line-height: 1.55;
}
.lp-cookie-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: .72rem; font-weight: 800; margin-bottom: 8px; }
.lp-cookie-type p { margin: 0; }

/* SECURITY GRID */
.lp-security-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 16px 0; }
.lp-security-item {
    padding: 18px; background: #fff;
    border: 1px solid rgba(6,182,212,0.12); border-radius: 14px;
    box-shadow: 0 2px 10px rgba(6,182,212,0.05); transition: box-shadow .2s;
}
.lp-security-item:hover { box-shadow: 0 6px 22px rgba(6,182,212,0.1); }
.lp-security-icon { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.lp-security-item strong { display: block; font-size: .88rem; color: var(--ink); margin-bottom: 6px; }
.lp-security-item p { margin: 0; font-size: .81rem; color: var(--ink-soft); line-height: 1.5; }

/* RIGHTS GRID */
.lp-rights-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 16px 0; }
.lp-right {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 18px 14px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.12); border-radius: 14px;
    text-align: center; font-size: .82rem; transition: box-shadow .2s;
}
.lp-right:hover { box-shadow: 0 6px 20px rgba(6,182,212,0.1); }
.lp-right-icon { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; }
.lp-right strong { font-size: .88rem; color: var(--ink); font-weight: 800; }
.lp-right p { margin: 0; color: var(--ink-soft); line-height: 1.45; font-size: .79rem; }

/* RESPONSIVE */
@media (max-width: 1100px) {
    .lp-body-inner { grid-template-columns: 200px 1fr; gap: 28px; }
    .lp-roles-grid { grid-template-columns: repeat(2,1fr); }
    .lp-summary-grid { grid-template-columns: repeat(2,1fr); }
    .lp-rights-grid { grid-template-columns: repeat(2,1fr); }
    .lp-cookie-grid { grid-template-columns: repeat(2,1fr); }
    .lp-contact-row { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .lp-body-inner { grid-template-columns: 1fr; }
    .lp-sidebar { position: static; }
    .lp-sidebar-card { display: none; }
    .lp-promise-card { display: none; }
    .lp-hero { padding: 70px 0 60px; }
    .lp-hero-stat-div { display: none; }
    .lp-hero-stats { gap: 16px; }
}
@media (max-width: 640px) {
    .lp-hero { padding: 56px 0 50px; }
    .lp-services-grid, .lp-data-cards, .lp-share-grid, .lp-security-grid { grid-template-columns: 1fr; }
    .lp-prohibit-grid { grid-template-columns: 1fr; }
    .lp-compact-grid { grid-template-columns: 1fr; }
    .lp-roles-grid { grid-template-columns: repeat(2,1fr); }
    .lp-rights-grid, .lp-summary-grid, .lp-cookie-grid { grid-template-columns: 1fr; }
    .lp-card { padding: 22px 18px 20px; }
    .lp-card-title { font-size: 1.2rem; }
    .lp-card-num { width: 44px; height: 44px; font-size: 1.5rem; }
    .lp-bottom-actions { flex-direction: column; }
    .lp-action-btn { width: 100%; justify-content: center; }
    .lp-hero-stats { flex-direction: column; gap: 10px; padding: 16px 20px; }
    .lp-float-nav-inner { gap: 8px; }
}

/* ══════════════════════════════════════════════════════════
   TS — Terms of Service Creative Redesign
   Animated timeline layout — March 2026
══════════════════════════════════════════════════════════ */

/* Reading progress */
.ts-progress {
    position: fixed; top: 0; left: 0;
    height: 3px; width: 0;
    background: linear-gradient(90deg, #06b6d4 0%, #22d3ee 50%, #a78bfa 100%);
    z-index: 9999;
    transition: width .1s linear;
    box-shadow: 0 0 10px rgba(6,182,212,0.6);
}

/* ── HERO ─────────────────────────────────────── */
.ts-hero {
    position: relative;
    overflow: hidden;
    background: #071522;
    min-height: 92vh;
    display: flex;
    align-items: center;
}

/* Particle canvas */
.ts-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

/* Animated grid lines */
.ts-hero-lines {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: space-around;
    pointer-events: none;
    overflow: hidden;
}
.ts-hero-lines > div {
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom,
        transparent 0%,
        rgba(6,182,212,0.12) 30%,
        rgba(6,182,212,0.08) 70%,
        transparent 100%);
    animation: ts-line-pulse 4s ease-in-out infinite;
}
.ts-hero-lines > div:nth-child(2) { animation-delay: .8s; }
.ts-hero-lines > div:nth-child(3) { animation-delay: 1.6s; }
.ts-hero-lines > div:nth-child(4) { animation-delay: 2.4s; }
.ts-hero-lines > div:nth-child(5) { animation-delay: 3.2s; }
@keyframes ts-line-pulse {
    0%, 100% { opacity: .4; }
    50% { opacity: 1; }
}

/* Orbs */
.ts-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(90px);
    animation: ts-orb-drift 8s ease-in-out infinite;
}
.ts-orb-1 { width: 500px; height: 500px; top: -180px; left: -120px; background: rgba(6,182,212,0.22); }
.ts-orb-2 { width: 380px; height: 380px; bottom: -100px; right: -80px; background: rgba(34,211,238,0.16); animation-delay: 2.5s; animation-direction: alternate-reverse; }
.ts-orb-3 { width: 260px; height: 260px; top: 40%; left: 55%; background: rgba(124,58,237,0.14); animation-delay: 5s; }
@keyframes ts-orb-drift {
    0%, 100% { transform: translate(0,0) scale(1); }
    33% { transform: translate(30px, -20px) scale(1.05); }
    66% { transform: translate(-20px, 30px) scale(.95); }
}

/* Hero content */
.ts-hero-content {
    position: relative;
    z-index: 2;
    padding: 80px 0 100px;
    color: #fff;
    text-align: center;
}

/* Entrance animations */
.ts-anim-fade-up {
    opacity: 0;
    transform: translateY(28px);
    animation: ts-fade-up .7s ease forwards;
    animation-delay: var(--d, 0s);
}
@keyframes ts-fade-up {
    to { opacity: 1; transform: translateY(0); }
}

/* Badge */
.ts-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #67e8f9;
    background: rgba(6,182,212,0.12);
    border: 1px solid rgba(6,182,212,0.3);
    border-radius: 999px;
    padding: 8px 18px;
    margin-bottom: 24px;
}
.ts-badge-pulse {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #22d3ee;
    box-shadow: 0 0 0 0 rgba(34,211,238,0.7);
    animation: ts-pulse 1.8s ease-out infinite;
}
@keyframes ts-pulse {
    0% { box-shadow: 0 0 0 0 rgba(34,211,238,0.7); }
    70% { box-shadow: 0 0 0 8px rgba(34,211,238,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,211,238,0); }
}

/* Title */
.ts-hero-h1 {
    font-size: clamp(2.6rem, 6vw, 4.8rem);
    font-weight: 900;
    font-family: "Manrope", sans-serif;
    margin: 0 0 20px;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: #fff;
}
.ts-gradient-text {
    background: linear-gradient(135deg, #22d3ee 0%, #67e8f9 40%, #a78bfa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ts-hero-desc {
    color: #94a3b8;
    max-width: 50ch;
    margin: 0 auto 36px;
    font-size: 1.05rem;
    line-height: 1.7;
}

/* Stat cards */
.ts-hero-stats {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.ts-stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 18px 22px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    min-width: 110px;
    transition: background .2s, border-color .2s, transform .2s;
}
.ts-stat-card:hover {
    background: rgba(6,182,212,0.12);
    border-color: rgba(6,182,212,0.35);
    transform: translateY(-3px);
}
.ts-stat-icon {
    width: 34px; height: 34px;
    border-radius: 10px;
    background: rgba(6,182,212,0.15);
    color: #22d3ee;
    display: flex; align-items: center; justify-content: center;
}
.ts-stat-card b { font-size: 1.3rem; font-weight: 900; color: #fff; line-height: 1; }
.ts-stat-card span { font-size: .7rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: .07em; }

/* Trust pills */
.ts-trust-pills {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 44px;
}
.ts-trust-pills span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .79rem;
    font-weight: 700;
    color: #7dd3fc;
    background: rgba(6,182,212,0.08);
    border: 1px solid rgba(6,182,212,0.2);
    border-radius: 999px;
    padding: 6px 14px;
}
.ts-trust-pills span svg { color: #22d3ee; }

/* Scroll cue */
.ts-scroll-cue {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(100,116,139,.6);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ts-scroll-mouse {
    width: 22px; height: 36px;
    border: 2px solid rgba(100,116,139,.4);
    border-radius: 999px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 5px;
}
.ts-scroll-dot {
    width: 4px; height: 8px;
    border-radius: 999px;
    background: #22d3ee;
    animation: ts-scroll 2s ease-in-out infinite;
}
@keyframes ts-scroll {
    0%, 100% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(12px); opacity: .2; }
}

/* ── BODY LAYOUT ─────────────────────────────── */
.ts-body { background: var(--bg); padding: 56px 0 88px; }
.ts-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: start;
}

/* ── SIDEBAR ─────────────────────────────────── */
.ts-sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ts-toc-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.16);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 6px 32px rgba(6,182,212,0.08);
}
.ts-toc-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    background: linear-gradient(135deg, #071522, #0b2238);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #67e8f9;
}
.ts-toc-logo {
    width: 26px; height: 26px;
    border-radius: 7px;
    background: rgba(6,182,212,0.2);
    display: flex; align-items: center; justify-content: center;
    color: #22d3ee;
}

/* TOC progress track */
.ts-toc-track {
    position: relative;
    height: 3px;
    background: rgba(6,182,212,0.1);
    overflow: hidden;
}
.ts-toc-track-fill {
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(180deg, #06b6d4, #22d3ee);
    transition: height .2s ease;
}

/* TOC nav */
.ts-toc-nav {
    display: flex;
    flex-direction: column;
    padding: 8px 8px 0;
}
.ts-toc-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 9px;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 600;
    color: var(--ink-soft);
    transition: background .14s, color .14s, padding-left .14s;
    position: relative;
}
.ts-toc-item::before {
    content: attr(data-num);
    font-size: .62rem;
    font-weight: 900;
    color: #06b6d4;
    opacity: .5;
    width: 18px;
    flex-shrink: 0;
    transition: opacity .14s;
}
.ts-toc-item:hover { background: rgba(6,182,212,0.08); color: #0e7490; padding-left: 14px; }
.ts-toc-item:hover::before { opacity: 1; }
.ts-toc-active { background: rgba(6,182,212,0.12) !important; color: #0e7490 !important; font-weight: 700 !important; padding-left: 14px !important; }
.ts-toc-active::before { opacity: 1 !important; }
.ts-toc-bottom-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    font-size: .79rem;
    font-weight: 700;
    color: #0e7490;
    text-decoration: none;
    border-top: 1px solid rgba(6,182,212,0.1);
    margin-top: 6px;
    transition: background .15s;
    background: rgba(6,182,212,0.04);
}
.ts-toc-bottom-link:hover { background: rgba(6,182,212,0.1); }

.ts-info-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.14);
    border-radius: 16px;
    overflow: hidden;
}
.ts-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    font-size: .8rem;
    border-bottom: 1px solid rgba(6,182,212,0.08);
}
.ts-info-row:last-child { border-bottom: none; }
.ts-info-row span { color: var(--ink-soft); }
.ts-info-row b { color: var(--ink); font-weight: 700; }

/* ── TIMELINE ─────────────────────────────────── */
.ts-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

/* Vertical spine */
.ts-timeline::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 80px;
    bottom: 80px;
    width: 2px;
    background: linear-gradient(to bottom,
        transparent,
        rgba(6,182,212,0.3) 10%,
        rgba(6,182,212,0.3) 90%,
        transparent);
    pointer-events: none;
}

/* Alert banner */
.ts-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(6,182,212,0.07);
    border: 1px solid rgba(6,182,212,0.22);
    border-left: 4px solid #06b6d4;
    border-radius: 14px;
    padding: 15px 18px;
    font-size: .88rem;
    color: #0e7490;
    line-height: 1.55;
    margin-bottom: 32px;
}
.ts-alert-icon { flex-shrink: 0; margin-top: 1px; }
.ts-alert strong { font-weight: 800; }

/* Section wrapper */
.ts-section {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 20px;
    padding-bottom: 28px;
    position: relative;
}

/* Timeline node */
.ts-section-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 18px;
    position: relative;
    z-index: 2;
}
.ts-marker-ring {
    position: absolute;
    top: 18px;
    width: 42px; height: 42px;
    border-radius: 50%;
    border: 2px solid var(--mc, #06b6d4);
    opacity: .25;
    animation: ts-ring-pulse 2.5s ease-out infinite;
}
@keyframes ts-ring-pulse {
    0% { transform: scale(1); opacity: .25; }
    70% { transform: scale(1.6); opacity: 0; }
    100% { transform: scale(1); opacity: 0; }
}
.ts-section-marker > span {
    width: 42px; height: 42px;
    border-radius: 50%;
    background: var(--mc, #06b6d4);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(6,182,212,0.4);
    position: relative;
    z-index: 1;
    transition: transform .2s, box-shadow .2s;
}
.ts-section:hover .ts-section-marker > span {
    transform: scale(1.12);
    box-shadow: 0 6px 22px rgba(6,182,212,0.55);
}

/* Section card */
.ts-section-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.12);
    border-radius: 20px;
    padding: 28px 26px 24px;
    box-shadow: 0 4px 22px rgba(6,182,212,0.06);
    position: relative;
    overflow: hidden;
    transition: box-shadow .25s, transform .25s;
}
.ts-section-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--bca, rgba(6,182,212,0.04));
    opacity: 0;
    transition: opacity .25s;
    pointer-events: none;
}
.ts-section-card:hover { box-shadow: 0 12px 44px rgba(6,182,212,0.13); transform: translateY(-2px); }
.ts-section-card:hover::before { opacity: 1; }

/* Card connector arrow */
.ts-section-card::after {
    content: "";
    position: absolute;
    top: 26px; left: -8px;
    width: 14px; height: 14px;
    background: #fff;
    border-left: 1px solid rgba(6,182,212,0.14);
    border-bottom: 1px solid rgba(6,182,212,0.14);
    transform: rotate(45deg);
}

/* Accent line */
.ts-section-card { border-left: 3px solid var(--bc, #06b6d4); border-radius: 0 20px 20px 0; }

/* Section head */
.ts-section-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.ts-section-icon {
    width: 46px; height: 46px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 16px rgba(6,182,212,0.25);
}
.ts-section-kicker {
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--ink-soft);
    margin: 0 0 4px;
}
.ts-section-head h2 { margin: 0; font-size: 1.35rem; font-weight: 800; color: var(--ink); font-family: "Manrope",sans-serif; }

.ts-section-card > p { margin: 0 0 14px; color: var(--ink-soft); line-height: 1.72; font-size: .92rem; }
.ts-section-card > p:last-child { margin-bottom: 0; }

/* Callout */
.ts-callout {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.55;
    margin-top: 16px;
    border: 1px solid;
}
.ts-callout svg { flex-shrink: 0; margin-top: 1px; }
.ts-callout-cyan { background: rgba(6,182,212,0.07); border-color: rgba(6,182,212,0.2); color: #0e7490; }
.ts-callout-amber { background: rgba(217,119,6,0.07); border-color: rgba(217,119,6,0.22); color: #92400e; }
.ts-callout-red { background: rgba(220,38,38,0.06); border-color: rgba(220,38,38,0.2); color: #991b1b; }

/* ── SERVICES MOSAIC ─────────────────────────── */
.ts-services-mosaic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 10px;
    margin: 18px 0;
}
.ts-svc-tile {
    background: var(--tc, linear-gradient(135deg,#06b6d4,#0891b2));
    border-radius: 14px;
    padding: 18px 16px;
    color: #fff;
    transition: transform .2s, box-shadow .2s;
    cursor: default;
}
.ts-svc-tile:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 10px 28px rgba(0,0,0,0.18); }
.ts-svc-tile.ts-svc-lg { grid-column: span 2; padding: 22px 20px; }
.ts-svc-tile svg { margin-bottom: 10px; display: block; }
.ts-svc-tile strong { display: block; font-size: .88rem; font-weight: 800; margin-bottom: 4px; }
.ts-svc-tile p { margin: 0; font-size: .78rem; opacity: .85; line-height: 1.45; }

/* ── ROLES ────────────────────────────────────── */
.ts-roles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 18px 0;
}
.ts-role {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 16px 10px;
    background: var(--rl, rgba(6,182,212,0.06));
    border: 1px solid rgba(6,182,212,0.14);
    border-radius: 14px;
    transition: transform .2s, box-shadow .2s;
}
.ts-role:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(6,182,212,0.12); }
.ts-role-avatar {
    width: 40px; height: 40px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 900; font-size: .88rem;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}
.ts-role strong { display: block; font-size: .8rem; color: var(--ink); }
.ts-role span { font-size: .74rem; color: var(--ink-soft); line-height: 1.4; }

/* ── CHECK GRID ──────────────────────────────── */
.ts-check-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 16px 0;
}
.ts-check-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: .84rem;
    border: 1px solid;
    transition: transform .15s;
}
.ts-check-item:hover { transform: translateX(3px); }
.ts-check-yes { background: rgba(5,150,105,0.05); border-color: rgba(5,150,105,0.18); color: var(--ink-soft); }
.ts-check-no { background: rgba(220,38,38,0.04); border-color: rgba(220,38,38,0.15); color: var(--ink-soft); }
.ts-check-ico {
    width: 24px; height: 24px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ts-ico-yes { background: rgba(5,150,105,0.15); color: #059669; }
.ts-ico-no { background: rgba(220,38,38,0.12); color: #dc2626; }

/* ── PROHIBITED LIST ─────────────────────────── */
.ts-prohibit-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 16px 0;
}
.ts-prohibit-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    background: rgba(220,38,38,0.04);
    border: 1px solid rgba(220,38,38,0.12);
    border-left: 3px solid #dc2626;
    border-radius: 0 12px 12px 0;
    transition: background .2s, transform .2s;
}
.ts-prohibit-item:hover { background: rgba(220,38,38,0.08); transform: translateX(3px); }
.ts-prohibit-badge {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(220,38,38,0.15);
    color: #dc2626;
    font-size: .75rem;
    font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}
.ts-prohibit-item strong { display: block; font-size: .84rem; color: var(--ink); margin-bottom: 3px; font-weight: 700; }
.ts-prohibit-item p { margin: 0; font-size: .79rem; color: var(--ink-soft); line-height: 1.45; }

/* ── FREE HERO ───────────────────────────────── */
.ts-free-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(135deg, rgba(5,150,105,0.1) 0%, rgba(52,211,153,0.06) 100%);
    border: 1px solid rgba(5,150,105,0.3);
    border-radius: 14px;
    margin-bottom: 18px;
}
.ts-free-icon {
    width: 56px; height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, #059669, #34d399);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 20px rgba(5,150,105,0.3);
}
.ts-free-hero strong { display: block; font-size: 1.05rem; color: #059669; font-weight: 800; margin-bottom: 4px; }
.ts-free-hero p { margin: 0; font-size: .86rem; color: var(--ink-soft); line-height: 1.5; }

/* ── COMPACT CARDS (07-11) ───────────────────── */
.ts-compact-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding-left: 64px;
    margin-bottom: 28px;
}
.ts-compact {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.12);
    border-top: 3px solid var(--cc, #06b6d4);
    border-radius: 0 0 16px 16px;
    padding: 18px 18px 16px;
    box-shadow: 0 3px 16px rgba(6,182,212,0.06);
    transition: box-shadow .2s, transform .2s;
}
.ts-compact:hover { box-shadow: 0 8px 28px rgba(6,182,212,0.11); transform: translateY(-3px); }
.ts-compact-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.ts-compact-num {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--cc, #06b6d4);
    font-family: "Manrope",sans-serif;
    line-height: 1;
}
.ts-compact-icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ts-compact-head h3 { margin: 0; font-size: .9rem; font-weight: 800; color: var(--ink); flex: 1; }
.ts-compact > p { margin: 0; font-size: .83rem; color: var(--ink-soft); line-height: 1.62; }
.ts-compact > p em { font-style: italic; }
.ts-compact > p strong { color: var(--ink); }

/* ── CONTACT SECTION ─────────────────────────── */
.ts-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 20px 0;
}
.ts-contact-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 18px 14px;
    background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.14);
    border-radius: 14px;
    transition: box-shadow .2s, transform .2s;
}
.ts-contact-item:hover { box-shadow: 0 6px 20px rgba(6,182,212,0.1); transform: translateY(-2px); }
.ts-contact-icon {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    display: flex; align-items: center; justify-content: center;
}
.ts-contact-item span { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #06b6d4; }
.ts-contact-item strong { font-size: .86rem; color: var(--ink); font-weight: 700; }

/* CTA row */
.ts-cta-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.ts-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 22px; border-radius: 12px;
    font-size: .85rem; font-weight: 700; text-decoration: none;
    transition: transform .15s, box-shadow .15s; border: 2px solid transparent;
}
.ts-btn:hover { transform: translateY(-2px); }
.ts-btn-cyan { background: linear-gradient(135deg,#06b6d4,#0e7490); color: #fff !important; box-shadow: 0 6px 20px rgba(6,182,212,0.3); }
.ts-btn-cyan:hover { box-shadow: 0 10px 28px rgba(6,182,212,0.45); }
.ts-btn-green { background: linear-gradient(135deg,#059669,#047857); color: #fff !important; box-shadow: 0 6px 20px rgba(5,150,105,0.28); }
.ts-btn-green:hover { box-shadow: 0 10px 28px rgba(5,150,105,0.4); }
.ts-btn-outline { background: transparent; color: #0e7490 !important; border-color: rgba(6,182,212,0.3); }
.ts-btn-outline:hover { background: rgba(6,182,212,0.06); }

/* ── SCROLL REVEAL ───────────────────────────── */
.ts-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease, transform .6s ease;
}
.ts-revealed { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width: 1100px) {
    .ts-layout { grid-template-columns: 220px 1fr; gap: 28px; }
    .ts-roles { grid-template-columns: repeat(2, 1fr); }
    .ts-services-mosaic { grid-template-columns: repeat(2, 1fr); }
    .ts-svc-tile.ts-svc-lg { grid-column: span 2; }
}
@media (max-width: 900px) {
    .ts-layout { grid-template-columns: 1fr; }
    .ts-sidebar { position: static; }
    .ts-toc-card { display: none; }
    .ts-timeline::before { display: none; }
    .ts-section { grid-template-columns: 1fr; }
    .ts-section-marker { display: none; }
    .ts-section-card { border-left: 3px solid var(--bc,#06b6d4); border-radius: 16px; }
    .ts-section-card::after { display: none; }
    .ts-compact-row { padding-left: 0; }
    .ts-hero { min-height: 70vh; }
    .ts-contact-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .ts-hero-content { padding: 60px 0 80px; }
    .ts-hero-h1 { font-size: 2.4rem; }
    .ts-services-mosaic, .ts-prohibit-list { grid-template-columns: 1fr; }
    .ts-svc-tile.ts-svc-lg { grid-column: span 1; }
    .ts-compact-row { grid-template-columns: 1fr; }
    .ts-roles { grid-template-columns: repeat(2,1fr); }
    .ts-check-grid { grid-template-columns: 1fr; }
    .ts-contact-grid { grid-template-columns: 1fr; }
    .ts-hero-stats { gap: 8px; }
    .ts-stat-card { min-width: 90px; padding: 14px 16px; }
    .ts-cta-row { flex-direction: column; }
    .ts-btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   PP — Privacy Policy Creative Redesign
   Emerald / Shield theme — March 2026
══════════════════════════════════════════════════════════ */

/* Progress bar */
.pp-progress {
    position: fixed; top: 0; left: 0;
    height: 3px; width: 0;
    background: linear-gradient(90deg, #06b6d4 0%, #22d3ee 50%, #06b6d4 100%);
    z-index: 9999;
    transition: width .1s linear;
    box-shadow: 0 0 10px rgba(6,182,212,0.6);
}

/* HERO */
.pp-hero {
    position: relative;
    overflow: hidden;
    background: #071522;
    min-height: 88vh;
    display: flex;
    align-items: center;
}

/* Hex grid bg */
.pp-hex-bg {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        radial-gradient(circle, rgba(34,211,238,0.6) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
}

/* Animated rings */
.pp-rings { position: absolute; inset: 0; pointer-events: none; }
.pp-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(34,211,238,0.15);
    top: 50%; left: 60%;
    transform: translate(-50%, -50%);
}
.pp-ring-1 { width: 280px; height: 280px; animation: pp-ring-expand 4s ease-out infinite; }
.pp-ring-2 { width: 420px; height: 420px; animation: pp-ring-expand 4s ease-out infinite .8s; }
.pp-ring-3 { width: 560px; height: 560px; animation: pp-ring-expand 4s ease-out infinite 1.6s; }
@keyframes pp-ring-expand {
    0% { opacity: .6; transform: translate(-50%,-50%) scale(.92); }
    100% { opacity: 0; transform: translate(-50%,-50%) scale(1.1); }
}

/* Canvas */
.pp-canvas { position: absolute; inset: 0; pointer-events: none; }

/* Hero layout */
.pp-hero-inner {
    position: relative; z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    padding: 80px 0 90px;
    color: #fff;
}

/* Hero text */
.pp-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .74rem; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    color: #67e8f9;
    background: rgba(34,211,238,0.12);
    border: 1px solid rgba(34,211,238,0.3);
    border-radius: 999px;
    padding: 8px 18px;
    margin-bottom: 22px;
}
.pp-live-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: #22d3ee;
    box-shadow: 0 0 0 0 rgba(34,211,238,0.7);
    animation: pp-pulse 1.8s ease-out infinite;
}
@keyframes pp-pulse {
    0% { box-shadow: 0 0 0 0 rgba(34,211,238,0.7); }
    70% { box-shadow: 0 0 0 8px rgba(34,211,238,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,211,238,0); }
}

.pp-hero-h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 900;
    font-family: "Manrope", sans-serif;
    margin: 0 0 18px;
    line-height: 1.08;
    letter-spacing: -.03em;
    color: #fff;
}
.pp-em-text {
    background: linear-gradient(135deg, #22d3ee 0%, #67e8f9 40%, #06b6d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.pp-hero-sub { color: #4b8fa3; max-width: 44ch; font-size: 1rem; line-height: 1.7; margin: 0 0 28px; }

.pp-hero-stats {
    display: flex; align-items: center; gap: 0;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px;
    padding: 12px 20px;
    margin-bottom: 22px;
    backdrop-filter: blur(8px);
    flex-wrap: wrap;
}
.pp-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 0 16px; }
.pp-stat b { font-size: 1.2rem; font-weight: 900; color: #fff; line-height: 1; }
.pp-stat span { font-size: .68rem; font-weight: 600; color: #4b8fa3; text-transform: uppercase; letter-spacing: .06em; }
.pp-stat-sep { width: 1px; height: 30px; background: rgba(255,255,255,0.12); }

.pp-trust { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-trust span {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .77rem; font-weight: 700;
    color: #67e8f9;
    background: rgba(34,211,238,0.08);
    border: 1px solid rgba(34,211,238,0.2);
    border-radius: 999px;
    padding: 6px 13px;
}
.pp-trust span svg { color: #22d3ee; }

/* Entrance animation */
.pp-anim {
    opacity: 0; transform: translateY(24px);
    animation: pp-fadein .65s ease forwards;
    animation-delay: var(--d, 0s);
}
@keyframes pp-fadein { to { opacity: 1; transform: translateY(0); } }

/* Hero visual */
.pp-hero-visual { display: flex; flex-direction: column; align-items: center; gap: 20px; }

.pp-shield-wrap {
    position: relative;
    width: 200px; height: 200px;
    display: flex; align-items: center; justify-content: center;
}
.pp-shield-glow {
    position: absolute; inset: -30px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(6,182,212,0.35) 0%, transparent 65%);
    animation: pp-glow-pulse 3s ease-in-out infinite;
}
@keyframes pp-glow-pulse {
    0%, 100% { transform: scale(1); opacity: .7; }
    50% { transform: scale(1.1); opacity: 1; }
}
.pp-shield-body {
    animation: pp-shield-float 4s ease-in-out infinite;
    filter: drop-shadow(0 12px 32px rgba(6,182,212,0.5));
}
@keyframes pp-shield-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Orbiting dots */
.pp-orbit {
    position: absolute;
    top: 50%; left: 50%;
    border-radius: 50%;
    border: 1px dashed rgba(34,211,238,0.2);
}
.pp-orbit-1 { width: 160px; height: 160px; margin: -80px 0 0 -80px; animation: pp-orbit-spin 8s linear infinite; }
.pp-orbit-2 { width: 210px; height: 210px; margin: -105px 0 0 -105px; animation: pp-orbit-spin 12s linear infinite reverse; }
.pp-orbit-3 { width: 260px; height: 260px; margin: -130px 0 0 -130px; animation: pp-orbit-spin 16s linear infinite; }
@keyframes pp-orbit-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.pp-orbit-dot {
    position: absolute;
    top: -14px; left: 50%; margin-left: -14px;
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}

/* Mini cards */
.pp-mini-cards { display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: 220px; }
.pp-mini-card {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(34,211,238,0.18);
    border-radius: 12px;
    font-size: .8rem; font-weight: 700; color: #bae6fd;
    backdrop-filter: blur(6px);
    transition: background .2s;
}
.pp-mini-card:hover { background: rgba(34,211,238,0.1); }
.pp-mini-icon {
    width: 26px; height: 26px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

/* BODY */
.pp-body { background: var(--bg); padding: 52px 0 88px; }
.pp-layout { display: grid; grid-template-columns: 250px 1fr; gap: 44px; align-items: start; }

/* SIDEBAR */
.pp-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 14px; }

.pp-toc-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.18);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 6px 32px rgba(6,182,212,0.08);
}
.pp-toc-hd {
    display: flex; align-items: center; gap: 8px;
    padding: 13px 16px;
    background: linear-gradient(135deg, #071522, #071522);
    font-size: .76rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .08em; color: #67e8f9;
    position: relative;
}
.pp-toc-icon {
    width: 26px; height: 26px; border-radius: 7px;
    background: rgba(34,211,238,0.2);
    display: flex; align-items: center; justify-content: center; color: #22d3ee;
}
.pp-toc-fill-wrap {
    position: absolute; bottom: 0; left: 0;
    height: 2px; width: 100%; background: rgba(34,211,238,0.1);
}
.pp-toc-fill {
    height: 100%; width: 0;
    background: linear-gradient(90deg, #06b6d4, #22d3ee);
    transition: width .2s ease;
}
.pp-toc-nav { display: flex; flex-direction: column; padding: 8px 8px 0; }
.pp-toc-a {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 10px; border-radius: 9px;
    text-decoration: none; font-size: .78rem; font-weight: 600;
    color: var(--ink-soft);
    transition: background .14s, color .14s, padding-left .14s;
}
.pp-toc-a::before { content: attr(data-n); font-size: .62rem; font-weight: 900; color: #06b6d4; opacity: .5; width: 18px; flex-shrink: 0; transition: opacity .14s; }
.pp-toc-a:hover { background: rgba(6,182,212,0.08); color: #06b6d4; padding-left: 14px; }
.pp-toc-a:hover::before { opacity: 1; }
.pp-toc-active { background: rgba(6,182,212,0.1) !important; color: #06b6d4 !important; font-weight: 700 !important; padding-left: 14px !important; }
.pp-toc-active::before { opacity: 1 !important; }
.pp-toc-link {
    display: flex; align-items: center; gap: 7px;
    padding: 11px 16px; font-size: .78rem; font-weight: 700;
    color: #06b6d4; text-decoration: none;
    border-top: 1px solid rgba(6,182,212,0.1);
    margin-top: 6px; background: rgba(6,182,212,0.04);
    transition: background .15s;
}
.pp-toc-link:hover { background: rgba(6,182,212,0.1); }

/* Promise card */
.pp-promise {
    background: linear-gradient(145deg, #071522, #0b2238);
    border-radius: 18px; padding: 18px; color: #fff;
}
.pp-promise-top {
    display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
    padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.1);
}
.pp-promise-shield {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center; color: #67e8f9;
    flex-shrink: 0;
}
.pp-promise-top strong { display: block; font-size: .88rem; font-weight: 800; color: #cffafe; }
.pp-promise-top p { margin: 0; font-size: .74rem; color: #4b8fa3; }
.pp-promise-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pp-promise-list li { display: flex; align-items: center; gap: 8px; font-size: .79rem; color: #bae6fd; font-weight: 600; }
.pp-promise-list li svg { color: #22d3ee; flex-shrink: 0; }

/* Meta card */
.pp-meta-card {
    background: #fff; border: 1px solid rgba(6,182,212,0.14); border-radius: 16px; overflow: hidden;
}
.pp-meta-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 16px; font-size: .8rem;
    border-bottom: 1px solid rgba(6,182,212,0.08);
}
.pp-meta-row:last-child { border-bottom: none; }
.pp-meta-row span { color: var(--ink-soft); }
.pp-meta-row b { color: var(--ink); font-weight: 700; }

/* MAIN */
.pp-main { min-width: 0; display: flex; flex-direction: column; gap: 20px; }

/* Banner */
.pp-banner {
    display: flex; align-items: flex-start; gap: 12px;
    background: rgba(6,182,212,0.07);
    border: 1px solid rgba(6,182,212,0.22);
    border-left: 4px solid #06b6d4;
    border-radius: 14px; padding: 15px 18px;
    font-size: .88rem; color: #06b6d4; line-height: 1.55;
}
.pp-banner-icon { flex-shrink: 0; margin-top: 1px; }
.pp-banner strong { font-weight: 800; }

/* Section cards */
.pp-card {
    background: #fff;
    border: 1px solid rgba(6,182,212,0.1);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 22px rgba(6,182,212,0.06);
    transition: box-shadow .25s, transform .25s;
}
.pp-card:hover { box-shadow: 0 12px 44px rgba(6,182,212,0.1); transform: translateY(-2px); }
.pp-card-stripe { height: 4px; width: 100%; }
.pp-card-body { padding: 26px 26px 24px; }

.pp-card-hd {
    display: flex; align-items: center; gap: 14px; margin-bottom: 18px;
}
.pp-card-num {
    font-size: 2.2rem; font-weight: 900;
    font-family: "Manrope", sans-serif; line-height: 1;
    opacity: .18; flex-shrink: 0;
}
.pp-card-ico {
    width: 44px; height: 44px; border-radius: 13px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(6,182,212,0.25);
}
.pp-kicker { margin: 0 0 3px; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-soft); }
.pp-card-hd h2 { margin: 0; font-size: 1.35rem; font-weight: 800; color: var(--ink); font-family: "Manrope", sans-serif; }
.pp-card-body > p { margin: 0 0 14px; color: var(--ink-soft); line-height: 1.72; font-size: .92rem; }
.pp-card-body > p:last-child { margin-bottom: 0; }

/* Notes */
.pp-note {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 16px; border-radius: 12px;
    font-size: .84rem; font-weight: 600; line-height: 1.55;
    margin-top: 16px; border: 1px solid;
}
.pp-note svg { flex-shrink: 0; margin-top: 1px; }
.pp-note-green { background: rgba(6,182,212,0.07); border-color: rgba(6,182,212,0.22); color: #0b2238; }

/* Overview grid */
.pp-overview-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 18px 0; }
.pp-ov-item {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 16px 10px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
    font-size: .76rem; font-weight: 700; color: var(--ink-soft); text-align: center;
    transition: box-shadow .2s, transform .2s;
}
.pp-ov-item:hover { box-shadow: 0 6px 20px rgba(6,182,212,0.1); transform: translateY(-2px); }
.pp-ov-icon { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.pp-ov-item strong { display: block; font-size: .8rem; color: var(--ink); }
.pp-ov-item p { margin: 0; font-size: .73rem; color: var(--ink-soft); line-height: 1.4; }

/* Data cards */
.pp-data-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 16px 0; }
.pp-data-card {
    background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.12);
    border-top: 3px solid var(--top,#06b6d4);
    border-radius: 12px; padding: 16px;
}
.pp-data-tag { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800; margin-bottom: 4px; }
.pp-data-when { margin: 0 0 10px; font-size: .7rem; color: var(--ink-soft); opacity: .7; font-weight: 600; }
.pp-data-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.pp-data-card ul li { display: flex; gap: 7px; font-size: .82rem; color: var(--ink-soft); line-height: 1.45; }
.pp-data-card ul li::before { content: "·"; color: var(--top,#06b6d4); font-weight: 900; font-size: 1.2em; line-height: 1.2; flex-shrink: 0; }

/* Use flow */
.pp-use-flow { display: flex; flex-direction: column; gap: 0; margin: 16px 0; }
.pp-use-item {
    display: grid;
    grid-template-columns: 36px 24px 1fr;
    gap: 0 12px;
    align-items: start;
}
.pp-use-dot {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; grid-row: span 2;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.pp-use-line {
    width: 2px; background: rgba(6,182,212,0.2);
    height: 100%; min-height: 30px;
    margin: 0 auto;
}
.pp-use-line-last { background: transparent; }
.pp-use-item > div:last-child {
    padding: 0 0 20px;
}
.pp-use-item strong { display: block; font-size: .88rem; color: var(--ink); font-weight: 700; margin-bottom: 3px; line-height: 1.6; }
.pp-use-item p { margin: 0; font-size: .81rem; color: var(--ink-soft); line-height: 1.5; }

/* No-sell badge */
.pp-no-sell {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 16px 18px; margin-bottom: 18px;
    background: linear-gradient(135deg,rgba(6,182,212,0.1),rgba(34,211,238,0.06));
    border: 1px solid rgba(6,182,212,0.28); border-radius: 14px;
    color: #06b6d4;
}
.pp-no-sell svg { flex-shrink: 0; margin-top: 2px; }
.pp-no-sell strong { display: block; font-size: .95rem; font-weight: 800; margin-bottom: 4px; }
.pp-no-sell p { margin: 0; font-size: .84rem; color: var(--ink-soft); line-height: 1.5; }

/* Share list */
.pp-share-list { display: flex; flex-direction: column; gap: 10px; }
.pp-share-item {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 14px 16px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
    transition: box-shadow .2s, transform .2s;
}
.pp-share-item:hover { box-shadow: 0 4px 18px rgba(6,182,212,0.1); transform: translateX(3px); }
.pp-share-num {
    width: 26px; height: 26px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: .72rem; font-weight: 900; flex-shrink: 0;
}
.pp-share-icon {
    width: 32px; height: 32px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pp-share-item strong { display: block; font-size: .86rem; color: var(--ink); font-weight: 700; margin-bottom: 3px; }
.pp-share-item p { margin: 0; font-size: .81rem; color: var(--ink-soft); line-height: 1.5; }

/* Twin cards (05+06) */
.pp-twin-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp-twin-card {
    background: #fff; border: 1px solid rgba(6,182,212,0.1);
    border-top: 3px solid var(--tc,#06b6d4); border-radius: 0 0 18px 18px;
    padding: 20px; box-shadow: 0 3px 16px rgba(6,182,212,0.06);
    transition: box-shadow .2s, transform .2s;
}
.pp-twin-card:hover { box-shadow: 0 8px 28px rgba(6,182,212,0.1); transform: translateY(-2px); }
.pp-twin-hd {
    display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
}
.pp-twin-num { font-size: 1.4rem; font-weight: 900; color: var(--tc,#06b6d4); font-family: "Manrope",sans-serif; line-height: 1; }
.pp-twin-ico {
    width: 28px; height: 28px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pp-twin-hd h3 { margin: 0; font-size: .92rem; font-weight: 800; color: var(--ink); flex: 1; }
.pp-twin-note {
    padding: 10px 12px; border-radius: 9px; border: 1px solid;
    font-size: .8rem; font-weight: 600; line-height: 1.5; margin-top: 12px;
}

/* Cookie types */
.pp-cookie-types { display: flex; flex-direction: column; gap: 8px; }
.pp-cookie {
    padding: 10px 12px; border-radius: 10px;
    border: 1px solid; font-size: .82rem; color: var(--ink-soft); line-height: 1.5;
    background: #f8fafc;
}
.pp-cookie-badge {
    display: inline-flex; align-items: center; padding: 3px 10px;
    border-radius: 999px; font-size: .7rem; font-weight: 800; margin-bottom: 5px;
}
.pp-cookie p { margin: 0; }

/* Security items */
.pp-security-items { display: flex; flex-direction: column; gap: 10px; }
.pp-sec-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 10px;
    font-size: .83rem;
    transition: background .15s;
}
.pp-sec-item:hover { background: rgba(6,182,212,0.05); }
.pp-sec-dot {
    width: 28px; height: 28px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pp-sec-item > div { display: flex; flex-direction: column; gap: 1px; }
.pp-sec-item strong { font-size: .82rem; color: var(--ink); font-weight: 700; }
.pp-sec-item span { font-size: .76rem; color: var(--ink-soft); }

/* Retention */
.pp-retention-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.pp-ret-item {
    padding: 14px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.1); border-radius: 12px;
}
.pp-ret-label { font-size: .74rem; font-weight: 700; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px; }
.pp-ret-val { font-size: .9rem; font-weight: 800; color: var(--ink); margin-bottom: 10px; }
.pp-ret-bar { height: 5px; background: rgba(6,182,212,0.1); border-radius: 999px; overflow: hidden; }
.pp-ret-fill { height: 100%; border-radius: 999px; transition: width 1.2s ease; }

/* Rights grid */
.pp-rights-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 16px 0; }
.pp-right {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 18px 12px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.12); border-radius: 14px;
    text-align: center; font-size: .82rem;
    transition: box-shadow .2s, transform .2s;
}
.pp-right:hover { box-shadow: 0 6px 20px rgba(6,182,212,0.1); transform: translateY(-3px); }
.pp-right-icon { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; }
.pp-right strong { font-size: .86rem; color: var(--ink); font-weight: 800; }
.pp-right p { margin: 0; color: var(--ink-soft); line-height: 1.45; font-size: .78rem; }

/* Compact row (09-11) */
.pp-compact-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.pp-compact {
    background: #fff; border: 1px solid rgba(6,182,212,0.1);
    border-top: 3px solid var(--cc,#06b6d4); border-radius: 0 0 16px 16px;
    padding: 18px; box-shadow: 0 2px 12px rgba(6,182,212,0.05);
    transition: box-shadow .2s, transform .2s;
}
.pp-compact:hover { box-shadow: 0 8px 26px rgba(6,182,212,0.1); transform: translateY(-3px); }
.pp-compact-hd { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pp-compact-n { font-size: 1.3rem; font-weight: 900; color: var(--cc,#06b6d4); font-family: "Manrope",sans-serif; line-height: 1; }
.pp-compact-ico { width: 26px; height: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pp-compact-hd h3 { margin: 0; font-size: .88rem; font-weight: 800; color: var(--ink); flex: 1; }
.pp-compact > p { margin: 0; font-size: .82rem; color: var(--ink-soft); line-height: 1.62; }

/* Contact */
.pp-contact-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 18px 0; }
.pp-contact-item {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 18px 12px; background: #f8fafc;
    border: 1px solid rgba(6,182,212,0.14); border-radius: 14px; text-align: center;
    transition: box-shadow .2s, transform .2s;
}
.pp-contact-item:hover { box-shadow: 0 6px 20px rgba(6,182,212,0.1); transform: translateY(-2px); }
.pp-contact-ico { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.pp-contact-item span { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #06b6d4; }
.pp-contact-item strong { font-size: .85rem; color: var(--ink); font-weight: 700; }

/* CTA row */
.pp-cta-row { display: flex; gap: 10px; flex-wrap: wrap; }
.pp-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 22px; border-radius: 12px;
    font-size: .85rem; font-weight: 700; text-decoration: none;
    transition: transform .15s, box-shadow .15s; border: 2px solid transparent;
}
.pp-btn:hover { transform: translateY(-2px); }
.pp-btn-green { background: linear-gradient(135deg,#06b6d4,#0e7490); color: #fff !important; box-shadow: 0 6px 20px rgba(6,182,212,0.28); }
.pp-btn-green:hover { box-shadow: 0 10px 28px rgba(6,182,212,0.42); }
.pp-btn-cyan { background: linear-gradient(135deg,#06b6d4,#0e7490); color: #fff !important; box-shadow: 0 6px 20px rgba(6,182,212,0.28); }
.pp-btn-cyan:hover { box-shadow: 0 10px 28px rgba(6,182,212,0.4); }
.pp-btn-outline { background: transparent; color: #06b6d4 !important; border-color: rgba(6,182,212,0.3); }
.pp-btn-outline:hover { background: rgba(6,182,212,0.06); }

/* Scroll reveal */
.pp-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.pp-revealed { opacity: 1; transform: translateY(0); }

/* RESPONSIVE */
@media (max-width: 1100px) {
    .pp-layout { grid-template-columns: 210px 1fr; gap: 28px; }
    .pp-overview-grid { grid-template-columns: repeat(2,1fr); }
    .pp-rights-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
    .pp-layout { grid-template-columns: 1fr; }
    .pp-sidebar { position: static; }
    .pp-toc-card { display: none; }
    .pp-promise { display: none; }
    .pp-hero-inner { grid-template-columns: 1fr; gap: 28px; }
    .pp-hero-visual { order: -1; }
    .pp-hero { min-height: auto; }
    .pp-pp-rings { display: none; }
    .pp-contact-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .pp-hero-inner { padding: 56px 0 70px; }
    .pp-hero-h1 { font-size: 2.2rem; }
    .pp-data-grid, .pp-twin-row, .pp-retention-grid { grid-template-columns: 1fr; }
    .pp-compact-row { grid-template-columns: 1fr; }
    .pp-rights-grid, .pp-overview-grid { grid-template-columns: 1fr; }
    .pp-contact-row { grid-template-columns: 1fr; }
    .pp-cta-row { flex-direction: column; }
    .pp-btn { width: 100%; justify-content: center; }
    .pp-hero-stats { flex-direction: column; gap: 8px; }
    .pp-mini-cards { max-width: 100%; }
}

/* ══════════════════════════════════════════════════════
   BLOG — Grid listing + single post
══════════════════════════════════════════════════════ */

/* Blog listing grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 32px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--radius);
    transition: transform .22s, box-shadow .22s;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

.blog-card-img {
    height: 190px;
    overflow: hidden;
    background: #e0f2fe;
    display: flex; align-items: center; justify-content: center;
}
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.blog-card:hover .blog-card-img img { transform: scale(1.04); }
.blog-card-img-placeholder { color: var(--brand); }

.blog-card-body { padding: 18px 20px 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }

.blog-card-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.blog-cat {
    font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
    background: rgba(6,182,212,0.12); color: var(--brand-deep);
    border-radius: 999px; padding: 3px 11px;
}
.blog-date { font-size: .74rem; color: var(--ink-soft); }

.blog-card-body h3 { margin: 0; font-size: 1rem; font-weight: 800; color: var(--ink); line-height: 1.45; }
.blog-card-body p { margin: 0; font-size: .85rem; color: var(--ink-soft); line-height: 1.65; flex: 1; }

.blog-card-footer {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-top: 4px; flex-wrap: wrap;
}
.blog-author {
    display: flex; align-items: center; gap: 5px;
    font-size: .76rem; color: var(--ink-soft); font-weight: 600;
}
.blog-read-btn { font-size: .8rem; padding: 7px 14px; }
/* Shared image fitting overrides */
.prop-card .prop-img-wrap {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
    background: #eaf7fb;
}
.prop-card .prop-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.media-card img,
.pd-gallery-main img,
.pd-thumb img {
    object-position: center;
}

@media (max-width: 640px) {
    .prop-card .prop-img-wrap {
        height: 210px;
    }
}

/* ══════════════════════════════════════════════════════
   BP — Blog Post Creative Redesign
   Cyan / Navy theme
══════════════════════════════════════════════════════ */

/* Reading progress bar */
.bp-progress {
    position: fixed; top: 0; left: 0; z-index: 9999;
    height: 3px; width: 0;
    background: linear-gradient(90deg, #06b6d4, #22d3ee, #a78bfa);
    box-shadow: 0 0 10px rgba(6,182,212,0.6);
    transition: width .1s linear;
}

/* HERO */
.bp-hero {
    position: relative;
    min-height: 62vh;
    display: flex; align-items: flex-end;
    overflow: hidden;
    background: #071522;
}

/* Featured image card — separate card above content */
.bp-img-card {
    border-radius: 20px; overflow: hidden; line-height: 0;
    box-shadow: 0 8px 40px rgba(6,182,212,0.13);
    border: 1px solid rgba(6,182,212,0.12);
}
.bp-img-card img {
    width: 100%; max-height: 320px;
    object-fit: cover; display: block;
}

.bp-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom,
        rgba(7,21,34,0.45) 0%,
        rgba(7,21,34,0.65) 50%,
        rgba(7,21,34,0.95) 100%);
}
.bp-hero-glow {
    position: absolute; bottom: -80px; left: 50%;
    transform: translateX(-50%);
    width: 600px; height: 200px;
    background: radial-gradient(ellipse, rgba(6,182,212,0.18) 0%, transparent 70%);
    pointer-events: none;
}
.bp-hero-inner {
    position: relative; z-index: 2;
    padding: 32px 0 64px;
    color: #fff;
}
.bp-breadcrumb {
    display: flex; align-items: center; gap: 6px;
    font-size: .74rem; font-weight: 600;
    color: rgba(255,255,255,0.5);
    margin-bottom: 20px;
}
.bp-breadcrumb a { color: rgba(255,255,255,0.5); text-decoration: none; transition: color .15s; }
.bp-breadcrumb a:hover { color: #22d3ee; }
.bp-breadcrumb span { color: #22d3ee; }
.bp-hero-cat { margin-bottom: 14px; }
.bp-cat-pill {
    display: inline-flex; align-items: center;
    font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
    background: rgba(6,182,212,0.2); color: #22d3ee;
    border: 1px solid rgba(34,211,238,0.35);
    border-radius: 999px; padding: 5px 14px;
}
.bp-hero-title {
    font-size: clamp(1.9rem, 4.5vw, 3.2rem);
    font-weight: 900; line-height: 1.12; letter-spacing: -.03em;
    color: #fff; margin: 0 0 28px; max-width: 820px;
    font-family: "Manrope", sans-serif;
    text-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
.bp-hero-meta {
    display: flex; align-items: center;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    border-radius: 14px; padding: 12px 20px;
    width: fit-content; flex-wrap: wrap; gap: 0;
}
.bp-meta-author { display: flex; align-items: center; gap: 10px; padding: 0 16px 0 0; }
.bp-author-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    display: flex; align-items: center; justify-content: center;
    font-size: .8rem; font-weight: 900; color: #fff; flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(34,211,238,0.4);
}
.bp-meta-label { display: block; font-size: .62rem; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: .07em; }
.bp-meta-author strong { font-size: .86rem; color: #fff; font-weight: 700; display: block; }
.bp-meta-sep { width: 1px; height: 28px; background: rgba(255,255,255,0.15); margin: 0 16px; }
.bp-meta-item { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: rgba(255,255,255,0.75); font-weight: 600; }
.bp-scroll-cue { display: flex; justify-content: center; margin-top: 32px; }
.bp-scroll-mouse {
    width: 22px; height: 36px; border-radius: 11px;
    border: 2px solid rgba(255,255,255,0.3);
    display: flex; justify-content: center; padding-top: 6px;
}
.bp-scroll-dot {
    width: 4px; height: 8px; border-radius: 2px;
    background: #22d3ee;
    animation: bp-scroll-anim 1.6s ease-in-out infinite;
}
@keyframes bp-scroll-anim {
    0%, 100% { transform: translateY(0); opacity: 1; }
    60% { transform: translateY(10px); opacity: 0; }
}
.bp-fade {
    opacity: 0; transform: translateY(20px);
    animation: bp-fadein .65s ease forwards;
    animation-delay: var(--d, 0s);
}
@keyframes bp-fadein { to { opacity: 1; transform: translateY(0); } }

/* BODY */
.bp-body { background: var(--bg); padding: 52px 0 88px; }
.bp-layout { display: grid; grid-template-columns: 1fr 280px; gap: 36px; align-items: start; }
.bp-article { min-width: 0; display: flex; flex-direction: column; gap: 28px; }

/* Content card */
.bp-content-card {
    background: #fff; border-radius: 24px;
    box-shadow: 0 4px 32px rgba(6,182,212,0.07);
    overflow: hidden; border: 1px solid rgba(6,182,212,0.1);
}
.bp-content-body { padding: 44px 48px; }

/* Typography */
.bp-para { margin: 0 0 20px; font-size: 1.02rem; line-height: 1.9; color: var(--ink-soft); }
.bp-para:last-of-type { margin-bottom: 0; }
.bp-para-first::first-letter {
    font-size: 3.4em; font-weight: 900; float: left;
    line-height: .82; margin: 4px 10px 0 0;
    color: var(--brand); font-family: "Manrope", sans-serif;
}
.bp-subhead {
    font-size: 1.18rem; font-weight: 800; color: var(--ink);
    margin: 32px 0 12px; padding-left: 14px;
    border-left: 3px solid var(--brand);
    font-family: "Manrope", sans-serif; line-height: 1.35;
}
.bp-subhead:first-child { margin-top: 0; }
.bp-bullet { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 10px; font-size: 1rem; color: var(--ink-soft); line-height: 1.7; }
.bp-bullet-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); flex-shrink: 0; margin-top: 8px; }

/* Content footer */
.bp-content-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 48px; border-top: 1px solid rgba(6,182,212,0.1);
    background: #f8faff; flex-wrap: wrap; gap: 10px;
}
.bp-cat-tag {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
    background: rgba(6,182,212,0.1); color: var(--brand-deep);
    border-radius: 999px; padding: 5px 13px;
}
.bp-back-btn {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .82rem; font-weight: 700; color: var(--brand-deep);
    text-decoration: none; transition: gap .15s;
}
.bp-back-btn:hover { gap: 10px; }

/* Reveal */
.bp-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.bp-revealed { opacity: 1; transform: translateY(0); }

/* RELATED */
.bp-related-head { margin-bottom: 20px; }
.bp-section-kicker { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--brand); display: block; margin-bottom: 4px; }
.bp-related-head h2 { margin: 0; font-size: 1.4rem; font-weight: 900; font-family: "Manrope", sans-serif; }
.bp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bp-rel-card {
    text-decoration: none; border-radius: 16px; overflow: hidden;
    background: #fff; border: 1px solid rgba(6,182,212,0.1);
    display: flex; flex-direction: column;
    transition: transform .22s, box-shadow .22s;
}
.bp-rel-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(6,182,212,0.12); }
.bp-rel-img { position: relative; height: 120px; overflow: hidden; background: #e0f2fe; }
.bp-rel-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.bp-rel-card:hover .bp-rel-img img { transform: scale(1.06); }
.bp-rel-img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #e0f2fe, #bae6fd); }
.bp-rel-cat {
    position: absolute; top: 8px; left: 8px;
    font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
    background: rgba(7,21,34,0.7); color: #22d3ee;
    border-radius: 999px; padding: 3px 9px; backdrop-filter: blur(4px);
}
.bp-rel-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.bp-rel-body strong { font-size: .86rem; color: var(--ink); font-weight: 700; line-height: 1.4; }
.bp-rel-body span { font-size: .72rem; color: var(--ink-soft); }

/* CTA */
.bp-cta {
    position: relative;
    background: linear-gradient(135deg, #071522 0%, #0b2238 60%, #0e3a52 100%);
    border-radius: 24px; overflow: hidden;
    border: 1px solid rgba(6,182,212,0.2);
}
.bp-cta-glow {
    position: absolute; top: -40px; right: -40px;
    width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle, rgba(6,182,212,0.25) 0%, transparent 65%);
    pointer-events: none;
}
.bp-cta-content { position: relative; z-index: 2; display: flex; align-items: center; gap: 24px; padding: 32px 36px; flex-wrap: wrap; }
.bp-cta-icon {
    width: 56px; height: 56px; border-radius: 16px; flex-shrink: 0;
    background: rgba(6,182,212,0.15); border: 1px solid rgba(6,182,212,0.25);
    display: flex; align-items: center; justify-content: center; color: #22d3ee;
}
.bp-cta-content > div.bp-cta-text { flex: 1; min-width: 200px; }
.bp-cta-content h3 { margin: 0 0 6px; font-size: 1.15rem; font-weight: 800; color: #fff; }
.bp-cta-content p { margin: 0; font-size: .88rem; color: rgba(255,255,255,0.6); }
.bp-cta-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.bp-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 11px 20px; border-radius: 12px;
    font-size: .85rem; font-weight: 700; text-decoration: none;
    transition: transform .15s, box-shadow .15s;
}
.bp-btn:hover { transform: translateY(-2px); }
.bp-btn-cyan { background: linear-gradient(135deg, #06b6d4, #0e7490); color: #fff; box-shadow: 0 6px 20px rgba(6,182,212,0.3); }
.bp-btn-cyan:hover { box-shadow: 0 10px 28px rgba(6,182,212,0.45); }
.bp-btn-outline { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.2); }
.bp-btn-outline:hover { background: rgba(255,255,255,0.15); }

/* SIDEBAR */
.bp-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 14px; }
.bp-author-card {
    background: linear-gradient(145deg, #071522, #0b2238);
    border-radius: 20px; padding: 20px;
    border: 1px solid rgba(6,182,212,0.15);
}
.bp-author-card-top {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 12px; padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.bp-author-big-avatar {
    width: 46px; height: 46px; border-radius: 50%;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    display: flex; align-items: center; justify-content: center;
    font-size: .9rem; font-weight: 900; color: #fff; flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(34,211,238,0.25);
}
.bp-author-label { display: block; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,0.4); }
.bp-author-card-top strong { color: #fff; font-size: .9rem; display: block; font-weight: 700; }
.bp-author-card p { margin: 0; font-size: .8rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.bp-info-card { background: #fff; border-radius: 18px; border: 1px solid rgba(6,182,212,0.12); overflow: hidden; }
.bp-info-row {
    display: flex; align-items: center; gap: 8px;
    padding: 11px 16px; border-bottom: 1px solid rgba(6,182,212,0.07); font-size: .8rem;
}
.bp-info-row:last-child { border-bottom: none; }
.bp-info-row svg { color: var(--brand); flex-shrink: 0; }
.bp-info-row span { flex: 1; color: var(--ink-soft); }
.bp-info-row b { color: var(--ink); font-weight: 700; }
.bp-progress-card { background: #fff; border-radius: 16px; border: 1px solid rgba(6,182,212,0.12); padding: 14px 16px; }
.bp-progress-label { display: flex; justify-content: space-between; font-size: .76rem; font-weight: 700; color: var(--ink-soft); margin-bottom: 8px; }
.bp-progress-label span:last-child { color: var(--brand); }
.bp-progress-track { height: 6px; background: rgba(6,182,212,0.1); border-radius: 999px; overflow: hidden; }
.bp-progress-fill { height: 100%; width: 0; background: linear-gradient(90deg, #06b6d4, #22d3ee); border-radius: 999px; transition: width .2s ease; }
.bp-sidebar-back {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    padding: 12px; border-radius: 14px;
    background: rgba(6,182,212,0.08); border: 1px solid rgba(6,182,212,0.18);
    font-size: .82rem; font-weight: 700; color: var(--brand-deep);
    text-decoration: none; transition: background .15s;
}
.bp-sidebar-back:hover { background: rgba(6,182,212,0.15); }

/* RESPONSIVE */
@media (max-width: 1100px) {
    .bp-layout { grid-template-columns: 1fr 250px; gap: 24px; }
    .bp-content-body { padding: 32px 32px; }
    .bp-content-footer { padding: 14px 32px; }
}
@media (max-width: 860px) {
    .bp-layout { grid-template-columns: 1fr; }
    .bp-sidebar { position: static; }
    .bp-author-card { display: none; }
    .bp-hero { min-height: 55vh; }
    .bp-related-grid { grid-template-columns: repeat(2, 1fr); }
    .bp-cta-content { flex-direction: column; align-items: flex-start; }
    .bp-cta-btns { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .bp-content-body { padding: 24px 20px; }
    .bp-content-footer { padding: 14px 20px; }
    .bp-hero-title { font-size: 1.7rem; }
    .bp-hero-meta { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 16px; }
    .bp-meta-sep { width: 100%; height: 1px; margin: 4px 0; }
    .bp-related-grid { grid-template-columns: 1fr; }
    .bp-cta-content { padding: 24px 20px; }
    .bp-btn { width: 100%; justify-content: center; }
    .bp-para-first::first-letter { font-size: 2.8em; }
}

/* Blog listing responsive */
@media (max-width: 900px) {
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog-post-cta { flex-direction: column; }
    .blog-post-cta .btn { width: 100%; text-align: center; }
}
/* Agents page */
.ag-page {
    padding: 38px 0 8px;
}
.ag-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr);
    gap: 22px;
    padding: 28px;
    border-radius: 0;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.34), transparent 28%),
        linear-gradient(135deg, #082f49 0%, #0f766e 50%, #e0f2fe 140%);
    color: #fff;
    box-shadow: 0 22px 48px rgba(8, 47, 73, 0.18);
}
.ag-kicker,
.ag-mini-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ag-kicker {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.18);
}
.ag-hero-copy h1 {
    margin: 16px 0 12px;
    font-size: clamp(2rem, 3.8vw, 3.5rem);
    line-height: .98;
    color: #fff;
}
.ag-hero-copy p {
    margin: 0;
    max-width: 700px;
    color: rgba(240, 249, 255, 0.9);
    font-size: 1rem;
    line-height: 1.65;
}
.ag-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.ag-hero-tags span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.16);
    color: #ecfeff;
    font-weight: 700;
    font-size: .85rem;
}
.ag-hero-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-self: stretch;
    padding: 16px;
    border-radius: 24px;
    background: rgba(7, 21, 34, 0.28);
    border: 1px solid rgba(186, 230, 253, 0.18);
    backdrop-filter: blur(12px);
}
.ag-stat-card {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(186, 230, 253, 0.16);
}
.ag-stat-card strong {
    display: block;
    font-size: 1.5rem;
    color: #fff;
}
.ag-stat-card span {
    display: block;
    margin-top: 4px;
    color: #cffafe;
    font-size: .82rem;
    font-weight: 700;
}
.ag-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
    margin: 28px 0 18px;
}
.ag-head h2 {
    margin: 6px 0 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.ag-head p {
    max-width: 520px;
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.6;
}
.ag-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.ag-card {
    padding: 20px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.16), transparent 32%),
        linear-gradient(180deg, #ffffff, #f7fdff);
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 16px 30px rgba(15, 118, 110, 0.08);
}
.ag-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ag-avatar {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #06b6d4, #0f766e);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(6,182,212,0.2);
}
.ag-card-intro h3 {
    margin: 8px 0 4px;
    font-size: 1.2rem;
}
.ag-card-intro p {
    margin: 0;
    color: var(--ink-soft);
}
.ag-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ag-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.ag-meta div {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(236, 254, 255, 0.86);
    border: 1px solid rgba(6,182,212,0.1);
}
.ag-meta span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #0e7490;
}
.ag-meta strong {
    display: block;
    margin-top: 6px;
    color: #12384d;
    font-size: .98rem;
}
.ag-copy {
    margin: 16px 0 0;
    color: var(--ink-soft);
    line-height: 1.65;
}
.ag-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}
.ag-actions .btn {
    flex: 1;
}

@media (max-width: 1120px) {
    .ag-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .ag-hero {
        grid-template-columns: 1fr;
        padding: 22px;
        border-radius: 24px;
    }
    .ag-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .ag-page {
        padding-top: 28px;
    }
    .ag-hero {
        padding: 18px;
        border-radius: 20px;
    }
    .ag-hero-panel,
    .ag-grid,
    .ag-meta {
        grid-template-columns: 1fr;
    }
    .ag-actions {
        flex-direction: column;
    }
}
/* Blog page */
.bl-page {
    padding: 38px 0 8px;
}
.bl-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .72fr);
    gap: 22px;
    padding: 30px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top left, rgba(186, 230, 253, 0.34), transparent 30%),
        linear-gradient(135deg, #082f49 0%, #164e63 46%, #cffafe 145%);
    color: #fff;
    box-shadow: 0 22px 48px rgba(8, 47, 73, 0.18);
}
.bl-kicker,
.bl-mini-kicker {
    display: inline-flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.bl-kicker {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
}
.bl-hero-copy h1 {
    margin: 16px 0 12px;
    font-size: clamp(2rem, 3.7vw, 3.4rem);
    line-height: 1;
    color: #fff;
}
.bl-hero-copy p {
    margin: 0;
    max-width: 700px;
    color: rgba(240, 249, 255, 0.9);
    font-size: 1rem;
    line-height: 1.65;
}
.bl-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.bl-hero-tags span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.14);
    color: #ecfeff;
    font-weight: 700;
    font-size: .84rem;
}
.bl-hero-panel {
    padding: 20px;
    border-radius: 24px;
    background: rgba(7, 21, 34, 0.28);
    border: 1px solid rgba(186, 230, 253, 0.18);
    backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bl-hero-panel strong {
    font-size: 2.4rem;
    line-height: 1;
}
.bl-hero-panel span {
    margin-top: 8px;
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #cffafe;
}
.bl-hero-panel p {
    margin: 14px 0 0;
    color: rgba(240, 249, 255, 0.88);
    line-height: 1.65;
}
.bl-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr);
    gap: 18px;
    margin-top: 24px;
    padding: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(125, 211, 252, 0.18), transparent 28%),
        linear-gradient(180deg, #ffffff, #f4fbff);
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 16px 34px rgba(6, 182, 212, 0.08);
}
.bl-feature-chip,
.bl-card-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.bl-feature-copy h2 {
    margin: 14px 0 10px;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 1.08;
}
.bl-feature-copy p {
    margin: 0;
    max-width: 760px;
    color: var(--ink-soft);
    line-height: 1.75;
}
.bl-feature-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 18px;
    color: #0f766e;
    font-weight: 700;
}
.bl-feature-side {
    display: flex;
    align-items: stretch;
}
.bl-feature-note {
    width: 100%;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, #083344, #155e75);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.bl-feature-note span {
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #a5f3fc;
}
.bl-feature-note strong {
    margin-top: 16px;
    font-size: 1.2rem;
    line-height: 1.45;
}
.bl-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin: 30px 0 18px;
}
.bl-head h2 {
    margin: 6px 0 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.bl-head p {
    max-width: 520px;
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.6;
}
.bl-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.bl-card {
    padding: 20px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.22), transparent 32%),
        linear-gradient(180deg, #ffffff, #f8fdff);
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 14px 28px rgba(15, 118, 110, 0.08);
}
.bl-card-top,
.bl-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.bl-card-date {
    font-size: .8rem;
    font-weight: 700;
    color: #0f766e;
}
.bl-card h3 {
    margin: 14px 0 10px;
    font-size: 1.2rem;
    line-height: 1.35;
}
.bl-card p {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
}
.bl-card-footer {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(6,182,212,0.1);
}
.bl-card-footer span {
    color: #164e63;
    font-weight: 700;
}
.bl-card-footer a {
    color: #0891b2;
    text-decoration: none;
    font-weight: 800;
}

@media (max-width: 1120px) {
    .bl-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .bl-hero,
    .bl-feature {
        grid-template-columns: 1fr;
    }
    .bl-hero,
    .bl-feature {
        padding: 22px;
        border-radius: 24px;
    }
    .bl-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .bl-page {
        padding-top: 28px;
    }
    .bl-hero,
    .bl-feature,
    .bl-card {
        padding: 18px;
        border-radius: 20px;
    }
    .bl-grid {
        grid-template-columns: 1fr;
    }
    .bl-card-top,
    .bl-card-footer,
    .bl-feature-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Blog page redesign */
.blx-page {
    padding: 40px 0 10px;
}
.blx-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 18px;
    padding: 30px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(186, 230, 253, 0.24), transparent 30%),
        radial-gradient(circle at bottom right, rgba(20, 184, 166, 0.2), transparent 28%),
        linear-gradient(135deg, #081f32 0%, #0f3b53 48%, #d9f7ff 145%);
    box-shadow: 0 24px 52px rgba(8, 31, 50, 0.18);
    color: #fff;
}
.blx-kicker,
.blx-head-kicker,
.blx-rail-kicker {
    display: inline-flex;
    align-items: center;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.blx-kicker {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
}
.blx-hero-copy h1 {
    margin: 16px 0 12px;
    color: #fff;
    font-size: clamp(2.1rem, 4vw, 3.7rem);
    line-height: .98;
}
.blx-hero-copy p {
    margin: 0;
    max-width: 760px;
    color: rgba(240, 249, 255, 0.88);
    line-height: 1.72;
    font-size: 1rem;
}
.blx-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.blx-chip-row span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.14);
    color: #ecfeff;
    font-size: .84rem;
    font-weight: 700;
}
.blx-hero-side {
    display: grid;
    gap: 12px;
}
.blx-hero-stat,
.blx-hero-note {
    padding: 18px;
    border-radius: 22px;
    background: rgba(7, 21, 34, 0.28);
    border: 1px solid rgba(186, 230, 253, 0.16);
    backdrop-filter: blur(10px);
}
.blx-hero-stat strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
}
.blx-hero-stat span {
    display: block;
    margin-top: 8px;
    color: #cffafe;
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.blx-hero-note {
    color: rgba(240, 249, 255, 0.88);
    line-height: 1.7;
}
.blx-feature-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 18px;
    margin-top: 24px;
}
.blx-feature {
    padding: 28px;
    border-radius: 30px;
    background:
        radial-gradient(circle at bottom right, rgba(125, 211, 252, 0.18), transparent 30%),
        linear-gradient(180deg, #ffffff, #f3fbff);
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 18px 36px rgba(6,182,212,0.08);
}
.blx-feature-top,
.blx-card-top,
.blx-card-bottom,
.blx-rail-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.blx-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(6,182,212,0.1);
    color: #0e7490;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.blx-feature-top span:last-child,
.blx-date {
    color: #0f766e;
    font-size: .8rem;
    font-weight: 700;
}
.blx-feature h2 {
    margin: 16px 0 12px;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.08;
}
.blx-feature p {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.8;
    max-width: 780px;
}
.blx-feature-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.blx-feature-meta span {
    color: #164e63;
    font-weight: 700;
}
.blx-rail {
    display: grid;
    gap: 14px;
}
.blx-rail-card,
.blx-rail-post,
.blx-card {
    border-radius: 24px;
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 14px 28px rgba(15, 118, 110, 0.08);
}
.blx-rail-card {
    padding: 20px;
    background: linear-gradient(180deg, #083344, #155e75);
    color: #fff;
}
.blx-rail-card strong {
    display: block;
    margin-top: 12px;
    font-size: 1.18rem;
    line-height: 1.45;
}
.blx-rail-card p {
    margin: 10px 0 0;
    color: rgba(240, 249, 255, 0.84);
    line-height: 1.7;
}
.blx-rail-kicker {
    color: #a5f3fc;
}
.blx-rail-post {
    padding: 18px;
    background: linear-gradient(180deg, #ffffff, #f7fdff);
}
.blx-rail-post h3,
.blx-card h3 {
    margin: 14px 0 10px;
    font-size: 1.18rem;
    line-height: 1.4;
}
.blx-rail-post p,
.blx-card p {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.72;
}
.blx-rail-meta {
    margin-top: 14px;
}
.blx-rail-meta span,
.blx-card-bottom span {
    color: #164e63;
    font-weight: 700;
}
.blx-rail-meta a,
.blx-card-bottom a {
    color: #0891b2;
    text-decoration: none;
    font-weight: 800;
}
.blx-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin: 32px 0 18px;
}
.blx-head h2 {
    margin: 6px 0 0;
    font-size: clamp(1.7rem, 3vw, 2.3rem);
}
.blx-head p {
    max-width: 540px;
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
}
.blx-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.blx-card {
    padding: 20px;
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.2), transparent 32%),
        linear-gradient(180deg, #ffffff, #f8fdff);
}
.blx-card-wide {
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.24), transparent 34%),
        linear-gradient(180deg, #ecfeff, #f8fdff);
}
.blx-card-bottom {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(6,182,212,0.1);
}

@media (max-width: 1120px) {
    .blx-feature-wrap,
    .blx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .blx-hero,
    .blx-feature-wrap {
        grid-template-columns: 1fr;
    }
    .blx-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .blx-page {
        padding-top: 28px;
    }
    .blx-hero,
    .blx-feature,
    .blx-rail-card,
    .blx-rail-post,
    .blx-card {
        padding: 18px;
        border-radius: 20px;
    }
    .blx-grid {
        grid-template-columns: 1fr;
    }
    .blx-feature-top,
    .blx-card-top,
    .blx-card-bottom,
    .blx-rail-meta,
    .blx-feature-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Blog magazine redesign */
/* ── Blog Listing (bl-*) ── */
.bl-page {
    padding: 0 0 60px;
}
.bl-hero {
    background: linear-gradient(135deg, #071522 0%, #0b2238 60%, #0e4560 100%);
    padding: 72px 0 60px;
    position: relative;
    overflow: hidden;
    border-radius: 0;
}
.bl-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(6,182,212,0.18) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 20%, rgba(34,211,238,0.12) 0%, transparent 40%);
    pointer-events: none;
}
.bl-hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}
.bl-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(6,182,212,0.15);
    border: 1px solid rgba(6,182,212,0.25);
    color: #22d3ee;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.bl-hero h1 {
    margin: 20px auto 14px;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: .96;
    color: #fff;
    max-width: 820px;
}
.bl-hero p {
    color: rgba(186,230,253,0.8);
    font-size: 1.05rem;
    max-width: 560px;
    margin: 0 auto 22px;
    line-height: 1.75;
}
.bl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 28px;
}
.bl-chips span {
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    color: #e0f2fe;
    font-size: .84rem;
    font-weight: 600;
    cursor: default;
    transition: background .2s, border-color .2s;
}
.bl-chips span:hover {
    background: rgba(6,182,212,0.2);
    border-color: rgba(6,182,212,0.4);
}
.bl-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #67e8f9;
    font-size: .85rem;
    font-weight: 800;
}
.bl-featured-wrap {
    margin-top: -32px;
    padding: 0 0 40px;
    position: relative;
    z-index: 2;
}
.bl-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(7,21,34,0.28);
    background: #ffffff;
    border: 1px solid rgba(6,182,212,0.15);
}
.bl-featured-img {
    position: relative;
    min-height: 380px;
    background: linear-gradient(135deg, #0b2238, #0e4560);
    overflow: hidden;
}
.bl-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bl-featured-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: rgba(34,211,238,0.5);
    font-size: .9rem;
    font-weight: 600;
}
.bl-featured-placeholder svg {
    opacity: .4;
}
.bl-featured-body {
    padding: 38px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bl-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(6,182,212,0.1);
    color: #0891b2;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: 1px solid rgba(6,182,212,0.15);
}
.bl-featured-body h2 {
    margin: 16px 0 12px;
    font-size: clamp(1.6rem, 2.8vw, 2.2rem);
    line-height: 1.1;
    color: #0c1f2e;
}
.bl-featured-body > p {
    color: #4b6476;
    line-height: 1.78;
    margin: 0 0 20px;
    flex: 1;
}
.bl-featured-foot {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding-top: 18px;
    border-top: 1px solid rgba(6,182,212,0.1);
}
.bl-author {
    font-size: .86rem;
    font-weight: 700;
    color: #164e63;
}
.bl-date {
    font-size: .82rem;
    color: #64748b;
    margin-right: auto;
}
.bl-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin: 48px 0 24px;
}
.bl-section-head h2 {
    margin: 8px 0 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: #0c1f2e;
}
.bl-section-head > p {
    max-width: 460px;
    color: #4b6476;
    line-height: 1.7;
    margin: 0;
    text-align: right;
}
.bl-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    padding-bottom: 40px;
}
.bl-card {
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(6,182,212,0.12);
    box-shadow: 0 8px 28px rgba(7,21,34,0.07);
    display: flex;
    flex-direction: column;
    transition: transform .22s, box-shadow .22s;
}
.bl-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(7,21,34,0.13);
}
.bl-card-img {
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, #0b2238, #0c3b52);
    position: relative;
    flex-shrink: 0;
}
.bl-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.bl-card:hover .bl-card-img img {
    transform: scale(1.04);
}
.bl-no-img {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(34,211,238,0.35);
}
.bl-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.bl-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.bl-card-date {
    font-size: .8rem;
    font-weight: 700;
    color: #64748b;
}
.bl-card h3 {
    margin: 0 0 8px;
    font-size: 1.08rem;
    line-height: 1.42;
    color: #0c1f2e;
}
.bl-card > .bl-card-body > p {
    margin: 0;
    font-size: .9rem;
    color: #4b6476;
    line-height: 1.68;
    flex: 1;
}
.bl-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(6,182,212,0.09);
}
.bl-card-foot a {
    font-size: .84rem;
    font-weight: 800;
    color: #0891b2;
    text-decoration: none;
    transition: color .2s;
}
.bl-card-foot a:hover {
    color: #0e7490;
}
@media (max-width: 1100px) {
    .bl-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 860px) {
    .bl-featured {
        grid-template-columns: 1fr;
    }
    .bl-featured-img {
        min-height: 260px;
    }
    .bl-section-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .bl-section-head > p {
        text-align: left;
    }
}
@media (max-width: 640px) {
    .bl-hero {
        padding: 48px 0 48px;
    }
    .bl-grid {
        grid-template-columns: 1fr;
    }
    .bl-featured-body {
        padding: 24px 20px;
    }
    .bl-featured-foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Public agents page theme alignment */
.ag-page {
    padding: 10px 0 56px;
}
.ag-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 22px;
    padding: 34px;
    width: calc(100vw - 32px);
    max-width: none;
    margin-left: calc(50% - 50vw + 16px);
    margin-right: calc(50% - 50vw + 16px);
    border-radius: 30px;
    background:
        radial-gradient(circle at 14% 18%, rgba(34, 211, 238, 0.14), transparent 28%),
        radial-gradient(circle at 86% 14%, rgba(103, 232, 249, 0.18), transparent 26%),
        linear-gradient(135deg, #071522 0%, #0b2238 58%, #0e4560 100%);
    color: #fff;
    box-shadow: 0 24px 56px rgba(7, 21, 34, 0.16);
    border: 1px solid rgba(103, 232, 249, 0.12);
}
.ag-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at bottom right, rgba(6, 182, 212, 0.16), transparent 30%);
    pointer-events: none;
}
.ag-hero-copy,
.ag-hero-panel {
    position: relative;
    z-index: 1;
}
.ag-kicker,
.ag-mini-kicker {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.14);
    border: 1px solid rgba(103, 232, 249, 0.24);
    color: #67e8f9;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ag-hero-copy h1 {
    margin: 18px 0 14px;
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    line-height: .98;
    color: #fff;
    max-width: 760px;
}
.ag-hero-copy p {
    margin: 0;
    max-width: 620px;
    color: rgba(186, 230, 253, 0.84);
    line-height: 1.8;
    font-size: 1rem;
}
.ag-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.ag-hero-tags span {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: #e0f2fe;
    font-size: .83rem;
    font-weight: 700;
}
.ag-hero-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-content: center;
}
.ag-stat-card {
    padding: 18px;
    border-radius: 22px;
    background: rgba(7, 21, 34, 0.34);
    border: 1px solid rgba(186, 230, 253, 0.14);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
.ag-stat-card strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
    color: #fff;
}
.ag-stat-card span {
    display: block;
    margin-top: 8px;
    color: #a5f3fc;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ag-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin: 34px 0 22px;
}
.ag-head h2 {
    margin: 10px 0 0;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    color: #0c1f2e;
}
.ag-head p {
    max-width: 500px;
    margin: 0;
    color: #4b6476;
    line-height: 1.72;
    text-align: right;
}
.ag-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.ag-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.22), transparent 32%),
        linear-gradient(180deg, #ffffff, #f8fdff);
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: 0 12px 30px rgba(7, 21, 34, 0.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 46px rgba(7, 21, 34, 0.12);
    border-color: rgba(6, 182, 212, 0.2);
}
.ag-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ag-avatar {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(6, 182, 212, 0.24);
}
.ag-card-intro h3 {
    margin: 8px 0 4px;
    font-size: 1.2rem;
    color: #0c1f2e;
}
.ag-card-intro p {
    margin: 0;
    color: #4b6476;
    line-height: 1.6;
}
.ag-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.1);
    color: #0891b2;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: 1px solid rgba(6, 182, 212, 0.14);
}
.ag-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.ag-meta > div {
    padding: 14px 15px;
    border-radius: 18px;
    background: rgba(240, 249, 255, 0.88);
    border: 1px solid rgba(6, 182, 212, 0.1);
}
.ag-meta span {
    display: inline-flex;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #0891b2;
}
.ag-meta strong {
    display: block;
    margin-top: 8px;
    color: #12384d;
    font-size: 1rem;
}
.ag-copy {
    margin: 18px 0 0;
    color: #4b6476;
    line-height: 1.72;
}
.ag-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}
.ag-actions .btn {
    flex: 1;
}

@media (max-width: 1120px) {
    .ag-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .ag-hero {
        grid-template-columns: 1fr;
        padding: 24px;
        border-radius: 24px;
    }
    .ag-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .ag-head p {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .ag-page {
        padding-top: 0;
    }
    .ag-hero,
    .ag-card {
        padding: 18px;
        border-radius: 0;
    }
    .ag-hero-panel,
    .ag-grid,
    .ag-meta {
        grid-template-columns: 1fr;
    }
    .ag-actions {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .pd-gallery-nav {
        top: 130px;
        width: 40px;
        height: 40px;
        font-size: 1.15rem;
    }
    .pd-gallery-prev {
        left: 10px;
    }
    .pd-gallery-next {
        right: 10px;
    }
}

/* Home page bottom redesign */
.home-journey-shell {
    position: relative;
    padding: 28px 0 10px;
}
.home-journey-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.home-journey-head h2 {
    margin-bottom: 8px;
}
.home-journey-head p {
    max-width: 620px;
}
.home-journey-summary {
    min-width: 220px;
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, #082f49, #0e7490);
    color: #fff;
    box-shadow: 0 16px 36px rgba(8, 47, 73, 0.18);
}
.home-journey-summary strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
}
.home-journey-summary span {
    display: block;
    margin-top: 8px;
    color: rgba(224, 242, 254, 0.86);
    line-height: 1.6;
    font-size: .9rem;
}
.home-journey-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.home-journey-card {
    position: relative;
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.18), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fcff);
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: 0 14px 30px rgba(7, 21, 34, 0.08);
}
.home-journey-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.home-journey-card .num {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #06b6d4, #0e7490);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    box-shadow: 0 12px 22px rgba(6, 182, 212, 0.24);
}
.home-journey-line {
    width: 2px;
    flex: 1;
    min-height: 70px;
    background: linear-gradient(180deg, rgba(6, 182, 212, 0.32), rgba(6, 182, 212, 0));
}
.home-journey-copy h3 {
    margin: 0 0 10px;
    font-size: 1.14rem;
    color: #0c1f2e;
}
.home-journey-copy p {
    margin: 0;
    line-height: 1.72;
    color: #4b6476;
}
.home-bottom-band {
    padding-top: 24px;
    padding-bottom: 30px;
}
.home-proof-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 22px;
}
.home-proof-panel,
.home-testimonial-panel {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: 0 18px 38px rgba(7, 21, 34, 0.08);
}
.home-proof-panel {
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.18), transparent 30%),
        linear-gradient(135deg, #071522 0%, #0b2238 62%, #0e4560 100%);
    color: #fff;
}
.home-proof-panel h2 {
    color: #fff;
}
.home-proof-intro {
    color: rgba(186, 230, 253, 0.82);
    max-width: 700px;
    margin-bottom: 18px;
}
.home-proof-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.home-proof-item {
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(186, 230, 253, 0.12);
    backdrop-filter: blur(10px);
}
.home-proof-item strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 1rem;
}
.home-proof-item span {
    display: block;
    color: rgba(224, 242, 254, 0.8);
    line-height: 1.65;
    font-size: .92rem;
}
.home-proof-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.home-proof-stat {
    padding: 16px;
    border-radius: 20px;
    background: rgba(7, 21, 34, 0.34);
    border: 1px solid rgba(186, 230, 253, 0.12);
}
.home-proof-stat b {
    display: block;
    color: #67e8f9;
    font-size: 1.55rem;
    line-height: 1;
}
.home-proof-stat span {
    display: block;
    margin-top: 8px;
    color: rgba(224, 242, 254, 0.82);
    font-size: .84rem;
    font-weight: 700;
}
.home-testimonial-panel {
    background:
        radial-gradient(circle at top right, rgba(186, 230, 253, 0.24), transparent 32%),
        linear-gradient(180deg, #ffffff, #f7fcff);
}
.home-testimonial-head {
    margin-bottom: 18px;
}
.home-testimonial-head h2 {
    margin-top: 8px;
    color: #0c1f2e;
}
.home-testimonial-stack {
    display: grid;
    gap: 14px;
}
.home-testimonial-card {
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(240, 249, 255, 0.95);
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}
.home-testimonial-text {
    margin: 0;
    color: #365266;
    line-height: 1.75;
    font-size: .96rem;
}
.home-testimonial-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(6, 182, 212, 0.1);
}
.home-testimonial-meta strong {
    color: #0c1f2e;
}
.home-testimonial-meta span {
    color: #0e7490;
    font-size: .86rem;
    font-weight: 700;
}

@media (max-width: 1120px) {
    .home-journey-grid,
    .home-proof-shell {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .home-proof-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .home-journey-head,
    .home-proof-shell {
        grid-template-columns: 1fr;
        display: grid;
    }
    .home-proof-list,
    .home-journey-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .home-journey-card {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .home-journey-step {
        flex-direction: row;
        align-items: center;
    }
    .home-journey-line {
        width: 100%;
        min-height: 2px;
        height: 2px;
    }
    .home-proof-panel,
    .home-testimonial-panel {
        padding: 20px;
        border-radius: 22px;
    }
    .home-proof-list,
    .home-proof-stats {
        grid-template-columns: 1fr;
    }
    .home-testimonial-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Property details lightbox width fix */
.pd-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(3, 19, 31, 0.92) !important;
    z-index: 9999 !important;
}
.pd-lightbox-stage {
    width: min(96vw, 1500px) !important;
    max-width: 96vw !important;
    height: calc(100vh - 48px) !important;
    max-height: calc(100vh - 48px) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.pd-lightbox-stage img,
#pdLightboxImg {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block;
    margin: 0 auto !important;
}
.pd-lightbox-close {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 10001 !important;
}
.pd-lightbox-nav {
    position: fixed !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10001 !important;
}
.pd-lightbox-prev {
    left: 18px !important;
}
.pd-lightbox-next {
    right: 18px !important;
}

/* Property details gallery fix */
.pd-gallery-shell {
    margin-bottom: 22px;
    background: transparent !important;
}
.pd-mosaic {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .85fr);
    gap: 14px;
    margin-bottom: 22px;
}
.pd-mosaic-solo {
    grid-template-columns: 1fr;
}
.pd-mosaic-main {
    position: relative;
    min-height: 460px;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    isolation: isolate;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}
.pd-mosaic-main img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    border-radius: 0 !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    mix-blend-mode: normal !important;
    image-rendering: auto !important;
}
.pd-mosaic-main::before,
.pd-mosaic-main::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border-radius: 0 !important;
    filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}
.pd-mosaic {
    display: block !important;
    gap: 0 !important;
}
.pd-mosaic-main,
.pd-thumb,
.pd-mosaic-grid {
    border-radius: 0 !important;
}
.pd-mosaic-main {
    width: 100% !important;
    min-height: 520px !important;
    margin-bottom: 14px !important;
}
.pd-thumb-strip {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin-top: 14px;
    background: transparent !important;
}
.pd-thumb-card {
    padding: 0 !important;
    height: 92px;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(6, 182, 212, 0.14) !important;
    background: transparent !important;
    box-shadow: 0 8px 18px rgba(7, 21, 34, 0.06);
    opacity: 0.88;
    transition: transform .18s ease, border-color .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.pd-thumb-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.pd-thumb-card:hover,
.pd-thumb-card.is-active {
    opacity: 1;
    transform: translateY(-2px);
    border-color: rgba(6, 182, 212, 0.45) !important;
    box-shadow: 0 12px 22px rgba(6, 182, 212, 0.14);
}
.pd-mosaic-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    background: transparent !important;
}
.pd-thumb {
    width: 100% !important;
    min-width: 0 !important;
    height: 100px !important;
    min-height: 100px !important;
    overflow: hidden !important;
    border: 1px solid rgba(6, 182, 212, 0.14) !important;
    background: transparent !important;
}
.pd-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.pd-mosaic-solo .pd-mosaic-main {
    margin-bottom: 0 !important;
}
.pd-mosaic-main .pd-badge,
.pd-mosaic-main .pd-badge-featured,
.pd-mosaic-main .pd-mosaic-hover-hint,
.pd-zoom-trigger,
.pd-more-label {
    display: none !important;
}
.pd-mosaic,
.pd-mosaic-main,
.pd-mosaic-grid,
.pd-thumb {
    backdrop-filter: none !important;
}
.pd-mosaic-main * {
    filter: none;
}
.pd-mosaic-hover-hint,
.pd-zoom-trigger {
    background: rgba(7, 21, 34, 0.55) !important;
}
.pd-mosaic-main > *:not(img):not(.pd-badge):not(.pd-badge-featured):not(.pd-mosaic-hover-hint):not(.pd-zoom-trigger) {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
}
.pd-mosaic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.pd-thumb {
    position: relative;
    min-height: 222px;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #0b2238;
}
.pd-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: none !important;
    transform: none !important;
}
.pd-zoom-trigger {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 3;
}
.pd-badge,
.pd-badge-featured,
.pd-mosaic-hover-hint,
.pd-more-label,
.pd-zoom-trigger {
    filter: none !important;
    backdrop-filter: none !important;
}
.pd-mosaic-hover-hint {
    top: auto !important;
    right: 16px !important;
    bottom: 16px !important;
    left: auto !important;
    transform: none !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    background: rgba(7, 21, 34, 0.72) !important;
    color: #fff !important;
    z-index: 3 !important;
}

@media (max-width: 860px) {
    .pd-mosaic {
        grid-template-columns: 1fr;
    }
    .pd-mosaic-main {
        min-height: 360px !important;
    }
    .pd-thumb-strip {
        grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));
    }
    .pd-thumb {
        height: 92px !important;
        min-height: 92px !important;
    }
}

@media (max-width: 640px) {
    .pd-mosaic-main {
        min-height: 260px !important;
        border-radius: 0 !important;
    }
    .pd-thumb-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .pd-thumb-card {
        height: 76px;
        border-radius: 12px !important;
    }
    .pd-thumb {
        height: 84px !important;
        min-height: 84px !important;
        border-radius: 0 !important;
    }
    .pd-zoom-trigger {
        left: 14px;
        bottom: 14px;
    }
}
.pd-lightbox-stage {
    width: min(92vw, 1400px) !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.pd-lightbox-stage img,
#pdLightboxImg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 88vh !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
}
.pd-lightbox-close,
.pd-lightbox-nav,
.pd-lightbox-prev,
.pd-lightbox-next {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: auto !important;
}

.prop-card {
    position: relative;
}
.prop-card-link {
    z-index: 1;
}
.prop-body,
.prop-cta {
    position: relative;
    z-index: 2;
}
.pd-page .pd-mosaic {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .85fr) !important;
    gap: 14px !important;
    margin-bottom: 22px !important;
}
.pd-page .pd-mosaic-solo {
    grid-template-columns: 1fr !important;
}
.pd-page .pd-mosaic-main {
    position: relative !important;
    min-height: 460px !important;
    margin-bottom: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background: #0b2238 !important;
    isolation: isolate !important;
}
.pd-page .pd-mosaic-main img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
}
.pd-page .pd-mosaic-main::before,
.pd-page .pd-mosaic-main::after {
    content: none !important;
    display: none !important;
}
.pd-page .pd-mosaic-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    overflow: visible !important;
    background: transparent !important;
}
.pd-page .pd-thumb {
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 222px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #0b2238 !important;
    border: 0 !important;
}
.pd-page .pd-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.pd-page .pd-badge,
.pd-page .pd-badge-featured,
.pd-page .pd-mosaic-hover-hint,
.pd-page .pd-more-label,
.pd-page .pd-zoom-trigger {
    display: inline-flex !important;
}
.pd-page .pd-zoom-trigger {
    position: absolute !important;
    left: 20px !important;
    bottom: 20px !important;
    z-index: 3 !important;
}
.pd-page .pd-thumb-strip,
.pd-page .pd-thumb-card {
    display: none !important;
}
.pd-page .pd-lightbox-stage {
    width: min(92vw, 1400px) !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: none !important;
}
.pd-page #pdLightboxImg,
.pd-lightbox #pdLightboxImg {
    width: auto !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: 88vh !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

@media (max-width: 860px) {
    .pd-page .pd-mosaic {
        grid-template-columns: 1fr !important;
    }
    .pd-page .pd-mosaic-main {
        min-height: 360px !important;
    }
    .pd-page .pd-mosaic-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    .pd-page .pd-thumb {
        min-height: 120px !important;
    }
}

@media (max-width: 640px) {
    .pd-page .pd-mosaic-main {
        min-height: 280px !important;
        border-radius: 22px !important;
    }
    .pd-page .pd-mosaic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .pd-page .pd-thumb {
        min-height: 110px !important;
        border-radius: 18px !important;
    }
    .pd-page .pd-zoom-trigger {
        left: 14px !important;
        bottom: 14px !important;
    }
}
.pd-lightbox[hidden] {
    display: none !important;
}
.pd-lightbox:not([hidden]) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}
.pd-lightbox:not([hidden]) .pd-lightbox-stage {
    width: min(96vw, 1600px) !important;
    max-width: 96vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.pd-lightbox:not([hidden]) #pdLightboxImg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 64px) !important;
    object-fit: contain !important;
    display: block !important;
}
.pd-gallery {
    margin-bottom: 24px;
    position: relative;
}
.pd-gallery-main {
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 28px;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    cursor: zoom-in;
}
.pd-gallery-main img {
    width: 100%;
    height: 520px;
    display: block;
    object-fit: cover;
    border-radius: 28px;
    background: #eef6fb;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .22s ease;
}
.pd-gallery-main.is-zoomed {
    cursor: zoom-out;
}
.pd-gallery-main.is-zoomed img {
    transform: scale(1.8);
}
.pd-gallery-nav {
    position: absolute;
    top: 260px;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(186, 230, 253, 0.42);
    background: rgba(3, 19, 31, 0.66);
    color: #fff;
    font-size: 1.4rem;
    line-height: 1;
    z-index: 3;
    box-shadow: 0 12px 24px rgba(3, 19, 31, 0.24);
}
.pd-gallery-prev {
    left: 18px;
}
.pd-gallery-next {
    right: 18px;
}
.pd-gallery-nav:hover {
    background: rgba(8, 145, 178, 0.92);
    border-color: rgba(186, 230, 253, 0.72);
}
.pd-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}
.pd-gallery-thumb {
    padding: 0;
    height: 92px;
    width: 118px;
    min-width: 118px;
    border: 2px solid rgba(6, 182, 212, 0.12);
    border-radius: 16px;
    background: transparent;
    overflow: hidden;
    box-shadow: none;
}
.pd-gallery-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.pd-gallery-thumb.is-active {
    border-color: #0891b2;
}
.pd-gallery-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(6, 182, 212, 0.12);
}
.pd-gallery-meta span {
    color: #4b6476;
    font-weight: 700;
}
.pd-gallery-open {
    width: auto;
    padding: 10px 16px;
    border-radius: 999px;
}

.pd-lightbox-nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(186, 230, 253, 0.45);
    background: rgba(3, 19, 31, 0.72);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    z-index: 10002;
    box-shadow: 0 14px 28px rgba(3, 19, 31, 0.28);
}
.pd-lightbox-prev {
    left: 18px;
}
.pd-lightbox-next {
    right: 18px;
}
.pd-lightbox-nav:hover {
    background: rgba(8, 145, 178, 0.92);
    border-color: rgba(186, 230, 253, 0.75);
}

@media (max-width: 860px) {
    .pd-gallery-main img {
        height: 380px;
    }
    .pd-gallery-nav {
        top: 190px;
    }
}

@media (max-width: 640px) {
    .pd-gallery-main img {
        height: 260px;
    }
    .pd-gallery-thumbs {
        gap: 10px;
    }
    .pd-gallery-thumb {
        height: 74px;
        width: 92px;
        min-width: 92px;
        border-radius: 12px;
    }
    .pd-lightbox-nav {
        width: 44px;
        height: 44px;
        font-size: 1.25rem;
    }
    .pd-lightbox-prev {
        left: 10px;
    }
    .pd-lightbox-next {
        right: 10px;
    }
.pd-gallery-meta {
    flex-direction: column;
    align-items: flex-start;
}
}

/* Property details redesign */
.pd-shell-v2 {
    display: grid;
    gap: 22px;
    margin: 22px 0 34px;
}
.pd-gallery-panel-v2,
.pd-hero-band-v2,
.pd-section-card-v2,
.pd-sticky-card-v2 {
    border: 1px solid rgba(6, 182, 212, 0.12);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,252,255,0.98));
    box-shadow: 0 18px 40px rgba(7, 21, 34, 0.08);
}
.pd-gallery-panel-v2 {
    padding: 18px;
    border-radius: 30px;
}
.pd-gallery-badges-v2 {
    position: absolute;
    inset: 18px 18px auto 18px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    pointer-events: none;
}
.pd-listing-pill,
.pd-photo-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
    background: rgba(7, 21, 34, 0.72);
    color: #fff;
}
.pd-photo-pill {
    background: rgba(255,255,255,0.88);
    color: #0f172a;
}
.pd-hero-band-v2 {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, .9fr);
    gap: 20px;
    padding: 24px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(239,252,255,0.98));
}
.pd-hero-kicker-v2,
.pd-section-kicker-v2,
.pd-sticky-kicker-v2 {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pd-hero-kicker-v2 {
    margin-bottom: 12px;
    color: #0e7490;
    background: rgba(6, 182, 212, 0.1);
}
.pd-price-band-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 22px;
    background: linear-gradient(145deg, #071522, #0e4560);
    color: #fff;
}
.pd-price-band-v2 small {
    display: block;
    color: rgba(224, 242, 254, 0.7);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pd-price-band-v2 strong {
    display: block;
    margin-top: 6px;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1;
}
.pd-price-band-v2 span {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    font-size: .78rem;
    font-weight: 700;
}
.pd-highlight-strip-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.pd-highlight-strip-v2 span {
    display: inline-flex;
    align-items: center;
    padding: 9px 12px;
    border-radius: 14px;
    background: #f0fbff;
    border: 1px solid rgba(6, 182, 212, 0.1);
    color: #164e63;
    font-size: .83rem;
    font-weight: 700;
}
.pd-fact-grid-v2,
.pd-overview-grid-v2,
.pd-market-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.pd-fact-card-v2,
.pd-overview-item-v2,
.pd-market-card-v2 {
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: linear-gradient(180deg, #ffffff, #f8fcff);
}
.pd-fact-card-v2 small,
.pd-overview-item-v2 small,
.pd-market-card-v2 small,
.pd-seller-meta-v2 small,
.pd-support-line-v2 small {
    display: block;
    color: #64748b;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pd-fact-card-v2 strong,
.pd-overview-item-v2 strong,
.pd-market-card-v2 strong,
.pd-seller-meta-v2 strong,
.pd-support-line-v2 strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1rem;
}
.pd-layout-v2 {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .74fr);
    gap: 22px;
    align-items: start;
}
.pd-content-v2,
.pd-sidebar-v2 {
    display: grid;
    gap: 18px;
}
.pd-section-card-v2 {
    padding: 24px;
    border-radius: 28px;
}
.pd-section-head-v2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.pd-section-head-v2 h2 {
    margin: 8px 0 0;
    color: #0f172a;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
}
.pd-section-kicker-v2,
.pd-sticky-kicker-v2 {
    color: #0e7490;
    background: rgba(6, 182, 212, 0.1);
}
.pd-sticky-card-v2 {
    position: sticky;
    top: 92px;
    padding: 22px;
    border-radius: 28px;
}
.pd-sidebar-v2 .pd-sticky-card-v2 + .pd-sticky-card-v2 {
    top: auto;
}
.pd-sticky-primary-v2 {
    background:
        radial-gradient(circle at top right, rgba(103, 232, 249, 0.14), transparent 32%),
        linear-gradient(135deg, #071522 0%, #0b2238 58%, #0e4560 100%);
    color: #ecfeff;
}
.pd-sticky-primary-v2 .pd-sticky-kicker-v2 {
    background: rgba(255,255,255,0.12);
    color: #dffcff;
}
.pd-sticky-price-v2 {
    margin-top: 14px;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}
.pd-sticky-copy-v2,
.pd-contact-note-v2,
.pd-response-note-v2 {
    margin: 12px 0 0;
    color: #5f7286;
    line-height: 1.65;
    font-size: .88rem;
}
.pd-sticky-primary-v2 .pd-sticky-copy-v2,
.pd-sticky-primary-v2 .pd-response-note-v2 {
    color: rgba(236, 254, 255, 0.8);
}
.pd-action-stack-v2 {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}
.pd-action-stack-v2 form {
    margin: 0;
}
.pd-seller-top-v2 {
    display: flex;
    align-items: center;
    gap: 12px;
}
.pd-seller-meta-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}
.pd-contact-number-v2 {
    margin-top: 16px;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .08em;
    color: #0f172a;
}
.pd-inline-feedback-v2 {
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid transparent;
}
.pd-inline-feedback-v2.success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #166534;
}
.pd-inline-feedback-v2.error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}
.pd-visit-form-v2 {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}
.pd-visit-form-v2 input,
.pd-visit-form-v2 textarea {
    width: 100%;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #fbfdff;
    padding: 12px 14px;
}
.pd-support-line-v2 + .pd-support-line-v2 {
    margin-top: 14px;
}
.pd-related-section {
    padding: 8px 0 40px;
}

@media (max-width: 1100px) {
    .pd-hero-band-v2,
    .pd-layout-v2 {
        grid-template-columns: 1fr;
    }
    .pd-sticky-card-v2 {
        position: static;
    }
}

@media (max-width: 860px) {
    .pd-gallery-panel-v2,
    .pd-hero-band-v2,
    .pd-section-card-v2,
    .pd-sticky-card-v2 {
        border-radius: 22px;
    }
    .pd-fact-grid-v2,
    .pd-overview-grid-v2,
    .pd-market-grid-v2,
    .pd-seller-meta-v2 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .pd-shell-v2 {
        gap: 16px;
        margin: 16px 0 24px;
    }
    .pd-gallery-panel-v2,
    .pd-hero-band-v2,
    .pd-section-card-v2,
    .pd-sticky-card-v2 {
        padding: 16px;
        border-radius: 18px;
    }
    .pd-fact-grid-v2,
    .pd-overview-grid-v2,
    .pd-market-grid-v2,
    .pd-seller-meta-v2 {
        grid-template-columns: 1fr;
    }
    .pd-price-band-v2 {
        flex-direction: column;
        align-items: flex-start;
    }
    .pd-gallery-badges-v2 {
        inset: 12px 12px auto 12px;
        flex-wrap: wrap;
    }
    .pd-contact-number-v2 {
        font-size: 1.2rem;
    }
}

/* Simplified property details layout */
.pd-shell-v3 {
    display: grid;
    gap: 18px;
    margin: 20px 0 34px;
}
.pd-gallery-panel-v3 {
    padding: 14px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(6, 182, 212, 0.12);
    box-shadow: 0 14px 28px rgba(7, 21, 34, 0.06);
}
.pd-simple-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: 18px;
    align-items: start;
}
.pd-main-column,
.pd-side-column {
    display: grid;
    gap: 16px;
}
.pd-simple-block,
.pd-side-panel {
    padding: 20px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(6, 182, 212, 0.1);
    box-shadow: 0 14px 28px rgba(7, 21, 34, 0.05);
}
.pd-simple-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.pd-simple-price {
    font-size: 1.8rem;
    font-weight: 800;
    color: #0f172a;
}
.pd-simple-label {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: #ecfeff;
    color: #0e7490;
    font-size: .76rem;
    font-weight: 800;
}
.pd-simple-desc {
    margin: 0;
    color: #365266;
    line-height: 1.8;
    font-size: .96rem;
}
.pd-simple-title {
    margin: 18px 0 8px;
    font-size: clamp(1.6rem, 2.8vw, 2.25rem);
    line-height: 1.1;
    color: #0f172a;
}
.pd-simple-location {
    margin: 0;
}
.pd-inline-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.pd-inline-details span {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8fcff;
    border: 1px solid rgba(148, 163, 184, 0.14);
}
.pd-inline-details small {
    color: #64748b;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pd-inline-details strong {
    color: #0f172a;
    font-size: .95rem;
}
.pd-simple-subtitle {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 1.15rem;
}
.pd-side-panel {
    position: sticky;
    top: 90px;
}
.pd-side-column .pd-side-panel + .pd-side-panel {
    top: auto;
}
.pd-side-form {
    margin: 10px 0 0;
}
.pd-side-seller {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
}
.pd-side-seller > strong {
    color: #0f172a;
    font-size: 1rem;
}
.pd-side-seller > span {
    color: #64748b;
    font-size: .84rem;
}

@media (max-width: 1100px) {
    .pd-simple-layout {
        grid-template-columns: 1fr;
    }
    .pd-side-panel {
        position: static;
    }
}

@media (max-width: 860px) {
    .pd-inline-details {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .pd-shell-v3 {
        gap: 14px;
        margin: 16px 0 24px;
    }
    .pd-gallery-panel-v3,
    .pd-simple-block,
    .pd-side-panel {
        padding: 16px;
        border-radius: 18px;
    }
    .pd-simple-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .pd-inline-details {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .home-search-shell {
        padding: 14px;
        border-radius: 18px;
    }
    .home-search-grid,
    .home-search-grid--locations,
    .home-search-grid--details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 12px;
        align-items: start;
    }
    .home-search-grid--locations .home-search-field {
        grid-column: span 1;
        overflow: visible;
    }
    .home-search-map-card {
        grid-template-columns: 1fr;
        gap: 14px;
        margin: 4px 0 12px;
        padding: 14px;
        border-radius: 18px;
    }
    .home-search-grid--locations > .home-search-field:nth-child(3) {
        grid-column: 1 / 2;
    }
    .home-search-top,
    .home-search-grid,
    .home-search-choice-row,
    .home-search-footer {
        padding-inline: 0;
    }
    .home-search-field {
        padding: 10px 12px;
        gap: 5px;
        border-radius: 16px;
    }
    .home-search-field > span {
        font-size: .68rem;
        letter-spacing: .04em;
    }
    .home-search-field input,
    .home-search-field select,
    .home-search-field--multiselect .lp-multiselect-toggle {
        font-size: .88rem;
        min-height: 26px;
    }
    .home-search-field--multiselect .lp-multiselect-search {
        padding: 8px 10px;
    }
    .home-search-field--multiselect .lp-multiselect-panel {
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 8px);
        box-sizing: border-box;
        overflow: hidden;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding: 10px;
        border-radius: 16px;
        max-height: 320px;
        z-index: 9999;
    }
    .home-search-field--multiselect .lp-multiselect-options {
        max-height: 208px;
        overflow-y: auto;
    }
    .home-search-footer {
        gap: 12px;
    }
    .home-search-submit {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .home-search-grid,
    .home-search-grid--locations,
    .home-search-grid--details {
        grid-template-columns: 1fr;
    }
    .home-search-grid--locations .home-search-field-wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .lp-filter-shell {
        padding: 12px;
        border-radius: 18px;
    }
    .lp-filter-side {
        padding: 14px;
        border-radius: 16px;
    }
    .lp-filter-main {
        padding: 0;
    }
    .lp-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .lp-filter-field {
        padding: 10px 12px;
        gap: 5px;
        border-radius: 16px;
    }
    .lp-filter-field label {
        font-size: .66rem;
        letter-spacing: .04em;
    }
    .lp-filter-field input,
    .lp-filter-field select,
    .lp-filter-field--multi .lp-multiselect-toggle {
        font-size: .88rem;
        min-height: 26px;
    }
    .lp-filter-field--multi .lp-multiselect-search {
        padding: 8px 10px;
    }
    .lp-filter-btn {
        width: 100%;
        min-width: 0;
        justify-self: stretch;
    }
}

@media (max-width: 420px) {
    .lp-filter-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .site-footer .container {
        width: min(calc(100% - 16px), 1180px);
    }
    .footer-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .footer-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 14px;
        width: 100%;
    }
    .footer-col {
        min-width: 0;
    }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .footer-bottom-right {
        flex-wrap: wrap;
    }
}

@media (max-width: 420px) {
    .footer-nav {
        grid-template-columns: 1fr;
    }
}
.ab-stat-card b {
    transition: transform .25s ease, text-shadow .25s ease, color .25s ease;
}

.ab-stat-card b.is-counting {
    transform: scale(1.06);
    text-shadow: 0 0 22px rgba(34, 211, 238, 0.26);
}

.ab-stat-card b.is-counted {
    text-shadow: 0 0 14px rgba(34, 211, 238, 0.16);
}
