/*

Template Name: Realtor Point - Bootstrap Real Estate HTML Template
Author: Webartinfo
Version: 1.0

-- body
-- Extra
-- Navbar
-- Slider
-- Slider Form
-- Card
-- Agents Card
-- Sidebar Card
-- Grid/list Filters
-- Properties List
-- Blog
-- Property Single
-- Add Property
-- My Account
-- Property Single Gallery
-- Footer
-- Mobile Media

*/

@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap');

body {
   background-color: #f0f2f5;
   font-size: 16px;
   font-family: 'Ubuntu', sans-serif;
   line-height: 25px;
   color: #34495e;
}
h1,
h2,
h3,
h4,
h5,
h6 {
   color: #000000;
}
p {
   font-size: 16px;
   line-height: 22px;
   color: #34495e;
}
img {
   height: auto;
   max-width: 100%;
}
ul,
ol {
   list-style: outside none none;
}
ul {
   margin: 0;
   padding: 0;
}
img {
   transform-style: preserve-3d;
}
a {
   transition: color 300ms ease 0s, background-color 300ms ease 0s;
   text-decoration: none !important;
   color: #34495e;
}
a:hover {
   transition: color 300ms ease 0s, background-color 300ms ease 0s;
   color: #34495e;
}
a,
a:hover {
   text-decoration: none;
}
a:focus {
   outline: medium none;
   outline-offset: 0;
}
.hv-100 {
   height: 100vh;
}


/* Extra */

