:root {
    --wt-primary: #0d6efd;
    --wt-primary-dark: #084298;
    --wt-dark: #062b52;
    --wt-text: #1f2937;
    --wt-muted: #64748b;
    --wt-light: #f6f9fc;
    --wt-border: #e8eef5;
    --wt-radius: 20px;
    --wt-shadow: 0 16px 45px rgba(15, 23, 42, .10);
}

body { color: var(--wt-text); background: #fff; }

.wt-page-hero {
    position: relative;
    overflow: hidden;
    padding: 88px 0;
    color: #fff;
    background: linear-gradient(135deg, #062b52 0%, #0b4f8a 62%, #0d6efd 100%);
}
.wt-page-hero::before,
.wt-page-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    pointer-events: none;
}
.wt-page-hero::before { width: 340px; height: 340px; right: -90px; top: -190px; }
.wt-page-hero::after { width: 240px; height: 240px; left: -120px; bottom: -150px; }
.wt-page-hero .container { position: relative; z-index: 1; }
.wt-page-hero h1 { font-size: clamp(2.15rem, 5vw, 3.65rem); font-weight: 900; margin-bottom: 12px; }
.wt-page-hero p { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.88); font-size: 1.05rem; line-height: 1.75; }
.wt-page-hero .wt-subtitle { color: #ffd66b; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 800; font-size: .78rem; }

.wt-section { padding: 78px 0; }
.wt-section-light { background: var(--wt-light); }
.wt-eyebrow { color: var(--wt-primary); text-transform: uppercase; letter-spacing: 1.15px; font-size: .77rem; font-weight: 800; }
.wt-title { color: #12263a; font-size: clamp(1.85rem, 4vw, 2.8rem); font-weight: 900; line-height: 1.15; margin: 8px 0 16px; }
.wt-text { color: var(--wt-muted); line-height: 1.8; }

.wt-card {
    height: 100%;
    border: 1px solid var(--wt-border);
    border-radius: var(--wt-radius);
    background: #fff;
    box-shadow: 0 8px 28px rgba(15,23,42,.055);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.wt-card:hover { transform: translateY(-6px); box-shadow: var(--wt-shadow); border-color: rgba(13,110,253,.22); }
.wt-card-body { padding: 28px; }
.wt-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: #eef5ff;
    color: var(--wt-primary);
    font-size: 1.65rem;
    margin-bottom: 18px;
}
.wt-icon-center { margin-left: auto; margin-right: auto; }

.wt-image {
    width: 100%;
    min-height: 420px;
    max-height: 560px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: var(--wt-shadow);
}

.wt-list { list-style: none; padding: 0; margin: 0; }
.wt-list li { display: flex; gap: 10px; padding: 10px 0; color: #415166; }
.wt-list i { color: #198754; margin-top: 4px; }

.wt-form-card { border: 1px solid var(--wt-border); border-radius: 22px; background: #fff; box-shadow: var(--wt-shadow); overflow: hidden; }
.wt-form-head { padding: 24px 28px; color: #fff; background: linear-gradient(135deg, var(--wt-dark), var(--wt-primary)); }
.wt-form-head h2, .wt-form-head h3 { margin: 0; font-weight: 800; }
.wt-form-body { padding: 30px; }
.wt-form-body .form-label, .wt-form-body label { font-weight: 700; color: #334155; margin-bottom: 7px; }
.wt-form-body .form-control, .wt-form-body .form-select {
    min-height: 48px;
    border-radius: 12px;
    border-color: #dbe4ef;
}
.wt-form-body textarea.form-control { min-height: 120px; }
.wt-form-body .form-control:focus, .wt-form-body .form-select:focus { border-color: #86b7fe; box-shadow: 0 0 0 .22rem rgba(13,110,253,.12); }

.wt-info-row { display: flex; gap: 14px; align-items: flex-start; padding: 15px 0; border-bottom: 1px solid #edf2f7; }
.wt-info-row:last-child { border-bottom: 0; }
.wt-info-row i { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 12px; color: var(--wt-primary); background: #eef5ff; }
.wt-info-row strong { display: block; color: #172b4d; margin-bottom: 2px; }

.wt-stat { text-align: center; padding: 24px 14px; }
.wt-stat strong { display: block; color: #172b4d; font-size: 2.15rem; font-weight: 900; }
.wt-stat span { color: var(--wt-muted); font-weight: 600; }

.wt-cta { border-radius: 24px; padding: 38px; background: linear-gradient(135deg, #062b52, #0b4f8a); color: #fff; box-shadow: var(--wt-shadow); }
.wt-cta h2 { font-weight: 900; }
.wt-cta p { color: rgba(255,255,255,.78); margin-bottom: 0; }

.wt-table-card { border: 1px solid var(--wt-border); border-radius: 20px; background: #fff; box-shadow: var(--wt-shadow); overflow: hidden; }
.wt-table-card .table { margin-bottom: 0; }
.wt-table-card thead th { background: #062b52; color: #fff; border-color: rgba(255,255,255,.12); white-space: nowrap; }
.wt-table-card td, .wt-table-card th { vertical-align: middle; }

.wt-gallery-item { position: relative; overflow: hidden; border-radius: 18px; background: #eef2f7; box-shadow: 0 10px 28px rgba(15,23,42,.08); }
.wt-gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .35s ease; }
.wt-gallery-item:hover img { transform: scale(1.045); }
.wt-gallery-caption { position: absolute; left: 12px; bottom: 12px; padding: 7px 11px; border-radius: 999px; color: #fff; background: rgba(6,43,82,.82); font-size: .8rem; }

.wt-news-img { width: 100%; height: 230px; object-fit: cover; border-radius: 20px 20px 0 0; }
.wt-news-date { color: var(--wt-primary); font-weight: 700; font-size: .9rem; }

.wt-avatar { width: 58px; height: 58px; object-fit: cover; border-radius: 50%; border: 3px solid #eef2f7; }
.wt-verify-photo { width: 100%; max-width: 220px; max-height: 240px; object-fit: cover; border-radius: 18px; border: 1px solid var(--wt-border); }
.wt-empty { padding: 45px 20px; text-align: center; color: var(--wt-muted); }
.wt-empty i { display: block; font-size: 2.5rem; color: #9fb3c8; margin-bottom: 14px; }

.wt-map { width: 100%; min-height: 390px; border: 0; border-radius: 20px; }

.btn { font-weight: 650; }
.btn.rounded-pill { padding-left: 1.35rem; padding-right: 1.35rem; }

@media (max-width: 767.98px) {
    .wt-page-hero { padding: 64px 0; }
    .wt-section { padding: 58px 0; }
    .wt-form-body { padding: 22px; }
    .wt-cta { padding: 28px 22px; text-align: center; }
    .wt-image { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
