/* =========================================================
   CSS ROOT VARIABLES
========================================================= */
:root {
    --spc-black: #242424;
    --spc-white: #ffffff;
    --spc-purple: #875EFF;
    --spc-gold: #E6C068;

    --spc-text: #242424;
    --spc-body-bg: #ffffff;
    --spc-border: rgba(36, 36, 36, 0.12);
    --spc-soft-bg: #faf8ff;

    --spc-heading-font: 'Arapey', serif;
    --spc-body-font: 'Poppins', sans-serif;

    --spc-shadow-sm: 0 8px 24px rgba(36, 36, 36, 0.06);
    --spc-shadow-md: 0 18px 40px rgba(36, 36, 36, 0.10);

    --spc-radius-sm: 10px;
    --spc-radius-md: 16px;
    --spc-radius-lg: 22px;

    --spc-container-max: 1280px;

    --spc-transition: all 0.3s ease;
}

/* =========================================================
   BASE RESET / GLOBAL
========================================================= */
html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--spc-body-font);
    font-size: 16px;
    line-height: 1.7;
    color: var(--spc-text);
    background-color: var(--spc-body-bg);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--spc-purple);
    text-decoration: none;
    transition: var(--spc-transition);
}

a:hover {
    color: var(--spc-black);
}

ul,
ol {
    padding-left: 1.2rem;
}

::selection {
    background: var(--spc-purple);
    color: var(--spc-white);
}

/* =========================================================
   ACCESSIBILITY
========================================================= */
.skip-link {
    position: absolute;
    top: -50px;
    left: 16px;
    background: var(--spc-black);
    color: var(--spc-white);
    padding: 10px 16px;
    border-radius: 8px;
    z-index: 9999;
}

.skip-link:focus {
    top: 16px;
    color: var(--spc-white);
}

/* =========================================================
   TYPOGRAPHY
========================================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--spc-heading-font);
    color: var(--spc-black);
    line-height: 1.15;
    letter-spacing: 0.2px;
    margin-top: 0;
    margin-bottom: 0.8rem;
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4rem); /* 40px to 64px */
}

h2 {
    font-size: clamp(2rem, 4vw, 3rem); /* 32px to 48px */
}

h3 {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem); /* approx 22px to 28px */
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
    color: var(--spc-text);
}

.small-text {
    font-size: 14px;
}

/* =========================================================
   CONTAINER WIDTHS
========================================================= */
.container-site {
    width: 100%;
    max-width: var(--spc-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 18px;
    padding-right: 18px;
}

@media (min-width: 768px) {
    .container-site {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (min-width: 1200px) {
    .container-site {
        padding-left: 28px;
        padding-right: 28px;
    }
}

/* =========================================================
   SPACING UTILITIES
========================================================= */
.section-space {
    padding: 20px 0;
}

.section-space-lg {
    padding: 110px 0;
}

.bg-light-soft {
    background: var(--spc-soft-bg);
}

/* =========================================================
   HEADER / NAVBAR
========================================================= */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--spc-border);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand-mark {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--spc-black);
    color: var(--spc-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--spc-heading-font);
    font-size: 1.2rem;
    letter-spacing: 0.5px;
}

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.brand-title {
    font-family: var(--spc-heading-font);
    font-size: 1.45rem;
    color: var(--spc-black);
}

.brand-subtitle {
    font-size: 0.76rem;
    color: rgba(36, 36, 36, 0.72);
    font-weight: 500;
    letter-spacing: 0.3px;
}

.navbar .nav-link {
    color: var(--spc-black);
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.65rem 0.9rem !important;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--spc-purple);
}

.custom-toggler {
    border: 1px solid var(--spc-border);
    box-shadow: none !important;
}

/* =========================================================
   BUTTONS
========================================================= */
.btn {
    border-radius: 999px;
    transition: var(--spc-transition);
    font-weight: 600;
    letter-spacing: 0.2px;
}

.btn-primary-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--spc-purple);
    color: var(--spc-white);
    border: 1px solid var(--spc-purple);
    padding: 14px 24px;
    box-shadow: var(--spc-shadow-sm);
}

.btn-primary-custom:hover {
    background: var(--spc-black);
    border-color: var(--spc-black);
    color: var(--spc-white);
    transform: translateY(-1px);
}

.btn-outline-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--spc-black);
    border: 1px solid var(--spc-black);
    padding: 14px 24px;
}

.btn-outline-custom:hover {
    background: var(--spc-black);
    color: var(--spc-white);
}

.btn-gold-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--spc-gold);
    color: var(--spc-black);
    border: 1px solid var(--spc-gold);
    padding: 14px 24px;
    font-weight: 600;
}

.btn-gold-custom:hover {
    background: var(--spc-black);
    border-color: var(--spc-black);
    color: var(--spc-white);
}

.btn-lg-custom {
    min-height: 54px;
    padding: 14px 26px;
}

/* CORE TRUTH SECTION */
.spc-core-truth{
    background: linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
}

/* LEFT */
.spc-core-left .spc-section-title{
    color:#000;
    margin-bottom:15px;
}

.spc-core-left .spc-section-text{
    color:#444;
    line-height:1.8;
    margin-bottom:25px;
}

/* HIGHLIGHT BOX */
.spc-core-highlight{
    padding:20px 25px;
    border-left:4px solid var(--spc-purple);
    background:#fff;
    border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.spc-core-highlight p{
    margin:0;
    font-size:16px;
}

/* RIGHT CARD */
.spc-phase-card{
    position: relative;
    background:linear-gradient(135deg, #ffffff, #f7f5ff);
    border-radius:20px;
    padding:30px;
    box-shadow:0 20px 60px rgba(0,0,0,0.08);
    border:1px solid rgba(0,0,0,0.06);
}

/* HEADER */
.spc-phase-label{
    font-weight:600;
    color:var(--spc-purple);
    margin-bottom:20px;
    display:block;
}

/* ITEMS */
.spc-phase-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-bottom:18px;
}

.spc-phase-item span{
    width:38px;
    height:38px;
    background:var(--spc-purple);
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:600;
}

.spc-phase-item h4{
    font-size:16px;
    margin-bottom:2px;
    color:#000;
}

.spc-phase-item p{
    margin:0;
    font-size:13px;
    color:#666;
}

/* HOVER EFFECT */
.spc-phase-item:hover span{
    background:var(--spc-black);
}

/* RESPONSIVE */
@media(max-width:991px){
    .spc-core-left{
        text-align:center;
    }

    .spc-core-highlight{
        margin:20px auto 0;
    }
}
/* =========================================================
   TOPBAR
========================================================= */
.law-topbar {
    position: relative;
    overflow: hidden;
    background: var(--spc-black);
    color: var(--spc-white);
    padding: 11px 0;
}

.law-topbar::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 50%;
    height: 100%;
    background: var(--spc-black);
    animation: shimmerMove 5s linear infinite;
}

.law-topbar-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.law-top-contact {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.law-top-info {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--spc-white);
    font-size: 14px;
    font-weight: 500;
    transition: var(--spc-transition);
}

.law-top-info i {
    font-size: 14px;
    color: var(--spc-gold);
}

.law-top-info:hover {
    color: var(--spc-gold);
}

.law-socials {
    display: flex;
    align-items: center;
    gap: 16px;
}

.law-socials a {
    color: var(--spc-white);
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--spc-transition);
}

.law-socials a:hover {
    color: var(--spc-gold);
    transform: translateY(-2px);
}

/* =========================
   MAIN HEADER
========================= */
.law-main-header{
    padding: 5px 0;
    box-shadow: 0 4px 18px rgba(0,0,0,0.04);
}

.law-main-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.law-logo-wrap{
    display:flex;
    align-items:center;
    max-width: 520px;
    animation: fadeInLeft 1s ease;
}

.law-logo-img{
    width:70%;
    height:auto;
    object-fit:contain;
}

.law-header-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.law-cta-btn{
    min-height: 50px;
    padding: 10px 34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background: var(--spc-purple);
    color: var(--spc-white);
    border: 2px solid rgba(255,255,255,0.55);
    box-shadow: var(--spc-shadow-md);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
}



.law-cta-btn:hover{
    color: var(--spc-white);
    background: var(--spc-gold);
    transform: translateY(-2px);
    box-shadow: var(--law-shadow-lg);
}

/* =========================
   MOBILE TOGGLE
========================= */
.law-mobile-toggle{
    width: 50px;
    height: 50px;
    border:none;
    background: var(--spc-black);
    border-radius: 8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    box-shadow: var(--spc-shadow-md);
}

.law-mobile-toggle span{
    width:24px;
    height:2px;
    background:#fff;
    display:block;
    transition: var(--law-transition);
}



/* =========================
   DESKTOP MAIN MENU
========================= */
.law-nav-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
}

.law-nav-list > li{
    position:relative;
}

.law-nav-list > li > a{
    color: var(--spc-black);
    display:flex;
    align-items:center;
    gap:8px;
    padding:15px 12px;
    font-size:17px;
    font-weight:500;
    position:relative;
    transition: var(--spc-transition);
}

.law-nav-list > li > a i{
    font-size:12px;
    transition: var(--spc-transition);
}

/* hover text + line */
.law-nav-list > li > a::after{
    content:"";
    position:absolute;
    left:24px;
    bottom:14px;
    width:0;
    height:2px;
    background: var(--spc-gold);
    transition: var(--spc-transition);
}

.law-nav-list > li > a:hover{
    color: var(--spc-gold);
}

.law-nav-list > li > a:hover::after,
.law-nav-list > li > a.active::after{
    width: calc(100% - 48px);
}

.law-nav-list > li > a.active{
    color: var(--spc-gold);
}

/* =========================
   FIRST LEVEL SUBMENU
========================= */
.law-submenu{
    position:absolute;
    top:100%;
    left:0;
    min-width:250px;
    background:#ffffff;
    border:1px solid rgba(36,36,36,0.08);
    box-shadow: 0 18px 45px rgba(0,0,0,0.12);
    border-radius: 0 0 14px 14px;
    padding:0px 0;
    margin:0;
    list-style:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(18px);
    transition: all .35s ease;
    z-index:999;
}

.menu-item-has-children:hover > .law-submenu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.law-submenu li{
    position:relative;
}

.law-submenu li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 18px;
    color: var(--spc-black);
    font-size:15px;
    font-weight:500;
    transition: var(--spc-transition);
    background: transparent;
}

.law-submenu li a:hover{
    background: rgba(135, 94, 255, 0.06);
    color: var(--spc-purple);
    padding-left:22px;
}

/* =========================
   NESTED SUBMENU
========================= */
.sub-dropdown > a i{
    font-size:12px;
}

.nested-submenu{
    top:0;
    left:100%;
    margin-left:6px;
    border-radius: 14px;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
}

.sub-dropdown:hover > .nested-submenu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* dropdown indicator rotation */
.menu-item-has-children:hover > a > i.bi-chevron-down{
    transform:rotate(180deg);
}
/* =========================
   SEARCH FORM
========================= */
.law-search-form{
    min-width: 300px;
    max-width: 300px;
    display:flex;
    align-items:center;
    background: #21466c;
    overflow:hidden;
}

.law-search-form input{
    width:100%;
    border:none;
    outline:none;
    background:transparent;
    color:#fff;
    padding: 10px 22px;
    font-size:18px;
}

.law-search-form input::placeholder{
    color: rgba(255,255,255,0.85);
}

.law-search-form button{
    width:64px;
    min-width:64px;
    border:none;
    background:transparent;
    color:#fff;
    font-size: 30px;
    cursor:pointer;
}

/* =========================
   OFFCANVAS
========================= */
.law-offcanvas{
    background: linear-gradient(180deg, #072746 0%, #041d35 100%);
    color:#fff;
    width: 330px !important;
    border-left: 1px solid rgba(255,255,255,0.08);
}

.law-offcanvas .offcanvas-header{
    padding: 22px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.law-offcanvas-logo img{
    max-width: 100px;
}

.mobile-cta{
    width:100%;
    margin-bottom: 24px;
    min-height: 58px;
    font-size: 15px;
}

.law-mobile-nav{
    list-style:none;
    padding:0;
    margin:0 0 24px;
}

.law-mobile-nav li{
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.law-mobile-nav li a{
    display:block;
    padding:16px 0;
    color:#fff;
    font-size:17px;
    font-weight:500;
}

.law-mobile-nav li a.active,
.law-mobile-nav li a:hover{
    color:#f0d6d3;
    padding-left: 8px;
}

.law-mobile-search-form{
    margin-top: 10px;
    display:flex;
    align-items:center;
    background: rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.08);
    overflow:hidden;
    border-radius: 8px;
}

.law-mobile-search-form input{
    width:100%;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    padding:14px 16px;
}

.law-mobile-search-form input::placeholder{
    color:rgba(255,255,255,0.7);
}

.law-mobile-search-form button{
    border:none;
    background:transparent;
    color:#fff;
    width:52px;
    font-size:20px;
}

.law-mobile-contact{
    margin-top: 24px;
}

.law-mobile-contact a{
    color:#fff;
    font-size:16px;
    display:inline-flex;
    gap:10px;
    align-items:center;
}

.law-mobile-socials{
    margin-top: 26px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.law-mobile-socials a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background: rgba(255,255,255,0.10);
    color:#fff;
    font-size:18px;
}

.law-mobile-socials a:hover{
    transform:translateY(-3px);
    background: var(--spc-purple);
}

/* =========================
   ANIMATIONS
========================= */
@keyframes headerFadeDown{
    from{
        opacity:0;
        transform: translateY(-25px);
    }
    to{
        opacity:1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft{
    from{
        opacity:0;
        transform: translateX(-25px);
    }
    to{
        opacity:1;
        transform: translateX(0);
    }
}

@keyframes shimmerMove{
    0%{
        left:-120%;
    }
    100%{
        left:120%;
    }
}



/* =========================================
FOOTER
========================================= */

.spc-footer{
    background: var(--spc-black);
    color: rgba(255,255,255,.88);
    padding-top:90px;
    position:relative;
}

.spc-footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background: linear-gradient(
        90deg,
        var(--spc-purple),
        var(--spc-gold)
    );
}

.spc-footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:70px;
}

.spc-footer-logo img{
    max-width:220px;
    margin-bottom:28px;
}

.spc-footer-about{
    color:rgba(255,255,255,.75);
    margin-bottom:30px;
    max-width:420px;
}

.spc-footer-contact{
    list-style:none;
    padding:0;
    margin:0 0 22px;
}

.spc-footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:15px;
    font-size:15px;
}

.spc-footer-contact i{
    color:var(--spc-gold);
    margin-top:4px;
}

.spc-footer-contact a{
    color:#fff;
}

.spc-footer-contact a:hover{
    color:var(--spc-purple);
}

.spc-service-area{
    font-size:14px;
    color:rgba(255,255,255,.65);
}

.spc-footer-title{
    color:#fff;
    font-size:30px;
    margin-bottom:25px;
}

.spc-footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.spc-footer-links li{
    margin-bottom:14px;
}

.spc-footer-links a{
    color:rgba(255,255,255,.82);
    position:relative;
}

.spc-footer-links a:hover{
    color:var(--spc-purple);
    padding-left:8px;
}

.spc-footer-socials{
    display:flex;
    gap:14px;
    margin-bottom:30px;
}

.spc-footer-socials a{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:20px;
}

.spc-footer-socials a:hover{
    background:var(--spc-purple);
    transform:translateY(-3px);
}

.spc-footer-cta-text{
    color:rgba(255,255,255,.75);
    margin-bottom:25px;
}

.spc-footer-btn{
    min-width:220px;
}

.spc-footer-bottom{
    margin-top:70px;
    border-top:1px solid rgba(255,255,255,.10);
    padding:28px 0;
}

.spc-footer-bottom-wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.spc-copyright{
    font-size:14px;
    color:rgba(255,255,255,.60);
}

.spc-footer-bottom-links{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    gap:30px;
    flex-wrap:wrap;
}

.spc-footer-bottom-links a{
    font-size:14px;
    color:rgba(255,255,255,.70);
}

.spc-footer-bottom-links a:hover{
    color:var(--spc-purple);
}



/* =========================================
ROOT CAUSE SECTION
========================================= */

.spc-root-cause {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f8f4ff 100%);
    isolation: isolate;
}

.spc-root-cause::before,
.spc-root-cause::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
}

.spc-root-cause::before {
    top: -100px;
    right: -90px;
    width: 260px;
    height: 260px;
    background: rgba(135, 94, 255, 0.08);
}

.spc-root-cause::after {
    bottom: -120px;
    left: -80px;
    width: 220px;
    height: 220px;
    background: rgba(230, 192, 104, 0.08);
}

/* Content Block */
.spc-root-cause__content {
    position: relative;
    z-index: 2;
}

