*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial,sans-serif;
    background:#021526;
    color:white;
    overflow-x:hidden;
}

/* ========================================
   HERO
======================================== */

.hero{

    position:relative;

    min-height:92vh;

    display:flex;
    align-items:flex-start;
    justify-content:center;

    overflow:hidden;

    text-align:center;

    padding:40px 20px 140px 20px;
}

.hero::before{

    content:"";

    position:absolute;
    inset:0;

    background-image:url("../assets/hero/hero-desktop.png");
    background-size:cover;
    background-position:center;

    z-index:1;
}

.hero-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.38) 0%,
        rgba(0,0,0,0.34) 55%,
        rgba(2,21,38,0.72) 100%
    );

    z-index:2;
}

.hero-content{

    position:relative;
    z-index:3;

    max-width:1200px;

    padding:0 10px;

    margin-top:450px;
}

.hero h1{

    font-size:108px;

    line-height:1.01;

    margin-bottom:38px;

    font-weight:700;

    letter-spacing:-3px;

    text-shadow:0 4px 18px rgba(0,0,0,0.45);
}

.hero p{

    font-size:42px;

    line-height:1.5;

    max-width:1200px;

    margin:0 auto 52px auto;

    color:rgba(255,255,255,0.94);

    text-shadow:0 2px 12px rgba(0,0,0,0.45);
}

.hero-cta{

    display:inline-block;

    background:#0F5FA8;
    color:white;

    padding:30px 68px;

    border-radius:16px;

    text-decoration:none;

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

    letter-spacing:-0.5px;

    transition:0.3s;

    box-shadow:0 8px 24px rgba(0,0,0,0.28);
}

.hero-cta:hover{

    background:#1475cf;
}

.hero-trust{

    margin-top:34px;

    font-size:24px;

    color:rgba(255,255,255,0.78);

    text-shadow:0 2px 10px rgba(0,0,0,0.4);
}

/* ========================================
   PROBLEM SECTION
======================================== */

.problem-section{

    background:#061b2d;

    padding:160px 20px;

    margin-top:-200px;

    position:relative;

    z-index:5;
}

.problem-container{

    max-width:1500px;

    margin:0 auto;
}

.problem-intro{

    text-align:center;

    margin-bottom:100px;
}

.section-label{

    font-size:20px;

    letter-spacing:5px;

    font-weight:700;

    color:rgba(255,255,255,0.55);

    margin-bottom:28px;
}

.problem-intro h2{

    font-size:92px;

    line-height:1.04;

    letter-spacing:-2px;

    margin-bottom:42px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.problem-intro p{

    max-width:1100px;

    margin:0 auto;

    font-size:38px;

    line-height:1.6;

    color:rgba(255,255,255,0.88);
}

.problem-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

    margin-bottom:90px;
}

.problem-card{

    border-radius:26px;

    padding:56px 52px;

    min-height:520px;

    backdrop-filter:blur(6px);
}

.problem-card-title{

    font-size:42px;

    font-weight:700;

    margin-bottom:36px;
}

.problem-card ul{

    list-style:none;
}

.problem-card li{

    position:relative;

    padding-left:38px;

    margin-bottom:28px;

    font-size:30px;

    line-height:1.65;
}

.problem-card li::before{

    content:"•";

    position:absolute;

    left:0;
}

.generic-ai{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);
}

.generic-ai .problem-card-title{

    color:#c8d5e2;
}

.generic-ai li{

    color:rgba(255,255,255,0.74);
}

.dive-writer{

    background:rgba(15,95,168,0.14);

    border:1px solid rgba(15,95,168,0.38);
}

.dive-writer .problem-card-title{

    color:#7ec3ff;
}

.dive-writer li{

    color:rgba(255,255,255,0.94);
}

.problem-conclusion{

    text-align:center;

    max-width:1100px;

    margin:0 auto;

    font-size:38px;

    line-height:1.6;

    color:rgba(255,255,255,0.9);
}

/* ========================================
   DESKTOP RESPONSIVE
======================================== */