.map {
   border-radius: 8px;
   overflow: hidden;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.badge {
   border-radius: 8px;
   font-size: 14px;
   font-weight: 400;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.dropdown-item.active,
.dropdown-item:active {
   background-color: #b90000;
}
.page-item.active .page-link {
   background-color: #D41503;
   border-color: #D41503;
   color: #fff;
   z-index: 1;
}
.page-link {
   color: #D41503;
   border: none !important;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.bg-dark {
   background-color: #1b2a4e!important;
}
.box-shadow-none {
   border: 7px solid #fff !important;
   box-shadow: none !important;
}
.overlay {
   background: #ffffff none repeat scroll 0 0;
   bottom: 0;
   left: 0;
   opacity: 0.8;
   position: absolute;
   right: 0;
   top: 0;
}
.login-with-social .btn {
   color: #fff;
   font-size: 16px;
   padding: 12px 0;
   position: relative;
   font-weight: 400;
   text-transform: uppercase;
}
.btn-twitter {
   background: #64ccf1 none repeat scroll 0 0;
}
.btn-google {
   background: #df4930 none repeat scroll 0 0;
}
.btn-facebook {
   background: #507cc0 none repeat scroll 0 0;
}
.login-with-social .btn .mdi {
   font-size: 19px;
   left: 18px;
   position: absolute;
   top: 8px;
}
.btn {
   font-size: 16px;
   padding: 10px 20px;
   font-weight: bold;
   border-radius: 8px;
}
b,
strong {
   font-weight: 500;
}
#content .card {
   box-shadow: none;
   margin: 0;
   padding: 26px 0px 26px 26px;
}
#content .card-body,
#content .card-footer {
   padding: 16px 0;
}
#content .card-footer span {
   font-size: 14px;
}
#content .card-footer {
   padding-bottom: 0px;
}
.map-slider-form {
   background: #efefef none repeat scroll 0 0;
   left: auto !important;
   padding: 20px 0;
   position: relative !important;
   right: auto !important;
}
.slider-h-auto .carousel-item {
   height: auto !important;
}
.padding-card .card-body {
   padding: 35px;
}
.margin-auto {
   margin: auto;
}
.no-radius {
   border-radius: 0 !important;
}
label {
   font-size: 14px;
   font-weight: 500;
   margin-bottom: 2px;
}
.form-control {
   background-color: #f8f8f8;
   border-color: #eeeeee;
   font-size: 16px;
}
.select2-container--open .select2-dropdown--below {
   border: medium none;
   border-radius: 0;
}
.section-padding {
   padding: 30px 0;
}
.text-success {
   color: #D41503 !important;
}
a.text-success:focus,
a.text-success:hover {
   color: #b90000 !important;
}
.bg-primary {
   background-color: #D41503 !important;
}
.btn-success,
.btn-primary,
.btn-outline-primary:hover {
   background-color: #D41503;
   border-color: #D41503 !important;
   color: #fff !important;
}
.btn-outline-primary {
   color: #D41503;
   border-color: #D41503;
}
.btn-success:hover,
.btn-success:focus {
   background-color: #b90000;
   border-color: #b90000;
   color: #fff;
}
.btn-success.disabled,
.btn-success:disabled {
   background-color: #b90000;
   border-color: #b90000;
   color: #fff;
}
.btn-outline-success {
   background-color: transparent;
   background-image: none;
   border-color: #D41503;
   color: #D41503;
}
.btn-outline-success:hover {
   background-color: #b90000;
   border-color: #b90000;
   color: #fff;
}
.btn-outline-success.focus,
.btn-outline-success:focus {
   box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

/* 招商数据速览 */
.data-overview {
   position: relative;
   overflow: hidden;
   background: linear-gradient(140deg, #f3f8ff 0%, #eef6ff 45%, #f9fbff 100%);
}
.data-overview::before,
.data-overview::after {
   content: "";
   position: absolute;
   border-radius: 50%;
   filter: blur(0);
   opacity: 0.65;
   pointer-events: none;
}
.data-overview::before {
   top: -140px;
   right: -80px;
   width: 320px;
   height: 320px;
   background: radial-gradient(circle at center, rgba(32, 201, 151, 0.18), transparent 70%);
   animation: overview-pulse 12s ease-in-out infinite alternate;
}
.data-overview::after {
   bottom: -160px;
   left: -60px;
   width: 280px;
   height: 280px;
   background: radial-gradient(circle at center, rgba(13, 110, 253, 0.16), transparent 72%);
   animation: overview-pulse 14s ease-in-out infinite alternate-reverse;
}
.data-overview__card {
   position: relative;
   background: #ffffff;
   border-radius: 20px;
   padding: 28px 26px;
   box-shadow: 0 18px 40px rgba(13, 64, 143, 0.08);
   transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.6s;
   border: 1px solid rgba(13, 110, 253, 0.09);
   overflow: hidden;
   opacity: 0;
   transform: translateY(24px);
}
.data-overview__card::after {
   content: "";
   position: absolute;
   inset: 0;
   opacity: 0;
   transition: opacity 0.6s;
   background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(13, 110, 253, 0.08));
}
.data-overview__card.is-visible {
   opacity: 1;
   transform: translateY(0);
}
.data-overview__card.is-visible:hover {
   transform: translateY(-6px);
   box-shadow: 0 26px 50px rgba(13, 64, 143, 0.12);
}
.data-overview__card:hover::after,
.data-overview__card.is-visible:hover::after {
   opacity: 1;
}
.data-overview__icon {
   width: 56px;
   height: 56px;
   border-radius: 18px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 28px;
   color: #ffffff;
   margin-bottom: 18px;
   box-shadow: 0 16px 26px rgba(13, 64, 143, 0.14);
}
.data-overview__icon--green {
   background: linear-gradient(135deg, #20c997, #0f9b65);
   box-shadow: 0 16px 32px rgba(32, 201, 151, 0.34);
}
.data-overview__icon--blue {
   background: linear-gradient(135deg, #0d6efd, #1d87ff);
   box-shadow: 0 16px 32px rgba(13, 110, 253, 0.35);
}
.data-overview__icon--orange {
   background: linear-gradient(135deg, #ff9f43, #ff7b00);
   box-shadow: 0 16px 32px rgba(255, 159, 67, 0.35);
}
.data-overview__icon--purple {
   background: linear-gradient(135deg, #845ef7, #5a3ef5);
   box-shadow: 0 16px 32px rgba(132, 94, 247, 0.35);
}
.data-overview__label {
   font-size: 16px;
   font-weight: 600;
   color: #0b2854;
   margin-bottom: 8px;
}
.data-overview__value {
   font-size: 36px;
   font-weight: 700;
   color: #061027;
   margin-bottom: 16px;
   letter-spacing: 0.02em;
}
.data-overview__value .countup-number {
   display: inline-block;
   font-variant-numeric: tabular-nums;
   min-width: 4ch;
}
.data-overview__desc {
   font-size: 14px;
   line-height: 1.6;
   color: #556987;
   min-height: 52px;
}
.data-overview__progress {
   position: relative;
   height: 6px;
   border-radius: 999px;
   background: rgba(13, 110, 253, 0.12);
   overflow: hidden;
   margin: 14px 0 10px;
}
.data-overview__bar {
   position: absolute;
   inset: 0 auto 0 0;
   width: 0%;
   background: linear-gradient(135deg, #20c997, #0d6efd);
   border-radius: inherit;
   transition: width 1.2s ease-out;
}
.data-overview__card.is-visible .data-overview__bar {
   width: var(--data-progress, 0%);
}
.data-overview__foot {
   font-size: 13px;
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 4px;
}

@keyframes overview-pulse {
   from {
      transform: scale(0.95);
      opacity: 0.55;
   }
   to {
      transform: scale(1.1);
      opacity: 0.85;
   }
}

@media (max-width: 767.98px) {
   .data-overview__card {
      padding: 24px 22px;
   }
   .data-overview__value {
      font-size: 30px;
   }
   .data-overview__desc {
      min-height: auto;
   }
}

/* DataV Dashboard */
.datav-dashboard {
   position: relative;
   background: linear-gradient(135deg, #061027 0%, #0b2d5b 48%, #0d4f6e 100%);
   border-radius: 24px;
   overflow: hidden;
}
.datav-dashboard::before,
.datav-dashboard::after {
   content: "";
   position: absolute;
   pointer-events: none;
   z-index: 0;
}
.datav-dashboard::before {
   inset: -35% -20% auto auto;
   width: 60%;
   height: 150%;
   background: radial-gradient(circle at top right, rgba(46, 137, 255, 0.55), transparent 65%);
   filter: blur(0);
   animation: datav-glow 14s infinite alternate;
}
.datav-dashboard::after {
   inset: auto auto -55% -10%;
   width: 70%;
   height: 160%;
   background: radial-gradient(circle at bottom left, rgba(33, 212, 253, 0.35), transparent 70%);
   animation: datav-glow 18s infinite alternate-reverse;
}
.datav-dashboard .container {
   position: relative;
   z-index: 1;
}
.datav-panel {
   position: relative;
   background: rgba(255, 255, 255, 0.05);
   border: 1px solid rgba(118, 183, 255, 0.14);
   border-radius: 20px;
   padding: 24px;
   box-shadow: 0 18px 40px rgba(7, 24, 68, 0.45);
   backdrop-filter: blur(12px);
}
.datav-panel--main {
   background: rgba(7, 22, 59, 0.82);
   border-color: rgba(64, 156, 255, 0.35);
}
.datav-panel--timeline {
   background: rgba(7, 22, 59, 0.78);
   border-color: rgba(64, 156, 255, 0.28);
}
.datav-tag {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 4px 12px;
   border-radius: 999px;
   font-size: 14px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   background: linear-gradient(90deg, rgba(33, 212, 253, 0.26), rgba(79, 172, 254, 0.12));
   color: #7ed8ff;
   border: 1px solid rgba(110, 198, 255, 0.28);
}
.datav-tag--outline {
   background: rgba(126, 216, 255, 0.08);
   border-color: rgba(126, 216, 255, 0.35);
   color: #a6f1ff;
}
.datav-kpi-list {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.datav-kpi {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   padding-bottom: 12px;
   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.datav-kpi:last-child {
   border-bottom: none;
   padding-bottom: 0;
}
.datav-kpi .value {
   display: flex;
   align-items: baseline;
   gap: 6px;
   font-size: 36px;
   font-weight: 700;
   color: #ffffff;
}
.datav-kpi .unit {
   font-size: 16px;
   color: rgba(255, 255, 255, 0.6);
}
.datav-number {
   display: inline-block;
   font-variant-numeric: tabular-nums;
   transition: color 0.6s ease, transform 0.6s ease;
}
.trend {
   font-size: 16px;
   padding: 4px 10px;
   border-radius: 999px;
   font-weight: 500;
   letter-spacing: 0.04em;
}
.trend-up {
   background: rgba(55, 255, 176, 0.16);
   color: #37ffb0;
}
.trend-neutral {
   background: rgba(126, 216, 255, 0.16);
   color: #7ed8ff;
}
.datav-chart-bars {
   display: flex;
   align-items: flex-end;
   gap: 8px;
   height: 130px;
   margin-top: 12px;
}
.datav-chart-bars span {
   flex: 1;
   display: block;
   background: linear-gradient(180deg, rgba(98, 182, 255, 0.9) 0%, rgba(46, 210, 199, 0.4) 100%);
   border-radius: 10px 10px 3px 3px;
   min-height: 10px;
   opacity: 0.85;
   transition: height 1.2s ease, opacity 1.2s ease, box-shadow 1.2s ease;
   box-shadow: 0 0 0 rgba(79, 172, 254, 0.4);
}
.datav-chart-bars span.active {
   box-shadow: 0 10px 24px rgba(79, 172, 254, 0.35);
}
.datav-donut {
   display: flex;
   flex-wrap: wrap;
   gap: 18px;
}
.datav-donut__ring {
   --percent: 35;
   --angle: calc(var(--percent) * 3.6deg);
   --donut-color: rgba(33, 212, 253, 0.9);
   position: relative;
   width: 140px;
   aspect-ratio: 1 / 1;
   border-radius: 50%;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   background:
      radial-gradient(circle at center, rgba(8, 25, 63, 0.88) 60%, rgba(8, 25, 63, 0.1) 62%),
      conic-gradient(var(--donut-color) 0deg, var(--donut-color) var(--angle), rgba(255, 255, 255, 0.08) var(--angle), rgba(255, 255, 255, 0.08) 360deg);
   box-shadow: 0 12px 30px rgba(12, 55, 112, 0.45);
   overflow: hidden;
}
.datav-donut__ring::after {
   content: "";
   position: absolute;
   inset: 18%;
   border-radius: 50%;
   background: rgba(5, 17, 46, 0.92);
   box-shadow: inset 0 0 20px rgba(33, 212, 253, 0.25);
   z-index: 0;
}
.datav-donut__value,
.datav-donut__label {
   position: relative;
   z-index: 1;
}
.datav-donut__value {
   font-size: 30px;
   font-weight: 600;
   color: #ffffff;
}
.datav-donut__label {
   font-size: 16px;
   letter-spacing: 0.04em;
   color: rgba(255, 255, 255, 0.6);
   margin-top: 6px;
}
.datav-donut__ring--a {
   --donut-color: rgba(33, 212, 253, 0.9);
}
.datav-donut__ring--b {
   --donut-color: rgba(102, 252, 241, 0.9);
}
.datav-donut__ring--c {
   --donut-color: rgba(183, 102, 255, 0.85);
}
.datav-progress-group {
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.datav-progress-item {
   display: flex;
   flex-direction: column;
   gap: 10px;
}
.datav-progress {
   position: relative;
   width: 100%;
   height: 10px;
   background: rgba(255, 255, 255, 0.08);
   border-radius: 999px;
   overflow: hidden;
}
.datav-progress__fill {
   position: absolute;
   inset: 0;
   width: 0%;
   background: linear-gradient(90deg, #21d4fd 0%, #0ef2b0 100%);
   border-radius: inherit;
   box-shadow: 0 0 20px rgba(33, 212, 253, 0.35);
   transition: width 1.2s ease;
}
.datav-status {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   flex-wrap: wrap;
}
.datav-status__label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.04em;
}
.datav-status__value {
   font-size: 28px;
   font-weight: 600;
   color: #ffffff;
   margin-right: 4px;
}
.datav-status__suffix {
   font-size: 16px;
   color: rgba(255, 255, 255, 0.6);
}
.datav-timeline {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
   gap: 16px;
}
.datav-timeline__item {
   padding: 16px;
   border-radius: 16px;
   background: rgba(8, 27, 63, 0.65);
   border: 1px solid rgba(118, 183, 255, 0.18);
   box-shadow: 0 14px 30px rgba(6, 25, 64, 0.45);
   transition: transform 0.4s ease, border-color 0.4s ease;
}
.datav-timeline__item:hover {
   transform: translateY(-4px);
   border-color: rgba(33, 212, 253, 0.55);
}
.datav-timeline__item .time {
   display: block;
   font-size: 16px;
   color: #7ed8ff;
   margin-bottom: 6px;
   letter-spacing: 0.08em;
}
.datav-timeline__item .event {
   font-size: 15px;
   color: rgba(255, 255, 255, 0.88);
   line-height: 1.6;
}

@keyframes datav-glow {
   from {
      opacity: 0.55;
      transform: rotate(0deg);
   }
   to {
      opacity: 0.85;
      transform: rotate(12deg);
   }
}

@media (max-width: 991.98px) {
   .datav-dashboard {
      border-radius: 20px;
   }
   .datav-panel {
      padding: 20px;
   }
   .datav-donut__ring {
      width: 120px;
   }
}
.datav-main {
   background-color: #030a1d;
   color: #f6f9ff;
}
.datav-main .datav-section {
   position: relative;
   background: linear-gradient(145deg, rgba(10, 24, 56, 0.95), rgba(9, 53, 92, 0.88));
   color: #ffffff;
   overflow: hidden;
}
.datav-main .datav-section::before,
.datav-main .datav-section::after {
   content: "";
   position: absolute;
   pointer-events: none;
   z-index: 0;
}
.datav-main .datav-section::before {
   inset: -40% auto auto -25%;
   width: 55%;
   height: 160%;
   background: radial-gradient(circle at top left, rgba(93, 162, 255, 0.35), transparent 70%);
   filter: blur(2px);
}
.datav-main .datav-section::after {
   inset: auto -35% -45% auto;
   width: 60%;
   height: 140%;
   background: radial-gradient(circle at bottom right, rgba(40, 223, 211, 0.25), transparent 75%);
}
.datav-main .datav-section .container {
   position: relative;
   z-index: 1;
}
.datav-hero {
   position: relative;
   padding: 120px 0 80px;
   color: #ffffff;
   background: linear-gradient(140deg, #051330 0%, #0d2f64 45%, #0f4b82 100%);
   overflow: hidden;
}
.datav-hero::before,
.datav-hero::after {
   content: "";
   position: absolute;
   inset: auto;
   pointer-events: none;
}
.datav-hero::before {
   top: -40%;
   right: -10%;
   width: 60%;
   height: 160%;
   background: radial-gradient(circle at top right, rgba(76, 188, 255, 0.35), transparent 70%);
}
.datav-hero::after {
   bottom: -55%;
   left: -5%;
   width: 65%;
   height: 160%;
   background: radial-gradient(circle at bottom left, rgba(34, 221, 203, 0.28), transparent 75%);
}
.datav-hero--industry {
   background: linear-gradient(145deg, #050f29 0%, #112650 48%, #25468e 100%);
}
.datav-hero--funnel {
   background: linear-gradient(145deg, #0a142e 0%, #182a56 45%, #463b9c 100%);
}
.datav-hero--talent {
   background: linear-gradient(145deg, #071233 0%, #1f315f 48%, #3c5bd8 100%);
}
.datav-hero--energy {
   background: linear-gradient(145deg, #06101f 0%, #102f4c 48%, #1d6881 100%);
}
.datav-hero__tag {
   display: inline-block;
   padding: 6px 16px;
   border-radius: 999px;
   background: rgba(126, 216, 255, 0.16);
   border: 1px solid rgba(126, 216, 255, 0.35);
   font-size: 14px;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   margin-bottom: 16px;
   color: #aff2ff;
}
.datav-hero__title {
   font-size: 42px;
   font-weight: 700;
   margin-bottom: 18px;
}
.datav-hero__subtitle {
   font-size: 16px;
   color: rgba(255, 255, 255, 0.72);
   max-width: 720px;
}
.datav-hero__metrics {
   display: flex;
   flex-wrap: wrap;
   gap: 24px;
   margin-top: 36px;
}
.datav-hero__metric {
   min-width: 160px;
   padding: 18px 22px;
   border-radius: 18px;
   background: rgba(14, 40, 86, 0.65);
   border: 1px solid rgba(86, 155, 255, 0.22);
   box-shadow: 0 14px 30px rgba(6, 24, 64, 0.25);
}
.datav-hero__metric .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.65);
   margin-bottom: 8px;
}
.datav-hero__metric .value {
   font-size: 28px;
   font-weight: 700;
   display: inline-flex;
   align-items: baseline;
   gap: 4px;
}
.datav-hero__metric .suffix {
   font-size: 16px;
   color: rgba(255, 255, 255, 0.6);
   margin-left: 6px;
}
.datav-section + .datav-section {
   margin-top: -40px;
}
.datav-footer {
   background: #030712;
   padding: 32px 0;
   color: rgba(255, 255, 255, 0.4);
   border-top: 1px solid rgba(126, 216, 255, 0.14);
}
.datav-sparkline {
   display: flex;
   align-items: flex-end;
   gap: 6px;
   height: 120px;
}
.datav-sparkline--wide {
   height: 150px;
}
.datav-sparkline span {
   display: block;
   flex: 1;
   min-height: 6px;
   border-radius: 12px 12px 6px 6px;
   background: linear-gradient(180deg, rgba(83, 161, 255, 0.9) 10%, rgba(42, 224, 214, 0.6) 100%);
   box-shadow: 0 6px 16px rgba(64, 156, 255, 0.25);
   transition: height 1.2s ease, opacity 1.2s ease;
   opacity: 0.9;
}
.datav-sparkline span.active {
   opacity: 1;
   box-shadow: 0 12px 24px rgba(64, 156, 255, 0.45);
}
.datav-heatmap {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: 10px;
}
.datav-heatmap span {
   display: block;
   padding-bottom: 100%;
   border-radius: 12px;
   background: radial-gradient(circle at 30% 30%, rgba(82, 196, 255, 0.95), rgba(18, 84, 134, 0.3));
   box-shadow: inset 0 0 12px rgba(10, 48, 86, 0.55), 0 4px 16px rgba(11, 38, 89, 0.25);
   transition: transform 0.6s ease, filter 0.6s ease;
   transform: scale(0.96);
}
.datav-heatmap span.active {
   transform: scale(1.05);
   filter: brightness(1.2);
}
.datav-radar {
   position: relative;
   width: 240px;
   aspect-ratio: 1 / 1;
   margin: 0 auto;
}
.datav-radar::before,
.datav-radar::after {
   content: "";
   position: absolute;
   inset: 10%;
   border: 1px dashed rgba(126, 216, 255, 0.18);
   border-radius: 50%;
}
.datav-radar::after {
   inset: 25%;
}
.datav-radar__ring {
   position: absolute;
   inset: 0;
   border-radius: 50%;
   border: 1px solid rgba(64, 156, 255, 0.6);
   box-shadow: 0 0 25px rgba(64, 156, 255, 0.35);
   background: radial-gradient(circle, rgba(64, 156, 255, 0.28), transparent 65%);
   opacity: 0.55;
   transform: scale(var(--scale, 0.6));
   transition: transform 1.2s ease, opacity 1.2s ease;
}
.datav-radar__ring:nth-of-type(2) {
   border-color: rgba(38, 208, 208, 0.6);
   background: radial-gradient(circle, rgba(38, 208, 208, 0.24), transparent 65%);
}
.datav-radar__ring:nth-of-type(3) {
   border-color: rgba(145, 110, 255, 0.6);
   background: radial-gradient(circle, rgba(145, 110, 255, 0.26), transparent 65%);
}
.datav-radar__ring:nth-of-type(4) {
   border-color: rgba(255, 198, 88, 0.6);
   background: radial-gradient(circle, rgba(255, 198, 88, 0.24), transparent 65%);
}
.datav-radar__ring:nth-of-type(5) {
   border-color: rgba(255, 102, 145, 0.6);
   background: radial-gradient(circle, rgba(255, 102, 145, 0.24), transparent 65%);
}
.datav-radar__labels {
   margin-top: 260px;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px 20px;
   font-size: 14px;
   letter-spacing: 0.04em;
   color: rgba(255, 255, 255, 0.68);
}
.datav-radar--mini {
   width: 200px;
}
.datav-radar--mini .datav-radar__labels {
   margin-top: 220px;
}
.datav-flowmap {
   position: relative;
   height: 220px;
   border-radius: 18px;
   background: radial-gradient(circle at 10% 20%, rgba(64, 156, 255, 0.2), transparent 65%),
      radial-gradient(circle at 80% 30%, rgba(34, 221, 203, 0.25), transparent 70%),
      rgba(6, 22, 54, 0.85);
   overflow: hidden;
}
.datav-flowmap__pulse {
   position: absolute;
   width: 32px;
   height: 32px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(64, 156, 255, 0.95), rgba(64, 156, 255, 0));
   opacity: 0.75;
   animation: datav-pulse 3.2s infinite ease-in-out;
}
.datav-flowmap__pulse:nth-child(1) {
   top: 24%;
   left: 18%;
}
.datav-flowmap__pulse:nth-child(2) {
   top: 46%;
   left: 58%;
   animation-delay: 0.6s;
}
.datav-flowmap__pulse:nth-child(3) {
   top: 68%;
   left: 34%;
   animation-delay: 1.2s;
}
.datav-flowmap__pulse:nth-child(4) {
   top: 32%;
   left: 78%;
   animation-delay: 1.8s;
}
.datav-flowmap__pulse:nth-child(5) {
   top: 62%;
   left: 72%;
   animation-delay: 2.1s;
}
.datav-flowmap--talent .datav-flowmap__pulse:nth-child(1) {
   left: 12%;
   top: 30%;
}
.datav-flowmap--talent .datav-flowmap__pulse:nth-child(2) {
   left: 42%;
   top: 18%;
}
.datav-flowmap--talent .datav-flowmap__pulse:nth-child(3) {
   left: 68%;
   top: 44%;
}
.datav-flowmap--talent .datav-flowmap__pulse:nth-child(4) {
   left: 54%;
   top: 72%;
}
.datav-timeline--compact {
   grid-template-columns: 1fr;
}
.datav-timeline--compact .datav-timeline__item {
   background: rgba(8, 27, 63, 0.5);
   border-color: rgba(86, 155, 255, 0.2);
}
.datav-channel-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 18px;
}
.datav-channel-grid__item {
   padding: 18px 18px 22px;
   border-radius: 18px;
   background: rgba(8, 27, 63, 0.65);
   border: 1px solid rgba(86, 155, 255, 0.25);
   box-shadow: 0 12px 30px rgba(6, 26, 68, 0.35);
}
.datav-channel-grid__item .label {
   display: block;
   font-size: 16px;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.65);
   margin-bottom: 10px;
}
.datav-channel-grid__item .value {
   display: block;
   font-size: 24px;
   font-weight: 600;
   color: #ffffff;
   margin-bottom: 16px;
}
.datav-ranking {
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.datav-ranking__item {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 14px 18px;
   border-radius: 14px;
   background: rgba(8, 27, 63, 0.55);
   border: 1px solid rgba(126, 216, 255, 0.18);
   transition: border-color 0.4s ease;
}
.datav-ranking__item:hover {
   border-color: rgba(64, 156, 255, 0.55);
}
.datav-ranking__item .name {
   font-size: 16px;
   letter-spacing: 0.05em;
   color: rgba(255, 255, 255, 0.72);
}
.datav-ranking__item .score {
   font-size: 22px;
   font-weight: 600;
   color: #7ed8ff;
}
.datav-funnel {
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.datav-funnel__stage {
   position: relative;
   padding: 16px 20px;
   border-radius: 16px;
   background: rgba(8, 27, 63, 0.6);
   border: 1px solid rgba(64, 156, 255, 0.32);
   overflow: hidden;
}
.datav-funnel__stage::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(64, 156, 255, 0.35), rgba(33, 212, 253, 0.15));
   transform-origin: left center;
   transform: scaleX(var(--width, 1));
   transition: transform 1s ease;
   z-index: 0;
}
.datav-funnel__stage .name,
.datav-funnel__stage .value {
   position: relative;
   z-index: 1;
}
.datav-funnel__stage .name {
   font-size: 16px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.7);
}
.datav-funnel__stage .value {
   font-size: 18px;
   font-weight: 600;
   color: #ffffff;
   margin-top: 6px;
   display: inline-flex;
   align-items: baseline;
   gap: 4px;
}
.datav-funnel__stage .value-unit {
   font-size: 16px;
   color: rgba(255, 255, 255, 0.65);
}
.datav-alerts {
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.datav-alerts__item {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   padding: 14px 16px;
   border-radius: 14px;
   background: rgba(8, 27, 63, 0.58);
   border: 1px solid rgba(86, 155, 255, 0.22);
   box-shadow: 0 10px 24px rgba(6, 24, 64, 0.35);
}
.datav-alerts__item .status {
   display: inline-flex;
   align-items: center;
   padding: 4px 10px;
   border-radius: 999px;
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}
.status-warning {
   background: rgba(255, 193, 7, 0.18);
   color: #ffd666;
   border: 1px solid rgba(255, 193, 7, 0.32);
}
.status-critical {
   background: rgba(220, 53, 69, 0.18);
   color: #ff8f9f;
   border: 1px solid rgba(220, 53, 69, 0.35);
}
.status-info {
   background: rgba(32, 201, 151, 0.18);
   color: #8ff5d7;
   border: 1px solid rgba(32, 201, 151, 0.32);
}
.industry-update-list {
   display: grid !important;
   grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
   gap: 20px;
}
.industry-update-list .industry-item {
   display: flex;
   gap: 20px;
   padding: 20px;
   border: 1px solid rgba(0, 0, 0, 0.06);
   border-radius: 18px;
   background: #ffffff;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.industry-update-list .industry-item:hover {
   transform: translateY(-4px);
   box-shadow: 0 18px 32px rgba(10, 28, 62, 0.1);
}
.industry-update-list .industry-thumb {
   width: 112px;
   height: 84px;
   border-radius: 12px;
   overflow: hidden;
   flex-shrink: 0;
   background: #f4f6fb;
}
.industry-update-list .industry-thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.industry-update-list .industry-content {
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 6px;
}
.industry-update-list .industry-meta {
   display: flex;
   align-items: center;
   gap: 10px;
}
.industry-update-list .industry-meta .badge {
   font-size: 11px;
   padding: 4px 10px;
   border-radius: 999px;
}
@media (max-width: 991.98px) {
   .industry-update-list {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }
}
@media (max-width: 575.98px) {
   .industry-update-list .industry-item {
      flex-direction: column;
      align-items: flex-start;
   }
   .industry-update-list .industry-thumb {
      width: 100%;
      height: 180px;
   }
	.industry-update-list .industry-meta {
	   flex-wrap: wrap;
	   gap: 6px;
	}
	.industry-update-list .industry-meta .badge {
	   margin-bottom: 4px;
	}
}
.policy-main {
   background-color: #f5f7fb;
}
.policy-hero,
.talent-hero {
   padding: 120px 0 90px;
   background: linear-gradient(145deg, #061f49 0%, #123c82 45%, #1866a3 100%);
}
.talent-hero {
   background: linear-gradient(145deg, #1c1447 0%, #283f83 45%, #3ba3c6 100%);
}
.hero-tag {
   display: inline-block;
   padding: 6px 16px;
   border-radius: 999px;
   letter-spacing: 0.12em;
   font-size: 14px;
   background: rgba(255, 255, 255, 0.16);
   border: 1px solid rgba(255, 255, 255, 0.3);
   margin-bottom: 18px;
}
.policy-pulse,
.talent-pulse {
   border-radius: 999px;
   padding: 6px 12px;
   box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}
.policy-stats,
.talent-stats {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
   gap: 18px;
   background: rgba(255, 255, 255, 0.1);
   border-radius: 20px;
   padding: 24px;
   box-shadow: inset 0 0 30px rgba(255, 255, 255, 0.12);
}
.policy-stats h3,
.talent-stats h3 {
   font-weight: 700;
}
.policy-search,
.talent-search {
   border: none;
   border-radius: 20px;
}
.policy-card {
   position: relative;
   background: #ffffff;
   padding: 26px;
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.06);
   box-shadow: 0 18px 32px rgba(10, 28, 62, 0.08);
   transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.policy-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 22px 40px rgba(10, 28, 62, 0.12);
}
.policy-card__tag {
   display: inline-block;
   padding: 4px 12px;
   border-radius: 999px;
   font-size: 14px;
   letter-spacing: 0.08em;
   margin-bottom: 14px;
}
.policy-card__list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
}
.policy-card__list li {
   position: relative;
   padding-left: 18px;
   font-size: 16px;
   color: #5a6c8f;
   margin-bottom: 6px;
}
.policy-card__list li::before {
   content: "•";
   position: absolute;
   left: 0;
   color: #2fa3ff;
}
.policy-timeline-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
   gap: 18px;
}
.policy-timeline {
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.policy-timeline__item {
   display: flex;
   gap: 16px;
   padding: 18px;
   border-radius: 16px;
   background: #ffffff;
   border: 1px solid rgba(0, 0, 0, 0.05);
   box-shadow: 0 10px 24px rgba(8, 23, 48, 0.08);
}
.policy-timeline__item .time {
   font-weight: 600;
   color: #1f4d8f;
   min-width: 96px;
}
.policy-subscribe {
   border: none;
   border-radius: 20px;
}
.policy-feature-list {
   list-style: none;
   padding-left: 0;
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.policy-feature-list li {
   padding: 18px 20px;
   border-radius: 16px;
   background: #ffffff;
   border: 1px solid rgba(0, 0, 0, 0.06);
   box-shadow: 0 12px 28px rgba(12, 32, 68, 0.08);
}
.policy-dashboard {
   border-radius: 20px;
}
.policy-dashboard__metrics {
   display: flex;
   flex-wrap: wrap;
   gap: 16px;
   justify-content: space-between;
}
.policy-dashboard__metrics .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.06em;
}
.policy-dashboard__metrics .value {
   font-size: 20px;
   font-weight: 600;
}
.policy-dashboard__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 24px;
}
.policy-dashboard__panel {
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.92) 100%);
   border: 1px solid rgba(0, 0, 0, 0.04);
   box-shadow: 0 18px 36px rgba(11, 30, 62, 0.12);
   border-radius: 20px;
   padding: 22px;
   display: flex;
   flex-direction: column;
   gap: 16px;
}
.policy-dashboard__panel--main {
   grid-column: span 2;
}
.policy-dashboard__panel--chart {
   position: relative;
}
.policy-progress__item + .policy-progress__item {
   margin-top: 14px;
}
.policy-progress__item .header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 6px;
}
.policy-progress__value {
   font-size: 16px;
   font-weight: 600;
}
.policy-trend-meta {
   display: flex;
   gap: 18px;
   flex-wrap: wrap;
}
.policy-trend-meta .label {
   display: block;
   font-size: 14px;
   color: #5a6c8f;
}
.policy-trend-meta .value {
   font-size: 20px;
   font-weight: 600;
   margin-right: 4px;
}
.policy-trend-meta .suffix {
   font-size: 14px;
   color: #8290a6;
}
.policy-gauge-wrap {
   display: flex;
   gap: 16px;
   align-items: center;
}

.policy-gauge-wrap .datav-gauge {
   width: 180px;
   height: 180px;
}
.policy-gauge-meta {
   flex: 1;
   font-size: 16px;
   color: #5a6c8f;
}
.policy-mini-list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.policy-mini-list li {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   font-size: 16px;
   color: #465067;
}
.policy-mini-list .title {
   font-weight: 600;
}
.policy-mini-list .value {
   font-size: 16px;
   font-weight: 600;
}
.policy-mini-list .badge {
   font-size: 11px;
}
.policy-sparkline {
   height: 120px;
}
.talent-main {
   background-color: #f5f7fb;
}
.talent-card {
   background: #ffffff;
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.06);
   box-shadow: 0 18px 32px rgba(10, 28, 62, 0.08);
   padding: 24px;
   display: flex;
   flex-direction: column;
   gap: 14px;
   transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.talent-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 22px 40px rgba(10, 28, 62, 0.12);
}
.talent-card__header {
   display: flex;
   align-items: center;
   gap: 16px;
}
.talent-card__header img {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   object-fit: cover;
}
.talent-card__list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
   font-size: 16px;
   color: #5a6c8f;
}
.talent-card__list i {
   color: #2fa3ff;
   margin-right: 6px;
}
.talent-flow {
   display: flex;
   flex-direction: column;
   gap: 16px;
}
.talent-flow__step {
   display: flex;
   gap: 16px;
   align-items: flex-start;
   padding: 18px 20px;
   border-radius: 16px;
   background: #ffffff;
   border: 1px solid rgba(0, 0, 0, 0.05);
   box-shadow: 0 12px 24px rgba(11, 30, 62, 0.08);
}
.talent-flow__step .step-index {
   width: 48px;
   height: 48px;
   border-radius: 14px;
   background: linear-gradient(145deg, #2f5ce0, #4cc4ff);
   color: #ffffff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 700;
}
.talent-match {
   border-radius: 20px;
   border: none;
}
.talent-match__filters {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
   gap: 16px;
   margin-bottom: 20px;
}
.talent-match__filters .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.06em;
}
.talent-match__filters .value {
   font-weight: 600;
   font-size: 16px;
}
.talent-match__list {
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.talent-match__item {
   display: flex;
   gap: 16px;
   align-items: flex-start;
   padding: 14px 18px;
   border-radius: 14px;
   background: rgba(244, 247, 255, 0.85);
   border: 1px solid rgba(63, 113, 255, 0.18);
}
.talent-match__item button {
   white-space: nowrap;
}
.demand-main {
   min-height: calc(100vh - 120px);
   padding-top: 40px;
   padding-bottom: 40px;
}
.demand-card {
   border-radius: 22px;
}
.customer-main {
   background-color: #f5f7fb;
}
.customer-hero {
   padding: 120px 0 90px;
   background: linear-gradient(145deg, #0a2050 0%, #164a94 45%, #1f6cb1 100%);
   color: #ffffff;
}
.customer-hero--resources {
   background: linear-gradient(145deg, #16204f 0%, #244a80 50%, #1d7b9f 100%);
}
.customer-hero--brokers {
   background: linear-gradient(145deg, #1a173f 0%, #3a3e82 45%, #5f95d8 100%);
}
.customer-pulse {
   border-radius: 999px;
   padding: 6px 12px;
   font-size: 14px;
   box-shadow: 0 12px 26px rgba(0, 0, 0, 0.15);
}
.customer-stats {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
   gap: 16px;
   padding: 22px;
   border-radius: 18px;
   background: rgba(255, 255, 255, 0.12);
   box-shadow: inset 0 0 30px rgba(255, 255, 255, 0.12);
}
.customer-stats h3 {
   font-weight: 700;
}
.customer-filter {
   border-radius: 18px;
}
.customer-card {
   position: relative;
   background: #ffffff;
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.05);
   padding: 24px;
   box-shadow: 0 16px 32px rgba(10, 28, 62, 0.08);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.customer-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 20px 40px rgba(10, 28, 62, 0.12);
}
.customer-card__list {
   margin-bottom: 0;
   color: #5a6c8f;
   font-size: 16px;
}
.customer-profile {
   border-radius: 20px;
}
.customer-heatmap {
   border-radius: 20px;
   background: #ffffff;
   padding: 24px;
   border: 1px solid rgba(0, 0, 0, 0.05);
   box-shadow: 0 16px 32px rgba(10, 28, 62, 0.08);
}
.customer-heatmap__legend {
   display: flex;
   gap: 16px;
   font-size: 14px;
   color: #5a6c8f;
}
.customer-heatmap__legend .dot {
   display: inline-block;
   width: 10px;
   height: 10px;
   border-radius: 50%;
   margin-right: 6px;
}
.dot-green {
   background: #4cd964;
}
.dot-blue {
   background: #4c9bff;
}
.dot-gray {
   background: #d0d7e6;
}
.customer-heatmap__grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 12px;
   margin-top: 18px;
}
.customer-heatmap__grid .cell {
   border-radius: 12px;
   padding: 18px;
   text-align: center;
   font-weight: 600;
   color: #ffffff;
   box-shadow: 0 12px 24px rgba(10, 28, 62, 0.12);
}
.cell-green {
   background: linear-gradient(145deg, #1fc875, #1aa964);
}
.cell-blue {
   background: linear-gradient(145deg, #1f89f5, #1769d6);
}
.cell-gray {
   background: linear-gradient(145deg, #8c9fbf, #67799b);
}
.customer-progress .label {
   display: block;
   margin-bottom: 6px;
   font-size: 14px;
   color: #5a6c8f;
}
.customer-progress .progress {
   height: 10px;
   border-radius: 999px;
}
.broker-card {
   background: #ffffff;
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.06);
   padding: 24px;
   box-shadow: 0 16px 32px rgba(10, 28, 62, 0.08);
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.broker-card__header {
   display: flex;
   align-items: center;
   gap: 16px;
}
.broker-card__header img {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   object-fit: cover;
}
.broker-card__list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
   font-size: 16px;
   color: #5a6c8f;
}
.broker-card__list i {
   color: #2fa3ff;
   margin-right: 6px;
}
.broker-profile {
   border-radius: 20px;
}
.customer-timeline {
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.customer-timeline__item {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   align-items: flex-start;
   padding: 16px 18px;
   background: rgba(244, 247, 255, 0.9);
   border-radius: 14px;
   border: 1px solid rgba(63, 113, 255, 0.18);
}
.demand-filter {
   border-radius: 18px;
   border: 1px solid rgba(0, 0, 0, 0.04);
}
.demand-card {
   background: #ffffff;
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.05);
   padding: 24px;
   box-shadow: 0 16px 32px rgba(10, 28, 62, 0.08);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.demand-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 22px 40px rgba(10, 28, 62, 0.12);
}

.resource-main {
   background-color: #f4f7fb;
}
.resource-hero {
   position: relative;
   padding: 120px 0 90px;
   background: url('img/resources/hero.jpg') center/cover no-repeat;
   color: #ffffff;
}
.resource-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(140deg, rgba(7, 27, 63, 0.85) 0%, rgba(25, 94, 179, 0.7) 45%, rgba(63, 178, 196, 0.6) 100%);
   pointer-events: none;
}
.resource-hero > .container {
   position: relative;
   z-index: 1;
}
.resource-hero-card {
   background: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.2);
   border-radius: 20px;
   padding: 26px;
   box-shadow: 0 18px 36px rgba(4, 20, 49, 0.35);
   backdrop-filter: blur(8px);
}
.resource-hero-card .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.7);
}
.resource-hero-card .value {
   display: block;
   font-size: 20px;
   font-weight: 600;
}
.resource-pulse {
   border-radius: 999px;
   padding: 6px 12px;
   font-size: 14px;
   box-shadow: 0 12px 26px rgba(0, 0, 0, 0.15);
}
.resource-filter {
   border-radius: 18px;
   border: 1px solid rgba(0, 0, 0, 0.04);
}
.resource-heading {
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 12px;
   color: #112347;
}
.resource-heading .accent {
   display: inline-block;
   width: 36px;
   height: 4px;
   border-radius: 999px;
   background: linear-gradient(90deg, #2dd4bf 0%, #60a5fa 100%);
}
.resource-card {
   position: relative;
   background: linear-gradient(180deg, #ffffff 0%, rgba(250, 252, 255, 0.96) 100%);
   border-radius: 20px;
   border: 1px solid rgba(15, 60, 115, 0.06);
   padding: 24px;
   box-shadow: 0 20px 36px rgba(9, 32, 74, 0.12);
   height: 100%;
   display: flex;
   flex-direction: column;
   gap: 12px;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.resource-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 24px 48px rgba(10, 28, 62, 0.18);
}
.resource-card__header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
}
.resource-capacity {
   font-size: 14px;
   color: #5a6c8f;
}
.resource-capacity i {
   color: #1d74e4;
   margin-right: 4px;
}
.resource-desc {
   color: #4a5672;
   font-size: 16px;
}
.resource-meta {
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 6px;
   color: #5a6c8f;
   font-size: 14px;
}
.resource-meta i {
   color: #1d74e4;
   margin-right: 6px;
}
.resource-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
}
.resource-tag {
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(99, 102, 241, 0.12);
   color: #3730a3;
   font-size: 11px;
   letter-spacing: 0.04em;
   text-transform: uppercase;
}
.resource-card--facility {
   border-top: 4px solid #22c55e;
}
.resource-card--equipment {
   border-top: 4px solid #0ea5e9;
}
.resource-card--cta {
   background: linear-gradient(180deg, rgba(33, 150, 243, 0.12), rgba(147, 197, 253, 0.18));
   border: 1px solid rgba(33, 150, 243, 0.25);
}
.resource-steps {
   counter-reset: step;
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 14px;
}
.resource-steps li {
   position: relative;
   padding-left: 42px;
   color: #455067;
   font-size: 16px;
}
.resource-steps li::before {
   counter-increment: step;
   content: counter(step, decimal-leading-zero);
   position: absolute;
   left: 0;
   top: 0;
   width: 32px;
   height: 32px;
   border-radius: 12px;
   background: linear-gradient(145deg, #2563eb, #22d3ee);
   color: #ffffff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 600;
   font-size: 14px;
}
.resource-steps span {
   display: block;
   font-weight: 600;
   color: #1d2a4d;
}
.resource-steps small {
   display: block;
   color: #6b7280;
}
.resource-consult .label {
   display: block;
   font-size: 14px;
   color: #5a6c8f;
   letter-spacing: 0.04em;
}
.resource-consult strong {
   font-size: 16px;
   color: #0f172a;
}
.operations-main {
   background-color: #0c1429;
   color: #f2f6ff;
}
.operations-hero {
   position: relative;
   padding: 120px 0 90px;
   background: url('img/projects/hero.jpg') center/cover no-repeat;
   color: #ffffff;
}
.operations-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(140deg, rgba(7, 22, 48, 0.88) 0%, rgba(21, 71, 122, 0.74) 45%, rgba(47, 140, 173, 0.62) 100%);
   pointer-events: none;
}
.operations-hero > .container {
   position: relative;
   z-index: 1;
}
.operations-pulse {
   border-radius: 999px;
   padding: 6px 12px;
   font-size: 14px;
   box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
}
.operations-hero-card {
   background: rgba(255, 255, 255, 0.08);
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.2);
   padding: 28px;
   box-shadow: 0 22px 36px rgba(6, 20, 52, 0.35);
   backdrop-filter: blur(10px);
}
.operations-hero-card .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.7);
}
.operations-hero-card .value {
   font-size: 22px;
   font-weight: 600;
   display: block;
}
.operations-snapshot-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 12px;
}
.operations-snapshot-card {
   background: rgba(255, 255, 255, 0.12);
   border: 1px solid rgba(255, 255, 255, 0.25);
   border-radius: 16px;
   padding: 16px;
   color: #ffffff;
   display: flex;
   flex-direction: column;
   gap: 6px;
   box-shadow: 0 16px 28px rgba(5, 20, 52, 0.3);
}
.operations-snapshot-card .label {
   font-size: 14px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.75);
   text-transform: uppercase;
}
.operations-snapshot-card .value {
   font-size: 24px;
   font-weight: 600;
}
.operations-snapshot-card small {
   font-size: 14px;
   color: rgba(255, 255, 255, 0.7);
}
.operations-snapshot-card--success {
   background: linear-gradient(150deg, rgba(34, 197, 94, 0.25), rgba(47, 197, 94, 0.08));
}
.operations-snapshot-card--primary {
   background: linear-gradient(150deg, rgba(59, 130, 246, 0.25), rgba(37, 99, 235, 0.08));
}
.operations-snapshot-card--warning {
   background: linear-gradient(150deg, rgba(251, 191, 36, 0.25), rgba(217, 119, 6, 0.1));
}
.operations-snapshot-card--info {
   background: linear-gradient(150deg, rgba(56, 189, 248, 0.25), rgba(14, 165, 233, 0.1));
}
.operations-chart-wrap .datav-chart-bars span {
   background: linear-gradient(180deg, rgba(59, 130, 246, 0.9) 0%, rgba(45, 212, 191, 0.55) 100%);
}
.operations-sparkline {
   height: 110px;
}
.operations-sparkline span {
   background: linear-gradient(180deg, rgba(45, 212, 191, 0.9) 0%, rgba(14, 165, 233, 0.6) 100%);
}
.operations-macro-sparkline span:nth-child(odd) {
   background: linear-gradient(180deg, rgba(59, 130, 246, 0.9) 0%, rgba(14, 165, 233, 0.55) 100%);
}
.operations-macro-sparkline span:nth-child(even) {
   background: linear-gradient(180deg, rgba(56, 189, 248, 0.85) 0%, rgba(45, 212, 191, 0.45) 100%);
}
.operations-macro-meta li {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 14px;
   color: rgba(255, 255, 255, 0.8);
   margin-bottom: 6px;
}
.operations-macro-meta .title {
   min-width: 96px;
   font-weight: 600;
   color: #ffffff;
}
.operations-macro-meta .value {
   font-size: 16px;
   font-weight: 600;
   color: #38bdf8;
}
.operations-grid .datav-panel {
   color: #ffffff;
}
.operations-grid.bg-light .datav-panel {
   color: #0d1b30;
}
.operations-heatmap-legend {
   display: flex;
   gap: 16px;
   margin-top: 16px;
   font-size: 14px;
   color: rgba(255, 255, 255, 0.7);
}
.operations-heatmap span {
   display: block;
   padding-bottom: 100%;
   border-radius: 12px;
   background: radial-gradient(circle at 30% 30%, rgba(47, 140, 173, 0.95), rgba(13, 46, 92, 0.35));
   box-shadow: inset 0 0 12px rgba(5, 25, 68, 0.55), 0 6px 16px rgba(6, 20, 52, 0.25);
}
.operations-heatmap-meta li {
   display: flex;
   align-items: center;
   gap: 12px;
   font-size: 14px;
   color: rgba(255, 255, 255, 0.82);
   margin-bottom: 6px;
}
.operations-heatmap-meta .title {
   min-width: 88px;
   font-weight: 600;
}
.operations-funnel {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.operations-funnel__stage {
   position: relative;
   padding: 12px 16px;
   border-radius: 14px;
   background: rgba(6, 22, 48, 0.65);
   border: 1px solid rgba(47, 140, 173, 0.28);
   overflow: hidden;
}
.operations-funnel__stage::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(47, 140, 173, 0.4), rgba(30, 93, 210, 0.2));
   transform-origin: left center;
   transform: scaleX(var(--width, 1));
   transition: transform 1s ease;
   z-index: 0;
}
.operations-funnel__stage .name,
.operations-funnel__stage .value {
   position: relative;
   z-index: 1;
   display: inline-flex;
   align-items: baseline;
   gap: 6px;
   color: #ffffff;
}
.operations-conversion-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
   gap: 12px;
}
.operations-conversion-card {
   background: rgba(255, 255, 255, 0.12);
   border: 1px solid rgba(255, 255, 255, 0.2);
   border-radius: 14px;
   padding: 14px;
   color: #ffffff;
   display: flex;
   flex-direction: column;
   gap: 4px;
   font-size: 14px;
   box-shadow: inset 0 0 18px rgba(59, 130, 246, 0.12);
}
.operations-conversion-card .label {
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: rgba(255, 255, 255, 0.7);
}
.operations-conversion-card .value {
   font-size: 18px;
   font-weight: 600;
   color: #38bdf8;
}
.operations-conversion-card small {
   color: rgba(255, 255, 255, 0.65);
}
.operations-funnel-meta li {
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 16px;
   color: #4a5772;
   margin-bottom: 6px;
}
.operations-funnel-meta i {
   color: #1d74e4;
}
.operations-gauge-wrap {
   display: flex;
   gap: 16px;
   align-items: center;
}
.operations-gauge-wrap .datav-gauge {
   width: 180px;
   height: 180px;
}
.operations-gauge-meta {
   flex: 1;
   font-size: 16px;
   color: #5a6c8f;
}
.operations-mini-list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.operations-mini-list li {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   font-size: 16px;
   color: #465067;
}
.operations-mini-list .title {
   font-weight: 600;
   color: #0f1f39;
}
.operations-mini-list .value {
   font-size: 16px;
   font-weight: 600;
}
.datav-panel .operations-mini-list li {
   color: rgba(255, 255, 255, 0.75);
}
.datav-panel .operations-mini-list .title {
   color: #e2e8ff;
}
.datav-panel .operations-mini-list .value {
   color: #38bdf8;
}
.operations-energy-sparkline {
   height: 110px;
}
.operations-energy-sparkline span {
   background: linear-gradient(180deg, rgba(251, 191, 36, 0.92) 0%, rgba(34, 197, 94, 0.6) 100%);
}
.operations-alerts {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.operations-alerts__item {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   padding: 12px 14px;
   border-radius: 14px;
   background: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(80, 146, 255, 0.25);
   color: #eef4ff;
}
.operations-alerts__item .status {
   display: inline-flex;
   align-items: center;
   padding: 4px 10px;
   border-radius: 999px;
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}
.operations-cta {
   background: linear-gradient(180deg, rgba(9, 26, 52, 0.9), rgba(10, 17, 32, 0.85));
   color: #ffffff;
}
.operations-cta .project-cta-card {
   background: linear-gradient(145deg, rgba(59, 130, 246, 0.18), rgba(45, 212, 191, 0.16));
   border: 1px solid rgba(59, 130, 246, 0.22);
}
.project-main {
   background-color: #f5f8ff;
}
.project-hero {
   position: relative;
   padding: 120px 0 90px;
   background: url('img/projects/hero.jpg') center/cover no-repeat;
   color: #ffffff;
}
.project-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(140deg, rgba(10, 28, 68, 0.85) 0%, rgba(29, 105, 157, 0.72) 45%, rgba(59, 154, 198, 0.6) 100%);
   pointer-events: none;
}
.project-hero > .container {
   position: relative;
   z-index: 1;
}
.project-pulse {
   border-radius: 999px;
   padding: 6px 12px;
   font-size: 14px;
   box-shadow: 0 12px 26px rgba(0, 0, 0, 0.15);
}
.project-hero-card {
   background: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.2);
   border-radius: 22px;
   padding: 26px;
   box-shadow: 0 20px 36px rgba(6, 20, 52, 0.35);
   backdrop-filter: blur(8px);
}
.project-hero-card .label {
   display: block;
   font-size: 14px;
   letter-spacing: 0.08em;
   color: rgba(255, 255, 255, 0.7);
}
.project-hero-card .value {
   display: block;
   font-size: 20px;
   font-weight: 600;
}
.project-filter {
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.04);
}
.project-card {
   position: relative;
   background: linear-gradient(180deg, #ffffff 0%, rgba(248, 251, 255, 0.96) 100%);
   border-radius: 22px;
   border: 1px solid rgba(20, 60, 120, 0.08);
   padding: 26px;
   box-shadow: 0 22px 40px rgba(12, 32, 68, 0.12);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   display: flex;
   flex-direction: column;
   gap: 14px;
   height: 100%;
}
.project-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 28px 56px rgba(12, 32, 68, 0.16);
}
.project-card__meta {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
}
.project-title {
   font-weight: 600;
   color: #102347;
}
.project-desc {
   color: #4a5772;
   font-size: 16px;
}
.project-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
}
.project-tag {
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(56, 189, 248, 0.16);
   color: #0369a1;
   font-size: 11px;
   letter-spacing: 0.04em;
   text-transform: uppercase;
}
.project-stats {
   display: flex;
   flex-wrap: wrap;
   gap: 18px;
}
.project-stats .label {
   display: block;
   font-size: 14px;
   color: #5a6c8f;
}
.project-stats .value {
   font-size: 16px;
   font-weight: 600;
   color: #0f172a;
}
.project-footer {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 16px;
   margin-top: auto;
}
.project-timeline-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(560px, 1fr));
   gap: 18px;
}
.project-timeline-item {
   display: flex;
   gap: 14px;
   background: #ffffff;
   border-radius: 18px;
   border: 1px solid rgba(0, 0, 0, 0.05);
   padding: 18px;
   box-shadow: 0 16px 30px rgba(12, 32, 68, 0.08);
}
.project-timeline-item .date {
   font-weight: 600;
   color: #1d4ed8;
   min-width: 92px;
}
.project-heading {
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 12px;
   color: #112347;
}
.project-heading .accent {
   display: inline-block;
   width: 36px;
   height: 4px;
   border-radius: 999px;
   background: linear-gradient(90deg, #34d399 0%, #60a5fa 100%);
}
.project-cta-card {
   border-radius: 24px;
   background: linear-gradient(145deg, rgba(59, 130, 246, 0.15), rgba(45, 212, 191, 0.12));
   border: 1px solid rgba(59, 130, 246, 0.18);
}

.demand-desc {
   font-size: 16px;
   color: #5a6c8f;
}
.demand-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin: 14px 0;
}
.demand-tag {
   display: inline-flex;
   align-items: center;
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(33, 150, 243, 0.1);
   color: #1d5fbf;
   font-size: 14px;
   line-height: 1;
}
.demand-tag--hot {
   background: rgba(245, 166, 35, 0.16);
   color: #f59b23;
}
.demand-meta li {
   font-size: 14px;
   color: #5a6c8f;
   margin-bottom: 6px;
}
.demand-meta i {
   color: #2fa3ff;
   margin-right: 6px;
}
.demand-status {
   font-size: 14px;
}
.demand-hot-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}
.demand-insight {
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.04);
}
.demand-metric {
   padding: 14px 16px;
   border-radius: 14px;
   background: rgba(244, 247, 255, 0.9);
   border: 1px solid rgba(63, 113, 255, 0.18);
}
.demand-metric .label {
   font-size: 14px;
   color: #5a6c8f;
}
.demand-metric .value {
   display: block;
   font-size: 20px;
   font-weight: 600;
}
.demand-timeline {
   border-radius: 20px;
   border: 1px solid rgba(0, 0, 0, 0.04);
}
.demand-timeline__item {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   padding: 16px 18px;
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
   background: #ffffff;
}
.demand-timeline__item:last-child {
   border-bottom: none;
}
.demand-timeline__item .time {
   font-size: 14px;
   color: #5a6c8f;
   display: block;
   margin-bottom: 4px;
}
.demand-timeline__item p {
   margin-bottom: 0;
}
.park-main {
   background-color: #f5f7fb;
}
.park-hero {
   position: relative;
   padding: 50px 0 50px;
   background: url('img/park/hero-bg.jpg') center/cover no-repeat;
   color: #ffffff;
   overflow: hidden;
}
.park-hero--bio {
   color: #ffffff;
}
.park-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(140deg, rgba(7, 24, 61, 0.85) 0%, rgba(12, 66, 132, 0.75) 45%, rgba(28, 138, 173, 0.60) 100%);
   pointer-events: none;
}
.park-hero > .container {
   position: relative;
   z-index: 1;
}
.park-stat-gallery {
   display: grid;
   padding-top: 30px;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 16px;
}
.park-stat-card {
   position: relative;
   min-height: 160px;
   border-radius: 22px;
   overflow: hidden;
   background-size: cover;
   background-position: center;
   box-shadow: 0 18px 32px rgba(9, 32, 74, 0.35);
   transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.park-stat-card::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(2, 16, 42, 0.1) 0%, rgba(2, 16, 42, 0.75) 100%);
}
.park-stat-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 26px 44px rgba(6, 26, 64, 0.45);
}
.park-stat-card__overlay {
   position: absolute;
   inset: auto 18px 18px 18px;
   z-index: 1;
   color: #ffffff;
}
.park-stat-card__overlay .label {
   display: inline-flex;
   padding: 4px 12px;
   border-radius: 999px;
   font-size: 14px;
   letter-spacing: 0.08em;
   background: rgba(255, 255, 255, 0.16);
   margin-bottom: 8px;
}
.park-stat-card__overlay h3 {
   font-size: 26px;
   font-weight: 700;
   margin-bottom: 4px;
}
.park-stat-card__overlay p {
   margin-bottom: 0;
   font-size: 16px;
   color: rgba(255, 255, 255, 0.75);
}
.park-heading {
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 12px;
   color: #101b3a;
   letter-spacing: 0.04em;
}
.park-heading .accent {
   display: inline-block;
   width: 36px;
   height: 4px;
   border-radius: 999px;
   background: linear-gradient(90deg, #00b4ff 0%, #4ade80 100%);
}
.park-heading.justify-content-center {
   display: inline-flex;
   justify-content: center;
   width: 100%;
}
.park-card {
   background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.9) 100%);
   border-radius: 20px;
   padding: 28px;
   border: 1px solid rgba(15, 60, 115, 0.08);
   box-shadow: 0 20px 40px rgba(7, 27, 63, 0.12);
   position: relative;
   overflow: hidden;
}
.park-card::before {
   content: "";
   position: absolute;
   inset: -60% auto auto -20%;
   width: 220px;
   height: 220px;
   background: radial-gradient(circle, rgba(33, 162, 255, 0.18), transparent 70%);
   pointer-events: none;
   z-index: 0;
}
.park-card > * {
   position: relative;
   z-index: 1;
}
.park-list {
   list-style: none;
   padding-left: 0;
   margin-bottom: 0;
}
.park-list li {
   position: relative;
   padding-left: 18px;
   font-size: 16px;
   color: #5a6c8f;
   margin-bottom: 8px;
}
.park-list li::before {
   content: \"•\";
   position: absolute;
   left: 0;
   color: #1d74e4;
}
.park-facilities {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.park-facilities .title {
   font-weight: 600;
   color: #1d5fbf;
   display: block;
}
.park-facilities .desc {
   color: #5a6c8f;
   font-size: 14px;
}
.park-company {
   background: #ffffff;
   border-radius: 18px;
   padding: 22px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 12px 24px rgba(12, 32, 68, 0.08);
    position: relative;
    overflow: hidden;
   color: #102347;
}
.park-company::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(145deg, rgba(33, 150, 243, 0.12), rgba(76, 175, 80, 0.18));
   opacity: 0.65;
   pointer-events: none;
   z-index: 0;
}
.park-company > * {
   position: relative;
   z-index: 1;
}
.park-cta {
   border-radius: 24px;
   background: linear-gradient(135deg, rgba(33, 150, 243, 0.12), rgba(76, 175, 80, 0.12));
}
.service-chip {
   background: rgba(244, 247, 255, 0.9);
   border: 1px solid rgba(63, 113, 255, 0.18);
   border-radius: 14px;
   padding: 12px 14px;
   font-size: 16px;
   display: flex;
   align-items: center;
   gap: 6px;
   color: #4c5f82;
}
.service-chip i {
   color: #1d74e4;
   font-size: 16px;
}
@media (max-width: 991.98px) {
   .policy-hero,
   .talent-hero {
      padding: 100px 0 70px;
   }
   .policy-dashboard__grid {
      grid-template-columns: 1fr;
   }
   .policy-timeline-grid {
      grid-template-columns: 1fr;
   }
   .policy-dashboard__panel--main {
      grid-column: span 1;
   }
   .policy-gauge-wrap {
      flex-direction: column;
      align-items: flex-start;
   }
}
.talent-pulse,
.policy-pulse {
   font-size: 14px;
}
.datav-talent-bars {
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.datav-talent-bars__item {
   padding: 16px 18px;
   border-radius: 16px;
   background: rgba(8, 27, 63, 0.6);
   border: 1px solid rgba(86, 155, 255, 0.24);
}
.datav-talent-bars__item .label {
   font-size: 16px;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.7);
   margin-bottom: 12px;
}
.datav-talent-bars__item .bars {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 8px;
   align-items: end;
   height: 110px;
}
.datav-talent-bars__item .bar {
   display: block;
   border-radius: 10px 10px 4px 4px;
   background: linear-gradient(180deg, rgba(64, 156, 255, 0.95) 0%, rgba(65, 201, 246, 0.55) 100%);
   box-shadow: 0 8px 20px rgba(64, 156, 255, 0.3);
   transition: height 1.1s ease;
   min-height: 10%;
}
.datav-talent-bars__item .meta {
   display: flex;
   justify-content: space-between;
   margin-top: 10px;
   font-size: 14px;
   color: rgba(255, 255, 255, 0.5);
}
.datav-gauge {
   position: relative;
   width: 200px;
   height: 200px;
   margin: 0 auto;
   border-radius: 50%;
   background:
      conic-gradient(from 180deg, rgba(64, 156, 255, 0.8) 0deg, rgba(33, 212, 253, 0.6) var(--angle, 220deg), rgba(8, 27, 63, 0.35) var(--angle, 220deg) 360deg);
   box-shadow: inset 0 0 40px rgba(7, 25, 66, 0.85), 0 20px 40px rgba(10, 40, 90, 0.35);
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   transition: background 1.2s ease;
}
.datav-gauge::after {
   content: "";
   position: absolute;
   inset: 18%;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(6, 18, 48, 0.92) 0%, rgba(6, 18, 48, 0.7) 70%, rgba(6, 18, 48, 0) 100%);
   box-shadow: inset 0 0 30px rgba(33, 212, 253, 0.2);
}
.datav-gauge__dial {
   position: relative;
   z-index: 1;
   text-align: center;
}
.datav-gauge__value {
   font-size: 46px;
   font-weight: 700;
   color: #ffffff;
}
.datav-gauge__suffix {
   display: block;
   font-size: 16px;
   color: rgba(255, 255, 255, 0.6);
   letter-spacing: 0.06em;
}
.datav-gauge--large {
   width: 240px;
   height: 240px;
}
.datav-energy-stack {
   display: flex;
   flex-direction: column;
   gap: 18px;
}
.datav-energy-stack__item {
   display: flex;
   align-items: center;
   gap: 18px;
}
.datav-energy-stack__item .label {
   width: 120px;
   font-size: 16px;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.68);
}
.datav-energy-stack__item .stack {
   flex: 1;
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 8px;
   height: 70px;
}
.datav-energy-stack__item .segment {
   display: block;
   border-radius: 10px 10px 4px 4px;
   background: linear-gradient(180deg, rgba(33, 212, 253, 0.8) 0%, rgba(64, 156, 255, 0.6) 100%);
   box-shadow: 0 8px 18px rgba(64, 156, 255, 0.35);
   transition: height 1.1s ease;
   min-height: 12%;
}
.text-white-75 {
   color: rgba(255, 255, 255, 0.75) !important;
}
@keyframes datav-pulse {
   0% {
      transform: scale(0.8);
      opacity: 0.8;
   }
   50% {
      transform: scale(1.2);
      opacity: 0.4;
   }
   100% {
      transform: scale(0.8);
      opacity: 0.8;
   }
}
@media (max-width: 991.98px) {
   .datav-hero {
      padding: 100px 0 60px;
   }
   .datav-hero__title {
      font-size: 32px;
   }
   .datav-hero__metrics {
      gap: 16px;
   }
   .datav-hero__metric {
      flex: 1 1 calc(50% - 16px);
   }
   .datav-radar__labels,
   .datav-radar--mini .datav-radar__labels {
      margin-top: 180px;
   }
}
@media (max-width: 767.98px) {
   .datav-hero {
      padding: 80px 0 50px;
   }
   .datav-hero__metrics {
      flex-direction: column;
      gap: 12px;
   }
   .datav-hero__metric {
      width: 100%;
   }
   .datav-sparkline {
      height: 90px;
   }
   .datav-gauge,
   .datav-gauge--large {
      width: 200px;
      height: 200px;
   }
   .datav-energy-stack__item {
      flex-direction: column;
      align-items: flex-start;
   }
   .datav-energy-stack__item .label {
      width: auto;
   }
   .datav-energy-stack__item .stack {
      width: 100%;
      height: 60px;
   }
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
   background-color: transparent;
   color: #b90000;
}
.btn-link {
   background-color: transparent;
   color: #D41503;
   font-weight: 400;
}
.btn-success:not(:disabled):not(.disabled).active:focus,
.btn-success:not(:disabled):not(.disabled):active:focus,
.show>.btn-success.dropdown-toggle:focus {
   box-shadow: 0 0 0 0.2rem rgb(211 4 0 / 7%);
}
.btn-success:not(:disabled):not(.disabled).active,
.btn-success:not(:disabled):not(.disabled):active,
.show>.btn-success.dropdown-toggle {
   color: #fff;
   background-color: #D41503;
   border-color: #D41503;
}
.display-4 {
   font-size: 3.2rem;
}
.demo-page .card.padding-card .card-body {
   padding: 0;
}
.demo-page .card.padding-card .card-body h5 {
   font-size: 15px;
   padding: 4px 10px;
}


