:root {
    /* Brand colors (from your brief) */
    --color-main: #39739d;
    --color-secondary: #558cb8;
    --color-sub-0: #afc6d8;
    --color-sub-1: #c0ddf5;
    --color-sub-2: #c4c4c4;

    /* Neutrals */
    --color-bg: #f5f6f9;
    --color-white: #ffffff;
    --color-text: #222222;
    --color-border: #dfdfdf;

    /* Feedback */
    --color-success: #2f855a;
    --color-warning: #b7791f;
    --color-error: #b54a4a;

    /* Layout */
    --container-width: 100%;
    --radius-md: 8px;
    --radius-lg: 16px;
    --btn-radius: 999px;

    /* Spacing (4/8px scale) */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 40px;
    --space-8: 48px;
    --space-9: 50px;
    --space-10: 100px;
    --space-11: 200px;

    /* fonts */
    --buttton-1: 1.2rem;
}
.hero {
    position: relative;
    overflow: hidden;
    text-align: left;
    width: auto;
    height: 100vh;
    padding: var(--space-7) 0;
    padding-top: 100px;
    background-color: var(--color-main-dark-2);
    background:
        url('../img/hero-img/passport360-compliance-and-onboarding-2500.webp') center/cover no-repeat;
}
/* Overlay */
/* .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-secondary);
    z-index: 1;
    opacity: 40%;
} */
.hero .container{
    padding-top: var(--space-11);
    margin-left: 10%;
    position: relative;
    z-index: 2;
    text-align: left;
}
.hero-actions{
    margin-top: 220px;
}

.hero-title{
    max-width: 40ch;
    margin-left: 0;
    margin-right: auto;
    text-align: left;
    
}
.hero-lead{
    max-width: 45ch;
    margin-left: 0;
    margin-right: auto;
    text-align: left;
    
}
/* 1920 ish screens */
@media (min-width: 1500px) and (max-width: 2000px) {
    .hero .container{
        padding-top: var(--space-9);
    }
    .hero{
        width: 100%;
        height: 100vh;
        background:
        url('../img/hero-img/passport360-compliance-and-onboarding-1920.webp') center/cover no-repeat;
    }
    .hero-actions{
        margin-top: 220px;
    }
    .hero-title{
        max-width: 40ch;
        margin-left: 0;
        margin-right: auto;
        text-align: left;
        
    }
    .hero-lead{
        max-width: 45ch;
        margin-left: 0;
        margin-right: auto;
        text-align: left;
        
    }

    
}
    
@media (max-width: 768px) {
    .hero .container{
        padding-top: var(--space-9);
        margin-left: 5%;
    }
    .hero{
        width: 100vw;
        background:
        url('../img/hero-img/passport360-compliance-and-onboarding-850.webp') center/cover no-repeat;
    }
    .hero-actions{
        margin-top: 100px;
    }
    
}
@media (max-width: 360px) {
    .hero .container{
        padding-top: 30px;
        width: 90%;
        margin-left: 5%;
    }
    .hero{
        width: 100%;
    }
    .hero-actions{
        margin-top: 50px;
    }
        .hero-title{
        font-size: 1.5rem;
    }
    .hero-lead{
        font-size: 1.2rem;
    }
}

/* page styling */
.passport-intro, .passport-problems, .passport-requirements, .passport-services, .passport-process{
    margin-top: var(--space-10);
    
}
ul {
    list-style: none;
    padding: 0;
}
li{
    text-decoration: none;
    font-size: 1.1rem;
    color: var(--color-main);

}
ul li .bi {
    font-size: 1.5rem;
    color: var(--color-secondary);
    padding-right: 20px;
}


/* Passport Intro Split */
.passport-intro .passport-split {
    display: flex;
    align-items: center;
    gap: var(--space-10);
}
.passport-image {
    flex: 1;
    margin: 0;
    text-align: center;
}
.passport-intro .passport-content {
    flex: 2;
}

.passport-problems header{
    margin-left: 10%;
}
.passport-problems .passport-split {
    display: flex;
    direction: row;
    gap: 150px;

}
.passport-problems .passport-split p{
    width: 50ch;
}
/* .passport-solution {
    padding-right: 100px;
    border-style: solid;
    border-width: 2px;
    border-radius: 15px;
    border-top: none;
    border-left: none;
    border-bottom: none;
    border-color: var(--color-secondary);
} */
.wrapper{
    display: flex;
    flex-direction: row;
}
.wrapper-2{
    display: flex;
    flex-direction: column;
    text-align: center;
}
.qr{
    margin-top: 25px;
    width: 100px;
    margin-right: 20px;
}
.wrapper a{
    text-decoration: underline;
    font-size: 1.1rem;
    color: var(--color-main);
    font-weight: 500;
}

