/* ==========================================================================
   Sovereign Aviation Solutions — brand overrides on the Luxex template
   ========================================================================== */

/* --- nav wordmark (replaces image logos; keeps the light/dark switch) --- */
.logo .logo-light,
.logo .logo-dark {
    overflow: hidden;
}

.sov-wordmark {
    display: block;
    text-align: left;
    line-height: 1;
    padding-top: 4px;
}

.sov-wordmark .sov-wordmark-main {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 0.42em;
    color: #fff;
    white-space: nowrap;
}

.sov-wordmark .sov-wordmark-sub {
    display: block;
    margin-top: 7px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 8px;
    letter-spacing: 0.54em;
    color: #c6a87c;
    white-space: nowrap;
}

.sov-wordmark-dark .sov-wordmark-main {
    color: #2e2e2e;
}

@media only screen and (max-width: 880px) {
    .sov-wordmark .sov-wordmark-main { font-size: 14px; }
    .sov-wordmark .sov-wordmark-sub { font-size: 7px; margin-top: 5px; }
}

/* --- hero eyebrow tag --- */
.sov-hero-tag {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5em;
    text-indent: 0.5em; /* balances tracking on centered text */
    text-transform: uppercase;
    color: #c6a87c;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .sov-hero-tag { font-size: 10px; letter-spacing: 0.36em; text-indent: 0.36em; }
}

.sov-hero-sub {
    font-family: 'Raleway', sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 1.8;
    color: #e5e5e5;
    text-align: center;
    max-width: 620px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- credibility stats band --- */
.sov-stats-row {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    text-align: center;
}

.sov-stat {
    -webkit-flex: 1 1 220px;
    flex: 1 1 220px;
    max-width: 300px;
    padding: 10px 24px;
}

.sov-stat-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 56px;
    line-height: 1;
    color: #2e2e2e;
}

.sov-stat-number span {
    color: #c6a87c;
}

.sov-stat-label {
    margin-top: 14px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    line-height: 1.9;
    color: #5f5f5f;
}

@media only screen and (max-width: 880px) {
    .sov-stat { -webkit-flex-basis: 42%; flex-basis: 42%; padding: 18px 12px; }
    .sov-stat-number { font-size: 44px; }
}

/* --- contact title background (replaces template video) --- */
.parallax-title.sov-contact-title-bg {
    background-image: url(../img/background/contact-title-bg.jpg);
}

/* --- services page stage backgrounds --- */
.bg-svc-hero { background-image: url(../img/services/7.jpg); }
.parallax.sov-svc-1 { background-image: url(../img/services/1.jpg); }
.parallax.sov-svc-2 { background-image: url(../img/services/2.jpg); }
.parallax.sov-svc-3 { background-image: url(../img/services/3.jpg); }
.parallax.sov-svc-4 { background-image: url(../img/services/4.jpg); }
.parallax.sov-svc-5 { background-image: url(../img/services/5.jpg); }
.parallax.sov-svc-6 { background-image: url(../img/services/6.jpg); }
.parallax.sov-svc-7 { background-image: url(../img/services/7.jpg); }

/* --- services page stage copy blocks --- */
.sov-stage-txt {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.sov-stage-txt p {
    text-align: left;
}

.sov-stage-scope {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    line-height: 2.2;
    color: #c6a87c;
    text-align: center;
}

/* --- carousel image tags (replaces template caption pill) --- */
.halves .image-caption {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #c6a87c;
    background: rgba(10, 11, 13, 0.78);
    border: 1px solid rgba(198, 168, 124, 0.55);
    border-radius: 0;
    padding: 11px 20px;
}

@media only screen and (max-width: 768px) {
    .halves .image-caption { font-size: 9px; letter-spacing: 0.18em; padding: 8px 14px; }
}

/* --- experience page backgrounds --- */
.bg-exp-hero { background-image: url(../img/experience/hero.jpg); }
.parallax.sov-exp-cc { background-image: url(../img/experience/arena.jpg); }
.parallax.sov-exp-craft { background-image: url(../img/experience/fleet.jpg); }
.parallax.sov-exp-discretion { background-image: url(../img/experience/doors.jpg); }

/* --- experience page client blocks --- */
.sov-serve {
    max-width: 820px;
    margin: 0 auto;
    text-align: left;
    padding: 26px 30px;
    border-left: 1px solid #c6a87c;
    background: #fff;
}

.sov-serve + .sov-serve { margin-top: 26px; }

.sov-serve-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #2e2e2e;
    margin: 0 0 12px;
}

.sov-serve p { margin: 0; }

/* --- carousel edge arrows + counter --- */
.owl-nav.sov-owl-edge-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100% !important;
    max-width: 100%;
    height: 0;
    margin: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    pointer-events: none;
    z-index: 6;
}

.sov-owl-edge-nav .owl-prev,
.sov-owl-edge-nav .owl-next {
    pointer-events: auto;
    position: absolute;
    top: -28px;
    width: 56px;
    height: 56px;
    line-height: 56px;
    font-size: 18px;
    color: #fff;
    background: rgba(17, 17, 17, 0.55);
    border: 1px solid #c6a87c;
    border-radius: 50%;
    cursor: pointer;
}

