/* =========================================================
   WEALTH TAX VALUER HERO
   UNIQUE PREFIX: wtvHero
========================================================= */

.wtvHero{

    position:relative;

    padding:80px 0 95px;

    background:#f7f4ed;

    overflow:hidden;

}

.wtvHero::before{

    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-330px;
    top:-300px;

    border:1px solid rgba(184,135,35,.16);

    border-radius:50%;

}

.wtvHero::after{

    content:"";

    position:absolute;

    width:360px;
    height:360px;

    left:-220px;
    bottom:-250px;

    border:1px solid rgba(11,37,80,.08);

    border-radius:50%;

}

.wtvHeroGrid{

    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:minmax(0,1fr) 430px;

    gap:75px;

    align-items:center;

}

.wtvHeroContent{

    max-width:850px;

}

.wtvHeroEyebrow{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

    color:#b88723;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    letter-spacing:1.8px;

}

.wtvHeroEyebrow::before{

    content:"";

    width:45px;

    height:2px;

    background:#b88723;

}

.wtvHeroContent h1{

    margin:0 0 17px;

    color:#0b2550;

    font-family:'Cormorant Garamond',serif;

    font-size:64px;

    line-height:1;

    font-weight:600;

    letter-spacing:-1px;

}

.wtvHeroContent h1 strong{

    color:#0b2550;

}

.wtvHeroDeck{

    max-width:850px;

    margin:0 0 25px;

    color:#b88723;

    font-family:'Cormorant Garamond',serif;

    font-size:31px;

    line-height:1.18;

    font-weight:600;

}

.wtvHeroDeck strong{

    color:#0b2550;

}

.wtvHeroLead,
.wtvHeroContent > p{

    max-width:850px;

    margin:0 0 16px;

    color:#687583;

    font-size:15px;

    line-height:1.85;

}

.wtvHeroLead strong,
.wtvHeroContent p strong{

    color:#0b2550;

    font-weight:800;

}


/* HERO STATS */

.wtvHeroStats{

    display:flex;

    margin:28px 0 28px;

    border-top:1px solid #d7cdbd;

    border-bottom:1px solid #d7cdbd;

}

.wtvHeroStat{

    flex:1;

    padding:17px 20px;

    border-right:1px solid #d7cdbd;

}

.wtvHeroStat:first-child{

    padding-left:0;

}

.wtvHeroStat:last-child{

    border-right:0;

}

.wtvHeroStat strong{

    display:block;

    margin-bottom:5px;

    color:#b88723;

    font-family:'Cormorant Garamond',serif;

    font-size:31px;

    line-height:1;

}

.wtvHeroStat span{

    display:block;

    color:#718091;

    font-size:15px;

    line-height:1.35;

}


/* HERO ACTIONS */

.wtvHeroActions{

    display:flex;

    align-items:center;

    gap:12px;

}

.wtvHeroCallBtn{

    display:flex;

    align-items:center;

    gap:13px;

    min-height:67px;

    padding:8px 13px 8px 9px;

    background:#0b2550;

    border:2px solid #0b2550;

    color:#fff;

    text-decoration:none;

    transition:.3s ease;

}

.wtvHeroCallBtn:hover{

    background:#b88723;

    border-color:#b88723;

    color:#fff;

    transform:translateY(-3px);

}

.wtvHeroCallIcon{

    width:48px;
    height:48px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex:0 0 48px;

    border-radius:50%;

    background:#b88723;

    color:#0b2550;

    font-size:21px;

}

.wtvHeroCallText small{

    display:block;

    margin-bottom:3px;

    color:#d8bd78;

    font-size:15px;

    line-height:1.2;

    font-weight:800;

    letter-spacing:.6px;

}

.wtvHeroCallText strong{

    display:block;

    color:#fff;

    font-size:21px;

    line-height:1.2;

}

.wtvHeroCallBtn > b{

    margin-left:6px;

    color:#d5a646;

    font-size:25px;

}

.wtvHeroMailBtn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:67px;

    padding:0 22px;

    border:1px solid #c9a85c;

    color:#0b2550;

    background:#fff;

    text-decoration:none;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    transition:.3s ease;

}

.wtvHeroMailBtn:hover{

    background:#b88723;

    border-color:#b88723;

    color:#fff;

}


/* HERO PORTRAIT */

.wtvHeroPortraitArea{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:590px;

}

.wtvHeroPortraitFrame{

    position:relative;

    z-index:3;

    width:350px;

    height:555px;

    overflow:hidden;

    background:#0b2550;

    border:10px solid #fff;

    box-shadow:
        0 25px 55px rgba(11,37,80,.18),
        12px 12px 0 #b88723;

}

.wtvHeroPortrait{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    object-position:center top;

}

