/* Texas Med Spa Directors - interaction layer
   Motion is transform/box-shadow/colour only. Nothing here animates
   width, height, margin or padding, so no hover state can reflow. */

:root{
  --tx-teal:#002868; --tx-teal-dark:#001b47; --tx-navy:#002868; --tx-accent:#BF0A30;
  --tx-line:#D8DEE7; --tx-rest-shadow:0 1px 2px rgba(0,40,104,.04);
  --tx-hover-shadow:0 12px 28px rgba(0,40,104,.10);
}

/* ---------------------------------------------------------- buttons */
.et_pb_button, a.tx-btn, .hs-button, .hs-form input[type=submit]{
  background-color:var(--tx-accent) !important;
  border-radius:4px !important;
  transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
  will-change:transform;
}
.et_pb_button:hover, a.tx-btn:hover, .hs-button:hover,
.hs-form input[type=submit]:hover{
  background-color:#9d0827 !important;
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(0,40,104,.35);
}
.et_pb_button:active, a.tx-btn:active, .hs-button:active,
.hs-form input[type=submit]:active{
  transform:translateY(0);
  box-shadow:none;
}
.et_pb_button:focus-visible, a.tx-btn:focus-visible, .hs-button:focus-visible,
.hs-form input[type=submit]:focus-visible, a:focus-visible, button:focus-visible{
  outline:2px solid var(--tx-navy);
  outline-offset:2px;
}
/* Divi appends a glyph on button hover which shifts the label; suppress it */
.et_pb_button:after{transition:none !important}

/* ------------------------------------------------ cards and surfaces */
.tx-card{
  border:1px solid var(--tx-line);
  box-shadow:var(--tx-rest-shadow);
  transition:transform .2s ease, box-shadow .2s ease;
  will-change:transform;
}
.tx-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--tx-hover-shadow);
}
.tx-card img, .tx-card .et_pb_image_wrap{overflow:hidden}
.tx-card img{transition:transform .2s ease; will-change:transform}
.tx-card:hover img{transform:scale(1.03)}

/* --------------------------------------------------- links and nav */
.et_pb_text a:not(.et_pb_button):not(.tx-btn),
.et_pb_post_content a:not(.et_pb_button):not(.tx-btn){
  color:var(--tx-teal);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:text-decoration-thickness .18s ease, color .18s ease;
}
.et_pb_text a:not(.et_pb_button):not(.tx-btn):hover,
.et_pb_post_content a:not(.et_pb_button):not(.tx-btn):hover{
  text-decoration-thickness:2px;
  color:var(--tx-teal-dark);
}
.tx-nav a.tx-link, .tx-parent>a{position:relative}
.tx-nav a.tx-link::after, .tx-parent>a::after{
  content:""; position:absolute; left:0; bottom:-6px;
  height:2px; width:100%; background:var(--tx-accent);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .2s ease;
}
.tx-nav a.tx-link:hover::after, .tx-nav a.tx-link:focus-visible::after,
.tx-parent:hover>a::after, .tx-parent:focus-within>a::after{transform:scaleX(1)}
@media (max-width:900px){
  .tx-nav a.tx-link::after, .tx-parent>a::after{display:none}
}

