/* =====================================================
   PÁGINA NUESTRO EQUIPO
===================================================== */


/* =====================================================
   HEADER
===================================================== */

.main-nav a.active{
    color: #c7aa6c;
}

.main-nav a.active::after{
    width: 100%;
}


/* =====================================================
   ANIMACIONES REVEAL — ENTRADA ESCALONADA (SOLO ESTA PÁGINA)
===================================================== */

.reveal{
    transition:
        opacity .9s cubic-bezier(.2,.8,.2,1),
        transform .9s cubic-bezier(.2,.8,.2,1);
}

.professional-grid > .reveal:nth-child(2){ transition-delay: .08s; }
.professional-grid > .reveal:nth-child(3){ transition-delay: .16s; }
.professional-grid > .reveal:nth-child(4){ transition-delay: .24s; }
.professional-grid > .reveal:nth-child(5){ transition-delay: .32s; }
.professional-grid > .reveal:nth-child(6){ transition-delay: .4s; }

.workshop-grid > .reveal:nth-child(2){ transition-delay: .08s; }
.workshop-grid > .reveal:nth-child(3){ transition-delay: .16s; }
.workshop-grid > .reveal:nth-child(4){ transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {

    .reveal{
        transition: opacity .4s ease;

        transform: none !important;

        transition-delay: 0s !important;
    }

    .professional-card, .professional-image, .workshop-person, .team-hero-button, .team-hero-bg{
        transition: none !important;
    }

    .professional-card:hover, .workshop-person:hover{
        transform: none;
    }

}


/* =====================================================
   HERO
===================================================== */

.team-hero{
    position: relative;

    min-height: 610px;

    display: flex;

    align-items: center;

    background: #10201a;

    overflow: hidden;
}

.team-hero-bg{
    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(199,170,108,.16),
            transparent 30%
        ),
        radial-gradient(
            circle at 10% 90%,
            rgba(54,91,75,.25),
            transparent 35%
        );
}

.team-hero-bg::after{
    content: "";

    position: absolute;

    width: 600px;
    height: 600px;

    right: -280px;
    top: -150px;

    border: 1px solid rgba(199,170,108,.12);

    border-radius: 50%;
}

.team-hero-content{
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 380px;

    align-items: center;

    gap: 80px;
}

.team-hero-text{
    max-width: 720px;
}

.team-hero-text .eyebrow{
    color: #c7aa6c;
}

.team-hero-text h1{
    margin: 22px 0;

    color: #ffffff;

    font-family: "Playfair Display", serif;

    font-size: clamp(50px, 7vw, 78px);

    line-height: .98;

    font-weight: 600;
}

.team-hero-text h1 em{
    color: #c7aa6c;

    font-style: italic;
}

.team-hero-text p{
    max-width: 600px;

    margin: 0 0 32px;

    color: rgba(255,255,255,.63);

    font-size: 16px;

    line-height: 1.8;
}

.team-hero-button{
    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 14px 20px;

    border: 1px solid rgba(199,170,108,.5);

    color: #fff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 600;

    transition: .3s ease;
}

.team-hero-button:hover{
    background: #c7aa6c;

    color: #10201a;

    transform: translateY(-2px);
}


/* =====================================================
   INTRO
===================================================== */

.team-intro{
    background: #f5f4ef;
}

.team-intro-grid{
    display: grid;

    grid-template-columns: .9fr 1fr;

    gap: 100px;

    align-items: center;
}

.team-intro h2{
    margin: 18px 0 0;

    color: #1a2c25;

    font-family: "Playfair Display", serif;

    font-size: clamp(38px, 5vw, 58px);

    line-height: 1.05;
}

.team-intro h2 em{
    color: #a98c56;

    font-style: italic;
}

.team-intro-copy{
    max-width: 620px;
}

.team-intro-copy p{
    margin: 0 0 18px;

    color: #65716b;

    font-size: 15px;

    line-height: 1.9;
}


/* =====================================================
   EQUIPO
===================================================== */

.professional-team{
    background: #ffffff;
}

.professional-grid{
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 28px;
}

