* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
}

body {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: InterVariable, system-ui, sans-serif;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11", normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    color: #101828;
    background-color: #FFFFFF;
}

.container {
    width: 100%;
    max-width: 1200px;
    padding: 0 1rem;
    margin: 0 auto;
}

.site-content.container {
    max-width: 540px;
}

@media (min-width: 780px) {
    .site-content.container {
        max-width: 1200px;
    }
}

.site-content {
    min-height: calc(100vh - 26rem);
}

.site-header {
    padding: 2rem 0;
    text-align: center;
}

.site-branding a {
    text-decoration: none;
    color: #101828;
    font-size: 2.5rem;
    font-weight: 700;
}

.site-tagline {
    color: #4a5565;
    font-size: 1.25rem;
    font-weight: 300;
    display: block;
}

.site-header .primary-nav {
    margin: 2.5rem 0;
}

#primary-menu {
    display: flex;
    gap: 0.5rem;
    list-style: none;
}

.menu-item a {
    color: #101828;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 500;
}

.menu-item.current_page_item a {
    background-color: #F2F2F2;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 1.5rem;
    row-gap: 2.5rem;
}

@media (min-width: 780px) {
    .posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1080px) {
    .posts-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.posts-grid>a {
    text-decoration: none;
}

.post-thumb-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: block;
    border-radius: 0.5rem;
    /* ensure predictable block behavior */
}

/* Image fills the box like a background cover */
.post-card .post-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* acts like background-size: cover */
    object-position: center;
    display: block;
}

/* Fallback: padding-top hack for 16:9 (56.25%) */
.post-thumb-wrap {
    height: auto;
    /* let fallback take over */
}

.post-thumb-wrap::before {
    content: "";
    display: block;
    padding-top: 56.25%;
    /* 9/16 = 0.5625 */
}

.post-card .post-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.post-card header {
    margin-top: 1rem;
}

.post-card .entry-title {
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    color: #101828;
    display: block;
}


.post-card .entry-meta,
.entry-summary p {
    display: block;
    margin-top: 0.5rem;
    font-size: .875rem;
    color: #4a5565;
}

.post-card .entry-meta {
    color: #6b7c95;
}

.site-footer {
    padding: 2rem 0;
}

#footer-menu {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.menu-item a {
    color: #4a5565;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 400;
}

.menu-item a:hover {
    text-decoration: underline;
}

.site-footer .copyright {
    text-align: center;
    color: #6b7c95;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 400;
}

article.single-post {
    max-width: 740px;
    margin: 0 auto;
}

.single-post .entry-title {
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.single-post .entry-meta {
    color: #4a5565;
    font-size: 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.3rem;
}

.single-post .entry-meta a {
    font-weight: 500;
    text-decoration: none;
    color: #4a5565;
}

.single-post .entry-meta a:hover {
    text-decoration: underline;
}

.seperator {
    width: 1px;
    height: 1rem;
    background-color: #6b7c95;
    margin: 0 1rem;
}

.single-post h2 {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #101828;
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 0.5rem;
}

.single-post p {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #101828;
    font-weight: 300;
    margin-bottom: 1.5rem;
}

article.single-post ul {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #101828;
    font-weight: 300;
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

article.single-post li {
    margin-bottom: 0.4rem;
}

article.single-post strong {
    font-weight: 600;
}

article.single-post figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5rem;
}

article.single-post figure img {
    max-width: 100%;
    border-radius: 0.75rem;
}

article.single-post .wp-element-caption {
    font-size: .875rem;
    color: #6b7c95;
    font-style: italic;
}

.entry-footer {
    margin-top: 3rem;
}

.post-nav {
    display: flex;
    gap: 1rem;
}

.post-nav .prev,
.post-nav .next {
    flex: 1 1 0%;
    display: flex;
}

.post-nav .next a {
    text-align: right;
}

.post-nav a {
    border: 1px solid #6b7c95;
    border-radius: 0.25rem;
    padding: 1rem;
    text-decoration: none;
    flex: 1 1 auto;
    color: #4a5565;
    font-size: 1rem;
    font-weight: 400;
}