/* Navbar */

nav.navbar {
   background: #fff none repeat scroll 0 0 !important;
   padding: 0;
}
nav.navbar .navbar-nav .nav-link {
   padding: 28px 14px;
   color: rgba(0, 0, 0, .8);
}
.logo img {
   height: 60px;
}
.dropdown-menu {
   border: medium none;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
   padding: 6px;
   border-radius: 8px;
}
.dropdown-menu .dropdown-item {
   font-size: 16px;
   padding: 7px 20px;
   border-radius: 8px;
}
.dropdown-item:focus,
.dropdown-item:hover {
   color: #ffffff !important;
   text-decoration: none;
   background-color: #D41503;
}
.main-nav-right .btn {
   padding: 7px 16px;
   border: none;
   border-radius: 50px;
}
.main-nav-right .list-inline-item {
   margin: 0;
}


/* Slider */

.site-slider {
   position: relative;
}
.site-slider .carousel-item {
   height: 500px;
   min-height: 500px;
   background: no-repeat center center scroll;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   background-size: cover;
}


/* Slider Form */

.slider-form {
   left: 15%;
   position: absolute;
   right: 15%;
   top: 35%;
}
.slider-form form {
   border-radius: 5px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.slider-form .input-group-addon {
   line-height: 58px;
   position: absolute;
   text-align: center;
   width: 41px;
   z-index: 9;
}
.slider-form .input-group-addon .mdi {
   font-size: 18px;
}
.slider-form .select2-selection {
   border: medium none !important;
   border-radius: 0 !important;
   height: auto !important;
   padding: 15px 15px 15px 33px;
}
.slider-form .form-control {
   border: medium none !important;
   border-radius: 0 !important;
   height: auto !important;
   padding: 19px 15px 19px 43px;
}
.slider-form .select2-selection__arrow {
   margin: 15px 12px 0;
}
.slider-form .btn {
   font-size: 16px;
   padding: 10px 8px;
   border-radius: 8px !important;
   border: 5px solid;
}
.inner-page-form .input-group {
   padding: 1px;
}


/* Card */

.card {
   border: medium none;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
   margin-bottom: 32px;
   border-radius: 8px;
   overflow: hidden;
}
.card-list .badge {
   right: 20px;
   padding: 7px 10px;
   position: absolute;
   top: 20px;
   z-index: 9;
}
.card-list .card-body .card-title {
   font-size: 18px;
}
.card-list .card-body .card-subtitle {
   font-size: 16px;
   font-size: 16px;
   font-weight: 400;
   color: #929cab;
}
.card-list .card-body h2 small {
   font-size: 19px;
}
.card-list .card-footer span {
   margin: 0 16px 0 0;
}
.card-footer {
   background: #fff none repeat scroll 0 0;
   border-color: #eeeeee;
}
.card-overlay {
   height: 380px;
   overflow: hidden;
   position: relative;
}
.card-overlay .card-img {
   height: 380px;
   object-fit: cover;
   width: 100%;
}
.card-overlay .card-img-overlay {
   left: 0;
   margin: auto;
   right: 0;
   text-align: center;
   top: auto;
}
.review-block-rate .mdi {
   color: #ffc107;
   font-size: 19px;
   letter-spacing: -3px;
}
.review-block-rate {
   margin: 15px 0px;
}
.review-block-rate .badge-pill {
   vertical-align: text-bottom;
}


/* Agents Card */

.agents-card {
   padding-bottom: 15px;
}
.agents-card img {
   background: #fff none repeat scroll 0 0;
   border-radius: 90px;
   box-shadow: 0 0 24px rgba(11, 123, 255, 0.12);
   height: 107px;
}


/* Sidebar Card */

.sidebar-card .card-body {
   padding: 35px;
}
.sidebar-card-list li a {
   display: inline-block;
   width: 100%;
}
.sidebar-card-list>li {
   line-height: 32px;
}
.sidebar-card-list li a .sidebar-badge {
   float: right;
   font-weight: 500;
   margin: 0;
}
#featured-properties .card-body {
   padding: 30px 0;
}
#featured-properties .card {
   box-shadow: none;
   margin: 0;
}
#featured-properties img {
   border-radius: 3px;
}
#featured-properties .carousel-indicators .active {
   background-color: #818080;
}
#featured-properties .carousel-indicators button {
   background-color: rgba(166, 166, 166, 0.5);
}
#featured-properties .carousel-indicators {
   margin: 0;
}
.media {
   display: flex;
   align-items: flex-start;
}

