/* =====================================================
   PRO-F — HOME PAGE  (loads AFTER app.css)
   Only what is unique to the home page. Layout comes from
   Bootstrap's grid; colours/spacing come from app.css tokens.
   ===================================================== */


.hero-actions {
    display: flex;
    align-items: center;
    gap: 35px;
    flex-wrap: wrap;
}
.hero-index {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 10px;
    letter-spacing: .17em;
    color: #dbe5eb;
    position: absolute;
    bottom: 32px;
    left: 0;
}
.hero-index .line {
    width: 80px;
    height: 1px;
    background: #9ab0bd;
}
.hero-side {
    position: absolute;
    right: 22px;
    top: 50%;
    writing-mode: vertical-rl;
    letter-spacing: .24em;
    font-size: 9px;
    color: #e3e9ed;
}
@media(max-width:800px) {
    
    .hero-side {
        display: none;
    }
}
@media(max-width:560px) {
    
    .hero-actions {
        gap: 23px;
    }
}


/* ==================================================
   SERVICES — FULL CARD CLICKABLE
   ================================================== */

#services .card {
    position: relative;
    cursor: pointer;
    border: 1px solid #e2e8f0;
}

/* Full-card clickable overlay */
#services .card .card-click-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    border-radius: inherit;
    cursor: pointer;
}

/* Keep Read more above the overlay */
#services .card .btn-sm-link {
    position: relative;
    z-index: 3;
    cursor: pointer;
}

/* Keyboard accessibility */
#services .card .card-click-overlay:focus-visible {
    outline: 3px solid #d99a42;
    outline-offset: 3px;
}






