:root {
 --cf-primary: #0d2d62;
 --cf-primary-700: #0a2450;
 --cf-accent: #1088a5;
 --cf-accent-700: #0d738b;
 --cf-text: #334155;
 --cf-muted: #64748b;
 --cf-surface: #ffffff;
 --cf-surface-soft: #f5f8fc;
 --cf-border: #dbe5f0;
 --cf-shadow: 0 14px 34px rgba(13, 45, 98, 0.1);
}

body {
 background:
  radial-gradient(
   circle at 10% -20%,
   rgba(16, 136, 165, 0.12),
   transparent 35%
  ),
  radial-gradient(circle at 90% 0%, rgba(13, 45, 98, 0.1), transparent 28%),
  #ffffff;
 color: var(--cf-text);
 font-family: 'Open Sans', sans-serif;
 line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: 'Raleway', sans-serif;
 color: var(--cf-primary);
 letter-spacing: 0.2px;
}

p {
 color: var(--cf-text);
}

a {
 transition: color 0.25s ease;
}

.btn,
button,
a {
 transition: all 0.25s ease;
}

/* Shared header refinement */

.btn-primary {
 background: linear-gradient(135deg, var(--cf-accent), var(--cf-primary));
 border: none;
 font-weight: 700;
 letter-spacing: 0.02em;
 border-radius: 10px;
 padding: 10px 22px;
 box-shadow: 0 6px 18px rgba(13, 45, 98, 0.18);
}

.btn-primary:hover,
.btn-primary:focus {
 background: linear-gradient(135deg, var(--cf-primary), var(--cf-primary-700));
 border: none;
 box-shadow: 0 10px 24px rgba(13, 45, 98, 0.28);
}

.btn-outline-primary {
 border: 2px solid var(--cf-primary);
 color: var(--cf-primary);
 font-weight: 700;
 border-radius: 10px;
 padding: 9px 22px;
 background: transparent;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
 background: var(--cf-primary);
 border-color: var(--cf-primary);
 color: #ffffff;
 box-shadow: 0 8px 20px rgba(13, 45, 98, 0.22);
}
#header {
 background: rgba(255, 255, 255, 0.9);
 backdrop-filter: saturate(170%) blur(8px);
 border-bottom: 1px solid rgba(219, 229, 240, 0.8);
 padding: 14px 0;
}

#header.header-scrolled,
#header.header-inner-pages {
 background: rgba(255, 255, 255, 0.98);
 border-bottom-color: rgba(219, 229, 240, 1);
 box-shadow: 0 8px 24px rgba(13, 45, 98, 0.08);
}

#header .logo img {
 max-height: 52px;
}

.navbar > ul {
 gap: 8px;
}

