* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



html, body {

    min-height: 100%;

    font-family: "Georgia", "Times New Roman", serif;

    color: #5e4b4b;

}



body {

    background: url("HavenandJosh-bg.jpg") no-repeat center center fixed;

    background-size: cover;

    position: relative;

}



.page-overlay {

    position: fixed;

    inset: 0;

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

    z-index: 0;

}



.home-page {

    display: flex;

    justify-content: center;

    align-items: center;

    min-height: 100vh;

    padding: 20px;

}



.center-card {

    position: relative;

    z-index: 1;

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

    padding: 50px 35px;

    max-width: 700px;

    width: 100%;

    text-align: center;

    border-radius: 20px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);

    backdrop-filter: blur(4px);

}



.eyebrow {

    font-size: 1rem;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: #9a7b7b;

    margin-bottom: 10px;

}



.center-card h1 {

    font-size: 3rem;

    font-weight: normal;

    margin-bottom: 12px;

    color: #7f5f5f;

}



.subtext {

    font-size: 1.2rem;

    margin-bottom: 30px;

    color: #8d6f6f;

}



.footer-note {

    margin-top: 25px;

    font-size: 0.95rem;

    color: #8d7a7a;

    line-height: 1.6;

}



.button-group,

.page-links {

    display: flex;

    gap: 16px;

    justify-content: center;

    flex-wrap: wrap;

}



.menu-btn {

    display: inline-block;

    text-decoration: none;

    padding: 14px 28px;

    border-radius: 999px;

    background: #cfa7a7;

    color: white;

    font-size: 1rem;

    border: none;

    cursor: pointer;

    transition: all 0.25s ease;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	
	margin: 5px;

}



.menu-btn:hover {

    background: #b98e8e;

    transform: translateY(-2px);

}



.menu-btn.secondary {

    background: #8aa58f;

}



.menu-btn.secondary:hover {

    background: #748d79;

}



.menu-btn.small {

    padding: 12px 22px;
    font-size: 0.95rem;
	background: #8aa58f;

}



.inner-page {

    min-height: 100vh;

    padding: 100px 20px 40px;

}



.top-nav {

    position: relative;

    z-index: 1;

    width: calc(100% - 40px);

    max-width: 1200px;

    margin: 20px auto 0;

    padding: 16px 24px;

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

    border-radius: 16px;

    backdrop-filter: blur(4px);

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

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    flex-wrap: wrap;

}



.nav-title {

    font-size: 1.4rem;

    color: #7f5f5f;

}



.top-nav nav {

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

}



.top-nav nav a {

    text-decoration: none;

    color: #7b6666;

    font-size: 1rem;

    padding-bottom: 3px;

    border-bottom: 2px solid transparent;

    transition: all 0.2s ease;

}



.top-nav nav a:hover,

.top-nav nav a.active {

    color: #b98e8e;

    border-bottom-color: #b98e8e;

}



.content-wrapper {

    position: relative;

    z-index: 1;

    max-width: 1100px;

    margin: 30px auto 0;

}



.content-box {

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

    border-radius: 20px;

    padding: 40px 30px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);

    backdrop-filter: blur(4px);

}



.content-box.wide {

    max-width: 1100px;

}



.content-box h1 {

    font-size: 2.3rem;

    font-weight: normal;

    color: #7f5f5f;

    margin-bottom: 12px;

    text-align: center;

}



.page-intro {

    text-align: center;

    color: #8b7474;

    font-size: 1.05rem;

    margin-bottom: 30px;

}



.upload-form {

    display: flex;

    flex-direction: column;

    gap: 18px;

    max-width: 500px;

    margin: 0 auto 25px;

    align-items: center;

}



.upload-form input[type="file"] {

    width: 100%;

    max-width: 420px;

    padding: 14px;

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

    border: 2px dashed #d8baba;

    border-radius: 14px;

    color: #7f5f5f;

}



.upload-label {

    font-size: 1rem;

    color: #7f5f5f;

}



.success-message,

.error-message {

    max-width: 700px;

    margin: 0 auto 20px;

    padding: 14px 18px;

    border-radius: 12px;

    text-align: center;

    line-height: 1.5;

}



.success-message {

    background: rgba(138, 165, 143, 0.18);

    color: #4f6b54;

    border: 1px solid rgba(138, 165, 143, 0.5);

}



.error-message {

    background: rgba(207, 117, 117, 0.15);

    color: #8a4c4c;

    border: 1px solid rgba(207, 117, 117, 0.4);

}



.gallery-placeholder {

    border: 2px dashed #d8baba;

    border-radius: 16px;

    padding: 40px 20px;

    text-align: center;

    color: #8f7878;

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

    margin-bottom: 25px;

    min-height: 180px;

    display: flex;

    justify-content: center;

    align-items: center;

}



.gallery-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

    gap: 18px;

    margin-bottom: 30px;

}



.gallery-item {

    display: block;

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

    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 8px 20px rgba(0,0,0,0.08);

    transition: transform 0.2s ease;

}



.gallery-item:hover {

    transform: translateY(-4px);

}



.gallery-item img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    display: block;

}



@media (max-width: 768px) {

    .center-card {

        padding: 40px 22px;

    }



    .center-card h1 {

        font-size: 2.2rem;

    }



    .subtext {

        font-size: 1rem;

    }



    .top-nav {

        justify-content: center;

        text-align: center;

    }



    .content-box {

        padding: 28px 20px;

    }



    .content-box h1 {

        font-size: 1.9rem;

    }

}

``