/* Responsive split hero: text never sits on top of replaceable media */
.swaraj-hero-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:620px;background:#08090d;color:#fff;overflow:hidden}
.swaraj-hero-media{position:relative;order:2;min-height:620px;overflow:hidden;background:#111827}
.swaraj-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transform:scale(1.02)}
.swaraj-hero-media:after{position:absolute;inset:0;background:linear-gradient(90deg,#08090d 0%,rgba(8,9,13,.25) 28%,rgba(8,9,13,.05) 100%),linear-gradient(0deg,rgba(8,9,13,.45),transparent 42%);content:'';pointer-events:none}
.swaraj-hero-media-label{position:absolute;z-index:2;right:28px;bottom:26px;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(8,9,13,.7);color:#fbbf24;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.swaraj-hero-content{order:1;display:flex;align-items:center;padding:76px clamp(24px,6vw,100px) 76px max(24px,calc((100vw - 1280px)/2));background:radial-gradient(circle at 10% 20%,rgba(127,29,29,.32),transparent 40%),linear-gradient(135deg,#08090d,#111827 72%,#1f2937)}
.swaraj-hero-copy{width:min(100%,650px)}
.swaraj-hero-copy h1{margin:22px 0 0;font-size:clamp(2.5rem,5.5vw,5.8rem);line-height:.98;letter-spacing:-.055em}
.swaraj-hero-copy h1 span{display:inline-block;margin-top:8px}
.swaraj-hero-copy>p{max-width:570px;margin:24px 0 0;color:#d1d5db;font-size:clamp(.9rem,1.25vw,1.12rem);line-height:1.75}
@media(max-width:800px){.swaraj-hero-section{display:flex;flex-direction:column;min-height:0}.swaraj-hero-media{order:1;min-height:clamp(260px,58vw,430px);height:clamp(260px,58vw,430px)}.swaraj-hero-content{order:2;align-items:flex-start;padding:48px 20px 58px}.swaraj-hero-copy{width:100%;max-width:720px;margin:0 auto}.swaraj-hero-copy h1{font-size:clamp(2.45rem,10vw,4.4rem)}.swaraj-hero-copy>p{font-size:.92rem;line-height:1.65}.swaraj-hero-media-label{right:16px;bottom:16px}}
@media(max-width:440px){.swaraj-hero-media{min-height:235px;height:235px}.swaraj-hero-content{padding:38px 16px 46px}.swaraj-hero-copy h1{font-size:clamp(2.25rem,12vw,3.3rem)}.swaraj-hero-copy>p{margin-top:18px;font-size:.86rem}.swaraj-hero-copy .shimmer-btn,.swaraj-hero-copy a.bg-emerald-500{width:100%;justify-content:center;padding-left:16px;padding-right:16px}.swaraj-hero-media-label{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.swaraj-hero-video{transform:none}}

/* Full-bleed hero variation: media fills the hero while copy stays left aligned */
.swaraj-hero-section{position:relative;display:block;min-height:clamp(620px,78vh,820px);background:#08090d;overflow:hidden}
.swaraj-hero-media{position:absolute;inset:0;z-index:0;min-height:0;height:100%;order:initial}
.swaraj-hero-media:after{background:linear-gradient(90deg,rgba(8,9,13,.94) 0%,rgba(8,9,13,.76) 27%,rgba(8,9,13,.22) 63%,rgba(8,9,13,.06) 100%),linear-gradient(0deg,rgba(8,9,13,.62),transparent 48%)}
.swaraj-hero-content{position:relative;z-index:1;display:flex;align-items:center;min-height:clamp(620px,78vh,820px);padding:92px max(24px,calc((100vw - 1280px)/2)) 92px;background:transparent;order:initial}
.swaraj-hero-copy{width:min(100%,650px);text-align:left}
.swaraj-hero-copy>p{margin-left:0;margin-right:0;text-align:left;background:rgba(8,9,13,.42)}
.swaraj-hero-copy h1{text-align:left}
@media(max-width:800px){.swaraj-hero-section{min-height:680px}.swaraj-hero-media{position:absolute;inset:0;height:100%;min-height:0}.swaraj-hero-content{min-height:680px;align-items:flex-end;padding:54px 20px 52px;background:linear-gradient(0deg,rgba(8,9,13,.74),transparent 70%)}.swaraj-hero-copy{max-width:720px;margin:0;text-align:left}.swaraj-hero-copy h1{font-size:clamp(2.45rem,10vw,4.4rem)}}
@media(max-width:440px){.swaraj-hero-section{min-height:650px}.swaraj-hero-media{height:100%;min-height:0}.swaraj-hero-content{min-height:650px;padding:42px 16px 40px}.swaraj-hero-copy h1{font-size:clamp(2.25rem,12vw,3.3rem)}}

/* Final hero media override: the selected bus photo fills the complete hero */
.swaraj-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.01)}
.swaraj-hero-media:has(.swaraj-hero-image):after{background:linear-gradient(90deg,rgba(8,9,13,.94) 0%,rgba(8,9,13,.72) 30%,rgba(8,9,13,.24) 64%,rgba(8,9,13,.05) 100%),linear-gradient(0deg,rgba(8,9,13,.58),transparent 50%)}
@media(max-width:800px){.swaraj-hero-image{object-position:center center}.swaraj-hero-media:has(.swaraj-hero-image):after{background:linear-gradient(0deg,rgba(8,9,13,.92) 0%,rgba(8,9,13,.48) 48%,rgba(8,9,13,.12) 100%)}}
@media(prefers-reduced-motion:reduce){.swaraj-hero-image{transform:none}}

/* Hero CTA buttons: generous premium spacing */
.swaraj-hero-copy .shimmer-btn,.swaraj-hero-copy a.bg-emerald-500{min-height:58px;padding:17px 30px;border-radius:16px;font-size:.92rem;letter-spacing:.01em;box-shadow:0 16px 32px rgba(0,0,0,.28)}
.swaraj-hero-copy .shimmer-btn:hover,.swaraj-hero-copy a.bg-emerald-500:hover{box-shadow:0 20px 38px rgba(0,0,0,.38);transform:translateY(-3px)}
@media(max-width:560px){.swaraj-hero-copy .shimmer-btn,.swaraj-hero-copy a.bg-emerald-500{min-height:56px;padding:16px 22px;font-size:.88rem}}


/* Mobile readability fix: show the bus photo as its own panel, then place copy below it. */
@media (max-width: 800px) {
    .swaraj-hero-section {
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        background: #08090d;
    }

    .swaraj-hero-media {
        position: relative;
        inset: auto;
        order: 1;
        width: 100%;
        height: clamp(260px, 64vw, 390px);
        min-height: 0;
        flex: 0 0 auto;
    }

    .swaraj-hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        transform: none;
    }

    .swaraj-hero-media:after,
    .swaraj-hero-media:has(.swaraj-hero-image):after {
        background: linear-gradient(180deg, rgba(8,9,13,.05) 0%, rgba(8,9,13,.2) 65%, rgba(8,9,13,.58) 100%);
    }

    .swaraj-hero-content {
        position: relative;
        order: 2;
        display: flex;
        align-items: flex-start;
        width: 100%;
        min-height: 0;
        box-sizing: border-box;
        padding: 42px 20px 52px;
        background: linear-gradient(135deg, #08090d, #111827 72%, #1f2937);
    }

    .swaraj-hero-copy {
        width: 100%;
        max-width: 720px;
        margin: 0 auto;
    }
}

@media (max-width: 440px) {
    .swaraj-hero-media {
        height: 235px;
    }

    .swaraj-hero-content {
        padding: 34px 16px 44px;
    }
}
