/* ============================================================
   LAVENDER COUNSELING CENTER
   FERNANDA BERGANZA PROFILE

   PARTE 1 DE 3

   Incluye:
   - Base de sección
   - Fondo ambiental
   - Encabezado
   - Introducción
   - Layout principal
   - Área visual
   - Fotografía
   - Detalles botánicos
============================================================ */


/* ============================================================
   SECTION BASE
============================================================ */

.lavTeamDirectory {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding:
        clamp(78px, 8vw, 118px)
        0
        clamp(84px, 9vw, 132px);
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(145, 105, 159, 0.1),
            transparent 30%
        ),
        radial-gradient(
            circle at 91% 78%,
            rgba(216, 178, 198, 0.11),
            transparent 31%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcf9fc 42%,
            #f8f3f8 100%
        );
}

.lavTeamDirectory .container {
    position: relative;
    z-index: 2;
    width: min(100% - 40px, 1200px);
    margin-inline: auto;
}


/* ============================================================
   AMBIENT BACKGROUND
============================================================ */

.lavTeamDirectoryGlow {
    position: absolute;
    z-index: -4;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(10px);
}

.lavTeamDirectoryGlowOne {
    top: 120px;
    left: -270px;
    width: clamp(440px, 46vw, 720px);
    aspect-ratio: 1;
    background:
        radial-gradient(
            circle,
            rgba(140, 99, 156, 0.14),
            rgba(140, 99, 156, 0.045) 44%,
            transparent 72%
        );
}

.lavTeamDirectoryGlowTwo {
    right: -320px;
    bottom: 90px;
    width: clamp(500px, 51vw, 790px);
    aspect-ratio: 1;
    background:
        radial-gradient(
            circle,
            rgba(213, 169, 194, 0.14),
            rgba(213, 169, 194, 0.045) 46%,
            transparent 73%
        );
}

.lavTeamDirectoryTexture {
    position: absolute;
    z-index: -3;
    inset: 0;
    pointer-events: none;
    opacity: 0.28;
    background-image:
        linear-gradient(
            rgba(104, 74, 115, 0.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(104, 74, 115, 0.025) 1px,
            transparent 1px
        );
    background-size: 64px 64px;
    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            rgba(0, 0, 0, 0.86) 18%,
            rgba(0, 0, 0, 0.7) 77%,
            transparent
        );
}


/* ============================================================
   SECTION HEADER
============================================================ */

.lavTeamDirectoryHeader {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(300px, 0.72fr);
    gap: clamp(42px, 6vw, 82px);
    align-items: end;
    margin-bottom: clamp(46px, 5vw, 68px);
}

.lavTeamDirectoryHeaderContent {
    max-width: 750px;
}

.lavTeamDirectoryEyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #82658d;
}

.lavTeamDirectoryEyebrow > span {
    position: relative;
    width: 42px;
    height: 1px;
    flex: 0 0 auto;
    background:
        linear-gradient(
            90deg,
            #8c6a98,
            #d0b0c3
        );
}

.lavTeamDirectoryEyebrow > span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #9571a0;
    transform: translateY(-50%);
    box-shadow:
        8px 0 0 rgba(176, 137, 170, 0.55);
}

.lavTeamDirectoryEyebrow > span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1px;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(142, 105, 157, 0.46);
    border-radius:
        67% 33% 59% 41%;
    background: #ffffff;
    transform:
        translateY(-50%)
        rotate(40deg);
}

.lavTeamDirectoryEyebrow p {
    margin: 0;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.lavTeamDirectoryHeader h2 {
    max-width: 790px;
    margin: 0;
    color: #342a38;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(2.85rem, 4.7vw, 5rem);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.lavTeamDirectoryHeader h2 span {
    display: block;
    margin-top: 5px;
    color: #906e9c;
    font-style: italic;
}


/* ============================================================
   INTRODUCTION
============================================================ */

.lavTeamDirectoryIntroduction {
    max-width: 460px;
    justify-self: end;
}

.lavTeamDirectoryIntroduction p {
    margin: 0;
    color: #6d6470;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.96rem;
    line-height: 1.74;
}

.lavTeamDirectoryIntroduction p + p {
    position: relative;
    margin-top: 18px;
    padding-top: 18px;
    color: #807482;
    border-top: 1px solid rgba(109, 77, 120, 0.11);
}

.lavTeamDirectoryIntroduction p + p::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 10px;
    height: 10px;
    border: 1px solid rgba(145, 105, 158, 0.38);
    border-radius:
        68% 32% 59% 41%;
    background: #fbf8fb;
    transform: rotate(41deg);
}


/* ============================================================
   MAIN PROFILE LAYOUT
============================================================ */

.lavTeamProfile {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(340px, 0.84fr)
        minmax(0, 1.16fr);
    min-height: 760px;
    overflow: hidden;
    border: 1px solid rgba(107, 77, 117, 0.12);
    border-radius: 34px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96),
            rgba(250, 246, 250, 0.89)
        );
    box-shadow:
        0 36px 96px rgba(67, 44, 77, 0.1);
}

.lavTeamProfile::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 42%;
    width: 1px;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(116, 82, 127, 0.1) 12%,
            rgba(116, 82, 127, 0.1) 88%,
            transparent
        );
}

.lavTeamProfile::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -160px;
    right: -120px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(190, 153, 184, 0.13),
            transparent 69%
        );
}


/* ============================================================
   VISUAL COLUMN
============================================================ */

.lavTeamProfileVisual {
    position: relative;
    z-index: 2;
    min-width: 0;
    overflow: hidden;
    padding:
        clamp(26px, 3vw, 38px);
    background:
        radial-gradient(
            circle at 28% 16%,
            rgba(255, 255, 255, 0.62),
            transparent 34%
        ),
        linear-gradient(
            155deg,
            #eee4ef 0%,
            #dfcedf 54%,
            #cdb8cf 100%
        );
}

.lavTeamProfileVisual::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 18px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 25px;
    pointer-events: none;
}

.lavTeamProfileVisual::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset:
        auto
        0
        0;
    height: 44%;
    pointer-events: none;
    background:
        linear-gradient(
            to top,
            rgba(64, 45, 69, 0.34),
            rgba(64, 45, 69, 0.08) 42%,
            transparent
        );
}

.lavTeamProfileVisualGlow {
    position: absolute;
    z-index: -1;
    top: 8%;
    left: 50%;
    width: 75%;
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.72),
            rgba(255, 255, 255, 0.18) 45%,
            transparent 72%
        );
    transform: translateX(-50%);
    filter: blur(3px);
}


/* ============================================================
   FIGURE
============================================================ */

.lavTeamProfileFigure {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    margin: 0;
}

