/* =========================================================
   ESTHETICAPLUS — HOMEPAGE TEAM
========================================================= */

#ep-home-team,
#ep-home-team *{
  box-sizing:border-box;
}

#ep-home-team{
  --navy:#07111f;
  --ink:#172a3c;
  --text:#5b6977;
  --muted:#7c8792;
  --cream:#f6f1e8;
  --ivory:#fffdf8;
  --white:#ffffff;
  --gold:#b99561;
  --gold-dark:#947243;
  --gold-light:#ebd0a0;
  --line:rgba(7,17,31,.11);

  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter Tight",Arial,sans-serif;

  width:100%;

  margin:0;
  padding:0;

  overflow:hidden;

  color:var(--ink);

  background:var(--ivory);

  font-family:var(--sans);
}


#ep-home-team img{
  display:block;
  max-width:100%;
}


#ep-home-team a{
  color:inherit;
}


#ep-home-team h2,
#ep-home-team h3,
#ep-home-team p,
#ep-home-team figure{
  margin-top:0;
}


#ep-home-team .epht-shell{
  width:min(1240px,calc(100% - 80px));

  margin:0 auto;
}



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

#ep-home-team .epht-main{
  padding:118px 0 105px;
}


#ep-home-team .epht-head{
  display:grid;

  grid-template-columns:1.15fr .7fr;

  gap:70px;

  align-items:end;

  margin-bottom:58px;
}



/* KICKER */

#ep-home-team .epht-kicker{
  display:flex;

  align-items:center;

  gap:12px;

  margin:0 0 17px;

  color:var(--gold-dark);

  font-size:11px;

  font-weight:700;

  line-height:1.3;

  letter-spacing:.18em;

  text-transform:uppercase;
}


#ep-home-team .epht-kicker:before{
  content:"";

  width:34px;

  height:1px;

  flex:0 0 34px;

  background:currentColor;
}



/* TITLE */

#ep-home-team .epht-title{
  max-width:810px;

  margin:0!important;

  color:var(--navy)!important;

  font-family:var(--serif)!important;

  font-size:clamp(48px,5.5vw,78px)!important;

  font-weight:400!important;

  line-height:.98!important;

  letter-spacing:-.048em!important;
}


#ep-home-team .epht-title em{
  color:var(--gold-dark);

  font-style:italic;

  font-weight:300;
}



/* INTRO RIGHT */

#ep-home-team .epht-head-right{
  padding-bottom:5px;
}


#ep-home-team .epht-intro{
  margin:0 0 25px;

  color:#506172;

  font-size:17px;

  line-height:1.75;
}


#ep-home-team .epht-link{
  display:inline-flex;

  align-items:center;

  gap:10px;

  color:var(--navy)!important;

  font-size:12px;

  font-weight:700;

  letter-spacing:.1em;

  text-decoration:none!important;

  text-transform:uppercase;
}


#ep-home-team .epht-link span{
  transition:transform .25s ease;
}


#ep-home-team .epht-link:hover span{
  transform:translateX(4px);
}



/* =========================================================
   DOCTORS GRID — DESKTOP
========================================================= */

#ep-home-team .epht-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:20px;
}



/* =========================================================
   DOCTOR CARD
========================================================= */

#ep-home-team .epht-doctor{
  position:relative;

  overflow:hidden;

  border:1px solid var(--line);

  border-radius:20px;

  background:#fff;

  box-shadow:
    0 15px 42px rgba(7,17,31,.055);

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}


#ep-home-team .epht-doctor:hover{
  transform:translateY(-5px);

  border-color:rgba(185,149,97,.38);

  box-shadow:
    0 25px 60px rgba(7,17,31,.1);
}



/* PHOTO */

#ep-home-team .epht-photo{
  position:relative;

  aspect-ratio:1 / 1.04;

  overflow:hidden;

  background:#e6e2dc;
}


