@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@300;400;500;600&display=swap');

:root {
    --terracotta: #7A3E3E;
    --burnt-orange: #C47B5A;
    --off-white: #F2EAD8;
    --white: #FFFFFF;
    --cream: #FAF6ED;
    --border-light: rgba(122,62,62,0.08);
    --border-mid: rgba(122,62,62,0.15);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--off-white);color:var(--terracotta);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'DM Serif Display',serif;font-weight:400}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ── Nav ── */
nav{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;background:var(--off-white);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:100}
.nav-logo{font-family:'DM Serif Display',serif;font-size:32px;color:var(--terracotta);letter-spacing:-1px}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{color:var(--terracotta);font-weight:500;font-size:.95rem;letter-spacing:.3px;position:relative;padding-bottom:4px;transition:color .3s}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--burnt-orange);transition:width .3s}
.nav-links a:hover{color:var(--burnt-orange)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--burnt-orange);font-weight:600}
.nav-links a.active::after{width:100%}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px}
.nav-hamburger span{width:22px;height:2px;background:var(--terracotta);display:block;transition:.3s}

/* ── Blog Page ── */
.blog-page{max-width:960px;margin:0 auto;padding:80px 5% 100px}
.blog-header{text-align:center;margin-bottom:70px}
.blog-header h1{font-size:3rem;margin-bottom:14px}
.blog-header p{font-size:1.1rem;opacity:.65;max-width:520px;margin:0 auto}

.post-card{display:flex;gap:35px;padding:38px 0;border-bottom:1px solid var(--border-light)}
.post-card:first-child{padding-top:0}
.post-card:last-child{border-bottom:none}

.post-card-image{flex-shrink:0;width:290px;height:195px;overflow:hidden;border-radius:6px;background:#e5dec9}
.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .post-card-image img{transform:scale(1.04)}

.post-card-body{display:flex;flex-direction:column;justify-content:center}
.post-card-body h2{font-size:1.5rem;line-height:1.35;margin-bottom:10px}
.post-card-body h2 a{transition:color .3s}
.post-card-body h2 a:hover{color:var(--burnt-orange)}

.post-excerpt{font-size:.95rem;line-height:1.7;opacity:.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.post-meta{display:flex;gap:16px;font-size:.76rem;text-transform:uppercase;letter-spacing:.5px;opacity:.45;margin-bottom:14px;flex-wrap:wrap}

.read-link{margin-top:auto;padding-top:14px;color:var(--burnt-orange);font-weight:600;font-size:.88rem;transition:color .3s}
.read-link:hover{color:var(--terracotta)}

/* ── Pagination ── */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:60px 0 0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;font-weight:500;font-size:.88rem;border:1px solid var(--border-mid);color:var(--terracotta);transition:all .25s}
.pagination a:hover{background:var(--burnt-orange);border-color:var(--burnt-orange);color:var(--white)}
.pagination .page-number.current{background:var(--terracotta);border-color:var(--terracotta);color:var(--white)}

/* ── Single Article ── */
.article-page{max-width:760px;margin:0 auto;padding:60px 5% 120px}

.back-link{display:inline-block;margin-bottom:40px;color:var(--burnt-orange);font-weight:600;font-size:.9rem}
.back-link:hover{color:var(--terracotta)}

.article-header{margin-bottom:50px}
.article-header .post-meta{margin-bottom:24px}
.article-header h1{font-size:2.8rem;line-height:1.18;margin-bottom:0}

.feature-img{width:100%;border-radius:8px;margin-bottom:50px}

.article-body{font-size:1.08rem;line-height:1.85}
.article-body h2{font-size:1.8rem;margin:2em 0 .6em}
.article-body h3{font-size:1.35rem;margin:1.6em 0 .5em}
.article-body p{margin-bottom:1.35em}
.article-body blockquote{border-left:3px solid var(--burnt-orange);padding:20px 30px;margin:2em 0;background:var(--cream);font-style:italic}
.article-body ul,.article-body ol{padding-left:1.4em;margin-bottom:1.3em}
.article-body li{margin-bottom:.5em}
.article-body a{color:var(--burnt-orange);text-decoration:underline}
.article-body a:hover{color:var(--terracotta)}

/* ── Ghost Content Cards ── */
.kg-width-wide{max-width:1200px;margin:2em auto}
.kg-width-full{max-width:100vw;margin:2em 0}
.kg-image{margin:2em 0}
.kg-gallery-container{display:flex;flex-wrap:wrap;gap:12px}
.kg-gallery-image{flex:1 1 300px}

/* ── Footer ── */
footer{background:var(--terracotta);color:var(--off-white);padding:100px 5% 60px}
footer a{color:var(--off-white)}
.footer-wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:50px}
.footer-brand{font-family:'DM Serif Display',serif;font-size:3rem;margin-bottom:10px}
.footer-tagline{font-weight:600;color:var(--burnt-orange)}
.footer-right{text-align:right}
.address-block{margin-top:25px;line-height:1.4}
.address-label{font-weight:600;color:var(--burnt-orange);text-transform:uppercase;font-size:.75rem;letter-spacing:1px;margin-bottom:5px;display:block}
.address-text{opacity:.7;font-size:.9rem}
.footer-copy{font-size:.75rem;margin-top:40px;opacity:.5}

/* ── Responsive ── */
@media(max-width:768px){
    .nav-hamburger{display:flex}
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--off-white);flex-direction:column;padding:20px 5%;gap:14px;border-bottom:1px solid var(--border-light)}
    .nav-links.open{display:flex}
    .post-card{flex-direction:column;gap:18px}
    .post-card-image{width:100%;height:210px}
    .blog-header h1{font-size:2.2rem}
    .article-header h1{font-size:2rem}
    .footer-wrap{flex-direction:column;gap:30px}
    .footer-right{text-align:left}
}

@media(max-width:480px){
    .blog-page{padding:50px 5% 80px}
    .article-page{padding:50px 5% 100px}
}
