/* =========================
   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;
}

/* =========================
   TOP BAND
========================= */
.top-band{
    background:#ffffff;
    text-align:center;
    padding:2px 10px 0 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;
}

/* =========================
   HERO
========================= */
.hero-frame{
    background:#000000;
}

.hero{
    position:relative;
    width:100%;
    height:68vh;
    min-height:460px;
    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:96px;
    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:22px 0 0 0;
    font-size:46px;
    line-height:1.12;
    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;
}

/* =========================
   BOTTOM BAND
========================= */
.bottom-band{
    background:#ffffff;
    text-align:center;
    padding:10px 15px 14px;
}

.launching{
    font-size:20px;
    line-height:1.2;
    color:#1b1b1b;
    letter-spacing:0.4px;
    opacity:0;
    animation:fadeTextBottom 2.2s ease forwards;
    animation-delay:4.2s;
}

/* =========================
   INTRO
========================= */
.intro{
    background:#ffffff;
    padding:90px 20px 80px;
}

.intro-container{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.intro h2{
    font-size:42px;
    margin:0 0 30px;
    font-weight:600;
    letter-spacing:0.02em;
}

.intro p{
    font-size:20px;
    line-height:1.7;
    margin:0 0 22px;
    color:#333333;
}

/* =========================
   FOCUS
========================= */
.focus{
    background:#f7f7f7;
    padding:90px 20px;
}

.focus-container{
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.focus h2{
    font-size:42px;
    margin:0 0 24px;
    font-weight:600;
    letter-spacing:0.02em;
    color:#111111;
}

.focus-intro{
    max-width:880px;
    margin:0 auto 50px;
    font-size:20px;
    line-height:1.7;
    color:#333333;
}

.focus-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    margin-top:20px;
}

.focus-card{
    background:#ffffff;
    padding:36px 28px;
    border:1px solid #e6e6e6;
    box-shadow:0 4px 18px rgba(0,0,0,0.04);
    text-align:left;
}

.focus-card h3{
    font-size:26px;
    margin:0 0 18px;
    line-height:1.2;
    color:#111111;
}

.focus-card p{
    font-size:18px;
    line-height:1.7;
    margin:0;
    color:#444444;
}

/* =========================
   ADVISORS
========================= */
.advisors{
    background:#ffffff;
    padding:90px 20px;
}

.advisors-container{
    max-width:1280px;
    margin:0 auto;
    text-align:center;
}

.advisors h2{
    font-size:42px;
    margin:0 0 24px;
    font-weight:600;
    letter-spacing:0.02em;
    color:#111111;
}

.advisors-intro{
    max-width:950px;
    margin:0 auto 50px;
    font-size:20px;
    line-height:1.7;
    color:#333333;
}

.advisors-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
    margin-top:20px;
}

