:root {
    --primary-color: #D9A730;
    --gold-light: #E8C15C;
    --bg-page: #060D14;
    --bg-section: #08121C;
    --bg-card: #0B1622;
    --border-card: #1B2A3A;
    --text-primary: #FFFFFF;
    --text-secondary: #A9B4C2;
    --text-on-gold: #0B1622;
    --header-height: 132px;
    --content-width: 1753px;
}

body {
    color: var(--text-primary);
    font-family: "Roboto", sans-serif;
    background-color: var(--bg-page);
    font-weight: 200;
}

/* === 
    elements
    === */
.section-title {
    color: var(--primary-color);
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 500;
}

.btn {
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 14px 24px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.text-danger {
    color: rgb(243, 110, 110);
}

.site-header .btn {
    text-transform: capitalize;
}

.btn-primary {
    background: var(--primary-color);
    /* #D9A730 */
    color: var(--text-on-gold);
    /* #0B1622 */
    border: 1px solid var(--primary-color);
}

.btn-primary:hover {
    background: var(--gold-light);
    /* #E8C15C */
    border-color: var(--gold-light);
}

.btn-outlined {
    background: transparent;
    color: var(--text-primary);
    /* #FFFFFF */
    border: 1px solid var(--primary-color);
}

.btn-outlined:hover {
    background: rgba(217, 167, 48, 0.1);
    color: var(--gold-light);
}


.card {
    width: 200px;
    margin: 0 auto;
    margin: 0 auto;
    height: 290px;
    background: var(--bg-card);
    /* #0B1622 */
    border: 1px solid var(--border-card);
    /* #1B2A3A */
    border-radius: 6px;
    padding: 28px 20px;
    text-align: center;
    transition: border-color 0.2s ease;
}

.card:hover {
    border-color: var(--primary-color);
}

.card-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    fill: var(--gold-light);
    font-size: 20px;
}

.card-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.card-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-secondary);
}

.border-primary {
    border-color: var(--primary-color);
}

/* === 
    header and hero sections 
    === */
header.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    border-bottom: solid 1px var(--border-card);
    background: var(--bg-page);
    transition: background 0.3s ease, border-color 0.3s ease;
}

header.site-header.scrolled {
    background: rgba(6, 13, 20, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border-card);
}

header.site-header .logo .slogo {
    color: var(--primary-color);
    font-weight: 300;
}

.header-nav-link {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.header-nav-link:hover,
.header-nav-link.active {
    color: var(--primary-color);
}

.menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.menu-toggle span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--text-primary);
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.menu-toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.open span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ---------- mobile menu panel ---------- */
.mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 0;
    overflow: hidden;
    background: var(--bg-page);
    border-top: 1px solid transparent;
    transition: max-height 0.35s ease, border-color 0.3s ease;
}

.mobile-menu.open {
    max-height: 480px;
    border-top: 1px solid var(--border-card);
    padding: 12px 24px 24px;
}

.mobile-nav-link {
    padding: 12px 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-secondary);
    text-decoration: none;
    border-bottom: 1px solid var(--border-card);
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
    color: var(--primary-color);
}

.mobile-menu .header-cta {
    align-self: flex-start;
}

/* ---------- hero section ---------- */
.hero {
    position: relative;
    min-height: calc(100vh - var(--header-height));
    margin-top: var(--header-height);
    display: flex;
    align-items: center;
}

.hero .hero-img {
    background-image: url('../img/hero-bg.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 100% 30%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    height: 100%;
    width: 100%;
}

.hero .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    width: 100%;
    /* Solid on the left, fully transparent by ~55-60% width */
    background: radial-gradient(circle at left center,
            var(--bg-page) 0%,
            var(--bg-page) 40%,
            transparent 60%);
    /* opacity now baked into the gradient stops, but you can still scale it: */
    opacity: .9;
}

.terms-conditions-content p,
.hero p,
.service-card p,
.partenaire p,
.about p {
    font-size: clamp(0.1rem, 2.2rem + 3.15vw, 1.7rem);
    line-height: clamp(1.5rem, 2.2rem + 3.15vw, 2.5rem);
}

.hero-content {
    padding: 40px 0;
    position: relative;
    z-index: 10;
}

.hero-title {
    line-height: 2rem;
}

