
        :root {
            --gp-v28-purple: #4b1684;
            --gp-v28-violet: #920ab6;
            --gp-v28-pink: #e10b79;
            --gp-v28-cyan: #0ba6b8;
            --gp-v28-lime: #d8f512;
            --gp-v28-heart: #e10b45;
            --gp-v28-ink: #20142d;
            --gp-v28-muted: rgba(32,20,45,.68);
            --gp-v28-card: rgba(255,255,255,.92);
            --gp-v28-border: rgba(75,22,132,.10);
            --gp-v28-shadow: 0 24px 60px rgba(74,18,107,.10);
        }

        .gp-service-detail-page {
            direction: rtl;
            overflow: hidden;
        }

        .gp-service-detail-hero {
            position: relative;
            margin: 22px auto 28px;
            padding: clamp(28px, 4vw, 56px);
            border-radius: 42px;
            background: radial-gradient(circle at 14% 10%, rgba(216,245,18,.25), transparent 24%), radial-gradient(circle at 88% 24%, rgba(255,255,255,.15), transparent 22%), linear-gradient(135deg, #4b1684 0%, #920ab6 54%, #e10b79 100%);
            color: #fff;
            box-shadow: 0 32px 80px rgba(74,18,107,.20);
            isolation: isolate;
            overflow: hidden;
        }

            .gp-service-detail-hero::before,
            .gp-service-detail-hero::after {
                content: "";
                position: absolute;
                border-radius: 999px;
                pointer-events: none;
                z-index: -1;
            }

            .gp-service-detail-hero::before {
                width: 260px;
                height: 260px;
                left: -92px;
                top: -88px;
                background: rgba(255,255,255,.13);
                animation: gpV28Blob 10s ease-in-out infinite alternate;
            }

            .gp-service-detail-hero::after {
                width: 330px;
                height: 330px;
                right: -128px;
                bottom: -170px;
                background: rgba(11,166,184,.22);
                animation: gpV28Blob 12s ease-in-out infinite alternate-reverse;
            }

        @@keyframes gpV28Blob {
            to {
                transform: translate3d(24px, 18px, 0) scale(1.06);
            }
        }

        .gp-service-detail-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr);
            gap: clamp(20px, 4vw, 46px);
            align-items: center;
        }

        .gp-service-detail-kicker {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 0 14px;
            border-radius: 999px;
            background: rgba(255,255,255,.16);
            border: 1px solid rgba(255,255,255,.20);
            color: #fff !important;
            font-weight: 950;
            backdrop-filter: blur(14px);
        }

        .gp-service-detail-hero h1 {
            margin: 16px 0 12px;
            color: #fff !important;
            font-size: clamp(30px, 4.6vw, 60px);
            font-weight: 1000;
            line-height: 1.36 !important;
            letter-spacing: -.02em;
        }

        .gp-service-detail-hero p {
            max-width: 780px;
            margin: 0;
            color: rgba(255,255,255,.90) !important;
            font-size: clamp(14px, 1.2vw, 18px);
            font-weight: 850;
            line-height: 2.1;
        }

        .gp-service-detail-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 24px;
        }

            .gp-service-detail-actions a,
            .gp-service-detail-actions button {
                min-height: 48px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                padding: 0 18px;
                border-radius: 999px;
                text-decoration: none !important;
                font-weight: 950;
                border: 0;
                cursor: pointer;
            }

                .gp-service-detail-actions a:first-child {
                    background: #fff;
                    color: #4b1684 !important;
                    box-shadow: 0 18px 38px rgba(0,0,0,.14);
                }

                .gp-service-detail-actions a:nth-child(2),
                .gp-service-detail-fav {
                    background: rgba(255,255,255,.13);
                    border: 1px solid rgba(255,255,255,.24) !important;
                    color: #fff !important;
                }

                    .gp-service-detail-fav .gp-heart-icon {
                        color: #ff3f72 !important;
                    }

        .gp-service-detail-stats {
            display: grid;
            gap: 12px;
        }

        .gp-service-detail-stat {
            min-height: 92px;
            padding: 18px;
            border-radius: 28px;
            background: rgba(255,255,255,.16);
            border: 1px solid rgba(255,255,255,.20);
            backdrop-filter: blur(14px);
        }

            .gp-service-detail-stat strong {
                display: block;
                color: #fff !important;
                font-size: 28px;
                font-weight: 1000;
                line-height: 1;
            }

            .gp-service-detail-stat span {
                display: block;
                margin-top: 8px;
                color: rgba(255,255,255,.82) !important;
                font-weight: 850;
            }

        .gp-service-detail-shell {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
            gap: 22px;
            align-items: start;
            margin-bottom: 40px;
        }

        .gp-service-main-card,
        .gp-service-side-card {
            border-radius: 34px;
            background: var(--gp-v28-card);
            border: 1px solid var(--gp-v28-border);
            box-shadow: var(--gp-v28-shadow);
            backdrop-filter: blur(18px);
            overflow: hidden;
        }

        .gp-service-main-media {
            position: relative;
            background: #fff;
        }

            .gp-service-main-media img,
            .gp-service-main-media video {
                display: block;
                width: 100%;
                max-height: 480px;
                object-fit: cover;
                background: #fff;
            }

        .gp-service-main-body {
            padding: clamp(18px, 2.4vw, 34px);
        }

        .gp-service-info-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin-bottom: 18px;
        }

            .gp-service-info-strip span {
                min-height: 34px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 7px;
                padding: 0 12px;
                border-radius: 999px;
                background: rgba(146,10,182,.08);
                color: #6420a0 !important;
                font-size: 12px;
                font-weight: 900;
            }

        .gp-service-content {
            color: var(--gp-v28-ink) !important;
            font-size: 16px;
            font-weight: 650;
            line-height: 2.25;
        }

            .gp-service-content * {
                max-width: 100%;
            }

            .gp-service-content p,
            .gp-service-content li {
                color: var(--gp-v28-muted) !important;
                line-height: 2.25 !important;
                font-size: 16px !important;
            }

            .gp-service-content h2,
            .gp-service-content h3,
            .gp-service-content h4 {
                color: var(--gp-v28-ink) !important;
                font-weight: 1000 !important;
                line-height: 1.7 !important;
                margin-top: 28px !important;
            }

            .gp-service-content img {
                border-radius: 24px;
                box-shadow: 0 16px 38px rgba(74,18,107,.10);
                height: auto !important;
            }

        .gp-service-side {
            position: sticky;
            top: 18px;
            display: grid;
            gap: 14px;
        }

        .gp-service-side-card {
            padding: 18px;
        }

            .gp-service-side-card h3 {
                margin: 0 0 12px;
                color: var(--gp-v28-ink) !important;
                font-size: 18px;
                font-weight: 1000;
                line-height: 1.7 !important;
            }

            .gp-service-side-card p {
                margin: 0 0 14px;
                color: var(--gp-v28-muted) !important;
                font-weight: 850;
                line-height: 2;
            }

        .gp-newsletter-form {
            display: grid;
            gap: 9px;
        }

            .gp-newsletter-form input[type="email"] {
                height: 48px;
                border-radius: 16px;
                border: 1px solid rgba(75,22,132,.12);
                background: #fff;
                padding: 0 13px;
                color: var(--gp-v28-ink);
                font-weight: 850;
                outline: 0;
            }

            .gp-newsletter-form input[type="submit"],
            .gp-side-cta {
                min-height: 48px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border-radius: 16px;
                border: 0;
                background: linear-gradient(135deg, var(--gp-v28-purple), var(--gp-v28-violet));
                color: #fff !important;
                font-weight: 1000;
                text-decoration: none !important;
                box-shadow: 0 16px 32px rgba(146,10,182,.17);
            }

        .gp-related-list {
            display: grid;
            gap: 10px;
        }

        .gp-related-service {
            display: grid;
            grid-template-columns: 72px minmax(0, 1fr);
            gap: 10px;
            align-items: center;
            padding: 9px;
            border-radius: 20px;
            background: rgba(255,255,255,.65);
            border: 1px solid rgba(75,22,132,.08);
            text-decoration: none !important;
            transition: transform .18s ease, background .18s ease;
        }

            .gp-related-service:hover {
                transform: translateY(-2px);
                background: #fff;
            }

            .gp-related-service img {
                width: 72px;
                height: 72px;
                border-radius: 17px;
                object-fit: cover;
                background: #fff;
            }

            .gp-related-service strong {
                display: block;
                color: var(--gp-v28-ink) !important;
                font-size: 13px;
                font-weight: 950;
                line-height: 1.8;
            }

            .gp-related-service span {
                display: block;
                color: var(--gp-v28-muted) !important;
                font-size: 12px;
                font-weight: 850;
                margin-top: 3px;
            }

        .gp-social-links {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }

            .gp-social-links a {
                min-height: 42px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border-radius: 15px;
                text-decoration: none !important;
                color: #fff !important;
                font-weight: 950;
            }

                .gp-social-links a:nth-child(1) {
                    background: #25D366;
                }

                .gp-social-links a:nth-child(2) {
                    background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
                }

                .gp-social-links a:nth-child(3) {
                    background: #229ED9;
                }

        .gp-service-toast {
            position: fixed;
            right: 18px;
            bottom: 92px;
            z-index: 9999;
            min-height: 48px;
            max-width: min(330px, calc(100vw - 36px));
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 18px;
            border-radius: 999px;
            background: rgba(29,20,48,.92);
            color: #fff;
            font-weight: 950;
            box-shadow: 0 18px 42px rgba(0,0,0,.22);
            transform: translateY(24px);
            opacity: 0;
            pointer-events: none;
            transition: transform .22s ease, opacity .22s ease;
        }

            .gp-service-toast.is-visible {
                opacity: 1;
                transform: translateY(0);
            }

        .gp-heart-icon {
            color: var(--gp-v28-heart) !important;
            font-family: Tahoma, Arial, sans-serif !important;
            font-size: 18px !important;
            line-height: 1 !important;
            text-shadow: 0 6px 16px rgba(225,11,69,.20);
        }







        /* V74: service GEO internal links */
        .gp-service-geo-links {
            max-width: 860px;
            margin: 26px auto 6px;
            padding: 18px;
            border-radius: 28px;
            background: radial-gradient(circle at 10% 10%, rgba(216,245,18,.16), transparent 28%), linear-gradient(135deg, rgba(146,10,182,.075), rgba(225,11,121,.045));
            border: 1px solid rgba(75,22,132,.09);
        }

            .gp-service-geo-links strong {
                display: block;
                color: var(--gp-v28-ink) !important;
                font-size: 17px;
                font-weight: 1000;
                line-height: 1.9;
                margin-bottom: 10px;
                text-align: center;
            }

        .gp-service-geo-link-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
            gap: 9px;
        }

            .gp-service-geo-link-grid a {
                min-height: 44px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                padding: 0 13px;
                border-radius: 999px;
                background: rgba(255,255,255,.78);
                border: 1px solid rgba(75,22,132,.08);
                color: #6420a0 !important;
                font-size: 12px;
                font-weight: 1000;
                text-decoration: none !important;
                text-align: center;
                line-height: 1.8;
            }

        .gp-service-reviewed-box {
            max-width: 860px;
            margin: 20px auto 0;
            padding: 14px 16px;
            border-radius: 24px;
            background: rgba(255,255,255,.70);
            border: 1px solid rgba(75,22,132,.08);
            color: var(--gp-v28-muted) !important;
            font-size: 13px;
            font-weight: 900;
            line-height: 2;
            text-align: center;
        }

        html.gp-dark-mode .gp-service-geo-links,
        html.gp-dark-mode .gp-service-reviewed-box {
            background: rgba(255,255,255,.055) !important;
            border-color: rgba(255,255,255,.10) !important;
        }

        html.gp-dark-mode .gp-service-geo-link-grid a {
            background: rgba(255,255,255,.075) !important;
            border-color: rgba(255,255,255,.10) !important;
            color: #fff !important;
        }

        /* V45: service newsletter ajax message spacing fix */
        .gp-newsletter-message-v45 {
            display: block !important;
            width: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: transparent !important;
            color: #6420a0 !important;
            font-size: 12px !important;
            font-weight: 950 !important;
            line-height: 1.9 !important;
            text-align: center !important;
            white-space: normal !important;
            overflow: hidden !important;
            transition: margin .18s ease, padding .18s ease, background .18s ease, border-color .18s ease;
        }

            .gp-newsletter-message-v45.is-visible {
                min-height: 32px !important;
                margin: 12px 0 0 !important;
                padding: 8px 12px !important;
                border: 1px solid rgba(146,10,182,.10) !important;
                background: rgba(146,10,182,.065) !important;
            }

            .gp-newsletter-message-v45 #gpNewsMsg {
                display: block !important;
                width: 100% !important;
                margin: 0 !important;
                padding: 0 !important;
                color: inherit !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                line-height: inherit !important;
                text-align: center !important;
            }

        .gp-newsletter-form-v31 + .gp-newsletter-message-wrap-v45 {
            margin-top: 0 !important;
            padding-top: 0 !important;
        }

        html.gp-dark-mode .gp-newsletter-message-v45.is-visible {
            background: rgba(255,255,255,.075) !important;
            border-color: rgba(255,255,255,.10) !important;
            color: rgba(246,247,251,.88) !important;
        }


        /* V44: Compact long service content UX */
        .gp-service-reading-progress {
            position: fixed;
            top: 0;
            right: 0;
            width: 0;
            height: 4px;
            z-index: 2147482900;
            background: linear-gradient(90deg, #d8f512, #920ab6, #e10b79);
            box-shadow: 0 6px 18px rgba(146,10,182,.22);
            transition: width .08s linear;
        }

        .gp-service-main-card {
            position: relative;
        }

        .gp-service-content-wrap {
            position: relative;
        }

        .gp-service-content {
            max-width: 860px;
            margin: 0 auto;
        }

            .gp-service-content.is-collapsed {
                max-height: 1350px;
                overflow: hidden;
            }

        .gp-service-content-wrap.is-collapsed::after {
            content: "";
            position: absolute;
            right: 0;
            left: 0;
            bottom: 0;
            height: 260px;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.97) 74%);
            z-index: 4;
        }

        .gp-article-read-more-box {
            display: none;
            position: relative;
            z-index: 5;
            margin: -96px auto 8px;
            width: min(520px, 100%);
            padding: 18px;
            border-radius: 28px;
            background: rgba(255,255,255,.82);
            border: 1px solid rgba(75,22,132,.10);
            box-shadow: 0 22px 60px rgba(74,18,107,.15);
            backdrop-filter: blur(16px);
            text-align: center;
        }

            .gp-article-read-more-box.is-visible {
                display: block;
            }

            .gp-article-read-more-box strong {
                display: block;
                color: var(--gp-v28-ink) !important;
                font-size: 16px;
                font-weight: 1000;
                line-height: 1.8;
                margin-bottom: 6px;
            }

            .gp-article-read-more-box span {
                display: block;
                color: var(--gp-v28-muted) !important;
                font-size: 13px;
                font-weight: 850;
                line-height: 2;
                margin-bottom: 12px;
            }

        .gp-article-read-more-btn {
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-width: 220px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--gp-v28-purple), var(--gp-v28-violet), var(--gp-v28-pink));
            color: #fff !important;
            font-weight: 1000;
            box-shadow: 0 16px 34px rgba(146,10,182,.22);
            cursor: pointer;
        }

        .gp-service-reading-tools {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            justify-content: center;
            margin: 0 auto 22px;
            max-width: 860px;
            padding: 12px;
            border-radius: 24px;
            background: rgba(146,10,182,.055);
            border: 1px solid rgba(75,22,132,.08);
        }

        .gp-service-tool-btn {
            min-height: 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 0 13px;
            border: 0;
            border-radius: 999px;
            background: #fff;
            color: #6420a0 !important;
            font-size: 12px;
            font-weight: 1000;
            box-shadow: 0 12px 28px rgba(74,18,107,.07);
            cursor: pointer;
            text-decoration: none !important;
        }

        .gp-service-content > p {
            max-width: 760px;
            margin-right: auto !important;
            margin-left: auto !important;
            text-align: justify !important;
        }

        .gp-service-content > h2,
        .gp-service-content > h3 {
            max-width: 820px;
            margin-right: auto !important;
            margin-left: auto !important;
            padding: 16px 20px !important;
            border-radius: 26px;
            background: radial-gradient(circle at 12% 16%, rgba(216,245,18,.16), transparent 30%), linear-gradient(135deg, rgba(146,10,182,.085), rgba(255,255,255,.72));
            border: 1px solid rgba(75,22,132,.08);
            text-align: center !important;
        }

        .gp-service-content > h2 {
            font-size: clamp(21px, 2.1vw, 30px) !important;
        }

        .gp-service-content > h3 {
            font-size: clamp(18px, 1.7vw, 24px) !important;
        }

            .gp-service-content > h2::before,
            .gp-service-content > h3::before {
                content: "";
                width: 36px;
                height: 5px;
                display: block;
                margin: 0 auto 10px;
                border-radius: 999px;
                background: linear-gradient(90deg, #d8f512, #920ab6);
            }

        .gp-service-content > ul,
        .gp-service-content > ol {
            max-width: 760px;
            margin-right: auto !important;
            margin-left: auto !important;
            padding: 18px 42px 18px 18px !important;
            border-radius: 24px;
            background: rgba(146,10,182,.045);
            border: 1px solid rgba(75,22,132,.07);
        }

        .gp-service-toc-card {
            display: none;
        }

            .gp-service-toc-card.is-visible {
                display: block;
            }

        .gp-service-toc-list {
            display: grid;
            gap: 7px;
            max-height: 310px;
            overflow: auto;
            padding-left: 4px;
        }

            .gp-service-toc-list a {
                display: block;
                padding: 10px 12px;
                border-radius: 16px;
                background: rgba(255,255,255,.66);
                border: 1px solid rgba(75,22,132,.08);
                color: var(--gp-v28-ink) !important;
                text-decoration: none !important;
                font-size: 12px;
                font-weight: 900;
                line-height: 1.8;
                transition: transform .18s ease, background .18s ease;
            }

                .gp-service-toc-list a:hover {
                    transform: translateY(-2px);
                    background: #fff;
                }

        .gp-back-to-top {
            position: fixed;
            left: auto;
            right: 18px;
            bottom: 24px;
            z-index: 9998;
            width: 48px;
            height: 48px;
            display: none;
            align-items: center;
            justify-content: center;
            border: 0;
            border-radius: 18px;
            background: linear-gradient(135deg, var(--gp-v28-purple), var(--gp-v28-violet));
            color: #fff !important;
            font-size: 20px;
            font-weight: 1000;
            box-shadow: 0 18px 42px rgba(74,18,107,.22);
            cursor: pointer;
        }

            .gp-back-to-top.is-visible {
                display: inline-flex;
            }

        html.gp-dark-mode .gp-service-content-wrap.is-collapsed::after {
            background: linear-gradient(180deg, rgba(24,24,40,0), rgba(24,24,40,.98) 74%);
        }

        html.gp-dark-mode .gp-article-read-more-box {
            background: rgba(24,24,40,.86);
            border-color: rgba(255,255,255,.10);
            box-shadow: 0 22px 60px rgba(0,0,0,.25);
        }

        html.gp-dark-mode .gp-service-reading-tools {
            background: rgba(255,255,255,.055);
            border-color: rgba(255,255,255,.10);
        }

        html.gp-dark-mode .gp-service-tool-btn,
        html.gp-dark-mode .gp-service-toc-list a {
            background: rgba(255,255,255,.075);
            border-color: rgba(255,255,255,.10);
            color: #fff !important;
        }

        html.gp-dark-mode .gp-service-content > h2,
        html.gp-dark-mode .gp-service-content > h3,
        html.gp-dark-mode .gp-service-content > ul,
        html.gp-dark-mode .gp-service-content > ol {
            background: rgba(255,255,255,.055);
            border-color: rgba(255,255,255,.10);
        }

        @@media(max-width: 1100px) {
            .gp-service-toc-card.is-visible {
                display: none;
            }
        }

        @@media(max-width: 768px) {
            .gp-service-content.is-collapsed {
                max-height: 1050px;
            }

            .gp-service-reading-tools {
                margin-bottom: 16px;
                padding: 10px;
            }

            .gp-service-tool-btn {
                width: 100%;
            }

            .gp-service-content > p {
                text-align: right !important;
            }

            .gp-service-content > h2,
            .gp-service-content > h3 {
                padding: 14px 14px !important;
                border-radius: 22px;
            }

            .gp-article-read-more-box {
                margin-top: -82px;
                border-radius: 24px;
            }

            .gp-back-to-top {
                left: 14px;
                right: auto;
                bottom: 86px;
            }
        }


        /* V31: final visible contact icon + real newsletter submit button */
        .gp-call-clinic-btn {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 9px !important;
            width: 100% !important;
            min-height: 54px !important;
            padding: 0 18px !important;
            border-radius: 20px !important;
        }

            .gp-call-clinic-btn .gp-call-icon {
                width: 31px !important;
                height: 31px !important;
                min-width: 31px !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                border-radius: 12px !important;
                background: rgba(255,255,255,.18) !important;
                color: #ffffff !important;
                font-family: Tahoma, Arial, sans-serif !important;
                font-size: 17px !important;
                line-height: 1 !important;
                margin: 0 !important;
            }

            .gp-call-clinic-btn strong {
                color: #ffffff !important;
                font-size: 15px !important;
                font-weight: 1000 !important;
                line-height: 1 !important;
            }

        .gp-newsletter-form-v31 {
            width: 100% !important;
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) 78px !important;
            gap: 8px !important;
            align-items: center !important;
            margin: 0 !important;
            padding: 0 !important;
            opacity: 1 !important;
            visibility: visible !important;
            overflow: visible !important;
        }

            .gp-newsletter-form-v31 .gp-news-email-v31 {
                width: 100% !important;
                min-width: 0 !important;
                height: 52px !important;
                display: block !important;
                border-radius: 18px !important;
                border: 1px solid rgba(75,22,132,.12) !important;
                background: #ffffff !important;
                color: var(--gp-v28-ink) !important;
                font-size: 14px !important;
                font-weight: 850 !important;
                line-height: 52px !important;
                padding: 0 14px !important;
                margin: 0 !important;
                outline: 0 !important;
                box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
                opacity: 1 !important;
                visibility: visible !important;
                appearance: none !important;
                -webkit-appearance: none !important;
            }

        .gp-news-submit-v31 {
            width: 78px !important;
            min-width: 78px !important;
            height: 52px !important;
            min-height: 52px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            border: 0 !important;
            outline: 0 !important;
            border-radius: 18px !important;
            background: linear-gradient(135deg, #4b1684, #920ab6, #e10b79) !important;
            color: #ffffff !important;
            font-family: inherit !important;
            font-size: 14px !important;
            font-weight: 1000 !important;
            line-height: 1 !important;
            text-align: center !important;
            box-shadow: 0 14px 32px rgba(146,10,182,.22) !important;
            cursor: pointer !important;
            opacity: 1 !important;
            visibility: visible !important;
            overflow: visible !important;
            text-indent: 0 !important;
            appearance: none !important;
            -webkit-appearance: none !important;
            transform: translateZ(0);
        }

            .gp-news-submit-v31:hover {
                transform: translateY(-2px);
                box-shadow: 0 22px 48px rgba(146,10,182,.28) !important;
            }

            .gp-news-submit-v31:disabled {
                opacity: .72 !important;
                cursor: wait !important;
                transform: none !important;
            }

        .gp-news-msg-v31,
        .gp-news-msg-v31 #gpNewsMsg {
            display: block !important;
            min-height: 24px !important;
            margin-top: 8px !important;
            color: #7b16a4 !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            line-height: 1.8 !important;
        }

        html.gp-dark-mode .gp-newsletter-form-v31 .gp-news-email-v31 {
            background: rgba(255,255,255,.07) !important;
            border-color: rgba(255,255,255,.12) !important;
            color: #ffffff !important;
        }

            html.gp-dark-mode .gp-newsletter-form-v31 .gp-news-email-v31::placeholder {
                color: rgba(255,255,255,.55) !important;
            }

        html.gp-dark-mode .gp-news-msg-v31,
        html.gp-dark-mode .gp-news-msg-v31 #gpNewsMsg {
            color: rgba(246,247,251,.82) !important;
        }

        @@media(max-width: 420px) {
            .gp-newsletter-form-v31 {
                grid-template-columns: 1fr !important;
            }

            .gp-news-submit-v31 {
                width: 100% !important;
                min-width: 100% !important;
            }
        }


        /* V30: force newsletter button visible + contact text only */
        .gp-call-clinic-btn {
            justify-content: center !important;
            min-height: 52px !important;
            padding: 0 18px !important;
        }

            .gp-call-clinic-btn strong {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                color: #fff !important;
                font-size: 15px !important;
                font-weight: 1000 !important;
                line-height: 1 !important;
            }

        .gp-newsletter-form-v30 {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 10px !important;
            width: 100% !important;
            margin: 0 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }

        .gp-newsletter-input-wrap {
            width: 100% !important;
            min-height: 52px !important;
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            padding: 0 12px !important;
            border-radius: 18px !important;
            background: #fff !important;
            border: 1px solid rgba(75,22,132,.12) !important;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.6) !important;
        }

            .gp-newsletter-input-wrap > span {
                width: 30px !important;
                height: 30px !important;
                min-width: 30px !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                border-radius: 11px !important;
                background: rgba(146,10,182,.10) !important;
                color: #7b16a4 !important;
                line-height: 1 !important;
            }

            .gp-newsletter-input-wrap input#textnews {
                flex: 1 1 auto !important;
                width: 100% !important;
                min-width: 0 !important;
                height: 50px !important;
                display: block !important;
                border: 0 !important;
                outline: 0 !important;
                background: transparent !important;
                color: var(--gp-v28-ink) !important;
                font-weight: 850 !important;
                box-shadow: none !important;
                margin: 0 !important;
                padding: 0 !important;
                opacity: 1 !important;
                visibility: visible !important;
            }

        #btntext.gp-newsletter-submit-v30 {
            width: 100% !important;
            min-height: 54px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            border: 0 !important;
            outline: 0 !important;
            border-radius: 20px !important;
            background: linear-gradient(135deg, #0ba6b8, #4b1684, #920ab6) !important;
            color: #ffffff !important;
            font-size: 15px !important;
            font-weight: 1000 !important;
            line-height: 1 !important;
            text-align: center !important;
            box-shadow: 0 18px 42px rgba(11,166,184,.20) !important;
            cursor: pointer !important;
            opacity: 1 !important;
            visibility: visible !important;
            appearance: none !important;
            -webkit-appearance: none !important;
            transform: translateZ(0);
        }

            #btntext.gp-newsletter-submit-v30:hover {
                transform: translateY(-3px);
                box-shadow: 0 26px 58px rgba(11,166,184,.26) !important;
            }

        .gp-service-side-card .newsletter,
        .gp-service-side-card #msg {
            display: block !important;
            color: #7b16a4 !important;
            font-weight: 900 !important;
            line-height: 1.8 !important;
        }

        html.gp-dark-mode .gp-newsletter-input-wrap {
            background: rgba(255,255,255,.07) !important;
            border-color: rgba(255,255,255,.12) !important;
        }

            html.gp-dark-mode .gp-newsletter-input-wrap > span {
                background: rgba(255,255,255,.10) !important;
                color: #fff !important;
            }

            html.gp-dark-mode .gp-newsletter-input-wrap input#textnews {
                color: #fff !important;
            }

                html.gp-dark-mode .gp-newsletter-input-wrap input#textnews::placeholder {
                    color: rgba(255,255,255,.55) !important;
                }

        html.gp-dark-mode .gp-service-side-card .newsletter,
        html.gp-dark-mode .gp-service-side-card #msg {
            color: rgba(246,247,251,.82) !important;
        }


        /* V29: Better sidebar buttons + responsive content tables */
        .gp-call-clinic-btn {
            position: relative;
            overflow: hidden;
            gap: 9px !important;
            min-height: 54px !important;
            border-radius: 20px !important;
            background: radial-gradient(circle at 12% 15%, rgba(216,245,18,.28), transparent 26%), linear-gradient(135deg, #4b1684, #920ab6, #e10b79) !important;
            box-shadow: 0 18px 42px rgba(146,10,182,.24) !important;
            transition: transform .22s ease, box-shadow .22s ease;
        }

            .gp-call-clinic-btn:hover {
                transform: translateY(-3px);
                box-shadow: 0 26px 58px rgba(146,10,182,.30) !important;
            }

            .gp-call-clinic-btn span {
                width: 32px;
                height: 32px;
                min-width: 32px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border-radius: 12px;
                background: rgba(255,255,255,.18);
                color: #fff !important;
                line-height: 1;
            }

            .gp-call-clinic-btn strong {
                color: #fff !important;
                font-weight: 1000 !important;
            }

            .gp-call-clinic-btn::after {
                content: "";
                position: absolute;
                inset: -60% auto -60% -35%;
                width: 32%;
                background: linear-gradient(105deg, transparent, rgba(255,255,255,.52), transparent);
                transform: skewX(-18deg);
                animation: gpV29BtnShine 4.6s ease-in-out infinite;
            }

        @@keyframes gpV29BtnShine {
            0%, 58% {
                transform: skewX(-18deg) translateX(0);
                opacity: 0;
            }

            72% {
                opacity: .9;
            }

            100% {
                transform: skewX(-18deg) translateX(520%);
                opacity: 0;
            }
        }

        .gp-newsletter-form {
            display: grid !important;
            gap: 10px !important;
        }

        .gp-newsletter-submit {
            width: 100% !important;
            min-height: 52px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 9px !important;
            border: 0 !important;
            border-radius: 19px !important;
            background: radial-gradient(circle at 15% 20%, rgba(216,245,18,.24), transparent 26%), linear-gradient(135deg, #0ba6b8, #4b1684, #920ab6) !important;
            color: #fff !important;
            font-weight: 1000 !important;
            line-height: 1 !important;
            box-shadow: 0 18px 42px rgba(11,166,184,.18) !important;
            cursor: pointer !important;
            transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
            appearance: none !important;
            -webkit-appearance: none !important;
        }

            .gp-newsletter-submit:hover {
                transform: translateY(-3px);
                filter: saturate(1.08);
                box-shadow: 0 26px 58px rgba(11,166,184,.24) !important;
            }

            .gp-newsletter-submit span {
                width: 30px;
                height: 30px;
                min-width: 30px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border-radius: 11px;
                background: rgba(255,255,255,.18);
                color: #fff !important;
            }

        .gp-newsletter {
            margin-top: 8px !important;
        }

        .gp-service-content .gp-table-scroll {
            width: 100%;
            max-width: 100%;
            margin: 22px 0;
            overflow-x: auto;
            overflow-y: hidden;
            border-radius: 24px;
            border: 1px solid rgba(75,22,132,.10);
            background: linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0)) right center / 24px 100% no-repeat, linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0)) left center / 24px 100% no-repeat, rgba(255,255,255,.72);
            box-shadow: 0 18px 42px rgba(74,18,107,.09);
            -webkit-overflow-scrolling: touch;
        }

            .gp-service-content .gp-table-scroll::-webkit-scrollbar {
                height: 8px;
            }

            .gp-service-content .gp-table-scroll::-webkit-scrollbar-thumb {
                border-radius: 999px;
                background: linear-gradient(90deg, #4b1684, #920ab6, #e10b79);
            }

        .gp-service-content table {
            width: 100% !important;
            min-width: 640px;
            margin: 0 !important;
            border-collapse: separate !important;
            border-spacing: 0 !important;
            background: #fff !important;
            direction: rtl !important;
            overflow: hidden;
        }

            .gp-service-content table th,
            .gp-service-content table td {
                padding: 14px 16px !important;
                border: 0 !important;
                border-bottom: 1px solid rgba(75,22,132,.09) !important;
                border-left: 1px solid rgba(75,22,132,.06) !important;
                color: var(--gp-v28-ink) !important;
                font-size: 14px !important;
                font-weight: 800 !important;
                line-height: 1.9 !important;
                vertical-align: middle !important;
                white-space: normal !important;
            }

            .gp-service-content table th,
            .gp-service-content table thead td {
                background: linear-gradient(135deg, rgba(75,22,132,.10), rgba(146,10,182,.08)) !important;
                color: #4b1684 !important;
                font-weight: 1000 !important;
            }

            .gp-service-content table tr:nth-child(even) td {
                background: rgba(146,10,182,.035) !important;
            }

            .gp-service-content table tr:hover td {
                background: rgba(216,245,18,.13) !important;
            }

        .gp-service-content blockquote {
            position: relative;
            margin: 24px 0 !important;
            padding: 18px 22px !important;
            border: 0 !important;
            border-right: 5px solid #920ab6 !important;
            border-radius: 24px !important;
            background: linear-gradient(135deg, rgba(146,10,182,.08), rgba(225,11,121,.06)) !important;
            color: var(--gp-v28-ink) !important;
            font-weight: 850 !important;
            line-height: 2.1 !important;
        }

        .gp-service-content ul,
        .gp-service-content ol {
            padding-right: 22px !important;
            margin: 18px 0 !important;
        }

        .gp-service-content li {
            margin-bottom: 8px !important;
        }

        .gp-service-content a {
            color: #7b16a4 !important;
            font-weight: 950 !important;
            text-decoration: none !important;
            border-bottom: 1px dashed rgba(146,10,182,.34);
        }

        .gp-service-content iframe,
        .gp-service-content video {
            width: 100% !important;
            max-width: 100% !important;
            border-radius: 24px !important;
            overflow: hidden;
        }

        @@media(max-width: 768px) {
            .gp-call-clinic-btn,
            .gp-newsletter-submit {
                min-height: 50px !important;
                border-radius: 18px !important;
            }

            .gp-service-content .gp-table-scroll {
                border-radius: 20px;
                margin: 18px 0;
            }

            .gp-service-content table {
                min-width: 560px;
            }

                .gp-service-content table th,
                .gp-service-content table td {
                    padding: 12px 13px !important;
                    font-size: 13px !important;
                }
        }


        html.gp-dark-mode .gp-service-detail-page {
            --gp-v28-ink: #f7f7fb;
            --gp-v28-muted: rgba(246,247,251,.72);
            --gp-v28-card: rgba(24,24,40,.88);
            --gp-v28-border: rgba(255,255,255,.10);
            --gp-v28-shadow: 0 24px 60px rgba(0,0,0,.20);
        }

        html.gp-dark-mode .gp-service-main-card,
        html.gp-dark-mode .gp-service-side-card {
            background: rgba(24,24,40,.90) !important;
            border-color: rgba(255,255,255,.10) !important;
        }

        html.gp-dark-mode .gp-service-info-strip span {
            background: rgba(255,255,255,.09) !important;
            color: rgba(246,247,251,.88) !important;
        }

        html.gp-dark-mode .gp-related-service,
        html.gp-dark-mode .gp-newsletter-form input[type="email"] {
            background: rgba(255,255,255,.07) !important;
            border-color: rgba(255,255,255,.10) !important;
            color: #fff !important;
        }

            html.gp-dark-mode .gp-related-service strong,
            html.gp-dark-mode .gp-service-side-card h3,
            html.gp-dark-mode .gp-service-content h2,
            html.gp-dark-mode .gp-service-content h3,
            html.gp-dark-mode .gp-service-content h4 {
                color: #f7f7fb !important;
            }

            html.gp-dark-mode .gp-related-service span,
            html.gp-dark-mode .gp-service-side-card p,
            html.gp-dark-mode .gp-service-content p,
            html.gp-dark-mode .gp-service-content li {
                color: rgba(246,247,251,.72) !important;
            }

        html.gp-dark-mode .gp-heart-icon {
            color: #ff4f7c !important;
        }


        html.gp-dark-mode .gp-service-content .gp-table-scroll {
            background: linear-gradient(90deg, rgba(24,24,40,1), rgba(24,24,40,0)) right center / 24px 100% no-repeat, linear-gradient(270deg, rgba(24,24,40,1), rgba(24,24,40,0)) left center / 24px 100% no-repeat, rgba(255,255,255,.06) !important;
            border-color: rgba(255,255,255,.10) !important;
            box-shadow: 0 18px 42px rgba(0,0,0,.20) !important;
        }

        html.gp-dark-mode .gp-service-content table {
            background: rgba(24,24,40,.95) !important;
        }

            html.gp-dark-mode .gp-service-content table th,
            html.gp-dark-mode .gp-service-content table td {
                color: rgba(246,247,251,.86) !important;
                border-bottom-color: rgba(255,255,255,.10) !important;
                border-left-color: rgba(255,255,255,.08) !important;
            }

            html.gp-dark-mode .gp-service-content table th,
            html.gp-dark-mode .gp-service-content table thead td {
                background: rgba(255,255,255,.09) !important;
                color: #fff !important;
            }

            html.gp-dark-mode .gp-service-content table tr:nth-child(even) td {
                background: rgba(255,255,255,.035) !important;
            }

            html.gp-dark-mode .gp-service-content table tr:hover td {
                background: rgba(216,245,18,.09) !important;
            }

        html.gp-dark-mode .gp-service-content blockquote {
            background: rgba(255,255,255,.07) !important;
            color: #f7f7fb !important;
            border-right-color: #ff4f7c !important;
        }

        html.gp-dark-mode .gp-service-content a {
            color: #ff9ac0 !important;
            border-bottom-color: rgba(255,154,192,.35);
        }

        html.gp-dark-mode .gp-newsletter-submit,
        html.gp-dark-mode .gp-call-clinic-btn {
            box-shadow: 0 20px 50px rgba(0,0,0,.24) !important;
        }


        @@media(max-width: 1100px) {
            .gp-service-detail-shell,
            .gp-service-detail-hero-grid {
                grid-template-columns: 1fr;
            }

            .gp-service-side {
                position: relative;
                top: auto;
            }

            .gp-service-detail-stats {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @@media(max-width: 768px) {
            .gp-service-detail-hero {
                border-radius: 30px;
                padding: 26px 20px;
                text-align: center;
            }

            .gp-service-detail-actions {
                justify-content: center;
            }

            .gp-service-detail-stats {
                grid-template-columns: 1fr;
            }

            .gp-service-main-card,
            .gp-service-side-card {
                border-radius: 28px;
            }

            .gp-service-main-body {
                padding: 18px;
            }

            .gp-service-content p,
            .gp-service-content li {
                font-size: 14px !important;
            }

            .gp-service-toast {
                left: 14px;
                right: 14px;
                bottom: 86px;
            }

            .gp-social-links {
                grid-template-columns: 1fr;
            }
        }


        /* V80: new grouped GEO/brand link hub */
        .gp-v80-link-hub {
            max-width: 920px !important;
            padding: clamp(16px, 2.2vw, 24px) !important;
            border-radius: 32px !important;
            background: radial-gradient(circle at 12% 10%, rgba(216,245,18,.18), transparent 30%), linear-gradient(135deg, rgba(146,10,182,.085), rgba(225,11,121,.055)) !important;
            box-shadow: 0 22px 56px rgba(74,18,107,.10);
        }

            .gp-v80-link-hub > strong {
                font-size: clamp(18px, 2vw, 26px) !important;
                margin-bottom: 6px !important;
            }

        .gp-v80-link-hub-lead {
            max-width: 780px;
            margin: 0 auto 16px !important;
            color: var(--gp-v28-muted) !important;
            font-size: 13px !important;
            font-weight: 850 !important;
            line-height: 2 !important;
            text-align: center !important;
        }

        .gp-v80-link-group {
            margin-top: 14px;
            padding: 14px;
            border-radius: 24px;
            background: rgba(255,255,255,.62);
            border: 1px solid rgba(75,22,132,.08);
        }

            .gp-v80-link-group h3 {
                margin: 0 0 10px !important;
                color: var(--gp-v28-ink) !important;
                font-size: 15px !important;
                font-weight: 1000 !important;
                line-height: 1.8 !important;
                text-align: right !important;
            }

        .gp-v80-link-grid {
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
        }

            .gp-v80-link-grid a {
                min-height: 48px !important;
                border-radius: 18px !important;
                background: #fff !important;
                box-shadow: 0 10px 26px rgba(74,18,107,.06);
                transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
            }

                .gp-v80-link-grid a:hover {
                    transform: translateY(-3px);
                    box-shadow: 0 16px 34px rgba(74,18,107,.12);
                    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(251,247,255,.98)) !important;
                }

        html.gp-dark-mode .gp-v80-link-hub-lead {
            color: rgba(246,247,251,.72) !important;
        }

        html.gp-dark-mode .gp-v80-link-group {
            background: rgba(255,255,255,.055) !important;
            border-color: rgba(255,255,255,.10) !important;
        }

            html.gp-dark-mode .gp-v80-link-group h3 {
                color: #fff !important;
            }

        html.gp-dark-mode .gp-v80-link-grid a {
            background: rgba(255,255,255,.075) !important;
        }

        @@media(max-width: 768px) {
            .gp-v80-link-grid {
                grid-template-columns: 1fr !important;
            }

            .gp-v80-link-group h3 {
                text-align: center !important;
            }
        }
    
/* =========================================================
   V99 - modern service detail (breadcrumb, hero, share, prose,
   related, CTA) - mirrors the blog article design
   ========================================================= */
.gp-service-detail {
    padding-bottom: 20px;
}

.gp-service-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 12px;
    font-weight: 850;
    color: rgba(46,22,70,.55);
}

    .gp-service-breadcrumb a {
        color: #7a0799 !important;
        text-decoration: none !important;
    }

        .gp-service-breadcrumb a:hover {
            color: #c60069 !important;
        }

    .gp-service-breadcrumb > span:last-of-type {
        color: #33003f;
    }

.gp-service-detail-hero {
    padding: clamp(22px, 3vw, 38px);
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.13), transparent 32%),
        linear-gradient(135deg, #4b1684 0%, #920ab6 52%, #c60069 100%);
    box-shadow: 0 26px 64px rgba(72,17,100,.24);
    margin-bottom: 22px;
}

