/*
Theme Name: Pinnacle Theme
Author: Right
Description: Custom WordPress theme for Pinnacle.
Version: 1.0
*/

:root {
    --primary: #1583C7;
    --primary-dark: #0E5F94;
    --primary-light: #4FA8DE;
    --surface-blue: #EAF5FC;
    --ink: #1F2937;
    --ink-soft: #5B6472;
    --shadow-card: 0 10px 30px -12px rgba(15, 60, 90, 0.18);
     --color-one: #28a9e1;
    --color-two: #084575;
}

html {
    scroll-behavior: smooth;
}


html,
body {
    max-width: 100%;
    overflow-x: hidden;
}
body {
    margin: 0;
    color: var(--ink);
    font-family: "Inter", sans-serif;
}

h1,
h2,
h3,
h4 {
    font-family: "Poppins", sans-serif;
}

a {
    color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    background: #fff;
    border-bottom: 3px solid var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.site-header.is-scrolled {
    box-shadow: var(--shadow-card);
}

.site-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
}

.site-logo {
    flex-shrink: 0;
    color: var(--primary);
    text-decoration: none;
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.site-logo img {
    display: block;
    height: 36px;
    width: auto;
}

/* ---------------------------------------------------
   Desktop navigation (visible at lg / 1024px+)
--------------------------------------------------- */

.site-navigation {
    display: none;
    align-items: center;
    gap: 24px;
}

.primary-menu {
    display: flex;
    align-items: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s ease;
    padding-bottom: 4px;
}

.primary-menu a:hover {
    color: var(--primary);
}

/* animated underline on hover, matches the reference site */
.primary-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    background: var(--primary);
    transition: width 0.3s ease;
}

.primary-menu a:hover::after {
    width: 100%;
}

/* small arrow after any top-level item that has children */
.primary-menu .menu-item-has-children > a::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 2px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
}

.primary-menu .menu-item-has-children:hover > a::before,
.primary-menu .menu-item-has-children.is-open > a::before {
    transform: rotate(-135deg) translateY(2px);
}

.nav-search-toggle {
    display: flex;
    align-items: center;
    border: none;
    background: none;
    padding: 0;
    color: var(--ink);
    cursor: pointer;
    transition: color 0.2s ease;
}

.nav-search-toggle:hover {
    color: var(--primary);
}

/* ---------------------------------------------------
   Desktop right cluster: stacked pills, cart, call button
--------------------------------------------------- */

.site-header__actions {
    display: none;
    align-items: center;
    gap: 12px;
}

.header-pills {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.header-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border: 1px solid var(--primary);
    border-radius: 999px;
    color: var(--primary);
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.header-pill--underline {
    text-decoration: underline;
    text-decoration-color: var(--primary);
    text-underline-offset: 2px;
}

.header-pill:hover {
    background: var(--primary);
    color: #fff;
}

.header-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.header-phone:hover {
    background: var(--primary-dark);
}

.header-phone__text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    text-align: left;
}

.header-phone__label {
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
}

.header-phone__number {
    font-size: 14px;
    font-weight: 700;
}

.header-phone .header-phone__label {
    display: block;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1.35px;
}
 
.header-phone .header-phone__number {
    display: block;
    font-size: 20px;
    font-weight: 600;
    margin-top: 2px;
}
 
/* icon wrapper: svg phone receiver + 3 wave rings */
.icon-phone-animate {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    margin-right: 12px;
    line-height: 1;
    flex: 0 0 auto;
}
 
.icon-phone-animate__phone {
    position: relative;
    z-index: 2;
    display: inline-flex;
    color: #fff;
}
 
.icon-phone-animate__phone svg {
    display: block;
    fill: none;
    stroke: #fff;
}
 
/* Curved phone ringing waves */
.icon-phone-animate__wave {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    border: 2px solid #fff;
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-radius: 50%;
    transform: rotate(45deg);
    animation: curvedPhoneWave 1.4s ease-out infinite;
}

/* Small curved wave */
.icon-phone-animate__wave-sm {
    width: 9px;
    height: 9px;
    top: 2px;
    right: 0;
    animation-delay: 0s;
}

/* Medium curved wave */
.icon-phone-animate__wave-md {
    width: 15px;
    height: 15px;
    top: -2px;
    right: -3px;
    animation-delay: 0.25s;
}

/* Large curved wave */
.icon-phone-animate__wave-lg {
    width: 21px;
    height: 21px;
    top: -6px;
    right: -6px;
    animation-delay: 0.5s;
}

@keyframes curvedPhoneWave {
    0% {
        opacity: 0;
        transform: rotate(45deg) scale(0.7);
    }

    20% {
        opacity: 1;
    }

    55% {
        opacity: 0.7;
    }

    100% {
        opacity: 0;
        transform: rotate(45deg) scale(1);
    }
}
/* Same keyframe logic as the live site's main.css: only "from" and "50%" are
   defined — the ring fades/slides into place then holds until the animation
   loops and jump-cuts back to "from". This produces the flashing/ringing
   look rather than a smooth expand-and-fade sonar ping. */

 
@media (max-width: 767px) {
    .icon-phone-animate {
        width: 26px;
        height: 26px;
    }
}
 
 
/* ---------------------------------------------------
   Icon buttons — circular, used for cart (desktop) and
   the whole mobile icon row (search/portal/billing/cart)
--------------------------------------------------- */



.icon-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: 2px solid var(--primary);
    border-radius: 999px;
    background: #fff;
    color: var(--primary);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.icon-btn:hover {
    background: var(--primary);
    color: #fff;
}

.icon-btn__badge {
    position: absolute;
    top: -6px;
    right: -6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: var(--primary-dark);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

/* ---------------------------------------------------
   Mobile / tablet icon row (search, portal, billing,
   cart, hamburger) — visible below lg / 1024px
--------------------------------------------------- */

.header-icons-mobile {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ---------------------------------------------------
   Search overlay — drops down below the header,
   toggled by JS via the .is-open class
--------------------------------------------------- */

.search-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid #f0f0f0;
    box-shadow: var(--shadow-card);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    z-index: 70;
}

.search-overlay.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.search-overlay__inner {
    max-width: 48rem;
    margin: 0 auto;
    padding: 24px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.search-overlay__form {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 8px;
    transition: border-color 0.2s ease;
}

.search-overlay__form:focus-within {
    border-color: var(--primary);
}

.search-overlay__input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 18px;
    font-family: inherit;
    color: var(--ink);
    background: transparent;
}

.search-overlay__input::placeholder {
    color: var(--ink-soft);
}

.search-overlay__submit {
    display: flex;
    align-items: center;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--ink-soft);
    flex-shrink: 0;
}

.search-overlay__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border: none;
    border-radius: 999px;
    background: none;
    cursor: pointer;
    color: var(--ink);
    transition: background 0.2s ease;
}

.search-overlay__close:hover {
    background: var(--surface-blue);
}

/* ---------------------------------------------------
   Dropdown submenus (Services, Dispensary)
   WordPress core adds these classes automatically once
   menu items are nested in the wp-admin menu editor —
   no custom walker required.
--------------------------------------------------- */

.primary-menu li {
    position: relative;
}

.primary-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin:0;
    padding: 8px 0;
    min-width: 220px;
    list-style: none;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    box-shadow: 0 10px 30px -12px rgba(15, 60, 90, 0.18);
    z-index: 60;
}

.primary-menu .menu-item-has-children:hover > .sub-menu,
.primary-menu .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}

.primary-menu .sub-menu.is-open {
    display: block;
}

.primary-menu .sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    color: var(--ink);
    text-decoration: none;
}

.primary-menu .sub-menu li a:hover {
    background: var(--surface-blue);
    color: var(--primary);
}

/* ---------------------------------------------------
   Hamburger button (mobile only)
--------------------------------------------------- */



.menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: none;
    border-radius: 999px;
    background: var(--primary);
    cursor: pointer;
    transition: background 0.2s ease;
}

.menu-toggle:hover {
    background: var(--primary-dark);
}

.menu-toggle__bar {
    display: block;
    width: 16px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}
.menu-toggle.is-active .menu-toggle__bar:nth-child(2) {
    opacity: 0;
}
.menu-toggle.is-active .menu-toggle__bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

/* ---------------------------------------------------
   Mobile drawer + overlay
--------------------------------------------------- */

.mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(31, 41, 55, 0.4);
    z-index: 90;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.mobile-nav-overlay.is-visible {
    opacity: 1;
}

.mobile-nav-drawer {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 288px;
    max-width: 85vw;
    background: #fff;
    z-index: 100;
    box-shadow: var(--shadow-card);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 24px 24px 32px;
}

.mobile-nav-drawer.is-open {
    transform: translateX(0);
}

.mobile-nav-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    width: 40px;
    height: 40px;
    margin-bottom: 16px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    transition: background 0.2s ease;
}

.mobile-nav-drawer__close:hover {
    background: var(--surface-blue);
}

.mobile-nav-cta {
    display: block;
    margin-top: 24px;
    text-align: center;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.mobile-nav-cta:hover {
    background: var(--primary-dark);
}

/* ---------------------------------------------------
   Mobile menu list (inside the drawer)
--------------------------------------------------- */

.mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu li {
    border-bottom: 1px solid #f3f4f6;
}

.mobile-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 12px 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-menu > li > a:hover {
    color: var(--primary);
}

.mobile-menu .menu-item-has-children > a::after {
    content: "";
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.mobile-menu .menu-item-has-children.is-open > a::after {
    transform: rotate(-135deg);
}

.mobile-menu .sub-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--surface-blue);
}

.mobile-menu .menu-item-has-children.is-open > .sub-menu {
    display: block;
}

.mobile-menu .sub-menu a {
    display: block;
    padding: 12px 8px 12px 24px;
    font-size: 14px;
    color: var(--primary);
    text-decoration: none;
}

.mobile-menu .sub-menu a:hover {
    text-decoration: underline;
}

/* ---------------------------------------------------
   Responsive breakpoint — matches the React build's lg (1024px)
--------------------------------------------------- */

@media (min-width: 1024px) {
    .site-header__inner {
        padding: 12px 32px;
    }

    .site-navigation {
        display: flex;
    }

    .site-header__actions {
        display: flex;
    }

    .header-icons-mobile {
        display: none;
    }
}

@media (max-width: 1023px) {
    .menu-toggle {
        display: flex;
    }
}

body.mobile-nav-open {
    overflow: hidden;
}


/* =====================================================
   Hero section
   ===================================================== */

.hero {
    position: relative;
    padding-bottom: 96px;
}

.hero__media {
    position: relative;
    height: 360px;
    width: 100%;
    overflow: hidden;
}

.hero__image {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.hero__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0.6) 55%, rgba(255, 255, 255, 0) 100%);
}

.hero__content-wrap {
    position: relative;
    z-index: 10;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    align-items: center;
}

.hero__content {
    max-width: 32rem;
}


.site-header__inner,
.hero__content-wrap {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.site-header__inner {
    padding: 12px 16px;
}

.hero__content-wrap {
    padding: 0 16px;
}

.hero__title {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
    color: var(--ink);
}

.hero__subtitle {
    font-size: 1rem;
    color: var(--ink-soft);
    margin: 0;
}

.hero__form-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

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

.hero__buttons {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
}


.hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 155px;
    min-height: 48px;

    padding: 0 28px;

    border-radius: 999px;

    text-decoration: none;

    font-size: 15px;
    font-weight: 600;

    line-height: 1;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* New Patients */

.hero__button--primary {
    background: #2ca9df;
    color: #ffffff;
    border: 2px solid #2ca9df;
}

.hero__button--primary:hover {
    background: #1583c7;
    color: #ffffff;
    border-color: #1583c7;
    transform: translateY(-2px);
}


/* Existing Patients */

.hero__button--secondary {
    background: #ffffff;
    color: #2ca9df;
    border: 2px solid #2ca9df;
}

.hero__button--secondary:hover {
    background: #2ca9df;
    color: #ffffff;
    transform: translateY(-2px);
}


/* =====================================================
   MOVE APPOINTMENT FORM LOWER
   ===================================================== */




.hero__form-wrap {
    position: relative;
    z-index: 10;

    margin-top: -55px;
}


/* =====================================================
   DESKTOP HERO BUTTON POSITION
   ===================================================== */

@media (min-width: 768px) {

    .hero__content {
        max-width: 520px;
    }

    .hero__buttons {
        gap: 8px;
    }

    .hero__form-wrap {
        margin-top: -55px;
    }

}

@media (min-width: 1024px) {
    .hero__content-wrap {
        padding-left: 32px;
        padding-right: 32px;
    }
}

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

@media (max-width: 767px) {

    .hero__buttons {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        margin-top: 20px;
        margin-bottom: 10px;
    }

    .hero__button {
        width: auto;
        min-width: 125px;
        min-height: 40px;
        padding: 0 16px;
        border-radius: 999px;
        font-size: 13px;
        font-weight: 600;
        line-height: 1;
    }

    .hero__form-wrap {
        margin-top: 30px;
    }

    .appointment-form {
        margin-top: 0;
    }
}

@media (max-width: 380px) {

    .hero__buttons {
        gap: 8px;
    }

    .hero__button {
        min-width: 115px;
        min-height: 38px;
        padding: 0 13px;
        font-size: 12px;
    }

    .hero__form-wrap {
        margin-top: 24px;
    }
}

.appointment-form {
    position: relative;
    z-index: 20;
    margin-top: -80px;
    width: 100%;
    box-sizing: border-box;
}

.appointment-form__inner {
    background: #fff;
    border-radius: 2rem;
    box-shadow: var(--shadow-card);
    padding: 24px;
    box-sizing: border-box;
    width: 100%;
}

/* =========================================================
   APPOINTMENT FORM TITLE
   ========================================================= */

.appointment-form__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0 0 20px;
}

/* =========================================================
   FORM LAYOUT
   ========================================================= */

.appointment-form__form,
.appointment-form .wpcf7 form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
    margin: 0;
}

/* Remove default Contact Form 7 paragraph spacing */
.appointment-form .wpcf7 form p {
    margin: 0;
    padding: 0;
}

/* CF7 field wrapper */
.appointment-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* =========================================================
   FIELDS
   ========================================================= */

.appointment-form__field {
    display: block;
    width: 100%;
    margin: 0;
}

.appointment-form__field--select {
    position: relative;
    display: block;
    grid-column: 1 / -1;
}

/* =========================================================
   INPUTS
   ========================================================= */

.appointment-form__input,
.appointment-form input[type="text"],
.appointment-form input[type="tel"],
.appointment-form input[type="email"],
.appointment-form select {
    display: block;
    width: 100%;
    min-width: 0;
    height: 48px;
    box-sizing: border-box;
    border-radius: 24px;
    border: 1px solid #d9e2e8;
    padding: 0 18px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    line-height: 48px;
    color: var(--ink);
    background: #fff;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.appointment-form__input::placeholder {
    color: var(--ink-soft);
    opacity: 1;
}

.appointment-form__input:focus,
.appointment-form input[type="text"]:focus,
.appointment-form input[type="tel"]:focus,
.appointment-form input[type="email"]:focus,
.appointment-form select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(21, 131, 199, 0.10);
}

/* =========================================================
   SELECT
   ========================================================= */

.appointment-form__select,
.appointment-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 44px;
    color: var(--ink-soft);
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 17px center;
    background-size: 17px 17px;
}

/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

.appointment-form__submit,
.appointment-form input[type="submit"],
.appointment-form button[type="submit"] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
    border: none;
    border-radius: 23px;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.2s ease, transform 0.1s ease;
}

.appointment-form__submit span {
    margin: 0 auto;
}

.appointment-form__submit-icon {
    display: block;
    flex-shrink: 0;
}

.appointment-form__submit:hover,
.appointment-form input[type="submit"]:hover,
.appointment-form button[type="submit"]:hover {
    background: var(--primary-dark);
}

.appointment-form__submit:active,
.appointment-form input[type="submit"]:active,
.appointment-form button[type="submit"]:active {
    transform: scale(0.99);
}

/* =========================================================
   CONTACT FORM 7
   ========================================================= */

.appointment-form .wpcf7 {
    width: 100%;
}

.appointment-form .wpcf7 form {
    box-sizing: border-box;
}

.appointment-form .wpcf7-form-control {
    margin: 0;
}

.appointment-form .wpcf7-not-valid {
    border-color: #d9534f !important;
}

.appointment-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 5px;
    color: #d9534f;
    font-size: 11px;
    line-height: 1.4;
}

.appointment-form .wpcf7-response-output {
    grid-column: 1 / -1;
    margin: 12px 0 0 !important;
    padding: 8px 12px !important;
    border: 0 !important;
    color: var(--ink-soft);
    font-size: 12px;
    line-height: 1.4;
}

.appointment-form .wpcf7-form-control-wrap + br {
    display: none;
}

.appointment-form__success {
    color: var(--ink-soft);
    margin: 0;
}

/* =========================================================
   TABLET / SMALL DESKTOP
   ========================================================= */

@media (min-width: 640px) {
    .hero__media {
        height: 440px;
    }

    .hero__title {
        font-size: 2.25rem;
    }

    .hero__subtitle {
        font-size: 1.125rem;
    }

    .appointment-form__inner {
        padding: 32px;
    }

    .appointment-form__form,
    .appointment-form .wpcf7 form {
        grid-template-columns: 1fr 1fr;
    }

    .appointment-form__submit,
    .appointment-form input[type="submit"],
    .appointment-form button[type="submit"] {
        grid-column: span 2;
    }

    .appointment-form {
        margin-top: -96px;
    }
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) {
    .hero {
        padding-bottom: 128px;
    }

    .hero__media {
        height: 520px;
    }

    .hero__title {
        font-size: 3rem;
    }

    .appointment-form__inner {
        padding: 40px;
        display: flex;
        align-items: center;
        gap: 40px;
    }

    .appointment-form__title {
        width: 16rem;
        flex-shrink: 0;
        margin: 0;
    }

    .appointment-form__form,
    .appointment-form .wpcf7 form {
        flex: 1;
        min-width: 0;
    }
}

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

@media (max-width: 767px) {
    .appointment-form__inner {
        padding: 24px 20px;
    }

    .appointment-form__title {
        margin-bottom: 18px;
        font-size: 20px;
    }

    .appointment-form__form,
    .appointment-form .wpcf7 form {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .appointment-form__field--select {
        grid-column: auto;
    }

    .appointment-form__input,
    .appointment-form input[type="text"],
    .appointment-form input[type="tel"],
    .appointment-form input[type="email"],
    .appointment-form select {
        height: 46px;
        line-height: 46px;
        padding-left: 16px;
        padding-right: 16px;
        font-size: 13px;
    }

    .appointment-form__submit,
    .appointment-form input[type="submit"],
    .appointment-form button[type="submit"] {
        grid-column: auto;
        height: 46px;
        padding: 0 18px;
        font-size: 13px;
    }
}

/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 380px) {
    .appointment-form__inner {
        padding: 22px 16px;
    }

    .appointment-form__title {
        font-size: 19px;
    }

    .appointment-form__input,
    .appointment-form input[type="text"],
    .appointment-form input[type="tel"],
    .appointment-form input[type="email"],
    .appointment-form select {
        height: 44px;
        line-height: 44px;
        font-size: 13px;
    }

    .appointment-form__submit,
    .appointment-form input[type="submit"],
    .appointment-form button[type="submit"] {
        height: 44px;
    }

    .appointment-form .wpcf7-response-output {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* =====================================================
   Staff announcement banner
   ===================================================== */
/* =========================================
   Staff Announcement
========================================= */

.staff-announcement {
    width: 100%;
    max-width: 1100px;
    margin: 56px auto 0;
    padding: 0 24px;
}

.staff-announcement__inner {
    position: relative;
    min-height: 300px;
    display: flex;
    align-items: center;
}

/* Blue announcement card */
.staff-announcement__card {
    position: relative;
    z-index: 1;
    width: min(820px, 78%);
    background: var(--primary);
    color: #fff;

    padding: 42px 260px 42px 56px;

    border-radius: 0 70px 70px 70px;

    box-shadow: 0 12px 30px rgba(15, 60, 90, 0.12);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

/* Text */
.staff-announcement__eyebrow {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.3;
    margin: 0 0 6px;
    opacity: 0.95;
}

.staff-announcement__name {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.05;
    margin: 0 0 8px;
}

.staff-announcement__credentials {
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 0;
    opacity: 0.9;
}

/* Staff photo */
.staff-announcement__photo {
    position: absolute;

    right: 30px;
    top: 50%;
    transform: translateY(-50%);

    z-index: 2;

    width: 255px;
    height: 320px;

    object-fit: cover;

    border-radius: 14px 14px 70px 14px;

    box-shadow:
        0 15px 35px rgba(15, 60, 90, 0.20);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


/* =========================================
   Hover Effect
========================================= */

.staff-announcement__inner:hover .staff-announcement__card {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(15, 60, 90, 0.20);
}

.staff-announcement__inner:hover .staff-announcement__photo {
    transform: translateY(calc(-50% - 8px)) scale(1.025);
    box-shadow: 0 20px 45px rgba(15, 60, 90, 0.28);
}


/* =========================================
   Tablet
========================================= */

@media (max-width: 1023px) {

    .staff-announcement {
        max-width: 900px;
        margin-top: 48px;
        padding: 0 20px;
    }

    .staff-announcement__inner {
        min-height: 270px;
    }

    .staff-announcement__card {
        width: 80%;
        padding: 36px 210px 36px 40px;
        border-radius: 0 55px 55px 55px;
    }

    .staff-announcement__name {
        font-size: 2.7rem;
    }

    .staff-announcement__photo {
        right: 20px;
        width: 220px;
        height: 285px;
        border-radius: 14px 14px 55px 14px;
    }
}


/* =========================================
   Mobile
========================================= */

@media (max-width: 639px) {

    .staff-announcement {
        margin-top: 36px;
        padding: 0 16px;
    }

    .staff-announcement__inner {
        display: flex;
        flex-direction: column;
        min-height: 0;
        align-items: stretch;
    }

    .staff-announcement__card {
        width: 100%;
        padding: 32px 24px 28px;

        border-radius: 0 45px 45px 45px;

        text-align: center;
    }

    .staff-announcement__eyebrow {
        font-size: 1rem;
    }

    .staff-announcement__name {
        font-size: 2.2rem;
    }

    .staff-announcement__credentials {
        font-size: 1rem;
    }

 .staff-announcement__photo {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        width: 190px;
        height: 240px;
        margin: -10px auto 0;
        border-radius: 14px;
    }

    .staff-announcement__inner:hover .staff-announcement__photo {
        transform: scale(1.025);
    }

        .providers-intro__inner {
        text-align: left;
    }
}

/* =====================================================
   Feature banner (promo strip)
   ===================================================== */
/* =========================================================
   FEATURE / PROMO BANNER
   ========================================================= */

/* =====================================================
   FEATURE BANNER
   ===================================================== */

.feature-banner {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    line-height: 0;
}

.feature-banner picture {
    display: block;
    width: 100%;
}


.feature-banner__link {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.feature-banner__image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

/* =====================================================
   Why Choose Us
   ===================================================== */

/* =====================================================
   Why Choose Pinnacle
   Image Carousel + Content
   ===================================================== */

.why-choose {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 16px;
}

.why-choose__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}


/* =====================================================
   Carousel
   ===================================================== */

.why-choose__carousel {
    position: relative;
    width: 100%;
    min-width: 0;
}


/* -----------------------------------------------------
   Image viewport
   ----------------------------------------------------- */

.why-choose__carousel-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;

    border: 1px solid var(--primary);
    background: #f8fafc;

    box-shadow: var(--shadow-card);
}


/* -----------------------------------------------------
   Track
   ----------------------------------------------------- */

.why-choose__carousel-track {
    position: relative;
    width: 100%;
    height: 100%;
}


/* -----------------------------------------------------
   Individual slides
   ----------------------------------------------------- */

.why-choose__slide {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.5s ease,
        visibility 0.5s ease;
}


/* Active slide */

.why-choose__slide.is-active {
    opacity: 1;
    visibility: visible;
}


/* -----------------------------------------------------
   Images
   ----------------------------------------------------- */

.why-choose__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* -----------------------------------------------------
   Carousel dots container
   ----------------------------------------------------- */

.why-choose__dots {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 58px;

    padding: 14px 12px;

    background: #f8fafc;
}


/* -----------------------------------------------------
   Individual dots
   ----------------------------------------------------- */

.why-choose__dot {
    display: block;

    width: 10px;
    height: 10px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #c7c7c7;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Hover */

.why-choose__dot:hover {
    background: var(--primary-light);
    transform: scale(1.15);
}


/* Active */

.why-choose__dot.is-active {
    background: var(--primary);
    transform: scale(1.15);
}


/* Keyboard focus */

.why-choose__dot:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}


/* =====================================================
   Why Choose Content
   ===================================================== */

.why-choose__content {
    min-width: 0;
}


.why-choose__heading {
    margin: 0 0 24px;

    color: var(--primary);

    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.2;
}


.why-choose__body {
    color: var(--ink);

    font-size: 1rem;
    line-height: 1.8;

    margin: 20px 0 24px;
}


.why-choose__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    padding: 14px 22px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.why-choose__cta:hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
}


.why-choose__cta:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}


/* =====================================================
   Tablet
   ===================================================== */

@media (min-width: 640px) {

    .why-choose {
        padding: 64px 24px;
    }


    .why-choose__heading {
        font-size: 2.6rem;
    }

    .why-choose__body {
        font-size: 1rem;
    }


    .why-choose__dots {
        min-height: 64px;
    }

}


/* =====================================================
   Desktop
   ===================================================== */

@media (min-width: 1024px) {

    .why-choose {
        padding: 80px 32px;
    }


    .why-choose__grid {
        grid-template-columns: 1fr 1fr;

        gap: 64px;
    }


    .why-choose__carousel {
        width: 100%;
    }


    .why-choose__carousel-viewport {
        aspect-ratio: 4 / 3;
    }


    .why-choose__heading {
        font-size: 2.6rem;
    }


    .why-choose__body {
        font-size: 1rem;
        line-height: 1.9;

        max-width: 620px;
    }


    .why-choose__dots {
        min-height: 64px;
    }

}


/* =====================================================
   Large Desktop
   ===================================================== */

@media (min-width: 1280px) {

    .why-choose__grid {
        gap: 72px;
    }


    .why-choose__heading {
        font-size: 2.75rem;
    }

}


/* =====================================================
   Reduced Motion
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    .why-choose__slide {
        transition: none;
    }

    .why-choose__dot,
    .why-choose__cta {
        transition: none;
    }

}
/* =====================================================
   FEATURE ICONS ROW
   ===================================================== */

.feature-icons {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 0 0 80px;

    background: #fff;
}


/* -----------------------------------------------------
   THREE COLUMNS
   ----------------------------------------------------- */

.feature-icons__grid {
    display: grid;

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

    width: 100%;

    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
}


/* -----------------------------------------------------
   CARD
   ----------------------------------------------------- */

.feature-icons__card {
    position: relative;

    min-height: 270px;

    display: flex;
    flex-direction: column;

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

    text-align: center;

    padding: 40px 30px;

    box-sizing: border-box;

    border-right: 1px solid #dddddd;

    background: #fff;

    border-radius: 0;
    box-shadow: none;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}


/* Remove last separator */

.feature-icons__card:last-child {
    border-right: 0;
}


/*
 * The reference design has the middle feature
 * sitting on a very light gray surface.
 */

.feature-icons__card:nth-child(2) {
    background: #f4f4f4;
}


/* Don't use the old floating-card effect */

.feature-icons__card:hover {
    transform: none;

    box-shadow: none;
}


/* -----------------------------------------------------
   ICON
   ----------------------------------------------------- */

.feature-icons__icon {
    width: 82px;
    height: 82px;

    display: flex;

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

    margin: 0 0 22px;

    background: transparent;
    border: 0;
    border-radius: 0;

    color: #28a9e1;
}


/*
 * THIS is the important part.
 *
 * Your PHP SVGs are currently 28px.
 * Force the actual artwork to the size shown
 * in your reference.
 */

.feature-icons__icon svg {
    display: block;

    width: 72px;
    height: 72px;

    max-width: none;

    fill: currentColor;
    stroke: currentColor;

    overflow: visible;
}


/* Prevent theme styles from shrinking SVG elements */

.feature-icons__icon svg path,
.feature-icons__icon svg circle,
.feature-icons__icon svg rect,
.feature-icons__icon svg line,
.feature-icons__icon svg polyline,
.feature-icons__icon svg polygon {
    vector-effect: non-scaling-stroke;
}


/* -----------------------------------------------------
   TITLE
   ----------------------------------------------------- */

.feature-icons__title {
    max-width: 320px;

    margin: 0;

    color: #111111;

    font-family: "Inter", sans-serif;

    font-size: 22px;
    font-weight: 400;

    line-height: 1.55;

    text-align: center;
}


/* =====================================================
   DESKTOP
   ===================================================== */

@media (min-width: 1024px) {

    .feature-icons__card {
        min-height: 272px;

        padding: 40px 35px;
    }

    .feature-icons__icon {
        width: 84px;
        height: 84px;

        margin-bottom: 20px;
    }

    .feature-icons__icon svg {
        width: 76px;
        height: 76px;
    }

    .feature-icons__title {
        font-size: 22px;
    }
}


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

@media (max-width: 1023px) {

    .feature-icons {
        padding-bottom: 60px;
    }

    .feature-icons__card {
        min-height: 230px;

        padding: 30px 20px;
    }

    .feature-icons__icon {
        width: 70px;
        height: 70px;

        margin-bottom: 16px;
    }

    .feature-icons__icon svg {
        width: 62px;
        height: 62px;
    }

    .feature-icons__title {
        font-size: 18px;
    }
}


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

@media (max-width: 639px) {

    .feature-icons {
        padding-bottom: 45px;
    }

    .feature-icons__grid {
        grid-template-columns: 1fr;

        border-top: 1px solid #dddddd;
        border-bottom: 0;
    }

    .feature-icons__card {
        min-height: 210px;

        padding: 34px 20px;

        border-right: 0;
        border-bottom: 1px solid #dddddd;
    }

    .feature-icons__card:last-child {
        border-bottom: 0;
    }

    .feature-icons__icon {
        width: 70px;
        height: 70px;
    }

    .feature-icons__icon svg {
        width: 64px;
        height: 64px;
    }

    .feature-icons__title {
        font-size: 19px;
    }
}


/* =====================================================
   REDUCED MOTION
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    .feature-icons__card {
        transition: none;
    }
}
@media (min-width: 640px) {

    .why-choose__heading {
        font-size: 2.6rem;
    }

}


@media (min-width: 1024px) {

    .why-choose__heading {
        font-size: 2.6rem;
    }

}


@media (min-width: 1280px) {

    .why-choose__heading {
        font-size: 2.75rem;
    }

}
/* =====================================================
   Services ("What We Offer")
   ===================================================== */

/* =========================================================
   SERVICES — WHAT WE OFFER
   ========================================================= */

.services {
    position: relative;

    display: grid;

    grid-template-columns: 1fr;

    width: 100%;

    background: #eaf8fd;
}


/* =========================================================
   IMAGE
   ========================================================= */

.services__media {
    order: 1;

    width: 100%;

    height: 420px;
}


.services__media-inner {
    width: 100%;
    height: 100%;
}


.services__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   BLUE PANEL
   ========================================================= */

.services__panel {
    order: 1;
    padding-top: 38px;
    padding-left: 46px;
    padding-right: 46px;
    padding-bottom: 38px;
    background: #eaf8fd;
}

.services__content {
    background: var(--primary);

    color: #fff;

    padding: 48px 32px 56px;
}


/* =========================================================
   HEADING
   ========================================================= */

.services__heading {
    margin: 0 0 48px;

    color: #fff;

    font-size: 2rem;

    font-weight: 700;

    line-height: 1.15;
}


/* =========================================================
   SERVICE LIST
   ========================================================= */

.services__list {
    display: flex;

    flex-direction: column;

    gap: 48px;
}


/* =========================================================
   SERVICE ITEM
   ICON LEFT / CONTENT RIGHT
   ========================================================= */

.services__item {
    display: grid;

    grid-template-columns: 72px minmax(0, 1fr);

    column-gap: 22px;

    width: 100%;
    max-width: 620px;

    margin: 0;

    padding: 0;

    color: #fff;

    scroll-margin-top: 112px;
}


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

.services__icon {
    grid-column: 1;
    grid-row: 1 / span 2;

    width: 72px;
    height: 72px;

    display: flex;

    align-items: flex-start;
    justify-content: flex-start;

    margin: 2px 0 0;

    color: #fff;
}


.services__icon svg {
    display: block;

    width: 64px;
    height: 64px;

    max-width: none;
    max-height: none;

    color: #fff;

    fill: none;
    stroke: currentColor;

    overflow: visible;
}


/* =========================================================
   SERVICE TITLE
   ========================================================= */

.services__item-title {
    grid-column: 2;
    grid-row: 1;

    margin: 0 0 10px;

    color: #fff;

    font-size: 1.5rem;

    font-weight: 700;

    line-height: 1.25;
}


/* =========================================================
   SERVICE DESCRIPTION
   ========================================================= */

.services__item-description {
    grid-column: 2;
    grid-row: 2;

    margin: 0;

    color: rgba(255, 255, 255, 0.95);

    font-size: 1rem;

    line-height: 1.8;
}


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

@media (min-width: 640px) {

    .services__media {
        height: 520px;
    }

    .services__content {
        padding: 56px 48px 64px;
    }

    .services__heading {
        font-size: 2.25rem;
    }

    .services__item-title {
        font-size: 1.6rem;
    }

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) {

    .services {

        /*
         * Image and service area sit beside each other.
         */
            grid-template-columns: 1fr 1fr; 
          align-items: stretch;
    }


    /* -----------------------------------------------
       IMAGE
       ----------------------------------------------- */

    .services__media {

        order: 2;

        height: auto;

        min-height: 0;  
    }


    .services__media-inner {

        position: sticky;

        top: 80px;

         height: calc(100% - 80px);

    }


    .services__image {

        width: 100%;

        height: 100%;

        object-fit: cover;
    }


    /* -----------------------------------------------
       BLUE PANEL
       ----------------------------------------------- */

    .services__panel {

        order: 1;

        padding-top: 38px;

        padding-left: 46px;

        padding-bottom: 38px;

        background: #eaf8fd;
    }


    .services__content {



        padding: 48px 48px 72px;

        background: var(--primary);
    }


    /* -----------------------------------------------
       HEADING
       ----------------------------------------------- */

    .services__heading {

        margin-bottom: 50px;

        font-size: 2.5rem;
    }


    /* -----------------------------------------------
       SERVICES
       ----------------------------------------------- */

    .services__list {

        gap: 42px;
    }


    .services__item {

        grid-template-columns:
            72px
            minmax(0, 1fr);

        column-gap: 22px;

        max-width: 610px;
    }


    .services__icon {

        width: 72px;

        height: 72px;

        margin-top: 2px;
    }


    .services__icon svg {

        width: 64px;

        height: 64px;
    }


    .services__item-title {

        font-size: 1.65rem;

        line-height: 1.2;

        margin-bottom: 10px;
    }


    .services__item-description {

        font-size: 1rem;

        line-height: 1.8;
    }

}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1280px) {

    .services__panel {
        padding-left: 46px;
        padding-right: 46px;
        padding-top: 38px;
    }


    .services__content {

        padding: 48px 48px 80px;
    }


    .services__heading {

        font-size: 2.7rem;

        margin-bottom: 54px;
    }


    .services__list {

        gap: 42px;
    }


    .services__item {

        grid-template-columns:
            72px
            minmax(0, 1fr);

        column-gap: 22px;

        max-width: 610px;
    }


    .services__item-title {

        font-size: 1.7rem;

        line-height: 1.2;
    }

}


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

