/** Shopify CDN: Minification failed

Line 502:0 Unexpected "}"

**/
/* ==========================================================
   CW CONTACT
   ========================================================== */

:root{
  --cwcontact-bg:#f8f9fb;
  --cwcontact-card:#ffffff;
  --cwcontact-border:#c9c9c9;
  --cwcontact-text:#0e1c3d;
  --cwcontact-muted:#596886;
  --cwcontact-primary:#0e1c3d;
  --cwcontact-primary-dark:#08152d;
  --cwcontact-radius:22px;
  --cwcontact-shadow:0 18px 50px rgba(14,28,61,.08);
  --cwcontact-width:1280px;
}

.cwcontact{
  background:var(--cwcontact-bg);
  color:var(--cwcontact-text);
}

.cwcontact .page-width{
  max-width:var(--cwcontact-width);
  margin:auto;
  padding:0 24px;
}

/* ==========================================================
   HERO
   ========================================================== */

.cwcontact-hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cwcontact-hero-image{
  position:absolute;
  inset:0;
}

.cwcontact-hero-bg{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cwcontact-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      #c9c9c9
      #ffffff
    );
}

.cwcontact-hero-content{
  position:relative;
  z-index:2;
  color:#fff;
  max-width:760px;
  text-align:center;
  padding:120px 0;
}

.cwcontact-eyebrow{
  display:inline-block;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.82rem;
  font-weight:700;
  color:#d8e7ff;
  margin-bottom:22px;
}

.cwcontact-hero h1{
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:1.05;
  margin:0 0 24px;
  color:#fff;
}

.cwcontact-hero p{
  font-size:1.18rem;
  line-height:1.8;
  color:#edf3ff;
}

/* ==========================================================
   MAIN
   ========================================================== */

.cwcontact-main{
  margin-top:-90px;
  position:relative;
  z-index:10;
  padding-bottom:90px;
}

.cwcontact-grid{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:40px;
}

.cwcontact-card{
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.45);
  border-radius:var(--cwcontact-radius);
  padding:42px;
  box-shadow:var(--cwcontact-shadow);
}

.cwcontact-card h2{
  margin:0 0 14px;
  font-size:2rem;
}

.cwcontact-intro{
  color:var(--cwcontact-muted);
  line-height:1.8;
  margin-bottom:40px;
}

/* ==========================================================
   CONTACT ITEMS
   ========================================================== */

.cwcontact-item{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin-bottom:34px;
}

.cwcontact-icon{
  width:60px;
  height:60px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(
      135deg, #596886,#c9c9c9
  );
  color:#fff;
  font-size:1.3rem;
  flex-shrink:0;
}

.cwcontact-item strong{
  display:block;
  margin-bottom:6px;
  font-size:1rem;
}

.cwcontact-item p{
  margin:0;
  color:var(--cwcontact-muted);
  line-height:1.7;
}

/* ==========================================================
   FORM
   ========================================================== */

.cwcontact-field{
  margin-bottom:24px;
}

.cwcontact-field label{
  display:block;
  margin-bottom:10px;
  font-weight:600;
  color:var(--cwcontact-text);
}

.cwcontact-field input,
.cwcontact-field textarea{
  width:100%;
  border:1px solid var(--cwcontact-border);
  border-radius:14px;
  background:#fff;
  padding:16px 18px;
  font-size:1rem;
  transition:.25s;
  font-family:inherit;
}

.cwcontact-field textarea{
  resize:vertical;
  min-height:180px;
}

.cwcontact-field input:focus,
.cwcontact-field textarea:focus{
  outline:none;
  border-color:var(--cwcontact-primary);
  box-shadow:0 0 0 4px rgba(13,91,215,.12);
}

.cwcontact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 34px;
  border:none;
  border-radius:999px;
  background:linear-gradient(
      135deg,
      var(--cwcontact-primary),
      #3f89ff
  );
  color:#fff;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
  transition:.3s;
}

.cwcontact-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(13,91,215,.25);
}

.cwcontact-success{
  background:#edf9ef;
  border:1px solid #b6e1bc;
  color:#28753a;
  padding:18px;
  border-radius:14px;
  margin-bottom:24px;
}

.errors,
.form__message{
  margin-bottom:24px;
}
/* ==========================================================
   SECTION HEADINGS
   ========================================================== */

.cwcontact-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 70px;
}

.cwcontact-heading span{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.82rem;
  font-weight:700;
  color:var(--cwcontact-primary);
  margin-bottom:18px;
}

.cwcontact-heading h2{
  margin:0 0 20px;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.15;
}