.navbar a,
.navbar a:focus {
 font-family: 'Poppins', sans-serif;
 font-size: 14px;
 font-weight: 600;
 text-transform: none;
 letter-spacing: 0.2px;
 color: #1f3556;
 padding: 10px 14px;
 border-radius: 8px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover > a {
 color: var(--cf-accent);
 background: rgba(16, 136, 165, 0.1);
}

.navbar .dropdown ul {
 border-radius: 12px;
 border: 1px solid var(--cf-border);
 box-shadow: 0 14px 34px rgba(13, 45, 98, 0.14);
 padding: 10px;
}

.navbar .dropdown ul a {
 font-size: 14px;
 font-weight: 600;
 border-radius: 8px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover > a {
 background: rgba(16, 136, 165, 0.1);
}

.mobile-nav-toggle {
 color: var(--cf-primary);
}

.navbar-mobile {
 background: rgba(10, 19, 38, 0.7);
 backdrop-filter: blur(4px);
}

.navbar-mobile ul {
 border-radius: 14px;
 border: 1px solid var(--cf-border);
}

.back-to-top {
 width: 46px;
 height: 46px;
 border-radius: 999px;
 background: linear-gradient(135deg, var(--cf-accent), #0d6f92);
 box-shadow: 0 12px 24px rgba(16, 136, 165, 0.32);
}

.back-to-top:hover {
 background: linear-gradient(135deg, var(--cf-primary), var(--cf-primary-700));
}

.section-padding {
 padding: 70px 0;
}

.section-muted {
 background: var(--cf-surface-soft);
}

.section-heading {
 font-size: 32px;
 font-weight: 700;
 color: var(--cf-primary);
}

.section-title h3 {
 font-size: 30px;
 font-weight: 700;
 color: var(--cf-primary);
}

.text-center.section-title h3 {
 position: relative;
 padding-bottom: 18px;
}

.text-center.section-title h3::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 46px;
 height: 3px;
 border-radius: 999px;
 background: linear-gradient(90deg, var(--cf-accent), var(--cf-primary));
}

.section-title p {
 margin-bottom: 0;
 color: var(--cf-muted);
 margin-top: 12px;
}

.shadow-soft {
 box-shadow: var(--cf-shadow);
}

.feature-card {
 background: linear-gradient(180deg, rgba(255,255,255,0.98), var(--cf-surface));
 border: 1px solid rgba(16, 136, 165, 0.12);
 border-radius: 18px;
 padding: 28px;
 transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
 box-shadow: 0 12px 28px rgba(13, 45, 98, 0.08);
}

.feature-card:hover {
 transform: translateY(-5px);
 border-color: rgba(16, 136, 165, 0.32);
 box-shadow: 0 18px 34px rgba(13, 45, 98, 0.18);
}

.feature-card i {
 font-size: 28px;
 color: #1088a5;
 margin-bottom: 16px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 56px;
 height: 56px;
 border-radius: 18px;
 background: rgba(16, 136, 165, 0.12);
}

.feature-card h5 {
 font-size: 20px;
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 12px;
}

.feature-card .feature-tag {
 display: inline-block;
 margin-bottom: 10px;
 padding: 4px 10px;
 border-radius: 999px;
 background: rgba(13, 45, 98, 0.07);
 color: #446489;
 font-size: 10.5px;
 font-weight: 700;
 letter-spacing: 0.07em;
 text-transform: uppercase;
}

.feature-card p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.metric-card {
 background: linear-gradient(180deg, rgba(255,255,255,0.98), var(--cf-surface));
 border: 1px solid rgba(16, 136, 165, 0.12);
 border-radius: 16px;
 padding: 28px 18px;
 height: 100%;
 box-shadow: 0 12px 28px rgba(13, 45, 98, 0.08);
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.metric-card:hover {
 transform: translateY(-3px);
 box-shadow: 0 18px 36px rgba(13, 45, 98, 0.12);
}

.metric-card h4 {
 font-size: 32px;
 color: #1088a5;
 font-weight: 800;
 margin-bottom: 8px;
}

.metric-card p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.badge-tile {
 background: rgba(16, 136, 165, 0.1);
 border: 1px solid rgba(16, 136, 165, 0.22);
 border-radius: 999px;
 text-align: center;
 padding: 14px 16px;
 font-weight: 700;
 color: var(--cf-primary);
 transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.badge-tile:hover {
 transform: translateY(-2px);
 background: rgba(16, 136, 165, 0.16);
 border-color: rgba(16, 136, 165, 0.38);
}

.program-card {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 12px;
 padding: 24px;
 box-shadow: 0 8px 20px rgba(13, 45, 98, 0.06);
}

.program-card h5 {
 color: var(--cf-primary);
 font-weight: 700;
 margin-bottom: 14px;
}

.program-card ul {
 margin: 0;
 padding-left: 18px;
}

.program-card li {
 margin-bottom: 8px;
 color: var(--cf-muted);
}

.cta-card {
 background: linear-gradient(135deg, rgba(16, 136, 165, 0.14), rgba(255,255,255,0.95));
 border: 1px solid rgba(16, 136, 165, 0.22);
 border-radius: 18px;
 padding: 32px;
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cta-card:hover {
 transform: translateY(-2px);
 box-shadow: 0 18px 35px rgba(16, 136, 165, 0.15);
}

.cta-card h5 {
 color: #0d2d62;
 font-weight: 700;
}

.cta-card p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.check-tile {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 8px;
 padding: 12px 14px;
 color: var(--cf-primary);
 font-weight: 600;
}

.checklist .check-item {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 margin-bottom: 14px;
 color: var(--cf-text);
}

.checklist .check-item i {
 color: #1088a5;
 font-size: 18px;
 margin-top: 3px;
}

.checklist .check-item span {
 display: block;
}

.link-card {
 background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,249,253,0.97));
 border: 1px solid rgba(16, 136, 165, 0.12);
 border-radius: 16px;
 padding: 26px;
 color: inherit;
 transition: all 0.25s ease;
 box-shadow: 0 8px 24px rgba(13, 45, 98, 0.06);
}

.link-card:hover {
 border-color: rgba(16, 136, 165, 0.32);
 box-shadow: 0 18px 34px rgba(16, 136, 165, 0.18);
 transform: translateY(-3px);
}

.link-card h5 {
 color: var(--cf-primary);
 font-weight: 700;
}

.link-card p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.process-timeline {
 position: relative;
 margin-left: 10px;
 padding-left: 30px;
}

.process-timeline::before {
 content: '';
 position: absolute;
 left: 16px;
 top: 0;
 bottom: 0;
 width: 3px;
 background: linear-gradient(180deg, rgba(16, 136, 165, 0.18), rgba(16, 136, 165, 0.06));
 border-radius: 2px;
}

.process-item {
 position: relative;
 margin-bottom: 32px;
 padding-left: 24px;
}

.process-item:last-child {
 margin-bottom: 0;
}

.process-item .step {
 position: absolute;
 left: -54px;
 top: 0;
 width: 44px;
 height: 44px;
 border-radius: 50%;
 background: #1088a5;
 color: #ffffff;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 font-weight: 700;
 font-size: 16px;
 box-shadow: 0 10px 20px rgba(16, 136, 165, 0.18);
}

.process-item h5 {
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 8px;
}

.process-item p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.accordion-item {
 border: 1px solid var(--cf-border);
 border-radius: 8px;
 overflow: hidden;
 margin-bottom: 14px;
}

.accordion-button {
 font-weight: 600;
 color: var(--cf-primary);
}

.accordion-button:not(.collapsed) {
 color: #ffffff;
 background: var(--cf-accent);
 box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
 filter: brightness(10);
}

.accordion-button:focus {
 box-shadow: 0 0 0 3px rgba(16, 136, 165, 0.2);
 outline: none;
}

.accordion-body {
 padding: 18px 24px 22px;
 color: var(--cf-text);
 font-size: 15px;
 line-height: 1.75;
}

/* Footer redesign */
#footer {
 position: relative;
 color: #dbe7f5;
 background:
  radial-gradient(circle at 18% 10%, rgba(16, 136, 165, 0.24), transparent 38%),
  linear-gradient(160deg, #061732 0%, #0b2a57 55%, #0a254a 100%);
}

#footer .footer-top {
 background: transparent;
 border-bottom: 1px solid rgba(219, 231, 245, 0.14);
 padding: 70px 0 36px;
}

#footer .footer-info h3,
#footer .footer-links h4,
#footer .footer-info h4 {
 color: #ffffff;
 letter-spacing: 0.2px;
 margin-bottom: 18px;
}

#footer .footer-info p {
 color: rgba(219, 231, 245, 0.9);
 font-size: 14px;
 line-height: 1.8;
 margin-bottom: 0;
}