.lavTeamProfilePhoto {
    position: relative;
    flex: 1 1 auto;
    min-height: 620px;
    overflow: hidden;
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.46),
            rgba(140, 105, 151, 0.12)
        );
    box-shadow:
        0 24px 52px rgba(61, 42, 68, 0.16);
}

.lavTeamProfilePhoto::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            120deg,
            rgba(255, 255, 255, 0.18),
            transparent 27%,
            transparent 73%,
            rgba(84, 55, 90, 0.08)
        );
}

.lavTeamProfilePhoto::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: inherit;
    pointer-events: none;
}

.lavTeamProfilePhoto img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    object-position: center top;
    filter:
        saturate(0.93)
        contrast(1.02);
    transform: scale(1.015);
    transition:
        transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.7s ease;
}

.lavTeamProfile:hover .lavTeamProfilePhoto img {
    transform: scale(1.045);
    filter:
        saturate(0.98)
        contrast(1.03);
}

.lavTeamProfileFigure figcaption {
    position: absolute;
    z-index: 5;
    right: 24px;
    bottom: 24px;
    margin: 0;
    padding:
        9px
        14px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    background: rgba(59, 43, 63, 0.52);
    color: rgba(255, 255, 255, 0.94);
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}


/* ============================================================
   VISUAL NOTE
============================================================ */

.lavTeamProfileVisualNote {
    position: absolute;
    z-index: 5;
    left: clamp(42px, 4vw, 56px);
    bottom: clamp(40px, 4vw, 54px);
    display: grid;
    grid-template-columns: 11px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    width: min(65%, 270px);
}

.lavTeamProfileVisualNote > span {
    position: relative;
    width: 9px;
    height: 15px;
    margin-top: 3px;
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius:
        65% 35% 58% 42%;
    background: rgba(255, 255, 255, 0.18);
    transform: rotate(37deg);
}

.lavTeamProfileVisualNote > span::after {
    content: "";
    position: absolute;
    top: 11px;
    left: 50%;
    width: 1px;
    height: 13px;
    background:
        linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.52),
            transparent
        );
    transform:
        translateX(-50%)
        rotate(-37deg);
    transform-origin: top;
}

.lavTeamProfileVisualNote p {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.55;
}


/* ============================================================
   BOTANICAL DETAIL
============================================================ */

.lavTeamProfileBotanical {
    position: absolute;
    z-index: 4;
    top: 5%;
    right: -8px;
    width: 135px;
    height: 310px;
    pointer-events: none;
    opacity: 0.58;
    transform:
        rotate(8deg)
        translateZ(0);
    transform-origin: 50% 100%;
    animation:
        lavTeamProfileBotanicalSway
        7.5s
        ease-in-out
        infinite;
}

.lavTeamProfileStem {
    position: absolute;
    bottom: 0;
    left: 55%;
    width: 2px;
    height: 250px;
    border-radius: 999px;
    background:
        linear-gradient(
            to top,
            rgba(87, 108, 80, 0.72),
            rgba(112, 130, 101, 0.38),
            transparent
        );
    transform:
        translateX(-50%)
        rotate(-6deg);
    transform-origin: bottom;
}

.lavTeamProfileStem::before,
.lavTeamProfileStem::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 74px;
    background:
        linear-gradient(
            to top,
            rgba(91, 109, 84, 0.62),
            transparent
        );
    transform-origin: bottom;
}

.lavTeamProfileStem::before {
    left: -1px;
    bottom: 92px;
    transform: rotate(-34deg);
}

.lavTeamProfileStem::after {
    right: -1px;
    bottom: 138px;
    transform: rotate(34deg);
}

.lavTeamProfileBloom {
    position: absolute;
    width: 18px;
    height: 26px;
    border-radius:
        63% 37% 58% 42%;
    background:
        linear-gradient(
            145deg,
            rgba(155, 109, 171, 0.95),
            rgba(111, 74, 129, 0.72)
        );
    box-shadow:
        0 0 0 4px rgba(255, 255, 255, 0.08);
    transform:
        rotate(42deg)
        scale(0.86);
    animation:
        lavTeamProfileBloom
        5.8s
        ease-in-out
        infinite;
}

.lavTeamProfileBloom::before,
.lavTeamProfileBloom::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 21px;
    border-radius:
        62% 38% 60% 40%;
    background: inherit;
}

.lavTeamProfileBloom::before {
    top: 7px;
    left: -10px;
    transform: rotate(-47deg);
}

.lavTeamProfileBloom::after {
    top: 5px;
    right: -10px;
    transform: rotate(47deg);
}

.lavTeamProfileBloomOne {
    top: 28px;
    left: 54px;
    animation-delay: -0.8s;
}

.lavTeamProfileBloomTwo {
    top: 72px;
    left: 30px;
    transform:
        rotate(32deg)
        scale(0.72);
    animation-delay: -2.1s;
}

.lavTeamProfileBloomThree {
    top: 110px;
    left: 69px;
    transform:
        rotate(48deg)
        scale(0.8);
    animation-delay: -3.4s;
}

.lavTeamProfileBloomFour {
    top: 151px;
    left: 43px;
    transform:
        rotate(36deg)
        scale(0.68);
    animation-delay: -4.6s;
}

.lavTeamProfileLeaf {
    position: absolute;
    width: 17px;
    height: 42px;
    border-radius:
        80% 20% 74% 26%;
    background:
        linear-gradient(
            145deg,
            rgba(117, 137, 105, 0.7),
            rgba(85, 108, 77, 0.42)
        );
}

.lavTeamProfileLeafOne {
    left: 27px;
    bottom: 82px;
    transform: rotate(-48deg);
}

.lavTeamProfileLeafTwo {
    right: 21px;
    bottom: 119px;
    transform:
        rotate(43deg)
        scaleX(-1);
}


/* ============================================================
   BOTANICAL ANIMATIONS
============================================================ */

@keyframes lavTeamProfileBotanicalSway {

    0%,
    100% {
        transform:
            rotate(8deg)
            translateY(0);
    }

    50% {
        transform:
            rotate(11deg)
            translateY(-5px);
    }

}

@keyframes lavTeamProfileBloom {

    0%,
    100% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.08);
    }

}
/* ============================================================
   LAVENDER COUNSELING CENTER
   FERNANDA BERGANZA PROFILE

   PARTE 2 DE 3

   Incluye:
   - Columna de contenido
   - Encabezado profesional
   - Frase destacada
   - Descripción
   - Enfoque de atención
   - Áreas de apoyo
   - Detalles
   - Botones
   - Bloque final de Lavender
============================================================ */


/* ============================================================
   CONTENT COLUMN
============================================================ */