.cwcontact-heading p{
  color:var(--cwcontact-muted);
  font-size:1.08rem;
  line-height:1.8;
}


/* ==========================================================
   FEATURES
   ========================================================== */

.cwcontact-features{
  padding:110px 0;
}

.cwcontact-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}

.cwcontact-feature{
  background:#fff;
  border:1px solid var(--cwcontact-border);
  border-radius:22px;
  padding:42px;
  text-align:center;
  transition:.35s;
  box-shadow:0 8px 30px rgba(15,35,75,.05);
}

.cwcontact-feature:hover{
  transform:translateY(-10px);
  box-shadow:0 22px 45px rgba(15,35,75,.10);
}

.cwcontact-feature-icon{
  width:82px;
  height:82px;
  margin:0 auto 28px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  background:linear-gradient(
      135deg,
      var(--cwcontact-primary),
      #4c8fff
  );
  color:#fff;
}

.cwcontact-feature h3{
  margin:0 0 14px;
  font-size:1.45rem;
}

.cwcontact-feature p{
  margin:0;
  color:var(--cwcontact-muted);
  line-height:1.8;
}


/* ==========================================================
   MAP
   ========================================================== */

.cwcontact-map{
  padding:110px 0;
}

.cwcontact-map-wrapper{
  overflow:hidden;
  border-radius:24px;
  box-shadow:var(--cwcontact-shadow);
  border:1px solid var(--cwcontact-border);
}

.cwcontact-map-wrapper iframe{
  display:block;
  width:100%;
  min-height:500px;
  border:0;
}


/* ==========================================================
   FAQ
   ========================================================== */

.cwcontact-faq{
  padding:110px 0;
}

.cwcontact-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}

.cwcontact-faq-item{
  background:#fff;
  border-radius:22px;
  border:1px solid var(--cwcontact-border);
  padding:34px;
  transition:.3s;
  box-shadow:0 8px 28px rgba(15,35,75,.05);
}

.cwcontact-faq-item:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(15,35,75,.10);
}

.cwcontact-faq-item h3{
  margin:0 0 16px;
  font-size:1.35rem;
}

.cwcontact-faq-item p{
  margin:0;
  color:var(--cwcontact-muted);
  line-height:1.8;
}


/* ==========================================================
   CTA
   ========================================================== */

.cwcontact-cta{
  padding:120px 0;
}

.cwcontact-cta-card{
  position:relative;
  overflow:hidden;
  padding:90px 70px;
  text-align:center;
  border-radius:30px;
  color:#fff;

  background:
    linear-gradient(
      135deg,
      #0e1c3d 0%,
      #1d315d 55%,
      #596886 100%
    );

  border:1px solid rgba(255,255,255,.08);

  box-shadow:
    0 30px 70px rgba(14,28,61,.18);
}

.cwcontact-cta-card::before{
  content:"";
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at top right,
      rgba(255,255,255,.18),
      transparent 38%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(255,255,255,.08),
      transparent 45%
    );

  pointer-events:none;
}

.cwcontact-cta-card>*{
  position:relative;
  z-index:2;
}

.cwcontact-cta-card span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.82rem;
  font-weight:700;
  color:#d9e3f2;
  margin-bottom:20px;
}

.cwcontact-cta-card h2{
  margin:0 auto 26px;
  max-width:760px;
  font-size:clamp(2.6rem,5vw,4rem);
  line-height:1.08;
  font-weight:700;
  color:#fff;
}

.cwcontact-cta-card p{
  max-width:700px;
  margin:0 auto 44px;
  line-height:1.85;
  color:rgba(255,255,255,.88);
  font-size:1.05rem;
}

.cwcontact-cta-card .cwcontact-btn{
  background:#ffffff;
  color:#0e1c3d;
  border:2px solid transparent;
  padding:18px 38px;
  font-weight:700;
  transition:all .3s ease;
}

.cwcontact-cta-card .cwcontact-btn:hover{
  background:transparent;
  color:#fff;
  border-color:#fff;
  transform:translateY(-4px);
}
}
.cwcontact-cta-card::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.05;

  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);

  background-size:32px 32px;

  pointer-events:none;
}

.cwcontact-cta-card>*{
  position:relative;
  z-index:2;
}

.cwcontact-cta-card span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.82rem;
  font-weight:700;
  color:#d7e7ff;
  margin-bottom:18px;
}

.cwcontact-cta-card h2{
  margin:0 auto 24px;
  max-width:760px;
  font-size:clamp(2.2rem,5vw,3.8rem);
  line-height:1.1;
}

.cwcontact-cta-card p{
  max-width:700px;
  margin:0 auto 40px;
  line-height:1.9;
  color:#eef4ff;
}

