:root {
    --f: #0e1c12;
    --f2: #162a1c;
    --f3: #1e3826;
    --f4: #234030;
    --saf: #e8923a;
    --safl: #f5b06a;
    --safd: #c4711f;
    --safglow: rgba(232, 146, 58, .13);
    --lime: #8cc63f;
    --limel: #aad45a;
    --limed: #6a9e28;
    --ivory: #f5f0e6;
    --ivory2: #ede5d6;
    --ivory3: #e0d4be;
    --ivdark: #c8b89a;
    --mist: #8fa898;
    --mistl: #b0c4b4;
    --mistdk: #5e7a68;
    --red: #e84040;
    --blue: #3a7abf;
    --violet: #8b5cf6;
    --teal: #2eb8a0;
    --s0: 0 2px 16px rgba(14, 28, 18, .12);
    --s1: 0 8px 40px rgba(14, 28, 18, .18);
    --s2: 0 20px 80px rgba(14, 28, 18, .25);
    --gsaf: 0 0 40px rgba(232, 146, 58, .2);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    font-family: 'Outfit', sans-serif;
    background: var(--ivory);
    color: var(--f);
    overflow-x: hidden
}

::selection {
    background: var(--saf);
    color: #fff
}

::-webkit-scrollbar {
    width: 4px
}

::-webkit-scrollbar-thumb {
    background: var(--saf);
    border-radius: 4px
}

a {
    text-decoration: none;
    color: inherit
}

/* ══ NAV ══ */
#nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 900;
    height: 60px;
    background: rgba(14, 28, 18, .97);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(232, 146, 58, .1)
}

.nav-in {
    max-width: 1440px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 4vw;
    gap: 14px
}

.logo {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
    letter-spacing: .2px
}

.logo em {
    font-style: italic;
    color: var(--saf)
}

.nav-links {
    display: flex;
    gap: 0;
    margin: 0 auto
}

.nl {
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, .3);
    padding: 6px 11px;
    cursor: pointer;
    transition: .14s;
    white-space: nowrap;
    letter-spacing: .5px
}

.nl:hover {
    color: #fff
}

.nl.act {
    color: var(--saf)
}

.nav-r {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0
}

.nb {
    background: var(--saf);
    color: #fff;
    padding: 7px 18px;
    border-radius: 3px;
    font-size: 11.5px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: .2s;
    letter-spacing: .3px
}

.nb:hover {
    background: var(--safl)
}

.nb-o {
    background: transparent;
    border: 1.5px solid rgba(232, 146, 58, .25);
    color: var(--saf);
    padding: 6px 13px;
    border-radius: 3px;
    font-size: 11.5px;
    font-weight: 500;
    cursor: pointer;
    transition: .2s
}

.nb-o:hover {
    border-color: var(--saf);
    background: var(--safglow)
}

/* ══ HERO ══ */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 60px;
    background: var(--f);
    position: relative;
    overflow: hidden
}

.hero-noise {
    position: absolute;
    inset: 0;
    opacity: .03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 200px 200px
}

.hero-grad {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 70% at 70% 50%, rgba(30, 56, 38, .8) 0%, rgba(14, 28, 18, .95) 65%)
}

.hero-in {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: 80px 5vw 100px;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
    align-items: center
}

.h-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px
}

.h-kicker-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--saf);
    animation: kdot 2s infinite
}

@keyframes kdot {

    0%,
    100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: .4;
        transform: scale(.7)
    }
}

.h-kicker-txt {
    font-family: 'DM Mono', monospace;
    font-size: 9.5px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(232, 146, 58, .65)
}

.hero-h1 {
    font-family: 'Fraunces', serif;
    font-size: clamp(46px, 6.5vw, 88px);
    font-weight: 300;
    color: #fff;
    line-height: .98;
    letter-spacing: -2.5px;
    margin-bottom: 18px
}

.hero-h1 em {
    font-style: italic;
    color: var(--saf);
    display: block
}

.hero-h1 small {
    display: block;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .2);
    font-style: normal;
    margin-top: 14px;
    font-weight: 400
}