/* ---------- section backgrounds used only here ---------- */
.section-soft  { background: #f7f9fa; }
.section-tint  { background: #f6f9fa; }
.section-tint2 { background: #f5f8fa; }
.hero-index { left: var(--section-padding-inline); }

/* ---------- ABOUT ---------- */
.about-row { --bs-gutter-y: 25px; }
@media (min-width: 768px) { .about-row { --bs-gutter-x: 55px; } }
.about-photo { height: 440px; }
.about-copy h3 { margin: 15px 0 20px; color: var(--navy-deep); font: 500 clamp(25px,2.8vw,38px)/1.25 var(--font-display); }
.about-copy p  { margin-bottom: 15px; color: var(--muted); line-height: 1.8; }
.about-copy .text-link { margin-top: 15px; }
@media (max-width: 760px) { .about-photo { height: 280px; } }

/* ---------- WHY CHOOSE ---------- */
.why-row { --bs-gutter-x: clamp(30px, 6vw, 48px); --bs-gutter-y: 30px; }
.why-photo { height: 570px; }
.why-photo-tag {
    position: absolute; z-index: 3; left: 22px; bottom: 22px; padding: 14px 18px;
    background: var(--navy-mid); color: #fff; border-left: 4px solid var(--emerald); border-radius: 5px;
    box-shadow: 0 6px 18px rgba(23,59,99,.18); font-size: .7rem; font-weight: 800; letter-spacing: .16em;
}
.why-content h2 { margin: 15px 0 20px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.16; }
.why-content > p, .faq-heading > p, .contact-intro > p { margin: 15px 0; }
.why-content > p { color: #57687a; }
.why-list { margin: 25px 0 30px; }
.why-list > div { display: flex; gap: 18px; padding: 17px 0; border-top: 1px solid #dce4ea; }
.why-icon { padding-top: 5px; color: var(--emerald-dark); font-size: .8rem; font-weight: 800; }
.why-list h3 { margin: 0 0 5px; font-size: 1.04rem; font-weight: 700; }
.why-list p { margin: 0; color: #667485; }
@media (max-width: 1050px) { .why-photo { height: 470px; } }
@media (max-width: 767.98px) { .why-photo { height: 310px; } }
@media (max-width: 760px) { .why-photo-tag { left: 14px; bottom: 14px; padding: 10px 12px; font-size: 10px; } }

/* ---------- STATEMENT ---------- */
.statement .row { min-height: 530px; }
.statement-photo { min-height: 480px; }
.statement-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); }
.statement-copy { display: flex; flex-direction: column; justify-content: center; padding: 75px 60px 65px 70px; }
.statement-copy h2 { font-size: clamp(36px,3.6vw,52px); }
.statement-copy > p { max-width: 430px; margin: 25px 0 35px; color: #c8d6df; }
.statement-sign { color: #e0e9ee; font-size: 11px; letter-spacing: .2em; }
.statement-sign span { margin: 0 10px; color: var(--accent); }
@media (max-width: 1050px) { .statement-copy { padding: 50px 38px; } }
@media (max-width: 767.98px) { .statement-copy { padding-inline: 25px 60px; } }

/* ---------- FAQ / CONTACT row gaps on phones ---------- */
@media (max-width: 767.98px) {
    .faq-row { --bs-gutter-y: 34px; }
    .contact-row { --bs-gutter-y: 30px; }
    .statement-photo { height: 350px; min-height: 0; }
    .statement-copy { padding-block: 60px; }
}

/* ---------- PRESS ---------- */
.media-row { --bs-gutter-y: 35px; }
@media (min-width: 768px) { .media-row { --bs-gutter-x: 64px; } }







/* ---------- REVIEWS ---------- */
.review-card { height: 100%; min-height: 350px; margin: 0; padding:20px; background: #fff; border: 1px solid #e1e8ef; box-shadow: 0 8px 30px rgba(12,36,60,.04); }
.review-stars { color: #bd8b3b; font-size: .85rem; letter-spacing: .15em; }
.review-card > p { margin: 20px 0 30px; color: #273d55; font: 15px/1.75; }
.review-card footer { display: flex; align-items: center; gap: 14px; }
.review-card footer strong, .review-card footer small { display: block; }
.review-card footer small { margin-top: 3px; color: #798696; font-size: .75rem; }
.avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #174366; color: #fff; font-size: .75rem; font-weight: 700; }
.review-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 30px 0 10px; }
.review-arrow { width: 46px; height: 46px; border: 1px solid #b9cbd5; border-radius: 50%; background: #fff; color: var(--navy); font-size: 23px; cursor: pointer; transition: background .2s, color .2s; }
.review-arrow:hover { background: var(--navy); color: #fff; }
.review-position { color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.testimonial-note { margin: 18px 0 12px; color: #788596; font-size: .76rem; text-align: center; }
@media (max-width: 575.98px) { .review-card { padding: 25px; } }

/* ---------- FAQ / CONTACT ---------- */
.faq-heading h2 { margin: 15px 0 20px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.16; }
.faq-heading > p { color: #57687a; }
.contact-intro > p { max-width: 460px; color: var(--muted); line-height: 1.9; }




/* =====================================================
   6. IN THE PRESS / NEWSPAPER READER
   ===================================================== */
.media-tag {
    font-size: 10px;
    letter-spacing: .13em;
    font-weight: 700;
    color: var(--navy);
}
.paper-visual {
    background: #eae7df;
    padding: 35px 45px;
    min-height: 355px;
    box-shadow: 0 12px 28px #1a2c3711;
    text-align: center;
    color: #29353b;
}
.media-meta {
    display: flex;
    justify-content: space-between;
    color: var(--navy);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    margin: 24px 0 8px;
}
.media-feature h3 {
    font: 500 26px 'Playfair Display',serif;
    color: var(--navy-deep);
}
.media-feature>p {
    color: var(--muted);
    font-size: 13px;
}
.media-list-item {
    display: grid;
    grid-template-columns: 40px 1fr 25px;
    gap: 18px;
    border-bottom: 1px solid var(--line);
    padding: 24px 0;
}
.media-list-item:first-child {
    padding-top: 4px;
}
.media-num {
    font: 19px 'Playfair Display',serif;
    color: #a4b1bb;
}
.media-list-item h3 {
    font: 500 23px/1.3 'Playfair Display',serif;
    color: var(--navy-deep);
    margin: 10px 0;
}
.media-list-item p {
    font-size: 12px;
    color: var(--muted);
    margin: 0;
}
.media-arrow {
    font-size: 22px;
    color: var(--navy);
}
.media-footnote {
    font-size: 11px;
    color: #85929a;
    margin-top: 20px;
}
@media(max-width:1050px) {
    }
@media(max-width:800px) {
    }
@media(max-width:560px) {
    .paper-visual {
        padding: 25px 22px;
        min-height: 320px;
    }
    .media-list-item {
        grid-template-columns: 25px 1fr 20px;
        gap: 10px;
    }
    .media-list-item h3 {
        font-size: 21px;
    }
}
.media-feature>p,
.media-list-item p {
    font-size: 15px;
    line-height: 1.75;
}
.media-meta {
    color: var(--emerald-dark)!important;
}
.media-meta,
.media-tag {
    color: var(--emerald-dark)!important;
}
.media-arrow {
    color: var(--emerald-dark)!important;
}
.newspaper-reader {
    background: #f2f0e8!important;
    padding: 24px 25px 18px!important;
    border: 1px solid #d9d8cf;
    box-shadow: 0 14px 30px rgba(17,39,53,.12),inset 0 0 0 5px #e7e4d9!important;
    text-align: left!important;
    color: #263540!important;
    perspective: 1400px;
}
.newspaper-masthead {
    text-align: center;
    border-top: 3px double #33454c;
    border-bottom: 3px double #33454c;
    padding: 8px 0 9px;
    margin-bottom: 14px;
    color: #183c5b;
}
.newspaper-masthead span {
    display: block;
    font: 700 clamp(19px,2.2vw,27px)/1.1 Georgia,'Times New Roman',serif;
    letter-spacing: -.04em;
}
.newspaper-masthead small {
    display: block;
    font: 700 8px/1.5 'DM Sans',Arial,sans-serif;
    letter-spacing: .16em;
    margin-top: 5px;
}
.newspaper-page-wrap {
    position: relative;
    min-height: 340px;
    transform-style: preserve-3d;
    perspective: 1200px;
}
.newspaper-page {
    position: absolute;
    inset: 0;
    padding: 8px 5px 35px;
    background: linear-gradient(90deg,rgba(40,45,40,.035),transparent 10%,transparent 95%,rgba(40,45,40,.025));
    opacity: 0;
    visibility: hidden;
    transform: rotateY(88deg);
    transform-origin: left center;
    backface-visibility: hidden;
}
.newspaper-page.is-current {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: rotateY(0);
}
.newspaper-page.turn-out-next {
    visibility: visible;
    animation: paperFlipOutNext .48s ease-in forwards;
    z-index: 2;
}
.newspaper-page.turn-out-prev {
    visibility: visible;
    animation: paperFlipOutPrev .48s ease-in forwards;
    z-index: 2;
}
.newspaper-page.turn-in-next {
    visibility: visible;
    animation: paperFlipInNext .48s ease-out both;
    z-index: 1;
}
.newspaper-page.turn-in-prev {
    visibility: visible;
    animation: paperFlipInPrev .48s ease-out both;
    z-index: 1;
}
.newspaper-kicker {
    font: 800 9px/1.4 'DM Sans',Arial,sans-serif;
    letter-spacing: .14em;
    color: var(--emerald-dark);
    border-bottom: 1px solid #c5c9be;
    padding-bottom: 7px;
}
.newspaper-page h3 {
    font: 700 clamp(22px,2.4vw,30px)/1.08 Georgia,'Times New Roman',serif;
    color: var(--navy-mid);
    margin: 13px 0 10px;
    letter-spacing: -.025em;
}
.newspaper-lead {
    font: italic 14px/1.45 Georgia,'Times New Roman',serif;
    color: #45545a;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #d5d4cb;
}
.newspaper-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    column-rule: 1px solid #d4d3ca;
}
.newspaper-columns p {
    font: 12px/1.65 Georgia,'Times New Roman',serif;
    text-align: justify;
    color: #3d474b;
    margin: 0;
    overflow-wrap: anywhere;
}
.newspaper-page-foot {
    position: absolute;
    bottom: 3px;
    left: 5px;
    right: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #c9cbc3;
    padding-top: 6px;
    color: #6c7778;
    font: 700 7px/1.4 'DM Sans',Arial,sans-serif;
    letter-spacing: .1em;
}
.newspaper-page-foot b {
    font: 700 10px Georgia,serif;
    color: var(--navy-mid);
}
.newspaper-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #d3d2c8;
    margin-top: 10px;
    padding-top: 12px;
}
.newspaper-controls button {
    border: 1px solid #b8c8bb;
    background: #fff;
    color: var(--navy-mid);
    padding: 9px 11px;
    font: 700 11px/1.2 'DM Sans',Arial,sans-serif;
    cursor: pointer;
    transition: background .2s,color .2s,border-color .2s;
}
.newspaper-controls button:hover:not(:disabled) {
    background: var(--emerald-dark);
    border-color: var(--emerald-dark);
    color: #fff;
}
.newspaper-controls button:disabled {
    opacity: .4;
    cursor: not-allowed;
}
.newspaper-controls span {
    font: 800 8px/1.3 'DM Sans',Arial,sans-serif;
    letter-spacing: .12em;
    color: var(--emerald-dark);
    text-align: center;
    white-space: nowrap;
}
.newspaper-sample-note {
    text-align: center;
    font: 9px/1.5 'DM Sans',Arial,sans-serif;
    color: #7b817b;
    margin-top: 9px;
}
@keyframes paperFlipOutNext{from{transform:rotateY(0);opacity:1}to{transform:rotateY(-88deg);opacity:0}}
@keyframes paperFlipOutPrev{from{transform:rotateY(0);opacity:1}to{transform:rotateY(88deg);opacity:0}}
@keyframes paperFlipInNext{from{transform:rotateY(88deg);opacity:.2}to{transform:rotateY(0);opacity:1}}
@keyframes paperFlipInPrev{from{transform:rotateY(-88deg);opacity:.2}to{transform:rotateY(0);opacity:1}}
@media(max-width:760px) {
    .newspaper-reader {
        padding: 20px 18px 15px!important;
    }
    .newspaper-page-wrap {
        min-height: 390px;
    }
    .newspaper-columns {
        gap: 10px;
    }
    .newspaper-columns p {
        font-size: 12px;
        line-height: 1.6;
    }
    .newspaper-controls button {
        padding: 9px 8px;
        font-size: 10px;
    }
    .newspaper-controls span {
        font-size: 7px;
    }
}
@media(max-width:420px) {
    .newspaper-page-wrap {
        min-height: 450px;
    }
    .newspaper-columns {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .newspaper-page h3 {
        font-size: 23px;
    }
    .newspaper-lead {
        font-size: 13px;
    }
    .newspaper-columns p {
        font-size: 12px;
    }
    .newspaper-controls {
        gap: 5px;
    }
    .newspaper-controls button {
        padding: 8px 6px;
        font-size: 9px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .newspaper-page.turn-out-next,
    .newspaper-page.turn-out-prev,
    .newspaper-page.turn-in-next,
    .newspaper-page.turn-in-prev {
        animation: none!important;
    }
}
.media .eyebrow .dash {
    background: var(--emerald);
}
.media-tag,
.media-meta {
    color: var(--emerald-dark);
}
.newspaper-article-source {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 12px 0 15px;
    padding: 8px 0;
    border-top: 1px solid #c7d5ca;
    border-bottom: 1px solid #c7d5ca;
    font: 600 10px/1.5 'DM Sans',Arial,sans-serif;
    color: #28566a;
}
.newspaper-page h3 {
    font: 700 clamp(24px,2.2vw,31px)/1.2 Georgia,'Noto Serif Devanagari',serif!important;
    letter-spacing: 0!important;
    margin: 12px 0 14px!important;
    color: var(--navy-mid)!important;
}
.newspaper-page .newspaper-kicker {
    color: var(--emerald-dark)!important;
    font-weight: 800;
}
.newspaper-page .newspaper-lead {
    font-size: 15px!important;
    line-height: 1.7!important;
    font-weight: 700;
    color: #28566a!important;
    border-left: 3px solid var(--emerald);
    padding-left: 12px;
    margin: 12px 0 15px!important;
}
.newspaper-page .marathi-columns {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.newspaper-page .marathi-columns p {
    font-family: 'DM Sans','Noto Sans Devanagari',Arial,sans-serif;
    font-size: 13px;
    line-height: 1.75;
    color: #344550;
    margin: 0;
}
.newspaper-page-foot b {
    color: var(--emerald-dark)!important;
}
.newspaper-controls button {
    background: var(--navy-mid)!important;
    color: #fff!important;
    border: 1px solid var(--navy-mid)!important;
    border-radius: 3px;
    cursor: pointer;
}
.newspaper-controls button:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.newspaper-controls button:not(:disabled):hover {
    background: var(--emerald-dark)!important;
    border-color: var(--emerald-dark)!important;
}
.newspaper-original-link {
    display: inline-flex;
    margin-top: 15px;
    padding: 9px 12px;
    background: var(--mint);
    color: var(--navy-mid)!important;
    border-left: 3px solid var(--emerald);
    font-size: 12px;
    font-weight: 800;
}
.newspaper-original-link:hover {
    background: var(--emerald);
    color: #fff!important;
}
.newspaper-sample-note {
    font-size: 10px!important;
    line-height: 1.6;
    color: #65756c!important;
    margin-top: 10px!important;
}
@media(max-width:760px) {
    .newspaper-page .marathi-columns {
        grid-template-columns: 1fr;
    }
    .newspaper-page .marathi-columns p {
        font-size: 13px;
    }
    .newspaper-page h3 {
        font-size: 24px!important;
    }
    .newspaper-article-source {
        font-size: 9px;
    }
}
/* Entire editorial article is clickable */
#media .media-list-item {
    padding: 0;
    cursor: pointer;
}

#media .media-item-link {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    height: 100%;
    padding: 24px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

#media .media-item-content {
    flex: 1;
    min-width: 0;
}

#media .media-item-link h3 {
    color: inherit;
}

#media .media-item-link .media-arrow {
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

#media .media-item-link:hover .media-arrow {
    transform: translate(3px, -3px);
}

#media .media-item-link:focus-visible {
    outline: 2px solid #d99a42;
    outline-offset: -3px;
}

@media (max-width: 575.98px) {
    #media .media-item-link {
        gap: 12px;
        padding: 18px 14px;
    }
}
.hero-actions .btn-light,
.hero-actions .text-link {
    width: 230px;
    height: 52px;
    min-height: 52px;
    box-sizing: border-box;
    padding: 0 22px; 
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
} 
.hero-actions .text-link {
    justify-content: center;
    gap: 8px;
    text-align: center;
}


/* =====================================================
   PRO-F — INTERACTIVE FINANCIAL JOURNEY
   Scoped to #process only
   ===================================================== */

#process.prof-process {
    --process-navy: #244a6b;
    --process-navy-deep: #0c243b;
    --process-green: #238653;
    --process-emerald: #35a66f;
    --process-mint: #e6f5ea;
    --process-border: rgba(36, 74, 107, 0.14);
    --process-text: #526b83;
    --process-white: #ffffff;

    overflow: hidden;
}

#process .section-head {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

#process .section-head .eyebrow {
    justify-content: left;
}

#process .section-head h2 {
    color: var(--process-navy-deep);
}

#process .section-head h2 em {
    color: var(--accent);
}

#process .section-head p {
    max-width: 100%;
    margin: 0px;
    font-size: 16px;
    color: var(--muted);
    line-height: 1.6;
}

/* Six-step journey */

#process .process-journey {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 34px;
    margin-top: 34px;
}

#process .process-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 0 10px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--process-text);
    text-align: center;
    cursor: pointer;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
}

#process .process-step:focus-visible {
    outline: 2px solid var(--process-emerald);
    outline-offset: 4px;
    border-radius: 8px;
}

#process .process-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 14px;
    border: 1px solid rgba(36, 74, 107, 0.2);
    border-radius: 50%;
    background: var(--process-white);
    color: var(--process-navy);
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

#process .process-step-icon svg {
    width: 27px;
    height: 27px;
}