@media(max-width:1400px){

    .hero-content{

        margin-top:340px;
    }

    .hero h1{

        font-size:92px;
    }

    .hero p{

        font-size:34px;
    }

    .hero-cta{

        font-size:28px;

        padding:26px 58px;
    }

    .hero-trust{

        font-size:22px;
    }

    .problem-intro h2{

        font-size:72px;
    }

    .problem-intro p{

        font-size:30px;
    }

    .problem-card-title{

        font-size:34px;
    }

    .problem-card li{

        font-size:24px;
    }

    .problem-conclusion{

        font-size:30px;
    }
}

@media(max-width:1200px){

    .hero-content{

        margin-top:260px;
    }

    .hero h1{

        font-size:76px;
    }

    .hero p{

        font-size:28px;
    }

    .hero-cta{

        font-size:24px;

        padding:22px 52px;
    }

    .hero-trust{

        font-size:20px;
    }

    .problem-section{

        margin-top:-180px;
    }

    .problem-intro h2{

        font-size:58px;
    }

    .problem-intro p{

        font-size:26px;
    }

    .problem-card{

        min-height:auto;
    }

    .problem-card-title{

        font-size:30px;
    }

    .problem-card li{

        font-size:22px;
    }

    .problem-conclusion{

        font-size:26px;
    }
}

/* ========================================
   TABLET + MOBILE
======================================== */

@media(max-width:768px){

    .hero::before{

        background-image:url("../assets/hero/hero-mobile.png");
        background-position:center;
    }

    .hero{

        min-height:auto;

        padding:46px 22px 140px 22px;
    }

    .hero-content{

        max-width:100%;

        padding:0 50px;

        margin-top:50px;
    }

    .hero h1{

        font-size:52px;

        line-height:1.02;

        margin-bottom:26px;

        letter-spacing:-1px;

        max-width:700px;

        margin-left:auto;

        margin-right:auto;
    }

    .hero p{

        font-size:24px;

        line-height:1.45;

        margin-bottom:38px;

        max-width:100%;
    }

    .hero-cta{

        font-size:20px;

        padding:20px 32px;
    }

    .hero-trust{

        margin-top:28px;

        font-size:16px;

        line-height:1.5;
    }

    .problem-section{

        margin-top:-70px;

        padding:100px 22px;
    }

    .problem-intro{

        margin-bottom:60px;
    }

    .section-label{

        font-size:14px;

        letter-spacing:3px;
    }

    .problem-intro h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .problem-intro p{

        font-size:22px;

        line-height:1.55;
    }

    .problem-grid{

        grid-template-columns:1fr;

        gap:24px;
    }

    .problem-card{

        padding:38px 28px;

        min-height:auto;
    }

    .problem-card-title{

        font-size:28px;

        margin-bottom:26px;
    }

    .problem-card li{

        font-size:20px;

        line-height:1.55;

        margin-bottom:20px;
    }

    .problem-conclusion{

        font-size:22px;

        line-height:1.55;
    }
}

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

@media(max-width:480px){

    .hero{

        padding:42px 18px 140px 18px;
    }

    .hero h1{

        font-size:46px;

        line-height:1.04;

        max-width:340px;
    }

    .hero p{

        font-size:21px;
    }

    .hero-cta{

        font-size:18px;

        padding:18px 28px;
    }

    .hero-trust{

        font-size:14px;
    }

    .problem-intro h2{

        font-size:38px;
    }

    .problem-intro p{

        font-size:20px;
    }

    .problem-card li{

        font-size:18px;
    }

    .problem-conclusion{

        font-size:20px;
    }
}

/* ========================================
   BEFORE AFTER
======================================== */

.before-after{

    background:#041321;

    padding:170px 20px;

    position:relative;
}

.before-after-container{

    max-width:1500px;

    margin:0 auto;
}

.before-after-intro{

    text-align:center;

    margin-bottom:100px;
}

.before-after-intro h2{

    font-size:88px;

    line-height:1.05;

    letter-spacing:-2px;

    margin-bottom:42px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.before-after-intro p{

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.88);
}

.before-after-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:42px;

    margin-bottom:90px;
}

.comparison-card{

    border-radius:28px;

    padding:56px 54px;

    min-height:620px;
}

.before-card{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);
}

.after-card{

    background:rgba(15,95,168,0.14);

    border:1px solid rgba(15,95,168,0.38);
}

