/* Start custom CSS for html, class: .elementor-element-752ebbe *//* =========================================================
   OUR TEAM PAGE
   MIDDLE SECTION ONLY
   ========================================================= */

.gst-team-page{
  --team-maroon:#571c1d;
  --team-maroon-deep:#451a1a;
  --team-cream:#fdf5eb;
  --team-tan:#f7f0e8;
  --team-white:#ffffff;
  --team-gold:#b88921;
  --team-gold-soft:#d3a650;
  --team-ink:#342727;
  --team-ink-soft:#6a5a5a;
  --team-line:rgba(184,137,33,.22);

  color:var(--team-ink);
  background:var(--team-white);
  overflow:hidden;
}

.gst-team-page *,
.gst-team-page *::before,
.gst-team-page *::after{
  box-sizing:border-box;
}

.gst-team-page h1,
.gst-team-page h2,
.gst-team-page h3{
  font-family:var(--font-display);
  font-weight:500;
  line-height:1.12;
  letter-spacing:.02em;
  margin:0;
}

.gst-team-page p{
  margin:0;
  line-height:1.7;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.gst-team-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.7em;

  font-family:var(--font-body);
  font-size:.76rem;

  letter-spacing:.22em;
  text-transform:uppercase;

  color:var(--team-maroon);

  font-weight:700;
}

.gst-team-eyebrow::before{
  content:"";

  width:24px;
  height:1px;

  background:var(--team-gold);

  display:inline-block;
}


/* =========================================================
   INTRO / HERO
   ========================================================= */

.gst-team-intro{
  position:relative;

  padding:6rem 1.75rem 5rem;

  text-align:center;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(211,166,80,.16),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      var(--team-cream) 0%,
      var(--team-tan) 100%
    );

  overflow:hidden;
}

.gst-team-intro::before{
  content:"";

  position:absolute;

  width:360px;
  height:360px;

  border:1px solid rgba(184,137,33,.12);

  border-radius:50%;

  top:-220px;
  left:-150px;
}

.gst-team-intro::after{
  content:"";

  position:absolute;

  width:280px;
  height:280px;

  border:1px solid rgba(184,137,33,.10);

  border-radius:50%;

  bottom:-180px;
  right:-100px;
}

.gst-team-intro-inner{
  position:relative;
  z-index:2;

  max-width:780px;

  margin:0 auto;
}

.gst-team-intro h1{
  margin-top:.8rem;

  font-size:clamp(2.4rem,5vw,4rem);

  color:var(--team-maroon-deep);
}

.gst-team-intro h1 span{
  color:var(--team-gold);
}

.gst-team-intro p{
  max-width:660px;

  margin:1.3rem auto 0;

  font-size:1.03rem;

  color:var(--team-ink-soft);
}

.gst-team-intro-line{
  width:60px;
  height:1px;

  background:var(--team-gold);

  margin:2rem auto 0;
}


/* =========================================================
   TEAM SECTION
   ========================================================= */

.gst-team-section{
  padding:6rem 1.75rem 6.5rem;

  background:var(--team-white);
}

.gst-team-container{
  max-width:1180px;

  margin:0 auto;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.gst-team-heading{
  max-width:720px;

  margin:0 auto 4rem;

  text-align:center;
}

.gst-team-heading h2{
  margin-top:.7rem;

  font-size:clamp(1.9rem,3vw,2.6rem);

  color:var(--team-maroon-deep);
}

.gst-team-heading p{
  max-width:620px;

  margin:1rem auto 0;

  color:var(--team-ink-soft);

  font-size:.96rem;
}


/* =========================================================
   TEAM LIST
   ========================================================= */

.gst-team-list{
  display:flex;

  flex-direction:column;

  gap:4rem;
}


/* =========================================================
   TEAM PROFILE
   PHOTO 25% / CONTENT 75%
   ========================================================= */

.gst-team-profile{
  display:grid;

  grid-template-columns:25% 75%;

  min-height:430px;

  background:var(--team-white);

  border:1px solid var(--team-line);

  box-shadow:
    0 22px 60px rgba(69,26,26,.08);

  overflow:hidden;

  transition:
    transform .45s cubic-bezier(.2,.7,.3,1),
    box-shadow .45s ease,
    border-color .45s ease;
}

.gst-team-profile:hover{
  transform:translateY(-7px);

  border-color:var(--team-gold);

  box-shadow:
    0 30px 75px rgba(69,26,26,.14);
}


/* =========================================================
   PROFILE PHOTO
   ========================================================= */

.gst-team-profile-photo{
  position:relative;

  min-height:430px;

  overflow:hidden;

  background:var(--team-maroon-deep);
}

.gst-team-profile-photo img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  transition:
    transform .9s cubic-bezier(.2,.7,.3,1);
}