#footer .footer-info a {
 color: #7ed5eb;
}

#footer .footer-info a:hover {
 color: #ffffff;
}

#footer .footer-links ul {
 list-style: none;
 padding: 0;
 margin: 0;
}

#footer .footer-links ul li {
 padding: 8px 0;
}

#footer .footer-links ul li a {
 color: rgba(219, 231, 245, 0.9);
 font-size: 14px;
}

#footer .footer-links ul li a:hover {
 color: #7ed5eb;
}

#footer .container > .copyright,
#footer .container > .credits {
 text-align: center;
 color: rgba(219, 231, 245, 0.85);
 font-size: 14px;
}

#footer .container > .copyright {
 padding-top: 24px;
}

#footer .container > .credits {
 padding: 8px 0 24px;
}

#footer .credits a {
 color: #7ed5eb;
}

#footer .credits a:hover {
 color: #ffffff;
}

@media (max-width: 991px) {
 #header {
  padding: 10px 0;
 }

 #header .logo img {
  max-height: 46px;
 }

 .section-padding {
  padding: 55px 0;
 }

 .section-heading,
 .section-title h3 {
  font-size: 26px;
 }

 #footer .footer-top {
  padding: 56px 0 24px;
 }
}

/* Homepage refinement */
#hero {
 position: relative;
}

#hero .carousel-item {
 position: relative;
 min-height: 88vh;
 background-size: cover;
 background-position: center;
 display: flex;
 align-items: center;
}

#hero .carousel-item::before {
 content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(
  120deg,
  rgba(5, 14, 29, 0.72) 10%,
  rgba(9, 24, 47, 0.56) 55%,
  rgba(8, 22, 44, 0.72) 100%
 );
 pointer-events: none;
}

#hero .carousel-container {
 position: relative;
 z-index: 2;
 width: 100%;
}

#hero .hero-content {
 max-width: 760px;
 margin: 0 auto;
 text-align: center;
 padding: 32px 30px;
 border-radius: 24px;
 background: rgba(7, 18, 38, 0.58);
 border: 1px solid rgba(255, 255, 255, 0.16);
 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
}

.hero-kicker {
 display: inline-block;
 margin-bottom: 14px;
 color: #b8e4ff;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.16em;
 text-transform: uppercase;
}

#hero h2 {
 font-size: clamp(2.1rem, 4vw, 3.3rem);
 line-height: 1.15;
 text-shadow: 0 6px 18px rgba(0, 0, 0, 0.34);
}

#hero p {
 max-width: 720px;
 font-size: 1rem;
 line-height: 1.75;
 color: rgba(255, 255, 255, 0.92);
 margin: 0 auto 26px;
}

.hero-actions {
 display: inline-flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 12px;
}

.hero-actions .btn {
 border-radius: 999px;
 padding: 13px 28px;
 font-weight: 700;
 letter-spacing: 0.02em;
 box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);
 transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.hero-actions .btn:hover {
 transform: translateY(-1px);
}

.hero-actions .btn-outline-light {
 border: 1px solid rgba(255, 255, 255, 0.78);
 color: #ffffff;
}

.hero-actions .btn-outline-light:hover {
 color: var(--cf-primary);
 background: rgba(255, 255, 255, 0.94);
 box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
}

#hero .carousel-indicators li,
#hero .carousel-indicators button {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 border: none;
 margin: 0 4px;
 background: rgba(255, 255, 255, 0.45);
}

#hero .carousel-indicators .active {
 width: 8px;
 background: #7ed5eb;
}