.spc-root-cause__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(135, 94, 255, 0.16);
    border-radius: 999px;
    background: rgba(135, 94, 255, 0.08);
    color: var(--spc-purple);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.spc-root-cause__title {
    margin: 0 0 1.5rem;
    font-family: var(--spc-heading-font);
    font-size: clamp(2.15rem, 4vw, 3.35rem);
    font-weight: 400;
    line-height: 1.08;
    color: var(--spc-black);
    max-width: 640px;
}

.spc-root-cause__text {
    margin: 0 0 1rem;
    font-family: var(--spc-body-font);
    font-size: 1rem;
    line-height: 1.9;
    color: rgba(36, 36, 36, 0.78);
    max-width: 620px;
}

.spc-root-cause__text--lead {
    font-size: 1.08rem;
    font-weight: 500;
    color: var(--spc-black);
}

.spc-root-cause__highlight {
    margin-top: 2rem;
    max-width: 560px;
    padding: 1.75rem 1.75rem 1.75rem 1.5rem;
    border: 1px solid rgba(135, 94, 255, 0.12);
    border-left: 5px solid var(--spc-purple);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 40px rgba(36, 36, 36, 0.08);
    backdrop-filter: blur(6px);
}

.spc-root-cause__highlight p {
    margin: 0;
    font-family: var(--spc-heading-font);
    font-size: 1.4rem;
    line-height: 1.45;
    color: var(--spc-black);
}

.spc-root-cause__highlight strong {
    color: var(--spc-purple);
    font-weight: 700;
}

/* =========================================
PROBLEM CARDS
========================================= */

.spc-problem-card {
    position: relative;
    height: 100%;
    padding: 2rem 1.5rem;
    border: 1px solid rgba(36, 36, 36, 0.08);
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 14px 34px rgba(36, 36, 36, 0.07);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
    backdrop-filter: blur(6px);
}

.spc-problem-card:hover {
    transform: translateY(-8px);
    border-color: rgba(135, 94, 255, 0.24);
    box-shadow: 0 20px 48px rgba(36, 36, 36, 0.12);
}

.spc-problem-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1.15rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(135, 94, 255, 0.14), rgba(230, 192, 104, 0.14));
    color: var(--spc-purple);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(135, 94, 255, 0.08);
}

.spc-problem-card__title {
    margin: 0 0 0.75rem;
    font-family: var(--spc-heading-font);
    font-size: 1.45rem;
    line-height: 1.2;
    color: var(--spc-black);
}

.spc-problem-card__text {
    margin: 0;
    font-family: var(--spc-body-font);
    font-size: 0.98rem;
    line-height: 1.75;
    color: rgba(36, 36, 36, 0.74);
}

/* =========================================
RESPONSIVE
========================================= */

@media (max-width: 991.98px) {
    .spc-root-cause__content {
        text-align: center;
    }

    .spc-root-cause__eyebrow {
        margin-inline: auto;
    }

    .spc-root-cause__title,
    .spc-root-cause__text,
    .spc-root-cause__highlight {
        margin-left: auto;
        margin-right: auto;
    }

    .spc-root-cause__highlight {
        text-align: center;
        padding: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .spc-root-cause__title {
        font-size: clamp(1.9rem, 7vw, 2.6rem);
    }

    .spc-root-cause__text {
        font-size: 0.97rem;
        line-height: 1.8;
    }

    .spc-root-cause__highlight p {
        font-size: 1.15rem;
    }

    .spc-problem-card {
        padding: 1.5rem 1.2rem;
        border-radius: 1.1rem;
    }

    .spc-problem-card__title {
        font-size: 1.25rem;
    }

    .spc-problem-card__text {
        font-size: 0.94rem;
    }
}

/* =========================================
5 PHASE METHODOLOGY SECTION
========================================= */

.spc-methodology {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f8f4ff 100%);
    isolation: isolate;
}

.spc-methodology::before,
.spc-methodology::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
}

.spc-methodology::before {
    top: -100px;
    left: -90px;
    width: 240px;
    height: 240px;
    background: rgba(135, 94, 255, 0.08);
}

.spc-methodology::after {
    bottom: -120px;
    right: -70px;
    width: 220px;
    height: 220px;
    background: rgba(230, 192, 104, 0.08);
}

/* Header */
.spc-methodology__header {
    max-width: 920px;
    margin: 0 auto 3.75rem;
}

.spc-methodology__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(135, 94, 255, 0.14);
    border-radius: 999px;
    background: rgba(135, 94, 255, 0.08);
    color: var(--spc-purple);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.spc-methodology__title {
    margin: 0 0 1.2rem;
    font-family: var(--spc-heading-font);
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    line-height: 1.1;
    color: var(--spc-black);
}

.spc-methodology__description {
    max-width: 760px;
    margin: 0 auto;
    font-family: var(--spc-body-font);
    font-size: 1rem;
    line-height: 1.9;
    color: rgba(36, 36, 36, 0.76);
}

/* Slider Wrap */
.spc-methodology-slider-wrap {
    position: relative;
}

.spc-methodology-slider {
    padding: 0.5rem 0.25rem 1rem;
}



.spc-phase-card:hover {
    transform: translateY(-8px);
    border-color: rgba(135, 94, 255, 0.22);
    box-shadow: 0 22px 50px rgba(36, 36, 36, 0.12);
}

.spc-phase-card--featured {
    border-color: rgba(135, 94, 255, 0.26);
    box-shadow: 0 20px 48px rgba(36, 36, 36, 0.11);
}

.spc-phase-card__top {
    margin-bottom: 1.25rem;
}

.spc-phase-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.7rem;
    height: 3.7rem;
    margin-bottom: 0.9rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(135, 94, 255, 0.14), rgba(230, 192, 104, 0.14));
    color: var(--spc-purple);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(135, 94, 255, 0.08);
}

.spc-phase-card__duration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(230, 192, 104, 0.16);
    color: var(--spc-black);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
}

.spc-phase-card__title {
    margin: 0 0 0.85rem;
    font-family: var(--spc-heading-font);
    font-size: 1.55rem;
    line-height: 1.15;
    color: var(--spc-black);
}

.spc-phase-card__text {
    margin: 0 0 1rem;
    font-family: var(--spc-body-font);
    font-size: 0.97rem;
    line-height: 1.8;
    color: rgba(36, 36, 36, 0.74);
}

.spc-phase-card__list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
}

.spc-phase-card__list li {
    position: relative;
    padding-left: 1.6rem;
    margin-bottom: 0.75rem;
    font-family: var(--spc-body-font);
    font-size: 0.94rem;
    line-height: 1.6;
    color: var(--spc-black);
}

.spc-phase-card__list li::before {
    content: "";
    position: absolute;
    top: 0.42rem;
    left: 0;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.12);
    border: 2px solid var(--spc-purple);
}

.spc-phase-card__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: auto;
    padding: 0.65rem 0.95rem;
    border-radius: 999px;
    background: #fff7e5;
    color: var(--spc-black);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
}

/* Navigation */
.spc-methodology-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 2rem;
}

.spc-methodology-btn {
    width: 54px;
    height: 54px;
    border: 1px solid rgba(36, 36, 36, 0.1);
    border-radius: 50%;
    background: #ffffff;
    color: var(--spc-black);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(36, 36, 36, 0.08);
    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease,
        color 0.3s ease,
        box-shadow 0.3s ease;
}

.spc-methodology-btn:hover {
    transform: translateY(-3px);
    border-color: var(--spc-purple);
    background: var(--spc-purple);
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(135, 94, 255, 0.22);
}

.spc-methodology-btn span {
    font-size: 1.15rem;
    line-height: 1;
}

/* CTA */
.spc-methodology__cta {
    margin-top: 3rem;
}

/* Swiper polish */
.spc-methodology-slider .swiper-slide {
    height: auto;
}

/* Responsive */
@media (max-width: 991.98px) {
    .spc-methodology__header {
        margin-bottom: 3rem;
    }

    .spc-phase-card {
        padding: 1.75rem 1.35rem;
    }
}

@media (max-width: 767.98px) {
    .spc-methodology__title {
        font-size: clamp(1.9rem, 7vw, 2.5rem);
    }

    .spc-methodology__description {
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .spc-phase-card {
        border-radius: 1.25rem;
    }

    .spc-phase-card__title {
        font-size: 1.35rem;
    }

    .spc-phase-card__text {
        font-size: 0.94rem;
    }

    .spc-methodology-btn {
        width: 48px;
        height: 48px;
    }
}

/* =========================================
5 PHASE METHODOLOGY - BLACK SLIDER VERSION
========================================= */

.spc-methodology {
    position: relative;
    overflow: hidden;
    background: #0b0b0f;
    padding: 100px 0;
}

.spc-methodology::before {
    content: "";
    position: absolute;
    top: -120px;
    left: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.10);
    filter: blur(10px);
}

.spc-methodology::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -100px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(244, 118, 41, 0.10);
    filter: blur(10px);
}

.spc-method-head {
    max-width: 920px;
    margin: 0 auto 60px;
    position: relative;
    z-index: 2;
}

.spc-section-label {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.spc-engagements-head  .spc-section-label {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f5f0ff !important;
    color: var(--spc-purple);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.spc-section-title {
    color: #ffffff;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 18px;
}

.spc-engagements-head .spc-section-title {
    color: var(--spc-black);
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 18px;
}

.spc-section-text {
    max-width: 760px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 17px;
    line-height: 1.8;
}


.spc-engagements-head  .spc-section-text {
    max-width: 760px;
    color: var(--spc-black);
    font-size: 17px;
    line-height: 1.8;
}



.spc-methodology-slider {
    position: relative;
    z-index: 2;
    padding-bottom: 65px;
}

.spc-methodology-slider .swiper-slide {
    height: auto;
}

.spc-phase-block {
    height: 100%;
    background: linear-gradient(180deg, #16161d 0%, #111117 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 32px 24px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
    transition: all 0.35s ease;
}

.spc-phase-block:hover {
    transform: translateY(-6px);
    border-color: rgba(135, 94, 255, 0.35);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.featured-phase {
    border: 1px solid rgba(135, 94, 255, 0.40);
    box-shadow: 0 20px 55px rgba(135, 94, 255, 0.12);
}

.spc-phase-top {
    margin-bottom: 20px;
}

.spc-phase-badge {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(135, 94, 255, 0.16);
    color: #ffffff;
    border: 1px solid rgba(135, 94, 255, 0.30);
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 14px;
}

.spc-phase-duration {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(244, 118, 41, 0.14);
    color: #f7c98d;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(244, 118, 41, 0.18);
}

.spc-phase-block h3 {
    color: #ffffff;
    font-size: 1.45rem;
    margin-bottom: 14px;
    font-weight: 700;
}

.spc-phase-block p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 1rem;
}

.spc-phase-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.2rem;
}

.spc-phase-list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
}

.spc-phase-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.16);
    border: 2px solid #875eff;
}

.spc-phase-deliverable {
    display: inline-block;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.spc-slider-nav {
    pointer-events: none;
}

.spc-method-prev,
.spc-method-next {
    pointer-events: auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: #ffffff;
    transition: all 0.3s ease;
}

.spc-method-prev:hover,
.spc-method-next:hover {
    background: #875eff;
    border-color: #875eff;
}

.spc-method-prev::after,
.spc-method-next::after {
    font-size: 16px;
    font-weight: 700;
}

.spc-method-pagination {
    bottom: 0 !important;
}

.spc-method-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.35);
    opacity: 1;
}

.spc-method-pagination .swiper-pagination-bullet-active {
    background: #875eff;
}

.btn-spc-primary {
    background: linear-gradient(135deg, #875eff 0%, #6a47f5 100%);
    color: #fff;
    border: 0;
    padding: 14px 26px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 12px 30px rgba(135, 94, 255, 0.25);
}

.btn-spc-primary:hover {
    color: #fff;
    transform: translateY(-2px);
}

/* =========================================
RESPONSIVE
========================================= */

@media (max-width: 991px) {
    .spc-methodology {
        padding: 80px 0;
    }

    .spc-method-head {
        margin-bottom: 45px;
    }

    .spc-phase-block {
        padding: 28px 20px;
    }
}

@media (max-width: 767px) {
    .spc-methodology {
        padding: 70px 0;
    }

    .spc-section-title {
        font-size: 30px;
    }

    .spc-section-text {
        font-size: 15px;
    }

    .spc-phase-badge {
        width: 54px;
        height: 54px;
        font-size: 15px;
    }

    .spc-method-prev,
    .spc-method-next {
        display: none;
    }

    .spc-methodology-slider {
        padding-bottom: 50px;
    }
}

@media (max-width: 575px) {
    .spc-phase-block {
        border-radius: 20px;
        padding: 24px 18px;
    }

    .spc-phase-block h3 {
        font-size: 1.25rem;
    }

    .spc-phase-block p,
    .spc-phase-list li {
        font-size: 14px;
    }
}


/* =========================================
ENGAGEMENT MODELS SECTION
========================================= */
.spc-engagements {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8f4ff 58%,
            #ffffff 100%
        );
}

.spc-engagements::before {
    content: "";
    position: absolute;
    top: -120px;
    left: -90px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.08);
}

.spc-engagements::after {
    content: "";
    position: absolute;
    bottom: -120px;
    right: -80px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: rgba(230, 192, 104, 0.10);
}

.spc-engagements-head {
    max-width: 900px;
    margin: 0 auto 64px;
}

/* =========================================
ENGAGEMENT CARDS
========================================= */
.spc-engagement-card {
    position: relative;
    height: 100%;
    background: var(--spc-white);
    border: 1px solid rgba(36, 36, 36, 0.08);
    border-radius: 24px;
    padding: 34px 24px 30px;
    box-shadow: 0 16px 40px rgba(36, 36, 36, 0.08);
    transition: 0.35s ease;
}

.spc-engagement-card:hover {
    transform: translateY(-6px);
    border-color: rgba(135, 94, 255, 0.22);
    box-shadow: 0 22px 52px rgba(36, 36, 36, 0.12);
}

.spc-engagement-featured {
    padding: 40px 30px 34px;
    border: 1px solid rgba(135, 94, 255, 0.28);
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fbf9ff 100%
        );
    box-shadow: 0 22px 52px rgba(36, 36, 36, 0.12);
}

.spc-featured-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--spc-gold);
    color: var(--spc-black);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1;
}

.spc-plan-tag {
    display: inline-block;
    margin-bottom: 16px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(135, 94, 255, 0.10);
    color: var(--spc-purple);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.spc-engagement-card h3 {
    font-size: 1.55rem;
    margin-bottom: 0.9rem;
    color: var(--spc-black);
}

.spc-plan-price {
    font-family: var(--spc-heading-font);
    font-size: 2rem;
    line-height: 1.1;
    color: var(--spc-black);
    margin-bottom: 0.65rem;
}

.spc-plan-small {
    font-size: 1rem;
    font-family: var(--spc-body-font);
    font-weight: 500;
    color: rgba(36, 36, 36, 0.72);
}

.spc-plan-duration {
    margin-bottom: 1rem;
    font-size: 14px;
    font-weight: 600;
    color: var(--spc-purple);
}

.spc-plan-text {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.8;
    color: rgba(36, 36, 36, 0.78);
}

.spc-plan-block {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(36, 36, 36, 0.08);
}

.spc-plan-block h4 {
    font-family: var(--spc-body-font);
    font-size: 15px;
    font-weight: 700;
    color: var(--spc-black);
    margin-bottom: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.spc-plan-block p {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.75;
    color: rgba(36, 36, 36, 0.78);
}

.spc-plan-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.spc-plan-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 9px;
    font-size: 14px;
    color: rgba(36, 36, 36, 0.78);
    line-height: 1.7;
}

.spc-plan-list li:last-child {
    margin-bottom: 0;
}

.spc-plan-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.12);
    border: 2px solid var(--spc-purple);
}

/* =========================================
RIGHT SIDE IMAGE AREA
========================================= */
.spc-founder-image-wrap {
    position: relative;
    height: 100%;
    min-height: 690px;
    border-radius: 32px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(135, 94, 255, 0.12) 0%,
            rgba(255, 255, 255, 1) 100%
        );
    box-shadow: 0 25px 60px rgba(36, 36, 36, 0.12);
}

.spc-founder-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.spc-founder-overlay-card {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(36, 36, 36, 0.08);
    border-radius: 22px;
    padding: 22px 20px;
    box-shadow: 0 18px 45px rgba(36, 36, 36, 0.14);
    backdrop-filter: blur(10px);
}

.spc-founder-mini-label {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(230, 192, 104, 0.16);
    color: var(--spc-black);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.spc-founder-overlay-card h3 {
    font-size: 1.55rem;
    margin-bottom: 0.8rem;
    color: var(--spc-black);
}

.spc-founder-overlay-card p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(36, 36, 36, 0.76);
}