.gp-sd-cat-chip {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    color: #ffd2f3 !important;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none !important;
    margin-bottom: 12px;
}

.gp-service-detail-hero h1 {
    margin: 0 0 14px;
    color: #fff !important;
    font-size: clamp(24px, 3.4vw, 40px);
    font-weight: 990;
    line-height: 1.55;
}

.gp-sd-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-bottom: 16px;
}

.gp-sd-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,.85);
    font-size: 12.5px;
    font-weight: 850;
}

    .gp-sd-meta-item i {
        font-style: normal;
        font-size: 14px;
    }

.gp-sd-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.16);
}

.gp-sd-share-label {
    color: rgba(255,255,255,.78);
    font-size: 12.5px;
    font-weight: 900;
    margin-left: 4px;
}

.gp-sd-share .gp-share-btn {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.12);
    color: #fff !important;
    font-size: 17px;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

    .gp-sd-share .gp-share-btn:hover {
        transform: translateY(-3px);
        background: rgba(255,255,255,.95) !important;
        color: #4b1684 !important;
    }

    .gp-sd-share .gp-share-tg:hover { background: linear-gradient(135deg, #2aabee, #229ed9) !important; color: #fff !important; }
    .gp-sd-share .gp-share-wa:hover { background: linear-gradient(135deg, #25d366, #128c7e) !important; color: #fff !important; }
    .gp-sd-share .gp-share-mail:hover { background: linear-gradient(135deg, #920ab6, #c60069) !important; color: #fff !important; }
    .gp-sd-share .gp-share-copy:hover { background: linear-gradient(135deg, #d1f411, #9fd40a) !important; color: #26260a !important; }

.gp-sd-cta {
    margin-top: 14px;
}

    .gp-sd-cta a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 48px;
        padding: 0 24px;
        border-radius: 999px;
        background: #d1f411;
        color: #26260a !important;
        font-weight: 990;
        text-decoration: none !important;
        box-shadow: 0 14px 30px rgba(0,0,0,.20);
        transition: transform .2s ease;
    }

        .gp-sd-cta a:hover {
            transform: translateY(-2px) scale(1.01);
        }

/* figure */
.gp-sd-figure {
    margin: 0 0 24px;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 22px 54px rgba(74,18,107,.14);
}

    .gp-sd-figure img {
        display: block;
        width: 100%;
        height: auto;
    }

/* body prose (legacy HTML from DB) */
.gp-sd-body {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(146,10,182,.10);
    border-radius: 26px;
    padding: clamp(20px, 3vw, 38px);
    box-shadow: 0 16px 40px rgba(74,18,107,.07);
    margin-bottom: 26px;
}

    .gp-sd-body p {
        color: rgba(40, 22, 62, .88);
        font-size: 15px;
        font-weight: 750;
        line-height: 2.3;
        margin: 0 0 18px;
    }

    .gp-sd-body h2,
    .gp-sd-body h3 {
        color: #33003f;
        font-weight: 980;
        line-height: 1.7;
        margin: 26px 0 12px;
        padding-right: 14px;
        border-right: 4px solid;
        border-image: linear-gradient(180deg, #920ab6, #c60069) 1;
    }

    .gp-sd-body h2 { font-size: 21px; }
    .gp-sd-body h3 { font-size: 18px; }

    .gp-sd-body img {
        max-width: 100%;
        height: auto;
        border-radius: 18px;
        margin: 14px 0;
        box-shadow: 0 12px 30px rgba(74,18,107,.10);
    }

    .gp-sd-body ul,
    .gp-sd-body ol {
        padding-right: 22px;
        color: rgba(40, 22, 62, .85);
        font-weight: 750;
        line-height: 2.2;
        margin: 0 0 18px;
    }

    .gp-sd-body ul li { list-style: none; position: relative; }

    .gp-sd-body ul li::before {
        content: "";
        position: absolute;
        right: -18px;
        top: 13px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: linear-gradient(135deg, #920ab6, #c60069);
    }

    .gp-sd-body strong {
        color: #33003f;
    }

/* related */
.gp-sd-related {
    margin-bottom: 26px;
}

    .gp-sd-related h2 {
        margin: 0 0 16px;
    }

        .gp-sd-related h2 span {
            display: inline-flex;
            padding: 7px 15px;
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(146,10,182,.10), rgba(198,0,105,.08));
            color: #7a0799 !important;
            font-size: 14px;
            font-weight: 990;
        }

/* final CTA */
.gp-sd-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    padding: clamp(22px, 3.5vw, 36px);
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 20%, rgba(209,244,17,.20), transparent 34%),
        linear-gradient(135deg, #4b1684 0%, #920ab6 50%, #c60069 100%);
    box-shadow: 0 26px 60px rgba(72,17,100,.26);
    margin-bottom: 20px;
}

    .gp-sd-final-cta h2 {
        color: #fff;
        font-size: clamp(18px, 2.2vw, 26px);
        font-weight: 990;
        margin: 0 0 6px;
    }

    .gp-sd-final-cta p {
        color: rgba(255,255,255,.86);
        font-weight: 800;
        margin: 0;
    }

    .gp-sd-final-cta a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 52px;
        padding: 0 30px;
        border-radius: 999px;
        background: #d1f411;
        color: #26260a !important;
        font-size: 16px;
        font-weight: 990;
        text-decoration: none !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.22);
        transition: transform .2s ease;
    }

        .gp-sd-final-cta a:hover {
            transform: translateY(-3px) scale(1.02);
        }

.gp-article-back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(146,10,182,.09), rgba(198,0,105,.07));
    border: 1px solid rgba(146,10,182,.18);
    color: #7a0799 !important;
    font-weight: 950;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease;
}

    .gp-article-back a:hover {
        background: linear-gradient(135deg, #920ab6, #c60069);
        color: #fff !important;
    }

/* dark mode */
html.gp-dark-mode .gp-service-detail-hero {
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.08), transparent 32%),
        linear-gradient(135deg, #1c0a30 0%, #3a0f52 52%, #4a0a2e 100%) !important;
}

html.gp-dark-mode .gp-sd-body,
html.gp-dark-mode .gp-related-card {
    background: linear-gradient(150deg, rgba(26,24,43,.95), rgba(18,20,33,.92)) !important;
    border-color: rgba(255,255,255,.10) !important;
}

html.gp-dark-mode .gp-sd-body p,
html.gp-dark-mode .gp-sd-body ul,
html.gp-dark-mode .gp-sd-body ol {
    color: rgba(255,255,255,.78) !important;
}

html.gp-dark-mode .gp-sd-body h2,
html.gp-dark-mode .gp-sd-body h3,
html.gp-dark-mode .gp-sd-body strong,
html.gp-dark-mode .gp-related-card b {
    color: #f8f1ff !important;
}

html.gp-dark-mode .gp-service-breadcrumb > span:last-of-type {
    color: #f2e7fb;
}

/* =========================================================
   V101 - "shokouh showcase" redesign: split hero with floating
   media, sticky side panel with steps, clean body
   (overrides all service-detail rules above)
   ========================================================= */
.gsd {
    padding-bottom: 20px;
    position: relative;
}

/* crumb */
.gsd-crumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 850;
    color: rgba(46,22,70,.55);
}

    .gsd-crumb a {
        color: #7a0799 !important;
        text-decoration: none !important;
    }

        .gsd-crumb a:hover {
            color: #c60069 !important;
        }

    .gsd-crumb > span:last-of-type {
        color: #33003f;
    }

/* ---------- split hero ---------- */
.gsd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(18px, 3vw, 34px);
    align-items: stretch;
    padding: clamp(20px, 3vw, 40px);
    border-radius: 36px;
    background:
        radial-gradient(circle at 12% 8%, rgba(216,245,18,.16), transparent 30%),
        radial-gradient(circle at 92% 88%, rgba(255,255,255,.12), transparent 34%),
        linear-gradient(140deg, #38085f 0%, #7c0799 48%, #b30056 100%);
    box-shadow: 0 30px 76px rgba(60,10,95,.30);
    overflow: hidden;
    position: relative;
    margin-bottom: clamp(20px, 3vw, 34px);
}

    .gsd-hero::before {
        content: "";
        position: absolute;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        background: rgba(255,255,255,.08);
        top: -130px;
        right: -100px;
        animation: gsdHeroFloat 10s ease-in-out infinite alternate;
        pointer-events: none;
    }

@keyframes gsdHeroFloat {
    from { transform: translate(0, 0); }
    to { transform: translate(-18px, 14px); }
}

.gsd-hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
}

.gsd-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.22);
    color: #ffd2f3 !important;
    font-size: 12.5px;
    font-weight: 950;
    text-decoration: none !important;
    margin-bottom: 14px;
    backdrop-filter: blur(6px);
}

    .gsd-chip i {
        font-style: normal;
        color: #d1f411;
    }