/* Grid/list Filters */

.tags-action span {
   background: #fff none repeat scroll 0 0;
   border-radius: 8px;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
   display: inline-block;
   padding: 3px 10px;
}
.tags-action span i {
   margin: 0 0 0 3px;
}
.site_top_filter {
   margin-bottom: 18px;
}
.view-mode {
   margin: 0 0 0 9px;
}
.view-mode a {
   background: #fff none repeat scroll 0 0;
   border-radius: 8px;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
   display: inline-block;
   margin: 0 0 0 4px;
   padding: 3px 10px;
}
.view-mode a.active {
   color: #34495e;
}
.sort-by-btn .btn {
   min-width: 160px;
   padding: 6px 9px;
   text-align: left;
   border: none;
}
.sort-by-btn .dropdown-toggle::after {
   position: absolute;
   right: 11px;
   text-align: right;
   top: 15px;
   vertical-align: top;
}


/* Properties List */

.card-list-view .card-body,
.card-list-view .card-footer {
   padding: 20px 30px;
}


/* Blog */

.blog-card .card-footer img {
   margin: 0 11px 0 0;
   width: 33px;
}
.blog-card .badge {
   font-size: 14px;
   font-stretch: normal;
   font-style: normal;
   font-weight: 500;
   letter-spacing: 1px;
   line-height: normal;
   margin: 0 0 12px;
   padding: 6px 10px;
   text-transform: uppercase;
}
.blog-card .bg-primary {
   background-color: rgba(92, 93, 232, 0.1)!important;
   color: #5c5de8;
}
.blog-card .bg-danger {
   background-color: rgba(250, 100, 35, 0.1)!important;
   color: #fa6423;
}
.blog-card .bg-success {
   background-color: rgba(0, 216, 200, 0.09)!important;
   color: #00d8c8;
}
.blog-card .bg-dark {
   background-color: rgba(52, 58, 64, 0.19)!important;
   color: #343a40;
}
.blog-card .bg-info {
   background-color: rgba(23, 160, 184, 0.17)!important;
   color: #17a2b8;
}
.blog-card .bg-white {
   background-color: rgba(255, 255, 255, 0.81)!important;
   color: #5c5de8;
}


