:root {
    --header-green: #97B067;
    --cream: #ECEDB0;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: linear-gradient(#f5ffcf, #e9faaa);
    min-height: 100vh;
}

hr {
    border-width: 0;
    border-radius: 8px;
    color: #DDDEAB;
    background-color: #DDDEAB;
    width: clamp(15rem, 10vw, 20rem);
    margin: 1rem auto;
    height: 0.5rem;
}

header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(2rem, 10vw, 4rem) 1rem;
    background-color: var(--header-green);
    text-align: center;
    margin-bottom: 2rem;
}

header h1 {
    font-family: "Space Mono",monospace;
    font-weight: 700;
    font-size: clamp(2.5rem, 8vw, 4rem);
    color: white;
    margin-bottom: 0.5rem;
}

header p {
    font-family: "space Grotesque", sans-serif;
    color: var(--cream);
    font-size: clamp(0.8rem, 2vw, 1.2rem);
}

section.hero {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: clamp(2rem, 6vw, 3rem) 1rem;
    gap: 1.3rem;
}

section.hero h2 {
    font-family: "Space Mono",monospace;
    font-weight: 300;
    font-size: clamp(1.5rem, 5vw, 2rem);
    color: #2F5249;
}

section.hero p {
    font-family: "space Grotesque", sans-serif;
    color: #708A58;
    font-size: clamp(1rem, 2vw, 1.4rem);
}

section.hero a.btn {
    color: white;
    background: #2F5249;
    border-radius: 8px;
    padding: 0.8rem 1.6rem;
    text-decoration: none;
    font-family: "Space Grotesque", sans-serif;
    transition: background 0.2s ease;
}

section.hero a.btn:hover {
    background: #437057;
    transition: background 0.2s ease;
}

section.recent-posts {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(2rem, 6vw, 3rem) 1rem;
    text-align: center;
    gap: 2rem;
}

section.recent-posts h2 {
    font-family: "Space Mono",monospace;
    font-weight: 600;
    font-size: clamp(1.5rem, 5vw, 2rem);
    color: #2F5249;
}

div.posts-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem;
    text-align: left;
}

a.post-card {
    background-color: #DDEB9D;
    border: 1px solid rgba(47, 82, 73, 0.12);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
    text-decoration: none;
    color: black;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 0 2rem rgba(200,255,200,0.45);
    
    flex: 1 1 0;
    min-height: 8rem;
    min-width: 15rem;
    max-width: 25rem;
    cursor: pointer;
}

a.post-card:hover {
    transform: translateY(-3px); 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1), 0 0 12px rgba(200,255,200,0.45);
    background-color: #dee9ae;
}

a.post-card h3 {
    font-family: "Space Mono", monospace;
    color: #2F5249;
    margin-bottom: 0.4rem;
}

a.post-card p {
    font-family: "Space Grotesque", sans-serif;
    flex-grow: 1;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: #708A58;
}

section.recent-posts a.btn {
    color: white;
    background: #2F5249;
    border-radius: 8px;
    padding: 0.8rem 1.6rem;
    text-decoration: none;
    font-family: "Space Grotesque", sans-serif;
    transition: background 0.2s ease;
}

section.recent-posts a.btn:hover {
    background: #437057;
    transition: background 0.2s ease;
}