.hero-para {
    font-size: 15.5px;
    color: rgba(255, 255, 255, .38);
    line-height: 1.85;
    font-weight: 300;
    max-width: 520px;
    margin-bottom: 32px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 18px
}

.hero-nums {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(232, 146, 58, .08);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 32px
}

.hn {
    background: rgba(14, 28, 18, .7);
    padding: 14px 16px
}

.hn-n {
    font-family: 'Fraunces', serif;
    font-size: 26px;
    color: var(--safl);
    font-weight: 400;
    line-height: 1
}

.hn-l {
    font-family: 'DM Mono', monospace;
    font-size: 7.5px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .22);
    margin-top: 4px
}

.hero-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.btn-p {
    background: var(--saf);
    color: #fff;
    padding: 13px 26px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: .22s;
    letter-spacing: .3px
}

.btn-p:hover {
    background: var(--safl);
    box-shadow: var(--gsaf);
    transform: translateY(-1px)
}

.btn-s {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, .15);
    color: rgba(255, 255, 255, .5);
    padding: 12px 20px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: .22s
}

.btn-s:hover {
    border-color: rgba(255, 255, 255, .35);
    color: #fff
}

/* Hero map */
.hero-map-card {
    background: rgba(22, 42, 28, .9);
    border: 1px solid rgba(232, 146, 58, .1);
    border-radius: 8px;
    padding: 20px;
    backdrop-filter: blur(16px)
}

.hmc-title {
    font-family: 'DM Mono', monospace;
    font-size: 8.5px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(232, 146, 58, .5);
    margin-bottom: 12px
}

.mh-svg {
    width: 100%;
    height: auto
}

.map-legend {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin-top: 10px
}

.ml-i {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    color: rgba(255, 255, 255, .3);
    letter-spacing: .3px
}

.ml-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0
}

/* ══ MACRO THESIS ══ */
.macro {
    background: var(--f2);
    padding: 80px 5vw;
    border-top: 1px solid rgba(232, 146, 58, .06)
}

.mac-in {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.mac-left {}

.sk {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px
}

.sk-line {
    width: 24px;
    height: 2px;
    background: var(--saf);
    flex-shrink: 0
}

.sk-txt {
    font-family: 'DM Mono', monospace;
    font-size: 9.5px;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--saf)
}

.sec-h {
    font-family: 'Fraunces', serif;
    font-size: clamp(26px, 3.5vw, 46px);
    font-weight: 300;
    line-height: 1.06;
    letter-spacing: -1.2px;
    margin-bottom: 10px
}

.sec-h em {
    font-style: italic;
    color: var(--saf)
}

.sec-sub {
    font-size: 14px;
    color: var(--mist);
    line-height: 1.85;
    font-weight: 300;
    max-width: 580px;
    margin-bottom: 0
}

/* on light bg */
.onlight .sec-h {
    color: var(--f)
}

.onlight .sec-sub {
    color: var(--mistdk)
}

.onlight .sk-txt {
    color: var(--safd)
}

.onlight .sk-line {
    background: var(--safd)
}

/* on dark bg */
.sec-h {
    color: #fff
}

.sec-sub {
    color: var(--mist)
}

.macro-reasons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 28px
}

.mr {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 18px;
    background: rgba(14, 28, 18, .6);
    border: 1px solid rgba(232, 146, 58, .07);
    border-radius: 5px;
    transition: .24s
}

.mr:hover {
    border-color: rgba(232, 146, 58, .18);
    background: rgba(22, 42, 28, .9)
}

.mr-n {
    font-family: 'Fraunces', serif;
    font-size: 34px;
    color: rgba(232, 146, 58, .18);
    font-weight: 300;
    line-height: 1;
    flex-shrink: 0;
    width: 32px;
    text-align: right
}

.mr-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 3px
}

.mr-desc {
    font-size: 12.5px;
    color: var(--mist);
    line-height: 1.65;
    font-weight: 300
}

/* Right side: Maharashtra GDP / growth stats */
.mac-right {
    margin-top: 28px
}

.mstat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px
}

.mstat {
    background: rgba(14, 28, 18, .8);
    border: 1px solid rgba(232, 146, 58, .08);
    border-radius: 5px;
    padding: 16px 18px
}

