/* ==========================================================
   BIPOFY CONTACT PAGE V001
   ========================================================== */

:root{
  --bc1-green:#0daf7a;
  --bc1-green-dark:#07845d;

  --bc1-navy:#061b35;

  --bc1-text:#4f6677;
  --bc1-muted:#758793;

  --bc1-border:#dbe9e5;

  --bc1-mint:#eefaf6;
  --bc1-soft:#f7fcfa;

  --bc1-white:#ffffff;
}


/* ==========================================================
   PAGE
   ========================================================== */

#bipofyContactV001{
  background:#fff;

  color:var(--bc1-navy);

  font-family:inherit;
}


#bipofyContactV001 *{
  box-sizing:border-box;
}


.bc1-wrap{
  width:min(
    1160px,
    calc(100% - 40px)
  );

  margin:0 auto;
}


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

.bc1-hero{
  position:relative;

  overflow:hidden;

  padding:
    74px
    0
    70px;

  border-bottom:
    1px solid
    #dceee8;

  background:
    radial-gradient(
      circle at 82% 10%,
      rgba(13,175,122,.08),
      transparent 31%
    ),
    linear-gradient(
      180deg,
      #f3fbf8 0%,
      #ffffff 100%
    );
}


.bc1-hero-inner{
  max-width:810px;

  margin:0 auto;

  text-align:center;
}


.bc1-eyebrow{
  display:inline-flex;

  align-items:center;

  gap:6px;

  min-height:27px;

  padding:
    0
    9px;

  border:
    1px solid
    #bce9d8;

  border-radius:4px;

  background:#fff;

  color:var(--bc1-green-dark);

  font-size:10.5px;

  line-height:1;

  font-weight:800;

  letter-spacing:.035em;

  text-transform:uppercase;
}


.bc1-eyebrow::before{
  content:"";

  width:5px;
  height:5px;

  border-radius:50%;

  background:var(--bc1-green);
}


.bc1-hero h1{
  margin:
    17px
    0
    14px;

  color:var(--bc1-navy);

  font-size:clamp(
    45px,
    6vw,
    68px
  );

  line-height:1.01;

  font-weight:850;

  letter-spacing:-.05em;
}


.bc1-hero p{
  max-width:700px;

  margin:0 auto;

  color:var(--bc1-text);

  font-size:16px;

  line-height:1.65;
}


/* ==========================================================
   CONTACT ROUTES
   ========================================================== */

.bc1-routes{
  padding:
    62px
    0;
}


.bc1-section-head{
  max-width:690px;

  margin-bottom:29px;
}


.bc1-section-head h2{
  margin:0;

  color:var(--bc1-navy);

  font-size:34px;

  line-height:1.1;

  font-weight:850;

  letter-spacing:-.035em;
}


.bc1-section-head p{
  margin:
    8px
    0
    0;

  color:var(--bc1-text);

  font-size:14px;

  line-height:1.6;
}


.bc1-route-grid{
  display:grid;

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

  gap:14px;
}


.bc1-route-card{
  min-width:0;

  display:flex;

  flex-direction:column;

  padding:24px;

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

  border-radius:4px;

  background:#fff;
}


.bc1-route-icon{
  width:38px;
  height:38px;

  display:inline-flex;

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

  margin-bottom:18px;

  border-radius:4px;

  background:var(--bc1-mint);

  color:var(--bc1-green-dark);
}


.bc1-route-icon svg{
  width:19px;
  height:19px;

  fill:none;

  stroke:currentColor;

  stroke-width:1.8;

  stroke-linecap:round;

  stroke-linejoin:round;
}


.bc1-route-card h3{
  margin:0;

  color:var(--bc1-navy);

  font-size:21px;

  line-height:1.15;

  font-weight:820;

  letter-spacing:-.025em;
}


.bc1-route-card p{
  flex:1;

  margin:
    9px
    0
    21px;

  color:var(--bc1-text);

  font-size:13.5px;

  line-height:1.6;
}


.bc1-route-card a{
  width:fit-content;

  display:inline-flex;

  align-items:center;

  gap:6px;

  color:var(--bc1-green-dark);

  font-size:13px;

  line-height:1.2;

  font-weight:800;

  text-decoration:none;
}


.bc1-route-card a:hover{
  text-decoration:underline;

  text-underline-offset:3px;
}


/* ==========================================================
   CONTACT GUIDANCE
   ========================================================== */

