/* Shared styles for the reading pages (/about, /letters, each letter).
   Same "printed book" tokens as /letter: paper, ink, one serif, hairlines, no accent hue. */
:root{
  --paper:#ffffff; --panel:#f7f7f5; --hairline:#e5e4e0; --hairline-strong:#cfcec9;
  --ink:#0b0b0b; --ink-body:#23231f; --ink-meta:#6e6e68; --ink-hover:#2b2b27;
  --sahih:#2e6b3e;
  --serif:"Newsreader", Georgia, serif;
  --sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"Geist Mono", ui-monospace, Menlo, monospace;
  --arabic:"Amiri", "Times New Roman", serif;
  --gutter:20px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-body);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
b,strong{font-weight:500;color:var(--ink)}
.wrap{max-width:680px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}

/* header + menu */
header{border-bottom:1px solid var(--hairline)}
header .wrap{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.wordmark{display:block;line-height:0;margin-left:-4px}
.wordmark img{display:block;height:40px;width:auto}
nav{display:flex;align-items:center;gap:18px;font:500 15px var(--sans)}
nav a{text-decoration:none;color:var(--ink-meta)}
nav a:hover,nav a[aria-current="page"]{color:var(--ink)}
nav a.join{color:var(--paper);background:var(--ink);padding:8px 14px;border-radius:6px}
nav a.join:hover{background:var(--ink-hover)}

/* page heads */
main{padding:56px 0 72px}
.eyebrow{font:500 12px/1 var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--ink-meta);margin:0 0 16px}
h1{font:500 48px/1.08 var(--serif);letter-spacing:-.3px;color:var(--ink);margin:0 0 16px;text-wrap:balance}
.lede{font-size:20px;line-height:1.5;color:var(--ink);margin:0;max-width:34ch}
h2{font:500 26px/1.25 var(--serif);color:var(--ink);margin:48px 0 12px;padding-top:32px;border-top:1px solid var(--hairline);text-wrap:balance}
h3{font:500 19px/1.35 var(--serif);color:var(--ink);margin:0}
p{margin:0 0 14px;max-width:62ch}
ul,ol{margin:0 0 14px;padding-left:22px;max-width:62ch}
li{margin:0 0 8px}
.meta{font-size:14px;color:var(--ink-meta)}

/* citation line + grade */
.cite{font:400 13px/1.6 var(--mono);color:var(--ink-meta);margin:10px 0 0}
.cite .g{color:var(--sahih)}
.weak{color:var(--ink);font-weight:500}

/* du'ā card */
.dua{background:var(--panel);border:1px solid var(--hairline);border-radius:8px;padding:26px 22px 20px;margin:22px 0;text-align:center}
.dua .ar{font:400 34px/1.95 var(--arabic);color:var(--ink);direction:rtl;margin:0 0 6px;max-width:none}
.dua .tr{font:italic 400 17px/1.5 var(--serif);color:var(--ink-body);margin:0 0 10px;max-width:none}
.dua .en{font:400 19px/1.5 var(--serif);color:var(--ink);margin:0 auto;max-width:40ch}
.saw{font-family:var(--arabic);font-size:1.1em;line-height:1}

/* letter cover image (1200x630). Hidden automatically if the file is missing (onerror). */
.cover{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:8px;border:1px solid var(--hairline);background:var(--panel);margin:0 0 28px}

/* notes, quotes, steps */
.note{background:var(--panel);border-left:2px solid var(--ink);padding:12px 16px;font-size:15.5px;margin:14px 0}
.note p{margin:0}
.pull{font:italic 400 19px/1.5 var(--serif);color:var(--ink);margin:0 0 4px}
.step{margin:26px 0 0}
.step h3{font:500 18px/1.4 var(--sans);margin:0 0 6px}

/* call to join */
.cta{margin-top:48px;padding:24px;background:var(--panel);border:1px solid var(--hairline);border-radius:8px}
.cta h3{margin:0 0 6px}
.cta p{margin:0 0 16px}
.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font:500 16px var(--sans);padding:13px 20px;border-radius:6px}
.btn:hover{background:var(--ink-hover)}

footer{border-top:1px solid var(--hairline);padding:28px 0 max(40px,env(safe-area-inset-bottom));font-size:14px;color:var(--ink-meta)}
footer p{margin:0 0 6px}
footer a{color:var(--ink-meta)}

@media (max-width:640px){
  main{padding:40px 0 52px}
  h1{font-size:38px}
  .lede{font-size:18px}
  h2{font-size:23px;margin-top:40px;padding-top:26px}
  .dua .ar{font-size:28px}
  nav{gap:14px;font-size:14.5px}
}
@media (max-width:380px){
  nav a:not(.join){display:none}
}