.lavTeamProfileContent {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding:
        clamp(40px, 5vw, 66px)
        clamp(34px, 5vw, 68px);
    background:
        linear-gradient(
            155deg,
            rgba(255, 255, 255, 0.96),
            rgba(252, 248, 252, 0.92)
        );
}

.lavTeamProfileContent::before {
    content: "";
    position: absolute;
    top: 28px;
    right: 31px;
    width: 92px;
    height: 92px;
    border: 1px solid rgba(136, 101, 148, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.lavTeamProfileContent::after {
    content: "";
    position: absolute;
    top: 47px;
    right: 50px;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(136, 101, 148, 0.09);
    border-radius: 50%;
    pointer-events: none;
}


/* ============================================================
   PROFESSIONAL HEADER
============================================================ */

.lavTeamProfileHeader {
    position: relative;
    max-width: 650px;
    padding-bottom: clamp(27px, 3vw, 36px);
    border-bottom: 1px solid rgba(104, 75, 115, 0.11);
}

.lavTeamProfileRole {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 11px;
    color: #8d7395;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lavTeamProfileRole::before {
    content: "";
    width: 18px;
    height: 1px;
    flex: 0 0 auto;
    background:
        linear-gradient(
            90deg,
            #8d6b98,
            rgba(141, 107, 152, 0.2)
        );
}

.lavTeamProfileHeader h3 {
    margin: 0;
    color: #352a39;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(2.65rem, 4vw, 4.25rem);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.lavTeamProfileLanguage {
    margin: 12px 0 0;
    color: #776b79;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.55;
}


/* ============================================================
   FEATURED STATEMENT
============================================================ */

.lavTeamProfileStatement {
    position: relative;
    margin:
        clamp(31px, 3.5vw, 44px)
        0
        clamp(28px, 3.3vw, 40px);
    padding:
        clamp(22px, 2.8vw, 30px)
        clamp(22px, 3vw, 34px)
        clamp(23px, 3vw, 31px)
        clamp(48px, 5vw, 66px);
    overflow: hidden;
    border: 1px solid rgba(112, 79, 123, 0.11);
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(182, 143, 178, 0.12),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(250, 246, 250, 0.96),
            rgba(246, 238, 247, 0.8)
        );
}

.lavTeamProfileStatement::before {
    content: "";
    position: absolute;
    top: -27px;
    right: -25px;
    width: 100px;
    height: 100px;
    border: 1px solid rgba(137, 101, 149, 0.09);
    border-radius: 50%;
}

.lavTeamProfileStatement::after {
    content: "";
    position: absolute;
    right: 29px;
    bottom: 17px;
    width: 44px;
    height: 56px;
    pointer-events: none;
    opacity: 0.16;
    background:
        radial-gradient(
            ellipse at 48% 9%,
            #876591 0 2px,
            transparent 3px
        ),
        radial-gradient(
            ellipse at 59% 25%,
            #9d79a3 0 2px,
            transparent 3px
        ),
        radial-gradient(
            ellipse at 43% 42%,
            #ad8bab 0 2px,
            transparent 3px
        ),
        linear-gradient(
            85deg,
            transparent 48%,
            #71816a 49%,
            #71816a 51%,
            transparent 52%
        );
}

.lavTeamProfileQuote {
    position: absolute;
    top: 12px;
    left: 18px;
    color: rgba(139, 103, 151, 0.25);
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: 4.8rem;
    font-weight: 500;
    line-height: 1;
}

.lavTeamProfileStatement blockquote {
    position: relative;
    z-index: 2;
    margin: 0;
}

.lavTeamProfileStatement blockquote p {
    margin: 0;
    color: #55475a;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: -0.015em;
}


/* ============================================================
   DESCRIPTION
============================================================ */

.lavTeamProfileDescription {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 36px);
    margin-bottom: clamp(38px, 4vw, 52px);
}

.lavTeamProfileDescription p {
    margin: 0;
    color: #6e6471;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.92rem;
    line-height: 1.74;
}

.lavTeamProfileDescription p:first-child {
    color: #5f5462;
}


/* ============================================================
   SHARED SECTION HEADING
============================================================ */

.lavTeamProfileSectionHeading {
    display: grid;
    grid-template-columns:
        minmax(120px, 0.35fr)
        minmax(0, 1fr);
    gap: clamp(22px, 3vw, 40px);
    align-items: start;
}

.lavTeamProfileSectionHeading > p {
    margin: 4px 0 0;
    color: #947c99;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.63rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lavTeamProfileSectionHeading h4 {
    max-width: 570px;
    margin: 0;
    color: #443648;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -0.025em;
    text-wrap: balance;
}


/* ============================================================
   CARE APPROACH
============================================================ */

.lavTeamProfileApproach {
    padding:
        clamp(29px, 3.6vw, 43px)
        0
        clamp(34px, 4vw, 48px);
    border-top: 1px solid rgba(107, 76, 118, 0.1);
    border-bottom: 1px solid rgba(107, 76, 118, 0.1);
}

.lavTeamProfileApproachGrid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(25px, 3vw, 34px);
}

.lavTeamProfileApproachItem {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding:
        20px
        18px
        22px;
    border: 1px solid rgba(109, 78, 120, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.88),
            rgba(248, 243, 248, 0.8)
        );
    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.lavTeamProfileApproachItem::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -35px;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(179, 140, 176, 0.12),
            transparent 67%
        );
    transition:
        transform 0.45s ease,
        opacity 0.45s ease;
}

.lavTeamProfileApproachItem:hover {
    transform: translateY(-5px);
    border-color: rgba(121, 88, 133, 0.18);
    box-shadow:
        0 18px 38px rgba(77, 52, 87, 0.08);
}

.lavTeamProfileApproachItem:hover::after {
    transform: scale(1.16);
}

.lavTeamProfileApproachItem > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    margin-bottom: 20px;
    border: 1px solid rgba(130, 96, 142, 0.14);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.72);
    color: #95779d;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.59rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
}

.lavTeamProfileApproachItem h5 {
    margin: 0;
    color: #4b3d4f;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.4;
}

.lavTeamProfileApproachItem p {
    margin: 8px 0 0;
    color: #786e7a;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.75rem;
    line-height: 1.58;
}


/* ============================================================
   AREAS OF SUPPORT
============================================================ */

.lavTeamProfileSupport {
    padding:
        clamp(34px, 4vw, 48px)
        0;
    border-bottom: 1px solid rgba(107, 76, 118, 0.1);
}

.lavTeamProfileSupportList {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap:
        10px
        14px;
    margin:
        clamp(24px, 3vw, 34px)
        0
        0;
    padding: 0;
    list-style: none;
}

.lavTeamProfileSupportList li {
    display: grid;
    grid-template-columns:
        18px
        minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-width: 0;
    min-height: 48px;
    padding:
        11px
        13px;
    border: 1px solid rgba(109, 77, 120, 0.09);
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.74),
            rgba(249, 244, 249, 0.62)
        );
    color: #675b69;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.45;
}