.sov-owl-edge-nav .owl-prev { left: 28px; }
.sov-owl-edge-nav .owl-next { left: auto; right: 28px; }

.sov-owl-edge-nav .owl-prev:hover,
.sov-owl-edge-nav .owl-next:hover {
    color: #111;
    background: #c6a87c;
}

.sov-owl-edge-nav .owl-prev.disabled,
.sov-owl-edge-nav .owl-next.disabled {
    width: 56px;
    height: 56px;
    line-height: 56px;
    color: rgba(255, 255, 255, 0.35) !important;
    background: rgba(17, 17, 17, 0.3) !important;
    border-color: rgba(198, 168, 124, 0.3);
    cursor: default;
}

@media only screen and (max-width: 768px) {
    .sov-owl-edge-nav .owl-prev,
    .sov-owl-edge-nav .owl-next,
    .sov-owl-edge-nav .owl-prev.disabled,
    .sov-owl-edge-nav .owl-next.disabled {
        width: 44px;
        height: 44px;
        line-height: 44px;
        font-size: 15px;
        top: -22px;
    }
    .sov-owl-edge-nav .owl-prev { left: 12px; }
    .sov-owl-edge-nav .owl-next { right: 12px; }
}

.sov-owl-counter {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.3em;
    text-indent: 0.3em;
    color: #c6a87c;
    text-align: center;
    padding-top: 34px;
}

/* --- service detail pages --- */
.sov-detail-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 860px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px 48px;
    text-align: left;
}

.sov-detail-list li {
    -webkit-flex: 1 1 340px;
    flex: 1 1 340px;
    position: relative;
    padding-left: 24px;
    font-family: 'Raleway', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #5f5f5f;
}

.sov-detail-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 10px;
    height: 1px;
    background: #c6a87c;
}

.sov-phase-nav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    gap: 16px;
    max-width: 860px;
    margin: 0 auto;
}

.sov-phase-nav a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #c6a87c;
    -webkit-transition: color .3s ease-out;
    transition: color .3s ease-out;
}

.sov-phase-nav a:hover { color: #2e2e2e; }

.sov-phase-nav .sov-phase-nav-all { color: #5f5f5f; }

.sov-phase-nav .sov-phase-nav-all:hover { color: #c6a87c; }

/* --- site footer --- */
.sov-footer {
    position: relative;
    z-index: 5;
    background: #121316;
    text-align: left;
}

.sov-footer .container { padding-top: 0; }

.sov-footer-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 60px;
    padding: 96px 0 80px;
}

.sov-footer-brand {
    -webkit-flex: 1 1 300px;
    flex: 1 1 300px;
    max-width: 360px;
}

.sov-footer-brand img {
    width: 64px;
    height: auto;
    margin-bottom: 22px;
}

.sov-footer-wordmark {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 15px;
    letter-spacing: 0.42em;
    color: #fff;
    line-height: 1;
}

.sov-footer-wordmark span {
    display: block;
    margin-top: 7px;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.54em;
    color: #c6a87c;
}

.sov-footer-brand p {
    margin: 22px 0 0;
    font-family: 'Raleway', sans-serif;
    font-size: 13.5px;
    line-height: 1.9;
    color: #8f8b83;
}

.sov-footer-col {
    -webkit-flex: 0 1 auto;
    flex: 0 1 auto;
}

.sov-footer-convo {
    -webkit-flex: 1 1 280px;
    flex: 1 1 280px;
    max-width: 340px;
}

.sov-footer-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #c6a87c;
    margin-bottom: 24px;
}

.sov-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sov-footer-col ul li { margin-bottom: 13px; }

.sov-footer-col ul li a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #d8d4cb;
    -webkit-transition: color .3s ease-out;
    transition: color .3s ease-out;
}

.sov-footer-col ul li a:hover,
.sov-footer-col ul li a:focus {
    color: #c6a87c;
}

.sov-footer-convo p {
    margin: 0 0 20px;
    font-family: 'Raleway', sans-serif;
    font-size: 13.5px;
    line-height: 1.9;
    color: #8f8b83;
}

.sov-footer-mail {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.06em;
    color: #c6a87c;
    border-bottom: 1px solid rgba(198, 168, 124, 0.4);
    padding-bottom: 4px;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
}

.sov-footer-mail:hover,
.sov-footer-mail:focus {
    color: #fff;
    border-color: #fff;
}

.sov-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 26px 0;
}

.sov-footer-bottom-inner {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6e6a62;
}

.sov-footer-bottom-inner a {
    color: #c6a87c;
    -webkit-transition: color .3s ease-out;
    transition: color .3s ease-out;
}

.sov-footer-bottom-inner a:hover { color: #fff; }

@media only screen and (max-width: 880px) {
    .sov-footer-grid { gap: 44px; padding: 70px 0 56px; }
    .sov-footer-brand, .sov-footer-convo { max-width: 100%; }
}
