/* NextGen Wizards v10.3.5 — client-directed layout and social improvements */
/* Full-bleed themed stages: remove unwanted left/right gutters on home strategy & solution. */
@media (min-width:761px) {
  #ngw-home .ngw-fg-strategy-stage,
  #ngw-home .ngw-fg-solution-stage { width:100% !important; max-width:none !important; margin-inline:0 !important; }
  #ngw-home .ngw-fg-strategy,#ngw-home .ngw-fg-solution { padding-inline:0!important; margin-inline:0!important; }
}
@media (max-width:760px) {
  #ngw-home .ngw-fg-strategy-stage,
  #ngw-home .ngw-fg-solution-stage { max-width:none!important; width:100%!important; margin-inline:0!important; }
}
/* Ensure each four-step row actually has four evenly-sized cards on desktop. */
@media(min-width:1040px){
  #ngw-home .vtx-logic-grid,
  #ngw-home .vtx-pricing-process,
  #ngw-home .vtx-about-connect-grid,
  #ngw-home .vtx-team-rhythm,
  #ngw-home .vtx-process-grid,
  #ngw-home .vtx-four-grid,
  #ngw-home .ngw-roster-difference-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
/* Avoid horizontal overflow while retaining accessible 2-column tablet/1-column phone layout. */
@media(min-width:681px) and (max-width:1039px){
  #ngw-home .vtx-logic-grid,#ngw-home .vtx-pricing-process,#ngw-home .vtx-about-connect-grid,
  #ngw-home .vtx-team-rhythm {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  #ngw-home .vtx-logic-grid,#ngw-home .vtx-pricing-process,#ngw-home .vtx-about-connect-grid,
  #ngw-home .vtx-team-rhythm{grid-template-columns:1fr!important;}
}
#ngw-home .vtx-logic-grid > *,#ngw-home .vtx-process-grid > *,#ngw-home .vtx-four-grid > * {min-width:0;}
/* A single centered appointment page: title, description, then full-width live calendar. */
#ngw-home .ngw-appointment-content {background:linear-gradient(135deg,#100039 0%,#260763 58%,#160146 100%);padding:clamp(42px,6vw,80px) 0 clamp(50px,7vw,90px);}
#ngw-home .ngw-appointment-content .vtx-shell{max-width:1160px;margin:auto;}
#ngw-home .ngw-appointment-heading {text-align:center;max-width:880px;margin:0 auto clamp(30px,4.2vw,52px);}
#ngw-home .ngw-appointment-heading .vtx-kicker{display:block;color:#d7a7ff;margin-bottom:14px;}
#ngw-home .ngw-appointment-heading h1{color:#fff;margin:0;font-size:clamp(31px,4.4vw,58px);line-height:1.16;letter-spacing:-.035em;}
#ngw-home .ngw-appointment-heading h1 span{color:#cb86f8;}
#ngw-home .ngw-appointment-heading p{color:#e0d7f7;font-size:clamp(14px,1.5vw,17px);line-height:1.65;margin:18px auto 0;max-width:690px;}
/* Booking widget: a form-fitting dark frame with no white padded card.
   GHL's cross-origin calendar adds blank space inside its iframe. Visually trim
   that whitespace without touching the calendar URL or appointment controls. */
#ngw-home .ngw-appointment-form{
  --ngw-booking-trim-top:58px;
  --ngw-booking-trim-bottom:20px;
  min-height:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:#1c084f;
  box-shadow:0 28px 70px rgba(6,0,29,.32);
}
#ngw-home .ngw-appointment-form iframe{
  display:block;
  width:100%;
  max-width:100%;
  min-height:600px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  margin-top:calc(-1 * var(--ngw-booking-trim-top));
  margin-bottom:calc(-1 * var(--ngw-booking-trim-bottom));
}
@media(max-width:600px){
  #ngw-home .ngw-appointment-form{
    --ngw-booking-trim-top:24px;
    --ngw-booking-trim-bottom:12px;
    border-radius:9px;
    min-height:0;
    padding:0;
  }
  #ngw-home .ngw-appointment-form iframe{min-height:630px;}
}
/* Consistent image cropping for page-specific subject matter photographs. */
#ngw-home .vtx-page-hero-image img,#ngw-home .vtx-media-stack img,
#ngw-home .vtx-service-card img{object-fit:cover;object-position:center;}
#ngw-home .vtx-service-card img{width:100%;}
/* Real SVG social icons, strong contrast, distinct social affordance. */
#ngw-home .ngw-home-socials,#ngw-home .ngw-social-links-inner{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap;}
#ngw-home .ngw-home-socials a,#ngw-home .ngw-social-links-inner a {
 display:grid!important;place-items:center!important;width:46px!important;height:46px!important;
 border:1px solid rgba(197,153,255,.42)!important;border-radius:12px!important;
 background:#25105a!important;color:#f4eaff!important;text-decoration:none!important;
 transition:transform .2s,background-color .2s;}