#ep-home-team .epht-photo img{
  width:100%;

  height:100%;

  object-fit:cover;

  object-position:center top;

  transition:transform .65s ease;
}


#ep-home-team .epht-doctor:hover .epht-photo img{
  transform:scale(1.025);
}


#ep-home-team .epht-photo:after{
  content:"";

  position:absolute;

  inset:auto 0 0;

  height:35%;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(7,17,31,.16)
    );

  pointer-events:none;
}



/* =========================================================
   CARD BODY
========================================================= */

#ep-home-team .epht-body{
  min-height:228px;

  display:flex;

  flex-direction:column;

  padding:26px 26px 28px;
}


#ep-home-team .epht-specialty{
  margin:0 0 9px!important;

  color:var(--gold-dark)!important;

  font-size:11px!important;

  font-weight:700;

  line-height:1.45;

  letter-spacing:.11em;

  text-transform:uppercase;
}


#ep-home-team .epht-doctor h3{
  margin:0 0 14px!important;

  color:var(--navy)!important;

  font-family:var(--serif)!important;

  font-size:34px!important;

  font-weight:400!important;

  line-height:1.05!important;

  letter-spacing:-.025em!important;
}


#ep-home-team .epht-description{
  margin:0;

  color:#596978;

  font-size:15.5px;

  line-height:1.7;
}


#ep-home-team .epht-doctor-link{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:15px;

  margin-top:auto;

  padding-top:20px;

  color:#71808d!important;

  font-size:11px;

  font-weight:700;

  line-height:1.4;

  letter-spacing:.09em;

  text-decoration:none!important;

  text-transform:uppercase;
}


#ep-home-team .epht-doctor-link:before{
  content:"";

  width:29px;

  height:1px;

  background:var(--gold);
}


#ep-home-team .epht-doctor-link span{
  margin-left:auto;

  color:var(--gold-dark);

  font-size:17px;

  transition:transform .25s ease;
}


#ep-home-team .epht-doctor:hover
.epht-doctor-link span{
  transform:translateX(4px);
}



/* =========================================================
   HUMAN STATEMENT
========================================================= */

#ep-home-team .epht-statement{
  display:grid;

  grid-template-columns:.72fr 1.28fr;

  gap:55px;

  align-items:center;

  margin-top:70px;

  padding:42px 0 0;

  border-top:1px solid var(--line);
}


#ep-home-team .epht-statement-label{
  color:var(--gold-dark);

  font-size:11px;

  font-weight:700;

  letter-spacing:.15em;

  text-transform:uppercase;
}


#ep-home-team .epht-statement-text{
  margin:0;

  color:var(--navy);

  font-family:var(--serif);

  font-size:
    clamp(26px,2.6vw,38px);

  font-weight:400;

  line-height:1.35;

  letter-spacing:-.02em;
}


#ep-home-team .epht-statement-text em{
  color:var(--gold-dark);

  font-style:italic;

  font-weight:300;
}



/* =========================================================
   WHOLE TEAM IMAGE
========================================================= */

#ep-home-team .epht-all-team{
  position:relative;

  min-height:700px;

  display:flex;

  align-items:flex-end;

  overflow:hidden;

  color:#fff;

  background:var(--navy);
}


#ep-home-team .epht-all-team-media{
  position:absolute;

  inset:0;
}


#ep-home-team .epht-all-team-media picture,
#ep-home-team .epht-all-team-media img{
  width:100%;

  height:100%;
}


#ep-home-team .epht-all-team-media img{
  object-fit:cover;

  object-position:center;
}


#ep-home-team .epht-all-team:after{
  content:"";

  position:absolute;

  inset:0;

  background:

    linear-gradient(
      180deg,
      rgba(7,17,31,.02) 20%,
      rgba(7,17,31,.10) 45%,
      rgba(7,17,31,.88) 100%
    ),

    linear-gradient(
      90deg,
      rgba(7,17,31,.59) 0%,
      rgba(7,17,31,.15) 55%,
      transparent 82%
    );
}


