.blog-shell{
    padding:110px 0 80px;
    background:
        radial-gradient(circle at top left, rgba(184,134,11,.08), transparent 34%),
        linear-gradient(180deg, #f9f5ef 0%, #fff 28%, #fff 100%);
}
.blog-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.blog-breadcrumbs{
    display:flex;flex-wrap:wrap;gap:10px;align-items:center;
    font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);
    margin-bottom:18px
}
.blog-breadcrumbs a{color:inherit;text-decoration:none}
.blog-breadcrumbs span{opacity:.55}
.blog-hero{
    display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    gap:28px;align-items:stretch;margin-bottom:28px
}
.blog-hero-copy,.blog-hero-feature{
    background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:30px;
    box-shadow:0 22px 60px rgba(29,22,14,.08)
}
.blog-hero-copy{padding:34px}
.blog-kicker{
    display:inline-flex;align-items:center;gap:8px;
    padding:7px 14px;border-radius:999px;border:1px solid rgba(0,111,36,.14);
    background:#f4f8f3;color:#006F24;font-size:11px;letter-spacing:.18em;text-transform:uppercase
}
.blog-hero-title{
    margin:18px 0 14px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,5vw,4.2rem);
    line-height:.94;font-weight:500;letter-spacing:-.02em
}
.blog-hero-text{font-size:15px;line-height:1.85;color:#5f5a4d;max-width:62ch}
.blog-search{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;
    margin-top:24px;padding:12px;border:1px solid #ece8df;border-radius:20px;background:#faf8f2
}
.blog-search input,.blog-search button,.blog-search select{
    font-family:'Jost',sans-serif;font-size:14px;border-radius:14px;border:1px solid transparent
}
.blog-search input{
    min-width:0;padding:14px 16px;background:#fff;border-color:#e6dfd2
}
.blog-search button{
    padding:14px 18px;background:#111;color:#fff;cursor:pointer
}
.blog-search button:hover{background:#006F24}
.blog-filter-strip{
    display:flex;gap:10px;flex-wrap:wrap;margin-top:20px
}
.blog-filter-chip{
    display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;
    border:1px solid #e8e1d4;background:#fff;color:#5d5549;text-decoration:none;font-size:13px;
    transition:.2s ease
}
.blog-filter-chip:hover,.blog-filter-chip.active{
    border-color:#006F24;background:#f4f8f3;color:#006F24;transform:translateY(-1px)
}
.blog-hero-feature{overflow:hidden;display:flex;flex-direction:column}
.blog-feature-image{aspect-ratio:1.08;overflow:hidden;background:#f3ede2}
.blog-feature-image img{width:100%;height:100%;object-fit:cover}
.blog-feature-body{padding:24px 26px 28px}
.blog-meta{
    display:flex;flex-wrap:wrap;gap:12px;align-items:center;
    font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7a7364
}
.blog-meta a{color:#006F24;text-decoration:none}
.blog-feature-title{
    margin:14px 0 10px;font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.04;font-weight:500
}
.blog-feature-title a{color:inherit;text-decoration:none}
.blog-feature-excerpt{font-size:14px;line-height:1.8;color:#5f5a4d}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:8px}
.blog-card{
    background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:24px;overflow:hidden;
    display:flex;flex-direction:column;min-height:100%;box-shadow:0 16px 45px rgba(29,22,14,.06);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease
}
.blog-card:hover{
    transform:translateY(-4px);border-color:rgba(0,111,36,.18);
    box-shadow:0 22px 50px rgba(29,22,14,.09)
}
.blog-card-link{color:inherit;text-decoration:none;display:flex;flex-direction:column;height:100%}
.blog-card-media{aspect-ratio:1.15;overflow:hidden;background:#f4efe7}
.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.blog-card:hover .blog-card-media img{transform:scale(1.04)}
.blog-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.blog-card-title{
    font-family:'Cormorant Garamond',serif;font-size:1.7rem;line-height:1.05;font-weight:500;
    margin:0
}
.blog-card-excerpt{font-size:14px;line-height:1.8;color:#5f5a4d}
.blog-card-read{
    margin-top:auto;display:inline-flex;align-items:center;gap:8px;
    color:#006F24;font-size:12px;letter-spacing:.1em;text-transform:uppercase
}
.blog-pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.blog-pager a,.blog-pager span{
    min-width:44px;height:44px;border-radius:999px;border:1px solid #e6dfd2;background:#fff;
    display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#5d5549;font-size:13px
}
.blog-pager a:hover,.blog-pager .active{border-color:#111;background:#111;color:#fff}
.blog-empty{
    background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:28px;padding:56px 30px;
    text-align:center;box-shadow:0 18px 50px rgba(29,22,14,.06)
}
.blog-empty i{font-size:32px;color:#b9ac93;margin-bottom:14px}
.blog-empty h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;margin-bottom:10px}
.blog-empty p{font-size:14px;line-height:1.8;color:#5f5a4d;max-width:40ch;margin:0 auto}

.blog-article-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}
.blog-article-main,.blog-sidebar-card{
    background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:30px;
    box-shadow:0 22px 60px rgba(29,22,14,.07)
}
.blog-article-main{overflow:hidden}
.blog-article-cover{aspect-ratio:1.6;overflow:hidden;background:#f2ede4}
.blog-article-cover img{width:100%;height:100%;object-fit:cover}
.blog-article-header{padding:32px 34px 26px;border-bottom:1px solid #f0ece4}
.blog-article-header h1{
    margin:18px 0 16px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4rem);
    line-height:.96;font-weight:500
}
.blog-author-line{font-size:14px;color:#5f5a4d;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.blog-author-line strong{color:#111;font-weight:500}
.blog-article-body{padding:34px}
.blog-richtext{font-size:16px;line-height:1.95;color:#2d2a26}
.blog-richtext h2,.blog-richtext h3,.blog-richtext h4{
    font-family:'Cormorant Garamond',serif;line-height:1.06;font-weight:500;margin:1.9em 0 .7em;color:#111
}
.blog-richtext h2{font-size:2.25rem}
.blog-richtext h3{font-size:1.8rem}
.blog-richtext h4{font-size:1.45rem}
.blog-richtext p,.blog-richtext ul,.blog-richtext ol,.blog-richtext blockquote{margin:0 0 1.2em}
.blog-richtext ul,.blog-richtext ol{padding-left:1.4em}
.blog-richtext a{color:#006F24}
.blog-richtext img{max-width:100%;height:auto;border-radius:18px;margin:18px 0}
.blog-richtext blockquote{
    padding:18px 22px;border-left:3px solid #b8860b;background:#faf6ee;border-radius:0 18px 18px 0;color:#4c463d
}
.blog-sidebar{display:flex;flex-direction:column;gap:18px}
.blog-sidebar-card{padding:22px}
.blog-sidebar-card h3{
    font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;margin-bottom:16px
}
.blog-side-list{display:flex;flex-direction:column;gap:14px}
.blog-side-item{display:flex;gap:12px;text-decoration:none;color:inherit}
.blog-side-thumb{width:76px;height:76px;border-radius:16px;overflow:hidden;flex-shrink:0;background:#f3ede2}
.blog-side-thumb img{width:100%;height:100%;object-fit:cover}
.blog-side-title{font-size:14px;line-height:1.55;font-weight:500;color:#1f1b17}
.blog-side-meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a7364;margin-bottom:6px}
.blog-side-chip{
    display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #f0ece4;
    text-decoration:none;color:#5d5549;font-size:13px
}
.blog-side-chip:first-child{border-top:none;padding-top:0}
.blog-related{margin-top:28px}
.blog-related h2{
    font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:500;margin-bottom:18px
}

@media(max-width:1080px){
    .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .blog-article-shell{grid-template-columns:1fr}
}
@media(max-width:820px){
    .blog-shell{padding-top:96px}
    .blog-container{width:min(100%,calc(100% - 28px))}
    .blog-hero{grid-template-columns:1fr}
    .blog-hero-copy{padding:26px}
}
@media(max-width:640px){
    .blog-search{grid-template-columns:1fr}
    .blog-grid{grid-template-columns:1fr}
    .blog-card-title{font-size:1.5rem}
    .blog-article-header,.blog-article-body{padding:24px 22px}
    .blog-richtext{font-size:15px}
    .blog-richtext h2{font-size:1.9rem}
    .blog-richtext h3{font-size:1.55rem}
}