.professional-card{
    display: grid;

    grid-template-columns: 210px 1fr;

    min-height: 340px;

    background: #f5f5f1;

    border: 1px solid rgba(16,32,26,.07);

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(16,32,26,.05);

    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        box-shadow .45s cubic-bezier(.2,.8,.2,1),
        border-color .45s ease;
}

.professional-card:hover{
    transform: translateY(-8px);

    border-color: rgba(199,170,108,.35);

    box-shadow:
        0 30px 60px rgba(16,32,26,.14);
}

.professional-card-featured{
    background: #eef0eb;
}

.professional-photo{
    position: relative;

    min-height: 100%;

    background:
        linear-gradient(
            145deg,
            #dce2dc,
            #bdc9c0
        );

    overflow: hidden;
}

.professional-image{
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

.professional-card:hover .professional-image{
    transform: scale(1.06);
}

.professional-photo::after{
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 55%;

    background:
        linear-gradient(
            to top,
            rgba(10,20,17,.55),
            transparent
        );

    pointer-events: none;
}


.professional-number{
    position: absolute;

    left: 16px;
    bottom: 16px;

    z-index: 1;

    color: rgba(255,255,255,.92);

    font-family: "Playfair Display", serif;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .12em;
}

.professional-info{
    padding: 34px 30px;
}

.professional-area{
    display: block;

    margin-bottom: 12px;

    color: #a98c56;

    font-size: 9.5px;

    font-weight: 700;

    letter-spacing: .18em;

    text-transform: uppercase;
}

.professional-info h3{
    margin: 0 0 10px;

    color: #16241e;

    font-family: "Playfair Display", serif;

    font-size: 26px;

    font-weight: 600;

    line-height: 1.18;

    letter-spacing: -.2px;
}

.professional-info strong{
    display: block;

    color: #55645d;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: .03em;

    line-height: 1.5;
}

.professional-info p{
    margin: 18px 0;

    max-width: 46ch;

    color: #6d7772;

    font-size: 12.5px;

    line-height: 1.85;
}

.professional-line{
    width: 35px;
    height: 2px;

    margin: 18px 0;

    background:
        linear-gradient(
            to right,
            #c7aa6c,
            rgba(199,170,108,.2)
        );
}

.professional-focus{
    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 8px;

    color: #5c6963;

    font-size: 10.5px;

    letter-spacing: .02em;

    transition: transform .3s ease, color .3s ease;
}

.professional-card:hover .professional-focus{
    color: #46534d;
}

.professional-focus i{
    display: flex;

    align-items: center;

    justify-content: center;

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: rgba(199,170,108,.14);

    color: #a98c56;

    font-size: 9px;
}

.professional-focus i{
    color: #b0935d;
}


/* =====================================================
   ENCABEZADOS DE SECCIÓN — REFINAMIENTO TIPOGRÁFICO
===================================================== */

.professional-team .section-heading h2, .workshop-team .section-heading h2{
    font-weight: 600;

    letter-spacing: -1px;

    color: #14201b;
}

.professional-team .section-heading p, .workshop-team .section-heading p{
    max-width: 52ch;

    font-size: 15px;

    line-height: 1.85;
}


/* =====================================================
   TALLERES
===================================================== */

.workshop-team{
    background: #f5f4ef;
}

.workshop-grid{
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}

.workshop-person{
    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 22px;

    padding: 30px;

    background: #ffffff;

    border: 1px solid rgba(16,32,26,.07);

    border-radius: 10px;

    box-shadow: 0 8px 24px rgba(16,32,26,.04);

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s cubic-bezier(.2,.8,.2,1),
        border-color .4s ease;
}

.workshop-person:hover{
    transform: translateY(-6px);

    border-color: rgba(199,170,108,.3);

    box-shadow:
        0 24px 50px rgba(16,32,26,.1);
}


.workshop-person > div:last-child > span{
    color: #a98c56;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.workshop-person h3{
    margin: 5px 0;

    color: #16241e;

    font-family: "Playfair Display", serif;

    font-size: 23px;

    font-weight: 600;

    letter-spacing: -.2px;
}

.workshop-person strong{
    color: #53625b;

    font-size: 11px;

    font-weight: 600;
}

.workshop-person p{
    margin: 13px 0 0;

    max-width: 42ch;

    color: #707a75;

    font-size: 12.5px;

    line-height: 1.8;
}


/* =====================================================
   CTA
===================================================== */


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1000px) {

    .team-hero-content{
        grid-template-columns: 1fr;
    }

    

    .team-intro-grid{
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .professional-grid{
        grid-template-columns: 1fr;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 650px) {

    .team-hero{
        min-height: 570px;
    }

    .team-hero-text h1{
        font-size: 48px;
    }

    .team-hero-text p{
        font-size: 14px;
    }

    .professional-card{
        grid-template-columns: 1fr;
    }

    .professional-photo{
        min-height: 240px;
    }

    .professional-info{
        padding: 25px;
    }

    .workshop-grid{
        grid-template-columns: 1fr;
    }

    .workshop-person{
        grid-template-columns: 55px 1fr;

        padding: 23px;
    }

    

    

}/* =====================================================
   HERO — NUESTRO EQUIPO
===================================================== */

.team-hero{
    position: relative;

    min-height: 650px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #18211d;

    color: #ffffff;
}


/* -----------------------------------------------------
   IMAGEN
----------------------------------------------------- */

.team-hero-bg{
    position: absolute;

    inset: 0;

    background-size: cover;
    background-position: center;

    transform: scale(1.02);

    transition: transform 1.5s ease;
}


.team-hero:hover .team-hero-bg{
    transform: scale(1.05);
}


/* -----------------------------------------------------
   OVERLAY
----------------------------------------------------- */

.team-hero-overlay{
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(12, 20, 17, 0.94) 0%,
            rgba(12, 20, 17, 0.82) 32%,
            rgba(12, 20, 17, 0.48) 62%,
            rgba(12, 20, 17, 0.28) 100%
        );

    z-index: 1;
}


/* -----------------------------------------------------
   CONTENIDO
----------------------------------------------------- */

.team-hero-content{
    position: relative;

    z-index: 2;

    min-height: 650px;

    display: flex;
    align-items: center;

    padding-top: 90px;
    padding-bottom: 90px;
}


.team-hero-text{
    max-width: 700px;
}


.team-hero-text .eyebrow{
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 22px;

    color: #d4bd8c;

    letter-spacing: 2.5px;
}


.team-hero-text .eyebrow::before{
    content: "";

    width: 38px;
    height: 1px;

    background: #d4bd8c;
}


.team-hero-text h1{
    margin: 0 0 25px;

    font-family: "Playfair Display", serif;

    font-size: clamp(48px, 6vw, 80px);

    line-height: 1.05;

    font-weight: 600;

    letter-spacing: -1px;

    color: #ffffff;

    text-shadow: 0 4px 30px rgba(0,0,0,.25);
}


.team-hero-text h1 em{
    color: #d4bd8c;

    font-style: italic;

    font-weight: 500;
}


.team-hero-text p{
    max-width: 580px;

    margin: 0 0 35px;

    color: rgba(255,255,255,.82);

    font-size: 17px;

    line-height: 1.85;

    font-weight: 400;
}


/* -----------------------------------------------------
   BOTÓN
----------------------------------------------------- */

.team-hero-button{
    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 15px 23px;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 50px;

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


.team-hero-button i{
    font-size: 16px;

    transition: transform .3s ease;
}


.team-hero-button{
    box-shadow: 0 10px 30px rgba(0,0,0,.18);

    letter-spacing: .4px;

    font-weight: 600;
}


.team-hero-button:hover{
    background: #ffffff;

    color: #18211d;

    border-color: #ffffff;

    box-shadow: 0 16px 40px rgba(0,0,0,.28);

    transform: translateY(-3px);
}


.team-hero-button:hover i{
    transform: translateY(3px);
}


/* -----------------------------------------------------
   DETALLE DERECHO
----------------------------------------------------- */

.team-hero-detail{
    position: absolute;

    right: 8%;

    bottom: 130px;

    z-index: 3;

    display: flex;

    align-items: center;

    gap: 15px;

    color: rgba(255,255,255,.65);

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 10px;
}


.team-hero-detail span{
    width: 45px;
    height: 1px;

    background: #d4bd8c;
}


/* -----------------------------------------------------
   SCROLL
----------------------------------------------------- */

.team-hero-scroll{
    position: absolute;

    bottom: 28px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 4;

    display: flex;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.6);

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    white-space: nowrap;
}


.team-hero-scroll span{
    width: 30px;
    height: 1px;

    background: rgba(255,255,255,.5);

    animation: teamScrollPulse 2.2s ease-in-out infinite;
}

@keyframes teamScrollPulse {
    0%, 100% { opacity: .5; transform: scaleX(1); }
    50% { opacity: 1; transform: scaleX(1.35); }
}

@media (prefers-reduced-motion: reduce) {

    .team-hero-scroll span{
        animation: none;
    }

}


/* -----------------------------------------------------
   TABLET
----------------------------------------------------- */

@media (max-width: 900px) {

    .team-hero{
        min-height: 600px;
    }


    .team-hero-content{
        min-height: 600px;

        padding-top: 80px;
    }


    .team-hero-detail{
        right: 5%;
    }

}


/* -----------------------------------------------------
   CELULAR
----------------------------------------------------- */

@media (max-width: 650px) {

    .team-hero{
        min-height: 650px;
    }


    .team-hero-content{
        min-height: 650px;

        align-items: flex-end;

        padding-bottom: 95px;
    }


    .team-hero-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(12,20,17,.35) 0%,
                rgba(12,20,17,.72) 40%,
                rgba(12,20,17,.96) 100%
            );
    }


    .team-hero-bg{
        background-position: 62% center;
    }


    .team-hero-text h1{
        font-size: 45px;

        letter-spacing: -1px;
    }


    .team-hero-text p{
        font-size: 15px;

        line-height: 1.7;
    }


    .team-hero-detail{
        display: none;
    }


    .team-hero-scroll{
        font-size: 9px;
    }

}