#ep-home-team .epht-all-team-content{
  position:relative;

  z-index:2;

  width:min(1240px,calc(100% - 80px));

  margin:0 auto;

  padding-bottom:58px;
}


#ep-home-team .epht-all-team-inner{
  max-width:790px;
}


#ep-home-team .epht-all-team
.epht-kicker{
  color:#e5c388;
}


#ep-home-team .epht-all-team h2{
  max-width:850px;

  margin:0 0 20px!important;

  color:#fff!important;

  font-family:var(--serif)!important;

  font-size:
    clamp(48px,5.5vw,76px)!important;

  font-weight:400!important;

  line-height:.98!important;

  letter-spacing:-.045em!important;
}


#ep-home-team .epht-all-team h2 em{
  color:#efd5a6;

  font-style:italic;

  font-weight:300;
}


#ep-home-team .epht-team-text{
  max-width:700px;

  margin:0 0 28px;

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

  font-size:17px;

  line-height:1.74;
}


#ep-home-team .epht-team-btn{
  min-height:56px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  padding:16px 27px;

  border-radius:999px;

  background:var(--ivory);

  color:var(--navy)!important;

  font-size:11px;

  font-weight:700;

  letter-spacing:.11em;

  text-decoration:none!important;

  text-transform:uppercase;

  transition:.25s ease;
}


#ep-home-team .epht-team-btn:hover{
  transform:translateY(-2px);

  background:var(--gold-light);
}



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

@media(max-width:1050px){

  #ep-home-team .epht-shell{
    width:calc(100% - 56px);
  }


  #ep-home-team .epht-main{
    padding:90px 0;
  }


  #ep-home-team .epht-head{
    gap:45px;
  }


  #ep-home-team .epht-grid{
    grid-template-columns:1fr 1fr;
  }


  #ep-home-team
  .epht-all-team-content{
    width:calc(100% - 56px);
  }

}



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

