

  :root{
    --cream:#FAF6EC;
    --cream-deep:#F1EADA;
    --card:#FFFEFA;
    --sage:#6E8064;
    --sage-deep:#46553F;
    --sage-pale:#C9D2BE;
    --ink:#3A372E;
    --ink-soft:#7C7866;
    --gold:#B6925A;
    --rule:rgba(70,85,63,0.25);
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; color-adjust:exact; }

  html{ -webkit-text-size-adjust:100%; background:var(--cream); }

  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'EB Garamond', Georgia, 'Times New Roman', serif;
    font-size:17px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
  }

  .page{
    position:relative;
    max-width:480px;
    margin:0 auto;
    padding:74px 34px 56px;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow:visible;
    page-break-after:always;
    break-after:page;
  }
  .page.last{ page-break-after:auto; break-after:auto; }

  .page::before{
    content:'';
    position:absolute;
    top:0; left:34px; right:34px;
    height:1px;
    background:linear-gradient(to right, transparent, var(--rule) 20%, var(--rule) 80%, transparent);
  }

  .content{ position:relative; z-index:1; }

  .ghost{
    position:absolute;
    top:6px; right:-2px;
    font-family:'Fraunces', Georgia, serif;
    font-weight:300;
    font-size:148px;
    color:var(--sage);
    opacity:0.07;
    line-height:1;
    z-index:0;
    pointer-events:none;
    user-select:none;
  }

  .icon{
    width:50px; height:50px;
    margin:0 auto 22px;
    color:var(--sage);
  }
  .icon svg{ width:100%; height:100%; }
  .icon svg *{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .eyebrow{
    text-align:center;
    font-family:'Jost', Futura, Helvetica, Arial, sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--sage);
    margin-bottom:16px;
  }

  .daymark{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 0 30px;
  }
  .daymark .line{ flex:0 0 26px; height:1px; background:var(--rule); }
  .daymark .num{
    font-family:'Jost', sans-serif;
    font-size:11px;
    font-weight:500;
    letter-spacing:.22em;
    color:var(--sage-deep);
  }

  h1.title{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    font-style:normal;
    font-size:clamp(27px,7vw,33px);
    line-height:1.28;
    color:var(--sage-deep);
    text-align:center;
    margin-bottom:34px;
    letter-spacing:.1px;
  }

  .read-label{
    text-align:center;
    font-family:'Jost', sans-serif;
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:8px;
  }
  .reference{
    text-align:center;
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-weight:400;
    font-size:18px;
    color:var(--sage);
    margin-bottom:8px;
  }

  .reference a, .cover-ref a{
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid rgba(110,128,100,.35);
    transition:all .2s ease;
  }

  .reference a:hover, .cover-ref a:hover{
    color:var(--sage-deep);
    border-bottom-color:var(--sage);
  }

  .reference a:active, .cover-ref a:active{
    opacity:.7;
  }

  blockquote.verse{
    position:relative;
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-weight:400;
    font-size:19px;
    line-height:1.62;
    color:var(--ink);
    text-align:center;
    padding:14px 16px 4px;
    margin:14px 0 6px;
  }
  blockquote.verse::before{
    content:'“';
    position:absolute;
    top:-22px; left:50%;
    transform:translateX(-50%);
    font-family:'Fraunces', serif;
    font-size:54px;
    color:var(--sage-pale);
    font-style:normal;
  }

  .flourish{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin:34px 0;
  }
  .flourish span{
    display:block;
    width:5px; height:5px;
    border-radius:50%;
    background:var(--sage-pale);
  }
  .flourish span:nth-child(2){
    width:6px; height:6px;
    background:var(--sage);
  }

  .section-label{
    font-family:'Jost', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--sage);
    margin-bottom:15px;
  }

  .reflection p{
    font-size:17px;
    color:var(--ink);
    margin-bottom:15px;
  }
  .reflection p:last-child{ margin-bottom:0; }

  .questions{
    background:var(--cream-deep);
    border-left:3px solid var(--sage);
    padding:24px 22px 22px;
    margin:30px 0 32px;
  }
  .questions .section-label{ color:var(--sage-deep); margin-bottom:14px; }
  .questions ul{ list-style:none; }
  .questions li{
    position:relative;
    padding-left:20px;
    margin-bottom:13px;
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-size:16px;
    line-height:1.55;
    color:var(--ink);
  }
  .questions li::before{
    content:'';
    position:absolute;
    left:0; top:8px;
    width:6px; height:6px;
    border-radius:50%;
    background:var(--sage);
    opacity:.65;
  }
  .questions li:last-child{ margin-bottom:0; }

  .prayer{ text-align:center; }
  .prayer .section-label{ text-align:center; color:var(--gold); }
  .prayer p{
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-size:16.5px;
    line-height:1.72;
    color:var(--sage-deep);
    margin-bottom:11px;
  }
  .prayer p:last-of-type{ margin-bottom:0; }
  .amen{
    margin-top:18px;
    font-family:'Jost', sans-serif;
    font-size:12px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--gold);
  }

  .foot{
    margin-top:42px;
    text-align:center;
  }
  .foot .rule{ width:36px; height:1px; background:var(--rule); margin:0 auto 12px; }
  .foot span{
    font-family:'Jost', sans-serif;
    font-size:10px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }

  /* ---------- COVER ---------- */
  .cover{ text-align:center; align-items:center; }
  .cover .top-flourish{
    display:flex; align-items:center; justify-content:center;
    gap:12px; margin-bottom:46px;
  }
  .cover .top-flourish .line{ width:48px; height:1px; background:var(--rule); }
  .cover .top-flourish .dot{ width:5px; height:5px; border-radius:50%; background:var(--sage); }

  .cover-eyebrow{
    font-family:'Jost', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--sage);
    margin-bottom:18px;
  }
  .cover-title{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    font-size:clamp(40px,11vw,52px);
    color:var(--sage-deep);
    line-height:1.1;
    margin-bottom:22px;
  }
  .cover-rule{
    width:64px; height:1px;
    background:var(--sage);
    margin:0 auto 40px;
  }
  .cover .icon{ width:62px; height:62px; margin-bottom:42px; }

  .cover-verse{
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-size:19px;
    line-height:1.6;
    color:var(--ink);
    max-width:340px;
    margin:0 auto 14px;
  }
  .cover-ref{
    font-family:'Jost', sans-serif;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }

  .cover .bottom-flourish{
    display:flex; align-items:center; justify-content:center;
    gap:12px; margin-top:54px;
  }
  .cover .bottom-flourish .line{ width:48px; height:1px; background:var(--rule); }
  .cover .bottom-flourish .dot{ width:5px; height:5px; border-radius:50%; background:var(--sage); }



  /* ---------- MULTI-PAGE NAVIGATION ---------- */
  html{ scroll-behavior:smooth; }
  .cover{ justify-content:center; }
  .note{ justify-content:flex-start; }
  .day{ justify-content:flex-start; }
  .nav-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:38px;
  }
  .nav-actions.center{ justify-content:center; }
  .nav-link, .toc-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-family:'Jost', sans-serif;
    font-size:11px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--sage-deep);
    text-decoration:none;
    border:1px solid var(--rule);
    border-radius:999px;
    padding:11px 15px;
    background:rgba(255,254,250,.42);
    transition:all .2s ease;
    min-height:42px;
  }
  .nav-link:hover, .toc-link:hover{
    border-color:var(--sage);
    background:var(--cream-deep);
  }
  .nav-link:active, .toc-link:active{ opacity:.72; }
  .toc{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:34px auto 0;
    max-width:340px;
  }
  .toc-link{
    width:100%;
    justify-content:space-between;
    text-align:left;
    letter-spacing:.12em;
    padding:13px 16px;
  }
  .toc-link span:first-child{ color:var(--ink-soft); }
  .toc-link span:last-child{ color:var(--sage-deep); }
  .site-note{
    text-align:center;
    font-family:'Fraunces', Georgia, serif;
    font-style:italic;
    font-size:16px;
    line-height:1.65;
    color:var(--ink-soft);
    margin:28px auto 0;
    max-width:320px;
  }
  @media (max-width:380px){
    .page{ padding-left:26px; padding-right:26px; }
    .nav-actions{ flex-direction:column; }
    .nav-link{ width:100%; }
  }

  /* ---------- PRINT ---------- */
  @media print{
    .page{ min-height:auto; }
    body{ background:var(--cream); }
  }
  @page{ margin:0.35in; }