.wtvHeroPortraitFrame::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:180px;

    background:linear-gradient(
        to top,
        rgba(5,20,43,.96),
        rgba(5,20,43,.45),
        transparent
    );

    pointer-events:none;

}

.wtvHeroPortraitCaption{

    position:absolute;

    z-index:4;

    left:23px;
    right:20px;
    bottom:20px;

    color:#fff;

}

.wtvHeroPortraitCaption span{

    display:block;

    margin-bottom:6px;

    color:#d5a646;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    letter-spacing:1px;

}

.wtvHeroPortraitCaption strong{

    display:block;

    margin-bottom:4px;

    color:#fff;

    font-family:'Cormorant Garamond',serif;

    font-size:31px;

    line-height:1;

}

.wtvHeroPortraitCaption small{

    color:rgba(255,255,255,.72);

    font-size:15px;

    line-height:1.3;

}

.wtvHeroGoldRing{

    position:absolute;

    z-index:1;

    width:470px;
    height:470px;

    right:-30px;
    top:30px;

    border:1px solid rgba(184,135,35,.24);

    border-radius:50%;

}

.wtvHeroCredential{

    position:absolute;

    z-index:5;

    left:0;

    top:90px;

    width:88px;
    height:88px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0b2550;

    border:3px solid #d5a646;

    box-shadow:0 10px 25px rgba(11,37,80,.18);

}

.wtvHeroCredential span{

    color:#d5a646;

    font-family:'Cormorant Garamond',serif;

    font-size:26px;

    line-height:1;

    font-weight:700;

}

.wtvHeroCredential small{

      color: #fff;
    font-size: 10px;
    line-height: 1.9;
    font-weight: 800;

}


/* =========================================================
   WEALTH TAX SPECIALTY SECTION
   UNIQUE PREFIX: wtvSpecialty
========================================================= */

.wtvSpecialty{

    position:relative;

    padding:65px 0;

    background:#fff;

    overflow:hidden;

}

.wtvSpecialty::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:-320px;
    top:120px;

    border:1px solid rgba(184,135,35,.12);

    border-radius:50%;

}

.wtvSpecialtyHeader{

    display:grid;

    grid-template-columns:minmax(0,1fr) 430px;

    gap:70px;

    align-items:end;

    margin-bottom:55px;

}

.wtvSpecialtyEyebrow{

    display:block;

    margin-bottom:14px;

    color:#b88723;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    letter-spacing:1.6px;

}

.wtvSpecialtyHeader h2{

    max-width:850px;

    margin:0;

    color:#0b2550;

    font-family:'Cormorant Garamond',serif;

    font-size:55px;

    line-height:1.04;

    font-weight:600;

}

.wtvSpecialtyHeader h2 strong{

    color:#b88723;

}

.wtvSpecialtyHeader > p{

    margin:0;

    color:#687583;

    font-size:15px;

    line-height:1.85;

}


/* CARDS */

.wtvSpecialtyGrid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    border-top:1px solid #d8d0c1;

    border-left:1px solid #d8d0c1;

}

.wtvSpecialtyCard{

    position:relative;

    min-height:345px;

    padding:31px;

    background:#f7f4ed;

    border-right:1px solid #d8d0c1;

    border-bottom:1px solid #d8d0c1;

    transition:.3s ease;

}

.wtvSpecialtyCard:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(11,37,80,.09);

}

.wtvSpecialtyNumber{

    margin-bottom:22px;

    color:#b88723;

    font-family:'Cormorant Garamond',serif;

    font-size:42px;

    line-height:1;

}

.wtvSpecialtyCard > span{

    display:block;

    margin-bottom:13px;

    color:#8b795a;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    letter-spacing:1px;

}

.wtvSpecialtyCard h3{

    margin:0 0 17px;

    color:#0b2550;

    font-family:'Cormorant Garamond',serif;

    font-size:30px;

    line-height:1.08;

    font-weight:600;

}

.wtvSpecialtyCard h3 strong{

    color:#b88723;

}

.wtvSpecialtyCard p{

    margin:0;

    color:#687583;

    font-size:15px;

    line-height:1.78;

}

.wtvSpecialtyCard p strong{

    color:#0b2550;

}


/* DARK */

.wtvSpecialtyDark{

    background:#0b2550;

}

.wtvSpecialtyDark > span{

    color:#d5a646;

}

.wtvSpecialtyDark .wtvSpecialtyNumber{

    color:#d5a646;

}

.wtvSpecialtyDark h3{

    color:#fff;

}

.wtvSpecialtyDark h3 strong{

    color:#d5a646;

}

.wtvSpecialtyDark p{

    color:rgba(255,255,255,.68);

}

.wtvSpecialtyDark p strong{

    color:#fff;

}


/* GOLD */

.wtvSpecialtyGold{

    background:#d5a646;

}

.wtvSpecialtyGold .wtvSpecialtyNumber{

    color:#0b2550;

}

