/* The Chronic Illness Chronicles — editorial styling (scoped with c- prefix) */

.c-article { padding-bottom: 40px; }

/* Hero */
.c-hero { padding: 132px 0 26px; text-align: center; }
.c-series-tag { display: inline-block; font-family: var(--font-body, 'Mulish', sans-serif); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--green-deep, #6f8a42); text-decoration: none; border: 1px solid #d6e0bf; background: var(--green-tint, #eef2e2); padding: 7px 16px; border-radius: 999px; margin-bottom: 22px; }
.c-series-tag:hover { background: #e4ecd0; }
.c-hero h1 { font-family: var(--font-head, 'Cormorant Garamond', serif); font-weight: 600; font-size: clamp(2.3rem, 5vw, 3.7rem); line-height: 1.04; color: #2d3239; max-width: 16ch; margin: 0 auto 20px; text-wrap: balance; }
.c-standfirst { font-family: var(--font-serif, 'Newsreader', serif); font-size: clamp(1.15rem, 2.2vw, 1.4rem); font-style: italic; line-height: 1.55; color: #555b62; max-width: 640px; margin: 0 auto 22px; text-wrap: pretty; }
.c-byline { font-family: var(--font-body, 'Mulish', sans-serif); font-size: .95rem; letter-spacing: .02em; color: var(--ink-faint, #8b9097); }
.c-byline strong { color: #2d3239; }

/* Cover */
.c-cover { margin: 10px auto 44px; max-width: 940px; }
.c-cover img { width: 100%; height: auto; border-radius: 18px; display: block; box-shadow: 0 30px 60px -28px rgba(45,50,57,.45); }

/* Body — book-like reading column */
.c-body { max-width: 680px; }
.c-body p { font-family: var(--font-serif, 'Newsreader', serif); font-size: 1.24rem; line-height: 1.72; color: #33383e; margin: 0 0 1.35em; text-wrap: pretty; }
.c-body h2 { font-family: var(--font-head, 'Cormorant Garamond', serif); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.15; color: #2d3239; margin: 1.8em 0 .5em; }
.c-body .c-list { margin: 0 0 1.4em; padding: 0; list-style: none; }
.c-body .c-list li { font-family: var(--font-serif, 'Newsreader', serif); font-size: 1.18rem; line-height: 1.6; color: #33383e; padding-left: 26px; position: relative; margin-bottom: .6em; }
.c-body .c-list li::before { content: ""; position: absolute; left: 4px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--green, #9dbe63); }
/* First paragraph lift */
.c-body > p:first-of-type { font-size: 1.36rem; color: #2d3239; }
.c-body > p:first-of-type::first-letter { font-family: var(--font-head, 'Cormorant Garamond', serif); font-size: 3.6rem; font-weight: 600; float: left; line-height: .82; padding: 6px 12px 0 0; color: var(--green-deep, #6f8a42); }

/* Chapter nav */
.c-chapter-nav { max-width: 680px; display: flex; justify-content: space-between; gap: 14px; margin: 50px auto 0; padding-top: 26px; border-top: 1px solid var(--line, #e3ddd0); }
.c-nav-btn { font-family: var(--font-body, 'Mulish', sans-serif); font-weight: 700; font-size: .98rem; color: var(--ink-soft, #555b62); text-decoration: none; padding: 10px 4px; }
.c-nav-btn:hover { color: var(--green-deep, #6f8a42); }
.c-nav-btn.next { margin-left: auto; text-align: right; }

/* Subscribe */
.c-subscribe { max-width: 680px; margin: 46px auto 0; background: var(--green-tint, #eef2e2); border: 1px solid #d6e0bf; border-radius: 20px; padding: 34px 36px; text-align: center; }
.c-subscribe h2 { font-family: var(--font-head, 'Cormorant Garamond', serif); font-weight: 600; font-size: 1.9rem; color: #2d3239; margin: 0 0 10px; }
.c-subscribe > p { font-family: var(--font-body, 'Mulish', sans-serif); font-size: 1.02rem; line-height: 1.6; color: #4a5560; max-width: 520px; margin: 0 auto 20px; }
.c-sub-form { display: flex; gap: 10px; max-width: 480px; margin: 0 auto; flex-wrap: wrap; justify-content: center; }
.c-sub-form input[type="email"] { flex: 1 1 220px; min-width: 200px; padding: 13px 16px; border-radius: 999px; border: 1px solid #c9d3b4; font-family: var(--font-body, 'Mulish', sans-serif); font-size: 1rem; background: #fff; color: #2d3239; }
.c-sub-form input[type="email"]:focus { outline: 2px solid var(--green, #9dbe63); outline-offset: 1px; }
.c-sub-form .btn { flex: 0 0 auto; }
.c-sub-note { font-family: var(--font-body, 'Mulish', sans-serif); font-size: .92rem; color: var(--ink-faint, #8b9097); margin: 16px 0 0; }
.c-sub-note a { color: var(--green-deep, #6f8a42); font-weight: 700; text-decoration: none; }
.c-sub-note a:hover { text-decoration: underline; }
.c-sub-ok { font-family: var(--font-body,'Mulish',sans-serif); font-size: 1.1rem; font-weight: 700; color: var(--green-deep,#6f8a42); }

/* ============ HUB PAGE ============ */
.c-hub-hero { position: relative; text-align: center; padding: 144px 0 46px; }
.c-hub-hero .kicker { font-family: var(--font-body,'Mulish',sans-serif); font-weight:800; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color: var(--green-deep,#6f8a42); }
.c-hub-hero h1 { font-family: var(--font-head,'Cormorant Garamond',serif); font-weight:600; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height:1.02; color:#2d3239; margin:14px auto 8px; max-width: 18ch; text-wrap: balance; }
.c-hub-hero .c-sub-title { font-family: var(--font-head,'Cormorant Garamond',serif); font-style: italic; font-weight:500; font-size: clamp(1.3rem,2.6vw,1.9rem); color: var(--accent,#c77b53); margin: 0 0 22px; }
.c-hub-hero .c-intro { font-family: var(--font-serif,'Newsreader',serif); font-size: 1.2rem; line-height:1.65; color:#4a5560; max-width: 620px; margin: 0 auto; text-wrap: pretty; }

.c-dedication { max-width: 620px; margin: 8px auto 0; text-align:center; font-family: var(--font-serif,'Newsreader',serif); font-style: italic; font-size:1.12rem; line-height:1.7; color:#6a7078; background: var(--bg-alt,#f2ede1); border-radius:18px; padding: 28px 34px; }

/* Front-matter & closing prose (Introduction / Encore / Invitation) */
.c-front { max-width: 660px; margin: 0 auto; }
.c-front .c-eyebrow { text-align:center; font-family: var(--font-body,'Mulish',sans-serif); font-weight:800; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color: var(--green-deep,#6f8a42); margin-bottom:10px; }
.c-front h2 { font-family: var(--font-head,'Cormorant Garamond',serif); font-weight:600; font-size: clamp(1.9rem,3.4vw,2.6rem); line-height:1.1; color:#2d3239; text-align:center; margin:0 0 22px; text-wrap:balance; }
.c-front p { font-family: var(--font-serif,'Newsreader',serif); font-size:1.2rem; line-height:1.72; color:#33383e; margin:0 0 1.2em; text-wrap:pretty; }
.c-front .c-sign { font-family:'Sacramento',cursive; font-size:2rem; color: var(--green-deep,#6f8a42); margin-top:.2em; }
.c-closing { background: var(--bg-alt,#f2ede1); }

.c-parts { display: grid; gap: 22px; max-width: 940px; margin: 0 auto; }
.c-part-card { display: grid; grid-template-columns: 300px 1fr; gap: 26px; background: #fff; border: 1px solid var(--line,#e3ddd0); border-radius: 18px; overflow: hidden; text-decoration: none; transition: box-shadow .18s, transform .18s; box-shadow: 0 8px 24px rgba(45,50,57,.05); }
.c-part-card:hover { box-shadow: 0 22px 44px -22px rgba(45,50,57,.4); transform: translateY(-2px); }
.c-part-card .c-part-img { position: relative; aspect-ratio: 16/10; }
.c-part-card .c-part-img img { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; }
.c-part-card .c-part-body { padding: 26px 30px 26px 0; align-self: center; }
.c-part-card .c-part-num { font-family: var(--font-body,'Mulish',sans-serif); font-weight:800; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color: var(--green-deep,#6f8a42); }
.c-part-card h3 { font-family: var(--font-head,'Cormorant Garamond',serif); font-weight:600; font-size: 1.72rem; line-height:1.12; color:#2d3239; margin:8px 0 8px; }
.c-part-card p { font-family: var(--font-body,'Mulish',sans-serif); font-size:1rem; line-height:1.55; color: var(--ink-soft,#555b62); margin:0 0 12px; }
.c-part-card .c-read { font-family: var(--font-body,'Mulish',sans-serif); font-weight:700; font-size:.95rem; color: var(--accent,#c77b53); }

.c-download { max-width: 940px; margin: 8px auto 0; background: #2d3239; border-radius: 22px; padding: 46px 44px; display:grid; grid-template-columns: 1.4fr 1fr; gap: 34px; align-items:center; }
.c-download h2 { font-family: var(--font-head,'Cormorant Garamond',serif); font-weight:600; font-size: clamp(1.9rem,3.4vw,2.6rem); line-height:1.08; color:#fff; margin:0 0 12px; }
.c-download p { font-family: var(--font-body,'Mulish',sans-serif); font-size:1.05rem; line-height:1.6; color:#c3c8bd; margin:0; }
.c-download .c-dl-form { display:flex; flex-direction:column; gap:12px; }
.c-download input[type="email"] { padding: 14px 18px; border-radius: 12px; border:1px solid #4b5158; background:#3a4149; color:#fff; font-family: var(--font-body,'Mulish',sans-serif); font-size:1rem; }
.c-download input[type="email"]::placeholder { color:#8b9299; }
.c-download input[type="email"]:focus { outline:2px solid var(--green,#9dbe63); }
.c-download .c-dl-note { font-size:.85rem; color:#8b9299; }
.c-download .c-dl-reveal { display:none; }
.c-download .c-dl-reveal.show { display:block; }
.c-download .btn-light { width:100%; justify-content:center; }

@media (max-width: 720px) {
  .c-part-card { grid-template-columns: 1fr; }
  .c-part-card .c-part-body { padding: 22px 24px 26px; }
  .c-download { grid-template-columns: 1fr; padding: 34px 26px; }
  .c-body > p:first-of-type::first-letter { font-size: 3rem; }
}