.mstat-n {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    color: var(--safl);
    font-weight: 300;
    line-height: 1
}

.mstat-l {
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--mist);
    margin-top: 4px
}

.mstat-desc {
    font-size: 11.5px;
    color: rgba(255, 255, 255, .3);
    line-height: 1.5;
    margin-top: 5px;
    font-weight: 300
}

/* Infra list */
.mega-projs {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.mp {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 14px;
    background: rgba(14, 28, 18, .7);
    border: 1px solid rgba(232, 146, 58, .06);
    border-radius: 4px
}

.mp-ico {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px
}

.mp-body {}

.mp-name {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2px
}

.mp-desc {
    font-size: 11.5px;
    color: var(--mist);
    font-weight: 300;
    line-height: 1.5
}

.mp-tag {
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    color: var(--safl);
    letter-spacing: 1px;
    margin-top: 3px;
    opacity: .7
}

/* ══ FILTER BAR ══ */
.fbar {
    position: sticky;
    top: 103px;
    z-index: 800;
    background: rgba(14, 28, 18, .97);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(232, 146, 58, .08);
    padding: 0 5vw
}

.fb-in {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow-x: auto;
    padding: 10px 0;
    scrollbar-width: none
}

.fb-in::-webkit-scrollbar {
    display: none
}

.fb-btn {
    font-size: 11px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 2px;
    border: 1.5px solid rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .35);
    cursor: pointer;
    white-space: nowrap;
    transition: .18s;
    background: transparent;
    flex-shrink: 0;
    letter-spacing: .3px
}

.fb-btn:hover,
.fb-btn.on {
    border-color: var(--saf);
    color: var(--saf);
    background: var(--safglow)
}

.fb-btn.all.on {
    background: var(--saf);
    color: #fff;
    border-color: var(--saf)
}

.fb-sep {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, .07);
    flex-shrink: 0;
    margin: 0 4px
}

.fb-cnt {
    font-family: 'DM Mono', monospace;
    font-size: 9.5px;
    color: rgba(255, 255, 255, .2);
    margin-left: 6px;
    flex-shrink: 0;
    white-space: nowrap
}

.fb-srch {
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 255, 255, .05);
    border: 1.5px solid rgba(255, 255, 255, .08);
    border-radius: 2px;
    padding: 0 11px;
    height: 32px
}

.fb-srch input {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 11.5px;
    outline: none;
    width: 150px;
    font-family: 'Outfit', sans-serif
}

.fb-srch input::placeholder {
    color: rgba(255, 255, 255, .2)
}

/* ══ LOCATION CARDS ══ */
.lc-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 28px 5vw 80px
}

.lc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 18px
}

.lcard {
    background: #fff;
    border: 1px solid var(--ivory3);
    border-radius: 7px;
    overflow: hidden;
    transition: .3s;
    cursor: default
}

.lcard:hover {
    transform: translateY(-4px);
    box-shadow: var(--s2);
    border-color: rgba(232, 146, 58, .18)
}

/* Card image strip */
.lc-top {
    position: relative;
    height: 180px;
    overflow: hidden
}

.lc-top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.72) saturate(.8);
    transition: .55s
}

.lcard:hover .lc-top img {
    transform: scale(1.06);
    filter: brightness(.58)
}

.lc-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    z-index: 2
}

.lcbadge {
    font-family: 'DM Mono', monospace;
    font-size: 7.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 2px;
    backdrop-filter: blur(8px)
}

.lc-score {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(14, 28, 18, .92);
    border: 1px solid rgba(232, 146, 58, .22);
    border-radius: 4px;
    padding: 5px 10px;
    z-index: 2;
    text-align: center
}

.lcs-n {
    font-family: 'Fraunces', serif;
    font-size: 21px;
    color: var(--safl);
    line-height: 1;
    font-weight: 400
}

.lcs-l {
    font-family: 'DM Mono', monospace;
    font-size: 6.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .3)
}

.lc-nameplate {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 2
}

.lcn-name {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 400;
    color: #fff;
    line-height: 1.15;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .5)
}

