/* ==================================================
   UNIFIED MARKET RESEARCH — CONSULTING PAGE
   All rules scoped under .consulting-page
================================================== */

.consulting-page{
    --cns-navy:#0a1428;
    --cns-blue:#2563eb;
    --cns-blue-dark:#1d4ed8;
    --cns-ink:#1f2937;
    --cns-muted:#667085;
    --cns-surface:#ffffff;
    --cns-soft:#f7f9fc;
    --cns-border:#e5ebf3;
    overflow-x:hidden;
    display:block;
}

/* ---------- Shared bits ---------- */

.consulting-page .cns-eyebrow{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;
    color:var(--cns-blue);
    margin-bottom:18px;
}

.consulting-page .cns-btn{
    display:inline-block;
    padding:16px 34px;
    border-radius:10px;
    font-weight:600;
    font-size:16px;
    text-decoration:none;
    transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.consulting-page .cns-btn--primary{
    background:var(--cns-blue);
    color:#fff;
    box-shadow:0 12px 30px rgba(37,99,235,.30);
}

.consulting-page .cns-btn--primary:hover{
    background:var(--cns-blue-dark);
    transform:translateY(-2px);
}

.consulting-page .cns-btn--ghost{
    background:rgba(255,255,255,.10);
    color:#fff;
    border:1px solid rgba(255,255,255,.55);
    backdrop-filter:blur(6px);
}

.consulting-page .cns-btn--ghost:hover{
    background:rgba(255,255,255,.20);
    transform:translateY(-2px);
}

/* ==================================================
   SECTION 1 — HERO
================================================== */

.consulting-page .cns-hero{
    position:relative;
    background-color:var(--cns-navy);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    padding:170px 0 150px;
    overflow:hidden;
}

.consulting-page .cns-hero__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, #060d1c 0%, rgba(10,20,40,.85) 55%, rgba(10,20,40,.60) 100%);
}

.consulting-page .cns-hero .container{
    position:relative;
    z-index:2;
}

.consulting-page .cns-hero__content{
    max-width:760px;
    color:#fff;
}

.consulting-page .cns-hero__eyebrow{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    font-size:13px;
    font-weight:600;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin-bottom:26px;
}

.consulting-page .cns-hero__title{
    font-size:58px;
    line-height:1.14;
    font-weight:700;
    margin-bottom:24px;
    color:#fff;
}

.consulting-page .cns-hero__text{
    font-size:19px;
    line-height:1.8;
    color:#d9e3ef;
    max-width:640px;
    margin-bottom:38px;
}

.consulting-page .cns-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}

/* Hero entrance animation */
.consulting-page .cns-reveal{
    opacity:0;
    transform:translateY(16px);
    animation:cnsReveal .7s ease forwards;
    animation-delay:var(--cns-delay, 0ms);
}

@keyframes cnsReveal{
    to{ opacity:1; transform:translateY(0); }
}

/* ==================================================
   SECTION 2 — WHY CUSTOM RESEARCH
================================================== */

.consulting-page .cns-why{
    padding:110px 0;
    background:var(--cns-soft);
}

.consulting-page .cns-why__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:stretch;
}

.consulting-page .cns-why__title{
    font-size:42px;
    line-height:1.22;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:22px;
}

.consulting-page .cns-why__lead{
    font-size:18px;
    line-height:1.85;
    color:var(--cns-muted);
    margin-bottom:18px;
}

.consulting-page .cns-why__support{
    font-size:16px;
    line-height:1.85;
    color:var(--cns-muted);
    margin-bottom:26px;
}

.consulting-page .cns-why__statement{
    border-left:3px solid var(--cns-blue);
    padding:6px 0 6px 20px;
    font-size:17px;
    font-weight:600;
    color:var(--cns-ink);
    margin-bottom:28px;
}

.consulting-page .cns-why__metric{
    display:inline-flex;
    flex-direction:column;
    padding:22px 30px;
    background:#fff;
    border:1px solid var(--cns-border);
    border-radius:16px;
    box-shadow:0 15px 45px rgba(10,20,40,.06);
}

.consulting-page .cns-why__metric-value{
    font-size:36px;
    font-weight:700;
    color:var(--cns-blue);
    line-height:1.1;
}

.consulting-page .cns-why__metric-label{
    font-size:14px;
    letter-spacing:.6px;
    color:var(--cns-muted);
    margin-top:6px;
}

.consulting-page .cns-why__visual{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:26px;
    min-height:100%;
}

.consulting-page .cns-why__image{
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--cns-border);
    box-shadow:0 25px 60px rgba(10,20,40,.12);
    background:#fff;
}

