.pht-service-card {
    background: #ffffff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
}

.pht-services-grid-wrap {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    position: relative;
    padding: 18px;
    border-radius: 20px;
    background: transparent;
    --pht-card-btn-align: flex-start;
    --pht-card-btn-offset-x: 0px;
    --pht-card-btn-offset-y: 0px;
    --pht-card-btn-bg: #0067ff;
    --pht-card-btn-text: #ffffff;
    --pht-card-btn-bg-hover: #0056d4;
}

.pht-services-grid-wrap::before {
    content: "";
    position: absolute;
    inset: 0 calc(50% - 50vw);
    border-radius: 20px;
    z-index: -1;
    background:
        radial-gradient(1200px 300px at 20% -10%, rgba(0, 103, 255, 0.12), transparent 55%),
        radial-gradient(900px 260px at 95% 10%, rgba(0, 103, 255, 0.08), transparent 60%),
        #f8fbff;
}

.pht-services-grid-header {
    margin-bottom: 24px;
}

.pht-services-grid-title {
    margin: 0 0 8px;
    font-size: clamp(1.8rem, 2.8vw, 2.6rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.pht-services-grid-subtitle {
    margin: 0;
    color: #334155;
    max-width: 68ch;
}
.pht-geo-note{margin:.5rem 0 0;color:#0067ff;font-weight:600}
.pht-grid-search-wrap{margin:0 0 14px}
.pht-grid-search{width:100%;max-width:360px;padding:10px 12px;border:1px solid #b7c9ef;border-radius:8px}
.pht-grid-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.pht-grid-tab{border:1px solid #b7c9ef;background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}
.pht-grid-tab.is-active{background:#0067ff;color:#fff;border-color:#0067ff}

.pht-services-grid {
    display: grid;
    grid-template-columns: repeat(var(--pht-cols-desktop, 4), minmax(0, 1fr));
    gap: 22px;
}

.pht-services-grid-card {
    min-height: var(--pht-card-min-height, 360px);
    min-height: var(--pht-size-height, var(--pht-card-min-height, 360px));
    border: 1px solid #c9d8f7;
    border-radius: 18px;
    padding: var(--pht-size-padding, 24px);
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(10, 27, 58, 0.08);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
    overflow: hidden;
}
.pht-card-shape-rectangle .pht-services-grid-card{border-radius:0}
.pht-card-shape-rectangle .pht-card-top-image-wrap{border-radius:0}

.pht-wide-rectangle-layout .pht-services-grid{
    grid-template-columns: repeat(var(--pht-wide-cols-desktop, 2), minmax(0, 1fr));
}

.pht-wide-rectangle-layout .pht-services-grid-card{
    min-height: var(--pht-size-height, 320px);
    height: auto;
    padding: var(--pht-size-padding, 24px);
    justify-content: flex-start;
}

.pht-wide-rectangle-layout .pht-services-grid-card-title{
    font-size: clamp(1.5rem, 1.2vw, 2rem);
    margin-bottom: 10px;
}

.pht-wide-rectangle-layout .pht-services-grid-card-desc{
    font-size: clamp(1rem, .95vw, 1.2rem);
}

.pht-wide-rectangle-layout .pht-card-actions{
    margin-top: 18px;
}

.pht-wide-rectangle-layout.pht-wide-rectangle-hide-media .pht-services-grid-icon,
.pht-wide-rectangle-layout.pht-wide-rectangle-hide-media .pht-card-top-image-wrap{
    display: none;
}

@media (max-width: 1024px){
    .pht-wide-rectangle-layout .pht-services-grid{
        grid-template-columns: repeat(var(--pht-wide-cols-tablet, 1), minmax(0, 1fr));
    }
    .pht-wide-rectangle-layout .pht-services-grid-card{
        min-height: 280px;
        height: auto;
    }
}

@media (max-width: 767px){
    .pht-wide-rectangle-layout .pht-services-grid{
        grid-template-columns: repeat(var(--pht-wide-cols-mobile, 1), minmax(0, 1fr));
    }
}
.pht-services-grid-card.pht-has-top-image{padding-top:0}
.pht-card-top-image-wrap{position:relative;height:46%;min-height:170px;margin:0 0 18px;border-radius:18px 18px 0 0;overflow:hidden}
.pht-card-top-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}
.pht-card-top-image-hover{opacity:0}
.pht-services-grid-card.pht-has-hover-image:hover .pht-card-top-image-hover{opacity:1}
.pht-services-grid-card.pht-has-hover-image:hover .pht-card-top-image-default{opacity:0}
.pht-services-grid-card.is-featured{border-color:#0067ff;box-shadow:0 0 0 2px rgba(0,103,255,.15),0 12px 28px rgba(0,103,255,.15)}
.pht-services-grid-card.pht-is-hidden{display:none}

.pht-services-grid-card.pht-anim-lift:hover {
    transform: translateY(-6px);
    border-color: #89b4ff;
    box-shadow: 0 18px 38px rgba(0, 76, 190, 0.18);
}

.pht-services-grid-card.pht-anim-glow:hover {
    border-color: #7aa8ff;
    box-shadow: 0 0 0 2px rgba(0, 103, 255, 0.2), 0 16px 36px rgba(0, 76, 190, 0.22);
}

.pht-services-grid-card.pht-anim-pulse {
    animation: phtCardPulse 3.2s ease-in-out infinite;
}

.pht-services-grid-card.pht-anim-none {
    transition: none;
}

@keyframes phtCardPulse {
    0% { box-shadow: 0 8px 24px rgba(10, 27, 58, 0.08); }
    50% { box-shadow: 0 14px 30px rgba(0, 76, 190, 0.18); }
    100% { box-shadow: 0 8px 24px rgba(10, 27, 58, 0.08); }
}

.pht-services-grid-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #e6f0ff;
    color: #0048b8;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.pht-services-grid-badge.is-ribbon{position:absolute;top:12px;right:-28px;transform:rotate(34deg);padding:5px 28px;font-size:.65rem}

.pht-services-grid-icon {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: linear-gradient(145deg, #d9e8ff 0%, #9ec1ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 6px 14px rgba(0, 58, 148, 0.2);
}

.pht-services-grid-icon i,
.pht-services-grid-icon svg {
    font-size: 36px;
    width: 36px;
    height: 36px;
    color: #0b2f66;
}

.pht-services-grid-media-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.pht-services-grid-card-title {
    margin: 0 0 14px;
    font-size: clamp(1.35rem, 1.35vw, 1.95rem);
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: #0b1a35;
}

.pht-services-grid-card-desc {
    margin: 0;
    color: #334155;
    font-size: clamp(1rem, 0.92vw, 1.18rem);
    line-height: 1.55;
}
.pht-services-grid-card-desc.pht-default-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--pht-desc-lines,3);overflow:hidden}
.pht-services-grid-card.has-hover-swap .pht-hover-desc{display:none}
.pht-services-grid-card.has-hover-swap:hover .pht-default-desc{display:none}
.pht-services-grid-card.has-hover-swap:hover .pht-hover-desc{display:-webkit-box}
.pht-service-meta,.pht-trust-points,.pht-rating,.pht-before-after{margin:0 0 10px;color:#334155;font-size:.95rem}
.pht-before-after a{margin-right:8px}

.pht-services-grid-card-button {
    margin-top: auto;
    padding-top: 18px;
    align-self: var(--pht-card-btn-align);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pht-card-btn-bg);
    color: var(--pht-card-btn-text);
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 999px;
    padding: 10px 16px;
    box-shadow: 0 8px 18px rgba(0, 103, 255, 0.25);
    transform: translate(var(--pht-card-btn-offset-x), var(--pht-card-btn-offset-y));
    transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
    text-decoration: none !important;
}
.pht-card-button-arrow{
    display:inline-block;
    font-size:var(--pht-card-arrow-size,16px);
    line-height:1;
    margin-left:6px;
    transform:translate(var(--pht-card-arrow-x,0), var(--pht-card-arrow-y,0));
}
.pht-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.pht-services-grid-card-secondary,.pht-services-grid-card-phone,.pht-services-grid-card-book{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:600;background:#e8f1ff;color:#0d3f91}
.pht-card-cover-link{position:absolute;inset:0;z-index:1}
.pht-card-actions a{position:relative;z-index:2}
.pht-services-grid-wrap a:focus{outline:2px solid var(--pht-focus-ring,#0067ff);outline-offset:2px}

.pht-services-grid-card-button:hover {
    color: var(--pht-card-btn-text);
    background: var(--pht-card-btn-bg-hover);
    transform: translate(var(--pht-card-btn-offset-x), calc(var(--pht-card-btn-offset-y) - 2px));
    box-shadow: 0 12px 22px rgba(0, 103, 255, 0.35);
    text-decoration: none !important;
}

.pht-services-grid-card-button:focus,
.pht-services-grid-card-button:active,
.pht-services-grid-card-button:visited {
    color: var(--pht-card-btn-text);
    text-decoration: none !important;
}

.pht-services-grid-card-button::before,
.pht-services-grid-card-button::after {
    content: none !important;
}

.pht-services-grid-cta {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

.pht-services-grid-button {
    display: inline-block;
    background: #0067ff;
    color: #fff;
    text-decoration: none !important;
    border-radius: 999px;
    padding: 13px 26px;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 24px rgba(0, 103, 255, 0.35);
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pht-services-grid-button:hover {
    color: #fff;
    background: #0056d4;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 103, 255, 0.42);
    text-decoration: none !important;
}

.pht-services-grid-button:focus,
.pht-services-grid-button:active,
.pht-services-grid-button:visited {
    color: #fff;
    text-decoration: none !important;
}

@media (max-width: 1024px) {
    .pht-services-grid {
        grid-template-columns: repeat(var(--pht-cols-tablet, 2), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pht-services-grid {
        grid-template-columns: repeat(var(--pht-cols-mobile, 1), minmax(0, 1fr));
    }

    .pht-services-grid-card-title {
        font-size: 1.6rem;
    }

    .pht-services-grid-card-desc {
        font-size: 1.05rem;
    }
    .pht-mobile-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px}
    .pht-mobile-carousel .pht-services-grid-card{min-width:82%;scroll-snap-align:start}
    .pht-sticky-mobile-cta{position:sticky;bottom:0;z-index:20;background:rgba(248,251,255,.96);padding:8px 0 2px}
}

.pht-service-card__title {
    margin: 0 0 10px;
    font-size: 1.35rem;
    line-height: 1.2;
}

.pht-service-card__desc {
    margin: 0 0 16px;
    color: #4a4a4a;
}

.pht-service-card__button {
    display: inline-block;
    background: #0f7b6c;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 600;
}

.pht-service-card__button:hover {
    background: #0b6256;
    color: #ffffff;
}