.lcn-sub {
    font-size: 10px;
    color: rgba(255, 255, 255, .45);
    margin-top: 2px;
    font-weight: 400
}

/* Card body */
.lc-body {
    padding: 14px 16px 0
}

.lc-tgl {
    font-family: 'Fraunces', serif;
    font-size: 12.5px;
    font-style: italic;
    color: var(--safd);
    margin-bottom: 7px;
    line-height: 1.4
}

.lc-desc {
    font-size: 12.5px;
    color: var(--mistdk);
    line-height: 1.72;
    font-weight: 300;
    margin-bottom: 10px
}

.lc-pills {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.lcp {
    font-size: 9.5px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 2px;
    letter-spacing: .2px
}

.lc-data {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-bottom: 8px
}

.lcd {
    background: var(--ivory);
    border-radius: 3px;
    padding: 7px 10px;
    border: 1px solid var(--ivory3)
}

.lcd-l {
    font-family: 'DM Mono', monospace;
    font-size: 7.5px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--mist);
    margin-bottom: 2px
}

.lcd-v {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--f)
}

.lcd-v.big {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 400
}

.grow-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px
}

.grow-bar {
    flex: 1;
    background: var(--ivory3);
    border-radius: 10px;
    height: 4px;
    overflow: hidden
}

.grow-fill {
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(90deg, var(--saf), var(--safl))
}

.grow-lbl {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    color: var(--mist);
    width: 60px;
    text-align: right;
    flex-shrink: 0
}

/* Expand section */
.lc-exp {
    border-top: 1px solid var(--ivory3);
    max-height: 0;
    overflow: hidden;
    transition: max-height .45s ease
}

.lc-exp.open {
    max-height: 1200px
}

.lce {
    padding: 14px 16px 16px
}

.lce-sec {
    margin-bottom: 12px
}

.lce-sec:last-child {
    margin-bottom: 0
}

.lce-title {
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--saf);
    margin-bottom: 7px
}

.lce-list {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.lce-li {
    font-size: 12px;
    color: var(--mistdk);
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.6
}

.lce-li::before {
    content: '→';
    color: var(--lime);
    font-size: 9px;
    flex-shrink: 0;
    margin-top: 2px
}

.lce-warn {
    color: var(--safd)
}

.lce-warn::before {
    content: '⚠';
    font-size: 10px;
    color: var(--saf)
}

.xdata {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-top: 8px
}

.lce-tags {
    display: flex;
    gap: 4px;
    flex-wrap: wrap
}

.lce-tag {
    font-size: 10px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 3px;
    background: var(--ivory);
    color: var(--f2);
    border: 1px solid var(--ivory3)
}

/* Card foot */
.lc-foot {
    border-top: 1px solid var(--ivory3);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.lc-price {
    font-family: 'Fraunces', serif;
    font-size: 14px;
    color: var(--f)
}

.lc-price small {
    font-size: 9px;
    color: var(--mist);
    font-family: 'Outfit', sans-serif;
    display: block
}

.lc-btns {
    display: flex;
    gap: 5px
}

.lc-more {
    background: transparent;
    color: var(--safd);
    border: 1.5px solid var(--ivory3);
    padding: 6px 11px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: .18s;
    display: flex;
    align-items: center;
    gap: 4px
}

.lc-more:hover {
    border-color: var(--saf);
    background: var(--safglow)
}

.lc-enq {
    background: var(--f);
    color: #fff;
    padding: 7px 14px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: .18s;
    letter-spacing: .2px
}

.lc-enq:hover {
    background: var(--f3)
}

.xarr {
    display: inline-block;
    transition: .3s
}

/* ══ INVESTMENT STRATEGIES ══ */
.strat {
    background: var(--f2);
    padding: 80px 5vw
}

.strat-in {
    max-width: 1440px;
    margin: 0 auto
}

.strat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 18px;
    margin-top: 36px
}

.sc {
    background: rgba(14, 28, 18, .7);
    border: 1px solid rgba(232, 146, 58, .08);
    border-radius: 7px;
    padding: 26px;
    transition: .3s;
    position: relative;
    overflow: hidden
}

.sc::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px
}

