:root{
    --bg:#f6f4f1;
    --surface:#ffffff;
    --surface-soft:#fbfaf8;
    --surface-warm:#fffaf4;

    --text:#20201f;
    --text-soft:#5f5d59;
    --muted:#8a8680;

    --primary:#741f1d;
    --primary-dark:#561513;
    --primary-soft:#f8ece9;

    --gold:#b88942;
    --gold-soft:#f7efe1;

    --green:#24784a;
    --green-soft:#edf8f1;

    --red:#b33c35;
    --red-soft:#fff0ee;

    --border:#e7e3dd;
    --border-strong:#d9d3cb;

    --shadow-xs:0 1px 2px rgba(32,25,20,.03);
    --shadow-sm:0 4px 14px rgba(32,25,20,.05);
    --shadow-md:0 12px 34px rgba(32,25,20,.08);

    --radius-sm:10px;
    --radius:14px;
    --radius-lg:20px;

    --container:1280px;
}

/* Faladesh vNext: compact supporting layer plus local/testing provenance. */
.kl-chat-answer-section.is-horizon-support {
    border: 1px solid #cfe0ea;
    border-left: 3px solid #0b6f98;
    border-radius: 8px;
    background: #f7fbfd;
}
.kl-chat-answer-section.is-horizon-support p { margin: 5px 0; }
.kl-chat-horizon-note {
    display: block;
    margin-top: 7px;
    color: #5d7180;
    font-size: 11px;
}
.kl-chat-vnext-debug {
    margin-top: 10px;
    border: 1px dashed #9db2bf;
    border-radius: 8px;
    background: #f8fafb;
    color: #253f50;
    font-size: 11px;
}
.kl-chat-vnext-debug > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    cursor: pointer;
}
.kl-chat-vnext-debug > summary span { color: #647783; font-weight: 500; }
.kl-chat-vnext-debug-body { padding: 0 12px 11px; border-top: 1px solid #dce6eb; }
.kl-chat-vnext-debug-body h5 { margin: 10px 0 4px; color: #0b587c; font-size: 11px; }
.kl-chat-vnext-debug-body p { margin: 8px 0; }
.kl-chat-vnext-debug-body ul { margin: 4px 0 0 17px; padding: 0; }
.kl-chat-vnext-debug-body li { margin: 3px 0; overflow-wrap: anywhere; }

.kl-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #6a7f8d;
    font-size: 13px;
}

.kl-breadcrumb a {
    color: #0b5f91;
    text-decoration: none;
}

.kl-breadcrumb a:hover {
    text-decoration: underline;
}

/* =========================================================
   KUNDLILIVE UI V11 — CLEAN CONTENT-FIRST DESIGN SYSTEM
   Inspired by familiar astrology portals, without copying
   any third-party brand, layout or trade dress.
   ========================================================= */

:root {
    --bg: #f4f7fa;
    --surface: #ffffff;
    --surface-soft: #f8fafc;
    --surface-warm: #fffaf0;
    --text: #1f2937;
    --text-soft: #526170;
    --muted: #718096;
    --primary: #0b5f9f;
    --primary-dark: #083f6d;
    --primary-soft: #eaf4fb;
    --gold: #e5a51b;
    --gold-soft: #fff7df;
    --border: #dce4ec;
    --border-strong: #cbd6e0;
    --shadow-xs: 0 1px 2px rgba(15, 46, 71, .035);
    --shadow-sm: 0 4px 14px rgba(15, 46, 71, .055);
    --shadow-md: 0 10px 28px rgba(15, 46, 71, .075);
    --radius-sm: 6px;
    --radius: 9px;
    --radius-lg: 12px;
}

html {
    background: var(--bg);
}

body {
    color: var(--text);
    background: var(--bg) !important;
    font-family: "Noto Sans Devanagari", "Nirmala UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kl-page {
    width: min(100%, 1320px) !important;
    margin: 0 auto !important;
    padding: 26px 20px 48px !important;
}

/* Header */

.kl-topbar {
    position: sticky !important;
    z-index: 1200 !important;
    top: 0 !important;
    border: 0 !important;
    border-bottom: 3px solid var(--gold) !important;
    background: var(--primary-dark) !important;
    box-shadow: 0 2px 8px rgba(3, 39, 68, .18) !important;
}

.kl-topbar-inner {
    width: min(100%, 1280px) !important;
    min-height: 66px !important;
    margin: 0 auto !important;
    padding: 9px 20px !important;
}

.kl-brand,
.kl-brand:hover {
    color: #fff !important;
    text-decoration: none !important;
}

.kl-logo {
    border: 1px solid rgba(255, 255, 255, .5) !important;
    border-radius: 7px !important;
    color: var(--primary-dark) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.kl-brand-name {
    color: #fff !important;
}

.kl-brand-subtitle {
    color: rgba(255, 255, 255, .72) !important;
}

.kl-live-presence {
    border-color: rgba(255, 255, 255, .25) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .09) !important;
}

.kl-lang {
    border-color: rgba(255, 255, 255, .28) !important;
    background: rgba(0, 0, 0, .12) !important;
}

.kl-lang a {
    color: rgba(255, 255, 255, .72) !important;
}

.kl-lang a.active {
    color: var(--primary-dark) !important;
    background: #fff !important;
}

/* Landing and generator */

.kl-landing-hero,
.kl-generator,
.kl-profile-hero,
.kl-section,
.kl-ask-card {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--shadow-sm) !important;
}

.kl-landing-hero {
    gap: 28px !important;
    margin: 0 0 18px !important;
    padding: 34px 36px !important;
    overflow: hidden !important;
    border-top: 4px solid var(--primary) !important;
    background: #fff !important;
}

.kl-landing-hero::before,
.kl-landing-hero::after {
    display: none !important;
}

.kl-eyebrow {
    color: var(--primary) !important;
}

.kl-eyebrow-dot {
    background: var(--gold) !important;
}

.kl-page-title {
    color: #172a3a !important;
    font-size: clamp(30px, 3.2vw, 43px) !important;
    letter-spacing: -.025em !important;
}

.kl-page-subtitle {
    max-width: 780px !important;
    color: var(--text-soft) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.kl-hero-benefits {
    border: 1px solid #d5e3ee !important;
    border-radius: 9px !important;
    background: #f3f8fc !important;
    box-shadow: none !important;
}

.kl-benefits-label {
    color: var(--primary-dark) !important;
}

.kl-benefit-item {
    color: #334a5c !important;
}

.kl-benefit-item > span {
    color: var(--primary) !important;
    background: #dceefa !important;
}

.kl-generator {
    margin-bottom: 20px !important;
    overflow: visible !important;
}

.kl-generator-head {
    padding: 20px 26px !important;
    border-bottom: 1px solid var(--border) !important;
    background: #f7fafc !important;
}

.kl-generator-title,
.kl-profile-name {
    color: #172a3a !important;
}

.kl-generator-note,
.kl-advanced-note,
.kl-profile-meta,
.kl-section-desc {
    color: var(--text-soft) !important;
}

.kl-trust-badge,
.kl-engine-badge {
    border: 1px solid #bfd7e8 !important;
    color: var(--primary-dark) !important;
    background: var(--primary-soft) !important;
    box-shadow: none !important;
}

.kl-form {
    padding: 24px 26px !important;
}

.kl-field label {
    color: #334a5c !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.kl-field input,
.kl-field select {
    min-height: 48px !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 6px !important;
    color: #243746 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.kl-field input:focus,
.kl-field select:focus {
    border-color: var(--primary) !important;
    outline: 3px solid rgba(11, 95, 159, .12) !important;
}

.kl-place-search-btn,
.kl-generate,
.kl-ask-button {
    border: 1px solid var(--primary) !important;
    border-radius: 6px !important;
    color: #fff !important;
    background: var(--primary) !important;
    box-shadow: none !important;
}

.kl-place-search-btn:hover,
.kl-generate:hover,
.kl-ask-button:hover {
    border-color: var(--primary-dark) !important;
    background: var(--primary-dark) !important;
    transform: none !important;
}

.kl-place-results {
    border-color: var(--border) !important;
    border-radius: 7px !important;
    box-shadow: var(--shadow-md) !important;
}

.kl-place-option:hover {
    background: var(--primary-soft) !important;
}

/* Report shell and navigation */

.kl-report {
    gap: 18px !important;
}

.kl-profile-hero {
    overflow: hidden !important;
}

.kl-profile-main {
    padding: 26px 28px 20px !important;
}

.kl-profile-label,
.kl-birth-location-label,
.kl-summary-label {
    color: var(--muted) !important;
}

.kl-profile-location-meta strong,
.kl-birth-location-name,
.kl-coordinate-item strong,
.kl-summary-value {
    color: #243746 !important;
}

.kl-birth-location-box {
    margin: 0 26px 20px !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.kl-birth-location-icon {
    color: var(--primary) !important;
    background: var(--primary-soft) !important;
}

.kl-coordinate-item {
    border-color: var(--border) !important;
    border-radius: 6px !important;
    background: #fff !important;
}

.kl-summary-strip {
    border-top: 1px solid var(--border) !important;
    background: #f7fafc !important;
}

.kl-summary-item {
    border-color: var(--border) !important;
}

.kl-report-nav-wrap,
.kl-report-nav-wrap.is-stuck {
    position: sticky !important;
    z-index: 1050 !important;
    top: 68px !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--primary-dark) !important;
    box-shadow: 0 3px 10px rgba(3, 39, 68, .16) !important;
    transform: none !important;
}

.kl-report-nav {
    min-height: 50px !important;
    padding: 5px 8px !important;
    overflow-x: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    scrollbar-width: none;
}

.kl-report-nav::-webkit-scrollbar {
    display: none;
}

.kl-report-nav-label,
.kl-report-nav > a,
.kl-nav-dropdown > summary {
    min-height: 38px !important;
    border: 0 !important;
    border-radius: 5px !important;
    color: rgba(255, 255, 255, .86) !important;
    background: transparent !important;
}

.kl-report-nav > a:hover,
.kl-report-nav > a.is-active,
.kl-nav-dropdown.is-active > summary,
.kl-nav-dropdown > summary:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, .14) !important;
}

.kl-ask-nav {
    color: #3b2b04 !important;
    background: var(--gold) !important;
}

.kl-nav-dropdown-menu {
    border-color: var(--border) !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: var(--shadow-md) !important;
}

.kl-nav-dropdown-menu a {
    color: #334a5c !important;
}

.kl-nav-dropdown-menu a:hover,
.kl-nav-dropdown-menu a.is-active {
    color: var(--primary-dark) !important;
    background: var(--primary-soft) !important;
}

/* Sections, cards and tables */

.kl-section {
    margin: 0 !important;
    padding: 28px !important;
}

.kl-section-head {
    margin: 0 0 22px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid var(--border) !important;
}

.kl-section-kicker {
    margin-bottom: 4px !important;
    color: var(--primary) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

.kl-section-title {
    color: #172a3a !important;
    font-size: 25px !important;
}

.kl-card,
.kl-table-wrap,
.kl-chart-card,
.kl-yoga-card,
.kl-dosha-card,
.kl-v4-faladesh-card,
.kl-v4-overall {
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.kl-card-title,
.kl-chart-title,
.kl-yoga-name,
.kl-dosha-name,
.kl-v4-card-head h3,
.kl-v4-overall h3 {
    color: #243746 !important;
}

.kl-card-subtitle,
.kl-data-label,
.kl-explain-label,
.kl-v4-card-head p {
    color: var(--muted) !important;
}

.kl-data-item,
.kl-meaning-block,
.kl-personal-block,
.kl-result-detail-body {
    border-color: var(--border) !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
}

.kl-data-value,
.kl-explain-text {
    color: #334a5c !important;
}

.kl-chart-head {
    border-bottom: 1px solid var(--border) !important;
    background: #f3f8fc !important;
}

.kl-chart-tag,
.kl-mini-pill {
    border-color: #c6ddeb !important;
    color: var(--primary-dark) !important;
    background: var(--primary-soft) !important;
}

.kl-validated-chart-body {
    background: #fff !important;
}

.kl-table-wrap {
    overflow-x: auto !important;
}

.kl-table {
    background: #fff !important;
}

.kl-table th {
    border-color: var(--border) !important;
    color: var(--primary-dark) !important;
    background: #eef5fa !important;
}

.kl-table td {
    border-color: #e7edf2 !important;
    color: #3e4f5d !important;
    background: #fff !important;
}

.kl-table tr:nth-child(even) td {
    background: #fbfcfd !important;
}

.kl-table tr:hover td {
    background: #f2f8fc !important;
}

.kl-lagna-row td {
    background: #fff8e6 !important;
}

.kl-tone,
.kl-status-pill {
    border-radius: 999px !important;
    box-shadow: none !important;
}

.kl-summary-plus {
    border-color: var(--border) !important;
    color: var(--primary-dark) !important;
    background: #f8fafc !important;
}

.kl-remedy-box,
.kl-remedy-title {
    border-color: #d8e7dd !important;
}

/* Dasha: explanation first, result second */

.kl-dasha-intro {
    max-width: 980px !important;
    color: #465968 !important;
}

.kl-dasha-guide,
.kl-dasha-compare,
.kl-dasha-balance,
.kl-dasha-now,
.kl-dasha-software-card,
.kl-sade-sati-card {
    border-color: var(--border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.kl-dasha-guide-head,
.kl-dasha-compare-head,
.kl-dasha-software-head {
    border-color: var(--border) !important;
    background: #f3f8fc !important;
}

.kl-dasha-guide-head > span,
.kl-dasha-now-label {
    color: #fff !important;
    background: var(--primary) !important;
}

.kl-dasha-guide-head h3,
.kl-dasha-compare-head h3,
.kl-dasha-timeline-title h3,
.kl-dasha-software-head h3 {
    color: #173c58 !important;
}

.kl-dasha-guide-grid article,
.kl-dasha-compare-row,
.kl-dasha-compare-row > *,
.kl-dasha-software-row {
    border-color: #e3eaf0 !important;
}

.kl-dasha-guide-grid article > span {
    color: var(--primary-dark) !important;
    background: var(--primary-soft) !important;
}

.kl-dasha-compare-row.is-head,
.kl-dasha-software-row.is-head {
    color: var(--primary-dark) !important;
    background: #eef5fa !important;
}

.kl-dasha-compare-row.is-head > * {
    color: var(--primary-dark) !important;
}

.kl-dasha-result-title {
    margin: 30px 0 16px;
    padding: 0 0 14px 16px;
    border-bottom: 1px solid var(--border);
    border-left: 4px solid var(--gold);
}

.kl-dasha-result-title > span {
    display: block;
    margin-bottom: 3px;
    color: var(--primary);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.kl-dasha-result-title h3 {
    margin: 0;
    color: #172a3a;
    font-size: 21px;
    line-height: 1.4;
}

.kl-dasha-result-title p {
    margin: 4px 0 0;
    color: var(--text-soft);
    font-size: 12.5px;
    line-height: 1.6;
}

.kl-dasha-balance {
    border-color: #ead49c !important;
    background: var(--gold-soft) !important;
}

.kl-dasha-balance span,
.kl-dasha-balance strong {
    color: #604712 !important;
}

.kl-dasha-now-periods .is-antardasha {
    background: #f7fafc !important;
}

.kl-dasha-now-periods strong {
    color: var(--primary-dark) !important;
}

.kl-dasha-software-card.is-current {
    border-color: var(--primary) !important;
    box-shadow: inset 0 3px 0 var(--primary) !important;
}

.kl-dasha-software-card.is-current .kl-dasha-software-head {
    background: #eaf4fb !important;
}

.kl-current-dasha-badge {
    color: #fff !important;
    background: var(--primary) !important;
}

.kl-dasha-software-row.is-current {
    background: #fff5d9 !important;
    box-shadow: inset 3px 0 0 var(--gold) !important;
}

.kl-sade-sati-card {
    border-top: 4px solid var(--primary) !important;
}

.kl-sade-sati-status {
    color: #6c4e0b !important;
    background: var(--gold-soft) !important;
}

.kl-sade-sati-stat,
.kl-sade-sati-period,
.kl-sade-sati-phase-guide > div,
.kl-sade-sati-meaning {
    border-color: var(--border) !important;
    background: #f8fafc !important;
}

/* Faladesh and guidance */

.kl-v4-faladesh-card {
    overflow: hidden !important;
}

.kl-v4-card-head {
    border-bottom: 1px solid var(--border) !important;
    background: #f3f8fc !important;
}

.kl-v4-card-number {
    color: #fff !important;
    background: var(--primary) !important;
}

.kl-v4-faladesh-points li::before {
    color: var(--primary) !important;
}

.kl-v4-timing,
.kl-v4-health-notice,
.kl-v4-technical > summary {
    border-color: var(--border) !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
}

.kl-v4-overall {
    border-top: 4px solid var(--gold) !important;
}

.kl-plain-result,
.kl-plain-reasons,
.kl-personal-remedy,
.kl-best-remedy,
.kl-guidance-method,
.kl-guidance-disclaimer {
    border-color: var(--border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.kl-plain-result {
    border-left-color: var(--primary) !important;
}

.kl-personal-remedy-head,
.kl-best-remedy-head {
    background: var(--primary) !important;
}

.kl-ask-card {
    color: #fff !important;
    background: var(--primary-dark) !important;
}

.kl-ask-kicker,
.kl-ask-title,
.kl-ask-text {
    color: #fff !important;
}

.kl-ask-button {
    border-color: var(--gold) !important;
    color: #3f2d03 !important;
    background: var(--gold) !important;
}

.kl-footer {
    border-top: 1px solid var(--border) !important;
    color: var(--text-soft) !important;
    background: #fff !important;
}

.kl-back-top {
    border-color: var(--primary) !important;
    color: #fff !important;
    background: var(--primary) !important;
    box-shadow: var(--shadow-sm) !important;
}

@media (max-width: 900px) {
    .kl-page {
        padding: 18px 14px 36px !important;
    }

    .kl-landing-hero {
        padding: 26px !important;
    }

    .kl-section {
        padding: 22px !important;
    }

    .kl-report-nav-wrap,
    .kl-report-nav-wrap.is-stuck {
        top: 65px !important;
    }
}

@media (max-width: 680px) {
    .kl-page {
        padding: 12px 10px 30px !important;
    }

    .kl-topbar-inner {
        min-height: 58px !important;
        padding: 7px 11px !important;
    }

    .kl-brand-subtitle {
        display: none !important;
    }

    .kl-landing-hero {
        gap: 20px !important;
        padding: 21px 18px !important;
    }

    .kl-page-title {
        font-size: 29px !important;
    }

    .kl-page-subtitle {
        font-size: 14px !important;
    }

    .kl-hero-benefits {
        padding: 14px !important;
    }

    .kl-generator-head,
    .kl-form,
    .kl-profile-main,
    .kl-section {
        padding: 18px 16px !important;
    }

    .kl-birth-location-box {
        margin: 0 14px 16px !important;
    }

    .kl-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kl-summary-item:last-child {
        grid-column: 1 / -1 !important;
    }

    .kl-report-nav-wrap,
    .kl-report-nav-wrap.is-stuck {
        top: 58px !important;
        border-radius: 6px !important;
    }

    .kl-report-nav {
        min-height: 46px !important;
        padding: 4px 5px !important;
    }

    .kl-report-nav-label {
        display: none !important;
    }

    .kl-report-nav > a,
    .kl-nav-dropdown > summary {
        min-height: 36px !important;
        padding: 7px 10px !important;
        white-space: nowrap !important;
    }

    .kl-section-head {
        margin-bottom: 18px !important;
    }

    .kl-section-title {
        font-size: 22px !important;
    }

    .kl-dasha-result-title {
        margin-top: 24px;
    }

    .kl-dasha-result-title h3 {
        font-size: 19px;
    }

    .kl-table {
        min-width: 680px;
    }

    .kl-dasha-software-table {
        min-width: 0 !important;
    }

    .kl-back-top {
        right: 14px !important;
        bottom: 16px !important;
    }
}

/* =========================================================
   KUNDLILIVE UI V10 — PLAIN-LANGUAGE PERSONALISED FALADESH
   ========================================================= */

.kl-plain-result{
    margin:26px 28px 0;
    padding:22px 24px;
    border:1px solid #ead8bd;
    border-left:5px solid #8b231f;
    border-radius:16px;
    background:linear-gradient(135deg,#fffaf1 0%,#fffdf9 100%);
}

.kl-plain-result > strong,
.kl-plain-reasons > strong{
    display:block;
    margin-bottom:9px;
    color:#7d1e1b;
    font-size:18px;
    line-height:1.35;
}

.kl-plain-result p{
    margin:0;
    color:#332b27;
    font-size:18px;
    line-height:1.75;
}

.kl-plain-reasons{
    margin:18px 28px 0;
    padding:22px 24px;
    border:1px solid #dce7df;
    border-radius:16px;
    background:#f6faf7;
}

.kl-plain-reasons > strong{
    color:#225b3d;
}

.kl-plain-reasons ul{
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none;
}

.kl-plain-reasons li{
    position:relative;
    padding-left:27px;
    color:#34302d;
    font-size:17px;
    line-height:1.7;
}

.kl-plain-reasons li::before{
    content:'✓';
    position:absolute;
    left:0;
    top:0;
    color:#98701b;
    font-weight:900;
}

.kl-personal-remedy{
    margin:20px 28px 28px;
    overflow:hidden;
    border:1px solid #e5c990;
    border-radius:18px;
    background:#fffaf0;
}

.kl-personal-remedy-head{
    display:flex;
    align-items:center;
    gap:14px;
    padding:19px 22px;
    color:#fff;
    background:linear-gradient(120deg,#7d1e1b,#a35225);
}

.kl-personal-remedy-head > span{
    display:grid;
    place-items:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.36);
    border-radius:13px;
    color:#ffe5a8;
    font-size:21px;
    font-weight:800;
}

.kl-personal-remedy-head small{
    display:block;
    margin-bottom:3px;
    color:#f9dfb0;
    font-size:12px;
    font-weight:800;
}

.kl-personal-remedy-head h4{
    margin:0;
    color:#fff;
    font-size:20px;
    line-height:1.3;
}

.kl-personal-remedy-why{
    margin:0;
    padding:18px 22px;
    border-bottom:1px solid #eadac0;
    color:#47362d;
    font-size:16px;
    line-height:1.7;
}

.kl-personal-remedy-why strong{
    color:#7d1e1b;
}

.kl-personal-remedy-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.kl-personal-remedy-grid > div{
    min-width:0;
    padding:18px 22px;
    border-right:1px solid #eadac0;
    border-bottom:1px solid #eadac0;
    background:rgba(255,255,255,.62);
}

.kl-personal-remedy-grid > div:nth-child(2n){
    border-right:0;
}

.kl-personal-remedy-grid strong{
    display:block;
    margin-bottom:6px;
    color:#8a5d0c;
    font-size:13px;
}

.kl-personal-remedy-grid p{
    margin:0;
    color:#332e2a;
    font-size:16px;
    line-height:1.65;
}

.kl-personal-remedy-note{
    padding:13px 22px;
    color:#176039;
    background:#f1f8f3;
    font-size:14px;
    font-weight:700;
    line-height:1.55;
}

@media (max-width:760px){
    .kl-plain-result,
    .kl-plain-reasons,
    .kl-personal-remedy{
        margin-left:14px;
        margin-right:14px;
    }

    .kl-plain-result,
    .kl-plain-reasons{
        padding:18px;
    }

    .kl-plain-result > strong,
    .kl-plain-reasons > strong{
        font-size:16px;
    }

    .kl-plain-result p,
    .kl-plain-reasons li{
        font-size:16px;
        line-height:1.65;
    }

    .kl-personal-remedy-grid{
        grid-template-columns:1fr;
    }

    .kl-personal-remedy-grid > div{
        border-right:0;
    }

    .kl-personal-remedy-head,
    .kl-personal-remedy-why,
    .kl-personal-remedy-grid > div,
    .kl-personal-remedy-note{
        padding-left:17px;
        padding-right:17px;
    }
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:
        radial-gradient(circle at top left, rgba(184,137,66,.045), transparent 32%),
        var(--bg);
    color:var(--text);
    font-family:
        Inter,
        "Noto Sans Devanagari",
        "Nirmala UI",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
}

a{
    color:inherit;
}

button,
input,
select{
    font:inherit;
}

/* =========================================================
   TOP NAVIGATION
========================================================= */

.kl-topbar{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(222,216,208,.9);
}

.kl-topbar-inner{
    width:min(var(--container), calc(100% - 32px));
    min-height:68px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.kl-brand{
    display:flex;
    align-items:center;
    gap:11px;
    text-decoration:none;
}

.kl-logo{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:linear-gradient(145deg, var(--primary), var(--primary-dark));
    color:#fff;
    font-size:18px;
    font-weight:900;
    box-shadow:0 5px 14px rgba(116,31,29,.18);
}

.kl-brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.kl-brand-name{
    font-size:19px;
    font-weight:850;
    letter-spacing:-.3px;
}

.kl-brand-subtitle{
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
    font-weight:650;
    letter-spacing:.3px;
}

.kl-top-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.kl-lang{
    display:flex;
    padding:3px;
    border:1px solid var(--border);
    background:var(--surface-soft);
    border-radius:10px;
}

.kl-lang a{
    min-width:42px;
    padding:6px 9px;
    border-radius:7px;
    text-decoration:none;
    text-align:center;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}

.kl-lang a.active{
    background:#fff;
    color:var(--primary);
    box-shadow:var(--shadow-xs);
}

/* =========================================================
   PAGE
========================================================= */

.kl-page{
    width:min(var(--container), calc(100% - 32px));
    margin:28px auto 80px;
}

.kl-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    color:var(--primary);
    font-size:12px;
    font-weight:850;
    letter-spacing:.45px;
    text-transform:uppercase;
}

.kl-eyebrow-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--gold);
}

.kl-page-title{
    margin:0;
    color:#211d1b;
    font-size:32px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.8px;
}

.kl-page-subtitle{
    max-width:760px;
    margin:10px 0 0;
    color:var(--text-soft);
    font-size:14px;
}

/* =========================================================
   GENERATOR CARD
========================================================= */

.kl-generator{
    margin-top:24px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
    overflow:visible;
}

.kl-generator-head{
    padding:20px 22px 16px;
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.kl-generator-title{
    margin:0;
    font-size:17px;
    font-weight:850;
}

.kl-generator-note{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}

.kl-trust-badge{
    flex:none;
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid #e8dbc7;
    border-radius:20px;
    background:var(--gold-soft);
    color:#71542d;
    font-size:11px;
    font-weight:800;
}

.kl-form{
    padding:20px 22px 22px;
}

.kl-form-grid{
    display:grid;
    grid-template-columns:
        minmax(130px,1.1fr)
        minmax(120px,.8fr)
        minmax(145px,1fr)
        minmax(135px,.9fr)
        minmax(260px,1.8fr);
    gap:14px;
    align-items:end;
}

.kl-field{
    min-width:0;
}

.kl-field label{
    display:block;
    margin-bottom:6px;
    color:#544f4b;
    font-size:11px;
    font-weight:800;
}

.kl-field input,
.kl-field select{
    width:100%;
    min-height:43px;
    padding:10px 12px;
    border:1px solid var(--border-strong);
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font-size:13px;
    outline:none;
    transition:.18s ease;
}

.kl-field input:hover,
.kl-field select:hover{
    border-color:#c6beb4;
}

.kl-field input:focus,
.kl-field select:focus{
    border-color:#a5534f;
    box-shadow:0 0 0 3px rgba(116,31,29,.08);
}

.kl-place-field{
    position:relative;
}

.kl-place-row{
    display:flex;
    gap:8px;
}

.kl-place-row input{
    flex:1;
    min-width:0;
}

.kl-place-search-btn{
    flex:none;
    min-width:82px;
    border:1px solid var(--border-strong);
    border-radius:10px;
    background:var(--surface-soft);
    color:#4b4743;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:.18s ease;
}

.kl-place-search-btn:hover{
    background:#f3f0ec;
    border-color:#c6beb4;
}

.kl-place-status{
    min-height:17px;
    margin-top:5px;
    color:var(--muted);
    font-size:10px;
}

.kl-place-results{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% - 17px);
    z-index:1200;
    display:block;
    max-height:265px;
    overflow:auto;
    border:1px solid var(--border-strong);
    border-radius:12px;
    background:#fff;
    box-shadow:var(--shadow-md);
}

.kl-place-results[hidden]{
    display:none!important;
}

.kl-place-option{
    width:100%;
    padding:11px 12px;
    border:0;
    border-bottom:1px solid #f0ece7;
    background:#fff;
    text-align:left;
    color:#322e2b;
    cursor:pointer;
}

.kl-place-option:last-child{
    border-bottom:0;
}

.kl-place-option:hover{
    background:#fbf7f3;
}

.kl-place-option-title{
    display:block;
    font-size:12px;
    font-weight:750;
}

.kl-place-option-meta{
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:10px;
}

.kl-generator-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--border);
}

.kl-advanced-note{
    color:var(--muted);
    font-size:10px;
}

.kl-generate{
    min-width:190px;
    min-height:44px;
    padding:10px 18px;
    border:0;
    border-radius:11px;
    background:linear-gradient(145deg, var(--primary), var(--primary-dark));
    color:#fff;
    box-shadow:0 8px 18px rgba(116,31,29,.17);
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    transition:.18s ease;
}

.kl-generate:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(116,31,29,.22);
}

.kl-error{
    margin-top:18px;
    padding:13px 15px;
    border:1px solid #efc6c2;
    border-radius:11px;
    background:#fff4f2;
    color:#8c302a;
    font-size:12px;
    font-weight:650;
}

/* =========================================================
   REPORT HERO
========================================================= */

.kl-report{
    margin-top:28px;
}

.kl-profile-hero{
    position:relative;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:
        radial-gradient(circle at 90% 0%, rgba(184,137,66,.11), transparent 32%),
        linear-gradient(135deg,#fff,#fcfaf7);
    box-shadow:var(--shadow-md);
}

.kl-profile-main{
    padding:25px 26px 20px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
}

.kl-profile-person{
    min-width:0;
}

.kl-profile-label{
    color:var(--muted);
    font-size:11px;
    font-weight:750;
}

.kl-profile-name{
    margin-top:4px;
    font-size:24px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.4px;
}

.kl-profile-meta{
    margin-top:7px;
    color:var(--text-soft);
    font-size:12px;
}

.kl-engine-badge{
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid #e5ddd2;
    border-radius:20px;
    background:rgba(255,255,255,.85);
    color:#62594f;
    font-size:10px;
    font-weight:750;
    white-space:nowrap;
}

.kl-summary-strip{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid var(--border);
    background:rgba(252,250,247,.76);
}

.kl-summary-item{
    min-width:0;
    padding:17px 18px;
    border-right:1px solid var(--border);
}

.kl-summary-item:last-child{
    border-right:0;
}

.kl-summary-label{
    color:var(--muted);
    font-size:10px;
    font-weight:750;
}

.kl-summary-value{
    margin-top:4px;
    color:#2b2522;
    font-size:15px;
    font-weight:850;
    overflow-wrap:anywhere;
}

.kl-summary-sub{
    margin-top:2px;
    color:var(--text-soft);
    font-size:10px;
}

/* =========================================================
   REPORT NAV
========================================================= */

.kl-report-nav-wrap{
    position:sticky;
    top:68px;
    z-index:900;
    margin-top:18px;
}

.kl-report-nav{
    display:flex;
    gap:5px;
    overflow-x:auto;
    padding:6px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(14px);
    box-shadow:var(--shadow-sm);
    scrollbar-width:none;
}

.kl-report-nav::-webkit-scrollbar{
    display:none;
}

.kl-report-nav a{
    flex:none;
    padding:8px 12px;
    border-radius:9px;
    color:#69635d;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.kl-report-nav a:hover{
    background:var(--surface-soft);
    color:var(--primary);
}

.kl-report-nav a.kl-ask-nav{
    margin-left:auto;
    background:var(--primary-soft);
    color:var(--primary);
}

/* =========================================================
   SECTION LAYOUT
========================================================= */

.kl-section{
    scroll-margin-top:130px;
    margin-top:22px;
}

.kl-section-head{
    margin-bottom:12px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}

.kl-section-kicker{
    color:var(--gold);
    font-size:10px;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
}

.kl-section-title{
    margin:2px 0 0;
    color:#282320;
    font-size:20px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:-.3px;
}

.kl-section-desc{
    max-width:580px;
    color:var(--muted);
    font-size:11px;
    text-align:right;
}

.kl-card{
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
    box-shadow:var(--shadow-xs);
}

.kl-card-pad{
    padding:18px;
}

.kl-card-title{
    margin:0;
    color:#37312d;
    font-size:14px;
    font-weight:850;
}

.kl-card-subtitle{
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
}

.kl-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.kl-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.kl-grid-4{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

/* =========================================================
   OVERVIEW / PANCHANG
========================================================= */

.kl-data-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
}

.kl-data-item{
    padding:13px 14px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
}

.kl-data-item:nth-child(4n){
    border-right:0;
}

.kl-data-label{
    color:var(--muted);
    font-size:9px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.35px;
}

.kl-data-value{
    margin-top:4px;
    color:#332e2a;
    font-size:13px;
    font-weight:800;
}

/* =========================================================
   NORTH INDIAN CHART
========================================================= */

.kl-chart-card{
    padding:18px;
}

.kl-chart-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.kl-chart-title{
    font-size:14px;
    font-weight:900;
}

.kl-chart-tag{
    padding:4px 7px;
    border-radius:8px;
    background:var(--surface-soft);
    color:var(--muted);
    font-size:9px;
    font-weight:800;
}

.kl-kundli{
    position:relative;
    width:min(100%,520px);
    aspect-ratio:1/1;
    margin:0 auto;
    background:#fffdf9;
    border:1px solid #cdbdad;
    overflow:hidden;
}

.kl-kundli svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
}

.kl-kundli svg rect,
.kl-kundli svg line{
    fill:none;
    stroke:#ae9784;
    stroke-width:1.15;
    vector-effect:non-scaling-stroke;
}

.kl-house{
    position:absolute;
    z-index:2;
    width:22%;
    transform:translate(-50%,-50%);
    text-align:center;
    pointer-events:none;
}

.kl-house-no{
    color:#aaa096;
    font-size:8px;
    font-weight:800;
}

.kl-house-rashi{
    margin:1px 0 3px;
    color:#6c2a24;
    font-size:11px;
    line-height:1.05;
    font-weight:900;
}

.kl-house-planets{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
}

.kl-chart-planet{
    max-width:105px;
    padding:2px 5px;
    border-radius:5px;
    background:#f5eee8;
    color:#5b4940;
    font-size:8px;
    font-weight:850;
    white-space:nowrap;
}

.kl-chart-lagna{
    display:inline-block;
    margin-bottom:2px;
    padding:1px 5px;
    border-radius:8px;
    background:var(--primary);
    color:#fff;
    font-size:7px;
    font-weight:900;
}

.kl-h1{left:50%;top:17%}
.kl-h2{left:27%;top:13%}
.kl-h3{left:15%;top:30%}
.kl-h4{left:23%;top:50%}
.kl-h5{left:15%;top:70%}
.kl-h6{left:27%;top:87%}
.kl-h7{left:50%;top:83%}
.kl-h8{left:73%;top:87%}
.kl-h9{left:85%;top:70%}
.kl-h10{left:77%;top:50%}
.kl-h11{left:85%;top:30%}
.kl-h12{left:73%;top:13%}

/* =========================================================
   PLANETS TABLE
========================================================= */

.kl-table-wrap{
    overflow-x:auto;
    border:1px solid var(--border);
    border-radius:12px;
}

.kl-table{
    width:100%;
    min-width:780px;
    border-collapse:collapse;
    background:#fff;
    font-size:11px;
}

.kl-table th{
    padding:10px 12px;
    border-bottom:1px solid var(--border);
    background:#faf8f5;
    color:#6c665f;
    text-align:left;
    font-size:9px;
    font-weight:850;
    letter-spacing:.3px;
    text-transform:uppercase;
    white-space:nowrap;
}

.kl-table td{
    padding:11px 12px;
    border-bottom:1px solid #f0ece7;
    color:#3c3733;
    vertical-align:middle;
}

.kl-table tr:last-child td{
    border-bottom:0;
}

.kl-table tr:hover td{
    background:#fdfbf8;
}

.kl-planet-name{
    color:#302824;
    font-weight:900;
}

.kl-status-pill{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:4px 7px;
    border-radius:20px;
    font-size:9px;
    font-weight:850;
}

.kl-status-active{
    background:var(--red-soft);
    color:var(--red);
}

.kl-status-good{
    background:var(--green-soft);
    color:var(--green);
}

.kl-status-muted{
    background:#f1efec;
    color:#77716b;
}

.kl-status-mitigated{
    background:var(--gold-soft);
    color:#88652e;
}

/* =========================================================
   YOGAS / DOSHAS
========================================================= */

.kl-yoga-card,
.kl-dosha-card{
    padding:15px;
}

.kl-yoga-name,
.kl-dosha-name{
    margin:0;
    font-size:13px;
    font-weight:900;
}

.kl-yoga-meta{
    margin-top:6px;
    color:var(--muted);
    font-size:10px;
}

.kl-yoga-participants{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.kl-mini-pill{
    padding:3px 6px;
    border-radius:7px;
    background:#f4f0eb;
    color:#5e554e;
    font-size:9px;
    font-weight:800;
}

.kl-dosha-state{
    margin-top:9px;
}

/* =========================================================
   DASHA
========================================================= */

.kl-dasha-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.kl-dasha-card{
    position:relative;
    overflow:hidden;
    padding:19px;
}

.kl-dasha-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--primary);
}

.kl-dasha-card.antardasha:before{
    background:var(--gold);
}

.kl-dasha-label{
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    letter-spacing:.45px;
    text-transform:uppercase;
}

.kl-dasha-name{
    margin-top:5px;
    color:#2c2522;
    font-size:22px;
    font-weight:900;
}

.kl-dasha-period{
    margin-top:8px;
    color:var(--text-soft);
    font-size:10px;
}

/* =========================================================
   FALADESH
========================================================= */

.kl-faladesh-list{
    display:grid;
    gap:12px;
}

.kl-faladesh-card{
    overflow:hidden;
}

.kl-faladesh-summary{
    padding:17px 18px;
}

.kl-faladesh-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.kl-faladesh-title{
    margin:0;
    color:#302925;
    font-size:15px;
    font-weight:900;
}

.kl-tone{
    flex:none;
    padding:4px 8px;
    border-radius:20px;
    font-size:9px;
    font-weight:900;
    text-transform:capitalize;
}

.kl-tone-supportive{
    background:var(--green-soft);
    color:var(--green);
}

.kl-tone-mixed{
    background:var(--gold-soft);
    color:#806029;
}

.kl-tone-challenged{
    background:var(--red-soft);
    color:var(--red);
}

.kl-tone-neutral{
    background:#f0eeeb;
    color:#746e68;
}

.kl-faladesh-text{
    margin-top:10px;
    color:#4e4945;
    font-size:12px;
    line-height:1.75;
}

.kl-prediction{
    margin-top:12px;
    padding:13px 14px;
    border-left:3px solid var(--gold);
    border-radius:0 9px 9px 0;
    background:#fcf8f1;
    color:#463c34;
    font-size:12px;
    line-height:1.75;
}

.kl-faladesh-details{
    border-top:1px solid var(--border);
    background:#fcfbf9;
}

.kl-faladesh-details details{
    border-bottom:1px solid var(--border);
}

.kl-faladesh-details details:last-child{
    border-bottom:0;
}

.kl-faladesh-details summary{
    padding:11px 18px;
    cursor:pointer;
    list-style:none;
    color:#615b55;
    font-size:10px;
    font-weight:850;
}

.kl-faladesh-details summary::-webkit-details-marker{
    display:none;
}

.kl-faladesh-detail-body{
    padding:0 18px 14px;
    color:#625d58;
    font-size:11px;
    line-height:1.7;
}

/* =========================================================
   ASK KUNDLI CTA
========================================================= */

.kl-ask-card{
    margin-top:24px;
    padding:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border:1px solid #d9c9bc;
    border-radius:var(--radius-lg);
    background:
        radial-gradient(circle at right top,rgba(184,137,66,.15),transparent 40%),
        linear-gradient(135deg,#651b19,#7d2521);
    color:#fff;
    box-shadow:0 16px 36px rgba(87,25,23,.16);
}

.kl-ask-content{
    max-width:720px;
}

.kl-ask-kicker{
    color:#ead4aa;
    font-size:10px;
    font-weight:900;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.kl-ask-title{
    margin:4px 0 0;
    font-size:21px;
    line-height:1.25;
    font-weight:900;
}

.kl-ask-text{
    margin-top:7px;
    color:rgba(255,255,255,.78);
    font-size:11px;
}

.kl-ask-button{
    flex:none;
    padding:11px 17px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;
    background:#fff;
    color:var(--primary);
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    box-shadow:0 7px 18px rgba(0,0,0,.10);
}

/* =========================================================
   FOOTER
========================================================= */

.kl-footer{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid var(--border);
    color:var(--muted);
    text-align:center;
    font-size:10px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1080px){
    .kl-form-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .kl-place-field{
        grid-column:span 2;
    }

    .kl-summary-strip{
        grid-template-columns:repeat(3,1fr);
    }

    .kl-summary-item:nth-child(3){
        border-right:0;
    }

    .kl-grid-4{
        grid-template-columns:repeat(2,1fr);
    }

    .kl-data-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .kl-data-item:nth-child(4n){
        border-right:1px solid var(--border);
    }

    .kl-data-item:nth-child(2n){
        border-right:0;
    }
}

@media(max-width:760px){
    .kl-page{
        width:min(100% - 20px,var(--container));
        margin-top:16px;
    }

    .kl-topbar-inner{
        width:calc(100% - 20px);
        min-height:60px;
    }

    .kl-brand-subtitle{
        display:none;
    }

    .kl-page-title{
        font-size:25px;
    }

    .kl-generator-head{
        padding:16px;
    }

    .kl-trust-badge{
        display:none;
    }

    .kl-form{
        padding:16px;
    }

    .kl-form-grid{
        grid-template-columns:1fr 1fr;
        gap:11px;
    }

    .kl-place-field{
        grid-column:span 2;
    }

    .kl-generator-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .kl-generate{
        width:100%;
    }

    .kl-profile-main{
        padding:19px 18px 16px;
    }

    .kl-engine-badge{
        display:none;
    }

    .kl-profile-name{
        font-size:20px;
    }

    .kl-summary-strip{
        grid-template-columns:1fr 1fr;
    }

    .kl-summary-item{
        border-bottom:1px solid var(--border);
    }

    .kl-summary-item:nth-child(2n){
        border-right:0;
    }

    .kl-report-nav-wrap{
        top:60px;
    }

    .kl-report-nav a{
        padding:8px 10px;
    }

    .kl-report-nav a.kl-ask-nav{
        margin-left:0;
    }

    .kl-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .kl-section-desc{
        text-align:left;
    }

    .kl-grid-2,
    .kl-grid-3{
        grid-template-columns:1fr;
    }

    .kl-dasha-grid{
        grid-template-columns:1fr;
    }

    .kl-ask-card{
        align-items:flex-start;
        flex-direction:column;
        padding:20px;
    }

    .kl-ask-button{
        width:100%;
        text-align:center;
    }
}

@media(max-width:520px){
    .kl-form-grid{
        grid-template-columns:1fr;
    }

    .kl-place-field{
        grid-column:span 1;
    }

    .kl-place-row{
        flex-direction:column;
    }

    .kl-place-search-btn{
        min-height:40px;
    }

    .kl-summary-strip{
        grid-template-columns:1fr 1fr;
    }

    .kl-summary-item{
        padding:13px 12px;
    }

    .kl-summary-value{
        font-size:13px;
    }

    .kl-grid-4{
        grid-template-columns:1fr;
    }

    .kl-data-grid{
        grid-template-columns:1fr 1fr;
    }

    .kl-section-title{
        font-size:18px;
    }

    .kl-chart-card{
        padding:12px;
    }

    .kl-house{
        width:24%;
    }

    .kl-house-rashi{
        font-size:9px;
    }

    .kl-chart-planet{
        max-width:76px;
        padding:1px 3px;
        font-size:6.5px;
    }

    .kl-faladesh-summary{
        padding:15px;
    }

    .kl-prediction{
        padding:11px 12px;
    }
}

/* =========================================================
   JYOTISH GUIDANCE + LIVE PRESENCE UI V9
   ========================================================= */

.kl-live-presence{
    width:54px;
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 10px;
    border:1px solid #dce7df;
    border-radius:999px;
    background:#f8fbf9;
    color:#215d3a;
    box-shadow:0 4px 13px rgba(39,84,57,.06);
    font-size:13px;
    font-weight:850;
    line-height:1;
    white-space:nowrap;
}

.kl-live-dot{
    width:7px;
    height:7px;
    flex:none;
    border-radius:999px;
    background:#78a98c;
    box-shadow:0 0 0 3px rgba(71,151,99,.11);
}

.kl-live-presence.is-live{
    border-color:#cfe0d4;
    background:#f7fbf8;
    color:#225f3b;
}

.kl-live-presence.is-live .kl-live-dot{
    background:#2f9b5f;
    box-shadow:0 0 0 3px rgba(47,155,95,.13);
}

.kl-report-nav{
    overflow:visible;
}

.kl-nav-dropdown{
    position:relative;
    flex:none;
}

.kl-nav-dropdown > summary{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 14px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#625952;
    cursor:pointer;
    font-size:14px;
    font-weight:750;
    list-style:none;
    white-space:nowrap;
    transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}

.kl-nav-dropdown > summary::-webkit-details-marker{
    display:none;
}

.kl-nav-dropdown > summary:hover,
.kl-nav-dropdown[open] > summary,
.kl-nav-dropdown.is-active > summary{
    background:#f5efec;
    color:#741f1d;
}

.kl-nav-dropdown[open] > summary{
    box-shadow:inset 0 0 0 1px #e4d6d0;
}

.kl-nav-dropdown-menu{
    position:absolute;
    top:calc(100% + 11px);
    right:0;
    z-index:1900;
    width:340px;
    max-height:430px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    padding:10px;
    overflow-y:auto;
    border:1px solid #d8ccc4;
    border-radius:14px;
    background:rgba(255,255,255,.99);
    box-shadow:0 20px 55px rgba(50,35,29,.2);
}

.kl-nav-dropdown-menu::before{
    content:"";
    position:absolute;
    top:-6px;
    right:30px;
    width:11px;
    height:11px;
    border-top:1px solid #d8ccc4;
    border-left:1px solid #d8ccc4;
    background:#fff;
    transform:rotate(45deg);
}

.kl-nav-dropdown-menu a{
    min-height:42px;
    justify-content:flex-start;
    padding:7px 10px;
    border-radius:8px;
    font-size:13px;
    line-height:1.35;
    white-space:normal;
}

.kl-nav-dropdown-menu a.is-active{
    background:#741f1d;
    color:#fff;
}

.kl-report-nav .kl-guidance-nav{
    color:#855714;
    background:#fff8e9;
}

.kl-report-nav .kl-guidance-nav:hover,
.kl-report-nav .kl-guidance-nav.is-active{
    color:#fff;
    background:#8d5d13;
}

.kl-report-subsection{
    scroll-margin-top:150px;
}

.kl-jyotish-depth-note{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:0 0 23px;
    padding:18px 20px;
    border:1px solid #dfd1bd;
    border-radius:14px;
    background:linear-gradient(135deg,#fffaf0 0%,#fff 72%);
    color:#57483c;
    box-shadow:0 7px 22px rgba(80,55,36,.05);
}

.kl-jyotish-depth-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:10px;
    background:#8a5a14;
    color:#fff;
    box-shadow:0 7px 15px rgba(138,90,20,.18);
}

.kl-jyotish-depth-note strong{
    display:block;
    margin-bottom:4px;
    color:#653516;
    font-size:16px;
}

.kl-jyotish-depth-note p{
    margin:0;
    font-size:14.5px;
    line-height:1.7;
}

.kl-guidance-method{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-bottom:22px;
    padding:20px 22px;
    border:1px solid #d8c8ae;
    border-radius:15px;
    background:linear-gradient(120deg,#fff9ed,#fff 78%);
    color:#574637;
}

.kl-guidance-method > span{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:11px;
    background:#7d211e;
    color:#f8d99a;
    font-size:20px;
}

.kl-guidance-method strong{
    display:block;
    margin-bottom:5px;
    color:#6d201d;
    font-size:17px;
}

.kl-guidance-method p{
    margin:0;
    font-size:15px;
    line-height:1.72;
}

.kl-gemstone-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.kl-gemstone-card{
    overflow:hidden;
    padding:0;
    border-color:#ddcba9;
    background:linear-gradient(180deg,#fff 0%,#fffdf9 100%);
}

.kl-gemstone-head{
    min-height:102px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:22px 23px;
    border-bottom:1px solid #eee2d2;
    background:linear-gradient(130deg,#fff9ec 0%,#fff 82%);
}

.kl-gemstone-symbol{
    width:51px;
    height:51px;
    display:grid;
    place-items:center;
    flex:none;
    border:1px solid #d6b77c;
    border-radius:15px;
    background:#8b211d;
    color:#f4d697;
    box-shadow:0 9px 22px rgba(119,31,28,.2);
    font-size:23px;
}

.kl-guidance-priority{
    display:block;
    margin-bottom:4px;
    color:#996316;
    font-size:12px;
    font-weight:850;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.kl-gemstone-head h3{
    margin:0;
    color:#2b231f;
    font-size:24px;
    line-height:1.25;
}

.kl-gemstone-head h3 small{
    display:inline-flex;
    margin-left:6px;
    padding:4px 8px;
    border-radius:999px;
    background:#f3e8e4;
    color:#7b2521;
    font-size:12px;
    font-weight:800;
    vertical-align:middle;
}

.kl-gemstone-why{
    margin:0;
    padding:21px 23px 16px;
    color:#3d342f;
    font-size:16px;
    font-weight:650;
    line-height:1.75;
}

.kl-guidance-focus{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin:0 23px 17px;
    padding:13px 15px;
    border-left:4px solid #a57524;
    border-radius:0 10px 10px 0;
    background:#fff7e7;
    color:#5d4827;
    font-size:14px;
    line-height:1.55;
}

.kl-guidance-focus strong{
    color:#835511;
    font-size:12px;
    letter-spacing:.02em;
}

.kl-gemstone-evidence{
    margin:0 23px 17px;
    padding:17px 18px;
    border:1px solid #e5ddd6;
    border-radius:12px;
    background:#faf9f7;
}

.kl-gemstone-evidence h4,
.kl-gemstone-method strong{
    margin:0 0 8px;
    color:#512824;
    font-size:14px;
}

.kl-gemstone-evidence ul{
    display:grid;
    gap:8px;
    margin:0;
    padding-left:19px;
    color:#4b423c;
    font-size:14px;
    line-height:1.62;
}

.kl-gemstone-evidence li::marker{
    color:#9a681c;
}

.kl-gemstone-method{
    margin:0 23px 17px;
    color:#4d423a;
    font-size:14px;
    line-height:1.65;
}

.kl-gemstone-method p{
    margin:0;
}

.kl-gemstone-caution{
    margin-top:auto;
    padding:15px 23px;
    border-top:1px solid #efd7d1;
    background:#fff6f3;
    color:#6f3630;
    font-size:13.5px;
    line-height:1.6;
}

.kl-best-remedy{
    margin-top:22px;
    overflow:hidden;
    border:1px solid #ccb99b;
    border-radius:17px;
    background:#fff;
    box-shadow:0 12px 32px rgba(68,47,35,.08);
}

.kl-best-remedy-head{
    display:flex;
    align-items:center;
    gap:16px;
    padding:23px 25px;
    background:linear-gradient(115deg,#711d1a 0%,#8e2b25 65%,#a35d2b 100%);
    color:#fff;
}

.kl-best-remedy-icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    flex:none;
    border:1px solid rgba(255,226,166,.5);
    border-radius:15px;
    background:rgba(255,255,255,.1);
    color:#ffe1a0;
    font-size:25px;
}

.kl-best-remedy-head span{
    display:block;
    margin-bottom:3px;
    color:#f3dca9;
    font-size:12px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.kl-best-remedy-head h3{
    margin:0;
    color:#fff;
    font-size:24px;
    line-height:1.3;
}

.kl-best-remedy-summary{
    margin:0;
    padding:21px 25px;
    border-bottom:1px solid #e8dfd7;
    background:#fffaf2;
    color:#4e3f33;
    font-size:16px;
    font-weight:620;
    line-height:1.72;
}

.kl-remedy-steps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
}

.kl-remedy-step{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:23px 25px;
    border-right:1px solid #ece4dd;
    border-bottom:1px solid #ece4dd;
}

.kl-remedy-step:nth-child(2n){
    border-right:0;
}

.kl-remedy-step:last-child:nth-child(odd){
    grid-column:1 / -1;
    border-right:0;
}

.kl-remedy-number{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:10px;
    background:#7b211e;
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.kl-remedy-step h4{
    margin:0 0 8px;
    color:#3b2924;
    font-size:18px;
}

.kl-remedy-step h4 small{
    display:block;
    margin-top:3px;
    color:#806e62;
    font-size:12.5px;
    font-weight:650;
    line-height:1.45;
}

.kl-remedy-step p{
    margin:0 0 10px;
    color:#4e453f;
    font-size:14.5px;
    line-height:1.7;
}

.kl-remedy-meta{
    margin-top:6px;
    color:#66574b;
    font-size:13.5px;
    line-height:1.55;
}

.kl-remedy-meta strong{
    color:#7b2521;
}

.kl-best-remedy-note{
    padding:16px 25px;
    background:#f3f8f4;
    color:#285b3b;
    font-size:14px;
    font-weight:650;
    line-height:1.6;
}

.kl-guidance-disclaimer{
    margin-top:18px;
    padding:18px 21px;
    border:1px solid #ead7d1;
    border-radius:13px;
    background:#fff8f6;
    color:#694139;
}

.kl-guidance-disclaimer strong{
    display:block;
    margin-bottom:5px;
    color:#7c2420;
    font-size:15px;
}

.kl-guidance-disclaimer p{
    margin:0;
    font-size:13.5px;
    line-height:1.65;
}

@media(max-width:1100px){
    .kl-nav-dropdown-menu{
        right:-80px;
    }

    .kl-gemstone-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .kl-live-presence{
        width:50px;
        max-width:50px;
        min-height:34px;
        padding:0 8px;
        font-size:12px;
    }

    .kl-report-nav{
        overflow-x:auto;
        overflow-y:hidden;
    }

    .kl-nav-dropdown > summary{
        min-height:40px;
        padding:0 13px;
        font-size:13.5px;
    }

    .kl-nav-dropdown-menu{
        position:fixed;
        top:128px;
        right:12px;
        left:12px;
        width:auto;
        max-height:calc(100vh - 150px);
        grid-template-columns:1fr;
        overscroll-behavior:contain;
    }

    .kl-nav-dropdown-menu::before{
        display:none;
    }

    .kl-report-subsection{
        scroll-margin-top:137px;
    }

    .kl-jyotish-depth-note,
    .kl-guidance-method{
        gap:11px;
        padding:16px;
    }

    .kl-jyotish-depth-note p,
    .kl-guidance-method p{
        font-size:14px;
    }

    .kl-gemstone-head,
    .kl-gemstone-why,
    .kl-best-remedy-head,
    .kl-best-remedy-summary,
    .kl-remedy-step{
        padding-left:18px;
        padding-right:18px;
    }

    .kl-guidance-focus,
    .kl-gemstone-evidence,
    .kl-gemstone-method{
        margin-left:18px;
        margin-right:18px;
    }

    .kl-gemstone-head h3,
    .kl-best-remedy-head h3{
        font-size:21px;
    }

    .kl-remedy-steps{
        grid-template-columns:1fr;
    }

    .kl-remedy-step{
        border-right:0;
    }
}

@media(max-width:520px){
    .kl-live-presence{
        width:48px;
        max-width:48px;
        min-height:32px;
        justify-content:center;
        gap:6px;
        padding:0 7px;
    }

    .kl-gemstone-head{
        align-items:flex-start;
    }

    .kl-gemstone-symbol,
    .kl-best-remedy-icon{
        width:46px;
        height:46px;
    }

    .kl-best-remedy-head{
        align-items:flex-start;
    }
}

/* =========================================================
   KUNDLILIVE PRODUCTION POLISH V2
   Clean content-first professional UI
   2026-08-15
   ========================================================= */

html{
    font-size:16px;
}

body{
    font-family:
        "Noto Sans Devanagari",
        "Noto Sans",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
    font-size:15px;
    line-height:1.65;
    font-weight:400;
    color:#2c2825;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.kl-page{
    width:min(calc(100% - 36px),1320px);
    margin:0 auto;
    padding:28px 0 64px;
}

.kl-page-title{
    font-size:32px;
    line-height:1.2;
    font-weight:750;
    letter-spacing:-.025em;
    margin-bottom:8px;
}

.kl-page-subtitle{
    max-width:820px;
    font-size:16px;
    line-height:1.7;
}


/* -------------------------
   BIRTH FORM
   ------------------------- */

.kl-generator{
    margin-top:24px;
    border-radius:16px;
}

.kl-generator-head{
    padding:22px 26px 18px;
    align-items:center;
}

.kl-generator-title{
    font-size:21px;
    line-height:1.3;
    font-weight:750;
}

.kl-generator-note{
    margin-top:5px;
    font-size:14px;
    line-height:1.55;
}

.kl-trust-badge{
    font-size:13px;
    white-space:nowrap;
}

.kl-form{
    padding:22px 26px 26px;
}

.kl-form-grid{
    display:grid;
    grid-template-columns:
        minmax(170px,1fr)
        minmax(140px,.72fr)
        minmax(170px,.9fr)
        minmax(160px,.85fr)
        minmax(320px,1.65fr);
    gap:18px;
    align-items:start;
}

.kl-field{
    min-width:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.kl-field label{
    display:flex;
    align-items:flex-end;
    min-height:22px;
    margin:0;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    color:#514943;
}

.kl-field input,
.kl-field select{
    width:100%;
    height:50px;
    min-height:50px;
    margin:0;
    padding:0 15px;
    border-radius:10px;
    font-family:inherit;
    font-size:15px;
    line-height:1;
}

.kl-place-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 112px;
    gap:10px;
    align-items:stretch;
}

.kl-place-row input{
    min-width:0;
}

.kl-place-search-btn{
    width:112px;
    height:50px;
    min-height:50px;
    padding:0 14px;
    border-radius:10px;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
}

.kl-place-status{
    min-height:18px;
    margin-top:0;
    font-size:12px;
    line-height:1.45;
}

.kl-generator-actions{
    margin-top:22px;
    padding-top:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.kl-advanced-note{
    font-size:13px;
    line-height:1.55;
}

.kl-generate{
    min-width:210px;
    height:50px;
    padding:0 24px;
    border-radius:10px;
    font-family:inherit;
    font-size:15px;
    font-weight:750;
}


/* -------------------------
   REPORT PROFILE
   ------------------------- */

.kl-report{
    margin-top:28px;
}

.kl-profile-hero{
    border-radius:16px;
}

.kl-profile-main{
    padding:23px 26px;
}

.kl-profile-label{
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
}

.kl-profile-name{
    margin-top:3px;
    font-size:26px;
    line-height:1.25;
    font-weight:750;
}

.kl-profile-meta{
    margin-top:7px;
    font-size:14px;
    line-height:1.6;
}

.kl-summary-strip{
    align-items:stretch;
}

.kl-summary-item{
    padding:18px 20px;
}

.kl-summary-label{
    font-size:12px;
    font-weight:650;
}

.kl-summary-value{
    margin-top:5px;
    font-size:17px;
    line-height:1.35;
    font-weight:750;
}

.kl-summary-sub{
    margin-top:3px;
    font-size:12px;
}


/* -------------------------
   REPORT NAV
   ------------------------- */

.kl-report-nav-wrap{
    margin-top:14px;
}

.kl-report-nav{
    min-height:50px;
    padding:5px 8px;
}

.kl-report-nav a{
    padding:9px 12px;
    font-size:13px;
    font-weight:650;
}


/* -------------------------
   SECTIONS
   ------------------------- */

.kl-section{
    margin-top:30px;
    scroll-margin-top:90px;
}

.kl-section-head{
    margin-bottom:15px;
    align-items:flex-end;
}

.kl-section-kicker{
    margin-bottom:4px;
    font-size:11px;
    line-height:1.3;
    font-weight:750;
    letter-spacing:.07em;
}

.kl-section-title{
    margin:0;
    font-size:25px;
    line-height:1.3;
    font-weight:780;
    letter-spacing:-.015em;
}

.kl-section-desc{
    max-width:620px;
    font-size:14px;
    line-height:1.65;
}

.kl-card{
    border-radius:14px;
}

.kl-card-pad{
    padding:21px 23px;
}

.kl-card-title{
    font-size:18px;
    line-height:1.35;
    font-weight:750;
}

.kl-card-subtitle{
    margin-top:4px;
    font-size:13px;
    line-height:1.55;
}

.kl-grid-2{
    align-items:stretch;
    gap:16px;
}

#overview .kl-grid-2 > .kl-card,
#charts .kl-grid-2 > .kl-card{
    height:100%;
}


/* -------------------------
   PANCHANG / DATA
   ------------------------- */

.kl-data-grid{
    gap:10px 16px;
}

.kl-data-item{
    min-height:54px;
}

.kl-data-label{
    font-size:12px;
    line-height:1.3;
    font-weight:650;
}

.kl-data-value{
    margin-top:4px;
    font-size:15px;
    line-height:1.45;
    font-weight:650;
}


/* -------------------------
   TABLES
   ------------------------- */

.kl-table-wrap{
    border-radius:14px;
}

.kl-table{
    font-size:15px;
}

.kl-table th{
    padding:13px 15px;
    font-size:12px;
    line-height:1.35;
    font-weight:750;
    letter-spacing:.01em;
}

.kl-table td{
    padding:14px 15px;
    line-height:1.5;
    vertical-align:middle;
}

.kl-planet-name{
    font-weight:750;
}

.kl-status-pill{
    padding:5px 9px;
    font-size:12px;
    font-weight:700;
}


/* -------------------------
   YOGA / DOSHA
   ------------------------- */

.kl-yoga-card,
.kl-dosha-card{
    padding:17px 18px;
    min-height:105px;
}

.kl-yoga-name,
.kl-dosha-name{
    font-size:16px;
    line-height:1.45;
    font-weight:750;
}

.kl-yoga-meta,
.kl-yoga-participants{
    font-size:13px;
    line-height:1.55;
}


/* -------------------------
   DASHA
   ------------------------- */

.kl-dasha-grid{
    gap:16px;
}

.kl-dasha-card{
    padding:21px 23px;
}

.kl-dasha-label{
    font-size:12px;
    font-weight:700;
}

.kl-dasha-name{
    margin-top:5px;
    font-size:23px;
    line-height:1.3;
    font-weight:780;
}

.kl-dasha-period{
    margin-top:9px;
    font-size:14px;
    line-height:1.6;
}


/* =========================================================
   FALADESH — MAIN READABILITY UPGRADE
   ========================================================= */

.kl-faladesh-list{
    display:grid;
    gap:18px;
}

.kl-faladesh-card{
    overflow:hidden;
    border-radius:14px;
}

.kl-faladesh-summary{
    padding:23px 26px 22px;
}

.kl-faladesh-top{
    gap:18px;
    align-items:flex-start;
}

.kl-faladesh-title{
    margin:0;
    font-size:21px;
    line-height:1.4;
    font-weight:780;
    color:#211e1b;
}

.kl-tone{
    flex:0 0 auto;
    padding:5px 10px;
    font-size:11px;
    line-height:1.3;
    font-weight:750;
}

.kl-faladesh-text{
    margin-top:13px;
    font-size:16px;
    line-height:1.85;
    font-weight:500;
    color:#3b3531;
}

.kl-faladesh-text strong{
    font-weight:750;
    color:#211e1b;
}

.kl-prediction{
    margin-top:16px;
    padding:15px 17px;
    font-size:16px;
    line-height:1.85;
    font-weight:500;
}

.kl-prediction strong{
    font-weight:780;
}

.kl-faladesh-details{
    border-top:1px solid rgba(70,55,45,.10);
}

.kl-faladesh-details details{
    margin:0;
}

.kl-faladesh-details summary{
    padding:14px 26px;
    cursor:pointer;
    font-size:14px;
    line-height:1.5;
    font-weight:750;
}

.kl-faladesh-detail-body{
    padding:5px 26px 23px;
    font-size:15px;
    line-height:1.8;
    font-weight:450;
    color:#403934;
}

.kl-faladesh-detail-body strong{
    display:block;
    margin-bottom:4px;
    font-size:14px;
    font-weight:750;
    color:#24201d;
}


/* -------------------------
   ASK KUNDLI
   ------------------------- */

.kl-ask-card{
    margin-top:32px;
    padding:26px 28px;
    border-radius:16px;
}

.kl-ask-title{
    font-size:24px;
    line-height:1.35;
    font-weight:780;
}

.kl-ask-text{
    max-width:740px;
    font-size:15px;
    line-height:1.7;
}


/* -------------------------
   RESPONSIVE
   ------------------------- */

@media (max-width:1180px){

    .kl-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kl-place-field{
        grid-column:1 / -1;
    }

    .kl-place-row{
        grid-template-columns:minmax(0,1fr) 120px;
    }
}

@media (max-width:760px){

    .kl-page{
        width:min(calc(100% - 24px),1320px);
        padding-top:20px;
    }

    .kl-page-title{
        font-size:27px;
    }

    .kl-form-grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .kl-place-field{
        grid-column:auto;
    }

    .kl-generator-head,
    .kl-form{
        padding-left:18px;
        padding-right:18px;
    }

    .kl-generator-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .kl-generate{
        width:100%;
    }

    .kl-profile-main{
        padding:20px;
    }

    .kl-section-title{
        font-size:22px;
    }

    .kl-faladesh-summary{
        padding:20px;
    }

    .kl-faladesh-title{
        font-size:19px;
    }

    .kl-faladesh-text,
    .kl-prediction{
        font-size:15px;
        line-height:1.8;
    }

    .kl-faladesh-details summary{
        padding:13px 20px;
    }

    .kl-faladesh-detail-body{
        padding:4px 20px 20px;
    }
}


/* Birth coordinates / timezone */
.kl-profile-location-meta{
    margin-top:7px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    font-size:12px;
    line-height:1.55;
    color:#766c65;
}

.kl-profile-location-meta strong{
    font-weight:700;
    color:#4b433e;
}


/* =========================================================
   USER FRIENDLY ASTRO EXPLANATION UI V3
   ========================================================= */

.kl-explain-card{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:19px 20px;
    min-height:100%;
}

.kl-result-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.kl-result-head .kl-yoga-name,
.kl-result-head .kl-dosha-name{
    margin:0;
}

.kl-meaning-block{
    padding:13px 14px;
    border-radius:10px;
    background:#f8f6f3;
    border:1px solid #eee8e2;
}

.kl-personal-block{
    padding:13px 14px;
    border-radius:10px;
    background:#fff9ef;
    border-left:3px solid #b88942;
}

.kl-explain-label{
    margin-bottom:5px;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
    color:#741f1d;
}

.kl-explain-text{
    font-size:14px;
    line-height:1.72;
    font-weight:500;
    color:#403833;
}

.kl-participant-title{
    margin-right:4px;
    font-size:12px;
    font-weight:700;
    color:#766b63;
}

.kl-activation-note{
    padding:10px 12px;
    border-radius:9px;
    background:#f5f3f1;
    font-size:13px;
    line-height:1.55;
    color:#625850;
}

.kl-activation-note strong{
    color:#312b27;
}

.kl-remedy-box{
    margin-top:auto;
    padding:13px 15px;
    border-radius:10px;
    border:1px solid #dce9df;
    background:#f4faf5;
    font-size:14px;
    line-height:1.7;
    font-weight:500;
    color:#31513a;
}

.kl-remedy-title{
    margin-bottom:4px;
    font-size:13px;
    font-weight:800;
    color:#1f6a36;
}

.kl-result-details{
    overflow:hidden;
    border:1px solid #eadfce;
    border-radius:10px;
    background:#fffdf9;
}

.kl-result-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 13px;
    cursor:pointer;
    list-style:none;
    font-size:13px;
    line-height:1.4;
    font-weight:800;
    color:#7b561e;
}

.kl-result-details summary::-webkit-details-marker,
.kl-astro-details summary::-webkit-details-marker{
    display:none;
}

.kl-summary-plus{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    font-size:17px;
    line-height:1;
    font-weight:500;
}

.kl-result-details .kl-summary-plus{
    background:#f4e8d2;
    color:#7b561e;
}

.kl-result-details[open] .kl-summary-plus,
.kl-astro-details[open] .kl-summary-plus{
    transform:rotate(45deg);
}

.kl-result-detail-body{
    padding:0 13px 13px;
    font-size:14px;
    line-height:1.72;
    color:#4b423c;
}


/* Faladesh simple-language explanation */

.kl-easy-intro{
    margin-top:14px;
    padding:12px 14px;
    border-radius:10px;
    background:#f8f6f3;
    border-left:3px solid #741f1d;
    font-size:15px;
    line-height:1.72;
    font-weight:500;
    color:#453d37;
}

.kl-easy-intro strong{
    color:#741f1d;
    font-weight:800;
}

.kl-faladesh-remedy{
    margin-top:17px;
    font-size:15px;
    line-height:1.75;
}

.kl-timing-text{
    padding-top:2px;
}


/* Clearly clickable astrology basis strip */

.kl-astro-details{
    margin:0;
}

.kl-astro-details > summary{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 20px;
    cursor:pointer;
    list-style:none;
    background:#f4e9e7;
    border-top:1px solid #ead4d0;
    color:#741f1d;
    font-size:14px;
    line-height:1.45;
    font-weight:800;
    transition:background .18s ease;
}

.kl-astro-details > summary:hover{
    background:#eddcd8;
}

.kl-astro-details > summary .kl-summary-plus{
    margin-left:auto;
    background:#741f1d;
    color:#fff;
}

.kl-astro-summary-icon{
    font-size:15px;
}

.kl-technical-note{
    margin:4px 0 16px;
    padding:10px 12px;
    border-radius:8px;
    background:#f7f4f1;
    font-size:13px;
    line-height:1.65;
    color:#6c625b;
}

.kl-astro-detail-section{
    margin-bottom:16px;
}

.kl-astro-detail-section > strong{
    display:block;
    margin-bottom:5px;
    font-size:14px;
    color:#2d2825;
}

.kl-astro-detail-text{
    font-size:14px;
    line-height:1.75;
    color:#4b433e;
}


/* Keep Yoga/Dosha cards readable rather than tiny tiles */

#yogas-doshas > .kl-grid-2{
    grid-template-columns:1fr;
    gap:28px;
}

#yogas-doshas > .kl-grid-2 > div > .kl-grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

@media (max-width:760px){

    #yogas-doshas > .kl-grid-2 > div > .kl-grid-2{
        grid-template-columns:1fr;
    }

    .kl-explain-card{
        padding:17px;
    }

    .kl-explain-text,
    .kl-remedy-box,
    .kl-result-detail-body{
        font-size:14px;
    }

    .kl-astro-details > summary{
        padding:13px 16px;
    }
}


/* =========================================================
   KUNDLILIVE ASTRO UI V4
   ========================================================= */


/* ---------- Birth Location ---------- */

.kl-profile-location-meta{
    display:none;
}

.kl-birth-location-box{
    margin:0 24px 18px;
    padding:15px 17px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    border:1px solid #e7ddd3;
    border-radius:12px;
    background:#faf8f5;
}

.kl-birth-location-primary{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
}

.kl-birth-location-icon{
    flex:0 0 auto;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#f3e7e4;
    color:#741f1d;
    font-size:22px;
    font-weight:800;
}

.kl-birth-location-label{
    font-size:11px;
    line-height:1.3;
    font-weight:750;
    color:#8a7d74;
}

.kl-birth-location-name{
    margin-top:3px;
    font-size:15px;
    line-height:1.45;
    font-weight:750;
    color:#2c2723;
}

.kl-coordinate-list{
    display:flex;
    align-items:stretch;
    gap:8px;
}

.kl-coordinate-item{
    min-width:112px;
    padding:8px 11px;
    border-radius:8px;
    background:#fff;
    border:1px solid #ece5de;
}

.kl-coordinate-item span{
    display:block;
    font-size:10px;
    line-height:1.3;
    color:#8b7e75;
}

.kl-coordinate-item strong{
    display:block;
    margin-top:2px;
    font-size:12px;
    line-height:1.35;
    color:#38312c;
}


/* ---------- Modern Yoga card ---------- */

.kl-yoga-modern{
    position:relative;
    overflow:hidden;
    gap:11px;
    padding:0;
    border:1px solid #e7ded5;
    background:#fff;
    box-shadow:
        0 2px 3px rgba(54,42,32,.025),
        0 10px 26px rgba(54,42,32,.045);
}

.kl-yoga-modern::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#a97b35;
}

.kl-yoga-modern > .kl-result-head{
    padding:17px 18px 3px 22px;
}

.kl-yoga-modern .kl-yoga-name{
    font-size:18px;
}

.kl-yoga-modern .kl-meaning-block{
    margin:0 18px 0 22px;
    padding:10px 12px;
    border:0;
    border-radius:8px;
    background:#f8f6f3;
}

.kl-yoga-modern .kl-personal-block{
    margin:0 18px 0 22px;
    padding:10px 12px;
    border-radius:8px;
}

.kl-yoga-modern .kl-yoga-participants{
    margin:0 18px 0 22px;
}

.kl-yoga-modern .kl-activation-note{
    margin:0 18px 0 22px;
    padding:8px 11px;
}

.kl-yoga-modern > .kl-remedy-box{
    margin:2px 0 0;
    padding:13px 18px 14px 22px;
    border:0;
    border-top:1px solid #dce9df;
    border-radius:0;
}

.kl-yoga-modern .kl-explain-text{
    font-size:13.5px;
    line-height:1.62;
}


/* ---------- Dosha theme ---------- */

.kl-dosha-card{
    position:relative;
    overflow:hidden;
}

.kl-dosha-state-active{
    border-color:#efcbc6;
    background:#fffafa;
    box-shadow:
        0 8px 24px rgba(150,49,38,.06);
}

.kl-dosha-state-active::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:#b63b31;
}

.kl-dosha-state-active .kl-result-head{
    padding-left:5px;
}

.kl-dosha-state-active .kl-meaning-block{
    background:#fff4f2;
    border-color:#f1d6d1;
}

.kl-dosha-state-active .kl-explain-label{
    color:#9f3028;
}

.kl-dosha-state-active .kl-remedy-box{
    background:#fff7ed;
    border-color:#f1dcc2;
    color:#64401d;
}

.kl-dosha-state-active .kl-remedy-title{
    color:#945716;
}


/* Mitigated = amber, not green */

.kl-dosha-state-mitigated{
    border-color:#ecd6ad;
    background:#fffdf8;
}

.kl-dosha-state-mitigated::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:#b9842f;
}

.kl-dosha-state-mitigated .kl-meaning-block{
    background:#fff9ee;
    border-color:#eddfc7;
}


/* Not detected = quiet green */

.kl-dosha-state-not_detected{
    border-color:#dce8df;
}

.kl-dosha-state-not_detected::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#57966a;
}


/* Avakhada first cells visually useful */

#overview .kl-data-grid .kl-data-item{
    position:relative;
}

#overview .kl-data-grid .kl-data-value{
    color:#27221f;
}


/* ---------- Responsive ---------- */

@media (max-width:900px){

    .kl-birth-location-box{
        align-items:flex-start;
        flex-direction:column;
    }

    .kl-coordinate-list{
        width:100%;
    }

    .kl-coordinate-item{
        flex:1 1 0;
        min-width:0;
    }
}

@media (max-width:560px){

    .kl-birth-location-box{
        margin-left:14px;
        margin-right:14px;
    }

    .kl-coordinate-list{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .kl-coordinate-item:last-child{
        grid-column:1 / -1;
    }
}

/* =========================================================
   KUNDLILIVE FINAL VISUAL POLISH V5
   CSS ONLY — NO LOGIC / DATA CHANGES
   ========================================================= */

:root{
    --kl-bg:#f7f6f3;
    --kl-surface:#ffffff;
    --kl-surface-soft:#fbfaf8;
    --kl-text:#292522;
    --kl-muted:#756d67;
    --kl-border:#e7e1db;
    --kl-border-soft:#eee9e4;
    --kl-maroon:#741f1d;
    --kl-maroon-dark:#5b1716;
    --kl-maroon-soft:#f7ecea;
    --kl-gold:#a87933;
    --kl-gold-soft:#faf4e9;
    --kl-green:#317147;
    --kl-green-soft:#f2f8f3;
    --kl-red:#a9362f;
    --kl-red-soft:#fff5f4;
    --kl-amber:#9a681c;
    --kl-amber-soft:#fff9ee;
    --kl-shadow:0 8px 30px rgba(48,38,29,.055);
    --kl-shadow-hover:0 12px 36px rgba(48,38,29,.085);
}


/* =========================================================
   GLOBAL
   ========================================================= */

body{
    background:
        linear-gradient(180deg,#faf9f7 0,#f7f6f3 250px,#f7f6f3 100%);
    color:var(--kl-text);
    font-size:15.5px;
    line-height:1.68;
}

.kl-page{
    width:min(calc(100% - 42px),1260px);
    padding-top:30px;
}

.kl-page-title{
    font-size:31px;
    font-weight:800;
    letter-spacing:-.025em;
    color:#211e1c;
}

.kl-page-subtitle{
    max-width:850px;
    color:#69615c;
    font-size:15.5px;
}

.kl-eyebrow{
    font-size:12px;
    font-weight:750;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.kl-topbar{
    box-shadow:0 1px 0 rgba(70,55,45,.07);
}

.kl-topbar-inner{
    min-height:64px;
}

.kl-brand-name{
    font-weight:800;
    letter-spacing:-.015em;
}

.kl-brand-subtitle{
    font-size:11px;
}

.kl-lang{
    padding:3px;
    border:1px solid var(--kl-border);
    border-radius:9px;
    background:#fff;
}

.kl-lang a{
    min-width:35px;
    padding:6px 9px;
    border-radius:6px;
    font-size:12px;
    font-weight:750;
}


/* =========================================================
   GENERATOR FORM
   ========================================================= */

.kl-generator{
    overflow:visible;
    border:1px solid var(--kl-border);
    box-shadow:var(--kl-shadow);
    background:var(--kl-surface);
}

.kl-generator-head{
    border-bottom:1px solid var(--kl-border-soft);
    background:#fdfcfb;
}

.kl-generator-title{
    color:#25211e;
}

.kl-generator-note{
    color:#776e68;
}

.kl-form-grid{
    gap:16px;
    align-items:start;
}

.kl-field{
    gap:7px;
}

.kl-field label{
    min-height:20px;
    font-size:12.5px;
    font-weight:750;
    color:#4f4843;
}

.kl-field input,
.kl-field select{
    height:48px;
    min-height:48px;
    border:1px solid #dcd5cf;
    border-radius:9px;
    background:#fff;
    color:#292522;
    font-size:14px;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.kl-field input:hover,
.kl-field select:hover{
    border-color:#c9beb6;
}

.kl-field input:focus,
.kl-field select:focus{
    outline:none;
    border-color:#9d5c58;
    box-shadow:0 0 0 3px rgba(116,31,29,.08);
}

.kl-place-row{
    gap:8px;
}

.kl-place-search-btn{
    height:48px;
    min-height:48px;
    border-radius:9px;
    font-weight:750;
}

.kl-place-status{
    font-size:11.5px;
}

.kl-generator-actions{
    margin-top:19px;
    padding-top:18px;
    border-top:1px solid var(--kl-border-soft);
}

.kl-generate{
    height:48px;
    min-width:205px;
    border-radius:9px;
    box-shadow:0 5px 14px rgba(116,31,29,.14);
}

.kl-generate:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(116,31,29,.18);
}


/* =========================================================
   PROFILE / BIRTH SUMMARY
   ========================================================= */

.kl-profile-hero{
    overflow:hidden;
    border:1px solid var(--kl-border);
    box-shadow:var(--kl-shadow);
    background:#fff;
}

.kl-profile-main{
    padding:22px 24px 18px;
}

.kl-profile-name{
    font-size:25px;
    font-weight:800;
}

.kl-profile-meta{
    color:#6e655f;
}

.kl-engine-badge{
    border:1px solid #e5ddd6;
    background:#faf8f6;
    font-size:11px;
    font-weight:750;
}

.kl-summary-strip{
    border-top:1px solid var(--kl-border-soft);
    background:#fdfcfb;
}

.kl-summary-item{
    min-width:0;
    padding:16px 18px;
}

.kl-summary-label{
    color:#847870;
    font-size:11px;
    letter-spacing:.015em;
}

.kl-summary-value{
    color:#282320;
    font-size:16px;
    font-weight:800;
}

.kl-summary-sub{
    color:#837870;
}


/* =========================================================
   COORDINATES BOX
   ========================================================= */

.kl-birth-location-box{
    margin:0 22px 18px;
    padding:13px 15px;
    border:1px solid #e6dfd8;
    border-radius:10px;
    background:#faf9f7;
}

.kl-birth-location-icon{
    width:36px;
    height:36px;
    border-radius:9px;
    background:#f4e8e6;
}

.kl-birth-location-label{
    text-transform:none;
    letter-spacing:.02em;
}

.kl-birth-location-name{
    font-size:14.5px;
}

.kl-coordinate-list{
    gap:7px;
}

.kl-coordinate-item{
    min-width:108px;
    padding:7px 10px;
    border-color:#e8e1db;
    box-shadow:none;
}

.kl-coordinate-item span{
    font-size:10px;
}

.kl-coordinate-item strong{
    font-size:12px;
}


/* =========================================================
   STICKY REPORT NAV
   ========================================================= */

.kl-report-nav-wrap{
    top:66px;
    margin-top:12px;
}

.kl-report-nav{
    min-height:47px;
    border:1px solid var(--kl-border);
    border-radius:11px;
    box-shadow:0 5px 18px rgba(50,40,32,.04);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}

.kl-report-nav a{
    padding:8px 11px;
    border-radius:7px;
    font-size:12.5px;
    font-weight:700;
}

.kl-report-nav a:hover{
    background:#f7f3f1;
    color:var(--kl-maroon);
}

.kl-report-nav .kl-ask-nav{
    background:var(--kl-maroon-soft);
}


/* =========================================================
   COMMON SECTIONS / CARDS
   ========================================================= */

.kl-section{
    margin-top:32px;
}

.kl-section-head{
    margin-bottom:14px;
}

.kl-section-kicker{
    color:#988673;
    font-size:10.5px;
    letter-spacing:.08em;
}

.kl-section-title{
    font-size:24px;
    font-weight:800;
    color:#25211e;
}

.kl-section-desc{
    color:#756c66;
    font-size:13px;
}

.kl-card{
    border:1px solid var(--kl-border);
    box-shadow:0 4px 18px rgba(52,42,34,.035);
    transition:
        box-shadow .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.kl-card:hover{
    border-color:#ddd3ca;
    box-shadow:var(--kl-shadow);
}

.kl-card-pad{
    padding:19px 21px;
}

.kl-card-title{
    font-size:17px;
    font-weight:800;
    color:#292522;
}

.kl-card-subtitle{
    color:#847971;
    font-size:12.5px;
}

.kl-data-grid{
    gap:9px 14px;
}

.kl-data-item{
    min-height:50px;
    padding-bottom:4px;
}

.kl-data-label{
    color:#8b7f76;
    font-size:11px;
}

.kl-data-value{
    color:#302a26;
    font-size:14px;
    font-weight:700;
}


/* =========================================================
   CHART CARDS
   DO NOT TOUCH VALIDATED HOUSE POSITIONING
   ========================================================= */

.kl-validated-chart-grid{
    gap:18px;
}

.kl-validated-chart-card{
    overflow:hidden;
    box-shadow:var(--kl-shadow);
}

.kl-chart-head{
    padding:14px 17px;
    border-bottom:1px solid var(--kl-border-soft);
    background:#fdfcfb;
}

.kl-chart-title{
    font-size:16px;
    font-weight:800;
}

.kl-chart-tag{
    padding:5px 8px;
    font-size:10.5px;
    border-radius:6px;
}

.kl-validated-chart-body{
    padding:15px;
    background:#fff;
}


/* =========================================================
   PLANET TABLE
   ========================================================= */

.kl-table-wrap{
    overflow:hidden;
    border:1px solid var(--kl-border);
    background:#fff;
    box-shadow:var(--kl-shadow);
}

.kl-table th{
    background:#f7f5f2;
    color:#756b64;
    border-bottom:1px solid var(--kl-border);
}

.kl-table td{
    border-bottom:1px solid #f0ece8;
    font-size:14px;
}

.kl-table tbody tr:hover{
    background:#fcfaf8;
}

.kl-status-pill{
    white-space:nowrap;
}


/* =========================================================
   YOGA SECTION — PREMIUM CARDS
   ========================================================= */

#yogas-doshas > .kl-grid-2{
    gap:32px;
}

#yogas-doshas > .kl-grid-2 > div > .kl-grid-2{
    gap:16px;
}

.kl-yoga-modern{
    border-radius:13px;
    box-shadow:
        0 5px 22px rgba(51,41,32,.045);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.kl-yoga-modern:hover{
    transform:translateY(-2px);
    box-shadow:var(--kl-shadow-hover);
}

.kl-yoga-modern::before{
    width:4px;
    background:linear-gradient(
        180deg,
        #ba8d48,
        #8f6427
    );
}

.kl-yoga-modern > .kl-result-head{
    min-height:57px;
    padding:16px 17px 5px 21px;
}

.kl-yoga-modern .kl-yoga-name{
    font-size:17px;
    line-height:1.4;
    color:#2b2623;
}

.kl-yoga-modern .kl-tone{
    font-size:10px;
}

.kl-yoga-modern .kl-meaning-block{
    margin:0 16px 0 20px;
    padding:10px 12px;
    background:#f8f6f3;
}

.kl-yoga-modern .kl-personal-block{
    margin:0 16px 0 20px;
    padding:10px 12px;
    background:#fffaf1;
    border-left-color:#b48238;
}

.kl-yoga-modern .kl-explain-label{
    font-size:11px;
    letter-spacing:.015em;
}

.kl-yoga-modern .kl-explain-text{
    color:#4a423d;
    font-size:13.5px;
    line-height:1.62;
}

.kl-yoga-modern .kl-yoga-participants{
    margin:1px 16px 0 20px;
}

.kl-mini-pill{
    padding:4px 8px;
    border-radius:6px;
    background:#f4f0ec;
    border:1px solid #ebe4dd;
    font-size:11px;
    font-weight:700;
}

.kl-yoga-modern .kl-activation-note{
    margin:0 16px 2px 20px;
    border:1px solid #ebe6e1;
    background:#faf9f7;
    font-size:12.5px;
}

.kl-yoga-modern > .kl-remedy-box{
    padding:12px 17px 13px 21px;
    background:linear-gradient(
        180deg,
        #f5faf6,
        #f1f7f2
    );
}

.kl-yoga-modern .kl-remedy-title{
    font-size:12px;
}


/* =========================================================
   DOSHA CARDS
   ========================================================= */

.kl-dosha-card{
    border-radius:13px;
    box-shadow:
        0 5px 22px rgba(51,41,32,.04);
}

.kl-dosha-state-active{
    border-color:#edc7c2;
    background:#fffafa;
    box-shadow:0 7px 26px rgba(169,54,47,.08);
}

.kl-dosha-state-active::before{
    background:linear-gradient(
        180deg,
        #bf4339,
        #922820
    );
}

.kl-dosha-state-active .kl-dosha-name{
    color:#79251f;
}

.kl-dosha-state-active .kl-status-active{
    background:#f9e4e2;
    color:#982f28;
}

.kl-dosha-state-mitigated{
    border-color:#ead4a8;
    background:#fffdf9;
}

.kl-dosha-state-mitigated .kl-dosha-name{
    color:#75521b;
}

.kl-dosha-state-not_detected{
    background:#fbfdfb;
}

.kl-dosha-card .kl-meaning-block{
    border-radius:8px;
}

.kl-result-details summary{
    background:#fffaf4;
}

.kl-result-detail-body{
    background:#fff;
}


/* =========================================================
   DASHA
   ========================================================= */

.kl-dasha-grid{
    gap:16px;
}

.kl-dasha-card{
    min-height:125px;
    border-left:4px solid var(--kl-maroon);
}

.kl-dasha-card.antardasha{
    border-left-color:var(--kl-gold);
}

.kl-dasha-name{
    font-size:22px;
    color:#2b2622;
}

.kl-dasha-period{
    color:#786e67;
    font-size:13px;
}


/* =========================================================
   FALADESH — READABILITY / PREMIUM REPORT
   ========================================================= */

.kl-faladesh-list{
    gap:17px;
}

.kl-faladesh-card{
    border-radius:14px;
    box-shadow:0 6px 24px rgba(46,37,30,.045);
}

.kl-faladesh-card:hover{
    box-shadow:0 9px 30px rgba(46,37,30,.065);
}

.kl-faladesh-summary{
    padding:22px 25px 20px;
}

.kl-faladesh-title{
    font-size:20px;
    font-weight:800;
    color:#25211e;
}

.kl-easy-intro{
    margin-top:12px;
    padding:11px 13px;
    background:#f8f6f3;
    border-left-width:3px;
    font-size:14px;
    line-height:1.7;
}

.kl-faladesh-text{
    margin-top:12px;
    color:#413a35;
    font-size:15.5px;
    line-height:1.82;
    font-weight:500;
}

.kl-prediction{
    margin-top:14px;
    padding:13px 15px;
    border-radius:9px;
    background:#f5f8f5;
    border:1px solid #e0e9e1;
    color:#34443a;
    font-size:15px;
    line-height:1.8;
}

.kl-faladesh-remedy{
    margin-top:14px;
    padding:13px 15px;
    border-radius:9px;
    background:#fff8ed;
    border:1px solid #ecdcbc;
    color:#594321;
}

.kl-faladesh-remedy .kl-remedy-title{
    color:#8b5d16;
    font-size:13px;
}

.kl-astro-details > summary{
    padding:13px 20px;
    background:linear-gradient(
        180deg,
        #f5e9e7,
        #f1e3e0
    );
    border-top:1px solid #e6cfcb;
    font-size:13.5px;
}

.kl-astro-details > summary:hover{
    background:#ecd9d5;
}

.kl-faladesh-detail-body{
    padding:17px 22px 21px;
}

.kl-technical-note{
    border-left:3px solid #b8aba2;
    border-radius:7px;
}

.kl-astro-detail-section{
    padding-bottom:12px;
    border-bottom:1px solid #eee9e5;
}

.kl-astro-detail-section:last-child{
    border-bottom:0;
}

.kl-astro-detail-text{
    font-size:14px;
    line-height:1.78;
}


/* =========================================================
   ASK KUNDLI
   ========================================================= */

.kl-ask-card{
    box-shadow:var(--kl-shadow);
}

.kl-ask-title{
    font-size:23px;
}

.kl-ask-text{
    color:#756b64;
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width:1180px){

    .kl-page{
        width:min(calc(100% - 30px),1260px);
    }

    .kl-form-grid{
        grid-template-columns:1fr 1fr;
    }

    .kl-place-field{
        grid-column:1 / -1;
    }
}

@media (max-width:820px){

    .kl-page{
        width:min(calc(100% - 22px),1260px);
    }

    .kl-profile-main{
        align-items:flex-start;
        gap:14px;
        flex-direction:column;
    }

    .kl-engine-badge{
        align-self:flex-start;
    }

    .kl-summary-strip{
        grid-template-columns:repeat(2,1fr);
    }

    .kl-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }

    .kl-section-desc{
        max-width:none;
    }

    .kl-coordinate-list{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }
}

@media (max-width:620px){

    body{
        font-size:15px;
    }

    .kl-page-title{
        font-size:26px;
    }

    .kl-form-grid{
        grid-template-columns:1fr;
    }

    .kl-generator-head,
    .kl-form{
        padding-left:16px;
        padding-right:16px;
    }

    .kl-summary-strip{
        grid-template-columns:1fr 1fr;
    }

    .kl-summary-item{
        padding:14px;
    }

    .kl-birth-location-box{
        margin-left:13px;
        margin-right:13px;
        padding:12px;
    }

    .kl-coordinate-list{
        grid-template-columns:1fr 1fr;
    }

    .kl-coordinate-item:last-child{
        grid-column:1 / -1;
    }

    .kl-card-pad{
        padding:17px;
    }

    .kl-section-title{
        font-size:21px;
    }

    .kl-faladesh-summary{
        padding:18px;
    }

    .kl-faladesh-title{
        font-size:18px;
    }

    .kl-faladesh-text,
    .kl-prediction,
    .kl-faladesh-remedy{
        font-size:14.5px;
        line-height:1.78;
    }

    .kl-result-head{
        flex-direction:column;
        align-items:flex-start;
    }
}



/* =========================================================
   NAAM AKSHARA HIGHLIGHT
   ========================================================= */

.kl-naam-akshara-box{
    margin-top:16px;
    padding:15px 17px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:5px 20px;
    border:1px solid #ead7b8;
    border-radius:11px;
    background:linear-gradient(
        135deg,
        #fffaf0 0%,
        #fffdf9 100%
    );
}

.kl-naam-akshara-label{
    font-size:14px;
    line-height:1.4;
    font-weight:800;
    color:#704414;
}

.kl-naam-akshara-help{
    margin-top:3px;
    max-width:620px;
    font-size:12px;
    line-height:1.55;
    color:#817368;
}

.kl-naam-akshara-value{
    grid-row:1 / span 2;
    grid-column:2;
    min-width:74px;
    height:64px;
    padding:0 17px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#741f1d;
    color:#fff;
    font-size:30px;
    line-height:1;
    font-weight:850;
    box-shadow:0 6px 16px rgba(116,31,29,.16);
}

.kl-naam-akshara-meta{
    grid-column:1 / -1;
    margin-top:8px;
    padding-top:9px;
    display:flex;
    flex-wrap:wrap;
    gap:8px 20px;
    border-top:1px solid #eee1ca;
    color:#776a60;
    font-size:12px;
}

.kl-naam-akshara-meta strong{
    margin-left:4px;
    color:#37302b;
    font-weight:750;
}

@media(max-width:560px){

    .kl-naam-akshara-box{
        grid-template-columns:1fr auto;
        padding:14px;
    }

    .kl-naam-akshara-value{
        min-width:62px;
        height:58px;
        font-size:27px;
    }
}


/* Naam Akshara V6 — use normal Avakhada grid symmetry */
.kl-naam-akshara-box{
    display:none !important;
}


/* =========================================================
   GRAHA POSITION TABLE V1
   ========================================================= */

.kl-graha-table-wrap{
    border-radius:13px;
    box-shadow:0 6px 24px rgba(46,37,30,.045);
}

.kl-graha-table{
    min-width:940px;
}

.kl-graha-table thead th{
    padding:12px 13px;
    background:#f3f7f6;
    color:#5e6965;
    font-size:11.5px;
    font-weight:800;
    white-space:nowrap;
}

.kl-graha-table tbody td{
    padding:12px 13px;
    font-size:13.5px;
    line-height:1.45;
    white-space:nowrap;
}

.kl-graha-table tbody tr:last-child td{
    border-bottom:0;
}

.kl-graha-table .kl-lagna-row{
    background:#fff9ef;
}

.kl-graha-table .kl-lagna-row td{
    border-bottom-color:#eadcc3;
}

.kl-graha-table .kl-lagna-row .kl-planet-name{
    color:#8b4c24;
}

.kl-degree-cell{
    font-variant-numeric:tabular-nums;
    letter-spacing:.01em;
}

.kl-graha-state{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:6px;
    background:#fff0ed;
    color:#9c352d;
    font-size:11px;
    font-weight:750;
}

.kl-muted-dash{
    color:#b2aaa4;
}

@media(max-width:760px){

    .kl-graha-table-wrap{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .kl-graha-table{
        min-width:860px;
    }

    .kl-graha-table thead th,
    .kl-graha-table tbody td{
        padding-left:11px;
        padding-right:11px;
    }
}


/* =========================================================
   COMPLETE MAHADASHA TIMELINE V1
   ========================================================= */

.kl-mahadasha-timeline{
    margin-top:24px;
    border:1px solid #eadfd7;
    border-radius:15px;
    background:#fff;
    overflow:hidden;
}

.kl-mahadasha-timeline-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px 14px;
    background:#fffaf6;
    border-bottom:1px solid #eee3dc;
}

.kl-mahadasha-timeline-kicker{
    margin-bottom:3px;
    color:#9b7056;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.kl-mahadasha-timeline-head h3{
    margin:0;
    color:#49362d;
    font-size:18px;
    line-height:1.35;
}

.kl-mahadasha-120{
    flex:0 0 auto;
    padding:6px 10px;
    border-radius:999px;
    background:#f3e8df;
    color:#7b4b32;
    font-size:11px;
    font-weight:800;
}

.kl-mahadasha-note{
    padding:11px 20px;
    background:#fffdfb;
    border-bottom:1px solid #f0e8e2;
    color:#71635c;
    font-size:12px;
    line-height:1.65;
}

.kl-mahadasha-list{
    padding:4px 0;
}

.kl-mahadasha-row{
    display:grid;
    grid-template-columns:36px minmax(125px, .8fr) minmax(115px, .7fr) minmax(270px, 1.7fr);
    align-items:center;
    gap:12px;
    padding:12px 20px;
    border-bottom:1px solid #f0ebe7;
}

.kl-mahadasha-row:last-child{
    border-bottom:0;
}

.kl-mahadasha-row.is-current{
    background:#fff4e7;
    box-shadow:inset 3px 0 0 #a75b2a;
}

.kl-mahadasha-number{
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    border-radius:50%;
    background:#f5f1ee;
    color:#806f66;
    font-size:11px;
    font-weight:800;
}

.kl-mahadasha-row.is-current .kl-mahadasha-number{
    background:#a75b2a;
    color:#fff;
}

.kl-mahadasha-planet{
    display:flex;
    align-items:center;
    gap:7px;
    color:#49352b;
    font-size:14px;
}

.kl-current-dasha-badge{
    display:inline-flex;
    padding:3px 7px;
    border-radius:999px;
    background:#a75b2a;
    color:#fff;
    font-size:9.5px;
    font-weight:800;
}

.kl-mahadasha-years{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.kl-mahadasha-years span{
    color:#9a8b83;
    font-size:10px;
}

.kl-mahadasha-years strong{
    color:#5c4a41;
    font-size:12.5px;
}

.kl-mahadasha-dates{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    color:#71625a;
    font-size:12px;
    font-variant-numeric:tabular-nums;
}

.kl-date-arrow{
    color:#b29e91;
}

@media(max-width:760px){

    .kl-mahadasha-timeline-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .kl-mahadasha-row{
        grid-template-columns:30px 1fr;
        gap:7px 10px;
    }

    .kl-mahadasha-years,
    .kl-mahadasha-dates{
        grid-column:2;
    }

    .kl-mahadasha-dates{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}


/* =========================================================
   SADE SATI CARD V1
   ========================================================= */

.kl-sade-sati-card{
    margin-top:24px;
    padding:20px;
    border:1px solid #eadfd8;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 24px rgba(54,39,31,.045);
}

.kl-sade-sati-card.is-active{
    border-color:#e8c4bc;
    box-shadow:
        inset 4px 0 0 #b64d3d,
        0 7px 24px rgba(54,39,31,.045);
}

.kl-sade-sati-card.is-clear{
    border-color:#cfe3d4;
    box-shadow:
        inset 4px 0 0 #4c8c62,
        0 7px 24px rgba(54,39,31,.045);
}

.kl-sade-sati-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:17px;
}

.kl-sade-sati-kicker{
    margin-bottom:4px;
    color:#9a725d;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.kl-sade-sati-head h3{
    margin:0;
    color:#49362d;
    font-size:20px;
    line-height:1.3;
}

.kl-sade-sati-status{
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
}

.is-active .kl-sade-sati-status{
    background:#fff0ed;
    color:#a13d32;
}

.is-clear .kl-sade-sati-status{
    background:#edf8f0;
    color:#39714b;
}

.kl-sade-sati-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:14px;
}

.kl-sade-sati-stat{
    padding:12px 13px;
    border:1px solid #eee5df;
    border-radius:10px;
    background:#fffdfa;
}

.kl-sade-sati-stat span{
    display:block;
    margin-bottom:4px;
    color:#96857c;
    font-size:10.5px;
}

.kl-sade-sati-stat strong{
    color:#4c3930;
    font-size:13.5px;
}

.kl-sade-sati-periods{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:15px;
}

.kl-sade-sati-period{
    padding:11px 13px;
    border-radius:10px;
    background:#faf6f2;
}

.kl-sade-sati-period span{
    display:block;
    margin-bottom:4px;
    color:#96857c;
    font-size:10.5px;
}

.kl-sade-sati-period strong{
    color:#58463c;
    font-size:12.5px;
    font-weight:750;
}

.kl-sade-sati-period strong span{
    display:inline;
    margin:0 6px;
    color:#aa978b;
}

.kl-sade-sati-phase-guide{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:4px 0 15px;
}

.kl-sade-sati-phase-guide > div{
    position:relative;
    padding:11px 12px 10px 42px;
    border:1px solid #eee6e1;
    border-radius:10px;
    background:#fff;
}

.kl-sade-sati-phase-guide > div > span{
    position:absolute;
    left:11px;
    top:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#f2eeeb;
    color:#776860;
    font-size:10px;
    font-weight:800;
}

.kl-sade-sati-phase-guide strong{
    display:block;
    color:#59473e;
    font-size:12px;
}

.kl-sade-sati-phase-guide small{
    display:block;
    margin-top:2px;
    color:#9b8c84;
    font-size:9.5px;
}

.kl-sade-sati-phase-guide > div.current{
    border-color:#e3b9ae;
    background:#fff5f1;
}

.kl-sade-sati-phase-guide > div.current > span{
    background:#b64d3d;
    color:#fff;
}

.kl-sade-sati-meaning,
.kl-sade-sati-remedy{
    padding:13px 15px;
    border-radius:10px;
    font-size:12.5px;
    line-height:1.72;
}

.kl-sade-sati-meaning{
    margin-top:10px;
    background:#fff8f4;
    border:1px solid #f0ddd4;
}

.kl-sade-sati-meaning strong{
    color:#8d493a;
}

.kl-sade-sati-remedy{
    margin-top:10px;
    background:#f7f9ef;
    border:1px solid #e2e6ca;
}

.kl-sade-sati-remedy strong{
    color:#657239;
}

.kl-sade-sati-meaning p,
.kl-sade-sati-remedy p{
    margin:5px 0 0;
    color:#66564d;
}

@media(max-width:760px){

    .kl-sade-sati-head{
        flex-direction:column;
    }

    .kl-sade-sati-summary-grid,
    .kl-sade-sati-periods,
    .kl-sade-sati-phase-guide{
        grid-template-columns:1fr;
    }

    .kl-sade-sati-card{
        padding:16px;
    }
}


/* =========================================================
   MAIN LANDING UI V7
   Focused first-screen hierarchy and mobile containment
   ========================================================= */

html,
body{
    max-width:100%;
    overflow-x:clip;
}

.kl-page{
    width:min(calc(100% - 40px),1180px);
    padding-top:34px;
}

.kl-landing-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,350px);
    align-items:center;
    gap:48px;
    padding:28px 30px;
    overflow:hidden;
    border:1px solid #eadfd7;
    border-radius:18px;
    background:
        radial-gradient(circle at 92% 8%,rgba(184,137,66,.14),transparent 38%),
        linear-gradient(135deg,#fff 0%,#fdfaf6 100%);
    box-shadow:0 10px 32px rgba(48,38,29,.055);
}

.kl-landing-hero::after{
    content:"";
    position:absolute;
    right:-54px;
    bottom:-72px;
    width:190px;
    height:190px;
    border:1px solid rgba(184,137,66,.14);
    border-radius:50%;
    pointer-events:none;
}

.kl-landing-copy,
.kl-hero-benefits{
    position:relative;
    z-index:1;
    min-width:0;
}

.kl-landing-hero .kl-page-title{
    max-width:720px;
    font-size:36px;
    line-height:1.18;
}

.kl-landing-hero .kl-page-subtitle{
    max-width:760px;
    margin-top:11px;
    font-size:15px;
    line-height:1.72;
}

.kl-hero-benefits{
    display:grid;
    gap:10px;
    padding:18px 20px;
    border:1px solid rgba(116,31,29,.1);
    border-radius:14px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 22px rgba(83,50,34,.05);
}

.kl-benefits-label{
    margin-bottom:1px;
    color:#83766e;
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.kl-benefit-item{
    display:flex;
    align-items:center;
    gap:9px;
    color:#413a35;
    font-size:13px;
    font-weight:700;
}

.kl-benefit-item span{
    flex:0 0 22px;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f6e9e6;
    color:#741f1d;
    font-size:11px;
    font-weight:900;
}

.kl-generator{
    margin-top:18px;
}

.kl-generator-head{
    padding:19px 24px 16px;
}

.kl-generator-title{
    font-size:19px;
}

.kl-trust-badge{
    border-color:#e6d8c3;
    background:#fbf5e9;
    color:#74562d;
}

.kl-form,
.kl-form-grid,
.kl-field,
.kl-place-row{
    min-width:0;
    max-width:100%;
}

.kl-form{
    box-shadow:none;
}

.kl-generate{
    box-shadow:0 8px 18px rgba(116,31,29,.18);
}

@media(max-width:900px){
    .kl-landing-hero{
        grid-template-columns:minmax(0,1fr) 280px;
        gap:24px;
    }

    .kl-landing-hero .kl-page-title{
        font-size:32px;
    }
}

@media(max-width:700px){
    .kl-page{
        width:calc(100% - 24px);
        padding-top:20px;
    }

    .kl-landing-hero{
        grid-template-columns:minmax(0,1fr);
        gap:18px;
        padding:22px 20px;
    }

    .kl-landing-hero .kl-page-title{
        font-size:28px;
    }

    .kl-landing-hero .kl-page-subtitle{
        font-size:14px;
    }

    .kl-hero-benefits{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        padding:14px;
    }

    .kl-benefits-label{
        grid-column:1 / -1;
    }

    .kl-benefit-item{
        align-items:flex-start;
        font-size:11.5px;
        line-height:1.45;
    }

    .kl-generator-head{
        padding:17px 18px 15px;
    }

    .kl-form-grid{
        grid-template-columns:minmax(0,1fr) !important;
    }

    .kl-place-field{
        grid-column:auto !important;
    }
}

@media(max-width:520px){
    .kl-topbar-inner{
        width:calc(100% - 24px);
        gap:12px;
    }

    .kl-brand{
        min-width:0;
    }

    .kl-brand-name{
        font-size:18px;
    }

    .kl-top-actions{
        flex:0 0 auto;
    }

    .kl-lang a{
        min-width:32px;
        padding:5px 7px;
    }

    .kl-page{
        width:calc(100% - 20px);
        padding-top:14px;
    }

    .kl-landing-hero{
        gap:16px;
        padding:20px 17px;
        border-radius:15px;
    }

    .kl-landing-hero .kl-page-title{
        font-size:25px;
        letter-spacing:-.02em;
    }

    .kl-hero-benefits{
        grid-template-columns:minmax(0,1fr);
        gap:8px;
    }

    .kl-benefits-label{
        grid-column:auto;
    }

    .kl-benefit-item{
        align-items:center;
        font-size:12px;
    }

    .kl-generator{
        margin-top:12px;
        border-radius:15px;
    }

    .kl-generator-head{
        align-items:flex-start;
        padding:16px;
    }

    .kl-generator-title{
        font-size:18px;
    }

    .kl-generator-note{
        font-size:12px;
    }

    .kl-trust-badge{
        display:none;
    }

    .kl-form{
        width:100%;
        padding:17px 16px 18px;
    }

    .kl-form-grid{
        width:100%;
        gap:14px;
    }

    .kl-field input,
    .kl-field select{
        width:100%;
    }

    .kl-place-row{
        width:100%;
        grid-template-columns:minmax(0,1fr);
    }

    .kl-place-search-btn{
        width:100%;
    }

    .kl-generator-actions{
        margin-top:18px;
        padding-top:16px;
    }
}


/* =========================================================
   PROFESSIONAL REPORT UI V8
   Unified controls, readable content and app-like navigation
   ========================================================= */

:root{
    --kl-control-height:50px;
    --kl-control-radius:11px;
    --kl-card-radius:17px;
    --kl-readable:#3f3833;
    --kl-focus:0 0 0 4px rgba(116,31,29,.12);
    --kl-elevated:0 10px 32px rgba(53,42,34,.07);
}

html,
body{
    overflow-x:clip;
}

body{
    background:
        linear-gradient(180deg,#fbfaf8 0,#f6f4f1 460px,#f6f4f1 100%);
    color:#282421;
    font-size:17px;
    line-height:1.72;
}

button,
a,
summary,
input,
select{
    -webkit-tap-highlight-color:transparent;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible{
    outline:none;
    box-shadow:var(--kl-focus);
}

.kl-topbar{
    z-index:2000;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #e7e0d9;
    box-shadow:0 3px 16px rgba(46,36,28,.045);
}

.kl-topbar-inner{
    width:min(calc(100% - 40px),1240px);
    min-height:72px;
}

.kl-logo{
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:19px;
}

.kl-brand-name{
    font-size:21px;
}

.kl-brand-subtitle{
    font-size:11.5px;
}

.kl-top-actions{
    gap:10px;
}

.kl-header-action,
.kl-generate,
.kl-place-search-btn,
.kl-ask-button{
    min-height:var(--kl-control-height);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 20px;
    border-radius:var(--kl-control-radius);
    font-family:inherit;
    font-size:15px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease,
        background .16s ease,
        color .16s ease;
}

.kl-header-action,
.kl-place-search-btn{
    border:1px solid #d9cfc7;
    background:#fff;
    color:#641b19;
    box-shadow:0 3px 10px rgba(55,42,33,.045);
}

.kl-header-action{
    min-height:40px;
    padding:0 14px;
    font-size:13px;
}

.kl-header-action-icon{
    font-size:18px;
    line-height:1;
}

.kl-header-action:hover,
.kl-place-search-btn:hover{
    border-color:#9c625e;
    background:#fff8f7;
    color:#741f1d;
    transform:translateY(-1px);
}

.kl-generate{
    min-width:220px;
    border:1px solid #741f1d;
    background:linear-gradient(145deg,#7d211f,#5c1715);
    color:#fff;
    box-shadow:0 8px 20px rgba(116,31,29,.2);
}

.kl-generate:hover{
    background:linear-gradient(145deg,#681a18,#4f1211);
    box-shadow:0 11px 25px rgba(116,31,29,.25);
    transform:translateY(-1px);
}

.kl-generate:disabled,
.kl-place-search-btn:disabled,
.kl-ask-button[aria-disabled="true"]{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

.kl-lang{
    min-height:40px;
    align-items:center;
    padding:3px;
    border-radius:10px;
}

.kl-lang a{
    min-width:38px;
    min-height:32px;
    display:grid;
    place-items:center;
    padding:0 9px;
    font-size:13px;
}

.kl-page{
    width:min(calc(100% - 40px),1240px);
    padding-top:36px;
    padding-bottom:90px;
}

.kl-landing-hero{
    border-radius:var(--kl-card-radius);
    box-shadow:var(--kl-elevated);
}

.kl-landing-hero .kl-page-title{
    font-size:39px;
}

.kl-landing-hero .kl-page-subtitle{
    font-size:17px;
    line-height:1.75;
}

.kl-benefits-label{
    font-size:12px;
}

.kl-benefit-item{
    font-size:14.5px;
}

.kl-generator{
    border-radius:var(--kl-card-radius);
    box-shadow:var(--kl-elevated);
}

.kl-generator-head{
    padding:22px 26px 19px;
}

.kl-generator-title{
    font-size:22px;
}

.kl-generator-note{
    font-size:14px;
}

.kl-trust-badge,
.kl-engine-badge{
    padding:8px 12px;
    font-size:12.5px;
}

.kl-form{
    padding:25px 26px 27px;
}

.kl-form-grid{
    gap:20px;
}

.kl-field{
    gap:9px;
}

.kl-field label{
    min-height:22px;
    color:#493f39;
    font-size:14px;
}

.kl-field input,
.kl-field select{
    height:52px;
    min-height:52px;
    padding:0 15px;
    border-radius:var(--kl-control-radius);
    font-size:16px;
}

.kl-place-search-btn{
    width:116px;
    height:52px;
}

.kl-place-status,
.kl-advanced-note{
    font-size:13px;
}

.kl-place-option{
    min-height:66px;
    padding:11px 14px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:11px;
    text-align:left;
}

.kl-place-option-title{
    display:block;
    color:#2e2521;
    font-size:15px;
    line-height:1.35;
    font-weight:800;
}

.kl-place-option-meta{
    display:block;
    margin-top:3px;
    color:#786d65;
    font-size:12.5px;
    line-height:1.35;
    font-weight:600;
}

.kl-place-option-flag{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #e5ddd5;
    border-radius:10px;
    background:#fffaf5;
    font-size:19px;
    line-height:1;
}

.kl-place-option-copy{
    min-width:0;
}

.kl-report{
    margin-top:34px;
}

.kl-profile-hero{
    border-radius:var(--kl-card-radius);
    box-shadow:var(--kl-elevated);
}

.kl-profile-main{
    padding:27px 28px 23px;
}

.kl-profile-label{
    font-size:13px;
}

.kl-profile-name{
    margin-top:5px;
    font-size:30px;
}

.kl-profile-meta{
    margin-top:8px;
    font-size:15px;
}

.kl-birth-location-box{
    margin:0 26px 22px;
    padding:15px 17px;
    border-radius:12px;
}

.kl-birth-location-label{
    font-size:12px;
}

.kl-birth-location-name{
    font-size:16px;
}

.kl-coordinate-item span{
    font-size:11px;
}

.kl-coordinate-item strong{
    font-size:13.5px;
}

.kl-summary-item{
    padding:20px;
}

.kl-summary-label{
    font-size:12.5px;
}

.kl-summary-value{
    margin-top:5px;
    font-size:18px;
}

.kl-summary-sub{
    font-size:12px;
}

.kl-report-nav-wrap{
    position:sticky !important;
    top:72px;
    z-index:1500;
    margin-top:18px;
    padding-top:8px;
}

.kl-report-nav{
    min-height:58px;
    gap:5px;
    padding:7px;
    border:1px solid #ddd4cc;
    border-radius:14px;
    background:rgba(255,255,255,.98);
    box-shadow:0 8px 25px rgba(51,40,32,.08);
    transition:box-shadow .18s ease,border-color .18s ease;
}

.kl-report-nav-wrap.is-stuck .kl-report-nav{
    border-color:#d2c5bc;
    box-shadow:0 13px 32px rgba(51,40,32,.14);
}

.kl-report-nav-label{
    flex:none;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 13px;
    border-right:1px solid #e5ded8;
    color:#8c7a6f;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.kl-report-nav a{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border-radius:9px;
    color:#625952;
    font-size:14px;
    font-weight:750;
    transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}

.kl-report-nav a:hover{
    background:#f5efec;
    color:#741f1d;
}

.kl-report-nav a.is-active,
.kl-report-nav a[aria-current="location"]{
    background:#741f1d;
    color:#fff;
    box-shadow:0 5px 13px rgba(116,31,29,.2);
}

.kl-report-nav .kl-ask-nav{
    margin-left:auto;
    background:#f6e9e7;
    color:#741f1d;
}

.kl-report-nav .kl-ask-nav.is-active{
    background:#741f1d;
    color:#fff;
}

.kl-section{
    scroll-margin-top:150px;
    margin-top:48px;
}

.kl-section + .kl-section{
    padding-top:8px;
}

.kl-section-head{
    margin-bottom:20px;
    align-items:flex-end;
}

.kl-section-kicker{
    font-size:12.5px;
    letter-spacing:.07em;
}

.kl-section-title{
    margin-top:3px;
    color:#231f1c;
    font-size:30px;
    line-height:1.25;
}

.kl-section-desc{
    max-width:620px;
    color:#71665f;
    font-size:16px;
    line-height:1.65;
}

.kl-grid-2,
.kl-grid-3,
.kl-grid-4,
.kl-validated-chart-grid{
    gap:24px;
}

.kl-card,
.kl-validated-chart-card,
.kl-faladesh-card,
.kl-yoga-modern,
.kl-dosha-card,
.kl-dasha-card,
.kl-mahadasha-timeline,
.kl-sade-sati-card{
    border-radius:var(--kl-card-radius);
    border-color:#e2d9d2;
    box-shadow:0 7px 25px rgba(51,40,32,.055);
}

.kl-card:hover,
.kl-faladesh-card:hover,
.kl-yoga-modern:hover{
    border-color:#d7c9bf;
    box-shadow:0 11px 32px rgba(51,40,32,.085);
}

.kl-card-pad{
    padding:26px 27px;
}

.kl-card-title{
    font-size:21px;
    line-height:1.35;
}

.kl-card-subtitle{
    margin-top:5px;
    font-size:15px;
    line-height:1.6;
}

.kl-data-grid{
    gap:0;
    border-radius:13px;
}

.kl-data-item{
    min-height:78px;
    padding:16px 17px;
}

.kl-data-label{
    font-size:12.5px;
}

.kl-data-value{
    margin-top:5px;
    font-size:16.5px;
    line-height:1.45;
}

.kl-chart-head{
    padding:18px 20px;
}

.kl-chart-title{
    font-size:20px;
}

.kl-chart-tag{
    padding:7px 10px;
    font-size:12px;
}

.kl-validated-chart-body{
    padding:20px;
}

.kl-table-wrap,
.kl-graha-table-wrap{
    border-radius:15px;
    box-shadow:var(--kl-elevated);
}

.kl-table th,
.kl-graha-table thead th{
    padding:15px 16px;
    font-size:13px;
    line-height:1.35;
}

.kl-table td,
.kl-graha-table tbody td{
    padding:15px 16px;
    font-size:15.5px;
    line-height:1.55;
}

.kl-result-head,
.kl-yoga-modern > .kl-result-head{
    min-height:66px;
    padding:19px 21px 10px 25px;
}

.kl-result-head .kl-yoga-name,
.kl-result-head .kl-dosha-name,
.kl-yoga-modern .kl-yoga-name{
    font-size:20px;
}

.kl-tone,
.kl-yoga-modern .kl-tone{
    padding:6px 10px;
    font-size:12px;
}

.kl-yoga-modern .kl-meaning-block,
.kl-yoga-modern .kl-personal-block,
.kl-dosha-card .kl-meaning-block,
.kl-dosha-card .kl-personal-block{
    margin-left:24px;
    margin-right:20px;
    padding:15px 16px;
    border-radius:11px;
}

.kl-explain-label,
.kl-yoga-modern .kl-explain-label{
    font-size:13px;
}

.kl-explain-text,
.kl-yoga-modern .kl-explain-text{
    margin-top:6px;
    color:var(--kl-readable);
    font-size:16px;
    line-height:1.75;
}

.kl-yoga-modern .kl-yoga-participants,
.kl-yoga-modern .kl-activation-note{
    margin-left:24px;
    margin-right:20px;
}

.kl-mini-pill,
.kl-status-pill{
    min-height:31px;
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:8px;
    font-size:12.5px;
}

.kl-remedy-box,
.kl-yoga-modern > .kl-remedy-box{
    padding:17px 21px 18px 25px;
    font-size:15.5px;
    line-height:1.75;
}

.kl-remedy-title,
.kl-yoga-modern .kl-remedy-title{
    font-size:13.5px;
}

.kl-result-details > summary,
.kl-astro-details > summary{
    min-height:56px;
    padding:12px 20px;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
}

.kl-summary-plus{
    width:32px;
    height:32px;
    font-size:20px;
}

.kl-result-detail-body,
.kl-faladesh-detail-body{
    padding:19px 22px 23px;
    color:var(--kl-readable);
    font-size:15.5px;
    line-height:1.78;
}

.kl-dasha-card{
    min-height:150px;
    padding:24px;
}

.kl-dasha-name{
    font-size:26px;
}

.kl-dasha-period,
.kl-dasha-dates{
    font-size:15px;
}

.kl-mahadasha-timeline-head{
    padding:20px 22px;
}

.kl-mahadasha-row{
    min-height:64px;
    padding:13px 20px;
}

.kl-faladesh-list{
    gap:24px;
}

.kl-faladesh-summary{
    padding:28px 30px 26px;
}

.kl-faladesh-title{
    font-size:24px;
    line-height:1.4;
}

.kl-easy-intro,
.kl-prediction,
.kl-faladesh-remedy{
    max-width:1040px;
    padding:16px 18px;
    border-radius:11px;
    font-size:16.5px;
    line-height:1.8;
}

.kl-faladesh-text{
    max-width:1080px;
    margin-top:17px;
    color:var(--kl-readable);
    font-size:17px;
    line-height:1.9;
}

.kl-technical-note,
.kl-astro-detail-text{
    font-size:15.5px;
    line-height:1.82;
}

.kl-sade-sati-card{
    padding:24px;
}

.kl-sade-sati-meaning,
.kl-sade-sati-remedy{
    padding:16px 18px;
    font-size:15.5px;
}

.kl-ask-card{
    margin-top:52px;
    padding:29px 31px;
    border-radius:var(--kl-card-radius);
}

.kl-ask-title{
    font-size:28px;
}

.kl-ask-text{
    margin-top:8px;
    color:rgba(255,255,255,.82);
    font-size:16px;
}

.kl-ask-button{
    min-width:170px;
    border:1px solid rgba(255,255,255,.5);
    background:#fff;
    color:#741f1d;
}

.kl-back-top{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:1700;
    min-height:48px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:12px;
    background:#741f1d;
    color:#fff;
    box-shadow:0 10px 28px rgba(76,23,21,.26);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.kl-back-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.kl-footer{
    margin-top:42px;
    padding-top:25px;
    font-size:12.5px;
}

@media(max-width:1100px){
    .kl-page,
    .kl-topbar-inner{
        width:calc(100% - 30px);
    }

    .kl-report-nav-label{
        display:none;
    }

    .kl-report-nav .kl-ask-nav{
        margin-left:0;
    }
}

@media(max-width:760px){
    body{
        font-size:16px;
    }

    .kl-topbar-inner{
        min-height:64px;
    }

    .kl-page{
        width:calc(100% - 20px);
        padding-top:16px;
    }

    .kl-landing-hero .kl-page-title{
        font-size:30px;
    }

    .kl-landing-hero .kl-page-subtitle{
        font-size:16px;
    }

    .kl-generator-head,
    .kl-form{
        padding-left:19px;
        padding-right:19px;
    }

    .kl-field label{
        font-size:13.5px;
    }

    .kl-report-nav-wrap{
        top:64px;
        margin-left:-2px;
        margin-right:-2px;
    }

    .kl-report-nav{
        min-height:56px;
        border-radius:12px;
    }

    .kl-report-nav a{
        min-height:40px;
        padding:0 13px;
        font-size:13.5px;
    }

    .kl-section{
        scroll-margin-top:135px;
        margin-top:38px;
    }

    .kl-section-title{
        font-size:27px;
    }

    .kl-section-desc{
        font-size:15.5px;
    }

    .kl-card-pad{
        padding:21px;
    }

    .kl-card-title{
        font-size:20px;
    }

    .kl-profile-main{
        padding:22px 20px 19px;
    }

    .kl-profile-name{
        font-size:26px;
    }

    .kl-profile-meta{
        font-size:14px;
    }

    .kl-summary-item{
        padding:17px 15px;
    }

    .kl-summary-label{
        font-size:12px;
    }

    .kl-summary-value{
        font-size:16.5px;
    }

    .kl-table th,
    .kl-graha-table thead th{
        font-size:12.5px;
    }

    .kl-table td,
    .kl-graha-table tbody td{
        font-size:15px;
    }

    .kl-faladesh-summary{
        padding:22px 21px;
    }

    .kl-faladesh-title{
        font-size:21px;
    }

    .kl-faladesh-text,
    .kl-easy-intro,
    .kl-prediction,
    .kl-faladesh-remedy{
        font-size:16px;
    }

    .kl-ask-card{
        padding:24px 22px;
    }

    .kl-ask-title{
        font-size:24px;
    }

    .kl-ask-text{
        font-size:15.5px;
    }
}

@media(max-width:520px){
    .kl-topbar-inner{
        width:calc(100% - 20px);
    }

    .kl-header-action{
        min-width:38px;
        width:38px;
        min-height:38px;
        padding:0;
    }

    .kl-header-action-text{
        display:none;
    }

    .kl-lang a{
        min-width:31px;
    }

    .kl-landing-hero .kl-page-title{
        font-size:27px;
    }

    .kl-generator-title{
        font-size:20px;
    }

    .kl-form{
        padding:20px 17px 21px;
    }

    .kl-place-search-btn,
    .kl-generate{
        width:100%;
        min-width:0;
    }

    .kl-birth-location-box{
        margin-left:15px;
        margin-right:15px;
    }

    .kl-section-head{
        gap:7px;
    }

    .kl-section-title{
        font-size:25px;
    }

    .kl-data-item{
        min-height:72px;
        padding:14px;
    }

    .kl-yoga-modern .kl-meaning-block,
    .kl-yoga-modern .kl-personal-block,
    .kl-dosha-card .kl-meaning-block,
    .kl-dosha-card .kl-personal-block,
    .kl-yoga-modern .kl-yoga-participants,
    .kl-yoga-modern .kl-activation-note{
        margin-left:18px;
        margin-right:16px;
    }

    .kl-result-head,
    .kl-yoga-modern > .kl-result-head{
        padding-left:20px;
    }

    .kl-remedy-box,
    .kl-yoga-modern > .kl-remedy-box{
        padding-left:20px;
    }

    .kl-result-details > summary,
    .kl-astro-details > summary{
        padding-left:16px;
        padding-right:16px;
    }

    .kl-back-top{
        right:14px;
        bottom:14px;
        width:48px;
        padding:0;
        justify-content:center;
        border-radius:50%;
    }

    .kl-back-top span:last-child{
        display:none;
    }
}

/* =========================================================
   FALADESH V2 — PUBLIC REPORT PRESENTATION
========================================================= */

.kl-v2-faladesh-card{
    overflow:hidden;
    border:1px solid #e4d9ce;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(63,42,29,.07);
}

.kl-v2-card-head{
    display:flex;
    align-items:center;
    gap:15px;
    padding:22px 26px;
    border-bottom:1px solid #eee5dd;
    background:linear-gradient(135deg,#fff 0%,#fcfaf7 100%);
}

.kl-v2-card-head h3{
    margin:0;
    color:#251f1c;
    font-size:clamp(21px,2vw,27px);
    line-height:1.28;
}

.kl-v2-card-number{
    display:grid;
    flex:0 0 40px;
    width:40px;
    height:40px;
    place-items:center;
    border-radius:12px;
    background:#7f201f;
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.05em;
}

.kl-v2-summary-block{
    margin:24px 26px 0;
    padding:20px 22px;
    border-left:4px solid #8a2523;
    border-radius:5px 14px 14px 5px;
    background:#faf7f4;
}

.kl-v2-block-label{
    display:block;
    margin-bottom:7px;
    color:#842522;
    font-size:14px;
    font-weight:800;
}

.kl-v2-summary-block p,
.kl-v2-points li,
.kl-v2-timing p,
.kl-v2-dimension-item p,
.kl-v2-overall-item p,
.kl-v2-remedy-state p{
    overflow-wrap:anywhere;
}

.kl-v2-summary-block p{
    margin:0;
    color:#342d29;
    font-size:18px;
    line-height:1.82;
}

.kl-v2-points{
    margin:22px 26px 0;
    padding:19px 21px;
    border:1px solid #e7ded6;
    border-radius:14px;
}

.kl-v2-points h4,
.kl-v2-timing h4{
    margin:0 0 10px;
    color:#372b25;
    font-size:16px;
    line-height:1.4;
}

.kl-v2-points ul{
    display:grid;
    gap:10px;
    margin:0;
    padding-left:21px;
}

.kl-v2-points li{
    padding-left:3px;
    color:#403731;
    font-size:16.5px;
    line-height:1.7;
}

.kl-v2-points li::marker{
    color:#a8771d;
}

.kl-v2-main-points{
    background:#fffdf9;
}

.kl-v2-balance-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:22px 26px 0;
}

.kl-v2-balance-grid .kl-v2-points{
    margin:0;
}

.kl-v2-strengths{
    border-color:#d9e6dd;
    background:#f7faf8;
}

.kl-v2-strengths h4{
    color:#315d43;
}

.kl-v2-cautions{
    border-color:#eadfca;
    background:#fdfaf4;
}

.kl-v2-cautions h4{
    color:#76551c;
}

.kl-v2-timing{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin:22px 26px 0;
    padding:17px 19px;
    border:1px solid #ddd7cf;
    border-radius:14px;
    background:#f8f7f5;
}

.kl-v2-timing > span{
    display:grid;
    flex:0 0 34px;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:10px;
    background:#efe4d5;
    color:#80551b;
    font-size:18px;
}

.kl-v2-timing h4{
    margin-bottom:5px;
}

.kl-v2-timing p{
    margin:0;
    color:#4c433d;
    font-size:16px;
    line-height:1.7;
}

.kl-v2-dimensions,
.kl-v2-technical{
    margin:22px 26px 0;
    border:1px solid #e4dbd3;
    border-radius:14px;
    background:#fff;
}

.kl-v2-technical{
    margin-bottom:26px;
}

.kl-v2-dimensions > summary,
.kl-v2-technical > summary{
    display:flex;
    min-height:54px;
    align-items:center;
    gap:10px;
    padding:13px 17px;
    cursor:pointer;
    color:#6e211f;
    font-size:15.5px;
    font-weight:800;
    list-style:none;
}

.kl-v2-dimensions > summary::-webkit-details-marker,
.kl-v2-technical > summary::-webkit-details-marker{
    display:none;
}

.kl-v2-disclosure-icon{
    display:grid;
    width:30px;
    height:30px;
    margin-left:auto;
    place-items:center;
    border-radius:50%;
    background:#f4e9df;
    color:#7f201f;
    font-size:19px;
    transition:transform .18s ease;
}

.kl-v2-dimensions[open] .kl-v2-disclosure-icon,
.kl-v2-technical[open] .kl-v2-disclosure-icon{
    transform:rotate(45deg);
}

.kl-v2-dimension-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    border-top:1px solid #e4dbd3;
    background:#e7dfd8;
}

.kl-v2-dimension-item{
    min-width:0;
    padding:18px;
    background:#fff;
}

.kl-v2-dimension-item h5{
    margin:0 0 7px;
    color:#6f2724;
    font-size:15px;
    line-height:1.4;
}

.kl-v2-dimension-item p{
    margin:0;
    color:#4a403a;
    font-size:15px;
    line-height:1.65;
}

.kl-v2-technical-body{
    padding:18px;
    border-top:1px solid #e4dbd3;
    background:#faf8f5;
}

.kl-v2-technical-body dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:0;
}

.kl-v2-technical-body dl > div{
    min-width:0;
    padding:13px 14px;
    border:1px solid #e6ddd5;
    border-radius:11px;
    background:#fff;
}

.kl-v2-technical-body dt{
    margin-bottom:5px;
    color:#827168;
    font-size:12.5px;
    font-weight:800;
}

.kl-v2-technical-body dd{
    margin:0;
    color:#312925;
    font-size:14px;
    font-weight:700;
    line-height:1.5;
}

.kl-v2-technical-body dd small{
    display:block;
    margin-top:3px;
    color:#7d7069;
    font-weight:500;
}

.kl-v2-disclaimer{
    margin:18px 26px 25px;
    padding:13px 15px;
    border-radius:11px;
    background:#f6f4f1;
    color:#695e58;
    font-size:14px;
    line-height:1.65;
}

.kl-v2-overall{
    position:relative;
    overflow:hidden;
    margin-top:12px;
    border:1px solid #9b6c30;
    border-radius:22px;
    background:linear-gradient(145deg,#6f1d1d 0%,#8c2b24 55%,#6e201d 100%);
    box-shadow:0 18px 44px rgba(78,30,25,.16);
}

.kl-v2-overall::after{
    position:absolute;
    top:-90px;
    right:-70px;
    width:220px;
    height:220px;
    border:1px solid rgba(226,186,108,.18);
    border-radius:50%;
    content:"";
}

.kl-v2-overall-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:15px;
    padding:27px 30px 23px;
    color:#fff;
}

.kl-v2-overall-head > span{
    display:grid;
    flex:0 0 45px;
    width:45px;
    height:45px;
    place-items:center;
    border:1px solid rgba(255,224,161,.45);
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#f1cc82;
}

.kl-v2-overall-head small{
    display:block;
    margin-bottom:4px;
    color:#ecd6ac;
    font-size:12.5px;
    font-weight:700;
}

.kl-v2-overall-head h3{
    margin:0;
    color:#fff;
    font-size:clamp(23px,2.5vw,31px);
    line-height:1.25;
}

.kl-v2-overall-sections{
    position:relative;
    z-index:1;
    margin:0 12px 12px;
    padding:7px 21px 20px;
    border-radius:15px;
    background:#fffdf9;
}

.kl-v2-overall-item{
    padding:20px 3px;
    border-bottom:1px solid #eadfd5;
}

.kl-v2-overall-item:last-child{
    border-bottom:0;
}

.kl-v2-overall-item h4{
    margin:0 0 10px;
    color:#74211f;
    font-size:18px;
    line-height:1.4;
}

.kl-v2-overall-item > p{
    margin:0;
    color:#3f3631;
    font-size:16px;
    line-height:1.78;
}

.kl-v2-overall-area-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.kl-v2-overall-area-grid > div{
    min-width:0;
    padding:15px;
    border:1px solid #e7ddd3;
    border-radius:12px;
    background:#fff;
}

.kl-v2-overall-area-grid h5{
    margin:0 0 6px;
    color:#382d27;
    font-size:15px;
}

.kl-v2-overall-area-grid p{
    margin:0;
    color:#554a43;
    font-size:14.5px;
    line-height:1.65;
}

.kl-v2-focus-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
}

.kl-v2-focus-list > span{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid #e4d6c9;
    border-radius:999px;
    background:#fff;
    color:#4a3830;
    font-size:13px;
    font-weight:700;
}

.kl-v2-focus-list small{
    color:#886329;
    font-weight:700;
}

.kl-v2-remedy-state{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-top:20px;
    padding:21px 24px;
    border:1px solid #dfd6cd;
    border-radius:17px;
    background:#faf8f5;
}

.kl-v2-remedy-state-icon{
    display:grid;
    flex:0 0 42px;
    width:42px;
    height:42px;
    place-items:center;
    border-radius:12px;
    background:#efe2d3;
    color:#7d2421;
    font-size:20px;
    font-weight:800;
}

.kl-v2-remedy-state h3{
    margin:0 0 7px;
    color:#352a25;
    font-size:19px;
}

.kl-v2-remedy-state p{
    margin:0;
    color:#5a504a;
    font-size:15.5px;
    line-height:1.7;
}

@media(max-width:760px){
    .kl-v2-card-head{
        padding:19px 20px;
    }

    .kl-v2-summary-block,
    .kl-v2-points,
    .kl-v2-timing,
    .kl-v2-dimensions,
    .kl-v2-technical{
        margin-left:19px;
        margin-right:19px;
    }

    .kl-v2-balance-grid{
        grid-template-columns:1fr;
        margin-left:19px;
        margin-right:19px;
    }

    .kl-v2-summary-block p{
        font-size:17px;
        line-height:1.76;
    }

    .kl-v2-points li{
        font-size:16px;
    }

    .kl-v2-dimension-grid,
    .kl-v2-technical-body dl,
    .kl-v2-overall-area-grid{
        grid-template-columns:1fr;
    }

    .kl-v2-overall-head{
        padding:23px 21px 20px;
    }

    .kl-v2-overall-sections{
        padding-left:17px;
        padding-right:17px;
    }
}

@media(max-width:420px){
    .kl-v2-card-head{
        align-items:flex-start;
        gap:11px;
        padding:17px;
    }

    .kl-v2-card-number{
        flex-basis:34px;
        width:34px;
        height:34px;
        border-radius:10px;
        font-size:11px;
    }

    .kl-v2-card-head h3{
        font-size:20px;
    }

    .kl-v2-summary-block,
    .kl-v2-points,
    .kl-v2-timing,
    .kl-v2-dimensions,
    .kl-v2-technical,
    .kl-v2-balance-grid{
        margin-left:14px;
        margin-right:14px;
    }

    .kl-v2-summary-block,
    .kl-v2-points{
        padding:16px;
    }

    .kl-v2-timing{
        gap:10px;
        padding:15px;
    }

    .kl-v2-timing > span{
        flex-basis:30px;
        width:30px;
        height:30px;
    }

    .kl-v2-dimensions > summary,
    .kl-v2-technical > summary{
        min-height:58px;
        padding:13px 14px;
    }

    .kl-v2-dimension-item,
    .kl-v2-technical-body{
        padding:15px;
    }

    .kl-v2-overall-head{
        align-items:flex-start;
        gap:11px;
        padding:21px 17px 18px;
    }

    .kl-v2-overall-head > span{
        flex-basis:37px;
        width:37px;
        height:37px;
    }

    .kl-v2-overall-sections{
        margin:0 8px 8px;
        padding:4px 13px 15px;
    }

    .kl-v2-overall-item h4{
        font-size:17px;
    }

    .kl-v2-remedy-state{
        gap:12px;
        padding:18px 16px;
    }
}

/* =========================================================
   FALADESH V3 — CLASSICAL INTERPRETATION
========================================================= */

.kl-v3-highlights{
    position:relative;
    overflow:hidden;
    margin-bottom:28px;
    border:1px solid rgba(142,91,27,.22);
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 8%,rgba(197,151,70,.12),transparent 32%),
        linear-gradient(145deg,#fffdf9,#faf5ec);
    box-shadow:0 16px 45px rgba(74,48,28,.07);
}

.kl-v3-highlights-head,
.kl-v3-overall-head{
    display:flex;
    align-items:center;
    gap:15px;
    padding:25px 28px 20px;
}

.kl-v3-highlights-head>span,
.kl-v3-overall-head>span{
    display:grid;
    flex:0 0 42px;
    width:42px;
    height:42px;
    place-items:center;
    border-radius:14px;
    color:#fffaf1;
    background:linear-gradient(145deg,#8a251f,#641512);
    box-shadow:0 8px 20px rgba(113,25,21,.2);
}

.kl-v3-highlights-head small,
.kl-v3-overall-head small,
.kl-v3-card-head small{
    display:block;
    margin-bottom:3px;
    color:#98754d;
    font-size:12px;
    font-weight:750;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.kl-v3-highlights-head h3,
.kl-v3-overall-head h3,
.kl-v3-card-head h3{
    margin:0;
    color:#281d19;
    line-height:1.25;
}

.kl-v3-highlight-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:0;
    padding:0 28px 25px;
    list-style:none;
}

.kl-v3-highlight-grid li{
    position:relative;
    padding:15px 18px 15px 34px;
    border-top:1px solid rgba(116,82,50,.1);
    color:#493b33;
    font-size:16px;
    line-height:1.65;
}

.kl-v3-highlight-grid li::before{
    position:absolute;
    top:17px;
    left:10px;
    color:#9d6a17;
    content:'◆';
    font-size:10px;
}

.kl-v3-faladesh-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(92,61,43,.14);
    border-radius:26px;
    background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
    box-shadow:
        0 2px 4px rgba(48,29,18,.025),
        0 18px 52px rgba(48,29,18,.075);
}

.kl-v3-faladesh-card::before{
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:4px;
    background:linear-gradient(90deg,#7d1d19,#b97829 56%,#ead3a2);
    content:'';
}

.kl-v3-card-head{
    display:flex;
    align-items:center;
    gap:16px;
    padding:28px 30px 23px;
    border-bottom:1px solid rgba(88,57,38,.09);
}

.kl-v3-card-head h3{
    font-size:25px;
}

.kl-v3-card-number{
    display:grid;
    flex:0 0 44px;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgba(128,39,31,.18);
    border-radius:14px;
    color:#7c211c;
    background:#fbf1ee;
    font-size:13px;
    font-weight:850;
}

.kl-v3-reading,
.kl-v3-conclusions{
    margin:24px 30px 0;
}

.kl-v3-reading h4,
.kl-v3-conclusions h4,
.kl-v3-timing h4{
    margin:0 0 13px;
    color:#651d18;
    font-size:18px;
    line-height:1.35;
}

.kl-v3-reading-copy{
    padding:22px 24px;
    border-left:4px solid #8a261f;
    border-radius:0 18px 18px 0;
    background:linear-gradient(110deg,#fbf8f5,#fff);
}

.kl-v3-reading-copy p{
    margin:0 0 12px;
    color:#3f342e;
    font-size:17px;
    line-height:1.78;
}

.kl-v3-reading-copy p:last-child{
    margin-bottom:0;
}

.kl-v3-conclusions{
    padding:22px 24px;
    border:1px solid rgba(43,112,78,.15);
    border-radius:19px;
    background:#f5faf7;
}

.kl-v3-conclusions h4{
    color:#185f43;
}

.kl-v3-conclusions ul{
    display:grid;
    gap:13px;
    margin:0;
    padding:0;
    list-style:none;
}

.kl-v3-conclusions li{
    position:relative;
    padding-left:25px;
    color:#34463d;
    font-size:16px;
    line-height:1.68;
}

.kl-v3-conclusions li::before{
    position:absolute;
    top:2px;
    left:0;
    color:#a57118;
    content:'✓';
    font-weight:900;
}

.kl-v3-conclusions strong{
    display:block;
    margin-bottom:2px;
    color:#705129;
    font-size:13px;
}

.kl-v3-timing{
    display:flex;
    gap:14px;
    margin:22px 30px;
    padding:19px 21px;
    border:1px solid rgba(155,105,29,.16);
    border-radius:18px;
    background:#fff9ef;
}

.kl-v3-timing-icon{
    display:grid;
    flex:0 0 35px;
    width:35px;
    height:35px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#9b681d;
}

.kl-v3-timing h4{
    margin-bottom:5px;
    color:#765019;
}

.kl-v3-timing p,
.kl-v3-health-note{
    margin:0;
    color:#524236;
    font-size:16px;
    line-height:1.7;
}

.kl-v3-health-note{
    margin:0 30px 22px;
    padding:14px 17px;
    border-radius:14px;
    color:#5c4d42;
    background:#f3f1ee;
}

.kl-v3-technical{
    margin-top:24px;
    border-top:1px solid rgba(118,37,31,.13);
    background:#fbf4f2;
}

.kl-v3-technical>summary{
    display:flex;
    align-items:center;
    gap:10px;
    padding:19px 30px;
    color:#741f1b;
    cursor:pointer;
    font-weight:800;
    list-style:none;
}

.kl-v3-technical>summary::-webkit-details-marker{
    display:none;
}

.kl-v3-disclosure{
    display:grid;
    width:30px;
    height:30px;
    margin-left:auto;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#7f211c;
}

.kl-v3-technical[open] .kl-v3-disclosure{
    transform:rotate(45deg);
}

.kl-v3-technical-body{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:0 30px 28px;
}

.kl-v3-technical-group{
    overflow:hidden;
    border:1px solid rgba(100,69,49,.13);
    border-radius:16px;
    background:#fff;
}

.kl-v3-technical-group h5{
    margin:0;
    padding:13px 16px;
    color:#6d251f;
    background:#faf6f2;
    font-size:15px;
}

.kl-v3-technical-group dl{
    margin:0;
}

.kl-v3-technical-group dl>div{
    padding:13px 16px;
    border-top:1px solid rgba(95,65,44,.09);
}

.kl-v3-technical-group dt{
    margin-bottom:4px;
    color:#8b735e;
    font-size:12px;
    font-weight:800;
}

.kl-v3-technical-group dd{
    margin:0;
    color:#382e28;
    font-size:14px;
    line-height:1.58;
}

.kl-v3-overall{
    overflow:hidden;
    margin-top:30px;
    border:1px solid rgba(115,37,31,.2);
    border-radius:27px;
    background:
        radial-gradient(circle at 100% 0,rgba(190,137,49,.12),transparent 29%),
        #fff;
    box-shadow:0 22px 62px rgba(65,35,22,.09);
}

.kl-v3-overall-head{
    border-bottom:1px solid rgba(112,39,31,.12);
}

.kl-v3-overall-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    padding:25px 28px 30px;
}

.kl-v3-overall-item{
    padding:21px 22px;
    border:1px solid rgba(96,64,43,.12);
    border-radius:18px;
    background:#fdfbf8;
}

.kl-v3-overall-central_direction,
.kl-v3-overall-final_summary{
    grid-column:1/-1;
    background:linear-gradient(120deg,#fffaf2,#fff);
}

.kl-v3-overall-item h4{
    margin:0 0 12px;
    color:#6d201b;
    font-size:18px;
}

.kl-v3-overall-item p,
.kl-v3-overall-item li{
    color:#443730;
    font-size:15px;
    line-height:1.72;
}

.kl-v3-overall-item p{
    margin:0 0 9px;
}

.kl-v3-overall-item p:last-child{
    margin-bottom:0;
}

.kl-v3-overall-item ul{
    margin:0;
    padding-left:20px;
}

.kl-v3-highlights,
.kl-v3-faladesh-card,
.kl-v3-overall,
.kl-v3-reading,
.kl-v3-reading-copy,
.kl-v3-conclusions,
.kl-v3-timing,
.kl-v3-technical,
.kl-v3-technical-body,
.kl-v3-technical-group,
.kl-v3-overall-grid,
.kl-v3-overall-item{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}

.kl-v3-reading-copy p,
.kl-v3-conclusions li,
.kl-v3-timing p,
.kl-v3-technical-group dd,
.kl-v3-overall-item p,
.kl-v3-overall-item li{
    overflow-wrap:anywhere;
}

@media(max-width:760px){
    .kl-v3-highlight-grid,
    .kl-v3-technical-body,
    .kl-v3-overall-grid{
        grid-template-columns:1fr;
    }

    .kl-v3-overall-central_direction,
    .kl-v3-overall-final_summary{
        grid-column:auto;
    }

    .kl-v3-highlights,
    .kl-v3-faladesh-card,
    .kl-v3-overall{
        border-radius:20px;
    }

    .kl-v3-highlights-head,
    .kl-v3-card-head,
    .kl-v3-overall-head{
        padding:21px 19px 18px;
    }

    .kl-v3-highlight-grid{
        padding:0 15px 19px;
    }

    .kl-v3-reading,
    .kl-v3-conclusions{
        margin:19px 16px 0;
    }

    .kl-v3-reading-copy,
    .kl-v3-conclusions{
        padding:18px;
    }

    .kl-v3-reading-copy p{
        font-size:16px;
        line-height:1.72;
    }

    .kl-v3-timing{
        margin:18px 16px;
        padding:17px;
    }

    .kl-v3-health-note{
        margin:0 16px 18px;
    }

    .kl-v3-technical>summary{
        padding:17px 18px;
    }

    .kl-v3-technical-body,
    .kl-v3-overall-grid{
        padding:0 16px 20px;
    }
}

@media(max-width:420px){
    .kl-v3-card-head h3,
    .kl-v3-highlights-head h3,
    .kl-v3-overall-head h3{
        font-size:21px;
    }

    .kl-v3-card-number{
        flex-basis:38px;
        width:38px;
        height:38px;
    }

    .kl-v3-conclusions li,
    .kl-v3-timing p{
        font-size:15px;
    }
}

/* =========================================================
   KUNDLILIVE UI PREMIUM POLISH — STEP 10B.1
   Presentation-only refinement; V2 structure stays intact.
========================================================= */

:root{
    --kl-card-radius:21px;
    --kl-elevated:
        0 1px 2px rgba(61,43,31,.035),
        0 14px 42px rgba(61,43,31,.065);
}

body{
    background:
        radial-gradient(circle at 12% 4%,rgba(151,105,44,.055),transparent 28%),
        linear-gradient(180deg,#fcfbf9 0,#f7f5f2 520px,#f6f4f1 100%);
}

.kl-topbar{
    border-bottom-color:rgba(113,82,61,.13);
    background:rgba(255,255,255,.965);
    box-shadow:0 5px 24px rgba(55,39,28,.055);
    backdrop-filter:blur(12px);
}

.kl-page{
    padding-top:40px;
}

.kl-section{
    margin-top:56px;
}

.kl-section + .kl-section{
    padding-top:12px;
}

.kl-section-head{
    margin-bottom:25px;
}

.kl-section-kicker{
    color:#96774f;
    font-size:12px;
    font-weight:800;
    letter-spacing:.09em;
}

.kl-section-title{
    margin-top:5px;
    font-size:clamp(29px,3vw,36px);
    font-weight:800;
    letter-spacing:-.025em;
}

.kl-section-desc{
    color:#746961;
    line-height:1.75;
}

.kl-card,
.kl-validated-chart-card,
.kl-faladesh-card,
.kl-yoga-modern,
.kl-dosha-card,
.kl-dasha-card,
.kl-mahadasha-timeline,
.kl-sade-sati-card{
    border-color:rgba(114,88,70,.14);
    border-radius:var(--kl-card-radius);
    box-shadow:
        0 1px 2px rgba(61,43,31,.025),
        0 13px 38px rgba(61,43,31,.055);
}

.kl-card:hover,
.kl-faladesh-card:hover,
.kl-yoga-modern:hover{
    border-color:rgba(114,88,70,.2);
    box-shadow:
        0 2px 4px rgba(61,43,31,.03),
        0 17px 44px rgba(61,43,31,.075);
}

.kl-report-nav{
    border-color:rgba(109,79,60,.16);
    border-radius:16px;
    box-shadow:
        0 1px 2px rgba(57,42,31,.025),
        0 11px 32px rgba(57,42,31,.075);
}

#faladesh .kl-section-head{
    margin-bottom:29px;
    padding-bottom:22px;
    border-bottom:1px solid rgba(121,91,69,.13);
}

#faladesh .kl-faladesh-list{
    gap:30px;
}

.kl-v2-faladesh-card{
    position:relative;
    border-color:rgba(115,86,64,.13);
    border-radius:24px;
    background:rgba(255,255,255,.98);
    box-shadow:
        0 1px 2px rgba(61,43,31,.025),
        0 18px 52px rgba(61,43,31,.07);
}

.kl-v2-faladesh-card::before{
    position:absolute;
    top:0;
    right:32px;
    left:32px;
    z-index:2;
    height:2px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,transparent,#c49a55 48%,transparent);
    content:"";
    opacity:.55;
}

.kl-v2-card-head{
    gap:17px;
    padding:26px 30px 24px;
    border-bottom-color:rgba(113,85,65,.1);
    background:linear-gradient(135deg,#fff 0%,#fcf8f2 100%);
}

.kl-v2-card-head h3{
    color:#28201d;
    font-weight:800;
    letter-spacing:-.018em;
}

.kl-v2-card-number{
    flex-basis:42px;
    width:42px;
    height:42px;
    border:1px solid rgba(221,179,104,.34);
    border-radius:13px;
    background:linear-gradient(145deg,#8d2925,#681918);
    box-shadow:
        inset 0 1px rgba(255,255,255,.16),
        0 7px 16px rgba(116,31,29,.16);
}

.kl-v2-summary-block{
    margin:27px 30px 0;
    padding:22px 24px;
    border-left-width:3px;
    border-radius:3px 15px 15px 3px;
    background:linear-gradient(120deg,#faf6f2,#fcfaf7);
}

.kl-v2-block-label{
    margin-bottom:8px;
    letter-spacing:.015em;
}

.kl-v2-summary-block p{
    color:#352d28;
    line-height:1.85;
}

.kl-v2-points{
    margin:24px 30px 0;
    padding:21px 23px;
    border-color:rgba(111,85,68,.12);
    border-radius:16px;
    box-shadow:inset 0 1px rgba(255,255,255,.6);
}

.kl-v2-main-points{
    background:#fffdfa;
}

.kl-v2-balance-grid{
    gap:18px;
    margin:24px 30px 0;
}

.kl-v2-strengths{
    border-color:rgba(71,116,84,.14);
    background:linear-gradient(135deg,#f7faf8,#fbfcfb);
}

.kl-v2-cautions{
    border-color:rgba(155,112,43,.15);
    background:linear-gradient(135deg,#fdf9f2,#fffdf9);
}

.kl-v2-timing{
    margin:24px 30px 0;
    padding:19px 21px;
    border-color:rgba(109,84,66,.12);
    border-radius:16px;
    background:#f8f6f3;
}

.kl-v2-dimensions,
.kl-v2-technical{
    margin-right:30px;
    margin-left:30px;
    border-color:rgba(109,84,66,.13);
    border-radius:16px;
    box-shadow:0 5px 16px rgba(61,43,31,.025);
}

.kl-v2-technical{
    margin-bottom:30px;
}

.kl-v2-dimensions > summary,
.kl-v2-technical > summary{
    min-height:58px;
    padding:14px 19px;
}

.kl-v2-dimension-grid{
    gap:0;
    border-top-color:rgba(109,84,66,.12);
    background:rgba(109,84,66,.1);
}

.kl-v2-dimension-item{
    padding:21px;
}

.kl-v2-technical-body{
    padding:20px;
    border-top-color:rgba(109,84,66,.12);
    background:#faf8f5;
}

.kl-v2-technical-body dl > div{
    border-color:rgba(109,84,66,.11);
    border-radius:13px;
    box-shadow:0 4px 13px rgba(61,43,31,.025);
}

.kl-v2-disclaimer{
    margin-right:30px;
    margin-left:30px;
}

.kl-v2-overall{
    margin-top:8px;
    border-color:rgba(196,154,85,.62);
    border-radius:27px;
    background:
        radial-gradient(circle at 92% 8%,rgba(232,196,126,.11),transparent 30%),
        linear-gradient(145deg,#681a1a 0%,#872823 52%,#641918 100%);
    box-shadow:
        0 2px 4px rgba(70,25,21,.07),
        0 24px 64px rgba(78,30,25,.19);
}

.kl-v2-overall-head{
    padding:31px 34px 27px;
}

.kl-v2-overall-head small{
    margin-bottom:6px;
    letter-spacing:.055em;
}

.kl-v2-overall-head h3{
    letter-spacing:-.025em;
}

.kl-v2-overall-sections{
    margin:0 13px 13px;
    padding:10px 25px 23px;
    border-radius:18px;
    background:#fffdfa;
    box-shadow:inset 0 1px rgba(255,255,255,.8);
}

.kl-v2-overall-item{
    padding:23px 4px;
    border-bottom-color:rgba(119,89,68,.13);
}

.kl-v2-overall-item h4{
    margin-bottom:11px;
    letter-spacing:-.01em;
}

.kl-v2-overall-area-grid{
    gap:14px;
}

.kl-v2-overall-area-grid > div{
    padding:17px;
    border-color:transparent;
    border-radius:14px;
    background:#f8f5f1;
}

.kl-v2-remedy-state{
    margin-top:23px;
    padding:23px 26px;
    border-color:rgba(109,84,66,.12);
    border-radius:18px;
    background:linear-gradient(120deg,#faf8f5,#f7f4f0);
    box-shadow:0 9px 28px rgba(61,43,31,.04);
}

@media(max-width:760px){
    .kl-page{
        padding-top:20px;
    }

    .kl-section{
        margin-top:42px;
    }

    .kl-section-head{
        margin-bottom:20px;
    }

    .kl-section-title{
        font-size:28px;
    }

    #faladesh .kl-section-head{
        margin-bottom:22px;
        padding-bottom:18px;
    }

    #faladesh .kl-faladesh-list{
        gap:22px;
    }

    .kl-v2-faladesh-card{
        border-radius:20px;
        box-shadow:
            0 1px 2px rgba(61,43,31,.025),
            0 13px 38px rgba(61,43,31,.065);
    }

    .kl-v2-card-head{
        padding:21px 20px;
    }

    .kl-v2-summary-block,
    .kl-v2-points,
    .kl-v2-timing,
    .kl-v2-dimensions,
    .kl-v2-technical{
        margin-left:19px;
        margin-right:19px;
    }

    .kl-v2-balance-grid{
        margin-left:19px;
        margin-right:19px;
    }

    .kl-v2-overall{
        border-radius:22px;
    }

    .kl-v2-overall-head{
        padding:25px 22px 22px;
    }

    .kl-v2-overall-sections{
        padding:6px 17px 18px;
    }
}

@media(max-width:420px){
    .kl-section-title{
        font-size:26px;
    }

    .kl-v2-faladesh-card::before{
        right:20px;
        left:20px;
    }

    .kl-v2-card-head{
        padding:18px 17px;
    }

    .kl-v2-card-number{
        flex-basis:34px;
        width:34px;
        height:34px;
    }

    .kl-v2-summary-block,
    .kl-v2-points,
    .kl-v2-timing,
    .kl-v2-dimensions,
    .kl-v2-technical,
    .kl-v2-balance-grid{
        margin-left:14px;
        margin-right:14px;
    }

    .kl-v2-summary-block,
    .kl-v2-points{
        padding:17px;
    }

    .kl-v2-overall-head{
        padding:22px 17px 19px;
    }

    .kl-v2-overall-sections{
        margin:0 8px 8px;
        padding:4px 13px 15px;
    }
}
/* ================================================================
   FALADESH V4 — HUMAN READING LAYER
   ================================================================ */
.kl-v4-highlights,
.kl-v4-faladesh-card,
.kl-v4-overall {
    border: 1px solid rgba(117, 78, 48, .18);
    border-radius: 20px;
    background: #fffdf9;
    box-shadow: 0 13px 34px rgba(55, 35, 22, .07);
}

.kl-v4-highlights {
    padding: clamp(20px, 3vw, 30px);
    background: linear-gradient(145deg, #fffdf9 0%, #fbf5eb 100%);
}

.kl-v4-highlights > header,
.kl-v4-overall > header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.kl-v4-highlights > header > span,
.kl-v4-overall > header > span {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    color: #fff8e9;
    background: linear-gradient(145deg, #7f1f1f, #9c4621);
    box-shadow: 0 8px 18px rgba(117, 26, 26, .2);
}

.kl-v4-highlights header small,
.kl-v4-overall header small {
    display: block;
    margin-bottom: 3px;
    color: #9a703d;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .035em;
}

.kl-v4-highlights h3,
.kl-v4-overall h3 {
    margin: 0;
    color: #321b17;
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
}

.kl-v4-highlights ul,
.kl-v4-overall ul,
.kl-v4-faladesh-points {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kl-v4-highlights ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
}

.kl-v4-highlights li {
    display: flex;
    gap: 8px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(117, 78, 48, .12);
    color: #4d3d34;
    line-height: 1.65;
}

.kl-v4-highlights li strong {
    flex: 0 0 auto;
    color: #7c2522;
}

.kl-v4-faladesh-card {
    position: relative;
    overflow: hidden;
    padding: 0;
}

.kl-v4-faladesh-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    background: linear-gradient(#8d2522, #c18a37);
}

.kl-v4-card-head {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 23px clamp(20px, 3vw, 31px) 17px;
}

.kl-v4-card-number {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 1px solid rgba(170, 119, 45, .32);
    border-radius: 50%;
    color: #7b201f;
    background: #fbf1df;
    font-size: .82rem;
    font-weight: 850;
    letter-spacing: .06em;
}

.kl-v4-card-head h3 {
    margin: 0;
    color: #291916;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.3;
}

.kl-v4-faladesh-points {
    display: grid;
    gap: 0;
    padding: 0 clamp(20px, 3vw, 31px) 10px;
}

.kl-v4-faladesh-points li {
    position: relative;
    padding: 15px 0 15px 25px;
    border-top: 1px solid rgba(117, 78, 48, .12);
    color: #44362f;
    font-size: clamp(1rem, 1.35vw, 1.085rem);
    line-height: 1.85;
}

.kl-v4-faladesh-points li::before {
    position: absolute;
    top: 20px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: "";
    background: #b98532;
    box-shadow: 0 0 0 4px rgba(185, 133, 50, .1);
}

.kl-v4-faladesh-points strong {
    color: #7b211e;
    font-weight: 800;
}

.kl-v4-timing {
    margin: 7px clamp(20px, 3vw, 31px) 24px;
    padding: 15px 18px;
    border: 1px solid rgba(50, 116, 83, .16);
    border-radius: 14px;
    background: #f4f9f4;
}

.kl-v4-timing h4 {
    margin: 0 0 4px;
    color: #2f684e;
    font-size: .84rem;
    letter-spacing: .02em;
}

.kl-v4-timing p {
    margin: 0;
    color: #3f5147;
    line-height: 1.7;
}

.kl-v4-technical {
    border-top: 1px solid rgba(124, 33, 30, .13);
    background: #fbf6f2;
}

.kl-v4-technical > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px clamp(20px, 3vw, 31px);
    color: #79241f;
    cursor: pointer;
    font-size: .92rem;
    font-weight: 780;
    list-style: none;
}

.kl-v4-technical > summary::-webkit-details-marker { display: none; }
.kl-v4-technical[open] > summary span:last-child { transform: rotate(45deg); }

.kl-v4-technical-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 4px clamp(20px, 3vw, 31px) 24px;
}

.kl-v4-technical-body section {
    padding: 14px 16px;
    border: 1px solid rgba(117, 78, 48, .13);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
}

.kl-v4-technical-body h5 {
    margin: 0 0 8px;
    color: #66412e;
    font-size: .84rem;
}

.kl-v4-technical-body dl,
.kl-v4-technical-body dd { margin: 0; }

.kl-v4-technical-body dl > div {
    padding: 8px 0;
    border-top: 1px solid rgba(117, 78, 48, .1);
}

.kl-v4-technical-body dt {
    color: #8a6d59;
    font-size: .74rem;
    font-weight: 700;
}

.kl-v4-technical-body dd {
    margin-top: 2px;
    color: #3b312b;
    line-height: 1.55;
}

.kl-v4-overall {
    padding: clamp(22px, 3vw, 34px);
    border-color: rgba(124, 33, 30, .25);
    background: linear-gradient(150deg, #fffdf9 0%, #f9efe7 100%);
}

.kl-v4-overall ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
}

.kl-v4-overall li {
    padding: 15px 0;
    border-top: 1px solid rgba(124, 33, 30, .12);
    color: #44352e;
    line-height: 1.75;
}

.kl-v4-overall li strong {
    color: #791f1d;
}

@media (max-width: 820px) {
    #faladesh .kl-section-head {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    #faladesh .kl-section-head > div,
    #faladesh .kl-section-desc,
    #faladesh .kl-section-title {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

@media (max-width: 720px) {
    .kl-v4-highlights ul,
    .kl-v4-technical-body,
    .kl-v4-overall ul {
        grid-template-columns: 1fr;
    }

    .kl-v4-highlights,
    .kl-v4-overall {
        border-radius: 16px;
    }

    .kl-v4-card-head {
        align-items: flex-start;
        padding-top: 20px;
    }

    .kl-v4-card-number {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .kl-v4-faladesh-points li {
        font-size: 1rem;
        line-height: 1.75;
    }
}

@media (max-width: 380px) {
    .kl-v4-highlights,
    .kl-v4-overall {
        padding: 18px;
    }

    .kl-v4-card-head,
    .kl-v4-faladesh-points,
    .kl-v4-technical > summary {
        padding-right: 17px;
        padding-left: 17px;
    }

    .kl-v4-timing {
        margin-right: 17px;
        margin-left: 17px;
    }
}

/* =========================================================
   VIMSHOTTARI DASHA — PUBLIC CIVIL-DATE TABLE
   ========================================================= */

.kl-dasha-intro {
    max-width: 920px;
    margin-bottom: 22px;
    color: #655750;
    font-size: 15px;
    line-height: 1.75;
}

.kl-dasha-intro p {
    margin: 0;
}

.kl-dasha-intro p + p {
    margin-top: 7px;
}

.kl-dasha-guide,
.kl-dasha-compare {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #e8ddd6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(67, 43, 31, .045);
}

.kl-dasha-guide-head,
.kl-dasha-compare-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid #eee4de;
    background: linear-gradient(135deg, #fffaf5 0%, #f9f4ef 100%);
}

.kl-dasha-guide-head > span {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    place-items: center;
    background: #7a2230;
    color: #fff4dc;
    font-size: 13px;
}

.kl-dasha-guide-head h3,
.kl-dasha-compare-head h3,
.kl-dasha-timeline-title h3 {
    margin: 0;
    color: #4f2630;
    font-size: 18px;
    line-height: 1.4;
}

.kl-dasha-guide-head p,
.kl-dasha-compare-head p,
.kl-dasha-timeline-title p {
    margin: 4px 0 0;
    color: #76675f;
    font-size: 12.5px;
    line-height: 1.6;
}

.kl-dasha-compare-head {
    display: block;
}

.kl-dasha-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kl-dasha-guide-grid article {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 17px 20px;
    border-bottom: 1px solid #f0e8e3;
}

.kl-dasha-guide-grid article:nth-child(odd) {
    border-right: 1px solid #f0e8e3;
}

.kl-dasha-guide-grid article:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.kl-dasha-guide-grid article > span {
    display: grid;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    border-radius: 9px;
    place-items: center;
    background: #fff1dc;
    color: #8a5c20;
    font-size: 11px;
    font-weight: 850;
}

.kl-dasha-guide-grid h4 {
    margin: 0;
    color: #4d3931;
    font-size: 13.5px;
    line-height: 1.45;
}

.kl-dasha-guide-grid p {
    margin: 4px 0 0;
    color: #756860;
    font-size: 12px;
    line-height: 1.6;
}

.kl-dasha-compare-table {
    width: 100%;
}

.kl-dasha-compare-row {
    display: grid;
    grid-template-columns: minmax(125px, .65fr) repeat(2, minmax(0, 1.5fr));
    align-items: stretch;
    border-bottom: 1px solid #eee6e1;
}

.kl-dasha-compare-row:last-child {
    border-bottom: 0;
}

.kl-dasha-compare-row > * {
    min-width: 0;
    padding: 13px 17px;
    border-right: 1px solid #eee6e1;
    color: #62544d;
    font-size: 12.5px;
    line-height: 1.55;
}

.kl-dasha-compare-row > *:last-child {
    border-right: 0;
}

.kl-dasha-compare-row strong {
    color: #523a31;
    font-size: 12px;
}

.kl-dasha-compare-row.is-head {
    background: #f8f3ef;
}

.kl-dasha-compare-row.is-head > * {
    color: #6a2530;
    font-size: 12px;
    font-weight: 850;
}

.kl-dasha-balance {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid #e7d3a4;
    border-radius: 14px;
    background: #fffaf0;
}

.kl-dasha-balance span {
    color: #806b45;
    font-size: 12px;
    font-weight: 750;
}

.kl-dasha-balance > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kl-dasha-balance small {
    color: #8a7a62;
    font-size: 11px;
    line-height: 1.5;
}

.kl-dasha-balance strong {
    color: #5a351f;
    font-size: 15px;
    line-height: 1.5;
    text-align: right;
}

.kl-dasha-current-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.kl-dasha-current-card {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid #eaded7;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(67, 43, 31, .055);
}

.kl-dasha-current-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #741f2b;
    content: "";
}

.kl-dasha-current-card.is-antardasha::before {
    background: #b58a38;
}

.kl-dasha-current-card .kl-dasha-label {
    color: #897870;
    font-size: 11px;
    letter-spacing: .04em;
}

.kl-dasha-current-card .kl-dasha-name {
    margin-top: 6px;
    color: #3c2922;
    font-size: 25px;
}

.kl-dasha-current-dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #f0e8e3;
}

.kl-dasha-current-dates span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kl-dasha-current-dates small {
    color: #97877f;
    font-size: 10px;
}

.kl-dasha-current-dates strong {
    color: #514038;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.kl-dasha-table-card {
    margin-top: 16px;
    overflow-x: auto;
    border: 1px solid #e7ddd7;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(54, 39, 31, .04);
}

.kl-dasha-table-card .kl-mahadasha-timeline-head {
    padding: 17px 19px;
    background: #fffaf7;
}

.kl-dasha-table-card .kl-mahadasha-timeline-head h3 {
    color: #4b3329;
    font-size: 17px;
}

.kl-dasha-table-card .kl-mahadasha-list {
    min-width: 560px;
    padding: 0;
}

.kl-dasha-table-head,
.kl-dasha-table-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.15fr) minmax(150px, 1fr) minmax(150px, 1fr);
    align-items: center;
    gap: 14px;
    padding: 12px 19px;
}

.kl-dasha-table-head {
    border-bottom: 1px solid #e9dfd9;
    background: #f8f4f1;
    color: #76665e;
    font-size: 11px;
    font-weight: 800;
}

.kl-dasha-table-row {
    border-bottom: 1px solid #f0e9e5;
    color: #594a42;
    font-size: 13px;
}

.kl-dasha-table-row:last-child {
    border-bottom: 0;
}

.kl-dasha-table-row.is-current {
    background: #fff4e7;
    box-shadow: inset 3px 0 0 #9b4d27;
}

.kl-dasha-table-row .kl-mahadasha-planet {
    color: #49352b;
    font-size: 14px;
}

.kl-dasha-table-date {
    color: #655750;
    font-variant-numeric: tabular-nums;
}

.kl-antardasha-table-card {
    margin-top: 18px;
}

@media (max-width: 680px) {
    .kl-dasha-balance {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .kl-dasha-balance strong {
        text-align: left;
    }

    .kl-dasha-current-grid {
        grid-template-columns: 1fr;
    }

    .kl-dasha-current-card {
        padding: 18px;
    }
}

/* =========================================================
   VIMSHOTTARI — OFFLINE SOFTWARE STYLE MD / AD CHART
   ========================================================= */

.kl-dasha-now {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 2fr);
    align-items: stretch;
    gap: 0;
    margin: 0 0 22px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(120, 28, 42, .16);
    border-radius: 16px;
    background: #fffaf4;
    color: #4e3d36;
    box-shadow: 0 8px 24px rgba(67, 43, 31, .045);
}

.kl-dasha-now-label {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 18px 20px;
    background: #761c2a;
    color: #fff;
}

.kl-dasha-now-label > span {
    font-size: 13px;
    font-weight: 850;
    line-height: 1.45;
}

.kl-dasha-now-label small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .76);
    font-size: 10.5px;
    line-height: 1.45;
}

.kl-dasha-now-periods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kl-dasha-now-periods > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 17px 20px;
    border-right: 1px solid #eaded6;
}

.kl-dasha-now-periods > div:last-child {
    border-right: 0;
}

.kl-dasha-now-periods small {
    color: #89776d;
    font-size: 10px;
    font-weight: 750;
}

.kl-dasha-now-periods strong {
    margin-top: 3px;
    color: #56202a;
    font-size: 19px;
    line-height: 1.35;
}

.kl-dasha-now-periods span {
    margin-top: 4px;
    color: #6c5b53;
    font-size: 11px;
    line-height: 1.5;
}

.kl-dasha-now-periods .is-antardasha {
    background: #fff8eb;
}

.kl-dasha-timeline-title {
    margin: 28px 0 14px;
}

.kl-dasha-software-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 0;
}

.kl-dasha-software-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e7ddd5;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(62, 39, 27, .055);
}

.kl-dasha-software-card.is-current {
    border-color: rgba(156, 116, 43, .72);
    box-shadow: 0 10px 28px rgba(118, 28, 42, .12), inset 0 3px 0 #b28a3d;
}

.kl-dasha-software-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    min-height: 92px;
    padding: 16px 16px 13px;
    border-bottom: 1px solid #eadfd7;
    background: linear-gradient(135deg, #fffaf5 0%, #f8f1eb 100%);
}

.kl-dasha-software-card.is-current .kl-dasha-software-head {
    background: linear-gradient(135deg, #fff8ed 0%, #f7e8dc 100%);
}

.kl-dasha-software-head h3 {
    margin: 0;
    color: #541f2a;
    font-size: 16px;
    line-height: 1.35;
}

.kl-dasha-software-head p {
    margin: 7px 0 0;
    color: #706159;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    line-height: 1.45;
}

.kl-dasha-software-head p span {
    padding: 0 2px;
    color: #9b7738;
}

.kl-dasha-software-table {
    width: 100%;
}

.kl-dasha-software-row {
    display: grid;
    grid-template-columns: minmax(58px, .65fr) repeat(2, minmax(105px, 1.2fr));
    align-items: center;
    gap: 7px;
    min-height: 39px;
    padding: 8px 12px;
    border-bottom: 1px solid #f0e8e2;
    color: #574940;
    font-size: 11px;
}

.kl-dasha-software-row:last-child {
    border-bottom: 0;
}

.kl-dasha-software-row.is-head {
    min-height: 34px;
    padding-top: 7px;
    padding-bottom: 7px;
    background: #faf7f4;
    color: #7a6a61;
    font-size: 10px;
    font-weight: 800;
}

.kl-dasha-software-row.is-current {
    background: #fff4df;
    box-shadow: inset 3px 0 0 #9b6f25;
}

.kl-dasha-software-row time {
    white-space: normal;
    color: #66574f;
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
}

.kl-dasha-software-lord {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.kl-dasha-software-lord strong {
    color: #4c352d;
    font-size: 12px;
}

.kl-dasha-software-lord small {
    color: #7b2432;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .03em;
}

@media (max-width: 1080px) {
    .kl-dasha-software-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .kl-dasha-intro {
        font-size: 14px;
    }

    .kl-dasha-guide-grid {
        grid-template-columns: 1fr;
    }

    .kl-dasha-guide-grid article,
    .kl-dasha-guide-grid article:nth-child(odd),
    .kl-dasha-guide-grid article:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid #f0e8e3;
    }

    .kl-dasha-guide-grid article:last-child {
        border-bottom: 0;
    }

    .kl-dasha-compare-row.is-head {
        display: none;
    }

    .kl-dasha-compare-row {
        display: block;
        padding: 13px 16px;
    }

    .kl-dasha-compare-row > * {
        display: block;
        padding: 0;
        border: 0;
    }

    .kl-dasha-compare-row > strong {
        margin-bottom: 10px;
        color: #6a2530;
        font-size: 13px;
    }

    .kl-dasha-compare-row > span {
        position: relative;
        padding-left: 112px;
        font-size: 12px;
    }

    .kl-dasha-compare-row > span + span {
        margin-top: 8px;
    }

    .kl-dasha-compare-row > span::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 102px;
        color: #87756c;
        content: attr(data-label);
        font-size: 10.5px;
        font-weight: 750;
    }

    .kl-dasha-now {
        grid-template-columns: 1fr;
    }

    .kl-dasha-now-label {
        padding: 14px 16px;
    }

    .kl-dasha-now-periods {
        grid-template-columns: 1fr;
    }

    .kl-dasha-now-periods > div {
        padding: 14px 16px;
        border-right: 0;
        border-bottom: 1px solid #eaded6;
    }

    .kl-dasha-now-periods > div:last-child {
        border-bottom: 0;
    }

    .kl-dasha-software-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .kl-dasha-software-head {
        min-height: 0;
    }

    .kl-dasha-software-row {
        grid-template-columns: minmax(58px, .62fr) repeat(2, minmax(101px, 1.2fr));
        gap: 6px;
        padding-right: 10px;
        padding-left: 10px;
        font-size: 10.5px;
    }
}

/* =========================================================
   Advanced Jyotish Milestone A — Vargas + planet intelligence
   ========================================================= */
#charts .kl-validated-chart-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
}
.kl-chart-meta-tags{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}
.kl-chart-topic{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 9px;
    border:1px solid var(--kl-border,#e5e7eb);
    border-radius:999px;
    background:var(--kl-soft,#f8fafc);
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
}
.kl-advanced-intelligence-wrap{
    border-radius:16px;
    overflow:auto;
}
.kl-advanced-intelligence-table{
    min-width:880px;
}
.kl-advanced-intelligence-table td,
.kl-advanced-intelligence-table th{
    vertical-align:top;
}
.kl-advanced-tags{
    margin-top:4px;
    font-size:12px;
    line-height:1.5;
}
.kl-advanced-intelligence-table small{
    display:block;
    margin-top:4px;
    opacity:.72;
}
.kl-advanced-note{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid var(--kl-border,#e5e7eb);
    border-radius:14px;
    background:var(--kl-soft,#f8fafc);
    font-size:13px;
    line-height:1.65;
}
@media (min-width:1200px){
    #charts .kl-validated-chart-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:780px){
    #charts .kl-validated-chart-grid{
        grid-template-columns:1fr;
    }
    .kl-chart-meta-tags{
        justify-content:flex-start;
    }
}

/* =========================================================
   Milestone B — Advanced Strength / Ashtakavarga
   ========================================================= */
.kl-advanced-subsection {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #dfe7ef;
}
.kl-advanced-subhead {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 12px;
}
.kl-advanced-subhead h3 {
    margin: 0;
    color: #183f5e;
    font-size: 18px;
    line-height: 1.35;
}
.kl-advanced-subhead p {
    max-width: 720px;
    margin: 0;
    color: #607286;
    font-size: 13px;
    line-height: 1.6;
}
.kl-strength-table th,
.kl-strength-table td {
    white-space: nowrap;
    text-align: center;
}
.kl-strength-table th:first-child,
.kl-strength-table td:first-child {
    text-align: left;
}
.kl-advanced-mini-note {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f7fafc;
    color: #627387;
    font-size: 12px;
    line-height: 1.55;
}
.kl-advanced-details {
    margin-top: 18px;
    border: 1px solid #dce6ef;
    border-radius: 10px;
    background: #fbfdff;
    overflow: hidden;
}
.kl-advanced-details > summary {
    cursor: pointer;
    padding: 13px 16px;
    color: #17486e;
    font-weight: 700;
    user-select: none;
}
.kl-advanced-details[open] > summary {
    border-bottom: 1px solid #e3ebf2;
    background: #f5f9fc;
}
.kl-advanced-details .kl-advanced-subsection {
    margin: 0;
    padding: 14px;
    border-top: 0;
}
.kl-ashtaka-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(58px, 1fr));
    gap: 7px;
}
.kl-ashtaka-cell {
    min-height: 64px;
    padding: 8px 5px;
    border: 1px solid #d9e4ed;
    border-radius: 8px;
    background: #f8fbfd;
    text-align: center;
}
.kl-ashtaka-cell span {
    display: block;
    margin-bottom: 4px;
    color: #6a7988;
    font-size: 11px;
}
.kl-ashtaka-cell strong {
    color: #0b5585;
    font-size: 20px;
}
.kl-bav-details {
    margin-top: 12px;
}
.kl-bav-table th,
.kl-bav-table td {
    min-width: 42px;
    text-align: center;
    white-space: nowrap;
}
.kl-bav-table th:first-child {
    min-width: 86px;
    text-align: left;
}
@media (max-width: 900px) {
    .kl-advanced-subhead {
        display: block;
    }
    .kl-advanced-subhead p {
        margin-top: 6px;
    }
    .kl-ashtaka-grid {
        grid-template-columns: repeat(6, minmax(52px, 1fr));
    }
}
@media (max-width: 560px) {
    .kl-ashtaka-grid {
        grid-template-columns: repeat(4, minmax(48px, 1fr));
    }
    .kl-ashtaka-cell {
        min-height: 58px;
    }
}

/* Milestone D — advanced Faladesh synthesis */
.kl-v4-synthesis{padding:14px 16px 4px;border-bottom:1px solid #d9e4ec;background:#fbfdff}
.kl-v4-synthesis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kl-v4-synthesis-block{margin:0 0 10px;padding:11px 12px;border:1px solid #dbe6ee;background:#fff;border-radius:4px}
.kl-v4-synthesis-block.is-conclusion{border-left:3px solid #2d79a8;background:#f6fbfe}
.kl-v4-synthesis-block.is-timing{border-left:3px solid #c9992e;background:#fffdf6}
.kl-v4-synthesis-block.is-decision{border-left:3px solid #43825c;background:#f8fcf9}
.kl-v4-synthesis-block h4,.kl-v4-classical-title{margin:0 0 7px;color:#153e59;font-size:14px;font-weight:700}
.kl-v4-synthesis-block ul{margin:0;padding-left:20px}
.kl-v4-synthesis-block li,.kl-v4-synthesis-block p{margin:4px 0;line-height:1.65;font-size:13px;color:#334b5c}
.kl-v4-synthesis-final{margin:0 0 10px;padding:10px 12px;background:#f3f7fa;border:1px solid #d8e3eb;line-height:1.65;color:#263f50}
.kl-v4-classical-title{padding:12px 16px 0;margin-bottom:0}
.kl-v4-current-summary{margin:16px 0;padding:14px 16px;border:1px solid #cfdde8;border-left:4px solid #2d79a8;background:#f8fbfd}
.kl-v4-current-summary h3{margin:0 0 8px;color:#153e59;font-size:17px}
.kl-v4-current-summary p{margin:5px 0;line-height:1.6}
.kl-v4-current-summary small{display:block;margin-top:7px;color:#687b89}
@media(max-width:760px){.kl-v4-synthesis-grid{grid-template-columns:1fr}.kl-v4-synthesis{padding:12px 10px 2px}}

/* =========================================================
   Premium Jyotishi Presentation Layer — conclusion first
   ========================================================= */
.kl-report-nav-wrap,
.kl-report-nav-wrap.is-stuck{
    top:0 !important;
    z-index:3000 !important;
    margin-top:10px !important;
    padding-top:0 !important;
    background:#eef3f7;
}
.kl-report-nav{
    min-height:48px !important;
    border-radius:4px !important;
    border:1px solid #0b4774 !important;
    background:#0b4774 !important;
    box-shadow:0 5px 16px rgba(9,56,91,.16) !important;
    padding:4px 6px !important;
}
.kl-report-nav-label,
.kl-report-nav > a,
.kl-nav-dropdown > summary{
    min-height:38px !important;
    color:#fff !important;
    font-size:13px !important;
}
.kl-report-nav a:hover,
.kl-report-nav a.is-active,
.kl-report-nav a[aria-current="location"]{
    background:#2e78aa !important;
    color:#fff !important;
    box-shadow:none !important;
}
.kl-report-nav .kl-ask-nav{
    background:#2f78aa !important;
    color:#fff !important;
}
.kl-section,.kl-report-subsection{scroll-margin-top:62px !important}

.kl-v4-faladesh-card{
    border:1px solid #cbd7e1 !important;
    border-radius:5px !important;
    box-shadow:0 2px 8px rgba(29,64,87,.05);
    overflow:hidden;
}
.kl-v4-premium-synthesis{
    padding:12px 14px 14px !important;
    background:#f7fafc !important;
    border-bottom:0 !important;
}
.kl-v4-premium-answer{
    border:1px solid #d3e2ec;
    border-left:4px solid #1f73a5;
    border-radius:5px;
    background:#fff;
    padding:13px 15px;
}
.kl-v4-premium-kicker{
    margin-bottom:4px;
    color:#9a6514;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.kl-v4-premium-answer h4{
    margin:0 0 7px;
    color:#153f5b;
    font-size:15px;
    font-weight:850;
}
.kl-v4-premium-summary{
    margin:0;
    color:#253e50;
    font-size:13.5px;
    line-height:1.65;
}
.kl-v4-premium-answer ul{margin:0;padding-left:19px}
.kl-v4-premium-answer li{margin:4px 0;line-height:1.55;color:#2e4657;font-size:13.5px}
.kl-v4-premium-direction{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:5px 12px;
    margin-top:10px;
    padding-top:9px;
    border-top:1px dashed #d4e0e8;
    font-size:12.5px;
    line-height:1.55;
}
.kl-v4-premium-direction strong{color:#17643e}
.kl-v4-premium-direction span{grid-column:2;color:#334f60}
.kl-v4-premium-time{
    display:flex;
    gap:9px;
    align-items:flex-start;
    margin-top:10px;
    padding:8px 10px;
    border-radius:4px;
    background:#f7f8fa;
    color:#536471;
    font-size:12px;
    line-height:1.45;
}
.kl-v4-premium-time strong{white-space:nowrap;color:#425867}
.kl-v4-premium-time.is-strong{background:#f1f8f3;color:#37634a}
.kl-v4-premium-time.is-supportive{background:#fff9e9;color:#715b22}
.kl-v4-evidence-details,.kl-v4-classical-details{
    margin-top:9px;
    border:1px solid #d8e2ea;
    border-radius:4px;
    background:#fff;
}
.kl-v4-evidence-details > summary,.kl-v4-classical-details > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    list-style:none;
    padding:9px 12px;
    color:#31556d;
    font-size:12.5px;
    user-select:none;
}
.kl-v4-evidence-details > summary::-webkit-details-marker,.kl-v4-classical-details > summary::-webkit-details-marker{display:none}
.kl-v4-evidence-details > summary::after,.kl-v4-classical-details > summary::after{content:"＋";margin-left:auto;color:#2d6f99;font-weight:900}
.kl-v4-evidence-details[open] > summary::after,.kl-v4-classical-details[open] > summary::after{content:"−"}
.kl-v4-evidence-details > summary span,.kl-v4-classical-details > summary span{margin-left:auto;color:#758895;font-size:11px}
.kl-v4-evidence-body{padding:0 10px 8px;border-top:1px solid #edf1f4}
.kl-v4-evidence-body .kl-v4-synthesis-block{margin:8px 0 0;background:#fbfcfd}
.kl-v4-classical-details{margin:0 14px 13px}
.kl-v4-classical-details .kl-v4-faladesh-points{padding:4px 28px 11px 34px;margin:0;border-top:1px solid #edf1f4}
.kl-v4-classical-details .kl-v4-faladesh-points li{padding:7px 0}

.kl-v4-overall-premium{
    border-radius:6px !important;
    box-shadow:0 4px 18px rgba(26,62,84,.07);
}
.kl-v4-overall-premium ul{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 26px;
}
.kl-v4-overall-premium li{
    padding:11px 0 !important;
    line-height:1.55 !important;
    font-size:13.5px !important;
}

.kl-chat-message.is-premium-answer{align-items:flex-start}
.kl-chat-answer-card{
    width:min(82%,820px);
    overflow:hidden;
    border:1px solid #cfdde7;
    border-radius:9px 9px 9px 3px;
    background:#fff;
    box-shadow:0 3px 12px rgba(26,62,84,.07);
}
.kl-chat-answer-section{padding:12px 15px;border-bottom:1px solid #edf1f4}
.kl-chat-answer-section:last-of-type{border-bottom:0}
.kl-chat-answer-section h4{margin:0 0 6px;color:#164c70;font-size:13px;font-weight:850}
.kl-chat-answer-section p{margin:4px 0;color:#2e4758;font-size:13.5px;line-height:1.62}
.kl-chat-answer-section.is-answer{border-left:4px solid #1571a6;background:#fbfdff}
.kl-chat-answer-section.is-direction{border-left:4px solid #3c8a5d;background:#f9fcfa}
.kl-chat-answer-section.is-timing{border-left:4px solid #c28d22;background:#fffdf7}
.kl-chat-evidence{border-top:1px solid #e4ebf0;background:#f7f9fb}
.kl-chat-evidence summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 14px;cursor:pointer;list-style:none;color:#34566c;font-size:12px}
.kl-chat-evidence summary::-webkit-details-marker{display:none}
.kl-chat-evidence summary strong{font-size:12.5px}
.kl-chat-evidence summary span{color:#718594;font-size:11px}
.kl-chat-evidence ul{margin:0;padding:3px 28px 12px 34px;border-top:1px solid #e6edf2}
.kl-chat-evidence li{margin:6px 0;color:#536775;font-size:11.5px;line-height:1.55}

@media(max-width:760px){
    .kl-report-nav-wrap,.kl-report-nav-wrap.is-stuck{top:0 !important}
    .kl-report-nav{border-radius:0 !important;min-height:44px !important}
    .kl-report-nav-label{display:none !important}
    .kl-report-nav > a,.kl-nav-dropdown > summary{min-height:34px !important;font-size:12px !important;padding:0 10px !important}
    .kl-v4-overall-premium ul{grid-template-columns:1fr}
    .kl-v4-premium-direction{grid-template-columns:1fr}
    .kl-v4-premium-direction span{grid-column:1}
    .kl-chat-answer-card{width:calc(100% - 6px)}
    .kl-chat-messages{padding:12px;margin-left:10px;margin-right:10px}
}

/* ================================================================
   KundliLive — final consultation UI v2
   Conclusion first, evidence on demand, compact desktop-software feel
   ================================================================ */
.kl-v4-faladesh-card{border:1px solid #d6e0e7!important;border-left:3px solid #2e77a5!important;border-radius:8px!important;background:#fff!important;box-shadow:0 1px 4px rgba(30,58,78,.035)!important}
.kl-v4-card-head{min-height:50px!important;padding:9px 13px!important;background:#f6f8fa!important;border-bottom:1px solid #dde5eb!important}
.kl-v4-card-number{width:34px!important;height:34px!important;border-radius:5px!important;font-size:12px!important}
.kl-v4-card-head h3{font-size:20px!important;line-height:1.25!important}
.kl-v4-premium-synthesis{padding:12px 13px!important;background:#fff!important}
.kl-v4-premium-answer{padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
.kl-v4-premium-summary{margin:0!important;padding:2px 0 8px!important;font-size:15px!important;line-height:1.62!important;color:#213f53!important;font-weight:600!important}
.kl-v4-premium-direction{display:block!important;margin:7px 0 0!important;padding:10px!important;border:1px solid #e0e8ed!important;border-radius:7px!important;background:#f8fbf9!important}
.kl-v4-work-fields{display:flex;gap:10px;align-items:flex-start}
.kl-v4-work-fields strong{flex:0 0 auto;color:#1c6844;font-size:12.5px}
.kl-v4-work-fields span{color:#334f60;font-size:13px;line-height:1.5}
.kl-v4-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.kl-v4-decision-card{padding:9px 10px;border:1px solid #dce5ea;border-radius:7px;background:#fff}
.kl-v4-decision-card.is-supportive{border-left:3px solid #4d8b61}.kl-v4-decision-card.is-mixed{border-left:3px solid #c99b36}.kl-v4-decision-card.is-neutral{border-left:3px solid #9aabb6}
.kl-v4-decision-label{display:block;margin-bottom:2px;color:#71828d;font-size:10.5px;font-weight:700;text-transform:none}
.kl-v4-decision-card strong{display:block;color:#203e51;font-size:12.5px}
.kl-v4-decision-card small{display:block;margin-top:3px;color:#5d6f7a;font-size:11.5px;line-height:1.45}
.kl-v4-evidence-details,.kl-v4-classical-details{margin-top:8px!important;border:1px solid #e0e7ec!important;border-radius:7px!important;background:#fafbfc!important}
.kl-v4-evidence-details>summary,.kl-v4-classical-details>summary{min-height:38px!important;padding:8px 11px!important;font-size:12px!important}
.kl-v4-evidence-details>summary span,.kl-v4-classical-details>summary span{font-size:10.5px!important}

.kl-chat-answer-card{width:min(90%,760px)!important;border:1px solid #d5dfe6!important;border-radius:10px!important;box-shadow:0 2px 8px rgba(29,57,77,.05)!important}
.kl-chat-answer-section{padding:11px 13px!important;background:#fff!important;border-bottom:1px solid #edf1f4!important;border-left:0!important}
.kl-chat-answer-section h4,.kl-chat-decision-section h4{margin:0 0 5px;color:#31556c;font-size:11.5px;font-weight:800;letter-spacing:.01em}
.kl-chat-answer-section p{margin:3px 0!important;color:#243f51!important;font-size:13.5px!important;line-height:1.6!important}
.kl-chat-answer-section.is-answer{border-top:3px solid #1e75a6!important}
.kl-chat-answer-section.is-direction{background:#fbfdfb!important}
.kl-chat-answer-section.is-timing{background:#fffaf0!important}
.kl-chat-decision-section{padding:10px 13px;border-bottom:1px solid #edf1f4;background:#fafcfd}
.kl-chat-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kl-chat-decision-card{padding:9px 10px;border:1px solid #dce5ea;border-radius:7px;background:#fff}
.kl-chat-decision-card.is-supportive{border-left:3px solid #4d8b61}.kl-chat-decision-card.is-mixed{border-left:3px solid #c99b36}.kl-chat-decision-card.is-neutral{border-left:3px solid #9aabb6}
.kl-chat-decision-label{display:block;color:#72848f;font-size:10.5px;font-weight:700}
.kl-chat-decision-card strong{display:block;margin-top:2px;color:#1e4055;font-size:12.5px}
.kl-chat-decision-card small{display:block;margin-top:3px;color:#5c6f7a;font-size:11.5px;line-height:1.45}
.kl-chat-evidence{background:#f8fafb!important}
.kl-chat-evidence summary{padding:8px 12px!important}
.kl-chat-evidence li{font-size:11px!important;line-height:1.5!important}

@media(max-width:760px){
 .kl-v4-card-head h3{font-size:17px!important}.kl-v4-decision-grid,.kl-chat-decision-grid{grid-template-columns:1fr}.kl-v4-work-fields{display:block}.kl-v4-work-fields strong{display:block;margin-bottom:3px}
 .kl-chat-answer-card{width:calc(100% - 4px)!important}
}

/* Final chat transcript resize: drag the bottom grip or the native lower-right handle. */
.kl-chat-messages{
    resize:vertical!important;
    overflow:auto!important;
    min-height:220px!important;
    height:360px;
    max-height:78vh!important;
}
.kl-chat-resize-handle{
    display:flex;
    height:18px;
    margin:0 16px;
    align-items:center;
    justify-content:center;
    cursor:ns-resize;
    touch-action:none;
    user-select:none;
}
.kl-chat-resize-handle span{
    width:48px;
    height:4px;
    border-radius:999px;
    background:#cbd7df;
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.kl-chat-resize-handle:hover span,.is-resizing-chat .kl-chat-resize-handle span{background:#8eabbc}
.is-resizing-chat{cursor:ns-resize}
@media(max-width:760px){
    .kl-chat-messages{min-height:180px!important;height:300px;max-height:72vh!important}
    .kl-chat-resize-handle{margin:0 10px;height:16px}
}

/* ==========================================================
   Universal Question Intelligence v2 — dynamic follow-ups
   ========================================================== */
.kl-chat-followup-section {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(30, 64, 175, .12);
}
.kl-chat-followup-section h4 {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}
.kl-chat-followup-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.kl-chat-followup-chip {
    appearance: none;
    border: 1px solid rgba(37, 99, 235, .18);
    background: #f8fbff;
    color: #1e3a8a;
    border-radius: 999px;
    min-height: 36px;
    padding: 7px 11px;
    font: inherit;
    font-size: 12.5px;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.kl-chat-followup-chip:hover {
    background: #eef5ff;
    border-color: rgba(37, 99, 235, .34);
}
.kl-chat-followup-chip:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.kl-chat-followup-chip:disabled {
    opacity: .55;
    cursor: default;
}
@media (max-width: 640px) {
    .kl-chat-followup-list {
        display: grid;
        grid-template-columns: 1fr;
    }
    .kl-chat-followup-chip {
        width: 100%;
        min-height: 42px;
        text-align: left;
    }
}

/* ==========================================================
   Theme evidence purity v1 — premium semantic answer system
   ========================================================== */
.kl-chat-answer-card {
    width: min(94%, 980px) !important;
    overflow: hidden;
    background: #fff;
}
.kl-chat-answer-card.is-supportive { border-top-color: #3f8b5b !important; }
.kl-chat-answer-card.is-mixed { border-top-color: #c48724 !important; }
.kl-chat-answer-card.is-sensitive { border-top-color: #b84a4a !important; }
.kl-chat-factor-section {
    padding: 12px 14px 14px;
    border-bottom: 1px solid #e8eef2;
    background: #fbfcfd;
}
.kl-chat-factor-section > h4 {
    margin: 0 0 9px;
    color: #264f68;
    font-size: 13px;
    font-weight: 800;
}
.kl-chat-factor-list {
    display: grid;
    gap: 10px;
}
.kl-chat-factor-card {
    min-width: 0;
    padding: 11px 13px 12px;
    border: 1px solid #dfe7ec;
    border-left-width: 4px;
    border-radius: 9px;
    background: #fff;
    overflow-wrap: anywhere;
}
.kl-chat-factor-card.is-supportive {
    border-left-color: #43885b;
    background: linear-gradient(90deg, #f2faf4 0, #fff 24%);
}
.kl-chat-factor-card.is-mixed {
    border-left-color: #c78724;
    background: linear-gradient(90deg, #fff8ec 0, #fff 24%);
}
.kl-chat-factor-card.is-sensitive {
    border-left-color: #b94c4c;
    background: linear-gradient(90deg, #fff4f3 0, #fff 24%);
}
.kl-chat-factor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.kl-chat-factor-head h5 {
    min-width: 0;
    margin: 0;
    color: #193f57;
    font-size: 14px;
    line-height: 1.4;
}
.kl-chat-factor-badge {
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.35;
}
.is-supportive .kl-chat-factor-badge { color: #24683d; background: #e5f5e9; }
.is-mixed .kl-chat-factor-badge { color: #8a5a0a; background: #fff0d5; }
.is-sensitive .kl-chat-factor-badge { color: #923636; background: #fde5e4; }
.kl-chat-factor-verdict {
    margin: 5px 0 8px;
    color: #456171;
    font-size: 12px;
    font-weight: 700;
}
.kl-chat-factor-facts {
    margin-top: 7px;
    padding: 7px 9px;
    border-left: 3px solid #7a2938;
    border-radius: 5px;
    background: #fffafb;
}
.kl-chat-factor-facts.is-supporting { border-left-color: #43885b; background: #f7fcf8; }
.kl-chat-factor-facts.is-weakening { border-left-color: #b94c4c; background: #fff8f7; }
.kl-chat-factor-facts.is-compensation { border-left-color: #c78724; background: #fffaf1; }
.kl-chat-factor-facts strong {
    display: block;
    color: #6f2432;
    font-size: 11.5px;
}
.kl-chat-factor-facts.is-supporting strong { color: #2f7148; }
.kl-chat-factor-facts.is-weakening strong { color: #973e3e; }
.kl-chat-factor-facts.is-compensation strong { color: #8a5b14; }
.kl-chat-factor-facts ul {
    margin: 4px 0 0;
    padding-left: 18px;
}
.kl-chat-factor-facts li {
    margin: 2px 0;
    color: #334f60;
    font-size: 12px;
    line-height: 1.55;
}
.kl-chat-factor-result {
    margin: 8px 0 0;
    color: #263f4e;
    font-size: 12.5px;
    line-height: 1.55;
}
.kl-chat-factor-result strong { color: #173f58; }
.kl-chat-evidence {
    border-left: 3px solid #7a2938 !important;
    background: #fffafb !important;
}
.kl-chat-evidence summary strong { color: #6f2432 !important; }
.kl-chat-followup-chip.is-green { color: #25673e; border-color: #b9dec4; background: #f2faf4; }
.kl-chat-followup-chip.is-orange { color: #85570c; border-color: #efd19c; background: #fff9ee; }
.kl-chat-followup-chip.is-red { color: #913d3d; border-color: #e8baba; background: #fff5f4; }
.kl-chat-followup-chip.is-maroon { color: #742a38; border-color: #dcb7bf; background: #fff7f9; }
.kl-chat-followup-chip.is-pink { color: #8c3f67; border-color: #e7bfd2; background: #fff7fb; }
.kl-chat-followup-chip.is-blue { color: #1e4f86; border-color: #bfd4ed; background: #f7fbff; }
.kl-chat-followup-chip.is-green:hover { background: #e8f6ec; }
.kl-chat-followup-chip.is-orange:hover { background: #fff1d8; }
.kl-chat-followup-chip.is-red:hover { background: #fdebea; }
.kl-chat-followup-chip.is-maroon:hover { background: #fbecef; }
.kl-chat-followup-chip.is-pink:hover { background: #fcecf4; }
.kl-chat-followup-chip.is-blue:hover { background: #edf5ff; }

@media (min-width: 761px) {
    .kl-chat-messages { height: min(62vh, 620px); }
}
@media (max-width: 640px) {
    .kl-chat-answer-card { width: calc(100% - 2px) !important; max-width: 100%; }
    .kl-chat-factor-section { padding: 10px 9px 12px; }
    .kl-chat-factor-card { padding: 10px; }
    .kl-chat-factor-head { display: grid; gap: 5px; }
    .kl-chat-factor-badge { justify-self: start; }
    .kl-chat-factor-facts { padding: 7px 8px; }
    .kl-chat-factor-facts li { font-size: 11.5px; }
    .kl-chat-followup-list,
    .kl-chat-followup-chip { min-width: 0; max-width: 100%; }
    .kl-chat-followup-chip { white-space: normal; overflow-wrap: anywhere; }
}

/* ==========================================================
   KundliLive single-page assisted workspace v13
   Clear public-service information architecture with a
   modern, readable consultation experience.
   ========================================================== */
.kl-page {
    width: min(100%, 1540px) !important;
    padding: 18px 18px 52px !important;
}

.kl-landing-hero {
    min-height: 0 !important;
    margin-bottom: 14px !important;
    padding: 20px 26px !important;
    border-top-width: 0 !important;
    border-left: 5px solid #0b5f9f !important;
    border-radius: 8px !important;
}
.kl-landing-copy { max-width: none !important; }
.kl-page-title {
    margin: 3px 0 5px !important;
    font-size: clamp(27px, 2.5vw, 38px) !important;
    line-height: 1.2 !important;
}
.kl-page-subtitle {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.kl-primary-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 18px;
}

.kl-primary-workspace > .kl-generator,
.kl-primary-workspace > .kl-chat-card,
.kl-primary-workspace > .kl-chat-preview {
    min-width: 0;
    margin: 0 !important;
}

.kl-primary-workspace > .kl-generator {
    overflow: visible !important;
    border: 2px solid #176b9f !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 22px rgba(8, 69, 108, .09) !important;
}
.kl-primary-workspace .kl-generator-disclosure {
    overflow: visible;
}
.kl-primary-workspace .kl-generator-disclosure > summary {
    min-height: 48px;
    padding: 10px 15px !important;
    border-bottom: 1px solid #cbdde9;
    background: #edf7fd !important;
    color: #164c70 !important;
    font-size: 14px !important;
}
.kl-primary-workspace .kl-generator-disclosure > summary small {
    display: block;
    max-width: 295px;
    margin-top: 2px;
    overflow: hidden;
    color: #587181;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kl-primary-workspace .kl-generator-head {
    position: relative;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: center !important;
    min-height: 82px;
    padding: 14px 16px !important;
    border-bottom: 1px solid #cbdde9 !important;
    background: linear-gradient(135deg, #eef8fe 0%, #fff 72%) !important;
}
.kl-primary-workspace .kl-generator-head::before {
    content: "1";
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #0b5f9f;
    font-size: 18px;
    font-weight: 900;
}
.kl-primary-workspace .kl-generator-title {
    margin: 0 0 3px !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
}
.kl-primary-workspace .kl-generator-note {
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.kl-primary-workspace .kl-trust-badge {
    grid-column: 1 / -1;
    justify-self: stretch;
    min-height: 34px;
    margin-top: 1px;
    justify-content: center;
    font-size: 11px !important;
}
.kl-primary-workspace .kl-form {
    padding: 16px !important;
    border: 0 !important;
    background: #fff !important;
}
.kl-primary-workspace .kl-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
}
.kl-primary-workspace .kl-field,
.kl-primary-workspace .kl-place-field {
    grid-column: auto !important;
}
.kl-primary-workspace .kl-field label {
    display: flex;
    align-items: center;
    min-height: 23px;
    margin-bottom: 5px !important;
    color: #173f59 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}
.kl-primary-workspace .kl-field input,
.kl-primary-workspace .kl-field select {
    min-height: 52px !important;
    border: 2px solid #a9bfce !important;
    border-radius: 8px !important;
    color: #18394f !important;
    background: #fff !important;
    font-size: 16px !important;
}
.kl-primary-workspace .kl-field input::placeholder {
    color: #8496a3;
    opacity: 1;
}
.kl-primary-workspace .kl-field input:focus,
.kl-primary-workspace .kl-field select:focus {
    border-color: #0b6da8 !important;
    outline: 4px solid rgba(11, 109, 168, .13) !important;
}
.kl-primary-workspace .kl-place-row {
    align-items: stretch !important;
    gap: 7px !important;
}
.kl-primary-workspace .kl-place-search-btn {
    min-width: 82px;
    min-height: 52px !important;
    padding: 0 13px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}
.kl-primary-workspace .kl-place-status {
    min-height: 20px;
    margin-top: 5px;
    color: #496577;
    font-size: 11.5px;
    line-height: 1.45;
}
.kl-primary-workspace .kl-generator-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 15px !important;
    padding-top: 13px !important;
    border-top: 1px solid #dce6ed !important;
}
.kl-primary-workspace .kl-advanced-note {
    padding: 8px 10px;
    border-radius: 7px;
    color: #516b7c !important;
    background: #f5f8fa;
    font-size: 11.5px !important;
    line-height: 1.45;
}
.kl-primary-workspace .kl-generate {
    width: 100%;
    min-height: 54px !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
}

.kl-chat-preview {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 18px;
    min-height: 100%;
    padding: 34px;
    border: 2px solid #bfd3e1;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7fbfe, #fff);
    box-shadow: 0 7px 22px rgba(8, 69, 108, .06);
}
.kl-chat-preview-icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border-radius: 15px;
    background: #e6f3fb;
    font-size: 29px;
}
.kl-chat-preview span {
    color: #a0650c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.kl-chat-preview h2 {
    margin: 5px 0 9px;
    color: #153f5a;
    font-size: clamp(22px, 2.2vw, 31px);
    line-height: 1.3;
}
.kl-chat-preview p {
    max-width: 720px;
    margin: 0;
    color: #516a7a;
    font-size: 15px;
    line-height: 1.75;
}
.kl-chat-preview-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 19px;
}
.kl-chat-preview-topics span {
    padding: 7px 12px;
    border: 1px solid #c7dce9;
    border-radius: 999px;
    color: #205a80;
    background: #fff;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
}

.kl-primary-workspace > .kl-chat-card {
    overflow: hidden !important;
    border: 2px solid #176b9f !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 7px 22px rgba(8, 69, 108, .09) !important;
}
.kl-primary-workspace .kl-chat-head {
    position: relative;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 11px !important;
    align-items: center !important;
    min-height: 82px;
    padding: 14px 16px !important;
    border-bottom: 1px solid #cbdde9 !important;
    background: linear-gradient(135deg, #eef8fe 0%, #fff 72%) !important;
}
.kl-primary-workspace .kl-chat-head::before {
    content: "2";
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #0b5f9f;
    font-size: 18px;
    font-weight: 900;
}
.kl-primary-workspace .kl-ask-title {
    margin: 1px 0 3px !important;
    color: #153f5a !important;
    font-size: clamp(21px, 2vw, 28px) !important;
    line-height: 1.25 !important;
}
.kl-primary-workspace .kl-ask-text {
    color: #506a7a !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}
.kl-primary-workspace .kl-chat-verified {
    max-width: 190px;
    font-size: 11px !important;
    line-height: 1.35;
}
.kl-primary-workspace .kl-premium-chat-layout {
    gap: 12px !important;
    padding: 12px !important;
}
.kl-primary-workspace .kl-question-selector {
    min-height: 520px !important;
    border: 1px solid #c8dce9 !important;
    border-radius: 8px !important;
    background: #f7fbfe !important;
}
.kl-primary-workspace .kl-premium-chat-conversation {
    border: 1px solid #c8dce9 !important;
    border-radius: 8px !important;
}
.kl-primary-workspace .kl-chat-access-bar {
    margin: 10px 10px 0 !important;
}
.kl-primary-workspace .kl-chat-messages {
    height: 420px !important;
    min-height: 260px !important;
    max-height: 68vh !important;
    margin: 0 !important;
    padding: 16px !important;
    background: #f8fafc !important;
}
.kl-primary-workspace .kl-chat-form {
    padding: 12px !important;
    border-top: 1px solid #d7e3eb !important;
    background: #fff !important;
}
.kl-primary-workspace .kl-chat-input-wrap {
    gap: 9px !important;
}
.kl-primary-workspace .kl-chat-input {
    min-height: 64px !important;
    border: 2px solid #a9bfce !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}
.kl-primary-workspace .kl-chat-send {
    min-width: 98px !important;
    min-height: 64px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}
.kl-primary-workspace .kl-chat-note {
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.kl-faladesh-compact-section {
    overflow: hidden !important;
    padding: 0 !important;
    border: 2px solid #bfd1de !important;
    border-radius: 10px !important;
    background: #fff !important;
}
.kl-faladesh-disclosure > summary {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    min-height: 92px;
    padding: 15px 20px;
    cursor: pointer;
    list-style: none;
    background: linear-gradient(90deg, #edf7fd, #fff 68%);
    user-select: none;
}
.kl-faladesh-disclosure > summary::-webkit-details-marker { display: none; }
.kl-faladesh-disclosure > summary:hover { background: linear-gradient(90deg, #e5f3fb, #fbfdff 72%); }
.kl-faladesh-disclosure > summary:focus-visible {
    outline: 4px solid rgba(11, 109, 168, .17);
    outline-offset: -4px;
}
.kl-faladesh-disclosure-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: #0b5f9f;
    font-size: 26px;
}
.kl-faladesh-disclosure-copy { min-width: 0; }
.kl-faladesh-disclosure-copy small,
.kl-faladesh-disclosure-copy strong,
.kl-faladesh-disclosure-copy em { display: block; }
.kl-faladesh-disclosure-copy small {
    margin-bottom: 2px;
    color: #9a6514;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.kl-faladesh-disclosure-copy strong {
    color: #153f5a;
    font-size: 22px;
    line-height: 1.35;
}
.kl-faladesh-disclosure-copy em {
    margin-top: 3px;
    overflow: hidden;
    color: #5b7180;
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kl-faladesh-disclosure-action {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid #a9cce0;
    border-radius: 8px;
    color: #0b5f91;
    background: #fff;
}
.kl-faladesh-disclosure-action b { font-size: 13px; }
.kl-faladesh-disclosure-action i { width: 18px; font-size: 0; font-style: normal; text-align: center; }
.kl-faladesh-disclosure-action i::before { content: "＋"; font-size: 17px; font-weight: 900; }
.kl-faladesh-disclosure[open] .kl-faladesh-disclosure-action i::before { content: "−"; }
.kl-faladesh-disclosure[open] > summary {
    border-bottom: 1px solid #cbdde9;
    background: #edf7fd;
}
.kl-faladesh-disclosure-body > .kl-section-head {
    padding: 18px 20px !important;
    border-bottom: 1px solid #dbe5ec !important;
    background: #fbfcfd !important;
}
.kl-faladesh-disclosure-body > .kl-faladesh-list {
    padding: 15px !important;
}

@media (max-width: 1120px) {
    .kl-primary-workspace {
        grid-template-columns: minmax(330px, 390px) minmax(0, 1fr);
    }
    .kl-primary-workspace .kl-premium-chat-layout {
        grid-template-columns: 1fr !important;
    }
    .kl-primary-workspace .kl-question-selector-toggle { display: inline-flex !important; }
    .kl-primary-workspace .kl-question-selector {
        position: fixed;
        z-index: 10020;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(88vw, 360px);
        min-height: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 12px 40px rgba(4, 41, 64, .25);
        transform: translateX(-105%);
        transition: transform .2s ease;
    }
    .kl-primary-workspace .kl-chat-card.is-selector-open .kl-question-selector { transform: translateX(0); }
    .kl-primary-workspace .kl-question-selector-head button { display: block !important; }
}

@media (max-width: 820px) {
    .kl-page { padding: 10px 9px 38px !important; }
    .kl-breadcrumb { margin: 3px 4px 9px; }
    .kl-landing-hero {
        margin-bottom: 10px !important;
        padding: 15px 16px !important;
        border-left-width: 4px !important;
    }
    .kl-page-title { font-size: 26px !important; }
    .kl-page-subtitle { font-size: 13px !important; line-height: 1.5 !important; }
    .kl-primary-workspace {
        grid-template-columns: 1fr;
        gap: 11px;
    }
    .kl-primary-workspace .kl-generator-head,
    .kl-primary-workspace .kl-chat-head {
        min-height: 72px;
        padding: 12px !important;
    }
    .kl-primary-workspace .kl-generator-title { font-size: 20px !important; }
    .kl-primary-workspace .kl-form { padding: 13px !important; }
    .kl-primary-workspace .kl-field label { font-size: 14px !important; }
    .kl-primary-workspace .kl-field input,
    .kl-primary-workspace .kl-field select { font-size: 16px !important; }
    .kl-chat-preview {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
        padding: 20px 16px;
    }
    .kl-chat-preview-icon { width: 48px; height: 48px; border-radius: 10px; font-size: 23px; }
    .kl-chat-preview h2 { font-size: 21px; }
    .kl-chat-preview p { font-size: 13.5px; line-height: 1.65; }
    .kl-primary-workspace .kl-chat-verified { display: none !important; }
    .kl-primary-workspace .kl-premium-chat-layout { padding: 0 !important; }
    .kl-primary-workspace .kl-premium-chat-conversation {
        border-right: 0 !important;
        border-left: 0 !important;
        border-radius: 0 !important;
    }
    .kl-primary-workspace .kl-chat-messages {
        height: 350px !important;
        min-height: 220px !important;
        padding: 12px !important;
    }
    .kl-primary-workspace .kl-chat-input-wrap { align-items: stretch !important; }
    .kl-primary-workspace .kl-chat-send { min-width: 88px !important; }
    .kl-faladesh-disclosure > summary {
        grid-template-columns: 44px minmax(0, 1fr) 34px;
        gap: 10px;
        min-height: 82px;
        padding: 12px;
    }
    .kl-faladesh-disclosure-icon { width: 44px; height: 44px; font-size: 22px; }
    .kl-faladesh-disclosure-copy strong { font-size: 18px; }
    .kl-faladesh-disclosure-copy em { font-size: 11.5px; }
    .kl-faladesh-disclosure-action {
        min-height: 36px;
        padding: 7px;
        justify-content: center;
    }
    .kl-faladesh-disclosure-action b { display: none; }
    .kl-faladesh-disclosure-body > .kl-section-head { padding: 14px 12px !important; }
    .kl-faladesh-disclosure-body > .kl-faladesh-list { padding: 9px !important; }
}

@media (max-width: 460px) {
    .kl-eyebrow { font-size: 10px !important; }
    .kl-page-title { font-size: 23px !important; }
    .kl-page-subtitle { display: none; }
    .kl-primary-workspace .kl-generator-head,
    .kl-primary-workspace .kl-chat-head {
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }
    .kl-primary-workspace .kl-generator-head::before,
    .kl-primary-workspace .kl-chat-head::before { width: 36px; height: 36px; font-size: 16px; }
    .kl-primary-workspace .kl-trust-badge { grid-column: 1 / -1; }
    .kl-primary-workspace .kl-question-selector-toggle {
        grid-column: 1 / -1;
        justify-self: stretch;
        justify-content: center;
    }
    .kl-primary-workspace .kl-place-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 78px; }
    .kl-primary-workspace .kl-place-row input { min-width: 0 !important; }
    .kl-primary-workspace .kl-place-search-btn { min-width: 0; padding: 0 8px !important; }
    .kl-primary-workspace .kl-chat-input-wrap { display: grid !important; grid-template-columns: 1fr 82px; }
    .kl-primary-workspace .kl-chat-send { min-width: 0 !important; padding: 8px !important; }
    .kl-chat-preview { grid-template-columns: 1fr; }
    .kl-chat-preview-icon { display: none; }
    .kl-faladesh-disclosure-copy em { display: none; }
}
