/* ────────────────────
   BLOG
   (blog.html card list + blog_YYYYMMDD_N.html article pages)
──────────────────── */
.blog-list { display:grid; grid-template-columns:repeat(2, 1fr); gap:1.5rem; }
a.blog-card { display:block; background:white; border:1px solid var(--silver); padding:2rem; color:inherit; text-decoration:none; position:relative; overflow:hidden; transition:border-color 0.2s, transform 0.15s, box-shadow 0.2s; }
a.blog-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--sky); transform:scaleX(0); transform-origin:left; transition:transform 0.25s; }
a.blog-card:hover { border-color:var(--steel); transform:translateY(-3px); box-shadow:0 8px 28px rgba(13,43,94,0.08); }
a.blog-card:hover::before { transform:scaleX(1); }
.blog-card .blog-meta { font-size:0.78rem; color:var(--light); letter-spacing:0.04em; margin-bottom:0.8rem; }
.blog-tag { color:var(--sky); font-weight:500; text-transform:uppercase; letter-spacing:0.1em; margin-right:0.6rem; }
.blog-card h2 { font-family:'Cormorant Garamond', serif; font-size:1.5rem; font-weight:600; line-height:1.25; color:var(--navy); margin-bottom:0.7rem; }
.blog-card p { font-size:0.9rem; color:var(--mid); line-height:1.65; }
a.blog-card .more { display:inline-block; margin-top:1rem; font-size:0.82rem; font-weight:500; color:var(--sky); }

.blog-article { max-width:720px; }
.blog-article .section-title { font-size:clamp(2rem, 4.5vw, 2.8rem); margin-bottom:2rem; }
.blog-body { font-size:1rem; color:var(--mid); line-height:1.85; }
.blog-body .lead { font-size:1.1rem; color:var(--charcoal); margin-bottom:1.5rem; }
.blog-body h2 { font-family:'Cormorant Garamond', serif; font-size:1.65rem; font-weight:600; color:var(--navy); line-height:1.25; margin:2.4rem 0 0.7rem; }
.blog-body h3 { font-family:'Cormorant Garamond', serif; font-size:1.3rem; font-weight:600; color:var(--navy); margin:1.8rem 0 0.6rem; }
.blog-body p { margin-bottom:0.9rem; }
.blog-body strong { color:var(--charcoal); font-weight:500; }
.blog-body a { color:var(--navy); }
.blog-body a:hover { color:var(--sky); }
.blog-body ul, .blog-body ol { margin:0.5rem 0 1.2rem 1.4rem; }
.blog-body li { margin-bottom:0.45rem; padding-left:0.3rem; }
.blog-body li::marker { color:var(--sky); }
.callout { background:var(--sky-pale); border-left:4px solid var(--sky); padding:1.1rem 1.4rem; margin:1.8rem 0; }
.callout p { margin:0; color:var(--charcoal); }
.callout-warn { background:#FFF3EC; border-left-color:#C4562A; }
.hours-list { max-width:480px; margin:0.6rem 0 1.4rem; background:white; border:1px solid var(--silver); }
.hours-list > div { display:flex; justify-content:space-between; gap:1.5rem; padding:0.65rem 1.1rem; border-bottom:1px solid var(--silver); font-size:0.92rem; }
.hours-list > div:last-child { border-bottom:none; }
.hours-list dt { font-weight:500; color:var(--navy); flex-shrink:0; }
.hours-list dd { text-align:right; }
.hours-list dd span { color:var(--sky); font-size:0.8rem; }
.blog-body .related { margin-top:2rem; font-size:0.92rem; }
.blog-back { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--silver); font-size:0.9rem; }
.blog-back a { color:var(--sky); text-decoration:none; font-weight:500; }
@media (max-width:800px) { .blog-list { grid-template-columns:1fr; } }
@media (max-width:600px) { .hours-list > div { flex-direction:column; gap:0.1rem; } .hours-list dd { text-align:left; } }
