 :root {
     --primary: #0a2342;
     --accent: #e8a020;
     --accent2: #1a6fad;
     --light-bg: #f5f7fa;
     --white: #fff;
     --text-dark: #0d1b2a;
     --text-muted: #6b7a8d;
     --border: #e2e8f0;
     --card-shadow: 0 4px 32px rgba(10, 35, 66, .09);
     --radius: 16px
 }

 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     font-family: 'Poppins' !important;
 }

 b {
     color: #000;
 }

 html {
     scroll-behavior: smooth;
     overflow-x: hidden;
     overscroll-behavior-x: none;
     touch-action: pan-y;
 }

 body {
     font-family: 'Poppins';
     color: var(--text-dark);
     background: var(--white);
     overflow-x: hidden;
     overscroll-behavior-x: none;
     touch-action: pan-y;
 }

 /* REVEAL */
 .reveal {
     opacity: 0;
     transform: translateY(36px);
     transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1)
 }

 /* SECTION ENTRANCE */
 .sect-enter {
     opacity: 0;
     transform: translateY(50px);
     filter: blur(4px);
     transition:
        opacity .9s cubic-bezier(.22,1,.36,1),
        transform .9s cubic-bezier(.22,1,.36,1),
        filter .9s cubic-bezier(.22,1,.36,1);
     will-change: transform, opacity, filter;
 }
 .sect-enter.visible {
     opacity: 1;
     transform: none;
     filter: blur(0);
 }
 /* .sect-enter.from-left  { transform: translateX(-40px) translateY(20px); } */
 /* .sect-enter.from-right { transform: translateX(40px) translateY(20px); } */
 /* .sect-enter.scale-in   { transform: scale(.96); } */
 @media (prefers-reduced-motion: reduce) {
     .sect-enter { opacity: 1 !important; transform: none !important; filter: none !important; }
 }

 .reveal.from-left {
     transform: translateX(-40px)
 }

 .reveal.from-right {
     transform: translateX(40px)
 }

 .reveal.scale-in {
     transform: scale(.88)
 }

 .reveal.visible {
     opacity: 1 !important;
     transform: none !important
 }

 .s1 {
     transition-delay: .05s
 }

 .s2 {
     transition-delay: .13s
 }

 .s3 {
     transition-delay: .21s
 }

 .s4 {
     transition-delay: .29s
 }

 .s5 {
     transition-delay: .37s
 }

 .s6 {
     transition-delay: .45s
 }

 .s7 {
     transition-delay: .53s
 }

 /* NAVBAR */
 .navbar {
     padding: 10px 0;
     box-shadow: 0 2px 18px rgba(10, 35, 66, .18);
     position: fixed;
     top: 0;
     z-index: 1000;
     transition: background .3s;
     background-color:rgb(255 255 255 / 0%) !important;
     border-radius: 0 0 20px 20px;
     border-bottom: 1px solid rgba(209, 213, 219, 0.3);
     width: 100%;
 }

 /* blur lives on a pseudo-element: backdrop-filter on .navbar itself would make it
    the containing block for the fixed-position mobile sidebar and trap it inside the bar */
 .navbar::before {
     content: '';
     position: absolute;
     inset: 0;
     border-radius: inherit;
     backdrop-filter: blur(2px) saturate(180%);
     pointer-events: none;
     z-index: -1;
 }

 .navbar.scrolled {
     background: #ffffff !important;
     border-bottom-color: rgba(209, 213, 219, .5);
 }

 .navbar.scrolled::before {
     backdrop-filter: none;
 }

 .navbar.scrolled .navbar-brand,
 .navbar.scrolled .navbar-nav .nav-link {
     color: #000 !important;
 }

 .navbar.scrolled .navbar-toggler-icon {
     filter: none;
 }

 .navbar-brand {
     font-weight: 800;
     font-size: 1.18rem;
     color:#000 !important;
     letter-spacing: -.5px;
     display: flex;
     align-items: center;
     gap: 10px
 }

 .brand-badge {
     background: var(--accent);
     color: var(--primary);
     font-size: .65rem;
     font-weight: 800;
     border-radius: 5px;
     padding: 2px 7px;
     letter-spacing: 1px;
     text-transform: uppercase
 }

 .navbar-nav .nav-link {
     color: rgba(0, 0, 0, 0.82) !important;
     font-size: .88rem;
     font-weight: 500;
     padding: 1.1rem 1rem !important;
     transition: color .2s;
     position: relative
 }

 .navbar-nav .nav-link::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 1rem;
     right: 1rem;
     height: 2px;
     background: var(--accent);
     transform: scaleX(0);
     transition: transform .25s
 }

 .navbar-nav .nav-link:hover {
     color: var(--accent) !important
 }

 .navbar-nav .nav-link:hover::after {
     transform: scaleX(1)
 }

 .nav-cta {
        position: relative;
    background: #e8a020 !important;
    color: #0a2342 !important;
    font-weight: 800 !important;
    border-radius: 0 !important;
    padding: .55rem 1.3rem !important;
    margin-left: 8px;
    font-size: .82rem !important;
    letter-spacing: .5px;
    text-transform: uppercase;
    border: 2px solid #2e3785 !important;
    box-shadow: 4px 4px 0 #2e3785 !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
 }
 .nav-cta:hover {
     color: #0a2342 !important;
     background: #fff !important;
     transform: translate(-2px, -2px) !important;
     box-shadow: 6px 6px 0 #0a2342 !important;
 }
 .nav-cta:active {
     transform: translate(2px, 2px) !important;
     box-shadow: 2px 2px 0 #0a2342 !important;
 }

 @media (max-width: 991px) {
     .nav-cta {
         display: inline-flex !important;
         width: fit-content !important;
         padding: .5rem 1rem !important;
         margin-left: 0 !important;
     }
 }

 .navbar-toggler {
     border: 1px solid rgba(10, 34, 66, .25);
     padding: 6px 10px;
     box-shadow: 0 4px 12px rgba(10,34,66,.08);
 }
 .navbar-toggler:focus {
     box-shadow: 0 0 0 3px rgba(232,160,32,.25);
 }
 .navbar-toggler-icon {
     filter: none;
     background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%230a2342' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
 }

 @media (max-width: 991px) {
     .navbar-collapse {
         position: fixed;
         top: 0;
         right: 0;
         bottom: 0;
         width: 80%;
         max-width: 320px;
         background: #ffffff;
         padding: 80px 28px 28px;
         box-shadow: -16px 0 40px rgba(10,34,66,.18);
         z-index: 1050;
         display: block !important;
         transform: translateX(100%);
         transition: transform .35s cubic-bezier(.22,1,.36,1);
         overflow-y: auto;
         visibility: hidden;
     }
     .navbar-collapse.show,
     .navbar-collapse.collapsing {
         transform: translateX(0);
         visibility: visible;
         height: 100% !important;
     }
     .navbar-collapse.show ~ .navbar-toggler,
     .navbar-collapse.collapsing ~ .navbar-toggler { display: none; }

     .navbar-collapse .navbar-nav {
         flex-direction: column;
         gap: 4px;
         padding-bottom: 8px;
     }

     .navbar-collapse .navbar-nav .nav-link {
         color: #0a2342 !important;
         font-weight: 600;
         font-size: 1rem;
         padding: 12px 14px !important;
         border-radius: 10px;
         transition: background .2s, color .2s, padding-left .2s;
     }

     .navbar-collapse .navbar-nav .nav-link:hover {
         color: var(--accent) !important;
         background: rgba(232,160,32,.08);
         padding-left: 18px !important;
     }

     .navbar-collapse .nav-cta {
         margin-top: 10px;
         text-align: center;
     }

     /* close (X) button */
     .nav-close {
         position: absolute;
         top: 18px;
         right: 18px;
         width: 38px;
         height: 38px;
         border-radius: 50%;
         display: flex !important;
         align-items: center;
         justify-content: center;
         background: rgba(10,34,66,.06);
         border: none;
         color: #0a2342;
         font-size: 1.4rem;
         cursor: pointer;
         z-index: 2;
     }
     .nav-close:hover { background: var(--accent); color: #fff; }

     /* backdrop */
     .nav-backdrop {
         display: block;
         position: fixed;
         inset: 0;
         background: rgba(10, 34, 66, .45);
         opacity: 0;
         visibility: hidden;
         transition: opacity .3s ease, visibility .3s ease;
         z-index: 1040;
     }
     body.nav-open .nav-backdrop {
         opacity: 1;
         visibility: visible;
     }
     body.nav-open { overflow: hidden; }
 }
 @media (min-width: 992px) {
     .nav-close, .nav-backdrop { display: none !important; }
 }

 /* HERO */
 .hero {
     position: relative;
     min-height: 92vh;
     display: flex;
     align-items: center;
     background: var(--primary);
     overflow: hidden
 }

 .top_bnr {
     position: relative;
     overflow: visible;
     padding-bottom: 8rem;
 }

 .top_bnr img {
     display: block;
     width: 100%;
     height: auto;
     object-fit: cover;
 }

 .hero-stats-container {
     position: absolute;
     left: 50%;
     bottom: 0;
     transform: translate(-50%, 50%);
     width: auto;
     display: flex;
     justify-content: center;
     z-index: 10;
     pointer-events: none;
     padding: 0 1rem;
 }

 .hero-stats-container .hero-stats {
     pointer-events: auto;
     margin-top: 0;
     width: fit-content;
     max-width: min(980px, calc(100% - 2rem));
     background: rgba(255, 255, 255, .94);
     border: 1px solid rgba(255, 255, 255, .9);
     border-radius: 24px;
     box-shadow: 0 20px 50px rgba(232, 160, 32, .16), 0 0 30px rgba(232, 160, 32, .14), 0 0 90px rgba(255, 255, 255, .08);
     overflow: hidden;
     backdrop-filter: blur(18px);
 }

 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(120deg, rgb(10 35 66 / 64%) 38%, rgb(26 111 173 / 0%) 100%);
     z-index: 0
 }

 .hero-content {
     position: relative;
     z-index: 2;
     padding: 80px 0 60px
 }

 .hero-eyebrow {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(232, 160, 32, .13);
     border: 1px solid rgba(232, 160, 32, .36);
     color: var(--accent);
     font-size: .78rem;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     border-radius: 100px;
     padding: 5px 16px;
     margin-bottom: 1.4rem;
     animation: fadeUp .6s ease both
 }

 .hero h1 {
     font-size: 64px;
     font-weight: 900;
     color: var(--white);
     line-height: 1.4;
     letter-spacing: -1.5px;
     animation: fadeUp .7s .1s ease both;
     font-family: 'Poppins';
 }

 .hero h1 span {
     color: var(--accent);
     position: relative
 }

 .hero h1 span::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--accent), transparent);
     border-radius: 2px;
     animation: lineGrow 1s .9s ease both
 }

 @keyframes lineGrow {
     from {
         transform: scaleX(0);
         transform-origin: left
     }

     to {
         transform: scaleX(1)
     }
 }

 .hero-sub {
     font-size: 1.08rem;
     color: rgba(255, 255, 255, .72);
     max-width: 560px;
     margin-top: 1.2rem;
     line-height: 1.7;
     font-weight: 400;
     animation: fadeUp .7s .2s ease both
 }

 .hero-stats {
     display: flex;
     gap: 0;
     flex-wrap: nowrap;
     justify-content: center;
     align-items: center;
     animation: fadeUp .7s .3s ease both;
     width: fit-content;
     white-space: nowrap;
 }

 .hero-stat-item {
     text-align: center;
     padding: 22px 32px;
     position: relative;
     min-width: 0;
 }

 .hero-stat-item+.hero-stat-item::before { display: none; }

 .hero-stat-num {
     font-size: 2.4rem;
     font-weight: 900;
     color: var(--primary);
     letter-spacing: -1px;
     line-height: 1;
 }

 .hero-stat-label {
     font-size: .78rem;
     color: rgba(10, 35, 66, .72);
     text-transform: uppercase;
     letter-spacing: 1px;
     margin-top: 8px;
     font-weight: 700;
 }

 .hero-btns {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
     margin-top: 2rem;
     animation: fadeUp .7s .4s ease both
 }

 .btn-ph {
     background: var(--accent);
     color: var(--primary);
     font-weight: 700;
     font-size: .95rem;
     border: none;
     border-radius: 10px;
     padding: .78rem 2rem;
     transition: all .25s;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 8px;
     position: relative;
     overflow: hidden
 }

 .btn-ph::before {
     content: '';
     position: absolute;
     inset: 0;
     background: rgba(255, 255, 255, .15);
     transform: translateX(-100%);
     transition: transform .3s
 }

 .btn-ph:hover::before {
     transform: translateX(0)
 }

 .btn-ph:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 28px rgba(232, 160, 32, .45);
     color: var(--primary)
 }

 .btn-oh {
     background: transparent;
     color: var(--white);
     font-weight: 600;
     font-size: .95rem;
     border: 1.5px solid rgba(255, 255, 255, .35);
     border-radius: 10px;
     padding: .78rem 1.8rem;
     transition: all .25s;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 8px
 }

 .btn-oh:hover {
     border-color: var(--accent);
     color: var(--accent);
     transform: translateY(-2px)
 }

 .hero-img-wrap {
     position: relative;
     z-index: 2;
     animation: fadeUp .8s .3s ease both
 }

 .hero-img-card {
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0 30px 80px rgba(0, 0, 0, .4);
     border: 3px solid rgba(255, 255, 255, .1);
     transform: perspective(900px) rotateY(-4deg);
     transition: transform .5s
 }

 .hero-img-card:hover {
     transform: perspective(900px) rotateY(0)
 }

 .hero-img-card img {
     width: 100%;
     display: block;
     height: 440px;
     object-fit: cover
 }

 .fc {
     position: absolute;
     background: var(--white);
     border-radius: 12px;
     box-shadow: 0 8px 32px rgba(10, 35, 66, .2);
     padding: 12px 18px;
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: .82rem;
     font-weight: 600;
     color: var(--text-dark);
     white-space: nowrap;
     animation: floatBob 3s ease-in-out infinite
 }

 .fc1 {
     bottom: -18px;
     left: -20px;
     animation-delay: .5s
 }

 .fc2 {
     top: -18px;
     right: -20px
 }

 @keyframes floatBob {

     0%,
     100% {
         transform: translateY(0)
     }

     50% {
         transform: translateY(-8px)
     }
 }

 .fi {
     width: 34px;
     height: 34px;
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1rem
 }

 .scroll-hint {
     position: absolute;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     z-index: 2;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 6px;
     color: rgba(255, 255, 255, .4);
     font-size: .7rem;
     letter-spacing: 1px;
     text-transform: uppercase;
     animation: fadeUp 1s 1.2s ease both
 }

 .scroll-arr {
     width: 22px;
     height: 22px;
     border-right: 2px solid rgba(255, 255, 255, .3);
     border-bottom: 2px solid rgba(255, 255, 255, .3);
     transform: rotate(45deg);
     animation: scrollP 1.5s ease-in-out infinite
 }

 @keyframes scrollP {

     0%,
     100% {
         opacity: .4;
         transform: rotate(45deg) translateY(0)
     }

     50% {
         opacity: 1;
         transform: rotate(45deg) translateY(4px)
     }
 }

 @keyframes fadeUp {
     from {
         opacity: 0;
         transform: translateY(22px)
     }

     to {
         opacity: 1;
         transform: translateY(0)
     }
 }

 /* SECTION */
 section {
     padding: 40px 0;
     scroll-margin-top: 90px;
 }

 .sl {
     display: inline-flex;
     align-items: center;
     gap: 7px;
     font-size: .74rem;
     font-weight: 700;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: #e8a020;
     margin-bottom: .7rem
 }

 /* .sl::before {
     content: '';
     display: inline-block;
     width: 20px;
     height: 2.5px;
     background: var(--accent);
     border-radius: 2px
 } */

 .st {
     font-size: clamp(1.7rem, 3vw, 2.5rem);
     font-weight: 800;
     color: #fff;
     letter-spacing: -.8px;
     line-height: 1.18
 }

 .st span {
     color: #82a1b7;
     /* text-shadow: 4px 2px #ff000021; */
     font-family: 'Poppins';
 }

 .about-strip .st,
 .about-strip .sd {
     color: #000;
 }

 .sd {
     color: #fff;
     font-size: 1.03rem;
     line-height: 1.75;
     max-width: 580px
 }

 /* ABOUT */
 .about-strip {
     position: relative;
     background: linear-gradient(180deg, #f5f7fa 0%, #eef3f8 100%);
     padding: 120px 0 60px;
     overflow: hidden;
 }

 .about-deco {
     position: absolute;
     border-radius: 50%;
     pointer-events: none;
     z-index: 0;
 }
 .about-deco-1 {
     top: -140px;
     left: -120px;
     width: 380px;
     height: 380px;
     background: radial-gradient(circle, rgba(26,111,173,.12), transparent 65%);
 }
 .about-deco-2 {
     bottom: -180px;
     right: -140px;
     width: 460px;
     height: 460px;
     background: radial-gradient(circle, rgba(232,160,32,.1), transparent 65%);
 }
 .about-strip .container { position: relative; z-index: 1; }

 .about-head {
     position: relative;
     text-align: center;
     max-width: 1100px;
     margin: 0 auto 60px;
 }
 .about-head .sl {
     display: inline-flex;
     justify-content: center;
     margin-bottom: 1.2rem;
 }
 .about-head .sl-wrap {
     display: block;
     /* margin-bottom: 1.2rem; */
 }
 .about-head .st {
     position: relative;
     display: inline-block;
     white-space: nowrap;
     font-size: clamp(1.6rem, 4vw, 3rem);
     font-weight: 800;
     letter-spacing: -1.2px;
     line-height: 1.15;
     color: var(--text-dark);
     padding: 0 4px;
 }
 .about-head .st span {
     color: var(--accent);
     font-weight: 800;
     font-style: normal;
     background: none;
     -webkit-text-fill-color: var(--accent);
     text-shadow: none;
 }
 .about-head .st span::after { display: none; }
 @media (max-width: 600px) {
     .about-head .st { white-space: normal; }
 }

 .about-grid {
     display: grid;
     grid-template-columns: 5fr 7fr;
     gap: 70px;
     align-items: center;
 }

 .about-visual {
     position: relative;
     padding: 30px 40px 40px 10px;
 }
 .about-img {
     position: relative;
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0 30px 70px rgba(10,34,66,.22);
 }
 .about-img::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(160deg, rgba(26,111,173,.1), transparent 60%);
 }
 .about-img img {
     width: 100%;
     height: 440px;
     object-fit: cover;
     display: block;
     transition: transform .8s cubic-bezier(.22,1,.36,1);
 }
 .about-visual:hover .about-img img { transform: scale(1.06); }

 .about-ring {
     position: absolute;
     top: 0;
     right: 20px;
     width: 120px;
     height: 120px;
     border-radius: 50%;
     border: 2px dashed rgba(232,160,32,.45);
     z-index: 0;
     animation: about-spin 18s linear infinite;
 }
 @keyframes about-spin { to { transform: rotate(360deg); } }

 .about-badge {
     position: absolute;
     bottom: 20px;
     right: 20px;
     background: var(--accent);
     color: var(--primary);
     border-radius: 12px;
     padding: 12px 18px;
     font-weight: 800;
     font-size: .85rem;
     text-align: center;
     line-height: 1.2;
     box-shadow: 0 4px 18px rgba(232, 160, 32, .4);
     z-index: 2;
 }

 .about-content {
     position: relative;
 }
 .about-content::before {
     content: '';
     position: absolute;
     top: 0;
     left: -24px;
     width: 3px;
     height: 60px;
     background: linear-gradient(180deg, var(--accent), transparent);
     border-radius: 3px;
 }

 @media (max-width: 991px) {
     .about-grid { grid-template-columns: 1fr; gap: 50px; }
     .about-visual { padding: 20px; max-width: 500px; margin: 0 auto; }
 }

 @keyframes af-float {
     0%, 100% { transform: translateY(0); }
     50% { transform: translateY(-6px); }
 }
 @keyframes af-shine {
     0% { transform: translateX(-120%) skewX(-20deg); }
     100% { transform: translateX(220%) skewX(-20deg); }
 }
 @keyframes af-ring {
     from { transform: scale(.4); opacity: 0; }
     to { transform: scale(1); opacity: 1; }
 }

 .af {
     position: relative;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 14px;
     padding: 36px 32px 32px;
     border-radius: 20px;
     background: #0a4e97;
     background-image:
        radial-gradient(circle at 100% 0%, rgba(232,160,32,.28), transparent 45%),
        linear-gradient(135deg, #0a4e97 0%, #0a2342 100%);
     color: #fff;
     overflow: hidden;
     isolation: isolate;
     box-shadow: 0 14px 40px rgba(10,34,66,.18);
     transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s;
     height: 100%;
     animation: af-float 6s ease-in-out infinite;
 }
 .af.s2 { animation-delay: .8s; }
 .af.s3 { animation-delay: 1.6s; }

 .af > .af-shine {
     position: absolute;
     top: 0;
     left: 0;
     width: 40%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
     pointer-events: none;
     z-index: 2;
     transform: translateX(-120%) skewX(-20deg);
 }
 .af:hover > .af-shine {
     animation: af-shine 1.1s ease forwards;
 }

 .af::before {
     content: '';
     position: absolute;
     right: -40px;
     bottom: -60px;
     width: 220px;
     height: 220px;
     border-radius: 50%;
     border: 1px solid rgba(255,255,255,.08);
     z-index: 0;
     transform-origin: center;
     animation: af-ring 1.2s ease .2s backwards;
     transition: transform .6s ease;
 }

 .af::after {
     content: '';
     position: absolute;
     right: -80px;
     bottom: -100px;
     width: 300px;
     height: 300px;
     border-radius: 50%;
     border: 1px solid rgba(255,255,255,.05);
     z-index: 0;
     animation: af-ring 1.4s ease .35s backwards;
     transition: transform .6s ease;
 }

 .af:hover::before { transform: scale(1.15) rotate(10deg); }
 .af:hover::after { transform: scale(1.1) rotate(-8deg); }

 .af:hover {
     transform: translateY(-8px);
     box-shadow: 0 28px 60px rgba(10,34,66,.28);
 }

 .af > * { position: relative; z-index: 1; }

 .af-icon {
     width: 52px;
     height: 52px;
     border-radius: 14px;
     background: rgba(255,255,255,.12);
     border: 1px solid rgba(255,255,255,.18);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #e8a020;
     font-size: 1.3rem;
     backdrop-filter: blur(10px);
     transition: all .4s cubic-bezier(.22,1,.36,1);
 }

 .af:hover .af-icon {
     background: #e8a020;
     color: #0a2342;
     border-color: transparent;
     transform: rotate(-6deg) scale(1.08);
 }

 .af-num {
     display: flex;
     align-items: flex-start;
     font-weight: 900;
     line-height: 1;
     letter-spacing: -2px;
     margin-top: 8px;
 }

 .af-n {
     font-size: 3.6rem;
     background: linear-gradient(135deg, #ffffff, #e8a020);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
 }

 .af-plus {
     font-size: 1.8rem;
     color: #e8a020;
     margin-top: 6px;
     margin-left: 4px;
 }

 .af-t {
     font-weight: 600;
     font-size: 1rem;
     color: rgba(255,255,255,.88);
     line-height: 1.45;
     letter-spacing: .2px;
 }

 @media (max-width: 768px) {
     .af {
         flex-direction: row;
         align-items: center;
         gap: 16px;
         padding: 16px 18px;
         border-radius: 14px;
         animation: none;
     }
     .af::before, .af::after { display: none; }
     .af-icon {
         width: 42px;
         height: 42px;
         font-size: 1.05rem;
         border-radius: 10px;
         flex-shrink: 0;
     }
     .af-num {
         margin: 0;
         flex-shrink: 0;
         min-width: 70px;
     }
     .af-n { font-size: 1.7rem; }
     .af-plus { font-size: .9rem; margin-top: 2px; }
     .af-t {
         font-size: .78rem;
         letter-spacing: .4px;
         flex: 1;
     }
 }

 /* OBJECTIVE */
 #objective {
     background: transparent;
     padding: 0;
     margin: 0;
     position: relative;
 }
 #objective > .container {
     background: #ffffff;
     border-radius: 24px 24px 0 0;
     padding: 0;
     overflow: hidden;
     max-width: 100%;
     width: 100%;
     margin: 0 auto;
 }
 .obj-top {
     position: relative;
     min-height: 380px;
     overflow: hidden;
 }
 .obj-top-bg {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center top;
     z-index: 0;
 }
 .obj-top-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(100deg, rgba(10,54,82,.92) 0%, rgba(10,54,82,.75) 35%, rgba(10,54,82,.35) 65%, rgba(10,54,82,.15) 100%);
     z-index: 1;
 }
 .obj-top-left {
     position: relative;
     z-index: 2;
     padding: 90px 60px;
     max-width: 640px;
 }
 .obj-top-left .sl::before { background: var(--accent); }
 .obj-banner-h {
     font-size: clamp(1.9rem, 3.6vw, 2.9rem);
     font-weight: 900;
     color: #fff;
     letter-spacing: -1px;
     line-height: 1.15;
     margin: 14px 0 0;
     max-width: 520px;
 }
 .obj-banner-h span { color: var(--accent); }

 .obj-card {
     position: relative;
     z-index: 3;
     background: #fff;
     border-radius: 24px 24px 0 0;
     margin-top: -20px;
     padding: 50px;
 }

 @media (max-width: 991px) {
     .obj-top { grid-template-columns: 1fr; min-height: auto; }
     .obj-top-left { padding: 40px 28px; }
     .obj-top-right { min-height: 240px; }
     .obj-top-right::before { background: linear-gradient(180deg, rgba(10,54,82,.4) 0%, rgba(10,54,82,0) 40%); }
     .obj-card { margin: -24px 14px 14px; padding: 34px 24px; }
 }

 @media (max-width: 768px) {
     /* tighten the left gutter reserved for the quote icon */
     .obj-quote {
         padding: 18px 18px 18px 42px;
     }
     .obj-quote i {
         left: 12px;
         top: 12px;
         font-size: 1.6rem;
     }
     .obj-quote p {
         font-size: 1.12rem;
     }

     /* tighter accordion rows — reclaim the side gutters */
     .obj-card {
         padding: 28px 14px;
     }
     .obj-item summary {
         gap: 12px;
         padding: 14px 14px;
     }
     .obj-row-ic {
         width: 38px;
         height: 38px;
         border-radius: 10px;
         font-size: 1.1rem;
     }
     .obj-row-t {
         font-size: .92rem;
     }
     .obj-row-arrow {
         width: 28px;
         height: 28px;
         font-size: .85rem;
     }
     .obj-item .obj-row-d-inner {
         padding: 0 14px;
     }
     .obj-item[open] .obj-row-d-inner {
         padding-bottom: 16px;
     }
 }
 #objective .sl { color: var(--accent); }
 #objective .obj-lead {
     display: inline-block;
     background: none;
     border: none;
     padding: 0;
     color: var(--accent);
     font-size: .8rem;
     font-weight: 800;
     letter-spacing: 3px;
     text-transform: uppercase;
     margin: 12px 0 16px;
 }
 .obj-quote {
     position: relative;
     padding: 22px 28px 22px 66px;
     margin: 0 0 28px;
     background: linear-gradient(135deg, rgba(26,111,173,.06), rgba(232,160,32,.06));
     border-left: 3px solid var(--accent);
     border-radius: 0 14px 14px 0;
 }
 .obj-quote i {
     position: absolute;
     left: 22px;
     top: 14px;
     font-size: 2.2rem;
     color: var(--accent);
     opacity: .55;
 }
 .obj-quote p {
     margin: 0;
     font-size: 1.4rem;
     font-weight: 700;
     font-style: italic;
     color: var(--text-dark);
     line-height: 1.4;
     letter-spacing: -.3px;
 }
 .obj-quote p span { color: var(--accent); font-style: italic; }
 #objective .obj-desc {
     color: var(--text-muted);
     font-size: .95rem;
     line-height: 1.75;
     margin-bottom: 14px;
     max-width: 520px;
 }

 .obj-acc {
     display: flex;
     flex-direction: column;
     gap: 12px;
 }
 .obj-item {
     background: #fff;
     border: 1px solid rgba(10,34,66,.08);
     border-radius: 14px;
     box-shadow: 0 6px 18px rgba(10,34,66,.04);
     overflow: hidden;
     transition: border-color .35s, box-shadow .35s;
 }
 .obj-item[open] {
     border-color: rgba(232,160,32,.4);
     box-shadow: 0 14px 32px rgba(10,34,66,.08);
 }
 .obj-item summary {
     list-style: none;
     display: flex;
     align-items: center;
     gap: 18px;
     padding: 18px 22px;
     cursor: pointer;
     user-select: none;
 }
 .obj-item summary::-webkit-details-marker { display: none; }
 .obj-item summary:hover .obj-row-arrow {
     background: var(--accent);
     color: #fff;
 }
 .obj-row-ic {
     flex-shrink: 0;
     width: 46px;
     height: 46px;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
 }
 .obj-row-t {
     flex: 1;
     font-weight: 800;
     font-size: 1rem;
     color: var(--text-dark);
     letter-spacing: -.2px;
 }
 .obj-row-arrow {
     flex-shrink: 0;
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: rgba(10,34,66,.06);
     color: var(--text-dark);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: .95rem;
     transition: background .3s, color .3s, transform .35s cubic-bezier(.22,1,.36,1);
 }
 .obj-item[open] .obj-row-arrow {
     background: var(--accent);
     color: #fff;
     transform: rotate(180deg);
 }
 .obj-item .obj-row-d {
     display: grid;
     grid-template-rows: 0fr;
     transition: grid-template-rows .4s cubic-bezier(.4,0,.2,1);
 }
 .obj-item[open] .obj-row-d {
     grid-template-rows: 1fr;
 }
 .obj-item .obj-row-d-inner {
     min-height: 0;
     overflow: hidden;
     padding: 0 22px 0 86px;
     font-size: .9rem;
     color: var(--text-muted);
     line-height: 1.65;
     transition: padding .4s cubic-bezier(.4,0,.2,1);
 }
 .obj-item[open] .obj-row-d-inner {
     padding-bottom: 20px;
 }
 .obj-row-arrow i {
     transition: transform .4s cubic-bezier(.4,0,.2,1);
 }
 @media (max-width: 991px) {
     #objective { padding: 60px 26px; }
     .obj-row { padding: 16px 18px; }
 }
 @media (max-width: 768px) {
     /* placed after the 991px rule so it wins on equal specificity */
     #objective { padding: 54px 12px; }
     .obj-row { padding: 14px 14px; }
 }

 .obj-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 18px
 }


 .obj-num {
     font-size: 4rem;
     font-weight: 900;
     opacity: .1;
     position: absolute;
     top: 7px;
     right: 12px;
     letter-spacing: -3px;
     line-height: 1;
     color: #ffffff;
     text-shadow: 4px 2px #ff0000;
 }

 .obj-icon {
     width: 50px;
     height: 50px;
     border-radius: 13px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     margin-bottom: 12px;
     background: rgb(255 255 255) !important;
 }

 .obj-t {
     font-weight: bold;
     font-size: 15px;
     color: #ea990b;
     margin-bottom: 7px;
     font-family: 'Poppins';
 }

 .obj-d {
     font-size: 15px;
     color: #ffffff;
     line-height: 1.6;
 }

 /* 
 WHY CHOOSE */
 .why-us h2 {
     font-size: 40px;
     font-weight: 800;
     color: #000000;
     letter-spacing: -.8px;
     line-height: 1.18;

 }

 .why-us h2 span {
     color: #e8a020;
 }

 /* PILLARS */
 .pillars {
     background: linear-gradient(rgb(9 73 151 / 90%), rgb(3 35 76 / 97%)), url(./images/bg.JPG) center / cover no-repeat;
     color: #fff;
     position: relative;
     overflow: hidden;
     background-attachment: fixed;
         border-radius: 20px;
    margin: 0 20px;
 }

 .pillars::after {
     content: '';
     position: absolute;
     inset: 0;
     background: radial-gradient(circle at top right, rgba(232, 160, 32, .14), transparent 35%), radial-gradient(circle at bottom left, rgba(26, 111, 173, .14), transparent 28%);
     pointer-events: none;
 }

 .pillars .container {
     position: relative;
     z-index: 1;
 }

 .pillars .sl,
 .pillars .st,
 .pillars .pillar-summary-label {
     color: #fff;
 }

 .pillars .glass-panel {
     background: rgba(255, 255, 255, .1);
     border: 1px solid rgba(255, 255, 255, .18);
     border-radius: 24px;
     box-shadow: 0 30px 80px rgba(0, 0, 0, .18);
     backdrop-filter: blur(18px);
     -webkit-backdrop-filter: blur(18px);
 }

 .pillar-summary {
     padding: 24px;
     border-radius: 24px;
     margin-top: 24px;
 }

 .pillar-summary-label {
     font-size: .75rem;
     font-weight: 700;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     margin-bottom: 18px;
     color: rgba(255, 255, 255, .85);
 }

 .donut-card {
     padding: 30px 20px;
     border-radius: 30px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 20px;
 }

 .donut-shell {
     position: relative;
     width: min(100%, 340px);
     padding: 24px;
     border-radius: 50%;

 }

 .donut-shell::before {
     content: '';
     position: absolute;
     inset: 20px;
     border-radius: 50%;
     /* background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, .25), transparent 48%); */
     pointer-events: none;
 }

 #donut-svg {
     filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .22));
 }

 .donut-legend {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 10px 14px;
     width: 100%;
 }

 .donut-legend div {
     color: rgba(255, 255, 255, .88) !important;
 }

 .pillars .sd {
     color: rgba(255, 255, 255, .85);
     font-size: 1.05rem;
     line-height: 1.75;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
 }

 .pillars .st span {
     color: #e8a020;
 }

 .pc {
     background: rgba(255, 255, 255, .12);
     border: 1px solid rgba(255, 255, 255, .18);
     border-radius: var(--radius);
     padding: 24px 20px;
     height: 100%;
     transition: all .3s;
     position: relative;
     overflow: hidden;
     cursor: default;
     backdrop-filter: blur(18px);
     -webkit-backdrop-filter: blur(18px);
 }

 .pc::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     transform: scaleX(0);
     transform-origin: left;
     transition: transform .35s;
     background: var(--bc, #1a6fad)
 }

 .pc:hover {
     box-shadow: 0 12px 40px rgba(10, 35, 66, .12);
     transform: translateY(-4px);
     border-color: transparent
 }

 .pc:hover::before {
     transform: scaleX(1)
 }

 .pp {
     font-size: 2.2rem;
     font-weight: 900;
     letter-spacing: -1px;
     line-height: 1
 }

 .pn {
     font-size: .93rem;
     font-weight: 700;
     color: #fff;
     margin: 7px 0 9px
 }

 .pl {
     list-style: none;
     padding: 0
 }

 .pl li {
     font-size: .8rem;
     color: #fff;
     padding: 3px 0;
     display: flex;
     align-items: center;
     gap: 7px
 }

 .pl li::before {
     content: '';
     width: 5px;
     height: 5px;
     border-radius: 50%;
     flex-shrink: 0;
     background: var(--bc, #1a6fad)
 }

 .picon {
     width: 46px;
     height: 46px;
     border-radius: 11px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     margin-bottom: 12px
 }

 .pbar {
     height: 5px;
     border-radius: 3px;
     background: var(--border);
     margin-top: 14px;
     overflow: hidden;
     display: none;
 }

 .pbar-f {
     height: 100%;
     border-radius: 3px;
     width: 0;
     transition: width 1.2s cubic-bezier(.22, 1, .36, 1)
 }

 /* METHODOLOGY */
 .methodology {
     background: #0a4e97;
     position: relative;
     overflow: hidden;
     margin: 0 20px;
     border-radius: 20px;
 }

 .methodology::before {
     content: '';
     position: absolute;
     top: -100px;
     right: -100px;
     width: 500px;
     height: 500px;
     border-radius: 50%;
     background: rgba(26, 111, 173, .07);
     pointer-events: none
 }

 .methodology::after {
     content: '';
     position: absolute;
     bottom: -80px;
     left: -80px;
     width: 380px;
     height: 380px;
     border-radius: 50%;
     background: rgba(232, 160, 32, .05);
     pointer-events: none
 }

 .sc {
     background: rgba(255, 255, 255, .06);
     border: 1px solid rgba(255, 255, 255, .1);
     border-radius: var(--radius);
     padding: 30px 26px;
     height: 100%;
     transition: all .3s;
     position: relative;
     overflow: hidden
 }

 .sc::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(232, 160, 32, .04), transparent);
     opacity: 0;
     transition: opacity .3s
 }

 .sc:hover {
     background: rgba(255, 255, 255, .1);
     transform: translateY(-4px);
     box-shadow: 0 16px 48px rgba(0, 0, 0, .25)
 }

 .sc:hover::after {
     opacity: 1
 }

 .sn {
     font-size: 3.2rem;
     font-weight: 900;
     color: rgba(232, 160, 32, .18);
     letter-spacing: -2px;
     line-height: 1;
     margin-bottom: 12px
 }

 .sc-t {
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--white);
     margin-bottom: 10px
 }

 .sc-d {
     font-size: .88rem;
     color: rgba(255, 255, 255, .6);
     line-height: 1.65
 }

 .elig {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(255, 255, 255, .07);
     border: 1px solid rgba(255, 255, 255, .14);
     color: rgba(255, 255, 255, .8);
     border-radius: 8px;
     padding: 8px 16px;
     font-size: .83rem;
     font-weight: 500;
     margin: 5px;
     transition: all .2s
 }

 .elig:hover {
     background: rgba(255, 255, 255, .13);
     transform: translateY(-2px)
 }

 /* APPLY — premium redesign */
 .apply-section {
     position: relative;
     background: #ffffff;
     padding: 110px 0 90px;
     overflow-x: hidden;
 }
 /* .apply-bg {
     position: absolute;
     inset: 0;
     background-image:
        radial-gradient(circle at 10% 10%, rgba(232,160,32,.1), transparent 40%),
        radial-gradient(circle at 90% 90%, rgba(26,111,173,.12), transparent 45%);
     pointer-events: none;
 } */
 .apply-section .container { position: relative; z-index: 1; }

 .apply-head {
     text-align: center;
     max-width: 820px;
     margin: 0 auto 60px;
 }
 .apply-head .sl {
     display: inline-flex;
     justify-content: center;
     margin-bottom: 14px;
 }
 .apply-section .st {
     color: var(--text-dark);
     font-size: clamp(1.8rem, 3.4vw, 2.6rem);
     font-weight: 900;
     letter-spacing: -1px;
     line-height: 1.15;
     white-space: nowrap;
 }
 .apply-section .st span {
     font-style: normal;
     font-weight: 800;
     color: var(--accent);
     background: none;
     -webkit-text-fill-color: var(--accent);
     text-shadow: none;
 }
 .apply-sub {
     font-size: 1rem;
     color: var(--text-muted);
     margin: 18px auto 0;
     max-width: 600px;
     line-height: 1.7;
 }
 @media (max-width: 991px) {
     .apply-section .st { white-space: normal; font-size: clamp(1.4rem, 5vw, 2rem); }
 }

 .process .st {
     color: #000;
 }

 .process .st span {
     color: #e8a020;
 }

 .process .sd {
     color: #000;
 }

 .apply-bubbles {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 40px;
     max-width: 1180px;
     margin: 0 auto;
     padding-top: 30px;
 }
 .bub {
     position: relative;
     padding-top: 70px;
 }
 .bub-tab {
     position: absolute;
     top: -20px;
     left: 0;
     width: 130px;
     padding: 22px 10px 26px;
     background: linear-gradient(135deg, #e8a020 0%, #c78912 100%);
     color: #fff;
     text-align: center;
     border-radius: 12px;
     box-shadow: 0 10px 24px rgba(232,160,32,.35);
     z-index: 2;
 }
 .bub-tab::after {
     content: '';
     position: absolute;
     bottom: -14px;
     left: 30px;
     width: 0;
     height: 0;
     border-left: 14px solid transparent;
     border-right: 14px solid transparent;
     border-top: 14px solid #c78912;
 }
 .bub-num {
     font-family: 'Poppins';
     font-weight: 800;
     font-size: 2.2rem;
     line-height: 1;
     margin-bottom: 6px;
 }
 .bub-sub {
     font-size: .7rem;
     font-weight: 700;
     letter-spacing: 1.8px;
     text-transform: uppercase;
     color: rgba(255,255,255,.95);
 }
 .bub-icon {
     position: absolute;
     top: 0;
     right: 0;
     width: 72px;
     height: 72px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 2.2rem;
     color: var(--accent);
     z-index: 2;
     transition: transform .4s;
 }
 .bub:hover .bub-icon {
     transform: scale(1.1) rotate(-6deg);
 }
 .bub-card {
     position: relative;
     background: #fff;
     border-radius: 14px;
     padding: 32px 28px 26px;
     box-shadow: 0 14px 40px rgba(10,34,66,.1);
     min-height: 200px;
     margin-top: 30px;
     transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s;
 }
 .bub-card::before {
     content: '';
     position: absolute;
     top: -10px;
     left: 40px;
     width: 0;
     height: 0;
     border-left: 12px solid transparent;
     border-right: 12px solid transparent;
     border-bottom: 12px solid #fff;
 }
 .bub:hover .bub-card {
     transform: translateY(-4px);
     box-shadow: 0 22px 50px rgba(10,34,66,.16);
 }
 .bub-title {
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: 1rem;
     font-weight: 800;
     color: var(--text-dark);
     letter-spacing: 1px;
     text-transform: uppercase;
     margin-bottom: 14px;
 }
 .bub-title span {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 24px;
     height: 24px;
     border-radius: 50%;
     background: var(--accent);
     color: #fff;
     font-size: 1rem;
     font-weight: 800;
     line-height: 1;
 }
 .bub-card p {
     margin: 0;
     font-size: .9rem;
     line-height: 1.7;
     color: var(--text-muted);
 }
 @media (max-width: 768px) {
     .apply-bubbles {
         grid-template-columns: 1fr;
         gap: 50px;
         padding-top: 10px;
     }
     .bub {
         padding-top: 60px;
     }
     .bub-tab {
         width: 110px;
         padding: 16px 10px 20px;
     }
     .bub-num { font-size: 1.8rem; }
     .bub-sub { font-size: .65rem; letter-spacing: 1.4px; }
     .bub-icon {
         width: 56px;
         height: 56px;
         font-size: 1.7rem;
         top: 8px;
         right: 14px;
     }
     .bub-card {
         padding: 26px 20px 22px;
         min-height: 0;
         margin-top: 24px;
     }
     .bub-title {
         font-size: .92rem;
         letter-spacing: .8px;
     }
     .bub-card p { font-size: .86rem; }
 }

 .apply-cols {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 50px;
     max-width: 1150px;
     margin: 0 auto;
 }
 .ac-col {
     position: relative;
     padding: 20px 10px 20px 90px;
     min-height: 160px;
 }
 .ac-big {
     position: absolute;
     top: -20px;
     left: -10px;
     font-family: 'Poppins';
     font-weight: 700;
     font-style: italic;
     font-size: 7rem;
     line-height: 1;
     background: linear-gradient(135deg, #e8a020 0%, rgba(232,160,32,.25) 100%);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     pointer-events: none;
     user-select: none;
 }
 .ac-label {
     font-size: .72rem;
     font-weight: 700;
     letter-spacing: 3px;
     color: var(--accent);
     margin-bottom: 8px;
 }
 .ac-pill {
     display: block;
 }
 .ac-pill i { display: none; }
 .ac-title {
     font-size: 1.3rem;
     font-weight: 800;
     color: var(--text-dark);
     letter-spacing: -.3px;
     margin: 0 0 10px;
     line-height: 1.2;
 }
 .ac-desc {
     font-size: .92rem;
     color: var(--text-muted);
     line-height: 1.7;
     margin: 0;
     max-width: 320px;
 }
 @media (max-width: 768px) {
     .apply-cols { grid-template-columns: 1fr; gap: 30px; }
     .ac-col { padding-left: 80px; }
     .ac-big { font-size: 6rem; }
 }

 .acard {
     position: relative;
     padding: 36px 34px;
     text-align: left;
     height: 100%;
     background: transparent;
     border: none;
     box-shadow: none;
     transition: transform .4s cubic-bezier(.22,1,.36,1);
 }
 .acard::before {
     content: '';
     position: absolute;
     top: 20%;
     bottom: 20%;
     left: 0;
     width: 1px;
     background: linear-gradient(180deg, transparent, rgba(26,111,173,.25), transparent);
 }
 .col-md-4:first-child .acard::before { display: none; }
 .acard:hover { transform: translateY(-4px); }

 .acard-badge {
     position: absolute;
     top: 36px;
     right: 34px;
     font-family: 'Poppins';
     font-style: italic;
     font-size: 2.4rem;
     font-weight: 700;
     line-height: 1;
     color: rgba(232,160,32,.25);
     letter-spacing: 0;
 }
 .acard-badge::before { display: none; }

 .acard-icon {
     position: relative;
     width: auto;
     height: auto;
     margin: 0 0 20px;
     color: var(--accent);
     display: inline-flex;
     font-size: 2rem;
     background: transparent;
     box-shadow: none;
     transition: transform .5s cubic-bezier(.22,1,.36,1), color .4s;
 }
 .acard-icon::before, .acard-icon::after { display: none; }
 .acard:hover .acard-icon {
     color: var(--accent2);
     transform: translateY(-4px);
 }

 .a-t {
     font-size: 1.35rem;
     font-weight: 800;
     color: var(--text-dark);
     margin-bottom: 4px;
     letter-spacing: -.3px;
 }

 .a-cls {
     display: block;
     background: transparent;
     color: var(--accent);
     font-size: .72rem;
     font-weight: 700;
     padding: 0;
     margin-bottom: 14px;
     letter-spacing: 2px;
     text-transform: uppercase;
 }

 .a-d {
     font-size: .92rem;
     color: var(--text-muted);
     line-height: 1.7;
     margin-bottom: 0;
 }

 .acard-line { display: none; }

 /* WHY */
 .why-us {
     background: var(--white)
 }

 .wcard {
     background: #ffffff;
     border-radius: 14px;
     border: 1.5px solid #e8a0204a;
     overflow: hidden;
     transition: all .3s;
     opacity: 0;
     transform: translateY(24px);
     animation: slideUpFade .65s ease forwards;
 }

 .why-us .row > .col-md-6:nth-child(1) .wcard { animation-delay: .08s; }
 .why-us .row > .col-md-6:nth-child(2) .wcard { animation-delay: .16s; }
 .why-us .row > .col-md-6:nth-child(3) .wcard { animation-delay: .22s; }
 .why-us .row > .col-md-6:nth-child(4) .wcard { animation-delay: .28s; }
 .why-us .row > .col-md-6:nth-child(5) .wcard { animation-delay: .34s; }
 .why-us .row > .col-md-6:nth-child(6) .wcard { animation-delay: .40s; }

 .wcard:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 40px rgba(10, 35, 66, .1);
     border-color: transparent
 }

 .wcard-img {
     position: relative;
     overflow: hidden;
 }

 .wcard-img img {
     width: 100%;
     height: 250px;
     object-fit: cover;
     display: block;
 }

 .wcard-overlay {
     position: absolute;
     inset: 0;
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     padding: 20px;
     background: linear-gradient(180deg, rgba(10, 35, 66, .18) 0%, rgba(10, 35, 66, .88) 100%);
     color: #ffffff;
     transform: translateY(0);
     transition: background .35s ease;
 }

 .wcard:hover .wcard-overlay,
 .wcard-img:hover .wcard-overlay {
     background: linear-gradient(180deg, rgba(10, 35, 66, .28) 0%, rgba(10, 35, 66, .95) 100%);
 }

 .wcard-body {
     display: none;
 }

 .wcard-overlay .wi {
     width: 48px;
     height: 48px;
     border-radius: 13px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     flex-shrink: 0;
     transition: all .3s;
 }

 .wcard:hover .wcard-overlay .wi {
     transform: rotate(-8deg) scale(1.05)
 }

 .wcard-overlay .wt {
     font-weight: 700;
     font-size: 1rem;
     color: #ffffff;
     margin-bottom: 8px;
 }

 .wcard-overlay .wd {
     font-size: .92rem;
     color: rgba(255, 255, 255, .92);
     line-height: 1.6;
     max-height: 0;
     opacity: 0;
     overflow: hidden;
     transition: opacity .3s ease, max-height .3s ease;
 }

 .wcard:hover .wcard-overlay .wd,
 .wcard-img:hover .wcard-overlay .wd {
     max-height: 220px;
     opacity: 1;
 }

 @keyframes slideUpFade {
     from { opacity: 0; transform: translateY(24px); }
     to { opacity: 1; transform: translateY(0); }
 }

 /* PROCESS — premium light */
 .process {
     position: relative;
     background: linear-gradient(180deg, #ffffff 0%, #f5f7fa 60%, #eef3f8 100%);
     padding: 60px 0 60px;
     overflow: hidden;
     color: var(--text-dark);
 }
 .process-bg {
     position: absolute;
     inset: 0;
     background-image:
        radial-gradient(circle at 15% 20%, rgba(232,160,32,.1), transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(26,111,173,.12), transparent 45%);
     pointer-events: none;
 }
 .process .container { position: relative; z-index: 1; }

 .process-head {
     text-align: center;
     max-width: 780px;
     margin: 0 auto 70px;
 }
 .process-head .sl {
     display: inline-flex;
     color: var(--accent);
     margin-bottom: 14px;
 }
 .process-head .sl::before { background: var(--accent); }
 .process-head .st {
     color: var(--text-dark);
     font-size: clamp(1.8rem, 3.4vw, 2.6rem);
     font-weight: 900;
     letter-spacing: -1px;
     line-height: 1.15;
 }
 .process-head .st span {
     font-style: normal;
     font-weight: 800;
     color: var(--accent);
     background: none;
     -webkit-text-fill-color: var(--accent);
     text-shadow: none;
 }
 .process-sub {
     font-size: 1rem;
     color: var(--text-muted);
     margin: 18px auto 0;
     max-width: 620px;
     line-height: 1.7;
 }

 .process-timeline {
     position: relative;
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 18px;
     align-items: stretch;
 }
 .pt-track {
     position: absolute;
     top: 42px;
     left: 6%;
     right: 6%;
     height: 2px;
     background: linear-gradient(90deg, rgba(232,160,32,.45), rgba(26,111,173,.35), rgba(232,160,32,.45));
     border-radius: 2px;
     z-index: 0;
 }
 .pt-track::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(90deg, transparent, rgba(232,160,32,.9), transparent);
     background-size: 200% 100%;
     animation: pt-shine 3s linear infinite;
 }
 @keyframes pt-shine {
     0% { background-position: -100% 0; }
     100% { background-position: 200% 0; }
 }

 .pt-step {
     position: relative;
     text-align: center;
     z-index: 1;
     display: flex;
     flex-direction: column;
     height: 100%;
 }
 .pt-step > .pt-card { flex: 1; }
 .pt-node {
     position: relative;
     width: 84px;
     height: 84px;
     border-radius: 50%;
     background: #fff;
     border: 2px solid rgba(232,160,32,.55);
     box-shadow: 0 0 0 6px rgba(255,255,255,.9), 0 14px 32px rgba(10,34,66,.12);
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--accent2);
     font-weight: 900;
     font-size: 1.2rem;
     margin: 0 auto 22px;
     transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .4s, background .4s, color .4s;
 }
 .pt-node::before {
     content: '';
     position: absolute;
     inset: -2px;
     border-radius: 50%;
     border: 1px dashed rgba(232,160,32,.35);
     animation: about-spin 14s linear infinite;
 }
 .pt-node-final {
     background: linear-gradient(135deg, #e8a020, #f5b841);
     color: #0a2342;
     font-size: 1.6rem;
     border-color: #fff;
 }
 .pt-step:hover .pt-node {
     transform: translateY(-6px) scale(1.05);
     border-color: var(--accent);
 }

 .pt-card {
     position: relative;
     padding: 24px 20px 22px;
     background: #fff;
     border: 1px solid rgba(10,34,66,.06);
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(10,34,66,.06);
     transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .4s, border-color .4s;
     height: 100%;
 }
 .pt-card::before {
     content: '';
     position: absolute;
     top: -8px;
     left: 50%;
     transform: translateX(-50%) rotate(45deg);
     width: 14px;
     height: 14px;
     background: #fff;
     border-top: 1px solid rgba(10,34,66,.06);
     border-left: 1px solid rgba(10,34,66,.06);
 }
 .pt-step:hover .pt-card {
     transform: translateY(-6px);
     box-shadow: 0 22px 50px rgba(10,34,66,.12);
     border-color: rgba(232,160,32,.35);
 }

 .pt-ic {
     width: 44px;
     height: 44px;
     border-radius: 12px;
     background: rgba(232,160,32,.12);
     color: var(--accent);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.2rem;
     margin: 0 auto 14px;
     transition: all .35s;
 }
 .pt-step:hover .pt-ic {
     background: var(--accent);
     color: #fff;
     transform: rotate(-6deg);
 }
 .pt-t {
     font-weight: 800;
     font-size: 1rem;
     color: var(--text-dark);
     margin-bottom: 8px;
     letter-spacing: -.2px;
 }
 .pt-d {
     font-size: .83rem;
     color: var(--text-muted);
     line-height: 1.55;
 }

 .process-cta {
     position: relative;
     z-index: 2;
     text-align: center;
     margin-top: 70px;
 }
 .btn-primary-g {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     padding: 16px 34px;
     border-radius: 999px;
     background: linear-gradient(135deg, var(--accent), #c78912);
     color: #0a2342;
     font-weight: 800;
     font-size: .95rem;
     letter-spacing: .4px;
     text-decoration: none;
     box-shadow: 0 16px 36px rgba(232,160,32,.35);
     transition: transform .3s, box-shadow .3s, gap .3s;
 }
 .btn-primary-g:hover {
     transform: translateY(-3px);
     box-shadow: 0 22px 44px rgba(232,160,32,.5);
     gap: 14px;
     color: #0a2342;
 }

 @media (max-width: 991px) {
     .process-timeline { grid-template-columns: 1fr 1fr; }
     .pt-track { display: none; }
 }
 @media (max-width: 576px) {
     .process-timeline { grid-template-columns: 1fr; }
 }

 .ps {
     display: flex;
     gap: 20px;
     align-items: flex-start;
     margin-bottom: 1.8rem;
     position: relative
 }

 .ps::after {
     content: '';
     position: absolute;
     left: 22px;
     top: 44px;
     bottom: -18px;
     width: 2px;
     background: linear-gradient(to bottom, var(--accent2), transparent);
     opacity: .22
 }

 .ps:last-child::after {
     display: none
 }

 .process-steps {
     display: flex;
     flex-wrap: wrap;
     gap: 20px;
 }

 .process .ps {
     flex: 1 1 100%;
     padding: 0;
     background: transparent;
 }

 @media(min-width:992px) {
     .process .ps {
         flex: 1 1 calc(20% - 20px);
         min-width: 220px;
         padding: 18px 16px;
         background: transparent;
         border: none;
         border-radius: 0;
         box-shadow: none;
     }

     .process .ps:hover {
         background: rgba(26, 111, 173, .06);
     }

     .process .ps:hover .pct {
         color: #1a6fad;
     }

     .process .ps::after {
         top: 50%;
         left: auto;
         right: -72px;
         width: 70px;
         height: 4px;
         background-image: radial-gradient(circle, rgba(26,111,173,.95) 20%, transparent 20%);
         background-size: 16px 4px;
         transform: translateY(-50%);
         animation: dot-slide 1.4s linear infinite;
         opacity: .9;
     }

     .process .ps::before {
         content: '';
         position: absolute;
         right: -18px;
         top: 50%;
         width: 14px;
         height: 14px;
         border-top: 3px solid rgba(26,111,173,.95);
         border-right: 3px solid rgba(26,111,173,.95);
         transform: translateY(-50%) rotate(45deg);
         opacity: .95;
     }

     .process .ps:last-child::after,
     .process .ps:last-child::before {
         display: none;
     }
 }

 .pnum {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: var(--accent);
     color: var(--primary);
     font-weight: 900;
     font-size: 1rem;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     box-shadow: 0 4px 14px rgba(232, 160, 32, .35);
     transition: all .3s
 }

 .ps:hover .pnum {
     transform: translateY(-2px);
     box-shadow: 0 6px 18px rgba(232, 160, 32, .25)
 }

 @keyframes dot-slide {
     0% { background-position: 0 0; }
     100% { background-position: 16px 0; }
 }

 .pct {
     font-weight: 700;
     font-size: 1rem;
     color: var(--primary);
     margin-bottom: 6px;
 }

 .pcd {
     font-size: .85rem;
     color: var(--text-muted);
     line-height: 1.55
 }

 .proc-img {
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: var(--card-shadow)
 }

 .proc-img img {
     width: 100%;
     height: 440px;
     object-fit: cover;
     display: block;
     transition: transform .6s
 }

 .proc-img:hover img {
     transform: scale(1.03)
 }

 /* FEE — premium ticket */
 .fee-section {
     position: relative;
     padding: 60px 0;
     background: linear-gradient(180deg, #ffffff 0%, #f5f7fa 60%, #eef3f8 100%);
     overflow: hidden;
     color: var(--text-dark);
 }
 .fee-bg {
     position: absolute;
     inset: 0;
     background-image:
        radial-gradient(circle at 15% 20%, rgba(232,160,32,.08), transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(26,111,173,.12), transparent 45%);
     pointer-events: none;
 }
 .fee-section .container { position: relative; z-index: 1; }

 .fee-head-center {
     text-align: center;
     max-width: 760px;
     margin: 0 auto 60px;
 }
 .fee-section .fee-tag {
     display: inline-flex;
     justify-content: center;
     color: var(--accent);
     margin-bottom: 14px;
 }
 .fee-section .fee-tag::before { background: var(--accent); }
 .fee-h {
     font-size: clamp(1.8rem, 3.4vw, 2.6rem);
     font-weight: 900;
     letter-spacing: -1px;
     line-height: 1.15;
     color: var(--text-dark);
     margin: 0;
 }
 .fee-h span {
     font-style: normal;
     font-weight: 800;
     color: var(--accent);
     background: none;
     -webkit-text-fill-color: var(--accent);
 }
 .fee-h-sub {
     font-size: 1rem;
     color: var(--text-muted);
     line-height: 1.7;
     margin: 18px auto 0;
     max-width: 600px;
 }

 /* ============================
    FEE SECTION — Editorial Split
    ============================ */
 .fp-split {
     display: grid;
     grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
     gap: 32px;
     max-width: 1100px;
     margin: 0 auto;
     align-items: stretch;
 }

 /* LEFT: fee card */
 .fp-card {
     position: relative;
     padding: 44px 40px;
     background: linear-gradient(160deg, #0a2342 0%, #123a6d 55%, #0f3564 100%);
     border-radius: 24px;
     color: #fff;
     overflow: hidden;
     isolation: isolate;
     box-shadow:
        0 30px 70px rgba(10,34,66,.28),
        inset 0 1px 0 rgba(255,255,255,.06);
     display: flex;
     flex-direction: column;
 }
 .fp-glow {
     position: absolute;
     top: -140px;
     right: -140px;
     width: 380px;
     height: 380px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(232,160,32,.30), transparent 65%);
     z-index: 0;
     pointer-events: none;
 }
 .fp-card > *:not(.fp-glow) { position: relative; z-index: 1; }

 .fp-badge {
     align-self: flex-start;
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 6px 14px;
     background: linear-gradient(135deg, var(--accent), #c78912);
     color: #0a2342;
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: 1.8px;
     text-transform: uppercase;
     border-radius: 999px;
     box-shadow: 0 10px 24px rgba(232,160,32,.35);
     margin-bottom: 24px;
 }
 .fp-badge i { font-size: .8rem; }

 .fp-price {
     display: inline-flex;
     align-items: flex-start;
     line-height: 1;
     margin-bottom: 6px;
 }
 .fp-cur {
     font-size: 1.7rem;
     font-weight: 800;
     color: var(--accent);
     margin-top: 12px;
     margin-right: 4px;
 }
 .fp-num {
     font-weight: 900;
     font-size: 5.4rem;
     letter-spacing: -3.5px;
     background: linear-gradient(135deg, #ffffff, #ffe0a3 55%, #e8a020);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
 }
 .fp-suf {
     font-size: 1.5rem;
     font-weight: 700;
     color: rgba(255,255,255,.55);
     margin-top: 16px;
     margin-left: 4px;
 }
 .fp-meta {
     font-size: .82rem;
     font-weight: 600;
     color: rgba(255,255,255,.65);
     letter-spacing: .4px;
     margin-bottom: 28px;
 }

 .fp-divider {
     display: flex;
     align-items: center;
     gap: 12px;
     margin-bottom: 18px;
 }
 .fp-divider span {
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: 2.2px;
     text-transform: uppercase;
     color: var(--accent);
     white-space: nowrap;
 }
 .fp-divider::before,
 .fp-divider::after {
     content: '';
     flex: 1;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
 }

 .fp-list {
     list-style: none;
     padding: 0;
     margin: 0 0 28px;
     display: flex;
     flex-direction: column;
     gap: 12px;
 }
 .fp-list li {
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: .95rem;
     color: rgba(255,255,255,.9);
     font-weight: 500;
     line-height: 1.4;
 }
 .fp-list li i {
     flex-shrink: 0;
     font-size: 1.1rem;
     color: var(--accent);
 }
 .fp-list li em {
     font-style: normal;
     color: rgba(255,255,255,.55);
     font-size: .78rem;
     margin-left: 4px;
 }

 .fp-cta {
     margin-top: auto;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 14px;
     padding: 16px 28px;
     background: var(--accent);
     color: #0a2342;
     font-weight: 900;
     font-size: .98rem;
     letter-spacing: 1px;
     text-transform: uppercase;
     text-decoration: none;
     border: 3px solid #0a2342;
     box-shadow: 6px 6px 0 #0a2342;
     transition: transform .2s ease, box-shadow .2s ease, background .2s;
 }
 .fp-cta i { transition: transform .3s ease; }
 .fp-cta:hover {
     color: #0a2342;
     background: #ffd980;
     transform: translate(-3px, -3px);
     box-shadow: 9px 9px 0 #0a2342;
 }
 .fp-cta:hover i { transform: translateX(6px); }
 .fp-cta:active {
     transform: translate(3px, 3px);
     box-shadow: 3px 3px 0 #0a2342;
 }
 .fp-trust {
     margin-top: 14px;
     font-size: .76rem;
     color: rgba(255,255,255,.6);
     text-align: center;
 }
 .fp-trust i { color: var(--accent); margin-right: 4px; }

 /* RIGHT: journey timeline */
 .fp-journey {
     position: relative;
     padding: 44px 40px;
     background: #ffffff;
     border-radius: 24px;
     border: 1px solid rgba(10,34,66,.08);
     box-shadow:
        0 20px 50px rgba(10,34,66,.08),
        inset 0 1px 0 rgba(255,255,255,.6);
     overflow: hidden;
 }
 .fp-journey::before {
     content: '';
     position: absolute;
     top: 0; right: 0;
     width: 240px; height: 240px;
     background: radial-gradient(circle at top right, rgba(26,111,173,.10), transparent 65%);
     pointer-events: none;
 }
 .fp-jhead {
     margin-bottom: 32px;
     position: relative;
 }
 .fp-jeye {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: .7rem;
     font-weight: 800;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: var(--accent);
     margin-bottom: 10px;
 }
 .fp-jeye::before {
     content: '';
     width: 22px;
     height: 2px;
     background: var(--accent);
     border-radius: 2px;
 }
 .fp-jtitle {
     font-size: 1.7rem;
     font-weight: 900;
     letter-spacing: -.5px;
     color: var(--text-dark);
     margin: 0 0 6px;
     line-height: 1.2;
 }
 .fp-jtitle span { color: var(--accent); }
 .fp-jsub {
     color: var(--text-muted);
     font-size: .92rem;
     margin: 0;
 }

 .fp-timeline {
     position: relative;
     list-style: none;
     padding: 0;
     margin: 0;
 }
 .fp-timeline::before {
     content: '';
     position: absolute;
     left: 21px;
     top: 22px;
     bottom: 22px;
     width: 2px;
     background: linear-gradient(180deg, var(--accent) 0%, var(--accent2) 30%, rgba(10,34,66,.1) 75%);
     border-radius: 2px;
 }
 .fp-item {
     position: relative;
     display: grid;
     grid-template-columns: 44px 1fr;
     align-items: center;
     gap: 20px;
     padding: 14px 0;
 }
 .fp-marker {
     position: relative;
     z-index: 1;
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: #fff;
     border: 2px solid rgba(10,34,66,.12);
     color: rgba(10,34,66,.4);
     font-weight: 800;
     font-size: 1rem;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 4px 12px rgba(10,34,66,.06);
     transition: all .3s;
 }
 .fp-item.is-active .fp-marker {
     background: var(--accent);
     border-color: var(--accent);
     color: #0a2342;
     box-shadow: 0 0 0 6px rgba(232,160,32,.18), 0 8px 20px rgba(232,160,32,.35);
     animation: fp-pulse 2.4s infinite;
 }
 .fp-item.is-ongoing .fp-marker {
     background: var(--accent2);
     border-color: var(--accent2);
     color: #fff;
     box-shadow: 0 0 0 5px rgba(26,111,173,.18), 0 8px 20px rgba(26,111,173,.3);
 }
 @keyframes fp-pulse {
     0%, 100% { box-shadow: 0 0 0 6px rgba(232,160,32,.18), 0 8px 20px rgba(232,160,32,.35); }
     50%      { box-shadow: 0 0 0 6px rgba(232,160,32,.28), 0 8px 20px rgba(232,160,32,.5); }
 }
 .fp-body {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 16px;
     flex-wrap: wrap;
 }
 .fp-name {
     font-size: 1rem;
     font-weight: 700;
     color: var(--text-dark);
     letter-spacing: -.2px;
 }
 .fp-state {
     font-size: .72rem;
     font-weight: 800;
     letter-spacing: 1px;
     text-transform: uppercase;
     padding: 6px 12px;
     border-radius: 999px;
     background: rgba(10,34,66,.06);
     color: var(--text-muted);
     white-space: nowrap;
 }
 .fp-item.is-active .fp-state {
     background: rgba(232,160,32,.15);
     color: #a06d0a;
 }
 .fp-item.is-ongoing .fp-state {
     background: rgba(26,111,173,.12);
     color: var(--accent2);
 }

 @media (max-width: 991px) {
     .fp-split {
         grid-template-columns: 1fr;
         gap: 24px;
     }
     .fp-card, .fp-journey { padding: 36px 28px; }
     .fp-num { font-size: 4.6rem; letter-spacing: -3px; }
 }
 @media (max-width: 540px) {
     .fp-card, .fp-journey { padding: 30px 22px; border-radius: 20px; }
     .fp-num { font-size: 4rem; letter-spacing: -2.5px; }
     .fp-cur { font-size: 1.4rem; margin-top: 10px; }
     .fp-suf { font-size: 1.3rem; margin-top: 12px; }
     .fp-jtitle { font-size: 1.4rem; }
     .fp-body { flex-direction: column; align-items: flex-start; gap: 6px; }
 }
 .fee-section .container { position: relative; z-index: 1; }
 .fee-grid {
     display: grid;
     grid-template-columns: 5fr 7fr;
     gap: 50px;
     align-items: stretch;
     perspective: 1600px;
 }
 .fee-wrap, .ml-wrap2 {
     transform-style: preserve-3d;
 }
 .fee-tag {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: .72rem;
     font-weight: 800;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     color: var(--accent);
     margin-bottom: 14px;
 }
 .fee-tag::before {
     content: '';
     width: 22px;
     height: 2px;
     background: var(--accent);
     border-radius: 2px;
 }

 .fee-premium {
     position: relative;
     background: linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
     color: #fff;
     border-radius: 24px;
     padding: 40px 36px 34px;
     overflow: hidden;
     isolation: isolate;
     border: 1px solid rgba(255,255,255,.12);
     backdrop-filter: blur(14px);
     -webkit-backdrop-filter: blur(14px);
     box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 30px 60px rgba(0,0,0,.35);
     transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s, border-color .5s;
 }
 .fee-premium::before {
     content: '';
     position: absolute;
     top: 0; left: 0; right: 0;
     height: 50%;
     background: linear-gradient(180deg, rgba(255,255,255,.08), transparent);
     pointer-events: none;
     z-index: 0;
 }
 .fee-premium::after {
     content: '';
     position: absolute;
     top: -120px;
     right: -120px;
     width: 320px;
     height: 320px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(232,160,32,.28), transparent 65%);
     z-index: 0;
 }
 .fee-premium:hover {
     transform: translateY(-6px);
     border-color: rgba(232,160,32,.4);
     box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 40px 80px rgba(0,0,0,.45);
 }
 .fee-premium > * { position: relative; z-index: 1; }

 .fee-ribbon {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 6px 14px;
     background: linear-gradient(135deg, var(--accent), #c78912);
     color: #0a2342;
     font-size: .7rem;
     font-weight: 800;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     border-radius: 999px;
     box-shadow: 0 8px 20px rgba(232,160,32,.4);
     margin-bottom: 22px;
 }

 .fee-head {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 16px;
     padding-bottom: 24px;
     border-bottom: 1px solid rgba(255,255,255,.12);
     margin-bottom: 22px;
 }
 .fee-price {
     display: flex;
     align-items: flex-start;
     line-height: 1;
 }
 .fee-cur {
     font-size: 1.4rem;
     font-weight: 800;
     color: var(--accent);
     margin-top: 12px;
     margin-right: 4px;
 }
 .fee-num {
     font-weight: 900;
     font-size: 4.6rem;
     letter-spacing: -2.5px;
     background: linear-gradient(135deg, #ffffff, #e8a020);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
 }
 .fee-meta {
     text-align: right;
     font-size: .8rem;
     color: rgba(255,255,255,.7);
     line-height: 1.5;
     font-weight: 600;
 }
 .fee-meta em {
     font-style: normal;
     color: var(--accent);
     font-size: .7rem;
     letter-spacing: 1px;
     text-transform: uppercase;
 }
 .fee-note {
     font-size: .92rem;
     color: rgba(255,255,255,.75);
     line-height: 1.65;
     margin-bottom: 22px;
 }

 .fee-list {
     list-style: none;
     padding: 0;
     margin: 0 0 28px;
 }
 .fee-list li {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 12px 0;
     border-bottom: 1px solid rgba(255,255,255,.08);
 }
 .fee-list li:last-child { border-bottom: none; }
 .fee-list li i {
     flex-shrink: 0;
     font-size: 1.25rem;
     color: var(--accent);
 }
 .fee-list li > div {
     flex: 1;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
 }
 .fee-list li b {
     font-weight: 600;
     font-size: .92rem;
     color: rgba(255,255,255,.92);
 }
 .fee-list li span {
     font-size: .68rem;
     font-weight: 700;
     letter-spacing: .8px;
     text-transform: uppercase;
     color: rgba(255,255,255,.55);
 }

 .fee-cta {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     width: 100%;
     padding: 16px 24px;
     background: linear-gradient(135deg, var(--accent), #c78912);
     color: #0a2342;
     font-weight: 800;
     font-size: 1rem;
     letter-spacing: .4px;
     border-radius: 12px;
     text-decoration: none;
     box-shadow: 0 16px 36px rgba(232,160,32,.4);
     transition: transform .3s, gap .3s, box-shadow .3s;
 }
 .fee-cta:hover {
     transform: translateY(-3px);
     gap: 14px;
     color: #0a2342;
     box-shadow: 0 22px 44px rgba(232,160,32,.55);
 }
 .fee-trust {
     margin-top: 14px;
     font-size: .78rem;
     color: rgba(255,255,255,.6);
     text-align: center;
 }
 .fee-trust i { color: var(--accent); margin-right: 4px; }

 /* MILESTONES — premium */
 .ml-wrap2 {
     position: relative;
     background: linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
     border-radius: 24px;
     padding: 40px 40px 36px;
     border: 1px solid rgba(255,255,255,.12);
     backdrop-filter: blur(14px);
     -webkit-backdrop-filter: blur(14px);
     transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s, border-color .5s;
     box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 30px 60px rgba(0,0,0,.35);
     overflow: hidden;
     isolation: isolate;
 }
 .ml-wrap2::before {
     content: '';
     position: absolute;
     top: 0; left: 0; right: 0;
     height: 50%;
     background: linear-gradient(180deg, rgba(255,255,255,.08), transparent);
     pointer-events: none;
     z-index: 0;
 }
 .ml-wrap2::after {
     content: '';
     position: absolute;
     bottom: -100px;
     left: -100px;
     width: 280px;
     height: 280px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(26,111,173,.28), transparent 65%);
     z-index: 0;
 }
 .ml-wrap2:hover {
     transform: translateY(-6px);
     border-color: rgba(232,160,32,.4);
     box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 40px 80px rgba(0,0,0,.45);
 }
 .ml-wrap2 > * { position: relative; z-index: 1; }
 .ml-title { color: #fff; }
 .ml-sub { color: rgba(255,255,255,.7); }
 .ml-name { color: #fff; }
 .ml-dot { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); }
 .ml-list::before {
     background: linear-gradient(180deg, var(--accent) 0%, var(--accent2) 30%, rgba(255,255,255,.1) 70%);
 }
 .st-tba { background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); }
 .ml-title {
     font-size: 1.8rem;
     font-weight: 900;
     color: var(--text-dark);
     letter-spacing: -.5px;
     margin: 0 0 8px;
 }
 .ml-title span {
     font-style: normal;
     font-weight: 800;
     color: var(--accent);
     background: none;
     -webkit-text-fill-color: var(--accent);
 }
 .ml-sub {
     color: var(--text-muted);
     font-size: .95rem;
     line-height: 1.6;
     margin-bottom: 30px;
 }
 .ml-list {
     position: relative;
     padding-left: 14px;
 }
 .ml-list::before {
     content: '';
     position: absolute;
     left: 13px;
     top: 8px;
     bottom: 8px;
     width: 2px;
     background: linear-gradient(180deg, var(--accent) 0%, var(--accent2) 30%, rgba(10,34,66,.1) 70%);
     border-radius: 2px;
 }
 .ml-item {
     position: relative;
     display: flex;
     align-items: center;
     gap: 18px;
     padding: 16px 0;
 }
 .ml-dot {
     position: relative;
     z-index: 1;
     width: 18px;
     height: 18px;
     border-radius: 50%;
     background: #fff;
     border: 2px solid rgba(10,34,66,.15);
     flex-shrink: 0;
     transition: transform .3s;
 }
 .ml-item:hover .ml-dot { transform: scale(1.2); }
 .ml-item.is-active .ml-dot {
     background: var(--accent);
     border-color: var(--accent);
     box-shadow: 0 0 0 5px rgba(232,160,32,.2), 0 0 0 10px rgba(232,160,32,.08);
     animation: ml-pulse 2s infinite;
 }
 .ml-item.is-ongoing .ml-dot {
     background: var(--accent2);
     border-color: var(--accent2);
     box-shadow: 0 0 0 4px rgba(26,111,173,.18);
 }
 @keyframes ml-pulse {
     0%, 100% { box-shadow: 0 0 0 5px rgba(232,160,32,.2), 0 0 0 10px rgba(232,160,32,.08); }
     50% { box-shadow: 0 0 0 5px rgba(232,160,32,.3), 0 0 0 14px rgba(232,160,32,.04); }
 }
 .ml-content {
     flex: 1;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
 }
 .ml-name {
     font-size: 1rem;
     font-weight: 700;
     color: var(--text-dark);
     letter-spacing: -.2px;
 }
 .ml-status {
     font-size: .72rem;
     font-weight: 800;
     letter-spacing: 1px;
     text-transform: uppercase;
     padding: 5px 12px;
     border-radius: 999px;
 }
 .st-active   { background: rgba(232,160,32,.15); color: #a06d0a; }
 .st-ongoing  { background: rgba(26,111,173,.12); color: var(--accent2); }
 .st-soon     { background: rgba(16,185,129,.12); color: #059669; }
 .st-tba      { background: rgba(10,34,66,.06); color: var(--text-muted); }

 @media (max-width: 991px) {
     .fee-grid { grid-template-columns: 1fr; gap: 36px; }
 }

 .fee-card {
     background: linear-gradient(135deg, var(--primary) 0%, #164e7a 100%);
     border-radius: 24px;
     padding: 48px 44px;
     color: var(--white);
     position: relative;
     overflow: hidden
 }

 .fee-card::before {
     content: '';
     position: absolute;
     top: -60px;
     right: -60px;
     width: 260px;
     height: 260px;
     border-radius: 50%;
     background: rgba(232, 160, 32, .08)
 }

 .fee-card::after {
     content: '';
     position: absolute;
     bottom: -40px;
     left: -40px;
     width: 180px;
     height: 180px;
     border-radius: 50%;
     background: rgba(255, 255, 255, .04)
 }

 .fee-amt {
     font-size: 4.2rem;
     font-weight: 900;
     color: var(--accent);
     letter-spacing: -2px;
     line-height: 1;
     position: relative;
     z-index: 1
 }

 .fee-amt sup {
     font-size: 1.8rem;
     vertical-align: top;
     margin-top: .5rem
 }

 .fee-f {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 9px 0;
     border-bottom: 1px solid rgba(255, 255, 255, .08);
     font-size: .9rem;
     color: rgba(255, 255, 255, .85);
     position: relative;
     z-index: 1;
     transition: all .2s
 }

 .fee-f:hover {
     padding-left: 6px;
     color: #fff
 }

 .fee-f:last-of-type {
     border-bottom: none
 }

 .fee-f i {
     color: var(--accent);
     font-size: 1rem
 }

 .btn-an {
     background: var(--accent);
     color: var(--primary);
     font-weight: 800;
     font-size: 1rem;
     border: none;
     border-radius: 12px;
     padding: .9rem 2.6rem;
     width: 100%;
     cursor: pointer;
     margin-top: 1.8rem;
     transition: all .25s;
     text-decoration: none;
     display: inline-block;
     text-align: center;
     position: relative;
     z-index: 1;
     overflow: hidden
 }

 .btn-an::before {
     content: '';
     position: absolute;
     inset: 0;
     background: rgba(255, 255, 255, .15);
     transform: translateX(-100%);
     transition: transform .3s
 }

 .btn-an:hover::before {
     transform: translateX(0)
 }

 .btn-an:hover {
     background: #f5b535;
     color: var(--primary);
     transform: translateY(-2px);
     box-shadow: 0 8px 28px rgba(232, 160, 32, .45)
 }

 /* MILESTONE */
 .ml-wrap {
     position: relative;
     padding-left: 36px
 }

 .ml-wrap::before {
     content: '';
     position: absolute;
     left: 8px;
     top: 8px;
     bottom: 8px;
     width: 2px;
     background: linear-gradient(to bottom, var(--accent), var(--accent2), var(--border));
     border-radius: 2px
 }

 .mi {
     position: relative;
     padding: 0 0 26px 18px;
     display: flex;
     align-items: flex-start;
     gap: 10px
 }

 .mi:last-child {
     padding-bottom: 0
 }

 .md {
     width: 16px;
     height: 16px;
     border-radius: 50%;
     flex-shrink: 0;
     margin-top: 2px;
     position: absolute;
     left: -26px;
     top: 2px;
     transition: transform .3s
 }

 .mi:hover .md {
     transform: scale(1.3)
 }

 .md.active {
     background: var(--accent);
     box-shadow: 0 0 0 4px rgba(232, 160, 32, .25), 0 0 12px rgba(232, 160, 32, .4)
 }

 .md.ongoing {
     background: var(--accent2);
     box-shadow: 0 0 0 4px rgba(26, 111, 173, .2)
 }

 .md.upcoming {
     background: var(--border);
     border: 2px solid rgba(10, 35, 66, .15)
 }

 .mt2 {
     font-weight: 700;
     font-size: .95rem;
     color: var(--text-dark)
 }

 .ms {
     font-size: .75rem;
     font-weight: 700;
     border-radius: 100px;
     padding: 2px 10px;
     display: inline-block;
     margin-top: 4px
 }

 .sa {
     background: rgba(232, 160, 32, .15);
     color: #a06d0a
 }

 .so {
     background: rgba(26, 111, 173, .12);
     color: var(--accent2)
 }

 .ss {
     background: var(--border);
     color: var(--text-muted)
 }

 .ml-img {
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: var(--card-shadow)
 }

 .ml-img img {
     width: 100%;
     height: 340px;
     object-fit: cover;
     display: block;
     transition: transform .6s
 }

 .ml-img:hover img {
     transform: scale(1.04)
 }

 /* LEGACY */
 .legacy {
     background: #0a4e97;
     position: relative;
     overflow: hidden;
     margin: 0 20px;
     border-radius: 20px;
 }

 .leg-grid {
     position: absolute;
     inset: 0;
     background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
     background-size: 60px 60px;
     pointer-events: none
 }

 .leg-stat {
     text-align: center;
     padding: 30px 18px;
     background: rgba(255, 255, 255, .05);
     border: 1px solid rgba(255, 255, 255, .1);
     border-radius: var(--radius);
     transition: all .3s;
     position: relative;
     overflow: hidden
 }

 .leg-stat::before {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(232, 160, 32, .06), transparent);
     opacity: 0;
     transition: opacity .3s
 }

 .leg-stat:hover {
     background: rgba(255, 255, 255, .09);
     transform: translateY(-4px);
     box-shadow: 0 12px 40px rgba(0, 0, 0, .25)
 }

 .leg-stat:hover::before {
     opacity: 1
 }

 .leg-num {
     font-size: 2.8rem;
     font-weight: 900;
     color: var(--accent);
     letter-spacing: -1px;
     line-height: 1
 }

 .leg-lbl {
     font-size: .83rem;
     color: rgba(255, 255, 255, .58);
     margin-top: 6px;
     font-weight: 500
 }

 .leg-desc {
     font-size: 1rem;
     color: rgba(255, 255, 255, .7);
     line-height: 1.78;
     max-width: 640px
 }

 .leg-img {
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: 0 20px 60px rgba(0, 0, 0, .35)
 }

 .leg-img img {
     width: 100%;
     height: 340px;
     object-fit: cover;
     display: block;
     opacity: .85;
     transition: all .5s
 }

 .leg-img:hover img {
     opacity: 1;
     transform: scale(1.03)
 }

 /* CTA */
 .cta-banner {
     /* background: linear-gradient(90deg, var(--accent2) 0%, var(--primary) 100%); */
     padding: 80px 0;
     position: relative;
     overflow: hidden
 }

 .cta-banner::before {
     content: '';
     position: absolute;
     top: -80px;
     right: -80px;
     width: 400px;
     height: 400px;
     border-radius: 50%;
     background: rgba(255, 255, 255, .05)
 }

 .cta-banner::after {
     content: '';
     position: absolute;
     bottom: -60px;
     left: 20%;
     width: 300px;
     height: 300px;
     border-radius: 50%;
     background: rgba(232, 160, 32, .08)
 }

 .cta-banner h2 {
     font-size: clamp(1.8rem, 3.5vw, 2.6rem);
     font-weight: 800;
     color: #000;
     letter-spacing: -.8px;
     line-height: 1.2;
     position: relative;
     z-index: 1
 }

 .cta-banner p {
     color: rgba(0, 0, 0, 0.74);
     font-size: 1.05rem;
     margin-top: .8rem;
     position: relative;
     z-index: 1
 }

 .btn-cw {
     position: relative;
     background: #fff;
     color: #0a2342;
     font-weight: 900;
     font-size: 1rem;
     letter-spacing: 1px;
     text-transform: uppercase;
     border: 3px solid #0a2342;
     border-radius: 0;
     padding: 16px 32px;
     cursor: pointer;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 14px;
     white-space: nowrap;
     box-shadow: 6px 6px 0 #0a2342;
     transition: transform .2s ease, box-shadow .2s ease, background .2s;
 }
 .btn-cw i {
     transition: transform .3s ease;
 }
 .btn-cw:hover {
     color: #0a2342;
     background: var(--accent);
     transform: translate(-3px, -3px);
     box-shadow: 9px 9px 0 #0a2342;
 }
 .btn-cw:hover i { transform: translateX(6px); }
 .btn-cw:active {
     transform: translate(3px, 3px);
     box-shadow: 3px 3px 0 #0a2342;
 }
 .btn-cw__legacy_unused {
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,.5),
        inset 0 -1px 0 rgba(0,0,0,.18),
        0 2px 0 #8a5e0c,
        0 4px 12px rgba(0,0,0,.2);
 }

 /* FOOTER */
 footer {
     background: linear-gradient(180deg, rgba(10, 35, 66, .96), rgba(10, 35, 66, .92));
     padding: 60px 0 28px;
     color: rgba(255, 255, 255, .92);
 }

 .footer-brand {
     font-weight: 800;
     font-size: 1.35rem;
     color: #fff;
     letter-spacing: -.5px;
     margin-bottom: 1rem;
 }

 .footer-desc {
     font-size: .95rem;
     color: rgba(255, 255, 255, .72);
     line-height: 1.8;
     max-width: 380px;
 }

 .footer-head {
     font-size: .8rem;
     font-weight: 700;
     color: rgba(255, 255, 255, .78);
     text-transform: uppercase;
     letter-spacing: 1.8px;
     margin-bottom: 1rem;
 }

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

 .footer-links li {
     margin-bottom: 10px;
 }

 .footer-links a {
     color: rgba(255, 255, 255, .65);
     font-size: .92rem;
     text-decoration: none;
     transition: all .2s;
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 .footer-links a:hover {
     color: #e8a020;
     transform: translateX(3px);
 }

 .footer-bottom {
     padding-top: 4px;
 }

 .footer-note {
     font-size: .8rem;
     color: rgba(255, 255, 255, .45);
 }

 /* Social icons */
 .footer-social {
     display: flex;
     gap: 12px;
     margin-top: 1.4rem;
 }

 .footer-social a {
     width: 40px;
     height: 40px;
     border-radius: 10px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: 1.05rem;
     color: rgba(255, 255, 255, .82);
     background: rgba(255, 255, 255, .07);
     border: 1px solid rgba(255, 255, 255, .1);
     transition: all .25s ease;
 }

 .footer-social a:hover {
     color: var(--primary);
     background: var(--accent);
     border-color: var(--accent);
     transform: translateY(-3px);
 }

 /* Contact rows */
 .footer-contact a {
     word-break: break-word;
 }

 .footer-contact i {
     color: var(--accent);
 }

 /* Footer CTA button */
 .footer-cta {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     margin-top: 1.2rem;
     padding: 11px 20px;
     border-radius: 10px;
     font-size: .9rem;
     font-weight: 700;
     text-decoration: none;
     color: var(--primary);
     background: var(--accent);
     transition: all .25s ease;
 }

 .footer-cta:hover {
     background: #fff;
     color: var(--primary);
     transform: translateY(-2px);
     box-shadow: 0 10px 24px rgba(232, 160, 32, .28);
 }

 .fdiv {
     border-color: rgba(255, 255, 255, .07);
     margin: 2rem 0 1.2rem
 }

 .fc2 {
     font-size: .8rem;
     color: rgba(255, 255, 255, .3)
 }

 /* PULSE SVG */
 @keyframes pulseR {

     0%,
     100% {
         opacity: .12
     }

     50% {
         opacity: .04
     }
 }

 .pr {
     animation: pulseR 2s ease-in-out infinite
 }

 @media(max-width:768px) {
     #objective {
         padding: 50px 20px;
     }

     .hero-img-card img{
        height: auto;
     }

     .why-us h2{
        font-size: 25px;
     }

     .hero-content{
            padding: 80px 20px 60px;
     }

     .hero h1{
        font-size: 40px;
     }

     .leg-num{
        font-size: 30px;
     }
     section {
         padding: 54px 0
     }

     .hero {
         min-height: auto;
         padding: 60px 0 40px
     }

     .hero-stats {
         flex-wrap: nowrap;
     }

     .hero-stats-container {
         bottom: 4.5rem;
     }

     .fee-card {
         padding: 30px 22px
     }

     .hero-img-wrap {
         margin-top: 2rem
     }

     .fc1,
     .fc2 {
         display: none
     }

     .obj-grid {
         grid-template-columns: 1fr
     }
 }

 @media (max-width: 992px) {
     /* push the banner clear of the fixed navbar (!important beats the .p-0 utility on the section) */
     .top_bnr.p-0,
     .top_bnr {
         padding-top: 70px !important;
     }

     .hero-stats-container {
         position: static;
         transform: none;
         margin: 1rem auto 0;
         width: 100%;
         padding: 0 1rem;
         bottom: auto;
     }

     .hero-stats {
         flex-wrap: wrap;
         width: 100%;
         justify-content: center;
         padding: 12px 6px;
         gap: 4px 0;
     }

     .hero-stat-item {
         flex: 0 0 33.333%;
         min-width: 0;
         padding: 14px 8px;
     }
     .hero-stat-item + .hero-stat-item::before {
         top: 15%;
         bottom: 15%;
     }
     .hero-stat-num { font-size: 1.8rem; }
     .hero-stat-label { font-size: .68rem; letter-spacing: .6px; }
 }
 @media (max-width: 768px) {
     /* each stat sits in its own box on mobile */
     .hero-stats-container .hero-stats,
     .hero-stats {
         flex-direction: column;
         padding: 0;
         gap: 12px;
         width: 100%;
         max-width: 100%;
         background: none;
         border: 0;
         border-radius: 0;
         box-shadow: none;
         overflow: visible;
         backdrop-filter: none;
         white-space: normal;
     }
     .hero-stat-item {
         flex: 1 1 auto;
         width: 100%;
         padding: 20px 16px;
         background: linear-gradient(140deg, #fff 0%, #fff8ec 100%);
         border: 1px solid rgba(232, 160, 32, .3);
         border-radius: 16px;
         box-shadow: none;
         backdrop-filter: none;
         position: relative;
         overflow: hidden;
     }
     /* gold accent strip across the top of each box */
     .hero-stat-item::after {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         right: 0;
         height: 3px;
         background: linear-gradient(90deg, var(--accent), rgba(232, 160, 32, 0));
     }
     .hero-stat-item + .hero-stat-item::before {
         display: none;
     }
     .hero-stat-num {
         font-size: 2rem;
         background: linear-gradient(135deg, var(--primary), #1a6fad);
         -webkit-background-clip: text;
         background-clip: text;
         -webkit-text-fill-color: transparent;
     }
     .hero-stat-num::after {
         content: '';
         display: block;
         width: 34px;
         height: 3px;
         margin: 10px auto 0;
         border-radius: 3px;
         background: linear-gradient(90deg, var(--accent), #f5c46a);
     }
     .hero-stat-label {
         font-size: .72rem;
         margin-top: 8px;
     }

     .top_bnr.p-0,
     .top_bnr {
         padding-bottom: 3.5rem !important;
     }
     .about-strip{
        padding: 60px 0;
     }
 }

 /* ABOUT TYPOGRAPHY */
 .about-lead {
     font-size: 1.1rem;
     line-height: 1.7;
     color: var(--text-dark);
     font-weight: 500;
 }
 .about-body {
     font-size: .95rem;
     line-height: 1.85;
     color: var(--text-muted);
 }

 .obj-head {
     max-width: 900px;
     margin: 0 auto 30px;
 }
 .obj-head .obj-lead {
     margin: 12px auto 14px;
 }

 .obj-lead {
     display: inline-block;
     font-size: .95rem;
     font-weight: 600;
     color: rgba(255,255,255,.85);
     padding: 8px 16px;
     background: rgba(255,255,255,.08);
     border-left: 3px solid var(--accent);
     border-radius: 0 8px 8px 0;
     margin-bottom: 16px;
     letter-spacing: .2px;
 }

 /* HIGHLIGHTS (inside About) */
 .highlights-inner {
     padding-top: 40px;
     border-top: 1px solid rgba(26,111,173,.1);
 }

 .hl-card {
     position: relative;
     height: 100%;
     padding: 36px 30px 32px;
     border-radius: 18px;
     background: #ffffff;
     border: 1px solid rgba(10,34,66,.06);
     box-shadow: 0 8px 28px rgba(10,34,66,.05);
     overflow: hidden;
     isolation: isolate;
     transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s, border-color .5s;
 }
 .hl-card::before {
     content: '';
     position: absolute;
     inset: 0;
     padding: 1px;
     border-radius: 18px;
     background: linear-gradient(135deg, rgba(232,160,32,.55), rgba(26,111,173,.25) 40%, transparent 70%);
     -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
             mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
     -webkit-mask-composite: xor;
             mask-composite: exclude;
     opacity: 0;
     transition: opacity .5s;
     pointer-events: none;
     z-index: 2;
 }
 .hl-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 22px 50px rgba(10,34,66,.12);
 }
 .hl-card:hover::before { opacity: 1; }

 .hl-glow {
     position: absolute;
     top: -60px;
     right: -60px;
     width: 160px;
     height: 160px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(232,160,32,.12), transparent 70%);
     z-index: 0;
 }

 .hl-num {
     position: absolute;
     top: 24px;
     right: 26px;
     font-family: 'Poppins';
     font-size: .78rem;
     font-weight: 700;
     letter-spacing: 3px;
     color: var(--accent);
     z-index: 1;
 }
 .hl-num::before {
     content: '';
     display: inline-block;
     width: 22px;
     height: 1px;
     background: var(--accent);
     vertical-align: middle;
     margin-right: 8px;
 }

 .hl-icon {
     position: relative;
     z-index: 1;
     width: 54px;
     height: 54px;
     border-radius: 14px;
     background: linear-gradient(135deg, #0a2342, #1a6fad);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: 1.35rem;
     margin-bottom: 22px;
     box-shadow: 0 10px 24px rgba(10,34,66,.18);
     transition: all .5s cubic-bezier(.22,1,.36,1);
 }
 .hl-icon::after {
     content: '';
     position: absolute;
     inset: 2px;
     border-radius: 12px;
     background: linear-gradient(135deg, rgba(255,255,255,.14), transparent 50%);
     pointer-events: none;
 }
 .hl-card:hover .hl-icon {
     background: linear-gradient(135deg, var(--accent), #c78912);
     transform: translateY(-2px);
     box-shadow: 0 14px 28px rgba(232,160,32,.35);
 }

 .hl-t {
     position: relative;
     z-index: 1;
     font-size: 1.08rem;
     font-weight: 800;
     color: var(--text-dark);
     line-height: 1.4;
     letter-spacing: -.2px;
     margin-bottom: 10px;
 }
 .hl-d {
     position: relative;
     z-index: 1;
     font-size: .9rem;
     color: #000;
     line-height: 1.65;
     margin: 0 0 20px;
 }

 .hl-line {
     position: relative;
     z-index: 1;
     width: 36px;
     height: 2px;
     border-radius: 2px;
     background: linear-gradient(90deg, var(--accent), rgba(232,160,32,.2));
     transition: width .5s cubic-bezier(.22,1,.36,1);
 }
 .hl-card:hover .hl-line { width: 72px; }
