/*=====================================
              VARIABLES
======================================*/
:root{
    --primary:#B38A47;
    --primary-dark:#89662E;
    --primary-light:#F1E9DD;
    --dark:#101010;
    --dark-soft:#1B1B1C;
    --charcoal:#2E3135;
    --text:#696B70;
    --light:#F5F4F1;
    --white:#FFFFFF;
    --border:#DDD9D1;
    --font-title:"Cormorant Garamond",serif;
    --font-text:"Manrope",sans-serif;
}
/*=====================================
                BASE
======================================*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    background:var(--white);
    color:var(--text);
    font-family:var(--font-text);
    overflow-x:hidden;
}
body.MenuOpen{
    overflow:hidden;
}
img{
    width:100%;
    display:block;
}
a{
    color:inherit;
    text-decoration:none;
}
button,input,select,textarea{
    font:inherit;
}
button{
    border:none;
}
.Container{
    width:min(1200px,calc(100% - 40px));
    margin:auto;
}
/*=====================================
                NAVBAR
======================================*/
.Header{
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    width:100%;
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    transition:padding .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.Header.Scrolled{
    padding:14px 0;
    background:rgba(16,16,16,.95);
    border-color:rgba(255,255,255,.08);
    box-shadow:0 15px 40px rgba(0,0,0,.18);
    backdrop-filter:blur(18px);
}
.HeaderContainer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}
.Logo{
    display:flex;
    align-items:center;
    gap:13px;
    color:var(--white);
}
.LogoSymbol{
    width:48px;
    height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.45);
    color:var(--primary);
    font-family:var(--font-title);
    font-size:1.9rem;
    font-weight:700;
    transition:background .3s ease,border-color .3s ease,color .3s ease;
}
.Logo:hover .LogoSymbol{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white);
}
.LogoText{
    display:flex;
    flex-direction:column;
    line-height:1;
}
.LogoText strong{
    font-family:var(--font-title);
    font-size:1.55rem;
    font-weight:600;
}
.LogoText small{
    margin-top:6px;
    color:rgba(255,255,255,.5);
    font-size:.48rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
}
.Navigation{
    display:flex;
    align-items:center;
    gap:29px;
}
.Navigation a{
    position:relative;
    color:rgba(255,255,255,.63);
    font-size:.66rem;
    font-weight:600;
    transition:color .3s ease;
}
.Navigation a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-9px;
    width:0;
    height:1px;
    background:var(--primary);
    transition:width .3s ease;
}
.Navigation a:hover,.Navigation a.Active{
    color:var(--white);
}
.Navigation a:hover::after,.Navigation a.Active::after{
    width:100%;
}
.HeaderActions{
    display:flex;
    align-items:center;
    gap:17px;
}
.HeaderButton{
    min-height:47px;
    padding:0 19px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.3);
    color:var(--white);
    font-size:.62rem;
    font-weight:800;
    transition:background .3s ease,border-color .3s ease;
}
.HeaderButton:hover{
    background:var(--primary);
    border-color:var(--primary);
}
.HeaderButton i{
    font-size:.58rem;
    transition:transform .3s ease;
}
.HeaderButton:hover i{
    transform:translateX(4px);
}
.MenuButton{
    width:44px;
    height:44px;
    display:none;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    background:transparent;
    border:1px solid rgba(255,255,255,.28);
    cursor:pointer;
}
.MenuButton span{
    width:20px;
    height:1px;
    display:block;
    background:var(--white);
    transition:transform .3s ease,opacity .3s ease;
}
.MenuButton span+span{
    margin-top:5px;
}
.MenuButton.Active span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}
.MenuButton.Active span:nth-child(2){
    opacity:0;
}
.MenuButton.Active span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}
/*=====================================
                  HERO
======================================*/
.Hero{
    position:relative;
    min-height:920px;
    padding:190px 0 180px;
    display:flex;
    align-items:center;
    overflow:hidden;
}
.HeroBackground,.HeroOverlay,.HeroLines{
    position:absolute;
    inset:0;
}
.HeroBackground img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:HeroZoom 20s ease-in-out infinite alternate;
}
.HeroOverlay{
    background:linear-gradient(90deg,rgba(10,10,10,.96) 0%,rgba(10,10,10,.83) 48%,rgba(10,10,10,.45) 100%);
}
.HeroLines{
    background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:25% 100%;
    pointer-events:none;
}
.HeroContainer{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.12fr .68fr;
    align-items:center;
    gap:90px;
}
.HeroContent{
    max-width:720px;
}
.HeroTag{
    margin-bottom:24px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#D6B77F;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.HeroContent h1{
    max-width:720px;
    color:var(--white);
    font-family:var(--font-title);
    font-size:5.3rem;
    font-weight:600;
    line-height:.92;
}
.HeroContent h1 span{
    display:block;
    color:#D6B77F;
}
.HeroContent>p{
    max-width:620px;
    margin-top:28px;
    color:rgba(255,255,255,.62);
    font-size:.8rem;
    line-height:1.9;
}
.HeroActions{
    margin-top:38px;
    display:flex;
    gap:15px;
}
.ButtonPrimary,.ButtonSecondary{
    min-height:55px;
    padding:0 24px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:11px;
    font-size:.65rem;
    font-weight:800;
    transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.ButtonPrimary{
    background:var(--primary);
    color:var(--white);
}
.ButtonPrimary:hover{
    background:var(--primary-dark);
    transform:translateY(-3px);
}
.ButtonSecondary{
    border:1px solid rgba(255,255,255,.28);
    color:var(--white);
}
.ButtonSecondary:hover{
    border-color:var(--white);
    transform:translateY(-3px);
}
.HeroTrust{
    margin-top:42px;
    padding-top:26px;
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    border-top:1px solid rgba(255,255,255,.12);
}
.HeroTrust>div{
    display:flex;
    align-items:center;
    gap:9px;
}
.HeroTrust i{
    color:var(--primary);
    font-size:.7rem;
}
.HeroTrust span{
    color:rgba(255,255,255,.5);
    font-size:.54rem;
}
.HeroTrust strong{
    color:rgba(255,255,255,.83);
}
.HeroConsultation{
    padding:36px;
    background:rgba(18,18,19,.77);
    border:1px solid rgba(255,255,255,.16);
    color:var(--white);
    backdrop-filter:blur(18px);
}
.ConsultationTop{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#D6B77F;
    font-size:.53rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.HeroConsultation h2{
    margin-top:21px;
    font-family:var(--font-title);
    font-size:2.3rem;
    font-weight:600;
    line-height:1.05;
}
.HeroConsultation>p{
    margin-top:13px;
    color:rgba(255,255,255,.5);
    font-size:.65rem;
    line-height:1.75;
}
.HeroForm{
    margin-top:28px;
    display:flex;
    flex-direction:column;
    gap:18px;
}
.HeroFormGroup{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.HeroFormGroup label{
    color:rgba(255,255,255,.5);
    font-size:.5rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.HeroFormGroup input,.HeroFormGroup select{
    width:100%;
    padding:13px 0;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(255,255,255,.18);
    outline:none;
    color:var(--white);
    font-size:.65rem;
    transition:border-color .3s ease;
}
.HeroFormGroup input::placeholder{
    color:rgba(255,255,255,.33);
}
.HeroFormGroup select{
    color:rgba(255,255,255,.7);
}
.HeroFormGroup select option{
    background:var(--dark-soft);
    color:var(--white);
}
.HeroFormGroup input:focus,.HeroFormGroup select:focus{
    border-color:var(--primary);
}
.HeroFormButton{
    min-height:53px;
    margin-top:4px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    background:var(--primary);
    color:var(--white);
    font-size:.62rem;
    font-weight:800;
    cursor:pointer;
    transition:background .3s ease,transform .3s ease;
}
.HeroFormButton:hover{
    background:var(--primary-dark);
    transform:translateY(-2px);
}
.HeroFormButton:disabled{
    cursor:not-allowed;
    opacity:.7;
}
.HeroFormMessage{
    min-height:15px;
    color:#D6B77F;
    font-size:.55rem;
    text-align:center;
}
.HeroBottom{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    z-index:3;
    background:rgba(13,13,14,.88);
    border-top:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(15px);
}
.HeroBottomContainer{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.HeroStat{
    min-height:115px;
    padding:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    border-right:1px solid rgba(255,255,255,.1);
    text-align:center;
}
.HeroStat:first-child{
    border-left:1px solid rgba(255,255,255,.1);
}
.HeroStat strong{
    color:#D6B77F;
    font-family:var(--font-title);
    font-size:2.3rem;
    font-weight:600;
    line-height:1;
}
.HeroStat span{
    margin-top:8px;
    color:rgba(255,255,255,.45);
    font-size:.51rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.HeroScroll{
    position:absolute;
    right:28px;
    bottom:155px;
    z-index:4;
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.48);
    font-size:.48rem;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
    transform:rotate(90deg);
}
.HeroScroll i{
    color:var(--primary);
}
@keyframes HeroZoom{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.07);
    }
}
/*=====================================
                SECTIONS
======================================*/
.Section{
    padding:125px 0;
}
.SectionEyebrow{
    margin-bottom:16px;
    display:block;
    color:var(--primary-dark);
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}
/*=====================================
            ÁREAS DE PRÁCTICA
======================================*/
.Practice{
    background:var(--light);
}
.PracticeHeader{
    margin-bottom:55px;
    display:grid;
    grid-template-columns:1fr .7fr;
    align-items:end;
    gap:80px;
}
.PracticeHeader h2{
    max-width:720px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.8rem;
    font-weight:600;
    line-height:1;
}
.PracticeHeader>p{
    max-width:500px;
    font-size:.74rem;
    line-height:1.85;
}
.PracticeGrid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:minmax(300px,auto);
    gap:22px;
}
.PracticeCard{
    position:relative;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:var(--white);
    border:1px solid var(--border);
    overflow:hidden;
    transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;
}
.PracticeCard:hover{
    border-color:transparent;
    box-shadow:0 24px 58px rgba(22,22,22,.1);
    transform:translateY(-8px);
}
.PracticeFeatured{
    grid-column:span 2;
    grid-row:span 2;
    min-height:622px;
    background:var(--dark);
    border-color:var(--dark);
    color:var(--white);
}
.PracticeFeatured::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-100px;
    width:320px;
    height:320px;
    border:1px solid rgba(179,138,71,.2);
    border-radius:50%;
}
.PracticeNumber{
    position:absolute;
    top:24px;
    right:26px;
    color:rgba(16,16,16,.08);
    font-family:var(--font-title);
    font-size:4rem;
    font-weight:700;
    line-height:1;
}
.PracticeFeatured .PracticeNumber{
    color:rgba(255,255,255,.07);
}
.PracticeIcon{
    width:52px;
    height:52px;
    margin-bottom:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--primary-light);
    color:var(--primary-dark);
    font-size:.95rem;
    transition:background .3s ease,color .3s ease,transform .3s ease;
}
.PracticeFeatured .PracticeIcon{
    background:rgba(179,138,71,.14);
    color:#D6B77F;
}
.PracticeCard:hover .PracticeIcon{
    background:var(--primary);
    color:var(--white);
    transform:rotate(-5deg) scale(1.05);
}
.PracticeCard>span{
    color:var(--primary-dark);
    font-size:.5rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.PracticeFeatured>span{
    color:#D6B77F;
}
.PracticeCard h3{
    margin-top:10px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.85rem;
    font-weight:600;
    line-height:1.05;
}
.PracticeFeatured h3{
    max-width:560px;
    color:var(--white);
    font-size:3rem;
}
.PracticeCard>p{
    margin-top:14px;
    color:var(--text);
    font-size:.66rem;
    line-height:1.75;
}
.PracticeFeatured>p{
    max-width:650px;
    color:rgba(255,255,255,.58);
    font-size:.73rem;
}
.PracticeFeatured ul{
    margin-top:26px;
    display:grid;
    gap:13px;
    list-style:none;
}
.PracticeFeatured li{
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.72);
    font-size:.62rem;
}
.PracticeFeatured li i{
    color:#D6B77F;
}
.PracticeCard>a{
    margin-top:24px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--dark);
    font-size:.59rem;
    font-weight:800;
}
.PracticeFeatured>a{
    color:var(--white);
}
.PracticeCard>a i{
    color:var(--primary);
    transition:transform .3s ease;
}
.PracticeCard:hover>a i{
    transform:translateX(5px);
}
.PracticeBottom{
    margin-top:30px;
    padding:24px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    background:var(--white);
    border:1px solid var(--border);
}
.PracticeBottom>div{
    display:flex;
    align-items:center;
    gap:13px;
}
.PracticeBottom>div>i{
    color:var(--primary);
}
.PracticeBottom span{
    font-size:.64rem;
    line-height:1.6;
}
.PracticeBottom strong{
    color:var(--dark);
}
.ButtonDark{
    min-height:52px;
    padding:0 22px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    background:var(--dark);
    color:var(--white);
    font-size:.61rem;
    font-weight:800;
    transition:background .3s ease,transform .3s ease;
}
.ButtonDark:hover{
    background:var(--primary);
    transform:translateY(-2px);
}
/*=====================================
              SOBRE LEXIUM
======================================*/
.About{
    background:var(--white);
    overflow:hidden;
}
.AboutContainer{
    display:grid;
    grid-template-columns:.92fr 1fr;
    align-items:center;
    gap:95px;
}
.AboutVisual{
    position:relative;
    min-height:650px;
}
.AboutImage{
    position:absolute;
    inset:0 55px 35px 0;
    overflow:hidden;
}
.AboutImage::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 55%,rgba(16,16,16,.22));
}
.AboutImage img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.AboutBadge{
    position:absolute;
    top:55px;
    right:0;
    z-index:2;
    width:180px;
    padding:25px;
    background:var(--dark);
    color:var(--white);
    box-shadow:0 22px 50px rgba(0,0,0,.16);
}
.AboutBadge strong{
    display:block;
    color:#D6B77F;
    font-family:var(--font-title);
    font-size:3rem;
    font-weight:600;
    line-height:1;
}
.AboutBadge span{
    margin-top:8px;
    display:block;
    color:rgba(255,255,255,.55);
    font-size:.57rem;
    line-height:1.6;
}
.AboutQuote{
    position:absolute;
    right:0;
    bottom:0;
    z-index:2;
    width:300px;
    padding:24px;
    background:var(--primary);
    color:var(--white);
}
.AboutQuote i{
    color:rgba(255,255,255,.45);
}
.AboutQuote p{
    margin-top:13px;
    font-family:var(--font-title);
    font-size:1.35rem;
    line-height:1.25;
}
.AboutContent h2{
    max-width:650px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.8rem;
    font-weight:600;
    line-height:1;
}
.AboutContent>p{
    max-width:650px;
    margin-top:20px;
    font-size:.74rem;
    line-height:1.85;
}
.AboutValues{
    margin-top:34px;
    display:grid;
    gap:22px;
}
.AboutValue{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:16px;
    padding-top:20px;
    border-top:1px solid var(--border);
}
.AboutValue>span{
    color:var(--primary);
    font-family:var(--font-title);
    font-size:1.35rem;
    font-weight:600;
}
.AboutValue h3{
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.45rem;
    font-weight:600;
}
.AboutValue p{
    margin-top:6px;
    font-size:.64rem;
    line-height:1.7;
}
.AboutActions{
    margin-top:36px;
    display:flex;
    align-items:center;
    gap:28px;
}
.AboutContact{
    display:flex;
    align-items:center;
    gap:12px;
}
.AboutContact>i{
    width:42px;
    height:42px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--primary-light);
    color:var(--primary-dark);
}
.AboutContact span{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.AboutContact small{
    color:var(--text);
    font-size:.5rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.AboutContact a{
    color:var(--dark);
    font-size:.7rem;
    font-weight:800;
}
/*=====================================
              ESTADÍSTICAS
======================================*/
.Stats{
    padding:58px 0;
    background:var(--dark);
}
.StatsGrid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.StatItem{
    padding:15px 30px;
    text-align:center;
}
.StatItem:not(:last-child){
    border-right:1px solid rgba(255,255,255,.1);
}
.StatItem strong{
    display:block;
    color:#D6B77F;
    font-family:var(--font-title);
    font-size:3.1rem;
    font-weight:600;
    line-height:1;
}
.StatItem p{
    margin-top:9px;
    color:rgba(255,255,255,.45);
    font-size:.52rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
/*=====================================
              PROCESO LEGAL
======================================*/
.LegalProcess{
    background:var(--light);
}
.LegalProcessHeader{
    margin-bottom:65px;
    display:grid;
    grid-template-columns:1fr .7fr;
    align-items:end;
    gap:80px;
}
.LegalProcessHeader h2{
    max-width:720px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.8rem;
    font-weight:600;
    line-height:1;
}
.LegalProcessHeader>p{
    max-width:500px;
    font-size:.74rem;
    line-height:1.85;
}
.LegalProcessGrid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.LegalProcessLine{
    position:absolute;
    top:75px;
    right:8%;
    left:8%;
    height:1px;
    background:var(--border);
}
.LegalProcessCard{
    position:relative;
    z-index:2;
    padding:30px 24px;
    background:var(--white);
    border:1px solid var(--border);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.LegalProcessCard:hover{
    border-color:transparent;
    box-shadow:0 22px 52px rgba(20,20,20,.09);
    transform:translateY(-7px);
}
.LegalProcessNumber{
    display:block;
    color:var(--primary);
    font-family:var(--font-title);
    font-size:1.2rem;
    font-weight:700;
}
.LegalProcessIcon{
    width:58px;
    height:58px;
    margin-top:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--dark);
    color:var(--white);
    font-size:.95rem;
    transition:background .3s ease,transform .3s ease;
}
.LegalProcessCard:hover .LegalProcessIcon{
    background:var(--primary);
    transform:rotate(-4deg) scale(1.04);
}
.LegalProcessCard h3{
    margin-top:24px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.7rem;
    font-weight:600;
    line-height:1.05;
}
.LegalProcessCard p{
    margin-top:13px;
    font-size:.65rem;
    line-height:1.75;
}
.LegalProcessBottom{
    margin-top:34px;
    padding:24px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    background:var(--white);
    border:1px solid var(--border);
}
.LegalProcessBottom>div{
    display:flex;
    align-items:center;
    gap:13px;
}
.LegalProcessBottom>div>i{
    color:var(--primary);
}
.LegalProcessBottom span{
    font-size:.64rem;
    line-height:1.6;
}
.LegalProcessBottom strong{
    color:var(--dark);
}
/*=====================================
            EQUIPO JURÍDICO
======================================*/
.Lawyers{
    background:var(--white);
}
.LawyersHeader{
    margin-bottom:55px;
    display:grid;
    grid-template-columns:1fr .7fr;
    align-items:end;
    gap:80px;
}
.LawyersHeader h2{
    max-width:720px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.8rem;
    font-weight:600;
    line-height:1;
}
.LawyersHeader>div:last-child{
    padding-bottom:4px;
}
.LawyersHeader p{
    max-width:500px;
    font-size:.74rem;
    line-height:1.85;
}
.TextLink{
    margin-top:20px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--dark);
    font-size:.6rem;
    font-weight:800;
}
.TextLink i{
    color:var(--primary);
    transition:transform .3s ease;
}
.TextLink:hover i{
    transform:translateX(5px);
}
.LawyersGrid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
}
.LawyerCard{
    background:var(--light);
    border:1px solid var(--border);
    transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;
}
.LawyerCard:hover{
    border-color:transparent;
    box-shadow:0 24px 58px rgba(20,20,20,.1);
    transform:translateY(-8px);
}
.LawyerImage{
    position:relative;
    height:390px;
    overflow:hidden;
    background:#E9E6DF;
}
.LawyerImage::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 55%,rgba(10,10,10,.45));
}
.LawyerImage img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    filter:saturate(.85);
    transition:transform .7s ease,filter .4s ease;
}
.LawyerCard:hover .LawyerImage img{
    transform:scale(1.05);
    filter:saturate(1);
}
.LawyerSocial{
    position:absolute;
    right:18px;
    bottom:18px;
    z-index:2;
    display:flex;
    gap:8px;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .35s ease,transform .35s ease;
}
.LawyerCard:hover .LawyerSocial{
    opacity:1;
    transform:translateY(0);
}
.LawyerSocial a{
    width:38px;
    height:38px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--white);
    color:var(--dark);
    font-size:.68rem;
    transition:background .3s ease,color .3s ease;
}
.LawyerSocial a:hover{
    background:var(--primary);
    color:var(--white);
}
.LawyerContent{
    padding:27px;
}
.LawyerContent>span{
    color:var(--primary-dark);
    font-size:.5rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.LawyerContent h3{
    margin-top:9px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.95rem;
    font-weight:600;
}
.LawyerContent>p{
    margin-top:13px;
    min-height:72px;
    font-size:.65rem;
    line-height:1.75;
}
.LawyerMeta{
    margin-top:22px;
    padding:17px 0;
    display:grid;
    gap:10px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}
.LawyerMeta span{
    color:var(--text);
    font-size:.55rem;
}
.LawyerMeta i{
    width:16px;
    margin-right:6px;
    color:var(--primary);
}
.LawyerContent>a{
    margin-top:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--dark);
    font-size:.59rem;
    font-weight:800;
}
.LawyerContent>a i{
    color:var(--primary);
    transition:transform .3s ease;
}
.LawyerCard:hover .LawyerContent>a i{
    transform:translateX(5px);
}
.LawyersBottom{
    margin-top:34px;
    padding:24px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    background:var(--light);
    border:1px solid var(--border);
}
.LawyersBottom>div{
    display:flex;
    align-items:center;
    gap:13px;
}
.LawyersBottom>div>i{
    color:var(--primary);
}
.LawyersBottom span{
    font-size:.64rem;
    line-height:1.6;
}
.LawyersBottom strong{
    color:var(--dark);
}
/*=====================================
          CASOS Y EXPERIENCIA
======================================*/
.Cases{
    background:var(--dark);
    color:var(--white);
    overflow:hidden;
}
.CasesHeader{
    margin-bottom:55px;
    display:grid;
    grid-template-columns:1fr .7fr;
    align-items:end;
    gap:80px;
}
.CasesHeader .SectionEyebrow{
    color:#D6B77F;
}
.CasesHeader h2{
    max-width:720px;
    color:var(--white);
    font-family:var(--font-title);
    font-size:3.8rem;
    font-weight:600;
    line-height:1;
}
.CasesHeader>p{
    max-width:500px;
    color:rgba(255,255,255,.5);
    font-size:.74rem;
    line-height:1.85;
}
.CasesGrid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    grid-template-rows:repeat(2,1fr);
    gap:22px;
}
.CaseCard{
    display:grid;
    grid-template-columns:.9fr 1fr;
    background:var(--dark-soft);
    border:1px solid rgba(255,255,255,.1);
    overflow:hidden;
    transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;
}
.CaseCard:hover{
    border-color:rgba(179,138,71,.45);
    box-shadow:0 28px 65px rgba(0,0,0,.25);
    transform:translateY(-7px);
}
.CaseFeatured{
    grid-row:1/3;
    grid-template-columns:1fr;
}
.CaseImage{
    position:relative;
    min-height:260px;
    overflow:hidden;
}
.CaseFeatured .CaseImage{
    min-height:360px;
}
.CaseImage img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.8);
    transition:transform .7s ease,filter .4s ease;
}
.CaseCard:hover .CaseImage img{
    transform:scale(1.05);
    filter:saturate(1);
}
.CaseOverlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(10,10,10,.72));
}
.CaseBadge{
    position:absolute;
    left:20px;
    bottom:18px;
    z-index:2;
    padding:8px 11px;
    background:var(--primary);
    color:var(--white);
    font-size:.48rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.CaseContent{
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.CaseNumber{
    color:#D6B77F;
    font-size:.49rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.CaseContent h3{
    margin-top:11px;
    color:var(--white);
    font-family:var(--font-title);
    font-size:2rem;
    font-weight:600;
    line-height:1.05;
}
.CaseFeatured .CaseContent h3{
    font-size:2.6rem;
}
.CaseContent>p{
    margin-top:15px;
    color:rgba(255,255,255,.5);
    font-size:.64rem;
    line-height:1.75;
}
.CaseResults{
    margin-top:24px;
    padding:20px 0;
    display:flex;
    gap:30px;
    border-top:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
}
.CaseResults strong{
    display:block;
    color:#D6B77F;
    font-family:var(--font-title);
    font-size:1.7rem;
    font-weight:600;
}
.CaseResults span{
    margin-top:5px;
    display:block;
    color:rgba(255,255,255,.4);
    font-size:.48rem;
    line-height:1.5;
    text-transform:uppercase;
}
.CaseContent>a{
    margin-top:22px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--white);
    font-size:.57rem;
    font-weight:800;
}
.CaseContent>a i{
    color:var(--primary);
    transition:transform .3s ease;
}
.CaseCard:hover .CaseContent>a i{
    transform:translateX(5px);
}
.CasesNotice{
    margin-top:30px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.03);
}
.CasesNotice i{
    color:var(--primary);
}
.CasesNotice p{
    color:rgba(255,255,255,.42);
    font-size:.58rem;
    line-height:1.7;
}
/*=====================================
              TESTIMONIOS
======================================*/
.Testimonials{
    background:var(--light);
    overflow:hidden;
}
.TestimonialsContainer{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    align-items:start;
    gap:85px;
}
.TestimonialsIntro{
    position:sticky;
    top:130px;
}
.TestimonialsIntro h2{
    max-width:560px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.65rem;
    font-weight:600;
    line-height:1;
}
.TestimonialsIntro>p{
    max-width:500px;
    margin-top:22px;
    font-size:.73rem;
    line-height:1.85;
}
.TestimonialsRating{
    margin-top:32px;
    padding:22px 0;
    display:flex;
    align-items:center;
    gap:18px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}
.TestimonialsRating>strong{
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3rem;
    font-weight:600;
    line-height:1;
}
.TestimonialsRating>div{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.TestimonialsStars{
    display:flex;
    gap:5px;
    color:var(--primary);
    font-size:.65rem;
}
.TestimonialsRating span{
    color:var(--text);
    font-size:.53rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.TestimonialsTrust{
    margin-top:26px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.TestimonialsTrust>div{
    padding:18px;
    background:var(--white);
    border:1px solid var(--border);
}
.TestimonialsTrust strong{
    display:block;
    color:var(--primary-dark);
    font-family:var(--font-title);
    font-size:1.8rem;
    font-weight:600;
}
.TestimonialsTrust span{
    margin-top:6px;
    display:block;
    color:var(--text);
    font-size:.51rem;
    line-height:1.5;
    text-transform:uppercase;
}
.TestimonialsContent{
    display:grid;
    gap:22px;
}
.TestimonialMain{
    position:relative;
    min-height:430px;
    padding:45px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:var(--dark);
    color:var(--white);
    overflow:hidden;
}
.TestimonialMain::before{
    content:"";
    position:absolute;
    top:-130px;
    right:-90px;
    width:330px;
    height:330px;
    border:1px solid rgba(179,138,71,.16);
    border-radius:50%;
}
.TestimonialQuote{
    position:absolute;
    top:35px;
    right:40px;
    color:rgba(255,255,255,.07);
    font-size:7rem;
}
.TestimonialMain blockquote{
    position:relative;
    z-index:2;
    max-width:760px;
    margin-top:24px;
    color:var(--white);
    font-family:var(--font-title);
    font-size:2.25rem;
    font-weight:600;
    line-height:1.25;
}
.TestimonialAuthor{
    position:relative;
    z-index:2;
    margin-top:34px;
    padding-top:24px;
    display:flex;
    align-items:center;
    gap:14px;
    border-top:1px solid rgba(255,255,255,.12);
}
.TestimonialAuthor img{
    width:54px;
    height:54px;
    flex-shrink:0;
    object-fit:cover;
    border-radius:50%;
}
.TestimonialAuthor>div{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.TestimonialAuthor strong{
    color:var(--dark);
    font-size:.69rem;
}
.TestimonialAuthor span{
    color:var(--text);
    font-size:.54rem;
}
.TestimonialMain .TestimonialAuthor strong{
    color:var(--white);
}
.TestimonialMain .TestimonialAuthor span{
    color:rgba(255,255,255,.48);
}
.TestimonialMain .TestimonialAuthor small{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.48);
    font-size:.5rem;
}
.TestimonialMain .TestimonialAuthor small i{
    color:#D6B77F;
}
.TestimonialsSide{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}
.TestimonialCard{
    min-height:300px;
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:var(--white);
    border:1px solid var(--border);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.TestimonialCard:hover{
    border-color:transparent;
    box-shadow:0 22px 50px rgba(20,20,20,.08);
    transform:translateY(-6px);
}
.TestimonialCardTop{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.TestimonialCardTop>i{
    color:var(--primary-light);
    font-size:2.3rem;
}
.TestimonialCard>p{
    margin:28px 0;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.35rem;
    font-weight:600;
    line-height:1.35;
}
.TestimonialCard .TestimonialAuthor{
    margin-top:0;
    padding-top:18px;
    border-top:1px solid var(--border);
}
/*=====================================
                  FAQ
======================================*/
.Faq{
    background:var(--white);
    overflow:hidden;
}
.FaqContainer{
    display:grid;
    grid-template-columns:.76fr 1.24fr;
    align-items:start;
    gap:90px;
}
.FaqIntro{
    position:sticky;
    top:130px;
}
.FaqIntro h2{
    max-width:570px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.65rem;
    font-weight:600;
    line-height:1;
}
.FaqIntro>p{
    max-width:520px;
    margin-top:22px;
    font-size:.73rem;
    line-height:1.85;
}
.FaqHelp{
    margin-top:32px;
    padding:23px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:15px;
    background:var(--light);
    border:1px solid var(--border);
}
.FaqHelpIcon{
    width:48px;
    height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--primary-light);
    color:var(--primary-dark);
}
.FaqHelp>div:last-child{
    display:flex;
    flex-direction:column;
}
.FaqHelp span{
    color:var(--primary-dark);
    font-size:.49rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.FaqHelp strong{
    margin-top:5px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:1.2rem;
    font-weight:600;
}
.FaqHelp p{
    margin-top:6px;
    font-size:.61rem;
    line-height:1.7;
}
.FaqIntro>.ButtonDark{
    margin-top:26px;
}
.FaqList{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.FaqItem{
    background:var(--white);
    border:1px solid var(--border);
    overflow:hidden;
    transition:border-color .3s ease,box-shadow .3s ease;
}
.FaqItem.Active{
    border-color:rgba(179,138,71,.4);
    box-shadow:0 18px 45px rgba(20,20,20,.07);
}
.FaqQuestion{
    width:100%;
    padding:23px 25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:transparent;
    color:var(--dark);
    text-align:left;
    cursor:pointer;
}
.FaqQuestion span{
    font-size:.72rem;
    font-weight:800;
}
.FaqQuestion i{
    width:36px;
    height:36px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-shrink:0;
    background:var(--primary-light);
    color:var(--primary-dark);
    font-size:.65rem;
    transition:background .3s ease,color .3s ease,transform .35s ease;
}
.FaqItem.Active .FaqQuestion i{
    background:var(--primary);
    color:var(--white);
    transform:rotate(45deg);
}
.FaqAnswer{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .4s ease;
}
.FaqItem.Active .FaqAnswer{
    grid-template-rows:1fr;
}
.FaqAnswer>div{
    overflow:hidden;
}
.FaqAnswer p{
    padding:0 75px 24px 25px;
    color:var(--text);
    font-size:.65rem;
    line-height:1.8;
}
/*=====================================
                CONTACTO
======================================*/
.Contact{
    position:relative;
    background:var(--light);
    overflow:hidden;
}
.Contact::before{
    content:"";
    position:absolute;
    top:-180px;
    left:-180px;
    width:430px;
    height:430px;
    border:1px solid rgba(179,138,71,.14);
    border-radius:50%;
}
.ContactContainer{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.12fr .88fr;
    align-items:stretch;
    gap:0;
    background:var(--white);
    border:1px solid var(--border);
    box-shadow:0 30px 75px rgba(20,20,20,.1);
}
.ContactFormPanel{
    padding:58px;
}
.ContactHeader h2{
    max-width:650px;
    color:var(--dark);
    font-family:var(--font-title);
    font-size:3.7rem;
    font-weight:600;
    line-height:1;
}
.ContactHeader>p{
    max-width:650px;
    margin-top:20px;
    font-size:.72rem;
    line-height:1.85;
}
.ContactForm{
    margin-top:36px;
}
.ContactFormGrid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}
.FormGroup{
    display:flex;
    flex-direction:column;
    gap:9px;
}
.FormGroupFull{
    grid-column:1/-1;
}
.FormGroup label{
    color:var(--dark);
    font-size:.5rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.FormGroup input,.FormGroup select,.FormGroup textarea{
    width:100%;
    padding:15px 0;
    background:transparent;
    border:none;
    border-bottom:1px solid var(--border);
    outline:none;
    color:var(--dark);
    font-size:.65rem;
    transition:border-color .3s ease;
}
.FormGroup input::placeholder,.FormGroup textarea::placeholder{
    color:#AAA7A1;
}
.FormGroup input:focus,.FormGroup select:focus,.FormGroup textarea:focus{
    border-color:var(--primary);
}
.FormGroup textarea{
    resize:vertical;
}
.FormConsent{
    margin-top:23px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    cursor:pointer;
}
.FormConsent input{
    margin-top:3px;
    accent-color:var(--primary);
}
.FormConsent span{
    color:var(--text);
    font-size:.55rem;
    line-height:1.65;
}
.ContactSubmit{
    width:100%;
    min-height:56px;
    margin-top:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    background:var(--dark);
    color:var(--white);
    font-size:.63rem;
    font-weight:800;
    cursor:pointer;
    transition:background .3s ease,transform .3s ease;
}
.ContactSubmit:hover{
    background:var(--primary);
    transform:translateY(-2px);
}
.ContactSubmit:disabled{
    cursor:not-allowed;
    opacity:.7;
}
.ContactFormMessage{
    min-height:17px;
    margin-top:14px;
    color:var(--primary-dark);
    font-size:.56rem;
    font-weight:700;
    text-align:center;
}
.ContactInfo{
    display:flex;
    flex-direction:column;
    background:var(--dark);
    color:var(--white);
}
.ContactImage{
    position:relative;
    min-height:310px;
    overflow:hidden;
}
.ContactImage img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.ContactImageOverlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(16,16,16,.08),rgba(16,16,16,.86));
}
.ContactImageText{
    position:absolute;
    right:32px;
    bottom:30px;
    left:32px;
    z-index:2;
}
.ContactImageText span{
    color:#D6B77F;
    font-size:.49rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.ContactImageText strong{
    max-width:390px;
    margin-top:10px;
    display:block;
    font-family:var(--font-title);
    font-size:1.75rem;
    font-weight:600;
    line-height:1.15;
}
.ContactDetails{
    padding:34px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px 20px;
}
.ContactDetail{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:12px;
}
.ContactDetail>i{
    width:40px;
    height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.13);
    color:#D6B77F;
    font-size:.7rem;
}
.ContactDetail>span{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.ContactDetail small{
    color:rgba(255,255,255,.38);
    font-size:.46rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ContactDetail strong{
    color:var(--white);
    font-size:.59rem;
    font-weight:600;
    line-height:1.5;
}
.ContactConfidentiality{
    margin:auto 34px 34px;
    padding:19px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);
}
.ContactConfidentiality i{
    margin-top:3px;
    color:#D6B77F;
    font-size:.65rem;
}
.ContactConfidentiality p{
    color:rgba(255,255,255,.42);
    font-size:.52rem;
    line-height:1.7;
}
/*=====================================
          FRANJA DE CONFIANZA
======================================*/
.TrustBar{
    background:var(--primary);
}
.TrustBarContainer{
    min-height:100px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.TrustBarContainer>div{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:11px;
    border-right:1px solid rgba(255,255,255,.18);
    color:var(--white);
}
.TrustBarContainer>div:first-child{
    border-left:1px solid rgba(255,255,255,.18);
}
.TrustBarContainer i{
    font-size:.75rem;
}
.TrustBarContainer span{
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
/*=====================================
                FOOTER
======================================*/
.Footer{
    background:#0A0A0B;
    color:var(--white);
}
.FooterMain{
    padding-top:85px;
    padding-bottom:68px;
    display:grid;
    grid-template-columns:1.35fr .72fr 1fr 1fr;
    gap:60px;
}
.FooterLogo{
    width:max-content;
}
.FooterBrand>p{
    max-width:370px;
    margin-top:24px;
    color:rgba(255,255,255,.43);
    font-size:.63rem;
    line-height:1.85;
}
.FooterSocial{
    margin-top:26px;
    display:flex;
    gap:9px;
}
.FooterSocial a{
    width:38px;
    height:38px;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.11);
    color:rgba(255,255,255,.65);
    font-size:.65rem;
    transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;
}
.FooterSocial a:hover{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white);
    transform:translateY(-3px);
}
.FooterColumn h3{
    margin-bottom:23px;
    color:var(--white);
    font-family:var(--font-title);
    font-size:1.35rem;
    font-weight:600;
}
.FooterColumn nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}
.FooterColumn nav a{
    color:rgba(255,255,255,.44);
    font-size:.57rem;
    transition:color .3s ease,transform .3s ease;
}
.FooterColumn nav a:hover{
    color:#D6B77F;
    transform:translateX(4px);
}
.FooterContact{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
}
.FooterContact h3{
    margin-bottom:8px;
}
.FooterContact>a,.FooterContact>p{
    display:grid;
    grid-template-columns:17px 1fr;
    gap:9px;
    color:rgba(255,255,255,.44);
    font-size:.56rem;
    line-height:1.6;
}
.FooterContact i{
    margin-top:2px;
    color:#D6B77F;
}
.FooterContact>a{
    transition:color .3s ease;
}
.FooterContact>a:hover{
    color:var(--white);
}
.FooterBottom{
    min-height:78px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    border-top:1px solid rgba(255,255,255,.08);
}
.FooterBottom p,.FooterBottom a{
    color:rgba(255,255,255,.3);
    font-size:.5rem;
}
.FooterBottom>div{
    display:flex;
    gap:23px;
}
.FooterBottom a{
    transition:color .3s ease;
}
.FooterBottom a:hover{
    color:#D6B77F;
}
.DemoNotice{
    padding:20px 0;
    background:#060607;
    border-top:1px solid rgba(255,255,255,.06);
}
.DemoNoticeContainer{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:17px;
}
.DemoNoticeContainer>i{
    width:42px;
    height:42px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(179,138,71,.1);
    color:#D6B77F;
}
.DemoNoticeContainer>div{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.DemoNotice strong{
    color:rgba(255,255,255,.72);
    font-size:.58rem;
}
.DemoNotice p{
    max-width:830px;
    color:rgba(255,255,255,.3);
    font-size:.49rem;
    line-height:1.65;
}
.DemoNotice a{
    display:flex;
    align-items:center;
    gap:8px;
    color:#D6B77F;
    font-size:.56rem;
    font-weight:800;
    white-space:nowrap;
}
.DemoNotice a i{
    transition:transform .3s ease;
}
.DemoNotice a:hover i{
    transform:translateX(5px);
}
/*=====================================
          BOTONES FLOTANTES
======================================*/
.FloatingActions{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:900;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
}
.WhatsAppButton{
    min-height:50px;
    padding:0 18px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    background:#25D366;
    border-radius:28px;
    color:var(--white);
    box-shadow:0 14px 34px rgba(0,0,0,.2);
    font-size:.59rem;
    font-weight:800;
    transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.WhatsAppButton i{
    font-size:1.05rem;
}
.WhatsAppButton:hover{
    background:#1EBD5B;
    box-shadow:0 18px 40px rgba(0,0,0,.25);
    transform:translateY(-3px);
}
.ScrollTop{
    width:46px;
    height:46px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--primary);
    border:none;
    border-radius:50%;
    color:var(--white);
    box-shadow:0 14px 34px rgba(0,0,0,.2);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transform:translateY(14px);
    transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .3s ease;
}
.ScrollTop.Show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.ScrollTop:hover{
    background:var(--primary-dark);
    transform:translateY(-3px);
}
/*=====================================
              RESPONSIVE
======================================*/
@media(max-width:1050px){
    .Navigation{
        gap:19px;
    }
    .HeroContainer{
        grid-template-columns:1fr .7fr;
        gap:50px;
    }
    .HeroContent h1{
        font-size:4.5rem;
    }
    .HeroConsultation{
        padding:30px;
    }
}
@media(max-width:900px){
    .Header{
        padding:18px 0;
    }
    .MenuButton{
        display:flex;
    }
    .Navigation{
        position:absolute;
        top:calc(100% + 1px);
        right:20px;
        left:20px;
        padding:18px;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
        background:var(--white);
        border:1px solid var(--border);
        box-shadow:0 25px 60px rgba(0,0,0,.2);
        opacity:0;
        visibility:hidden;
        transform:translateY(-12px);
        transition:opacity .3s ease,visibility .3s ease,transform .3s ease;
    }
    .Navigation.Active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }
    .Navigation a{
        padding:14px 15px;
        color:var(--dark);
    }
    .Navigation a::after{
        display:none;
    }
    .Navigation a:hover,.Navigation a.Active{
        background:var(--primary-light);
        color:var(--primary-dark);
    }
    .Hero{
        min-height:auto;
        padding:165px 0 190px;
    }
    .HeroContainer{
        grid-template-columns:1fr;
    }
    .HeroContent{
        max-width:760px;
    }
    .HeroConsultation{
        width:min(100%,620px);
    }
    .HeroScroll{
        display:none;
    }
}
@media(max-width:650px){
    .Container{
        width:min(100% - 28px,1200px);
    }
    .HeaderButton{
        display:none;
    }
    .LogoSymbol{
        width:42px;
        height:42px;
        font-size:1.6rem;
    }
    .LogoText strong{
        font-size:1.35rem;
    }
    .Hero{
        padding:140px 0 390px;
    }
    .HeroContent h1{
        font-size:3.45rem;
    }
    .HeroContent>p{
        font-size:.72rem;
    }
    .HeroActions{
        flex-direction:column;
    }
    .ButtonPrimary,.ButtonSecondary{
        width:100%;
    }
    .HeroTrust{
        align-items:flex-start;
        flex-direction:column;
    }
    .HeroConsultation{
        padding:26px 22px;
    }
    .HeroConsultation h2{
        font-size:2rem;
    }
    .HeroBottomContainer{
        grid-template-columns:repeat(2,1fr);
    }
    .HeroStat{
        min-height:105px;
    }
    .HeroStat:nth-child(2){
        border-right:none;
    }
    .HeroStat:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.1);
    }
}
@media(max-width:430px){
    .Hero{
        padding-bottom:580px;
    }
    .HeroContent h1{
        font-size:3rem;
    }
    .HeroBottomContainer{
        grid-template-columns:1fr;
    }
    .HeroStat{
        border-right:none;
        border-bottom:1px solid rgba(255,255,255,.1);
    }
    .HeroStat:first-child{
        border-left:none;
    }
    .HeroStat:last-child{
        border-bottom:none;
    }
}
@media(max-width:1050px){
    .PracticeHeader{
        gap:50px;
    }
    .PracticeHeader h2{
        font-size:3.35rem;
    }
    .PracticeGrid{
        grid-template-columns:repeat(2,1fr);
    }
    .PracticeFeatured{
        grid-column:1/-1;
        grid-row:auto;
        min-height:500px;
    }
}
@media(max-width:750px){
    .Section{
        padding:95px 0;
    }
    .PracticeHeader{
        grid-template-columns:1fr;
        gap:22px;
    }
    .PracticeGrid{
        grid-template-columns:1fr;
    }
    .PracticeFeatured{
        min-height:470px;
    }
    .PracticeBottom{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:480px){
    .PracticeHeader h2{
        font-size:2.8rem;
    }
    .PracticeCard{
        padding:25px;
    }
    .PracticeFeatured{
        min-height:500px;
    }
    .PracticeFeatured h3{
        font-size:2.4rem;
    }
    .PracticeBottom{
        padding:22px;
    }
    .PracticeBottom .ButtonDark{
        width:100%;
    }
}
@media(max-width:1050px){
    .AboutContainer{
        gap:55px;
    }
    .AboutVisual{
        min-height:590px;
    }
    .AboutContent h2{
        font-size:3.35rem;
    }
}
@media(max-width:850px){
    .AboutContainer{
        grid-template-columns:1fr;
    }
    .AboutVisual{
        width:min(100%,650px);
    }
    .StatsGrid{
        grid-template-columns:repeat(2,1fr);
    }
    .StatItem:nth-child(2){
        border-right:none;
    }
    .StatItem:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.1);
    }
}
@media(max-width:600px){
    .AboutVisual{
        min-height:520px;
    }
    .AboutImage{
        inset:0 0 45px;
    }
    .AboutBadge{
        top:20px;
        right:12px;
        width:160px;
        padding:20px;
    }
    .AboutQuote{
        right:12px;
        width:240px;
        padding:20px;
    }
    .AboutContent h2{
        font-size:2.85rem;
    }
    .AboutActions{
        align-items:stretch;
        flex-direction:column;
    }
    .AboutActions .ButtonDark{
        width:100%;
    }
    .AboutContact{
        justify-content:center;
    }
    .StatsGrid{
        grid-template-columns:1fr;
    }
    .StatItem{
        border-right:none!important;
        border-bottom:1px solid rgba(255,255,255,.1);
    }
    .StatItem:last-child{
        border-bottom:none;
    }
}
@media(max-width:1050px){
    .LegalProcessHeader{
        gap:50px;
    }
    .LegalProcessHeader h2{
        font-size:3.35rem;
    }
    .LegalProcessGrid{
        grid-template-columns:repeat(2,1fr);
    }
    .LegalProcessLine{
        display:none;
    }
}
@media(max-width:750px){
    .LegalProcessHeader{
        grid-template-columns:1fr;
        gap:22px;
    }
    .LegalProcessBottom{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:520px){
    .LegalProcessGrid{
        grid-template-columns:1fr;
    }
    .LegalProcessHeader h2{
        font-size:2.8rem;
    }
    .LegalProcessBottom{
        padding:22px;
    }
    .LegalProcessBottom .ButtonDark{
        width:100%;
    }
}
@media(max-width:1050px){
    .LawyersHeader{
        gap:50px;
    }
    .LawyersHeader h2{
        font-size:3.35rem;
    }
    .LawyersGrid{
        grid-template-columns:repeat(2,1fr);
    }
    .LawyerCard:last-child{
        grid-column:1/-1;
        width:calc(50% - 13px);
        justify-self:center;
    }
}
@media(max-width:750px){
    .LawyersHeader{
        grid-template-columns:1fr;
        gap:22px;
    }
    .LawyersGrid{
        grid-template-columns:1fr;
    }
    .LawyerCard:last-child{
        grid-column:auto;
        width:100%;
    }
    .LawyerSocial{
        opacity:1;
        transform:none;
    }
    .LawyersBottom{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:480px){
    .LawyersHeader h2{
        font-size:2.8rem;
    }
    .LawyerImage{
        height:350px;
    }
    .LawyerContent{
        padding:23px;
    }
    .LawyerContent>p{
        min-height:auto;
    }
    .LawyersBottom{
        padding:22px;
    }
    .LawyersBottom .ButtonDark{
        width:100%;
    }
}
@media(max-width:1050px){
    .CasesHeader{
        gap:50px;
    }
    .CasesHeader h2{
        font-size:3.35rem;
    }
    .CasesGrid{
        grid-template-columns:1fr;
        grid-template-rows:auto;
    }
    .CaseFeatured{
        grid-row:auto;
    }
}
@media(max-width:750px){
    .CasesHeader{
        grid-template-columns:1fr;
        gap:22px;
    }
    .CaseCard{
        grid-template-columns:1fr;
    }
    .CaseImage,.CaseFeatured .CaseImage{
        min-height:300px;
    }
}
@media(max-width:480px){
    .CasesHeader h2{
        font-size:2.8rem;
    }
    .CaseContent{
        padding:24px;
    }
    .CaseContent h3,.CaseFeatured .CaseContent h3{
        font-size:2rem;
    }
    .CaseResults{
        flex-direction:column;
        gap:16px;
    }
    .CasesNotice{
        align-items:flex-start;
    }
}
@media(max-width:1050px){
    .TestimonialsContainer{
        gap:55px;
    }
    .TestimonialsIntro h2{
        font-size:3.2rem;
    }
    .TestimonialMain blockquote{
        font-size:2rem;
    }
}
@media(max-width:850px){
    .TestimonialsContainer{
        grid-template-columns:1fr;
    }
    .TestimonialsIntro{
        position:static;
        max-width:700px;
    }
}
@media(max-width:650px){
    .TestimonialsIntro h2{
        font-size:2.8rem;
    }
    .TestimonialsTrust{
        grid-template-columns:1fr;
    }
    .TestimonialMain{
        min-height:430px;
        padding:32px 26px;
    }
    .TestimonialMain blockquote{
        font-size:1.7rem;
    }
    .TestimonialMain .TestimonialAuthor small{
        display:none;
    }
    .TestimonialsSide{
        grid-template-columns:1fr;
    }
}
@media(max-width:430px){
    .TestimonialMain{
        min-height:400px;
        padding:28px 22px;
    }
    .TestimonialMain blockquote{
        font-size:1.5rem;
    }
    .TestimonialQuote{
        top:25px;
        right:24px;
        font-size:5rem;
    }
    .TestimonialCard{
        min-height:280px;
        padding:24px;
    }
}
@media(max-width:1050px){
    .FaqContainer{
        gap:55px;
    }
    .FaqIntro h2{
        font-size:3.2rem;
    }
}
@media(max-width:850px){
    .FaqContainer{
        grid-template-columns:1fr;
    }
    .FaqIntro{
        position:static;
        max-width:700px;
    }
}
@media(max-width:600px){
    .FaqIntro h2{
        font-size:2.8rem;
    }
    .FaqQuestion{
        padding:20px;
    }
    .FaqAnswer p{
        padding:0 20px 21px;
    }
    .FaqIntro>.ButtonDark{
        width:100%;
    }
}
@media(max-width:1050px){
    .ContactFormPanel{
        padding:45px;
    }
    .ContactHeader h2{
        font-size:3.2rem;
    }
    .ContactDetails{
        grid-template-columns:1fr;
    }
    .FooterMain{
        grid-template-columns:1.2fr repeat(2,1fr);
        gap:45px;
    }
    .FooterContact{
        grid-column:1/-1;
        display:grid;
        grid-template-columns:repeat(2,1fr);
    }
    .FooterContact h3{
        grid-column:1/-1;
    }
}
@media(max-width:850px){
    .ContactContainer{
        grid-template-columns:1fr;
    }
    .ContactImage{
        min-height:380px;
    }
    .ContactDetails{
        grid-template-columns:repeat(2,1fr);
    }
    .TrustBarContainer{
        grid-template-columns:repeat(2,1fr);
    }
    .TrustBarContainer>div{
        min-height:80px;
        border-bottom:1px solid rgba(255,255,255,.18);
    }
    .TrustBarContainer>div:nth-child(2){
        border-right:none;
    }
    .DemoNoticeContainer{
        grid-template-columns:auto 1fr;
    }
    .DemoNoticeContainer>a{
        grid-column:1/-1;
        margin-left:59px;
    }
}
@media(max-width:650px){
    .ContactFormPanel{
        padding:38px 26px;
    }
    .ContactHeader h2{
        font-size:2.8rem;
    }
    .ContactFormGrid{
        grid-template-columns:1fr;
    }
    .FormGroupFull{
        grid-column:auto;
    }
    .ContactDetails{
        grid-template-columns:1fr;
    }
    .FooterMain{
        padding-top:68px;
        padding-bottom:55px;
        grid-template-columns:repeat(2,1fr);
    }
    .FooterBrand{
        grid-column:1/-1;
    }
    .FooterContact{
        grid-column:1/-1;
        grid-template-columns:1fr;
    }
    .FooterContact h3{
        grid-column:auto;
    }
    .FooterBottom{
        padding:24px 0;
        flex-direction:column;
        justify-content:center;
        text-align:center;
    }
}
@media(max-width:480px){
    .ContactImage{
        min-height:320px;
    }
    .ContactImageText{
        right:23px;
        bottom:23px;
        left:23px;
    }
    .ContactImageText strong{
        font-size:1.5rem;
    }
    .ContactDetails{
        padding:27px 23px;
    }
    .ContactConfidentiality{
        margin:0 23px 27px;
    }
    .TrustBarContainer{
        grid-template-columns:1fr;
    }
    .TrustBarContainer>div{
        border-right:none;
    }
    .TrustBarContainer>div:first-child{
        border-left:none;
    }
    .FooterMain{
        grid-template-columns:1fr;
    }
    .FooterBrand{
        grid-column:auto;
    }
    .FooterBottom>div{
        flex-direction:column;
        gap:10px;
    }
    .DemoNoticeContainer{
        grid-template-columns:1fr;
        text-align:center;
    }
    .DemoNoticeContainer>i{
        margin:auto;
    }
    .DemoNoticeContainer>a{
        grid-column:auto;
        justify-content:center;
        margin-left:0;
    }
    .FloatingActions{
        right:15px;
        bottom:15px;
    }
    .WhatsAppButton{
        width:48px;
        height:48px;
        min-height:48px;
        padding:0;
        border-radius:50%;
    }
    .WhatsAppButton span{
        display:none;
    }
}