.consulting-page .cns-why__image img{
    display:block;
    width:100%;
    height:auto;
    transition:transform .5s ease;
}

.consulting-page .cns-why__image:hover img{
    transform:scale(1.03);
}

/* Standard -> Customized flow */
.consulting-page .cns-flow{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-evenly;
    gap:10px;
    min-height:440px;
    padding:56px 32px;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border:1px solid var(--cns-border);
    border-radius:20px;
    box-shadow:0 18px 50px rgba(10,20,40,.06);
}

.consulting-page .cns-flow__step{
    position:relative;
    display:block;
    width:100%;
    max-width:340px;
    padding:22px 18px;
    font-size:15px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;
    color:var(--cns-navy);
    text-align:center;
    background:var(--cns-soft);
    border:1px solid var(--cns-border);
    border-radius:14px;
}

.consulting-page .cns-flow__step--2{
    background:#fff;
    border-color:rgba(37,99,235,.28);
}

.consulting-page .cns-flow__step--3{
    color:#fff;
    background:var(--cns-navy);
    border-color:var(--cns-navy);
    box-shadow:0 14px 34px rgba(10,20,40,.18);
}

.consulting-page .cns-flow__arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    height:46px;
    color:var(--cns-blue);
    font-size:20px;
    line-height:1;
}



/* ==================================================
   SCROLLING TEXT STRIP
================================================== */

.consulting-page .cns-strip{
    position:relative;
    overflow:hidden;
    background:var(--cns-navy);
    padding:16px 0;
    max-width:100%;
}

.consulting-page .cns-strip__track{
    display:flex;
    width:max-content;
    animation:cnsMarquee 40s linear infinite;
}

.consulting-page .cns-strip__group{
    display:flex;
    align-items:center;
    flex:0 0 auto;
}

.consulting-page .cns-strip__item,
.consulting-page .cns-strip__sep{
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
    padding:0 14px;
    white-space:nowrap;
}

.consulting-page .cns-strip__sep{
    color:var(--cns-blue);
    padding:0;
}

@keyframes cnsMarquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

/* ==================================================
   SECTION 3 — SERVICES
================================================== */

.consulting-page .cns-services{
    padding:110px 0;
    background:var(--cns-surface);
}

.consulting-page .cns-services__head{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}

.consulting-page .cns-services__title{
    font-size:42px;
    line-height:1.22;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:16px;
}

.consulting-page .cns-services__intro{
    font-size:18px;
    line-height:1.8;
    color:var(--cns-muted);
}

.consulting-page .cns-services__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.consulting-page .cns-card{
    position:relative;
    padding:40px;
    background:#fff;
    border:1px solid var(--cns-border);
    border-radius:18px;
    box-shadow:0 12px 35px rgba(10,20,40,.05);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.consulting-page .cns-card:hover{
    transform:translateY(-6px);
    box-shadow:0 26px 55px rgba(10,20,40,.11);
    border-color:rgba(37,99,235,.45);
}

.consulting-page .cns-card__number{
    display:block;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    color:var(--cns-muted);
    margin-bottom:22px;
    transition:color .35s ease;
}

.consulting-page .cns-card:hover .cns-card__number{
    color:var(--cns-blue);
}

.consulting-page .cns-card__icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#eef4ff;
    margin-bottom:22px;
    overflow:hidden;
}

.consulting-page .cns-card__icon img{
    max-width:32px;
    max-height:32px;
    width:auto;
    height:auto;
    transition:transform .35s ease;
}

.consulting-page .cns-card:hover .cns-card__icon img{
    transform:scale(1.08);
}

.consulting-page .cns-card__title{
    font-size:24px;
    line-height:1.3;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:12px;
}

.consulting-page .cns-card__text{
    font-size:16px;
    line-height:1.8;
    color:var(--cns-muted);
}

/* ==================================================
   SECTION 4 — HOW CUSTOMIZATION WORKS (PROCESS)
================================================== */

.consulting-page .cns-process{
    padding:110px 0;
    background:var(--cns-soft);
}

.consulting-page .cns-process__head{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
}

.consulting-page .cns-process__title{
    font-size:42px;
    line-height:1.22;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:16px;
}

.consulting-page .cns-process__intro{
    font-size:18px;
    line-height:1.8;
    color:var(--cns-muted);
}

.consulting-page .cns-process__track{
    position:relative;
}

.consulting-page .cns-process .cns-process__line{
    position:absolute;
    top:29px;
    left:8%;
    right:8%;
    height:1px;
    background:linear-gradient(90deg, rgba(37,99,235,.10), rgba(37,99,235,.45), rgba(37,99,235,.10));
    transform-origin:left center;
    transform:scaleX(0);
    transition:transform .9s ease;
}