.advisor-card{
    background:#f8f8f8;
    border:1px solid #e7e7e7;
    overflow:hidden;
    box-shadow:0 4px 18px rgba(0,0,0,0.05);
    transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.advisor-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

.advisor-card img{
    width:100%;
    height:160px;
    object-fit:contain;
    object-position:center center;
    background:#d9d9d9;
}

.advisor-info{
    padding:20px 22px 24px;
    text-align:center;
}

.advisor-info h3{
    font-size:26px;
    margin:0 0 8px;
    color:#111111;
    line-height:1.2;
}

.advisor-role{
    font-size:17px;
    margin:0 0 8px;
    color:#222222;
    font-weight:600;
}

.advisor-bio{
    font-size:16px;
    line-height:1.5;
    margin:0;
    color:#555555;
}

/* =========================
   REGIONS
========================= */
.regions{
    background:#f7f7f7;
    padding:90px 20px;
}

.regions-container{
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.regions h2{
    font-size:42px;
    margin:0 0 24px;
    font-weight:600;
    letter-spacing:0.02em;
    color:#111111;
}

.regions-intro{
    max-width:900px;
    margin:0 auto 50px;
    font-size:20px;
    line-height:1.7;
    color:#333333;
}

.regions-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
    margin-top:20px;
}

.region-card{
    background:#ffffff;
    border:1px solid #e6e6e6;
    padding:30px 24px;
    box-shadow:0 4px 18px rgba(0,0,0,0.04);
    text-align:center;
}

.region-card h3{
    font-size:24px;
    margin:0 0 14px;
    color:#111111;
    line-height:1.2;
}

.region-name{
    font-size:20px;
    font-weight:600;
    margin:0 0 8px;
    color:#1f1f1f;
}

.region-role{
    font-size:16px;
    margin:0;
    color:#666666;
    letter-spacing:0.02em;
}

/* =========================
   SUBMIT OPPORTUNITY
========================= */
.opportunity{
    background:#ffffff;
    padding:90px 20px;
}

.opportunity-container{
    max-width:960px;
    margin:0 auto;
    text-align:center;
}

.opportunity h2{
    font-size:42px;
    margin:0 0 24px;
    font-weight:600;
    letter-spacing:0.02em;
    color:#111111;
}

.opportunity-intro{
    max-width:760px;
    margin:0 auto 42px;
    font-size:20px;
    line-height:1.7;
    color:#333333;
}

.info-block{
    max-width:760px;
    margin:0 auto 38px;
    text-align:center;
}

.info-list{
    margin:22px auto 0;
    padding-left:28px;
    max-width:680px;
    text-align:left;
}

.info-list li{
    font-size:24px;
    line-height:1.55;
    color:#222222;
    margin-bottom:10px;
}

.submission-criteria{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}

.submission-criteria h3{
    font-size:28px;
    margin:0 0 18px;
    font-weight:600;
    color:#111111;
}

.submission-criteria p{
    font-size:22px;
    line-height:1.65;
    color:#444444;
    margin:0 0 18px;
}

.criteria-note{
    font-size:20px;
    color:#666666;
    font-style:italic;
}

.submission-cta{
    margin:34px 0 40px;
    text-align:center;
}

.cta-button{
    display:inline-block;
    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;
}

.cta-button:hover{
    background:#ffffff;
    color:#000000;
}

/* FORM */
.opportunity-form{
    max-width:760px;
    margin:40px auto 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    text-align:left;
    align-items:start;
}

.opportunity-form input:not([type="checkbox"]),
.opportunity-form textarea{
    width:100%;
    padding:15px 16px;
    font-size:16px;
    border:1px solid #dcdcdc;
    background:#ffffff;
    color:#111111;
    font-family:"Times New Roman", serif;
    outline:none;
}

.opportunity-form input:not([type="checkbox"]):focus,
.opportunity-form textarea:focus{
    border-color:#111111;
}

.opportunity-form textarea{
    grid-column:1 / -1;
    min-height:150px;
    resize:vertical;
}

.full-row{
    grid-column:1 / -1;
}

.upload-row{
    grid-column:1 / -1;
    display:flex;
    flex-direction:column;
    gap:10px;
    text-align:left;
}

.upload-row label{
    font-size:17px;
    line-height:1.4;
    color:#111111;
    margin:0;
}

.upload-controls{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    flex-wrap:wrap;
}

.custom-file-btn{
    padding:12px 22px;
    border:none;
    background:#111111;
    color:#ffffff;
    cursor:pointer;
    font-family:"Times New Roman", serif;
    font-size:18px;
    letter-spacing:0.03em;
    transition:opacity 0.3s ease;
}

.custom-file-btn:hover{
    opacity:0.88;
}

.file-name{
    font-size:16px;
    color:#444444;
}

.upload-row small{
    display:block;
    font-size:15px;
    line-height:1.5;
    color:#666666;
    font-style:italic;
}

.checkbox-group{
    grid-column:1 / -1;
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:4px;
    text-align:left;
}

.checkbox-group input[type="checkbox"]{
    width:16px;
    height:16px;
    margin:3px 0 0 0;
    flex:0 0 auto;
    accent-color:#111111;
}

.checkbox-group label{
    font-size:17px;
    line-height:1.45;
    color:#222222;
    margin:0;
}

.privacy-row{
    grid-column:1 / -1;
}

.privacy-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:17px;
    line-height:1.45;
    color:#222222;
    margin:0;
}

.privacy-check input[type="checkbox"]{
    width:16px;
    height:16px;
    margin:3px 0 0 0;
    padding:0;
    flex:0 0 auto;
    accent-color:#111111;
}

.privacy-check span{
    display:inline;
}

.privacy-check a{
    color:#111111;
    text-decoration:underline;
}

.privacy-check a:hover{
    color:#555555;
}