@media (max-width: 430px) {

    .team-hero{

        min-height: 0;

    }

    .team-hero-content{

        min-height: 0;

        padding-top: 105px;

        padding-bottom: 78px;

    }

    .team-hero-text h1{

        font-size: clamp(2.35rem, 12vw, 2.8rem);

    }

    .team-hero-text p{

        font-size: .92rem;

        line-height: 1.7;

        margin-bottom: 26px;

    }

    .team-hero-button{

        width: 100%;

        justify-content: center;

        padding: 13px 14px;

        font-size: .88rem;

    }

    .team-hero-scroll{

        display: none;

    }

    .team-intro-grid > *{

        min-width: 0;

    }

    .team-intro-heading h2{

        max-width: 100%;

        font-size: clamp(32px, 10vw, 40px);

        overflow-wrap: anywhere;

    }

    .professional-team .section-heading{

        min-width: 0;

    }

    .professional-team .section-heading h2{

        max-width: 100%;

        font-size: clamp(32px, 10vw, 40px);

        overflow-wrap: anywhere;

    }

}

@media (max-width: 360px) {

    .team-hero-content{

        padding-top: 92px;

    }

    .team-hero-text h1{

        font-size: 2.25rem;

    }

    .team-hero-text p{

        font-size: .88rem;

    }

}/* =====================================================
   INTRO EQUIPO — ESTILO PREMIUM OSCURO
===================================================== */