/* =========================================
RESPONSIVE
========================================= */
@media (max-width: 1199.98px) {
    .spc-founder-image-wrap {
        min-height: 620px;
    }
}

@media (max-width: 991.98px) {
    .spc-engagements-head {
        margin-bottom: 48px;
    }

    .spc-featured-badge {
        position: static;
        margin-bottom: 14px;
    }

    .spc-founder-image-wrap {
        min-height: 520px;
        margin-top: 12px;
    }

    .spc-founder-overlay-card h3 {
        font-size: 1.35rem;
    }
}

@media (max-width: 767.98px) {
    .spc-engagement-card {
        padding: 28px 20px 24px;
        border-radius: 20px;
    }

    .spc-engagement-featured {
        padding: 30px 22px 26px;
    }

    .spc-plan-price {
        font-size: 1.75rem;
    }

    .spc-founder-image-wrap {
        min-height: 440px;
        border-radius: 24px;
    }

    .spc-founder-overlay-card {
        left: 16px;
        right: 16px;
        bottom: 16px;
        padding: 18px 16px;
        border-radius: 18px;
    }

    .spc-founder-overlay-card h3 {
        font-size: 1.2rem;
    }
}

@media (max-width: 575.98px) {
    .spc-engagements-head {
        margin-bottom: 40px;
    }

    .spc-founder-image-wrap {
        min-height: 390px;
    }

    .spc-plan-block {
        margin-top: 16px;
        padding-top: 16px;
    }
}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:991px){

.spc-footer-grid{
grid-template-columns:1fr;
gap:50px;
}

.spc-footer-bottom-wrap{
flex-direction:column;
text-align:center;
}

}

@media(max-width:576px){

.spc-footer{
padding-top:70px;
}

.spc-footer-title{
font-size:26px;
}

.spc-footer-socials a{
width:46px;
height:46px;
}

}



/* =========================================================
   HERO SECTION
========================================================= */
.spc-hero-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0 0px;
    min-height: 92vh;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(36,36,36,0.86) 0%, rgba(36,36,36,0.58) 38%, rgba(36,36,36,0.16) 100%),
        linear-gradient(135deg, #242424 0%, #2f234d 55%, #875EFF 100%);
}

.spc-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(230, 192, 104, 0.10), transparent 28%),
        radial-gradient(circle at 85% 18%, rgba(255,255,255,0.08), transparent 22%),
        radial-gradient(circle at 70% 75%, rgba(135, 94, 255, 0.18), transparent 30%);
    pointer-events: none;
}

.spc-hero-content,
.spc-hero-visual {
    position: relative;
    z-index: 2;
}

.spc-hero-content {
    max-width: 680px;
}

.spc-hero-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 15px;
    font-weight: 600;
    color: var(--spc-white);
    letter-spacing: 0.4px;
    position: relative;
    padding-left: 18px;
}

.spc-hero-eyebrow::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    background: var(--spc-gold);
    border-radius: 50%;
    transform: translateY(-50%);
}

.spc-hero-title {
    font-family: var(--spc-heading-font);
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1.02;
    color: var(--spc-white);
    margin-bottom: 1.35rem;
    max-width: 640px;
}

.spc-hero-text {
    max-width: 610px;
    font-size: 1.06rem;
    line-height: 1.9;
    color: rgba(255,255,255,0.86);
    margin-bottom: 2rem;
}

.spc-hero-actions {
    margin-bottom: 1.5rem;
}

.btn-spc-primary,
.btn-spc-outline {
    min-height: 56px;
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.2px;
    transition: var(--spc-transition);
    box-shadow: var(--spc-shadow-sm);
}

.btn-spc-primary {
    background: var(--spc-purple);
    color: var(--spc-white);
    border: 1px solid var(--spc-purple);
}

.btn-spc-primary:hover {
    background: var(--spc-black);
    border-color: var(--spc-black);
    color: var(--spc-white);
    transform: translateY(-2px);
}

.btn-spc-outline {
    background: transparent;
    color: var(--spc-white);
    border: 1px solid rgba(255,255,255,0.30);
}

.btn-spc-outline:hover {
    background: var(--spc-gold);
    border-color: var(--spc-gold);
    color: var(--spc-black);
    transform: translateY(-2px);
}

.spc-hero-trust {
    margin-top: 10px;
}

.spc-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding: 11px 16px;
    border-radius: 999px;
    background: var(--spc-purple);
    border: 1px solid rgba(230, 192, 104, 0.28);
    color: var(--spc-white);
    font-size: 14px;
    font-weight: 600;
}

.spc-trust-badge i {
    color: var(--spc-gold);
    font-size: 14px;
}

.spc-trust-note {
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    padding-left: 4px;
}

.spc-hero-visual {
    min-height: 580px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
}

.spc-hero-figure-wrap {
    position: relative;
    z-index: 2;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

.spc-hero-figure {
    width: 100%;
    max-height: 720px;
    object-fit: contain;
    filter: drop-shadow(0 28px 55px rgba(0,0,0,0.25));
}



.spc-phase-card-header {
    margin-bottom: 12px;
}

.spc-phase-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.35px;
    color: var(--spc-purple);
    background: rgba(135, 94, 255, 0.10);
    padding: 8px 12px;
    border-radius: 999px;
}

.spc-phase-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.spc-phase-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(36,36,36,0.08);
    border-radius: 16px;
    background: var(--spc-white);
    transition: var(--spc-transition);
}

.spc-phase-item:hover {
    transform: translateY(-2px);
    border-color: rgba(135, 94, 255, 0.22);
    box-shadow: 0 12px 28px rgba(36,36,36,0.08);
}

.spc-phase-number {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(135, 94, 255, 0.12);
    color: var(--spc-purple);
    font-size: 13px;
    font-weight: 700;
}

.spc-phase-item h3 {
    font-size: 1.2rem;
    margin-bottom: 0.2rem;
    color: var(--spc-black);
}

.spc-phase-item p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(36,36,36,0.76);
}

/* =========================================================
   HERO RESPONSIVE
========================================================= */
@media (max-width: 1199.98px) {
    .spc-hero-section {
        padding: 95px 0 80px;
    }

    .spc-phase-card {
        max-width: 330px;
    }
}