/* ------------------------------------------------------------ form */
.hs-form input[type=text], .hs-form input[type=email], .hs-form input[type=tel],
.hs-form input[type=number], .hs-form textarea, .hs-form select{
  border:1px solid var(--tx-line) !important;
  border-radius:4px !important;
  padding:11px 12px !important;
  font-family:Inter,-apple-system,sans-serif !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
.hs-form input[type=text]:focus, .hs-form input[type=email]:focus,
.hs-form input[type=tel]:focus, .hs-form input[type=number]:focus,
.hs-form textarea:focus, .hs-form select:focus{
  border-color:var(--tx-teal) !important;
  box-shadow:0 0 0 3px rgba(0,40,104,.16) !important;
  outline:none !important;
}
.hs-form label{font-family:Inter,-apple-system,sans-serif; font-size:14px}
.hs-form .hs-error-msg{color:#9d0827}

/* ------------------------------------------------------- accordion */
.et_pb_toggle_title{transition:background-color .2s ease}
.et_pb_toggle_title:hover{background-color:rgba(0,40,104,.06)}
.et_pb_toggle_title:before{
  transition:transform .2s ease;
  transform-origin:50% 50%;
}
.et_pb_toggle_open .et_pb_toggle_title:before{transform:rotate(180deg)}

/* ------------------------------------------------- reduced motion */
@media (prefers-reduced-motion:reduce){
  .et_pb_button, a.tx-btn, .hs-button, .tx-card, .tx-card img,
  .tx-nav a.tx-link::after, .tx-parent>a::after,
  .et_pb_toggle_title, .et_pb_toggle_title:before,
  .hs-form input, .hs-form textarea, .hs-form select{
    transition:none !important;
  }
  .et_pb_button:hover, a.tx-btn:hover, .tx-card:hover,
  .tx-card:hover img{transform:none !important}
  .tx-nav a.tx-link:hover::after, .tx-parent:hover>a::after{transform:scaleX(1)}
}

/* ------------------------------------------- anchor offset */
/* scoped to real anchor targets only - the old [id] selector matched
   every element with an id, including SVG nodes inside the map */
#contact, .et_pb_section[id]{scroll-margin-top:120px}
@media (max-width:900px){#contact, .et_pb_section[id]{scroll-margin-top:96px}}

/* the service-areas block owns its own link styling; keep the generic
   body-link rule from reaching inside it (no !important needed) */
.tx-areas .tx-city,
.tx-areas a.tx-city.is-live{text-decoration:none}
.et_pb_text .tx-areas a:not(.et_pb_button):not(.tx-btn){text-decoration:none}

/* ------------------------------------------------------ blog index */
.tx-bloggrid .et_pb_ajax_pagination_container>.et_pb_post,
.tx-bloggrid .et_pb_blog_grid .et_pb_post{
  border:1px solid var(--tx-line);border-radius:10px;overflow:hidden;background:#fff;
  box-shadow:var(--tx-rest-shadow);transition:transform .2s ease,box-shadow .2s ease;
  padding:0 0 20px;margin-bottom:26px}
.tx-bloggrid .et_pb_post:hover{transform:translateY(-4px);box-shadow:var(--tx-hover-shadow)}
.tx-bloggrid .et_pb_image_container{margin:0 0 16px;overflow:hidden}
.tx-bloggrid .et_pb_image_container img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;
  display:block;transition:transform .2s ease}
.tx-bloggrid .et_pb_post:hover .et_pb_image_container img{transform:scale(1.03)}
.tx-bloggrid .entry-title{padding:0 22px;margin:0 0 10px}
.tx-bloggrid .post-meta{padding:0 22px;margin:0 0 10px;font-size:12px}
.tx-bloggrid .post-meta a{color:var(--tx-teal);text-decoration:none;
  border:1px solid var(--tx-line);border-radius:999px;padding:3px 10px;display:inline-block;margin-right:6px}
.tx-bloggrid .post-content{padding:0 22px}
.tx-bloggrid .post-content p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;margin:0 0 12px}
.tx-bloggrid .more-link{display:inline-block;font-weight:600}
/* empty state: with fewer than three posts, go 1-up wide instead of a sparse grid */
body.tx-few-posts .tx-bloggrid .et_pb_salvattore_content .column{width:100%!important;float:none!important;margin:0!important}
body.tx-few-posts .tx-bloggrid .et_pb_post{width:100%!important;margin-right:0!important;
  display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:0 28px;align-items:center;padding-bottom:0}
body.tx-few-posts .tx-bloggrid .et_pb_image_container{margin:0;height:100%}
body.tx-few-posts .tx-bloggrid .et_pb_image_container img{height:100%;aspect-ratio:16/9}
body.tx-few-posts .tx-bloggrid .entry-title,
body.tx-few-posts .tx-bloggrid .post-meta,
body.tx-few-posts .tx-bloggrid .post-content{padding-right:26px}
@media (max-width:900px){
  body.tx-few-posts .tx-bloggrid .et_pb_blog_grid .et_pb_post{grid-template-columns:1fr;gap:0}
  body.tx-few-posts .tx-bloggrid .et_pb_image_container{margin:0 0 16px}
  body.tx-few-posts .tx-bloggrid .entry-title,
  body.tx-few-posts .tx-bloggrid .post-meta,
  body.tx-few-posts .tx-bloggrid .post-content{padding:0 22px}
}
/* pagination hidden when there is only one page */
body.tx-one-page .tx-bloggrid .pagination,
body.tx-one-page .wp-pagenavi{display:none}
.tx-bloggrid .pagination a,.tx-bloggrid .pagination span{border:1px solid var(--tx-line);border-radius:4px;
  padding:7px 13px;color:var(--tx-navy);text-decoration:none;font:600 13px Inter,sans-serif;margin-right:6px}
.tx-bloggrid .pagination a:hover{border-color:var(--tx-teal);color:var(--tx-teal)}
@media (prefers-reduced-motion:reduce){
  .tx-bloggrid .et_pb_post,.tx-bloggrid .et_pb_image_container img{transition:none}
  .tx-bloggrid .et_pb_post:hover{transform:none}
  .tx-bloggrid .et_pb_post:hover .et_pb_image_container img{transform:none}}


/* ===== hoisted Theme Builder chrome (was inline, caused CLS) ===== */
/* hoisted from TB header (23) */
.tx-top{background:#002868;color:#d3ddf0;font:400 13px Inter, -apple-system, Segoe UI, sans-serif;text-align:center;padding:9px 16px}
.tx-top a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);margin-left:8px}
.tx-hdr{background:#fff;position:relative;z-index:1000}
.tx-hdr-in{max-width:1240px;margin:0 auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative}
.tx-logo img{height:42px;width:auto;display:block}
.tx-nav{display:flex;align-items:center;gap:30px}
.tx-nav a.tx-link,.tx-nav a.tx-tel,.tx-parent>a{font:700 14px Inter, -apple-system, Segoe UI, sans-serif;color:#002868;text-decoration:none}
.tx-nav a.tx-link:hover,.tx-nav a.tx-tel:hover,.tx-parent>a:hover{color:#002868}
.tx-btn{background:#002868;color:#fff !important;border-radius:4px;padding:13px 18px;font:700 14px Inter, -apple-system, Segoe UI, sans-serif;text-decoration:none;display:inline-block}
.tx-btn:hover{background:#001b47}
.tx-parent{position:relative}
.tx-parent>a::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:middle;position:relative;top:2px}
.tx-sub{display:none;position:absolute;top:100%;left:-14px;min-width:268px;background:#fff;
  box-shadow:0 14px 32px rgba(0,40,104,.17);border-radius:6px;padding:8px 0;z-index:1001}
.tx-parent:hover .tx-sub,.tx-parent:focus-within .tx-sub{display:block}
.tx-sub a{display:block;padding:11px 20px;font:400 14px Inter, -apple-system, Segoe UI, sans-serif;color:#002868;text-decoration:none;white-space:nowrap}
.tx-sub a:hover,.tx-sub a:focus{color:#002868;background:#f4f6fa}
.tx-sub b{display:block;padding:10px 20px 4px;font:600 11px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8aa0b0}.tx-sub b+a{padding-top:4px}@media (max-width:900px){.tx-sub b{padding-left:40px;background:#edf1f9}}.tx-toggle{display:none}
.tx-burger{display:none;font-size:26px;line-height:1;color:#002868;cursor:pointer;user-select:none}
@media (max-width:900px){
 .tx-burger{display:block}
 .tx-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;
   box-shadow:0 12px 28px rgba(0,40,104,.16);flex-direction:column;align-items:stretch;gap:0;padding:6px 0;z-index:999}
 .tx-toggle:checked ~ .tx-nav{display:flex}
 .tx-nav a.tx-link,.tx-nav a.tx-tel,.tx-parent>a{padding:15px 24px;border-bottom:1px solid #e6eaf2;display:block}
 .tx-parent>a::after{float:right}
 .tx-sub{display:block;position:static;box-shadow:none;border-radius:0;padding:0;min-width:0;background:#f7f9fd}
 .tx-sub a{padding:13px 24px 13px 40px;border-bottom:1px solid #e6eaf2;white-space:normal}
 .tx-btn{margin:12px 24px;text-align:center}
}

/* hoisted from TB footer (24) */
.tx-foot{background:#0a2135;color:#afbed6;padding:50px 24px 0;font:400 14px/1.7 Inter, -apple-system, Segoe UI, sans-serif}
.tx-foot-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;padding-bottom:34px}
.tx-foot h4{font:700 13px Inter, -apple-system, Segoe UI, sans-serif;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.tx-foot p{margin:0;color:#afbed6}
.tx-foot a{color:#afbed6;text-decoration:none}
.tx-foot a:hover{color:#fff}
.tx-foot ul{list-style:none;margin:0;padding:0}
.tx-foot li{margin-bottom:9px}
.tx-foot .tx-flogo{height:40px;width:auto;margin-bottom:14px;display:block}
.tx-reg{max-width:1240px;margin:0 auto;padding:0 0 10px;font-size:12px;color:#afbed6}.tx-reg a{color:#d3ddf0;text-decoration:underline;text-underline-offset:3px}.tx-reg a:hover{color:#fff}.tx-legal{max-width:1240px;margin:0 auto;border-top:1px solid rgba(255,255,255,.13);padding:16px 0 28px;font-size:11px;color:#afbed6}
@media (max-width:900px){.tx-foot-in{grid-template-columns:1fr}}
/* ===== CLS: header/footer chrome sizing, head-loaded =====
   Divi's default .et_pb_row padding (27px top/bottom = 54px) applies
   until the per-page static CSS arrives, collapsing the header and
   shifting the page up ~162px. These rules are deterministic and do
   not depend on Divi's cache being warm. */
.et-l--header .et_pb_section,
.et-l--footer .et_pb_section{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
.et-l--header .et_pb_row,
.et-l--footer .et_pb_row{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;width:100%!important;max-width:100%!important}
.et-l--header .et_pb_column,
.et-l--footer .et_pb_column{margin-bottom:0!important}
/* reserve the header's real height so first paint matches final layout */
.tx-top{min-height:33px;box-sizing:border-box}
.tx-hdr-in{min-height:88px}
@media (max-width:900px){.tx-hdr-in{min-height:72px}}

/* the style-only .tx-css section carries its own collapse rule inline,
   which lands after paint; hoist it so the section is 0-height from the start */
.tx-css,
.tx-css .et_pb_row,
.tx-css .et_pb_column,
.tx-css .et_pb_module{padding:0!important;margin:0!important;min-height:0!important}
.tx-css{display:block!important;height:0!important;overflow:hidden!important}

/* ---------------------------------------- long-form post furniture */
.tx-reviewed{font:500 14px Inter,-apple-system,Segoe UI,sans-serif;color:#5C6B7A;margin:0 0 18px}
.tx-reviewed time{color:#5C6B7A}

.tx-kt{border:1px solid #D8DEE7;border-left:4px solid #002868;border-radius:6px;
  background:#F4F6FA;padding:20px 22px;margin:0 0 26px}
.tx-kt-h{font:700 13px Inter,-apple-system,Segoe UI,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:#002868;margin:0 0 10px}
.tx-kt-list{margin:0;padding-left:20px}
.tx-kt-list li{font:400 16px/1.65 Inter,-apple-system,Segoe UI,sans-serif;color:#1c2530;margin:0 0 8px}
.tx-kt-list li:last-child{margin-bottom:0}

.tx-toc{border:1px solid #D8DEE7;border-radius:6px;padding:18px 20px;margin:0 0 28px;background:#fff;
  position:sticky;top:110px}
.tx-toc-h,.tx-toc-m>summary{font:700 13px Inter,-apple-system,Segoe UI,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:#002868;margin:0 0 10px}
.tx-toc-list{margin:0;padding-left:20px}
.tx-toc-list li{font:400 15px/1.6 Inter,-apple-system,Segoe UI,sans-serif;margin:0 0 7px}
.tx-toc-list a{color:#002868;text-decoration:none;border-bottom:1px solid transparent}
.tx-toc-list a:hover,.tx-toc-list a:focus-visible{border-bottom-color:#002868}
.tx-toc-m{display:none;border:1px solid #D8DEE7;border-radius:6px;padding:14px 16px;margin:0 0 24px;background:#fff}
.tx-toc-m>summary{cursor:pointer;margin:0;list-style:none}
.tx-toc-m>summary::-webkit-details-marker{display:none}
.tx-toc-m>summary::after{content:"+";float:right;font-size:16px;line-height:1}
.tx-toc-m[open]>summary::after{content:"\2212"}
.tx-toc-m[open]>summary{margin:0 0 10px}
@media(max-width:980px){.tx-toc{display:none}.tx-toc-m{display:block}}

.tx-sources{border-top:1px solid #D8DEE7;padding-top:20px;margin:34px 0 0}
.tx-sources-h{font:700 13px Inter,-apple-system,Segoe UI,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:#002868;margin:0 0 10px}
.tx-sources-list{margin:0;padding-left:20px}
.tx-sources-list li{font:400 15px/1.65 Inter,-apple-system,Segoe UI,sans-serif;color:#5C6B7A;margin:0 0 8px}
.tx-sources-list a{color:#002868}
h2[id]{scroll-margin-top:120px}
@media(prefers-reduced-motion:reduce){.tx-toc{position:static}}

/* ---------------------------------------- footer legal + 4-col */

@media(max-width:900px){}
@media(max-width:560px){}





/* ---------------------------------------- legal draft markers */
.tx-eff{color:#5C6B7A;font-size:15px;margin:0 0 18px}
.tx-draft-note{border:2px dashed #BF0A30;border-radius:6px;background:#fff5f6;color:#9D0827;
  padding:14px 16px;margin:0 0 26px;font:600 15px/1.6 Inter,-apple-system,Segoe UI,sans-serif}
.tx-unconfirmed{background:#FFF3B0;box-shadow:0 0 0 2px #FFF3B0;border-bottom:2px solid #BF0A30}

/* ---------------------------------------- Texas requirement callout */
.tx-compliance{border:1px solid #D8DEE7;border-left:4px solid #BF0A30;border-radius:6px;
  background:#F6F2E9;padding:18px 22px;max-width:1160px;margin:0 auto}
.tx-compliance-h{font:700 12px Inter,-apple-system,Segoe UI,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:#BF0A30;margin:0 0 8px}
.tx-compliance p{font:400 15px/1.7 Inter,-apple-system,Segoe UI,sans-serif;color:#122A43;margin:0 0 8px}
.tx-compliance p:last-child{margin-bottom:0}

/* ---------------------------------------- hoisted from home master */

.tx-g1{color:#768793;font-weight:normal}
.tx-g2{display:block;margin:0 0 13px;line-height:0}
.tx-g3{height:32px;width:auto;display:block;fill:#002868}
.tx-g4{color:#5C6B7A;line-height:1.65em;font-weight:normal}
.tx-g5{color:#002868;font-size:13px;font-weight:600}
.tx-g6{font:italic 38px Fraunces, Georgia, serif;color:#BF0A30;margin:0}
.tx-g7{color:#5C6B7A;line-height:1.65em;font-family:Inter, -apple-system, sans-serif}
.tx-g8{font:100px Fraunces, Georgia, serif;color:#002868;line-height:0.4em;margin:0 0 24px 0}
.tx-g9{color:#5C6B7A;line-height:1.7em;font-family:Inter, -apple-system, sans-serif}.tx-citygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;color:#002868;font:600 13px Inter,-apple-system,sans-serif}
@media(max-width:600px){.tx-citygrid{grid-template-columns:1fr 1fr}}
.tx-accent{color:#BF0A30;font-style:italic}

/* ---------------------------------------- hero arch (module settings not honoured on direct shortcode) */
.et_pb_image_0 .et_pb_image_wrap{
  display:block;border-radius:180px 180px 16px 16px;overflow:hidden;
  box-shadow:24px 24px 0 0 #F6F2E9}
.et_pb_image_0 .et_pb_image_wrap img{
  width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:420/500}
@media(max-width:980px){
  .et_pb_image_0{margin-top:32px}
  .et_pb_image_0 .et_pb_image_wrap{border-radius:140px 140px 14px 14px;box-shadow:16px 16px 0 0 #F6F2E9}}
@media(max-width:479px){
  .et_pb_image_0 .et_pb_image_wrap{border-radius:110px 110px 12px 12px;box-shadow:12px 12px 0 0 #F6F2E9}}

/* ================================ tx-button-system ================================
   Divi does not emit custom_button design CSS for shortcodes written directly to
   post_content, so button_text_color / button_bg_color are ignored. Defined here. */
.et_pb_button,
.et_pb_button:visited{
  font-family:Inter,-apple-system,Segoe UI,sans-serif !important;
  font-weight:700 !important;
  font-size:16px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  border-radius:4px !important;
  border:0 !important;
  min-height:48px !important;
  padding:16px 32px !important;
  line-height:1.15 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  transition:background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease !important;
}
/* kill Divi's arrow glyph - it renders as a literal "5" when the icon font is absent */
.et_pb_button:after,
.et_pb_button:before{content:none !important;display:none !important;margin:0 !important;
  opacity:0 !important;width:0 !important}

/* light ground (white / cream) -> red button, white label */
.et_pb_button{background-color:#BF0A30 !important;color:#FFFFFF !important}
.et_pb_button:hover{background-color:#B0092C !important;color:#FFFFFF !important;
  transform:translateY(-2px);box-shadow:0 6px 18px rgba(191,10,48,.30)}
.et_pb_button:active{transform:translateY(0);box-shadow:none}
.et_pb_button:focus-visible{outline:2px solid #002868;outline-offset:2px}

/* navy ground -> white button, navy label */
.et_pb_section[data-tx-ground="navy"] .et_pb_button,
.tx-on-navy .et_pb_button{background-color:#FFFFFF !important;color:#002868 !important}
.et_pb_section[data-tx-ground="navy"] .et_pb_button:hover,
.tx-on-navy .et_pb_button:hover{background-color:#EBEBEB !important;color:#002868 !important;
  box-shadow:0 6px 18px rgba(255,255,255,.30)}
.et_pb_section[data-tx-ground="navy"] .et_pb_button:focus-visible,
.tx-on-navy .et_pb_button:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}

@media(max-width:479px){.et_pb_button{width:100%;padding:16px 24px !important}}
@media(prefers-reduced-motion:reduce){
  .et_pb_button,.et_pb_button:hover{transition:none !important;transform:none !important}}

/* ================================ tx-home-rebuild ================================ */
.tx-card{transition:transform 200ms ease, box-shadow 200ms ease}
.tx-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,40,104,.10)}
.tx-card .et_pb_blurb_content{max-width:none}
.tx-card .et_pb_main_blurb_image{margin-bottom:14px}
.tx-card .et_pb_main_blurb_image .et_pb_image_wrap{display:inline-block}
.tx-cardlink{margin-top:14px}
.tx-cardlink a{color:#BF0A30;font:600 14px Inter,-apple-system,Segoe UI,sans-serif;
  text-decoration:none;letter-spacing:.02em}
.tx-cardlink a:after{content:" \2192";display:inline-block}
.tx-cardlink a:hover{text-decoration:underline}

/* step numerals */
.tx-step .et_pb_blurb_container{position:relative}
.tx-step .et_pb_module_header:before{
  display:block;font:700 34px Fraunces,Georgia,serif;color:#002868;opacity:.25;margin-bottom:6px}
.tx-step-1 .et_pb_module_header:before{content:"1"}
.tx-step-2 .et_pb_module_header:before{content:"2"}
.tx-step-3 .et_pb_module_header:before{content:"3"}
.tx-step-4 .et_pb_module_header:before{content:"4"}

/* image break band */
.tx-band{min-height:320px;display:flex;align-items:center}
@media(max-width:767px){.tx-band{min-height:220px}}

/* coverage */
.tx-metro{font-weight:600}
.tx-metro a{color:#002868;text-decoration:none;border-bottom:1px solid #D8DEE7}
.tx-metro a:hover,.tx-metro a:focus-visible{border-bottom-color:#002868}
.tx-region{color:#5C6B7A;margin-top:8px}

/* faq */
.tx-faq .et_pb_toggle{border:0;border-bottom:1px solid #D8DEE7;border-radius:0;
  padding:20px 0;background:transparent}
.tx-faq .et_pb_toggle_title{padding:0 34px 0 0;font-size:18px}
.tx-faq .et_pb_toggle:hover{background:#F6F2E9}
.tx-faq .et_pb_toggle_title:before{transition:transform 200ms ease;right:0}
.tx-faq .et_pb_toggle_open .et_pb_toggle_title:before{transform:rotate(180deg)}
.tx-faq-card{align-self:flex-start}
.tx-sidelink a,.tx-sidetel a{color:#002868;font-weight:600;text-decoration:none}
.tx-sidelink a:hover,.tx-sidetel a:hover{text-decoration:underline}
.tx-hours{color:#5C6B7A;font-weight:400}
.tx-ctatel a{color:#FFFFFF;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}

/* consultation */
.tx-formrow{align-items:flex-start}
.tx-disc-h{font:700 12px Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;
  color:#002868;margin:0 0 8px}
ul.tx-disc{margin:0;padding-left:20px}
ul.tx-disc li{margin:0 0 6px}
@media(max-width:979px){.tx-faq-card{order:-1}}

/* tx-card-equalise: make_equal levels the column, not the module inside it */
.et_pb_row .et_pb_column > .tx-card{height:100%;display:flex;flex-direction:column}
.tx-card .et_pb_blurb_content{flex:1 1 auto;display:flex;flex-direction:column;width:100%}
.tx-card .et_pb_blurb_container{flex:1 1 auto;display:flex;flex-direction:column}
.tx-card .tx-cardlink{margin-top:auto;padding-top:14px}

/* ================================ tx-navy-ground ================================
   Divi emits no design CSS for shortcodes written directly to post_content, so
   header_2_text_color / text_text_color / icon_color are all inert. Set here. */
.tx-on-navy h1,.tx-on-navy h2,.tx-on-navy h3,.tx-on-navy h4,
.tx-band h1,.tx-band h2,.tx-band h3{color:#FFFFFF !important}
.tx-on-navy p,.tx-on-navy li,.tx-band p{color:#D6DEE7 !important}
.tx-on-navy .et_pb_module_header,
.tx-on-navy .et_pb_blurb_container h4,
.tx-on-navy .et_pb_blurb_container h4 span{color:#FFFFFF !important}
.tx-on-navy .et_pb_blurb_description p{color:#D6DEE7 !important}
.tx-on-navy .et_pb_main_blurb_image .et-pb-icon{color:#FFFFFF !important}
.tx-on-navy a:not(.et_pb_button){color:#FFFFFF !important}
.tx-on-navy .tx-ctatel a{color:#FFFFFF !important;border-bottom:1px solid rgba(255,255,255,.55)}
/* navy ground -> white button, navy label (overrides the light-ground default) */
.tx-on-navy .et_pb_button,
.tx-on-navy .et_pb_button:visited{background-color:#FFFFFF !important;color:#002868 !important}
.tx-on-navy .et_pb_button:hover{background-color:#EBEBEB !important;color:#002868 !important;
  box-shadow:0 6px 18px rgba(255,255,255,.30)}
.tx-on-navy .et_pb_button:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}

/* ================================ tx-footer-native ================================ */
.tx-footer .tx-frow{margin-left:auto !important;margin-right:auto !important}
.tx-footer .et_pb_column{margin-bottom:0}
.tx-footer .et_pb_module{margin-bottom:0}

.tx-flogo-mod .et_pb_image_wrap img{width:190px;height:auto;display:block}
.tx-flogo-mod{text-align:left}
.tx-fabout p{color:#AFBED6 !important;font:400 14px/1.7 Inter,-apple-system,Segoe UI,sans-serif;margin:0}

.tx-fhead{color:#FFFFFF !important;font:700 12px Inter,-apple-system,Segoe UI,sans-serif;
  letter-spacing:.09em;text-transform:uppercase;margin:0 0 14px}
.tx-fcol p{margin:0}
p.tx-flink{margin:0 0 9px}
p.tx-flink a{color:#AFBED6 !important;font:400 14px/1.5 Inter,-apple-system,Segoe UI,sans-serif;
  text-decoration:none;border-bottom:1px solid transparent}
p.tx-flink a:hover,p.tx-flink a:focus-visible{color:#FFFFFF !important;border-bottom-color:#FFFFFF}
.tx-fline{color:#AFBED6 !important;font:400 14px/1.6 Inter,-apple-system,Segoe UI,sans-serif;margin:0 0 4px}
.tx-ftel a{color:#FFFFFF !important;font:600 15px Inter,-apple-system,Segoe UI,sans-serif;text-decoration:none}
.tx-fhours{color:#8FA3BC !important;font:400 13px Inter,-apple-system,Segoe UI,sans-serif;margin:4px 0 0}
.tx-footer .tx-fbtn .et_pb_button{font-size:14px !important;padding:14px 22px !important;min-height:48px !important;
  background-color:#BF0A30 !important;color:#FFFFFF !important}
.tx-footer .tx-fbtn .et_pb_button:hover{background-color:#B0092C !important;color:#FFFFFF !important}

.tx-fregmod{margin-top:34px !important}
.tx-freg{color:#8FA3BC !important;font:400 12.5px/1.7 Inter,-apple-system,Segoe UI,sans-serif;margin:0}
.tx-freg a{color:#AFBED6 !important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}

.tx-fbottom{border-top:1px solid rgba(255,255,255,.13);padding-top:18px !important;margin-top:18px !important}
.tx-fcopy,.tx-fnav{color:#8FA3BC !important;font:400 11px/1.7 Inter,-apple-system,Segoe UI,sans-serif;margin:0}
.tx-fbl-r{text-align:right}
.tx-fnav a{color:#8FA3BC !important;text-decoration:none}
.tx-fnav a:hover,.tx-fnav a:focus-visible{color:#FFFFFF !important;text-decoration:underline}
.tx-fdiscmod{margin-top:8px !important}
.tx-fdisc{color:#8FA3BC !important;font:400 11px/1.7 Inter,-apple-system,Segoe UI,sans-serif;margin:0}

@media(max-width:980px){
  .tx-footer .et_pb_column{margin-bottom:30px !important;width:47% !important;float:left;margin-right:6% !important}
  .tx-footer .et_pb_column:nth-child(2n){margin-right:0 !important}
  .tx-fbl-r{text-align:left;margin-top:8px}}
@media(max-width:600px){
  .tx-footer .et_pb_column{width:100% !important;margin-right:0 !important}}

/* tx-frow-container: row width/max_width attributes are inert on direct shortcodes */
.tx-footer .tx-frow{width:90% !important;max-width:1200px !important;
  margin-left:auto !important;margin-right:auto !important}
.tx-footer .tx-fbtn,.tx-footer .et_pb_button_module_wrapper{text-align:left}
.tx-footer .et_pb_button{font-size:14px !important;padding:14px 22px !important;
  min-height:48px !important;background-color:#BF0A30 !important;color:#FFFFFF !important;
  display:inline-flex !important}
.tx-footer .et_pb_button:hover{background-color:#B0092C !important;color:#FFFFFF !important}
.tx-flogo-mod img{max-width:190px;width:190px;height:auto}

/* tx-fbtn-selector: module_class lands on the <a>, not a wrapper */
a.et_pb_button.tx-fbtn{font-size:14px !important;padding:14px 22px !important;min-height:48px !important;
  background-color:#BF0A30 !important;color:#FFFFFF !important;font-weight:700 !important;
  letter-spacing:.04em !important}
a.et_pb_button.tx-fbtn:hover{background-color:#B0092C !important;color:#FFFFFF !important}

/* ======================= tx-final-overrides (must stay last in file) ======================= */
/* navy ground button: white bg, NAVY label. Higher specificity than the footer rule. */
.et_pb_section.tx-on-navy a.et_pb_button,
.et_pb_section.tx-on-navy a.et_pb_button:visited{
  background-color:#FFFFFF !important;color:#002868 !important;
  font-weight:700 !important;letter-spacing:.04em !important}
.et_pb_section.tx-on-navy a.et_pb_button:hover{
  background-color:#EBEBEB !important;color:#002868 !important;
  box-shadow:0 6px 18px rgba(255,255,255,.30)}
/* the footer button is red on navy by design - restore it after the rule above */
.et_pb_section.tx-footer a.et_pb_button.tx-fbtn,
.et_pb_section.tx-footer a.et_pb_button.tx-fbtn:visited{
  background-color:#BF0A30 !important;color:#FFFFFF !important}
.et_pb_section.tx-footer a.et_pb_button.tx-fbtn:hover{
  background-color:#B0092C !important;color:#FFFFFF !important}

/* final CTA: one centred axis, 24px rhythm */
.tx-cta-stack .et_pb_module{margin-bottom:24px !important}
.tx-cta-stack .et_pb_module:last-child{margin-bottom:0 !important}
.tx-cta-stack .et_pb_text,.tx-cta-stack .et_pb_text *{text-align:center !important}
.tx-cta-stack .et_pb_button_module_wrapper{text-align:center !important}
.tx-cta-stack a.et_pb_button{margin-left:auto !important;margin-right:auto !important}

/* FAQ cream card: own height, not the column's */
.tx-faq-card{align-self:flex-start !important;padding:32px !important;
  border-top:4px solid #002868 !important;background:#F6F2E9 !important;
  border-radius:0 0 8px 8px}
.et_pb_row .et_pb_column.tx-faq-card{display:block !important;height:auto !important}
.tx-faq-card .et_pb_module:last-child{margin-bottom:0 !important}

/* tx-band-sizing: 320 desktop / 220 phone, cover, ~35% navy overlay */
.tx-band{min-height:320px;display:flex;align-items:center;
  background-size:cover !important;background-position:center !important;
  background-repeat:no-repeat !important;position:relative;overflow:hidden}
.tx-band:before{content:"";position:absolute;inset:0;background:rgba(0,40,104,.70);pointer-events:none}
.tx-band > .et_pb_row{position:relative;z-index:1}
.tx-band h2{color:#FFFFFF !important;text-align:center !important;margin:0}
@media(max-width:767px){.tx-band{min-height:220px}}

/* ================================ tx-nav-baseline ================================
   Cause: .tx-nav is flex/align-items:center, but its children had unequal heights.
   a.tx-link measured 17px tall; span.tx-parent measured 47.6px because the caret's
   inline-block (border:4px, vertical-align:middle) grew the line box. Flex centred
   both boxes on the same axis, so the TEXT inside .tx-parent landed 12.3px higher. */
.tx-hdr-in{display:flex;align-items:center;min-height:88px}
.tx-hdr-in br{display:none}
.tx-nav{display:flex;align-items:center;gap:30px}
.tx-nav > a,
.tx-nav > .tx-parent{display:flex;align-items:center;line-height:1;margin:0;padding:0}
.tx-nav > .tx-parent{position:relative;height:auto}
.tx-parent > a{display:flex;align-items:center;line-height:1;padding:0;margin:0;
  position:relative;padding-right:14px}
/* caret out of flow so it cannot grow the parent's line box */
.tx-parent > a::after{position:absolute;right:0;top:50%;margin:0 !important;
  transform:translateY(-50%);vertical-align:middle;display:block}
.tx-nav > a.tx-link,.tx-nav > a.tx-tel{line-height:1}
.tx-nav > a.tx-btn{line-height:1;align-self:center}
.tx-logo{display:flex;align-items:center}
.tx-logo img{display:block}
@media(max-width:980px){
  .tx-nav{display:none}
  .tx-toggle:checked ~ .tx-nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px}}

/* tx-nav-caret-fix: the caret had no intrinsic size, so display:block stretched it
   to the anchor width and painted its border-top as a bar. Give it a real triangle. */
.tx-parent > a::after{
  content:"" !important;
  position:absolute !important;right:0;top:50%;
  transform:translateY(-50%);
  width:0 !important;height:0 !important;
  border-left:4px solid transparent !important;
  border-right:4px solid transparent !important;
  border-top:5px solid currentColor !important;
  border-bottom:0 !important;
  margin:0 !important;background:none !important;display:block !important}
/* restore the header CTA button box */
.tx-nav > a.tx-btn{padding:13px 18px !important;border-radius:4px;background:#BF0A30;
  color:#fff !important;font:700 14px Inter,-apple-system,Segoe UI,sans-serif;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
  min-height:44px;display:inline-flex !important;align-items:center;justify-content:center}
.tx-nav > a.tx-btn:hover{background:#B0092C;color:#fff !important}
.tx-nav > a.tx-tel{color:#002868 !important;font:600 15px Inter,-apple-system,Segoe UI,sans-serif;
  text-decoration:none}

/* tx-nav-caret-flex: as a flex item the caret sits after the text and creates no
   line box, so it cannot shift the parent's baseline. No absolute positioning. */
.tx-parent > a{display:inline-flex !important;align-items:center;gap:6px;
  padding-right:0 !important;position:relative}
.tx-parent > a::after{
  content:"" !important;position:static !important;transform:none !important;
  flex:0 0 auto;order:2;
  width:0 !important;height:0 !important;
  border-left:4px solid transparent !important;
  border-right:4px solid transparent !important;
  border-top:5px solid currentColor !important;
  border-bottom:0 !important;margin:0 !important;background:none !important;
  display:block !important;left:auto !important;right:auto !important;top:auto !important}

/* tx-band-parallax: CSS-method parallax = fixed attachment. Disabled under 900px
   (iOS Safari does not honour background-attachment:fixed) and for reduced motion. */
.tx-band{background-attachment:fixed}
.tx-band .et_parallax_bg{background-attachment:fixed !important}
@media(max-width:900px){
  .tx-band,.tx-band .et_parallax_bg{background-attachment:scroll !important}}
@media(prefers-reduced-motion:reduce){
  .tx-band,.tx-band .et_parallax_bg{background-attachment:scroll !important}}
/* the 35% navy overlay must still sit above Divi's parallax layer */
.tx-band .et_parallax_bg{z-index:0}
.tx-band:before{z-index:1}
.tx-band > .et_pb_row{position:relative;z-index:2}

/* editorial disclaimer */
.tx-editorial{font:400 13.5px/1.7 Inter,-apple-system,Segoe UI,sans-serif;color:#5C6B7A;
  border-top:1px solid #D8DEE7;padding-top:16px;margin-top:26px}

/* ============================ tx-menu: Divi Menu Module skin ============================
   2026-08-24. The header nav used to be hand-coded markup inside an et_pb_code module
   with a checkbox/CSS-only dropdown, so Appearance > Menus was not wired to it and the
   header phone number could not be edited anywhere normal. It is now a real Divi Menu
   Module bound to the WP menu "Primary Nav". This block reproduces the old .tx-hdr look
   on Divi's DOM.

   Two things drive the shape of this block:
   1. WP puts menu-item CSS classes on the <li>, never the <a>, so every rule targets
      li.tx-* > a rather than a.tx-*.
   2. txmsd-ui.css is enqueued at priority 20, which is BEFORE Divi's style-static.min.css
      and before the Theme Builder unified stylesheet. Divi therefore wins every
      equal-specificity tie. Rules are prefixed .et_pb_menu.tx-menu and the specific
      properties Divi actively sets carry !important. Changing the global enqueue order
      instead would re-cascade all 629 lines above this block, across every page.

   The old .tx-hdr / .tx-nav / .tx-sub rules above are now inert (no markup matches them);
   they are left in place so the swap stays trivially reversible. */

/* ---- shell: reproduces .tx-hdr + .tx-hdr-in ---- */
/* Divi gives every module in a column a 2.75% bottom margin (39.6px at 1440). The old
   header was a single Code module so it never showed; the top bar and the menu are two
   modules now, so that margin would open a gap between them and push the whole page down. */
.et_pb_section .et_pb_module.tx-topbar{margin-bottom:0 !important;padding-bottom:0 !important}
.et_pb_section .et_pb_module.tx-menu{margin-bottom:0 !important}
.et_pb_menu.tx-menu{background-color:#fff;position:relative;z-index:1000;padding:0}
.et_pb_menu.tx-menu .et_pb_menu_inner_container{max-width:1240px;margin:0 auto;padding:0 24px;
  min-height:88px;display:flex !important;align-items:center !important;
  justify-content:space-between !important;flex-wrap:nowrap !important}
.et_pb_menu.tx-menu .et_pb_menu__logo-wrap{margin:0;width:auto !important;height:auto !important;
  max-width:none !important;flex:0 0 auto !important;display:flex;align-items:center;align-self:center}
.et_pb_menu.tx-menu .et_pb_menu__logo{display:flex;align-items:center;
  width:auto !important;height:auto !important;max-width:none !important}
.et_pb_menu.tx-menu .et_pb_menu__logo img{display:block;height:42px !important;width:auto !important;
  max-height:none !important;max-width:none !important}
.et_pb_menu.tx-menu .et_pb_menu__wrap{flex:1 1 auto !important;display:flex !important;
  align-items:center !important;justify-content:flex-end !important;flex-wrap:nowrap !important}
.et_pb_menu.tx-menu .et_pb_menu__menu{display:flex;align-items:center;width:auto !important;max-width:none}
.et_pb_menu.tx-menu .et_pb_menu__menu>nav.et-menu-nav{width:auto}

/* ---- top level: reproduces .tx-nav + a.tx-link ---- */
.et_pb_menu.tx-menu ul.et-menu{display:flex !important;align-items:center;
  flex-wrap:nowrap !important;gap:30px;margin:0;padding:0;list-style:none}
.et_pb_menu.tx-menu ul.et-menu>li{margin:0 !important;padding:0 !important;
  display:flex !important;align-items:center;position:relative;float:none;font-size:14px}
.et_pb_menu.tx-menu ul.et-menu>li>a{font:700 14px/1 Inter,-apple-system,"Segoe UI",sans-serif;
  color:#002868 !important;text-decoration:none;padding:0 !important;opacity:1;
  display:inline-flex !important;align-items:center;position:relative;white-space:nowrap}
.et_pb_menu.tx-menu ul.et-menu>li>a:hover{color:#002868 !important;opacity:1}

/* ---- caret: suppress Divi's icon-font glyph, redraw the original triangle ---- */
.et_pb_menu.tx-menu ul.et-menu li.menu-item-has-children>a:first-child:after{
  content:none !important;display:none !important}
.et_pb_menu.tx-menu ul.et-menu>li.menu-item-has-children>a{gap:6px;padding-right:0 !important}
.et_pb_menu.tx-menu ul.et-menu>li.menu-item-has-children>a::before{content:"";order:2;
  flex:0 0 auto;width:0;height:0;display:block;background:none;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;border-bottom:0}

/* ---- hover underline. Matches live: only non-parent, non-tel, non-button items carry
        it, because the old caret rule had overridden ::after on .tx-parent. ---- */
.et_pb_menu.tx-menu ul.et-menu>li:not(.menu-item-has-children):not(.tx-tel):not(.tx-btn)>a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;
  background:var(--tx-accent);transform:scaleX(0);transform-origin:left center;
  transition:transform .2s ease}
.et_pb_menu.tx-menu ul.et-menu>li:not(.menu-item-has-children):not(.tx-tel):not(.tx-btn)>a:hover::after,
.et_pb_menu.tx-menu ul.et-menu>li:not(.menu-item-has-children):not(.tx-tel):not(.tx-btn)>a:focus-visible::after{
  transform:scaleX(1)}

/* ---- dropdown: reproduces .tx-sub ---- */
.et_pb_menu.tx-menu ul.et-menu>li>ul.sub-menu{
  display:none !important;visibility:visible !important;opacity:1 !important;
  position:absolute;top:100%;left:-14px;min-width:268px;width:auto !important;
  background:#fff !important;box-shadow:0 14px 32px rgba(0,40,104,.17);
  border-radius:6px;padding:8px 0 !important;border-top:0 !important;
  z-index:1001;margin:0;transform:none;animation:none;list-style:none;text-align:left}
.et_pb_menu.tx-menu ul.et-menu>li:hover>ul.sub-menu,
.et_pb_menu.tx-menu ul.et-menu>li:focus-within>ul.sub-menu{display:block !important}
.et_pb_menu.tx-menu ul.et-menu ul.sub-menu li{padding:0 !important;margin:0 !important;
  width:100%;float:none;display:block}
.et_pb_menu.tx-menu ul.et-menu ul.sub-menu li a{display:block;width:auto !important;
  padding:11px 20px !important;font:400 14px Inter,-apple-system,"Segoe UI",sans-serif;
  color:#002868 !important;text-decoration:none;white-space:nowrap;opacity:1;background:none}
.et_pb_menu.tx-menu ul.et-menu ul.sub-menu li a:hover{color:#002868 !important;background:#f4f6fa}

/* ---- dropdown group headers: reproduces <b>By provider</b> / <b>By clinic</b> ---- */
.et_pb_menu.tx-menu ul.et-menu ul.sub-menu li.tx-group>a{padding:10px 20px 4px !important;
  font:600 11px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:#8aa0b0 !important;cursor:default;pointer-events:none;background:none}
.et_pb_menu.tx-menu ul.et-menu ul.sub-menu li.tx-group+li>a{padding-top:4px !important}

/* ---- phone + CTA: reproduces a.tx-tel and a.tx-btn ---- */
.et_pb_menu.tx-menu ul.et-menu>li.tx-tel>a{color:#002868 !important;
  font:600 15px Inter,-apple-system,"Segoe UI",sans-serif;text-decoration:none}
.et_pb_menu.tx-menu ul.et-menu>li.tx-btn>a{background:var(--tx-accent) !important;
  color:#fff !important;border-radius:4px;padding:13px 18px !important;min-height:44px;
  font:700 14px Inter,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
  display:inline-flex !important;align-items:center;justify-content:center;
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.et_pb_menu.tx-menu ul.et-menu>li.tx-btn>a:hover{background:#9d0827 !important;color:#fff !important;
  transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,40,104,.35)}
.et_pb_menu.tx-menu ul.et-menu>li.tx-btn>a:active{transform:translateY(0);box-shadow:none}

/* ---- burger: reproduces .tx-burger ---- */
.et_pb_menu.tx-menu .et_mobile_nav_menu{margin:0;display:none;float:none}
.et_pb_menu.tx-menu .mobile_menu_bar:before{color:#002868;font-size:26px;line-height:1;top:0}
.et_pb_menu.tx-menu .mobile_nav{background:none;padding:0}

/* ---- mobile. Divi's own breakpoint is 980px. The old CSS hid .tx-nav below 980px but
        only showed .tx-burger below 900px, so 900-980px rendered a header with no nav
        and no burger at all. Using Divi's single 980px breakpoint closes that gap. ---- */
@media (max-width:980px){
  /* the old CSS asked for 72px here, but a later unscoped .tx-hdr-in{min-height:88px}
     rule overrode it, so the live mobile header was 88px. Matching live, not intent. */
  .et_pb_menu.tx-menu .et_pb_menu_inner_container{min-height:88px;position:relative}
  .et_pb_menu.tx-menu .et_pb_menu__menu{display:none !important}
  .et_pb_menu.tx-menu .et_mobile_nav_menu{display:flex !important;align-items:center}

  .et_pb_menu.tx-menu .et_mobile_menu{position:absolute;left:0;right:0;top:100%;width:auto;
    background:#fff !important;box-shadow:0 12px 28px rgba(0,40,104,.16);
    padding:6px 0 !important;border-top:0 !important;z-index:999;list-style:none}
  .et_pb_menu.tx-menu .et_mobile_menu li{padding:0 !important;margin:0 !important}
  .et_pb_menu.tx-menu .et_mobile_menu>li>a{display:block;padding:15px 24px !important;
    border-bottom:1px solid #e6eaf2;background:none;
    font:700 14px Inter,-apple-system,"Segoe UI",sans-serif;color:#002868 !important;
    text-decoration:none;opacity:1}

  /* the old menu showed every child expanded on mobile with no JS. Keep that: there is
     no touch-dropdown to get wrong, and every child page stays one tap away. */
  .et_pb_menu.tx-menu .et_mobile_menu ul.sub-menu{display:block !important;
    visibility:visible !important;opacity:1 !important;position:static !important;
    background:#f7f9fd !important;box-shadow:none !important;border-radius:0;
    padding:0 !important;min-width:0;width:auto !important;margin:0;border-top:0 !important}
  .et_pb_menu.tx-menu .et_mobile_menu ul.sub-menu li a{display:block;
    padding:13px 24px 13px 40px !important;border-bottom:1px solid #e6eaf2;
    white-space:normal;background:none;
    font:400 14px Inter,-apple-system,"Segoe UI",sans-serif;color:#002868 !important}
  /* Divi's per-item expand arrow is pointless when everything is already open */
  .et_pb_menu.tx-menu .et_mobile_menu .et_pb_submenu_toggle{display:none !important}
  /* the old mobile menu still drew a caret on parents (the float:right in the 900px
     block was overridden by a later unscoped inline-flex rule), so keep it inline. */
  .et_pb_menu.tx-menu .et_mobile_menu>li.menu-item-has-children>a{
    display:flex;align-items:center;gap:6px}
  .et_pb_menu.tx-menu .et_mobile_menu>li.menu-item-has-children>a::after{
    content:"";flex:0 0 auto;width:0;height:0;display:block;background:none;
    border-left:4px solid transparent;border-right:4px solid transparent;
    border-top:5px solid currentColor;border-bottom:0}

  .et_pb_menu.tx-menu .et_mobile_menu li.tx-group>a{padding:10px 24px 4px 40px !important;
    background:#edf1f9;font:600 11px Inter,sans-serif;letter-spacing:.1em;
    text-transform:uppercase;color:#8aa0b0 !important;pointer-events:none;cursor:default}
  .et_pb_menu.tx-menu .et_mobile_menu>li.tx-tel>a{
    font:600 15px Inter,-apple-system,"Segoe UI",sans-serif;color:#002868 !important}
  .et_pb_menu.tx-menu .et_mobile_menu>li.tx-btn{margin:12px 24px !important}
  .et_pb_menu.tx-menu .et_mobile_menu>li.tx-btn>a{background:var(--tx-accent) !important;
    color:#fff !important;border-radius:4px;padding:13px 18px !important;border-bottom:0;
    text-align:center;font:700 14px Inter,-apple-system,"Segoe UI",sans-serif;
    letter-spacing:.04em;text-transform:uppercase}
}
@media (prefers-reduced-motion:reduce){
  .et_pb_menu.tx-menu ul.et-menu>li>a::after,
  .et_pb_menu.tx-menu ul.et-menu>li.tx-btn>a{transition:none !important}
  .et_pb_menu.tx-menu ul.et-menu>li.tx-btn>a:hover{transform:none}
}
/* ========================== end tx-menu ========================== */
