.service-menu-wrapper-fce9dee2 {
    width: 100%;
}

.service-grid-fce9dee2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

.service-tile-fce9dee2 {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 3 / 4;
    cursor: pointer;
    text-decoration: none !important;
    display: block;
    background-color: #222;
    transform: translateY(0);
    transition: transform 200ms ease-out; /* Whole tile hover rise */
}

.service-bg-fce9dee2 {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    transition: transform 400ms ease-out;
}

.service-overlay-fce9dee2 {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 20%, rgba(0,0,0,0.85) 100%);
    z-index: 1;
    pointer-events: none;
}

.service-outline-fce9dee2 {
    position: absolute;
    /* Inset set via widget controls (default 7%) */
    border: 1px solid #dfba88;
    border-radius: 8px;
    opacity: 0;
    z-index: 2;
    pointer-events: none;
    transition: opacity 200ms ease;
}

.service-content-fce9dee2 {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    /* Base padding fallback, dynamically overridden by controls */
    padding: 0 7% 7% 7%;
    padding-top: 32px; /* Static top spacing within the gradient */
    z-index: 3;
    color: #fff;
}

.service-eyebrow-line-fce9dee2 {
    width: 24px;
    height: 1px;
    background-color: #dfba88;
    margin-bottom: 8px;
}

.service-eyebrow-tag-fce9dee2 {
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 8px;
    color: #dfba88;
    font-weight: 600;
}

.service-title-fce9dee2 {
    font-size: 1.75rem;
    margin-bottom: 8px;
    line-height: 1.2;
    color: #fff;
}

.service-desc-fce9dee2 {
    font-size: 0.875rem;
    margin-bottom: 16px;
    color: #ddd;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.service-cta-fce9dee2 {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    color: #dfba88;
    display: inline-flex;
    align-items: center;
}

/* Hover Transitions */
@media (prefers-reduced-motion: no-preference) {
    .service-tile-fce9dee2:hover {
        transform: translateY(-4px);
    }
    
    .service-tile-fce9dee2:hover .service-bg-fce9dee2 {
        transform: scale(1.05);
    }
}

.service-tile-fce9dee2:hover .service-outline-fce9dee2 {
    opacity: 1;
}

/* Global CTA */
.service-global-cta-wrapper-fce9dee2 {
    text-align: center;
    margin-top: 20px;
}

.service-global-btn-fce9dee2 {
    display: inline-block;
    padding: 12px 32px;
    border: 1px solid #333;
    border-radius: 999px;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #333;
    background-color: transparent;
    text-decoration: none !important;
    transition: all 300ms ease;
    cursor: pointer;
}

.service-global-btn-fce9dee2:hover {
    opacity: 0.8;
}