@media (max-width: 991.98px) {
    .spc-hero-section {
        min-height: auto;
        padding: 80px 0 70px;
    }

    .spc-hero-content {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .spc-hero-title,
    .spc-hero-text {
        max-width: 100%;
    }

    .spc-hero-actions {
        justify-content: center;
    }

    .spc-hero-trust {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .spc-hero-visual {
        min-height: auto;
        margin-top: 20px;
    }

    .spc-phase-card {
        transform: unset !important;
        bottom: 0;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .spc-hero-section {
        padding: 20px 0 20px;
    }

    .spc-hero-title {
        font-size: clamp(2.2rem, 8vw, 3.3rem);
    }

    .spc-hero-text {
        font-size: 0.98rem;
        line-height: 1.8;
    }

    .spc-hero-actions {
        flex-direction: column;
    }

    .btn-spc-primary,
    .btn-spc-outline {
        width: 100%;
    }


    .spc-phase-card {
        padding: 18px 16px;
        border-radius: 20px;
    }

    .spc-phase-item {
        padding: 10px;
    }
}

@media (max-width: 575.98px) {
    .spc-trust-badge {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .spc-trust-note {
        text-align: center;
    }
}



/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1500px){
    .law-main-header{
        padding: 14px 0;
    }

    .law-logo-img{
        max-width: 320px;
    }
    /* =========================
   MOBILE MENU
========================= */
.law-mobile-nav{
    list-style:none;
    padding:0;
    margin:0 0 24px;
}

.law-mobile-nav > li{
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.law-mobile-nav > li > a{
    display:block;
    padding:16px 0;
    color:#fff;
    font-size:17px;
    font-weight:500;
}

.law-mobile-nav > li > a:hover,
.law-mobile-nav > li > a.active{
    color: var(--spc-gold);
}

/* =========================
   MOBILE SUBMENU TOGGLE
========================= */
.law-mobile-submenu-toggle{
    width:100%;
    border:none;
    background:transparent;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
    font-size:17px;
    font-weight:500;
    transition: var(--spc-transition);
}

.law-mobile-submenu-toggle:hover{
    color: var(--spc-gold);
}

.law-mobile-submenu-toggle i{
    font-size:14px;
    transition: var(--spc-transition);
}

.law-mobile-has-submenu.active .law-mobile-submenu-toggle{
    color: var(--spc-gold);
}

.law-mobile-has-submenu.active .law-mobile-submenu-toggle i{
    transform: rotate(45deg);
}

/* submenu box */
.law-mobile-submenu{
    list-style:none;
    padding:0 0 10px 14px;
    margin:0;
    display:none;
}

.law-mobile-submenu li a{
    display:block;
    padding:10px 0;
    color: rgba(255,255,255,0.82);
    font-size:15px;
    font-weight:400;
    transition: var(--spc-transition);
}

.law-mobile-submenu li a:hover{
    color: var(--spc-gold);
    padding-left:6px;
}
}



@media (max-width: 991.98px){
    .law-top-call{
        font-size:16px;
    }

    .law-socials{
        gap:14px;
    }

    .law-socials a{
        font-size:18px;
    }

    .law-logo-img{
        max-width: 260px;
    }

    .law-cta-btn{
        min-height:56px;
        padding: 12px 22px;
        font-size: 15px;
    }

}

@media (max-width: 767.98px){
    .custom-container{
        padding-left:16px;
        padding-right:16px;
    }

    .law-topbar{
        padding: 10px 0;
    }

    .law-topbar-inner{
        gap:10px;
    }

    .law-top-call span{
        display:none;
    }

    .law-top-call{
        font-size:17px;
    }

    .law-socials{
        gap:12px;
    }

    .law-socials a{
        font-size:17px;
    }

    .law-logo-img{
        max-width: 210px;
    }

    .law-mobile-toggle{
        width:46px;
        height:46px;
    }


}

@media (max-width: 575.98px){
    .law-logo-img{
        max-width: 250px;
    }

    .law-offcanvas{
        width: 290px !important;
    }
}






/* =========================================================
   HEADER REWRITE - PROFESSIONAL STICKY HEADER
========================================================= */
:root{
    --law-header-height: 96px;
    --law-topbar-height: 48px;
}

.law-header-wrapper{
    position: sticky;
    top: 0;
    z-index: 1080;
    width: 100%;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(36,36,36,0.08);
    box-shadow: 0 8px 30px rgba(36,36,36,0.06);
    transition: background-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.law-offcanvas{
    z-index: 2005 !important;
}

.offcanvas-backdrop{
    z-index: 2000 !important;
}

.law-header-wrapper.is-scrolled{
    background: rgba(255,255,255,0.98);
    box-shadow: 0 14px 36px rgba(36,36,36,0.10);
}

.law-topbar{
    background: linear-gradient(90deg, #7b54ec 0%, #875EFF 55%, #6f49e7 100%);
    color: var(--spc-white);
    padding: 0;
    min-height: var(--law-topbar-height);
    display: flex;
    align-items: center;
}

.law-topbar::before{
    display:none;
}

.law-topbar-inner{
    min-height: var(--law-topbar-height);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 24px;
}

.law-top-contact{
    display:flex;
    align-items:center;
    gap: 22px;
    flex-wrap: wrap;
}

.law-top-info{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color: #fff;
    font-size:14px;
    font-weight:500;
}

.law-top-info:hover{
    color:#fff;
    opacity:.9;
}

.law-top-info i{
    color: var(--spc-gold);
    font-size: 14px;
}

.law-socials{
    display:flex;
    align-items:center;
    gap: 10px;
}

.law-socials a{
    width:36px;
    height:36px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background: rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.16);
}

.law-socials a:hover{
    color:#fff;
    background: rgba(255,255,255,0.20);
    transform: translateY(-2px);
}

.law-main-header{
    background: transparent;
    padding: 0;
}

.law-main-header-inner{
    min-height: var(--law-header-height);
    display:grid;
    grid-template-columns: auto 1fr auto;
    align-items:center;
    gap: 28px;
}

.law-logo-wrap{
    display:inline-flex;
    align-items:center;
    max-width: 320px;
    flex-shrink: 0;
}

.law-logo-img{
    width: 100%;
    max-width: 240px;
    height: auto;
    object-fit: contain;
}

.law-navbar{
    width:100%;
    display:flex;
    justify-content:center;
}

.law-nav-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 4px;
    flex-wrap:wrap;
}

.law-nav-list > li{
    position:relative;
}

.law-nav-list > li > a{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    padding: 34px 14px;
    color: var(--spc-black);
    font-size:16px;
    font-weight:600;
    line-height:1;
}

.law-nav-list > li > a i{
    font-size: 11px;
    transition: transform .25s ease;
}

.law-nav-list > li > a::after{
    content:"";
    position:absolute;
    left:14px;
    bottom:22px;
    width: calc(100% - 28px);
    height:2px;
    background: var(--spc-purple);
    transform: scaleX(0);
    transform-origin:left center;
    transition: transform .3s ease;
}

.law-nav-list > li > a:hover,
.law-nav-list > li > a.active{
    color: var(--spc-purple);
}

.law-nav-list > li > a:hover::after,
.law-nav-list > li > a.active::after{
    transform: scaleX(1);
}

.menu-item-has-children:hover > a > i.bi-chevron-down{
    transform: rotate(180deg);
}

.law-submenu{
    position:absolute;
    top:100%;
    left:0;
    min-width:250px;
    list-style:none;
    padding:10px 0;
    margin:0;
    background:#fff;
    border:1px solid rgba(36,36,36,0.08);
    border-radius:18px;
    box-shadow: 0 24px 55px rgba(36,36,36,0.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform: translateY(14px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
    z-index: 30;
}

.menu-item-has-children:hover > .law-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform: translateY(0);
}

.law-submenu li{
    position:relative;
}

.law-submenu li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding: 12px 18px;
    color: var(--spc-black);
    font-size:15px;
    font-weight:500;
    white-space: nowrap;
}

.law-submenu li a:hover{
    color: var(--spc-purple);
    background: rgba(135,94,255,0.06);
}

.nested-submenu{
    top: -10px;
    left: calc(100% + 10px);
    transform: translateY(10px);
}

.sub-dropdown:hover > .nested-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform: translateY(0);
}

.law-header-actions{
    display:flex;
    align-items:center;
    gap: 16px;
}

.law-cta-btn{
    min-height: 50px;
    padding: 12px 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 999px;
    background: linear-gradient(135deg, #875EFF 0%, #6f49e7 100%);
    color:#fff;
    border:1px solid transparent;
    font-size:14px;
    font-weight:700;
    letter-spacing:.4px;
    text-transform: uppercase;
    box-shadow: 0 14px 30px rgba(135,94,255,0.22);
}

.law-cta-btn:hover{
    color:#fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(135,94,255,0.28);
}

.law-mobile-toggle{
    width:48px;
    height:48px;
    border:none;
    border-radius:14px;
    background: var(--spc-black);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    box-shadow: 0 10px 24px rgba(36,36,36,0.16);
}

.law-mobile-toggle span{
    width:22px;
    height:2px;
    display:block;
    background:#fff;
    border-radius:10px;
    transition: all .25s ease;
}

.law-offcanvas{
    background: linear-gradient(180deg, #171720 0%, #101018 100%);
    color:#fff;
    width: 340px !important;
    border-left: 1px solid rgba(255,255,255,0.08);
}

.law-offcanvas .offcanvas-header{
    padding: 22px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.law-offcanvas-logo img{
    max-width: 180px;
    width: 100%;
    height: auto;
}

.law-mobile-nav{
    list-style:none;
    padding:0;
    margin:0 0 24px;
}

.law-mobile-nav > li{
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.law-mobile-nav > li > a{
    display:block;
    padding:16px 0;
    color:#fff;
    font-size:16px;
    font-weight:600;
}

.law-mobile-nav > li > a:hover,
.law-mobile-nav > li > a.active{
    color: var(--spc-gold);
}

.law-mobile-submenu-toggle{
    width:100%;
    border:none;
    background:transparent;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
    font-size:16px;
    font-weight:600;
}

.law-mobile-submenu-toggle:hover{
    color: var(--spc-gold);
}

.law-mobile-submenu-toggle i{
    font-size:14px;
    transition: transform .25s ease;
}

.law-mobile-has-submenu.active .law-mobile-submenu-toggle{
    color: var(--spc-gold);
}

.law-mobile-has-submenu.active .law-mobile-submenu-toggle i{
    transform: rotate(45deg);
}

.law-mobile-submenu{
    list-style:none;
    padding:0 0 12px 16px;
    margin:0;
    display:none;
}

.law-mobile-submenu li a{
    display:block;
    padding:10px 0;
    color: rgba(255,255,255,0.82);
    font-size:15px;
    font-weight:400;
}

.law-mobile-submenu li a:hover{
    color: var(--spc-gold);
    padding-left: 4px;
}

.mobile-cta{
    width:100%;
    margin-bottom: 24px;
}

.law-mobile-search-form{
    margin-top:18px;
    display:flex;
    align-items:center;
    background: rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:14px;
    overflow:hidden;
}

.law-mobile-search-form input{
    width:100%;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    padding:14px 16px;
}

.law-mobile-search-form input::placeholder{
    color: rgba(255,255,255,0.72);
}

.law-mobile-search-form button{
    width:52px;
    border:none;
    background:transparent;
    color:#fff;
    font-size:18px;
}

.law-mobile-contact{
    margin-top:24px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.law-mobile-contact a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-size:15px;
    word-break: break-word;
}

.law-mobile-socials{
    margin-top:24px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.law-mobile-socials a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background: rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.10);
}

.law-mobile-socials a:hover{
    background: var(--spc-purple);
    transform: translateY(-2px);
}

@media (max-width: 1399.98px){
    .law-nav-list > li > a{
        padding-left: 12px;
        padding-right: 12px;
        font-size:15px;
    }
    .law-logo-img{
        max-width: 210px;
    }
}

@media (max-width: 1199.98px){
    .law-header-wrapper{
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    .law-main-header-inner{
        grid-template-columns: auto auto;
        justify-content: space-between;
        min-height: 84px;
        gap: 18px;
    }
    .law-logo-img{
        max-width: 220px;
    }
}

@media (max-width: 767.98px){
    .law-main-header-inner{
        min-height: 78px;
    }
    .law-logo-img{
        max-width: 190px;
    }
    .law-cta-btn{
        min-height: 48px;
        padding: 11px 20px;
        font-size: 13px;
    }
}

@media (max-width: 575.98px){
    .law-logo-img{
        max-width: 170px;
    }
    .law-mobile-toggle{
        width:44px;
        height:44px;
        border-radius: 12px;
    }
    .law-offcanvas{
        width: 300px !important;
    }
}


/* =========================================
PLATFORM AGNOSTIC SECTION - FINAL CSS
========================================= */

.spc-platform-section{
    position: relative;
    overflow: hidden;
    padding: 85px 0;
    background:
        radial-gradient(circle at top left, rgba(135,94,255,0.10) 0%, transparent 24%),
        radial-gradient(circle at bottom right, rgba(230,192,104,0.10) 0%, transparent 22%),
        linear-gradient(180deg, #ffffff 0%, #f7f2ff 52%, #ffffff 100%);
    z-index: 1;
}

.spc-platform-bg-shape{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:-1;
    filter: blur(4px);
}

.spc-platform-bg-shape-1{
    width:280px;
    height:280px;
    top:-90px;
    left:-110px;
    background:rgba(135,94,255,.10);
}

.spc-platform-bg-shape-2{
    width:230px;
    height:230px;
    bottom:-70px;
    right:-70px;
    background:rgba(230,192,104,.12);
}

/* heading area */
.spc-platform-section .spc-section-label{
    display:inline-block;
    margin-bottom:16px;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(135,94,255,.10);
    color:var(--spc-purple);
    font-size:13px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
}

.spc-platform-section .spc-section-title{
    color:var(--spc-black) !important;
    margin-bottom:1rem;
}

.spc-platform-section .spc-section-text{
    color:rgba(36,36,36,.78) !important;
}

.spc-platform-intro{
    max-width:860px;
    margin-bottom:0 !important;
}

/* platform strip */
.spc-platform-strip-wrap{
    position:relative;
    overflow:hidden;
    margin-top:34px !important;
    padding:22px 0;
    border-top:1px solid rgba(36,36,36,.08);
    border-bottom:1px solid rgba(36,36,36,.08);
    background:rgba(255,255,255,.55);
    backdrop-filter: blur(4px);
}

.spc-platform-strip{
    display:flex;
    align-items:stretch;
    gap:18px;
    width:max-content;
    animation: spcPlatformMarquee 28s linear infinite;
    will-change: transform;
}

.spc-platform-strip:hover{
    animation-play-state: paused;
}

.spc-platform-item{
    min-width:220px;
    padding:18px 20px;
    border-radius:18px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(36,36,36,.08);
    box-shadow:0 10px 24px rgba(36,36,36,.06);
    text-align:center;
    transition:all .3s ease;
}

.spc-platform-item:hover{
    transform:translateY(-4px);
    border-color:rgba(135,94,255,.24);
    box-shadow:0 16px 34px rgba(36,36,36,.10);
}

.spc-platform-name{
    display:block;
    margin-bottom:6px;
    font-family:var(--spc-heading-font);
    font-size:1.45rem;
    line-height:1.15;
    color:var(--spc-black);
}

.spc-platform-item small{
    display:block;
    font-size:13px;
    line-height:1.5;
    color:rgba(36,36,36,.70);
}

/* comparison layout */
.spc-platform-section .row.g-4.align-items-stretch{
    margin-top:28px !important;
}

.spc-platform-message-box{
    position:relative;
    height:100%;
    padding:34px 28px;
    border-radius:28px;
    border:1px solid rgba(36,36,36,.08);
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 40px rgba(36,36,36,.08);
    overflow:hidden;
    transition:all .3s ease;
}

.spc-platform-message-box:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 46px rgba(36,36,36,.11);
}

.spc-platform-message-left{
    background:
        linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(252,251,255,1) 100%);
}

.spc-platform-message-right{
    background:
        linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(249,245,255,1) 100%);
    border-color:rgba(135,94,255,.18);
}

.spc-platform-box-line{
    width:76px;
    height:4px;
    border-radius:999px;
    margin-bottom:18px;
    background:var(--spc-purple);
}

.spc-platform-mini-label{
    display:inline-block;
    margin-bottom:12px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(230,192,104,.16);
    color:var(--spc-black);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.25px;
}

.spc-platform-message-box h3{
    font-size:clamp(1.55rem,2.4vw,2.1rem);
    line-height:1.2;
    margin-bottom:1rem;
    color:var(--spc-black);
}

.spc-platform-message-box p{
    font-size:15px;
    line-height:1.85;
    color:rgba(36,36,36,.78);
    margin-bottom:1rem;
}

.spc-platform-points{
    list-style:none;
    padding-left:0;
    margin-bottom:0;
}

.spc-platform-points li{
    position:relative;
    padding-left:28px;
    margin-bottom:12px;
    font-size:15px;
    line-height:1.75;
    color:rgba(36,36,36,.82);
}

.spc-platform-points li:last-child{
    margin-bottom:0;
}

.spc-platform-points li::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:rgba(135,94,255,.12);
    border:2px solid var(--spc-purple);
}

/* bottom note */
.spc-platform-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:34px;
    padding:22px 24px;
    border-radius:22px;
    background:var(--spc-black);
    color:var(--spc-white);
    box-shadow:0 18px 40px rgba(36,36,36,.14);
}

.spc-platform-note p{
    color:var(--spc-white);
    font-size:15px;
    line-height:1.8;
}

.spc-platform-note strong{
    color:var(--spc-gold);
}

.spc-platform-note-icon{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(230,192,104,.18);
    color:var(--spc-gold);
    font-size:18px;
}

/* animation */
@keyframes spcPlatformMarquee{
    0%{
        transform:translateX(0);
    }
    100%{
        transform:translateX(-30%);
    }
}

/* responsive */
@media (max-width: 1199.98px){
    .spc-platform-item{
        min-width:200px;
    }
}

@media (max-width: 991.98px){
    .spc-platform-section{
        padding:75px 0;
    }

    .spc-platform-message-box{
        padding:28px 22px;
        border-radius:22px;
    }

    .spc-platform-strip{
        gap:14px;
    }

    .spc-platform-item{
        min-width:190px;
        padding:16px 16px;
    }
}

@media (max-width: 767.98px){
    .spc-platform-section{
        padding:65px 0;
    }

    .spc-platform-strip-wrap{
        padding:16px 0;
        margin-top:26px !important;
    }

    .spc-platform-strip{
        animation-duration:22s;
    }

    .spc-platform-item{
        min-width:170px;
        border-radius:14px;
    }

    .spc-platform-name{
        font-size:1.2rem;
    }

    .spc-platform-note{
        flex-direction:column;
        text-align:center;
        padding:20px 18px;
    }

    .spc-platform-section .row.g-4.align-items-stretch{
        margin-top:22px !important;
    }
}

@media (max-width: 575.98px){
    .spc-platform-message-box{
        padding:24px 18px;
    }

    .spc-platform-message-box h3{
        font-size:1.4rem;
    }

    .spc-platform-item{
        min-width:160px;
        padding:14px 14px;
    }
}

/* =========================================
PROOF & RESULTS SECTION - FINAL BLACK THEME
========================================= */
.spc-results-section{
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(135,94,255,.16) 0%, transparent 24%),
        radial-gradient(circle at bottom left, rgba(230,192,104,.10) 0%, transparent 22%),
        linear-gradient(180deg, #181818 0%, #242424 52%, #181818 100%);
}

.spc-results-shape{
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(10px);
}

.spc-results-shape-1{
    width: 280px;
    height: 280px;
    top: -100px;
    right: -90px;
    background: rgba(135,94,255,.16);
}

.spc-results-shape-2{
    width: 240px;
    height: 240px;
    bottom: -70px;
    left: -70px;
    background: rgba(230,192,104,.10);
}

.spc-results-section .container-site{
    position: relative;
    z-index: 2;
}

/* force visible heading */
.spc-results-section .spc-section-label{
    display: inline-block;
    margin-bottom: 16px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(135,94,255,.16);
    color: var(--spc-purple) !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.spc-results-section .spc-section-title{
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    z-index: 10;
}

.spc-results-section .spc-section-text{
    color: rgba(255,255,255,.78) !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    z-index: 10;
}

/* intro box */
.spc-results-intro-box{
    height: 100%;
    padding: 24px 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 34px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
}

.spc-results-intro-label{
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(230,192,104,.14);
    color: var(--spc-gold);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.spc-results-intro-box p{
    color: rgba(255,255,255,.78) !important;
    line-height: 1.8;
    font-size: 15px;
}

/* story blocks */
.spc-result-story{
    position: relative;
    padding: 30px 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.03) 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
    transition: all .35s ease;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.spc-result-story:hover{
    transform: translateY(-5px);
    border-color: rgba(135,94,255,.24);
    box-shadow: 0 22px 50px rgba(0,0,0,.28);
}

.featured-result{
    border-color: rgba(135,94,255,.22);
    background:
        linear-gradient(180deg, rgba(135,94,255,.10) 0%, rgba(255,255,255,.04) 100%);
}

.spc-result-top{
    margin-bottom: 18px;
}

.spc-result-type{
    display: inline-block;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(135,94,255,.14);
    color: #d8c8ff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

/* metrics */
.spc-result-metric-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.spc-result-metric-wrap.single-metric{
    grid-template-columns: 1fr;
}

.spc-result-metric{
    padding: 18px 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.spc-result-metric.secondary{
    background: rgba(230,192,104,.08);
    border-color: rgba(230,192,104,.20);
}

.spc-result-number{
    display: block;
    margin-bottom: 6px;
    font-family: var(--spc-heading-font);
    font-size: 3rem;
    line-height: 1;
    color: #ffffff;
}

.spc-result-label{
    display: block;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,.72);
    font-weight: 500;
}

/* transform metric */
.spc-result-transform{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(135,94,255,.08) 100%);
    border: 1px solid rgba(135,94,255,.18);
    margin-bottom: 12px;
}

.spc-result-before,
.spc-result-after{
    font-family: var(--spc-heading-font);
    font-size: 2.2rem;
    line-height: 1;
    color: #ffffff;
}

.spc-result-after{
    color: #c8b4ff;
}

.spc-result-arrow{
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(230,192,104,.16);
    color: var(--spc-gold);
    font-size: 18px;
}

.spc-result-transform-label{
    display: inline-block;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.68);
}

/* text */
.spc-result-text{
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.85;
    color: rgba(255,255,255,.76);
}

/* footer note */
.spc-results-footer-note{
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 24px;
    border-radius: 26px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
}

.spc-results-footer-icon{
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(230,192,104,.14);
    color: var(--spc-gold);
    font-size: 22px;
}

.spc-results-footer-content h3{
    margin-bottom: .45rem;
    color: #ffffff;
    font-size: 1.6rem;
}

.spc-results-footer-content p{
    color: rgba(255,255,255,.80);
    line-height: 1.8;
    font-size: 15px;
}

/* responsive */
@media (max-width: 1199.98px){
    .spc-result-number{
        font-size: 2.6rem;
    }
}

@media (max-width: 991.98px){
    .spc-results-intro-box{
        margin-top: 6px;
    }

    .spc-results-footer-note{
        align-items: flex-start;
    }
}

@media (max-width: 767.98px){
    .spc-result-story{
        padding: 24px 18px;
        border-radius: 22px;
    }

    .spc-result-metric-wrap{
        grid-template-columns: 1fr;
    }

    .spc-result-number{
        font-size: 2.35rem;
    }

    .spc-result-before,
    .spc-result-after{
        font-size: 1.7rem;
    }

    .spc-results-footer-note{
        flex-direction: column;
        text-align: center;
        padding: 22px 18px;
    }

    .spc-results-footer-content h3{
        font-size: 1.35rem;
    }
}

@media (max-width: 575.98px){
    .spc-result-transform{
        padding: 16px 14px;
    }

    .spc-result-arrow{
        width: 38px;
        height: 38px;
        min-width: 38px;
        font-size: 16px;
    }
}


/* =========================================
FOUNDER / AUTHORITY SECTION - CLEAN FINAL
========================================= */
.spc-founder-section{
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(135,94,255,.14) 0%, transparent 24%),
        radial-gradient(circle at bottom right, rgba(230,192,104,.08) 0%, transparent 20%),
        linear-gradient(180deg, #181818 0%, #242424 52%, #181818 100%);
}

.spc-founder-shape{
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(10px);
}

.spc-founder-shape-1{
    width: 280px;
    height: 280px;
    top: -100px;
    right: -90px;
    background: rgba(135,94,255,.14);
}

.spc-founder-shape-2{
    width: 240px;
    height: 240px;
    bottom: -70px;
    left: -70px;
    background: rgba(230,192,104,.08);
}

.spc-founder-section .container-site{
    position: relative;
    z-index: 2;
}

/* image */
.spc-founder-image-card{
    border-radius: 32px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(135,94,255,.10) 0%, rgba(255,255,255,.02) 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 28px 60px rgba(0,0,0,.32);
}

.spc-founder-image{
    width: 100%;
    min-height: 720px;
    object-fit: cover;
    display: block;
}

/* content */
.spc-founder-content .spc-section-label{
    display: inline-block;
    margin-bottom: 16px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(135,94,255,.16);
    color: #d5c6ff !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.spc-founder-content .spc-section-title{
    color: #ffffff !important;
    margin-bottom: 1.2rem;
}

.spc-founder-lead{
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.85;
    color: rgba(255,255,255,.86);
    margin-bottom: 1rem;
}

.spc-founder-paragraph{
    font-size: 15.5px;
    line-height: 1.9;
    color: rgba(255,255,255,.74);
    margin-bottom: 1rem;
}

/* stats */
.spc-founder-stats-row{
    margin-top: 28px;
}

.spc-founder-stat{
    height: 100%;
    padding: 24px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 34px rgba(0,0,0,.22);
    text-align: center;
}

.spc-founder-stat h3{
    margin-bottom: .45rem;
    font-size: 2rem;
    color: var(--spc-gold);
}

.spc-founder-stat p{
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,.72);
}

/* responsive */
@media (max-width: 1199.98px){
    .spc-founder-image{
        min-height: 650px;
    }
}

@media (max-width: 991.98px){
    .spc-founder-image{
        min-height: 520px;
    }

    .spc-founder-content{
        text-align: center;
    }
}

@media (max-width: 767.98px){
    .spc-founder-image{
        min-height: 420px;
    }

    .spc-founder-lead{
        font-size: 1rem;
    }

    .spc-founder-paragraph{
        font-size: 15px;
    }

    .spc-founder-stat{
        padding: 20px 16px;
    }
}

/* =========================================
TESTIMONIALS SECTION - FINAL SLIDER VERSION
========================================= */
.spc-testimonials-section{
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(135,94,255,.08) 0%, transparent 24%),
        radial-gradient(circle at bottom right, rgba(230,192,104,.08) 0%, transparent 22%),
        linear-gradient(180deg, #ffffff 0%, #f8f4ff 55%, #ffffff 100%);
}

.spc-testimonials-shape{
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(8px);
}

.spc-testimonials-shape-1{
    width: 240px;
    height: 240px;
    top: -100px;
    left: -80px;
    background: rgba(135,94,255,.10);
}

.spc-testimonials-shape-2{
    width: 220px;
    height: 220px;
    bottom: -70px;
    right: -60px;
    background: rgba(230,192,104,.10);
}

.spc-testimonials-section .container-site{
    position: relative;
    z-index: 2;
}

/* left content */
.spc-testimonials-content .spc-section-title{
    color: var(--spc-black) !important;
    margin-bottom: 1rem;
}

.spc-testimonials-content .spc-section-text{
    color: rgba(36,36,36,.78) !important;
    line-height: 1.9;
    margin-bottom: 1.4rem;
}

/* slider */
.spc-testimonials-slider-wrap{
    position: relative;
}

.spc-testimonials-viewport{
    overflow: hidden;
    width: 100%;
}

.spc-testimonials-track{
    display: flex;
    gap: 22px;
    transition: transform .45s ease;
    will-change: transform;
}

.spc-testimonial-slide{
    flex: 0 0 calc(50% - 11px);
    max-width: calc(50% - 11px);
}

.spc-testimonial-card{
    height: 100%;
    padding: 34px 28px;
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(36,36,36,.08);
    box-shadow: 0 18px 42px rgba(36,36,36,.08);
    transition: all .35s ease;
}

.spc-testimonial-card:hover{
    transform: translateY(-5px);
    border-color: rgba(135,94,255,.20);
    box-shadow: 0 24px 50px rgba(36,36,36,.12);
}

.spc-testimonial-quote-icon{
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    background: rgba(135,94,255,.10);
    color: var(--spc-purple);
    font-size: 1.25rem;
}

.spc-testimonial-text{
    font-size: 18px;
    line-height: 1.9;
    color: rgba(36,36,36,.82);
    margin-bottom: 1.8rem;
    font-style: italic;
}

.spc-testimonial-author{
    display: flex;
    align-items: center;
    gap: 14px;
}

.spc-testimonial-avatar{
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(135,94,255,.16) 0%, rgba(230,192,104,.16) 100%);
    border: 1px solid rgba(135,94,255,.16);
    color: var(--spc-black);
    font-weight: 700;
    font-size: 15px;
}

.spc-testimonial-author h3{
    font-size: 1.2rem;
    margin-bottom: .25rem;
    color: var(--spc-black);
}

.spc-testimonial-author span{
    display: block;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(36,36,36,.70);
}

/* controls */
.spc-testimonials-controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 28px;
}

.spc-testimonial-btn{
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: var(--spc-black);
    color: var(--spc-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    box-shadow: 0 12px 28px rgba(36,36,36,.14);
}

.spc-testimonial-btn:hover{
    background: var(--spc-purple);
    color: var(--spc-white);
    transform: translateY(-2px);
}

.spc-testimonial-btn:disabled{
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}

.spc-testimonial-dots{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
}

.spc-testimonial-dots button{
    width: 12px;
    height: 12px;
    border: none;
    border-radius: 50%;
    background: rgba(36,36,36,.18);
    transition: all .3s ease;
}

.spc-testimonial-dots button.active{
    width: 34px;
    border-radius: 999px;
    background: var(--spc-purple);
}

/* responsive */
@media (max-width: 1199.98px){
    .spc-testimonial-text{
        font-size: 17px;
    }
}

@media (max-width: 991.98px){
    .spc-testimonials-content{
        text-align: center;
    }

    .spc-testimonial-slide{
        flex: 0 0 100%;
        max-width: 100%;
    }

    .spc-testimonials-controls{
        justify-content: center;
    }
}

@media (max-width: 767.98px){
    .spc-testimonial-card{
        padding: 26px 20px;
        border-radius: 22px;
    }

    .spc-testimonial-text{
        font-size: 16px;
        line-height: 1.8;
    }

    .spc-testimonials-controls{
        flex-wrap: wrap;
    }
}

/* =========================================
   BEFORE VS AFTER
========================================= */

.spc-before-after {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f8f4ff 55%,
        #ffffff 100%
    );
}

.spc-before-after::before {
    content: "";
    position: absolute;
    top: -120px;
    left: -90px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.08);
}