@media (max-width: 639px) {

    .services__media {
        min-height: 0;
    }


    .services__content {
        padding: 42px 22px 52px;
    }


    .services__heading {
        font-size: 2rem;

        margin-bottom: 42px;
    }


    .services__list {
        gap: 38px;
    }


    /*
     * Keep the icon on the LEFT on mobile.
     */
    .services__item {

        display: grid;

        grid-template-columns:
            52px
            minmax(0, 1fr);

        column-gap: 14px;

        width: 100%;

        max-width: 100%;
    }


    .services__icon {

        grid-column: 1;

        grid-row: 1 / span 2;

        width: 52px;

        height: 52px;

        margin-top: 2px;

        justify-content: flex-start;
    }


    .services__icon svg {

        width: 48px;

        height: 48px;
    }


    .services__item-title {

        grid-column: 2;

        grid-row: 1;

        margin: 0 0 8px;

        font-size: 1.25rem;

        line-height: 1.25;
    }


    .services__item-description {

        grid-column: 2;

        grid-row: 2;

        margin: 0;

        font-size: 0.95rem;

        line-height: 1.75;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .services__content {
        padding-left: 18px;
        padding-right: 18px;
    }


    .services__item {

        grid-template-columns:
            46px
            minmax(0, 1fr);

        column-gap: 12px;
    }


    .services__icon {

        width: 46px;

        height: 46px;
    }


    .services__icon svg {

        width: 43px;

        height: 43px;
    }


    .services__item-title {

        font-size: 1.15rem;
    }


    .services__item-description {

        font-size: 0.92rem;

        line-height: 1.7;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .services__media-inner {
        scroll-behavior: auto;
    }

}

/* =====================================================
   Testimonials carousel
   ===================================================== */

/* =====================================================
   TESTIMONIALS
   ===================================================== */

/* =====================================================
   TESTIMONIALS SECTION
   ===================================================== */

.testimonials {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 90px 16px 60px;
    box-sizing: border-box;

    background: #f7f7f7;

    overflow: hidden;
}


/* =====================================================
   INNER CONTENT
   ===================================================== */

.testimonials__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


/* =====================================================
   HEADING
   ===================================================== */

.testimonials__heading {
    margin: 0 0 52px;

    color: #2ca9df;

    font-size: 38px;
    line-height: 1.2;

    font-weight: 700;

    text-align: center;
}


/* =====================================================
   CAROUSEL
   ===================================================== */

.testimonials__carousel {
    position: relative;

    width: 100%;

    padding: 0 0 55px;

    box-sizing: border-box;
}


/* =====================================================
   VIEWPORT
   ===================================================== */

.testimonials__viewport {
    width: 100%;
    overflow: hidden;
}


/* =====================================================
   TRACK
   ===================================================== */

.testimonials__track {
    display: flex;
    align-items: stretch;
    gap: 30px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}

.testimonials__track::-webkit-scrollbar {
    display: none;
}


/* =====================================================
   SLIDE
   ===================================================== */

.testimonials__slide {
    flex: 0 0 100%;
    display: flex;
    min-width: 0;
    scroll-snap-align: start;
    box-sizing: border-box;
}


/* =====================================================
   TESTIMONIAL CARD
   ===================================================== */

.testimonials__card {
    width: 100%;
    height: 100%;
    min-height: 325px;
    box-sizing: border-box;
    padding: 40px;
    background: #ffffff;
    border: none;
    border-radius: 0;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.10);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* =====================================================
   CARD HEADER
   ===================================================== */

.testimonials__header {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 22px;
}


/* =====================================================
   INITIAL CIRCLE
   ===================================================== */

.testimonials__avatar {
    flex: 0 0 70px;

    width: 70px;
    height: 70px;

    display: flex;

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

    border-radius: 50%;

    background: #2ca9df;

    color: #ffffff;

    font-size: 27px;
    font-weight: 400;

    line-height: 1;
}


/* =====================================================
   PATIENT NAME
   ===================================================== */

.testimonials__name {
    margin: 0;

    color: #111111;

    font-size: 27px;
    font-weight: 500;

    line-height: 1.2;
}


/* =====================================================
   QUOTE
   ===================================================== */

.testimonials__quote {
    margin: 0;

    color: #333333;

    font-size: 17px;
    font-weight: 400;

    line-height: 1.9;

    max-width: 100%;
}


/* =====================================================
   ARROWS
   ===================================================== */

.testimonials__arrow {
    position: absolute;

    top: 50%;

    z-index: 10;

    width: 48px;
    height: 48px;

    padding: 0;

    border: none;
    border-radius: 3px;

    background: #ffffff;

    color: #333333;

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

    font-family: Arial, sans-serif;

    font-size: 38px;
    line-height: 1;

    cursor: pointer;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);

    transform: translateY(-50%);

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}


.testimonials__arrow:hover {
    background: #2ca9df;
    color: #ffffff;
}


.testimonials__arrow--prev {
    left: -24px;
}


.testimonials__arrow--next {
    right: -24px;
}


/* =====================================================
   DOT PAGINATION
   ===================================================== */

.testimonials__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 38px;
}


.testimonials__dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #c8c8c8;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}


.testimonials__dot:hover {
    transform: scale(1.15);
}


.testimonials__dot.is-active {
    background: #2ca9df;

    transform: scale(1.1);
}


/* =====================================================
   VIEW ALL BUTTON
   ===================================================== */

.testimonials__cta-wrap {
    display: flex;

    justify-content: center;

    margin-top: 0;
}


.testimonials__cta {
    min-height: 48px;

    padding: 0 25px;

    display: inline-flex;

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

    gap: 10px;

    border-radius: 999px;

    background: #2ca9df;

    color: #ffffff;

    text-decoration: none;

    font-size: 15px;
    font-weight: 500;

    line-height: 1;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}


.testimonials__cta:hover {
    background: #1583c7;

    color: #ffffff;

    transform: translateY(-1px);
}


/* =====================================================
   DESKTOP — TWO CARDS
   ===================================================== */

@media (min-width: 768px) {

    .testimonials__slide {
        flex: 0 0 calc(50% - 15px);
    }

    .testimonials__track {
        gap: 30px;
    }

    .testimonials__card {
        min-height: 325px;
        padding: 40px;
    }
}


/* =====================================================
   LARGE DESKTOP
   ===================================================== */

@media (min-width: 1100px) {

    .testimonials {
        padding-left: 40px;
        padding-right: 40px;
    }

    .testimonials__inner {
        max-width: 1200px;
    }

    .testimonials__heading {
        margin-bottom: 52px;
        font-size: 38px;
    }

    .testimonials__arrow--prev {
        left: -24px;
    }

    .testimonials__arrow--next {
        right: -24px;
    }
}


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

@media (max-width: 767px) {

    .testimonials {
        padding: 45px 15px 55px;
    }

    .testimonials__heading {
        margin-bottom: 34px;
        font-size: 30px;
    }

    .testimonials__carousel {
        padding-bottom: 35px;
    }

    .testimonials__track {
        gap: 15px;
        touch-action: pan-x;
    }

    .testimonials__slide {
        flex: 0 0 100%;
    }

    .testimonials__card {
        min-height: 0;
        padding: 30px 25px 35px;
    }

    .testimonials__header {
        gap: 14px;
        margin-bottom: 20px;
    }

    .testimonials__avatar {
        flex-basis: 60px;

        width: 60px;
        height: 60px;

        font-size: 23px;
    }

    .testimonials__name {
        font-size: 23px;
    }

    .testimonials__quote {
        font-size: 16px;
        line-height: 1.75;
    }

    .testimonials__arrow {
        display: none;
    }

    .testimonials__dots {
        margin-top: 25px;
    }
}


/* =====================================================
   SMALL PHONES
   ===================================================== */

@media (max-width: 480px) {

    .testimonials {
        padding-left: 12px;
        padding-right: 12px;
    }

    .testimonials__heading {
        font-size: 28px;
    }

    .testimonials__card {
        padding: 25px 20px 30px;
    }

    .testimonials__avatar {
        width: 56px;
        height: 56px;

        flex-basis: 56px;

        font-size: 21px;
    }

    .testimonials__name {
        font-size: 21px;
    }

    .testimonials__quote {
        font-size: 15px;
        line-height: 1.7;
    }
}


/* =====================================================
   ACCESSIBILITY
   ===================================================== */

.testimonials__arrow:focus-visible,
.testimonials__dot:focus-visible,
.testimonials__cta:focus-visible {
    outline: 3px solid #2ca9df;
    outline-offset: 3px;
}


/* =====================================================
   REDUCED MOTION
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    .testimonials__track {
        scroll-behavior: auto;
    }

    .testimonials__arrow,
    .testimonials__dot,
    .testimonials__cta {
        transition: none;
    }
}
/* =====================================================
   CTA banner
   ===================================================== */

.cta {
    background: var(--surface-blue);
    padding: 56px 16px;
}

.cta__inner {
    max-width: 48rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.cta__logo {
    display: block;
    height: 48px;
    width: auto;
}

.cta__heading {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0;
}

.cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease;
}

.cta__button:hover {
    background: var(--primary-dark);
}

@media (min-width: 640px) {
    .cta__heading {
        font-size: 1.875rem;
    }
}

/* =====================================================
   About
   ===================================================== */

.about {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 16px;
}

.about__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}

.about__image {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 1.25rem;
    box-shadow: var(--shadow-card);
    display: block;
}

.about__heading {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0 0 16px;
}

.about__body {
    color: var(--ink-soft);
    line-height: 1.7;
    margin: 0 0 24px;
}

.about__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease;
}

.about__cta:hover {
    background: var(--primary-dark);
}

@media (min-width: 1024px) {
    .about {
        padding: 80px 32px;
    }

    .about__grid {
        grid-template-columns: 1fr 1fr;
    }

    .about__heading {
        font-size: 1.875rem;
    }
}

/* =====================================================
   Service highlights carousel
   ===================================================== */

/* =========================================================
   PINNACLE SERVICES HIGHLIGHTS
   Desktop-first design
   ========================================================= */

.service-highlights {
    width: 100%;
    background: #e6f6fc;
    overflow: hidden;
}

.service-highlights__inner {
    position: relative;

    width: min(100%, 1280px);
    min-height: 525px;

    margin: 0 auto;
    padding: 60px 48px 60px 64px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(500px, 1.08fr);
    align-items: center;

    gap: 55px;
}


/* =========================================================
   LEFT SERVICE LIST
   ========================================================= */

.service-highlights__list {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 8px;

    min-width: 0;
}


/* =========================================================
   SERVICE ITEM
   ========================================================= */

.service-highlights__item {
    position: relative;

    width: 100%;
    min-height: 100px;

    display: flex;
    align-items: center;

    gap: 26px;

    margin: 0;
    padding: 18px 28px;

    border: 0;
    border-radius: 0;

    background: transparent;

    color: #111;

    font-family: inherit;
    text-align: left;

    cursor: pointer;

    appearance: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Hover */

.service-highlights__item:hover {
    background: rgba(35, 166, 220, 0.08);
}


/* Active */

.service-highlights__item.is-active {
    background: #29a9df;
    color: #fff;

    box-shadow:
        8px 10px 14px rgba(0, 0, 0, 0.20);

    transform: translateX(0);
}


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

.service-highlights__icon {
    width: 68px;
    min-width: 68px;
    height: 68px;

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

    color: #050505;
}

.service-highlights__item.is-active
.service-highlights__icon {
    color: #fff;
}

.service-highlights__icon svg {
    display: block;

    width: 58px;
    height: 58px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-highlights__icon .pinnacle-tms-icon {
    width: 72px;
    height: 42px;

    stroke: none;

    fill: currentColor;
}


/* =========================================================
   SERVICE TEXT
   ========================================================= */

.service-highlights__item-content {
    min-width: 0;

    display: flex;
    flex-direction: column;

    justify-content: center;

    gap: 5px;
}

.service-highlights__item-title {
    display: block;

    font-size: 25px;
    font-weight: 400;

    line-height: 1.2;

    color: currentColor;
}

.service-highlights__learn {
    display: none;

    align-items: center;

    gap: 7px;

    color: #fff;

    font-size: 16px;
    font-weight: 400;

    line-height: 1;

    text-transform: uppercase;
}

.service-highlights__item.is-active
.service-highlights__learn {
    display: inline-flex;
}

.service-highlights__learn svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   RIGHT IMAGE AREA
   ========================================================= */

.service-highlights__visual {
    position: relative;

    width: 100%;
    height: 500px;

    min-width: 0;

    overflow: visible;
}


/*
 * Blue vertical strip behind image.
 * This is what gives the screenshot its offset blue edge.
 */

.service-highlights__accent {
    position: absolute;

    top: 30px;
    right: -25px;

    width: 25px;
    height: calc(100% - 60px);

    background: #29a9df;

    z-index: 0;
}


/* =========================================================
   IMAGE PANELS
   ========================================================= */

.service-highlights__panel {
    position: absolute;

    inset: 0;

    display: block;

    overflow: hidden;

    opacity: 0;
    visibility: hidden;

    z-index: 1;

    text-decoration: none;

    transition:
        opacity 0.45s ease,
        visibility 0s linear 0.45s;
}

.service-highlights__panel.is-active {
    opacity: 1;
    visibility: visible;

    transition:
        opacity 0.45s ease,
        visibility 0s linear 0s;
}

.service-highlights__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.001);

    transition:
        transform 0.6s ease;
}

.service-highlights__panel:hover
.service-highlights__image {
    transform: scale(1.015);
}


/* =========================================================
   REMOVE OLD OVERLAY CONTENT
   ========================================================= */

.service-highlights__scrim,
.service-highlights__content,
.service-highlights__badge,
.service-highlights__title,
.service-highlights__description,
.service-highlights__cta {
    display: none;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) {

    .service-highlights__inner {
        min-height: 550px;

        padding-top: 60px;
        padding-bottom: 60px;
    }

    .service-highlights__visual {
        height: 500px;
    }

}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1400px) {

    .service-highlights__inner {
        width: 1270px;

        grid-template-columns:
            minmax(0, 1fr)
            590px;

        gap: 65px;

        padding-left: 25px;
        padding-right: 25px;
    }

    .service-highlights__visual {
        height: 500px;
    }

    .service-highlights__item-title {
        font-size: 25px;
    }

}


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

@media (max-width: 1023px) {

    .service-highlights__inner {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);

        gap: 28px;

        padding:
            45px
            35px
            45px
            35px;
    }

    .service-highlights__visual {
        height: 450px;
    }

    .service-highlights__item {
        min-height: 88px;

        padding: 14px 18px;

        gap: 15px;
    }

    .service-highlights__icon {
        width: 52px;
        min-width: 52px;
        height: 52px;
    }

    .service-highlights__icon svg {
        width: 46px;
        height: 46px;
    }

    .service-highlights__item-title {
        font-size: 20px;
    }

}


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

@media (max-width: 767px) {

    .service-highlights__inner {
        width: 100%;

        min-height: 0;

        grid-template-columns:
            minmax(0, 1fr)
            135px;

        gap: 0;

        padding: 25px 0 25px 0;

        align-items: stretch;
    }


    /*
     * Keep the same two-column visual composition as the
     * screenshot instead of turning it into cards.
     */

    .service-highlights__list {
        gap: 4px;
    }


    .service-highlights__item {
        min-height: 82px;

        padding: 12px 10px 12px 20px;

        gap: 10px;
    }


    .service-highlights__icon {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }

    .service-highlights__icon svg {
        width: 38px;
        height: 38px;
    }


    .service-highlights__item-title {
        font-size: 17px;

        line-height: 1.25;
    }


    .service-highlights__learn {
        font-size: 11px;

        gap: 4px;
    }

    .service-highlights__learn svg {
        width: 17px;
        height: 17px;
    }


    .service-highlights__visual {
        height: 430px;
    }


    .service-highlights__accent {
        top: 20px;
        right: -10px;

        width: 10px;

        height: calc(100% - 40px);
    }


    .service-highlights__image {
        object-position: center;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .service-highlights__inner {
        grid-template-columns:
            minmax(0, 1fr)
            118px;
    }

    .service-highlights__item {
        padding-left: 14px;
        padding-right: 8px;

        gap: 7px;
    }

    .service-highlights__icon {
        width: 36px;
        min-width: 36px;
        height: 36px;
    }

    .service-highlights__icon svg {
        width: 33px;
        height: 33px;
    }

    .service-highlights__item-title {
        font-size: 15px;
    }

    .service-highlights__visual {
        height: 400px;
    }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.service-highlights__item:focus-visible {
    outline: 3px solid #111;

    outline-offset: 3px;
}

.service-highlights__panel:focus-visible {
    outline: 3px solid #111;

    outline-offset: -3px;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .service-highlights__item,
    .service-highlights__panel,
    .service-highlights__image {
        transition: none;
    }

}

/* =========================================================
   OUR SPECIALISTS
   ========================================================= */

.specialists {
    width: 100%;
    margin: 0;
    padding: 70px 32px 80px;
    background: #fff;
}

.specialists__grid {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;

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

    /*
     * Important:
     * Align all three cards to the bottom.
     * This makes the founder's taller image rise upward
     * while the bottom of all photos remains aligned.
     */
    align-items: end;

    column-gap: 48px;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.specialists__card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    background: #fff;

    border: 0;
    border-radius: 0;
    box-shadow: none;

    overflow: visible;

    transition: transform 0.25s ease;
}

.specialists__card:hover {
    transform: translateY(-4px);
}


/* ---------------------------------------------------------
   PHOTO
   --------------------------------------------------------- */

.specialists__photo-wrap {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #f1f5f7;
}


/*
 * Normal specialists
 */
.specialists__photo {
    display: block;

    width: 100%;
    height: 360px;

    object-fit: cover;
    object-position: center;

    transition: transform 0.35s ease;
}


/*
 * Founder / featured specialist
 *
 * This is the important part.
 *
 * The founder is taller but because the grid uses
 * align-items:end, the bottom remains aligned with
 * the other specialist photos.
 */
.specialists__card--featured .specialists__photo {
    height: 440px;
}


/* ---------------------------------------------------------
   BLUE FADE AT BOTTOM OF IMAGE
   --------------------------------------------------------- */

.specialists__photo-wrap::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 42%;

    background: linear-gradient(
        to top,
        #29a9df 0%,
        rgba(41, 169, 223, 0.85) 18%,
        rgba(41, 169, 223, 0.25) 58%,
        rgba(41, 169, 223, 0) 100%
    );

    pointer-events: none;
}


/*
 * Slight image movement on hover
 */
.specialists__card:hover .specialists__photo {
    transform: scale(1.025);
}


/* ---------------------------------------------------------
   TEXT AREA
   --------------------------------------------------------- */

.specialists__body {
    width: 100%;

    padding: 20px 10px 0;

    text-align: center;

    background: #fff;
}


/*
 * Name
 */
.specialists__name {
    margin: 0;

    color: #29a9df;

    font-size: 27px;
    line-height: 1.2;
    font-weight: 500;

    text-align: center;
}


/*
 * Credentials
 */
.specialists__title {
    margin: 6px 0 0;

    color: #111;

    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;

    text-align: center;
}


/*
 * Profile link
 *
 * Hidden until hover so the visual stays close
 * to the screenshot.
 */
.specialists__link {
    display: inline-flex;

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

    margin-top: 14px;

    color: #29a9df;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    opacity: 0;
    transform: translateY(5px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

.specialists__card:hover .specialists__link {
    opacity: 1;
    transform: translateY(0);
}

.specialists__link:hover {
    text-decoration: underline;
}


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

@media (max-width: 1023px) {

    .specialists {
        padding: 60px 24px 70px;
    }

    .specialists__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 24px;
    }

    .specialists__photo {
        height: 300px;
    }

    .specialists__card--featured .specialists__photo {
        height: 365px;
    }

    .specialists__name {
        font-size: 22px;
    }

    .specialists__title {
        font-size: 15px;
    }
}


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

@media (max-width: 767px) {

    .specialists {
        padding: 50px 20px 60px;
    }

    .specialists__grid {
        grid-template-columns: 1fr;

        max-width: 460px;

        margin: 0 auto;

        row-gap: 42px;

        /*
         * We no longer need the desktop bottom alignment
         * when the cards are stacked.
         */
        align-items: stretch;
    }

    .specialists__card {
        width: 100%;
    }

    .specialists__photo {
        width: 100%;
        height: 380px;
    }

    /*
     * Founder remains taller on mobile,
     * but not excessively tall.
     */
    .specialists__card--featured .specialists__photo {
        height: 430px;
    }

    .specialists__body {
        padding: 17px 8px 0;
    }

    .specialists__name {
        font-size: 24px;
    }

    .specialists__title {
        font-size: 16px;
    }

    /*
     * Always show profile links on touch devices.
     * There is no hover on most phones.
     */
    .specialists__link {
        opacity: 1;
        transform: none;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    .specialists {
        padding: 40px 16px 50px;
    }

    .specialists__grid {
        max-width: 100%;
        row-gap: 36px;
    }

    .specialists__photo {
        height: 330px;
    }

    .specialists__card--featured .specialists__photo {
        height: 375px;
    }

    .specialists__name {
        font-size: 22px;
    }

    .specialists__title {
        font-size: 15px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    .specialists__photo {
        height: 300px;
    }

    .specialists__card--featured .specialists__photo {
        height: 345px;
    }

    .specialists__name {
        font-size: 20px;
    }

    .specialists__title {
        font-size: 14px;
    }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .specialists__card,
    .specialists__photo,
    .specialists__link {
        transition: none;
    }

}
/* =====================================================
   Supplement banner (Dispensary)
   ===================================================== */

.supplement-banner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 16px;
}

.supplement-banner__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}

.supplement-banner__media {
    position: relative;
}

.supplement-banner__accent {
    position: absolute;
    left: -12px;
    top: -12px;
    bottom: -12px;
    width: 66%;
    border-radius: 1rem;
    background: var(--primary);
    z-index: -1;
}

.supplement-banner__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: var(--shadow-card);
    display: block;
}

.supplement-banner__heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.3;
    margin: 0 0 16px;
}

.supplement-banner__body {
    color: var(--ink-soft);
    line-height: 1.7;
    max-width: 28rem;
    margin: 0 0 32px;
}

.supplement-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;
    transition: background 0.2s ease;
}

.supplement-banner__cta:hover {
    background: var(--primary-dark);
}

@media (min-width: 1024px) {
    .supplement-banner {
        padding: 80px 32px;
    }

    .supplement-banner__grid {
        grid-template-columns: 1fr 1fr;
        gap: 64px;
    }

    .supplement-banner__heading {
        font-size: 1.875rem;
    }
}
/* =====================================================
   NEWS ARTICLES
   Screenshot-matched responsive carousel
   ===================================================== */

.news {
    position: relative;

    width: 100%;
    max-width: 1280px;

    margin: 0 auto;

    padding: 56px 16px 70px;

    box-sizing: border-box;

    overflow: hidden;
}


/* =====================================================
   HEADING
   ===================================================== */

.news::before {
    content: "News Articles";

    display: block;

    text-align: center;

    margin: 0 0 44px;

    color: #2ca9da;

    font-size: 2rem;

    line-height: 1.2;

    font-weight: 700;
}


/* =====================================================
   CAROUSEL
   ===================================================== */

.news__carousel {
    position: relative;

    width: 100%;
}


/* =====================================================
   VIEWPORT
   ===================================================== */

.news__viewport {
    position: relative;

    width: min(1128px, 100%);

    margin: 0 auto;

    overflow: hidden;
}


/* =====================================================
   TRACK
   ===================================================== */

.news__track {
    display: flex;

    width: 100%;

    will-change: transform;

    transition: transform 0.55s ease;

    cursor: grab;

    user-select: none;

    touch-action: pan-y;
}

.news__track.is-dragging {
    cursor: grabbing;

    transition: none;
}


/* =====================================================
   DESKTOP CARDS
   ===================================================== */

.news__card {
    flex: 0 0 50%;

    width: 50%;

    min-width: 50%;

    display: flex;

    flex-direction: column;

    margin: 0;

    padding: 0 15px;

    box-sizing: border-box;

    background: transparent;

    border: none;

    border-radius: 0;

    overflow: hidden;
}


/*
 * Inner visual card
 *
 * Since the PHP structure has the image and body directly
 * inside the article, use the card itself as the visual box.
 */

.news__card {
    background: #fff;

    box-shadow:
        0 8px 18px rgba(0, 0, 0, 0.08);
}


/* =====================================================
   IMAGE
   ===================================================== */

.news__image {
    display: block;

    width: 100%;

    height: 188px;

    margin: 0;

    padding: 0;

    object-fit: cover;

    object-position: center;

    flex: none;
}


/* =====================================================
   BODY
   ===================================================== */

.news__body {
    display: flex;

    flex-direction: column;

    min-height: 265px;

    padding: 18px 30px 30px;

    box-sizing: border-box;

    background: #fff;
}


/*
 * The screenshot does not visibly show the article date.
 * Keep it in the markup but hide it visually.
 */

.news__date {
    display: none;
}


/* =====================================================
   TITLE
   ===================================================== */

.news__title {
    margin: 0 0 8px;

    color: #455864;

    font-size: 1.8rem;

    line-height: 1.2;

    font-weight: 600;

    letter-spacing: -0.02em;
}


/* =====================================================
   EXCERPT
   ===================================================== */

.news__excerpt {
    margin: 0 0 10px;

    color: #333;

    font-size: 1rem;

    line-height: 1.95;

    font-weight: 400;
}


/* =====================================================
   READ MORE
   ===================================================== */

.news__read-more {
    display: inline-block;

    width: fit-content;

    margin-top: auto;

    color: #111;

    font-size: 1rem;

    line-height: 1.4;

    font-weight: 600;

    text-decoration: none;

    transition: color 0.2s ease;
}

.news__read-more:hover {
    color: #2ca9da;

    text-decoration: none;
}


/* =====================================================
   ARROWS
   ===================================================== */

.news__arrow {
    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 46px;

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.96);

    color: #333;

    font-size: 25px;

    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.10);

    z-index: 5;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.news__arrow:hover {
    color: #2ca9da;

    transform:
        translateY(-50%)
        scale(1.05);
}

.news__arrow--prev {
    left: 0;
}

.news__arrow--next {
    right: 0;
}


/* =====================================================
   DOTS
   ===================================================== */

.news__dots {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    margin-top: 30px;
}

.news__dot {
    width: 10px;

    height: 10px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: #c9c9c9;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.news__dot:hover {
    transform: scale(1.15);
}

.news__dot.is-active {
    background: #2ca9da;

    transform: scale(1.05);
}


/* =====================================================
   VIEW ALL
   ===================================================== */

.news__view-all-wrap {
    display: flex;

    justify-content: center;

    margin-top: 32px;
}

.news__view-all {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    min-width: 152px;

    padding: 14px 25px;

    box-sizing: border-box;

    border-radius: 999px;

    background: #2ca9da;

    color: #fff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    line-height: 1;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.news__view-all:hover {
    background: #2499c7;

    color: #fff;

    transform: translateY(-2px);
}

.news__view-all-arrow {
    font-size: 24px;

    line-height: 12px;

    font-weight: 400;
}


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

@media (max-width: 1023px) {

    .news {
        width: 100%;

        max-width: none;

        padding: 42px 0 60px;
    }

    .news::before {
        margin-bottom: 34px;

        padding: 0 20px;

        font-size: 1.8rem;
    }

    .news__viewport {
        width: 100%;

        overflow: hidden;
    }

    /*
     * One complete article per slide.
     */

    .news__card {
        flex: 0 0 100%;

        width: 100%;

        min-width: 100%;

        padding: 0;

        box-shadow: none;

        scroll-snap-align: start;
    }

    .news__image {
        width: 100%;

        height: auto;

        aspect-ratio: 1.75 / 1;

        object-fit: cover;
    }

    .news__body {
        min-height: 0;

        padding: 20px 20px 28px;
    }

    .news__title {
        font-size: clamp(
            1.55rem,
            6vw,
            1.9rem
        );

        line-height: 1.18;
    }

    .news__excerpt {
        font-size: 1rem;

        line-height: 1.8;
    }

    /*
     * Arrows are hidden on phones.
     * User can swipe or use dots.
     */

    .news__arrow {
        display: none;
    }

    .news__dots {
        margin-top: 28px;

        gap: 9px;
    }

    .news__dot {
        width: 9px;

        height: 9px;
    }

    .news__view-all-wrap {
        margin-top: 32px;
    }
}


/* =====================================================
   SMALL PHONES
   ===================================================== */

@media (max-width: 639px) {

    .news {
        padding-top: 36px;

        padding-bottom: 50px;
    }

    .news::before {
        margin-bottom: 28px;

        font-size: 1.65rem;
    }

    .news__image {
        aspect-ratio: 1.72 / 1;
    }

    .news__body {
        padding: 18px 20px 26px;
    }

    .news__title {
        font-size: 1.55rem;
    }

    .news__excerpt {
        font-size: 0.98rem;

        line-height: 1.75;
    }

    .news__view-all {
        min-width: 152px;

        padding: 14px 24px;
    }
}


/* =====================================================
   LARGE DESKTOP
   ===================================================== */

@media (min-width: 1280px) {

    .news {
        padding-left: 16px;

        padding-right: 16px;
    }

    .news__viewport {
        width: 1128px;

        max-width: calc(100% - 80px);
    }

    .news__image {
        height: 188px;
    }

    .news__card {
        padding-left: 15px;

        padding-right: 15px;
    }
}
/* =====================================================
   Quick facts band
   ===================================================== */

.quick-facts {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 16px;
}

.quick-facts__grid {
    display: grid;
    grid-template-columns: 1fr;
}

.quick-facts__item {
    padding: 32px 0;
    border-top: 1px solid #e5e7eb;
}

.quick-facts__item:first-child {
    padding-top: 0;
    border-top: none;
}

.quick-facts__item:last-child {
    padding-bottom: 0;
}

.quick-facts__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.3;
    margin: 0 0 16px;
}

.quick-facts__description {
    color: var(--ink-soft);
    line-height: 1.7;
    margin: 0 0 24px;
}

.quick-facts__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;
    transition: background 0.2s ease;
}

.quick-facts__cta:hover {
    background: var(--primary-dark);
}

@media (min-width: 640px) {
    .quick-facts {
        padding: 56px 24px;
    }

    .quick-facts__title {
        font-size: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .quick-facts {
        padding: 80px 32px;
    }

    .quick-facts__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .quick-facts__item {
        padding: 0 32px;
        border-top: none;
        border-left: 1px solid #e5e7eb;
    }

    .quick-facts__item:first-child {
        padding-left: 0;
        border-left: none;
    }

    .quick-facts__item:last-child {
        padding-right: 0;
    }
}

/* =====================================================
   Contact section
   ===================================================== */

.contact__banner {
    background: var(--surface-blue);
}

.contact__banner-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.contact__banner-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0;
}

.contact__banner-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.contact__banner-cta:hover {
    background: var(--primary-dark);
}

.contact__grid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
}

.contact__heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0 0 16px;
}

.contact__body {
    color: var(--ink-soft);
    line-height: 1.7;
    max-width: 28rem;
    margin: 0 0 32px;
}