@media(max-width:767px){


  #ep-home-team{
    margin:0!important;

    padding:0!important;
  }


  #ep-home-team .epht-main{
    margin:0!important;

    padding:
      0
      0
      46px!important;
  }


  #ep-home-team .epht-shell{
    width:calc(100% - 32px);

    margin:0 auto;

    padding:0;
  }



  /* HEADER */

  #ep-home-team .epht-head{
    display:grid;

    grid-template-columns:1fr;

    gap:12px;

    margin:
      0
      0
      23px;

    padding:0;
  }


  #ep-home-team
  .epht-head > div:first-child{
    margin:0;

    padding:0;
  }


  #ep-home-team .epht-kicker{
    margin:
      0
      0
      8px;

    padding:0;

    font-size:9.5px;

    letter-spacing:.14em;
  }


  #ep-home-team .epht-kicker:before{
    width:24px;

    flex:0 0 24px;
  }


  #ep-home-team .epht-title{
    margin:0!important;

    font-size:
      clamp(37px,10.5vw,48px)!important;

    line-height:.98!important;

    letter-spacing:-.043em!important;
  }


  #ep-home-team .epht-head-right{
    margin:0;

    padding:0;
  }


  #ep-home-team .epht-intro{
    margin:
      0
      0
      14px;

    font-size:15px;

    line-height:1.58;
  }


  #ep-home-team .epht-link{
    font-size:10px;

    letter-spacing:.09em;
  }



  /* =====================================================
     DOCTORS CAROUSEL
  ====================================================== */

  #ep-home-team .epht-grid{

    display:flex;

    grid-template-columns:none;

    gap:12px;

    width:calc(100% + 16px);

    max-width:none;

    margin:
      0
      -16px
      0
      0;

    padding:
      2px
      16px
      13px
      0;

    overflow-x:auto;

    overflow-y:hidden;

    scroll-snap-type:x mandatory;

    scroll-behavior:smooth;

    overscroll-behavior-x:contain;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;
  }


  #ep-home-team
  .epht-grid::-webkit-scrollbar{
    display:none;
  }



  /* CARD */

  #ep-home-team .epht-doctor{

    flex:
      0
      0
      82%;

    width:82%;

    min-width:82%;

    margin:0;

    scroll-snap-align:start;

    scroll-snap-stop:always;

    border-radius:18px;

    transform:none!important;

    box-shadow:
      0 10px 28px
      rgba(7,17,31,.07);
  }


  #ep-home-team
  .epht-doctor:hover{
    transform:none!important;
  }



  /* PHOTO */

  #ep-home-team .epht-photo{

    width:100%;

    aspect-ratio:1 / .88;
  }


  #ep-home-team .epht-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center top;
  }



  /* CARD BODY */

  #ep-home-team .epht-body{

    min-height:220px;

    padding:
      18px
      18px
      20px;
  }


  #ep-home-team .epht-specialty{

    margin:
      0
      0
      6px!important;

    font-size:9px!important;

    line-height:1.35;

    letter-spacing:.08em;
  }


  #ep-home-team .epht-doctor h3{

    margin:
      0
      0
      9px!important;

    font-size:27px!important;

    line-height:1.05!important;
  }


  #ep-home-team .epht-description{

    margin:0;

    font-size:13.5px;

    line-height:1.52;
  }


  #ep-home-team
  .epht-doctor-link{

    margin-top:auto;

    padding-top:14px;

    font-size:9px;
  }


  #ep-home-team
  .epht-doctor-link:before{

    width:20px;
  }



  /* PHILOSOPHY */

  #ep-home-team .epht-statement{

    grid-template-columns:1fr;

    gap:9px;

    margin-top:24px;

    padding-top:20px;
  }


  #ep-home-team
  .epht-statement-label{

    font-size:9px;
  }


  #ep-home-team
  .epht-statement-text{

    font-size:21px;

    line-height:1.34;
  }



  /* WHOLE TEAM IMAGE */

  #ep-home-team .epht-all-team{

    min-height:620px;
  }


  #ep-home-team
  .epht-all-team-media img{

    object-position:center center;
  }


  #ep-home-team
  .epht-all-team:after{

    background:

      linear-gradient(

        180deg,

        transparent 22%,

        rgba(7,17,31,.10) 42%,

        rgba(7,17,31,.70) 65%,

        rgba(7,17,31,.96) 84%,

        var(--navy) 100%

      );
  }


  #ep-home-team
  .epht-all-team-content{

    width:calc(100% - 32px);

    padding-bottom:28px;
  }


  #ep-home-team
  .epht-all-team .epht-kicker{

    margin-bottom:9px;
  }


  #ep-home-team
  .epht-all-team h2{

    margin-bottom:14px!important;

    font-size:
      clamp(38px,10.5vw,48px)!important;

    line-height:.98!important;
  }


  #ep-home-team
  .epht-team-text{

    margin-bottom:18px;

    font-size:14px;

    line-height:1.55;
  }


  #ep-home-team
  .epht-team-btn{

    width:100%;

    min-height:50px;

    padding:14px 18px;
  }

}



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

@media(max-width:390px){

  #ep-home-team .epht-shell{
    width:calc(100% - 28px);
  }


  #ep-home-team .epht-title{

    font-size:
      clamp(35px,10.3vw,42px)!important;
  }


  #ep-home-team .epht-doctor{

    flex-basis:85%;

    width:85%;

    min-width:85%;
  }


  #ep-home-team .epht-body{

    min-height:215px;
  }


  #ep-home-team
  .epht-description{

    font-size:13px;
  }


  #ep-home-team
  .epht-all-team{

    min-height:590px;
  }

}



/* =========================================================
   REDUCED MOTION
========================================================= */

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

  #ep-home-team *,
  #ep-home-team *:before,
  #ep-home-team *:after{
    scroll-behavior:auto!important;

    transition:none!important;
  }

}