.spc-before-after::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(230, 192, 104, 0.10);
}

/* =========================================
   STATE BOXES
========================================= */

.spc-state-box {
    height: 100%;
    padding: 42px 34px;
    background: #ffffff;
    border-radius: 30px;
    box-shadow: 0 20px 50px rgba(36, 36, 36, 0.08);
}

.spc-before-box {
    border: 1px solid rgba(36, 36, 36, 0.08);
}

.spc-after-box {
    border: 1px solid rgba(135, 94, 255, 0.24);
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #faf6ff 100%
    );
}

.spc-state-box h3 {
    margin-bottom: 2rem;
    font-size: 2rem;
    text-align: center;
}

.spc-before-box h3 {
    color: var(--spc-black);
}

.spc-after-box h3 {
    color: var(--spc-purple);
}

.spc-state-list {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.spc-state-list li {
    position: relative;
    margin-bottom: 20px;
    padding-left: 34px;
    font-size: 16px;
}

.spc-state-list li:last-child {
    margin-bottom: 0;
}

.spc-state-list li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 2px solid var(--spc-purple);
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.12);
}

/* =========================================
   CENTER IMAGE
========================================= */

.spc-transform-center {
    text-align: center;
}

.spc-transform-image-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    box-shadow: 0 30px 70px rgba(36, 36, 36, 0.12);
}

.spc-transform-image {
    display: block;
    width: 100%;
    object-fit: cover;
}

.spc-transform-arrow {
    display: inline-block;
    margin-top: 28px;
    padding: 14px 24px;
    color: #ffffff;
    background: var(--spc-black);
    border-radius: 999px;
    font-weight: 600;
}

/* =========================================
   IMPACT STRIP
========================================= */

.spc-impact-strip {
    margin-top: 70px;
    padding: 34px;
    background: #ffffff;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(36, 36, 36, 0.08);
}

.spc-impact-item h4 {
    margin-bottom: 0.7rem;
    font-size: 1.5rem;
}

.spc-impact-item p {
    margin-bottom: 0;
    color: rgba(36, 36, 36, 0.74);
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {
    .spc-transform-image {
        min-height: 520px;
    }

    .spc-state-box {
        padding: 32px 26px;
    }
}

@media (max-width: 767px) {
    .spc-transform-image {
        min-height: 420px;
    }

    .spc-state-box {
        padding: 26px 22px;
    }

    .spc-impact-strip {
        padding: 24px 18px;
    }
}

/* =====================================
FIX INVISIBLE TEXT - BEFORE AFTER
===================================== */

.spc-before-after .spc-section-label{
display:inline-block;
padding:10px 16px;
border-radius:999px;
background:rgba(135,94,255,.10);

color:var(--spc-purple) !important;

opacity:1 !important;
visibility:visible !important;

position:relative;
z-index:20;
}

.spc-before-after .spc-section-title{
color:#242424 !important;

opacity:1 !important;
visibility:visible !important;

position:relative;
z-index:20;
}

.spc-before-after .spc-section-text{
color:rgba(36,36,36,.82) !important;

opacity:1 !important;
visibility:visible !important;

position:relative;
z-index:20;
}

/* make sure decorative shapes behind text */
.spc-before-after::before,
.spc-before-after::after{
z-index:0;
}

.spc-before-after .container-site{
position:relative;
z-index:5;
}


/* =========================================
   WHAT YOU GET
========================================= */

.spc-deliverables {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f8f4ff 55%,
        #ffffff 100%
    );
}

.spc-deliverables::before {
    content: "";
    position: absolute;
    top: -100px;
    left: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(135, 94, 255, 0.08);
}

.spc-deliverables::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -100px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(230, 192, 104, 0.10);
}

/* =========================================
   IMAGE
========================================= */

.spc-deliverables-image-wrap {
    overflow: hidden;
    border-radius: 34px;
    box-shadow: 0 30px 70px rgba(36, 36, 36, 0.12);
}

.spc-deliverables-image {
    display: block;
    width: 100%;
    min-height: 700px;
    object-fit: cover;
}

/* =========================================
   DELIVERABLE ITEMS
========================================= */

.spc-deliverable-item {
    height: 100%;
    padding: 28px 24px;
    background: #ffffff;
    border: 1px solid rgba(36, 36, 36, 0.08);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(36, 36, 36, 0.08);
}

.spc-deliverable-item h3 {
    margin-bottom: 0.8rem;
    font-size: 1.45rem;
}

.spc-deliverable-item p {
    margin-bottom: 0;
    line-height: 1.8;
    color: rgba(36, 36, 36, 0.75);
}

/* =========================================
   BOTTOM STRIP
========================================= */

.spc-deliverables-strip {
    margin-top: 70px;
    padding: 34px;
    text-align: center;
    background: var(--spc-black);
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(36, 36, 36, 0.10);
}

.spc-deliverables-strip h3 {
    margin: 0;
    color: #ffffff;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {
    .spc-deliverables-image {
        min-height: 520px;
    }
}

@media (max-width: 767px) {
    .spc-deliverables-image {
        min-height: 420px;
    }

    .spc-deliverable-item {
        padding: 24px 20px;
    }
}

/* =====================================
FIX INVISIBLE TEXT - WHAT YOU GET
===================================== */

.spc-deliverables .spc-section-label{
    display:inline-block;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(135,94,255,.10);
    color:var(--spc-purple) !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative;
    z-index:20;
}

.spc-deliverables .spc-section-title{
    color:#242424 !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative;
    z-index:20;
}

.spc-deliverables .spc-section-text{
    color:rgba(36,36,36,.82) !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative;
    z-index:20;
}

.spc-deliverables .container-site{
    position:relative;
    z-index:5;
}

.spc-deliverables::before,
.spc-deliverables::after{
    z-index:0;
}

.text-center.spc-method-head .spc-section-title,
.text-center.spc-method-head .spc-section-text {
    color: var(--spc-black); !important;
}

span.spc-section-label {
    color: var(--spc-purple) !important;
    background: rgba(135, 94, 255, .10) !important;
}

/* =========================================
FAQ SECTION
========================================= */
.spc-faq-section{
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(135,94,255,.07) 0%, transparent 22%),
        radial-gradient(circle at bottom right, rgba(230,192,104,.08) 0%, transparent 20%),
        linear-gradient(180deg, #ffffff 0%, #f8f4ff 55%, #ffffff 100%);
}

.spc-faq-content{
    position: sticky;
    top: 110px;
}

.spc-faq-content .spc-section-title{
    color: var(--spc-black) !important;
    margin-bottom: 1rem;
    max-width: 420px;
}

.spc-faq-content .spc-section-text{
    color: rgba(36,36,36,.76) !important;
    line-height: 1.9;
    max-width: 400px;
    margin-bottom: 2rem;
}

.spc-faq-btn{
    min-height: 54px;
    padding: 14px 24px;
}

/* custom accordion */
.accordion-spc-custom .accordion-item{
    border: none;
    margin-bottom: 16px;
    border-radius: 20px;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
}

.accordion-spc-custom .accordion-header{
    margin-bottom: 0;
}

.accordion-spc-custom .accordion-button{
    padding: 22px 24px;
    border: 1px solid rgba(36,36,36,.08);
    border-radius: 20px !important;
    background: var(--spc-purple);
    color: #ffffff;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.5;
    box-shadow: 0 14px 32px rgba(36,36,36,.08);
    transition: all .3s ease;
}

.accordion-spc-custom .accordion-button:not(.collapsed){
    background: linear-gradient(135deg, var(--spc-purple) 0%, #6f46f5 100%);
    color: #ffffff;
    box-shadow: 0 18px 40px rgba(135,94,255,.18);
    border-color: rgba(135,94,255,.28);
}

.accordion-spc-custom .accordion-button:focus{
    box-shadow: 0 0 0 0.2rem rgba(135,94,255,.14);
    border-color: rgba(135,94,255,.24);
}

.accordion-spc-custom .accordion-button::after{
    background-size: 16px;
    filter: brightness(0) invert(1);
}

.accordion-spc-custom .accordion-button:not(.collapsed)::after{
    filter: brightness(0) invert(1);
}

.accordion-spc-custom .accordion-collapse{
    border-radius: 0 0 20px 20px;
}

.accordion-spc-custom .accordion-body{
    padding: 24px 24px 26px;
    background: #ffffff;
    border-left: 1px solid rgba(36,36,36,.08);
    border-right: 1px solid rgba(36,36,36,.08);
    border-bottom: 1px solid rgba(36,36,36,.08);
    color: rgba(36,36,36,.78);
    font-size: 15px;
    line-height: 1.9;
    box-shadow: 0 14px 32px rgba(36,36,36,.05);
}

/* active item smoother shape */
.accordion-spc-custom .accordion-item .accordion-button:not(.collapsed){
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* responsive */
@media (max-width: 991.98px){
    .spc-faq-content{
        position: static;
        text-align: center;
    }

    .spc-faq-content .spc-section-title,
    .spc-faq-content .spc-section-text{
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 767.98px){
    .accordion-spc-custom .accordion-button{
        padding: 18px 18px;
        font-size: 0.96rem;
        line-height: 1.5;
    }

    .accordion-spc-custom .accordion-body{
        padding: 18px 18px 20px;
        font-size: 14.5px;
    }

    .spc-faq-btn{
        width: 100%;
    }
}

/* =========================================
FINAL CTA SECTION
========================================= */
.spc-final-cta{
    position: relative;
    overflow: hidden;
    border-radius: 36px;
    padding: 80px 50px;
    background:
        linear-gradient(135deg, #242424 0%, #2d2148 50%, #875EFF 100%);
    box-shadow: 0 30px 70px rgba(36,36,36,.18);
}

.spc-final-cta h2{
    font-family: var(--spc-heading-font);
    font-size: 58px;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 20px;
}

.spc-final-cta p{
    max-width: 760px;
    margin: 0 auto 30px;
    font-size: 1.1rem;
    line-height: 1.9;
    color: rgba(255,255,255,.85);
}

.btn-spc-final{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 16px 34px;
    border-radius: 50px;
    background: var(--spc-gold);
    color: var(--spc-black);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: all .3s ease;
    box-shadow: 0 10px 25px rgba(230,192,104,.35);
}

.btn-spc-final:hover{
    transform: translateY(-4px);
    background: #fff;
    color: var(--spc-purple);
}

.spc-final-shape{
    position: absolute;
    border-radius: 50%;
    z-index: 0;
}

.spc-shape-one{
    width: 220px;
    height: 220px;
    background: rgba(230,192,104,.12);
    top: -60px;
    right: -60px;
}

.spc-shape-two{
    width: 180px;
    height: 180px;
    background: rgba(255,255,255,.06);
    bottom: -60px;
    left: -60px;
}

.spc-final-cta .row{
    position: relative;
    z-index: 2;
}

@media(max-width:991px){
    .spc-final-cta{
        padding: 60px 30px;
        border-radius: 24px;
    }
}

@media(max-width:767px){
    .spc-final-cta h2{
        font-size: 2rem;
    }

    .spc-final-cta p{
        font-size: 15px;
    }

    .btn-spc-final{
        width: 100%;
    }
}

.spc-platform-name{
    display:inline-block;
    background:#E6C068;
    color:#242424;
    padding:6px 14px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:8px;
}
.spc-platform-item{
    background: linear-gradient(135deg, #E6C068, #d4a94d);
    border: none;
    border-radius: 16px;
    padding: 18px 22px;
    box-shadow: 0 8px 25px rgba(230, 192, 104, 0.30);
    transition: all 0.3s ease;
}

.spc-platform-item:hover{
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(230, 192, 104, 0.45);
}

.spc-platform-name{
    color: #242424;
    font-weight: 700;
}

.spc-platform-item small{
    color: rgba(36,36,36,0.85);
}

img.custom-logo {
    max-width: 70% !important;
}

.law-offcanvas-logo img.custom-logo {
    max-width: 50% !important;
}

.spc-result-text.text-white p {
    color: rgba(255,255,255,.76) !important;
}

.spc-scroll-top {
    position: fixed;
    right: 28px;
    bottom: 28px;
    width: 64px;
    height: 64px;
    border: 0;
    border-radius: 50%;
    background: var(--spc-purple);
    color: #ffffff;
    z-index: 9999;
    display: grid;
    place-items: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    transition: all 0.3s ease;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.28);
}

.spc-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.spc-scroll-progress {
    position: absolute;
    inset: 0;
    transform: rotate(-90deg);
}

.spc-progress-bg,
.spc-progress-bar {
    fill: none;
    stroke-width: 4;
}

.spc-progress-bg {
    stroke: rgba(255, 255, 255, 0.18);
}

.spc-progress-bar {
    stroke: #30c70b;
    stroke-linecap: round;
    stroke-dasharray: 169.65;
    stroke-dashoffset: 169.65;
    transition: stroke-dashoffset 0.15s linear;
}

.spc-scroll-percent {
    position: relative;
    z-index: 2;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
}

.spc-scroll-top:hover {
    background: #875eff;
    transform: translateY(-4px);
}

@media (max-width: 575px) {
    .spc-scroll-top {
        right: 16px;
        bottom: 16px;
        width: 56px;
        height: 56px;
    }

    .spc-scroll-progress {
        width: 56px;
        height: 56px;
    }

    .spc-scroll-percent {
        font-size: 13px;
    }
}

/* =========================================================
   SOURCEPRO ABOUT PAGE REDESIGN
   Magazine / Guided Scroll / Visual Storytelling
========================================================= */

.spc-about-page {
  overflow: hidden;
  background: var(--spc-body-bg);
  color: var(--spc-text);
  font-family: var(--spc-body-font);
}

.container-site {
  width: min(var(--spc-container-max), calc(100% - 32px));
  margin-inline: auto;
}

.section-space {
  padding: 110px 0;
}

.min-vh-75 {
  min-height: 75vh;
}

/* Background Sections */
.spc-bg-section {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.spc-process-section.spc-bg-section {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.spc-process-section .spc-light-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.78) 0%,
    rgba(255, 255, 255, 0.62) 42%,
    rgba(255, 255, 255, 0.34) 68%,
    rgba(255, 255, 255, 0.18) 100%
  );
}

.spc-process-section > .container-site {
  position: relative;
  z-index: 2;
}



.spc-bg-soft {
  background:
    radial-gradient(circle at 12% 12%, rgba(135,94,255,.08), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(230,192,104,.14), transparent 30%),
    var(--spc-soft-bg);
}

/* Typography */
.spc-section-head {
  margin-bottom: 56px;
}

.spc-section-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: var(--spc-purple);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.spc-section-label::before {
  content: "";
  width: 30px;
  height: 2px;
  background: var(--spc-gold);
  border-radius: 999px;
}

.spc-section-title,
.spc-hero-content h1 {
  font-family: var(--spc-heading-font);
  color: var(--spc-black);
  letter-spacing: -.035em;
}

.spc-section-title {
  font-size: clamp(36px, 4vw, 62px);
  line-height: 1.02;
  margin-bottom: 18px;
}

.spc-section-text {
  max-width: 760px;
  color: rgba(36,36,36,.72);
  font-size: 16px;
  line-height: 1.8;
}

/* Buttons */
.spc-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.btn-spc-primary,
.btn-spc-outline,
.btn-spc-final {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  transition: var(--spc-transition);
  text-decoration: none;
}

.btn-spc-primary {
  background: var(--spc-purple);
  border: 1px solid var(--spc-purple);
  color: #fff;
  box-shadow: 0 18px 36px rgba(135,94,255,.24);
}

.btn-spc-outline {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.35);
  color: var(--spc-black);
}

.btn-spc-final {
  background: var(--spc-gold);
  color: var(--spc-black);
  border: 1px solid var(--spc-gold);
}

.btn-spc-primary:hover,
.btn-spc-outline:hover,
.btn-spc-final:hover {
  transform: translateY(-3px);
  background: var(--spc-black);
  border-color: var(--spc-black);
  color: #fff;
}

.spc-about-hero {
    min-height: 95vh;
    display: flex;
    align-items: center;
    padding: 50px 0 120px;
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    position: relative;
}

.spc-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.88) 30%,
        rgba(0, 0, 0, 0.55) 48%,
        rgba(0, 0, 0, 0.12) 70%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 1;
}

