        :root {
            --primary-color: #002266;
            --primary-dark: #001a4d;
            --accent-color: #ffc107;
            --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
            --shadow-lg: 0 8px 25px rgba(0,0,0,0.15);
            --border-radius: 12px;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: #fafbfc;
            color: #334155;
        }

        .layanan-section {
            padding: 4rem 0;
            background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
        }

        .layanan-title {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 800;
            color: #002266;
            margin-bottom: .5rem;
        }

        .layanan-subtitle {
            font-size: 1rem;
            color: #64748b;
            max-width: 480px;
            margin: 0 auto;
        }

        .card-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.25rem;
        }

        .service-card {
            background: #fff;
            border-radius: 16px;
            padding: 2rem 1.5rem;
            text-align: center;
            border: 1px solid #e2e8f0;
            transition: transform .25s, box-shadow .25s, border-color .25s;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
        }

        .service-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 4px;
            background: linear-gradient(90deg, #002266, #003d82);
            transform: scaleX(0);
            transition: transform .3s;
        }

        .service-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 32px rgba(0,34,102,.12);
            border-color: transparent;
        }

        .service-card:hover::before {
            transform: scaleX(1);
        }

        .service-icon {
            width: 64px; height: 64px;
            border-radius: 16px;
            background: linear-gradient(135deg, #e8f1ff, #f0f4ff);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.25rem;
            font-size: 1.5rem;
            color: #002266;
            transition: transform .3s;
        }

        .service-card:hover .service-icon {
            transform: scale(1.1) rotate(-3deg);
        }

        .service-name {
            font-size: 1rem;
            font-weight: 700;
            color: #1e293b;
            margin-bottom: .5rem;
        }

        .service-desc {
            font-size: .85rem;
            color: #64748b;
            line-height: 1.6;
            margin-bottom: 1.25rem;
            min-height: 40px;
        }

        .service-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4rem;
            font-size: .85rem;
            font-weight: 600;
            color: #0b2a64;
            text-decoration: none;
            padding: .4rem 1.1rem;
            border: 1.5px solid #0b2a64;
            border-radius: 10px;
            transition: all .2s ease-in-out;
            margin: 1.25rem auto 0;
            width: fit-content;
        }

        .service-link:hover {
            background-color: #0b2a64;
            color: #ffffff;
        }

        .service-link i {
            font-size: .75rem;
            transition: transform .2s ease;
        }

        .service-link:hover i {
            transform: translateX(3px);
        }

        @media (max-width: 991.98px) {
            .card-grid { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 576px) {
            .card-grid { grid-template-columns: repeat(1, 1fr); }
        }
