:root{--navy:#0b2545;--navy2:#071a31;--gold:#c79a45;--gold2:#e0bb72;--ink:#172033;--muted:#667085;--soft:#f5f7fa;--line:#e5e9ef;--white:#fff;--green:#168447;--green-dark:#0f6535}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.7}h1,h2,h3{font-family:'Playfair Display',serif;color:var(--green);line-height:1.16}a{text-decoration:none}.fin-header{height:88px;display:flex;align-items:center;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(11,37,69,.08);position:sticky;top:0;z-index:1000;box-shadow:0 4px 25px rgba(11,37,69,.04)}.fin-nav-wrap{display:flex;align-items:center;justify-content:space-between}.fin-brand{display:flex;align-items:center;gap:12px;color:var(--navy)}.fin-brand img{width:48px;height:48px;object-fit:contain}.fin-brand span{display:flex;flex-direction:column;line-height:1.05}.fin-brand strong{font-size:20px;letter-spacing:.4px}.fin-brand small{font-size:10px;letter-spacing:2.4px;color:var(--gold);margin-top:6px}.fin-nav{display:flex;align-items:center;gap:30px}.fin-nav>a:not(.fin-btn){color:#344054;font-weight:600;font-size:14px;padding:31px 0 27px;border-bottom:3px solid transparent}.fin-nav>a.active,.fin-nav>a:not(.fin-btn):hover{color:var(--green);border-color:var(--green)}.fin-menu{display:none;border:0;background:transparent;color:var(--navy);font-size:30px}.fin-btn{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--navy2)!important;padding:14px 22px;border-radius:4px;font-weight:700;transition:.25s}.fin-btn:hover{background:var(--gold2);transform:translateY(-2px)}.fin-btn-sm{padding:11px 18px}.fin-btn-outline{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.55)}.fin-btn-outline:hover{background:#fff;color:var(--navy)!important}.fin-hero{position:relative;min-height:660px;background:var(--navy2);overflow:hidden}.fin-hero .carousel-item{height:660px}.fin-hero img{width:100%;height:100%;object-fit:cover}.fin-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,21,40,.92) 0%,rgba(5,21,40,.72) 46%,rgba(5,21,40,.24) 78%,rgba(5,21,40,.12) 100%)}.fin-hero-content{position:absolute;inset:0;display:flex;align-items:center}.fin-hero-copy{max-width:720px;color:#fff}.fin-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--gold2);margin-bottom:20px}.fin-eyebrow:before{content:"";width:34px;height:2px;background:var(--gold)}.fin-hero h1{font-size:64px;color:#fff;margin:0 0 22px}.fin-hero p{font-size:19px;color:#e7ebf0;max-width:650px;margin-bottom:30px}.fin-actions{display:flex;gap:12px;flex-wrap:wrap}.fin-section{padding:96px 0}.fin-section-soft{background:var(--soft)}.fin-section-navy{background:var(--navy);color:#fff}.fin-heading{max-width:720px;margin-bottom:48px}.fin-heading.center{text-align:center;margin-left:auto;margin-right:auto}.fin-heading h2{font-size:43px;margin:8px 0 15px}.fin-heading p{color:var(--muted);font-size:17px}.fin-section-navy .fin-heading h2,.fin-section-navy h2,.fin-section-navy h3{color:#fff}.fin-section-navy .fin-heading p{color:#d0d8e3}.fin-service-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.3s;box-shadow:0 8px 30px rgba(11,37,69,.05)}.fin-service-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(11,37,69,.12)}.fin-service-image{height:220px;overflow:hidden;position:relative}.fin-service-image img{width:100%;height:100%;object-fit:cover;transition:.45s}.fin-service-card:hover img{transform:scale(1.05)}.fin-service-num{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--navy);font-weight:800;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.fin-service-body{padding:26px}.fin-service-body h3{font-family:'DM Sans';font-size:19px;font-weight:700;margin-bottom:12px}.fin-service-body p{color:var(--muted);font-size:14px}.fin-text-link{color:var(--green);font-weight:700;font-size:14px}.fin-about-image{position:relative;padding:0 28px 28px 0}.fin-about-image img{width:100%;height:520px;object-fit:cover;border-radius:6px}.fin-about-image:after{content:"";position:absolute;right:0;bottom:0;width:58%;height:58%;border:3px solid var(--gold);z-index:-1}.fin-about-copy{padding-left:30px}.fin-about-copy h2{font-size:44px;margin-bottom:20px}.fin-about-copy p{color:var(--muted)}.fin-values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.fin-value{display:flex;gap:12px;align-items:flex-start}.fin-value i{color:var(--gold);font-size:20px}.fin-value b{display:block;color:var(--green)}.fin-stats{margin-top:-55px;position:relative;z-index:4}.fin-stats-box{background:#fff;border-radius:7px;box-shadow:0 20px 55px rgba(7,26,49,.14);display:grid;grid-template-columns:repeat(4,1fr);padding:28px 10px}.fin-stat{text-align:center;padding:10px 20px;border-right:1px solid var(--line)}.fin-stat:last-child{border:0}.fin-stat strong{display:block;color:var(--navy);font-family:'Playfair Display';font-size:34px}.fin-stat span{font-size:13px;color:var(--muted)}.fin-cta{background:linear-gradient(120deg,var(--navy2),var(--navy));padding:70px 0}.fin-cta h2{color:#fff;font-size:40px;margin:0}.fin-cta p{color:#ccd6e2;margin:10px 0 0}.fin-page-hero{padding:105px 0;background:linear-gradient(90deg,rgba(7,26,49,.96),rgba(11,37,69,.78)),url('../img/page-title-bg.webp') center/cover;color:#fff}.fin-page-hero h1{color:#fff;font-size:52px;margin-bottom:12px}.fin-page-hero p{color:#d9e0e8;max-width:650px}.fin-breadcrumb{font-size:13px;color:var(--gold2);text-transform:uppercase;letter-spacing:1px}.fin-info-card{height:100%;padding:28px;background:#fff;border:1px solid var(--line);border-radius:7px}.fin-info-card i{font-size:28px;color:var(--gold)}.fin-team-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;height:100%}.fin-team-card img{width:100%;height:350px;object-fit:cover;object-position:top}.fin-team-body{padding:20px}.fin-team-body h3{font-family:'DM Sans';font-size:18px;margin:0}.fin-team-body span{color:var(--gold);font-size:13px;font-weight:700}.fin-contact-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px;box-shadow:0 10px 35px rgba(11,37,69,.06)}.fin-contact-panel h3{font-size:30px}.fin-footer{background:#06172b;color:#aeb9c8;padding:70px 0 0}.fin-footer-grid{display:grid;grid-template-columns:1.6fr .7fr 1fr 1.2fr;gap:55px}.fin-footer h5{color:#fff;font-size:15px;margin-bottom:20px}.fin-footer a{display:block;color:#aeb9c8;margin:9px 0;font-size:14px}.fin-footer a:hover{color:var(--gold2)}.fin-brand-footer{margin-bottom:18px!important}.fin-brand-footer strong{color:#fff}.fin-brand-footer img{background:#fff;border-radius:4px}.fin-address{font-size:14px;margin-top:12px}.fin-address p{margin:5px 0}.fin-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:55px;padding:22px 0;display:flex;justify-content:space-between;font-size:12px}.fin-scroll{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;z-index:10}.prose p{color:var(--muted)}.prose ul{padding-left:18px}.prose img{max-width:100%}@media(max-width:991px){.fin-header{height:auto;min-height:76px}.fin-menu{display:block}.fin-nav{position:absolute;left:0;right:0;top:76px;background:#fff;padding:15px 24px 25px;box-shadow:0 18px 35px rgba(7,26,49,.12)}.fin-nav.collapse:not(.show){display:none}.fin-nav.show{display:block}.fin-nav>a{display:block!important;padding:12px 0!important;border:0!important}.fin-nav .fin-btn{margin-top:8px;justify-content:center}.fin-hero,.fin-hero .carousel-item{height:600px;min-height:600px}.fin-hero h1{font-size:48px}.fin-about-copy{padding:35px 0 0}.fin-stats{margin-top:0}.fin-footer-grid{grid-template-columns:1fr 1fr}.fin-stats-box{grid-template-columns:1fr 1fr}.fin-stat:nth-child(2){border-right:0}.fin-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:576px){.fin-brand strong{font-size:16px}.fin-brand img{width:40px;height:40px}.fin-hero,.fin-hero .carousel-item{height:560px;min-height:560px}.fin-hero h1{font-size:39px}.fin-hero p{font-size:16px}.fin-section{padding:70px 0}.fin-heading h2,.fin-about-copy h2{font-size:35px}.fin-page-hero{padding:75px 0}.fin-page-hero h1{font-size:40px}.fin-values{grid-template-columns:1fr}.fin-footer-grid{grid-template-columns:1fr}.fin-footer-bottom{display:block}.fin-footer-bottom span{display:block;margin:6px 0}.fin-cta h2{font-size:32px}}

/* Client-requested navigation and heading refinements */
.fin-header{border-top:4px solid var(--green)}
.fin-nav{margin-left:auto}
.fin-nav>a:not(.fin-btn){font-size:15px;font-weight:700}
.fin-hero h1,.fin-page-hero h1,.fin-cta h2,.fin-section-navy h1,.fin-section-navy h2,.fin-section-navy h3{color:#fff}
.fin-heading h2,.fin-about-copy h2,.fin-contact-panel h3,.fin-service-body h3,.fin-team-body h3{color:var(--green)}
@media(max-width:991px){.fin-nav{margin-left:0}}

/* V3 hero image alignment and reliable slideshow */
.fin-hero .carousel-inner,.fin-hero .carousel-item{height:660px}
.fin-hero .carousel-item>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%;}
.fin-hero .carousel-indicators{z-index:6;margin-bottom:28px;gap:7px}
.fin-hero .carousel-indicators [data-bs-target]{width:34px;height:4px;border:0;border-radius:10px;background-color:rgba(255,255,255,.55)}
.fin-hero .carousel-indicators .active{background-color:var(--gold)}
.fin-hero .carousel-control-prev,.fin-hero .carousel-control-next{width:7%;z-index:6}
.fin-hero .carousel-control-prev-icon,.fin-hero .carousel-control-next-icon{width:46px;height:46px;background-size:20px;border-radius:50%;background-color:rgba(7,26,49,.52);border:1px solid rgba(255,255,255,.35)}
@media(max-width:991px){.fin-hero .carousel-inner,.fin-hero .carousel-item{height:600px}.fin-hero .carousel-item>img{object-position:center 24%}}
@media(max-width:576px){.fin-hero .carousel-inner,.fin-hero .carousel-item{height:560px}.fin-hero .carousel-item>img{object-position:center 22%}.fin-hero .carousel-control-prev,.fin-hero .carousel-control-next{display:none}}

/* =========================================
   FIN ENTERPRISE HEADER
========================================= */

.fin-nav-wrap {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}


/* =========================================
   BRAND
========================================= */

.fin-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    flex-shrink: 0;
}

