.elementor-kit-6{--e-global-color-primary:#00539B;--e-global-color-secondary:#013F76;--e-global-color-text:#14161A;--e-global-color-accent:#7AC143;--e-global-color-hpgreendeep:#5C9A26;--e-global-color-hpinksoft:#454A52;--e-global-color-hpgray:#6C727A;--e-global-color-hppaperalt:#F6F7F8;--e-global-color-hpline:rgba(20, 22, 26, 0.12);--e-global-color-hplinesoft:rgba(20, 22, 26, 0.08);--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:700;--e-global-typography-6f550cb0-font-family:"Open Sans";--e-global-typography-6f550cb0-font-size:16px;--e-global-typography-6f550cb0-font-weight:700;--e-global-typography-6f550cb0-text-transform:uppercase;--e-global-typography-6f550cb0-line-height:1.5em;--e-global-typography-6f550cb0-letter-spacing:0.22em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ---- Self-hosted webfonts (replaces Google Fonts) ---- */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-600-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-700-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-800-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/open-sans-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400i-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-300-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-500-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://healthpoint-tx.com/wp-content/uploads/hp-stage/fonts/cormorant-garamond-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== HealthPoint shared utilities (site-wide) ===== */
/* Green rule that precedes / brackets an eyebrow or kicker */
.hp-rule-both .elementor-heading-title::before,
.hp-rule-both .elementor-heading-title::after,
.hp-rule-left .elementor-heading-title::before{
  content:"";display:inline-block;vertical-align:middle;position:relative;top:-0.1em;
  width:24px;height:2px;border-radius:2px;background:var(--e-global-color-accent);
}
.hp-rule-both .elementor-heading-title::before,
.hp-rule-both .elementor-heading-title::after{margin:0 14px}
.hp-rule-left .elementor-heading-title::before{margin-right:14px}

/* Italic accent word inside a headline */
.hp-accent{font-style:italic;color:var(--e-global-color-primary)}
.hp-accent-alt{font-style:italic;color:var(--e-global-color-accent)}

/* Square-cropped photo (fluid, keeps 1:1 at any column width) */
.hp-square img{aspect-ratio:1/1;object-fit:cover;width:100%;display:block}

/* Natural-ratio photo filling its frame */
.hp-media img{width:100%;height:auto;display:block}

/* Body copy block: paragraph rhythm */
.hp-copy p{margin:0}
.hp-copy p+p{margin-top:18px}

/* Framed photo with the green edge bar */
.hp-mediabox{position:relative}
.hp-mediabox::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:var(--e-global-color-accent);z-index:2;pointer-events:none}

/* Bold upright accent inside italic copy */
.hp-strong-alt b, b.hp-strong-alt{font-style:normal;font-weight:700;color:var(--e-global-color-accent)}

/* Baseline-aligned row (Elementor exposes no baseline option) */
.hp-baseline.e-con, .hp-baseline > .e-con-inner{align-items:baseline}

/* 7:5 cropped card photo */
.hp-ratio-75 img{aspect-ratio:7/5;object-fit:cover;width:100%;display:block}