.gst-team-profile:hover
.gst-team-profile-photo img{
  transform:scale(1.055);
}


/* Image overlay */

.gst-team-profile-photo::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(69,26,26,.02),
      rgba(69,26,26,.30)
    );

  pointer-events:none;
}


/* Gold frame */

.gst-team-photo-frame{
  position:absolute;

  z-index:2;

  inset:18px;

  border:1px solid rgba(211,166,80,.75);

  pointer-events:none;
}

.gst-team-photo-frame::after{
  content:"";

  position:absolute;

  width:42px;
  height:42px;

  right:-1px;
  bottom:-1px;

  border-right:3px solid var(--team-gold);
  border-bottom:3px solid var(--team-gold);
}


/* =========================================================
   PROFILE CONTENT
   ========================================================= */

.gst-team-profile-content{
  position:relative;

  display:flex;

  flex-direction:column;

  justify-content:center;

  padding:3.5rem 4.5rem;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(211,166,80,.09),
      transparent 32%
    ),
    var(--team-white);
}


/* Decorative number */

.gst-team-profile-number{
  position:absolute;

  top:1.5rem;
  right:2.5rem;

  font-family:var(--font-display);

  font-size:3.4rem;

  line-height:1;

  color:rgba(184,137,33,.12);
}


/* =========================================================
   ROLE
   ========================================================= */

.gst-team-role{
  display:block;

  margin-bottom:.65rem;

  font-family:var(--font-body);

  font-size:.7rem;

  letter-spacing:.18em;

  text-transform:uppercase;

  color:var(--team-gold);

  font-weight:700;
}


/* =========================================================
   NAME
   ========================================================= */

.gst-team-profile-content h3{
  font-size:clamp(2rem,3.2vw,2.8rem);

  color:var(--team-maroon-deep);
}


/* =========================================================
   DIVIDER
   ========================================================= */

.gst-team-divider{
  width:55px;
  height:1px;

  background:var(--team-gold);

  margin:1.35rem 0;
}


/* =========================================================
   BANQUET INFORMATION
   ========================================================= */

.gst-team-banquet-title{
  margin-bottom:.5rem;

  font-family:var(--font-body);

  font-size:.72rem;

  letter-spacing:.12em;

  text-transform:uppercase;

  color:var(--team-maroon);

  font-weight:700;
}