.comparison-label{

    font-size:28px;

    letter-spacing:4px;

    font-weight:700;

    margin-bottom:38px;

    color:rgba(255,255,255,0.62);
}

.comparison-content{

    font-size:38px;

    line-height:1.75;

    margin-bottom:48px;

    color:white;

    font-weight:500;

    letter-spacing:-0.5px;

    text-shadow:0 2px 12px rgba(0,0,0,0.22);
}

.before-card .comparison-content{

    font-style:italic;

    color:rgba(255,255,255,0.82);
}

.comparison-highlights{

    list-style:none;
}

.comparison-highlights li{

    position:relative;

    padding-left:38px;

    margin-bottom:26px;

    font-size:30px;

    line-height:1.7;

    font-weight:500;

    color:rgba(255,255,255,0.86);
}

.comparison-highlights li::before{

    content:"•";

    position:absolute;

    left:0;
}

.before-after-conclusion{

    text-align:center;

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.9);
}

/* ========================================
   BEFORE AFTER RESPONSIVE
======================================== */

@media(max-width:1400px){

    .before-after-intro h2{

        font-size:72px;
    }

    .before-after-intro p{

        font-size:30px;
    }

    .comparison-content{

        font-size:30px;
    }

    .comparison-highlights li{

        font-size:24px;
    }

    .before-after-conclusion{

        font-size:30px;
    }

}

@media(max-width:1200px){

    .before-after-intro h2{

        font-size:58px;
    }

    .before-after-intro p{

        font-size:26px;
    }

    .comparison-card{

        min-height:auto;
    }

    .comparison-content{

        font-size:26px;
    }

    .comparison-highlights li{

        font-size:22px;
    }

    .before-after-conclusion{

        font-size:26px;
    }

}

@media(max-width:768px){

    .before-after{

        padding:110px 22px;
    }

    .before-after-intro{

        margin-bottom:60px;
    }

    .before-after-intro h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .before-after-intro p{

        font-size:22px;

        line-height:1.55;
    }

    .before-after-grid{

        grid-template-columns:1fr;

        gap:26px;
    }

    .comparison-card{

        padding:38px 28px;
    }

    .comparison-content{

        font-size:24px;

        line-height:1.65;
    }

    .comparison-highlights li{

        font-size:20px;

        line-height:1.6;
    }

    .before-after-conclusion{

        font-size:22px;

        line-height:1.55;
    }

}

@media(max-width:480px){

    .before-after-intro h2{

        font-size:38px;
    }

    .before-after-intro p{

        font-size:20px;
    }

    .comparison-content{

        font-size:21px;
    }

    .comparison-highlights li{

        font-size:18px;
    }

    .before-after-conclusion{

        font-size:20px;
    }

}

/* ========================================
   FEATURES
======================================== */

.features-section{

    background:#061b2d;

    padding:170px 20px;

    position:relative;
}

.features-container{

    max-width:1500px;

    margin:0 auto;
}

.features-intro{

    text-align:center;

    margin-bottom:100px;
}

.features-intro h2{

    font-size:88px;

    line-height:1.05;

    letter-spacing:-2px;

    margin-bottom:42px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.features-intro p{

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.88);
}

.features-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:42px;

    margin-bottom:90px;
}

.feature-card{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:56px 54px;

    min-height:360px;

    transition:0.3s;
}

.feature-card:hover{

    border-color:rgba(126,195,255,0.34);

    background:rgba(15,95,168,0.10);
}

.feature-title{

    font-size:34px;

    line-height:1.2;

    font-weight:700;

    margin-bottom:34px;

    color:#7ec3ff;
}

.feature-description{

    font-size:30px;

    line-height:1.7;

    color:rgba(255,255,255,0.9);
}

.features-conclusion{

    text-align:center;

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.9);
}

/* ========================================
   FEATURES RESPONSIVE
======================================== */

@media(max-width:1400px){

    .features-intro h2{

        font-size:72px;
    }

    .features-intro p{

        font-size:30px;
    }

    .feature-title{

        font-size:28px;
    }

    .feature-description{

        font-size:24px;
    }

    .features-conclusion{

        font-size:30px;
    }

}