.team-intro{
    position: relative;

    background: #151b18;

    color: #ffffff;

    padding: 125px 0;

    overflow: hidden;
}


/* -----------------------------------------------------
   DETALLE DE FONDO
----------------------------------------------------- */

.team-intro::before{
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    border: 1px solid rgba(190, 163, 108, 0.08);

    right: -230px;
    top: -250px;

    pointer-events: none;
}


.team-intro::after{
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    background: rgba(190, 163, 108, 0.025);

    left: -170px;
    bottom: -170px;

    pointer-events: none;
}


/* -----------------------------------------------------
   GRID
----------------------------------------------------- */

.team-intro-grid{
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 0.85fr;

    gap: 100px;

    align-items: center;
}


/* -----------------------------------------------------
   ENCABEZADO
----------------------------------------------------- */

.team-intro-heading{
    position: relative;
}


.team-intro-heading .eyebrow{
    display: inline-flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 24px;

    color: #c7ad78;

    letter-spacing: 2.5px;
}


.team-intro-heading .eyebrow::before{
    content: "";

    width: 40px;
    height: 1px;

    background: #c7ad78;
}


.team-intro-heading h2{
    max-width: 650px;

    margin: 0;

    font-family: "Playfair Display", serif;

    font-size: clamp(44px, 5vw, 68px);

    line-height: 1.08;

    font-weight: 500;

    letter-spacing: -1.5px;

    color: #ffffff;
}