/* Property Single */

.reviews-card .d-flex {
   height: 50px;
   width: 50px;
}
.reviews-card h5 small {
   color: #848484;
   font-size: 14px;
   margin: 0 0 0 8px;
}
.star-rating i {
   font-size: 15px;
   letter-spacing: -6px;
}
.list-icon i {
   float: left;
   font-size: 36px;
   line-height: 47px;
   width: 52px;
}

.list-icon {
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
   margin-bottom: 32px;
   border-radius: 8px;
   overflow: hidden;
   background-color: #ffffff;
   padding: 15px 21px;
}
.list-icon strong {
   text-transform: uppercase;
   vertical-align: text-top;
   font-weight: 600;
   color: #000;
}
.list-icon p {
   line-height: 11px;
}
.property-single-title {
   bottom: 0;
   left: 0;
   padding: 37px 0;
   position: absolute;
   right: 0;
}


/* Add Property */

.property-features-add .custom-control {
   margin: 7px 0;
}
.fuzone {
   background: #f9f9f9 none repeat scroll 0 0;
   border: 3px dashed #eeeeee;
   border-radius: 8px;
   cursor: pointer;
   display: inline-block;
   min-height: 150px;
   position: relative;
   text-align: center;
   transition: all 0.3s linear 0s;
   width: 100%;
}
.fuzone .fu-text {
   color: #98aab8;
   font-size: 14px;
   margin: 50px 40px;
   position: relative;
   text-align: center;
}
.fuzone .fu-text i {
   display: inline-block;
   font-size: 54px;
   padding-bottom: 10px;
   transition: all 0.3s linear 0s;
   width: 100%;
}
.fuzone input {
   cursor: pointer;
   height: 100%;
   left: 0;
   opacity: 0;
   position: absolute;
   top: 0;
   width: 100%;
   z-index: 100;
}


