/* =========================
   RESET / BASE
========================= */
*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    background:#ffffff;
    color:#111111;
    font-family:"Times New Roman", serif;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

/* =========================
   TOP BAND
========================= */
.top-band{
    background:#ffffff;
    text-align:center;
    padding:6px 10px 2px 10px;
    line-height:0;
    border-bottom:1px solid #e9e9e9;
}

.logo-wrap{
    opacity:0;
    animation:fadeLogo 2.2s ease forwards;
    animation-delay:0.6s;
}

.logo-main{
    width:260px;
    max-width:62vw;
    height:auto;
    margin:0 auto;
}

/* =========================
   MAIN NAVIGATION
========================= */
.main-nav{
    width:100%;
    margin:16px auto 0;
    padding:0 20px 18px;
    text-align:center;
}

.main-nav ul{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
}

.main-nav li{
    margin:0;
    padding:0;
}

.main-nav a{
    display:inline-block;
    color:#111111;
    text-decoration:none;
    font-size:15px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:8px 4px;
    border-bottom:1px solid transparent;
    transition:all 0.25s ease;
}

.main-nav a:hover{
    border-bottom:1px solid #111111;
    opacity:0.75;
}

/* =========================
   HERO
========================= */
.hero-frame{
    background:#000000;
}

.hero{
    position:relative;
    width:100%;
    height:58vh;
    min-height:380px;
    overflow:hidden;
    background:#000000;
}

.hero-bg{
    position:absolute;
    inset:0;
    background-image:url("IMAGES/earthmars4.jpg");
    background-size:cover;
    background-position:center 90%;
    background-repeat:no-repeat;
    transform:scale(0.90) translateY(8px);
    opacity:0;
    animation:earthRise 6s ease-out forwards, earthFloat 40s ease-in-out infinite;
}

.stars{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background-image:
        radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.9), transparent),
        radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 40% 60%, rgba(255,255,255,0.6), transparent),
        radial-gradient(2px 2px at 85% 70%, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 15% 80%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 60% 90%, rgba(255,255,255,0.6), transparent),
        radial-gradient(2px 2px at 50% 10%, rgba(255,255,255,0.8), transparent);
    background-repeat:repeat;
    animation:starDrift 120s linear infinite;
}

.hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        radial-gradient(circle at 50% 55%,
            rgba(70,120,255,0.25) 0%,
            rgba(0,0,0,0) 45%),
        linear-gradient(to bottom,
            rgba(0,0,0,0.78) 0%,
            rgba(0,0,0,0.48) 24%,
            rgba(0,0,0,0.22) 48%,
            rgba(0,0,0,0.30) 72%,
            rgba(0,0,0,0.62) 100%);
}

.hero-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    width:92%;
    z-index:2;
}

.title{
    margin:0;
    font-size:78px;
    line-height:1.02;
    font-weight:700;
    color:#ffffff;
    text-shadow:0 3px 14px rgba(0,0,0,0.88);
    opacity:0;
    animation:fadeText 2.5s ease forwards;
    animation-delay:1.8s;
}

.subtitle{
    margin:18px 0 0 0;
    font-size:34px;
    line-height:1.15;
    font-weight:600;
    color:#f3f3f3;
    text-shadow:0 3px 14px rgba(0,0,0,0.88);
    opacity:0;
    animation:fadeText 2.5s ease forwards;
    animation-delay:3s;
}

/* =========================
   GENERIC LAYOUT
========================= */
.container{
    max-width:1200px;
    margin:0 auto;
}

.narrow{
    max-width:920px;
    margin:0 auto;
    text-align:center;
}

.section-white{
    background:#ffffff;
    padding:90px 20px;
}

.section-light{
    background:#f7f7f7;
    padding:90px 20px;
}

.section-white h2,
.section-light h2,
.intro h2,
.review-process h2,
.next-step h2{
    font-size:42px;
    margin:0 0 24px;
    font-weight:600;
    letter-spacing:0.02em;
    color:#111111;
    text-align:center;
}

.section-white p,
.section-light p,
.intro p,
.next-step p{
    font-size:20px;
    line-height:1.72;
    margin:0 0 22px;
    color:#333333;
}

.content-list{
    margin:24px auto 0;
    padding-left:28px;
    max-width:700px;
    text-align:left;
}

.content-list li{
    font-size:21px;
    line-height:1.65;
    color:#222222;
    margin-bottom:10px;
}

/* =========================
   INTRO
========================= */
.intro{
    background:#ffffff;
    padding:90px 20px 75px;
}

.intro-container{
    max-width:920px;
    margin:0 auto;
    text-align:center;
}

.intro h2{
    font-size:42px;
    margin:0 0 28px;
    color:#111111;
}

.intro p{
    font-size:20px;
    line-height:1.72;
    color:#333333;
    margin:0 0 22px;
}

/* =========================
   REVIEW PROCESS
========================= */
.review-process{
    background:#ffffff;
    padding:90px 20px;
}