.sc.c1::before {
    background: linear-gradient(90deg, transparent, var(--saf), transparent)
}

.sc.c2::before {
    background: linear-gradient(90deg, transparent, var(--lime), transparent)
}

.sc.c3::before {
    background: linear-gradient(90deg, transparent, var(--teal), transparent)
}

.sc.c4::before {
    background: linear-gradient(90deg, transparent, var(--blue), transparent)
}

.sc.c5::before {
    background: linear-gradient(90deg, transparent, var(--violet), transparent)
}

.sc:hover {
    background: rgba(22, 42, 28, .9);
    border-color: rgba(232, 146, 58, .18)
}

.sc-ico {
    font-size: 28px;
    margin-bottom: 12px
}

.sc-title {
    font-family: 'Fraunces', serif;
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 7px;
    line-height: 1.2
}

.sc-desc {
    font-size: 13px;
    color: var(--mist);
    line-height: 1.78;
    font-weight: 300;
    margin-bottom: 14px
}

.sc-list {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.sc-li {
    font-size: 12.5px;
    color: rgba(255, 255, 255, .4);
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.6
}

.sc-li::before {
    content: '→';
    color: var(--saf);
    font-size: 9px;
    flex-shrink: 0;
    margin-top: 3px
}

.sc-tag {
    display: inline-block;
    margin-top: 12px;
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 2px;
    background: rgba(232, 146, 58, .08);
    color: var(--safl);
    border: 1px solid rgba(232, 146, 58, .12)
}

/* ══ RISK MATRIX ══ */
.risk-sec {
    background: var(--ivory);
    padding: 80px 5vw
}

.risk-in {
    max-width: 1440px;
    margin: 0 auto
}

.risk-table-wrap {
    overflow-x: auto;
    margin-top: 36px;
    border-radius: 7px;
    border: 1px solid var(--ivory3)
}

.rtbl {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px
}

.rtbl thead {
    background: var(--f)
}

.rtbl th {
    padding: 12px 14px;
    text-align: left;
    color: rgba(255, 255, 255, .35);
    font-family: 'DM Mono', monospace;
    font-size: 8px;
    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap
}

.rtbl td {
    padding: 11px 14px;
    font-size: 12.5px;
    color: var(--mistdk);
    border-bottom: 1px solid var(--ivory3);
    vertical-align: middle
}

.rtbl tr:last-child td {
    border-bottom: none
}

.rtbl tr:hover td {
    background: var(--ivory2)
}

.rtbl .city {
    font-weight: 700;
    color: var(--f);
    font-size: 13px
}

.rtbl .price {
    font-family: 'Fraunces', serif;
    font-size: 13px;
    color: var(--f)
}

.rtbl .roi {
    font-weight: 700;
    color: var(--limed)
}

.risk-chip {
    font-family: 'DM Mono', monospace;
    font-size: 8.5px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 2px;
    white-space: nowrap
}

.rtbl .horizon {
    font-family: 'DM Mono', monospace;
    font-size: 10px
}

.bar-cell {
    display: flex;
    flex-direction: column;
    gap: 3px
}

.mini-bar {
    height: 5px;
    border-radius: 5px;
    background: var(--ivory3);
    overflow: hidden;
    min-width: 60px
}

.mini-fill {
    height: 100%;
    border-radius: 5px
}

/* ══ LEGAL GUIDE ══ */
.legal {
    background: var(--f3);
    padding: 80px 5vw
}

.legal-in {
    max-width: 1440px;
    margin: 0 auto
}

.legal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 18px;
    margin-top: 36px
}

.lgc {
    background: rgba(14, 28, 18, .6);
    border: 1px solid rgba(232, 146, 58, .07);
    border-radius: 7px;
    padding: 24px;
    transition: .3s
}

.lgc:hover {
    border-color: rgba(232, 146, 58, .18);
    background: rgba(14, 28, 18, .9)
}

.lgc.warn {
    border-color: rgba(232, 146, 58, .12)
}

.lgc-ico {
    font-size: 26px;
    margin-bottom: 10px
}

.lgc-title {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 8px
}