.spc-about-hero .container-site {
    position: relative;
    z-index: 2;
}

.spc-hero-content {
    max-width: 700px;
}

.spc-hero-content h1 {
    font-size: clamp(44px, 5vw, 82px);
    line-height: .95;
    color: #fff;
}

.spc-hero-content p {
    max-width: 620px;
    font-size: 18px;
    line-height: 1.8;
    color: rgba(255,255,255,.88);
}

@media(max-width:991px){
    .spc-about-hero{
        background-position:center;
        min-height:auto;
        padding:90px 0;
    }

    .spc-bg-overlay{
        background: rgba(0,0,0,.75);
    }

    .spc-hero-content h1{
        font-size: clamp(38px,9vw,58px);
    }
}
.spc-hero-content .spc-section-label,
.spc-dark-section .spc-section-label,
.spc-final-section .spc-section-label {
  color: #fff;
}

.spc-hero-content h1 {
  color: #fff;
  font-size: clamp(46px, 6vw, 84px);
  line-height: .98;
  margin-bottom: 24px;
}

.spc-hero-content p {
  max-width: 760px;
  color: rgba(255,255,255,.84);
  font-size: 18px;
  line-height: 1.85;
}

.spc-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.spc-hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  backdrop-filter: blur(12px);
}

.spc-hero-trust i {
  color: var(--spc-gold);
}

/* Editorial Break */
.spc-editorial-break {
  position: relative;
  z-index: 4;
  margin-top: -70px;
  padding-bottom: 80px;
}

.spc-editorial-card {
  min-height: 430px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 34px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 32px 90px rgba(36,36,36,.16);
  position: relative;
}

.spc-editorial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(36,36,36,.88), rgba(36,36,36,.45), rgba(36,36,36,.08));
}

.spc-editorial-content {
  position: relative;
  z-index: 2;
  max-width: 650px;
  padding: 56px;
}

.spc-editorial-content .spc-section-label,
.spc-editorial-content h2,
.spc-editorial-content p {
  color: #fff;
}

.spc-editorial-content h2 {
  font-family: var(--spc-heading-font);
  font-size: clamp(38px, 4.6vw, 66px);
  line-height: 1;
  letter-spacing: -.035em;
  margin-bottom: 18px;
}

.spc-editorial-content p {
  color: rgba(255,255,255,.84);
  line-height: 1.8;
}

/* Cards */
.spc-image-card,
.spc-difference-card,
.spc-process-card,
.spc-method-card,
.spc-compare-card,
.spc-dark-card,
.spc-testimonial-card,
.spc-expertise-panel {
  border-radius: var(--spc-radius-lg);
  transition: var(--spc-transition);
}

.spc-image-card {
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-card-image {
  height: 260px;
  overflow: hidden;
}

.spc-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .45s ease;
}

.spc-image-card:hover img {
  transform: scale(1.06);
}

.spc-card-content {
  padding: 34px;
}

.spc-image-card:hover,
.spc-difference-card:hover,
.spc-process-card:hover,
.spc-method-card:hover,
.spc-compare-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--spc-shadow-md);
}

.spc-card-content h3,
.spc-difference-card h3,
.spc-process-card h3,
.spc-method-card h3,
.spc-compare-card h3,
.spc-dark-card h3,
.spc-testimonial-card h3 {
  font-family: var(--spc-heading-font);
  color: var(--spc-black);
  font-size: 34px;
  line-height: 1.08;
  margin-bottom: 14px;
}

.spc-card-content p,
.spc-difference-card p,
.spc-process-card p,
.spc-method-card p,
.spc-compare-card p {
  color: rgba(36,36,36,.72);
  line-height: 1.75;
  margin-bottom: 0;
}

.spc-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 18px;
  background: rgba(135,94,255,.10);
  color: var(--spc-purple);
  font-size: 25px;
}

/* Sticky Process */
.spc-sticky-copy {
  position: sticky;
  top: 115px;
}

.spc-mini-dashboard {
  margin-top: 32px;
  padding: 24px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-md);
}

.spc-dashboard-header {
  display: flex;
  gap: 7px;
  margin-bottom: 24px;
}

.spc-dashboard-header span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--spc-purple);
}

.spc-dashboard-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 8px;
  color: var(--spc-black);
  font-size: 14px;
}

.spc-dashboard-bar {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(36,36,36,.08);
}

.spc-dashboard-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--spc-purple), var(--spc-gold));
}

.spc-process-list {
  display: grid;
  gap: 24px;
}

.spc-process-card {
  position: relative;
  padding: 34px 34px 34px 112px;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
  backdrop-filter: blur(10px);
}

.spc-process-number {
  position: absolute;
  top: 34px;
  left: 34px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--spc-black);
  color: #fff;
  font-weight: 900;
}

/* Story */
.spc-story-visual {
  min-height: 580px;
  position: relative;
  border-radius: 34px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 32px 85px rgba(36,36,36,.13);
  overflow: hidden;
}

.spc-story-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(36,36,36,.65), transparent 60%);
}

.spc-story-badge {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  padding: 14px 20px;
  border-radius: 999px;
  background: var(--spc-purple);
  color: #fff;
  font-weight: 800;
}

.spc-story-block {
  padding: 38px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
  border-left: 5px solid var(--spc-purple);
}

.spc-story-block p {
  color: rgba(36,36,36,.72);
  line-height: 1.85;
  margin-bottom: 18px;
}

.spc-story-block p:last-child {
  margin-bottom: 0;
}

/* Image Divider */
.spc-image-divider {
  padding: 32px 0;
}

.spc-divider-panel {
  min-height: 380px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: 34px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 30px 80px rgba(36,36,36,.12);
}

.spc-divider-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(36,36,36,.88), rgba(36,36,36,.12));
}

.spc-divider-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  padding: 44px;
  color: #fff;
}

.spc-divider-content span {
  color: var(--spc-gold);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.spc-divider-content h2 {
  margin-top: 10px;
  color: #fff;
  font-family: var(--spc-heading-font);
  font-size: clamp(34px, 4.2vw, 60px);
  line-height: 1.03;
}

/* Dark Sections */
.spc-dark-section {
  color: #fff;
}

.spc-dark-section .spc-section-title,
.spc-dark-section h2,
.spc-dark-section h3,
.spc-final-section h2 {
  color: #fff;
}

.spc-dark-section .spc-section-text,
.spc-dark-section p {
  color: rgba(255,255,255,.82);
}

.spc-dark-copy {
  padding: 36px;
  border-radius: 28px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(12px);
}

.spc-dark-copy p {
  line-height: 1.8;
}

.spc-dark-card {
  height: 100%;
  padding: 32px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
}

.spc-dark-card:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,.14);
}

.spc-dark-card p {
  margin-bottom: 0;
}

/* Philosophy */
.spc-compare-layout {
  display: grid;
  grid-template-columns: 1fr 90px 1fr;
  align-items: center;
  gap: 24px;
}

.spc-compare-card {
  min-height: 330px;
  padding: 38px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-compare-right {
  background: linear-gradient(135deg, #fff, rgba(135,94,255,.08));
  border-color: rgba(135,94,255,.32);
}

.spc-mini-label {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--spc-purple);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.spc-compare-center {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--spc-black);
  color: #fff;
  font-size: 28px;
  box-shadow: var(--spc-shadow-sm);
}

/* Difference */
.spc-difference-card {
  height: 100%;
  padding: 34px;
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-difference-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
  background: linear-gradient(90deg, var(--spc-purple), var(--spc-gold));
}

/* Methodology */
.spc-methodology-road {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  position: relative;
}

.spc-methodology-road::before {
  content: "";
  position: absolute;
  top: 48px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--spc-purple), var(--spc-gold));
  opacity: .55;
}

.spc-method-card {
  position: relative;
  z-index: 2;
  min-height: 280px;
  padding: 32px;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
  backdrop-filter: blur(10px);
}

.spc-method-card span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  border-radius: 50%;
  background: var(--spc-black);
  color: #fff;
  font-weight: 900;
}

/* Timeline */
.spc-timeline {
  position: relative;
  display: grid;
  gap: 22px;
}

.spc-timeline::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 54px;
  width: 2px;
  background: linear-gradient(180deg, var(--spc-purple), var(--spc-gold));
}

.spc-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 24px;
  padding: 28px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-year {
  position: relative;
  z-index: 2;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--spc-purple);
  color: var(--spc-purple);
  font-family: var(--spc-heading-font);
  font-size: 27px;
  font-weight: 700;
}

.spc-timeline-item h3 {
  color: var(--spc-black);
  font-family: var(--spc-heading-font);
  font-size: 32px;
}

/* Principles */
.spc-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.spc-stat-grid div {
  padding: 22px;
  border-radius: 20px;
  background: var(--spc-black);
  color: #fff;
  text-align: center;
}

.spc-stat-grid strong {
  display: block;
  color: var(--spc-gold);
  font-size: 32px;
  line-height: 1;
}

.spc-stat-grid span {
  font-size: 13px;
  opacity: .85;
}

.spc-value-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.spc-value-item {
  display: flex;
  gap: 14px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-value-item i {
  color: var(--spc-gold);
  font-size: 22px;
  margin-top: 3px;
}

.spc-value-item p {
  margin-bottom: 0;
  color: rgba(36,36,36,.72);
  line-height: 1.65;
}

/* Expertise */
.spc-expertise-panel {
  margin-top: 70px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 36px;
  padding: 40px;
  background: var(--spc-black);
  color: #fff;
  box-shadow: var(--spc-shadow-md);
}

.spc-expertise-copy h2 {
  color: #fff;
  font-family: var(--spc-heading-font);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
}

.spc-expertise-copy p {
  color: rgba(255,255,255,.82);
  line-height: 1.8;
}

.spc-expertise-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.spc-expertise-item {
  padding: 18px 18px 18px 48px;
  position: relative;
  border-radius: 16px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.13);
  color: #fff;
  font-weight: 600;
  line-height: 1.55;
}

.spc-expertise-item::before {
  content: "\F26A";
  position: absolute;
  left: 18px;
  top: 20px;
  color: var(--spc-gold);
  font-family: "bootstrap-icons";
}

/* Internal Links */
.spc-internal-links-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.spc-internal-links-grid a {
  position: relative;
  min-height: 68px;
  display: flex;
  align-items: center;
  padding: 18px 52px 18px 22px;
  border-radius: 18px;
  background: var(--spc-soft-bg);
  border: 1px solid var(--spc-border);
  color: var(--spc-black);
  font-weight: 700;
  text-decoration: none;
  transition: var(--spc-transition);
}

.spc-internal-links-grid a::after {
  content: "\F138";
  position: absolute;
  right: 22px;
  color: var(--spc-purple);
  font-family: "bootstrap-icons";
}

.spc-internal-links-grid a:hover {
  background: var(--spc-black);
  color: #fff;
  transform: translateY(-3px);
}

.spc-internal-links-grid a:hover::after {
  color: var(--spc-gold);
}

/* Testimonials */
.spc-testimonials-slider {
  overflow: hidden;
}

.spc-testimonials-track {
  display: flex;
  gap: 22px;
  transition: transform .45s ease;
}

.spc-testimonial-card {
  min-width: calc(50% - 11px);
  padding: 34px;
  background: #fff;
  border: 1px solid var(--spc-border);
  box-shadow: var(--spc-shadow-sm);
}

.spc-testimonial-card i {
  color: var(--spc-purple);
  font-size: 42px;
}

.spc-testimonial-card p {
  color: rgba(36,36,36,.72);
  line-height: 1.8;
}

.spc-testimonial-card span {
  color: rgba(36,36,36,.62);
  font-size: 14px;
}

.spc-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}

.spc-slider-controls button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--spc-border);
  background: #fff;
  color: var(--spc-black);
  transition: var(--spc-transition);
}

.spc-slider-controls button:hover {
  background: var(--spc-purple);
  color: #fff;
}

.spc-slider-dots {
  display: flex;
  gap: 8px;
}

.spc-slider-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 50%;
  background: rgba(36,36,36,.22);
  border: 0;
}

.spc-slider-dots button.is-active {
  background: var(--spc-purple);
}

/* FAQ */
.accordion-spc-custom .accordion-item {
  margin-bottom: 14px;
  border: 1px solid var(--spc-border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--spc-shadow-sm);
}

.accordion-spc-custom .accordion-button {
  padding: 22px 24px;
  color: var(--spc-black);
  font-weight: 700;
  background: #fff;
}

.accordion-spc-custom .accordion-button:not(.collapsed) {
  color: #fff;
  background: var(--spc-purple);
}

.accordion-spc-custom .accordion-body {
  color: rgba(36,36,36,.72);
  line-height: 1.8;
  padding: 24px;
}

/* Final CTA */
.spc-final-section {
  padding: 120px 0;
}

.spc-final-cta {
  position: relative;
  z-index: 2;
  margin: auto;
}

.spc-final-cta h2 {
  color: #fff;
  font-family: var(--spc-heading-font);
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1;
}

.spc-final-cta p {
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.8;
  margin: 18px auto 30px;
}

/* Reveal Animation */
.spc-reveal-item {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .75s ease, transform .75s ease;
}

.spc-reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 991px) {
  .section-space {
    padding: 82px 0;
  }

  .spc-about-hero {
    min-height: auto;
    padding: 96px 0;
  }

  .spc-bg-overlay,
  .spc-dark-overlay {
    background: rgba(36,36,36,.78);
  }

  .spc-light-overlay {
    background: rgba(255,255,255,.90);
  }

  .spc-sticky-copy {
    position: relative;
    top: auto;
  }

  .spc-compare-layout,
  .spc-expertise-panel {
    grid-template-columns: 1fr;
  }

  .spc-compare-center {
    margin: auto;
    transform: rotate(90deg);
  }

  .spc-methodology-road {
    grid-template-columns: repeat(2, 1fr);
  }

  .spc-methodology-road::before {
    display: none;
  }

  .spc-value-list,
  .spc-expertise-grid,
  .spc-internal-links-grid {
    grid-template-columns: 1fr;
  }

  .spc-testimonial-card {
    min-width: 100%;
  }
}