/* Service card: accent wipe, lift and photo zoom on hover (pseudo-element + transitions Elementor cannot express natively) */
.hp-card{position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.hp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;z-index:3;background:var(--e-global-color-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.hp-card-alt::before{background:var(--e-global-color-hpgreendeep)}
.hp-linked:hover::before{transform:scaleX(1)}
.hp-linked:hover{transform:translateY(-7px);box-shadow:0 26px 64px rgba(20,22,26,.13)}
.hp-card .hp-ratio-75 img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hp-linked:hover .hp-ratio-75 img{transform:scale(1.045)}


/* Homepage utilities */
/* mosaic column spans - Elementor grid has no per-item span control */
.hp-span2{grid-column:span 2}.hp-span3{grid-column:span 3}.hp-span4{grid-column:span 4}
.hp-blur{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hp-lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.hp-lift:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(20,22,26,.10)}

.hp-balance .elementor-heading-title{text-wrap:balance}

/* Stroke-drawn icons: Elementor paints SVG icons with fill, these are stroke-only */
.hp-icon .elementor-icon{color:var(--e-global-color-primary)}
.hp-icon-alt .elementor-icon{color:var(--e-global-color-hpgreendeep)}
.hp-icon .elementor-icon svg{fill:none !important;stroke:currentColor !important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Locations list: selected clinic */
.hp-geo-item{position:relative;cursor:pointer;transition:background .2s,box-shadow .2s}
.hp-geo-item:hover{background:rgba(0,83,155,.04)}
.hp-geo-item.is-on{background:#fff;box-shadow:inset 4px 0 0 var(--e-global-color-accent)}
.hp-geo-item.is-on .elementor-widget:first-child .elementor-heading-title{color:var(--e-global-color-hpgreendeep)}
.hp-geo-item.is-on .elementor-widget:nth-child(2) .elementor-heading-title{color:var(--e-global-color-primary)}
.hp-geo-item.is-on::after{content:'→';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;color:var(--e-global-color-primary)}
.hp-geo-item:focus-visible{outline:2px solid var(--e-global-color-primary);outline-offset:-2px}

/* Locations list: height cap so the map + detail card stay in view */
.hp-geo-index{max-height:660px;overflow-y:auto;overscroll-behavior:contain}
.hp-geo-index::-webkit-scrollbar{width:6px}
.hp-geo-index::-webkit-scrollbar-thumb{background:rgba(20,22,26,.18);border-radius:3px}
.hp-geo-item .elementor-widget:not(:last-child){margin-bottom:0}
@media(max-width:1024px){.hp-geo-index{max-height:none;overflow:visible}}

/* Mosaic spans are a desktop-only device - below 1024 every tile takes one track */
@media(max-width:1024px){.hp-span2,.hp-span3,.hp-span4{grid-column:auto}}

/* Horizontal slide-on-hover (connect cards) */
.hp-slide{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
.hp-slide:hover{transform:translateX(5px);box-shadow:0 16px 40px rgba(20,22,26,.09);border-color:var(--e-global-color-hpline)}

/* 16:10 cropped card photo */
.hp-ratio-1610 img{aspect-ratio:16/10;object-fit:cover;width:100%;height:100%;display:block}

/* Upright blue accent inside italic copy */
.hp-accent-upright{font-style:normal;color:var(--e-global-color-primary)}
/* Muted secondary text */
.hp-muted{color:var(--e-global-color-hpgray)}
/* Small suffix on a large display number */
.hp-num-sub{font-size:.5em;color:var(--e-global-color-hpgray);font-weight:400}

/* Static accent rule across the top of a card (Elementor has one border colour per element) */
.hp-topbar{border-top-color:var(--e-global-color-primary) !important}
.hp-topbar-alt{border-top-color:var(--e-global-color-hpgreendeep) !important}

/* Service-page hero photo: fixed square crop so every hero is the same height */
.hp-hero-media img{aspect-ratio:1/1;object-fit:cover;width:100%;height:100%;display:block}
@media(max-width:1024px){.hp-hero-media img{aspect-ratio:16/10}}

/* Two-column icon list (Elementor's icon-list has no column control) */
.hp-list-2col .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 40px}
@media(max-width:1024px){.hp-list-2col .elementor-icon-list-items{grid-template-columns:1fr}}

/* Icon list flowed into two CSS columns (reads down, then across) */
.hp-list-colcount2 .elementor-icon-list-items{column-count:2;column-gap:36px}
.hp-list-colcount2 .elementor-icon-list-item{break-inside:avoid}
@media(max-width:767px){.hp-list-colcount2 .elementor-icon-list-items{column-count:1}}
/* Accent rule down the left edge of a card */
.hp-leftbar{border-left-color:var(--e-global-color-primary) !important}
.hp-leftbar-alt{border-left-color:var(--e-global-color-hpgreendeep) !important}

/* Inline text link inside body copy */
a.hp-link{color:var(--e-global-color-primary);text-decoration:none}
/* Inline prose links: underlined, since colour alone is not enough to mark a link */
/* Prose link: global link colour, underlined in that same colour, regular weight.
   Underline is scoped here rather than set globally because 139 containers and 121
   buttons on the site are anchors and would all pick it up. */
.hp-link a{color:var(--e-global-color-primary);font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.hp-link a:hover{color:var(--e-global-color-secondary);text-decoration:none}

a.hp-link:hover{color:var(--e-global-color-secondary);text-decoration:none}

/* Pill chips inside a text block (insurance plans) */
.hp-chips{display:flex;flex-wrap:wrap;gap:12px}
.hp-chips span{font-size:14.5px;font-weight:600;line-height:1.2;color:var(--e-global-color-primary);background:rgba(0,83,155,.08);border:1px solid rgba(0,83,155,.22);border-radius:999px;padding:9px 18px}
/* Label / value rows with a dashed rule (opening hours) */
.hp-hours{display:grid;grid-template-columns:fit-content(180px) 1fr;column-gap:22px;row-gap:7px}
.hp-hours .row{display:contents}
.hp-hours .row > b,.hp-hours .row > span{padding:0}
.hp-hours .row > span{text-wrap:pretty}
.hp-hours .row > b{text-wrap:balance}
.hp-hours .row b{color:var(--e-global-color-text);font-weight:600}
@media(max-width:600px){.hp-hours{grid-template-columns:1fr;column-gap:0;row-gap:0}.hp-hours .row > b{margin-top:12px}.hp-hours .row:first-child > b{margin-top:0}}
/* Small green badge */
.hp-chip-green{display:inline-block;font-size:13.5px;font-weight:700;color:var(--e-global-color-hpgreendeep);background:rgba(122,193,67,.14);border-radius:999px;padding:5px 14px}

/* Embedded map fills its panel, behind the overlaid button */
.hp-map{position:relative}
.hp-map-embed{position:absolute;inset:0;z-index:1}
.hp-map-embed iframe{width:100%;height:100%;border:0;display:block}

/* --- clinic location pages --- */
/* Inline facts separated by hairlines */
.hp-divided{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 22px}
.e-con.hp-divided{flex-direction:row}
/* children are e-con-full (width:100%), which forces each onto its own line */
.hp-divided > .e-con{width:auto;max-width:none;flex:0 0 auto}
/* Row containers set --container-widget-align-self:stretch, which top-aligns the icon and label */
.hp-divided > .e-con > .elementor-widget{align-self:center;height:auto;margin-bottom:0}
.hp-divided .elementor-icon{display:flex;align-items:center;justify-content:center}
.hp-divided .elementor-heading-title{margin:0}
.hp-divided > .elementor-element + .elementor-element{padding-left:22px;border-left:1px solid var(--e-global-color-hpline)}
/* Square headshot crop biased to the upper third */
.hp-portrait img{aspect-ratio:1/1;object-fit:cover;object-position:center 22%;width:100%;display:block}
/* Heading trailed by a rule filling the remaining width */
.hp-rule-after{display:flex;align-items:center;gap:18px}
.hp-rule-after::after{content:"";flex:1;height:1px;background:var(--e-global-color-hpline)}
/* Photo tile with scrim and overlaid label */
.hp-scard{position:relative;overflow:hidden}
.hp-scard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,25,45,0) 34%,rgba(4,20,38,.82) 100%);z-index:1;pointer-events:none}
.hp-scard-img{position:absolute;inset:0;z-index:0}
.hp-scard-img > .elementor-element{width:100%;height:100%}
.hp-scard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hp-scard:hover .hp-scard-img img{transform:scale(1.05)}
.hp-scard-label{position:relative;z-index:2;margin-top:auto}
.hp-sarr .elementor-heading-title{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:17px;transition:background .25s,transform .25s,border-color .25s}
.hp-scard:hover .hp-sarr .elementor-heading-title{background:var(--e-global-color-accent);border-color:var(--e-global-color-accent);color:#08260b;transform:translateX(3px)}
/* Bordered detail rows */

/* Clinic hero and welcome photo crops */
.hp-ratio-1611 img{aspect-ratio:16/11;object-fit:cover;width:100%;display:block}
.hp-ratio-32 img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}

/* Media column that matches the height of the copy beside it */
.e-con.hp-mediafill{align-self:stretch}
.hp-mediafill > .elementor-widget{height:100%;align-self:stretch}
.hp-fill img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1024px){.e-con.hp-mediafill{align-self:auto}.hp-fill img{aspect-ratio:3/2;height:auto}}

/* Single tile centred in a three-column grid */
.hp-grid-solo > .e-con{grid-column:2}
@media(max-width:1024px){.hp-grid-solo > .e-con{grid-column:auto}}

/* Welcome eyebrow line with the clinic logo pushed right */
.hp-eyebrow-row > .elementor-widget{align-self:center}\n@media(max-width:600px){.e-con.hp-eyebrow-row{flex-wrap:wrap;row-gap:14px}}

/* --- provider pages --- */
/* List with a green check disc */
.hp-checklist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.hp-checklist li{position:relative;padding-left:34px}
.hp-checklist li::before{content:"✓";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--e-global-color-accent);color:#fff;font-size:12px;line-height:20px;text-align:center;font-weight:700}
.hp-checklist li b{color:var(--e-global-color-text);font-weight:700}
/* Container that shrink-wraps its content */
.e-con.hp-inlinebox{width:auto;max-width:none;align-self:flex-start}
/* Location links inside the provider hero box */
.hp-loclinks a{font-weight:700;color:var(--e-global-color-text);text-decoration:none}
.hp-loclinks a:hover{color:var(--e-global-color-primary)}
.hp-loclinks .sep{color:var(--e-global-color-hpgray);margin:0 10px}
/* Underlined specialty link */
.hp-speclink a{color:inherit;text-decoration:underline;text-decoration-color:var(--e-global-color-accent);text-underline-offset:4px}
.hp-speclink a:hover{color:var(--e-global-color-primary)}

/* --- list styles ---------------------------------------------------- */
/* Body copy lists: green check disc, matching .hp-checklist on provider pages.
   Selectors are chained through .elementor-widget so they outrank Elementor's
   per-element icon rules. */
.elementor-widget.hp-ticklist .elementor-icon-list-item{align-items:flex-start}
/* The disc is a fixed 20px box, so Elementor's per-element padding-inline-end would be
   swallowed inside it. Zero that out and use a margin for the gap instead. */
.elementor-widget.hp-ticklist .elementor-icon-list-icon{position:relative;flex:0 0 20px;width:20px;height:20px;padding:0 !important;border-radius:50%;background:var(--e-global-color-accent);margin-top:3px;margin-inline-end:14px}
.elementor-widget.hp-ticklist .elementor-icon-list-icon i,.elementor-widget.hp-ticklist .elementor-icon-list-icon svg{display:none}
.elementor-widget.hp-ticklist .elementor-icon-list-icon::after{content:"✓";position:absolute;left:0;top:0;width:20px;line-height:20px;text-align:center;color:#fff;font-size:12px;font-weight:700;font-family:'Open Sans',sans-serif}
/* Dot lists inside cards: small dot, tight gap, text aligned to the dot's top */
.elementor-widget.hp-dotlist .elementor-icon-list-item{align-items:flex-start}
.elementor-widget.hp-dotlist .elementor-icon-list-icon{margin-top:8px;line-height:1}
.elementor-widget.hp-dotlist .elementor-icon-list-icon i{vertical-align:top}

/* Elementor spaces icon-list items with :first-child / :last-child rules, which follow
   DOM order. In a grid or CSS-column layout that pushes the second column down by half
   the row gap. Neutralise it and let the column layout own the spacing. */
.hp-list-2col .elementor-icon-list-items .elementor-icon-list-item{margin-block-start:0 !important;padding-block-end:0 !important}
.hp-list-colcount2 .elementor-icon-list-items .elementor-icon-list-item{margin-block-start:0 !important;padding-block-end:0 !important;margin-bottom:14px}
/* multi-column lists ignore DOM-order spacing */

/* Grid/column items stretch to the tallest cell in their row, and Elementor centres the
   icon within that stretched box. Force top alignment at every level so the disc always
   sits on the first line of its own text. */
.hp-list-2col .elementor-icon-list-items{align-items:start}
.elementor-widget.hp-ticklist .elementor-icon-list-items .elementor-icon-list-item{align-items:flex-start !important}
.elementor-widget.hp-ticklist .elementor-icon-list-items .elementor-icon-list-icon{align-self:flex-start !important;top:0 !important}
.elementor-widget.hp-ticklist .elementor-icon-list-items .elementor-icon-list-text{align-self:flex-start}
.elementor-widget.hp-dotlist .elementor-icon-list-items .elementor-icon-list-item{align-items:flex-start !important}
.elementor-widget.hp-dotlist .elementor-icon-list-items .elementor-icon-list-icon{align-self:flex-start !important}


/* --- provider meta rows -------------------------------------------- */
/* Elementor forces `fill` on icon-list SVGs, which turns outlined artwork
   into a solid blob. Mirrors the .hp-icon rule used elsewhere. */
.elementor-widget.hp-pvmeta .elementor-icon-list-icon svg{fill:none !important;stroke:var(--e-global-color-accent) !important;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Thank You hero image: 16:8 on desktop, squarer on small screens (matches source) */
.hp-ratio-168 img{aspect-ratio:16/8;object-fit:cover;object-position:center 28%;width:100%;height:100%;display:block}
@media(max-width:767px){.hp-ratio-168 img{aspect-ratio:4/3}}

/* Prevents a single trailing word on the last line of a paragraph */
.hp-pretty p{text-wrap:pretty}

/* Square crop, centred (hp-portrait is biased toward faces) */
.hp-ratio-11 img{aspect-ratio:1/1;object-fit:cover;object-position:center;width:100%;height:100%;display:block}

/* Right-to-left language blocks (Arabic, Farsi, Urdu) */
.hp-rtl, .hp-rtl p, .hp-rtl .elementor-heading-title{direction:rtl;text-align:right}

/* Contact-tile links: bold so phone/email stand out */
.hp-boldlink a{font-weight:700}

/* Links on dark bands: accent green + bold for legibility */
.hp-darklink a{color:var(--e-global-color-accent) !important;font-weight:700;text-decoration:none}
.hp-darklink a:hover{text-decoration:underline}


/* === Long-form legal document (HIPAA notice, policies) =============== */
.hp-doc-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px;border-left:1px solid rgba(20,22,26,0.12);margin:0;padding:0}
.hp-doc-toc li{counter-increment:toc}
.hp-doc-toc a{display:flex;gap:11px;padding:8px 0 8px 20px;margin-left:-1px;border-left:2px solid transparent;font-family:'Open Sans',sans-serif;font-size:14px;line-height:1.35;color:var(--e-global-color-hpinksoft);text-decoration:none;transition:color .15s,border-color .15s}
.hp-doc-toc a::before{content:counter(toc,decimal-leading-zero);font-weight:700;font-size:12px;color:var(--e-global-color-hpgreendeep);flex:none;padding-top:1px}


/* Emphasised notice block */
.hp-callout p{margin:0;font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:.05em;line-height:1.6;color:var(--e-global-color-text);text-transform:uppercase}
/* Term: definition rows */
.hp-deflist strong,.hp-deflist b{font-weight:700;color:var(--e-global-color-text)}
.hp-deflist p{margin:0 0 16px;padding-left:20px;border-left:2px solid rgba(20,22,26,0.12)}
.hp-deflist p:last-child{margin-bottom:0}
/* Green dot list, and a tick variant */
.hp-doclist ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.hp-doclist li{position:relative;padding-left:26px}
.hp-doclist li::before{content:'';position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--e-global-color-accent)}
.hp-doclist.check li::before{left:0;top:5px;width:15px;height:9px;border-radius:0;background:none;border-left:2.4px solid var(--e-global-color-hpgreendeep);border-bottom:2.4px solid var(--e-global-color-hpgreendeep);transform:rotate(-45deg)}
/* Pull quote inside document copy */
.hp-docquote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;line-height:1.6;color:var(--e-global-color-text);border-left:3px solid var(--e-global-color-primary);padding:4px 0 4px 22px;margin:0}
/* Version / revision strip */
.hp-docmeta p{margin:0;display:flex;flex-wrap:wrap;gap:10px 40px;font-family:'Open Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--e-global-color-hpgray)}
.hp-docmeta b{color:var(--e-global-color-text);font-weight:700}
/* Document body links */
.hp-doc a{color:var(--e-global-color-primary);text-decoration:none;border-bottom:1px solid rgba(0,83,155,0.3)}
.hp-doc a:hover{border-bottom-color:var(--e-global-color-primary)}

/* TOC refinements */
.hp-doc-toc li{border:0}
.hp-doc-toc a{border-bottom:0;border-radius:0 6px 6px 0;transition:background .15s,color .15s,border-color .15s}
.hp-doc-toc a:hover{background:var(--e-global-color-hppaperalt);color:var(--e-global-color-primary);border-left-color:var(--e-global-color-accent)}
@media(min-width:1025px){.hp-doc-sticky{position:sticky;top:188px;align-self:start}}
/* keep anchored headings clear of the sticky header */
.hp-doc [id]{scroll-margin-top:150px}


/* === Blog ============================================================ */
/* Post grid cards (Elementor Posts widget) */
.hp-blog .elementor-post{background:#fff;border:1px solid rgba(20,22,26,0.12);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.hp-blog .elementor-post:hover{border-color:rgba(0,83,155,0.28);transform:translateY(-2px)}
.hp-blog .elementor-post__thumbnail__link{margin:0}
.hp-blog .elementor-post__thumbnail{padding-bottom:62.5% !important}
.hp-blog .elementor-post__text{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;margin:0}
.hp-blog .elementor-post__title{margin:0}


.hp-blog .elementor-post__excerpt p{font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.6;color:var(--e-global-color-hpinksoft);margin:0}
/* Pagination chips */
.hp-blog .elementor-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:52px}
.hp-blog .elementor-pagination .page-numbers{font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;color:var(--e-global-color-hpinksoft);background:#fff;border:1px solid rgba(20,22,26,0.12);border-radius:8px;min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:color .15s,border-color .15s,background .15s}
.hp-blog .elementor-pagination .page-numbers:hover{color:var(--e-global-color-primary);border-color:rgba(0,83,155,0.3)}
.hp-blog .elementor-pagination .page-numbers.current{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary);color:#fff}
.hp-blog .elementor-pagination .page-numbers.dots{border:0;background:none;min-width:auto;color:var(--e-global-color-hpgray)}





/* Article body typography */
.hp-postbody p{font-family:'Open Sans',sans-serif;font-size:18px;line-height:1.72;color:var(--e-global-color-hpinksoft);margin:0 0 22px;text-wrap:pretty}
.hp-postbody h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:36px;line-height:1.1;letter-spacing:-.02em;color:var(--e-global-color-text);margin:44px 0 18px}
.hp-postbody h3{font-family:'Open Sans',sans-serif;font-size:17px;font-weight:700;color:var(--e-global-color-text);margin:34px 0 12px}
.hp-postbody ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:11px}
.hp-postbody ul li{position:relative;padding-left:26px;font-family:'Open Sans',sans-serif;font-size:18px;line-height:1.6;color:var(--e-global-color-hpinksoft)}
.hp-postbody ul li::before{content:'';position:absolute;left:2px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--e-global-color-accent)}
.hp-postbody a{color:var(--e-global-color-primary);text-decoration:none;border-bottom:1px solid rgba(0,83,155,.3)}
.hp-postbody blockquote{margin:34px 0;padding:4px 0 4px 26px;border-left:3px solid var(--e-global-color-accent)}
.hp-postbody blockquote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:26px;line-height:1.4;color:var(--e-global-color-text);margin:0 0 10px}
.hp-postbody blockquote cite{font-family:'Open Sans',sans-serif;font-style:normal;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-hpgreendeep)}
.hp-postbody figure{margin:34px 0}
.hp-postbody figure img{width:100%;border-radius:10px;display:block}