#process .process-step-number {
    margin-bottom: 7px;
    color: var(--process-navy);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

#process .process-step-title {
    max-width: 160px;
    color: var(--process-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

/* Process arrow — positioned above the circle */

#process .process-step-line {
    position: absolute;
    top: 16px;
    right: -7px;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: transparent;
    z-index: 3;
    pointer-events: none;
}

#process .process-step-line::after {
    content: "→";
    display: block;
    color: #bca47c;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transition: color 0.25s ease;
}

/* Active process arrow turns green */

#process .process-step.active .process-step-line::after {
    color: var(--process-emerald);
}

/* No arrow after the last step */

#process .process-step:last-child .process-step-line {
    display: none;
}

#process .process-step:hover .process-step-icon {
    border-color: var(--process-emerald);
    color: var(--process-green);
    transform: translateY(-3px);
}

#process .process-step.active .process-step-icon {
    border-color: var(--process-green);
    background: var(--process-green);
    color: var(--process-white);
    box-shadow: 0 0 0 6px rgba(53, 166, 111, 0.13);
}

#process .process-step.active .process-step-number,
#process .process-step.active .process-step-title {
    color: var(--process-green);
}

/* Detail panel */

#process .process-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    gap: clamp(28px, 5vw, 66px);
    align-items: stretch;
    padding: 20px !important;
    border: 1px solid var(--process-border);
    /*border-radius: 12px;*/
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 12px 38px rgba(12, 36, 59, 0.035);
}