@media (min-width: 640px) {
    .contact__banner-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

@media (min-width: 1024px) {
    .contact__grid {
        grid-template-columns: 1fr 1fr;
        gap: 56px;
        padding: 80px 32px;
    }

    .contact__heading {
        font-size: 1.875rem;
    }
}

/* ---------------------------------------------------
   Contact form card — underline-style inputs
--------------------------------------------------- */

.contact-form__form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contact-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.contact-form__input {
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #d1d5db;
    background: transparent;
    padding: 0 0 8px;
    font-size: 14px;
    font-family: inherit;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.contact-form__input::placeholder {
    color: var(--ink-soft);
}

.contact-form__input:focus {
    outline: none;
    border-color: var(--primary);
}

.contact-form__textarea {
    resize: none;
}

.contact-form__submit {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease;
}

.contact-form__submit:hover {
    background: var(--primary-dark);
}

.contact-form__submit:active {
    transform: scale(0.99);
}

.contact-form__success {
    color: var(--ink-soft);
    margin: 0;
}

@media (min-width: 640px) {
    .contact-form__row {
        grid-template-columns: 1fr 1fr;
    }
}

.contact-form__select {
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #d1d5db;
    background: transparent;
    padding: 0 24px 8px 0;
    font-size: 14px;
    font-family: inherit;
    color: var(--ink);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 4px center;
    transition: border-color 0.2s ease;
}

.contact-form__select:focus {
    outline: none;
    border-color: var(--primary);
}

/* ---------------------------------------------------
   Contact page (page-contact.php)
--------------------------------------------------- */

.contact-hero {
    max-width: 640px;
    margin: 0 0 32px;
}

.contact-hero__heading {
    margin: 0 0 16px;
    color: var(--primary-dark);
    font-size: clamp(24px, 3vw, 32px);
}

.contact-hero__intro {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.8;
}

.contact-info-card__row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 20px;
}

.contact-info-card__row:last-of-type {
    margin-bottom: 0;
}

.contact-info-card__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
}

.contact-info-card__text {
    color: var(--ink);
    line-height: 1.5;
    margin: 0;
}

.contact-info-card__directions {
    display: inline-block;
    margin-top: 6px;
    color: var(--primary);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}

.contact-info-card__directions:hover {
    text-decoration: underline;
}

.contact-info-card__phone {
    color: var(--ink);
    font-weight: 600;
    text-decoration: none;
}

.contact-info-card__phone:hover {
    color: var(--primary);
}

.contact-social {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}

.contact-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    transition: background 0.2s ease, color 0.2s ease;
}

.contact-social a:hover {
    background: var(--primary);
    color: #fff;
}

.contact-social svg {
    width: 16px;
    height: 16px;
}

.contact-info-card {
    border-bottom: 4px solid var(--primary-dark);
}

/* ---------------------------------------------------
   Contact map embed
--------------------------------------------------- */

.contact-map {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.contact-map__iframe {
    display: block;
    width: 100%;
    height: 320px;
    border: 0;
}

.contact-map__card {
    position: absolute;
    left: 12px;
    top: 12px;
    max-width: 85%;
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 16px;
}

.contact-map__card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.contact-map__name {
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
    margin: 0;
}

.contact-map__address-line {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.3;
    margin: 0;
}

.contact-map__external {
    flex-shrink: 0;
    display: flex;
    color: var(--ink-soft);
    transition: color 0.2s ease;
}

.contact-map__external:hover {
    color: var(--primary);
}

.contact-map__directions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
}

.contact-map__directions:hover {
    text-decoration: underline;
}

.contact-map__attribution {
    position: absolute;
    right: 6px;
    bottom: 4px;
    font-size: 10px;
    color: var(--ink-soft);
    background: rgba(255, 255, 255, 0.8);
    padding: 2px 6px;
    border-radius: 4px;
    margin: 0;
}

@media (min-width: 640px) {
    .contact-map__iframe {
        height: 420px;
    }

    .contact-map__card {
        left: 20px;
        top: 20px;
        max-width: 20rem;
    }
}

/* ---------------------------------------------------
   Site footer (footer.php)
--------------------------------------------------- */

.site-footer {
    background: #475569;
    color: #fff;
}

.site-footer__top {
    max-width: 1200px;
    margin: 0 auto;
    padding: 56px 32px 40px;
    display: grid;
    gap: 40px;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .site-footer__top {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .site-footer__top {
        grid-template-columns: 2fr 1fr 1fr;
    }
}

.footer-brand__logo-card {
    display: inline-block;
    max-width: 220px;
    padding: 16px 20px;
    margin-bottom: 20px;
}

.footer-brand__logo {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.footer-brand__partner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.footer-brand__partner-logo {
    width: 190px;
    height: 72px;

    object-fit: contain;
    object-position: left center;

    max-width: none;
    flex-shrink: 0;

    display: block;

    filter: brightness(0) invert(1);
}

.footer-brand__quote {
    max-width: 280px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #fffdfd;
    font-size: 14px;
    font-style: italic;
    line-height: 1.4;
}

.footer-brand__tagline {
    max-width: 420px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 20px;
}

.footer-brand__socials {
    display: flex;
    gap: 12px;
}

.footer-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.footer-social-icon:hover {
    background: var(--primary);
    color: #fff;
}

.footer-heading {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px;
}

.footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 14px;
}

.footer-links li:first-child a {
    color: var(--surface-blue);
    text-decoration: underline;
}

.footer-links a:hover {
    color: #fff;
}

.footer-contact p {
    margin: 0 0 12px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
}

.footer-contact a:hover {
    color: #fff;
}

.site-footer__disclaimer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px 32px;
}

.site-footer__disclaimer p {
    font-size: 11px;
    line-height: 1.7;
    color: #c9c9c9 ;
    margin: 0;
}

.site-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 20px 32px;
}

.site-footer__bottom p {
    text-align: center;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

/* =========================================================
   Providers page — banner, breadcrumbs & share section
   ========================================================= */

.providers-banner {
    position: relative;
    width: 100%;
    min-height: 220px;
    display: flex;
    align-items: center;
    background-image:     url("assets/images/back.webp");
    background-size: cover;
    background-position: center right;
    padding: 0;
    text-align: left;
}

.providers-banner__overlay {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background: linear-gradient(to right,
        rgba(255, 255, 255, 1) 0%,
        rgba(255, 255, 255, 0.95) 35%,
        rgba(255, 255, 255, 0.1) 70%,
        rgba(255, 255, 255, 0) 100%
    );
    padding: 40px 0;
}

.providers-banner__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.providers-banner__title {
    margin: 0;
    color: #000000;
    font-size: clamp(32px, 5vw, 54px);
    font-weight: 800;
}

.providers-breadcrumb-container {
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 0 20px;
}

.providers-banner__breadcrumb {
    display: flex;
    justify-content: flex-start;
    gap: 6px;
    font-size: 14px;
    color: var(--ink-soft);
}

.providers-banner__breadcrumb a {
    color: #3b82f6;
    text-decoration: none;
}

.providers-banner__breadcrumb a:hover {
    text-decoration: underline;
}

/* ---------------------------------------------------
   Share and Enjoy Section
--------------------------------------------------- */

.share-section {
    max-width: 1200px;
    margin: 24px auto 0;
    padding: 0 20px;
}

.share-section__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #000;
    margin: 0 0 16px;
}

.share-section__buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.share-section__label {
    font-size: 10px;
    font-weight: 700;
    color: #9ca3af;
    letter-spacing: 0.05em;
    margin-right: 4px;
}

.share-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.1s ease;
}

.share-btn:hover {
    opacity: 0.9;
    transform: scale(1.05);
}

.share-btn--facebook { background-color: #1877f2; }
.share-btn--pinterest { background-color: #bd081c; }
.share-btn--pdf       { background-color: #e62117; }
.share-btn--copy      { background-color: #333333; }
.share-btn--more      { background-color: #ff6600; }

.providers-intro {
    padding: 32px 16px 8px;
}

.providers-intro__inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.providers-intro__heading {
    margin: 0 0 12px;
    color: var(--ink);
}

.providers-intro__body {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.55;
    overflow-wrap: normal;
    word-break: normal;
}

.providers-grid {
    padding: 32px 16px 64px;
}

.providers-grid__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 1024px) {
    .providers-grid__inner {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .providers-grid__inner {
        grid-template-columns: 1fr;
    }
}

.provider-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.provider-card__photo-link {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
    background: var(--surface-blue);
}

.provider-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.provider-card__name {
    margin: 0 0 4px;
    font-size: 17px;
}

.provider-card__name a {
    color: var(--ink);
    text-decoration: none;
}

.provider-card__name a:hover {
    color: var(--primary);
}

.provider-card__title {
    margin: 0 0 16px;
    color: var(--ink-soft);
    font-size: 14px;
}

.provider-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    margin-top: auto;
}

.provider-card__cta:hover {
    color: var(--primary-dark);
}

.provider-card--closing {
    background: var(--surface-blue);
    justify-content: center;
}

.provider-card__closing-heading {
    margin: 0 0 16px;
    font-size: 18px;
    color: var(--primary-dark);
}

.provider-card__cta--filled {
    background: var(--primary);
    color: #fff;
    padding: 10px 18px;
    border-radius: 999px;
}

.provider-card__cta--filled:hover {
    background: var(--primary-dark);
    color: #fff;
}

/* =========================================================
   Services page — 2-column card grid
   Image sits in its own wrap (.service-card__image-wrap) so the
   hover gradient can be sized to the actual photo, not the wider
   accent-block area behind it.
   ========================================================= */

.services-grid {
    padding: 56px 16px;
}

.services-grid__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 56px 48px;
}

.service-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* trailing odd card (5th of 5): center it instead of stretching
   across both grid columns */
.service-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    align-items: center;
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
}

.service-card__media {
    position: relative;
    width: 100%;
    margin-bottom: 24px;
    display: flex;
    justify-content: flex-end;
}

.service-card__accent {
    position: absolute;
    top: -16px;
    left: 0;
    width: 65%;
    height: 90%;
    background: var(--primary-light);
    border-radius: 2px;
    z-index: 0;
}

.service-card__image-wrap {
    position: relative;
    z-index: 1;
    width: 85%;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.service-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* blue gradient that fades in over the photo on hover */
.service-card__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--primary) 0%, rgba(21, 131, 199, 0) 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.service-card:hover .service-card__image-wrap::after {
    opacity: 1;
}

.service-card:last-child:nth-child(odd) .service-card__media {
    justify-content: center;
}

.service-card:last-child:nth-child(odd) .service-card__image-wrap {
    width: 60%;
}

.service-card:last-child:nth-child(odd) .service-card__accent {
    left: 15%;
    width: 45%;
}

.service-card__title {
    align-self: center;
    text-align: center;
    margin: 0 0 16px;
    color: var(--primary);
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
}

.service-card__cta {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 999px;
}

.service-card__cta:hover {
    background: var(--primary-dark);
}

@media (max-width: 700px) {
    .services-grid__inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .service-card:last-child:nth-child(odd) {
        grid-column: auto;
        max-width: none;
    }

    .service-card__image-wrap {
        width: 100%;
    }
}

/* =========================================================
   Blog archive (page-blog.php)
   Reuses .providers-banner / .providers-breadcrumb-container for the
   top of the page and .service-detail__grid for the two-column
   layout, same as the Service Detail / FAQ templates.
   ========================================================= */

.blog-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 32px;
    border-bottom: 1px solid #e5e7eb;
}

.blog-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.blog-card__image-link {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: var(--shadow-card);
    flex-shrink: 0;
}

.blog-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-card__image-link:hover .blog-card__image {
    transform: scale(1.03);
}

.blog-card__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.blog-card__category {
    display: inline-block;
    background: var(--surface-blue);
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 6px 12px;
    border-radius: 999px;
    text-decoration: none;
}

.blog-card__category:hover {
    background: var(--primary);
    color: #fff;
}

.blog-card__title {
    margin: 0;
    font-size: clamp(20px, 2.2vw, 24px);
    line-height: 1.3;
}

.blog-card__title a {
    color: var(--ink);
    text-decoration: none;
}

.blog-card__title a:hover {
    color: var(--primary);
}

.blog-card__excerpt {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
}

.blog-card__cta {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}

.blog-card__cta:hover {
    text-decoration: underline;
}

@media (min-width: 640px) {
    .blog-card {
        flex-direction: row;
        align-items: flex-start;
    }

    .blog-card__image-link {
        width: 280px;
    }

    .blog-card__body {
        display: flex;
        flex-direction: column;
        gap: 12px;
        flex: 1;
    }
}

/* ---------------------------------------------------
   Pagination
--------------------------------------------------- */

.blog-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
}

.blog-pagination a,
.blog-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink-soft);
    text-decoration: none;
}

.blog-pagination a:hover {
    background: var(--surface-blue);
    color: var(--primary);
}

.blog-pagination .current {
    background: var(--primary);
    color: #fff;
}

/* ---------------------------------------------------
   Sidebar — search + categories
--------------------------------------------------- */

.blog-search-card {
    padding: 0;
    background: none;
    box-shadow: none;
}

.blog-search__form {
    position: relative;
}

.blog-search__input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fff;
    padding: 12px 44px 12px 20px;
    font-size: 14px;
    font-family: inherit;
    color: var(--ink);
    box-shadow: var(--shadow-card);
}

.blog-search__input:focus {
    outline: none;
    border-color: var(--primary);
}

.blog-search__submit {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    border: none;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--ink-soft);
    cursor: pointer;
}

.blog-search__submit:hover {
    color: var(--primary);
}

.blog-categories__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.blog-categories__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s ease, color 0.2s ease;
}

.blog-categories__list a:hover {
    background: var(--surface-blue);
    color: var(--primary);
}

.blog-categories__count {
    color: var(--ink-soft);
    font-size: 12px;
}


  /* Reuses .providers-banner / .share-section from the Providers
   page for the top of the page.
   ========================================================= */

.service-detail {
    padding: 8px 16px 64px;
}

.service-detail__grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.service-detail__content {
    color: var(--ink-soft);
    line-height: 1.8;
}

.service-detail__content p {
    margin: 0 0 20px;
}

.service-detail__content h2,
.service-detail__content h3 {
    color: var(--primary-dark);
    margin: 32px 0 16px;
}

.service-detail__requirements {
    margin-top: 32px;
    padding: 24px;
    background: var(--surface-blue);
    border-radius: 1rem;
}

.service-detail__requirements h2 {
    margin: 0 0 12px;
    color: var(--primary-dark);
    font-size: 1.25rem;
}

.service-detail__requirements ul {
    margin: 0;
    padding-left: 20px;
    color: var(--ink-soft);
    line-height: 1.8;
}

.service-detail__sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-sidebar-card {
    border-radius: 1.25rem;
    border: 1px solid #f3f4f6;
    box-shadow: var(--shadow-card);
    background: #fff;
    padding: 24px;
}

.service-sidebar-card__heading {
    margin: 0 0 16px;
    font-size: 1.125rem;
    color: var(--primary-dark);
}

.service-sidebar-card__cta {
    display: block;
    text-align: center;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    transition: background 0.2s ease;
}

.service-sidebar-card__cta:hover {
    background: var(--primary-dark);
}

.service-sidebar-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.service-sidebar-card__list a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s ease, color 0.2s ease;
}

.service-sidebar-card__list a:hover {
    background: var(--surface-blue);
    color: var(--primary);
}

.service-sidebar-card__list a.is-current {
    background: var(--primary);
    color: #fff;
    font-weight: 600;
}

.service-sidebar-card__text {
    display: block;
    color: var(--ink-soft);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 8px;
}

.service-sidebar-card__link {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
    margin: 0;
}

.service-sidebar-card__link:hover {
    text-decoration: underline;
}

@media (min-width: 1024px) {
    .service-detail {
        padding: 16px 32px 96px;
    }

    .service-detail__grid {
        grid-template-columns: 2fr 1fr;
        gap: 56px;
    }
}

/* ---------------------------------------------------------
   Service detail sidebar — map + address card variant
   (restored: relies on the service_map_lat/lng/business_name
   ACF fields on page-service-detail.php)
--------------------------------------------------------- */

.service-sidebar-card--map .contact-map {
    margin: 0 -24px;
    border-radius: 0;
}

.service-sidebar-card--map .contact-map__iframe {
    height: 220px;
}

@media (min-width: 400px) {
    .service-sidebar-card--map .contact-map__iframe {
        height: 260px;
    }
}

/* =========================================================
   Service Pillar page (page-service-pillar.php)
   ========================================================= */

.pillar-hero {
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.pillar-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pillar-banner {
    background: var(--surface-blue);
}

.pillar-banner__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pillar-banner__heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0;
}

.pillar-banner__cta {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.pillar-banner__cta:hover {
    background: var(--primary-dark);
}

.pillar-page {
    padding: 0 16px 64px;
}

.pillar-page__grid {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

.pillar-page__main {
    min-width: 0;
}

/* ---------------------------------------------------
   Fact strip — alternating navy / purple full-bleed blocks
--------------------------------------------------- */

.pillar-fact-strip {
    display: flex;
    flex-direction: column;
}

.pillar-fact {
    padding: 32px 24px;
    color: #fff;
    scroll-margin-top: 96px;
}

.pillar-fact--navy {
    background: #1e2a5e;
}

.pillar-fact--purple {
    background: #6b5b95;
}

.pillar-fact__icon {
    display: inline-flex;
    margin-bottom: 12px;
}

.pillar-fact__heading {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.pillar-fact__description {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin: 0;
    max-width: 40rem;
}

/* ---------------------------------------------------
   Video embed
--------------------------------------------------- */

.pillar-video {
    padding: 40px 0;
}

.pillar-video__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.pillar-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ---------------------------------------------------
   FAQ accordion
--------------------------------------------------- */

.pillar-faq {
    padding: 16px 0 40px;
    scroll-margin-top: 96px;
}

.pillar-faq__heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0 0 8px;
}

.pillar-faq__intro {
    color: var(--ink-soft);
    line-height: 1.7;
    margin: 0 0 24px;
}

.pillar-faq__list {
    display: flex;
    flex-direction: column;
}

.pillar-faq__item {
    border-top: 1px solid #e5e7eb;
}

.pillar-faq__item:last-child {
    border-bottom: 1px solid #e5e7eb;
}

.pillar-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: none;
    background: none;
    padding: 20px 4px;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    cursor: pointer;
    font-family: inherit;
}

.pillar-faq__toggle {
    flex-shrink: 0;
    font-size: 22px;
    line-height: 1;
    color: var(--primary);
    transition: transform 0.2s ease;
}

.pillar-faq__item.is-open .pillar-faq__toggle {
    transform: rotate(45deg);
}

.pillar-faq__answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}

.pillar-faq__answer p {
    overflow: hidden;
    margin: 0 4px 20px;
    color: var(--ink-soft);
    line-height: 1.7;
    min-height: 0;
}

.pillar-faq__item.is-open .pillar-faq__answer {
    grid-template-rows: 1fr;
}

.pillar-faq__answer > p {
    grid-row: 1 / -1;
}

/* fallback wrapper needed for the grid-rows collapse trick */
.pillar-faq__answer {
    display: grid;
}

/* ---------------------------------------------------
   Contact form
--------------------------------------------------- */

.pillar-contact {
    padding: 24px 0 40px;
    scroll-margin-top: 96px;
}

.pillar-contact__heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0 0 24px;
}

.pillar-contact__form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 640px;
}

.pillar-contact__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.pillar-contact__input {
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #d1d5db;
    background: transparent;
    padding: 0 0 8px;
    font-size: 14px;
    font-family: inherit;
    color: var(--ink);
    transition: border-color 0.2s ease;
}

.pillar-contact__input::placeholder {
    color: var(--ink-soft);
}

.pillar-contact__input:focus {
    outline: none;
    border-color: var(--primary);
}

.pillar-contact__textarea {
    resize: none;
}

.pillar-contact__submit {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease;
}

.pillar-contact__submit:hover {
    background: var(--primary-dark);
}

@media (min-width: 640px) {
    .pillar-contact__row {
        grid-template-columns: 1fr 1fr;
    }
}

/* ---------------------------------------------------
   Sticky sidebar table of contents
--------------------------------------------------- */

.pillar-sidebar__inner {
    background: var(--surface-blue);
    border-radius: 1.25rem;
    padding: 24px;
    position: sticky;
    top: 96px;
}

.pillar-sidebar__title {
    color: var(--primary);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 20px;
}

.pillar-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pillar-sidebar__list li {
    border-top: 1px solid rgba(21, 131, 199, 0.15);
}

.pillar-sidebar__list li:first-child {
    border-top: none;
}

.pillar-sidebar__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 4px;
    color: var(--ink);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

.pillar-sidebar__list a:hover {
    color: var(--primary);
}

.pillar-sidebar__list a svg {
    flex-shrink: 0;
    color: var(--primary);
}

@media (min-width: 640px) {
    .pillar-hero {
        height: 420px;
    }

    .pillar-banner__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .pillar-banner__cta {
        align-self: auto;
    }

    .pillar-fact {
        padding: 40px 40px;
    }
}

@media (min-width: 1024px) {
    .pillar-hero {
        height: 520px;
    }

    .pillar-page {
        padding: 0 32px 96px;
    }

    .pillar-page__grid {
        grid-template-columns: 2fr 1fr;
        align-items: start;
        gap: 48px;
    }
}

.nero-logo{
    display:block;

}
@media (max-width: 767px) {
    .nero-logo {
        display: none;
    }
}

/* =========================================================
   NEUROSTAR TMS LONG-FORM CONTENT
   Matches the existing Pinnacle TMS page layout
   ========================================================= */

.tms-page-content {
    width: 100%;
    max-width: 810px;
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   Individual Section
   --------------------------------------------------------- */

.tms-page-section {
    width: 100%;
    margin: 0 0 48px;
    padding: 0;
}


/* ---------------------------------------------------------
   Image
   --------------------------------------------------------- */

.tms-page-section__image {
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    overflow: hidden;
}

.tms-page-section__image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
}


/* ---------------------------------------------------------
   Content
   --------------------------------------------------------- */

.tms-page-section__content {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   Headings
   Matches the older Pinnacle article-style headings
   --------------------------------------------------------- */

.tms-page-section__content h2 {
    margin: 12px 0 12px;
    padding: 0;
    color: #111;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.25;
}


/* ---------------------------------------------------------
   Paragraphs
   --------------------------------------------------------- */

.tms-page-section__content p {
    margin: 0 0 18px;
    padding: 0;
    color: #111;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.95;
}

.tms-page-section__content p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Links
   --------------------------------------------------------- */

.tms-page-section__content a {
    color: #2196d2;
    text-decoration: none;
}

.tms-page-section__content a:hover {
    text-decoration: underline;
}


/* ---------------------------------------------------------
   Desktop
   --------------------------------------------------------- */

@media (min-width: 768px) {

    .tms-page-content {
        max-width: 810px;
    }

    .tms-page-section {
        margin-bottom: 52px;
    }

    .tms-page-section__image {
        margin-bottom: 12px;
    }

    .tms-page-section__content h2 {
        font-size: 32px;
        line-height: 1.25;
    }

}


/* ---------------------------------------------------------
   Large Desktop
   --------------------------------------------------------- */

@media (min-width: 1024px) {

    .tms-page-content {
        max-width: 810px;
    }

    .tms-page-section {
        margin-bottom: 54px;
    }

    .tms-page-section__content h2 {
        font-size: 32px;
    }

    .tms-page-section__content p {
        font-size: 16px;
        line-height: 2;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .tms-page-content {
        width: 100%;
        max-width: 100%;
    }

    .tms-page-section {
        margin-bottom: 42px;
    }

    .tms-page-section__image {
        margin-bottom: 12px;
    }

    .tms-page-section__image img {
        width: 100%;
        height: auto;
    }

    .tms-page-section__content h2 {
        font-size: 27px;
        line-height: 1.3;
        margin: 10px 0 12px;
    }

    .tms-page-section__content p {
        font-size: 15px;
        line-height: 1.85;
        margin-bottom: 17px;
    }

}
/* =========================================================
   NEUROSTAR YOUTUBE VIDEO
   ========================================================= */

.tms-youtube-video {
    width: 100%;
    max-width: 810px;
    margin: 0 0 50px;
    padding: 0;
}

.tms-youtube-video__wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.tms-youtube-video__wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}


/* Desktop */
@media (min-width: 768px) {

    .tms-youtube-video {
        margin-bottom: 55px;
    }

}


/* Mobile */
@media (max-width: 767px) {

    .tms-youtube-video {
        width: 100%;
        margin-bottom: 40px;
    }

    .tms-youtube-video__wrapper {
        aspect-ratio: 16 / 9;
    }

}

/* =========================================================
   TMS PAGE SIDEBAR
   Desktop: right sidebar
   Mobile: moves below the main content
   ========================================================= */

.pillar-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}


/* ---------------------------------------------------------
   TMS Treatments card
--------------------------------------------------------- */

.pillar-sidebar__inner {
    background: var(--surface-blue);
    border-radius: 1.25rem;
    padding: 24px;
    position: sticky;
    top: 96px;
}


/* ---------------------------------------------------------
   Contact Us card
--------------------------------------------------------- */

.pillar-sidebar .pillar-contact {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1.25rem;
    padding: 24px;
    box-shadow: var(--shadow-card);
}


/* Contact heading */

.pillar-sidebar .pillar-contact__heading {
    margin: 0 0 24px;
    color: var(--primary);
    font-size: 1.5rem;
    line-height: 1.3;
}


/* Form */

.pillar-sidebar .pillar-contact__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* Form rows */

.pillar-sidebar .pillar-contact__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}


/* Inputs */

.pillar-sidebar .pillar-contact__input {
    width: 100%;
    box-sizing: border-box;
}


/* Textarea */

.pillar-sidebar .pillar-contact__textarea {
    min-height: 100px;
}


/* Button */

.pillar-sidebar .pillar-contact__submit {
    width: 100%;
    justify-content: center;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1024px) {

    .pillar-page__grid {
        grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
        align-items: start;
        gap: 48px;
    }

    .pillar-sidebar {
        position: relative;
    }

    /*
     * Keep the TMS Treatments navigation visible
     * while scrolling.
     */
    .pillar-sidebar__inner {
        position: sticky;
        top: 96px;
    }

    /*
     * Contact form should remain part of the
     * right sidebar rather than the main content.
     */
    .pillar-sidebar .pillar-contact {
        position: relative;
    }

}


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

@media (max-width: 1023px) {

    .pillar-page__grid {
        grid-template-columns: 1fr;
    }

    .pillar-sidebar {
        width: 100%;
    }

    .pillar-sidebar__inner {
        position: relative;
        top: auto;
    }

}


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

@media (max-width: 767px) {

    .pillar-page__grid {
        display: flex;
        flex-direction: column;
    }

    .pillar-page__main {
        order: 1;
    }

    .pillar-sidebar {
        order: 2;
    }

    .pillar-sidebar__inner {
        position: relative;
        top: auto;
    }

    .pillar-sidebar .pillar-contact {
        padding: 20px;
    }

    .pillar-sidebar .pillar-contact__row {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   Service detail sidebar — Contact Us / Home nav cards
   Reuses .pillar-sidebar__inner + .pillar-sidebar__title
   (already defined above for the TMS pillar page) so the
   Contact Us and Home cards on individual service pages get
   the same light-blue card + big blue heading for free.
   These two rules are the only genuinely new styling needed.
   ========================================================= */

/* "Home" nav card: no divider lines between items, current
   page gets a white pill instead of a solid blue background */
.service-nav-card .pillar-sidebar__list li {
    border-top: none;
}

.service-nav-card .pillar-sidebar__list a.is-current {
    background: #fff;
    border-radius: 8px;
    padding: 12px 12px;
    color: var(--primary);
    font-weight: 600;
}

/* Contact Us card: stack every field full-width — the sidebar
   column is too narrow for the 2-up .contact-form__row layout
   used on the main Contact page */
.service-contact-card .contact-form__form {
    gap: 20px;
}

.service-contact-card .contact-form__submit {
    width: 100%;
    justify-content: center;
}
/* =========================================================
   Cart page — WooCommerce cart output + "Book a Consultation"
   full-width banner
   ========================================================= */

.site-cart-wrap {
    max-width: 1200px;
    margin: 8px auto 48px;
    padding: 0 20px;
    min-height: 160px;
}

/* WooCommerce's default "empty cart" notice, restyled to match the
   site's light, bordered notice-box look. */
.site-cart-wrap .woocommerce-info,
.site-cart-wrap .cart-empty {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 18px 20px;
    background: #f9fafb;
    border-top: 3px solid var(--primary);
    border-bottom: 1px solid #e5e7eb;
    color: var(--ink);
    font-size: 15px;
}

.site-cart-wrap .woocommerce-info::before {
    content: '';
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border: 2px solid var(--primary);
    border-radius: 3px;
}

.site-cart-wrap .return-to-shop {
    margin: 24px 0 0;
}

.site-cart-wrap .return-to-shop .button,
.site-cart-wrap a.checkout-button,
.site-cart-wrap .wc-proceed-to-checkout .checkout-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    padding: 14px 26px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.site-cart-wrap .return-to-shop .button::after,
.site-cart-wrap a.checkout-button::after {
    content: '\2192';
}

.site-cart-wrap .return-to-shop .button:hover,
.site-cart-wrap a.checkout-button:hover {
    background: var(--primary-dark);
    color: #fff;
}

/* Cart table (once items are added) */
.site-cart-wrap table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
}

.site-cart-wrap table.shop_table th {
    text-align: left;
    padding: 12px;
    border-bottom: 2px solid var(--primary);
    color: var(--primary-dark);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.04em;
}

.site-cart-wrap table.shop_table td {
    padding: 16px 12px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.site-cart-wrap .quantity .qty {
    width: 60px;
    padding: 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}

.site-cart-wrap .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.site-cart-wrap .coupon input#coupon_code {
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 999px;
}

.site-cart-wrap .cart_totals {
    max-width: 420px;
    margin-left: auto;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    box-shadow: var(--shadow-card);
    padding: 24px;
    border-radius: 8px;
}

.site-cart-wrap .cart_totals h2 {
    margin-top: 0;
    color: var(--primary-dark);
}

.consultation-banner {
    background: #eaf6fc;
    padding: 40px 20px;
}

.consultation-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.consultation-banner__heading {
    margin: 0;
    color: var(--primary);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
}

.consultation-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    padding: 16px 28px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.consultation-banner__cta:hover {
    background: var(--primary-dark);
}
/* =========================================================
   Existing Patients page — scoped design system
   All rules below are scoped under .intake-v2 (a wrapper div
   around this page's content only) so this page's own color
   tokens (--harbor, --sky, --pine, etc.) and its own --ink
   cannot leak into or collide with the rest of the theme's
   design tokens. The real site header/nav above it is
   untouched by this block.
   ========================================================= */
.intake-v2 {
    --cloud:#F6FAFB;
    --paper:#FFFFFF;
    --ink:#233240;
    --muted:#5C6E7A;
    --faint:#8B9AA5;
    --harbor:#16283A;
    --harbor-deep:#0E1C29;
    --sky:#2CA9DA;
    --sky-deep:#1B8FBD;
    --sky-tint:#E7F5FB;
    --pine:#17847A;
    --pine-tint:#E4F3F1;
    --sand:#E2984E;
    --sand-tint:#FCF1E3;
    --line:#DDE7EC;
    --line-soft:#EAF1F4;

    --serif:'Fraunces', Georgia, serif;
    --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

.intake-v2, .intake-v2 * {box-sizing:border-box; margin:0; padding:0;}

.intake-v2 {scroll-behavior:smooth;}

.intake-v2 {
    font-family:var(--sans);
    background:var(--cloud);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

.intake-v2 img {max-width:100%; display:block;}

.intake-v2 a {color:inherit; text-decoration:none;}

.intake-v2 ul {list-style:none;}

.intake-v2 button {font-family:inherit;}

.intake-v2 .wrap {max-width:1100px; margin:0 auto; padding:0 32px;}

@media (max-width:720px) {
.intake-v2 .wrap {padding:0 20px;}

}

.intake-v2 h1,
.intake-v2 h2,
.intake-v2 h3,
.intake-v2 h4 {font-family:var(--serif); color:var(--harbor); letter-spacing:-0.01em; font-weight:600;}

.intake-v2 .eyebrow {
    font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:0.13em;
    text-transform:uppercase; color:var(--pine); margin-bottom:14px; display:inline-flex; align-items:center; gap:9px;
  }

.intake-v2 .btn {
    display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--sans); font-weight:700; font-size:15px;
    padding:15px 30px; border-radius:100px; cursor:pointer; border:none; transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  }

.intake-v2 .btn:hover { transform:translateY(-1px); }

.intake-v2 .btn-primary { background:var(--sky); color:#fff; box-shadow:0 8px 22px rgba(44,169,218,0.35); }

.intake-v2 .btn-primary:hover { box-shadow:0 10px 26px rgba(44,169,218,0.45); }

.intake-v2 .btn-primary:disabled { opacity:0.45; cursor:not-allowed; transform:none; box-shadow:none; }

.intake-v2 .btn-outline { background:#fff; color:var(--harbor); border:1.5px solid var(--line); }

.intake-v2 .btn-outline:hover { border-color:var(--sky); }

.intake-v2 section { padding:76px 0; }

.intake-v2 section.tight { padding:52px 0; }

@media (max-width:720px) {
.intake-v2 section { padding:52px 0; }

.intake-v2 section.tight {padding:40px 0;}

}

.intake-v2 .section-head { max-width:640px; margin-bottom:40px; }

.intake-v2 .section-head h2 { font-size:clamp(24px,3.2vw,32px); line-height:1.2; }

.intake-v2 .section-head p { margin-top:12px; color:var(--muted); font-size:15px; line-height:1.65; }

.intake-v2 .section-head.center { margin-left:auto; margin-right:auto; text-align:center; }

.intake-v2 .hero {
    background:
      radial-gradient(ellipse 700px 460px at 100% -12%, rgba(44,169,218,0.14), transparent 65%),
      radial-gradient(ellipse 600px 460px at -10% 100%, rgba(23,132,122,0.09), transparent 60%),
      var(--cloud);
    padding:64px 0 20px;
  }

.intake-v2 .hero-top { max-width:680px; margin-bottom:40px; }

.intake-v2 .hero h1 { font-size:clamp(32px,4.4vw,46px); line-height:1.12; }

.intake-v2 .hero h1 em { font-style:italic; font-weight:500; color:var(--sky-deep); }

.intake-v2 .hero-sub { margin-top:16px; font-size:16.5px; color:var(--muted); max-width:560px; line-height:1.65; }

.intake-v2 .req-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }

@media (max-width:920px) {
.intake-v2 .req-grid { grid-template-columns:repeat(3,1fr); }

}

@media (max-width:600px) {
.intake-v2 .req-grid { grid-template-columns:1fr 1fr; }

}

.intake-v2 .req-card {
    background:var(--paper); border:2px solid var(--line); border-radius:16px; padding:22px 16px;
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; cursor:pointer;
    transition:border-color .15s, transform .15s, box-shadow .15s;
  }

.intake-v2 .req-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(22,40,58,0.14); }

.intake-v2 .req-card.selected { border-color:var(--sky); background:var(--sky-tint); }

.intake-v2 .req-ico {
    width:44px; height:44px; border-radius:12px; background:var(--pine-tint); display:flex; align-items:center;
    justify-content:center; transition:background .15s;
  }

.intake-v2 .req-card.selected .req-ico { background:#fff; }

.intake-v2 .req-label { font-size:13px; font-weight:700; color:var(--harbor); line-height:1.3; }

.intake-v2 .form-panel {
    margin-top:32px; background:var(--paper); border:1px solid var(--line); border-radius:22px;
    padding:40px 44px; box-shadow:0 20px 50px -24px rgba(22,40,58,0.16);
  }

@media (max-width:640px) {
.intake-v2 .form-panel { padding:28px 24px; }

}

.intake-v2 .form-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; flex-wrap:wrap; }

.intake-v2 .selected-tag {
    display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--sky-deep);
    background:var(--sky-tint); padding:6px 14px; border-radius:20px;
  }

.intake-v2 .form-hint { font-size:13.5px; color:var(--faint); margin-bottom:28px; }

.intake-v2 .field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }

@media (max-width:600px) {
.intake-v2 .field-row { grid-template-columns:1fr; gap:16px; }

}

.intake-v2 .field { display:flex; flex-direction:column; gap:7px; }

.intake-v2 .field label { font-size:12.5px; font-weight:700; color:var(--harbor); }

.intake-v2 .field label .opt { font-weight:500; color:var(--faint); text-transform:none; letter-spacing:0; }

.intake-v2 .field input,
.intake-v2 .field select,
.intake-v2 .field textarea {
    font-family:var(--sans); font-size:14.5px; color:var(--ink); border:1.5px solid var(--line); border-radius:10px;
    padding:12px 14px; background:#fff; transition:border-color .15s; width:100%;
  }

.intake-v2 .field input:focus,
.intake-v2 .field select:focus,
.intake-v2 .field textarea:focus { outline:none; border-color:var(--sky); }

.intake-v2 .field textarea { resize:vertical; min-height:88px; font-family:var(--sans); }

.intake-v2 .type-fields { display:none; }

.intake-v2 .type-fields.active { display:block; }

.intake-v2 .form-foot { margin-top:8px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }

.intake-v2 .form-foot .note { font-size:12.5px; color:var(--faint); }

.intake-v2 .next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }

@media (max-width:760px) {
.intake-v2 .next-grid { grid-template-columns:1fr; gap:24px; }

}

.intake-v2 .next-item { display:flex; align-items:flex-start; gap:16px; }

.intake-v2 .next-num {
    width:34px; height:34px; border-radius:50%; background:var(--pine-tint); color:var(--pine);
    display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex-shrink:0;
  }

.intake-v2 .next-title { font-size:15px; font-weight:700; color:var(--harbor); }

.intake-v2 .next-sub { font-size:13px; color:var(--muted); margin-top:4px; line-height:1.5; }

.intake-v2 .faq-item { border-bottom:1px solid var(--line-soft); }

.intake-v2 .faq-item:first-child { border-top:1px solid var(--line-soft); }

.intake-v2 .faq-q {
    width:100%; text-align:left; background:none; border:none; padding:22px 0; font-family:var(--sans);
    font-size:15.5px; font-weight:700; color:var(--harbor); cursor:pointer; display:flex; justify-content:space-between;
    align-items:center; gap:20px;
  }

.intake-v2 .faq-plus { font-size:22px; color:var(--sky); font-weight:400; transition:transform .25s; flex-shrink:0; }

.intake-v2 .faq-item.open .faq-plus { transform:rotate(45deg); }

.intake-v2 .faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }

.intake-v2 .faq-item.open .faq-a { max-height:200px; }

.intake-v2 .faq-a p { padding-bottom:22px; color:var(--muted); font-size:14.5px; line-height:1.7; max-width:660px; }

/* =========================================================
   New Patients page — scoped design system
   Same pattern as the Existing Patients page: everything below
   is scoped under .intake-np so its color tokens can't leak
   into the rest of the theme. The real site header/footer are
   used instead of the reference file's own slim nav bar.
   ========================================================= */
.intake-np {
    --cloud:#F6FAFB;
    --paper:#FFFFFF;
    --ink:#233240;
    --muted:#5C6E7A;
    --faint:#8B9AA5;
    --harbor:#16283A;
    --harbor-deep:#0E1C29;
    --sky:#2CA9DA;
    --sky-deep:#1B8FBD;
    --sky-tint:#E7F5FB;
    --pine:#17847A;
    --pine-tint:#E4F3F1;
    --sand:#E2984E;
    --sand-tint:#FCF1E3;
    --line:#DDE7EC;
    --line-soft:#EAF1F4;

    --serif:'Fraunces', Georgia, serif;
    --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

.intake-np, .intake-np * {box-sizing:border-box; margin:0; padding:0;}

.intake-np {scroll-behavior:smooth;}

.intake-np {
    font-family:var(--sans);
    background:var(--cloud);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

.intake-np img {max-width:100%; display:block;}

.intake-np a {color:inherit; text-decoration:none;}

.intake-np ul {list-style:none;}

.intake-np button {font-family:inherit;}

.intake-np .wrap {max-width:1140px; margin:0 auto; padding:0 32px;}

@media (max-width:720px) {
.intake-np .wrap {padding:0 20px;}

}

.intake-np h1,
.intake-np h2,
.intake-np h3,
.intake-np h4 {font-family:var(--serif); color:var(--harbor); letter-spacing:-0.01em; font-weight:600;}

.intake-np .eyebrow {
    font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:0.13em;
    text-transform:uppercase; color:var(--pine); margin-bottom:14px; display:inline-flex; align-items:center; gap:9px;
  }

.intake-np .eyebrow::before {content:''; width:18px; height:1.5px; background:var(--sand);}

.intake-np .section-head.center .eyebrow::before { display:none; }

.intake-np .btn {
    display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--sans); font-weight:700; font-size:15px;
    padding:15px 30px; border-radius:100px; cursor:pointer; border:none; transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  }

.intake-np .btn:hover { transform:translateY(-1px); }

.intake-np .btn-primary { background:var(--sky); color:#fff; box-shadow:0 8px 22px rgba(44,169,218,0.35); }

.intake-np .btn-primary:hover { box-shadow:0 10px 26px rgba(44,169,218,0.45); }

.intake-np .btn-outline { background:transparent; color:var(--harbor); border:1.5px solid var(--line); }

.intake-np .btn-outline:hover { border-color:var(--sky); }

.intake-np section { padding:88px 0; }

.intake-np section.tight { padding:56px 0; }

@media (max-width:720px) {
.intake-np section { padding:56px 0; }

.intake-np section.tight {padding:40px 0;}

}

.intake-np .section-head { max-width:640px; margin-bottom:44px; }

.intake-np .section-head h2 { font-size:clamp(26px,3.4vw,36px); line-height:1.2; }

.intake-np .section-head p { margin-top:14px; color:var(--muted); font-size:15.5px; line-height:1.65; }

.intake-np .section-head.center { margin-left:auto; margin-right:auto; text-align:center; }

.intake-np .hero {
    background:
      radial-gradient(ellipse 700px 460px at 100% -12%, rgba(44,169,218,0.15), transparent 65%),
      radial-gradient(ellipse 600px 460px at -10% 100%, rgba(23,132,122,0.10), transparent 60%),
      var(--cloud);
    padding:76px 0 0;
    overflow:hidden;
  }

.intake-np .hero-inner { max-width:700px; }

.intake-np .hero h1 { font-size:clamp(34px,4.8vw,52px); line-height:1.1; }

.intake-np .hero h1 em { font-style:italic; font-weight:500; color:var(--sky-deep); }

.intake-np .hero-sub { margin-top:20px; font-size:17px; color:var(--muted); max-width:560px; line-height:1.7; }

.intake-np .hero-ctas { margin-top:32px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }

.intake-np .hero-note { margin-top:28px; display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--faint); font-weight:600; }

.intake-np .trust-strip { background:var(--paper); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); margin-top:56px; }

.intake-np .trust-strip .wrap { display:flex; justify-content:space-between; align-items:center; padding-top:30px; padding-bottom:30px; flex-wrap:wrap; gap:20px; }

.intake-np .trust-item { display:flex; align-items:center; gap:11px; font-size:13.5px; font-weight:700; color:var(--harbor); }

.intake-np .cond-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

@media (max-width:760px) {
.intake-np .cond-grid { grid-template-columns:1fr 1fr; }

}

.intake-np .cond-card {
    display:flex; align-items:center; gap:12px; background:var(--cloud); border:1px solid var(--line);
    border-radius:14px; padding:18px 20px; font-size:14.5px; font-weight:600; color:var(--harbor);
    transition:border-color .15s, transform .15s;
  }

.intake-np .cond-card:hover { border-color:var(--sky); transform:translateY(-2px); }

.intake-np .cond-dot { width:9px; height:9px; border-radius:50%; background:var(--sky); flex-shrink:0; }

.intake-np .cond-card:nth-child(3n+2) .cond-dot { background:var(--pine); }

.intake-np .cond-card:nth-child(3n) .cond-dot { background:var(--sand); }

.intake-np .expect-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

@media (max-width:820px) {
.intake-np .expect-grid { grid-template-columns:1fr 1fr; }

}

@media (max-width:520px) {
.intake-np .expect-grid { grid-template-columns:1fr; }

}

.intake-np .expect-item { padding-top:20px; border-top:3px solid var(--sky); }

.intake-np .expect-item:nth-child(2) { border-top-color:var(--pine); }

.intake-np .expect-item:nth-child(3) { border-top-color:var(--sand); }

.intake-np .expect-item:nth-child(4) { border-top-color:var(--harbor); }

.intake-np .expect-num { font-family:var(--serif); font-size:26px; font-weight:600; color:var(--line); -webkit-text-stroke:1.2px var(--sky-deep); color:transparent; }

.intake-np .expect-title { font-size:16.5px; font-weight:700; color:var(--harbor); margin-top:10px; font-family:var(--serif); }

.intake-np .expect-sub { font-size:13.5px; color:var(--muted); margin-top:8px; line-height:1.55; }

.intake-np .form-panel {
    background:var(--paper); border:1px solid var(--line); border-radius:22px;
    padding:44px 48px; box-shadow:0 20px 50px -24px rgba(22,40,58,0.16);
  }

@media (max-width:640px) {
.intake-np .form-panel { padding:28px 24px; }

}

.intake-np .field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }

@media (max-width:600px) {
.intake-np .field-row { grid-template-columns:1fr; gap:16px; }

}

.intake-np .field { display:flex; flex-direction:column; gap:7px; }

.intake-np .field label { font-size:12.5px; font-weight:700; color:var(--harbor); }

.intake-np .field label .opt { font-weight:500; color:var(--faint); text-transform:none; letter-spacing:0; }

.intake-np .field input,
.intake-np .field select,
.intake-np .field textarea {
    font-family:var(--sans); font-size:14.5px; color:var(--ink); border:1.5px solid var(--line); border-radius:10px;
    padding:12px 14px; background:#fff; transition:border-color .15s; width:100%;
  }

.intake-np .field input:focus,
.intake-np .field select:focus,
.intake-np .field textarea:focus { outline:none; border-color:var(--sky); }

.intake-np .field textarea { resize:vertical; min-height:88px; font-family:var(--sans); }

.intake-np .form-foot { margin-top:12px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }

.intake-np .form-foot .note { font-size:12.5px; color:var(--faint); }

.intake-np .faq-item { border-bottom:1px solid var(--line-soft); }

.intake-np .faq-item:first-child { border-top:1px solid var(--line-soft); }

.intake-np .faq-q {
    width:100%; text-align:left; background:none; border:none; padding:22px 0; font-family:var(--sans);
    font-size:15.5px; font-weight:700; color:var(--harbor); cursor:pointer; display:flex; justify-content:space-between;
    align-items:center; gap:20px;
  }

.intake-np .faq-plus { font-size:22px; color:var(--sky); font-weight:400; transition:transform .25s; flex-shrink:0; }

.intake-np .faq-item.open .faq-plus { transform:rotate(45deg); }

.intake-np .faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }

.intake-np .faq-item.open .faq-a { max-height:200px; }

.intake-np .faq-a p { padding-bottom:22px; color:var(--muted); font-size:14.5px; line-height:1.7; max-width:660px; }

/* ==========================================================
   NEUROSTAR FEATURE
   ========================================================== */

.neurostar-feature {
    width: 100%;
    padding: 78px 0;
    background: #ffffff;
}


/* ----------------------------------------------------------
   MAIN BLUE PANEL
   ---------------------------------------------------------- */

.neurostar-feature__box {
    width: calc(100% - 126px);
    max-width: 1226px;
    min-height: 301px;

    margin: 0 auto;

    padding: 49px 60px 49px 50px;

    box-sizing: border-box;

    background: #2ca8d8;

    display: grid;
    grid-template-columns: 563px minmax(0, 1fr);

    column-gap: 40px;

    align-items: center;
}


/* ----------------------------------------------------------
   LEFT SIDE
   ---------------------------------------------------------- */

.neurostar-feature__visual {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* ----------------------------------------------------------
   WHITE LOGO CARD
   ---------------------------------------------------------- */

.neurostar-feature__logo-card {
    width: 100%;
    height: 201px;

    background: #ffffff;

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

    box-sizing: border-box;

    overflow: hidden;
}


/* ----------------------------------------------------------
   LOGO
   ---------------------------------------------------------- */

.neurostar-feature__logo {
    display: block;

    width: auto;
    max-width: 82%;
    max-height: 145px;

    object-fit: contain;
}


/* ----------------------------------------------------------
   RIGHT CONTENT
   ---------------------------------------------------------- */

.neurostar-feature__content {
    min-width: 0;

    display: flex;
    flex-direction: column;

    align-items: flex-start;
    justify-content: center;
}


/* ----------------------------------------------------------
   TITLE
   ---------------------------------------------------------- */

.neurostar-feature__title {
    margin: 0 0 14px;

    color: #ffffff;

    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
}


/* ----------------------------------------------------------
   DESCRIPTION
   ---------------------------------------------------------- */

.neurostar-feature__description {
    max-width: 540px;

    margin: 0 0 28px;

    color: #ffffff;

    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
}


/* ----------------------------------------------------------
   BUTTON
   ---------------------------------------------------------- */

.neurostar-feature__link {
    min-height: 48px;

    padding: 0 21px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    box-sizing: border-box;

    border-radius: 999px;

    background: #ffffff;
    color: #111111;

    text-decoration: none;

    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* ----------------------------------------------------------
   BUTTON ARROW
   ---------------------------------------------------------- */

.neurostar-feature__link-icon {
    display: block;

    flex: 0 0 auto;

    transition: transform 0.2s ease;
}


/* ----------------------------------------------------------
   HOVER
   ---------------------------------------------------------- */

.neurostar-feature__link:hover {
    background: #f7f7f7;

    transform: translateY(-1px);

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.12);
}


.neurostar-feature__link:hover
.neurostar-feature__link-icon {
    transform: translateX(4px);
}


/* ----------------------------------------------------------
   KEYBOARD FOCUS
   ---------------------------------------------------------- */

.neurostar-feature__link:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
}


/* ----------------------------------------------------------
   DESKTOP ONLY
   ---------------------------------------------------------- */

@media (max-width: 1023px) {

    .neurostar-feature {
        display: none;
    }

}


/* ----------------------------------------------------------
   LARGE DESKTOP
   ---------------------------------------------------------- */

@media (min-width: 1400px) {

    .neurostar-feature__box {
        max-width: 1226px;
    }

}

/* ==================================================
   BRAIN SERIES
================================================== */

.brain-series{
    padding:100px 20px;
    background:#fff;
}

.brain-series__container{
    max-width:1400px;
    margin:0 auto;
}

.brain-series__header{
    text-align:center;
    margin-bottom:70px;
}

.brain-series__eyebrow{
    font-size:3rem;
    letter-spacing:10px;
    color:#33A9E1;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:15px;
}

.brain-series__title{
    font-size:2.4rem;
    font-weight:700;
    color:#000;
}

.brain-series__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:70px;
}

.brain-series__card{
    text-align:center;
}

.brain-series__card-title{
    color:#33A9E1;
    font-size:2rem;
    font-weight:500;
    margin-bottom:10px;
}

.brain-series__subtitle{
    font-size:1.4rem;
    margin-bottom:25px;
}

.brain-series__text{
    font-size:1.2rem;
    line-height:2;
    color:#333;
    margin-bottom:35px;
}

/* =====================================================
   BRAIN SERIES — single source of truth for button color.
   Do not add a second .brain-series__button rule elsewhere;
   if a variant is ever needed, use a modifier class instead
   (e.g. .brain-series__button--featured), never a bare override.
   ===================================================== */
.brain-series .brain-series__button,
.brain-series .brain-series__see-all {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 18px 35px;
    border-radius: 999px;
    background: #33A9E1;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    text-transform: uppercase;
    transition: .3s;
}

.brain-series__button:hover,
.brain-series__see-all:hover{
    transform:translateY(-4px);
}

.brain-series__footer{
    text-align:center;
    margin-top:70px;
}
/* Tablet */

@media (max-width:992px){

    .brain-series__grid{
        grid-template-columns:repeat(2,1fr);
        gap:50px;
    }

    .brain-series__eyebrow{
        font-size:2.2rem;
        letter-spacing:6px;
    }
}

/* Mobile */

@media (max-width:768px){

    .brain-series{
        padding:70px 20px;
    }

    .brain-series__grid{
        grid-template-columns:1fr;
        gap:60px;
    }

    .brain-series__eyebrow{
        font-size:1.6rem;
        letter-spacing:4px;
    }

    .brain-series__title{
        font-size:1.8rem;
    }

    .brain-series__card-title{
        font-size:1.8rem;
    }
}
/* =========================================================
   HOMEPAGE ABOUT SECTION
   Desktop presentation
   ========================================================= */

.about-section {
    width: 100%;
    background: #ffffff;
    padding: 58px 0 76px;
    overflow: visible;
}

.about-section__inner {
    width: min(1270px, calc(100% - 80px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 0.95fr;
    column-gap: 54px;

    align-items: center;
}


/* =========================================================
   IMAGE AREA
   ========================================================= */

.about-section__visual {
    position: relative;

    min-height: 495px;

    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    padding-left: 30px;
    padding-top: 0;
}


/*
 * Blue block behind the photograph.
 *
 * The block intentionally starts lower than the image,
 * creating the same layered effect as the reference.
 */

.about-section__backdrop {
    position: absolute;

    left: 0;
    top: 30px;

    width: calc(100% - 30px);
    height: 465px;

    background: #2ca9da;

    z-index: 1;
}


/*
 * Actual photograph.
 */

.about-section__image-wrap {
    position: relative;

    width: 100%;
    max-width: 602px;

    height: 466px;

    z-index: 2;

    overflow: hidden;
}


.about-section__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    margin: 0;
}


/* =========================================================
   CONTENT
   ========================================================= */

.about-section__content {
    position: relative;
    z-index: 3;

    padding: 5px 0 0;
}


.about-section__heading {
    margin: 0 0 25px;

    color: #2ca9da;

    font-family: inherit;
    font-size: 44px;
    font-weight: 700;

    line-height: 1.23;
    letter-spacing: 0;

    max-width: 590px;
}


.about-section__body {
    margin: 0 0 28px;

    max-width: 590px;

    color: #111111;

    font-family: inherit;
    font-size: 17px;
    font-weight: 400;

    line-height: 1.85;
}


/* =========================================================
   CTA
   ========================================================= */

.about-section__cta {
    display: inline-flex;

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

    gap: 12px;

    min-height: 48px;

    padding: 0 21px;

    border-radius: 999px;

    background: #2ca9da;
    color: #ffffff;

    font-family: inherit;
    font-size: 15px;
    font-weight: 500;

    line-height: 1;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.about-section__cta svg {
    flex: 0 0 auto;
}


.about-section__cta:hover {
    background: #1784c7;
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(44, 169, 218, 0.25);
}


.about-section__cta:focus-visible {
    outline: 3px solid rgba(44, 169, 218, 0.35);
    outline-offset: 4px;
}


/* =========================================================
   DESKTOP TUNING
   ========================================================= */

@media (min-width: 1200px) {

    .about-section {
        padding-top: 26px;
        padding-bottom: 72px;
    }

    .about-section__inner {
        width: min(1270px, calc(100% - 66px));
        grid-template-columns: 1.04fr 0.96fr;
        column-gap: 54px;
    }

    .about-section__visual {
        min-height: 495px;
        padding-left: 30px;
    }

    .about-section__backdrop {
        top: 30px;
        height: 465px;
    }

    .about-section__image-wrap {
        height: 466px;
        max-width: 602px;
    }

    .about-section__heading {
        font-size: 44px;
        line-height: 1.23;
    }

    .about-section__body {
        font-size: 17px;
        line-height: 1.85;
    }
}


/* =========================================================
   EXTRA LARGE DESKTOP
   ========================================================= */

@media (min-width: 1400px) {

    .about-section__inner {
        width: 1270px;
    }

    .about-section__heading {
        font-size: 46px;
    }

    .about-section__body {
        font-size: 17px;
    }
}

/* =========================================================
   INDIVIDUAL SERVICE PAGE
   SCREENSHOT-MATCHED LAYOUT
========================================================= */

.service-detail--screenshot {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 72px 32px 80px;
    box-sizing: border-box;
}


/* =========================================================
   TWO COLUMN LAYOUT
========================================================= */

.service-detail--screenshot .service-detail__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 38px;
    align-items: start;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.service-detail--screenshot .service-detail__main {
    min-width: 0;
}


/* =========================================================
   SHARE SECTION
========================================================= */

.service-detail--screenshot .share-section {
    padding: 0;
    margin: 0 0 18px;
    background: transparent;
    border: 0;
    box-shadow: none;
}


.service-detail--screenshot .share-section__title {
    margin: 0 0 8px;
    color: #000;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}


.service-detail--screenshot .share-section__buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}


.service-detail--screenshot .share-section__label {
    margin-right: 4px;
    color: #999;
    font-size: 9px;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 400;
}


/* =========================================================
   SHARE BUTTONS
========================================================= */

.service-detail--screenshot .share-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    color: #fff;

    cursor: pointer;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}


.service-detail--screenshot .share-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}


.service-detail--screenshot .share-btn--facebook {
    background: #1877f2;
}


.service-detail--screenshot .share-btn--pinterest {
    background: #e60023;
}


.service-detail--screenshot .share-btn--pdf {
    background: #ed1c24;
}


.service-detail--screenshot .share-btn--copy {
    background: #444;
}


.service-detail--screenshot .share-btn--more {
    background: #ff6600;
}


/* =========================================================
   ARTICLE CONTENT
========================================================= */

.service-detail--screenshot .service-detail__content {
    color: #111;
    font-family: "Inter", sans-serif;
    font-size: 17px;
    line-height: 1.9;
}


.service-detail--screenshot .service-detail__content p {
    margin: 0 0 10px;
}


.service-detail--screenshot .service-detail__content p:last-child {
    margin-bottom: 20px;
}


.service-detail--screenshot .service-detail__content a {
    color: #2ca9da;
    text-decoration: none;
}


.service-detail--screenshot .service-detail__content a:hover {
    text-decoration: underline;
}


.service-detail--screenshot .service-detail__content ul {
    margin-top: 18px;
    padding-left: 18px;
}


.service-detail--screenshot .service-detail__content li {
    margin-bottom: 7px;
}


/* =========================================================
   REQUIREMENTS
========================================================= */

.service-detail--screenshot .service-detail__requirements {
    margin-top: 35px;
}


.service-detail--screenshot .service-detail__requirements h2 {
    margin: 0 0 15px;
    color: var(--primary);
}


.service-detail--screenshot .service-detail__requirements ul {
    margin: 0;
    padding-left: 22px;
}


.service-detail--screenshot .service-detail__requirements li {
    margin-bottom: 8px;
}


/* =========================================================
   RIGHT SIDEBAR
========================================================= */

.service-detail--screenshot .service-detail__sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;

    min-width: 0;
}


/* =========================================================
   CONTACT CARD
========================================================= */

.service-detail--screenshot .service-contact-card {
    position: sticky;
    top: 95px;

    background: #dceef9;

    border: 0;
    border-radius: 0;

    box-shadow: none;

    padding: 32px 38px 40px;

    box-sizing: border-box;
}


/* =========================================================
   CONTACT TITLE
========================================================= */

.service-detail--screenshot .service-contact-card .pillar-sidebar__title {
    margin: 0 0 35px;

    color: #2ca9da;

    font-family: "Poppins", sans-serif;

    font-size: 40px;
    line-height: 1.1;

    font-weight: 700;

    text-align: center;
}


/* =========================================================
   CONTACT FORM
========================================================= */

.service-detail--screenshot .service-contact-card .contact-form__form {
    display: flex;
    flex-direction: column;

    gap: 0;

    margin: 0;
}


.service-detail--screenshot .service-contact-card label {
    display: block;
    margin: 0;
    padding: 0;
}


/* =========================================================
   INPUTS
========================================================= */

.service-detail--screenshot .service-contact-card .contact-form__input {
    width: 100%;

    box-sizing: border-box;

    min-height: 55px;

    margin: 0;

    padding: 15px 0;

    border: 0;
    border-bottom: 1px solid #b9cbd4;

    border-radius: 0;

    background: transparent;

    color: #333;

    font-family: "Inter", sans-serif;
    font-size: 16px;

    outline: none;

    box-shadow: none;
}


.service-detail--screenshot
.service-contact-card
.contact-form__input::placeholder {
    color: #8fa2ae;
    opacity: 1;
}


.service-detail--screenshot
.service-contact-card
.contact-form__input:focus {
    border-bottom-color: #2ca9da;
}


/* =========================================================
   MESSAGE
========================================================= */

.service-detail--screenshot
.service-contact-card
.contact-form__textarea {
    min-height: 115px;

    resize: vertical;

    padding-top: 15px;
}


/* =========================================================
   SEND BUTTON
========================================================= */