.gsd-hero-copy h1 {
    margin: 0 0 12px;
    color: #fff !important;
    font-size: clamp(26px, 3.6vw, 44px);
    font-weight: 990;
    line-height: 1.45;
}

.gsd-lead {
    margin: 0 0 20px;
    color: rgba(255,255,255,.88) !important;
    font-size: clamp(13.5px, 1.25vw, 16px);
    font-weight: 800;
    line-height: 2.1;
}

.gsd-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.gsd-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 0 26px;
    border-radius: 999px;
    font-weight: 990;
    font-size: 14.5px;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.gsd-btn-primary {
    background: #d1f411;
    color: #26260a !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.24);
}

    .gsd-btn-primary:hover {
        transform: translateY(-3px);
        box-shadow: 0 22px 46px rgba(0,0,0,.30);
    }

.gsd-btn-ghost {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.24);
    color: #fff !important;
}

    .gsd-btn-ghost:hover {
        background: rgba(255,255,255,.22);
        transform: translateY(-2px);
    }

.gsd-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 14px;
}

    .gsd-hero-meta span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: rgba(255,255,255,.78);
        font-size: 12.5px;
        font-weight: 850;
    }

        .gsd-hero-meta span i {
            font-style: normal;
        }

.gsd-hero-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

    .gsd-hero-share > span {
        color: rgba(255,255,255,.70);
        font-size: 12px;
        font-weight: 900;
    }

    .gsd-hero-share a,
    .gsd-hero-share .gsd-copy {
        width: 36px;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        background: rgba(255,255,255,.13);
        border: 1px solid rgba(255,255,255,.20);
        color: #fff !important;
        font-size: 15px;
        text-decoration: none !important;
        cursor: pointer;
        transition: transform .18s ease, background .18s ease;
    }

        .gsd-hero-share a:hover,
        .gsd-hero-share .gsd-copy:hover {
            transform: translateY(-2px);
            background: #d1f411;
            color: #26260a !important;
        }