.hero-content .bottom-hero-title {
    color: var(--primary-color);
}


/* === 
partenaire sections 
=== */
.partenaire {
    background-color: var(--bg-section);
}

.partenaire .title {
    color: var(--primary-color);
    text-transform: uppercase;
}

.partenaire .partenaire-icon {
    fill: var(--primary-color);
    height: 28px;
    margin-bottom: 12px;
}

/* === 
    services sections 
    === */
.services .service-card {
    border: 1px solid var(--border-card);
    background-color: var(--bg-card);
}

.services .title {
    color: var(--primary-color);
}

/* === 
    section4 style
    === */
.section4 {
    margin-top: 90px;
    margin-bottom: 90px;
}

.section4 .section4-img {
    width: auto;
    height: 260px;
    margin: 0 auto;
}

.section4 .section4-icon {
    width: 40px;
    margin: 0 auto;
    height: 60px;
    margin-right: 20px;
    fill: var(--primary-color);
}

.section4 h4 {
    font-weight: 500;
}

.section4 p {
    font-size: 14px;
}

/* === 
about sections 
=== */
.about {
    padding: 40px 0;
    background-color: var(--bg-section);
}

.about .title {
    color: var(--primary-color);
    margin-bottom: 4px;
    text-transform: uppercase;
}

.about .subtitle {
    font-weight: 500;
    margin-bottom: 2px;
    font-size: 33px;
    text-transform: uppercase;
}

.about .about-sections li {
    padding: 20px;
}

.about .about-sections .about-sections-title {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 8px;
}

.about .about-sections .about-sections-icon {
    margin-bottom: 8px;
}

.about .about-sections-text {
    font-size: 16px;
    line-height: normal;
}

/* === 
our values sections 
=== */
.our-values {
    padding: 40px 0;
}

.our-values .title {
    color: var(--primary-color);
    font-weight: 500;
    text-transform: uppercase;
    font-size: 24px;
    margin-bottom: 20px;
}

.section5 {
    border-top: 1px solid var(--border-card);
    border-bottom: 1px solid var(--border-card);
    padding: 40px 0;
}

.section5 .section5-subtitle {
    font-size: 23px;
    font-weight: 500;
    line-height: 2rem;
    margin-bottom: 10px;
}

.section5 .section5-text {
    font-size: 16px;
    margin-bottom: 18px;
}

.section5-sections ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.section5-sections ul>li {
    font-size: 14px;
    position: relative;
    padding-left: 28px;
    /* space for the checkmark */
    margin-bottom: 10px;
}