.cwcontact-cta-card .cwcontact-btn{
  background:#fff;
  color:var(--cwcontact-primary);
}

.cwcontact-cta-card .cwcontact-btn:hover{
  background:#f5f8ff;
}


/* ==========================================================
   ANIMATIONS
   ========================================================== */

.cwcontact-card,
.cwcontact-feature,
.cwcontact-faq-item,
.cwcontact-map-wrapper,
.cwcontact-cta-card{
  transition:
      transform .35s ease,
      box-shadow .35s ease;
}

.cwcontact-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px rgba(15,35,75,.10);
}
/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1200px){

  .cwcontact-grid{
    grid-template-columns:340px 1fr;
    gap:30px;
  }

  .cwcontact-card{
    padding:34px;
  }

  .cwcontact-cta-card{
    padding:70px 50px;
  }

}

@media (max-width: 990px){

  .cwcontact-hero{
    min-height:480px;
  }

  .cwcontact-hero-content{
    padding:90px 0;
  }

  .cwcontact-grid{
    grid-template-columns:1fr;
  }

  .cwcontact-feature-grid{
    grid-template-columns:1fr;
  }

  .cwcontact-faq-grid{
    grid-template-columns:1fr;
  }

  .cwcontact-heading{
    margin-bottom:50px;
  }

}

@media (max-width: 749px){

  .cwcontact .page-width{
    padding:0 18px;
  }

  .cwcontact-hero{
    min-height:420px;
  }

  .cwcontact-hero-content{
    padding:80px 0 70px;
  }

  .cwcontact-hero h1{
    font-size:2.4rem;
    line-height:1.1;
  }

  .cwcontact-hero p{
    font-size:1rem;
    line-height:1.7;
  }

  .cwcontact-main{
    margin-top:-50px;
    padding-bottom:70px;
  }

  .cwcontact-card{
    padding:28px;
    border-radius:18px;
  }

  .cwcontact-card h2{
    font-size:1.7rem;
  }

  .cwcontact-item{
    gap:14px;
    margin-bottom:24px;
  }

  .cwcontact-icon{
    width:52px;
    height:52px;
    font-size:1.1rem;
    border-radius:16px;
  }

  .cwcontact-field input,
  .cwcontact-field textarea{
    padding:15px;
    font-size:16px; /* Prevents iOS zoom */
  }

  .cwcontact-btn{
    width:100%;
    justify-content:center;
    padding:16px 24px;
  }

  .cwcontact-feature{
    padding:30px 24px;
  }

  .cwcontact-feature-icon{
    width:68px;
    height:68px;
    font-size:1.7rem;
    margin-bottom:22px;
  }

  .cwcontact-feature h3{
    font-size:1.3rem;
  }

  .cwcontact-map{
    padding:80px 0;
  }

  .cwcontact-map-wrapper{
    border-radius:18px;
  }

  .cwcontact-map-wrapper iframe{
    min-height:340px;
  }

  .cwcontact-faq{
    padding:80px 0;
  }

  .cwcontact-faq-item{
    padding:26px;
  }

  .cwcontact-faq-item h3{
    font-size:1.2rem;
  }

  .cwcontact-cta{
    padding:80px 0;
  }

  .cwcontact-cta-card{
    padding:50px 28px;
    border-radius:22px;
  }

  .cwcontact-cta-card h2{
    font-size:2rem;
  }

  .cwcontact-cta-card p{
    font-size:1rem;
  }

}

@media (max-width: 480px){

  .cwcontact-hero{
    min-height:380px;
  }

  .cwcontact-hero h1{
    font-size:2rem;
  }

  .cwcontact-eyebrow{
    font-size:.72rem;
    letter-spacing:.14em;
  }

  .cwcontact-heading span{
    font-size:.72rem;
  }

  .cwcontact-heading h2{
    font-size:1.8rem;
  }

  .cwcontact-card{
    padding:22px;
  }

  .cwcontact-feature{
    padding:24px 20px;
  }

  .cwcontact-faq-item{
    padding:22px;
  }

  .cwcontact-cta-card{
    padding:42px 22px;
  }

  .cwcontact-cta-card h2{
    font-size:1.75rem;
  }

}
.cwcontact-faq-answer p{
  margin:0;
  color:var(--cwcontact-muted);
  line-height:1.8;
}

.cwcontact-faq-answer strong{
  color:var(--cwcontact-text);
}

.cwcontact-faq-answer ul,
.cwcontact-faq-answer ol{
  margin:15px 0;
  padding-left:20px;
}

.cwcontact-faq-answer li{
  margin-bottom:8px;
}