#hero .carousel-control-prev,
#hero .carousel-control-next {
 width: 7%;
 opacity: 0.88;
}

#hero .carousel-control-prev-icon,
#hero .carousel-control-next-icon {
 width: 44px;
 height: 44px;
 border-radius: 999px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 font-size: 18px;
 background: rgba(7, 20, 41, 0.36);
 border: 1px solid rgba(255, 255, 255, 0.24);
 box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
 transition: all 0.25s ease;
}

#hero .carousel-control-prev:hover .carousel-control-prev-icon,
#hero .carousel-control-next:hover .carousel-control-next-icon {
 background: rgba(16, 136, 165, 0.26);
 border-color: rgba(255, 255, 255, 0.55);
 transform: translateX(1px);
}

.hero-scroll-down {
 position: absolute;
 bottom: 32px;
 left: 50%;
 transform: translateX(-50%);
 z-index: 10;
}

.hero-scroll-down a {
 display: flex;
 width: 42px;
 height: 42px;
 border-radius: 50%;
 border: 2px solid rgba(255, 255, 255, 0.45);
 color: rgba(255, 255, 255, 0.85);
 font-size: 20px;
 align-items: center;
 justify-content: center;
 animation: heroScrollBounce 2.2s ease-in-out infinite;
 backdrop-filter: blur(4px);
 background: rgba(255, 255, 255, 0.08);
}

.hero-scroll-down a:hover {
 border-color: rgba(255, 255, 255, 0.9);
 color: #ffffff;
 background: rgba(255, 255, 255, 0.18);
}

@keyframes heroScrollBounce {
 0%,
 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(8px);
 }
}

.hero-trust-band {
 margin-top: -1px;
 background: linear-gradient(130deg, #092244 0%, #0d305f 100%);
 padding: 16px 0;
 border-top: 1px solid rgba(255, 255, 255, 0.08);
 border-bottom: 1px solid rgba(13, 45, 98, 0.18);
}

.hero-trust-band .trust-item {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 10px;
 border-radius: 10px;
 padding: 9px 10px;
 background: rgba(255, 255, 255, 0.05);
}

.hero-trust-band .trust-item i {
 color: #78d8f0;
 font-size: 16px;
}

.hero-trust-band .trust-item span {
 color: rgba(228, 239, 250, 0.92);
 font-size: 13px;
 font-weight: 600;
 letter-spacing: 0.01em;
}

.home-page .intro {
 padding: 62px 0;
}

.home-page .intro-title-block {
 max-width: 860px;
 margin-left: auto;
 margin-right: auto;
}

.home-page .intro-kicker {
 display: inline-block;
 padding: 5px 12px;
 border-radius: 999px;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: var(--cf-accent-700);
 background: rgba(16, 136, 165, 0.11);
 border: 1px solid rgba(16, 136, 165, 0.26);
}

.home-page .intro-title-block h3 {
 font-size: 32px;
 font-weight: 800;
 color: var(--cf-primary);
 line-height: 1.25;
 margin-bottom: 10px;
}

.home-page .intro-title-block p {
 font-size: 15px;
 color: #506d8c;
}

.home-page .cap-card {
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), var(--cf-surface));
 border: 1px solid rgba(16, 136, 165, 0.14);
 border-radius: 0;
 padding: 30px 26px;
 box-shadow: 0 16px 36px rgba(13, 45, 98, 0.08);
 transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.home-page .cap-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 24px 48px rgba(13, 45, 98, 0.14);
 border-color: rgba(16, 136, 165, 0.32);
}

.home-page .cap-icon {
 width: 56px;
 height: 56px;
 border-radius: 16px;
 background: linear-gradient(135deg, rgba(16, 136, 165, 0.16), rgba(13, 45, 98, 0.08));
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 10px auto 28px;
}

.home-page .cap-icon i {
 font-size: 22px;
 color: var(--cf-accent);
}

.home-page .cap-card h5 {
 font-size: 18px;
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 9px;
}

.home-page .cap-card p {
 margin-bottom: 0;
 color: var(--cf-muted);
 font-size: 14.5px;
 line-height: 1.7;
}

.home-page .cap-meta {
 margin-top: 14px;
 display: inline-flex;
 padding: 5px 11px;
 border-radius: 999px;
 background: rgba(13, 45, 98, 0.06);
 color: #3f5f86;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
}

.home-page .about .title {
 font-size: 38px;
 letter-spacing: 0.3px;
}

.home-page .about-eyebrow {
 display: inline-block;
 padding: 5px 12px;
 margin-bottom: 12px;
 border-radius: 999px;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: var(--cf-accent);
 background: rgba(16, 136, 165, 0.1);
 border: 1px solid rgba(16, 136, 165, 0.28);
}

.home-page .about-callout {
 font-size: 15px;
 color: var(--cf-primary);
 font-weight: 600;
 font-style: italic;
 border-left: 3px solid var(--cf-accent);
 padding-left: 14px;
 margin-top: 16px;
 margin-bottom: 0;
 line-height: 1.7;
}