.lavTeamProfileSupportList li > span {
    position: relative;
    display: block;
    width: 12px;
    height: 17px;
    border: 1px solid rgba(136, 101, 148, 0.36);
    border-radius:
        68% 32% 61% 39%;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.92),
            rgba(226, 207, 230, 0.72)
        );
    transform: rotate(40deg);
}

.lavTeamProfileSupportList li > span::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 50%;
    width: 1px;
    height: 8px;
    background:
        linear-gradient(
            to bottom,
            rgba(103, 124, 95, 0.5),
            transparent
        );
    transform:
        translateX(-50%)
        rotate(-40deg);
    transform-origin: top;
}


/* ============================================================
   PROFILE DETAILS
============================================================ */

.lavTeamProfileDetails {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    margin-top: clamp(30px, 4vw, 45px);
    overflow: hidden;
    border: 1px solid rgba(108, 77, 119, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(252, 248, 252, 0.92),
            rgba(247, 240, 247, 0.68)
        );
}

.lavTeamProfileDetail {
    min-width: 0;
    padding:
        19px
        18px;
}

.lavTeamProfileDetail + .lavTeamProfileDetail {
    border-left: 1px solid rgba(108, 77, 119, 0.1);
}

.lavTeamProfileDetail p {
    margin: 0 0 6px;
    color: #95809a;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.59rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lavTeamProfileDetail strong {
    display: block;
    color: #534656;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
}


/* ============================================================
   PROFILE ACTIONS
============================================================ */

.lavTeamProfileActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: clamp(29px, 3.5vw, 42px);
}

.lavTeamProfilePrimary,
.lavTeamProfileSecondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 999px;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition:
        transform 0.3s ease,
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.lavTeamProfilePrimary {
    gap: 13px;
    padding:
        13px
        20px
        13px
        22px;
    border: 1px solid #73577d;
    background:
        linear-gradient(
            135deg,
            #72547d,
            #91709b
        );
    color: #ffffff;
    box-shadow:
        0 15px 30px rgba(91, 63, 101, 0.18);
}

.lavTeamProfilePrimary > span {
    position: relative;
    display: block;
    width: 27px;
    height: 1px;
    background: rgba(255, 255, 255, 0.64);
    transition:
        width 0.3s ease,
        transform 0.3s ease;
}

.lavTeamProfilePrimary > span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    transform:
        translateY(-50%)
        rotate(45deg);
}

.lavTeamProfilePrimary:hover {
    transform: translateY(-3px);
    background:
        linear-gradient(
            135deg,
            #65486f,
            #876391
        );
    box-shadow:
        0 19px 38px rgba(91, 63, 101, 0.23);
}

.lavTeamProfilePrimary:hover > span {
    width: 34px;
}

.lavTeamProfileSecondary {
    padding:
        13px
        20px;
    border: 1px solid rgba(107, 77, 118, 0.16);
    background: rgba(255, 255, 255, 0.58);
    color: #6f5978;
}

.lavTeamProfileSecondary:hover {
    transform: translateY(-3px);
    border-color: rgba(107, 77, 118, 0.28);
    background: rgba(255, 255, 255, 0.94);
    color: #543d5d;
}

.lavTeamProfilePrimary:focus-visible,
.lavTeamProfileSecondary:focus-visible {
    outline: 3px solid rgba(137, 101, 149, 0.23);
    outline-offset: 4px;
}


/* ============================================================
   GUIDANCE BLOCK
============================================================ */

.lavTeamDirectoryGuidance {
    position: relative;
    display: grid;
    grid-template-columns:
        72px
        minmax(0, 1fr)
        auto;
    gap: clamp(24px, 4vw, 46px);
    align-items: center;
    margin-top: clamp(42px, 5vw, 66px);
    overflow: hidden;
    padding:
        clamp(28px, 3.5vw, 41px)
        clamp(26px, 4vw, 48px);
    border: 1px solid rgba(107, 76, 118, 0.12);
    border-radius: 26px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(188, 150, 184, 0.14),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.9),
            rgba(247, 239, 247, 0.83)
        );
    box-shadow:
        0 24px 65px rgba(74, 49, 84, 0.07);
}

.lavTeamDirectoryGuidance::before {
    content: "";
    position: absolute;
    top: -83px;
    left: 24%;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(182, 142, 179, 0.11),
            transparent 69%
        );
}

.lavTeamDirectoryGuidanceIcon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(123, 89, 135, 0.13);
    border-radius: 50%;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255, 255, 255, 0.98),
            rgba(238, 224, 239, 0.83)
        );
}

.lavTeamDirectoryGuidanceIcon > span {
    position: absolute;
    width: 13px;
    height: 28px;
    border-radius:
        68% 32% 62% 38%;
    background:
        linear-gradient(
            145deg,
            #9a75a3,
            #74547d
        );
}

.lavTeamDirectoryGuidanceIcon > span:nth-child(1) {
    left: 25px;
    transform: rotate(-38deg);
}

.lavTeamDirectoryGuidanceIcon > span:nth-child(2) {
    top: 18px;
    left: 32px;
    transform:
        rotate(5deg)
        scale(0.9);
}

.lavTeamDirectoryGuidanceIcon > span:nth-child(3) {
    right: 22px;
    transform:
        rotate(39deg)
        scale(0.82);
}

.lavTeamDirectoryGuidanceContent {
    position: relative;
    z-index: 2;
    max-width: 690px;
}

.lavTeamDirectoryGuidanceLabel {
    margin: 0 0 7px;
    color: #93799a;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.61rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.lavTeamDirectoryGuidanceContent h3 {
    margin: 0;
    color: #433647;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(1.6rem, 2.5vw, 2.35rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.lavTeamDirectoryGuidanceContent > p:last-child {
    max-width: 620px;
    margin: 11px 0 0;
    color: #736875;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.83rem;
    line-height: 1.65;
}

.lavTeamDirectoryGuidanceLink {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 46px;
    padding:
        12px
        18px;
    border: 1px solid rgba(105, 75, 116, 0.17);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.66);
    color: #684f71;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.lavTeamDirectoryGuidanceLink > span {
    position: relative;
    width: 24px;
    height: 1px;
    background: rgba(104, 79, 113, 0.5);
    transition:
        width 0.3s ease;
}

.lavTeamDirectoryGuidanceLink > span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #684f71;
    border-right: 1px solid #684f71;
    transform:
        translateY(-50%)
        rotate(45deg);
}

.lavTeamDirectoryGuidanceLink:hover {
    transform: translateY(-3px);
    border-color: rgba(105, 75, 116, 0.26);
    background: rgba(255, 255, 255, 0.94);
    box-shadow:
        0 15px 32px rgba(77, 52, 87, 0.09);
}