#process .process-detail-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

#process .process-detail-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    margin-bottom: 18px;
    color: var(--process-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

#process .process-detail-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 30px;
    padding: 0 10px;
    border-radius: 30px;
    background: var(--process-mint);
    letter-spacing: 0.08em;
}

#process .process-detail-divider {
    opacity: 0.5;
}

#process .process-detail-title {
    margin: 0 0 16px;
    color: var(--process-navy-deep);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.2;
}

#process .process-detail-description {
    margin: 0;
    color: var(--process-text);
    font-size: 15px;
    line-height: 1.9;
}

#process .process-detail-footer {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 28px;
}

#process .process-progress-text {
    color: var(--process-navy);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

#process .process-progress-divider {
    padding: 0 5px;
    color: var(--process-emerald);
}

#process .process-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 46px;
    padding: 11px 20px;
    border: 0px solid var(--navy);
    background: var(--mint);
    color: var(--navy);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

#process .process-next:hover {
    background: var(--navy);
    /*border-color: var(--process-green);*/
    color: var(--process-white);
}

/*#process .process-next:focus-visible {*/
/*    outline: 2px solid var(--process-emerald);*/
/*    outline-offset: 3px;*/
/*}*/

#process .process-next svg {
    width: 17px;
    height: 17px;
}

