/* ============================================================
   My Chapter Ahead — lean site stylesheet (Layer 1 reusable)
   Tokens injected from site.yaml by build.py. Do not edit values here.
   ============================================================ */
:root{
  --cream:#FAF7F2;
  --ink:#2B2622;
  --terracotta:#B85C38;
  --sage:#4A7C73;
  --sand:#E8E0D4;
  --deep:#3E3A35;
  --font-headings:Lora, Georgia, serif;
  --font-body:Lora, Georgia, serif;
  --font-ui:system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--cream);color:var(--ink);
  font-family:var(--font-body);font-weight:400;line-height:1.65;
  font-size:1.05rem;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--terracotta);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--ink)}

/* layout */
.container{max-width:68rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:42rem}

/* header */
.site-header{border-bottom:1px solid var(--sand);background:var(--cream)}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-headings);font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none}
.brand-mark{width:1.4rem;height:1.9rem;flex:none}
.site-nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.site-nav a{color:var(--ink);text-decoration:none;font-family:var(--font-ui);font-size:.9rem;letter-spacing:.02em}
.site-nav a:hover{color:var(--terracotta)}
.page-title{font-family:var(--font-headings);font-weight:700;font-size:2.5rem;line-height:1.15;margin:2.5rem 0 1rem}
.subtitle{font-size:1.2rem;color:var(--deep);max-width:36rem}

/* hero (home) */
.hero{padding:4.5rem 0 3.5rem}
.hero .kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--sage);margin-bottom:1.1rem}
.hero h1{font-family:var(--font-headings);font-weight:700;font-size:3rem;line-height:1.12;max-width:34rem;margin-bottom:1.25rem}
.hero .promise{font-size:1.3rem;line-height:1.5;max-width:36rem;color:var(--deep);margin-bottom:1.75rem}
.hero .promise em{font-style:normal;color:var(--terracotta)}

/* buttons */
.btn{display:inline-block;background:var(--terracotta);color:var(--cream);text-decoration:none;font-family:var(--font-ui);font-weight:600;padding:.8rem 1.5rem;border-radius:.4rem;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn-secondary{background:transparent;color:var(--terracotta);border:2px solid var(--terracotta)}
.btn-secondary:hover{background:var(--terracotta);color:var(--cream)}

/* sections */
.section{padding:2.5rem 0}
.section h2{font-family:var(--font-headings);font-weight:700;font-size:1.8rem;margin-bottom:1rem}
.card{background:var(--sand);border-radius:.6rem;padding:1.5rem 1.75rem}
.save-card{background:var(--sand);border-left:4px solid var(--terracotta);padding:1.25rem 1.5rem;margin:2rem 0;font-size:1.15rem;font-style:italic}

/* article index */
.article-list{list-style:none}
.article-list li{padding:1.4rem 0;border-bottom:1px solid var(--sand)}
.article-list li:last-child{border-bottom:0}
.article-list .type{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--sage)}
.article-list a{font-family:var(--font-headings);font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none;line-height:1.3;display:block;margin:.3rem 0 .4rem}
.article-list a:hover{color:var(--terracotta)}
.article-list .desc{color:var(--deep);font-size:.98rem}

/* article body */
.article-body{margin:2.5rem 0 3rem}
.article-body h2{font-family:var(--font-headings);font-weight:700;font-size:1.7rem;margin:2.5rem 0 .9rem;line-height:1.25}
.article-body h3{font-family:var(--font-headings);font-weight:700;font-size:1.25rem;margin:1.8rem 0 .7rem}
.article-body p{margin-bottom:1.15rem}
.article-body ul,.article-body ol{margin:0 0 1.15rem 1.4rem}
.article-body li{margin-bottom:.5rem}
.article-body blockquote{border-left:4px solid var(--sage);padding:.2rem 0 .2rem 1.2rem;color:var(--deep);font-style:italic;margin:1.5rem 0}
.article-body .note{background:var(--sand);border-radius:.5rem;padding:1rem 1.25rem;font-size:.95rem;margin:1.5rem 0}
.byline{font-family:var(--font-ui);font-size:.85rem;color:var(--deep);margin-top:1rem}
.meta{font-family:var(--font-ui);font-size:.8rem;color:var(--sage);text-transform:uppercase;letter-spacing:.1em}

/* lead magnet landing */
.landing-hero{text-align:left;padding:4rem 0 3rem}
.landing-hero .kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--sage);margin-bottom:1.1rem}
.landing-hero h1{font-family:var(--font-headings);font-weight:700;font-size:2.6rem;line-height:1.15;max-width:32rem;margin-bottom:1.25rem}
.form-box{background:var(--sand);border-radius:.6rem;padding:1.75rem;margin-top:1.5rem}
.form-box input[type=email]{width:100%;padding:.85rem 1rem;font-size:1rem;border:1px solid var(--deep);border-radius:.4rem;background:var(--cream);margin-bottom:.8rem;font-family:var(--font-body)}
.form-box .btn{width:100%}
.form-note{font-size:.8rem;color:var(--deep);margin-top:.7rem}

/* about / generic */
.prose p{margin-bottom:1.1rem}

/* footer */
.site-footer{background:var(--deep);color:var(--cream);margin-top:4rem}
.footer-inner{padding:2.5rem 0;display:flex;flex-direction:column;gap:1.25rem}
.footer-inner a{color:var(--cream)}
.footer-inner .crisis{background:rgba(255,255,255,.08);border-radius:.5rem;padding:.9rem 1.1rem;font-size:.88rem;line-height:1.5}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;font-family:var(--font-ui);font-size:.88rem}
.footer-copy{font-size:.8rem;opacity:.75}

/* 404 */
.error-code{font-family:var(--font-headings);font-weight:700;font-size:4rem;color:var(--terracotta)}

@media (max-width:600px){
  .hero h1{font-size:2.2rem}
  .page-title{font-size:2rem}
  .landing-hero h1{font-size:2rem}
  .brand-row{flex-direction:column;align-items:flex-start}
}