.lavTeamDirectoryGuidanceLink:hover > span {
    width: 31px;
}

.lavTeamDirectoryGuidanceLink:focus-visible {
    outline: 3px solid rgba(137, 101, 149, 0.22);
    outline-offset: 4px;
}
/* ============================================================
   LAVENDER COUNSELING CENTER
   FERNANDA BERGANZA PROFILE

   PARTE 3 DE 3

   Incluye:
   - Animaciones de entrada
   - Estados interactivos
   - Responsive completo
   - Reduced motion
   - Print
============================================================ */


/* ============================================================
   REVEAL SYSTEM
============================================================ */

.lavTeamDirectory .reveal-soft {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
    will-change:
        opacity,
        transform;
}

.lavTeamDirectory .reveal-soft.delay-1 {
    transition-delay: 0.08s;
}

.lavTeamDirectory .reveal-soft.delay-2 {
    transition-delay: 0.16s;
}

.lavTeamDirectory .reveal-soft.delay-3 {
    transition-delay: 0.24s;
}

.lavTeamDirectory.is-visible .reveal-soft,
.lavTeamDirectory .reveal-soft.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ============================================================
   PROFILE ENTRANCE
============================================================ */

.lavTeamProfile {
    opacity: 0;
    transform:
        translateY(34px)
        scale(0.985);
    transition:
        opacity 0.9s ease 0.14s,
        transform 0.95s cubic-bezier(0.2, 0.7, 0.2, 1) 0.14s;
}

.lavTeamDirectory.is-visible .lavTeamProfile,
.lavTeamProfile.is-visible {
    opacity: 1;
    transform:
        translateY(0)
        scale(1);
}