.fin-brand img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.fin-brand span {
    display: flex;
    flex-direction: column;
}

.fin-brand strong {
    font-size: 21px;
    font-weight: 800;
    letter-spacing: .4px;
    color: #10264b;
    line-height: 1.1;
}

.fin-brand small {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #b58b3a;
}


/* =========================================
   DESKTOP NAVIGATION
========================================= */

.fin-nav {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    margin-left: auto;
}

.fin-nav > a:not(.fin-btn) {
    position: relative;
    color: #172033;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    padding: 32px 0;
    transition: color .25s ease;
}

.fin-nav > a:not(.fin-btn):hover {
    color: #21834a;
}


/* ACTIVE PAGE */

.fin-nav > a.active:not(.fin-btn) {
    color: #21834a;
}

.fin-nav > a.active:not(.fin-btn)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 23px;
    height: 3px;
    border-radius: 5px;
    background: #21834a;
}


/* =========================================
   GET A QUOTE
========================================= */

.fin-btn.fin-btn-sm {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 12px 20px;

    background: #21834a;
    color: #ffffff;

    border-radius: 6px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background .25s ease,
        transform .25s ease;
}

.fin-btn.fin-btn-sm:hover {
    background: #176b3a;
    color: #ffffff;
    transform: translateY(-2px);
}