.section5-sections ul>li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    background-image: url('../img/icons/circle-check-mark.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* === 
    why choosing us section
    === */
.choosing-us {
    border-bottom: 1px solid var(--border-card);
}

.choosing-us h3 {
    font-size: 22px;
    font-weight: 500;
    text-transform: uppercase;
}

.choosing-us p {
    font-size: 14px;
}

.choosing-us .choosing-us-icon {
    color: var(--primary-color);
}



.services ul .service-icon {
    fill: var(--primary-color);
    height: 28px;
    margin-bottom: 12px;
}

/* === 
    terms and conditions page css
    === */

.hr-light {
    border: none;
    border-top: 1px solid #E4E7EB;
    margin: 0;
}

.notice-card {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 4px;
}

.notice-icon {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1.5px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* === 
privary policy page css 
=== */
.section-icon {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1.5px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #3A4756;
}

.check-icon {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    margin-top: 3px;
    border-radius: 999px;
    border: 1.5px solid var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hr-light {
    border: none;
    border-top: 1px solid #E4E7EB;
    margin: 28px 0;
}

.notice-card {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 4px;
}

.notice-icon {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1.5px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ===
    available jobs page
    === */

.filter-bar {

    border-bottom: 1px solid var(--border-card);
}

.filter-input,
.filter-select {
    background: #FFFFFF;
    border: 1px solid #D7DCE2;
    border-radius: 3px;
    color: #1A2430;
    font-size: 0.88rem;
    padding: 10px 14px;
}

.filter-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7686' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}

.filter-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8A94A3;
    margin-bottom: 6px;
    display: block;
}

.btn-gold {
    background: var(--primary-color);
    color: var(--text-on-gold);
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.82rem;
    transition: background 0.15s ease;
}

.btn-gold:hover {
    background: var(--gold-light);
}

.job-card {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 4px;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.job-card:hover {
    box-shadow: 0 6px 18px rgba(20, 26, 34, 0.08);
    transform: translateY(-2px);
}

.job-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1.5px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 999px;
}

.tag-green {
    background: #E4F3E8;
    color: #2E8B4E;
}

.tag-blue {
    background: #E4EEFC;
    color: #2C6FD1;
}

.tag-gray {
    background: #EDEFF2;
    color: #5B6675;
}

/* === 
    footer section
    === */

.site-footer {
    background: var(--bg-card);
    color: var(--text-primary);
    font-family: var(--font-body);
}

/* ---------- CTA banner ---------- */
.footer-cta {
    background-color: var(--bg-section);
    border-top: 1px solid var(--border-card);
    border-bottom: 1px solid var(--border-card);
}

.footer-cta-inner {

    padding: 56px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.footer-cta-inner h2 {
    color: var(--primary-color);
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
}

.footer-cta-inner h3 {
    font-size: 32px;
    font-weight: 800;
}

.footer-cta p {
    color: var(--text-secondary);
    font-size: 14px;
    max-width: 420px;
    margin: 0;
}

.footer-cta-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.footer-main .footer-icon {
    width: 20px;
    color: var(--primary-color);
}

.footer-main .footer-icon.envolop {
    width: 18px;
    color: var(--primary-color);
}

/* ---------- contact strip ---------- */
.footer-contact {
    border-bottom: 1px solid var(--border-card);
    padding: 32px 24px;
}

.footer-contact-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.footer-contact-item svg {
    height: 26px;
    fill: var(--primary-color);
    color: var(--primary-color);
    flex-shrink: 0;
}

.footer-contact-item .label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
}

.footer-contact-item .value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

/* ---------- main columns ---------- */
.footer-main {
    padding: 24px 40px;
}

.footer-main-inner {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.3fr 1fr 1fr;
    gap: 40px;
}

.footer-col h3 {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gold-light);
    margin: 0 0 18px;
}

.footer-col a {
    display: block;
    font-size: 14px;
    color: var(--text-secondary);
    text-decoration: none;
    margin-bottom: 4px;
    transition: color 0.2s ease;
}

.footer-col a:hover {
    color: var(--primary-color);
}

.footer-brand p {
    font-size: 13px;
    line-height: 1.7;
    color: var(--text-secondary);
    margin: 16px 0 20px;
}

.footer-socials {
    display: flex;
    gap: 12px;
}

.footer-socials a {
    width: 36px;
    height: 36px;
    border: 1px solid var(--border-card);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.footer-socials a:hover {
    border-color: var(--primary-color);
    color: var(--gold-light);
}

/* ---------- bottom bar ---------- */
.footer-bottom {
    border-top: 1px solid var(--border-card);
    padding: 20px 24px;
}

.footer-bottom-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-bottom-inner p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

/* === 
    media queries 
    === */
@media (max-width: 900px) {
    .footer-contact-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-main-inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .footer-contact-inner {
        grid-template-columns: 1fr;
    }

    .footer-main-inner {
        grid-template-columns: 1fr;
    }

    .footer-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (min-width: 768px) {}

@media (max-width: 768px) {
    .card {
        width: 240px;
    }

    .hero .hero-overlay {
        /* Solid on the left, fully transparent by ~55-60% width */
        background-color: var(--bg-page);
        /* opacity now baked into the gradient stops, but you can still scale it: */
        opacity: .9;
    }
}

@media (min-width: 1280px) {
    .menu-toggle {
        display: none;
    }

    .mobile-menu {
        display: none;
    }

    .hero-content {
        width: clamp(67rem, 15rem + 1.3vw, 95rem);
    }
}

.section-title,
.hero-sub-title {
    color: var(--primary-color);
    font-size: clamp(1.5rem, 2.2rem + 3.15vw, 2.5rem);
    font-weight: 500;
    text-transform: uppercase;
}

.hero-title,
.hero .section-title {
    font-weight: 900;
    text-transform: uppercase;
    font-size: clamp(2.5rem, 2.2rem + 3.15vw, 5.5rem);
    line-height: clamp(3.05rem, 2.2rem + 3.15vw, 6.15rem);
}