/* My Account */

.user-pages-sidebar .nav-link {
   padding: 8px 0;
   position: relative;
}
.user-pages-sidebar .nav-link:hover {
   color: #007bff;
}
.user-pages-sidebar .nav-item {
   display: inline-block;
   width: 100%;
}
.user-pages-sidebar .nav-link.active:after {
   content: "";
   position: absolute;
   left: -35px;
   background: #007bff;
   top: 9px;
   bottom: 9px;
   width: 3px;
}
.user-pages-sidebar .nav-link:hover:after {
   content: "";
   position: absolute;
   left: -35px;
   background: #007bff;
   top: 9px;
   bottom: 9px;
   width: 3px;
}
.user-pages-main {
   margin: -66px 0 0 0;
}


/* Property Single Gallery */

.property-single-title-gallery {
   background: #fff none repeat scroll 0 0;
   padding: 50px 0;
   position: relative;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}


/* Footer */

.footer li {
   line-height: 34px;
}
.footer-social a {
   background: #D41503 none repeat scroll 0 0;
   border-radius: 50px;
   display: inline-block;
   height: 35px;
   line-height: 35px;
   font-size: 16px;
   text-align: center;
   width: 35px;
   color: #fff;
}
.footer-social a:hover {
   background: #000 none repeat scroll 0 0;
   color: #f5f5f5;
}
.footer-logo {
   width: 200px;
}