/* Decorative finance panel */

#process .process-detail-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    min-height: 300px;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    background:
        radial-gradient(
            circle at 88% 15%,
            rgba(53, 166, 111, 0.18),
            transparent 34%
        ),
        linear-gradient(
            140deg,
            #edf6f0 0%,
            #f8faf7 48%,
            #e4f0e9 100%
        );
}

#process .process-detail-visual::after {
    right: 20px;
    bottom: 10px;
    width: 150px;
    height: 55px;
    border-top: 1px solid rgba(35, 134, 83, 0.18);
    border-radius: 50%;
    transform: rotate(12deg);
}

#process .process-visual-top,
#process .process-visual-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

#process .process-visual-top {
    gap: 10px;
    color: var(--process-navy);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.17em;
}

#process .process-visual-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--process-emerald);
    box-shadow: 0 0 0 4px rgba(53, 166, 111, 0.12);
}

#process .process-visual-main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 24px 0;
}

#process .process-visual-icon {
    display: flex;
    flex: 0 0 84px;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border: 1px solid rgba(35, 134, 83, 0.22);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.72);
    color: var(--process-green);
    transition: color 0.2s ease;
}

#process .process-visual-icon svg {
    width: 38px;
    height: 38px;
}

#process .process-visual-copy {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

#process .process-visual-eyebrow {
    color: var(--process-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.17em;
}