.home-page .about-points {
 margin-top: 16px;
}

.home-page .about-point {
 display: flex;
 align-items: flex-start;
 gap: 10px;
 color: #486789;
 font-size: 14px;
 font-weight: 600;
 line-height: 1.6;
 margin-bottom: 10px;
}

.home-page .about-point i {
 color: var(--cf-accent);
 margin-top: 2px;
 font-size: 16px;
}

.home-page .about-visual-stack {
 display: grid;
 gap: 14px;
}

.home-page .about-img-ring {
 border-radius: 20px;
 padding: 28px;
 background: linear-gradient(
  135deg,
  rgba(16, 136, 165, 0.07),
  rgba(13, 45, 98, 0.04)
 );
 border: 1px solid var(--cf-border);
 box-shadow: 0 16px 36px rgba(13, 45, 98, 0.08);
}

.home-page .about-img-ring img {
 width: 100%;
 display: block;
}

.home-page .about-metric {
 border: 1px solid var(--cf-border);
 border-radius: 12px;
 background: #ffffff;
 padding: 14px;
 box-shadow: 0 8px 20px rgba(13, 45, 98, 0.06);
 height: 100%;
}

.home-page .about-metric .value {
 display: block;
 font-size: 17px;
 font-weight: 800;
 color: var(--cf-primary);
 line-height: 1.3;
}

.home-page .about-metric .label {
 display: block;
 margin-top: 4px;
 font-size: 11px;
 color: #5d7898;
 text-transform: uppercase;
 letter-spacing: 0.04em;
}

.home-page .criteria-card {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 14px;
 padding: 24px;
 box-shadow: 0 10px 24px rgba(13, 45, 98, 0.08);
 transition: all 0.25s ease;
}

.home-page .criteria-card:hover {
 transform: translateY(-4px);
 box-shadow: 0 18px 34px rgba(13, 45, 98, 0.12);
 border-color: rgba(16, 136, 165, 0.35);
}

.home-page .criteria-card .criteria-icon {
 font-size: 30px;
 color: var(--cf-accent);
 margin-bottom: 14px;
 display: block;
}

.home-page .criteria-card h5 {
 margin-bottom: 12px;
 color: var(--cf-primary);
 font-size: 21px;
}

.home-page .criteria-card ul {
 margin: 0;
 padding-left: 20px;
}

.home-page .criteria-card li {
 margin-bottom: 9px;
 color: var(--cf-muted);
}

.home-page .process-stepper {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 24px;
 position: relative;
}

.home-page .process-stepper::before {
  content: '';
  position: absolute;
  top: 42px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: rgba(16, 136, 165, 0.18);
  border-radius: 2px;
  z-index: 0;
}
 position: relative;
 z-index: 1;
 text-align: center;
}

.home-page .ps-node {
 width: 56px;
 height: 56px;
 border-radius: 50%;
 background: linear-gradient(135deg, var(--cf-accent), var(--cf-primary));
 color: #ffffff;
 font-weight: 800;
 font-size: 17px;
 font-family: 'Raleway', sans-serif;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto 20px;
 border: 6px solid #ffffff;
 box-shadow: 0 10px 26px rgba(16, 136, 165, 0.22);
}

.home-page .ps-content {
 background: linear-gradient(180deg, #ffffff, #f8fbff);
 border: 1px solid var(--cf-border);
 border-radius: 16px;
 padding: 24px 20px;
 min-height: 250px;
 box-shadow: 0 10px 24px rgba(13, 45, 98, 0.07);
 transition: all 0.25s ease;
}

.home-page .ps-kicker {
 display: inline-block;
 margin-bottom: 10px;
 padding: 4px 10px;
 border-radius: 999px;
 background: rgba(16, 136, 165, 0.1);
 color: var(--cf-accent-700);
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
}

.home-page .ps-step:hover .ps-content {
 transform: translateY(-4px);
 border-color: rgba(16, 136, 165, 0.35);
 box-shadow: 0 18px 34px rgba(13, 45, 98, 0.12);
}

.home-page .ps-content h5 {
 font-size: 19px;
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 10px;
}

.home-page .ps-content p {
 font-size: 14px;
 color: var(--cf-muted);
 line-height: 1.75;
 margin-bottom: 0;
}

.home-page .process-note {
 max-width: 880px;
 margin-left: auto;
 margin-right: auto;
 padding: 16px 20px;
 border-radius: 14px;
 background: rgba(16, 136, 165, 0.06);
 border: 1px solid rgba(16, 136, 165, 0.16);
 color: #43607f;
 font-size: 14px;
 line-height: 1.7;
 text-align: center;
}

.home-page .process-note strong {
 color: var(--cf-primary);
}

.home-page .why-item {
 display: flex;
 align-items: flex-start;
 gap: 14px;
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 12px;
 padding: 20px;
 height: 100%;
 box-shadow: 0 6px 18px rgba(13, 45, 98, 0.07);
 transition: all 0.25s ease;
}

.home-page .why-item:hover {
 border-color: rgba(16, 136, 165, 0.35);
 box-shadow: 0 12px 28px rgba(13, 45, 98, 0.12);
}

.home-page .why-item > i {
 font-size: 24px;
 color: var(--cf-accent);
 flex-shrink: 0;
 margin-top: 2px;
}

.home-page .why-item h6 {
 font-size: 15px;
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 5px;
}

.home-page .why-item p {
 margin-bottom: 0;
 color: var(--cf-muted);
 font-size: 13.5px;
 line-height: 1.6;
}

.home-page #homeFaqAccordion {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 18px;
 padding: 18px;
 box-shadow: 0 14px 30px rgba(13, 45, 98, 0.07);
}