/* =========================================
   MOBILE MENU BUTTON
========================================= */

.fin-menu {
    display: none;
    border: 0;
    background: transparent;
    color: #21834a;
    font-size: 30px;
    cursor: pointer;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

    .fin-nav-wrap {
        min-height: 78px;
        position: relative;
    }

    .fin-menu {
        display: block;
        margin-left: auto;
    }

    .fin-nav {
        display: none !important;

        position: absolute;
        top: 78px;
        left: 12px;
        right: 12px;

        background: #ffffff;

        flex-direction: column;
        align-items: stretch;

        gap: 0;

        padding: 15px 20px 22px;

        border-radius: 0 0 10px 10px;

        box-shadow:
            0 15px 35px rgba(0, 0, 0, .12);

        z-index: 9999;
    }

    .fin-nav.open {
        display: flex !important;
    }

    .fin-nav > a:not(.fin-btn) {
        padding: 15px 5px;
        border-bottom: 1px solid #eeeeee;
    }

    .fin-nav > a.active:not(.fin-btn)::after {
        display: none;
    }

    .fin-nav > a.active:not(.fin-btn) {
        color: #21834a;
        font-weight: 700;
    }

    .fin-btn.fin-btn-sm {
        justify-content: center;
        margin-top: 15px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .fin-brand strong {
        font-size: 17px;
    }

    .fin-brand small {
        font-size: 8px;
        letter-spacing: 2px;
    }

    .fin-brand img {
        width: 38px;
        height: 38px;
    }

}