.lavTeamProfileVisual {
    transition:
        transform 0.85s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lavTeamProfileContent {
    transition:
        transform 0.85s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lavTeamDirectory.is-visible .lavTeamProfileVisual,
.lavTeamDirectory.is-visible .lavTeamProfileContent {
    transform: translate3d(0, 0, 0);
}


/* ============================================================
   INTERACTIVE HOVER DETAILS
============================================================ */

@media (hover: hover) and (pointer: fine) {

    .lavTeamProfile:hover {
        box-shadow:
            0 42px 112px rgba(67, 44, 77, 0.135);
    }

    .lavTeamProfileApproachItem:hover > span {
        color: #76587f;
        border-color: rgba(117, 84, 129, 0.24);
        background: rgba(255, 255, 255, 0.96);
    }

    .lavTeamProfileSupportList li {
        transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            background-color 0.3s ease,
            box-shadow 0.3s ease;
    }

    .lavTeamProfileSupportList li:hover {
        transform: translateY(-3px);
        border-color: rgba(117, 84, 129, 0.17);
        background: rgba(255, 255, 255, 0.92);
        box-shadow:
            0 13px 28px rgba(73, 49, 83, 0.06);
    }

    .lavTeamProfileDetail {
        transition:
            background-color 0.3s ease;
    }

    .lavTeamProfileDetail:hover {
        background: rgba(255, 255, 255, 0.52);
    }

}


/* ============================================================
   DECORATIVE FLOATING EFFECTS
============================================================ */

.lavTeamDirectoryGlowOne {
    animation:
        lavTeamDirectoryGlowDriftOne
        16s
        ease-in-out
        infinite;
}

.lavTeamDirectoryGlowTwo {
    animation:
        lavTeamDirectoryGlowDriftTwo
        18s
        ease-in-out
        infinite;
}

@keyframes lavTeamDirectoryGlowDriftOne {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    50% {
        transform:
            translate3d(22px, -18px, 0)
            scale(1.045);
    }

}

@keyframes lavTeamDirectoryGlowDriftTwo {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    50% {
        transform:
            translate3d(-25px, 19px, 0)
            scale(1.055);
    }

}


/* ============================================================
   LARGE DESKTOP
============================================================ */

@media (min-width: 1400px) {

    .lavTeamDirectory .container {
        width: min(100% - 64px, 1280px);
    }

    .lavTeamProfile {
        grid-template-columns:
            minmax(390px, 0.82fr)
            minmax(0, 1.18fr);
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 660px;
    }

}


/* ============================================================
   DESKTOP / SMALL LAPTOP
============================================================ */

@media (max-width: 1180px) {

    .lavTeamProfile {
        grid-template-columns:
            minmax(320px, 0.8fr)
            minmax(0, 1.2fr);
    }

    .lavTeamProfile::before {
        left: 40%;
    }

    .lavTeamProfileApproachGrid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .lavTeamProfileApproachItem:last-child {
        grid-column: 1 / -1;
    }

    .lavTeamDirectoryGuidance {
        grid-template-columns:
            64px
            minmax(0, 1fr);
    }

    .lavTeamDirectoryGuidanceLink {
        grid-column: 2;
        justify-self: start;
    }

}


/* ============================================================
   TABLET LANDSCAPE
============================================================ */

@media (max-width: 980px) {

    .lavTeamDirectory {
        padding:
            72px
            0
            92px;
    }

    .lavTeamDirectoryHeader {
        grid-template-columns: 1fr;
        gap: 26px;
        align-items: start;
    }

    .lavTeamDirectoryIntroduction {
        max-width: 670px;
        justify-self: start;
    }

    .lavTeamProfile {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .lavTeamProfile::before {
        display: none;
    }

    .lavTeamProfileVisual {
        min-height: 590px;
    }

    .lavTeamProfileFigure {
        min-height: 540px;
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 540px;
    }

    .lavTeamProfileContent {
        padding:
            48px
            clamp(28px, 5vw, 54px)
            54px;
    }

    .lavTeamProfileDescription {
        gap: 24px;
    }

    .lavTeamProfileDetails {
        grid-template-columns: 1fr;
    }

    .lavTeamProfileDetail + .lavTeamProfileDetail {
        border-top: 1px solid rgba(108, 77, 119, 0.1);
        border-left: 0;
    }

}


/* ============================================================
   TABLET PORTRAIT
============================================================ */

@media (max-width: 760px) {

    .lavTeamDirectory .container {
        width: min(100% - 28px, 1200px);
    }

    .lavTeamDirectoryHeader h2 {
        font-size: clamp(2.55rem, 10vw, 3.9rem);
    }

    .lavTeamProfile {
        border-radius: 26px;
    }

    .lavTeamProfileVisual {
        min-height: 500px;
        padding: 20px;
    }

    .lavTeamProfileVisual::before {
        inset: 13px;
        border-radius: 20px;
    }

    .lavTeamProfileFigure {
        min-height: 460px;
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 460px;
    }

    .lavTeamProfilePhoto {
        border-radius: 20px;
    }

    .lavTeamProfileFigure figcaption {
        right: 17px;
        bottom: 17px;
    }

    .lavTeamProfileVisualNote {
        left: 34px;
        bottom: 32px;
        width: min(70%, 270px);
    }

    .lavTeamProfileBotanical {
        right: -23px;
        transform:
            rotate(8deg)
            scale(0.86);
    }

    .lavTeamProfileContent {
        padding:
            40px
            25px
            45px;
    }

    .lavTeamProfileHeader h3 {
        font-size: clamp(2.45rem, 10vw, 3.5rem);
    }

    .lavTeamProfileStatement {
        padding:
            23px
            20px
            24px
            48px;
    }

    .lavTeamProfileQuote {
        left: 15px;
        font-size: 4rem;
    }

    .lavTeamProfileDescription {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .lavTeamProfileSectionHeading {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .lavTeamProfileSectionHeading > p {
        margin: 0;
    }

    .lavTeamProfileApproachGrid {
        grid-template-columns: 1fr;
    }

    .lavTeamProfileApproachItem:last-child {
        grid-column: auto;
    }

    .lavTeamProfileSupportList {
        grid-template-columns: 1fr;
    }

    .lavTeamProfileActions {
        align-items: stretch;
    }

    .lavTeamProfilePrimary,
    .lavTeamProfileSecondary {
        width: 100%;
    }

    .lavTeamDirectoryGuidance {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 18px;
        padding:
            27px
            22px;
        border-radius: 22px;
    }

    .lavTeamDirectoryGuidanceIcon {
        width: 58px;
        height: 58px;
    }

    .lavTeamDirectoryGuidanceIcon > span:nth-child(1) {
        left: 19px;
    }

    .lavTeamDirectoryGuidanceIcon > span:nth-child(2) {
        top: 13px;
        left: 26px;
    }

    .lavTeamDirectoryGuidanceIcon > span:nth-child(3) {
        right: 17px;
    }

    .lavTeamDirectoryGuidanceLink {
        grid-column: 1 / -1;
        justify-self: stretch;
        justify-content: center;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 560px) {

    .lavTeamDirectory {
        padding:
            62px
            0
            76px;
    }

    .lavTeamDirectory .container {
        width: min(100% - 22px, 1200px);
    }

    .lavTeamDirectoryHeader {
        margin-bottom: 38px;
    }

    .lavTeamDirectoryEyebrow {
        margin-bottom: 14px;
    }

    .lavTeamDirectoryHeader h2 {
        line-height: 1.01;
    }

    .lavTeamDirectoryIntroduction p {
        font-size: 0.9rem;
        line-height: 1.68;
    }

    .lavTeamProfile {
        border-radius: 22px;
    }

    .lavTeamProfileVisual {
        min-height: 430px;
        padding: 15px;
    }

    .lavTeamProfileVisual::before {
        inset: 10px;
        border-radius: 17px;
    }

    .lavTeamProfileFigure {
        min-height: 400px;
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 400px;
    }

    .lavTeamProfilePhoto {
        border-radius: 17px;
    }

    .lavTeamProfileVisualNote {
        left: 27px;
        bottom: 25px;
        width: min(74%, 245px);
    }

    .lavTeamProfileVisualNote p {
        font-size: 0.65rem;
    }

    .lavTeamProfileFigure figcaption {
        right: 13px;
        bottom: 13px;
        padding:
            7px
            11px;
        font-size: 0.58rem;
    }

    .lavTeamProfileBotanical {
        top: 2%;
        right: -37px;
        opacity: 0.42;
        transform:
            rotate(7deg)
            scale(0.72);
    }

    .lavTeamProfileContent {
        padding:
            34px
            20px
            38px;
    }

    .lavTeamProfileHeader {
        padding-bottom: 25px;
    }

    .lavTeamProfileHeader h3 {
        font-size: clamp(2.25rem, 12vw, 3.25rem);
    }

    .lavTeamProfileLanguage {
        font-size: 0.72rem;
    }

    .lavTeamProfileStatement {
        margin:
            28px
            0;
        padding:
            22px
            17px
            23px
            43px;
        border-radius: 18px;
    }

    .lavTeamProfileStatement blockquote p {
        font-size: 1.15rem;
        line-height: 1.4;
    }

    .lavTeamProfileQuote {
        top: 11px;
        left: 13px;
        font-size: 3.65rem;
    }

    .lavTeamProfileDescription p {
        font-size: 0.86rem;
        line-height: 1.68;
    }

    .lavTeamProfileApproach {
        padding:
            29px
            0
            34px;
    }

    .lavTeamProfileSupport {
        padding:
            30px
            0;
    }

    .lavTeamProfileApproachItem {
        padding:
            18px
            16px
            20px;
    }

    .lavTeamProfileSupportList li {
        min-height: 46px;
        padding:
            10px
            11px;
    }

    .lavTeamProfileDetails {
        margin-top: 28px;
        border-radius: 15px;
    }

    .lavTeamProfileDetail {
        padding:
            17px
            15px;
    }

    .lavTeamDirectoryGuidance {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 38px;
        padding:
            25px
            20px;
    }

    .lavTeamDirectoryGuidanceIcon {
        width: 58px;
        height: 58px;
    }

    .lavTeamDirectoryGuidanceLink {
        grid-column: auto;
    }

}


/* ============================================================
   VERY SMALL MOBILE
============================================================ */

@media (max-width: 380px) {

    .lavTeamDirectory .container {
        width: min(100% - 18px, 1200px);
    }

    .lavTeamProfileContent {
        padding:
            31px
            17px
            34px;
    }

    .lavTeamProfileVisual {
        min-height: 390px;
    }

    .lavTeamProfileFigure {
        min-height: 360px;
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 360px;
    }

    .lavTeamProfileStatement {
        padding-left: 38px;
    }

    .lavTeamProfileApproachItem,
    .lavTeamProfileSupportList li {
        border-radius: 13px;
    }

}


/* ============================================================
   SHORT VIEWPORTS
============================================================ */

@media (min-width: 981px) and (max-height: 760px) {

    .lavTeamDirectory {
        padding:
            64px
            0
            84px;
    }

    .lavTeamDirectoryHeader {
        margin-bottom: 42px;
    }

    .lavTeamProfilePhoto,
    .lavTeamProfilePhoto img {
        min-height: 560px;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .lavTeamDirectory *,
    .lavTeamDirectory *::before,
    .lavTeamDirectory *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }

    .lavTeamDirectory .reveal-soft,
    .lavTeamProfile {
        opacity: 1;
        transform: none;
    }

    .lavTeamProfilePhoto img {
        transform: none;
    }

    .lavTeamProfile:hover .lavTeamProfilePhoto img {
        transform: none;
    }

    .lavTeamProfileBotanical {
        transform:
            rotate(8deg)
            scale(1);
    }

}


/* ============================================================
   PRINT
============================================================ */

@media print {

    .lavTeamDirectory {
        overflow: visible;
        padding:
            28px
            0;
        background: #ffffff;
    }

    .lavTeamDirectoryGlow,
    .lavTeamDirectoryTexture,
    .lavTeamProfileVisualGlow,
    .lavTeamProfileBotanical,
    .lavTeamDirectoryGuidanceIcon {
        display: none !important;
    }

    .lavTeamDirectory .container {
        width: 100%;
    }

    .lavTeamDirectoryHeader {
        display: block;
        margin-bottom: 28px;
    }

    .lavTeamDirectoryIntroduction {
        max-width: none;
        margin-top: 18px;
    }

    .lavTeamProfile {
        display: block;
        min-height: 0;
        overflow: visible;
        border: 1px solid #d8d8d8;
        box-shadow: none;
        opacity: 1;
        transform: none;
    }

    .lavTeamProfileVisual {
        min-height: 0;
        padding: 20px;
        background: #f2edf2;
    }

    .lavTeamProfileFigure {
        min-height: 0;
    }

    .lavTeamProfilePhoto {
        min-height: 0;
        max-height: 520px;
        box-shadow: none;
    }

    .lavTeamProfilePhoto img {
        min-height: 0;
        max-height: 520px;
        object-fit: contain;
        transform: none;
    }

    .lavTeamProfileVisualNote,
    .lavTeamProfileFigure figcaption {
        position: static;
        margin-top: 10px;
        color: #3d3d3d;
        background: transparent;
        border: 0;
        backdrop-filter: none;
    }

    .lavTeamProfileContent {
        padding: 28px;
        background: #ffffff;
    }

    .lavTeamProfileApproachGrid,
    .lavTeamProfileSupportList,
    .lavTeamProfileDetails {
        break-inside: avoid;
    }

    .lavTeamProfileActions,
    .lavTeamDirectoryGuidanceLink {
        display: none;
    }

    .lavTeamDirectoryGuidance {
        display: block;
        margin-top: 28px;
        border: 1px solid #d8d8d8;
        box-shadow: none;
        background: #ffffff;
    }

}

/* ============================================================
   PROFILE IMAGE AND COLUMN CORRECTION

   Evita que la columna visual se estire conforme crece
   el contenido profesional.
============================================================ */

@media (min-width: 981px) {

    .lavTeamProfile {
        align-items: start;
        min-height: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .lavTeamProfile::before,
    .lavTeamProfile::after {
        display: none;
    }

    .lavTeamProfileVisual {
        position: sticky;
        top: 118px;
        align-self: start;
        min-height: 0;
        height: auto;
        overflow: hidden;
        border: 1px solid rgba(107, 77, 117, 0.12);
        border-radius: 34px 0 0 34px;
        box-shadow:
            0 36px 96px rgba(67, 44, 77, 0.1);
    }

    .lavTeamProfileFigure {
        display: block;
        min-height: 0;
        height: auto;
    }

    .lavTeamProfilePhoto {
        min-height: 0;
        height: auto;
        aspect-ratio: auto;
    }

    .lavTeamProfilePhoto img {
        width: 100%;
        height: auto;
        min-height: 0;
        object-fit: contain;
        object-position: center top;
        transform: none;
    }

    .lavTeamProfile:hover .lavTeamProfilePhoto img {
        transform: scale(1.018);
    }

    .lavTeamProfileContent {
        min-height: 0;
        border:
            1px
            solid
            rgba(107, 77, 117, 0.12);
        border-left: 0;
        border-radius: 0 34px 34px 0;
        box-shadow:
            28px
            36px
            96px
            rgba(67, 44, 77, 0.08);
    }

}


/* ============================================================
   TABLET AND MOBILE IMAGE CORRECTION
============================================================ */

@media (max-width: 980px) {

    .lavTeamProfile {
        overflow: hidden;
    }

    .lavTeamProfileVisual {
        position: relative;
        top: auto;
        min-height: 0;
        height: auto;
    }

    .lavTeamProfileFigure {
        min-height: 0;
        height: auto;
    }

    .lavTeamProfilePhoto {
        min-height: 0;
        height: auto;
    }

    .lavTeamProfilePhoto img {
        width: 100%;
        height: auto;
        min-height: 0;
        object-fit: contain;
        object-position: center top;
        transform: none;
    }

    .lavTeamProfile:hover .lavTeamProfilePhoto img {
        transform: none;
    }

}


/* ============================================================
   VISUAL TEXT POSITION AFTER NATURAL IMAGE HEIGHT
============================================================ */

.lavTeamProfileVisualNote {
    bottom: clamp(38px, 4vw, 54px);
}

.lavTeamProfileFigure figcaption {
    bottom: 24px;
}

@media (max-width: 760px) {

    .lavTeamProfileVisualNote {
        bottom: 31px;
    }

    .lavTeamProfileFigure figcaption {
        bottom: 17px;
    }

}

@media (max-width: 560px) {

    .lavTeamProfileVisualNote {
        bottom: 24px;
    }

    .lavTeamProfileFigure figcaption {
        bottom: 13px;
    }

}
/* ============================================================
   EDUCATION AND CREDENTIALS
============================================================ */

.lavTeamProfileCredentials {
    padding:
        clamp(36px, 4.5vw, 54px)
        0;
    border-bottom:
        1px
        solid
        rgba(107, 76, 118, 0.1);
}


/* ============================================================
   CREDENTIAL GRID
============================================================ */

.lavTeamCredentialsGrid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: clamp(27px, 3.5vw, 38px);
}

.lavTeamCredentialCard {
    position: relative;
    display: grid;
    grid-template-columns:
        48px
        minmax(0, 1fr);
    gap: 16px;
    min-width: 0;
    overflow: hidden;
    padding:
        22px
        20px;
    border:
        1px
        solid
        rgba(109, 78, 120, 0.1);
    border-radius: 19px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.9),
            rgba(248, 243, 248, 0.77)
        );
    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.lavTeamCredentialCard::after {
    content: "";
    position: absolute;
    right: -43px;
    bottom: -51px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(180, 141, 177, 0.12),
            transparent 68%
        );
}

.lavTeamCredentialCardFeatured {
    border-color: rgba(119, 84, 131, 0.17);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(180, 141, 177, 0.13),
            transparent 39%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96),
            rgba(245, 237, 246, 0.88)
        );
}

.lavTeamCredentialIcon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border:
        1px
        solid
        rgba(126, 91, 138, 0.14);
    border-radius: 15px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.97),
            rgba(232, 218, 234, 0.76)
        );
}