.lgc-list {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.lgc-li {
    font-size: 12px;
    color: var(--mist);
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.65
}

.lgc-li::before {
    content: '✓';
    color: var(--lime);
    font-size: 9px;
    flex-shrink: 0;
    margin-top: 2px
}

.lgc-li.w::before {
    content: '⚠';
    color: var(--saf)
}

.lgc-li.w {
    color: rgba(232, 146, 58, .65)
}

/* ══ CTA ══ */
.ncta {
    background: var(--f);
    padding: 90px 5vw;
    text-align: center;
    position: relative;
    overflow: hidden
}

.ncta::before {
    content: 'MAHARASHTRA';
    position: absolute;
    left: -40px;
    bottom: -40px;
    font-family: 'Fraunces', serif;
    font-size: 180px;
    color: rgba(232, 146, 58, .025);
    font-weight: 300;
    pointer-events: none;
    line-height: 1;
    white-space: nowrap
}

.ncta-in {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto
}

.ncta-kicker {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: rgba(232, 146, 58, .4);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center
}

.ncta-kicker::before,
.ncta-kicker::after {
    content: '';
    flex: 1;
    max-width: 40px;
    height: 1px;
    background: rgba(232, 146, 58, .15)
}

.ncta h2 {
    font-family: 'Fraunces', serif;
    font-size: clamp(28px, 4.5vw, 54px);
    font-weight: 300;
    color: #fff;
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin-bottom: 12px
}

.ncta h2 em {
    font-style: italic;
    color: var(--safl)
}

.ncta p {
    font-size: 14px;
    color: rgba(255, 255, 255, .3);
    line-height: 1.85;
    margin-bottom: 28px
}

.ncta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.ncta-nums {
    display: flex;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 4px;
    overflow: hidden;
    max-width: 420px;
    margin: 28px auto 0
}

.cnum {
    flex: 1;
    padding: 14px 8px;
    border-right: 1px solid rgba(255, 255, 255, .05)
}

.cnum:last-child {
    border-right: none
}

.cnum-n {
    font-family: 'Fraunces', serif;
    font-size: 24px;
    color: var(--safl);
    font-weight: 300;
    line-height: 1
}

.cnum-l {
    font-family: 'DM Mono', monospace;
    font-size: 7px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .18);
    margin-top: 3px
}

footer {
    background: var(--f2);
    padding: 32px 5vw;
    border-top: 1px solid rgba(255, 255, 255, .04);
    text-align: center
}

footer p {
    font-family: 'DM Mono', monospace;
    font-size: 10.5px;
    color: rgba(255, 255, 255, .15);
    letter-spacing: .3px
}

footer span {
    color: var(--saf)
}

.flt-wa {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #25d366;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 4px 20px rgba(37, 211, 102, .38);
    cursor: pointer;
    z-index: 700;
    animation: wp 3s infinite;
    text-decoration: none
}

@keyframes wp {

    0%,
    100% {
        box-shadow: 0 4px 18px rgba(37, 211, 102, .3)
    }

    50% {
        box-shadow: 0 4px 30px rgba(37, 211, 102, .55)
    }
}

#toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(14px);
    z-index: 2000;
    background: var(--f3);
    color: #fff;
    padding: 10px 18px;
    border-radius: 3px;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    box-shadow: var(--s2);
    opacity: 0;
    transition: .28s;
    white-space: nowrap;
    pointer-events: none;
    border-left: 2px solid var(--saf)
}

#toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0)
}

.rv {
    transition: opacity .6s ease, transform .6s ease
}

.js-rv .rv {
    opacity: 0;
    transform: translateY(16px)
}

.js-rv .rv.visible {
    opacity: 1;
    transform: none
}

@media(max-width:1100px) {

    .hero-in,
    .mac-in {
        grid-template-columns: 1fr
    }

    .hero-right {
        display: none
    }
}

@media(max-width:768px) {
    .nav-links {
        display: none
    }

    .lc-grid {
        grid-template-columns: 1fr
    }

    .strat-grid {
        grid-template-columns: 1fr
    }

    .legal-grid {
        grid-template-columns: 1fr
    }
}