:root {
    --cash-ink: #0F2A44;
    --cash-deep: #0F2A44;
    --cash-primary: #0F2A44;
    --cash-yellow: #FFD700;
    --cash-gold: #FFC300;
    --cash-gold-soft: #F2CE76;
    --cash-gold-ink: #765415;
    --cash-gold-wash: #FBF3E1;
    --cash-green-ink: #14633B;
    --cash-green: #21C15C;
    --cash-dark-green: #189045;
    --cash-white: #FFFFFF;
    --cash-paper: #F5F7FA;
    --cash-line: #DCE4EC;
    --cash-muted: #526478;
}

html { scroll-padding-top: 7rem; }
body {
    background: var(--cash-paper) !important;
    animation: none !important;
    color: var(--cash-ink);
}
body, body * { font-family: "DM Sans", Arial, sans-serif; }
body .fa, body .fas { font-family: "Font Awesome 5 Free"; }
body .fab { font-family: "Font Awesome 5 Brands"; }
h1, h2 { letter-spacing: -.045em; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible, summary:focus-visible {
    outline: 3px solid var(--cash-ink) !important;
    box-shadow: 0 0 0 3px var(--cash-white);
    outline-offset: 4px;
}
.cash-skip {
    position: fixed;
    z-index: 200;
    left: 12px;
    top: 12px;
    transform: translateY(-150%);
    background: white;
    padding: 10px 16px;
    border-radius: 8px;
}
.cash-skip:focus { transform: none; }

.cash-header {
    z-index: 50;
    background: white !important;
    border-color: var(--cash-line) !important;
    box-shadow: 0 6px 20px #0F2A440c !important;
}
.cash-header .cash-nav-logo { width: clamp(112px, 32vw, 144px); height: auto; aspect-ratio: 700 / 220; }
.cash-header .cash-header-link { font-weight: 750; text-transform: none; letter-spacing: 0; }
.cash-header .cash-active { color: var(--cash-primary); text-decoration: underline; text-underline-offset: 7px; }
.cash-header .cash-dropdown { position: relative; }
.cash-header .cash-dropdown summary { list-style: none; cursor: pointer; }
.cash-header .cash-dropdown summary::-webkit-details-marker { display: none; }
.cash-header .cash-dropdown-panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 10;
    width: 14rem;
    padding: 8px;
    background: white;
    border: 1px solid var(--cash-line);
    border-radius: 14px;
    box-shadow: 0 14px 40px #0F2A4422;
}
.cash-header .cash-dropdown-panel a { border-radius: 8px; }
.cash-header .cash-dropdown-panel a:hover { background: #EDF2F7; }
.cash-header .btn-primary { color: white; background: var(--cash-primary); box-shadow: none; border-radius: 100px; }
#mobileMenuBtn { border: 1px solid var(--cash-line); border-radius: 10px; }
#mobileMenu > a:last-child { background: var(--cash-primary); color: white; }

.cash-footer { background: var(--cash-deep) !important; }
.cash-footer h4 { color: var(--cash-yellow) !important; }
.cash-footer a { color: #f2f8ed; text-underline-offset: 4px; }
.cash-footer a:hover { color: var(--cash-yellow) !important; text-decoration: underline; }
.cash-footer .cash-footer-logo { width: min(100%, 176px); height: auto; }

.cash-home .premium-hero {
    width: min(1220px, calc(100% - 64px));
    margin: 6.5rem auto 1.5rem;
    min-height: 490px;
    border-radius: 25px;
    overflow: hidden;
    background: var(--cash-deep);
}


.cash-home .premium-hero .hero-content { position: relative; width: 100%; padding: 0; max-width: none; }
.cash-home #carouselSlides { display: grid; }
/* Hidden slides still size the shared track so longer copy cannot resize the banner. */
.cash-home #carouselSlides .carousel-slide {
    position: relative;
    grid-area: 1 / 1;
    inset: auto;
    display: grid;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    min-height: 490px;
}
.cash-home .cash-slide-copy {
    align-self: center;
    padding: 3.5rem clamp(20px, 4vw, 52px) 5.25rem;
}
.cash-slide-media {
    position: relative;
    min-width: 0;
    min-height: 0;
    background: #163654;
    border-inline-start: 2px solid var(--cash-gold-soft);
}
.cash-slide-media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}
.cash-slide-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(155deg, transparent 38%, #0F2A4433);
    pointer-events: none;
}
.cash-home .premium-hero .hero-content h1 { font-size: clamp(2rem, 4.5vw, 4.4rem); line-height: 1.02; }
.cash-home .premium-hero h1 span { color: var(--cash-yellow) !important; }
.cash-home .carousel-slide p { font-size: 1rem; margin-top: 1.15rem; max-width: 43ch; }
.cash-home .carousel-slide a { border-radius: 100px; padding: .7rem 1rem; font-size: .8rem; }
.cash-home .carousel-slide a.btn-primary { background: var(--cash-gold-soft); color: var(--cash-ink); box-shadow: none; }
.cash-home .carousel-btn { background: #fff2; }
.cash-home .premium-hero #carouselDots { width: 52%; right: auto; pointer-events: none; }
.cash-home .carousel-dot { pointer-events: auto; }
.cash-home .premium-hero #carouselNext { left: calc(52% - 3.6rem); right: auto; }
.cash-home .premium-hero #carouselPrev { left: 1.2rem; }
.cash-home .premium-hero + div { margin-top: 0; }
.cash-home .pillar-card, .cash-home .service-card, .cash-home .why-card, .cash-home .how-step {
    border: 1px solid var(--cash-line);
    box-shadow: none;
    border-radius: 17px;
}
.cash-home .pillar-card:hover, .cash-home .service-card:hover, .cash-home .why-card:hover, .cash-home .how-step:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px #0F2A4413;
}