/* floating media */
.gsd-hero-media {
    position: relative;
    margin: 0;
    z-index: 1;
    align-self: center;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 34px 80px rgba(0,0,0,.40);
    border: 4px solid rgba(255,255,255,.14);
    transform: rotate(-1.2deg);
    transition: transform .35s ease;
}

    .gsd-hero-media:hover {
        transform: rotate(0deg) scale(1.01);
    }

    .gsd-hero-media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 320px;
        object-fit: cover;
    }

.gsd-media-badge {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 30px rgba(24,6,40,.28);
}

    .gsd-media-badge b {
        color: #7a0799;
        font-size: 20px;
        font-weight: 990;
        line-height: 1.2;
    }

    .gsd-media-badge small {
        color: rgba(46,22,70,.60);
        font-size: 10.5px;
        font-weight: 900;
    }

/* ---------- body + sticky panel ---------- */
.gsd-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(16px, 2.4vw, 28px);
    align-items: start;
    margin-bottom: clamp(20px, 3vw, 34px);
}

.gsd-body {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(146,10,182,.10);
    border-radius: 26px;
    padding: clamp(20px, 3vw, 38px);
    box-shadow: 0 16px 40px rgba(74,18,107,.07);
}

    .gp-sd-body p,
    .gsd-body p {
        color: rgba(40, 22, 62, .88);
        font-size: 15px;
        font-weight: 750;
        line-height: 2.3;
        margin: 0 0 18px;
    }

    .gsd-body h2,
    .gsd-body h3 {
        color: #33003f;
        font-weight: 980;
        line-height: 1.7;
        margin: 26px 0 12px;
        padding-right: 14px;
        border-right: 4px solid;
        border-image: linear-gradient(180deg, #920ab6, #c60069) 1;
    }

    .gsd-body h2 { font-size: 21px; }
    .gsd-body h3 { font-size: 18px; }

    .gsd-body img {
        max-width: 100%;
        height: auto;
        border-radius: 18px;
        margin: 14px 0;
        box-shadow: 0 12px 30px rgba(74,18,107,.10);
    }

    .gsd-body ul,
    .gsd-body ol {
        padding-right: 22px;
        color: rgba(40, 22, 62, .85);
        font-weight: 750;
        line-height: 2.2;
        margin: 0 0 18px;
    }

    .gsd-body ul li { list-style: none; position: relative; }

    .gsd-body ul li::before {
        content: "";
        position: absolute;
        right: -18px;
        top: 13px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: linear-gradient(135deg, #920ab6, #c60069);
    }

    .gsd-body strong {
        color: #33003f;
    }

/* sticky panel */
.gsd-panel {
    position: sticky;
    top: 86px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.gsd-panel-box {
    background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(250,244,255,.94));
    border: 1px solid rgba(146,10,182,.12);
    border-radius: 24px;
    padding: 22px 20px;
    box-shadow: 0 18px 44px rgba(74,18,107,.10);
}

    .gsd-panel-box h2 {
        margin: 0 0 14px;
        color: #33003f;
        font-size: 14.5px;
        font-weight: 980;
    }

.gsd-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

    .gsd-steps li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

        .gsd-steps li i {
            flex: 0 0 auto;
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            background: linear-gradient(135deg, #920ab6, #c60069);
            color: #fff;
            font-size: 14px;
            font-weight: 990;
            font-style: normal;
            box-shadow: 0 8px 18px rgba(146,10,182,.26);
        }

        .gsd-steps li b {
            display: block;
            color: #33003f;
            font-size: 13px;
            font-weight: 970;
        }

        .gsd-steps li small {
            color: rgba(46,22,70,.62);
            font-size: 11.5px;
            font-weight: 800;
            line-height: 1.8;
        }

.gsd-panel-actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 16px;
}

.gsd-panel-call,
.gsd-panel-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    border-radius: 16px;
    font-weight: 990;
    font-size: 14px;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.gsd-panel-call {
    background: linear-gradient(135deg, #920ab6, #c60069);
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(146,10,182,.30);
}

.gsd-panel-wa {
    background: rgba(146,10,182,.07);
    border: 1.5px solid rgba(146,10,182,.20);
    color: #6d0592 !important;
}

    .gsd-panel-call:hover,
    .gsd-panel-wa:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 38px rgba(146,10,182,.30);
    }

.gsd-panel-share-row {
    display: flex;
    gap: 9px;
}

    .gsd-panel-share-row a,
    .gsd-panel-share-row .gsd-copy {
        flex: 1 1 auto;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 14px;
        background: rgba(146,10,182,.08);
        border: 1px solid rgba(146,10,182,.16);
        color: #920ab6 !important;
        font-size: 16px;
        text-decoration: none !important;
        cursor: pointer;
        transition: background .18s ease, color .18s ease, transform .18s ease;
    }

        .gsd-panel-share-row a:hover,
        .gsd-panel-share-row .gsd-copy:hover {
            background: linear-gradient(135deg, #920ab6, #c60069);
            color: #fff !important;
            transform: translateY(-2px);
        }

/* related + CTA + back (reuse related grid from V99) */
.gsd-related {
    margin-bottom: 26px;
}

    .gsd-related h2 {
        margin: 0 0 16px;
    }

        .gsd-related h2 span {
            display: inline-flex;
            padding: 7px 15px;
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(146,10,182,.10), rgba(198,0,105,.08));
            color: #7a0799 !important;
            font-size: 14px;
            font-weight: 990;
        }

.gsd-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    padding: clamp(22px, 3.5vw, 36px);
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 20%, rgba(209,244,17,.20), transparent 34%),
        linear-gradient(135deg, #4b1684 0%, #920ab6 50%, #c60069 100%);
    box-shadow: 0 26px 60px rgba(72,17,100,.26);
    margin-bottom: 20px;
}

    .gsd-final-cta h2 {
        color: #fff;
        font-size: clamp(18px, 2.2vw, 26px);
        font-weight: 990;
        margin: 0 0 6px;
    }

    .gsd-final-cta p {
        color: rgba(255,255,255,.86);
        font-weight: 800;
        margin: 0;
    }

    .gsd-final-cta a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 52px;
        padding: 0 30px;
        border-radius: 999px;
        background: #d1f411;
        color: #26260a !important;
        font-size: 16px;
        font-weight: 990;
        text-decoration: none !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.22);
        transition: transform .2s ease;
    }

        .gsd-final-cta a:hover {
            transform: translateY(-3px) scale(1.02);
        }