#ngw-home .ngw-home-socials a:hover,#ngw-home .ngw-social-links-inner a:hover{background:#7439c9!important;transform:translateY(-2px);}
#ngw-home .ngw-home-socials a svg,#ngw-home .ngw-social-links-inner a svg{width:23px!important;height:23px!important;fill:currentColor;display:block;}
#ngw-home .ngw-social-links-inner{margin-top:20px;}
#ngw-home .ngw-member-photo img{object-fit:cover;object-position:center 32%;}
/* Additional four-item rows shared by the About and Our Team pages. */
@media(min-width:1040px){
  #ngw-home .vtx-team-grid,
  #ngw-home .ngw-roster-values {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(min-width:681px) and (max-width:1039px){
  #ngw-home .vtx-team-grid,
  #ngw-home .ngw-roster-values {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  #ngw-home .vtx-team-grid,
  #ngw-home .ngw-roster-values {grid-template-columns:1fr!important;}
}

/* v10.3.7: unified five-icon social bar on all site footers, including standalone pages. */
#ngw-home .ngw-home-socials,
#ngw-home .ngw-social-links-inner {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important;}
#ngw-home .ngw-home-socials a.ngw-social-link,
#ngw-home .ngw-social-links-inner a.ngw-social-link {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:9px!important;border:1px solid rgba(170,113,221,.45)!important;
  border-radius:12px!important;background:#2c115c!important;color:#f9f4ff!important;
  box-shadow:0 4px 12px rgba(39,6,80,.10)!important;text-decoration:none!important;
  line-height:1!important;transition:transform .18s ease,background .18s ease!important;
}
#ngw-home .ngw-home-socials a.ngw-social-link svg,
#ngw-home .ngw-social-links-inner a.ngw-social-link svg {
  display:block!important;flex:none!important;width:23px!important;height:23px!important;
  fill:currentColor!important;stroke-linecap:round;stroke-linejoin:round;
}
#ngw-home .ngw-home-socials a.ngw-social-link:hover,
#ngw-home .ngw-home-socials a.ngw-social-link:focus-visible{background:#7645bc!important;transform:translateY(-2px);}
#ngw-home .ngw-home-socials a.ngw-social-link:focus-visible{outline:3px solid #b98afd;outline-offset:3px;}
#ngw-home .ngw-dental-socials{margin-top:16px!important;}
#ngw-home .ngw-campaign-social-wrap {display:flex;justify-content:center;padding:16px 20px 20px;background:#0e0634;}
#ngw-home .ngw-campaign-socials{justify-content:center!important;margin:0!important;}
@media (max-width:400px){#ngw-home .ngw-home-socials,#ngw-home .ngw-social-links-inner{gap:7px!important;}
#ngw-home .ngw-home-socials a.ngw-social-link{width:41px!important;height:41px!important;min-width:41px!important;min-height:41px!important;}}
