/* Assembly of the Unbegotten - offline, no external fonts */
:root{
  --ink:#14110d; --ink2:#1d1813; --panel:#221c16; --line:#3a3026;
  --parch:#e9dfc9; --parch-dim:#c9bca2; --muted:#9d8f77;
  --gold:#c9a05a; --ember:#d9763a;
  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Times New Roman", serif;
  --measure: 40rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--parch);font-family:var(--serif);font-size:1.125rem;line-height:1.75;
  background-image:radial-gradient(ellipse at top, #241d16 0%, var(--ink) 60%);background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover,a:focus{color:#e6c07c}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.site-header{position:sticky;top:0;z-index:5;background:rgba(20,17,13,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.bar{max-width:72rem;margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--parch);text-decoration:none;font-size:1.05rem;letter-spacing:.04em}
.brand img{border-radius:50%;border:1px solid var(--line)}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.4rem}
.site-nav a{color:var(--parch-dim);text-decoration:none;font-size:.98rem;letter-spacing:.03em;padding:.3rem 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a:focus{color:var(--parch);border-bottom-color:var(--gold)}
.site-nav a[aria-current="page"]{color:var(--gold);border-bottom-color:var(--gold)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;width:44px;height:44px;cursor:pointer;padding:0;position:relative}
.burger,.burger::before,.burger::after{position:absolute;left:11px;width:20px;height:2px;background:var(--parch);content:""}
.burger{top:21px}.burger::before{top:-6px;left:0}.burger::after{top:6px;left:0}
.menu-toggle[aria-expanded="true"] .burger{background:transparent}
.menu-toggle[aria-expanded="true"] .burger::before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .burger::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width: 760px){
  .bar{flex-wrap:wrap}
  .brand span{font-size:.98rem}
  .js .menu-toggle{display:block}
  .site-nav{width:100%}
  .js .site-nav{display:none}
  .js .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0;padding:.25rem 0 .5rem}
  .site-nav li{border-top:1px solid var(--line)}
  .site-nav a{display:block;padding:.75rem .25rem;border-bottom:0}
}

/* hero */
.hero{position:relative;max-width:60rem;margin:0 auto;overflow:hidden}
.hero img{width:100%;aspect-ratio:960/524;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--ink) 0%,rgba(20,17,13,0) 14%,rgba(20,17,13,0) 86%,var(--ink) 100%),linear-gradient(to bottom,rgba(20,17,13,0) 55%,var(--ink) 100%)}
.hero-text{z-index:1;position:absolute;left:0;right:0;bottom:0;text-align:center;padding:0 1rem 1.25rem}
.hero h1{margin:0;font-weight:normal;font-size:clamp(1.7rem,5vw,3.2rem);letter-spacing:.06em;color:var(--parch);text-shadow:0 2px 12px rgba(0,0,0,.9)}

/* prose */
.prose{max-width:var(--measure);margin:0 auto;padding:2.5rem 1.25rem}
.prose h1{font-weight:normal;font-size:clamp(2rem,6vw,2.8rem);line-height:1.2;margin:.2em 0 .3em;letter-spacing:.02em}
.prose h2{font-weight:normal;font-size:1.5rem;color:var(--gold);margin:2.2rem 0 .6rem;letter-spacing:.03em;border-bottom:1px solid var(--line);padding-bottom:.3rem}
.prose p{margin:0 0 1.15em}
/* vision statement */
.vision > p:first-of-type{font-size:1.2rem}
.vision .creed{margin:1.6rem 0 1.8rem;padding:1.1rem 1.25rem;border-left:2px solid var(--gold);background:var(--panel);border-radius:0 8px 8px 0}
.vision .creed p{margin:0 0 .35em;font-style:italic;color:var(--parch)}
.vision .creed p:last-child{margin-bottom:0}
.vision .motto{text-align:center;font-size:1.3rem;color:var(--gold);font-style:italic;margin:2rem 0 1.6rem;letter-spacing:.02em}
.vision .motto::before,.vision .motto::after{content:"✠";display:block;font-style:normal;font-size:1rem;opacity:.7;margin:.3rem 0}
.prose h2.caps{font-size:1.05rem;letter-spacing:.16em;margin-top:2.4rem}
.tenets{list-style:none;margin:0 0 1.2em;padding:0}
.tenets li{position:relative;padding-left:1.5rem;margin:0 0 .7em}
.tenets li::before{content:"✠";position:absolute;left:0;top:.05em;color:var(--gold);opacity:.75;font-size:.85em}
.vision .signature{text-align:right;font-style:italic;color:var(--parch-dim);margin-top:2.2rem}
.vis-more{margin-top:1.4rem}
@media (max-width:480px){
  .vision .creed{padding:.9rem 1rem}
  .vision .motto{font-size:1.18rem}
  .prose h2.caps{font-size:1rem;letter-spacing:.12em}
}
.eyebrow{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;margin:0 !important}
.eyebrow a{color:var(--muted);text-decoration:none}
.byline{color:var(--muted);font-style:italic;margin-top:0}
.ornament{text-align:center;color:var(--gold);opacity:.7;margin:1.6rem 0;font-size:1.3rem}
.writing p{text-align:left;hyphens:auto}
.writing p.beatitude{font-style:italic;color:var(--gold);font-size:1.22rem;margin-top:2rem;margin-bottom:.5em}
.writing p.closing{text-align:center;font-style:italic;margin:.2em 0}
.writing p.closing:first-of-type{margin-top:2rem}
.writing p.signature{text-align:right;font-style:italic;color:var(--parch-dim);margin-top:2rem}
.pager{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1rem;font-size:1rem}

/* cards */
.cards{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:1rem}
.cards a{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.25rem;color:var(--parch);transition:border-color .2s}
.cards a:hover,.cards a:focus{border-color:var(--gold)}
.card-title{display:block;font-size:1.3rem;color:var(--gold);margin-bottom:.3rem}
.card-excerpt{display:block;color:var(--parch-dim);font-size:1rem;line-height:1.6}
.more{white-space:nowrap}

/* film */
.film .lead{font-size:1.25rem;color:var(--parch-dim)}
.video-frame{aspect-ratio:16/9;width:100%;border:1px dashed var(--line);border-radius:8px;background:var(--ink2);display:flex;align-items:center;justify-content:center;color:var(--gold);opacity:.6;font-size:2rem;margin-top:1.5rem}
.film video{width:100%;border-radius:8px;margin-top:1.5rem}

/* donations / buttons */
.give{margin:2rem 0 1.75rem;text-align:center}
.btn{display:inline-block;background:var(--panel);color:var(--gold);border:1px solid var(--gold);border-radius:8px;padding:.85rem 1.8rem;font-size:1.15rem;letter-spacing:.04em;text-decoration:none;transition:background .2s,color .2s}
.btn:hover,.btn:focus{background:var(--gold);color:var(--ink)}
.btn:focus-visible{outline:2px solid var(--parch);outline-offset:3px}
.note{color:var(--muted)}
.give .note{margin-top:.75rem}

/* footer */
.site-footer{border-top:1px solid var(--line);text-align:center;padding:1.5rem 1rem 2rem;color:var(--muted);font-size:.95rem}
.site-footer p{margin:.2rem 0}
.small{font-size:.9rem}

@media (max-width: 480px){
  body{font-size:1.06rem;line-height:1.7}
  .prose{padding:1.75rem 1.1rem}
}
@media print{
  .site-header,.site-footer,.pager{display:none}
  body{background:#fff;color:#000}
}