.team-intro-heading h2 em{
    display: block;

    color: #c7ad78;

    font-style: italic;

    font-weight: 500;
}


/* -----------------------------------------------------
   LÍNEA DECORATIVA
----------------------------------------------------- */

.team-intro-line{
    width: 75px;
    height: 2px;

    margin-top: 38px;

    background: #c7ad78;

    position: relative;
}


.team-intro-line::after{
    content: "";

    position: absolute;

    left: 0;
    top: 6px;

    width: 35px;
    height: 1px;

    background: rgba(199,173,120,.35);
}


/* -----------------------------------------------------
   TEXTO
----------------------------------------------------- */

.team-intro-copy{
    position: relative;

    padding-left: 50px;
}


.team-intro-copy::before{
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 1px;
    height: 100%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(199,173,120,.7),
            transparent
        );
}


.team-intro-copy p{
    margin: 0 0 25px;

    color: rgba(255,255,255,.72);

    font-size: 16px;

    line-height: 1.9;
}


.team-intro-copy p:first-child{
    color: rgba(255,255,255,.9);

    font-size: 18px;

    line-height: 1.8;
}


/* -----------------------------------------------------
   FIRMA
----------------------------------------------------- */

.team-intro-signature{
    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 35px;
}


.team-intro-signature span{
    width: 35px;
    height: 1px;

    background: #c7ad78;
}


.team-intro-signature small{
    color: rgba(255,255,255,.45);

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}


/* -----------------------------------------------------
   HOVER SUTIL
----------------------------------------------------- */

.team-intro-heading, .team-intro-copy{
    transition: transform .5s ease;
}


.team-intro-heading:hover{
    transform: translateX(5px);
}


/* -----------------------------------------------------
   TABLET
----------------------------------------------------- */

@media (max-width: 900px) {

    .team-intro{
        padding: 100px 0;
    }


    .team-intro-grid{
        grid-template-columns: 1fr;

        gap: 55px;
    }


    .team-intro-copy{
        padding-left: 35px;

        max-width: 700px;
    }

}


/* -----------------------------------------------------
   CELULAR
----------------------------------------------------- */

@media (max-width: 600px) {

    .team-intro{
        padding: 80px 0;
    }


    .team-intro-grid{
        gap: 45px;
    }


    .team-intro-heading h2{
        font-size: 42px;

        letter-spacing: -1px;
    }


    .team-intro-copy{
        padding-left: 25px;
    }


    .team-intro-copy p:first-child{
        font-size: 16px;
    }


    .team-intro-copy p{
        font-size: 15px;

        line-height: 1.8;
    }

}
/* =====================================================
   BOTÓN MÁS INFORMACIÓN — ELEGANTE
===================================================== */

.info-button{
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 16px;

    width: fit-content;

    margin-top: auto;
    padding: 10px 0;

    border: none;

    background: transparent;

    color: #9f814d;

    font-family: "DM Sans", sans-serif;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        color .3s ease,
        transform .3s ease;
}


/* -----------------------------------------------------
   LÍNEA INFERIOR
----------------------------------------------------- */

.info-button::after{
    content: "";

    position: absolute;

    left: 0;
    bottom: 2px;

    width: 38px;
    height: 1px;

    background: #b89a62;

    transition:
        width .4s ease,
        background .3s ease;
}


/* -----------------------------------------------------
   CÍRCULO DE LA FLECHA
----------------------------------------------------- */

.info-button i{

    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid rgba(184,154,98,.6);

    border-radius: 50%;

    color: #b89a62;

    font-size: 14px;

    transition:
        transform .4s ease,
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}


