/* =========================================================
   GOVERNMENT APPROVED VALUERS INDIA
   HERO
   Namespace: gaviHero
========================================================= */

.gaviHero{
    position:relative;
    overflow:hidden;
    padding:90px 0 82px;
    background:
        radial-gradient(circle at 82% 20%,rgba(185,120,0,.15),transparent 27%),
        linear-gradient(135deg,#04152d 0%,#061d3d 52%,#092f62 100%);
    color:#fff;
    isolation:isolate;
}

.gaviHeroGlow{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(2px);
    z-index:-1;
}

.gaviHeroGlowOne{
    width:420px;
    height:420px;
    right:-180px;
    top:-180px;
    border:1px solid rgba(240,180,41,.18);
    box-shadow:0 0 100px rgba(185,120,0,.10);
}

.gaviHeroGlowTwo{
    width:280px;
    height:280px;
    left:-170px;
    bottom:-170px;
    border:1px solid rgba(255,255,255,.08);
}

.gaviHeroGrid{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
    gap:55px;
    align-items:center;
}

.gaviHeroContent{
    position:relative;
    z-index:2;
}

.gaviHeroEyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    color:#f0b429;
    font-size:15px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.gaviHeroEyebrowLine{
    width:45px;
    height:2px;
    background:linear-gradient(90deg,#b97800,#f0b429);
    display:inline-block;
}

.gaviHero h1{
    margin:0 0 24px;
    max-width:900px;
    color:#fff;
    font-size:clamp(38px,4.3vw,59px);
    line-height:1.04;
    font-weight:800;
    letter-spacing:-1.8px;
}

.gaviHero h1 span{
    display:block;
    margin-top:8px;
    color:#f0b429;
    font-size:.53em;
    line-height:1.25;
    letter-spacing:-.3px;
}

.gaviHeroDeck{
    max-width:850px;
    margin-bottom:25px;
    color:#e9eef5;
    font-size:18px;
    line-height:1.75;
}

.gaviHeroDeck strong{
    color:#f0b429;
}

.gaviHeroCredentialStrip{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:0 0 25px;
}

.gaviHeroCredentialStrip span{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:8px 13px;
    border:1px solid rgba(240,180,41,.28);
    border-radius:5px;
    background:rgba(255,255,255,.055);
    color:#dce5ef;
    font-size:15px;
    line-height:1.4;
}

.gaviHeroCredentialStrip strong{
    margin-right:5px;
    color:#f0b429;
}

.gaviHeroLead{
    max-width:890px;
    margin:0;
    color:#d9e2ec;
    font-size:16px;
    line-height:1.82;
}

.gaviHeroLead strong{
    color:#fff;
    font-weight:750;
}

.gaviHeroActions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
    margin-top:31px;
}

.gaviHeroPrimaryCta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:57px;
    padding:0 27px;
    border:1px solid #f0b429;
    border-radius:5px;
    background:linear-gradient(135deg,#b97800,#f0b429);
    color:#061d3d !important;
    font-size:16px;
    font-weight:800;
    text-decoration:none !important;
    box-shadow:0 12px 28px rgba(185,120,0,.22);
    transition:all .3s ease;
}

.gaviHeroPrimaryCta span{
    font-size:22px;
    line-height:1;
}

.gaviHeroPrimaryCta:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(185,120,0,.34);
}

.gaviHeroPhoneCta{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:57px;
    padding:7px 17px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:5px;
    background:rgba(255,255,255,.06);
    color:#fff !important;
    text-decoration:none !important;
    transition:all .3s ease;
}

.gaviHeroPhoneCta:hover{
    border-color:#b97800;
    background:rgba(185,120,0,.12);
}

.gaviHeroPhoneIcon{
    color:#f0b429;
    font-size:22px;
}

.gaviHeroPhoneCta small{
    display:block;
    margin-bottom:2px;
    color:#aebdcd;
    font-size:15px;
}

.gaviHeroPhoneCta strong{
    display:block;
    color:#fff;
    font-size:17px;
}

.gaviHeroLocation{
    display:flex;
    align-items:flex-start;
    gap:10px;
    max-width:700px;
    margin-top:23px;
    color:#aebdcd;
    font-size:15px;
    line-height:1.55;
}