.passport-image img {
    margin-top: 120px;
    max-width: 320px;
    width: 100%;
    height: auto;
}


/* Mobile */
@media (max-width: 768px) {
    .passport-intro, .passport-problems, .passport-requirements, .passport-services, .passport-process{
        margin-top: var(--space-7);
        
    }
    .passport-split {
        flex-direction: column;
        text-align: center;
    }
    .passport-intro .passport-split {
        display: flex;
        align-items: center;
        gap: var(--space-1);
    }
    .passport-image img{
        max-width: 150px;
        margin-top: var(--space-7);

    }

    .passport-problems .passport-split {
        flex-direction: column;
        gap: 10px;
    }
    .passport-problems h2{
        text-align: center;
    }
    .passport-problems header{
        margin-left: 5%;
        width: 90%;
    }
    ul li{
        display: inline;
        display: flex;
        text-align: left;
        margin-bottom: 20px;
        
    }
    .passport-solution{
        border: none;
        padding-right: 0;
    }
    .qr{
        display: none;
    }
}

/* requirements */
.passport-requirements{
    padding-top: var(--space-9);
    margin-top: var(--space-9);
    display: flex;
    flex-direction: row;
}
.passport-requirements .container{
    margin-top: 20px;
}
.passport-requirements .container p{
    width: 80ch;
}
.passport-requirements img{
    
    width: 25%;
    height: auto;
    opacity: 60%;
}

@media (max-width: 768px) {
    .passport-requirements{
        padding-top: 0;
        margin-top: var(--space-5);
    }
    .passport-requirements img{
        display: none;
    }
    .passport-requirements h2, .passport-requirements p{
        text-align: center;
    }
}
/* Passport Services */
.passport-services{
    display: flex;
    flex-direction: row;
}
/* .passport-services .container{
    margin-top: var(--space-8);
} */
.passport-services img{
    width: 25%;
    height: 40%;
    margin-top: 20px;
    transform: rotate(180deg);
    opacity: 70%;
}
.passport-services .bi {
    font-size: 1.5rem;
    color: var(--color-secondary);
    padding-right: 20px;
}
.passport-services p{
    width: 110ch;
}

@media (max-width: 768px) {
    .passport-services h2{
        text-align: center;
    }
    .passport-services img{
        display: none;
    }
}
/* passport process */
.passport-process{
    padding-top: var(--space-9);
    text-align: center;
}
.passport-process p{
    width: 60ch;
    margin-left: 30%;
    margin-bottom: 50px;
}
.passport-process ul {
    text-align: left;
    margin-left: 33%;
}
.passport-process ul li {
    font-size: 1.5rem;
    color: var(--color-sub-1);
}
.brand-image-2{
    width: 10%;
    opacity: 60%;
    transform: rotate(180deg);
    margin-bottom: -107px;
}
.brand-image{
    width: 10%;
    margin-left: 45%;
    margin-bottom: -7px;
    transform: rotate(180deg);
}

/* cta */
.cta{
    text-align: center;
    margin-top: var(--space-10);
    margin-bottom: var(--space-10);
    
}
@media (max-width: 768px) {
    .passport-process h2{
        text-align: center;
    }
    .passport-process{
        padding-top: var(--space-7);
        text-align: left;
    }
    .passport-process p{
        margin-left: 5%;
        width: 90%;
    }
    .passport-process ul {
        text-align: left;
        margin-left: 5%;
    }
    .brand-image-2{
        width: 20%;
        opacity: 60%;
        transform: rotate(180deg);
        margin-bottom: -47px;
        margin-left: 40%;
    }
    .brand-image{
        width: 20%;
        margin-left: 40%;
        margin-bottom: -7px;
        transform: rotate(180deg);
    }

    .cta{
        margin-top: var(--space-7);
        margin-bottom: var(--space-7);
    }
    .cta .btn{
        border-radius: 999px;
        margin-top: 20px;
    }
}
@media (max-width: 450px) {
    .cta-actions a{
        font-size: 1rem;
    }
    .brand-image-2{
        width: 20%;
        opacity: 60%;
        transform: rotate(180deg);
        margin-bottom: -106px;
        margin-left: 40%;
    }
    .brand-image{
        width: 20%;
        margin-left: 40%;
        margin-bottom: -7px;
        transform: rotate(180deg);
    }
}