/* Mobile Media */

@media (min-width: 0px) and (max-width: 767px) {
   .container {
      max-width: 100%;
   }
   .section-padding {
      padding: 50px 0;
   }
   nav.navbar {
      padding: 10px 15px;
   }
   .navbar-toggler {
      padding: 2px 5px;
   }
   nav.navbar .navbar-nav .nav-link {
      border-bottom: 1px solid #ececec;
      padding: 10px 12px;
      text-align: center;
   }
   .main-nav-right {
      text-align: center;
   }
   nav.navbar .dropdown-menu .dropdown-item {
      font-size: 16px;
      padding: 7px 20px;
      text-align: center;
   }
   .carousel-indicators {
      bottom: auto;
      left: auto;
      margin: 0;
      position: absolute;
      right: 12px;
      top: 16px;
   }
   .banner-list {
      padding: 0px 15px !important;
   }
   .banner-list h6 {
      font-size: 16px;
      font-weight: 100;
      line-height: 21px;
      margin: 0 0 27px !important;
   }
   .banner-list .card {
      margin-top: 30px;
   }
   .inner-page-form,
   .slider-form {
      bottom: 1px !important;
      left: 1px;
      right: 1px;
      top: auto !important;
   }
   .inner-page-form .container,
   .slider-form .container {
      padding: 0;
   }
   .carousel-control-prev,
   .carousel-control-next {
      display: none;
   }
   .property-single-title {
      text-align: center;
   }
   .property-single-title .text-right {
      text-align: center !important;
   }
   .property-single-title .footer-social {
      margin: 20px 0 0;
   }
   .btn {
      font-size: 16px;
      font-weight: bold;
      padding: 9px 27px;
   }
   h1 {
      font-size: 34px;
   }
   h2 br {
      display: none;
   }
   .padding-card .card-body,
   .sidebar-card .card-body {
      padding: 18px;
   }
   .card-list-view .card-body,
   .card-list-view .card-footer {
      padding: 18px;
   }
   .footer h4 {
      margin: 0 0 10px !important;
   }
   .footer h6 {
      margin: 30px 0 8px !important;
   }
   .site_top_filter {
      text-align: center;
   }
   .site_top_filter .float-right {
      float: none !important;
      margin: 3px 1px !important;
   }
}

@media (min-width: 768px) and (max-width: 1023px) {
   .rp-1 {
      padding: 0.5rem !important;
   }
   .container {
      max-width: 100%;
   }
   nav.navbar {
      padding: 10px 15px;
   }
   .navbar-toggler {
      padding: 2px 5px;
   }
   nav.navbar .navbar-nav .nav-link {
      border-bottom: 1px solid #ececec;
      padding: 10px 12px;
      text-align: center;
   }
   .main-nav-right {
      text-align: center;
   }
   nav.navbar .dropdown-menu .dropdown-item {
      font-size: 16px;
      padding: 7px 20px;
      text-align: center;
   }
   .carousel-indicators {
      bottom: auto;
      left: auto;
      margin: 0;
      position: absolute;
      right: 12px;
      top: 16px;
   }
   .padding-card .card-body,
   .sidebar-card .card-body {
      padding: 18px;
   }
   .card-list-view .card-body,
   .card-list-view .card-footer {
      padding: 18px;
   }
   .section-padding {
      padding: 60px 0;
   }
}