.gaviHeroLocation strong{
    color:#f0b429;
}

.gaviHeroLocationIcon{
    margin-top:2px;
    color:#b97800;
    font-size:12px;
}


/* =========================================================
   HERO PORTRAIT
========================================================= */

.gaviHeroPortraitArea{
    position:relative;
    min-height:610px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.gaviHeroPortraitHalo{
    position:absolute;
    width:470px;
    height:470px;
    border-radius:50%;
    border:1px solid rgba(240,180,41,.23);
    box-shadow:
        0 0 0 24px rgba(185,120,0,.035),
        0 0 90px rgba(185,120,0,.13);
}

.gaviHeroPortraitFrame{
    position:relative;
    width:min(100%,455px);
    padding:13px 13px 0;
    border:1px solid rgba(240,180,41,.36);
    border-radius:12px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
    box-shadow:
        0 28px 70px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    overflow:visible;
}

.gaviHeroPortraitTopLine{
    position:absolute;
    top:-1px;
    left:28px;
    right:28px;
    height:3px;
    border-radius:10px;
    background:linear-gradient(90deg,#b97800,#f0b429,#b97800);
}

.gaviHeroPortrait{
    display:block;
    width:100%;
    height:auto;
    max-height:555px;
    object-fit:contain;
    object-position:center bottom;
    border-radius:7px 7px 0 0;
    filter:drop-shadow(0 18px 25px rgba(0,0,0,.22));
}

.gaviHeroPortraitBottom{
    display:flex;
    align-items:center;
    gap:13px;
    margin:0 -13px;
    padding:16px 20px;
    border-top:1px solid rgba(240,180,41,.25);
    border-radius:0 0 11px 11px;
    background:linear-gradient(90deg,#04152d,#092f62);
}

.gaviHeroPortraitBadge{
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d99a16;
    border-radius:50%;
    background:linear-gradient(135deg,#b97800,#f0b429);
    color:#061d3d;
    font-size:15px;
    font-weight:900;
}

.gaviHeroPortraitInfo strong{
    display:block;
    margin-bottom:3px;
    color:#fff;
    font-size:17px;
    line-height:1.3;
}

.gaviHeroPortraitInfo span{
    display:block;
    color:#e0e8f1;
    font-size:15px;
    line-height:1.45;
}

.gaviHeroPortraitInfo small{
    display:block;
    margin-top:3px;
    color:#f0b429;
    font-size:15px;
    line-height:1.4;
}

.gaviHeroFloatingCard{
    position:absolute;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 15px;
    border:1px solid rgba(240,180,41,.35);
    border-radius:7px;
    background:rgba(4,21,45,.94);
    box-shadow:0 15px 35px rgba(0,0,0,.27);
    backdrop-filter:blur(8px);
    z-index:4;
}

.gaviHeroFloatingCardOne{
    left:-25px;
    top:92px;
}

.gaviHeroFloatingCardTwo{
    right:-20px;
    bottom:115px;
}

.gaviHeroFloatingIcon{
    color:#f0b429;
    font-size:20px;
    font-weight:900;
}

.gaviHeroFloatingCard strong{
    display:block;
    color:#fff;
    font-size:15px;
}

.gaviHeroFloatingCard small{
    display:block;
    margin-top:2px;
    color:#b8c5d4;
    font-size:15px;
}


/* =========================================================
   SECTION 1
   FIVE NATIONAL PRACTICE CONTEXTS
   Namespace: gaviContexts
========================================================= */

.gaviContexts{
    position:relative;
    padding:90px 0 85px;
    background:#f7f9fc;
    overflow:hidden;
}

.gaviContexts:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,#061d3d,#b97800,#f0b429,#b97800,#061d3d);
}

.gaviContextsHeader{
    max-width:820px;
    margin:0 auto 48px;
    text-align:center;
}

.gaviContextsEyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:13px;
    color:#b97800;
    font-size:15px;
    font-weight:850;
    letter-spacing:1.8px;
}

.gaviContextsEyebrow span{
    width:32px;
    height:2px;
    background:#b97800;
}

.gaviContextsHeader h2{
    margin:0 0 15px;
    color:#061d3d;
    font-size:clamp(31px,3.5vw,48px);
    line-height:1.15;
    font-weight:800;
    letter-spacing:-1px;
}

.gaviContextsHeader h2 strong{
    color:#b97800;
}

.gaviContextsHeader p{
    margin:0 auto;
    color:#526276;
    font-size:16px;
    line-height:1.75;
}

.gaviContextsHeader p strong{
    color:#092f62;
}


/* =========================================================
   CONTEXT CARDS
========================================================= */

.gaviContextGrid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:17px;
}

.gaviContextCard{
    position:relative;
       height: 648px;
    padding:27px 21px 23px;
    border:1px solid #dce3ec;
    border-radius:9px;
    background:#fff;
    box-shadow:0 10px 28px rgba(6,29,61,.055);
    overflow:hidden;
    transition:all .3s ease;
}

.gaviContextCard:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#092f62,#b97800);
    transform:scaleX(.3);
    transform-origin:left;
    transition:transform .3s ease;
}