.gsd-back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(146,10,182,.09), rgba(198,0,105,.07));
    border: 1px solid rgba(146,10,182,.18);
    color: #7a0799 !important;
    font-weight: 950;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease;
}

    .gsd-back a:hover {
        background: linear-gradient(135deg, #920ab6, #c60069);
        color: #fff !important;
    }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
    .gsd-hero {
        grid-template-columns: 1fr;
    }

    .gsd-hero-media img {
        min-height: 240px;
    }

    .gsd-main {
        grid-template-columns: 1fr;
    }

    /* panel right after the hero on small screens */
    .gsd-main .gsd-panel {
        order: -1;
        position: static;
    }
}

/* dark mode */
html.gp-dark-mode .gsd-hero {
    background:
        radial-gradient(circle at 12% 8%, rgba(216,245,18,.10), transparent 30%),
        radial-gradient(circle at 92% 88%, rgba(255,255,255,.06), transparent 34%),
        linear-gradient(140deg, #160720 0%, #2c0a40 48%, #38081f 100%) !important;
}

html.gp-dark-mode .gsd-body,
html.gp-dark-mode .gsd-panel-box,
html.gp-dark-mode .gp-related-card {
    background: linear-gradient(150deg, rgba(26,24,43,.95), rgba(18,20,33,.92)) !important;
    border-color: rgba(255,255,255,.10) !important;
}

html.gp-dark-mode .gsd-body p,
html.gp-dark-mode .gsd-body ul,
html.gp-dark-mode .gsd-body ol,
html.gp-dark-mode .gsd-steps li small {
    color: rgba(255,255,255,.72) !important;
}

html.gp-dark-mode .gsd-body h2,
html.gp-dark-mode .gsd-body h3,
html.gp-dark-mode .gsd-body strong,
html.gp-dark-mode .gsd-steps li b,
html.gp-dark-mode .gsd-panel-box h2,
html.gp-dark-mode .gp-related-card b {
    color: #f8f1ff !important;
}

html.gp-dark-mode .gsd-panel-wa {
    color: #ffd2f3 !important;
}

html.gp-dark-mode .gsd-media-badge {
    background: rgba(23, 19, 42, .94);
}

    html.gp-dark-mode .gsd-media-badge b {
        color: #d1f411;
    }

    html.gp-dark-mode .gsd-media-badge small {
        color: rgba(255,255,255,.60);
    }

/* =========================================================
   V101b - related cards grid (was missing on this page - only
   existed in gp-page-Blog_Index.css) + responsive
   ========================================================= */
.gp-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
}

.gp-related-card {
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(146,10,182,.10);
    box-shadow: 0 12px 30px rgba(74,18,107,.08);
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

    .gp-related-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 22px 46px rgba(74,18,107,.15);
    }

    .gp-related-card img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        display: block;
    }

    .gp-related-card b {
        padding: 13px 15px;
        color: #2f1247;
        font-size: 13px;
        font-weight: 900;
        line-height: 1.9;
    }

html.gp-dark-mode .gp-related-card {
    background: linear-gradient(150deg, rgba(26,24,43,.95), rgba(18,20,33,.92)) !important;
    border-color: rgba(255,255,255,.10) !important;
}

html.gp-dark-mode .gp-related-card b {
    color: #f8f1ff !important;
}

/* body media safety: legacy <img> inside the service body */
.gsd-body img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
    margin: 14px 0;
    box-shadow: 0 12px 30px rgba(74,18,107,.10);
    display: block;
}