@media (min-width: 1024px) and (max-width: 1200px) {
   .container {
      max-width: 100%;
   }
}

/* End Mobile Media */

.profile-sidebar img {
   margin-bottom: 15px;
}
.profile-sidebar .card-title {
   margin-bottom: 5px;
}
.profile-sidebar .card-subtitle {
   font-size: 14px;
   font-weight: 600;
}
.card-info p {
   margin-bottom: 5px;
}
.operations-chart-wrap {
   display: flex;
   flex-direction: column;
}

.project-card-small {
   background: linear-gradient(180deg, #ffffff 0%, rgba(248, 251, 255, 0.95) 100%);
   border-radius: 18px;
   border: 1px solid rgba(15, 60, 115, 0.08);
   padding: 22px;
   box-shadow: 0 18px 32px rgba(12, 32, 68, 0.12);
   position: relative;
   overflow: hidden;
   height: 100%;
   display: flex;
   flex-direction: column;
   gap: 10px;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.project-card-small:hover {
   transform: translateY(-4px);
   box-shadow: 0 24px 48px rgba(12, 32, 68, 0.18);
}
.project-card-small .badge {
   font-size: 14px;
   letter-spacing: 0.06em;
   text-transform: uppercase;
}
.project-card-small h5 {
   font-size: 16px;
   font-weight: 600;
   color: #102347;
}
.project-card-small .text-muted {
   font-size: 13px;
}
.project-mini-meta {
   display: flex;
   flex-direction: column;
   gap: 6px;
   color: #5a6884;
   font-size: 12px;
}
.project-mini-meta i {
   color: #1d74e4;
   margin-right: 6px;
}
.project-card-small .stretched-link {
   color: #0ea5e9;
   /* font-weight: 600; */
   font-size: 14px;
   padding: 5px 0;
}
.project-card-small .stretched-link:hover {
   color: #0284c7;
}

.project-thumb {
   width: 100%;
   height: 150px;
   object-fit: cover;
   border-radius: 14px;
   box-shadow: 0 10px 24px rgba(13, 42, 86, 0.18);
}

/* Park Facilities */
.facilities-main {
   background: linear-gradient(180deg, #0b152b 0%, #102848 28%, #f3f7fb 65%, #ffffff 100%);
}
.facilities-hero {
   position: relative;
   padding: 86px 0 72px;
   background: radial-gradient(circle at 20% 20%, rgba(33, 150, 243, 0.22), transparent 60%), radial-gradient(circle at 80% 0%, rgba(16, 185, 129, 0.2), transparent 55%), linear-gradient(135deg, #0f172a 0%, #102e54 45%, #15406a 100%);
   border-bottom-left-radius: 48px;
   border-bottom-right-radius: 48px;
   overflow: hidden;
}
.facilities-hero::after {
   content: "";
   position: absolute;
   inset: 18px;
   border: 1px solid rgba(126, 216, 255, 0.14);
   border-radius: 40px;
   pointer-events: none;
}
.facilities-hero .hero-tag {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 6px 14px;
   border-radius: 999px;
   background: rgba(11, 190, 175, 0.18);
   font-size: 13px;
   letter-spacing: 0.12em;
   color: rgba(255, 255, 255, 0.8);
}
.facilities-pulse {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 9px 16px;
   border-radius: 999px;
   font-weight: 600;
   box-shadow: 0 10px 24px rgba(33, 150, 243, 0.28);
}
.facilities-hero-card {
   padding: 28px 26px;
   border-radius: 24px;
   background: rgba(15, 26, 52, 0.68);
   backdrop-filter: blur(12px);
   border: 1px solid rgba(255, 255, 255, 0.08);
   color: #ffffff;
   box-shadow: 0 24px 48px rgba(6, 20, 53, 0.45);
}
.facilities-hero-card .label {
   font-size: 13px;
   letter-spacing: 0.04em;
   text-transform: uppercase;
}
.facilities-hero-card .value {
   font-size: 32px;
   font-weight: 700;
}
.facilities-heading {
   font-weight: 700;
   letter-spacing: 0.04em;
   display: flex;
   align-items: center;
   gap: 12px;
   color: #102347;
}
.facilities-heading .accent {
   width: 32px;
   height: 4px;
   border-radius: 999px;
   background: linear-gradient(90deg, #22d3ee 0%, #10b981 100%);
}
.facility-card {
   background: linear-gradient(160deg, rgba(255, 255, 255, 0.96) 0%, rgba(243, 246, 255, 0.86) 100%);
   border-radius: 24px;
   padding: 24px;
   box-shadow: 0 18px 40px rgba(10, 43, 95, 0.12);
   border: 1px solid rgba(37, 99, 235, 0.08);
   height: 100%;
   transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.facility-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 26px 56px rgba(10, 43, 95, 0.18);
   border-color: rgba(16, 185, 129, 0.35);
}
.facility-card .badge {
   font-size: 12px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}
.facility-card h5 {
   color: #102347;
   font-weight: 600;
}
.facility-card p {
   font-size: 14px;
   color: #4f5d7a;
}
.facility-card--lab {
   background: linear-gradient(160deg, rgba(240, 249, 255, 0.96) 0%, rgba(236, 233, 255, 0.86) 100%);
   border-color: rgba(102, 126, 234, 0.3);
}
.facility-card--service {
   background: linear-gradient(160deg, rgba(247, 255, 250, 0.96) 0%, rgba(232, 252, 245, 0.86) 100%);
   border-color: rgba(16, 185, 129, 0.28);
}
.facility-thumb {
   width: 100%;
   height: 210px;
   object-fit: cover;
   border-radius: 18px;
   box-shadow: 0 14px 30px rgba(15, 46, 92, 0.22);
}
.facility-meta {
   display: flex;
   flex-direction: column;
   gap: 8px;
   font-size: 13px;
   color: #4f5d7a;
}
.facility-meta i {
   color: #1d74e4;
   margin-right: 6px;
}
.facility-meta li {
   display: flex;
   align-items: center;
}

/* AI Assistant Widget */
.ai-assistant {
   position: fixed;
   right: 24px;
   bottom: 24px;
   z-index: 1050;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 16px;
}
.ai-assistant__fab {
   pointer-events: auto;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 14px 20px;
   border: none;
   border-radius: 999px;
   background: linear-gradient(135deg, #16a34a 0%, #0f9d58 100%);
   color: #ffffff;
   font-weight: 600;
   box-shadow: 0 18px 30px rgba(16, 185, 129, 0.35);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ai-assistant__fab:hover {
   transform: translateY(-3px);
   box-shadow: 0 26px 46px rgba(16, 185, 129, 0.4);
}
.ai-assistant__panel {
   width: 320px;
   max-width: calc(100vw - 40px);
   background: linear-gradient(160deg, rgba(10, 27, 63, 0.96) 0%, rgba(12, 20, 42, 0.96) 100%);
   border-radius: 20px;
   border: 1px solid rgba(94, 234, 212, 0.15);
   box-shadow: 0 24px 48px rgba(5, 18, 50, 0.55);
   overflow: hidden;
   transform: translateY(20px) scale(0.96);
   opacity: 0;
   transition: transform 0.3s ease, opacity 0.3s ease;
   pointer-events: auto;
   display: flex;
   flex-direction: column;
}
.ai-assistant.is-open .ai-assistant__panel {
   opacity: 1;
   transform: translateY(0) scale(1);
}
.ai-assistant:not(.is-open) .ai-assistant__panel {
   pointer-events: none;
}
.ai-assistant__header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 10px;
   padding: 18px 20px 10px;
   background: linear-gradient(135deg, rgba(34, 197, 94, 0.26), rgba(59, 130, 246, 0.18));
}
.ai-assistant__header h6 {
   font-size: 16px;
   font-weight: 600;
}
.ai-assistant__close {
   pointer-events: auto;
   border: none;
   background: rgba(255, 255, 255, 0.12);
   color: #ffffff;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}
.ai-assistant__body {
   padding: 16px 20px;
   display: flex;
   flex-direction: column;
   gap: 14px;
   max-height: 260px;
   overflow-y: auto;
   scrollbar-width: thin;
   scrollbar-color: rgba(148, 163, 184, 0.4) transparent;
}
.ai-assistant__body::-webkit-scrollbar {
   width: 6px;
}
.ai-assistant__body::-webkit-scrollbar-thumb {
   background: rgba(148, 163, 184, 0.4);
   border-radius: 999px;
}
.ai-assistant__message {
   display: flex;
   gap: 12px;
}
.ai-assistant__message--user {
   flex-direction: row-reverse;
   text-align: right;
}
.ai-assistant__avatar {
   width: 32px;
   height: 32px;
   border-radius: 12px;
   background: rgba(59, 130, 246, 0.18);
   color: #93c5fd;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}
.ai-assistant__message--user .ai-assistant__avatar {
   background: rgba(34, 197, 94, 0.2);
   color: #86efac;
}
.ai-assistant__bubble {
   flex: 1;
   background: rgba(15, 23, 42, 0.72);
   border-radius: 16px;
   padding: 12px 14px;
   color: rgba(226, 232, 240, 0.92);
   font-size: 13px;
   line-height: 1.5;
   border: 1px solid rgba(148, 163, 184, 0.18);
}
.ai-assistant__message--user .ai-assistant__bubble {
   background: rgba(34, 197, 94, 0.18);
   border-color: rgba(34, 197, 94, 0.35);
   color: #ecfdf5;
}
.ai-assistant__bubble ul {
   padding-left: 18px;
}
.ai-assistant__bubble a {
   color: #5eead4;
}
.ai-assistant__quick {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   padding: 0 20px 12px;
}
.ai-assistant__chip {
   pointer-events: auto;
   border: none;
   border-radius: 999px;
   padding: 6px 14px;
   background: rgba(148, 163, 184, 0.16);
   color: rgba(226, 232, 240, 0.8);
   font-size: 12px;
   transition: background 0.2s ease, color 0.2s ease;
}
.ai-assistant__chip:hover {
   background: rgba(94, 234, 212, 0.22);
   color: #ecfeff;
}
.ai-assistant__form {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 12px 20px 18px;
}
.ai-assistant__input {
   background: rgba(15, 23, 42, 0.7);
   border: 1px solid rgba(94, 234, 212, 0.22);
   color: #f8fafc;
   border-radius: 12px;
   padding: 10px 14px;
   font-size: 13px;
}
.ai-assistant__input::placeholder {
   color: rgba(148, 163, 184, 0.6);
}
.ai-assistant__send {
   pointer-events: auto;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 42px;
   height: 42px;
   border-radius: 14px;
   padding: 0;
}
.ai-assistant__typing {
   display: inline-flex;
   align-items: center;
   gap: 4px;
}
.ai-assistant__typing span {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: rgba(148, 163, 184, 0.6);
   animation: aiTyping 1.2s infinite ease-in-out;
}
.ai-assistant__typing span:nth-child(2) {
   animation-delay: 0.15s;
}
.ai-assistant__typing span:nth-child(3) {
   animation-delay: 0.3s;
}

@keyframes aiTyping {
   0%, 80%, 100% {
      transform: scale(0.8);
      opacity: 0.5;
   }
   40% {
      transform: scale(1.1);
      opacity: 1;
   }
}

@media (max-width: 767.98px) {
   .facilities-hero {
      padding: 64px 0 56px;
      border-radius: 0 0 32px 32px;
   }
   .facilities-hero::after {
      inset: 12px;
      border-radius: 24px;
   }
   .facilities-hero-card {
      margin-top: 32px;
   }
   .facility-thumb {
      height: 180px;
   }
   .ai-assistant {
      right: 12px;
      bottom: 12px;
      gap: 12px;
   }
   .ai-assistant__panel {
      width: calc(100vw - 24px);
   }
}