.gaviContextCard:hover{
    transform:translateY(-7px);
    border-color:rgba(185,120,0,.4);
    box-shadow:0 20px 40px rgba(6,29,61,.11);
}

.gaviContextCard:hover:before{
    transform:scaleX(1);
}

.gaviContextNumber{
    position:absolute;
    top:17px;
    right:17px;
    color:#dfe5ed;
    font-size:15px;
    font-weight:900;
    letter-spacing:1px;
}

.gaviContextIcon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:42px;
    margin-bottom:21px;
    padding:7px 10px;
    border-radius:4px;
    background:#061d3d;
    color:#f0b429;
    font-size:15px;
    font-weight:900;
    letter-spacing:.8px;
}

.gaviContextCard h3{
    margin:0 0 14px;
    color:#061d3d;
    font-size:21px;
    line-height:1.32;
    font-weight:750;
}

.gaviContextCard h3 strong{
    color:#b97800;
}

.gaviContextCard p{
    margin:0;
    color:#526276;
    font-size:15px;
    line-height:1.72;
}

.gaviContextCard p strong{
    color:#092f62;
    font-weight:750;
}

.gaviContextTags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:21px;
}

.gaviContextTags span{
    padding:6px 8px;
    border:1px solid #dbe2eb;
    border-radius:3px;
    color:#092f62;
    background:#f7f9fc;
    font-size:15px;
    font-weight:700;
}

.gaviContextLink{
    position:absolute;
    left:21px;
    right:21px;
    bottom:21px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-top:14px;
    border-top:1px solid #e6ebf1;
    color:#092f62 !important;
    font-size:15px;
    font-weight:800;
    text-decoration:none !important;
}

.gaviContextLink span{
    color:#b97800;
    font-size:21px;
    transition:transform .25s ease;
}

.gaviContextLink:hover{
    color:#b97800 !important;
}

.gaviContextLink:hover span{
    transform:translateX(4px);
}


/* =========================================================
   SECTION CTA
========================================================= */

.gaviContextsCta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    margin-top:52px;
    padding:30px 34px;
    border:1px solid rgba(185,120,0,.4);
    border-radius:9px;
    background:
        linear-gradient(110deg,#04152d 0%,#092f62 72%,#061d3d 100%);
    box-shadow:0 18px 40px rgba(6,29,61,.13);
}

.gaviContextsCtaContent > span{
    display:block;
    margin-bottom:7px;
    color:#f0b429;
    font-size:15px;
    font-weight:850;
    letter-spacing:1.4px;
}

.gaviContextsCtaContent h3{
    margin:0;
    color:#fff;
    font-size:24px;
    line-height:1.35;
    font-weight:700;
}

.gaviContextsCtaContent h3 strong{
    color:#f0b429;
}

.gaviContextsCtaActions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:12px;
}

.gaviContextsPrimaryCta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:52px;
    padding:0 22px;
    border:1px solid #f0b429;
    border-radius:5px;
    background:linear-gradient(135deg,#b97800,#f0b429);
    color:#061d3d !important;
    font-size:15px;
    font-weight:850;
    text-decoration:none !important;
    transition:all .3s ease;
}