.cash-inner main > [class*="pt-36"],
.cash-inner > section.page-header,
.cash-inner main.loan-enquiry,
.cash-inner main.grievance-hero { padding-top: clamp(6.25rem, 10vw, 8rem); }
.cash-inner main > [class*="pt-36"] {
    background: linear-gradient(180deg, #E8EEF4, var(--cash-paper) 24%) !important;
}
.cash-inner .page-header,
.cash-inner .grievance-hero { isolation: isolate; }
.cash-inner main [class*="shadow-xl"],
.cash-inner main [class*="shadow-2xl"] { box-shadow: 0 16px 32px #0F2A4412; }
.cash-inner main :is(input,textarea,select):focus {
    outline: 2px solid var(--cash-primary);
    outline-offset: 2px;
}
.cash-inner main iframe { max-width: 100%; }
.cash-inner main h1 span[class*="text-[#5b742d]"] { color: var(--cash-gold-ink); }
.cash-inner .page-header .text-white, .cash-inner .grievance-hero .text-white { color: white; }

@media (min-width: 1024px) {
    .cash-header .cash-nav-logo { width: 172px; }
}
@media (max-width: 800px) {
    .cash-home .premium-hero { width: calc(100% - 30px); margin-top: 5rem; min-height: 0; }

    .cash-home .premium-hero { display: flex; flex-direction: column; }
    .cash-home #carouselSlides .carousel-slide { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .cash-home #carouselSlides .carousel-slide { grid-template-rows: auto 1fr; }
    .cash-home .cash-slide-copy { padding: 1.75rem 1.25rem 5rem; }
    .cash-slide-media {
        grid-row: 1;
        min-height: clamp(185px, 46vw, 300px);
        border-inline-start: 0;
        border-bottom: 2px solid var(--cash-gold-soft);
    }
    .cash-home .premium-hero #carouselDots { width: 100%; }
    .cash-home .premium-hero #carouselNext { left: auto; right: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.cash-home .stat-premium { opacity: 1; transform: none; }
.cash-inner [class~="text-[#FFC300]"] { color: #147237; }
.cash-inner :is(.page-header, .grievance-hero, [class~="text-white"]) [class~="text-[#FFC300]"] { color: var(--cash-yellow); }


.cash-header .btn-primary:hover { background: var(--cash-gold); color: var(--cash-ink); }

/* Shared page and image surfaces */
.cash-product-section { background: var(--cash-white); }
.cash-testimonial-section { background: linear-gradient(180deg, var(--cash-gold-wash), var(--cash-white)); }
.cash-home .cash-photo-band { background-color: var(--cash-deep); }


.cash-feature-photo, .cash-product-photo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--cash-deep);
}
.cash-feature-photo { border-radius: 1rem; }
.cash-feature-photo::after, .cash-product-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(155deg, transparent 48%, #0F2A4433);
}
.cash-feature-photo::after {
    border: 1px solid #0F2A4426;
    border-bottom: 4px solid var(--cash-gold);
    border-radius: inherit;
}
.cash-product-photo { border-bottom: 3px solid var(--cash-gold); }
.cash-product-photo img { display: block; }
.cash-inner .partner-card { border-color: var(--cash-line); }
.cash-inner .partner-card > div:first-child {
    background: var(--cash-white);
    border: 1px solid var(--cash-line);
    border-radius: .75rem;
    padding: .625rem;
}
.cash-inner .partner-logo { max-width: 100%; }
.cash-inner .grievance-hero .card-left img {
    background: var(--cash-white);
    border: 1px solid var(--cash-line);
    border-radius: .5rem;
    object-fit: contain;
}



/* Brand color roles for surfaces and accents */
body .cash-gold-rule { background: var(--cash-gold-soft); }
body .cash-navy-icon { background: var(--cash-deep); box-shadow: none; }
body .cash-gold-icon { background: var(--cash-gold-wash); box-shadow: none; }
body .cash-portrait-frame { background: var(--cash-gold-soft); }
body :is(main, section) [class~="text-[#21C15C]"],
body :is(main, section) [class~="text-[#189045]"] { color: var(--cash-green-ink); }
body :is(.premium-hero, .cash-photo-band, .stat-premium) [class~="text-[#21C15C]"] { color: var(--cash-green); }
body .cash-photo-band :is(.why-card, .how-step) [class~="text-[#21C15C]"] { color: var(--cash-green-ink); }
body .cash-testimonial-section [class~="text-[#FFC300]"] { color: var(--cash-gold-ink); }
body .cash-home .premium-hero h1 span,
body .cash-footer h4 { color: var(--cash-gold-soft) !important; }
body .cash-home .carousel-slide a.btn-primary:hover { background: var(--cash-yellow); }
body :is(.premium-hero, .cash-photo-band, .page-header, .cash-footer) :is(a,button):focus-visible {
    outline-color: var(--cash-white) !important;
    box-shadow: 0 0 0 3px var(--cash-deep);
}

.policy-document { width: min(calc(100% - 2rem), 52rem); margin: 0 auto; padding: 7rem 0 3rem; }
.policy-document-header { margin-bottom: 1.5rem; }
.policy-document h1 { font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.12; margin: .75rem 0; font-weight: 800; }
.policy-document p { margin-bottom: .75rem; color: var(--cash-muted); }
.policy-document a { color: var(--cash-green-ink); text-decoration: underline; text-underline-offset: .2em; }
.policy-document nav { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin-top: 1rem; }
.policy-document nav a { padding: .4rem 0; }
.policy-document-page { background: white; border: 1px solid var(--cash-line); border-radius: 1rem; padding: clamp(1rem, 4vw, 2rem); margin-bottom: 1rem; }
.policy-document h2 { font-size: 1.4rem; font-weight: 800; margin-bottom: .5rem; }
.policy-document summary { cursor: pointer; color: var(--cash-green-ink); padding: .35rem 0; }
.policy-document img { display: block; width: 100%; height: auto; margin-top: .75rem; }
.policy-transcription { margin-top: 1rem; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