.lavTeamCredentialIcon > span {
    position: relative;
    display: block;
    width: 19px;
    height: 23px;
    border:
        1.5px
        solid
        #7f6388;
    border-radius: 4px;
}

.lavTeamCredentialIcon > span::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 4px;
    width: 9px;
    height: 1px;
    background: #96779e;
    box-shadow:
        0 4px 0 rgba(150, 119, 158, 0.72);
}

.lavTeamCredentialIcon > span::after {
    content: "";
    position: absolute;
    right: -4px;
    bottom: -4px;
    width: 8px;
    height: 8px;
    border:
        1px
        solid
        #785b81;
    border-radius: 50%;
    background: #f8f3f8;
}

.lavTeamCredentialContent {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.lavTeamCredentialLabel {
    margin: 0 0 5px;
    color: #987f9d;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.58rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lavTeamCredentialContent h5 {
    margin: 0;
    color: #493b4d;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.42;
}

.lavTeamCredentialInstitution {
    margin: 6px 0 0;
    color: #746777;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.5;
}

.lavTeamCredentialDescription {
    margin: 11px 0 0;
    color: #837885;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.72rem;
    line-height: 1.58;
}


/* ============================================================
   CREDENTIAL METADATA
============================================================ */

.lavTeamCredentialMeta {
    display: flex;
    flex-wrap: wrap;
    gap:
        11px
        20px;
    margin: 14px 0 0;
}

.lavTeamCredentialMeta > div {
    min-width: 82px;
}

.lavTeamCredentialMeta dt {
    margin: 0;
    color: #9b879f;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.54rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.lavTeamCredentialMeta dd {
    margin: 4px 0 0;
    color: #5d4d62;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.45;
}


/* ============================================================
   SPECIALIZED TRAINING
============================================================ */

.lavTeamSpecializedTraining {
    margin-top: clamp(29px, 3.8vw, 42px);
    padding-top: clamp(29px, 3.8vw, 42px);
    border-top:
        1px
        solid
        rgba(107, 76, 118, 0.09);
}

.lavTeamSpecializedTrainingHeading {
    display: grid;
    grid-template-columns:
        minmax(120px, 0.35fr)
        minmax(0, 1fr);
    gap: clamp(22px, 3vw, 40px);
    align-items: start;
}

.lavTeamSpecializedTrainingHeading > p {
    margin: 3px 0 0;
    color: #947c99;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lavTeamSpecializedTrainingHeading h5 {
    max-width: 570px;
    margin: 0;
    color: #493a4d;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(1.3rem, 2vw, 1.75rem);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: -0.02em;
}

.lavTeamSpecializedTrainingGrid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 24px;
}