@media(max-width:1200px){

    .features-intro h2{

        font-size:58px;
    }

    .features-intro p{

        font-size:26px;
    }

    .feature-card{

        min-height:auto;
    }

    .feature-title{

        font-size:24px;
    }

    .feature-description{

        font-size:22px;
    }

    .features-conclusion{

        font-size:26px;
    }

}

@media(max-width:768px){

    .features-section{

        padding:110px 22px;
    }

    .features-intro{

        margin-bottom:60px;
    }

    .features-intro h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .features-intro p{

        font-size:22px;

        line-height:1.55;
    }

    .features-grid{

        grid-template-columns:1fr;

        gap:26px;
    }

    .feature-card{

        padding:38px 28px;
    }

    .feature-title{

        font-size:24px;

        margin-bottom:24px;
    }

    .feature-description{

        font-size:20px;

        line-height:1.6;
    }

    .features-conclusion{

        font-size:22px;

        line-height:1.55;
    }

}

@media(max-width:480px){

    .features-intro h2{

        font-size:38px;
    }

    .features-intro p{

        font-size:20px;
    }

    .feature-title{

        font-size:22px;
    }

    .feature-description{

        font-size:18px;
    }

    .features-conclusion{

        font-size:20px;
    }

}

/* ========================================
   AUDIENCE
======================================== */

.audience-section{

    background:#041321;

    padding:170px 20px;

    position:relative;
}

.audience-container{

    max-width:1500px;

    margin:0 auto;
}

.audience-intro{

    text-align:center;

    margin-bottom:100px;
}

.audience-intro h2{

    font-size:88px;

    line-height:1.05;

    letter-spacing:-2px;

    margin-bottom:42px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.audience-intro p{

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.88);
}

.audience-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:42px;

    margin-bottom:90px;
}

.audience-card{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:56px 54px;

    min-height:320px;

    transition:0.3s;
}

.audience-card:hover{

    border-color:rgba(126,195,255,0.34);

    background:rgba(15,95,168,0.10);
}

.audience-title{

    font-size:34px;

    line-height:1.2;

    font-weight:700;

    margin-bottom:34px;

    color:#7ec3ff;
}

.audience-description{

    font-size:30px;

    line-height:1.7;

    color:rgba(255,255,255,0.9);
}

.audience-conclusion{

    text-align:center;

    max-width:1100px;

    margin:0 auto;

    font-size:36px;

    line-height:1.6;

    color:rgba(255,255,255,0.9);
}

/* ========================================
   AUDIENCE RESPONSIVE
======================================== */

@media(max-width:1400px){

    .audience-intro h2{

        font-size:72px;
    }

    .audience-intro p{

        font-size:30px;
    }

    .audience-title{

        font-size:28px;
    }

    .audience-description{

        font-size:24px;
    }

    .audience-conclusion{

        font-size:30px;
    }

}

@media(max-width:1200px){

    .audience-intro h2{

        font-size:58px;
    }

    .audience-intro p{

        font-size:26px;
    }

    .audience-card{

        min-height:auto;
    }

    .audience-title{

        font-size:24px;
    }

    .audience-description{

        font-size:22px;
    }

    .audience-conclusion{

        font-size:26px;
    }

}

@media(max-width:768px){

    .audience-section{

        padding:110px 22px;
    }

    .audience-intro{

        margin-bottom:60px;
    }

    .audience-intro h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .audience-intro p{

        font-size:22px;

        line-height:1.55;
    }

    .audience-grid{

        grid-template-columns:1fr;

        gap:26px;
    }

    .audience-card{

        padding:38px 28px;
    }

    .audience-title{

        font-size:24px;

        margin-bottom:24px;
    }

    .audience-description{

        font-size:20px;

        line-height:1.6;
    }

    .audience-conclusion{

        font-size:22px;

        line-height:1.55;
    }

}

@media(max-width:480px){

    .audience-intro h2{

        font-size:38px;
    }

    .audience-intro p{

        font-size:20px;
    }

    .audience-title{

        font-size:22px;
    }

    .audience-description{

        font-size:18px;
    }

    .audience-conclusion{

        font-size:20px;
    }

}
/* ========================================
   FAQ
======================================== */

.faq-section{

    background:#061b2d;

    padding:170px 20px;

    position:relative;
}