/* -----------------------------------------------------
   HOVER
----------------------------------------------------- */

.info-button:hover{

    color: #765b31;

    transform: translateX(4px);

}


.info-button:hover::after{

    width: 100%;

    background: #b89a62;

}


.info-button:hover i{

    transform: translateX(7px);

    background: #b89a62;

    border-color: #b89a62;

    color: #ffffff;

}
/* =====================================================
   FOTOS DE TALLERES
===================================================== */

.workshop-person{
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.workshop-photo{
    width: 110px;
    height: 110px;
    min-width: 110px;
    flex: 0 0 110px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    background: #e9eeee;
}

.workshop-photo img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.workshop-photo i{
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 28px;
    height: 28px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.95);
    font-size: 14px;
}

.workshop-person > div:last-child{
    flex: 1;
    min-width: 0;
}


/* =====================================================
   MÓVIL
===================================================== */

@media (max-width: 768px) {

    .workshop-person{
        gap: 18px;
    }

    .workshop-photo{
        width: 85px;
        height: 85px;
        min-width: 85px;
        flex-basis: 85px;
    }

}

/* Estilos trasladados desde nuestroequipo.html */

.workshop-photo{
            width: 110px;
            height: 110px;
            min-width: 110px;
            border-radius: 50%;
            overflow: hidden;
            position: relative;
            flex-shrink: 0;
            background: #e9eeee;
        }

        .workshop-photo img{
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .workshop-photo i{
            position: absolute;
            right: 6px;
            bottom: 6px;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,0.95);
            font-size: 15px;
        }

        @media (max-width: 768px) {

            .workshop-photo{
                width: 90px;
                height: 90px;
                min-width: 90px;
            }

        }

/* Fondo trasladado desde nuestroequipo.html */
.team-hero-bg--equipo{ background-image: url("../img/nuestroequipo.jpg"); }
/* =====================================================
   INTRO EQUIPO - MÁS JERARQUÍA Y LEGIBILIDAD
===================================================== */

.team-intro {
    padding: 110px 0;
}

.team-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 80px;
    align-items: start;
}

/* Etiqueta superior */
.team-intro .eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    font-size: 15px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;

    color: #b7955c;
}

/* Título */
.team-intro-heading h2 {
    max-width: 650px;

    font-size: clamp(42px, 4vw, 68px);
    line-height: 1.03;
    font-weight: 700;

    color: #17352f;
    letter-spacing: -0.03em;
}

.team-intro-heading h2 em {
    display: inline-block;

    color: #8ca45d;
    font-style: italic;
    font-weight: 600;

    text-shadow: 0 5px 20px rgba(140, 164, 93, .12);
}

/* Línea decorativa */
.team-intro-line {
    width: 88px;
    height: 3px;

    margin-top: 28px;

    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #b7955c,
        #d6bd8d
    );
}

/* Texto derecho */
.team-intro-copy {
    max-width: 720px;
    padding-top: 8px;
}

.team-intro-copy p {
    margin: 0 0 22px;

    font-size: 19px;
    line-height: 1.8;
    font-weight: 400;

    color: #334841;
}

.team-intro-copy p:first-child {
    font-size: 20px;
    font-weight: 500;
    color: #213b35;
}

/* Firma */
.team-intro-signature {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-top: 34px;
}

.team-intro-signature span {
    width: 46px;
    height: 2px;

    background: #b7955c;
}

.team-intro-signature small {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;

    color: #6c7c76;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1024px) {

    .team-intro {
        padding: 90px 0;
    }

    .team-intro-grid {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .team-intro-heading h2 {
        font-size: clamp(38px, 5vw, 54px);
    }

    .team-intro-copy p {
        font-size: 18px;
    }
}


/* =====================================================
   MÓVIL
===================================================== */

@media (max-width: 768px) {

    .team-intro {
        padding: 70px 0;
    }

    .team-intro-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .team-intro .eyebrow {
        font-size: 13px;
        margin-bottom: 14px;
    }

    .team-intro-heading h2 {
        font-size: clamp(36px, 10vw, 48px);
        line-height: 1.05;
    }

    .team-intro-line {
        margin-top: 22px;
    }

    .team-intro-copy {
        padding-top: 0;
    }

    .team-intro-copy p,
    .team-intro-copy p:first-child {
        font-size: 17px;
        line-height: 1.7;
    }

    .team-intro-signature small {
        font-size: 12px;
    }
}
/* =====================================================
   TALLERES — DISTRIBUCIÓN FINAL 3 TARJETAS
   Lana Terapia / Teatro / Acondicionamiento Físico
===================================================== */

.workshop-team .workshop-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}