@media (max-width: 767px) {
  .container-site {
    width: min(100% - 24px, var(--spc-container-max));
  }

  .section-space {
    padding: 68px 0;
  }

  .spc-hero-content h1 {
    font-size: clamp(38px, 11vw, 54px);
  }

  .spc-hero-content p,
  .spc-section-text {
    font-size: 15px;
  }

  .spc-btn-group {
    flex-direction: column;
  }

  .btn-spc-primary,
  .btn-spc-outline,
  .btn-spc-final {
    width: 100%;
  }

  .spc-editorial-break {
    margin-top: -35px;
    padding-bottom: 50px;
  }

  .spc-editorial-card,
  .spc-divider-panel {
    min-height: 360px;
    border-radius: 24px;
  }

  .spc-editorial-content,
  .spc-divider-content {
    padding: 30px;
  }

  .spc-process-card {
    padding: 28px;
  }

  .spc-process-number {
    position: static;
    margin-bottom: 18px;
  }

  .spc-story-visual {
    min-height: 420px;
  }

  .spc-methodology-road {
    grid-template-columns: 1fr;
  }

  .spc-timeline::before {
    display: none;
  }

  .spc-timeline-item {
    grid-template-columns: 1fr;
  }

  .spc-year {
    width: auto;
    height: auto;
    display: inline-flex;
    padding: 8px 18px;
    border-radius: 999px;
  }

  .spc-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* ==============================
   CONTACT PAGE
============================== */

.spc-contact-page{
    background:#fff;
    color:var(--spc-black);
}

/* HERO */
.spc-contact-hero{
    padding:120px 0 90px;
    background:
        radial-gradient(circle at 82% 20%, rgba(135,94,255,.12), transparent 28%),
        linear-gradient(135deg,#fff,#faf8ff);
    overflow:hidden;
}

.spc-contact-hero-content h1{
    font-family:var(--spc-heading-font);
    font-size:clamp(48px,5vw,78px);
    line-height:.95;
    margin:16px 0 20px;
    color:var(--spc-black);
}

.spc-contact-hero-content p{
    font-size:18px;
    line-height:1.8;
    color:rgba(36,36,36,.72);
    max-width:720px;
}

.spc-contact-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:30px;
}

.spc-contact-trust{
    margin-top:28px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 20px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--spc-border);
    box-shadow:var(--spc-shadow-sm);
    font-weight:700;
}

.spc-contact-trust i{
    color:var(--spc-gold);
}

.spc-contact-hero-visual{
    position:relative;
}

.spc-hero-image img{
    width:100%;
    border-radius:30px;
    box-shadow:var(--spc-shadow-md);
    object-fit:cover;
}

.spc-hero-floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 18px;
    background:#fff;
    border-radius:16px;
    box-shadow:var(--spc-shadow-sm);
    font-weight:700;
}

.spc-hero-floating-card i{
    color:var(--spc-purple);
}

.spc-card-top{
    top:25px;
    left:-30px;
}

.spc-card-bottom{
    bottom:25px;
    right:-20px;
}

/* CONNECT */
.spc-connect-card{
    height:100%;
    padding:34px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--spc-border);
    box-shadow:var(--spc-shadow-sm);
    transition:var(--spc-transition);
}

.spc-connect-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--spc-shadow-md);
}

.spc-card-number{
    display:inline-grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:50%;
    background:var(--spc-black);
    color:#fff;
    font-weight:800;
    margin-bottom:18px;
}

.spc-connect-card i{
    display:block;
    font-size:34px;
    color:var(--spc-purple);
    margin-bottom:16px;
}

.spc-connect-card h3{
    font-family:var(--spc-heading-font);
    font-size:34px;
    margin-bottom:12px;
}

.spc-connect-card p{
    margin:0;
    line-height:1.8;
    color:rgba(36,36,36,.7);
}

/* FORM SECTION */
.spc-contact-form-section{
    background:
      linear-gradient(rgba(250,248,255,.92), rgba(250,248,255,.92)),
      url('../img/contact-bg.jpg') center/cover no-repeat;
}

.spc-contact-sidebar{
    position:sticky;
    top:110px;
}

.spc-sidebar-image{
    margin:28px 0;
}

.spc-sidebar-image img{
    width:100%;
    border-radius:24px;
    object-fit:cover;
    box-shadow:var(--spc-shadow-md);
}

.spc-direct-contact-list{
    display:grid;
    gap:16px;
}

.spc-direct-contact-list a,
.spc-direct-contact-list div{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px;
    border-radius:18px;
    background:#fff;
    border:1px solid var(--spc-border);
    text-decoration:none;
    color:var(--spc-black);
    box-shadow:var(--spc-shadow-sm);
}

.spc-direct-contact-list i{
    font-size:22px;
    color:var(--spc-purple);
}

.spc-direct-contact-list strong{
    display:block;
}

.spc-direct-contact-list span{
    line-height:1.5;
    color:rgba(36,36,36,.7);
}

/* FORM */
.spc-contact-form{
    background:#fff;
    padding:42px;
    border-radius:30px;
    box-shadow:var(--spc-shadow-md);
    border:1px solid var(--spc-border);
}

.spc-form-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:30px;
    padding-bottom:24px;
    border-bottom:1px solid var(--spc-border);
}

.spc-form-kicker{
    font-size:14px;
    font-weight:700;
    color:var(--spc-purple);
    text-transform:uppercase;
    letter-spacing:.08em;
}

.spc-form-top h3{
    font-family:var(--spc-heading-font);
    font-size:42px;
    margin:6px 0;
}

.spc-form-top p{
    margin:0;
    color:rgba(36,36,36,.65);
}

.spc-form-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:rgba(135,94,255,.08);
    color:var(--spc-purple);
    font-size:28px;
}

.spc-form-field{
    margin-bottom:24px;
}

.spc-form-field label{
    display:block;
    margin-bottom:10px;
    font-weight:700;
}

.spc-form-field label span{
    color:#d63638;
}

.spc-contact-form input,
.spc-contact-form select,
.spc-contact-form textarea{
    width:100%;
    min-height:56px;
    border-radius:14px;
    border:1px solid rgba(36,36,36,.14);
    background:#f8f8fa;
    padding:14px 16px;
    outline:none;
    transition:var(--spc-transition);
}

.spc-contact-form textarea{
    resize:vertical;
}

.spc-contact-form input:focus,
.spc-contact-form select:focus,
.spc-contact-form textarea:focus{
    background:#fff;
    border-color:var(--spc-purple);
    box-shadow:0 0 0 4px rgba(135,94,255,.08);
}

/* OPTIONS */
.spc-options-grid{
    display:grid;
    gap:12px;
}

.spc-options-list{
    display:grid;
    gap:12px;
}

.spc-option-card,
.spc-option-pill{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    border-radius:14px;
    background:#fafafa;
    border:1px solid rgba(36,36,36,.10);
    cursor:pointer;
    transition:var(--spc-transition);
}

.spc-option-card:hover,
.spc-option-pill:hover{
    border-color:var(--spc-purple);
    background:#fff;
}

.spc-option-card input,
.spc-option-pill input{
    width:18px;
    height:18px;
    min-height:18px;
    accent-color:var(--spc-purple);
}

.spc-team-options{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

/* BUTTON */
.spc-submit-btn{
    width:100%;
    min-height:58px;
    border:0;
    border-radius:999px;
    background:var(--spc-purple);
    color:#fff;
    font-size:17px;
    font-weight:800;
    margin-top:10px;
    transition:var(--spc-transition);
}

.spc-submit-btn:hover{
    background:var(--spc-black);
    transform:translateY(-2px);
}

.spc-form-note{
    margin:14px 0 0;
    text-align:center;
    color:rgba(36,36,36,.65);
    font-size:14px;
}

/* NEXT */
.spc-next-timeline{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.spc-next-card{
    background:#fff;
    padding:30px;
    border-radius:24px;
    border:1px solid var(--spc-border);
    box-shadow:var(--spc-shadow-sm);
    height:100%;
}

.spc-next-card span{
    display:inline-grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:50%;
    background:var(--spc-black);
    color:#fff;
    font-weight:800;
    margin-bottom:18px;
}

.spc-next-card h3{
    font-family:var(--spc-heading-font);
    font-size:30px;
    margin-bottom:10px;
}

.spc-next-card p{
    margin:0;
    line-height:1.8;
    color:rgba(36,36,36,.7);
}

/* TRUST */
.spc-trust-section{
    background:var(--spc-soft-bg);
}

.spc-trust-image img{
    width:100%;
    border-radius:30px;
    box-shadow:var(--spc-shadow-md);
}

.spc-trust-title{
    font-weight:700;
    color:var(--spc-purple);
    margin:10px 0 20px;
}

.spc-trust-list p{
    display:flex;
    gap:10px;
    line-height:1.7;
    margin-bottom:12px;
}

.spc-trust-list i{
    color:var(--spc-gold);
}

.spc-trust-copy blockquote{
    margin-top:26px;
    padding:22px;
    border-left:4px solid var(--spc-purple);
    background:#fff;
    border-radius:14px;
    font-style:italic;
}

.spc-trust-copy blockquote span{
    display:block;
    margin-top:10px;
    font-style:normal;
    font-weight:700;
}

/* FINAL CTA */
.spc-contact-final-cta{
    position:relative;
    padding:110px 0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    text-align:center;
}

.spc-final-overlay{
    position:absolute;
    inset:0;
    background:rgba(36,36,36,.78);
}

.spc-final-content{
    position:relative;
    z-index:2;
    max-width:860px;
    margin:auto;
}

.spc-final-content h2{
    font-family:var(--spc-heading-font);
    font-size:clamp(42px,5vw,72px);
    line-height:1;
    color:#fff;
    margin:14px 0 18px;
}

.spc-final-content p{
    color:rgba(255,255,255,.8);
    line-height:1.8;
    margin-bottom:28px;
}

/* MOBILE */
@media(max-width:1199px){
    .spc-next-timeline{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:991px){
    .spc-contact-hero{
        padding:90px 0 70px;
    }

    .spc-contact-sidebar{
        position:relative;
        top:auto;
    }

    .spc-card-top,
    .spc-card-bottom{
        position:static;
        margin-top:14px;
    }

    .spc-options-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:767px){
    .spc-next-timeline{
        grid-template-columns:1fr;
    }

    .spc-form-top{
        flex-direction:column;
    }

    .spc-contact-form{
        padding:28px;
    }

    .spc-contact-actions{
        flex-direction:column;
    }

    .spc-contact-actions .btn{
        width:100%;
    }
}



/* Contact Form 7 - SourcePro Form Fix */
.spc-contact-form .wpcf7-form p {
  margin: 0;
}

.spc-contact-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.spc-contact-form .wpcf7-list-item {
  margin: 0 !important;
}

/* Practice Area Radio Grid */
.spc-options-grid .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 16px;
}

.spc-options-grid .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 16px 18px 16px 52px;
  background: #f8f8fb;
  border: 1px solid #e3e3ea;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.spc-options-grid .wpcf7-list-item label:hover {
  border-color: #875EFF;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(135, 94, 255, 0.10);
}

.spc-options-grid input[type="radio"] {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  accent-color: #875EFF;
}

.spc-options-grid .wpcf7-list-item-label {
  color: #242424;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

/* Prompt Checkboxes */
.spc-options-list .wpcf7-checkbox {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.spc-options-list .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 16px 18px 16px 52px;
  background: #f8f8fb;
  border: 1px solid #e3e3ea;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.spc-options-list .wpcf7-list-item label:hover {
  border-color: #875EFF;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(135, 94, 255, 0.10);
}

.spc-options-list input[type="checkbox"] {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  accent-color: #875EFF;
}

.spc-options-list .wpcf7-list-item-label {
  color: #242424;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

/* Team Size Pills */
.spc-team-options .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.spc-team-options .wpcf7-list-item label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  height: 52px;
  padding: 0 18px;
  background: #f8f8fb;
  border: 1px solid #e3e3ea;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.spc-team-options input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.spc-team-options .wpcf7-list-item-label {
  color: #242424;
  font-size: 15px;
  font-weight: 700;
}

.spc-team-options .wpcf7-list-item label:has(input:checked) {
  background: #875EFF;
  border-color: #875EFF;
  box-shadow: 0 10px 24px rgba(135, 94, 255, 0.25);
}

.spc-team-options .wpcf7-list-item label:has(input:checked) .wpcf7-list-item-label {
  color: #ffffff;
}

/* Validation / Error Text */
.spc-contact-form .wpcf7-not-valid-tip {
  margin-top: 8px;
  color: #d93025;
  font-size: 13px;
  font-weight: 500;
}

.spc-contact-form .wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 14px 18px !important;
  border-radius: 12px;
  font-size: 14px;
}

/* Submit Button Fix */
.spc-contact-form .spc-submit-btn {
  width: 100%;
  margin-top: 10px;
}

/* Mobile */
@media (max-width: 767px) {
  .spc-options-grid .wpcf7-radio {
    grid-template-columns: 1fr;
  }

  .spc-team-options .wpcf7-list-item label {
    min-width: 72px;
  }
}

textarea#spc_challenge {
    height: 100px !important;
}


/* =========================================================
   SOURCEPRO SERVICES PAGE
========================================================= */

.spc-services-page {
    background: var(--spc-white);
    color: var(--spc-text);
    font-family: var(--spc-body-font);
    overflow: hidden;
}

.spc-services-page h1,
.spc-services-page h2,
.spc-services-page h3 {
    font-family: var(--spc-heading-font);
    color: var(--spc-black);
}

.spc-services-page p {
    font-family: var(--spc-body-font);
}

/* =========================================================
   HERO
========================================================= */

.spc-services-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(36, 36, 36, 0.88), rgba(36, 36, 36, 0.54), rgba(36, 36, 36, 0.30)),
        url("https://sourcepro.focussols.com/wp-content/uploads/2026/04/Guided-Scroll-Experience.png") center/cover no-repeat;
}

.spc-services-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 160px;
    background: linear-gradient(180deg, transparent, rgba(36, 36, 36, 0.55));
    pointer-events: none;
}

.spc-services-hero-content {
    position: relative;
    z-index: 2;
    max-width: 790px;
    color: var(--spc-white);
    padding: 100px 0;
}

.spc-services-hero-content h1 {
    color: var(--spc-white);
    font-size: clamp(44px, 6vw, 82px);
    line-height: 0.98;
    margin: 16px 0 24px;
    letter-spacing: -0.03em;
}

.spc-services-hero-content p {
    max-width: 690px;
    font-size: 21px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 34px;
}

/* =========================================================
   COMMON ELEMENTS
========================================================= */

.spc-section {
    position: relative;
    padding: 105px 0;
}

.spc-section h2 {
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.06;
    letter-spacing: -0.02em;
    margin-bottom: 22px;
}

.spc-section h3 {
    letter-spacing: -0.01em;
}

.spc-section p {
    font-size: 17px;
    line-height: 1.82;
    color: rgba(36, 36, 36, 0.78);
    margin-bottom: 18px;
}

.spc-lead {
    font-size: 22px !important;
    line-height: 1.6 !important;
    color: var(--spc-black) !important;
    font-weight: 600;
}

.spc-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    color: var(--spc-purple);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.spc-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
    border-radius: 50px;
}

.spc-services-hero .spc-kicker,
.spc-dark-section .spc-kicker {
    color: var(--spc-gold);
}

.spc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 28px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--spc-transition);
}

.spc-btn-gold {
    background: var(--spc-gold);
    color: var(--spc-black);
    box-shadow: 0 14px 34px rgba(230, 192, 104, 0.34);
}

.spc-btn-gold:hover {
    color: var(--spc-black);
    transform: translateY(-3px);
    box-shadow: 0 22px 48px rgba(230, 192, 104, 0.44);
}

/* =========================================================
   BACKGROUND SECTIONS
========================================================= */

