/* Article + Blog post styles — shared across cluster posts and pillar pages */

.article__hero { position:relative; min-height: 62vh; display:grid; place-items:end center; padding: 0 var(--gutter) 4rem; color: #f5f0e6; overflow:hidden; }
.article__hero picture { position:absolute; inset:0; z-index:0; }
.article__hero img { width:100%; height:100%; object-fit:cover; }
.article__hero::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(14,32,48,0.4) 0%, rgba(14,32,48,0.55) 55%, rgba(14,32,48,0.85) 100%); z-index:1; }
.article__hero-inner { position:relative; z-index:2; max-width: 880px; text-align:center; }
.article__category { display:inline-block; font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; color: #efa63d; margin-bottom: 1.25rem; font-weight: 500; }
.article__h1 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.08; letter-spacing: -0.01em; margin: 0 0 1.5rem; color: #f5f0e6; }
.article__meta { font-family: 'Inter', sans-serif; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,240,230,0.78); }
.article__meta span + span::before { content: " · "; margin: 0 0.5rem; color: rgba(245,240,230,0.4); }

.article__body { max-width: 720px; margin: 0 auto; padding: 4rem var(--gutter) 5rem; }
.article__body .lede { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.5; color: #1d2f44; margin-bottom: 2.5rem; }
.article__body h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; color: #0e2030; margin: 3rem 0 1.25rem; letter-spacing: -0.005em; }
.article__body h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.35rem; color: #0e2030; margin: 2rem 0 0.75rem; }
.article__body p { font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.75; color: #3b4a5c; margin-bottom: 1.25rem; }
.article__body a { color: #c75017; border-bottom: 1px solid rgba(199,80,23,0.3); text-decoration: none; }
.article__body a:hover { border-bottom-color: #c75017; }
.article__body ul, .article__body ol { font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.75; color: #3b4a5c; margin: 0 0 1.5rem 1.5rem; }
.article__body li { margin-bottom: 0.5rem; }
.article__body blockquote { border-left: 3px solid #ec881b; padding: 0.5rem 0 0.5rem 1.5rem; margin: 2rem 0; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.3rem; line-height: 1.5; color: #0e2030; }

.article__pullquote { background:#f5f0e6; border-left: 3px solid #ec881b; padding: 1.5rem 1.75rem; margin: 2.5rem -1rem; }
.article__pullquote p { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; line-height: 1.5; color:#0e2030; margin:0; font-style: italic; }

.article__inline-cta { background: #0e2030; color:#f5f0e6; padding: 2rem 2rem; margin: 3rem -1rem; border-radius: 2px; text-align:center; }
.article__inline-cta h3 { font-family: 'Cormorant Garamond', serif; color: #f5f0e6 !important; font-size: 1.5rem; margin: 0 0 0.5rem !important; }
.article__inline-cta p { color: rgba(245,240,230,0.8); margin-bottom: 1.25rem; }
.article__inline-cta .btn { background:#ec881b; color:#0e2030; border:none; padding: 0.875rem 1.75rem; font-family: 'Inter', sans-serif; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; text-decoration:none; display:inline-block; border-bottom:none; }
.article__inline-cta .btn:hover { background:#efa63d; }

.article__pillar-card { background: linear-gradient(135deg, #f5f0e6 0%, #ebe2cf 100%); border:1px solid #ded3bc; padding: 2rem 2rem; margin: 2.5rem -1rem; border-radius: 2px; }
.article__pillar-card .pc__eyebrow { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: #c75017; font-weight: 600; margin-bottom: 0.5rem; }
.article__pillar-card .pc__title { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; line-height: 1.2; color: #0e2030; margin: 0 0 0.5rem; }
.article__pillar-card .pc__body { font-family: 'Inter', sans-serif; font-size: 15px; color: #3b4a5c; margin: 0 0 1rem; }
.article__pillar-card .pc__link { color: #c75017; font-family: 'Inter', sans-serif; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; text-decoration: none; border-bottom: none; }

.article__footer { border-top: 1px solid #ded3bc; padding: 2.5rem 0 0; margin-top: 3rem; }
.article__author-card { display:flex; gap:1.25rem; align-items:flex-start; padding: 2rem; background:#f5f0e6; border:1px solid #ded3bc; margin-top:2rem; }
.article__author-card .ac__name { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; color:#0e2030; margin: 0 0 0.25rem; }
.article__author-card .ac__role { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #6e5a3a; margin-bottom: 0.75rem; }
.article__author-card .ac__bio { font-family: 'Inter', sans-serif; font-size: 15px; line-height: 1.6; color: #3b4a5c; margin: 0; }

.related { background: #f5f0e6; padding: 5rem var(--gutter); }
.related__header { text-align:center; max-width: 600px; margin: 0 auto 3rem; }
.related__grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 1080px; margin: 0 auto; }
.related__card { background:#fff; border: 1px solid #ded3bc; text-decoration:none; color:inherit; display:flex; flex-direction:column; overflow:hidden; transition: transform 0.3s ease; }
.related__card:hover { transform: translateY(-4px); }
.related__card-photo { aspect-ratio: 16/10; overflow:hidden; }
.related__card-photo img { width:100%; height:100%; object-fit:cover; }
.related__card-body { padding: 1.5rem 1.75rem 2rem; }
.related__card-eyebrow { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: #ec881b; font-weight: 500; margin-bottom: 0.5rem; }
.related__card-title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; line-height: 1.25; color: #0e2030; margin: 0 0 0.5rem; }
.related__card-meta { font-family: 'Inter', sans-serif; font-size: 12px; letter-spacing: 0.08em; color: #6e5a3a; text-transform: uppercase; }

/* Blog index page */
.blog-index__hero { padding: 9rem var(--gutter) 5rem; background: #0e2030; color: #f5f0e6; text-align: center; }
.blog-index__hero .eyebrow { display: inline-block; margin-bottom: 1.5rem; }
.blog-index__hero h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.4rem, 5vw, 3.8rem); font-weight: 400; line-height: 1.1; margin: 0 0 1.25rem; color: #f5f0e6; }
.blog-index__hero h1 em { color: #efa63d; font-style: italic; }
.blog-index__hero .blog-index__sub { font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.6; color: rgba(245,240,230,0.85); max-width: 56ch; margin: 0 auto; }
.blog-index__hero .eyebrow { color: #efa63d; }

.pillars { padding: 5rem var(--gutter); background: #f5f0e6; }
.pillars__header { text-align: center; max-width: 720px; margin: 0 auto 3rem; }
.pillars__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 1180px; margin: 0 auto; }
.pillar-card { background: #fff; border: 1px solid #ded3bc; padding: 2.5rem 2rem; text-decoration: none; color: inherit; display: block; transition: all 0.3s ease; position: relative; overflow: hidden; }
.pillar-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#0e2030,#2c8fb8,#3a999d,#92cdc7,#efa63d,#ec881b,#c75017,#a93f10); }
.pillar-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(14,32,48,0.08); }
.pillar-card__eyebrow { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: #c75017; font-weight: 600; margin-bottom: 0.75rem; }
.pillar-card__title { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; line-height: 1.2; color: #0e2030; margin: 0 0 1rem; }
.pillar-card__body { font-family: 'Inter', sans-serif; font-size: 15px; line-height: 1.6; color: #3b4a5c; margin: 0 0 1.25rem; }
.pillar-card__link { color: #c75017; font-family: 'Inter', sans-serif; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; }

.posts { padding: 5rem var(--gutter); background: #ebe2cf; }
.posts__header { text-align: center; max-width: 720px; margin: 0 auto 3rem; }
.posts__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2.5rem; max-width: 1180px; margin: 0 auto; }
.post-card { background: #fff; border: 1px solid #ded3bc; text-decoration: none; color: inherit; display: flex; flex-direction: column; overflow: hidden; transition: transform 0.3s ease; }
.post-card:hover { transform: translateY(-4px); }
.post-card__photo { aspect-ratio: 16/10; overflow: hidden; }
.post-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.post-card:hover .post-card__photo img { transform: scale(1.04); }
.post-card__body { padding: 1.75rem 2rem 2.25rem; flex: 1; display: flex; flex-direction: column; }
.post-card__eyebrow { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: #ec881b; font-weight: 500; margin-bottom: 0.5rem; }
.post-card__title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; line-height: 1.2; color: #0e2030; margin: 0 0 0.75rem; }
.post-card__excerpt { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6; color: #3b4a5c; margin: 0 0 1rem; flex: 1; }
.post-card__meta { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: #6e5a3a; }
.post-card__meta span + span::before { content: " · "; margin: 0 0.4rem; color: rgba(110,90,58,0.4); }

@media (max-width: 600px) {
  .article__pullquote, .article__inline-cta, .article__pillar-card { margin-left: 0; margin-right: 0; }
}