.consulting-page .cns-process .cns-process__line.is-visible{
    transform:scaleX(1);
}

.consulting-page .cns-process__steps{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.consulting-page .cns-step{
    position:relative;
    text-align:center;
    padding:0 6px;
}

.consulting-page .cns-step__marker{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    margin:0 auto 20px;
    background:#fff;
    border:1px solid var(--cns-border);
    border-radius:50%;
    box-shadow:0 10px 26px rgba(10,20,40,.07);
}

.consulting-page .cns-step__icon{
    width:26px;
    height:26px;
    object-fit:contain;
}

.consulting-page .cns-step__dot{
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--cns-blue);
}

.consulting-page .cns-step__number{
    display:block;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    color:var(--cns-blue);
    margin-bottom:10px;
}

.consulting-page .cns-step__title{
    font-size:21px;
    line-height:1.35;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:10px;
}

.consulting-page .cns-step__text{
    font-size:15px;
    line-height:1.8;
    color:var(--cns-muted);
}

/* ==================================================
   SECTION 5 — WHAT CAN BE CUSTOMIZED
================================================== */

.consulting-page .cns-custom{
    padding:110px 0;
    background:var(--cns-surface);
}

.consulting-page .cns-custom__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.consulting-page .cns-custom__image{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    border:1px solid var(--cns-border);
    box-shadow:0 28px 65px rgba(10,20,40,.14);
    background:var(--cns-soft);
    aspect-ratio:4 / 5;
}

.consulting-page .cns-custom__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;
}

.consulting-page .cns-custom__image:hover img{
    transform:scale(1.04);
}

.consulting-page .cns-custom__title{
    font-size:42px;
    line-height:1.22;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:18px;
}

.consulting-page .cns-custom__lead{
    font-size:18px;
    line-height:1.85;
    color:var(--cns-muted);
    margin-bottom:34px;
}

.consulting-page .cns-areas{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:14px;
}

.consulting-page .cns-area{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:20px 22px;
    background:#fff;
    border:1px solid var(--cns-border);
    border-radius:14px;
    transition:transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.consulting-page .cns-area:hover{
    background:var(--cns-soft);
    border-color:rgba(37,99,235,.35);
    box-shadow:0 16px 34px rgba(10,20,40,.07);
    transform:translateY(-3px);
}

.consulting-page .cns-area__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:40px;
    height:40px;
    border-radius:10px;
    background:rgba(37,99,235,.08);
    transition:transform .3s ease;
}

.consulting-page .cns-area:hover .cns-area__icon{
    transform:translateX(3px);
}

.consulting-page .cns-area__icon img{
    width:20px;
    height:20px;
    object-fit:contain;
}

.consulting-page .cns-area__bullet{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--cns-blue);
}

.consulting-page .cns-area__body{
    display:block;
}

.consulting-page .cns-area__title{
    display:block;
    font-size:17px;
    font-weight:700;
    color:var(--cns-navy);
    margin-bottom:5px;
}

.consulting-page .cns-area__text{
    display:block;
    font-size:15px;
    line-height:1.75;
    color:var(--cns-muted);
}

/* ==================================================
   SECOND SCROLLING STRIP
================================================== */

.consulting-page .cns-strip--two .cns-strip__track{
    animation-duration:48s;
}

/* ==================================================
   SECTION 6 — FINAL CTA
================================================== */

.consulting-page .cns-cta{
    position:relative;
    background-color:var(--cns-navy);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    padding:130px 0;
    overflow:hidden;
}

.consulting-page .cns-cta__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, rgba(6,13,28,.92) 0%, rgba(10,20,40,.86) 55%, rgba(10,20,40,.74) 100%);
}

.consulting-page .cns-cta .container{
    position:relative;
    z-index:2;
}

.consulting-page .cns-cta__inner{
    max-width:720px;
    color:#fff;
}

.consulting-page .cns-cta__eyebrow{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    font-size:13px;
    font-weight:600;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin-bottom:24px;
}

.consulting-page .cns-cta__title{
    font-size:46px;
    line-height:1.18;
    font-weight:700;
    color:#fff;
    margin-bottom:20px;
}

.consulting-page .cns-cta__text{
    font-size:18px;
    line-height:1.8;
    color:#d9e3ef;
    max-width:600px;
    margin-bottom:36px;
}

.consulting-page .cns-cta__actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}

/* ==================================================
   SCROLL ANIMATIONS
================================================== */

.consulting-page .cns-animate{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .6s ease, transform .6s ease;
    transition-delay:var(--cns-delay, 0ms);
}