/* =====================================================
   TARJETAS
===================================================== */

.workshop-team .workshop-person {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    height: 100%;

    padding: 32px 26px;

    background: #ffffff;

    border: 1px solid rgba(16, 32, 26, 0.07);
    border-radius: 12px;

    box-shadow:
        0 8px 24px rgba(16, 32, 26, 0.04);

    text-align: center;

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s cubic-bezier(.2,.8,.2,1),
        border-color .4s ease;
}


/* Hover */

.workshop-team .workshop-person:hover {
    transform: translateY(-7px);

    border-color: rgba(199, 170, 108, .32);

    box-shadow:
        0 24px 50px rgba(16, 32, 26, .10);
}


/* =====================================================
   FOTO CIRCULAR
===================================================== */

.workshop-team .workshop-photo {
    position: relative;

    width: 120px;
    height: 120px;

    min-width: 120px;
    flex: 0 0 120px;

    margin-bottom: 22px;

    border-radius: 50%;

    overflow: hidden;

    background: #e9eeee;
}


/* Imagen */

.workshop-team .workshop-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .5s ease;
}


/* Zoom suave */

.workshop-team .workshop-person:hover .workshop-photo img {
    transform: scale(1.06);
}


/* Icono pequeño de la fotografía */

.workshop-team .workshop-photo i {
    position: absolute;

    right: 6px;
    bottom: 6px;

    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .95);

    color: #a98c56;

    font-size: 15px;

    box-shadow:
        0 5px 15px rgba(16, 32, 26, .12);
}


/* =====================================================
   CONTENIDO DE LA TARJETA
===================================================== */

.workshop-team .workshop-person > div:last-child {
    flex: 1;

    width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* Etiqueta TALLER */

.workshop-team .workshop-person > div:last-child > span {
    display: block;

    margin-bottom: 6px;

    color: #a98c56;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}


/* Nombre */

.workshop-team .workshop-person h3 {
    margin: 4px 0 7px;

    color: #16241e;

    font-family: "Playfair Display", serif;

    font-size: 24px;
    font-weight: 600;

    line-height: 1.2;

    letter-spacing: -.2px;
}


/* Nombre del taller */

.workshop-team .workshop-person strong {
    display: block;

    margin-bottom: 13px;

    color: #53625b;

    font-size: 12px;
    font-weight: 600;

    line-height: 1.4;
}


/* Descripción */

.workshop-team .workshop-person p {
    max-width: 38ch;

    margin: 0 auto;

    color: #707a75;

    font-size: 12.5px;

    line-height: 1.8;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1000px) {

    .workshop-team .workshop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    /*
       Al quedar 3 tarjetas:
       la tercera queda centrada debajo.
    */

    .workshop-team .workshop-person:last-child {
        grid-column: 1 / -1;

        width: min(100%, 500px);

        justify-self: center;
    }
}


/* =====================================================
   CELULAR
===================================================== */

@media (max-width: 650px) {

    .workshop-team .workshop-grid {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .workshop-team .workshop-person {
        grid-column: auto;

        width: 100%;

        padding: 28px 22px;
    }

    .workshop-team .workshop-person:last-child {
        grid-column: auto;

        width: 100%;
    }

    .workshop-team .workshop-photo {
        width: 105px;
        height: 105px;

        min-width: 105px;
        flex-basis: 105px;

        margin-bottom: 18px;
    }

    .workshop-team .workshop-person h3 {
        font-size: 23px;
    }

    .workshop-team .workshop-person p {
        font-size: 12.5px;

        line-height: 1.75;
    }
}