.gaviContextsPrimaryCta:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(185,120,0,.3);
}

.gaviContextsPrimaryCta span{
    font-size:20px;
}

.gaviContextsPhone{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:5px;
    color:#fff !important;
    font-size:15px;
    font-weight:750;
    text-decoration:none !important;
    transition:all .3s ease;
}

.gaviContextsPhone:hover{
    border-color:#f0b429;
    color:#f0b429 !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1199px){

    .gaviHeroGrid{
        grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
        gap:35px;
    }

    .gaviHeroPortraitArea{
        min-height:560px;
    }

    .gaviHeroPortraitFrame{
        width:390px;
    }

    .gaviHeroFloatingCardOne{
        left:-5px;
    }

    .gaviHeroFloatingCardTwo{
        right:-5px;
    }

    .gaviContextGrid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .gaviContextCard{
        min-height:430px;
    }

}


@media (max-width:991px){

    .gaviHero{
        padding:70px 0 65px;
    }

    .gaviHeroGrid{
        grid-template-columns:1fr;
    }

    .gaviHeroContent{
        text-align:center;
    }

    .gaviHeroEyebrow,
    .gaviHeroActions,
    .gaviHeroLocation{
        justify-content:center;
    }

    .gaviHeroDeck,
    .gaviHeroLead{
        margin-left:auto;
        margin-right:auto;
    }

    .gaviHeroCredentialStrip{
        justify-content:center;
    }

    .gaviHeroPortraitArea{
        min-height:540px;
        margin-top:5px;
    }

    .gaviHeroPortraitFrame{
        width:410px;
    }

    .gaviHeroFloatingCardOne{
        left:8%;
    }

    .gaviHeroFloatingCardTwo{
        right:8%;
    }

    .gaviContexts{
        padding:70px 0;
    }

    .gaviContextsCta{
        flex-direction:column;
        align-items:flex-start;
    }

    .gaviContextsCtaActions{
        justify-content:flex-start;
    }

}


@media (max-width:767px){

    .gaviHero{
        padding:55px 0 55px;
    }

    .gaviHero h1{
        font-size:39px;
        letter-spacing:-1px;
    }

    .gaviHero h1 span{
        font-size:21px;
    }

    .gaviHeroDeck{
        font-size:16px;
        line-height:1.65;
    }

    .gaviHeroLead{
        font-size:15px;
        line-height:1.72;
    }

    .gaviHeroActions{
        flex-direction:column;
        align-items:stretch;
    }

    .gaviHeroPrimaryCta,
    .gaviHeroPhoneCta{
        width:100%;
    }

    .gaviHeroLocation{
        text-align:left;
    }

    .gaviHeroPortraitArea{
        min-height:485px;
    }

    .gaviHeroPortraitHalo{
        width:350px;
        height:350px;
    }

    .gaviHeroPortraitFrame{
        width:min(90%,365px);
    }

    .gaviHeroFloatingCard{
        padding:9px 11px;
    }

    .gaviHeroFloatingCardOne{
        left:0;
        top:60px;
    }

    .gaviHeroFloatingCardTwo{
        right:0;
        bottom:70px;
    }

    .gaviContextsHeader h2{
        font-size:32px;
    }

    .gaviContextGrid{
        grid-template-columns:1fr;
    }

    .gaviContextCard{
        min-height:400px;
    }

    .gaviContextsCta{
        padding:25px 21px;
    }

    .gaviContextsCtaContent h3{
        font-size:21px;
    }

    .gaviContextsCtaActions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .gaviContextsPrimaryCta,
    .gaviContextsPhone{
        width:100%;
    }

}


@media (max-width:480px){

    .gaviHeroPortraitArea{
        min-height:430px;
    }

    .gaviHeroPortraitFrame{
        width:94%;
    }

    .gaviHeroPortraitBottom{
        padding:13px 15px;
    }

    .gaviHeroFloatingCard{
        display:none;
    }

    .gaviHeroCredentialStrip span{
        width:100%;
        justify-content:center;
    }

}