/* SUBMIT BUTTON: centered, black background, very visible */
.submit-wrap{
    grid-column:1 / -1;
    background:#000000;
    padding:34px 20px;
    margin-top:8px;
    text-align:center;
    border:1px solid #111111;
}

.submit-btn{
    display:inline-block;
    min-width:320px;
    max-width:100%;
    padding:18px 34px;
    font-size:20px;
    font-weight:600;
    border:2px solid #ffffff;
    background:#ffffff;
    color:#000000;
    cursor:pointer;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-family:"Times New Roman", serif;
    transition:all 0.3s ease;
}

.submit-btn:hover{
    background:#000000;
    color:#ffffff;
}

.form-note{
    grid-column:1 / -1;
    text-align:center;
    margin:10px 0 0;
    font-size:17px;
    line-height:1.5;
    color:#444444;
}

/* =========================
   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);
    }
}

@keyframes fadeTextBottom{
    from{
        opacity:0;
        transform:translateY(14px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1400px){
    .logo-main{
        width:360px;
    }

    .title{
        font-size:78px;
    }

    .subtitle{
        font-size:38px;
    }
}

@media (max-width: 1100px){
    .advisors-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .focus-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1024px){
    .hero{
        height:66vh;
        min-height:460px;
    }

    .logo-main{
        width:320px;
    }

    .title{
        font-size:62px;
    }

    .subtitle{
        font-size:30px;
    }

    .launching{
        font-size:28px;
    }

    .focus h2,
    .advisors h2,
    .regions h2,
    .opportunity h2,
    .intro h2{
        font-size:36px;
    }

    .focus-intro,
    .focus-card p,
    .intro p,
    .regions-intro,
    .advisors-intro,
    .opportunity-intro{
        font-size:18px;
    }

    .focus-card h3{
        font-size:24px;
    }

    .regions-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .info-list li{
        font-size:21px;
    }

    .submission-criteria p{
        font-size:20px;
    }
}

@media (max-width: 768px){
    .top-band{
        padding:28px 16px 22px 16px;
    }

    .logo-main{
        width:270px;
        max-width:84vw;
    }

    .hero{
        height:58vh;
        min-height:380px;
    }

    .title{
        font-size:42px;
    }

    .subtitle{
        font-size:22px;
        margin-top:14px;
    }

    .bottom-band{
        padding:22px 16px 28px 16px;
    }

    .launching{
        font-size:22px;
    }

    .intro,
    .focus,
    .advisors,
    .regions,
    .opportunity{
        padding:70px 20px;
    }

    .advisors-grid{
        grid-template-columns:1fr;
    }

    .advisor-card img{
        height:160px;
    }

    .advisor-info h3{
        font-size:24px;
    }

    .advisor-role{
        font-size:17px;
    }

    .advisor-bio{
        font-size:16px;
    }

    .regions-grid{
        grid-template-columns:1fr;
    }

    .region-card h3{
        font-size:22px;
    }

    .region-name{
        font-size:18px;
    }

    .opportunity-form{
        grid-template-columns:1fr;
    }

    .upload-controls{
        flex-direction:column;
        align-items:flex-start;
    }

    .submit-wrap{
        padding:28px 16px;
    }

    .submit-btn{
        width:100%;
        min-width:0;
        font-size:18px;
        padding:16px 22px;
    }

    .info-list{
        padding-left:22px;
    }

    .info-list li{
        font-size:19px;
    }

    .submission-criteria p{
        font-size:18px;
    }

    .criteria-note{
        font-size:17px;
    }
}

@media (max-width: 480px){
    .logo-main{
        width:220px;
    }

    .title{
        font-size:34px;
    }

    .subtitle{
        font-size:18px;
    }

    .launching{
        font-size:18px;
    }
}

@media (min-width: 769px){
    .regions-grid .region-card:last-child{
        grid-column:2 / 3;
    }
	/* =========================
   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;
}

@media (max-width: 768px){
    .site-footer{
        padding:28px 16px;
    }

    .site-footer p{
        font-size:16px;
    }
}/* =========================
   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;
}

#focus,
#advisors,
#network{
    scroll-margin-top:120px;
}

@media (max-width: 768px){
    .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;
    }
}
/* =========================
   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;
}

/* anchor spacing for index sections */
#focus,
#advisors,
#network,
#preliminary-review{
    scroll-margin-top:120px;
}

@media (max-width: 768px){
    .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;
    }
}	