.wtvSpecialtyGold > span{

    color:#0b2550;

}

.wtvSpecialtyGold h3{

    color:#0b2550;

}

.wtvSpecialtyGold h3 strong{

    color:#fff;

}

.wtvSpecialtyGold p{

    color:#31435d;

}

.wtvSpecialtyGold p strong{

    color:#0b2550;

}


/* SECTION CTA */

.wtvSpecialtyCTA{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:35px;

    margin-top:45px;

    padding:32px 38px;

    background:#0b2550;

}

.wtvSpecialtyCTA > div > span{

    display:block;

    margin-bottom:6px;

    color:#d5a646;

    font-size:15px;

    line-height:1.3;

    font-weight:800;

    letter-spacing:1px;

}

.wtvSpecialtyCTA h3{

    margin:0;

    color:#fff;

    font-family:'Cormorant Garamond',serif;

    font-size:31px;

    line-height:1.15;

    font-weight:600;

}

.wtvSpecialtyCTA h3 strong{

    color:#d5a646;

}

.wtvSpecialtyCTAButton{

    display:inline-flex;

    align-items:center;

    gap:14px;

    flex:0 0 auto;

    min-height:62px;

    padding:0 23px;

    background:#d5a646;

    border:2px solid #d5a646;

    color:#0b2550;

    text-decoration:none;

    font-size:16px;

    line-height:1.3;

    font-weight:900;

    transition:.3s ease;

}

.wtvSpecialtyCTAButton span{

    font-size:20px;

}

.wtvSpecialtyCTAButton b{

    font-size:23px;

}

.wtvSpecialtyCTAButton:hover{

    background:#fff;

    border-color:#fff;

    color:#0b2550;

    transform:translateY(-3px);

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1150px){

    .wtvHeroGrid{

        grid-template-columns:minmax(0,1fr) 370px;

        gap:45px;

    }

    .wtvHeroContent h1{

        font-size:56px;

    }

    .wtvSpecialtyGrid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:991px){

    .wtvHero{

        padding:70px 0 80px;

    }

    .wtvHeroGrid{

        grid-template-columns:1fr;

    }

    .wtvHeroContent{

        max-width:100%;

    }

    .wtvHeroPortraitArea{

        min-height:560px;

    }

    .wtvHeroPortraitFrame{

        width:350px;

        height:530px;

    }

    .wtvHeroCredential{

        left:calc(50% - 240px);

    }

    .wtvHeroGoldRing{

        right:calc(50% - 280px);

    }

    .wtvSpecialtyHeader{

        grid-template-columns:1fr;

        gap:25px;

    }

}

@media(max-width:767px){

    .wtvHero{

        padding:55px 0 65px;

    }

    .wtvHeroContent h1{

        font-size:44px;

        line-height:1.02;

    }

    .wtvHeroDeck{

        font-size:27px;

    }

    .wtvHeroLead,
    .wtvHeroContent > p{

        font-size:15px;

        line-height:1.78;

    }

    .wtvHeroStats{

        display:grid;

        grid-template-columns:1fr 1fr;

    }

    .wtvHeroStat{

        padding:15px;

    }

    .wtvHeroStat:first-child{

        padding-left:15px;

    }

    .wtvHeroStat:last-child{

        grid-column:1 / -1;

        border-top:1px solid #d7cdbd;

    }

    .wtvHeroActions{

        flex-direction:column;

        align-items:stretch;

    }

    .wtvHeroCallBtn,
    .wtvHeroMailBtn{

        width:100%;

        justify-content:center;

    }

    .wtvHeroPortraitArea{

        min-height:510px;

    }

    .wtvHeroPortraitFrame{

        width:310px;

        height:500px;

    }

    .wtvHeroCredential{

        left:calc(50% - 205px);

        top:70px;

        width:78px;

        height:78px;

    }

    .wtvHeroGoldRing{

        width:390px;
        height:390px;

        right:calc(50% - 245px);

        top:55px;

    }

    .wtvSpecialty{

        padding:70px 0;

    }

    .wtvSpecialtyHeader h2{

        font-size:43px;

    }

    .wtvSpecialtyGrid{

        grid-template-columns:1fr;

    }

    .wtvSpecialtyCard{

        min-height:auto;

        padding:28px 24px;

    }

    .wtvSpecialtyCTA{

        flex-direction:column;

        align-items:flex-start;

        padding:28px 24px;

    }

    .wtvSpecialtyCTAButton{

        width:100%;

        justify-content:center;

    }

}

@media(max-width:420px){

    .wtvHeroContent h1{

        font-size:39px;

    }

    .wtvHeroDeck{

        font-size:24px;

    }

    .wtvHeroPortraitFrame{

        width:280px;

        height:465px;

    }

    .wtvHeroCredential{

        left:calc(50% - 190px);

    }

}