.bc1-guidance{
  padding:
    62px
    0;

  border-top:
    1px solid
    #dceee8;

  background:
    var(--bc1-soft);
}


.bc1-guidance-grid{
  display:grid;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(0,1.1fr);

  gap:64px;

  align-items:start;
}


.bc1-guidance-copy h2{
  margin:0;

  color:var(--bc1-navy);

  font-size:34px;

  line-height:1.1;

  font-weight:850;

  letter-spacing:-.035em;
}


.bc1-guidance-copy p{
  margin:
    10px
    0
    0;

  color:var(--bc1-text);

  font-size:14px;

  line-height:1.65;
}


.bc1-guidance-list{
  display:grid;

  gap:0;

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


.bc1-guidance-item{
  display:grid;

  grid-template-columns:
    42px
    1fr;

  gap:14px;

  padding:
    18px
    0;

  border-bottom:
    1px solid
    var(--bc1-border);
}


.bc1-guidance-number{
  width:32px;
  height:32px;

  display:flex;

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

  border:
    1px solid
    #c3e8da;

  border-radius:4px;

  background:#fff;

  color:var(--bc1-green-dark);

  font-size:11px;

  font-weight:850;
}


.bc1-guidance-item strong{
  display:block;

  margin-bottom:4px;

  color:var(--bc1-navy);

  font-size:14px;

  line-height:1.3;

  font-weight:800;
}


.bc1-guidance-item span{
  display:block;

  color:var(--bc1-text);

  font-size:13px;

  line-height:1.55;
}


/* ==========================================================
   HOME-STYLE CTA
   ========================================================== */

.bc1-cta{
  border-top:
    1px solid
    #cce9de;

  border-bottom:
    1px solid
    #cce9de;

  background:
    #e9f9f4;
}


.bc1-cta-inner{
  min-height:138px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:30px;
}


.bc1-cta-copy h2{
  margin:0;

  color:var(--bc1-navy);

  font-size:28px;

  line-height:1.12;

  font-weight:850;

  letter-spacing:-.03em;
}


.bc1-cta-copy p{
  margin:
    6px
    0
    0;

  color:var(--bc1-text);

  font-size:13.5px;

  line-height:1.5;
}


.bc1-cta-actions{
  flex:0 0 auto;

  display:flex;

  align-items:center;

  gap:8px;
}


.bc1-cta-actions a{
  min-height:44px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:
    0
    17px;

  border-radius:4px;

  font-size:13px;

  line-height:1;

  font-weight:800;

  text-decoration:none;
}


.bc1-cta-primary{
  border:
    1px solid
    var(--bc1-green);

  background:
    var(--bc1-green);

  color:#fff;
}


.bc1-cta-secondary{
  border:
    1px solid
    #c6dad4;

  background:#fff;

  color:var(--bc1-navy);
}


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

@media(max-width:900px){

  .bc1-route-grid{
    grid-template-columns:1fr;
  }


  .bc1-route-card{
    padding:21px;
  }


  .bc1-guidance-grid{
    grid-template-columns:1fr;

    gap:32px;
  }

}


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

@media(max-width:760px){

  .bc1-wrap{
    width:
      calc(100% - 24px);
  }


  .bc1-hero{
    padding:
      45px
      0
      44px;
  }


  .bc1-hero-inner{
    text-align:left;
  }


  .bc1-hero h1{
    margin-top:14px;

    font-size:39px;

    line-height:1.04;
  }


  .bc1-hero p{
    margin:0;

    font-size:14px;

    line-height:1.6;
  }


  .bc1-routes{
    padding:
      43px
      0;
  }


  .bc1-section-head{
    margin-bottom:22px;
  }


  .bc1-section-head h2,

  .bc1-guidance-copy h2{
    font-size:29px;

    line-height:1.1;
  }


  .bc1-section-head p,

  .bc1-guidance-copy p{
    font-size:13.5px;
  }


  .bc1-route-grid{
    gap:10px;
  }


  .bc1-route-card h3{
    font-size:20px;
  }


  .bc1-route-card p{
    font-size:13.5px;
  }


  .bc1-guidance{
    padding:
      43px
      0;
  }


  .bc1-guidance-item{
    grid-template-columns:
      36px
      1fr;

    gap:11px;

    padding:
      15px
      0;
  }


  .bc1-guidance-item strong{
    font-size:13.5px;
  }


  .bc1-guidance-item span{
    font-size:12.5px;
  }


  .bc1-cta-inner{
    min-height:0;

    display:block;

    padding:
      28px
      0;
  }


  .bc1-cta-copy h2{
    font-size:24px;

    line-height:1.14;
  }


  .bc1-cta-copy p{
    font-size:13px;
  }


  .bc1-cta-actions{
    display:grid;

    grid-template-columns:
      1fr
      1fr;

    gap:7px;

    margin-top:17px;
  }


  .bc1-cta-actions a{
    width:100%;

    padding:
      0
      10px;

    font-size:12.5px;
  }

}


@media(max-width:380px){

  .bc1-cta-actions{
    grid-template-columns:1fr;
  }

}


/*
============================================================
 BIPOFY_CONTACT_PAGE_DESIGN_V015A
 Homepage / Pricing aligned Contact UI
============================================================
*/


/* ========================================================
   PAGE
======================================================== */

body.bp-contact-v015a{
  background:#fff !important;
}


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

body.bp-contact-v015a
.bp15-contact-hero{
  padding:
    82px
    0
    76px !important;

  background:
    linear-gradient(
      180deg,
      #f4fbf8 0%,
      #ffffff 100%
    ) !important;

  border-bottom:
    1px solid #e2ebe6 !important;

  text-align:center !important;
}


body.bp-contact-v015a
.bp15-contact-hero
.bp15-kicker{
  display:inline-flex !important;

  align-items:center !important;

  min-height:25px !important;

  margin:
    0
    0
    16px !important;

  padding:
    0
    9px !important;

  background:#eff9f4 !important;

  border:
    1px solid #d6ede2 !important;

  border-radius:5px !important;

  color:#07875f !important;

  font-size:10.5px !important;

  line-height:1 !important;

  font-weight:600 !important;

  letter-spacing:.07em !important;

  text-transform:uppercase !important;
}


body.bp-contact-v015a
.bp15-contact-hero
h1,
body.bp-contact-v015a
.bp15-contact-hero
h2{
  max-width:850px !important;

  margin:
    0
    auto !important;

  color:#0d2030 !important;

  font-size:
    clamp(
      44px,
      4.5vw,
      60px
    ) !important;

  line-height:1.04 !important;

  font-weight:600 !important;

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


body.bp-contact-v015a
.bp15-contact-hero
p{
  max-width:700px !important;

  margin:
    17px
    auto
    0 !important;

  color:#607069 !important;

  font-size:15px !important;

  line-height:1.72 !important;
}


/* ========================================================
   REACH THE RIGHT TEAM
======================================================== */

body.bp-contact-v015a
.bp15-team-section{
  padding:
    78px
    0
    88px !important;

  background:#fff !important;
}


body.bp-contact-v015a
.bp15-team-head{
  width:
    min(
      1180px,
      calc(100% - 56px)
    ) !important;

  margin:
    0
    auto
    30px !important;
}


body.bp-contact-v015a
.bp15-team-head
h2{
  margin:0 !important;

  color:#0d2030 !important;

  font-size:36px !important;

  line-height:1.08 !important;

  font-weight:600 !important;

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


body.bp-contact-v015a
.bp15-team-head
p{
  max-width:680px !important;

  margin:
    10px
    0
    0 !important;

  color:#64736c !important;

  font-size:14px !important;

  line-height:1.68 !important;
}


/* ========================================================
   TEAM GRID
======================================================== */

body.bp-contact-v015a
.bp15-team-grid{
  display:grid !important;

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

  gap:20px !important;

  width:
    min(
      1180px,
      calc(100% - 56px)
    ) !important;

  margin:
    0
    auto !important;

  align-items:stretch !important;
}


/* ========================================================
   TEAM CARD
======================================================== */

body.bp-contact-v015a
.bp15-team-card{
  position:relative !important;

  display:flex !important;

  flex-direction:column !important;

  min-height:242px !important;

  padding:
    25px
    24px
    23px !important;

  background:#fff !important;

  border:
    1px solid #dce5e0 !important;

  border-radius:12px !important;

  box-shadow:
    0
    8px
    26px
    rgba(20,44,32,.035) !important;

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}


body.bp-contact-v015a
.bp15-team-card:hover{
  transform:translateY(-3px) !important;

  border-color:#acd9c5 !important;

  box-shadow:
    0
    16px
    38px
    rgba(20,44,32,.06) !important;
}


/* ========================================================
   TEAM ICON
======================================================== */

body.bp-contact-v015a
.bp15-team-icon{
  width:46px !important;
  height:46px !important;

  min-width:46px !important;
  min-height:46px !important;

  display:grid !important;

  place-items:center !important;

  margin:
    0
    0
    16px !important;

  padding:0 !important;

  background:#eaf8f2 !important;

  border:
    1px solid #d8eee4 !important;

  border-radius:10px !important;

  color:#078f65 !important;
}


body.bp-contact-v015a
.bp15-team-icon
svg{
  width:23px !important;
  height:23px !important;

  display:block !important;

  stroke:currentColor !important;

  fill:none !important;

  stroke-width:1.8 !important;

  stroke-linecap:round !important;

  stroke-linejoin:round !important;
}


/* ========================================================
   TEAM CARD COPY
======================================================== */

body.bp-contact-v015a
.bp15-team-card
h3{
  margin:
    0
    0
    9px !important;

  color:#102332 !important;

  font-size:19px !important;

  line-height:1.3 !important;

  font-weight:600 !important;

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


body.bp-contact-v015a
.bp15-team-card
p{
  margin:
    0
    0
    20px !important;

  color:#617069 !important;

  font-size:13.5px !important;

  line-height:1.68 !important;
}


body.bp-contact-v015a
.bp15-team-card
a{
  display:inline-flex !important;

  align-items:center !important;

  width:max-content !important;

  margin-top:auto !important;

  color:#078b62 !important;

  font-size:12.5px !important;

  line-height:1.4 !important;

  font-weight:600 !important;

  text-decoration:none !important;
}


body.bp-contact-v015a
.bp15-team-card
a:hover{
  text-decoration:underline !important;

  text-underline-offset:4px !important;
}


/* ========================================================
   HELPFUL INFO SECTION
======================================================== */

body.bp-contact-v015a
.bp15-help-section{
  padding:
    82px
    0
    88px !important;

  background:#f4fbf8 !important;

  border-top:
    1px solid #e2ebe6 !important;

  border-bottom:
    1px solid #e2ebe6 !important;
}


body.bp-contact-v015a
.bp15-help-inner{
  display:grid !important;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(0,1.1fr) !important;

  gap:72px !important;

  width:
    min(
      1180px,
      calc(100% - 56px)
    ) !important;

  margin:
    0
    auto !important;

  align-items:start !important;
}


body.bp-contact-v015a
.bp15-help-copy
.bp15-kicker{
  display:inline-flex !important;

  align-items:center !important;

  min-height:25px !important;

  margin:
    0
    0
    14px !important;

  padding:
    0
    9px !important;

  background:#ffffff !important;

  border:
    1px solid #cfe9dc !important;

  border-radius:5px !important;

  color:#07875f !important;

  font-size:10.5px !important;

  line-height:1 !important;

  font-weight:600 !important;

  letter-spacing:.07em !important;

  text-transform:uppercase !important;
}


body.bp-contact-v015a
.bp15-help-copy
h2{
  max-width:520px !important;

  margin:0 !important;

  color:#0d2030 !important;

  font-size:38px !important;

  line-height:1.08 !important;

  font-weight:600 !important;

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


body.bp-contact-v015a
.bp15-help-copy
p{
  max-width:500px !important;

  margin:
    14px
    0
    0 !important;

  color:#617069 !important;

  font-size:14px !important;

  line-height:1.72 !important;
}


/* ========================================================
   HELP STEPS
======================================================== */

body.bp-contact-v015a
.bp15-help-list{
  display:flex !important;

  flex-direction:column !important;

  width:100% !important;
}


body.bp-contact-v015a
.bp15-help-step{
  display:grid !important;

  grid-template-columns:
    44px
    minmax(0,1fr) !important;

  column-gap:16px !important;

  padding:
    20px
    0 !important;

  border-top:
    1px solid #d8e6df !important;
}


body.bp-contact-v015a
.bp15-help-step:last-child{
  border-bottom:
    1px solid #d8e6df !important;
}


body.bp-contact-v015a
.bp15-step-number{
  width:38px !important;
  height:38px !important;

  display:grid !important;

  place-items:center !important;

  background:#ffffff !important;

  border:
    1px solid #cfe8dc !important;

  border-radius:6px !important;

  color:#07875f !important;

  font-size:11px !important;

  line-height:1 !important;

  font-weight:600 !important;
}


body.bp-contact-v015a
.bp15-help-step
strong{
  display:block !important;

  margin:
    0
    0
    5px !important;

  color:#102332 !important;

  font-size:15px !important;

  line-height:1.4 !important;

  font-weight:600 !important;
}


body.bp-contact-v015a
.bp15-help-step
p{
  margin:0 !important;

  color:#627169 !important;

  font-size:12.5px !important;

  line-height:1.65 !important;
}


/* ========================================================
   BOTTOM CTA — FULL WIDTH, HOMEPAGE STYLE
======================================================== */

body.bp-contact-v015a
.bp15-final-cta{
  width:100% !important;

  max-width:none !important;

  margin:0 !important;

  padding:0 !important;

  background:#eaf9f4 !important;

  border-top:
    1px solid #d4e9df !important;

  border-bottom:0 !important;
}


body.bp-contact-v015a
.bp15-final-cta
.bp15-final-wrap{
  width:100% !important;

  max-width:none !important;

  margin:0 !important;

  padding:
    0 !important;
}


body.bp-contact-v015a
.bp15-final-cta
.bp15-final-grid{
  box-sizing:border-box !important;

  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    auto !important;

  column-gap:48px !important;

  align-items:center !important;

  width:100% !important;

  max-width:none !important;

  margin:0 !important;

  padding-top:34px !important;

  padding-bottom:34px !important;

  padding-left:
    max(
      32px,
      calc((100% - 1180px)/2 + 32px)
    ) !important;

  padding-right:
    max(
      32px,
      calc((100% - 1180px)/2 + 32px)
    ) !important;

  border-radius:0 !important;
}


body.bp-contact-v015a
.bp15-final-copy
h2,
body.bp-contact-v015a
.bp15-final-copy
h3{
  margin:0 !important;

  color:#0d2030 !important;

  font-size:24px !important;

  line-height:1.12 !important;

  font-weight:600 !important;

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


body.bp-contact-v015a
.bp15-final-copy
p{
  margin:
    9px
    0
    0 !important;

  color:#617069 !important;

  font-size:13.5px !important;

  line-height:1.6 !important;
}


body.bp-contact-v015a
.bp15-final-actions{
  display:flex !important;

  align-items:center !important;

  justify-content:flex-end !important;

  gap:12px !important;

  margin:0 !important;
}


body.bp-contact-v015a
.bp15-final-actions
a,
body.bp-contact-v015a
.bp15-final-actions
button{
  display:inline-flex !important;

  align-items:center !important;

  justify-content:center !important;

  min-height:42px !important;

  padding:
    0
    18px !important;

  font-size:12px !important;

  line-height:1 !important;

  font-weight:600 !important;

  letter-spacing:0 !important;

  text-decoration:none !important;
}


/* ========================================================
   CTA TO FOOTER = ZERO GAP
======================================================== */

body.bp-contact-v015a
.bp15-final-cta{
  margin-bottom:0 !important;

  padding-bottom:0 !important;
}


body.bp-contact-v015a
.bp15-final-cta + footer,
body.bp-contact-v015a
footer{
  margin-top:0 !important;
}


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

@media(max-width:760px){

  body.bp-contact-v015a
  .bp15-contact-hero{
    padding:
      60px
      0
      54px !important;
  }


  body.bp-contact-v015a
  .bp15-contact-hero
  h1,
  body.bp-contact-v015a
  .bp15-contact-hero
  h2{
    font-size:36px !important;
  }


  body.bp-contact-v015a
  .bp15-team-grid{
    grid-template-columns:
      1fr !important;

    width:
      calc(100% - 34px) !important;
  }


  body.bp-contact-v015a
  .bp15-team-head{
    width:
      calc(100% - 34px) !important;
  }


  body.bp-contact-v015a
  .bp15-help-inner{
    grid-template-columns:
      1fr !important;

    gap:38px !important;

    width:
      calc(100% - 34px) !important;
  }


  body.bp-contact-v015a
  .bp15-help-copy
  h2{
    font-size:31px !important;
  }


  body.bp-contact-v015a
  .bp15-final-cta
  .bp15-final-grid{
    grid-template-columns:
      1fr !important;

    row-gap:20px !important;

    padding:
      28px
      20px !important;
  }


  body.bp-contact-v015a
  .bp15-final-actions{
    justify-content:flex-start !important;

    flex-wrap:wrap !important;
  }

}