.gst-team-profile-content p{
  max-width:680px;

  font-size:.96rem;

  color:var(--team-ink-soft);

  line-height:1.78;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.gst-team-actions{
  display:flex;

  flex-wrap:wrap;

  align-items:center;

  gap:.7rem;

  margin-top:1.8rem;
}


/* Base button */

.gst-team-action{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:.55rem;

  min-height:42px;

  padding:.78rem 1.15rem;

  border:1px solid var(--team-line);

  background:var(--team-white);

  color:var(--team-maroon);

  text-decoration:none;

  font-family:var(--font-body);

  font-size:.72rem;

  font-weight:700;

  letter-spacing:.06em;

  text-transform:uppercase;

  transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease;
}

.gst-team-action:hover{
  background:var(--team-maroon);

  border-color:var(--team-maroon);

  color:var(--team-cream);

  transform:translateY(-2px);
}

.gst-team-action svg{
  width:15px;
  height:15px;

  flex:0 0 15px;
}


/* =========================================================
   FULL PROFILE BUTTON
   ========================================================= */

.gst-team-action--profile{
  position:relative;

  background:var(--team-maroon);

  border-color:var(--team-maroon);

  color:var(--team-cream);

  overflow:hidden;
}

.gst-team-action--profile::before{
  content:"";

  position:absolute;

  inset:0;

  background:var(--team-gold);

  transform:translateX(-101%);

  transition:transform .35s ease;
}

.gst-team-action--profile span{
  position:relative;

  z-index:2;

  display:flex;

  align-items:center;

  gap:.55rem;
}

.gst-team-action--profile:hover::before{
  transform:translateX(0);
}

.gst-team-action--profile:hover{
  color:var(--team-maroon-deep);

  border-color:var(--team-gold);
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.gst-team-cta{
  position:relative;

  padding:5rem 1.75rem;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(211,166,80,.13),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      var(--team-maroon-deep),
      var(--team-maroon)
    );

  color:var(--team-white);

  overflow:hidden;
}

.gst-team-cta-inner{
  position:relative;

  z-index:2;

  max-width:850px;

  margin:0 auto;

  text-align:center;
}

.gst-team-cta .gst-team-eyebrow{
  color:var(--team-gold-soft);
}

.gst-team-cta .gst-team-eyebrow::before{
  background:var(--team-gold);
}

.gst-team-cta h2{
  margin-top:.8rem;

  font-size:clamp(1.9rem,3.5vw,2.7rem);

  color:var(--team-white);
}

.gst-team-cta p{
  max-width:600px;

  margin:1rem auto 0;

  color:rgba(253,253,252,.78);

  font-size:.96rem;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.gst-team-reveal{
  opacity:0;

  transform:translateY(30px);

  transition:
    opacity .8s cubic-bezier(.2,.7,.3,1),
    transform .8s cubic-bezier(.2,.7,.3,1);
}

.gst-team-reveal.gst-team-visible{
  opacity:1;

  transform:translateY(0);
}


/* Stagger */

.gst-team-profile:nth-child(2){
  transition-delay:.08s;
}

.gst-team-profile:nth-child(3){
  transition-delay:.16s;
}

.gst-team-profile:nth-child(4){
  transition-delay:.24s;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:900px){

  .gst-team-profile{
    grid-template-columns:32% 68%;
  }

  .gst-team-profile-photo{
    min-height:400px;
  }

  .gst-team-profile-content{
    padding:2.75rem 2.75rem;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:650px){

  .gst-team-intro{
    padding:4.75rem 1.25rem 4rem;
  }

  .gst-team-section{
    padding:4.5rem 1.25rem 5rem;
  }

  .gst-team-heading{
    margin-bottom:2.8rem;
  }

  .gst-team-list{
    gap:3rem;
  }

  .gst-team-profile{
    display:flex;

    flex-direction:column;

    min-height:0;
  }

  .gst-team-profile-photo{
    min-height:340px;

    aspect-ratio:1 / 1;
  }

  .gst-team-profile-content{
    padding:2.5rem 1.65rem 2.5rem;
  }

  .gst-team-profile-number{
    top:1rem;
    right:1.25rem;

    font-size:2.5rem;
  }

  .gst-team-profile-content h3{
    font-size:2rem;
  }

  .gst-team-profile-content p{
    font-size:.9rem;
  }

  .gst-team-actions{
    align-items:stretch;
  }

  .gst-team-action{
    flex:1 1 auto;
  }

  .gst-team-action--profile{
    flex-basis:100%;
  }

  .gst-team-cta{
    padding:4rem 1.25rem;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width:420px){

  .gst-team-actions{
    display:grid;

    grid-template-columns:1fr 1fr;
  }

  .gst-team-action{
    width:100%;
  }

  .gst-team-action--profile{
    grid-column:1 / -1;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .gst-team-reveal{
    opacity:1;

    transform:none;

    transition:none;
  }

  .gst-team-profile,
  .gst-team-profile-photo img,
  .gst-team-action{
    transition:none !important;
  }

}/* End custom CSS */