/* Landing page sections */
.landing-main{
    flex: 1 0 auto;
    padding: 0 0 36px;
}

.landing-section{
    width:min(var(--layout-max-width), calc(100% - (2 * var(--layout-gutter))));
    margin:0 auto;
}

.landing-section + .landing-section{
    margin-top:0;
}

.landing-hero,
.landing-features,
.landing-faq-cta{
    min-height:calc(100vh - 58px);
    display:flex;
}


.landing-hero-grid{
    display:grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    gap:20px;
    align-items:center;
    width:100%;
    margin-top:6vh;
}

.landing-hero-left{
    max-width:640px;
    position:relative;
    z-index:2;
}

.landing-eyebrow{
    margin:0 0 8px;
    color:#1D4B74;
    font-size:0.74rem;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
}

.landing-hero-left h1{
    margin:0 0 14px;
    font-size:2.52rem;
    line-height:1.08;
    color:var(--text-primary);
    letter-spacing:-0.01em;
}

.landing-subtitle{
    margin:0 0 20px;
    color:var(--text-secondary);
    line-height:1.58;
    font-size:1.04rem;
    max-width:60ch;
}

.landing-cta{
    margin-top:2px;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.landing-cta-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.landing-trust{
    margin:0;
    font-size:0.86rem;
    color:var(--text-secondary);
    max-width:220px;
    line-height:1.4;
}

.landing-hero-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    position:relative;
    z-index:1;
}

.landing-preview-panel{
    width:100%;
    min-height:520px;
    max-width:760px;
    background:#FFFFFF;
    border:1px solid var(--border);
    border-radius:6px;
    box-shadow:0 20px 52px rgba(16, 33, 49, 0.17);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    margin-left:-120px;
    position:relative;
}

.landing-preview-panel::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:42px;
    border-bottom:1px solid var(--border);
    background:linear-gradient(180deg, #f7fafc 0%, #f1f5f8 100%);
}

.landing-preview-panel::after{
    content:"";
    position:absolute;
    top:14px;
    left:14px;
    width:44px;
    height:10px;
    border-radius:999px;
    background:rgba(30, 42, 54, 0.16);
}

.landing-preview-panel p{
    margin:0;
    color:var(--text-secondary);
    font-size:1.05rem;
    font-weight:600;
    margin-top:30px;
}

.landing-preview-image{
    display:block;
    width:100%;
    height:auto;
    margin-top:30px;
    border-radius:4px;
}

.landing-features-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    width:100%;
    align-self:center;
}

.landing-features-wrap{
    background:#EAF0F5;
    padding:32px 0;
}

.landing-features{
    background:transparent;
    padding:0;
}

.landing-card{
    padding:18px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#FFFFFF;
    box-shadow:0 6px 16px rgba(16, 33, 49, 0.06);
    min-height:124px;
    transition:all 0.18s ease;
    cursor:default;
}

.landing-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0, 0, 0, 0.06);
    border-color:rgba(0, 86, 157, 0.25);
}

.landing-feature-accent{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:999px;
    background:rgba(29, 75, 116, 0.08);
    color:#1D4B74;
    font-size:0.9rem;
    font-weight:700;
    margin-bottom:10px;
}

.landing-card h3{
    margin:0 0 6px;
    font-size:1.05rem;
    font-weight:600;
    color:var(--text-primary);
}

.landing-card p{
    margin:6px 0 0;
    color:var(--text-secondary);
    line-height:1.4;
    font-size:0.9rem;
}

.landing-faq-cta{
    flex-direction:column;
    justify-content:center;
    gap:54px;
    padding:50px 0;
}

.landing-faq{
    padding-top:0;
}

.landing-faq h2{
    margin:0 0 16px;
    font-size:1.38rem;
    color:var(--text-primary);
}

.landing-faq-list{
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.landing-faq-item{
    padding:16px 0;
    border-bottom:1px solid var(--border);
}

.landing-faq-item:last-child{
    border-bottom:0;
}

.landing-faq-item h3{
    margin:0 0 8px;
    font-size:1rem;
    color:var(--text-primary);
}

.landing-faq-item p{
    margin:0;
    color:var(--text-secondary);
    line-height:1.56;
    font-size:0.95rem;
    max-width:88ch;
}

.landing-final-cta{
    text-align:left;
    padding:42px 0 0;
    border-top:1px solid var(--border);
}

.landing-final-cta h2{
    margin:0 0 14px;
    font-size:1.55rem;
    color:var(--text-primary);
}

@media (max-width: 1100px){
    .landing-main{
        padding:0 0 28px;
    }
    .landing-hero-grid{
        grid-template-columns:1fr;
        gap:24px;
        margin-top:4vh;
    }
    .landing-features-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .landing-hero-left h1{
        font-size:2.08rem;
    }
    .landing-hero-left{
        max-width:760px;
    }
    .landing-hero-right{
        justify-content:flex-start;
    }
    .landing-preview-panel{
        min-height:360px;
        margin-left:0;
        max-width:none;
    }
    .landing-faq-cta{
        gap:40px;
        padding:38px 0;
    }
}

@media (max-width: 700px){
    .landing-main{
        padding:0 0 22px;
    }
    .landing-hero,
    .landing-features,
    .landing-faq-cta{
        min-height:auto;
    }
    .landing-hero-left h1{
        font-size:1.6rem;
        margin-bottom:10px;
    }
    .landing-subtitle{
        margin-bottom:14px;
        font-size:0.96rem;
    }
    .landing-cta-row{
        flex-direction:column;
        align-items:flex-start;
    }
    .landing-preview-panel{
        min-height:220px;
        padding:16px;
    }
    .landing-features-grid{
        grid-template-columns:1fr;
        gap:16px;
    }
    .landing-features-wrap{
        padding:24px 0;
    }
    .landing-faq-cta{
        gap:30px;
        padding:24px 0;
    }
    .landing-faq-item{
        padding:14px 0;
    }
    .landing-final-cta{
        padding-top:24px;
    }
    .landing-final-cta h2{
        font-size:1.28rem;
    }
}