#process .process-visual-heading {
    color: var(--process-navy-deep);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(23px, 2.5vw, 31px);
    line-height: 1.2;
}

#process .process-visual-subheading {
    color: var(--process-text);
    font-size: 15px;
    line-height: 1.6;
}

#process .process-visual-bottom {
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 17px;
    border-top: 1px solid rgba(36, 74, 107, 0.13);
    color: var(--process-navy);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

#process .process-visual-separator {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--process-emerald);
}

/* Closing statement */

#process .process-closing {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
    color: var(--process-green);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-align: center;
}

#process .process-closing-line {
    width: 32px;
    height: 1px;
    background: rgba(35, 134, 83, 0.45);
}

#process .process-closing-slash {
    color: rgba(35, 134, 83, 0.55);
}

/* Tablet */

@media (max-width: 991.98px) {
    #process .process-journey {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 22px;
    }

    #process .process-step {
        padding-inline: 12px;
    }

    #process .process-step-title {
        max-width: 190px;
    }

    #process .process-detail {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
        gap: 20px;
        padding: 20px;
    }

    #process .process-detail-visual {
        min-height: 280px;
        padding: 20px;
    }
}

/* Mobile */

@media (max-width: 575.98px) {
    #process .section-head {
        margin-bottom: 30px;
    }

    #process .section-head p {
        font-size: 14px;
        line-height: 1.75;
    }

    #process .process-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 20px;
        margin-bottom: 25px;
    }

    #process .process-step {
        padding: 0 7px 12px;
    }

    #process .process-step-icon {
        width: 52px;
        height: 52px;
        margin-bottom: 10px;
    }

    #process .process-step-icon svg {
        width: 23px;
        height: 23px;
    }

    #process .process-step-number {
        margin-bottom: 5px;
        font-size: 12px;
    }

    #process .process-step-title {
        max-width: 155px;
        font-size: 12px;
        line-height: 1.5;
    }

    #process .process-step-line {
        display: none;
    }

    #process .process-detail {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
        padding: 20px;
        border-radius: 10px;
    }

    #process .process-detail-label {
        margin-bottom: 15px;
        font-size: 10px;
    }

    #process .process-detail-title {
        margin-bottom: 12px;
        font-size: 28px;
    }

    #process .process-detail-description {
        font-size: 14px;
        line-height: 1.8;
    }

    #process .process-detail-footer {
        padding-top: 22px;
    }

    #process .process-next {
        min-height: 43px;
        padding: 10px 15px;
        font-size: 15px;
    }

    #process .process-detail-visual {
        min-height: 225px;
        padding: 19px;
    }

    #process .process-visual-main {
        gap: 15px;
        padding: 20px 0;
    }

    #process .process-visual-icon {
        flex-basis: 62px;
        width: 62px;
        height: 62px;
    }

    #process .process-visual-icon svg {
        width: 30px;
        height: 30px;
    }

    #process .process-visual-heading {
        font-size: 24px;
    }

    #process .process-visual-bottom {
        gap: 8px;
        font-size: 8px;
    }

    #process .process-closing {
        gap: 9px;
        margin-top: 24px;
        font-size: 8px;
        letter-spacing: 0.1em;
    }

    #process .process-closing-line {
        width: 18px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    #process .process-step-icon,
    #process .process-step-line,
    #process .process-step-line::after,
    #process .process-next {
        transition: none;
    }
}


