:root {
    /* Disesuaikan dengan warna logo */
    --bs-teal-custom: #2B6673;
    /* Dark Teal dari logo */
    --bs-teal-custom-hover: #1f4b55;
    --bs-cyan: #3EBFB9;
    /* Bright Cyan dari logo */
    --bs-cyan-hover: #2e918d;
    --bs-rose: #e11d48;
    /* Red/Rose untuk UGD */
    --bs-rose-hover: #be123c;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #f8fafc;
    color: #334155;
}

/* --- Utilities Custom --- */
.text-teal {
    color: var(--bs-teal-custom) !important;
}

.bg-teal-light {
    background-color: #e5f1f3 !important;
    color: var(--bs-teal-custom);
}

.bg-teal {
    background-color: var(--bs-teal-custom) !important;
    color: white !important;
}

.bg-cyan {
    background-color: var(--bs-cyan) !important;
    color: #1e293b !important;
}

.bg-rose {
    background-color: var(--bs-rose) !important;
    color: white !important;
}

.btn-teal {
    background-color: var(--bs-teal-custom);
    color: white;
    border: none;
    font-weight: 600;
}

.btn-teal:hover {
    background-color: var(--bs-teal-custom-hover);
    color: white;
}

.btn-cyan {
    background-color: var(--bs-cyan);
    color: #1e293b;
    border: none;
    font-weight: 600;
}

.btn-cyan:hover {
    background-color: var(--bs-cyan-hover);
    color: #0f172a;
}

.btn-rose {
    background-color: var(--bs-rose);
    color: white;
    border: none;
    font-weight: 600;
}

.btn-rose:hover {
    background-color: var(--bs-rose-hover);
    color: white;
}

.btn-outline-custom {
    border: 2px solid #e2e8f0;
    color: #475569;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-outline-custom:hover {
    border-color: var(--bs-teal-custom);
    color: var(--bs-teal-custom);
    background: white;
}

.footer-link {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-link:hover {
    color: white;
}

/* --- UI Modern & Rounded --- */
.rounded-super {
    border-radius: 2rem !important;
}

.rounded-hero {
    border-radius: 3rem !important;
}

.glass-nav {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.bg-pattern {
    background-image: radial-gradient(var(--bs-teal-custom) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

/* Hover Animasi Kartu */
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f1f5f9;
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .08) !important;
}

.icon-box {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-bottom: 1.5rem;
}

.form-control-custom {
    border-radius: 2rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
}

.form-control-custom:focus {
    box-shadow: none;
    border-color: var(--bs-teal-custom);
    background-color: white;
}

/* Marquee Asuransi */
.marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.marquee-content {
    display: inline-flex;
    animation: marquee 25s linear infinite;
}

.marquee-content:hover {
    animation-play-state: paused;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } 
}

.mitra-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 0 1.5rem;
    margin-right: 1.5rem;
    background: white;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: transform 0.2s, box-shadow 0.2s;
}

.mitra-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

.mitra-item img {
    max-height: 35px;
    max-width: 120px;
    object-fit: contain;
    filter: grayscale(100%);
    transition: filter 0.3s;
}

.mitra-item:hover img {
    filter: grayscale(0%);
}
