/* Theologia Ritualis independent study program: its own header and footer, laid out like a course landing page, in the site's original look
   (black grainy hero, condensed uppercase headings, black-bordered cards, black buttons). Loaded only by the /course/ pages; every selector starts with .ac or .cu. */

@font-face { font-family: "Libre Caslon Condensed"; src: url("assets/fonts/LibreCaslonCondensed.ttf") format("truetype"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("assets/fonts/BarlowSemiCondensed-Medium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("assets/fonts/BarlowSemiCondensed-SemiBold.ttf") format("truetype"); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: "EB Garamond Roman"; src: url("assets/fonts/EBGaramond-Roman.ttf") format("truetype"); font-weight: 400 800; font-style: normal; font-display: swap; }
@font-face { font-family: "EB Garamond Roman"; src: url("assets/fonts/EBGaramond-Italic.ttf") format("truetype"); font-weight: 400 800; font-style: italic; font-display: swap; }

body.ac {
  --ink: #17160f; --black: #0b0b0a; --red: #b3121f; --gold: #e0b24a; --grey: #5c5c55; --line: #d5d3ca; --soft: #f4f3ee; --paper: #fff; --bone: #efeae2;
  --ui: "Barlow Semi Condensed", "Arial Narrow", Arial, sans-serif;
  --head: "Libre Caslon Condensed", Georgia, serif;
  --read: "EB Garamond Roman", "EB Garamond", Georgia, serif;
  margin: 0; background: var(--paper); color: var(--ink); font-family: var(--read); font-size: 1.1875rem; line-height: 1.6; -webkit-font-smoothing: antialiased;
}
body.ac *, body.ac *::before, body.ac *::after { box-sizing: border-box; }
body.ac a { color: inherit; }
body.ac img { max-width: 100%; display: block; }
.ac-wrap { width: min(100% - 2 * clamp(20px, 6vw, 96px), 76rem); margin-inline: auto; }
.ac-skip { position: absolute; left: -999px; }
.ac-skip:focus { left: 12px; top: 12px; z-index: 99; background: #fff; padding: 8px 12px; }

/* ---------- header: the site's medallion and translucent pill, with the program's own links ---------- */
.ac-head { background: var(--black); position: sticky; top: 0; z-index: 30; }
.ac-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 84px; }
.ac-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; }
.ac-brand img { width: 58px; height: 58px; padding: 6px; border-radius: 50%; background: var(--bone); object-fit: contain; }
.ac-brand b { display: block; font-family: var(--head); font-weight: 700; font-size: 1.3rem; line-height: 1; letter-spacing: .03em; text-transform: uppercase; }
.ac-brand span { display: block; margin-top: 5px; font-family: var(--ui); font-weight: 600; font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(239, 234, 226, .7); }
.ac-nav ul { list-style: none; margin: 0; padding: 5px 10px; display: flex; align-items: center; gap: clamp(8px, 1.3vw, 20px); background: rgba(210, 210, 206, .86); border-radius: 999px; }
.ac-nav a { display: block; padding: 9px 5px; white-space: nowrap; font-family: var(--head); font-weight: 400; font-size: .92rem; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; color: var(--ink); }
.ac-nav a:hover, .ac-nav a:focus-visible { color: var(--gold); outline: none; }
.ac-nav a[aria-current="page"] { color: var(--red); }
.ac-nav .ac-main { padding: 9px 16px; border-radius: 999px; background: var(--ink); color: #fff; }
.ac-nav .ac-main:hover, .ac-nav .ac-main:focus-visible { background: var(--red); color: #fff; }
.ac-menu { display: none; font-family: var(--head); font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; background: rgba(210, 210, 206, .86); border: 0; border-radius: 999px; padding: 11px 20px; cursor: pointer; color: var(--ink); }

/* ---------- hero: black, grainy, two columns ---------- */
.ac-hero { position: relative; overflow: hidden; background: var(--black); color: #fff; padding: clamp(36px, 7vh, 84px) 0 clamp(48px, 9vh, 100px); }
.ac-hero > .e-grain { position: absolute; inset: 0; z-index: 0; opacity: .9; pointer-events: none; overflow: hidden; }
.ac-hero > .e-grain svg { width: 100%; height: 100%; }
.ac-hero .ac-wrap { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.ac-hero.ac-solo .ac-wrap { grid-template-columns: minmax(0, 54rem); }
.e-eyebrow { margin: 0 0 16px; font-family: var(--ui); font-weight: 700; font-size: .75rem; letter-spacing: .22em; text-transform: uppercase; color: var(--bone); }
.ac-hero h1 { margin: 0 0 18px; font-family: var(--head); font-weight: 700; font-size: clamp(2.5rem, 5.6vw, 4.8rem); line-height: 1.02; letter-spacing: -.005em; text-transform: uppercase; color: #fff; text-shadow: none; }
.e-sub { margin: 0 0 26px; max-width: 32em; font-family: var(--ui); font-weight: 600; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.5; color: rgba(255, 255, 255, .86); }
.ac-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.ac-btn { display: inline-block; padding: 15px 24px; background: var(--ink); color: #fff !important; border: 2px solid var(--ink); border-radius: 0; font-family: var(--ui); font-weight: 700; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.ac-btn:hover, .ac-btn:focus-visible { background: #fff; color: var(--ink) !important; outline: none; }
.ac-btn.alt { background: transparent; color: var(--ink) !important; }
.ac-btn.alt:hover, .ac-btn.alt:focus-visible { background: var(--ink); color: #fff !important; }
.ac-hero .ac-btn { background: #fff; color: var(--ink) !important; border-color: #fff; }
.ac-hero .ac-btn:hover, .ac-hero .ac-btn:focus-visible { background: var(--gold); border-color: var(--gold); }
.ac-hero .ac-btn.alt { background: transparent; color: #fff !important; border-color: #fff; }
.ac-hero .ac-btn.alt:hover, .ac-hero .ac-btn.alt:focus-visible { background: #fff; color: var(--ink) !important; }
.ac-chips { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; list-style: none; }
.ac-chips li { padding: 6px 12px; border: 1px solid rgba(255, 255, 255, .5); font-family: var(--ui); font-weight: 600; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; }
.ac-hero .ac-meta { color: rgba(255, 255, 255, .7); }
.ac-photo { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #222; }
.ac-photo img { width: 100%; height: 100%; object-fit: cover; }
/* a still film grain laid over the photograph itself (the animated grain sits on the black behind it) */
.ac-photo::after { content: ""; position: absolute; inset: 0; opacity: .5; mix-blend-mode: multiply; pointer-events: none; background-size: 220px 220px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.4 -.35'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }

/* ---------- sections ---------- */
.ac-sec { padding: clamp(40px, 7vh, 84px) 0; }
.ac-sec.ac-soft { background: var(--soft); }
.ac-h2 { margin: 0 0 .6em; font-family: var(--head); font-weight: 400; font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.06; letter-spacing: -.005em; text-transform: none; scroll-margin-top: 150px; }
.ac-h2.ac-center { text-align: center; margin-inline: auto; }
.ac-h3 { margin: 1.8em 0 .5em; font-family: var(--ui); font-weight: 700; font-size: .8125rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.ac-sec p { max-width: 46em; margin: 0 0 1.05em; }
.ac-list { margin: 0 0 1.2em; padding: 0 0 0 1.25em; max-width: 46em; }
.ac-list li { margin: 0 0 .5em; }
.ac-num { list-style: decimal; }
.ac-note { margin: 1.2em 0 0; padding: 12px 16px; max-width: 46em; border-left: 3px solid var(--ink); background: var(--soft); font-size: .95em; }
.ac-soft .ac-note { background: #fff; }
.ac-meta { margin: 6px 0 0; font-family: var(--ui); font-weight: 600; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); }

/* tabs: a black bar */
.ac-tabs { background: var(--ink); position: sticky; top: 84px; z-index: 20; }
.ac-tabs ul { list-style: none; margin: 0 auto; padding: 0; width: min(100% - 2 * clamp(20px, 6vw, 96px), 76rem); display: flex; gap: clamp(14px, 2.4vw, 32px); overflow-x: auto; }
.ac-tabs a { display: inline-block; padding: 14px 0; font-family: var(--ui); font-weight: 600; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; white-space: nowrap; color: rgba(239, 234, 226, .75); border-bottom: 2px solid transparent; }
.ac-tabs a:hover, .ac-tabs a:focus-visible { color: #fff; border-bottom-color: var(--gold); outline: none; }

/* ---------- cards ---------- */
.ac-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ac-grid.ac-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-card { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 24px 22px; background: #fff; border: 2px solid var(--ink); text-decoration: none; color: var(--ink); }
a.ac-card:hover, a.ac-card:focus-visible { background: var(--ink); color: #fff; outline: none; }
a.ac-card:hover p, a.ac-card:hover .ac-meta, a.ac-card:hover .ac-no, a.ac-card:focus-visible p, a.ac-card:focus-visible .ac-meta, a.ac-card:focus-visible .ac-no { color: rgba(255, 255, 255, .85); }
.ac-card b { font-family: var(--head); font-weight: 700; font-size: 1.55rem; line-height: 1.08; text-transform: uppercase; }
.ac-card p { margin: 0; max-width: none; font-size: 1.0625rem; line-height: 1.5; color: var(--grey); }
.ac-card .ac-meta { margin-top: auto; padding-top: 8px; }
.ac-learn .ac-card { align-items: center; text-align: center; border: 0; background: transparent; padding: 18px 12px; }
.ac-learn .ac-card b { font-size: 1.35rem; }
.ac-learn .ac-card svg { width: 44px; height: 44px; color: var(--ink); }
.ac-no { display: inline-block; font-family: var(--head); font-weight: 400; font-size: 2.6rem; line-height: 1; color: var(--ink); }
.ac-badge { display: inline-block; margin-left: .5em; padding: 2px 8px; border: 1.5px solid currentColor; font-family: var(--ui); font-weight: 700; font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.3; vertical-align: middle; }
.cu-published { background: var(--ink); color: #fff; border-color: var(--ink); }
.cu-progress { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.cu-structured, .cu-planned { color: var(--grey); }
.cu-planned { border-style: dotted; }
.ac-div { margin: 0 0 clamp(32px, 6vh, 64px); }
.ac-div > h3 { margin: 0 0 .2em; font-family: var(--head); font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.1; }
.ac-div > h3 a { text-decoration: none; }
.ac-div > h3 a:hover { color: var(--red); }
.ac-div > p { margin: 0 0 1em; max-width: 46em; color: var(--grey); }

/* ---------- course page ---------- */
.ac-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: clamp(24px, 4vw, 64px); align-items: start; }
.ac-aside { padding: 22px; background: #fff; border: 2px solid var(--ink); }
.ac-aside dl { margin: 0; }
.ac-aside dt { margin-top: 14px; font-family: var(--ui); font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.ac-aside dt:first-child { margin-top: 0; }
.ac-aside dd { margin: 3px 0 0; font-size: 1.0625rem; }
.cu-mod { margin: 0 0 10px; background: #fff; border: 2px solid var(--ink); }
.cu-mod summary { padding: 16px 20px; cursor: pointer; font-family: var(--head); font-weight: 700; font-size: 1.3rem; line-height: 1.2; text-transform: uppercase; }
.cu-mod summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -4px; }
.cu-mn { display: inline-block; min-width: 6em; font-family: var(--ui); font-weight: 700; font-size: .75rem; letter-spacing: .16em; color: var(--grey); }
.cu-mod > :not(summary) { margin-left: 20px; margin-right: 20px; }
.cu-mod > p { margin-top: 0; color: var(--grey); }
.cu-mod h4 { margin: 1.1em 20px .4em; font-family: var(--ui); font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.cu-lessons { list-style: none; margin: 0 20px 16px; padding: 0; }
.cu-lessons li { padding: 7px 0; border-bottom: 1px solid var(--line); }
.cu-lessons a { text-decoration: underline; text-underline-offset: 3px; }
.cu-reads { list-style: none; margin: 0 0 1em; padding: 0; max-width: 50em; }
.cu-read { padding: 16px 0; border-bottom: 1px solid var(--line); }
.cu-read p { margin: 6px 0 0; }
.cu-how { font-size: .95em; color: var(--grey); }
.cu-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; font-family: var(--ui); font-weight: 600; font-size: .9375rem; }
.cu-links a { text-underline-offset: 3px; }
.cu-links a:hover, .cu-links a:focus-visible { color: var(--red); }
.cu-assign { max-width: 50em; }
.cu-assign dl { margin: 0; }
.cu-assign dt { margin: 1.5em 0 .4em; font-family: var(--ui); font-weight: 700; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.cu-assign dd { margin: 0; }
.cu-q { max-width: 50em; margin: 0 0 8px; background: #fff; border: 2px solid var(--ink); }
.cu-q summary { padding: 14px 18px; cursor: pointer; font-family: var(--ui); font-weight: 600; font-size: 1.0625rem; }
.cu-q summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -4px; }
.cu-q p { margin: 0; padding: 0 18px 16px; }
.cu-ref { color: inherit; text-decoration: underline; text-decoration-color: rgba(23, 22, 15, .35); text-underline-offset: 3px; }
.cu-ref:hover, .cu-ref:focus-visible { text-decoration-color: var(--red); outline: none; }
.cu-table { border-collapse: collapse; margin: 0 0 1em; max-width: 46em; width: 100%; background: #fff; }
.cu-table th, .cu-table td { padding: 10px 14px; text-align: left; border: 1.5px solid var(--ink); vertical-align: top; }
.cu-table th { background: var(--ink); color: #fff; font-family: var(--ui); font-weight: 600; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.cu-copy { max-width: 50em; margin: 0 0 1.4em; padding: 18px 20px; overflow-x: auto; background: #fff; border: 2px solid var(--ink); font-family: "Courier Prime", "Courier New", monospace; font-size: .9rem; line-height: 1.55; white-space: pre-wrap; user-select: all; }

/* ---------- lessons (reading pages) ---------- */
.ac-lesson-wrap { display: grid; grid-template-columns: 17rem minmax(0, 42rem); gap: clamp(24px, 4vw, 64px); justify-content: center; padding: clamp(28px, 5vh, 56px) 0 clamp(40px, 8vh, 96px); }
.ac-side { align-self: start; position: sticky; top: 108px; font-family: var(--ui); }
.ac-side h2 { margin: 0 0 10px; font-weight: 700; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.ac-side ol { list-style: none; margin: 0 0 18px; padding: 0; }
.ac-side a { display: block; padding: 6px 0 6px 12px; border-left: 2px solid var(--line); font-size: .9375rem; line-height: 1.35; text-decoration: none; color: var(--grey); }
.ac-side a:hover, .ac-side a:focus-visible { color: var(--ink); border-left-color: var(--gold); outline: none; }
.ac-side a[aria-current="page"] { color: var(--ink); font-weight: 700; border-left-color: var(--red); }
.ac-side .ac-mn2 { margin: 14px 0 4px; font-weight: 700; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.ac-crumb { margin: 0 0 1.4em; font-family: var(--ui); font-weight: 600; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); }
.ac-crumb a { text-decoration: none; }
.ac-crumb a:hover { color: var(--red); }
.ac-lesson .e-hero { margin: 0 0 1.4em; padding: 0; background: none; color: var(--ink); }
.ac-lesson .e-eyebrow { color: var(--grey); }
.ac-lesson h1 { margin: 0 0 .3em; font-family: var(--head); font-weight: 700; font-size: clamp(2.1rem, 4.6vw, 3.2rem); line-height: 1.03; text-transform: uppercase; }
.ac-lesson .e-sub { margin: 0; color: var(--grey); }
.ac-lesson .ac-lh { margin: 2.1em 0 .6em; padding-bottom: 8px; border-bottom: 2px solid var(--ink); font-family: var(--ui); font-weight: 700; font-size: .8125rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.ac-lesson h3 { margin: 1.6em 0 .4em; font-family: var(--head); font-weight: 700; font-size: 1.5rem; line-height: 1.1; text-transform: uppercase; }
.ac-lesson p { margin: 0 0 1.05em; }
.ac-lesson ul, .ac-lesson ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.ac-lesson li { margin: 0 0 .5em; }
.cu-big-idea { padding: 16px 20px; border-left: 4px solid var(--ink); background: var(--soft); font-size: 1.2em; }
.cu-terms { margin: 0 0 1.2em; }
.cu-terms dt { margin-top: .8em; font-family: var(--ui); font-weight: 700; }
.cu-terms dd { margin: .2em 0 0; }
.cu-ex { margin: 0 0 1.2em; padding: 0 0 0 16px; border-left: 3px solid var(--line); }
.cu-ex h3 { margin-top: 0; font-family: var(--ui); font-size: .8125rem; letter-spacing: .14em; color: var(--grey); }
.cu-mis { margin: 0 0 1.2em; padding: 12px 16px; background: var(--soft); }
.cu-mis p { margin: 0 0 .4em; }
.cu-steps { margin: 0 0 1.2em; padding: 0 0 0 1.4em; }
.cu-steps li { margin: 0 0 .7em; padding-left: .3em; }
.cu-q6 { list-style: decimal; }
.cu-quote { margin: 1.2em 0; padding: 0 0 0 18px; border-left: 3px solid var(--ink); font-style: italic; }
.cu-lead { font-family: var(--ui); text-transform: uppercase; letter-spacing: .08em; font-size: .85em; }
.ac-done { margin: 2.4em 0 0; }
.ac-lesson .ac-btn { background: var(--ink); color: #fff !important; border-color: var(--ink); }
.ac-lesson .ac-btn:hover { background: #fff; color: var(--ink) !important; }
.ac-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 3em; padding-top: 20px; border-top: 2px solid var(--ink); font-family: var(--ui); }
.ac-pn a { text-decoration: none; display: block; }
.ac-pn a.next { text-align: right; }
.ac-pn span { display: block; font-weight: 600; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.ac-pn b { font-family: var(--head); font-weight: 700; font-size: 1.4rem; line-height: 1.1; text-transform: uppercase; }
.ac-pn a:hover b, .ac-pn a:focus-visible b { color: var(--red); }

/* ---------- library and filters ---------- */
.cu-filter { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: end; margin: 0 0 8px; }
.cu-filter label { display: flex; flex-direction: column; gap: 6px; font-family: var(--ui); font-weight: 700; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.cu-filter input[type="search"], .cu-filter select { min-width: 14rem; padding: 10px 12px; font: inherit; font-size: 1rem; letter-spacing: 0; text-transform: none; font-weight: 500; border: 2px solid var(--ink); border-radius: 0; background: #fff; color: var(--ink); }
.cu-filter input:focus-visible, .cu-filter select:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.cu-filter .cu-chk { flex-direction: row; align-items: center; gap: 8px; }
.cu-libs { list-style: none; margin: 0; padding: 0; max-width: 56em; }
.cu-lib { padding: 20px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 170px; }
.cu-lib[hidden] { display: none; }
.cu-lib h3 { margin: 0; font-family: var(--head); font-weight: 700; font-size: 1.5rem; line-height: 1.15; }
.cu-lib:target { background: var(--soft); }
.cu-lib p { margin: 6px 0 0; max-width: none; }

/* ---------- footer ---------- */
.ac-foot { background: var(--black); color: var(--bone); padding: 36px 0 30px; }
.ac-foot .foot-line { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; font-family: var(--ui); font-weight: 600; font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; }
.ac-foot .foot-line a { color: inherit; text-decoration: none; }
.ac-foot .foot-line a:hover, .ac-foot .foot-line a:focus-visible { color: var(--gold); outline: none; }
.ac-foot .foot-credit { margin-top: 14px; }

/* ---------- small screens ---------- */
@media (max-width: 1280px) { .ac-brand span span { display: none; } }
@media (max-width: 900px) {
  .ac-hero .ac-wrap { grid-template-columns: minmax(0, 1fr); }
  .ac-photo { order: -1; aspect-ratio: 16 / 9; }
  .ac-grid, .ac-grid.ac-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-split { grid-template-columns: minmax(0, 1fr); }
  .ac-lesson-wrap { grid-template-columns: minmax(0, 1fr); }
  .ac-side { position: static; }
  .ac-menu { display: inline-block; }
  .ac-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--black); padding: 4px clamp(20px, 6vw, 96px) 20px; }
  .ac-nav.open { display: block; }
  .ac-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 18px; border-radius: 22px; }
  .ac-nav a { padding: 11px 4px; }
  .ac-tabs { top: 84px; }
  .ac-brand b { font-size: 1.1rem; }
}
@media (max-width: 560px) {
  .ac-grid, .ac-grid.ac-two { grid-template-columns: minmax(0, 1fr); }
  .ac-pn { grid-template-columns: 1fr; }
  .ac-pn a.next { text-align: left; }
  .ac-brand span { display: none; }
}


/* ===== v3: main-site header + left tree (database layout) ===== */
body.ac { background: #fff; }
.ac-topbar { position: relative; background: var(--black); height: 110px; }
.ac-hero { padding: clamp(120px, 17vh, 150px) 0 clamp(36px, 6vh, 64px); min-height: 0; display: block; }
.ac-hero.ac-solo { padding-bottom: clamp(28px, 5vh, 52px); }
.ac-hero h1 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); -webkit-text-stroke: 0; max-width: none; }
.ac-hero .e-sub { max-width: 40em; font-size: 1.05rem; font-weight: 500; }
.ac-hero::after { display: none; }
.ac-app { display: grid; grid-template-columns: 19rem minmax(0, 1fr); align-items: start; }
.ac-tree { position: sticky; top: 0; max-height: 100vh; overflow-y: auto; padding: 22px 18px 40px 22px; border-right: 2px solid var(--ink); background: var(--soft); font-family: var(--ui); }
.ac-tree-h { margin: 0 0 12px; font-weight: 700; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; }
.ac-tree ul, .ac-tree ol { list-style: none; margin: 0; padding: 0; }
.ac-tree a { text-decoration: none; color: var(--ink); }
.ac-tree a:hover, .ac-tree a:focus-visible { color: var(--red); outline: none; }
.ac-tree a[aria-current="page"] { color: var(--red); font-weight: 700; }
.ac-tl > li > a { display: block; padding: 7px 0; font-size: .9375rem; font-weight: 600; }
.ac-tree summary { cursor: pointer; padding: 7px 0; font-size: .9375rem; font-weight: 700; list-style-position: outside; }
.ac-tdiv > details > summary { text-transform: uppercase; letter-spacing: .04em; font-size: .8125rem; }
.ac-tdiv > details > ul { padding-left: 10px; border-left: 2px solid var(--line); margin: 0 0 8px 4px; }
.ac-tdiv ul > li > details > summary { font-weight: 600; font-size: .875rem; padding: 5px 0; }
.ac-tree summary i, .ac-tplan i { font-style: normal; display: inline-block; min-width: 1.5em; color: var(--grey); font-weight: 700; }
.ac-tree ol { padding-left: 14px; margin: 0 0 6px 4px; border-left: 2px solid var(--line); }
.ac-tree ol li { padding: 3px 0 3px 10px; font-size: .8125rem; line-height: 1.35; }
.ac-tplan span { color: #8a8a82; font-size: .8125rem; display: block; padding: 4px 0; }
.ac-tplan span i { color: #a3a39a; }
.ac-tsep { margin-top: 12px; padding-top: 12px; border-top: 2px solid var(--ink); }
.ac-treebtn { display: none; }
.ac-pane { min-width: 0; }
.ac-pane .ac-wrap { width: auto; max-width: 62rem; margin-inline: 0; padding-inline: clamp(20px, 3.4vw, 52px); }
.ac-pane .ac-lesson-wrap { grid-template-columns: minmax(0, 46rem); justify-content: start; }
.ac-pane .ac-lesson-wrap .ac-side { display: none; }
.ac-tabs { top: 0; }
.ac-tabs ul { width: auto; padding-inline: clamp(20px, 3.4vw, 52px); }
@media (max-width: 960px) {
  .ac-app { display: block; }
  .ac-treebtn { display: block; width: 100%; padding: 14px 20px; border: 0; border-bottom: 2px solid var(--ink); background: var(--soft); font: 700 .8125rem var(--ui); letter-spacing: .14em; text-transform: uppercase; text-align: left; cursor: pointer; }
  .ac-tree { display: none; position: static; max-height: none; border-right: 0; border-bottom: 2px solid var(--ink); }
  .ac-tree.open { display: block; }
  .ac-hero .ac-wrap { display: block; }
  .ac-hero .ac-photo { display: none; }
}
body.ac .ac-tree, body.ac .ac-tree * { text-transform: none; letter-spacing: 0; font-family: var(--ui); }
body.ac .ac-tree .ac-tree-h, body.ac .ac-tdiv > details > summary { text-transform: uppercase; letter-spacing: .08em; }
.ac-vh { position: absolute; left: -9999px; }
.ac-dbbar { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin-bottom: 18px; }
.ac-search input { width: min(100%, 20rem); padding: 11px 14px; border: 2px solid var(--ink); background: #fff; font: 500 1rem var(--ui); border-radius: 0; }
.ac-chips2 { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-chip { padding: 9px 14px; border: 2px solid var(--ink); background: #fff; color: var(--ink); font: 700 .75rem var(--ui); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; border-radius: 0; }
.ac-chip.on, .ac-chip:hover { background: var(--ink); color: #fff; }
.ac-tablewrap { overflow-x: auto; border: 2px solid var(--ink); }
.ac-db { width: 100%; border-collapse: collapse; font-family: var(--ui); font-size: .9375rem; }
.ac-db thead th { background: var(--ink); color: #fff; text-align: left; padding: 11px 14px; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.ac-db td, .ac-db tbody th { padding: 12px 14px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; font-weight: 500; }
.ac-db tbody th { font-weight: 700; }
.ac-db tbody th small { display: block; margin-top: 3px; font-weight: 400; color: var(--grey); font-size: .8125rem; line-height: 1.35; }
.ac-db td.n { color: var(--grey); font-weight: 700; width: 3rem; }
.ac-db a { text-decoration: none; }
.ac-db a:hover { color: var(--red); text-decoration: underline; }
.ac-db tbody tr:hover { background: var(--soft); }
.ac-db tr[hidden] { display: none; }
.ac-empty { font-family: var(--ui); }
@media (max-width: 700px) { .ac-db th:nth-child(3), .ac-db td:nth-child(3) { display: none; } }
body.ac nav.ac-tree { display: block; gap: 0; position: sticky; width: auto; }
@media (max-width: 960px) { body.ac nav.ac-tree { display: none; position: static; } body.ac nav.ac-tree.open { display: block; } }

/* ===== v4: match sitewide type (header, hero, footer use the site's own styles) ===== */
body.ac { font-family: var(--ui); font-size: 1.125rem; line-height: 1.55; color: #111; }
.ac-pane { font-family: var(--read); font-size: 1.1875rem; line-height: 1.6; }
.ac-hero h1 { font-family: "Libre Caslon Condensed", Georgia, serif; font-weight: 700; font-size: clamp(2.7rem, 6.56vw, 5.25rem); line-height: 1; letter-spacing: .015em; text-transform: uppercase; -webkit-text-stroke: 2.5px #fff; paint-order: stroke fill; max-width: 11em; }
.ac-hero .e-eyebrow { font-family: var(--ui); font-weight: 600; font-size: 1.1875rem; letter-spacing: -.03em; text-transform: uppercase; color: #fff; margin-bottom: 18px; }
.ac-hero .e-sub { font-family: var(--ui); font-weight: 600; font-size: 1.1875rem; line-height: 1.35; color: #fff; max-width: 28em; }
.ac-h2, .ac-pane h2 { letter-spacing: -.01em; color: #111; }
@media (max-width: 760px) { .ac-hero h1 { font-size: 2.7rem; } }

/* compact course tiles on phones (same idea as the Bible book tiles in the Study) */
.ac-tiles { display: none; list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ac-tiles li[hidden] { display: none; }
.ac-tiles a { display: flex; flex-direction: column; justify-content: space-between; min-height: 84px; padding: 9px 10px 12px; background: var(--c); color: #fff; text-decoration: none; }
.ac-tiles a:hover, .ac-tiles a:focus-visible { outline: 2px solid var(--ink); transform: translateY(-2px); }
.ac-tiles .n { font: 700 .75rem var(--ui); letter-spacing: .08em; opacity: .75; }
.ac-tiles .b { font-family: "Libre Caslon Condensed", Georgia, serif; font-weight: 700; font-size: 1.1rem; line-height: 1.05; text-transform: uppercase; overflow-wrap: anywhere; }
@media (max-width: 760px) { .ac-tablewrap { display: none; } .ac-tiles { display: grid; } }
@media (min-width: 480px) and (max-width: 760px) { .ac-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .ac-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; } .ac-tiles a { min-height: 76px; padding: 7px 8px 9px; } .ac-tiles .b { font-size: .92rem; hyphens: auto; } .ac-hero { padding-bottom: 28px; } .ac-hero .ac-ctas { margin-bottom: 0; } }
body.ac .ac-tiles a, body.ac .ac-tiles a:hover { color: #fff; }
body.ac .ac-tiles .b { overflow-wrap: normal; word-break: normal; hyphens: none; font-size: .82rem; letter-spacing: .01em; }
@media (min-width: 761px) { .ac-tiles .b { font-size: 1rem; } }
body.ac .ac-tiles .b { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
/* phones: four division buttons; a division's courses open beneath when chosen */
@media (max-width: 760px) {
  .ac-chip[data-f="0"] { display: none; }
  .ac-chips2 { flex-direction: column; width: 100%; gap: 6px; }
  .ac-chips2 .ac-chip { width: 100%; padding: 16px 14px; font-size: .875rem; text-align: left; }
  .ac-search input { width: 100%; }
  .ac-tiles:not(.show) { display: none; }
}
/* division color coding */
body.ac .ac-chips2 .ac-chip { background: var(--c); border-color: var(--c); color: #fff; }
body.ac .ac-chips2 .ac-chip:hover { filter: brightness(1.25); }
body.ac .ac-chips2 .ac-chip.on { outline: 3px solid var(--ink); outline-offset: 2px; }
.ac-dot { display: inline-block; width: .7em; height: .7em; margin-right: .5em; border-radius: 50%; background: var(--c); }
.ac-tdiv > details > summary { border-left: 6px solid var(--c); padding-left: 8px; }
.ac-tdiv > details > ul { border-left-color: var(--c); }
/* final: tiles retired; phones show the division buttons, then the list for the chosen division */
.ac-tiles { display: none !important; }
@media (max-width: 760px) {
  .ac-tablewrap { display: none; }
  .ac-tablewrap.show { display: block; }
  .ac-db thead { display: none; }
  .ac-db th:nth-child(4), .ac-db td:nth-child(4) { display: none; }
}

/* full-width photo heroes with vignette (like the home page); the image comes from course-images */
.ac-hero.has-bg { min-height: clamp(460px, 68svh, 720px); display: flex; align-items: flex-end; padding-top: 140px; background: #0c0c0a; }
.ac-hero.has-bg > .ac-wrap { display: block; width: 100%; max-width: none; margin: 0; padding-inline: clamp(24px, 7.2vw, 140px); }
.ac-hero.has-bg .ac-herotext { max-width: 52rem; }
.ac-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.ac-hero.has-bg::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 42%, rgba(6,8,6,0) 28%, rgba(6,8,6,.55) 68%, rgba(6,8,6,.9) 100%), linear-gradient(to top, rgba(6,8,6,.72), rgba(6,8,6,0) 55%), rgba(6,8,6,.22); }
.ac-hero.has-bg > .e-grain { z-index: 1; opacity: .5; }
.ac-hero.has-bg > .ac-wrap { position: relative; z-index: 3; }

/* lesson title block (the secondary hero inside a lesson): a plain title, not a full-screen hero */
body.ac .ac-lesson .e-hero { position: static; min-height: 0; display: block; overflow: visible; background: none; color: var(--ink); padding: 0 0 18px; margin: 0 0 22px; border-bottom: 2px solid var(--ink); }
body.ac .ac-lesson .e-hero::after, body.ac .ac-lesson .e-hero::before { display: none; }
body.ac .ac-lesson .e-hero .e-eyebrow { margin: 0 0 8px; font: 700 .8125rem var(--ui); letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
body.ac .ac-lesson .e-hero h1 { margin: 0 0 10px; max-width: none; color: var(--ink); -webkit-text-stroke: 0; font-size: clamp(2rem, 4.2vw, 3.2rem); line-height: 1.04; letter-spacing: .005em; text-align: left; }
body.ac .ac-lesson .e-hero .e-sub { margin: 0; max-width: none; color: var(--grey); font: 600 1rem var(--ui); }

/* v5: keep the hero photo on phones (it was hidden), and calm the hero height */
.ac-hero h1 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); }
.ac-hero { padding-top: clamp(112px, 15vh, 140px); padding-bottom: clamp(32px, 5vh, 56px); }
@media (max-width: 960px) {
  .ac-hero .ac-photo { display: block; margin-top: 28px; aspect-ratio: 16 / 10; }
  .ac-hero .ac-wrap { display: flex; flex-direction: column; }
}
@media (max-width: 760px) { .ac-hero h1 { font-size: 2.7rem; } }

/* the course tab bar: readable light text on black (site nav rules were darkening it) */
body.ac nav.ac-tabs { display: block; background: var(--ink); }
body.ac nav.ac-tabs a { color: #efeae2; font-weight: 700; opacity: 1; text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; }
body.ac nav.ac-tabs a:hover, body.ac nav.ac-tabs a:focus-visible, body.ac nav.ac-tabs a.on { color: #fff; border-bottom-color: var(--gold); }

/* no "browse the program" bar or title; on phones the tree is not shown */
.ac-treebtn, .ac-tree-h { display: none !important; }
@media (max-width: 960px) { body.ac nav.ac-tree, body.ac nav.ac-tree.open { display: none; } }
.ac-hero .ac-meta { margin: 6px 0 0; font: 600 .9375rem var(--ui); letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }

/* entry (lesson) pages get the same black grain hero as the course pages, kept compact */
.ac-hero.ac-entry { padding-top: clamp(112px, 15vh, 140px); padding-bottom: clamp(24px, 4vh, 40px); }
.ac-hero.ac-entry h1 { font-size: clamp(2.2rem, 4.2vw, 3.6rem); max-width: 22em; }
.ac-hero.ac-entry .e-eyebrow { font-size: 1rem; }
.ac-hero.ac-entry .e-sub { margin-bottom: 0; font-size: 1rem; }

/* photo heroes fill the viewport, like the home page */
.ac-hero.has-bg { min-height: 100svh; padding-bottom: clamp(48px, 10vh, 110px); }
.ac-hero.has-bg::before { background: radial-gradient(ellipse at 50% 40%, rgba(6,8,6,0) 25%, rgba(6,8,6,.55) 66%, rgba(6,8,6,.92) 100%), linear-gradient(to top, rgba(6,8,6,.9) 0%, rgba(6,8,6,.62) 38%, rgba(6,8,6,0) 70%), linear-gradient(to right, rgba(6,8,6,.5), rgba(6,8,6,0) 65%), rgba(6,8,6,.2); }

/* v6: photo fades to solid black under the text so the image never bleeds into it; slow incense smoke drifts over the photo */
.ac-hero.has-bg::before { background:
  radial-gradient(ellipse at 50% 30%, rgba(11,11,10,0) 30%, rgba(11,11,10,.5) 70%, rgba(11,11,10,.85) 100%),
  linear-gradient(to top, #0b0b0a 0%, #0b0b0a 26%, rgba(11,11,10,.88) 40%, rgba(11,11,10,.35) 58%, rgba(11,11,10,0) 76%),
  linear-gradient(to bottom, rgba(11,11,10,.55), rgba(11,11,10,0) 22%); }
.ac-hero.has-bg { padding-bottom: clamp(40px, 8vh, 90px); }
.ac-bg { height: 82%; }
.ac-hero.has-bg::after { display: none; }
.ac-smoke { position: absolute; inset: 0 0 18% 0; z-index: 1; overflow: hidden; pointer-events: none; }
.ac-smoke i { position: absolute; bottom: -20%; width: 42vmax; height: 42vmax; border-radius: 50%; opacity: 0; filter: blur(38px); mix-blend-mode: screen;
  background: radial-gradient(circle at 50% 50%, rgba(235, 230, 222, .42), rgba(235, 230, 222, .14) 45%, rgba(235, 230, 222, 0) 70%);
  animation: ac-rise 26s linear infinite; }
.ac-smoke i:nth-child(1) { left: -8%;  animation-duration: 28s; animation-delay: -4s; }
.ac-smoke i:nth-child(2) { left: 22%;  animation-duration: 34s; animation-delay: -16s; width: 34vmax; height: 34vmax; }
.ac-smoke i:nth-child(3) { left: 48%;  animation-duration: 30s; animation-delay: -9s; }
.ac-smoke i:nth-child(4) { left: 70%;  animation-duration: 38s; animation-delay: -24s; width: 36vmax; height: 36vmax; }
.ac-smoke i:nth-child(5) { left: 88%;  animation-duration: 32s; animation-delay: -12s; }
@keyframes ac-rise {
  0%   { transform: translate3d(0, 0, 0) scale(.7); opacity: 0; }
  12%  { opacity: .5; }
  50%  { transform: translate3d(5vw, -55%, 0) scale(1.1); opacity: .32; }
  100% { transform: translate3d(-4vw, -120%, 0) scale(1.5); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .ac-smoke i { animation: none; opacity: .12; bottom: 5%; } }

/* v7: the text sits on solid black BELOW the photo; the photo fades out before the text starts */
.ac-hero.has-bg { --img-h: max(46svh, 300px); padding-top: var(--img-h); align-items: flex-start; background: #0b0b0a; }
.ac-hero.has-bg > .ac-wrap { padding-top: 0; }
.ac-bg { height: calc(var(--img-h) + 60px); }
.ac-hero.has-bg::before { background:
  radial-gradient(ellipse at 50% 38%, rgba(11,11,10,0) 35%, rgba(11,11,10,.5) 75%, rgba(11,11,10,.8) 100%),
  linear-gradient(to bottom, rgba(11,11,10,.5) 0, rgba(11,11,10,0) 18%, rgba(11,11,10,0) calc(var(--img-h) - 150px), #0b0b0a calc(var(--img-h) + 40px), #0b0b0a 100%); }
.ac-smoke { inset: 0 0 auto 0; height: calc(var(--img-h) + 40px); }
.ac-hero.has-bg > .e-grain { opacity: .35; }

/* phones: "Lessons in this course" menu on every lesson page */
.ac-mnav { display: none; }
@media (max-width: 960px) {
  .ac-mnav { display: block; margin: 18px 0 0; border: 2px solid var(--ink); background: var(--soft); font-family: var(--ui); }
  .ac-mnav summary { cursor: pointer; padding: 14px 16px; font: 700 .8125rem var(--ui); letter-spacing: .12em; text-transform: uppercase; }
  .ac-mnav .ac-mside { display: block !important; position: static; padding: 0 16px 8px; max-height: 60vh; overflow-y: auto; }
  .ac-mnav .ac-mside h2 { margin: 4px 0 10px; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
  .ac-mnav .ac-mside ol { list-style: none; margin: 0 0 12px; padding: 0; }
  .ac-mnav .ac-mside a { display: block; padding: 9px 0 9px 12px; border-left: 3px solid var(--line); font-size: 1rem; line-height: 1.3; text-decoration: none; color: var(--ink); }
  .ac-mnav .ac-mside a[aria-current="page"] { font-weight: 700; border-left-color: var(--red); color: var(--red); }
  .ac-mnav .ac-mside .ac-mn2 { margin: 12px 0 4px; font-weight: 700; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; }
  .ac-mnav .ac-mall { margin: 0; padding: 8px 16px 14px; border-top: 1px solid var(--line); }
  .ac-mnav .ac-mall a { font-weight: 700; color: var(--ink); }
}
/* long hero titles must never run off a phone screen */
.ac-hero h1 { overflow-wrap: anywhere; }
@media (max-width: 760px) { .ac-hero h1 { font-size: clamp(1.9rem, 9.2vw, 2.7rem); -webkit-text-stroke-width: 1.6px; } }

/* small back-to-top button, out of the way */
.ac-top { position: fixed; right: 14px; bottom: 16px; z-index: 40; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; border: 2px solid rgba(255, 255, 255, .85); border-radius: 50%; background: rgba(11, 11, 10, .82); color: #fff; cursor: pointer; opacity: .8; transition: opacity .2s, transform .2s; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ac-top[hidden] { display: none; }
.ac-top:hover, .ac-top:focus-visible { opacity: 1; transform: translateY(-2px); outline: 2px solid var(--gold); outline-offset: 2px; }

/* ===== print: clean, ink-friendly lessons and course pages ===== */
@page { margin: 18mm 16mm; }
@media print {
  html, body, body.ac { background: #fff !important; }
  body.ac { color: #000 !important; font-size: 11pt; line-height: 1.5; }
  .ov, .top, header.top, .ac-topbar, .ac-tree, .ac-treebtn, .ac-mnav, .ac-side, .ac-tabs, .ac-top, .tr-cc, .ac-skip, .ac-bg, .ac-smoke, .ac-photo, .e-grain,
  .ac-ctas, .ac-done, .ac-pn, .ac-dbbar, .ac-chips2, .ac-crumb, #tr-consent, .foot-credit, .site-foot .foot-line a { display: none !important; }
  .ac-hero::before, .ac-hero::after { display: none !important; }
  .ac-app { display: block !important; }
  .ac-pane { font-size: 11pt; }
  .ac-hero, .ac-hero.has-bg, .ac-hero.ac-entry { min-height: 0 !important; display: block !important; padding: 0 0 8pt !important; margin: 0 0 12pt !important; background: #fff !important; color: #000 !important; border-bottom: 1.5pt solid #000; }
  .ac-hero * { color: #000 !important; text-shadow: none !important; -webkit-text-stroke: 0 !important; }
  .ac-hero h1 { font-size: 22pt !important; line-height: 1.1; margin: 0 0 4pt; max-width: none; }
  .ac-hero .e-eyebrow, .ac-hero .e-sub, .ac-hero .ac-meta { font-size: 10pt !important; margin: 0 0 3pt; }
  .ac-wrap, .ac-pane .ac-wrap { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .ac-lesson-wrap { display: block !important; padding: 0 !important; }
  .ac-sec, .ac-soft { background: #fff !important; padding: 8pt 0 !important; }
  h2, h3, h4, .ac-lh { break-after: avoid; page-break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .cu-q, .cu-ex, .cu-mis, .cu-quote, blockquote, tr { break-inside: avoid; page-break-inside: avoid; }
  .cu-mod { break-inside: auto; }
  .cu-mod, .cu-q { border: 1pt solid #000 !important; }
  details > * { display: block !important; }
  details > summary { font-weight: 700; }
  a { color: #000 !important; text-decoration: underline; }
  .ac-pane a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8.5pt; word-break: break-all; }
  .site-foot { background: #fff !important; color: #000 !important; border-top: 1pt solid #000; padding: 6pt 0 0 !important; margin-top: 14pt; }
  .site-foot * { color: #000 !important; font-size: 9pt !important; }
}
