/* =========================================================
       RAJ SECURITY - NEW HOMEPAGE UI
       ========================================================= */
    :root {
        --rs-navy: #071d30;
        --rs-navy-2: #0d2c44;
        --rs-yellow: #f7b718;
        --rs-yellow-dark: #d99c00;
        --rs-accent: #f87601;
        --rs-text: #223444;
        --rs-muted: #657789;
        --rs-light: #f5f8fb;
        --rs-white: #fff;
        --rs-border: #e3e9ef;
        --rs-shadow: 0 18px 50px rgba(7, 29, 48, .09);
        --rs-radius: 18px;
    }

    .rs-new-home {
        color: var(--rs-text);
        background: #fff;
        overflow: hidden;
    }

    .rs-new-home *,
    .rs-new-home *::before,
    .rs-new-home *::after {
        box-sizing: border-box;
    }

    .rs-new-container {
        width: min(1180px, calc(100% - 32px));
        margin-inline: auto;
    }

    /* TOP SLIDER */
    .rs-top-slider {
        background: var(--rs-navy);
        line-height: 0;
    }

    .rs-top-slider .rs-slider {
        width: 100%;
    }

    .rs-top-slider .rs-slider__viewport {
        width: 100%;
        overflow: hidden;
    }

    .rs-top-slider .rs-slider__track {
        display: flex;
    }

    .rs-top-slider .rs-slider__slide {
        flex: 0 0 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
    }

    .rs-top-slider .rs-slider__slide img {
        display: block;
        width: 100%;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center;
    }

    .rs-top-slider .rs-slider__dots {
        position: absolute;
        left: 50%;
        bottom: 14px;
        z-index: 3;
        transform: translateX(-50%);
    }

    .rs-top-slider .rs-slider__nav {
        z-index: 4;
    }

    /* HERO */
    .rs-new-hero {
        position: relative;
        padding: 84px 0 72px;
        background:
            radial-gradient(circle at 88% 20%, rgba(247,183,24,.12), transparent 28%),
            linear-gradient(145deg, #f8fafc 0%, #fff 55%, #f3f7fa 100%);
    }

    .rs-new-hero__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
        gap: 58px;
        align-items: center;
    }

    .rs-kicker {
        display: inline-block;
        margin-bottom: 13px;
        color: #9a6900;
        font-size: .8rem;
        font-weight: 900;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .rs-new-hero h1 {
        max-width: 800px;
        margin: 0 0 19px;
        color: var(--rs-navy);
        font-size: clamp(2.35rem, 5.2vw, 4.25rem);
        line-height: 1.06;
        letter-spacing: -.04em;
    }

    .rs-new-hero__lead {
        max-width: 760px;
        margin: 0;
        color: var(--rs-muted);
        font-size: 1.1rem;
        line-height: 1.75;
    }

    .rs-new-hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 28px;
    }

    .rs-new-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 20px;
        border-radius: 10px;
        font-weight: 900;
        text-decoration: none !important;
        transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }

    .rs-new-btn:hover {
        transform: translateY(-2px);
    }

    .rs-new-btn--primary {
        color: var(--rs-navy) !important;
        background: var(--rs-accent);
    }

    .rs-new-btn--primary:hover {
        background: #ffd65b;
    }

    .rs-new-btn--dark {
        color: #fff !important;
        background: var(--rs-navy);
    }

    .rs-new-btn--dark:hover {
        background: var(--rs-navy-2);
    }

    .rs-new-hero__proof {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin-top: 22px;
    }

    .rs-new-hero__proof span {
        padding: 7px 11px;
        border: 1px solid var(--rs-border);
        border-radius: 999px;
        color: #586b7c;
        background: #fff;
        font-size: .84rem;
        font-weight: 700;
    }

    .rs-new-hero__card {
        position: relative;
        padding: 30px;
        border: 1px solid rgba(7,29,48,.08);
        border-radius: 22px;
        background: #fff;
        box-shadow: var(--rs-shadow);
    }

    .rs-new-hero__card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 5px;
        border-radius: 22px 22px 0 0;
        background: var(--rs-yellow);
    }

    .rs-new-hero__card-label {
        margin: 0 0 9px;
        color: #9a6900;
        font-size: .78rem;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .rs-new-hero__card h2 {
        margin: 0 0 18px;
        color: var(--rs-navy);
        font-size: 1.35rem;
        line-height: 1.3;
    }

    .rs-new-hero__facts {
        display: grid;
        gap: 12px;
        margin: 0;
    }

    .rs-new-hero__facts div {
        display: grid;
        grid-template-columns: 115px 1fr;
        gap: 10px;
        padding-top: 12px;
        border-top: 1px solid var(--rs-border);
    }

    .rs-new-hero__facts dt {
        color: var(--rs-muted);
        font-size: .83rem;
        font-weight: 700;
    }

    .rs-new-hero__facts dd {
        margin: 0;
        color: var(--rs-navy);
        font-size: .93rem;
        font-weight: 800;
    }

    /* SECTION COMMON */
    .rs-new-section {
        padding: 30px 0;
    }

    .rs-new-section--soft {
        background: var(--rs-light);
    }

    .rs-new-section__head {
        max-width: 820px;
        margin: 0 auto 42px;
        text-align: center;
    }

    .rs-new-section__head h2 {
        margin: 0 0 14px;
        color: var(--rs-navy);
        font-size: clamp(1.85rem, 3.6vw, 2.65rem);
        line-height: 1.18;
        letter-spacing: -.025em;
    }

    .rs-new-section__head p:not(.rs-kicker) {
        margin: 0;
        color: var(--rs-muted);
        font-size: 1rem;
    }

    /* INTRO */
    .rs-new-intro {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
        gap: 52px;
        align-items: center;
    }

    .rs-new-intro h2 {
        margin: 0 0 17px;
        color: var(--rs-navy);
        font-size: clamp(1.85rem, 3.7vw, 2.65rem);
        line-height: 1.16;
    }

    .rs-new-intro p {
        margin: 0 0 14px;
        color: var(--rs-muted);
    }

    .rs-new-intro__panel {
        padding: 28px;
        border: 1px solid var(--rs-border);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 12px 36px rgba(7,29,48,.06);
    }

    .rs-new-intro__panel h3 {
        margin: 0 0 17px;
        color: var(--rs-navy);
    }

    .rs-check-list {
        display: grid;
        gap: 12px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .rs-check-list li {
        position: relative;
        padding-left: 30px;
        color: var(--rs-text);
    }

    .rs-check-list li::before {
        content: "✓";
        position: absolute;
        left: 0;
        top: 2px;
        width: 20px;
        height: 20px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: var(--rs-navy);
        background: var(--rs-yellow);
        font-size: .72rem;
        font-weight: 900;
    }

    /* CARDS */
    .rs-new-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .rs-new-card {
        height: 100%;
        overflow: hidden;
        border: 1px solid var(--rs-border);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 26px rgba(7,29,48,.055);
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .rs-new-card:hover {
        transform: translateY(-5px);
        border-color: rgba(247,183,24,.55);
        box-shadow: var(--rs-shadow);
    }

    .rs-new-card__image-link,
    .rs-new-card__image-wrap {
        display: block;
        overflow: hidden;
        background: #fff;
        line-height: 0;
    }

    .rs-new-card__image {
        display: block;
        width: 100%;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        transition: transform .28s ease;
    }

    .rs-new-card:hover .rs-new-card__image {
        transform: none;
    }

    .rs-new-card__body {
        padding: 23px;
    }

    .rs-new-card h3 {
        margin: 0 0 9px;
        color: var(--rs-navy);
        font-size: 1.18rem;
        line-height: 1.3;
    }

    .rs-new-card h3 a {
        color: inherit;
        text-decoration: none;
    }

    .rs-new-card p {
        margin: 0 0 15px;
        color: var(--rs-muted);
        font-size: .95rem;
        line-height: 1.65;
    }

    .rs-new-link {
        color: #916100;
        font-size: .9rem;
        font-weight: 900;
    }

    .rs-new-link:hover {
        text-decoration: underline;
    }

    /* INDUSTRIES */
    .rs-industry-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 12px;
    }

    .rs-industry {
        min-height: 88px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        padding: 15px;
        border: 1px solid var(--rs-border);
        border-radius: 14px;
        color: var(--rs-navy);
        background: #fff;
        text-decoration: none !important;
        transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }

    .rs-industry:hover {
        transform: translateY(-3px);
        border-color: rgba(247,183,24,.75);
        background: #fff9e4;
    }

    .rs-industry span {
        color: #a56e00;
        font-weight: 900;
        font-size: .82rem;
    }

    .rs-industry strong {
        font-size: .94rem;
    }

    /* PROCESS */
    .rs-process {
        max-width: 950px;
        margin: 0 auto;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 13px;
    }

    .rs-process li {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 17px;
        align-items: start;
        padding: 19px;
        border: 1px solid var(--rs-border);
        border-radius: 15px;
        background: #fff;
    }

    .rs-process__number {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: var(--rs-navy);
        background: var(--rs-yellow);
        font-weight: 900;
    }

    .rs-process h3 {
        margin: 0 0 4px;
        color: var(--rs-navy);
        font-size: 1.06rem;
    }

    .rs-process p {
        margin: 0;
        color: var(--rs-muted);
    }

    /* TESTIMONIAL */
    .rs-testimonial-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .rs-testimonial {
        position: relative;
        margin: 0;
        padding: 28px;
        border: 1px solid var(--rs-border);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 28px rgba(7,29,48,.05);
    }

    .rs-testimonial__mark {
        margin: 0;
        color: var(--rs-yellow-dark);
        font-size: 3rem;
        font-weight: 900;
        line-height: .7;
    }

    .rs-testimonial p {
        margin: 16px 0 20px;
        color: var(--rs-text);
        line-height: 1.7;
    }

    .rs-testimonial cite {
        color: #8f6100;
        font-style: normal;
        font-weight: 900;
    }

    /* FAQ */
    .rs-faq-list {
        max-width: 900px;
        margin: 0 auto;
        display: grid;
        gap: 11px;
    }

    .rs-faq-list details {
        padding: 0 20px;
        border: 1px solid var(--rs-border);
        border-radius: 14px;
        background: #fff;
    }

    .rs-faq-list summary {
        padding: 19px 0;
        cursor: pointer;
        color: var(--rs-navy);
        font-weight: 900;
        list-style: none;
    }

    .rs-faq-list summary::-webkit-details-marker {
        display: none;
    }

    .rs-faq-list summary::after {
        content: "+";
        float: right;
        color: #9a6900;
        font-size: 1.25rem;
    }

    .rs-faq-list details[open] summary::after {
        content: "−";
    }

    .rs-faq-list p {
        margin: -2px 0 20px;
        color: var(--rs-muted);
    }

    /* CONTACT */
    .rs-contact {
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        gap: 36px;
        align-items: center;
    }

    .rs-contact h2 {
        margin: 0 0 14px;
        color: var(--rs-navy);
        font-size: clamp(1.85rem, 3.5vw, 2.6rem);
        line-height: 1.17;
    }

    .rs-contact p {
        margin: 0;
        color: var(--rs-muted);
    }

    .rs-contact-card {
        overflow: hidden;
        border: 1px solid var(--rs-border);
        border-radius: 18px;
        background: #fff;
        box-shadow: var(--rs-shadow);
    }

    .rs-contact-card a,
    .rs-contact-card div {
        display: block;
        padding: 19px 22px;
        border-bottom: 1px solid var(--rs-border);
        text-decoration: none;
    }

    .rs-contact-card > :last-child {
        border-bottom: 0;
    }

    .rs-contact-card span {
        display: block;
        margin-bottom: 3px;
        color: var(--rs-muted);
        font-size: .8rem;
        font-weight: 700;
    }

    .rs-contact-card strong {
        color: var(--rs-navy);
        font-size: .96rem;
    }

    /* FINAL CTA */
    .rs-final {
        padding: 82px 0;
        color: #fff;
        background:
            radial-gradient(circle at 15% 15%, rgba(247,183,24,.12), transparent 25%),
            linear-gradient(135deg, var(--rs-navy), var(--rs-navy-2));
        text-align: center;
    }

    .rs-final .rs-kicker {
        color: var(--rs-yellow);
    }

    .rs-final h2 {
        max-width: 850px;
        margin: 0 auto 13px;
        color: #fff;
        font-size: clamp(2rem, 4vw, 3rem);
        line-height: 1.15;
    }

    .rs-final p {
        max-width: 760px;
        margin: 0 auto 25px;
        color: rgba(255,255,255,.78);
    }

    .rs-final .rs-new-hero__actions {
        justify-content: center;
        margin-top: 0;
    }

    /* UTILITY */
    .rs-center {
        margin-top: 33px;
        text-align: center;
    }

    .rs-small-note {
        margin: 17px 0 0;
        color: var(--rs-muted);
        font-size: .82rem;
        text-align: center;
    }

    /* RESPONSIVE */
    @media (max-width: 1050px) {
        .rs-industry-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (max-width: 900px) {
        .rs-new-hero__grid,
        .rs-new-intro,
        .rs-contact {
            grid-template-columns: 1fr;
        }

        .rs-new-grid,
        .rs-testimonial-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 650px) {
        .rs-new-container {
            width: min(100% - 24px, 1180px);
        }

        .rs-new-section {
            padding: 58px 0;
        }

        .rs-top-slider .rs-slider__slide img {
            width: 100%;
            height: auto !important;
            max-width: 100%;
        }

        .rs-new-hero {
            padding: 58px 0;
        }

        .rs-new-hero h1 {
            font-size: clamp(2.1rem, 10vw, 3.1rem);
        }

        .rs-new-hero__actions {
            flex-direction: column;
        }

        .rs-new-btn {
            width: 100%;
        }

        .rs-new-grid,
        .rs-testimonial-grid,
        .rs-industry-grid {
            grid-template-columns: 1fr;
        }

        .rs-new-hero__facts div {
            grid-template-columns: 1fr;
            gap: 2px;
        }

        .rs-process li {
            grid-template-columns: 42px 1fr;
            padding: 16px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .rs-new-home *,
        .rs-new-home *::before,
        .rs-new-home *::after {
            scroll-behavior: auto !important;
            transition: none !important;
            animation: none !important;
        }
    }