@media (max-width: 991px) {
 #hero h2 {
  font-size: 2.15rem;
 }

 #hero p {
  font-size: 0.95rem;
 }

 #hero .carousel-control-prev,
 #hero .carousel-control-next {
  display: none;
 }

 .home-page .about .title {
  font-size: 32px;
 }

 .home-page .about-metrics-grid {
  margin-top: 4px;
 }

 .home-page .process-stepper {
  grid-template-columns: repeat(2, 1fr);
  row-gap: 28px;
 }

 .home-page .process-stepper::before {
  display: none;
 }
}

@media (max-width: 575px) {
 #hero h2 {
  font-size: 1.7rem;
 }

 #hero p {
  line-height: 1.65;
  margin-bottom: 18px;
 }

 .hero-actions .btn {
  width: 100%;
 }

 #hero .hero-content {
  padding: 18px 14px;
  border-radius: 16px;
 }

 #hero .carousel-control-prev-icon,
 #hero .carousel-control-next-icon {
  width: 34px;
  height: 34px;
  font-size: 16px;
 }

 .hero-mini-metrics {
  grid-template-columns: 1fr;
 }

 .hero-trust-band .trust-item {
  justify-content: flex-start;
  padding: 10px 12px;
 }

 .feature-card,
 .program-card,
 .metric-card,
 .link-card,
 .criteria-card,
 .faq-snippet-card,
 .home-page .cap-card,
 .home-page .ps-content {
  padding: 20px;
 }

 .home-page .about-metric {
  padding: 12px;
 }
}

@media (max-width: 767px) {
 .home-page .process-stepper {
  grid-template-columns: 1fr;
 }
}