/* Stats band overlapping hero banner */
.stats-band {
    position: relative;
    z-index: 10;
    margin-top: -90px;
    margin-bottom: 30px;
}

/* Single rounded white card box */
.stats-card-box {
    background: #ffffff;
    padding: 30px 20px;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

/* Vertical dividers only for Desktop (min-width: 992px) */
@media (min-width: 992px) {
    .stats-card-box .stat + .stat,
    .stats-card-box .note + .stat,
    .stats-card-box .stat + .note {
        border-left: 1px solid #e2e8f0;
    }
}

/* Mobile responsive adjustments (2 Columns Layout) */
@media (max-width: 991.98px) {
    .stats-band {
        margin-top: -60px; /* Mobile var overlap neat thevnyasathi */
        padding-inline: 12px;
    }

    .stats-card-box {
        padding: 20px 10px;
    }

    /* Mobile var 2 columns astat tyamule grid lines (bottom ani right borders) */
    .stats-card-box .col-6 {
        padding-block: 12px;
        position: relative;
    }

    /* 1st ani 3rd item la right la vertical line sathi */
    .stats-card-box .col-6:nth-child(odd) {
        border-right: 1px solid #f1f5f9;
    }

    /* Top 2 items la bottom la horizontal line sathi */
    .stats-card-box .col-6:nth-child(1),
    .stats-card-box .col-6:nth-child(2) {
        border-bottom: 1px solid #f1f5f9;
    }

    /* Mobile var font size thodi set keli jeane karun overflow honar nahi */
    .stats-card-box .stat strong {
        font-size: 1.5rem;
    }
    
    .stats-card-box .note {
        font-size: 0.85rem;
    }
}



#process .process-prev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 46px;
    padding: 11px 20px;
    border: 0px solid var(--navy);
    background: var(--mint);
    color: var(--navy);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

#process .process-prev:hover {
    background: var(--navy);
    /*border-color: var(--process-green);*/
    color: var(--process-white);
}

#process .process-prev:focus-visible {
    outline: 2px solid var(--process-emerald);
    outline-offset: 3px;
}

#process .process-prev svg {
    width: 17px;
    height: 17px;
}


/* Mobile view sathi process buttons full-width ani clean disnyasathi */
@media (max-width: 575.98px) {
    #process .process-detail-footer .d-flex {
        flex-direction: column !important; /* Mobile var buttons eka khali ek yeatil */
        width: 100%;
        gap: 10px !important;
    }

    #process .process-prev,
    #process .process-next {
        width: 100% !important; /* Button purn mobile screen chi width ghetil */
        justify-content: center;
    }
}


.about-copy h3 em {
    font-weight: 400;
    color: var(--accent);
}
/* Phakt Why Choose Us section sathi default cursor */
.no-pointer-section .process-card,
.no-pointer-section .process-card * {
    cursor: default!important;
}


/* Phakt #media section chya cards sathi ha rule lagel */
#media .card {
    position: relative;
}

#media .card > a:not(.text-link) {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-indent: -9999px;
}

#media .card .text-link {
    position: relative;
    z-index: 3;
}