.consulting-page .cns-animate.is-visible{
    opacity:1;
    transform:translateY(0);
}

.consulting-page.no-js .cns-animate,
.no-js .consulting-page .cns-animate{
    opacity:1;
    transform:none;
}

/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width:1200px){
    .consulting-page .cns-hero{ padding:150px 0 130px; }
    .consulting-page .cns-hero__title{ font-size:50px; }
}

@media (max-width:1024px){
    .consulting-page .cns-why{ padding:90px 0; }
    .consulting-page .cns-services{ padding:90px 0; }
    .consulting-page .cns-why__grid{
        grid-template-columns:1fr;
        gap:45px;
    }
    .consulting-page .cns-hero__title{ font-size:44px; }
    .consulting-page .cns-why__title,
    .consulting-page .cns-services__title{ font-size:36px; }
    .consulting-page .cns-card{ padding:34px; }
}

@media (max-width:768px){
    .consulting-page .cns-hero{
        padding:120px 0 100px;
        background-position:center;
    }
    .consulting-page .cns-hero__title{ font-size:36px; }
    .consulting-page .cns-hero__text{ font-size:17px; }
    .consulting-page .cns-hero__overlay{
        background:linear-gradient(180deg, rgba(6,13,28,.88), rgba(10,20,40,.80));
    }
    .consulting-page .cns-services__grid{
        grid-template-columns:1fr;
        gap:22px;
    }
    .consulting-page .cns-why__title,
    .consulting-page .cns-services__title{ font-size:30px; }
    .consulting-page .cns-card{ padding:28px; }
    .consulting-page .cns-card__title{ font-size:21px; }
}

@media (max-width:520px){
    .consulting-page .cns-hero__actions{ flex-direction:column; align-items:stretch; }
    .consulting-page .cns-btn{ text-align:center; width:100%; }
    .consulting-page .cns-why__metric{ width:100%; }
}

@media (max-width:1024px){
    .consulting-page .cns-process{ padding:90px 0; }
    .consulting-page .cns-custom{ padding:90px 0; }
    .consulting-page .cns-process__steps{ grid-template-columns:repeat(2,1fr); gap:44px 30px; }
    .consulting-page .cns-process .cns-process__line{ display:none; }
    .consulting-page .cns-custom__grid{ grid-template-columns:1fr; gap:45px; }
    .consulting-page .cns-custom__image{ aspect-ratio:16 / 10; }
    .consulting-page .cns-process__title,
    .consulting-page .cns-custom__title{ font-size:36px; }
    .consulting-page .cns-cta__title{ font-size:38px; }
    .consulting-page .cns-flow{ min-height:360px; padding:44px 26px; }
}

@media (max-width:768px){
    .consulting-page .cns-cta{ padding:100px 0; }
    .consulting-page .cns-process__title,
    .consulting-page .cns-custom__title{ font-size:30px; }
    .consulting-page .cns-cta__title{ font-size:30px; }
    .consulting-page .cns-flow{ min-height:320px; padding:36px 20px; }
    .consulting-page .cns-flow__step{ font-size:14px; padding:18px 14px; }

    /* Vertical timeline on mobile */
    .consulting-page .cns-process__steps{
        grid-template-columns:1fr;
        gap:0;
    }
    .consulting-page .cns-step{
        position:relative;
        text-align:left;
        padding:0 0 34px 78px;
    }
    .consulting-page .cns-step:last-child{ padding-bottom:0; }
    .consulting-page .cns-step::before{
        content:"";
        position:absolute;
        left:28px;
        top:58px;
        bottom:0;
        width:1px;
        background:rgba(37,99,235,.22);
    }
    .consulting-page .cns-step:last-child::before{ display:none; }
    .consulting-page .cns-step__marker{
        position:absolute;
        left:0;
        top:0;
        margin:0;
    }
}

@media (max-width:520px){
    .consulting-page .cns-cta__actions{ flex-direction:column; align-items:stretch; }
    .consulting-page .cns-area{ padding:18px; }
}

@media (prefers-reduced-motion: reduce){
    .consulting-page .cns-strip__track{ animation:none; }
    .consulting-page .cns-reveal{
        animation:none;
        opacity:1;
        transform:none;
    }
    .consulting-page .cns-animate{
        opacity:1;
        transform:none;
        transition:none;
    }
    .consulting-page .cns-card,
    .consulting-page .cns-area,
    .consulting-page .cns-custom__image img,
    .consulting-page .cns-why__image img{ transition:none; }
    .consulting-page .cns-process .cns-process__line{
        transform:none;
        transition:none;
    }
}
