:root {

--blue:#184A6B;
--sand:#E8DDC5;
--grey:#6B7075;
--cream:#FAF7F0;
--red:#8B3A35;

}


*{
box-sizing:border-box;
}


body{

margin:0;
font-family:
Arial,
Helvetica,
sans-serif;

background:var(--cream);
color:#222;

line-height:1.6;

}



header{

background:white;
padding:22px 7%;

display:flex;
justify-content:space-between;
align-items:center;

flex-wrap:wrap;

box-shadow:0 2px 10px rgba(0,0,0,.08);

}



.logo h1{

color:var(--blue);
margin:0;

font-size:2rem;

}


.logo p{

margin:0;
color:var(--grey);

}



nav a{

text-decoration:none;
color:#222;

margin:6px;

font-weight:bold;
font-size:.95rem;

}



.hero{

min-height:75vh;

background:
linear-gradient(
rgba(24,74,107,.55),
rgba(24,74,107,.55)
),
url("../images/hero.jpg");

background-size:cover;
background-position:center;

display:flex;
align-items:center;

padding:8%;

}



.hero-text{

max-width:650px;
color:white;

}



.hero h2{

font-size:3rem;

}



.buttons{

display:flex;
gap:15px;
flex-wrap:wrap;

}



.button{

display:inline-block;

background:var(--red);
color:white;

padding:12px 25px;

border-radius:30px;

text-decoration:none;

}



.secondary{

background:white;
color:var(--blue);

}



.notice{

text-align:center;

padding:50px;

background:var(--sand);

}



.cards{

display:grid;

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

gap:25px;

padding:60px 8%;

}



.card{

background:white;

padding:30px;

border-radius:8px;

box-shadow:
0 5px 20px rgba(0,0,0,.08);

}



.card h3{

color:var(--blue);

}



.timeline{

padding:60px 8%;

}



.timeline div{

border-left:5px solid var(--blue);

padding-left:25px;

margin-bottom:30px;

}



.support-box{

background:var(--blue);

color:white;

text-align:center;

padding:60px;

}



footer{

background:#222;

color:white;

padding:30px;

text-align:center;

}



@media(max-width:700px){


header{

display:block;
text-align:center;

}


.hero h2{

font-size:2rem;

}


nav{

margin-top:20px;

}


}

.page-header{

padding:80px 8%;

background:

linear-gradient(
rgba(24,74,107,.85),
rgba(24,74,107,.85)
);

color:white;

text-align:center;

}



.page-header h2{

font-size:3rem;

margin-bottom:10px;

}



.content{

padding:60px 8%;

max-width:1000px;

margin:auto;

}

.content h2{

color:var(--blue);

margin-top:0;

}

.content p{

font-size:1.05rem;

}

.note{

background:white;

border-left:5px solid var(--red);

border-radius:8px;

padding:24px;

margin:30px 0;

box-shadow:0 5px 15px rgba(0,0,0,.06);

}

.note h3{

color:var(--blue);

margin-top:0;

}

.timeline.compact{

padding:30px 0;

}

.timeline.compact div{

background:white;

border-radius:8px;

padding-top:12px;

padding-bottom:12px;

box-shadow:0 5px 15px rgba(0,0,0,.05);

}



.resource-list{

display:grid;

gap:20px;

}



.resource-list a{

background:white;

padding:25px;

border-radius:8px;

text-decoration:none;

color:var(--blue);

font-weight:bold;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}



.gallery{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));

gap:20px;

}



.gallery img{

width:100%;

height:250px;

object-fit:cover;

border-radius:15px;

}



.map-container{

overflow:hidden;

border-radius:15px;

box-shadow:0 5px 20px rgba(0,0,0,.1);

}



button,
.button{

cursor:pointer;

}



a:focus,
button:focus{

outline:4px solid var(--red);

outline-offset:3px;

}



@media(max-width:700px){


.page-header h2{

font-size:2rem;

}


.hero{

min-height:60vh;

}


.card{

padding:25px;

}


nav a{

display:inline-block;

padding:8px;

}


}

.menu-button{

background:var(--blue);

color:white;

border:none;

padding:12px 20px;

border-radius:25px;

font-size:1rem;

margin:15px auto;

display:block;

}



@media(max-width:700px){


nav{

display:none;

}


nav.open{

display:block;

}



nav a{

display:block;

}


}

.season-banner{

background:var(--red);

color:white;

text-align:center;

padding:12px;

font-weight:bold;

}