.hp-postbody .hp-postcallout{background:var(--e-global-color-hppaperalt);border-left:4px solid var(--e-global-color-primary);border-radius:0 10px 10px 0;padding:24px 28px;margin:34px 0}
.hp-postbody .hp-postcallout .clbl{font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-primary);margin-bottom:8px}
.hp-postbody .hp-postcallout p{margin:0;font-size:16.5px}

@media(min-width:1025px){.hp-filterbar{position:sticky;top:108px;z-index:20}}

/* Blog card type (revised) */

.hp-blog .elementor-post .elementor-post__title a:hover{color:var(--e-global-color-primary)}

/* Captions are not used on posts */
.hp-postbody figcaption{display:none}

/* Blog category filter - tags, not buttons (distinct from .hp-chips on Insurance) */
.hp-catfilter .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.hp-catfilter .elementor-icon-list-item{margin:0}
.hp-catfilter .elementor-icon-list-item a{font-family:'Open Sans',sans-serif;font-size:13px;font-weight:700;color:var(--e-global-color-hpinksoft);background:var(--e-global-color-hppaperalt);border:0;border-radius:999px;padding:9px 18px;text-decoration:none;transition:color .15s,background .15s}
.hp-catfilter .elementor-icon-list-item a:hover{color:var(--e-global-color-primary);background:rgba(0,83,155,.08)}