.faq-container{

    max-width:1400px;

    margin:0 auto;
}

.faq-intro{

    text-align:center;

    margin-bottom:90px;
}

.faq-intro h2{

    font-size:82px;

    line-height:1.05;

    letter-spacing:-2px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.faq-grid{

    display:flex;

    flex-direction:column;

    gap:26px;
}

.faq-item{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:24px;

    padding:38px 42px;
}

.faq-question{

    font-size:32px;

    line-height:1.4;

    font-weight:700;

    margin-bottom:18px;

    color:#7ec3ff;
}

.faq-answer{

    font-size:26px;

    line-height:1.7;

    color:rgba(255,255,255,0.88);
}

/* ========================================
   FAQ RESPONSIVE
======================================== */

@media(max-width:1400px){

    .faq-intro h2{

        font-size:68px;
    }

    .faq-question{

        font-size:28px;
    }

    .faq-answer{

        font-size:22px;
    }

}

@media(max-width:1200px){

    .faq-intro h2{

        font-size:56px;
    }

    .faq-question{

        font-size:24px;
    }

    .faq-answer{

        font-size:20px;
    }

}

@media(max-width:768px){

    .faq-section{

        padding:110px 22px;
    }

    .faq-intro{

        margin-bottom:60px;
    }

    .faq-intro h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .faq-item{

        padding:30px 26px;
    }

    .faq-question{

        font-size:22px;

        margin-bottom:14px;
    }

    .faq-answer{

        font-size:18px;

        line-height:1.6;
    }

}

@media(max-width:480px){

    .faq-intro h2{

        font-size:38px;
    }

    .faq-question{

        font-size:20px;
    }

    .faq-answer{

        font-size:17px;
    }

}
/* ========================================
   FINAL CTA
======================================== */

.final-cta{

    background:#041321;

    padding:190px 20px 220px 20px;

    position:relative;

    overflow:hidden;
}

.final-cta-container{

    max-width:1200px;

    margin:0 auto;
}

.final-cta-content{

    text-align:center;
}

.final-cta-content h2{

    font-size:92px;

    line-height:1.04;

    letter-spacing:-2px;

    margin-bottom:42px;

    text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.final-cta-content p{

    max-width:980px;

    margin:0 auto 58px auto;

    font-size:34px;

    line-height:1.65;

    color:rgba(255,255,255,0.9);
}

.final-cta-button{

    display:inline-block;

    background:#0F5FA8;

    color:white;

    text-decoration:none;

    padding:30px 70px;

    border-radius:18px;

    font-size:32px;

    font-weight:700;

    transition:0.3s;

    box-shadow:0 8px 24px rgba(0,0,0,0.28);
}

.final-cta-button:hover{

    background:#1475cf;
}

.final-cta-trust{

    margin-top:34px;

    font-size:22px;

    color:rgba(255,255,255,0.7);
}

/* ========================================
   FINAL CTA RESPONSIVE
======================================== */

@media(max-width:1400px){

    .final-cta-content h2{

        font-size:72px;
    }

    .final-cta-content p{

        font-size:30px;
    }

    .final-cta-button{

        font-size:28px;

        padding:26px 60px;
    }

}

@media(max-width:1200px){

    .final-cta-content h2{

        font-size:58px;
    }

    .final-cta-content p{

        font-size:26px;
    }

    .final-cta-button{

        font-size:24px;

        padding:22px 52px;
    }

}

@media(max-width:768px){

    .final-cta{

        padding:120px 22px 150px 22px;
    }

    .final-cta-content h2{

        font-size:44px;

        line-height:1.08;

        letter-spacing:-1px;
    }

    .final-cta-content p{

        font-size:22px;

        line-height:1.6;
    }

    .final-cta-button{

        width:100%;

        max-width:420px;

        font-size:22px;

        padding:22px 26px;
    }

    .final-cta-trust{

        font-size:18px;
    }

}

@media(max-width:480px){

    .final-cta-content h2{

        font-size:38px;
    }

    .final-cta-content p{

        font-size:20px;
    }

    .final-cta-button{

        font-size:20px;
    }

    .final-cta-trust{

        font-size:16px;
    }

}