.review-process h2{
    margin-bottom:22px;
    color:#111111;
    text-align:center;
}

.process-intro{
    max-width:920px;
    margin:0 auto 46px;
    text-align:center;
    font-size:20px;
    line-height:1.7;
    color:#333333;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
    margin-top:20px;
}

.process-card{
    background:#000000;
    color:#ffffff;
    padding:34px 26px;
    border:1px solid #1f1f1f;
    box-shadow:0 6px 22px rgba(0,0,0,0.10);
    text-align:left;
    min-height:250px;
}

.step-label{
    display:inline-block;
    margin-bottom:16px;
    font-size:13px;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:#cfcfcf;
    border-bottom:1px solid rgba(255,255,255,0.25);
    padding-bottom:6px;
}

.process-card h3{
    font-size:24px;
    line-height:1.2;
    margin:0 0 16px;
    color:#ffffff;
}

.process-card p{
    font-size:17px;
    line-height:1.65;
    margin:0;
    color:#e7e7e7;
}

/* =========================
   NEXT STEP
========================= */
.next-step{
    background:#ffffff;
    padding:85px 20px 100px;
}

.small-note{
    margin-top:8px;
    font-size:0.92rem;
    color:#666666 !important;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

.btn{
    display:inline-block;
    margin-top:18px;
    padding:16px 30px;
    background:#000000;
    color:#ffffff;
    text-decoration:none;
    font-size:14px;
    letter-spacing:1.4px;
    border:1px solid #000000;
    transition:all 0.3s ease;
}

.btn:hover{
    background:#ffffff;
    color:#000000;
}

/* =========================
   FOOTER
========================= */
.site-footer{
    background:#000000;
    padding:34px 20px;
    border-top:1px solid #1f1f1f;
}

.footer-inner{
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.site-footer p{
    margin:0;
    font-size:18px;
    line-height:1.6;
    color:#ffffff;
    letter-spacing:0.02em;
}

.site-footer a{
    color:#ffffff;
    text-decoration:underline;
    text-underline-offset:3px;
    transition:opacity 0.3s ease;
}

.site-footer a:hover{
    opacity:0.75;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes fadeLogo{
    from{
        opacity:0;
        transform:translateY(-16px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes earthRise{
    0%{
        opacity:0;
        transform:scale(1.10) translateY(140px);
    }
    18%{
        opacity:1;
    }
    100%{
        opacity:1;
        transform:scale(1.08) translateY(20px);
    }
}

@keyframes earthFloat{
    0%{
        transform:scale(1.08) translateY(20px);
    }
    50%{
        transform:scale(1.09) translateY(12px);
    }
    100%{
        transform:scale(1.08) translateY(20px);
    }
}

@keyframes starDrift{
    from{
        transform:translateY(0);
    }
    to{
        transform:translateY(-200px);
    }
}

@keyframes fadeText{
    from{
        opacity:0;
        transform:translateY(22px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1400px){
    .logo-main{
        width:320px;
    }

    .title{
        font-size:68px;
    }

    .subtitle{
        font-size:30px;
    }
}

@media (max-width: 1180px){
    .process-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1024px){
    .hero{
        height:54vh;
        min-height:360px;
    }

    .logo-main{
        width:290px;
    }

    .title{
        font-size:56px;
    }

    .subtitle{
        font-size:26px;
    }

    .section-white h2,
    .section-light h2,
    .intro h2,
    .review-process h2,
    .next-step h2{
        font-size:36px;
    }

    .section-white p,
    .section-light p,
    .intro p,
    .next-step p,
    .process-intro{
        font-size:18px;
    }

    .content-list li{
        font-size:19px;
    }
}

@media (max-width: 768px){
    .top-band{
        padding:24px 16px 18px;
    }

    .logo-main{
        width:250px;
        max-width:84vw;
    }

    .main-nav{
        margin-top:14px;
        padding:0 12px 16px;
    }

    .main-nav ul{
        gap:14px 18px;
    }

    .main-nav a{
        font-size:13px;
        letter-spacing:0.06em;
        padding:6px 2px;
    }

    .hero{
        height:50vh;
        min-height:320px;
    }

    .title{
        font-size:40px;
    }

    .subtitle{
        font-size:20px;
        margin-top:12px;
    }

    .intro,
    .section-white,
    .section-light,
    .review-process,
    .next-step{
        padding:65px 20px;
    }

    .process-card{
        min-height:auto;
        padding:28px 22px;
    }

    .process-card h3{
        font-size:22px;
    }

    .process-card p{
        font-size:16px;
    }

    .content-list{
        padding-left:22px;
    }

    .content-list li{
        font-size:18px;
    }

    .site-footer{
        padding:28px 16px;
    }

    .site-footer p{
        font-size:16px;
    }
}

@media (max-width: 480px){
    .logo-main{
        width:210px;
    }

    .title{
        font-size:32px;
    }

    .subtitle{
        font-size:17px;
    }
}