.hp-catfilter .elementor-icon-list-item.is-active a,.hp-catfilter .elementor-icon-list-item:first-child a{background:var(--e-global-color-primary)}
.hp-catfilter .elementor-icon-list-item.is-active a,.hp-catfilter .elementor-icon-list-item.is-active .elementor-icon-list-text,.hp-catfilter .elementor-icon-list-item:first-child a,.hp-catfilter .elementor-icon-list-item:first-child .elementor-icon-list-text{color:#fff !important}





.hp-catfilter .elementor-icon-list-icon{display:none}





/* Provider meta rows - mirrors .pv-meta on the Find a Provider directory exactly */
.hp-pvmeta .elementor-icon-list-item{align-items:flex-start;line-height:1.35}
.hp-pvmeta .elementor-icon-list-icon{align-self:flex-start;margin-top:1.5px;line-height:1;height:auto}
.hp-pvmeta .elementor-icon-list-icon svg{width:15px;height:15px;flex:none}
.hp-pvmeta .elementor-icon-list-text{text-align:left;line-height:1.35}

/* Prominent standalone text CTA (used where a button would be too heavy) */
.hp-cta-link a{color:var(--e-global-color-primary);text-decoration:none;border-bottom:2px solid var(--e-global-color-accent);padding-bottom:3px;transition:color .18s,border-color .18s}
.hp-cta-link a:hover{color:var(--e-global-color-secondary);border-bottom-color:var(--e-global-color-primary)}

/* Ink-coloured variant of the standalone text CTA */
.hp-cta-link .elementor-heading-title a{color:inherit;border-bottom:2px solid var(--e-global-color-accent);padding-bottom:3px;text-decoration:none;transition:color .18s,border-color .18s}
.hp-cta-link .elementor-heading-title a:hover{color:var(--e-global-color-primary);border-bottom-color:var(--e-global-color-primary)}

/* Accessibility: guarantee a 24px minimum tap target on compact link lists */
.hp-taptarget .elementor-icon-list-item > a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}/* End custom CSS */