/* Stats Band */
.home-page .stats-band {
 background: linear-gradient(135deg, #061732 0%, #0b2a57 50%, #0a3a5f 100%);
 padding: 48px 0;
 position: relative;
 overflow: hidden;
}

.home-page .stats-head {
 max-width: 860px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
 z-index: 1;
}

.home-page .stats-head h3 {
 color: #ffffff;
 font-size: 34px;
 font-weight: 800;
 line-height: 1.25;
 margin-bottom: 12px;
}

.home-page .stats-kicker {
 display: inline-block;
 padding: 5px 12px;
 margin-bottom: 10px;
 border-radius: 999px;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: #7ecfeb;
 border: 1px solid rgba(126, 207, 235, 0.35);
 background: rgba(16, 136, 165, 0.14);
}

.home-page .stats-head p {
 margin-bottom: 0;
 color: rgba(219, 231, 245, 0.84);
 font-size: 15px;
 line-height: 1.7;
}

.home-page .stats-band::before {
 content: '';
 position: absolute;
 inset: 0;
 background: radial-gradient(
  circle at 72% 50%,
  rgba(16, 136, 165, 0.24),
  transparent 55%
 );
 pointer-events: none;
}

.home-page .stats-grid .stat-item {
 padding: 24px 24px;
 text-align: center;
 background: rgba(255, 255, 255, 0.08);
 border-radius: 18px;
 border: 1px solid rgba(255, 255, 255, 0.12);
 backdrop-filter: blur(12px);
 position: relative;
 z-index: 1;
 height: 100%;
}

.home-page .stats-grid .col-6:last-child .stat-item,
.home-page .stats-grid .col-lg-3:last-child .stat-item {
 border-right: none;
}

.home-page .stat-value {
 display: block;
 font-size: 26px;
 font-weight: 800;
 color: #ffffff;
 font-family: 'Raleway', sans-serif;
 line-height: 1.25;
 margin-bottom: 6px;
}

.home-page .stat-label {
 display: block;
 font-size: 12px;
 font-weight: 600;
 color: rgba(255, 255, 255, 0.65);
 letter-spacing: 0.05em;
 text-transform: uppercase;
}

.home-page .stat-sub {
 display: block;
 margin-top: 8px;
 font-size: 12.5px;
 line-height: 1.55;
 color: rgba(219, 231, 245, 0.78);
}

/* Asset Type Tiles */
.home-page .property-focus-section {
 position: relative;
}

.home-page .asset-tile {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 14px;
 padding: 22px;
 transition: all 0.25s ease;
 box-shadow: 0 8px 20px rgba(13, 45, 98, 0.07);
 text-align: left;
}

.home-page .asset-tile:hover {
 border-color: rgba(16, 136, 165, 0.5);
 box-shadow: 0 16px 34px rgba(16, 136, 165, 0.16);
 transform: translateY(-4px);
}

.home-page .asset-tile i {
 display: inline-flex;
 width: 46px;
 height: 46px;
 border-radius: 12px;
 align-items: center;
 justify-content: center;
 font-size: 24px;
 color: var(--cf-accent);
 margin-bottom: 12px;
 background: rgba(16, 136, 165, 0.11);
}

.home-page .asset-tile h5 {
 font-size: 19px;
 font-weight: 700;
 color: var(--cf-primary);
 margin-bottom: 8px;
}

.home-page .asset-tile p {
 margin-bottom: 0;
 font-size: 14px;
 line-height: 1.65;
 color: var(--cf-muted);
}

.home-page .focus-kicker {
 display: inline-block;
 padding: 5px 12px;
 margin-bottom: 10px;
 border-radius: 999px;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: var(--cf-primary);
 background: rgba(13, 45, 98, 0.08);
}

.home-page .focus-note {
 max-width: 840px;
 margin-left: auto;
 margin-right: auto;
 color: #526f8f;
 font-size: 14px;
 line-height: 1.7;
}

/* Deal CTA Band */
.home-page .deal-cta-band {
 background: linear-gradient(150deg, #061732 0%, #0b2a57 48%, #093a54 100%);
 padding: 90px 0;
 position: relative;
 overflow: hidden;
}

.home-page .deal-cta-band::before {
 content: '';
 position: absolute;
 inset: 0;
 background:
  radial-gradient(circle at 85% 20%, rgba(16, 136, 165, 0.25), transparent 42%),
  radial-gradient(circle at 10% 80%, rgba(13, 45, 98, 0.35), transparent 38%);
 pointer-events: none;
}

.home-page .deal-cta-eyebrow {
 display: inline-block;
 padding: 5px 12px;
 margin-bottom: 16px;
 border-radius: 999px;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: #7ecfeb;
 border: 1px solid rgba(126, 207, 235, 0.38);
 background: rgba(16, 136, 165, 0.14);
}

.home-page .deal-cta-heading {
 font-size: 36px;
 font-weight: 800;
 color: #ffffff;
 line-height: 1.25;
 margin-bottom: 16px;
}

.home-page .deal-cta-sub {
 color: rgba(219, 231, 245, 0.85);
 font-size: 16px;
 line-height: 1.75;
 margin-bottom: 0;
}

.home-page .deal-check-item {
 display: flex;
 align-items: center;
 gap: 8px;
 color: rgba(219, 231, 245, 0.88);
 font-size: 14px;
 font-weight: 600;
 padding: 7px 0;
}

.home-page .deal-check-item i {
 color: #5ed8a8;
 font-size: 16px;
 flex-shrink: 0;
}

.home-page .deal-cta-card {
 background: rgba(255, 255, 255, 0.08);
 border: 1px solid rgba(255, 255, 255, 0.18);
 border-radius: 22px;
 padding: 36px;
 backdrop-filter: blur(16px);
 box-shadow: 0 24px 48px rgba(4, 18, 40, 0.18);
 position: relative;
 z-index: 1;
}

.home-page .deal-cta-card h4 {
 color: #ffffff;
 font-weight: 800;
 font-size: 26px;
 margin-bottom: 14px;
}

.home-page .deal-cta-card > p {
 color: rgba(219, 231, 245, 0.88);
 font-size: 15.5px;
 margin-bottom: 0;
 line-height: 1.75;
}

.home-page .deal-cta-card .btn-outline-light {
 border-color: rgba(255, 255, 255, 0.36);
 color: rgba(255, 255, 255, 0.9);
 font-weight: 700;
}

.home-page .deal-cta-card .btn-outline-light:hover {
 background: rgba(255, 255, 255, 0.12);
 border-color: rgba(255, 255, 255, 0.7);
}

.home-page .deal-cta-contact-meta {
 padding-top: 18px;
 border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.home-page .deal-cta-contact-meta a {
 color: #7ecfeb;
 font-size: 14px;
 font-weight: 600;
}

.home-page .deal-cta-contact-meta a:hover {
 color: #ffffff;
}

.home-page .deal-cta-contact-meta i {
 color: rgba(255, 255, 255, 0.55);
 font-size: 16px;
}

@media (max-width: 991px) {
 .home-page .deal-cta-heading {
  font-size: 28px;
 }

 .home-page .stats-head h3 {
  font-size: 28px;
 }

 .home-page .stat-value {
  font-size: 20px;
 }

 .home-page .stat-sub {
  font-size: 12px;
 }
}

@media (max-width: 575px) {
 .home-page .deal-cta-band {
  padding: 60px 0;
 }

 .home-page .stats-head h3 {
  font-size: 24px;
 }

 .home-page .deal-cta-heading {
  font-size: 24px;
 }

 .home-page .deal-cta-card {
  padding: 24px;
 }

 .home-page .stats-grid .stat-item {
  border-right: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 16px 12px;
 }

 .home-page .stats-head p {
  font-size: 14px;
 }

 .home-page .stats-grid .col-6:last-child .stat-item {
  border-bottom: none;
 }
}

@media (max-width: 991px) {
 .home-page .intro-title-block h3 {
  font-size: 27px;
 }
}

@media (max-width: 575px) {
 .home-page .intro-title-block h3 {
  font-size: 24px;
 }
}

/* Contact page refinement */
.contact-professional {
 position: relative;
}

.contact-professional .contact-intro {
 max-width: 760px;
}

.contact-professional .eyebrow {
 display: inline-block;
 padding: 5px 12px;
 margin-bottom: 14px;
 border-radius: 999px;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: var(--cf-primary);
 background: rgba(16, 136, 165, 0.12);
}

.contact-professional .contact-intro h2 {
 font-size: 40px;
 font-weight: 800;
 margin-bottom: 12px;
 color: var(--cf-primary);
}

.contact-professional .contact-intro p {
 margin-bottom: 0;
 color: var(--cf-muted);
 font-size: 17px;
}

.contact-info-card,
.contact-form-card {
 background: var(--cf-surface);
 border: 1px solid var(--cf-border);
 border-radius: 16px;
 box-shadow: var(--cf-shadow);
}

.contact-info-card {
 height: 100%;
 padding: 30px;
}


.contact-info-item {
 display: flex;
 align-items: flex-start;
 gap: 14px;
}

.contact-info-item + .contact-info-item {
 margin-top: 24px;
}

.contact-professional .contact-info-item i {
 width: 42px;
 height: 42px;
 border-radius: 12px;
 background: rgba(16, 136, 165, 0.12);
 color: var(--cf-accent);
 display: inline-flex;
 justify-content: center;
 align-items: center;
 font-size: 20px;
}

.contact-info-item h4 {
 margin-bottom: 6px;
 font-size: 20px;
 font-weight: 700;
 color: var(--cf-primary);
}

.contact-info-item p {
 margin-bottom: 0;
 color: var(--cf-muted);
 line-height: 1.7;
 font-size: 15px;
}

.contact-info-item p a {
 color: var(--cf-muted);
}

.contact-info-item p a:hover {
 color: var(--cf-accent);
}

.contact-note {
 margin-top: 28px;
 padding: 18px;
 border-radius: 12px;
 border: 1px dashed rgba(16, 136, 165, 0.38);
 background: rgba(16, 136, 165, 0.06);
}

.contact-note h5 {
 margin-bottom: 6px;
 font-size: 18px;
 font-weight: 700;
 color: var(--cf-primary);
}

.contact-note p {
 margin-bottom: 8px;
 font-size: 14px;
 color: #466288;
}

.contact-form-card {
 padding: 30px;
}

.contact-form-card .form-heading {
 margin-bottom: 18px;
}

.contact-form-card .form-heading h4, .contact-info-card .contact-title {
 margin-bottom: 8px;
 font-size: 24px;
 font-weight: 700;
 color: var(--cf-primary);
}

.contact-form-card .form-heading p {
 margin-bottom: 0;
 color: var(--cf-muted);
}

.contact-professional .php-email-form {
 background: transparent;
 padding: 0;
}

.contact-professional .php-email-form .form-group {
 padding-bottom: 0;
}

.contact-professional .php-email-form label {
 display: block;
 font-size: 13px;
 font-weight: 700;
 color: #284974;
 margin-bottom: 8px;
}

.contact-professional .php-email-form input,
.contact-professional .php-email-form textarea {
 border: 1px solid var(--cf-border);
 border-radius: 10px;
 font-size: 15px;
 padding: 12px 14px;
 color: var(--cf-text);
 background: #ffffff;
}

.contact-professional .php-email-form input {
 height: 48px;
}

.contact-professional .php-email-form textarea {
 min-height: 150px;
}

.contact-professional .php-email-form input:focus,
.contact-professional .php-email-form textarea:focus {
 border-color: rgba(16, 136, 165, 0.6);
 box-shadow: 0 0 0 4px rgba(16, 136, 165, 0.14);
}

.contact-professional .php-email-form button[type='submit'] {
 background: linear-gradient(135deg, var(--cf-accent), #0d7390);
 border-radius: 10px;
 border: 0;
 padding: 12px 24px;
 color: #ffffff;
 font-weight: 700;
 font-size: 15px;
 letter-spacing: 0.01em;
 box-shadow: 0 10px 22px rgba(16, 136, 165, 0.28);
}

.contact-professional .php-email-form button[type='submit']:hover {
 background: linear-gradient(135deg, var(--cf-primary), var(--cf-primary-700));
}

@media (max-width: 991px) {
 .contact-professional .contact-intro h2 {
  font-size: 32px;
 }

 .contact-info-card,
 .contact-form-card {
  padding: 24px;
 }
}

@media (max-width: 575px) {
 .contact-professional .contact-intro h2 {
  font-size: 28px;
 }

 .contact-professional .contact-intro p {
  font-size: 16px;
 }
}