.spc-soft-section {
    background:
        radial-gradient(circle at top right, rgba(135, 94, 255, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
}

.spc-purple-section {
    background:
        radial-gradient(circle at 12% 10%, rgba(135, 94, 255, 0.14), transparent 30%),
        radial-gradient(circle at 90% 20%, rgba(230, 192, 104, 0.15), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f8f4ff 100%);
}

.spc-dark-section {
    background:
        radial-gradient(circle at top left, rgba(135, 94, 255, 0.28), transparent 34%),
        radial-gradient(circle at bottom right, rgba(230, 192, 104, 0.16), transparent 30%),
        linear-gradient(135deg, #242424 0%, #171717 58%, #2b1745 100%);
    color: var(--spc-white);
    overflow: hidden;
}

.spc-dark-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 46px 46px;
    opacity: 0.35;
    pointer-events: none;
}

.spc-dark-section .container {
    position: relative;
    z-index: 2;
}

.spc-dark-section h2,
.spc-dark-section h3 {
    color: var(--spc-white);
}

.spc-dark-section p,
.spc-dark-section .spc-check-list li {
    color: rgba(255, 255, 255, 0.78);
}

.spc-dark-section .spc-lead {
    color: var(--spc-white) !important;
}

/* =========================================================
   IMAGE CARDS
========================================================= */

.spc-image-card {
    position: relative;
    border-radius: var(--spc-radius-lg);
    overflow: hidden;
    background: var(--spc-white);
    box-shadow: var(--spc-shadow-md);
}

.spc-image-card::after {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(230, 192, 104, 0.50);
    border-radius: calc(var(--spc-radius-lg) - 8px);
    pointer-events: none;
}

.spc-image-card img {
    display: block;
    width: 100%;
    min-height: 440px;
    object-fit: cover;
    transition: transform 0.55s ease;
}

.spc-image-card:hover img {
    transform: scale(1.045);
}

.spc-dark-image-card {
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

/* =========================================================
   LISTS & BOXES
========================================================= */

.spc-check-list {
    list-style: none;
    padding: 0;
    margin: 28px 0 0;
    display: grid;
    gap: 14px;
}

.spc-check-list li {
    position: relative;
    padding-left: 36px;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(36, 36, 36, 0.82);
}

.spc-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 2px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(135, 94, 255, 0.12);
    color: var(--spc-purple);
    font-size: 13px;
    font-weight: 900;
}

.spc-dark-section .spc-check-list li::before {
    background: rgba(230, 192, 104, 0.18);
    color: var(--spc-gold);
}

.spc-highlight-box,
.spc-service-area,
.spc-position-note {
    margin-top: 30px;
    padding: 24px 26px;
    border-radius: var(--spc-radius-md);
    background: var(--spc-white);
    border-left: 4px solid var(--spc-gold);
    box-shadow: var(--spc-shadow-sm);
    color: var(--spc-black);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
}

.spc-position-note {
    max-width: 960px;
    margin: 44px auto 0;
    text-align: center;
    border-left: 0;
    border-top: 4px solid var(--spc-gold);
}

/* =========================================================
   DIFFERENTIATORS
========================================================= */

.spc-diff-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 32px;
}

.spc-diff-grid div {
    padding: 20px;
    border-radius: var(--spc-radius-md);
    background: var(--spc-white);
    border: 1px solid var(--spc-border);
    box-shadow: var(--spc-shadow-sm);
    color: var(--spc-black);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.45;
}

/* =========================================================
   SECTION HEAD
========================================================= */

.spc-section-head {
    max-width: 850px;
    margin: 0 auto 56px;
}

.spc-section-head h2 {
    margin-bottom: 16px;
}

.spc-section-head p {
    max-width: 710px;
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   SERVICE CARDS
========================================================= */

.spc-service-card {
    position: relative;
    height: 100%;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 34px;
    border-radius: var(--spc-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(36, 36, 36, 0.08);
    box-shadow: var(--spc-shadow-sm);
    text-decoration: none;
    overflow: hidden;
    transition: var(--spc-transition);
}

.spc-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(135, 94, 255, 0.10), transparent 42%);
    opacity: 0;
    transition: var(--spc-transition);
}

.spc-service-card:hover {
    transform: translateY(-9px);
    border-color: rgba(135, 94, 255, 0.28);
    box-shadow: var(--spc-shadow-md);
}

.spc-service-card:hover::before {
    opacity: 1;
}

.spc-service-icon,
.spc-service-card h3,
.spc-service-card p,
.spc-card-link {
    position: relative;
    z-index: 2;
}

.spc-service-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    background: rgba(135, 94, 255, 0.12);
    color: var(--spc-purple);
    font-size: 28px;
}

.spc-service-card h3 {
    font-size: 30px;
    line-height: 1.12;
    margin-bottom: 14px;
    color: var(--spc-black);
}

.spc-service-card p {
    flex: 1;
    font-size: 15.7px;
    line-height: 1.75;
    margin-bottom: 24px;
    color: rgba(36, 36, 36, 0.74);
}

.spc-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--spc-purple);
    font-weight: 900;
}

/* =========================================================
   RESULT CARDS
========================================================= */

.spc-results-dark .spc-section-head h2 {
    color: var(--spc-white);
}

.spc-result-card {
    height: 100%;
    overflow: hidden;
    border-radius: var(--spc-radius-lg);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.24);
    transition: var(--spc-transition);
}

.spc-result-card:hover {
    transform: translateY(-8px);
}

.spc-result-card img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    display: block;
}

.spc-result-content {
    padding: 30px 28px 34px;
}

.spc-result-content h3 {
    font-size: 32px;
    line-height: 1.1;
    color: var(--spc-black);
    margin-bottom: 14px;
}

.spc-result-content p {
    font-size: 15.8px;
    line-height: 1.75;
    margin: 0;
    color: rgba(36, 36, 36, 0.74);
}

/* =========================================================
   FAQ
========================================================= */

.spc-faq-section {
    background: var(--spc-white);
}

.spc-faq {
    max-width: 970px;
    margin: 0 auto;
}

.spc-faq .accordion-item {
    margin-bottom: 14px;
    border: 1px solid var(--spc-border);
    border-radius: var(--spc-radius-md);
    overflow: hidden;
    box-shadow: var(--spc-shadow-sm);
}

.spc-faq .accordion-button {
    padding: 23px 26px;
    background: var(--spc-white);
    color: var(--spc-black);
    font-size: 17px;
    font-weight: 900;
    line-height: 1.45;
    box-shadow: none;
}

.spc-faq .accordion-button:not(.collapsed) {
    background: #fbf9ff;
    color: var(--spc-purple);
}

.spc-faq .accordion-button:focus {
    box-shadow: none;
    border-color: transparent;
}

.spc-faq .accordion-body {
    padding: 0 26px 25px;
    color: rgba(36, 36, 36, 0.78);
    font-size: 16px;
    line-height: 1.8;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {
    .spc-services-hero {
        min-height: 620px;
    }

    .spc-section {
        padding: 78px 0;
    }

    .spc-image-card img {
        min-height: 350px;
    }

    .spc-diff-grid {
        grid-template-columns: 1fr;
    }

    .spc-service-card {
        min-height: 320px;
    }
}

@media (max-width: 767px) {
    .spc-services-hero {
        min-height: 580px;
        background-position: center;
    }

    .spc-services-hero-content {
        padding: 80px 0;
    }

    .spc-services-hero-content p {
        font-size: 18px;
    }

    .spc-section {
        padding: 66px 0;
    }

    .spc-section h2 {
        font-size: 36px;
    }

    .spc-service-card {
        padding: 28px;
    }

    .spc-result-card img {
        height: 230px;
    }
}

@media (max-width: 575px) {
    .spc-services-hero-content h1 {
        font-size: 42px;
    }

    .spc-btn {
        width: 100%;
    }

    .spc-image-card img {
        min-height: 280px;
    }

    .spc-highlight-box,
    .spc-service-area,
    .spc-position-note {
        padding: 20px;
    }
}

/* =========================================================
   PROFESSIONAL SCROLL ANIMATIONS
========================================================= */

[data-spc-animate] {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    will-change: opacity, transform;
}

[data-spc-animate="fade-left"] {
    transform: translateX(42px);
}

[data-spc-animate="fade-right"] {
    transform: translateX(-42px);
}

[data-spc-animate="zoom-in"] {
    transform: scale(0.94);
}

[data-spc-animate].spc-animated {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

.spc-service-card[data-spc-animate],
.spc-result-card[data-spc-animate],
.spc-faq .accordion-item[data-spc-animate] {
    transition:
        opacity 0.75s ease,
        transform 0.75s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
    [data-spc-animate] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}



.spc-faq .accordion-button:not(.collapsed) {
    background: var(--spc-purple);
    color: white !important;
}


.spc-health-check {
  overflow: hidden;
}

.spc-hc-section {
  padding: 105px 0;
}

.min-vh-75 {
  min-height: 75vh;
}

.spc-hc-hero,
.spc-hc-image-section {
  position: relative;
  background-size: cover;
  background-position: center;
  color: #fff;
  overflow: hidden;
}

.spc-hc-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(36,36,36,.96), rgba(36,36,36,.76), rgba(36,36,36,.38));
}

.spc-hc-hero h1 {
  font-size: clamp(48px, 6vw, 88px);
  line-height: .95;
  letter-spacing: -2.5px;
  color: #fff;
  margin: 18px 0 24px;
}

.spc-hc-hero p,
.spc-hc-image-section p {
  max-width: 680px;
  font-size: 18px;
  line-height: 1.8;
  color: rgba(255,255,255,.78);
  margin-bottom: 28px;
}

.spc-hc-hero small {
  display: block;
  margin-top: 18px;
  color: rgba(255,255,255,.66);
}

.spc-hc-badge {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(135,94,255,.22);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
}

.spc-hc-badge.light {
  background: rgba(135,94,255,.10);
  color: #875EFF;
}

.spc-hc-badge.dark {
  background: rgba(255,255,255,.14);
  color: #fff;
}

.spc-hc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  border-radius: 999px;
  background: #875EFF;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid #875EFF;
  transition: .3s ease;
}

.spc-hc-btn:hover {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(135,94,255,.32);
}

.spc-hc-hero-panel {
  padding: 28px;
  border-radius: 30px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(18px);
}

.spc-hc-hero-panel div {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  margin-bottom: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.13);
}

.spc-hc-hero-panel div:last-child {
  margin-bottom: 0;
}

.spc-hc-hero-panel span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #875EFF;
  color: #fff;
  font-weight: 800;
}

.spc-health-check h2 {
  font-size: clamp(34px, 4vw, 60px);
  line-height: 1.05;
  letter-spacing: -1.6px;
  margin-bottom: 18px;
  color: #242424;
}

.spc-hc-dark h2,
.spc-hc-purple h2,
.spc-hc-image-section h2 {
  color: #fff;
}

.spc-hc-lead {
  max-width: 800px;
  font-size: 18px;
  line-height: 1.8;
  color: #6f7285;
}

.spc-hc-card,
.spc-hc-option-card,
.spc-hc-white-card {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(36,36,36,.10);
  border-radius: 28px;
  padding: 32px;
  box-shadow: 0 18px 45px rgba(36,36,36,.08);
  transition: .35s ease;
}

.spc-hc-card:hover,
.spc-hc-option-card:hover,
.spc-hc-white-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 75px rgba(36,36,36,.14);
}

.spc-hc-card i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(135,94,255,.10);
  color: #875EFF;
  font-size: 24px;
  margin-bottom: 20px;
  transition: .35s ease;
}

.spc-hc-card:hover i {
  background: #875EFF;
  color: #fff;
  transform: rotate(-6deg) scale(1.08);
}

.spc-hc-card h3,
.spc-hc-option-card h3,
.spc-hc-white-card h3 {
  font-size: 23px;
  margin-bottom: 12px;
  color: #242424;
}

.spc-hc-card p,
.spc-hc-option-card p,
.spc-hc-white-card p {
  color: #6f7285;
  line-height: 1.75;
  margin: 0;
}

.spc-hc-highlight {
  padding: 26px 30px;
  border-radius: 24px;
  background: rgba(135,94,255,.08);
  border-left: 5px solid #875EFF;
  color: #242424;
  font-weight: 600;
}

.spc-hc-dark {
  background: #242424;
  color: #fff;
}

.spc-hc-dark p,
.spc-hc-purple p {
  color: rgba(255,255,255,.72);
  line-height: 1.8;
}

.spc-hc-dark-card {
  height: 100%;
  padding: 26px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-weight: 600;
  transition: .35s ease;
}

.spc-hc-dark-card:hover {
  background: rgba(135,94,255,.22);
  transform: translateY(-6px);
}

.spc-hc-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.spc-hc-flow div {
  padding: 34px 24px;
  background: #fff;
  border-radius: 26px;
  border: 1px solid rgba(36,36,36,.10);
  box-shadow: 0 18px 45px rgba(36,36,36,.08);
  text-align: center;
  transition: .35s ease;
}

.spc-hc-flow div:hover {
  transform: translateY(-8px);
}

.spc-hc-flow span {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #875EFF;
  color: #fff;
  font-weight: 800;
}

.spc-hc-flow h3 {
  color: #242424;
  font-size: 22px;
  margin-bottom: 10px;
}

.spc-hc-flow p {
  color: #6f7285;
  margin: 0;
}

.spc-hc-image-section {
  background-attachment: fixed;
}

.spc-hc-mini-panel {
  padding: 36px;
  border-radius: 28px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(18px);
  color: rgba(255,255,255,.82);
  font-size: 19px;
  line-height: 1.9;
}

.spc-hc-mini-panel strong {
  color: #fff;
}

.spc-hc-option-card {
  padding: 0;
  overflow: hidden;
}

.spc-hc-option-img {
  height: 240px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.spc-hc-option-img:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(36,36,36,.04), rgba(36,36,36,.55));
}

.spc-hc-option-content {
  padding: 32px;
}

.spc-hc-option-card span {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(135,94,255,.10);
  color: #875EFF;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 18px;
}

.spc-hc-option-card.purple {
  border-color: rgba(135,94,255,.35);
  background: linear-gradient(145deg, #fff, rgba(135,94,255,.06));
}

.spc-hc-option-card ul,
.spc-hc-white-card ul {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}

.spc-hc-option-card li,
.spc-hc-white-card li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 13px;
  color: #6f7285;
  line-height: 1.6;
}

.spc-hc-option-card li:before,
.spc-hc-white-card li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #875EFF;
  font-weight: 900;
}

.spc-hc-purple {
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(135deg, #875EFF, #5f3fd1);
  color: #fff;
}

.spc-hc-white-card {
  box-shadow: 0 18px 45px rgba(36,36,36,.16);
}

.spc-hc-photo {
  min-height: 520px;
  border-radius: 34px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 28px 75px rgba(36,36,36,.16);
  transition: .5s ease;
}

.spc-hc-photo:hover {
  transform: scale(1.02);
}

.spc-hc-bio-box {
  padding: 26px;
  border-radius: 24px;
  background: #f8f8f8;
  border-left: 5px solid #875EFF;
  margin: 26px 0;
}

.spc-health-check blockquote {
  padding: 28px;
  border-radius: 24px;
  background: #242424;
  color: #fff;
  line-height: 1.8;
  margin: 0;
}

.spc-hc-soft {
  background: #f8f8f8;
}

.spc-hc-faq {
  max-width: 920px;
  margin: 0 auto;
}

.spc-hc-faq-item {
  background: #fff;
  border-radius: 18px;
  margin-bottom: 14px;
  border: 1px solid rgba(36,36,36,.09);
  box-shadow: 0 10px 30px rgba(36,36,36,.05);
  overflow: hidden;
}

.spc-hc-faq-item button {
  width: 100%;
  padding: 22px 24px;
  border: 0;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font-weight: 800;
  color: #242424;
}

.spc-hc-faq-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 24px;
  transition: max-height .35s ease, padding .35s ease;
}

.spc-hc-faq-content p {
  color: #6f7285;
  line-height: 1.8;
  margin: 0;
}

.spc-hc-faq-item.active .spc-hc-faq-content {
  max-height: 220px;
  padding: 0 24px 22px;
}

.spc-hc-faq-item i {
  transition: .3s ease;
}

.spc-hc-faq-item.active i {
  transform: rotate(180deg);
}

.spc-animate {
  opacity: 0;
  transform: translateY(45px);
  transition: opacity .85s ease, transform .85s ease;
}

.spc-animate.show {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .16s; }
.delay-3 { transition-delay: .24s; }
.delay-4 { transition-delay: .32s; }

.spc-float {
  animation: spcFloat 5s ease-in-out infinite;
}

@keyframes spcFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-14px);
  }
}

@media (max-width: 991px) {
  .spc-hc-section {
    padding: 75px 0;
  }

  .spc-hc-flow {
    grid-template-columns: repeat(2, 1fr);
  }

  .spc-hc-photo {
    min-height: 420px;
  }

  .spc-hc-image-section {
    background-attachment: scroll;
  }
}

@media (max-width: 575px) {
  .spc-hc-hero h1 {
    font-size: 42px;
  }

  .spc-hc-flow {
    grid-template-columns: 1fr;
  }

  .spc-hc-card,
  .spc-hc-option-content,
  .spc-hc-white-card {
    padding: 24px;
  }

  .spc-hc-option-img {
    height: 190px;
  }
}