.lavTeamTrainingItem {
    display: grid;
    grid-template-columns:
        33px
        minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding:
        21px
        19px;
    border:
        1px
        solid
        rgba(109, 78, 120, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(251, 247, 251, 0.94),
            rgba(246, 239, 247, 0.76)
        );
}

.lavTeamTrainingNumber {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    border:
        1px
        solid
        rgba(127, 92, 139, 0.15);
    border-radius: 50%;
    color: #927399;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.57rem;
    font-weight: 600;
    line-height: 1;
}

.lavTeamTrainingItem h6 {
    margin: 1px 0 0;
    color: #4c3e50;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.85rem;
    font-weight: 650;
    line-height: 1.45;
}

.lavTeamTrainingItem p {
    margin: 8px 0 0;
    color: #7e7280;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.71rem;
    line-height: 1.58;
}

.lavTeamTrainingItem dl {
    display: flex;
    flex-wrap: wrap;
    gap:
        10px
        20px;
    margin: 14px 0 0;
}

.lavTeamTrainingItem dt {
    color: #9b879f;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.52rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lavTeamTrainingItem dd {
    margin: 3px 0 0;
    color: #604f64;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.45;
}


/* ============================================================
   EXPERIENCE NOTE
============================================================ */

.lavTeamExperienceNote {
    position: relative;
    display: grid;
    grid-template-columns:
        54px
        minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-top: 14px;
    overflow: hidden;
    padding:
        23px
        24px;
    border:
        1px
        solid
        rgba(112, 79, 123, 0.11);
    border-radius: 19px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(184, 145, 180, 0.12),
            transparent 37%
        ),
        linear-gradient(
            145deg,
            rgba(250, 246, 250, 0.96),
            rgba(245, 237, 246, 0.79)
        );
}

.lavTeamExperienceNoteMark {
    color: rgba(139, 103, 151, 0.27);
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: 4.2rem;
    line-height: 0.8;
}

.lavTeamExperienceNoteLabel {
    margin: 0 0 5px;
    color: #967e9b;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.57rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lavTeamExperienceNote h5 {
    margin: 0;
    color: #493b4d;
    font-family:
        "Newsreader",
        Georgia,
        serif;
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 500;
    line-height: 1.25;
}

.lavTeamExperienceNote p:last-child {
    margin: 9px 0 0;
    color: #766b79;
    font-family:
        "DM Sans",
        Arial,
        sans-serif;
    font-size: 0.76rem;
    line-height: 1.62;
}


/* ============================================================
   CREDENTIAL INTERACTIONS
============================================================ */

@media (hover: hover) and (pointer: fine) {

    .lavTeamCredentialCard:hover {
        transform: translateY(-4px);
        border-color: rgba(119, 85, 131, 0.19);
        box-shadow:
            0 17px 36px rgba(76, 51, 86, 0.07);
    }

}


/* ============================================================
   CREDENTIAL RESPONSIVE
============================================================ */

@media (max-width: 760px) {

    .lavTeamCredentialsGrid,
    .lavTeamSpecializedTrainingGrid {
        grid-template-columns: 1fr;
    }

    .lavTeamSpecializedTrainingHeading {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .lavTeamSpecializedTrainingHeading > p {
        margin: 0;
    }

}

@media (max-width: 560px) {

    .lavTeamCredentialCard {
        grid-template-columns:
            42px
            minmax(0, 1fr);
        gap: 13px;
        padding:
            19px
            16px;
        border-radius: 16px;
    }

    .lavTeamCredentialIcon {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    .lavTeamTrainingItem {
        grid-template-columns:
            30px
            minmax(0, 1fr);
        gap: 12px;
        padding:
            19px
            15px;
        border-radius: 16px;
    }

    .lavTeamTrainingNumber {
        width: 30px;
        height: 30px;
    }

    .lavTeamExperienceNote {
        grid-template-columns:
            39px
            minmax(0, 1fr);
        gap: 11px;
        padding:
            20px
            17px;
        border-radius: 16px;
    }

    .lavTeamExperienceNoteMark {
        font-size: 3.35rem;
    }

}