.service-detail--screenshot
.service-contact-card
.contact-form__submit {
    display: flex;

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

    gap: 22px;

    width: fit-content;
    min-width: 225px;

    margin: 30px auto 0;

    padding: 15px 28px;

    border: 0;
    border-radius: 999px;

    background: #2ca9da;

    color: #fff;

    font-family: "Inter", sans-serif;

    font-size: 15px;
    font-weight: 600;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.service-detail--screenshot
.service-contact-card
.contact-form__submit:hover {
    background: #2499c7;

    transform: translateY(-2px);
}


.service-detail--screenshot
.service-contact-card
.contact-form__submit svg {
    flex-shrink: 0;
}


/* =========================================================
   RIGHT NAVIGATION CARD
========================================================= */

.service-detail--screenshot .service-nav-card {
    position: relative;

    background: #dceef9;

    border: 0;
    border-radius: 0;

    box-shadow: none;

    padding: 28px;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__title {
    margin: 0 0 18px;

    color: #2ca9da;

    font-size: 26px;
    font-weight: 700;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__list {
    list-style: none;

    margin: 0;
    padding: 0;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__list li {
    margin: 0;
    padding: 0;

    border: 0;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__list a {
    display: flex;

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

    gap: 12px;

    padding: 12px;

    border-radius: 8px;

    color: #455864;

    text-decoration: none;

    font-size: 15px;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__list a:hover {
    background: #fff;

    color: #2ca9da;
}


.service-detail--screenshot
.service-nav-card
.pillar-sidebar__list a.is-current {
    background: #fff;

    color: #2ca9da;

    font-weight: 600;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1024px) {

    .service-detail--screenshot {
        padding-top: 105px;
    }

    .service-detail--screenshot
    .service-detail__grid {
        grid-template-columns:
            minmax(0, 2fr)
            minmax(330px, 1fr);

        gap: 38px;
    }

}


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

@media (max-width: 1023px) {

    .service-detail--screenshot {
        padding: 55px 24px 70px;
    }


    .service-detail--screenshot
    .service-detail__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }


    .service-detail--screenshot
    .service-contact-card {
        position: relative;
        top: auto;
    }

}


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

@media (max-width: 767px) {

    .service-detail--screenshot {
        padding: 38px 16px 55px;
    }


    .service-detail--screenshot
    .service-detail__grid {
        display: flex;
        flex-direction: column;

        gap: 30px;
    }


    /*
     * Main article first
     */
    .service-detail--screenshot
    .service-detail__main {
        order: 1;
    }


    /*
     * Sidebar second
     */
    .service-detail--screenshot
    .service-detail__sidebar {
        order: 2;
    }


    .service-detail--screenshot
    .share-section__title {
        font-size: 27px;
    }


    .service-detail--screenshot
    .service-detail__content {
        font-size: 16px;
        line-height: 1.8;
    }


    .service-detail--screenshot
    .service-contact-card {
        position: relative;

        top: auto;

        padding: 30px 24px 35px;
    }


    .service-detail--screenshot
    .service-contact-card
    .pillar-sidebar__title {
        font-size: 32px;

        margin-bottom: 25px;
    }


    .service-detail--screenshot
    .service-contact-card
    .contact-form__input {
        font-size: 15px;
    }


    .service-detail--screenshot
    .service-contact-card
    .contact-form__submit {
        width: 100%;
        min-width: 0;
    }

}

/* =========================================================
   INDIVIDUAL PSYCHOTHERAPY SERVICE DETAIL
   Screenshot-matched layout
   ========================================================= */

.service-detail {
    width: 100%;
    padding: 24px 20px 80px;
    box-sizing: border-box;
}

.service-detail__grid {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);

    gap: 55px;

    align-items: start;
}

/* ---------------------------------------------------------
   LEFT CONTENT
   --------------------------------------------------------- */

.service-detail__main {
    min-width: 0;
}

.service-detail__content {
    color: #111827;
    font-size: 17px;
    line-height: 1.9;
}

.service-detail__content p {
    margin: 0 0 18px;
}

.service-detail__content a {
    color: #269fdf;
    text-decoration: none;
}

.service-detail__content a:hover {
    text-decoration: underline;
}

/* Conditions list */

.service-detail__conditions {
    margin: 22px 0 0;
    padding: 0;

    list-style: none;

    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 55px;
    row-gap: 5px;
}

.service-detail__conditions li {
    position: relative;

    padding-left: 18px;

    color: #111827;
    font-size: 16px;
    line-height: 1.8;
}

.service-detail__conditions li::before {
    content: "•";

    position: absolute;
    left: 0;
    top: 0;

    color: #269fdf;
    font-weight: 700;
}

.service-detail__conditions a {
    color: #269fdf;
}

/* ---------------------------------------------------------
   RIGHT SIDEBAR
   --------------------------------------------------------- */

.service-detail__sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;

    min-width: 0;
}

/* ---------------------------------------------------------
   CONTACT US CARD
   --------------------------------------------------------- */

.service-contact-card {
    background: #dff2fb;
    border-radius: 0;
    padding: 32px 30px 38px;

    box-sizing: border-box;
}

.service-contact-card .pillar-sidebar__title {
    color: #269fdf;

    text-align: center;

    font-size: 40px;
    line-height: 1.1;

    margin: 0 0 28px;
}

/* Contact inputs */

.service-contact-card .contact-form__form {
    width: 100%;
}

.service-contact-card .contact-form__form label {
    display: block;
    width: 100%;
    margin: 0;
}

.service-contact-card .contact-form__input {
    width: 100%;

    box-sizing: border-box;

    border: none;
    border-bottom: 1px solid rgba(80, 100, 115, 0.25);

    border-radius: 0;

    background: transparent;

    padding: 15px 0;

    color: #34495e;

    font-size: 16px;

    outline: none;
}

.service-contact-card .contact-form__input::placeholder {
    color: #91a6b7;
    opacity: 1;
}

.service-contact-card .contact-form__input:focus {
    border-bottom-color: #269fdf;
}

.service-contact-card .contact-form__textarea {
    min-height: 110px;
    resize: vertical;
}

/* Send Message */

.service-contact-card .contact-form__submit {
    display: flex;

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

    gap: 22px;

    margin: 30px auto 0;

    min-width: 225px;

    padding: 15px 25px;

    border: none;
    border-radius: 999px;

    background: #269fdf;
    color: #fff;

    font-size: 15px;
    font-weight: 600;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.service-contact-card .contact-form__submit:hover {
    background: #1687c3;
    transform: translateY(-1px);
}

/* ---------------------------------------------------------
   HOME SERVICES NAVIGATION
   --------------------------------------------------------- */

.service-nav-card {
    background: #dff2fb;

    border-radius: 0;

    padding: 30px 24px;

    position: relative;
}

.service-nav-card .pillar-sidebar__title {
    text-align: center;

    color: #269fdf;

    font-size: 25px;

    margin: 0 0 25px;
}

.service-nav-card .pillar-sidebar__list {
    list-style: none;

    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: column;
}

.service-nav-card .pillar-sidebar__list li {
    border: none;
}

.service-nav-card .pillar-sidebar__list a {
    display: flex;

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

    gap: 12px;

    padding: 13px 10px;

    color: #111827;

    font-size: 16px;
    font-weight: 500;

    text-decoration: none;

    border-radius: 0;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.service-nav-card .pillar-sidebar__list a:hover {
    color: #269fdf;
    background: rgba(255, 255, 255, 0.6);
}

.service-nav-card .pillar-sidebar__list a.is-current {
    background: #fff;

    color: #269fdf;

    font-weight: 500;
}

.service-nav-card .pillar-sidebar__list svg {
    flex-shrink: 0;

    color: #526579;
}

/* ---------------------------------------------------------
   DESKTOP
   --------------------------------------------------------- */

@media (min-width: 1024px) {

    .service-detail {
        padding-left: 32px;
        padding-right: 32px;
    }

    .service-detail__grid {
        grid-template-columns:
            minmax(0, 2fr)
            minmax(300px, 1fr);

        gap: 55px;
    }

    .service-detail__sidebar {
        position: relative;
    }

    .service-contact-card {
        position: sticky;
        top: 96px;
    }

}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1023px) {

    .service-detail__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .service-detail__sidebar {
        width: 100%;
    }

    .service-contact-card {
        position: relative;
        top: auto;
    }

}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .service-detail {
        padding: 20px 12px 55px;
    }

    .service-detail__grid {
        display: flex;
        flex-direction: column;

        gap: 30px;

        width: 100%;
    }

    .service-detail__main {
        width: 100%;
        order: 1;
    }

    .service-detail__sidebar {
        width: 100%;
        order: 2;

        gap: 25px;
    }

    .service-detail__content {
        font-size: 16px;
        line-height: 1.85;
    }

    .service-detail__content p {
        margin-bottom: 18px;
    }

    .service-detail__conditions {
        grid-template-columns: 1fr;

        column-gap: 0;

        row-gap: 3px;

        margin-top: 20px;
    }

    .service-detail__conditions li {
        font-size: 16px;
    }

    /* Contact card matches your mobile screenshot */

    .service-contact-card {
        width: 100%;

        padding: 28px 15px 38px;

        border-radius: 0;
    }

    .service-contact-card .pillar-sidebar__title {
        font-size: 30px;

        margin-bottom: 24px;
    }

    .service-contact-card .contact-form__input {
        font-size: 16px;

        padding: 15px 0;
    }

    .service-contact-card .contact-form__textarea {
        min-height: 120px;
    }

    .service-contact-card .contact-form__submit {
        width: auto;
        min-width: 220px;

        margin-top: 30px;
    }

    /* Home navigation */

    .service-nav-card {
        width: 100%;

        padding: 28px 15px;
    }

    .service-nav-card .pillar-sidebar__title {
        font-size: 25px;
        margin-bottom: 20px;
    }

    .service-nav-card .pillar-sidebar__list a {
        padding: 12px 10px;

        font-size: 16px;
    }

}

/* ---------------------------------------------------------
   VERY SMALL PHONES
   --------------------------------------------------------- */

@media (max-width: 400px) {

    .service-detail {
        padding-left: 10px;
        padding-right: 10px;
    }

    .service-contact-card {
        padding-left: 14px;
        padding-right: 14px;
    }

    .service-contact-card .contact-form__submit {
        min-width: 200px;
    }

}

/* =========================================================
   MAKE PAYMENT PAGE
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.payment-page .payment-hero {
    position: relative;

    min-height: 300px;

    display: flex;
    align-items: center;

    background-image:
        url("assets/images/back.webp");

    background-size: cover;
    background-position: center;

    overflow: hidden;
}


.payment-page .payment-hero__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.90) 32%,
            rgba(255, 255, 255, 0.25) 70%,
            rgba(255, 255, 255, 0.10) 100%
        );
}


.payment-page .payment-hero__content {
    position: relative;
    z-index: 2;

    width: min(1240px, calc(100% - 80px));

    margin: 0 auto;
}


.payment-page .payment-hero h1 {
    margin: 0;

    color: #050505;

    font-size: clamp(48px, 5vw, 64px);
    line-height: 1.1;

    font-weight: 700;
}


/* ---------------------------------------------------------
   MAIN SECTION
   --------------------------------------------------------- */

.payment-page .payment-section {
    background: #fff;
}


.payment-page .payment-section__inner {
    width: min(1240px, calc(100% - 80px));

    margin: 0 auto;

    padding: 85px 0 100px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(430px, 0.9fr);

    gap: 80px;

    align-items: start;
}


/* ---------------------------------------------------------
   LEFT SIDE
   --------------------------------------------------------- */

.payment-page .payment-info {
    min-width: 0;
}


.payment-page .payment-share h2 {
    margin: 0 0 18px;

    color: #050505;

    font-size: 32px;
    line-height: 1.2;

    font-weight: 700;
}


.payment-page .payment-share__buttons {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;
}


.payment-page .payment-share__buttons a {
    width: 34px;
    height: 34px;

    display: inline-flex;

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

    border-radius: 50%;

    text-decoration: none;

    color: #fff;

    background: #147bd1;

    font-size: 16px;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}


.payment-page .payment-share__buttons a:hover {
    transform: translateY(-2px);
    opacity: 0.85;
}


.payment-page .payment-description {
    margin-top: 80px;

    max-width: 570px;
}


.payment-page .payment-description p {
    margin: 0 0 28px;

    color: #111;

    font-size: 18px;

    line-height: 1.9;
}


/* ---------------------------------------------------------
   PAYMENT CARD
   --------------------------------------------------------- */

.payment-page .payment-card {
    width: 100%;

    box-sizing: border-box;

    padding: 40px;

    background: #effaff;
}


.payment-page .payment-card h2 {
    margin: 0 0 28px;

    color: #111;

    font-size: 22px;

    line-height: 1.35;

    font-weight: 700;
}


/* ---------------------------------------------------------
   FORM
   --------------------------------------------------------- */

.payment-page .payment-form {
    width: 100%;
}


.payment-page .payment-form__field {
    margin-bottom: 24px;
}


.payment-page .payment-form__field label {
    display: block;

    margin-bottom: 10px;

    color: #111;

    font-size: 17px;

    line-height: 1.4;
}


.payment-page .payment-form__field input {
    display: block;

    width: 100%;

    min-height: 50px;

    box-sizing: border-box;

    padding: 12px 14px;

    border: 1px solid #dce3e7;

    border-radius: 4px;

    background: #fff;

    color: #222;

    font-size: 16px;
}


.payment-page .payment-form__field input:focus {
    outline: none;

    border-color: #149ed4;

    box-shadow:
        0 0 0 2px rgba(20, 158, 212, 0.12);
}


/* ---------------------------------------------------------
   AMOUNT
   --------------------------------------------------------- */

.payment-page .payment-form__amount {
    display: flex;

    align-items: center;

    gap: 8px;
}


.payment-page .payment-form__amount label {
    margin: 0;

    white-space: nowrap;
}


.payment-page .payment-form__amount input {
    width: 80px;

    min-height: 44px;
}


/* ---------------------------------------------------------
   PAYMENT BUTTONS
   --------------------------------------------------------- */

.payment-page .payment-button {
    width: 100%;

    min-height: 56px;

    margin-top: 0;
    margin-bottom: 15px;

    border: 0;

    border-radius: 3px;

    display: flex;

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

    gap: 8px;

    cursor: pointer;

    font-size: 18px;

    font-weight: 700;

    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}


.payment-page .payment-button:hover {
    opacity: 0.9;

    transform: translateY(-1px);
}


/* PayPal */

.payment-page .payment-button--paypal {
    background: #087abd;

    color: #fff;

    font-size: 20px;

    font-style: italic;
}


/* Card */

.payment-page .payment-button--card {
    background: #292929;

    color: #fff;
}


.payment-page .payment-button__icon {
    font-size: 25px;

    line-height: 1;
}


/* ---------------------------------------------------------
   POWERED BY
   --------------------------------------------------------- */

.payment-page .payment-powered {
    margin-top: 8px;

    text-align: center;

    color: #888;

    font-size: 12px;
}


.payment-page .payment-powered strong {
    color: #087abd;

    font-size: 15px;

    font-style: italic;
}


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

@media (max-width: 1023px) {

    .payment-page .payment-hero {
        min-height: 330px;
    }


    .payment-page .payment-hero__content {
        width: min(100% - 48px, 800px);
    }


    .payment-page .payment-section__inner {
        width: min(100% - 48px, 800px);

        grid-template-columns: 1fr;

        gap: 50px;

        padding: 60px 0 75px;
    }


    .payment-page .payment-description {
        margin-top: 45px;

        max-width: 700px;
    }


    .payment-page .payment-card {
        width: 100%;
    }

}


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

@media (max-width: 767px) {

    .payment-page .payment-hero {
        min-height: 230px;

        background-position: center;
    }


    .payment-page .payment-hero__content {
        width: calc(100% - 32px);
    }


    .payment-page .payment-hero h1 {
        font-size: 40px;
    }


    .payment-page .payment-section__inner {
        width: 100%;

        box-sizing: border-box;

        display: flex;

        flex-direction: column;

        gap: 35px;

        padding: 40px 16px 55px;
    }


    .payment-page .payment-share h2 {
        font-size: 28px;
    }


    .payment-page .payment-description {
        margin-top: 30px;
    }


    .payment-page .payment-description p {
        font-size: 16px;

        line-height: 1.8;

        margin-bottom: 22px;
    }


    .payment-page .payment-card {
        width: 100%;

        padding: 28px 18px 32px;
    }


    .payment-page .payment-card h2 {
        font-size: 21px;

        margin-bottom: 25px;
    }


    .payment-page .payment-form__field label {
        font-size: 16px;
    }


    .payment-page .payment-form__field input {
        min-height: 50px;

        font-size: 16px;
    }


    .payment-page .payment-form__amount {
        display: block;
    }


    .payment-page .payment-form__amount label {
        margin-bottom: 10px;
    }


    .payment-page .payment-form__amount input {
        width: 100%;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .payment-page .payment-section__inner {
        padding-left: 12px;
        padding-right: 12px;
    }


    .payment-page .payment-card {
        padding: 24px 14px 28px;
    }


    .payment-page .payment-hero h1 {
        font-size: 34px;
    }

}

/* =========================================================
   PROVIDER PROFILE
   Scoped only to single medical professional pages
   ========================================================= */

.provider-profile {
    width: 100%;
    background: #fff;
    color: #111;
}

.provider-profile *,
.provider-profile *::before,
.provider-profile *::after {
    box-sizing: border-box;
}

.provider-profile__container {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   PROVIDERS BANNER
   Matches the existing Pinnacle building banner
   ========================================================= */

.provider-profile__banner {
    position: relative;

    min-height: 300px;

    background-size: cover;
    background-position: center;

    overflow: hidden;
}

.provider-profile__banner-overlay {
    min-height: 300px;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.92) 28%,
            rgba(255,255,255,0.42) 62%,
            rgba(255,255,255,0.05) 100%
        );
}

.provider-profile__banner-title {
    margin: 0;

    color: #000;

    font-size: clamp(46px, 5vw, 64px);
    line-height: 1.1;

    font-weight: 700;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.provider-profile__content {
    padding: 78px 0 100px;
}

.provider-profile__grid {
    display: grid;

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

    gap: 60px;

    align-items: start;
}


/* =========================================================
   LEFT IMAGE
   ========================================================= */

.provider-profile__media {
    width: 100%;
}

.provider-profile__image {
    display: block;

    width: 100%;
    height: auto;

    object-fit: cover;
}


/* =========================================================
   RIGHT CONTENT
   ========================================================= */

.provider-profile__main {
    min-width: 0;
    padding-top: 0;
}

.provider-profile__name {
    margin: 0 0 8px;

    color: #2ca9da;

    font-family: "Inter", sans-serif;

    font-size: clamp(38px, 4vw, 56px);

    line-height: 1.08;

    font-weight: 700;
}

.provider-profile__role {
    margin: 0 0 22px;

    color: #111;

    font-size: 18px;

    line-height: 1.5;
}


/* =========================================================
   SHARE
   ========================================================= */

.provider-profile__share {
    margin: 0 0 26px;
}

.provider-profile__share-title {
    margin: 0 0 12px;

    color: #000;

    font-size: 32px;

    line-height: 1.2;

    font-weight: 700;
}

.provider-profile__share-buttons {
    display: flex;
    align-items: center;

    gap: 8px;

    flex-wrap: wrap;
}

.provider-profile__share-label {
    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-width: 34px;

    margin-right: 3px;

    color: #999;
}

.provider-profile__share-icon {
    display: block;

    height: 14px;

    font-size: 15px;

    line-height: 14px;
}

.provider-profile__share-label small {
    font-size: 9px;

    line-height: 1;

    text-transform: uppercase;

    font-weight: 400;
}

.provider-profile__share-btn {
    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    display: inline-flex;

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

    color: #fff;

    font-family: Arial, sans-serif;

    font-size: 15px;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.provider-profile__share-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

.provider-profile__share-btn--facebook {
    background: #1877f2;
}

.provider-profile__share-btn--pinterest {
    background: #e60023;
}

.provider-profile__share-btn--pdf {
    background: #ed1c24;

    font-size: 8px;
}

.provider-profile__share-btn--copy {
    background: #444;
}

.provider-profile__share-btn--more {
    background: #ff6600;
}


/* =========================================================
   TEXT
   ========================================================= */

.provider-profile__rich-text {
    color: #111;

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.9;
}

.provider-profile__rich-text p {
    margin: 0 0 20px;
}

.provider-profile__rich-text p:last-child {
    margin-bottom: 0;
}

.provider-profile__rich-text a {
    color: #2ca9da;
    text-decoration: none;
}

.provider-profile__rich-text a:hover {
    text-decoration: underline;
}

.provider-profile__rich-text ul,
.provider-profile__rich-text ol {
    margin: 18px 0 20px;

    padding-left: 22px;
}

.provider-profile__rich-text li {
    margin-bottom: 7px;
}


/* =========================================================
   PROVIDER SECTIONS
   ========================================================= */

.provider-profile__section {
    margin-top: 26px;
}

.provider-profile__section > h3 {
    margin: 0 0 10px;

    color: #111;

    font-size: 18px;

    line-height: 1.4;

    font-weight: 500;
}


/* =========================================================
   CONSULTATION BANNER
   Matches existing Pinnacle site
   ========================================================= */

.provider-profile__consultation {
    width: 100%;

    background: #dff3fb;

    padding: 42px 0;
}

.provider-profile__consultation-inner {
    width: min(1280px, calc(100% - 80px));

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}

.provider-profile__consultation-inner h2 {
    margin: 0;

    color: #2ca9da;

    font-size: clamp(34px, 4vw, 50px);

    line-height: 1.15;

    font-weight: 700;
}

.provider-profile__consultation-button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    padding: 14px 25px;

    min-height: 50px;

    border-radius: 999px;

    background: #2ca9da;

    color: #fff !important;

    text-decoration: none !important;

    font-size: 15px;

    font-weight: 500;

    text-transform: uppercase;

    white-space: nowrap;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.provider-profile__consultation-button:hover {
    background: #2499c7;

    color: #fff !important;

    transform: translateY(-2px);
}

.provider-profile__consultation-button span {
    font-size: 23px;
    line-height: 1;
}


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

@media (max-width: 1023px) {

    .provider-profile__container {
        width: calc(100% - 48px);
    }

    .provider-profile__banner {
        min-height: 300px;
    }

    .provider-profile__banner-overlay {
        min-height: 300px;
    }

    .provider-profile__content {
        padding: 60px 0 75px;
    }

    .provider-profile__grid {
        gap: 40px;
    }

    .provider-profile__name {
        font-size: 40px;
    }

    .provider-profile__share-title {
        font-size: 29px;
    }

    .provider-profile__rich-text {
        font-size: 16px;

        line-height: 1.85;
    }

}


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

@media (max-width: 767px) {

    .provider-profile__container {
        width: calc(100% - 32px);
    }

    .provider-profile__banner {
        min-height: 230px;

        background-position: center;
    }

    .provider-profile__banner-overlay {
        min-height: 230px;

        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.80) 55%,
                rgba(255,255,255,0.20) 100%
            );
    }

    .provider-profile__banner-title {
        font-size: 40px;
    }

    .provider-profile__content {
        padding: 42px 0 55px;
    }

    /*
     * Same basic structure as desktop,
     * but stacked on mobile.
     */
    .provider-profile__grid {
        display: flex;

        flex-direction: column;

        gap: 30px;
    }

    /*
     * Keep the provider image first,
     * then the name/share/content.
     */
    .provider-profile__media {
        order: 1;
    }

    .provider-profile__main {
        order: 2;
    }

    .provider-profile__name {
        font-size: 35px;

        line-height: 1.1;
    }

    .provider-profile__role {
        font-size: 17px;

        margin-bottom: 20px;
    }

    .provider-profile__share-title {
        font-size: 28px;
    }

    .provider-profile__rich-text {
        font-size: 16px;

        line-height: 1.82;
    }

    .provider-profile__section {
        margin-top: 24px;
    }

    .provider-profile__section > h3 {
        font-size: 18px;
    }

    .provider-profile__consultation {
        padding: 40px 0;
    }

    .provider-profile__consultation-inner {
        width: calc(100% - 32px);

        flex-direction: column;

        align-items: center;

        text-align: center;
    }

    .provider-profile__consultation-inner h2 {
        font-size: 34px;
    }

    .provider-profile__consultation-button {
        width: 100%;

        max-width: 330px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .provider-profile__container {
        width: calc(100% - 24px);
    }

    .provider-profile__banner-title {
        font-size: 35px;
    }

    .provider-profile__name {
        font-size: 31px;
    }

    .provider-profile__share-title {
        font-size: 26px;
    }

    .provider-profile__consultation-inner {
        width: calc(100% - 24px);
    }
}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .provider-profile__banner,
    .provider-profile__consultation,
    .provider-profile__share {
        display: none !important;
    }

    .provider-profile__content {
        padding: 20px 0;
    }

    .provider-profile__grid {
        display: block;
    }

    .provider-profile__media {
        width: 300px;
        margin-bottom: 25px;
    }

}

/* =========================================================
   SPRAVATO / SERVICE DETAIL EXTRAS
   Add this at the bottom of style.css.
   It is scoped to the service-detail layout and does not
   change the rest of the theme.
   ========================================================= */


/* ---------------------------------------------------------
   SERVICE IMAGE
   --------------------------------------------------------- */

.service-detail--screenshot .service-detail__image {
    margin: 28px 0;
}

.service-detail--screenshot .service-detail__image img {
    display: block;
    width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   YOUTUBE PREVIEW
   --------------------------------------------------------- */

.service-detail--screenshot .spravato-youtube-preview {
    width: 100%;
    margin: 32px 0 40px;
}

.service-detail--screenshot .spravato-youtube-preview__link {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background: #000;
    text-decoration: none;
    box-shadow: var(--shadow-card);
}

.service-detail--screenshot .spravato-youtube-preview__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    opacity: 0.94;
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.service-detail--screenshot .spravato-youtube-preview__link:hover
.spravato-youtube-preview__image {
    transform: scale(1.025);
    opacity: 0.82;
}

.service-detail--screenshot .spravato-youtube-preview__play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    width: 72px;
    height: 50px;

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

    border-radius: 14px;

    background: #ff0000;
    color: #fff;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.service-detail--screenshot .spravato-youtube-preview__link:hover
.spravato-youtube-preview__play {
    transform: translate(-50%, -50%) scale(1.06);
    background: #e60000;
}

.service-detail--screenshot .spravato-youtube-preview__caption {
    padding: 10px 0 0;
    color: #5b6472;
    font-size: 14px;
    line-height: 1.5;
}


/* ---------------------------------------------------------
   RIGHT-SIDE BOOK A CONSULTATION CARD
   --------------------------------------------------------- */

.service-detail--screenshot .service-consultation-card {
    position: relative;

    background: #dceef9;

    border-radius: 0;

    padding: 28px;
}

.service-detail--screenshot .service-consultation-card .pillar-sidebar__title {
    margin: 0 0 12px;

    color: #2ca9da;

    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.service-consultation-card__text {
    margin: 0 0 22px;

    color: #455864;

    font-size: 15px;
    line-height: 1.7;
}

.service-consultation-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    width: 100%;

    box-sizing: border-box;

    padding: 13px 18px;

    border-radius: 999px;

    background: #2ca9da;
    color: #fff !important;

    text-decoration: none !important;

    font-size: 14px;
    font-weight: 700;

    text-transform: uppercase;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.service-consultation-card__button:hover {
    background: #2499c7;
    color: #fff !important;
    transform: translateY(-2px);
}

.service-consultation-card__button span {
    font-size: 22px;
    line-height: 1;
}


/* ---------------------------------------------------------
   KEEP THE CONTENT SPACING CLOSE TO THE LIVE PAGE
   --------------------------------------------------------- */

.service-detail--screenshot .service-detail__content > p:first-child {
    margin-top: 0;
}

.service-detail--screenshot .service-detail__content img {
    max-width: 100%;
    height: auto;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .service-detail--screenshot .spravato-youtube-preview {
        margin: 28px 0 34px;
    }

    .service-detail--screenshot .spravato-youtube-preview__play {
        width: 62px;
        height: 44px;
        border-radius: 12px;
    }

    .service-detail--screenshot .service-consultation-card {
        padding: 26px 22px 30px;
    }

    .service-detail--screenshot
    .service-consultation-card
    .pillar-sidebar__title {
        font-size: 30px;
    }

}
.spravato-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 30px 0;
    overflow: hidden;
    background: #000;
}

.spravato-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
/* =========================================================
   BLOG ARCHIVE
   ========================================================= */

.blog-page {
    width: 100%;
    background: #fff;
}


/* =========================================================
   BANNER
   ========================================================= */

.blog-page__banner {
    width: 100%;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.blog-page__breadcrumb-wrap {
    width: min(1200px, calc(100% - 80px));
    margin: 0 auto;
    padding: 18px 0 0;
}

.blog-page__breadcrumb {
    margin: 0;
}


/* =========================================================
   MAIN BLOG AREA
   ========================================================= */

.blog-page__content {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    padding: 35px 0 90px;
}

.blog-page__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 2fr)
        minmax(330px, 0.95fr);
    gap: 50px;
    align-items: start;
}


/* =========================================================
   POSTS
   ========================================================= */

.blog-page__posts {
    min-width: 0;
}


/* =========================================================
   BLOG CARD
   ========================================================= */

.blog-post-card {
    width: 100%;
    margin: 0 0 60px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(15, 60, 90, 0.09);
}

.blog-post-card:last-child {
    margin-bottom: 35px;
}


/* =========================================================
   IMAGE
   ========================================================= */

.blog-post-card__media {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #edf4f8;
}

.blog-post-card__image-link {
    display: block;
    width: 100%;
}

.blog-post-card__image {
    display: block;
    width: 100%;
    height: 390px;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog-post-card:hover .blog-post-card__image {
    transform: scale(1.025);
}


/* =========================================================
   CATEGORY BADGE
   ========================================================= */

.blog-post-card__category {
    position: absolute;
    top: 28px;
    right: 0;

    display: inline-flex;
    align-items: center;

    max-width: 280px;

    padding: 13px 18px;

    background: var(--primary);
    color: #fff;

    font-size: 15px;
    line-height: 1.25;

    text-decoration: none;

    z-index: 2;
}

.blog-post-card__category:hover {
    background: var(--primary-dark);
    color: #fff;
}


/* Placeholder */

.blog-post-card__media--placeholder {
    height: 260px;
}


/* =========================================================
   BODY
   ========================================================= */

.blog-post-card__body {
    padding: 32px 30px 35px;
}

.blog-post-card__title {
    margin: 0 0 18px;

    color: var(--ink);

    font-family: "Poppins", sans-serif;
    font-size: 30px;
    line-height: 1.35;
    font-weight: 500;
}

.blog-post-card__title a {
    color: inherit;
    text-decoration: none;
}

.blog-post-card__title a:hover {
    color: var(--primary);
}


.blog-post-card__excerpt {
    margin: 0 0 25px;

    color: var(--ink-soft);

    font-family: "Inter", sans-serif;
    font-size: 17px;
    line-height: 1.8;
}


/* =========================================================
   READ MORE BUTTON
   ========================================================= */

.blog-post-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    min-height: 48px;

    padding: 12px 22px;

    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.blog-post-card__button:hover {
    background: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
}

.blog-post-card__button svg {
    flex-shrink: 0;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.blog-page__sidebar {
    min-width: 0;
}

.blog-sidebar-card {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
}


/* =========================================================
   SEARCH
   ========================================================= */

.blog-search-card {
    padding: 20px;
    background: var(--surface-blue);
}

.blog-search {
    display: flex;
    align-items: center;

    width: 100%;

    background: #fff;

    border-radius: 999px;

    overflow: hidden;
}

.blog-search__input {
    flex: 1;

    min-width: 0;

    border: 0;
    outline: 0;

    padding: 15px 18px;

    background: transparent;

    font-family: "Inter", sans-serif;
    font-size: 16px;
    color: var(--ink);
}

.blog-search__input::placeholder {
    color: #8a95a2;
}

.blog-search__button {
    width: 54px;
    height: 50px;

    flex-shrink: 0;

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

    border: 0;

    background: transparent;

    color: var(--primary);

    cursor: pointer;
}

.blog-search__button:hover {
    color: var(--primary-dark);
}


/* =========================================================
   CONTACT CARD
   ========================================================= */

.blog-contact-card {
    padding: 40px 30px 38px;

    background: var(--surface-blue);
}

.blog-sidebar-card__title {
    margin: 0 0 28px;

    color: var(--primary);

    font-family: "Poppins", sans-serif;

    font-size: 38px;
    line-height: 1.15;

    font-weight: 700;
}


.blog-contact-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blog-contact-form label {
    display: block;
}

.blog-contact-form input,
.blog-contact-form textarea {
    display: block;

    width: 100%;

    box-sizing: border-box;

    padding: 14px 7px;

    border: 0;

    border-bottom: 1px solid #b5c4ce;

    background: transparent;

    outline: none;

    color: var(--ink);

    font-family: "Inter", sans-serif;

    font-size: 16px;
}

.blog-contact-form input::placeholder,
.blog-contact-form textarea::placeholder {
    color: #8fa2ae;
    opacity: 1;
}

.blog-contact-form input:focus,
.blog-contact-form textarea:focus {
    border-bottom-color: var(--primary);
}

.blog-contact-form textarea {
    min-height: 115px;
    resize: vertical;
}


/* Submit */

.blog-contact-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    width: fit-content;
    min-width: 220px;

    margin: 25px auto 0;

    padding: 14px 25px;

    border: 0;
    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 600;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.blog-contact-form__submit:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
}


/* =========================================================
   CATEGORIES
   ========================================================= */

.blog-categories-card {
    padding: 38px 30px;

    background: var(--surface-blue);
}

.blog-categories {
    list-style: none;

    margin: 0;
    padding: 0;
}

.blog-categories li {
    border-bottom: 1px solid rgba(80, 100, 115, 0.18);
}

.blog-categories li:last-child {
    border-bottom: 0;
}

.blog-categories a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 15px 0;

    color: var(--ink);

    text-decoration: none;

    font-size: 17px;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.blog-categories a:hover {
    padding-left: 6px;
    color: var(--primary);
}

.blog-categories svg {
    flex-shrink: 0;
    color: #667786;
}


/* =========================================================
   CONSULTATION
   ========================================================= */

.blog-consultation-card {
    padding: 38px 30px 40px;

    background: var(--surface-blue);
}

.blog-consultation-card p {
    margin: 0 0 25px;

    color: var(--ink-soft);

    font-size: 16px;
    line-height: 1.7;
}

.blog-consultation-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    width: 100%;

    box-sizing: border-box;

    min-height: 50px;

    padding: 12px 18px;

    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    text-transform: uppercase;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.blog-consultation-card__button:hover {
    background: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
}


/* =========================================================
   PAGINATION
   ========================================================= */

.blog-pagination {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 20px;
}

.blog-pagination a,
.blog-pagination span {
    display: inline-flex;

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

    min-width: 38px;
    height: 38px;

    padding: 0 10px;

    border-radius: 999px;

    background: #f1f6f9;

    color: var(--ink);

    text-decoration: none;

    font-size: 14px;
}

.blog-pagination a:hover {
    background: var(--primary);
    color: #fff;
}

.blog-pagination .current {
    background: var(--primary);
    color: #fff;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.blog-page__empty {
    padding: 50px 0;
}

.blog-page__empty h2 {
    margin: 0 0 15px;

    font-size: 30px;
}

.blog-page__empty p {
    margin: 0;

    color: var(--ink-soft);

    font-size: 17px;
}


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

@media (max-width: 1023px) {

    .blog-page__breadcrumb-wrap {
        width: calc(100% - 48px);
    }

    .blog-page__content {
        width: calc(100% - 48px);
        padding-top: 30px;
    }

    .blog-page__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .blog-page__sidebar {
        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 25px;
    }

    .blog-sidebar-card {
        margin-bottom: 0;
    }

    .blog-consultation-card {
        grid-column: span 2;
    }

}


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

@media (max-width: 767px) {

    .blog-page__breadcrumb-wrap {
        width: calc(100% - 32px);
        padding-top: 14px;
    }

    .blog-page__content {
        width: calc(100% - 32px);

        padding-top: 25px;
        padding-bottom: 60px;
    }

    .blog-page__grid {
        display: flex;
        flex-direction: column;
        gap: 35px;
    }


    /* Cards */

    .blog-post-card {
        margin-bottom: 35px;
    }

    .blog-post-card__image {
        height: 260px;
    }

    .blog-post-card__category {
        top: 18px;
        right: 0;

        max-width: 220px;

        padding: 11px 14px;

        font-size: 13px;
    }

    .blog-post-card__body {
        padding: 25px 20px 28px;
    }

    .blog-post-card__title {
        font-size: 25px;
        line-height: 1.35;
    }

    .blog-post-card__excerpt {
        font-size: 16px;
        line-height: 1.75;
    }

    .blog-post-card__button {
        width: fit-content;
    }


    /* Sidebar */

    .blog-page__sidebar {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .blog-sidebar-card {
        margin-bottom: 0;
    }

    .blog-contact-card,
    .blog-categories-card,
    .blog-consultation-card {
        padding: 30px 20px;
    }

    .blog-sidebar-card__title {
        font-size: 32px;
    }

    .blog-consultation-card {
        grid-column: auto;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

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

    .blog-page__content {
        width: calc(100% - 24px);
    }

    .blog-post-card__image {
        height: 220px;
    }

    .blog-post-card__title {
        font-size: 22px;
    }

    .blog-post-card__button {
        width: 100%;
    }

    .blog-contact-form__submit {
        width: 100%;
    }

}

/* =========================================================
   PINNACLE FAQ PAGE
   ========================================================= */

.pinnacle-faq-page {
    width: 100%;
    background: #fff;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.pinnacle-faq-page__container {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.pinnacle-faq-page__breadcrumb {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
    padding-top: 18px;
}


/* =========================================================
   INTRO
   ========================================================= */

.pinnacle-faq-page__intro-section {
    padding: 48px 0 20px;
}

.pinnacle-faq-page__intro {
    max-width: 850px;
}

.pinnacle-faq-page__intro h2 {
    margin: 0 0 18px;

    color: var(--primary);

    font-family: "Poppins", sans-serif;

    font-size: clamp(32px, 4vw, 46px);

    line-height: 1.2;

    font-weight: 700;
}

.pinnacle-faq-page__intro p {
    margin: 0;

    color: var(--ink-soft);

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.85;
}


/* =========================================================
   QUESTIONS SECTION
   ========================================================= */

.pinnacle-faq-page__questions {
    padding: 20px 0 75px;
}


/* =========================================================
   FAQ LIST
   ========================================================= */

.pinnacle-faq-list {
    width: 100%;
    max-width: 900px;
}


/* =========================================================
   FAQ ITEM
   ========================================================= */

.pinnacle-faq-item {
    border-top: 1px solid #e5e7eb;
}

.pinnacle-faq-item:last-child {
    border-bottom: 1px solid #e5e7eb;
}


/* =========================================================
   QUESTION BUTTON
   ========================================================= */

.pinnacle-faq-question {
    display: flex;

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

    width: 100%;

    gap: 30px;

    padding: 24px 4px;

    border: 0;

    background: transparent;

    color: var(--ink);

    text-align: left;

    font-family: "Poppins", sans-serif;

    font-size: 18px;

    line-height: 1.5;

    font-weight: 600;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.pinnacle-faq-question:hover {
    color: var(--primary);
}

.pinnacle-faq-question__text {
    flex: 1;
}


/* =========================================================
   PLUS ICON
   ========================================================= */

.pinnacle-faq-question__icon {
    flex-shrink: 0;

    width: 32px;
    height: 32px;

    display: flex;

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

    border-radius: 50%;

    background: var(--primary);

    color: #fff;

    font-family: Arial, sans-serif;

    font-size: 23px;

    font-weight: 400;

    line-height: 1;

    transition:
        transform 0.25s ease,
        background 0.2s ease;
}

.pinnacle-faq-item.is-open
.pinnacle-faq-question__icon {
    transform: rotate(45deg);

    background: var(--primary-dark);
}


/* =========================================================
   ANSWER
   ========================================================= */

.pinnacle-faq-answer {
    overflow: hidden;
}

.pinnacle-faq-answer__inner {
    max-width: 820px;

    padding: 0 60px 28px 4px;

    color: var(--ink-soft);

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.85;
}

.pinnacle-faq-answer__inner p {
    margin: 0 0 16px;
}

.pinnacle-faq-answer__inner p:last-child {
    margin-bottom: 0;
}

.pinnacle-faq-answer__inner a {
    color: var(--primary);

    text-decoration: none;
}

.pinnacle-faq-answer__inner a:hover {
    text-decoration: underline;
}

.pinnacle-faq-answer__inner ul,
.pinnacle-faq-answer__inner ol {
    margin: 16px 0;

    padding-left: 22px;
}

.pinnacle-faq-answer__inner li {
    margin-bottom: 8px;
}


/* =========================================================
   EMPTY
   ========================================================= */

.pinnacle-faq-empty {
    padding: 50px 0;

    color: var(--ink-soft);
}

.pinnacle-faq-empty h3 {
    margin: 0 0 12px;

    color: var(--primary);

    font-size: 30px;
}

.pinnacle-faq-empty p {
    margin: 0;

    font-size: 17px;

    line-height: 1.7;
}


/* =========================================================
   CONSULTATION CTA
   ========================================================= */

.pinnacle-faq-page__consultation {
    width: 100%;

    padding: 45px 0;

    background: #dff3fb;
}

.pinnacle-faq-page__consultation-inner {
    width: min(1280px, calc(100% - 80px));

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 35px;
}

.pinnacle-faq-page__consultation-text h2 {
    margin: 0;

    color: var(--primary);

    font-family: "Poppins", sans-serif;

    font-size: clamp(34px, 4vw, 48px);

    line-height: 1.15;

    font-weight: 700;
}

.pinnacle-faq-page__consultation-button {
    display: inline-flex;

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

    gap: 15px;

    min-height: 50px;

    padding: 13px 24px;

    border-radius: 999px;

    background: var(--primary);

    color: #fff !important;

    text-decoration: none !important;

    text-transform: uppercase;

    font-family: "Inter", sans-serif;

    font-size: 14px;

    font-weight: 600;

    white-space: nowrap;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.pinnacle-faq-page__consultation-button:hover {
    background: var(--primary-dark);

    color: #fff !important;

    transform: translateY(-2px);
}


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

@media (max-width: 1023px) {

    .pinnacle-faq-page__container {
        width: calc(100% - 48px);
    }

    .pinnacle-faq-page__breadcrumb {
        width: calc(100% - 48px);
    }

    .pinnacle-faq-page__intro-section {
        padding-top: 40px;
    }

    .pinnacle-faq-page__questions {
        padding-bottom: 60px;
    }

    .pinnacle-faq-page__consultation-inner {
        width: calc(100% - 48px);
    }

}


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

@media (max-width: 767px) {

    .pinnacle-faq-page__container {
        width: calc(100% - 32px);
    }

    .pinnacle-faq-page__breadcrumb {
        width: calc(100% - 32px);
    }


    /* Intro */

    .pinnacle-faq-page__intro-section {
        padding: 34px 0 15px;
    }

    .pinnacle-faq-page__intro h2 {
        font-size: 32px;
    }

    .pinnacle-faq-page__intro p {
        font-size: 16px;
        line-height: 1.8;
    }


    /* Questions */

    .pinnacle-faq-page__questions {
        padding: 15px 0 45px;
    }

    .pinnacle-faq-question {
        gap: 15px;

        padding: 20px 0;

        font-size: 16px;

        line-height: 1.5;
    }

    .pinnacle-faq-question__icon {
        width: 30px;
        height: 30px;

        font-size: 21px;
    }

    .pinnacle-faq-answer__inner {
        padding: 0 42px 24px 0;

        font-size: 16px;

        line-height: 1.8;
    }


    /* Consultation */

    .pinnacle-faq-page__consultation {
        padding: 40px 0;
    }

    .pinnacle-faq-page__consultation-inner {
        width: calc(100% - 32px);

        flex-direction: column;

        align-items: center;

        text-align: center;

        gap: 24px;
    }

    .pinnacle-faq-page__consultation-text h2 {
        font-size: 32px;
    }

    .pinnacle-faq-page__consultation-button {
        width: 100%;
        max-width: 330px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .pinnacle-faq-page__container {
        width: calc(100% - 24px);
    }

    .pinnacle-faq-page__breadcrumb {
        width: calc(100% - 24px);
    }

    .pinnacle-faq-page__intro h2 {
        font-size: 29px;
    }

    .pinnacle-faq-question {
        font-size: 15px;
    }

    .pinnacle-faq-question__icon {
        width: 28px;
        height: 28px;

        font-size: 19px;
    }

    .pinnacle-faq-answer__inner {
        padding-right: 35px;

        font-size: 15px;
    }

}
/* =========================================================
   PROVIDER PSYCHOLOGY TODAY BUTTON
   ========================================================= */

.provider-profile__external-profile {
    display: flex;
    justify-content: center;

    width: 100%;

    padding: 45px 0 75px;
}

.provider-profile__external-button {
    display: inline-flex;

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

    gap: 15px;

    min-height: 48px;

    padding: 13px 23px;

    border-radius: 999px;

    background: var(--primary);

    color: #fff !important;

    text-decoration: none !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;

    font-weight: 500;

    text-transform: uppercase;

    white-space: nowrap;

    transition:
        background .2s ease,
        transform .2s ease;
}

.provider-profile__external-button:hover {
    background: var(--primary-dark);

    color: #fff !important;

    transform: translateY(-2px);
}


/* =========================================================
   PROVIDER TESTIMONIALS
   ========================================================= */

.provider-testimonials {
    width: 100%;

    padding: 75px 0 90px;

    background: #f8f8f8;

    overflow: hidden;
}

.provider-testimonials__container {
    width: min(1200px, calc(100% - 80px));

    margin: 0 auto;
}

.provider-testimonials__title {
    margin: 0 0 55px;

    color: var(--primary);

    font-family: "Poppins", sans-serif;

    font-size: clamp(38px, 4vw, 50px);

    line-height: 1.15;

    font-weight: 700;

    text-align: center;
}


/* =========================================================
   SLIDER
   ========================================================= */

.provider-testimonials__slider {
    position: relative;

    display: flex;

    align-items: center;

    gap: 18px;
}

.provider-testimonials__viewport {
    width: 100%;

    overflow: hidden;
}

.provider-testimonials__track {
    display: flex;

    gap: 30px;

    will-change: transform;

    transition: transform .45s ease;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

.provider-testimonial {
    flex: 0 0 calc((100% - 30px) / 2);

    min-height: 305px;

    box-sizing: border-box;

    padding: 40px;

    background: #fff;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.08);
}

.provider-testimonial__header {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 25px;
}

.provider-testimonial__avatar {
    width: 70px;
    height: 70px;

    flex: 0 0 70px;

    display: flex;

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

    border-radius: 50%;

    background: var(--primary);

    color: #fff;

    font-family: "Inter", sans-serif;

    font-size: 30px;

    font-weight: 400;
}

.provider-testimonial__identity h3 {
    margin: 0 0 4px;

    color: #111;

    font-family: "Poppins", sans-serif;

    font-size: 25px;

    line-height: 1.2;

    font-weight: 500;
}

.provider-testimonial__identity span {
    color: #333;

    font-family: "Inter", sans-serif;

    font-size: 15px;
}

.provider-testimonial__text {
    color: #333;

    font-family: "Inter", sans-serif;

    font-size: 16px;

    line-height: 1.9;
}


/* =========================================================
   ARROWS
   ========================================================= */

.provider-testimonials__arrow {
    position: absolute;

    z-index: 5;

    width: 42px;
    height: 42px;

    display: flex;

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

    border: 0;

    background: #fff;

    color: #333;

    cursor: pointer;

    box-shadow:
        0 4px 15px rgba(0, 0, 0, 0.10);

    transition:
        background .2s ease,
        color .2s ease;
}

.provider-testimonials__arrow:hover {
    background: var(--primary);

    color: #fff;
}

.provider-testimonials__arrow--prev {
    left: -21px;
}

.provider-testimonials__arrow--next {
    right: -21px;
}


/* =========================================================
   DOTS
   ========================================================= */

.provider-testimonials__dots {
    display: flex;

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

    gap: 10px;

    margin-top: 35px;
}

.provider-testimonials__dot {
    width: 10px;
    height: 10px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #c9c9c9;

    cursor: pointer;
}

.provider-testimonials__dot.is-active {
    background: var(--primary);
}


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

@media (max-width: 900px) {

    .provider-testimonials__container {
        width: calc(100% - 48px);
    }

    .provider-testimonial {
        flex-basis: 100%;

        min-height: 280px;
    }

    .provider-testimonials__arrow--prev {
        left: -12px;
    }

    .provider-testimonials__arrow--next {
        right: -12px;
    }

}


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

@media (max-width: 767px) {

    .provider-profile__external-profile {
        padding: 35px 0 55px;
    }

    .provider-profile__external-button {
        width: 100%;

        max-width: 340px;

        text-align: center;
    }


    .provider-testimonials {
        padding: 50px 0 60px;
    }

    .provider-testimonials__container {
        width: calc(100% - 32px);
    }

    .provider-testimonials__title {
        margin-bottom: 35px;

        font-size: 34px;
    }

    .provider-testimonials__slider {
        gap: 0;
    }

    .provider-testimonial {
        flex-basis: 100%;

        min-height: 0;

        padding: 30px 24px;
    }

    .provider-testimonial__header {
        margin-bottom: 22px;

        gap: 14px;
    }

    .provider-testimonial__avatar {
        width: 60px;
        height: 60px;

        flex-basis: 60px;

        font-size: 25px;
    }

    .provider-testimonial__identity h3 {
        font-size: 22px;
    }

    .provider-testimonial__text {
        font-size: 15px;

        line-height: 1.8;
    }

    .provider-testimonials__arrow {
        width: 36px;
        height: 36px;
    }

    .provider-testimonials__arrow--prev {
        left: 5px;
    }

    .provider-testimonials__arrow--next {
        right: 5px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .provider-testimonials__container {
        width: calc(100% - 24px);
    }

    .provider-testimonial {
        padding: 25px 20px;
    }

    .provider-testimonial__text {
        font-size: 14px;
    }

}
/* =========================================================
   PSYCHOLOGY TODAY BUTTON
   MATCH PINNACLE PROVIDER PAGE
   ========================================================= */

.provider-profile__external-profile {
    width: 100%;
    padding: 48px 0 78px;
    background: #ffffff;
}

.provider-profile__external-profile
.provider-profile__container {
    width: min(1200px, calc(100% - 80px));

    margin-left: auto !important;
    margin-right: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center;
}

.provider-profile__external-button {
    display: inline-flex !important;

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

    gap: 15px;

    width: auto !important;
    min-width: 360px;

    min-height: 48px;

    padding: 13px 24px;

    margin: 0 auto !important;

    border: 0;

    border-radius: 999px;

    background: #29a9df;

    color: #ffffff !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;

    font-weight: 500;

    line-height: 1;

    text-align: center;

    text-decoration: none !important;

    text-transform: uppercase;

    white-space: nowrap;

    box-sizing: border-box;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.provider-profile__external-button:hover {
    background: #168fc4;

    color: #ffffff !important;

    transform: translateY(-2px);
}

.provider-profile__external-button svg {
    flex-shrink: 0;

    width: 20px;
    height: 20px;
}


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

@media (max-width: 767px) {

    .provider-profile__external-profile {
        padding: 40px 0 55px;
    }

    .provider-profile__external-profile
    .provider-profile__container {
        width: calc(100% - 32px);

        display: flex !important;

        justify-content: center !important;
        align-items: center !important;
    }

    .provider-profile__external-button {
        width: auto !important;

        min-width: 0;

        max-width: 100%;

        padding: 13px 20px;

        font-size: 13px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .provider-profile__external-button {
        width: 100% !important;

        max-width: 340px;

        padding-left: 16px;
        padding-right: 16px;

        font-size: 12px;
    }

}

/* =========================================================
   PINNACLE TESTIMONIALS PAGE
   ========================================================= */

.pinnacle-testimonials-page {
    width: 100%;
    background: #fff;
}

.pinnacle-testimonials-container {
    width: min(1210px, calc(100% - 80px));
    margin: 0 auto;
}


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

.pinnacle-testimonials-banner {
    position: relative;

    width: 100%;
    height: 300px;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.pinnacle-testimonials-banner__overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.88) 30%,
            rgba(255,255,255,.35) 60%,
            rgba(255,255,255,0) 100%
        );
}

.pinnacle-testimonials-banner__title {
    margin: 0;

    color: #000;

    font-family: "Poppins", sans-serif;

    font-size: clamp(42px, 5vw, 62px);

    line-height: 1.05;

    font-weight: 700;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.pinnacle-testimonials-breadcrumb {
    padding: 18px 0 0;
}

.pinnacle-testimonials-breadcrumb p {
    margin: 0;

    color: #555;

    font-family: "Inter", sans-serif;
    font-size: 14px;
}

.pinnacle-testimonials-breadcrumb a {
    color: #2276e8;
    text-decoration: none;
}

.pinnacle-testimonials-breadcrumb span {
    margin-left: 7px;
}


/* =========================================================
   CONTENT
   ========================================================= */

.pinnacle-testimonials-content {
    padding: 42px 0 80px;
}


/* =========================================================
   MAIN PAGE SHARE
   ========================================================= */

.pinnacle-testimonials-share {
    margin-bottom: 65px;
}

.pinnacle-testimonials-share h2 {
    margin: 0 0 12px;

    color: #000;

    font-family: "Poppins", sans-serif;

    font-size: 32px;

    line-height: 1.15;

    font-weight: 600;
}

.pinnacle-testimonials-share__buttons,
.pinnacle-testimonial-card__share {
    display: flex;
    align-items: center;

    gap: 9px;
}

.pinnacle-share-count {
    display: flex;
    flex-direction: column;

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

    min-width: 38px;

    color: #858585;
}

.pinnacle-share-count span {
    font-size: 18px;
    line-height: 1;
}

.pinnacle-share-count small {
    font-size: 9px;
    line-height: 1.2;
}


/* SHARE BUTTONS */

.share-facebook,
.share-pinterest,
.share-pdf,
.share-copy,
.share-more {
    width: 36px;
    height: 36px;

    display: inline-flex;

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

    border: 0;
    border-radius: 50%;

    color: #fff !important;

    font-family: Arial, sans-serif;

    font-size: 18px;

    text-decoration: none !important;

    cursor: pointer;

    box-sizing: border-box;
}

.share-facebook {
    background: #1877f2;
    font-weight: 700;
}

.share-pinterest {
    background: #e60023;
    font-weight: 700;
}

.share-pdf {
    background: #e21d2d;
    font-size: 10px;
    font-weight: 700;
}

.share-copy {
    background: #333;
    font-size: 16px;
}

.share-more {
    background: #ff6b00;
    font-size: 23px;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

.pinnacle-testimonials-list {
    display: flex;
    flex-direction: column;

    gap: 38px;
}

.pinnacle-testimonial-card {
    position: relative;

    width: 100%;

    padding: 72px 30px 38px;

    border: 1px solid #d5d5d5;

    background: #fff;

    box-sizing: border-box;

    animation: testimonialFadeIn .35s ease both;
}

@keyframes testimonialFadeIn {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* BIG BLUE QUOTE */

.pinnacle-testimonial-card__quote {
    position: absolute;

    top: -25px;
    left: 28px;

    color: #28a9df;

    font-family: Georgia, serif;

    font-size: 105px;

    font-weight: 700;

    line-height: 1;
}


/* CARD HEADING */

.pinnacle-testimonial-card__heading {
    margin: 0 0 12px;

    color: #000;

    font-family: "Poppins", sans-serif;

    font-size: 31px;

    line-height: 1.15;

    font-weight: 600;
}


/* CARD SHARE */

.pinnacle-testimonial-card__share {
    margin-bottom: 25px;
}


/* REVIEW TEXT */

.pinnacle-testimonial-card__text {
    color: #151515;

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.9;
}

.pinnacle-testimonial-card__text p {
    margin: 0;
}

.pinnacle-testimonial-card__text p + p {
    margin-top: 15px;
}


/* FOOTER */

.pinnacle-testimonial-card__footer {
    display: flex;

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

    gap: 20px;

    margin-top: 18px;
}

.pinnacle-testimonial-card__footer strong {
    color: #005ea8;

    font-family: "Poppins", sans-serif;

    font-size: 21px;

    font-weight: 500;
}

.pinnacle-testimonial-card__source {
    color: #4285f4;

    font-family: Arial, sans-serif;

    font-size: 31px;

    font-weight: 500;
}


/* =========================================================
   LOAD MORE
   ========================================================= */

.is-hidden-testimonial {
    display: none;
}

.pinnacle-testimonials-load-more-wrap {
    display: flex;

    justify-content: center;

    padding-top: 55px;
}

.pinnacle-testimonials-load-more {
    min-width: 180px;

    padding: 15px 28px;

    border: 0;
    border-radius: 999px;

    background: #29a9df;

    color: #fff;

    font-family: "Inter", sans-serif;

    font-size: 15px;

    font-weight: 600;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.pinnacle-testimonials-load-more:hover {
    background: #188fc5;

    transform: translateY(-2px);
}


/* =========================================================
   EMPTY
   ========================================================= */

.pinnacle-testimonials-empty {
    padding: 60px 0;

    text-align: center;
}

.pinnacle-testimonials-empty h2 {
    color: #29a9df;
}


/* =========================================================
   CONSULTATION
   ========================================================= */

.pinnacle-testimonials-consultation {
    width: 100%;

    padding: 48px 0;

    background: #dff3fb;
}

.pinnacle-testimonials-consultation__inner {
    width: min(1280px, calc(100% - 80px));

    margin: 0 auto;

    display: flex;

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

    gap: 30px;
}

.pinnacle-testimonials-consultation h2 {
    margin: 0;

    color: #29a9df;

    font-family: "Poppins", sans-serif;

    font-size: clamp(36px, 4vw, 50px);

    line-height: 1.1;

    font-weight: 700;
}

.pinnacle-testimonials-consultation__button {
    display: inline-flex;

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

    gap: 14px;

    padding: 14px 25px;

    border-radius: 999px;

    background: #29a9df;

    color: #fff !important;

    text-transform: uppercase;

    text-decoration: none !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;

    font-weight: 600;

    white-space: nowrap;
}

.pinnacle-testimonials-consultation__button:hover {
    background: #188fc5;
}


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

@media (max-width: 900px) {

    .pinnacle-testimonials-container {
        width: calc(100% - 48px);
    }

    .pinnacle-testimonials-banner {
        height: 250px;
    }

    .pinnacle-testimonials-consultation__inner {
        width: calc(100% - 48px);
    }

}


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

@media (max-width: 767px) {

    .pinnacle-testimonials-container {
        width: calc(100% - 32px);
    }


    .pinnacle-testimonials-banner {
        height: 205px;
    }

    .pinnacle-testimonials-banner__title {
        font-size: 39px;
    }


    .pinnacle-testimonials-content {
        padding: 32px 0 55px;
    }

    .pinnacle-testimonials-share {
        margin-bottom: 50px;
    }

    .pinnacle-testimonials-share h2 {
        font-size: 29px;
    }


    .pinnacle-testimonials-list {
        gap: 30px;
    }


    .pinnacle-testimonial-card {
        padding: 68px 24px 30px;
    }


    .pinnacle-testimonial-card__quote {
        left: 20px;

        font-size: 82px;
    }


    .pinnacle-testimonial-card__heading {
        font-size: 27px;
    }


    .pinnacle-testimonial-card__text {
        font-size: 15px;

        line-height: 1.85;
    }


    .pinnacle-testimonial-card__footer {
        align-items: flex-start;

        flex-direction: column;

        gap: 8px;
    }


    .pinnacle-testimonial-card__source {
        font-size: 27px;
    }


    .pinnacle-testimonials-consultation {
        padding: 40px 0;
    }


    .pinnacle-testimonials-consultation__inner {
        width: calc(100% - 32px);

        flex-direction: column;

        text-align: center;
    }


    .pinnacle-testimonials-consultation h2 {
        font-size: 34px;
    }


    .pinnacle-testimonials-consultation__button {
        width: 100%;
        max-width: 340px;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 420px) {

    .pinnacle-testimonials-container {
        width: calc(100% - 24px);
    }

    .pinnacle-testimonial-card {
        padding-left: 20px;
        padding-right: 20px;
    }

    .pinnacle-testimonial-card__text {
        font-size: 14px;
    }

}

/* =========================================================
   BRAIN HEALTH SERIES
   ========================================================= */

.brain-health-page {
    background: #fff;
    color: #111;
}

.brain-health-container {
    width: min(1210px, calc(100% - 80px));
    margin: 0 auto;
}


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

.brain-health-hero {
    position: relative;
    height: 300px;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.brain-health-hero__overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.88) 32%,
            rgba(255,255,255,.38) 62%,
            rgba(255,255,255,0) 100%
        );
}

.brain-health-hero__title {
    margin: 0;

    font-family: "Poppins", sans-serif;

    color: #000;

    font-size: clamp(42px, 5vw, 62px);
    font-weight: 700;
    line-height: 1.05;
}


/* =========================================================
   SHARE
   ========================================================= */

.brain-health-share {
    padding: 38px 0 15px;
}

.brain-health-share h2 {
    margin: 0 0 12px;

    color: #000;

    font-family: "Poppins", sans-serif;

    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
}

.brain-health-share__buttons {
    display: flex;
    align-items: center;
    gap: 9px;
}

.brain-health-share__count {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 38px;

    color: #888;
}

.brain-health-share__count span {
    font-size: 18px;
    line-height: 1;
}

.brain-health-share__count small {
    font-size: 9px;
    line-height: 1.2;
}

.brain-share {
    width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    color: #fff !important;

    text-decoration: none !important;

    font-family: Arial, sans-serif;

    cursor: pointer;

    box-sizing: border-box;
}

.brain-share--facebook {
    background: #1877f2;
    font-weight: 700;
}

.brain-share--pinterest {
    background: #e60023;
    font-weight: 700;
}

.brain-share--pdf {
    background: #e31d2f;
    font-size: 10px;
    font-weight: 700;
}

.brain-share--link {
    background: #333;
}

.brain-share--more {
    background: #ff6b00;
    font-size: 22px;
}


/* =========================================================
   RESOURCE SECTION
   ========================================================= */

.brain-health-resources {
    padding: 45px 0 80px;
}

.brain-health-grid {
    display: grid;

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

    gap: 22px 48px;
}


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

.brain-health-card {
    position: relative;

    min-height: 300px;

    display: flex;
    align-items: stretch;

    text-align: center;

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

    border: 1px solid #edf1f4;

    box-shadow:
        0 8px 25px rgba(32, 79, 104, .05);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.brain-health-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 16px 38px rgba(32, 79, 104, .11);

    border-color: #cfeaf5;
}

.brain-health-card__inner {
    width: 100%;

    padding: 42px 42px 38px;

    display: flex;
    flex-direction: column;
    align-items: center;
}


.brain-health-card__title {
    margin: 0 0 10px;

    color: #28a9df;

    font-family: "Poppins", sans-serif;

    font-size: 30px;
    font-weight: 500;
    line-height: 1.18;
}

.brain-health-card__subtitle {
    margin: 0 0 14px;

    color: #111;

    font-family: "Inter", sans-serif;

    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.brain-health-card__description {
    max-width: 560px;

    margin: 0 auto 25px;

    color: #222;

    font-family: "Inter", sans-serif;

    font-size: 16px;
    line-height: 1.8;
}


.brain-health-card__button {
    margin-top: auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 13px 24px;

    border-radius: 999px;

    background: #29a9df;

    color: #fff !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 600;

    line-height: 1;

    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background .2s ease,
        transform .2s ease;
}

.brain-health-card__button:hover {
    background: #168fc4;
    color: #fff !important;

    transform: translateY(-2px);
}

.brain-health-card__button span {
    font-size: 20px;
    line-height: 1;
}


/* =========================================================
   BRAIN HEALTH PLAN
   ========================================================= */

.brain-health-plan {
    margin-top: 70px;

    padding: 75px 30px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #f5fbfe 0%,
            #e8f7fc 100%
        );

    border-top: 1px solid #d8eef7;
    border-bottom: 1px solid #d8eef7;
}

.brain-health-plan__content {
    max-width: 750px;
    margin: 0 auto;
}

.brain-health-plan__eyebrow {
    display: inline-block;

    margin-bottom: 12px;

    color: #29a9df;

    font-family: "Inter", sans-serif;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .15em;
}

.brain-health-plan h2 {
    margin: 0 0 10px;

    color: #29a9df;

    font-family: "Poppins", sans-serif;

    font-size: clamp(34px, 4vw, 48px);

    line-height: 1.15;
}

.brain-health-plan h3 {
    margin: 0 0 20px;

    color: #111;

    font-family: "Inter", sans-serif;

    font-size: 20px;
    font-weight: 500;
}

.brain-health-plan p {
    margin: 0 auto 28px;

    max-width: 690px;

    color: #222;

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.8;
}


/* =========================================================
   CONSULTATION
   ========================================================= */

.brain-health-consultation {
    padding: 48px 0;

    background: #dff3fb;
}

.brain-health-consultation__inner {
    width: min(1280px, calc(100% - 80px));

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.brain-health-consultation h2 {
    margin: 0;

    color: #29a9df;

    font-family: "Poppins", sans-serif;

    font-size: clamp(36px, 4vw, 50px);

    line-height: 1.1;
}

.brain-health-consultation__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    padding: 14px 25px;

    border-radius: 999px;

    background: #29a9df;

    color: #fff !important;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 600;

    text-transform: uppercase;
    text-decoration: none !important;

    white-space: nowrap;
}

.brain-health-consultation__button:hover {
    background: #168fc4;
    color: #fff !important;
}


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

@media (max-width: 1000px) {

    .brain-health-container {
        width: calc(100% - 48px);
    }

    .brain-health-grid {
        gap: 20px;
    }

    .brain-health-card__inner {
        padding: 35px 28px;
    }

}


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

@media (max-width: 767px) {

    .brain-health-container {
        width: calc(100% - 32px);
    }

    .brain-health-hero {
        height: 210px;
    }

    .brain-health-hero__title {
        font-size: 40px;
    }

    .brain-health-share {
        padding-top: 30px;
    }

    .brain-health-share h2 {
        font-size: 29px;
    }

    .brain-health-resources {
        padding-top: 25px;
    }

    .brain-health-grid {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .brain-health-card {
        min-height: 0;
    }

    .brain-health-card__inner {
        padding: 34px 22px;
    }

    .brain-health-card__title {
        font-size: 28px;
    }

    .brain-health-card__subtitle {
        font-size: 17px;
    }

    .brain-health-card__description {
        font-size: 15px;
        line-height: 1.75;
    }

    .brain-health-card__button {
        width: auto;
        max-width: 100%;
    }

    .brain-health-plan {
        margin-top: 45px;
        padding: 52px 20px;
    }

    .brain-health-plan p {
        font-size: 15px;
        line-height: 1.75;
    }

    .brain-health-consultation {
        padding: 40px 0;
    }

    .brain-health-consultation__inner {
        width: calc(100% - 32px);

        flex-direction: column;

        text-align: center;
    }

    .brain-health-consultation__button {
        width: 100%;
        max-width: 340px;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 420px) {

    .brain-health-container {
        width: calc(100% - 24px);
    }

    .brain-health-card__inner {
        padding: 30px 18px;
    }

    .brain-health-card__title {
        font-size: 25px;
    }

    .brain-health-card__description {
        font-size: 14px;
    }

}

/* =========================================================
   EDINA LOCATION PAGE
   Converted directly from:
   "Edina Location Page(3).htm"

   This stylesheet is intentionally scoped to the page
   wrapper so it does not interfere with the rest of
   the Pinnacle WordPress theme.
   ========================================================= */


/* =========================================================
   EDINA DESIGN TOKENS
   ========================================================= */

.edina-location-page {
    --cloud: #F6FAFB;
    --paper: #FFFFFF;

    --ink: #233240;
    --muted: #5C6E7A;
    --faint: #8B9AA5;

    --harbor: #16283A;
    --harbor-deep: #0E1C29;

    --sky: #2CA9DA;
    --sky-deep: #1B8FBD;
    --sky-tint: #E7F5FB;

    --pine: #17847A;
    --pine-tint: #E4F3F1;

    --sand: #E2984E;
    --sand-tint: #FCF1E3;

    --line: #DDE7EC;
    --line-soft: #EAF1F4;

    --serif: "Fraunces", Georgia, serif;
    --sans: "Inter", -apple-system, BlinkMacSystemFont,
            "Segoe UI", sans-serif;

    width: 100%;
    margin: 0;
    padding: 0;

    background: var(--cloud);
    color: var(--ink);

    font-family: var(--sans);
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;

    overflow-x: hidden;
}


/* =========================================================
   EDINA-SCOPED RESET
   ========================================================= */

.edina-location-page *,
.edina-location-page *::before,
.edina-location-page *::after {
    box-sizing: border-box;
}

.edina-location-page img {
    display: block;
    max-width: 100%;
}

.edina-location-page a {
    color: inherit;
    text-decoration: none;
}

.edina-location-page ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.edina-location-page h1,
.edina-location-page h2,
.edina-location-page h3,
.edina-location-page h4 {
    margin-top: 0;

    font-family: var(--serif);
    color: var(--harbor);

    letter-spacing: -0.01em;
    font-weight: 600;
}

.edina-location-page p {
    margin-top: 0;
}

.edina-location-page button {
    font-family: inherit;
}


/* =========================================================
   WRAPPER
   ========================================================= */

.edina-location-page .wrap {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
}

@media (max-width: 720px) {

    .edina-location-page .wrap {
        padding-left: 22px;
        padding-right: 22px;
    }

}


/* =========================================================
   EYEBROW
   ========================================================= */

.edina-location-page .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 16px;

    color: var(--pine);

    font-family: var(--sans);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.2;

    text-transform: uppercase;
}

.edina-location-page .eyebrow::before {
    content: "";

    width: 18px;
    height: 1.5px;

    flex: 0 0 18px;

    background: var(--sand);
}


/* =========================================================
   BUTTONS
   ========================================================= */

.edina-location-page .btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    border: none;
    border-radius: 100px;

    padding: 15px 30px;

    font-family: var(--sans);
    font-size: 15px;
    font-weight: 700;

    line-height: 1;

    cursor: pointer;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.edina-location-page .btn:hover {
    transform: translateY(-1px);
}

.edina-location-page .btn-primary {
    background: var(--sky);
    color: #fff;

    box-shadow:
        0 8px 22px rgba(44, 169, 218, 0.35);
}

.edina-location-page .btn-primary:hover {
    box-shadow:
        0 10px 26px rgba(44, 169, 218, 0.45);
}

.edina-location-page .btn-ghost {
    background: transparent;
    color: #fff;

    border: 1.5px solid rgba(255, 255, 255, 0.4);
}

.edina-location-page .btn-ghost:hover {
    border-color: #fff;
}

.edina-location-page .btn-dark {
    background: var(--harbor);
    color: #fff;

    box-shadow:
        0 8px 22px rgba(14, 28, 41, 0.28);
}

.edina-location-page .btn-outline {
    background: transparent;
    color: var(--harbor);

    border: 1.5px solid var(--line);
}

.edina-location-page .btn-outline:hover {
    border-color: var(--sky);
    color: var(--sky-deep);
}


/* =========================================================
   SECTIONS
   ========================================================= */

.edina-location-page section {
    padding: 100px 0;
}

.edina-location-page section.tight {
    padding: 68px 0;
}

@media (max-width: 720px) {

    .edina-location-page section {
        padding: 64px 0;
    }

    .edina-location-page section.tight {
        padding: 48px 0;
    }

}


/* =========================================================
   SECTION HEAD
   ========================================================= */

.edina-location-page .section-head {
    max-width: 640px;
    margin-bottom: 52px;
}

.edina-location-page .section-head h2 {
    font-size: clamp(28px, 3.6vw, 40px);
    line-height: 1.18;
}

.edina-location-page .section-head p {
    margin-top: 16px;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.65;
}

.edina-location-page .section-head.center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}

.edina-location-page .section-head.center .eyebrow::before {
    display: none;
}


/* =========================================================
   NOTE:
   The original standalone HTML has its own NAV.
   Since your WordPress version uses your existing
   Pinnacle get_header(), the original .nav styles
   are intentionally NOT included here.
   ========================================================= */


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

.edina-location-page .hero {
    background:
        radial-gradient(
            ellipse 700px 500px
            at 100% -10%,
            rgba(44, 169, 218, 0.16),
            transparent 65%
        ),
        radial-gradient(
            ellipse 600px 500px
            at -10% 100%,
            rgba(23, 132, 122, 0.10),
            transparent 60%
        ),
        var(--cloud);

    padding: 88px 0 40px;

    overflow: hidden;
}


/* Two-column desktop hero */

.edina-location-page .hero .wrap {
    display: grid;

    grid-template-columns:
        1.05fr
        0.95fr;

    gap: 56px;

    align-items: center;
}


/* Tablet/mobile */

@media (max-width: 960px) {

    .edina-location-page .hero .wrap {
        grid-template-columns: 1fr;
    }

    .edina-location-page .hero {
        padding: 56px 0 32px;
    }

}


/* Hero heading */

.edina-location-page .hero h1 {
    margin: 0;

    font-size:
        clamp(34px, 4.6vw, 54px);

    line-height: 1.1;
}

.edina-location-page .hero h1 em {
    color: var(--sky-deep);
    font-style: italic;
    font-weight: 500;
}


/* Hero paragraph */

.edina-location-page .hero-sub {
    max-width: 520px;

    margin-top: 22px;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.7;
}


/* Hero CTAs */

.edina-location-page .hero-ctas {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;

    margin-top: 34px;
}


/* Hero trust */

.edina-location-page .hero-trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;

    margin-top: 32px;

    color: var(--faint);

    font-size: 13.5px;
    font-weight: 600;
}

.edina-location-page .hero-trust .stars {
    color: var(--sand);

    letter-spacing: 1px;
}

.edina-location-page .hero-trust b {
    color: var(--harbor);
}


/* =========================================================
   HERO OFFICE CARD
   ========================================================= */

.edina-location-page .hero-card {
    background: var(--paper);

    border: 1px solid var(--line);
    border-radius: 24px;

    box-shadow:
        0 30px 70px -30px rgba(14, 28, 41, 0.25);

    overflow: hidden;
}


/* Map */

.edina-location-page .hero-card-map {
    width: 100%;
}

.edina-location-page .hero-card-map iframe {
    display: block;

    width: 100%;
    height: 230px;

    border: 0;
}


/* Card body */

.edina-location-page .hero-card-body {
    padding: 26px 28px;
}

.edina-location-page .hero-card-label {
    color: var(--pine);

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;

    line-height: 1.2;

    text-transform: uppercase;
}

.edina-location-page .hero-card-addr {
    margin-top: 8px;

    color: var(--harbor);

    font-family: var(--serif);
    font-size: 19px;
    line-height: 1.4;
}

.edina-location-page .hero-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-top: 16px;
    padding-top: 16px;

    border-top: 1px solid var(--line-soft);

    color: var(--muted);

    font-size: 13.5px;
}


/* =========================================================
   TRUST STRIP
   ========================================================= */

.edina-location-page .trust-strip {
    background: var(--paper);

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

.edina-location-page .trust-strip .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap: 20px;

    padding-top: 30px;
    padding-bottom: 30px;
}

.edina-location-page .trust-item {
    display: flex;
    align-items: center;
    gap: 11px;

    color: var(--harbor);

    font-size: 13.5px;
    font-weight: 700;
}


/* =========================================================
   SERVICES
   ========================================================= */

.edina-location-page .svc-grid {
    display: grid;

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

    gap: 16px;
}

@media (max-width: 820px) {

    .edina-location-page .svc-grid {
        grid-template-columns:
            1fr 1fr;
    }

}

@media (max-width: 560px) {

    .edina-location-page .svc-grid {
        grid-template-columns: 1fr;
    }

}


/* Service card */

.edina-location-page .svc-card {
    background: var(--paper);

    border: 1px solid var(--line);
    border-radius: 16px;

    padding: 26px 24px;

    transition:
        border-color 0.15s ease,
        transform 0.15s ease;
}

.edina-location-page .svc-card:hover {
    border-color: var(--sky);

    transform: translateY(-2px);
}


/* Service icon */

.edina-location-page .svc-dot {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin-bottom: 14px;

    border-radius: 10px;

    background: var(--sky-tint);
}


/* Service title */

.edina-location-page .svc-card h3 {
    font-size: 17px;
}


/* Service description */

.edina-location-page .svc-card p {
    margin-top: 8px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   LOCATION DETAIL
   ========================================================= */

.edina-location-page .loc-grid {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 64px;

    align-items: start;
}

@media (max-width: 900px) {

    .edina-location-page .loc-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

}


/* Map */

.edina-location-page .loc-map {
    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 20px;

    box-shadow:
        0 20px 46px -24px rgba(14, 28, 41, 0.25);
}

.edina-location-page .loc-map iframe {
    display: block;

    width: 100%;
    height: 360px;

    border: 0;
}


/* Details card */

.edina-location-page .loc-card {
    background: var(--paper);

    border: 1px solid var(--line);
    border-radius: 18px;

    padding: 8px 30px;
}


/* Individual location row */

.edina-location-page .loc-row {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    padding: 18px 0;

    border-bottom: 1px solid var(--line-soft);

    color: var(--ink);

    font-size: 14.5px;
}

.edina-location-page .loc-row:last-child {
    border-bottom: none;
}


/* Location icon */

.edina-location-page .loc-ico {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    border-radius: 10px;

    background: var(--pine-tint);
    color: var(--pine);
}


/* Location label */

.edina-location-page .loc-row-label {
    display: block;

    margin-bottom: 2px;

    color: var(--harbor);

    font-weight: 700;
}


/* =========================================================
   PROVIDER MATCH CTA
   ========================================================= */

.edina-location-page .match-cta {
    position: relative;

    background: var(--harbor);

    overflow: hidden;
}

.edina-location-page .match-cta::before {
    content: "";

    position: absolute;

    top: -140px;
    right: -100px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(44, 169, 218, 0.20),
            transparent 70%
        );
}

.edina-location-page .match-cta .wrap {
    position: relative;

    max-width: 680px;

    text-align: center;
}

.edina-location-page .match-cta h2 {
    color: #fff;

    font-size:
        clamp(26px, 3.6vw, 38px);

    line-height: 1.2;
}

.edina-location-page .match-cta p {
    margin-top: 16px;

    color: #AEC0CC;

    font-size: 16px;
    line-height: 1.7;
}

.edina-location-page .match-cta .btn {
    margin-top: 30px;

    padding: 17px 34px;

    font-size: 16px;
}


/* =========================================================
   FAQ
   ========================================================= */

.edina-location-page .faq-item {
    border-bottom: 1px solid var(--line-soft);
}

.edina-location-page .faq-item:first-child {
    border-top: 1px solid var(--line-soft);
}

.edina-location-page .faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    gap: 20px;

    padding: 24px 0;

    border: none;
    background: none;

    color: var(--harbor);

    font-family: var(--sans);
    font-size: 16.5px;
    font-weight: 700;

    text-align: left;

    cursor: pointer;
}

.edina-location-page .faq-plus {
    flex-shrink: 0;

    color: var(--sky);

    font-size: 22px;
    font-weight: 400;

    transition:
        transform 0.25s ease;
}

.edina-location-page .faq-item.open .faq-plus {
    transform: rotate(45deg);
}


/* FAQ answer animation */

.edina-location-page .faq-a {
    max-height: 0;

    overflow: hidden;

    transition:
        max-height 0.3s ease;
}

.edina-location-page .faq-item.open .faq-a {
    max-height: 240px;
}

.edina-location-page .faq-a p {
    max-width: 680px;

    padding-bottom: 24px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.edina-location-page .reveal-el {
    transition:
        opacity 0.6s ease,
        transform 0.6s ease;
}

.edina-location-page .reveal-el.pending {
    opacity: 0;

    transform: translateY(16px);
}

.edina-location-page .reveal-el.in {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================================
   RESPONSIVE SAFETY
   ========================================================= */

@media (max-width: 960px) {

    .edina-location-page .hero h1 {
        font-size:
            clamp(34px, 8vw, 50px);
    }

    .edina-location-page .hero-card {
        max-width: 720px;
    }

}


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

@media (max-width: 720px) {

    .edina-location-page .wrap {
        padding-left: 22px;
        padding-right: 22px;
    }


    /* Hero */

    .edina-location-page .hero {
        padding: 56px 0 32px;
    }

    .edina-location-page .hero .wrap {
        gap: 36px;
    }

    .edina-location-page .hero h1 {
        font-size:
            clamp(34px, 10vw, 44px);

        line-height: 1.07;
    }

    .edina-location-page .hero-sub {
        font-size: 16px;
    }


    /* Hero buttons */

    .edina-location-page .hero-ctas {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }


    /* Trust strip */

    .edina-location-page .trust-strip .wrap {
        align-items: flex-start;
        flex-direction: column;

        padding-top: 24px;
        padding-bottom: 24px;
    }


    /* Hero card */

    .edina-location-page .hero-card-map iframe {
        height: 230px;
    }

    .edina-location-page .hero-card-body {
        padding: 24px 22px;
    }

    .edina-location-page .hero-card-row {
        align-items: flex-start;
        flex-direction: column;

        gap: 5px;
    }


    /* Location */

    .edina-location-page .loc-map iframe {
        height: 320px;
    }

    .edina-location-page .loc-card {
        padding-left: 22px;
        padding-right: 22px;
    }


    /* CTA */

    .edina-location-page .match-cta .btn {
        width: 100%;
        justify-content: center;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .edina-location-page *,
    .edina-location-page *::before,
    .edina-location-page *::after {
        scroll-behavior: auto !important;

        animation: none !important;

        transition: none !important;
    }

    .edina-location-page .reveal-el.pending {
        opacity: 1;
        transform: none;
    }

}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    background: #fff;
    border-bottom: 3px solid var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.site-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 12px 16px;
}

.site-logo {
    flex-shrink: 0;
    color: var(--primary);
    text-decoration: none;
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
}


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

.hero {
    position: relative;
    padding-bottom: 96px;
}


/* Hero content uses the same 16px left padding as header */

.hero__content-wrap {
    position: relative;
    z-index: 10;

    height: 100%;
    max-width: 1280px;

    margin: 0 auto;

    padding-left: 16px;
    padding-right: 16px;

    display: flex;
    align-items: center;
}

@media (min-width: 768px) {

    .hero__content {
        max-width: 520px;
    }

    .hero__buttons {
        margin-top: 30px;
    }

    .hero__form-wrap {
        margin-top: -55px;
    }

}

/* =========================================================
   SINGLE BLOG ARTICLE
   ========================================================= */

.single-blog {
    width: 100%;
    background: #ffffff;
    padding: 88px 32px 90px;
    box-sizing: border-box;
}

.single-blog__grid {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 392px;
    gap: 58px;

    align-items: start;
}


/* =========================================================
   ARTICLE
   ========================================================= */

.single-blog__main {
    min-width: 0;
}

.single-blog__title {
    margin: 0 0 24px;

    color: #07162e;

    font-family: "Fraunces", Georgia, serif;

    font-size: 34px;
    line-height: 1.28;

    font-weight: 500;

    letter-spacing: 0;
}


/* =========================================================
   SHARE SECTION
   ========================================================= */

.single-blog .share-section {
    margin: 0 0 46px;
    padding: 0;
}

.single-blog .share-section__title {
    margin: 0 0 12px;

    color: #111111;

    font-family: "Fraunces", Georgia, serif;

    font-size: 29px;
    line-height: 1.25;

    font-weight: 500;
}

.single-blog .share-section__buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.single-blog .share-section__label {
    margin-right: 2px;

    color: #999999;

    font-family: "Poppins", sans-serif;

    font-size: 9px;
    line-height: 1;

    text-transform: uppercase;
}


/* =========================================================
   ARTICLE BODY
   ========================================================= */

.single-blog__content {
    color: #132038;

    font-family: "Poppins", sans-serif;

    font-size: 16px;
    line-height: 2;
}

.single-blog__content p {
    margin: 0 0 24px;
}

.single-blog__content h2 {
    margin: 38px 0 14px;

    color: #07162e;

    font-family: "Fraunces", Georgia, serif;

    font-size: 34px;
    line-height: 1.3;

    font-weight: 500;
}

.single-blog__content h3 {
    margin: 32px 0 12px;

    color: #07162e;

    font-family: "Fraunces", Georgia, serif;

    font-size: 27px;
    line-height: 1.35;

    font-weight: 500;
}

.single-blog__content h2 a,
.single-blog__content h3 a,
.single-blog__content a {
    color: #2ca9df;
}

.single-blog__content img {
    display: block;

    max-width: 100%;
    height: auto;

    margin: 28px auto;
}

.single-blog__content ul,
.single-blog__content ol {
    margin: 0 0 25px;
    padding-left: 25px;
}

.single-blog__content li {
    margin-bottom: 8px;
}

.single-blog__content blockquote {
    margin: 35px 0;
    padding: 22px 25px;

    border-left: 4px solid #2ca9df;

    background: #eef9fd;

    color: #132038;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.single-blog__sidebar {
    min-width: 0;
}

.single-blog__sidebar .blog-sidebar-card {
    margin-bottom: 25px;
}


/* =========================================================
   SEARCH
   ========================================================= */

.single-blog .blog-search-card {
    padding: 0;

    background: transparent;
}

.single-blog .blog-search {
    display: flex;

    width: 100%;
    height: 64px;

    overflow: hidden;

    border: 1px solid #d8dde3;
    border-radius: 34px;

    background: #ffffff;
}

.single-blog .blog-search__input {
    flex: 1;

    min-width: 0;

    border: 0;
    outline: 0;

    padding: 0 20px;

    background: #ffffff;

    color: #333333;

    font-family: "Poppins", sans-serif;
    font-size: 15px;
}

.single-blog .blog-search__input::placeholder {
    color: #a4a4a4;
}

.single-blog .blog-search__button {
    flex: 0 0 120px;

    display: flex;

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

    gap: 9px;

    border: 0;

    background: #2ca9df;

    color: #ffffff;

    font-family: "Poppins", sans-serif;

    font-size: 14px;

    cursor: pointer;
}


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

.single-blog .blog-contact-card {
    padding: 35px 30px 38px;

    background: #dff4fc;
}

.single-blog .blog-sidebar-card__title {
    margin: 0 0 34px;

    color: #2ca9df;

    font-family: "Poppins", sans-serif;

    font-size: 38px;

    line-height: 1.2;

    font-weight: 700;

    text-align: center;
}

.single-blog .blog-contact-form {
    display: flex;

    flex-direction: column;

    gap: 0;
}

.single-blog .blog-contact-form label {
    display: block;
}

.single-blog .blog-contact-form input,
.single-blog .blog-contact-form textarea {
    display: block;

    width: 100%;

    box-sizing: border-box;

    padding: 17px 0;

    border: 0;
    border-bottom: 1px solid #bdcbd2;

    border-radius: 0;

    outline: 0;

    background: transparent;

    color: #1d2634;

    font-family: "Poppins", sans-serif;

    font-size: 15px;
}

.single-blog .blog-contact-form input::placeholder,
.single-blog .blog-contact-form textarea::placeholder {
    color: #99a5ad;
}

.single-blog .blog-contact-form textarea {
    min-height: 120px;

    resize: vertical;
}

.single-blog .blog-contact-form__submit {
    display: inline-flex;

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

    gap: 18px;

    align-self: flex-end;

    min-height: 51px;

    margin-top: 30px;

    padding: 0 30px;

    border: 0;
    border-radius: 999px;

    background: #2ca9df;

    color: #ffffff;

    font-family: "Poppins", sans-serif;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;
}


/* =========================================================
   CATEGORIES
   ========================================================= */

.single-blog .blog-categories-card {
    padding: 36px 30px;

    background: #dff4fc;
}

.single-blog .blog-categories {
    margin: 0;
    padding: 0;

    list-style: none;
}

.single-blog .blog-categories li {
    border-bottom: 1px solid rgba(52, 95, 115, 0.12);
}

.single-blog .blog-categories li:last-child {
    border-bottom: 0;
}

.single-blog .blog-categories a {
    display: flex;

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

    gap: 20px;

    padding: 15px 0;

    color: #111111;

    text-decoration: none;

    font-family: "Poppins", sans-serif;

    font-size: 16px;

    line-height: 1.4;
}

.single-blog .blog-categories a:hover {
    color: #2ca9df;
}


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

@media (max-width: 1023px) {

    .single-blog {
        padding: 65px 24px 75px;
    }

    .single-blog__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .single-blog__sidebar {
        position: static;
    }

    .single-blog__title {
        font-size: 38px;
    }

}


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

@media (max-width: 767px) {

    .single-blog {
        padding: 45px 16px 60px;
    }

    .single-blog__grid {
        gap: 35px;
    }

    .single-blog__title {
        font-size: 29px;
        line-height: 1.3;
    }

    .single-blog .share-section__title {
        font-size: 26px;
    }

    .single-blog__content {
        font-size: 15px;
        line-height: 1.85;
    }

    .single-blog__content h2 {
        font-size: 29px;
    }

    .single-blog .blog-contact-card,
    .single-blog .blog-categories-card {
        padding: 30px 20px;
    }

    .single-blog .blog-sidebar-card__title {
        font-size: 32px;
    }

    .single-blog .blog-search {
        height: 58px;
    }

    .single-blog .blog-search__button {
        flex-basis: 105px;
    }

}
/* =====================================================
   NEWS CARD — MAKE LINKS CLICKABLE
   ===================================================== */

.news__card {
    position: relative;
}

.news__body {
    position: relative;
    z-index: 5;
}

.news__read-more,
.news__read-more:visited {
    position: relative;
    z-index: 20;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    cursor: pointer;
    pointer-events: auto;

    color: #2ca9df;
    text-decoration: none;
}

.news__read-more:hover {
    color: #1583c7;
}

.news__image-link {
    position: relative;
    z-index: 2;
    display: block;
}

.news__card,
.news__body,
.news__title,
.news__excerpt,
.news__read-more {
    user-select: text;
    -webkit-user-select: text;
}


.news__title,
.news__excerpt,
.news__read-more {
    cursor: text;
}

.news__read-more {
    cursor: pointer;
}
.news__title,
.news__excerpt,
.news__body {
    user-select: text;
    -webkit-user-select: text;
}

.news__read-more,
.news__read-more:visited {
    position: relative;
    z-index: 20;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    cursor: pointer;
    pointer-events: auto;

    text-decoration: none;
}

.news__read-more:hover {
    cursor: pointer;
}

.news__image-link {
    position: relative;
    z-index: 10;
    display: block;
}

/* =========================================================
   TELEHEALTH PAGE (page-telehealth.php)
   Scoped under .telehealth-page — same pattern as
   .intake-v2 / .intake-np / .edina-location-page above.
   All design tokens are redeclared on the wrapper so they
   cannot leak into or collide with the main theme's
   :root variables (--ink, --primary, etc.) or with the
   .hero / .btn / section / h1-h4 rules already defined
   for the rest of the site.
   ========================================================= */

.telehealth-page {

  --cloud:#F6FAFB;
  --paper:#FFFFFF;
  --ink:#233240;
  --muted:#5C6E7A;
  --faint:#8B9AA5;
  --harbor:#16283A;
  --harbor-deep:#0E1C29;
  --sky:#2CA9DA;
  --sky-deep:#1B8FBD;
  --sky-tint:#E7F5FB;
  --pine:#17847A;
  --pine-tint:#E4F3F1;
  --sand:#E2984E;
  --sand-tint:#FCF1E3;
  --line:#DDE7EC;
  --line-soft:#EAF1F4;

  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.telehealth-page, .telehealth-page *{box-sizing:border-box; margin:0; padding:0;}
.telehealth-page{scroll-behavior:smooth;}
.telehealth-page{
  font-family:var(--sans);
  background:var(--cloud);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.telehealth-page img{max-width:100%; display:block;}
.telehealth-page a{color:inherit; text-decoration:none;}
.telehealth-page ul{list-style:none;}
.telehealth-page .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media (max-width:720px){
.telehealth-page .wrap {padding:0 22px;}
}
.telehealth-page h1,
.telehealth-page h2,
.telehealth-page h3,
.telehealth-page h4{font-family:var(--serif); color:var(--harbor); letter-spacing:-0.01em; font-weight:600;}
.telehealth-page .eyebrow{
  font-family:var(--sans); font-size:12.5px; font-weight:700; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--pine); margin-bottom:16px; display:inline-flex; align-items:center; gap:9px;
}
.telehealth-page .eyebrow::before{content:''; width:18px; height:1.5px; background:var(--sand);}
.telehealth-page .btn{
  display:inline-flex; align-items:center; gap:9px; font-family:var(--sans); font-weight:700; font-size:15px;
  padding:15px 30px; border-radius:100px; cursor:pointer; border:none; transition:transform .18s ease, box-shadow .18s ease;
}
.telehealth-page .btn:hover{ transform:translateY(-1px); }
.telehealth-page .btn-primary{ background:var(--sky); color:#fff; box-shadow:0 8px 22px rgba(44,169,218,0.35); }
.telehealth-page .btn-primary:hover{ box-shadow:0 10px 26px rgba(44,169,218,0.45); }
.telehealth-page .btn-ghost{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4); }
.telehealth-page .btn-ghost:hover{ border-color:#fff; }
.telehealth-page .btn-dark{ background:var(--harbor); color:#fff; box-shadow:0 8px 22px rgba(14,28,41,0.28); }
.telehealth-page section{ padding:100px 0; }
.telehealth-page section.tight{ padding:68px 0; }
@media (max-width:720px){
.telehealth-page section { padding:64px 0; }
.telehealth-page section.tight {padding:48px 0;}
}
.telehealth-page .section-head{ max-width:640px; margin-bottom:52px; }
.telehealth-page .section-head h2{ font-size:clamp(28px,3.6vw,40px); line-height:1.18; }
.telehealth-page .section-head p{ margin-top:16px; color:var(--muted); font-size:16px; line-height:1.65; }
.telehealth-page .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.telehealth-page .section-head.center .eyebrow::before{ display:none; }
.telehealth-page .hero{
  background:
    radial-gradient(ellipse 700px 500px at 100% -10%, rgba(44,169,218,0.16), transparent 65%),
    radial-gradient(ellipse 600px 500px at -10% 100%, rgba(23,132,122,0.10), transparent 60%),
    var(--cloud);
  padding:88px 0 40px;
  overflow:hidden;
}
.telehealth-page .hero .wrap{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
@media (max-width:960px){
.telehealth-page .hero .wrap { grid-template-columns:1fr; }
.telehealth-page .hero {padding:56px 0 32px;}
}
.telehealth-page .hero h1{ font-size:clamp(36px,5vw,58px); line-height:1.08; }
.telehealth-page .hero h1 em{ font-style:italic; font-weight:500; color:var(--sky-deep); }
.telehealth-page .hero-sub{ margin-top:24px; font-size:17.5px; color:var(--muted); max-width:520px; line-height:1.7; }
.telehealth-page .hero-ctas{ margin-top:36px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.telehealth-page .hero-trust{ margin-top:34px; display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--faint); font-weight:600; }
.telehealth-page .hero-trust svg{ flex-shrink:0; }
.telehealth-page .hero-art{ position:relative; }
.telehealth-page .device-card{
  background:var(--harbor); border-radius:28px; padding:22px; box-shadow:0 30px 70px -20px rgba(14,28,41,0.45);
  position:relative;
}
.telehealth-page .device-topbar{ display:flex; align-items:center; gap:7px; padding:0 4px 16px; }
.telehealth-page .device-dot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.25); }
.telehealth-page .device-screen{
  background:linear-gradient(160deg, #1B3145, #142433); border-radius:16px; padding:26px; position:relative; overflow:hidden;
  aspect-ratio:4/3;
}
.telehealth-page .call-avatar{
  width:92px; height:92px; border-radius:50%; margin:14px auto 0; background:linear-gradient(135deg, var(--sky), var(--pine));
  display:flex; align-items:center; justify-content:center; position:relative; z-index:2;
}
.telehealth-page .call-badge{
  position:absolute; top:16px; left:16px; display:flex; align-items:center; gap:6px; background:rgba(255,255,255,0.1);
  padding:6px 12px; border-radius:20px; font-size:11px; color:#fff; font-weight:600; z-index:2;
}
.telehealth-page .call-dot{ width:7px; height:7px; border-radius:50%; background:#4ADE80; }
.telehealth-page .call-timer{
  position:absolute; top:16px; right:16px; font-size:11px; color:#B9C6D2; font-family:var(--sans); font-weight:600; z-index:2;
}
.telehealth-page .wave-row{ display:flex; align-items:center; justify-content:center; gap:4px; margin-top:20px; position:relative; z-index:2; }
.telehealth-page .wave-bar{ width:3px; border-radius:2px; background:rgba(255,255,255,0.35); }
.telehealth-page .call-name{ text-align:center; color:#fff; font-size:13px; font-weight:600; margin-top:14px; position:relative; z-index:2; }
.telehealth-page .call-role{ text-align:center; color:#8FA3B0; font-size:11px; margin-top:2px; position:relative; z-index:2; }
.telehealth-page .device-controls{ display:flex; justify-content:center; gap:14px; margin-top:20px; }
.telehealth-page .ctrl-btn{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.08); }
.telehealth-page .ctrl-btn.end{ background:#E5484D; }
.telehealth-page .floating-chip{
  position:absolute; background:#fff; border-radius:14px; padding:12px 16px; box-shadow:0 16px 32px -10px rgba(22,40,58,0.22);
  display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:700; color:var(--harbor);
}
.telehealth-page .floating-chip.secure{ top:-18px; right:12px; }
.telehealth-page .floating-chip.mn{ bottom:-16px; left:-18px; }
.telehealth-page .chip-ico{ width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.telehealth-page .cond-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:760px){
.telehealth-page .cond-grid { grid-template-columns:1fr 1fr; }
}
.telehealth-page .two-col{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
@media (max-width:820px){
.telehealth-page .two-col { grid-template-columns:1fr; gap:36px; }
}
.telehealth-page .cond-card{
  display:flex; align-items:center; gap:12px; background:var(--cloud); border:1px solid var(--line);
  border-radius:14px; padding:18px 20px; font-size:14.5px; font-weight:600; color:var(--harbor);
  transition:border-color .15s, transform .15s;
}
.telehealth-page .cond-card:hover{ border-color:var(--sky); transform:translateY(-2px); }
.telehealth-page .cond-dot{ width:9px; height:9px; border-radius:50%; background:var(--sky); flex-shrink:0; }
.telehealth-page .cond-card:nth-child(3n+2) .cond-dot{ background:var(--pine); }
.telehealth-page .cond-card:nth-child(3n) .cond-dot{ background:var(--sand); }
.telehealth-page .process-list{ display:flex; flex-direction:column; }
.telehealth-page .process-item{ display:grid; grid-template-columns:80px 1fr; }
.telehealth-page .process-num{
  font-family:var(--serif); font-size:34px; font-weight:600; color:var(--line);
  -webkit-text-stroke:1.4px var(--sky); color:transparent; padding-top:2px;
}
.telehealth-page .process-line{ grid-column:1; width:1.5px; background:var(--line); margin:8px 0 8px 33px; }
.telehealth-page .process-body{ padding-bottom:44px; }
.telehealth-page .process-item:last-child .process-body{ padding-bottom:0; }
.telehealth-page .process-body p{ margin-top:10px; color:var(--muted); font-size:15px; max-width:620px; line-height:1.7; }
.telehealth-page .benefit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:760px){
.telehealth-page .benefit-grid { grid-template-columns:1fr 1fr; }
.telehealth-page .benefit-card[style*="span 2"] { grid-column:span 2; }
}
.telehealth-page .benefit-card{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:14px;
  padding:22px; display:flex; align-items:center; gap:14px; font-size:14px; font-weight:600; color:#fff;
}
.telehealth-page .benefit-ico{
  width:38px; height:38px; border-radius:10px; background:rgba(44,169,218,0.14); display:flex;
  align-items:center; justify-content:center; flex-shrink:0;
}
.telehealth-page .need-card{ background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:8px 30px; }
.telehealth-page .need-row{
  display:flex; align-items:flex-start; gap:14px; padding:18px 0; border-bottom:1px solid var(--line-soft);
  font-size:14.5px; color:var(--ink); font-weight:500;
}
.telehealth-page .need-check{
  width:22px; height:22px; border-radius:50%; background:var(--pine-tint); color:var(--pine); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; margin-top:1px;
}
.telehealth-page .faq-item{ border-bottom:1px solid var(--line-soft); }
.telehealth-page .faq-item:first-child{ border-top:1px solid var(--line-soft); }
.telehealth-page .faq-q{
  width:100%; text-align:left; background:none; border:none; padding:24px 0; font-family:var(--sans);
  font-size:16.5px; font-weight:700; color:var(--harbor); cursor:pointer; display:flex; justify-content:space-between;
  align-items:center; gap:20px;
}
.telehealth-page .faq-plus{ font-size:22px; color:var(--sky); font-weight:400; transition:transform .25s; flex-shrink:0; }
.telehealth-page .faq-item.open .faq-plus{ transform:rotate(45deg); }
.telehealth-page .faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.telehealth-page .faq-item.open .faq-a{ max-height:200px; }
.telehealth-page .faq-a p{ padding-bottom:24px; color:var(--muted); font-size:15px; line-height:1.7; max-width:680px; }
.telehealth-page .reveal-el{ transition:opacity .6s ease, transform .6s ease; }
.telehealth-page .reveal-el.pending{ opacity:0; transform:translateY(16px); }
.telehealth-page .reveal-el.in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce){
.telehealth-page .reveal-el.pending { opacity:1; transform:none; }
}
@keyframes telehealth-wavePulse{ 0%,100%{ transform:scaleY(0.5); opacity:0.5; } 50%{ transform:scaleY(1); opacity:1; } }

/* =========================================================
   BOOK CONSULTATION MODAL
   Trigger button + modal are scoped under .telehealth-page
   like everything else on this template, but they get their
   OWN local tokens (--primary, --primary-dark, etc.) matching
   the main site's brand palette instead of this page's
   --sky/--harbor/--pine set. Scoping them onto .consult-modal
   and .btn-consult (rather than redefining --primary on
   .telehealth-page itself) keeps them fully self-contained —
   safe to reuse elsewhere without dragging this page's other
   tokens along.
   ========================================================= */

.telehealth-page .btn-consult,
.telehealth-page .consult-modal {
  --primary: #1583C7;
  --primary-dark: #0E5F94;
  --primary-light: #4FA8DE;
  --surface-blue: #EAF5FC;
  --ink: #1F2937;
  --ink-soft: #5B6472;
  --shadow-card: 0 10px 30px -12px rgba(15, 60, 90, 0.18);
  --color-one: #28a9e1;
  --color-two: #084575;
}

/* ---------------------------------------------------------
   TRIGGER BUTTON
   Matches the other .btn-primary buttons in shape/size, but
   uses the new palette + a two-tone gradient.
   --------------------------------------------------------- */

.telehealth-page .btn-consult {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  border: none;
  border-radius: 100px;

  padding: 15px 30px;

  background: linear-gradient(135deg, var(--color-one), var(--color-two));
  color: #fff;

  font-family: var(--sans);
  font-weight: 700;
  font-size: 15px;

  cursor: pointer;

  box-shadow: var(--shadow-card);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.telehealth-page .btn-consult:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  box-shadow: 0 14px 30px -10px rgba(15, 60, 90, 0.35);
}

.telehealth-page .btn-consult:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}


/* ---------------------------------------------------------
   MODAL SHELL
   --------------------------------------------------------- */

.telehealth-page .consult-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;

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

  padding: 20px;
}

.telehealth-page .consult-modal[hidden] {
  display: none;
}

.telehealth-page .consult-modal__overlay {
  position: absolute;
  inset: 0;

  background: rgba(31, 41, 55, 0.55);
  backdrop-filter: blur(2px);

  opacity: 0;
  transition: opacity 0.2s ease;
}

.telehealth-page .consult-modal.is-open .consult-modal__overlay {
  opacity: 1;
}


/* ---------------------------------------------------------
   PANEL
   --------------------------------------------------------- */

.telehealth-page .consult-modal__panel {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 440px;

  background: #fff;
  border-radius: 22px;

  padding: 40px 36px 36px;

  box-shadow: var(--shadow-card);

  opacity: 0;
  transform: translateY(14px) scale(0.98);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
}

.telehealth-page .consult-modal.is-open .consult-modal__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.telehealth-page .consult-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;

  width: 34px;
  height: 34px;

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

  border: none;
  border-radius: 50%;

  background: var(--surface-blue);
  color: var(--ink-soft);

  font-size: 20px;
  line-height: 1;

  cursor: pointer;

  transition: background 0.15s ease, color 0.15s ease;
}

.telehealth-page .consult-modal__close:hover {
  background: var(--primary);
  color: #fff;
}

.telehealth-page .consult-modal__title {
  margin: 0 0 8px;

  color: var(--ink);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 700;
}

.telehealth-page .consult-modal__subtitle {
  margin: 0 0 26px;

  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 14.5px;
  line-height: 1.6;
}


/* ---------------------------------------------------------
   OPTIONS
   --------------------------------------------------------- */

.telehealth-page .consult-modal__options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.telehealth-page .consult-modal__option {
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 16px 18px;

  border: 1.5px solid #E5EAEE;
  border-radius: 14px;

  text-decoration: none;

  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    transform 0.15s ease;
}

.telehealth-page .consult-modal__option:hover {
  border-color: var(--primary);
  background: var(--surface-blue);
  transform: translateY(-1px);
}

.telehealth-page .consult-modal__option-icon {
  flex-shrink: 0;

  width: 42px;
  height: 42px;

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

  border-radius: 12px;

  background: linear-gradient(135deg, var(--color-one), var(--color-two));
  color: #fff;
}

.telehealth-page .consult-modal__option-text {
  flex: 1;
  min-width: 0;

  display: flex;
  flex-direction: column;
  gap: 2px;
}

.telehealth-page .consult-modal__option-label {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15.5px;
  font-weight: 700;
}

.telehealth-page .consult-modal__option-sub {
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 13px;
}

.telehealth-page .consult-modal__option-arrow {
  flex-shrink: 0;
  color: var(--primary);
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {
  .telehealth-page .consult-modal__panel {
    padding: 34px 22px 28px;
  }

  .telehealth-page .consult-modal__option {
    padding: 14px;
  }
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .telehealth-page .consult-modal__overlay,
  .telehealth-page .consult-modal__panel,
  .telehealth-page .btn-consult,
  .telehealth-page .consult-modal__option {
    transition: none;
  }
}
/* =========================================================
   PROVIDER BOOKING FORM
   ========================================================= */

.pinnacle-provider-booking-form {
    width: 100%;
    max-width: 100%;
    margin: 45px 0 0;
    padding: 38px;
    box-sizing: border-box;

    background: #eaf5fc;
    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.pinnacle-booking-heading {
    margin-bottom: 30px;
}

.pinnacle-booking-heading h2 {
    margin: 0 0 10px;

    color: #1583c7;

    font-family: "Poppins", sans-serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.pinnacle-booking-heading p {
    margin: 0;

    color: #617181;

    font-size: 15px;
    line-height: 1.7;
}

.pinnacle-booking-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.pinnacle-booking-field {
    margin-bottom: 22px;
}

.pinnacle-booking-field label {
    display: block;

    margin-bottom: 8px;

    color: #17324d;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.pinnacle-provider-booking-form input,
.pinnacle-provider-booking-form select,
.pinnacle-provider-booking-form textarea {
    display: block;

    width: 100%;

    box-sizing: border-box;

    padding: 14px 16px;

    border: 1px solid #cbd8e1;
    border-radius: 10px;

    background: #ffffff;

    color: #1d2b39;

    font-family: "Poppins", sans-serif;
    font-size: 15px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.pinnacle-provider-booking-form input:focus,
.pinnacle-provider-booking-form select:focus,
.pinnacle-provider-booking-form textarea:focus {
    border-color: #2ca9df;

    box-shadow: 0 0 0 3px rgba(44, 169, 223, 0.12);
}

.pinnacle-provider-booking-form input::placeholder,
.pinnacle-provider-booking-form select::placeholder,
.pinnacle-provider-booking-form textarea::placeholder {
    color: #6b7684;
    opacity: 1;
}

.pinnacle-provider-booking-form textarea {
    min-height: 130px;

    resize: vertical;
}

.pinnacle-booking-submit {
    display: inline-flex !important;

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

    min-height: 52px;

    margin-top: 5px;

    padding: 0 28px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #2ca9df !important;

    color: #ffffff !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.pinnacle-booking-submit:hover {
    background: #1583c7 !important;
    transform: translateY(-1px);
}


/* =========================================================
   PROVIDER PAGE PLACEMENT
   ========================================================= */

.provider-booking-section {
    width: 100%;
    margin-top: 35px;
}


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

@media (max-width: 767px) {

    .pinnacle-provider-booking-form {
        margin-top: 30px;
        padding: 25px 20px;
        border-radius: 14px;
    }

    .pinnacle-booking-heading h2 {
        font-size: 26px;
    }

    .pinnacle-booking-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pinnacle-booking-field {
        margin-bottom: 18px;
    }

    .pinnacle-booking-submit {
        width: 100%;
    }
}

/* =========================================================
   INSURANCE ACCEPTED PAGE — PINNACLE THEME
   ========================================================= */

.insurance-page {
    --insurance-blue: #2ca9df;
    --insurance-blue-dark: #1583c7;
    --insurance-navy: #1d3045;
    --insurance-soft: #eaf5fb;
    --insurance-border: #dce8ef;
    background: #fff;
    color: var(--insurance-navy);
}

.insurance-container {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto;
}

.insurance-hero {
    position: relative;
    min-height: 345px;
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.insurance-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 34%, rgba(255,255,255,.18) 65%, rgba(255,255,255,0) 100%);
}

.insurance-hero__inner {
    position: relative;
    z-index: 1;
}

.insurance-hero__title {
    max-width: 900px;
    margin: 0;
    color: #000;
    font-family: "Poppins", sans-serif;
    font-size: clamp(44px, 5.2vw, 72px);
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.insurance-content {
    padding: 54px 0 0;
}

.insurance-share {
    margin-bottom: 38px;
}

.insurance-share__title {
    margin: 0 0 10px;
    color: #000;
    font-family: "Poppins", sans-serif;
    font-size: 31px;
    line-height: 1.2;
    font-weight: 700;
}

.insurance-share__buttons {
    display: flex;
    align-items: center;
    gap: 9px;
}

.insurance-share__label {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46px;
    color: #656565;
    font-size: 19px;
    line-height: 1;
}

.insurance-share__label small {
    margin-top: 3px;
    font-size: 9px;
    letter-spacing: .03em;
}

.insurance-share__button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    font-family: Arial, sans-serif;
    font-size: 17px;
    cursor: pointer;
}

.insurance-share__button--facebook { background: #1877f2; }
.insurance-share__button--pinterest { background: #e51b23; }
.insurance-share__button--pdf { background: #ef3340; font-size: 10px; font-weight: 700; }
.insurance-share__button--copy { background: #34495e; }
.insurance-share__button--more { background: #ff6b00; font-size: 20px; }

.insurance-copy__eyebrow {
    margin: 0 0 20px;
    color: #1a3550;
    font-size: 17px;
    line-height: 1.6;
}

.insurance-copy__title {
    max-width: 1180px;
    margin: 0 0 20px;
    color: #000;
    font-family: "Poppins", sans-serif;
    font-size: clamp(32px, 4vw, 55px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.insurance-copy__body,
.insurance-providers__intro {
    max-width: 1180px;
    color: #233c54;
    font-size: 17px;
    line-height: 1.9;
}

.insurance-copy__body p,
.insurance-providers__intro p {
    margin: 0 0 18px;
}

.insurance-providers {
    margin-top: 36px;
    padding-bottom: 72px;
}

.insurance-providers__title {
    margin: 0 0 18px;
    color: #000;
    font-family: "Poppins", sans-serif;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
}


/* =========================================================
   INSURANCE LOGO GRID
   ========================================================= */

.insurance-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 30px;
}


/* =========================================================
   LOGO CARD
   ========================================================= */

.insurance-card--logo-only {
    min-height: 180px;
    background: #ffffff;
    border: 1px solid #e3eaf0;
    border-radius: 14px;
    padding: 24px;

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

    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.insurance-card--logo-only:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.10);
}


/* =========================================================
   LOGO AREA
   ========================================================= */

.insurance-card--logo-only
.insurance-card__logo-wrap {
    width: 100%;
    height: 130px;

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

    background: #eef8fc;

    border-radius: 10px;

    padding: 18px;
    box-sizing: border-box;
}


.insurance-card--logo-only
.insurance-card__logo {
    display: block;

    width: auto;
    max-width: 85%;
    max-height: 90px;

    object-fit: contain;
}


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

@media (max-width: 1024px) {

    .insurance-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


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

@media (max-width: 767px) {

    .insurance-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .insurance-card--logo-only {
        min-height: 150px;
        padding: 18px;
    }

    .insurance-card--logo-only
    .insurance-card__logo-wrap {
        height: 110px;
    }

}


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

@media (max-width: 480px) {

    .insurance-grid {
        grid-template-columns: 1fr;
    }

    .insurance-card--logo-only {
        min-height: 160px;
    }

}


.insurance-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--insurance-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(34, 68, 95, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.insurance-card:hover {
    transform: translateY(-3px);
    border-color: rgba(44,169,223,.45);
    box-shadow: 0 18px 34px rgba(34, 68, 95, .10);
}

.insurance-card__logo-wrap {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    padding: 12px;
    border-radius: 12px;
    background: var(--insurance-soft);
}

.insurance-card__logo {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 68px;
    object-fit: contain;
}

.insurance-card__logo-fallback {
    color: var(--insurance-navy);
    font-family: "Poppins", sans-serif;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
}

.insurance-card__name {
    margin: 0 0 16px;
    color: #17324d;
    font-family: "Poppins", sans-serif;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.insurance-card__coverage {
    margin: 0;
}

.insurance-card__coverage > div {
    padding: 11px 0;
    border-top: 1px solid #e8eef2;
}

.insurance-card__coverage dt,
.insurance-card__coverage dd {
    margin: 0;
}

.insurance-card__coverage dt {
    color: #587086;
    font-size: 13px;
    line-height: 1.45;
}

.insurance-card__coverage dd {
    margin-top: 3px;
    color: #17324d;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.insurance-empty {
    margin-top: 30px;
    padding: 30px;
    border: 1px dashed #bdd4e2;
    border-radius: 16px;
    background: #f7fbfd;
}

.insurance-cta {
    background: linear-gradient(90deg, #dff3fc 0%, #eaf7fd 100%);
}

.insurance-cta__inner {
    min-height: 145px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.insurance-cta h2 {
    margin: 0;
    color: var(--insurance-blue);
    font-family: "Poppins", sans-serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    font-weight: 700;
}

.insurance-cta__button {
    min-height: 50px;
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border-radius: 999px;
    background: var(--insurance-blue);
    color: #fff;
    text-decoration: none;
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color .2s ease, transform .2s ease;
}

.insurance-cta__button:hover {
    background: var(--insurance-blue-dark);
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 1023px) {
    .insurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .insurance-container { width: min(100% - 36px, 680px); }
    .insurance-hero { min-height: 300px; }
    .insurance-hero__overlay { background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.60)); }
    .insurance-hero__title { max-width: 680px; font-size: 43px; }
    .insurance-content { padding-top: 38px; }
    .insurance-share__title { font-size: 27px; }
    .insurance-copy__title { font-size: 34px; }
    .insurance-copy__body,
    .insurance-providers__intro { font-size: 16px; line-height: 1.78; }
    .insurance-grid { grid-template-columns: 1fr; gap: 16px; }
    .insurance-card { padding: 20px; }
    .insurance-card__logo-wrap { min-height: 84px; }
    .insurance-cta__inner { min-height: 0; padding-top: 34px; padding-bottom: 34px; flex-direction: column; align-items: flex-start; }
    .insurance-cta h2 { font-size: 34px; }
    .insurance-cta__button { width: 100%; }
}

@media print {
    .insurance-hero { min-height: 220px; }
    .site-header, .site-footer, .insurance-share, .insurance-cta { display: none !important; }
}

/* =========================================================
   SEARCH RESULTS PAGE
   ========================================================= */

.search-page {
    width: 100%;
    background: #fff;
}


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

.search-page__hero {
    position: relative;

    min-height: 300px;

    display: flex;
    align-items: center;

    background:
        url("assets/images/back.webp")
        center center / cover no-repeat;

    overflow: hidden;
}

.search-page__hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.97) 0%,
            rgba(255,255,255,0.86) 34%,
            rgba(255,255,255,0.25) 66%,
            rgba(255,255,255,0.04) 100%
        );
}

.search-page__container {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;

    padding-left: 32px;
    padding-right: 32px;

    box-sizing: border-box;
}

.search-page__hero-title {
    position: relative;
    z-index: 2;

    margin: 0;

    color: #000;

    font-family: "Poppins", sans-serif;

    font-size: 56px;

    line-height: 1.1;

    font-weight: 700;
}


/* =========================================================
   CONTENT
   ========================================================= */

.search-page__content {
    padding: 72px 0 90px;

    background: #fff;
}

.search-page__grid {
    display: grid;

    grid-template-columns:
        minmax(0, 2fr)
        minmax(320px, 0.9fr);

    gap: 36px;

    align-items: start;
}


/* =========================================================
   QUERY HEADING
   ========================================================= */

.search-page__query-heading {
    margin: 0 0 28px;

    color: #8a939d;

    font-size: 32px;

    font-weight: 500;

    line-height: 1.25;
}

.search-page__query-heading span {
    color: #111;

    font-weight: 500;
}


/* =========================================================
   SEARCH FORM
   ========================================================= */

.search-page__form {
    display: flex;

    width: 100%;

    margin-bottom: 34px;
}

.search-page__input {
    flex: 1;

    min-width: 0;

    height: 56px;

    padding:
        0 20px;

    border:
        1px solid #dfe6ec;

    border-right: 0;

    border-radius:
        999px 0 0 999px;

    background: #fff;

    color: #1d2733;

    font-family: inherit;

    font-size: 16px;

    outline: none;
}

.search-page__input:focus {
    border-color: var(--primary);
}

.search-page__submit {
    min-width: 130px;

    padding:
        0 24px;

    border: 0;

    border-radius:
        0 999px 999px 0;

    background:
        var(--primary);

    color: #fff;

    font-family: inherit;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease;
}

.search-page__submit:hover {
    background:
        var(--primary-dark);
}


/* =========================================================
   SECTION LABEL
   ========================================================= */

.search-page__section-label {
    margin:
        26px 0 16px;

    color:
        var(--primary);

    font-family:
        "Poppins", sans-serif;

    font-size:
        20px;

    font-weight:
        700;
}


/* =========================================================
   RESULT CARD
   ========================================================= */

.search-result-card {
    display: flex;

    gap: 0;

    margin-bottom: 18px;

    background: #fff;

    border:
        1px solid #edf1f4;

    box-shadow:
        0 8px 24px
        rgba(0,0,0,0.06);

    overflow: hidden;
}

.search-result-card--exact {
    border:
        2px solid
        rgba(21,131,199,0.25);
}


/* =========================================================
   RESULT IMAGE
   ========================================================= */

.search-result-card__image {
    flex:
        0 0 230px;

    display: block;

    min-height: 220px;

    overflow: hidden;
}

.search-result-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.35s ease;
}

.search-result-card:hover
.search-result-card__image img {
    transform: scale(1.03);
}


/* =========================================================
   RESULT BODY
   ========================================================= */

.search-result-card__body {
    flex: 1;

    padding:
        30px 32px;
}

.search-result-card__type {
    display: inline-block;

    margin-bottom: 9px;

    color:
        var(--primary);

    font-size:
        13px;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        0.05em;
}

.search-result-card__title {
    margin:
        0 0 14px;

    color:
        #101820;

    font-family:
        "Poppins", sans-serif;

    font-size:
        25px;

    line-height:
        1.28;

    font-weight:
        700;
}

.search-result-card__title a {
    color: inherit;

    text-decoration: none;
}

.search-result-card__title a:hover {
    color:
        var(--primary);
}

.search-result-card__excerpt {
    margin:
        0 0 20px;

    color:
        #243140;

    font-size:
        16px;

    line-height:
        1.9;
}

.search-result-card__link {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--primary);

    text-decoration:
        none;

    font-size:
        14px;

    font-weight:
        700;

    letter-spacing:
        0.02em;
}

.search-result-card__link:hover {
    color:
        var(--primary-dark);
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.search-page__sidebar {
    display:
        flex;

    flex-direction:
        column;

    gap:
        24px;
}


/* =========================================================
   SIDEBAR CARD
   ========================================================= */

.search-sidebar-card {
    background:
        #eaf6fc;
}


/* =========================================================
   SIDEBAR SEARCH
   ========================================================= */

.search-sidebar-card--search {
    padding:
        14px;
}

.search-sidebar-form {
    display:
        flex;

    width:
        100%;

    background:
        #fff;

    border-radius:
        999px;

    overflow:
        hidden;
}

.search-sidebar-form input {
    flex:
        1;

    min-width:
        0;

    height:
        56px;

    padding:
        0 20px;

    border:
        0;

    outline:
        none;

    background:
        #fff;

    color:
        #222;

    font-family:
        inherit;

    font-size:
        15px;
}

.search-sidebar-form button {
    width:
        58px;

    border:
        0;

    background:
        #fff;

    color:
        var(--primary);

    cursor:
        pointer;
}


/* =========================================================
   CONTACT SIDEBAR
   ========================================================= */

.search-sidebar-card--contact {
    padding:
        34px 30px;
}

.search-sidebar-card--contact h2,
.search-sidebar-card--areas h2 {
    margin:
        0 0 24px;

    color:
        var(--primary);

    font-family:
        "Poppins", sans-serif;

    font-size:
        34px;

    line-height:
        1.2;

    font-weight:
        700;

    text-align:
        center;
}


/* =========================================================
   CONTACT FORM COMPATIBILITY
   ========================================================= */

.search-sidebar-card--contact input,
.search-sidebar-card--contact textarea,
.search-sidebar-card--contact select {
    width:
        100%;

    box-sizing:
        border-box;
}


/* =========================================================
   PRACTICE AREAS
   ========================================================= */

.search-sidebar-card--areas {
    padding:
        34px 30px;
}

.search-sidebar-card--areas ul {
    margin:
        0;

    padding:
        0;

    list-style:
        none;
}

.search-sidebar-card--areas li {
    border-bottom:
        1px solid
        rgba(21,131,199,0.10);
}

.search-sidebar-card--areas li:last-child {
    border-bottom:
        0;
}

.search-sidebar-card--areas a {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        17px 0;

    color:
        #111;

    text-decoration:
        none;

    font-size:
        16px;
}

.search-sidebar-card--areas a span:last-child {
    color:
        #526273;

    font-size:
        25px;

    line-height:
        1;
}

.search-sidebar-card--areas a:hover {
    color:
        var(--primary);
}


/* =========================================================
   NO RESULTS
   ========================================================= */

.search-page__empty {
    padding:
        52px 38px;

    background:
        #f7fbfd;

    border:
        1px solid #e3edf3;

    text-align:
        center;
}

.search-page__empty h2 {
    margin:
        0 0 14px;

    font-family:
        "Poppins", sans-serif;

    font-size:
        30px;
}

.search-page__empty p {
    margin:
        0 0 22px;

    color:
        #56616d;

    line-height:
        1.7;
}

.search-page__empty-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        46px;

    padding:
        0 24px;

    border-radius:
        999px;

    background:
        var(--primary);

    color:
        #fff;

    text-decoration:
        none;

    font-size:
        14px;

    font-weight:
        600;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.search-pagination {
    margin-top:
        34px;
}

.search-pagination ul {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    margin:
        0;

    padding:
        0;

    list-style:
        none;
}

.search-pagination a,
.search-pagination span {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        40px;

    height:
        40px;

    padding:
        0 10px;

    border:
        1px solid #dbe5eb;

    border-radius:
        999px;

    color:
        #26313c;

    text-decoration:
        none;

    font-size:
        14px;
}

.search-pagination .current {
    background:
        var(--primary);

    border-color:
        var(--primary);

    color:
        #fff;
}


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

@media (max-width: 1023px) {

    .search-page__grid {
        grid-template-columns:
            1fr;
    }

    .search-page__sidebar {
        margin-top:
            10px;
    }

}


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

@media (max-width: 767px) {

    .search-page__hero {
        min-height:
            230px;
    }

    .search-page__container {
        padding-left:
            16px;

        padding-right:
            16px;
    }

    .search-page__hero-title {
        font-size:
            40px;
    }

    .search-page__content {
        padding:
            44px 0 60px;
    }

    .search-page__query-heading {
        font-size:
            25px;

        line-height:
            1.35;
    }

    .search-page__form {
        flex-direction:
            column;

        gap:
            10px;
    }

    .search-page__input {
        width:
            100%;

        border:
            1px solid #dfe6ec;

        border-radius:
            999px;
    }

    .search-page__submit {
        width:
            100%;

        height:
            48px;

        border-radius:
            999px;
    }

    .search-result-card {
        flex-direction:
            column;
    }

    .search-result-card__image {
        flex:
            none;

        width:
            100%;

        height:
            210px;

        min-height:
            0;
    }

    .search-result-card__body {
        padding:
            24px 20px;
    }

    .search-result-card__title {
        font-size:
            21px;
    }

    .search-result-card__excerpt {
        font-size:
            15px;

        line-height:
            1.75;
    }

    .search-sidebar-card--contact,
    .search-sidebar-card--areas {
        padding:
            26px 20px;
    }

    .search-sidebar-card--contact h2,
    .search-sidebar-card--areas h2 {
        font-size:
            29px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    .search-page__hero-title {
        font-size:
            34px;
    }

    .search-page__query-heading {
        font-size:
            22px;
    }

    .search-result-card__body {
        padding:
            20px 16px;
    }

}

/* =========================================================
   ADHD TESTING PAGE (page-adhd-testing.php)
   Styles for the custom classes this template outputs that
   aren't covered by the shared .service-detail__* rules above.
   ========================================================= */

/* ---------------------------------------------------------
   EYEBROW (small label above the intro, optional field)
   --------------------------------------------------------- */

.service-detail__eyebrow {
    display: inline-block;
    margin: 0 0 14px;

    color: var(--primary);

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ---------------------------------------------------------
   TWO TOP IMAGES (QbTest headband photo + laptop photo)
   --------------------------------------------------------- */

.adhd-top-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;

    margin: 24px 0 32px;
}

.adhd-top-images__item {
    margin: 0;
    padding: 0;

    border-radius: 1rem;
    overflow: hidden;

    box-shadow: var(--shadow-card);
}

.adhd-top-images__item img {
    display: block;
    width: 100%;
    height: 100%;

    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* ---------------------------------------------------------
   BODY TEXT BLOCKS (QbTest text + second-section text)
   Same treatment as the rest of the article body copy.
   --------------------------------------------------------- */

.adhd-content__text,
.adhd-second-section__text {
    color: var(--ink-soft);

    font-family: "Inter", sans-serif;
    font-size: 17px;
    line-height: 1.9;
}

.adhd-content__text p,
.adhd-second-section__text p {
    margin: 0 0 20px;
}

.adhd-content__text p:last-child,
.adhd-second-section__text p:last-child {
    margin-bottom: 0;
}

.adhd-content__text a,
.adhd-second-section__text a {
    color: var(--primary);
    text-decoration: none;
}

.adhd-content__text a:hover,
.adhd-second-section__text a:hover {
    text-decoration: underline;
}

/* ---------------------------------------------------------
   QBTECH LOGO — centered, breathing room above/below
   --------------------------------------------------------- */

.adhd-qbtech-logo {
    display: flex;
    justify-content: center;

    margin: 36px 0;
}

.adhd-qbtech-logo img {
    display: block;

    width: auto;
    max-width: 220px;
    height: auto;
}

/* ---------------------------------------------------------
   SECOND SECTION — text beside image
   (screenshot shows text on the left, photo on the right)
   --------------------------------------------------------- */

.adhd-second-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;

    align-items: center;

    margin: 8px 0 36px;
}

.adhd-second-section__image {
    margin: 0;
    padding: 0;

    border-radius: 1rem;
    overflow: hidden;

    box-shadow: var(--shadow-card);
}

.adhd-second-section__image img {
    display: block;
    width: 100%;
    height: 100%;

    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* ---------------------------------------------------------
   VIDEO SECTION
   --------------------------------------------------------- */

.adhd-video {
    margin: 40px 0;
}

.adhd-video h2 {
    margin: 0 0 20px;

    color: var(--primary-dark);

    font-family: "Poppins", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
}

.adhd-video__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;

    border-radius: 1rem;
    overflow: hidden;

    box-shadow: var(--shadow-card);
}

.adhd-video__frame iframe {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
}

.service-detail__video-description {
    margin: 14px 0 0;

    color: var(--ink-soft);

    font-size: 14px;
    font-style: italic;
    line-height: 1.6;
}

/* ---------------------------------------------------------
   "WHAT TO EXPECT" / generic content sections further down
   the page (also used for normal WP editor content).
   --------------------------------------------------------- */

.service-detail__section {
    margin: 40px 0;
}

.service-detail__section h2 {
    margin: 0 0 20px;

    color: var(--primary-dark);

    font-family: "Poppins", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
}

/* ---------------------------------------------------------
   SIDEBAR CTA — pill link under the Contact/Home cards
   --------------------------------------------------------- */

.service-detail__sidebar-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 100%;
    box-sizing: border-box;

    min-height: 52px;
    padding: 14px 20px;

    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;

    transition: background 0.2s ease, transform 0.2s ease;
}

.service-detail__sidebar-cta:hover {
    background: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
}

.service-detail__sidebar-cta span {
    font-size: 18px;
    line-height: 1;
}

/* ---------------------------------------------------------
   BOTTOM "BOOK A CONSULTATION" BANNER
   Same light-blue full-width pattern used by
   .consultation-banner elsewhere in the theme.
   --------------------------------------------------------- */

.service-detail__cta {
    width: 100%;
    margin-top: 56px;
    padding: 40px 20px;

    background: #dff3fb;
}

.service-detail__cta-inner {
    max-width: 1100px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
}

.service-detail__cta-inner h2 {
    margin: 0;

    color: var(--primary);

    font-family: "Poppins", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    line-height: 1.2;
}

.service-detail__cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    min-height: 50px;
    padding: 14px 26px;

    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;
    white-space: nowrap;

    transition: background 0.2s ease, transform 0.2s ease;
}

.service-detail__cta-button:hover {
    background: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
}

.service-detail__cta-button span {
    font-size: 18px;
    line-height: 1;
}

/* ---------------------------------------------------------
   DESKTOP — second section becomes a real two-column row
   --------------------------------------------------------- */

@media (min-width: 768px) {

    .adhd-second-section {
        grid-template-columns: 1.1fr 1fr;
        gap: 40px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 639px) {

    .adhd-top-images {
        grid-template-columns: 1fr;
        gap: 16px;

        margin: 20px 0 26px;
    }

    .adhd-content__text,
    .adhd-second-section__text {
        font-size: 16px;
        line-height: 1.85;
    }

    .adhd-qbtech-logo {
        margin: 28px 0;
    }

    .adhd-qbtech-logo img {
        max-width: 170px;
    }

    .adhd-second-section {
        margin: 4px 0 28px;
    }

    .adhd-video {
        margin: 32px 0;
    }

    .adhd-video h2,
    .service-detail__section h2 {
        font-size: 1.35rem;
    }

    .service-detail__cta {
        margin-top: 40px;
        padding: 32px 18px;
    }

    .service-detail__cta-inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .service-detail__cta-button {
        justify-content: center;
    }
}

/* =========================================================
   SHARE / COPY-LINK MODALS (FAQ page)
   ========================================================= */

.pinnacle-share-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;

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

    padding: 20px;
}

.pinnacle-share-modal[hidden] {
    display: none;
}

.pinnacle-share-modal__overlay {
    position: absolute;
    inset: 0;

    background: rgba(31, 41, 55, 0.55);

    opacity: 0;
    transition: opacity 0.2s ease;
}

.pinnacle-share-modal.is-open .pinnacle-share-modal__overlay {
    opacity: 1;
}

.pinnacle-share-modal__panel {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 460px;

    background: #fff;
    border-radius: 18px;

    padding: 32px 30px;

    box-shadow: var(--shadow-card);

    opacity: 0;
    transform: translateY(12px) scale(0.98);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.pinnacle-share-modal.is-open .pinnacle-share-modal__panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.pinnacle-share-modal__panel--narrow {
    max-width: 400px;
}

.pinnacle-share-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 32px;
    height: 32px;

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

    border: 0;
    border-radius: 50%;

    background: var(--surface-blue);
    color: var(--ink-soft);

    font-size: 20px;
    line-height: 1;

    cursor: pointer;

    transition: background 0.15s ease, color 0.15s ease;
}

.pinnacle-share-modal__close:hover {
    background: var(--primary);
    color: #fff;
}

.pinnacle-share-modal__title {
    margin: 0 0 20px;

    color: var(--primary);

    font-family: "Poppins", sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.pinnacle-share-modal__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.pinnacle-share-modal__link {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 12px 10px;

    border: 1px solid #e5e7eb;
    border-radius: 10px;

    color: var(--ink);
    text-decoration: none;

    font-size: 13px;
    font-weight: 600;
    text-align: center;

    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pinnacle-share-modal__link:hover {
    background: var(--surface-blue);
    border-color: var(--primary);
    color: var(--primary);
}

.pinnacle-copy-modal__row {
    display: flex;
    gap: 10px;
}

.pinnacle-copy-modal__input {
    flex: 1;
    min-width: 0;

    padding: 12px 14px;

    border: 1px solid #e5e7eb;
    border-radius: 999px;

    font-family: inherit;
    font-size: 14px;
    color: var(--ink);

    background: var(--surface-blue);
}

.pinnacle-copy-modal__input:focus {
    outline: none;
    border-color: var(--primary);
}

.pinnacle-copy-modal__button {
    flex-shrink: 0;

    padding: 0 20px;

    border: 0;
    border-radius: 999px;

    background: var(--primary);
    color: #fff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    transition: background 0.2s ease;
}

.pinnacle-copy-modal__button:hover {
    background: var(--primary-dark);
}

@media (max-width: 480px) {

    .pinnacle-share-modal__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pinnacle-copy-modal__row {
        flex-direction: column;
    }

    .pinnacle-copy-modal__button {
        width: 100%;
    }

}

/* =========================================================
   EXISTING PATIENTS — CONTACT FORM 7
   USE THE EXISTING .intake-v2 DESIGN
   ========================================================= */

.intake-v2 .cf7-intake-form,
.intake-v2 .cf7-intake-form .wpcf7 {
    width: 100%;
}

/* CF7 default spacing */
.intake-v2 .cf7-intake-form .wpcf7 form,
.intake-v2 .cf7-intake-form .wpcf7 form p {
    margin: 0;
    padding: 0;
}

/* Keep the original form panel design */
.intake-v2 .cf7-intake-form .pnp-form-panel {
    width: 100%;
}

/* Original hard-coded field row */
.intake-v2 .cf7-intake-form .pnp-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

/* Original hard-coded field */
.intake-v2 .cf7-intake-form .pnp-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

/* Original hard-coded labels */
.intake-v2 .cf7-intake-form .pnp-field label {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--harbor);
}

/* Optional text */
.intake-v2 .cf7-intake-form .pnp-field .pnp-opt {
    font-weight: 500;
    color: var(--faint);
    text-transform: none;
    letter-spacing: 0;
}

/* CF7 wrapper must behave like the original input */
.intake-v2 .cf7-intake-form .pnp-field .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* EXACT ORIGINAL INPUT DESIGN */
.intake-v2 .cf7-intake-form .pnp-field input,
.intake-v2 .cf7-intake-form .pnp-field select,
.intake-v2 .cf7-intake-form .pnp-field textarea {
    font-family: var(--sans);
    font-size: 14.5px;
    color: var(--ink);
    border: 1.5px solid var(--line);
    border-radius: 10px;
    padding: 12px 14px;
    background: #fff;
    transition: border-color .15s;
    width: 100%;
    box-sizing: border-box;
}

/* EXACT ORIGINAL FOCUS DESIGN */
.intake-v2 .cf7-intake-form .pnp-field input:focus,
.intake-v2 .cf7-intake-form .pnp-field select:focus,
.intake-v2 .cf7-intake-form .pnp-field textarea:focus {
    outline: none;
    border-color: var(--sky);
}

/* EXACT ORIGINAL TEXTAREA DESIGN */
.intake-v2 .cf7-intake-form .pnp-field textarea {
    resize: vertical;
    min-height: 88px;
    font-family: var(--sans);
}

/* Full-width field */
.intake-v2 .cf7-intake-form .pnp-full-field {
    grid-column: 1 / -1;
}

/* Headings */
.intake-v2 .cf7-intake-form .pnp-form-heading {
    margin: 0 0 22px;
    font-family: var(--serif);
    color: var(--harbor);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3;
}

/* Spaced headings */
.intake-v2 .cf7-intake-form .pnp-form-heading-spaced {
    margin-top: 38px;
}

/* Submit area */
.intake-v2 .cf7-intake-form .pnp-form-foot {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* EXACT ORIGINAL BUTTON FAMILY */
.intake-v2 .cf7-intake-form .pnp-btn,
.intake-v2 .cf7-intake-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: var(--sans);
    font-weight: 700;
    font-size: 15px;
    padding: 15px 30px;
    border-radius: 100px;
    cursor: pointer;
    border: none;
    background: var(--sky);
    color: #fff;
    box-shadow: 0 8px 22px rgba(44,169,218,0.35);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        opacity .18s ease;
}

/* Button hover */
.intake-v2 .cf7-intake-form .pnp-btn:hover,
.intake-v2 .cf7-intake-form input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(44,169,218,0.45);
}

/* Privacy note */
.intake-v2 .cf7-intake-form .pnp-note {
    font-size: 12.5px;
    color: var(--faint);
}

/* CF7 validation */
.intake-v2 .cf7-intake-form .wpcf7-not-valid {
    border-color: #d9534f !important;
}

.intake-v2 .cf7-intake-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.4;
    color: #d9534f;
}

/* CF7 response */
.intake-v2 .cf7-intake-form .wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 10px 0 !important;
    border: 0 !important;
    font-size: 12.5px;
    color: var(--muted);
}

/* Remove CF7 unwanted line breaks */
.intake-v2 .cf7-intake-form br {
    display: none;
}

/* =========================================================
   RESPONSIVE — SAME BREAKPOINTS AS ORIGINAL
   ========================================================= */

@media (max-width: 600px) {

    .intake-v2 .cf7-intake-form .pnp-field-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .intake-v2 .cf7-intake-form .pnp-full-field {
        grid-column: auto;
    }

}

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

@media (max-width: 480px) {

    .intake-v2 .cf7-intake-form .pnp-form-panel {
        width: 100%;
    }

    .intake-v2 .cf7-intake-form .pnp-field input,
    .intake-v2 .cf7-intake-form .pnp-field select,
    .intake-v2 .cf7-intake-form .pnp-field textarea {
        font-size: 14px;
        padding: 12px 13px;
    }

    .intake-v2 .cf7-intake-form .pnp-btn,
    .intake-v2 .cf7-intake-form input[type="submit"] {
        width: 100%;
        justify-content: center;
    }

    .intake-v2 .cf7-intake-form .pnp-form-foot {
        flex-direction: column;
        align-items: stretch;
    }

}

.services__item-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    width: 128px;
    min-height: 30px;

    margin-top: 10px;

    padding: 5px 8px;

    background: #ffffff;
    color: #1784d1;

    border: none;
    border-radius: 0;

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;

    box-sizing: border-box;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.services__item-button span {
    margin-left: 6px;
    font-size: 14px;
    line-height: 1;
    color: #1784d1;
}

.services__item-button:hover {
    background: #ffffff;
    color: #0f6fae;
    text-decoration: none;
}

.services__item-button:hover span {
    color: #0f6fae;
}